{"version":3,"file":"5400.55fbf69d87f03d535798.js?ssi=0","mappings":"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","sources":["webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/base-package-left-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/base-package-right-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/base-package-rounded-left-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/base-package-rounded-right-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/down-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/track-product-left-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/track-product-right-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/up-arrow.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/clients/compare-client.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scroll-control-types.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/scrollable-table-helper.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/scrollable-table-with-slider-provider.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/use-scrollbar-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/touch-scroll-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollbar.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollbar.less?ab37","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/double-right-arrow.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/full-ownership.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/fully-included.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/partial-ownership.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/partly-included.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/svgs/hide-arrow.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/use-touch-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/shared/fullscreen-overlay-loading-spinner/index.less?9d09","webpack://@logos/commerceweb-frontend/./Scripts/site/components/shared/fullscreen-overlay-loading-spinner/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/util/hooks/use-document-event-listener.js"],"sourcesContent":["module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2306296c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M15 18l-6-6 6-6'/%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2306296c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M9 18l6-6-6-6'/%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23'%3e%3cg fill='none' fill-rule='evenodd' transform='rotate(-180 11.5 11.5)'%3e%3crect width='23' height='23' fill='%23FFF' rx='11.5'/%3e%3cpath stroke='%2306296c' stroke-linecap='round' stroke-width='2' d='M13.95 10.95L10 7M10.05 14.95L14 11'/%3e%3c/g%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23'%3e%3cg fill='none' fill-rule='evenodd'%3e%3crect width='23' height='23' fill='%23FFF' rx='11.5'/%3e%3cpath stroke='%2306296c' stroke-linecap='round' stroke-width='2' d='M13.95 10.95L10 7M10.05 14.95L14 11'/%3e%3c/g%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e91d6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23'%3e%3cg fill='none' fill-rule='evenodd' transform='rotate(-180 11.5 11.5)'%3e%3crect width='23' height='23' fill='%23005EC3' rx='11.5'/%3e%3cpath stroke='%23FFF' stroke-linecap='square' stroke-width='2' d='M13.95 10.95L10 7M10.05 14.95L14 11'/%3e%3c/g%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23'%3e%3cg fill='none' fill-rule='evenodd'%3e%3crect width='23' height='23' fill='%23005EC3' rx='11.5'/%3e%3cpath stroke='%23FFF' stroke-linecap='square' stroke-width='2' d='M13.95 10.95L10 7M10.05 14.95L14 11'/%3e%3c/g%3e%3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e91d6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e\"","import { fetch } from '../util/fetch';\n\nexport default class CompareClient {\n\tstatic async getTrack(compareTrackBaseUrl, trackId) {\n\t\tconst request = { url: `${compareTrackBaseUrl}/${encodeURIComponent(trackId)}` };\n\t\tconst response = await fetch.get(request);\n\t\treturn await response.json();\n\t}\n\n\tstatic async getTrackProducts(compareTrackProductsBaseUrl, trackIds, clientVersion) {\n\t\tconst params = { trackIds: trackIds.join(',') };\n\n\t\tif (clientVersion) {\n\t\t\tparams.clientVersion = clientVersion;\n\t\t}\n\t\tconst response = await fetch.get({\n\t\t\turl: compareTrackProductsBaseUrl,\n\t\t\tparams: params,\n\t\t});\n\n\t\treturn await response.json();\n\t}\n\n\tstatic async getCompareSectionData(compareTrackSectionsBaseUrl, productIds) {\n\t\tconst params = { productIds: productIds.join(',') };\n\n\t\tconst response = await fetch.get({\n\t\t\turl: compareTrackSectionsBaseUrl,\n\t\t\tparams: params,\n\t\t});\n\n\t\tconst data = await response.json();\n\t\treturn {\n\t\t\tsections: data.sections,\n\t\t\torderedResourceCounts: data.orderedResourceCounts,\n\t\t};\n\t}\n\n\tstatic async getCompareSectionDataForSubscribableProducts(compareSubscribableProductSectionsBaseUrl, spoids) {\n\t\tconst params = { spoids: spoids.join(',') };\n\n\t\tconst response = await fetch.get({\n\t\t\turl: compareSubscribableProductSectionsBaseUrl,\n\t\t\tparams: params,\n\t\t});\n\n\t\tconst data = await response.json();\n\t\treturn {\n\t\t\tsections: data.sections,\n\t\t\torderedResourceCounts: data.orderedResourceCounts,\n\t\t};\n\t}\n\n\tstatic async getBasePackagesByTrackId(compareBasePackagesByTrackIdUrl, trackId) {\n\t\tconst response = await fetch.get({\n\t\t\turl: `${compareBasePackagesByTrackIdUrl}/${encodeURIComponent(trackId)}`,\n\t\t});\n\n\t\treturn await response.json();\n\t}\n\n\tstatic async getBasePackagesByProductIds(compareBasePackagesByProductIdsUrl, productIds) {\n\t\tconst response = await fetch.get({\n\t\t\turl: `${compareBasePackagesByProductIdsUrl}?productIds=${encodeURIComponent(productIds.join(','))}`,\n\t\t});\n\t\treturn await response.json();\n\t}\n}\n","const scrollControlTypes = {\n\tscrollbar: 'Scrollbar',\n\tbuttons: 'Buttons',\n};\n\nexport default scrollControlTypes;\n","const getValueFromAdditionalSizes = (valuesBySize, screenSize) =>\n\tvaluesBySize.reduce(\n\t\t(matchingValue, [size, value]) => (screenSize >= parseInt(size) ? value : matchingValue),\n\t\tundefined\n\t);\n\nconst getElementValueFromPredefinedScreenSizes = (screenSizeValues, screenSizeMatches) => {\n\tconst matchingSizeIndex = screenSizeMatches.lastIndexOf(true);\n\tif (matchingSizeIndex < 0) {\n\t\treturn 0;\n\t}\n\n\treturn screenSizeValues[Math.min(matchingSizeIndex, screenSizeValues.length - 1)];\n};\n\n/* screenSizeMatches: [isMobile, isTablet, isDesktop, isLargeDesktop, additionalSizes: { size:  value }] */\nconst getElementValueForScreenSize = (screenSizeValues, screenSize, screenSizeMatches) => {\n\tif (!screenSizeValues?.length) {\n\t\treturn 0;\n\t}\n\n\tconst additionalSizesValues = Object.entries(screenSizeValues[screenSizeValues.length - 1]);\n\tif (additionalSizesValues.length === 0) {\n\t\treturn getElementValueFromPredefinedScreenSizes(screenSizeValues, screenSizeMatches);\n\t}\n\n\tconst valueFromAdditionalSizes = getValueFromAdditionalSizes(additionalSizesValues, screenSize);\n\treturn (\n\t\tvalueFromAdditionalSizes ??\n\t\tgetElementValueFromPredefinedScreenSizes(screenSizeValues.slice(0, screenSizeValues.length - 1), screenSizeMatches)\n\t);\n};\n\nconst getColumnOffset = (columnIndex, columnWidth, columnGap, leftBoundaryMarginWidth) => {\n\tif (columnIndex === 0) {\n\t\treturn 0;\n\t}\n\n\tconst previousColumnOffset = columnWidth - leftBoundaryMarginWidth + columnGap;\n\tconst accumulatedPreviousColumnsOffset = (columnWidth + columnGap) * (columnIndex - 1);\n\treturn accumulatedPreviousColumnsOffset + previousColumnOffset;\n};\n\nconst buildSliderProps = (\n\tsliderProps,\n\ttotalNumberOfColumns,\n\tfirstVisibleColumnIndex,\n\tcolumnWidth,\n\tcolumnGap,\n\tleftBoundaryMarginWidth,\n\tnumberOfVisibleColumns,\n\tisLeftBoundaryReached,\n\tisRightBoundaryReached,\n\tscreenWidth,\n\tscreenSizeMatches\n) => {\n\tif (!sliderProps) {\n\t\treturn {};\n\t}\n\n\tconst { arrowWidthsByScreenSize } = sliderProps;\n\n\tconst arrowWidth = getElementValueForScreenSize(arrowWidthsByScreenSize, screenWidth, screenSizeMatches);\n\n\tconst isLeftArrowDisplayed =\n\t\tarrowWidth > 0 && totalNumberOfColumns > numberOfVisibleColumns && !isLeftBoundaryReached;\n\tconst isRightArrowDisplayed =\n\t\tarrowWidth > 0 && totalNumberOfColumns > numberOfVisibleColumns && !isRightBoundaryReached;\n\n\treturn {\n\t\tisLeftArrowDisplayed,\n\t\tisRightArrowDisplayed,\n\t\tarrowWidth,\n\t};\n};\n\nexport const buildScrollableTableProps = (\n\tfirstVisibleColumnIndexRequested,\n\ttotalNumberOfColumns,\n\tpropsByScreenSize,\n\tscreenWidth,\n\tscreenSizeMatches\n) => {\n\tconst {\n\t\tnumbersOfVisibleColumnsByScreenSize,\n\t\tcolumnWidthsByScreenSize,\n\t\tcolumnGapsByScreenSize,\n\t\tboundaryMarginWidthsByScreenSize,\n\t\tswipeRadiusXByScreenSize,\n\t\tsliderProps,\n\t} = propsByScreenSize;\n\n\tconst columnWidth = getElementValueForScreenSize(columnWidthsByScreenSize, screenWidth, screenSizeMatches);\n\tconst columnGap = getElementValueForScreenSize(columnGapsByScreenSize, screenWidth, screenSizeMatches);\n\tconst boundaryMarginWidth = getElementValueForScreenSize(\n\t\tboundaryMarginWidthsByScreenSize,\n\t\tscreenWidth,\n\t\tscreenSizeMatches\n\t);\n\tconst swipeRadiusX = getElementValueForScreenSize(swipeRadiusXByScreenSize, screenWidth, screenSizeMatches);\n\tconst numberOfVisibleColumnsRequested = getElementValueForScreenSize(\n\t\tnumbersOfVisibleColumnsByScreenSize,\n\t\tscreenWidth,\n\t\tscreenSizeMatches\n\t);\n\tconst numberOfVisibleColumns = Math.min(numberOfVisibleColumnsRequested, totalNumberOfColumns);\n\n\tconst effectiveFirstVisibleColumnIndex = Math.min(\n\t\tfirstVisibleColumnIndexRequested,\n\t\ttotalNumberOfColumns - numberOfVisibleColumns\n\t);\n\n\tlet visibleColumnsWidth = columnWidth * numberOfVisibleColumns + columnGap * (numberOfVisibleColumns - 1) + 1;\n\tif (boundaryMarginWidth > 0 && totalNumberOfColumns > numberOfVisibleColumns) {\n\t\tvisibleColumnsWidth += (boundaryMarginWidth + columnGap) * 2;\n\t}\n\n\tconst isLeftBoundaryReached = effectiveFirstVisibleColumnIndex === 0;\n\tconst isRightBoundaryReached = effectiveFirstVisibleColumnIndex + numberOfVisibleColumns === totalNumberOfColumns;\n\n\tconst isLeftBoundaryDisplayed = boundaryMarginWidth > 0 && !isLeftBoundaryReached;\n\tconst isRightBoundaryDisplayed = boundaryMarginWidth > 0 && !isRightBoundaryReached;\n\tconst leftBoundaryMarginWidth = isLeftBoundaryDisplayed\n\t\t? (boundaryMarginWidth + columnGap) * (isRightBoundaryReached ? 2 : 1)\n\t\t: 0;\n\tconst rightBoundaryMarginWidth = isRightBoundaryDisplayed\n\t\t? (boundaryMarginWidth + columnGap) * (isLeftBoundaryReached ? 2 : 1)\n\t\t: 0;\n\n\tconst leftOffset = getColumnOffset(effectiveFirstVisibleColumnIndex, columnWidth, columnGap, leftBoundaryMarginWidth);\n\n\tconst swipeRadius = swipeRadiusX ? { swipeRadiusX } : {};\n\tconst isScrollActive = totalNumberOfColumns > numberOfVisibleColumns;\n\n\treturn {\n\t\tnumberOfVisibleColumns,\n\t\tvisibleColumnsWidth,\n\t\tcolumnWidth,\n\t\tcolumnGap,\n\t\tleftOffset,\n\t\tisLeftBoundaryReached,\n\t\tisRightBoundaryReached,\n\t\tisLeftBoundaryDisplayed,\n\t\tisRightBoundaryDisplayed,\n\t\tleftBoundaryMarginWidth,\n\t\trightBoundaryMarginWidth,\n\t\teffectiveFirstVisibleColumnIndex,\n\t\tswipeRadius,\n\t\tisScrollActive,\n\t\tsliderProps: buildSliderProps(\n\t\t\tsliderProps,\n\t\t\ttotalNumberOfColumns,\n\t\t\teffectiveFirstVisibleColumnIndex,\n\t\t\tcolumnWidth,\n\t\t\tcolumnGap,\n\t\t\tleftBoundaryMarginWidth,\n\t\t\tnumberOfVisibleColumns,\n\t\t\tisLeftBoundaryReached,\n\t\t\tisRightBoundaryReached,\n\t\t\tscreenWidth,\n\t\t\tscreenSizeMatches\n\t\t),\n\t};\n};\n","import React, { createContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport useScreensize from '../../../util/hooks/use-screensize';\nimport scrollControlTypes from '../scroll-control-types';\nimport { buildScrollableTableProps } from './scrollable-table-helper';\n\nexport const ScrollableTableWithSliderContext = createContext({});\n\nconst ScrollableTableWithSliderProvider = ({\n\tpropsByScreenSize,\n\tfirstVisibleColumnIndex,\n\ttotalNumberOfColumns,\n\tscrollPublisher,\n\tonFirstVisibleColumnChange,\n\tchildren,\n\tscrollControlType = scrollControlTypes.buttons,\n}) => {\n\tconst { htmlElementWidth: screenWidth, isMobile, isTablet, isDesktop, isLargeDesktop } = useScreensize();\n\n\tconst scrollableTableWithSliderProps = buildScrollableTableProps(\n\t\tfirstVisibleColumnIndex,\n\t\ttotalNumberOfColumns,\n\t\tpropsByScreenSize,\n\t\tscreenWidth,\n\t\t[isMobile, isTablet, isDesktop, isLargeDesktop]\n\t);\n\n\tconst { effectiveFirstVisibleColumnIndex, sliderProps } = scrollableTableWithSliderProps;\n\n\tuseEffect(() => {\n\t\tif (onFirstVisibleColumnChange && firstVisibleColumnIndex !== effectiveFirstVisibleColumnIndex) {\n\t\t\tonFirstVisibleColumnChange(effectiveFirstVisibleColumnIndex);\n\t\t}\n\t}, [firstVisibleColumnIndex, effectiveFirstVisibleColumnIndex, onFirstVisibleColumnChange]);\n\n\treturn (\n\t\t<ScrollableTableWithSliderContext.Provider\n\t\t\tvalue={{\n\t\t\t\tfirstVisibleColumnIndex: effectiveFirstVisibleColumnIndex,\n\t\t\t\ttotalNumberOfColumns,\n\t\t\t\t...scrollableTableWithSliderProps,\n\t\t\t\tsliderProps: {\n\t\t\t\t\t...sliderProps,\n\t\t\t\t\tscrollControlType,\n\t\t\t\t},\n\t\t\t\tonFirstVisibleColumnChange,\n\t\t\t\tscrollPublisher,\n\t\t\t\tisMobile,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ScrollableTableWithSliderContext.Provider>\n\t);\n};\n\nScrollableTableWithSliderProvider.propTypes = {\n\tfirstVisibleColumnIndex: PropTypes.number.isRequired,\n\ttotalNumberOfColumns: PropTypes.number.isRequired,\n\tpropsByScreenSize: PropTypes.shape({\n\t\tnumbersOfVisibleColumnsByScreenSize: PropTypes.array.isRequired,\n\t\tcolumnWidthsByScreenSize: PropTypes.array.isRequired,\n\t\tcolumnGapsByScreenSize: PropTypes.array,\n\t\tboundaryMarginWidthsByScreenSize: PropTypes.array,\n\t\tsliderProps: PropTypes.shape({\n\t\t\tarrowWidthsByScreenSize: PropTypes.array.isRequired,\n\t\t}),\n\t}).isRequired,\n\tonFirstVisibleColumnChange: PropTypes.func,\n\tchildren: PropTypes.node,\n\tscrollControlType: PropTypes.oneOf([scrollControlTypes.scrollbar, scrollControlTypes.buttons]),\n};\n\nexport default ScrollableTableWithSliderProvider;\n","import { useCallback, useRef, useState } from 'react';\nimport useDocumentEventListener from '../../util/hooks/use-document-event-listener';\n\nfunction clamp(x, lo, hi) {\n\treturn x < lo ? lo : x > hi ? hi : x;\n}\n\n// based on https://codepen.io/kellyex/pen/KKwwdYg\nfunction useScrollbarHandler(handleRef, steps, firstVisibleColumnIndex, onFirstVisibleColumnIndexUpdate) {\n\tconst [isDown, setIsDown] = useState(false);\n\tconst isDownRef = useRef(isDown);\n\tisDownRef.current = isDown;\n\n\tconst [mouseX, setMouseX] = useState(null);\n\tconst mouseXRef = useRef(mouseX);\n\tmouseXRef.current = mouseX;\n\n\tconst [scrollbarPosition, setScrollbarPosition] = useState(null);\n\tconst scrollbarPositionRef = useRef(scrollbarPosition);\n\tscrollbarPositionRef.current = scrollbarPosition;\n\n\tconst handleStartDrag = useCallback(\n\t\tfunction start(event) {\n\t\t\tsetIsDown(true);\n\t\t\tsetMouseX(event.pageX);\n\t\t\tsetScrollbarPosition(firstVisibleColumnIndex);\n\t\t},\n\t\t[firstVisibleColumnIndex]\n\t);\n\n\tconst handleMove = useCallback(\n\t\tfunction move(event) {\n\t\t\tif (isDownRef.current && handleRef.current) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst handleWidth = handleRef.current.offsetWidth;\n\t\t\t\tconst newMouseX = event.pageX;\n\t\t\t\tconst diffX = newMouseX - mouseXRef.current;\n\t\t\t\tconst diffPos = diffX / handleWidth;\n\t\t\t\tsetMouseX(newMouseX);\n\t\t\t\tconst newSliderPos = scrollbarPositionRef.current + diffPos;\n\t\t\t\tconst newSelectedIndex = clamp(Math.round(newSliderPos), 0, steps - 1);\n\t\t\t\tsetScrollbarPosition(newSliderPos);\n\t\t\t\tonFirstVisibleColumnIndexUpdate(newSelectedIndex);\n\t\t\t}\n\t\t},\n\t\t[handleRef, onFirstVisibleColumnIndexUpdate, steps]\n\t);\n\n\tconst handleEndDrag = useCallback(function end() {\n\t\tif (isDownRef.current) {\n\t\t\tsetIsDown(false);\n\t\t}\n\t}, []);\n\n\tuseDocumentEventListener('mousemove', handleMove);\n\tuseDocumentEventListener('mouseup', handleEndDrag);\n\n\treturn [handleStartDrag, isDown ? clamp(scrollbarPosition, 0, steps - 1) : null];\n}\n\nexport default useScrollbarHandler;\n","import React, { useCallback, useContext } from 'react';\nimport useTouchHandler from '../use-touch-handler';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider-provider';\n\n// Min distance (in pixels) to activate touch scroll\nconst minTouchScrollRadiusX = 75;\n\nconst clamp = (x, lo, hi) => (x < lo ? lo : x > hi ? hi : x);\n\nconst TouchScrollWrapper = ({ children }) => {\n\tconst {\n\t\ttotalNumberOfColumns,\n\t\tnumberOfVisibleColumns,\n\t\tfirstVisibleColumnIndex,\n\t\tonFirstVisibleColumnChange,\n\t\tisScrollActive,\n\t} = useContext(ScrollableTableWithSliderContext);\n\n\tconst maxNumberOfSteps = Math.max(totalNumberOfColumns - numberOfVisibleColumns + 1, 1);\n\n\tconst handleScroll = useCallback(\n\t\t(startX, currentX) => {\n\t\t\tconst deltaX = currentX - startX;\n\t\t\tconst deltaFirstVisibleColumnIndex = deltaX / minTouchScrollRadiusX;\n\t\t\tconst newFirstVisibleColumnIndex = firstVisibleColumnIndex + deltaFirstVisibleColumnIndex;\n\t\t\tonFirstVisibleColumnChange(clamp(Math.round(newFirstVisibleColumnIndex), 0, maxNumberOfSteps - 1));\n\t\t\treturn false;\n\t\t},\n\t\t[firstVisibleColumnIndex, maxNumberOfSteps, onFirstVisibleColumnChange]\n\t);\n\n\tconst handleScrollStart = useTouchHandler(handleScroll, !isScrollActive);\n\n\treturn (\n\t\t<div onTouchStart={handleScrollStart} style={{ display: 'contents' }}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport default TouchScrollWrapper;\n","import React, { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport useScrollbarHandler from './use-scrollbar-handler';\nimport TouchScrollWrapper from './scrollable-table-with-slider/touch-scroll-wrapper';\n\nimport styles from './scrollbar.less';\n\nconst Scrollbar = ({\n\ttotalNumberOfColumns,\n\tnumberOfVisibleColumns,\n\tfirstVisibleColumnIndex,\n\tonFirstVisibleColumnIndexUpdate,\n}) => {\n\tconst maxNumberOfSteps = Math.max(totalNumberOfColumns - numberOfVisibleColumns + 1, 1);\n\n\tconst handleRef = useRef(null);\n\tconst [handleScrollStart, overriddenScrollBarPosition] = useScrollbarHandler(\n\t\thandleRef,\n\t\tmaxNumberOfSteps,\n\t\tfirstVisibleColumnIndex,\n\t\tonFirstVisibleColumnIndexUpdate\n\t);\n\n\treturn (\n\t\t<TouchScrollWrapper>\n\t\t\t<div className={styles.scrollbar}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={styles.scrollbarDrag}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: `calc(100% / ${maxNumberOfSteps})`,\n\t\t\t\t\t\ttransform: `translate3d(calc(100% * ${overriddenScrollBarPosition ?? firstVisibleColumnIndex}), 0px, 0px)`,\n\t\t\t\t\t\ttransitionDuration: overriddenScrollBarPosition === null ? '300ms' : null,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div ref={handleRef} role=\"none\" onMouseDown={handleScrollStart} className={styles.scrollbarDragHandle}></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</TouchScrollWrapper>\n\t);\n};\n\nScrollbar.propTypes = {\n\ttotalNumberOfColumns: PropTypes.number.isRequired,\n\tnumberOfVisibleColumns: PropTypes.number.isRequired,\n\tfirstVisibleColumnIndex: PropTypes.number.isRequired,\n\tonFirstVisibleColumnIndexUpdate: PropTypes.func.isRequired,\n};\n\nexport default Scrollbar;\n","// extracted by mini-css-extract-plugin\nexport default {\"scrollbar\":\"scrollbar--scrollbar---RvPg\",\"scrollbarDrag\":\"scrollbar--scrollbarDrag--DRwfx\",\"scrollbarDragHandle\":\"scrollbar--scrollbarDragHandle--8XJWG\"};","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgDoubleRightArrowcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 16,\n  height: 15,\n  viewBox: \"0 0 16 15\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m1 .5 6 7-6 7M9 .5l6 7-6 7\",\n  stroke: \"var(--brand-deep-blue, #030B60)\"\n})));\nexport default SvgDoubleRightArrowcomponent;","var _g, _rect;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFullOwnershipcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 18,\n  height: 18,\n  viewBox: \"0 0 12 12\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n  clipPath: \"circle(6 at 6 6)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n  width: 12,\n  height: 12,\n  rx: 6,\n  fill: \"var(--brand-blue)\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 6,\n  cy: 5,\n  r: 2,\n  fill: \"#fff\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 6,\n  cy: 12,\n  r: 4,\n  fill: \"#fff\"\n}))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n  x: 0.5,\n  y: 0.5,\n  width: 11,\n  height: 11,\n  rx: 5.5,\n  stroke: \"var(--brand-blue)\"\n})));\nexport default SvgFullOwnershipcomponent;","var _circle;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFullyIncludedcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: 18,\n  height: 18,\n  viewBox: \"0 0 18 18\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 9,\n  cy: 9,\n  r: 9,\n  fill: \"var(--brand-blue)\",\n  fillRule: \"evenodd\"\n})));\nexport default SvgFullyIncludedcomponent;","var _g, _rect;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgPartialOwnershipcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 18,\n  height: 18,\n  viewBox: \"0 0 12 12\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n  clipPath: \"circle(6 at 4 3)\",\n  fill: \"var(--brand-blue)\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 6,\n  cy: 5,\n  r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 6,\n  cy: 12,\n  r: 4\n}))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n  x: 0.5,\n  y: 0.5,\n  width: 11,\n  height: 11,\n  rx: 5.5,\n  stroke: \"var(--brand-blue)\"\n})));\nexport default SvgPartialOwnershipcomponent;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgPartlyIncludedcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: 18,\n  height: 18,\n  viewBox: \"0 0 18 18\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"var(--brand-blue)\",\n  fillRule: \"evenodd\",\n  d: \"M18 9A9 9 0 1 1 0 9a9 9 0 0 1 18 0zm-9 6.429A6.429 6.429 0 0 0 9 2.57v12.86z\"\n})));\nexport default SvgPartlyIncludedcomponent;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgHideArrowcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: 12,\n  height: 12,\n  viewBox: \"0 0 12 12\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M6 8 2.757 4.577l.707-.707L6 6.586 8.536 3.87l.707.707z\",\n  fill: \"var(--brand-blue)\"\n})));\nexport default SvgHideArrowcomponent;","import { useCallback } from 'react';\n\nconst useTouchHandler = (onTouchMove, isDisabled) => {\n\tconst handleTouchStart = useCallback(\n\t\tevent => {\n\t\t\tif (isDisabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst touch = event.changedTouches[0];\n\t\t\tif (!touch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst startX = touch.screenX;\n\t\t\tconst startY = touch.screenY;\n\t\t\tconst touchId = touch.identifier;\n\n\t\t\tlet isListenersRemoved = false;\n\n\t\t\tfunction handleTouchMove(event) {\n\t\t\t\tconst changedTouches = Array.from(event.changedTouches);\n\t\t\t\tconst currentTouch = changedTouches.find(t => t.identifier === touchId);\n\t\t\t\tif (!currentTouch) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst currentX = currentTouch.screenX;\n\t\t\t\tconst currentY = currentTouch.screenY;\n\n\t\t\t\tif (onTouchMove(startX, currentX, startY, currentY)) {\n\t\t\t\t\tremoveListeners();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction handleTouchEnd(event) {\n\t\t\t\tconst changedTouches = Array.from(event.changedTouches);\n\t\t\t\tif (changedTouches.find(t => t.identifier === touchId)) {\n\t\t\t\t\tremoveListeners();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction removeListeners() {\n\t\t\t\tif (!isListenersRemoved) {\n\t\t\t\t\tdocument.removeEventListener('touchmove', handleTouchMove);\n\t\t\t\t\tdocument.removeEventListener('touchend', handleTouchEnd);\n\t\t\t\t}\n\t\t\t\tisListenersRemoved = true;\n\t\t\t}\n\n\t\t\tdocument.addEventListener('touchmove', handleTouchMove);\n\t\t\tdocument.addEventListener('touchend', handleTouchEnd);\n\t\t},\n\t\t[isDisabled, onTouchMove]\n\t);\n\n\treturn handleTouchStart;\n};\n\nexport default useTouchHandler;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"index--container--A6Gru\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { LoadingSpinner } from '@faithlife/styled-ui';\n\nimport styles from './index.less';\n\nconst FullscreenOverlayLoadingSpinner = ({ className, zIndex = null }) => {\n\treturn (\n\t\t<div className={classNames(styles.container, className)} style={zIndex !== null ? { zIndex } : undefined}>\n\t\t\t<LoadingSpinner large />\n\t\t</div>\n\t);\n};\nFullscreenOverlayLoadingSpinner.propTypes = {\n\tcontainerClassName: PropTypes.string,\n\tzIndex: PropTypes.number,\n};\n\nexport default FullscreenOverlayLoadingSpinner;\n","import { useEffect } from 'react';\n\nexport default (type, listener) => {\n\tuseEffect(() => {\n\t\tdocument.addEventListener(type, listener);\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(type, listener);\n\t\t};\n\t}, [type, listener]);\n};\n"],"names":["module","exports","CompareClient","getTrack","compareTrackBaseUrl","trackId","request","url","encodeURIComponent","response","fetch","get","json","getTrackProducts","compareTrackProductsBaseUrl","trackIds","clientVersion","params","join","getCompareSectionData","compareTrackSectionsBaseUrl","productIds","data","sections","orderedResourceCounts","getCompareSectionDataForSubscribableProducts","compareSubscribableProductSectionsBaseUrl","spoids","getBasePackagesByTrackId","compareBasePackagesByTrackIdUrl","getBasePackagesByProductIds","compareBasePackagesByProductIdsUrl","scrollbar","buttons","getElementValueFromPredefinedScreenSizes","screenSizeValues","screenSizeMatches","matchingSizeIndex","lastIndexOf","Math","min","length","getElementValueForScreenSize","screenSize","additionalSizesValues","Object","entries","valueFromAdditionalSizes","getValueFromAdditionalSizes","valuesBySize","reduce","matchingValue","size","value","parseInt","undefined","slice","buildSliderProps","sliderProps","totalNumberOfColumns","firstVisibleColumnIndex","columnWidth","columnGap","leftBoundaryMarginWidth","numberOfVisibleColumns","isLeftBoundaryReached","isRightBoundaryReached","screenWidth","arrowWidthsByScreenSize","arrowWidth","isLeftArrowDisplayed","isRightArrowDisplayed","ScrollableTableWithSliderContext","createContext","ScrollableTableWithSliderProvider","propsByScreenSize","scrollPublisher","onFirstVisibleColumnChange","children","scrollControlType","scrollControlTypes","htmlElementWidth","isMobile","isTablet","isDesktop","isLargeDesktop","useScreensize","scrollableTableWithSliderProps","buildScrollableTableProps","firstVisibleColumnIndexRequested","numbersOfVisibleColumnsByScreenSize","columnWidthsByScreenSize","columnGapsByScreenSize","boundaryMarginWidthsByScreenSize","swipeRadiusXByScreenSize","boundaryMarginWidth","swipeRadiusX","numberOfVisibleColumnsRequested","effectiveFirstVisibleColumnIndex","visibleColumnsWidth","isLeftBoundaryDisplayed","isRightBoundaryDisplayed","rightBoundaryMarginWidth","leftOffset","getColumnOffset","columnIndex","swipeRadius","isScrollActive","useEffect","React","Provider","propTypes","PropTypes","isRequired","scrollable_table_with_slider_provider","clamp","x","lo","hi","touch_scroll_wrapper","TouchScrollWrapper","useContext","maxNumberOfSteps","max","handleScroll","useCallback","startX","currentX","newFirstVisibleColumnIndex","round","handleScrollStart","useTouchHandler","onTouchStart","style","display","Scrollbar","onFirstVisibleColumnIndexUpdate","handleRef","useRef","overriddenScrollBarPosition","steps","isDown","setIsDown","useState","isDownRef","current","mouseX","setMouseX","mouseXRef","scrollbarPosition","setScrollbarPosition","scrollbarPositionRef","handleStartDrag","event","pageX","handleMove","preventDefault","handleWidth","offsetWidth","newMouseX","diffPos","newSliderPos","newSelectedIndex","handleEndDrag","useDocumentEventListener","useScrollbarHandler","className","width","transform","transitionDuration","ref","role","onMouseDown","compare_page_scrollbar","_path","_extends","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","double_right_arrow_component","props","react","createElement","height","viewBox","fill","xmlns","d","stroke","_g","_rect","full_ownership_component_extends","full_ownership_component","clipPath","rx","cx","cy","y","_circle","fully_included_component_extends","fully_included_component","fillRule","partial_ownership_component_g","partial_ownership_component_rect","partial_ownership_component_extends","partial_ownership_component","partly_included_component_path","partly_included_component_extends","partly_included_component","hide_arrow_component_path","hide_arrow_component_extends","hide_arrow_component","onTouchMove","isDisabled","touch","changedTouches","screenX","startY","screenY","touchId","identifier","isListenersRemoved","handleTouchMove","currentTouch","Array","from","find","currentY","removeListeners","handleTouchEnd","document","removeEventListener","addEventListener","FullscreenOverlayLoadingSpinner","zIndex","classNames","LoadingSpinner","large","containerClassName","shared_fullscreen_overlay_loading_spinner","__WEBPACK_DEFAULT_EXPORT__","type","listener","__webpack_require__","dn"],"sourceRoot":""}