{"version":3,"file":"9189.843e1278c0c3da772021.js?ssi=0","mappings":"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","sources":["webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/shared.less?84f2","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-table-controls/index.less?77bb","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-table-controls/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-table-legend/index.less?650a","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-table-legend/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/hooks/comparison-table-controls-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/resource-preview-tooltip.less?5ac8","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/resource-preview-tooltip.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-row.less?97c3","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-row.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-section.less?54b2","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/comparison-section.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/new-comparison-table-with-slider/comparison-sections-table/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/row-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/column-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/scrollable-wrapper.less?0e35","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/scrollable-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/slider-arrow-options.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/svgs/singleArrow.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/svgs/singleArrowLarge.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/svgs/singleArrowLargeAlt.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/slider-wrapper.less?9ece","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/slider-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/use-wheel-scroll-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/scrollable-table-with-slider/swipeable-wrapper.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/compare-page/use-swipe-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/progress-indicator-v2/index.less?5b43","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/progress-indicator-v2/progress-indicator-item.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/progress-indicator-v2/use-progress-indicator-handler.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/progress-indicator-v2/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/util/container-fragment.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/summary-trough/cart-item.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/summary-trough/cart-item.less?97d0","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/summary-trough/index.less?de25","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/summary-trough/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/blueCheckmark.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/checkmark.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/chevron.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/downChevron24px.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/emptyCircle.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/expandableClosedIcon.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/expandableOpenedIcon.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/filledCircle.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/fully-included.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/leftArrow.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/rightArrow.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/subscription-star.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/x.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/subscription.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/svgs/library.component.svg","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/wizard-hero/index.less?4f14","webpack://@logos/commerceweb-frontend/./Scripts/site/components/configuration-wizard/wizard-hero/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/product/foreign-price-tooltip/index.less?42a4","webpack://@logos/commerceweb-frontend/./Scripts/site/components/product/foreign-price-tooltip/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/shared/configuration-wizard-cart/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/util/dom-utility.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/shared/dangerous-html-content/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/util/merge-refs.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/sticky-header/index.less?9d07","webpack://@logos/commerceweb-frontend/./Scripts/site/components/sticky-header/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/util/hooks/use-didomi-notice-height.js","webpack://@logos/commerceweb-frontend/./Scripts/site/util/hooks/use-prevent-body-scrolling.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"h2\":\"shared--h2--x64wZ h2\",\"h4\":\"shared--h4--lWBdm h2\",\"h5\":\"shared--h5--O73NR h3\",\"ui1\":\"shared--ui1--oynNU\",\"ui2\":\"shared--ui2--XtaYf\",\"ui3\":\"shared--ui3--rPvEt\",\"ui5\":\"shared--ui5--UDKf8\",\"b2\":\"shared--b2--+w8ym\",\"b3\":\"shared--b3--83PpR\",\"loadingSpinner\":\"shared--loadingSpinner--tmaLI\"};","// extracted by mini-css-extract-plugin\nexport default {\"controlsContainer\":\"index--controlsContainer--EedrP\",\"hideBooksIOwnContainer\":\"index--hideBooksIOwnContainer--XdYzH\",\"expansionControlsContainer\":\"index--expansionControlsContainer--Tfjac\",\"separator\":\"index--separator--4Y5CM\",\"expansionControl\":\"index--expansionControl--vlSJo\"};","import React from 'react';\nimport { Checkbox } from '@faithlife/styled-ui';\nimport { useLocalization } from '../../../localization';\nimport styles from './index.less';\n\nconst ComparisonTableControls = ({\n\tuserIsBasePackageOwner,\n\thandleHideBooksIOwnChange,\n\thideBooksIOwn,\n\thandleExpandAll,\n\thandleCollapseAll,\n}) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\treturn (\n\t\t<div className={styles.controlsContainer}>\n\t\t\t{userIsBasePackageOwner && (\n\t\t\t\t<>\n\t\t\t\t\t<div className={styles.hideBooksIOwnContainer}>\n\t\t\t\t\t\t<Checkbox onClick={handleHideBooksIOwnChange} isChecked={hideBooksIOwn} title={resources.HideBooksIOwn} />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={styles.separator} />\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<div className={styles.expansionControlsContainer}>\n\t\t\t\t<button onClick={handleExpandAll} className={styles.expansionControl}>\n\t\t\t\t\t{resources.ExpandAll}\n\t\t\t\t</button>\n\t\t\t\t<div className={styles.separator} />\n\t\t\t\t<button onClick={handleCollapseAll} className={styles.expansionControl}>\n\t\t\t\t\t{resources.CollapseAll}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ComparisonTableControls;\n","// extracted by mini-css-extract-plugin\nexport default {\"legendContainer\":\"index--legendContainer--CL-xN\",\"defaultLegendContainer\":\"index--defaultLegendContainer--Bkwfb index--legendContainer--CL-xN\",\"wideLegendContainer\":\"index--wideLegendContainer--Pqz25 index--legendContainer--CL-xN\",\"responsiveLegendContainer\":\"index--responsiveLegendContainer--Tuplf index--legendContainer--CL-xN\",\"legendItemsContainer\":\"index--legendItemsContainer--rNQs3\",\"defaultLegendItemsContainer\":\"index--defaultLegendItemsContainer--vM7KP index--legendItemsContainer--rNQs3\",\"wideLegendItemsContainer\":\"index--wideLegendItemsContainer--lSsM3 index--legendItemsContainer--rNQs3\",\"responsiveLegendItemsContainer\":\"index--responsiveLegendItemsContainer--e1+0f index--legendItemsContainer--rNQs3\",\"legendItem\":\"index--legendItem--0ZBEW\",\"name\":\"index--name--s0VaP\",\"iconContainer\":\"index--iconContainer--Q27om\"};","import React from 'react';\nimport {\n\tFullOwnershipComponent,\n\tFullyIncludedComponent,\n\tPartialOwnershipComponent,\n\tPartlyIncludedComponent,\n} from '../svgs';\nimport { useLocalization } from '../../../localization';\nimport styles from './index.less';\n\nconst ComparisonTableLegend = ({ mode = 'default' }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\tlet selectedStyles = {\n\t\tlegendContainer: styles.defaultLegendContainer,\n\t\tlegendItemsContainer: styles.defaultLegendItemsContainer,\n\t};\n\n\tif (mode === 'wide') {\n\t\tselectedStyles = {\n\t\t\tlegendContainer: styles.wideLegendContainer,\n\t\t\tlegendItemsContainer: styles.wideLegendItemsContainer,\n\t\t};\n\t} else if (mode === 'responsive') {\n\t\tselectedStyles = {\n\t\t\tlegendContainer: styles.responsiveLegendContainer,\n\t\t\tlegendItemsContainer: styles.responsiveLegendItemsContainer,\n\t\t};\n\t}\n\n\treturn (\n\t\t<div className={selectedStyles.legendContainer}>\n\t\t\t<div className={selectedStyles.legendItemsContainer}>\n\t\t\t\t<LegendItem name={resources.Owned}>\n\t\t\t\t\t<FullOwnershipComponent alt={resources.OwnedIcon} />\n\t\t\t\t</LegendItem>\n\t\t\t\t<LegendItem name={resources.PartiallyOwned}>\n\t\t\t\t\t<PartialOwnershipComponent alt={resources.PartiallyOwnedIcon} />\n\t\t\t\t</LegendItem>\n\t\t\t</div>\n\t\t\t<div className={selectedStyles.legendItemsContainer}>\n\t\t\t\t<LegendItem name={resources.PartlyIncluded}>\n\t\t\t\t\t<PartlyIncludedComponent alt={resources.PartlyIncludedIcon} />\n\t\t\t\t</LegendItem>\n\t\t\t\t<LegendItem name={resources.FullyIncluded}>\n\t\t\t\t\t<FullyIncludedComponent alt={resources.FullyIncludedIcon} />\n\t\t\t\t</LegendItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst LegendItem = ({ name, children }) => (\n\t<div className={styles.legendItem}>\n\t\t<div className={styles.name}>{name}</div>\n\t\t<div className={styles.iconContainer}>{children}</div>\n\t</div>\n);\n\nexport default ComparisonTableLegend;\n","import { useState, useCallback } from 'react';\n\nconst useComparisonTableControlsHandler = () => {\n\tconst [hideBooksIOwn, setHideBooksIOwn] = useState(false);\n\n\tconst handleHideBooksIOwnChange = useCallback(\n\t\t() => setHideBooksIOwn(!hideBooksIOwn),\n\t\t[setHideBooksIOwn, hideBooksIOwn]\n\t);\n\n\tconst [tableCollapseState, setTableCollapseState] = useState('toggle');\n\n\tconst handleExpandAll = useCallback(() => {\n\t\tsetTableCollapseState('expand');\n\t}, []);\n\n\tconst handleCollapseAll = useCallback(() => {\n\t\tsetTableCollapseState('collapse');\n\t}, []);\n\n\tconst handleToggle = useCallback(() => {\n\t\tsetTableCollapseState('toggle');\n\t}, []);\n\n\tconst isOpenAccordingToCollapseState = useCallback(\n\t\tisOpen => {\n\t\t\tswitch (tableCollapseState) {\n\t\t\t\tcase 'expand':\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'collapse':\n\t\t\t\t\treturn false;\n\t\t\t\tcase 'toggle':\n\t\t\t\tdefault:\n\t\t\t\t\treturn isOpen;\n\t\t\t}\n\t\t},\n\t\t[tableCollapseState]\n\t);\n\n\treturn {\n\t\thideBooksIOwn,\n\t\thandleHideBooksIOwnChange,\n\t\thandleExpandAll,\n\t\thandleCollapseAll,\n\t\thandleToggle,\n\t\tisOpenAccordingToCollapseState,\n\t};\n};\n\nexport default useComparisonTableControlsHandler;\n","// extracted by mini-css-extract-plugin\nexport default {\"trigger\":\"resource-preview-tooltip--trigger--mVhJq\",\"content\":\"resource-preview-tooltip--content---X55Z\",\"resourceTooltipFadeIn\":\"resource-preview-tooltip--resourceTooltipFadeIn--4WY6A\",\"resourceTooltipFadeOut\":\"resource-preview-tooltip--resourceTooltipFadeOut--gRxUI\",\"arrow\":\"resource-preview-tooltip--arrow--7j2pE\",\"resourceTooltip\":\"resource-preview-tooltip--resourceTooltip--z3yWS\",\"loadingSpinner\":\"resource-preview-tooltip--loadingSpinner--3fezt\",\"previewNotAvailable\":\"resource-preview-tooltip--previewNotAvailable--RZair h3\"};","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as Tooltip from '@radix-ui/react-tooltip';\nimport { LoadingSpinner } from '@faithlife/styled-ui';\nimport DangerousHtmlContent from '../shared/dangerous-html-content';\nimport { useLocalization } from '../../localization';\n\nimport styles from './resource-preview-tooltip.less';\n\nconst showDelay = 250;\n\nfunction useLazyTooltipContent(tooltipUrl, shouldLoad) {\n\tconst [html, setHtml] = useState(null);\n\tconst hasRequested = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (!shouldLoad || !tooltipUrl || hasRequested.current) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\thasRequested.current = true;\n\t\tlet isCancelled = false;\n\t\tlet requestSettled = false;\n\n\t\tfetch(tooltipUrl, { credentials: 'same-origin' })\n\t\t\t.then(response => (response.ok ? response.text() : null))\n\t\t\t.then(text => {\n\t\t\t\tif (!isCancelled && text) {\n\t\t\t\t\tsetHtml(text);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => {})\n\t\t\t.then(() => {\n\t\t\t\trequestSettled = true;\n\t\t\t});\n\n\t\treturn () => {\n\t\t\tisCancelled = true;\n\t\t\tif (!requestSettled) {\n\t\t\t\thasRequested.current = false;\n\t\t\t}\n\t\t};\n\t}, [tooltipUrl, shouldLoad]);\n\n\treturn html;\n}\n\nconst TooltipBody = ({ tooltipUrl, html }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\n\tif (!tooltipUrl) {\n\t\treturn (\n\t\t\t<div className={styles.resourceTooltip}>\n\t\t\t\t<div className={styles.previewNotAvailable}>{resources.PreviewNotAvailable}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn html ? (\n\t\t<DangerousHtmlContent className={styles.resourceTooltip} html={html} />\n\t) : (\n\t\t<div className={styles.resourceTooltip}>\n\t\t\t<div className={styles.loadingSpinner}>\n\t\t\t\t<LoadingSpinner medium />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTooltipBody.propTypes = {\n\ttooltipUrl: PropTypes.string,\n\thtml: PropTypes.string,\n};\n\nconst ResourcePreviewTooltip = ({ name, tooltipUrl }) => {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst html = useLazyTooltipContent(tooltipUrl, isOpen);\n\tconst wasOpenOnPointerDownRef = useRef(false);\n\n\t// Radix ignores touch pointer events, so taps are handled here. The trigger's own handlers run\n\t// before Radix's, which closes the tooltip on both pointer down and click; preventing the default\n\t// on click makes Radix skip its close handler so the tap can open the tooltip.\n\tconst handlePointerDown = useCallback(() => {\n\t\twasOpenOnPointerDownRef.current = isOpen;\n\t}, [isOpen]);\n\n\tconst handleClick = useCallback(event => {\n\t\tevent.preventDefault();\n\t\tsetIsOpen(!wasOpenOnPointerDownRef.current);\n\t}, []);\n\n\treturn (\n\t\t<Tooltip.Provider delayDuration={showDelay}>\n\t\t\t<Tooltip.Root open={isOpen} onOpenChange={setIsOpen}>\n\t\t\t\t<Tooltip.Trigger asChild>\n\t\t\t\t\t<button type=\"button\" className={styles.trigger} onPointerDown={handlePointerDown} onClick={handleClick}>\n\t\t\t\t\t\t{name}\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t<Tooltip.Portal>\n\t\t\t\t\t<Tooltip.Content className={styles.content} side=\"bottom\" sideOffset={8} collisionPadding={12}>\n\t\t\t\t\t\t<TooltipBody tooltipUrl={tooltipUrl} html={html} />\n\t\t\t\t\t\t<Tooltip.Arrow className={styles.arrow} width={16} height={8} />\n\t\t\t\t\t</Tooltip.Content>\n\t\t\t\t</Tooltip.Portal>\n\t\t\t</Tooltip.Root>\n\t\t</Tooltip.Provider>\n\t);\n};\n\nResourcePreviewTooltip.propTypes = {\n\tname: PropTypes.string,\n\ttooltipUrl: PropTypes.string,\n};\n\nexport default ResourcePreviewTooltip;\n","// extracted by mini-css-extract-plugin\nexport default {\"comparisonRow\":\"comparison-row--comparisonRow--m9zRq\",\"nameContainer\":\"comparison-row--nameContainer--GFq+j\",\"withToggle\":\"comparison-row--withToggle--bv9W3\",\"name\":\"comparison-row--name--sLpQK\",\"withSubResources\":\"comparison-row--withSubResources---Ok-V\",\"nameToggle\":\"comparison-row--nameToggle--huYhc\",\"ownershipIconContainer\":\"comparison-row--ownershipIconContainer--Yyug5\",\"ownershipIcon\":\"comparison-row--ownershipIcon--g2BVf\",\"inclusionIconsContainer\":\"comparison-row--inclusionIconsContainer--3v004\",\"inclusionIcons\":\"comparison-row--inclusionIcons--4qZb-\",\"dynamicSizeInclusionIcons\":\"comparison-row--dynamicSizeInclusionIcons--D7PUo comparison-row--inclusionIcons--4qZb-\",\"staticSizeInclusionIcons\":\"comparison-row--staticSizeInclusionIcons--sHho3 comparison-row--inclusionIcons--4qZb-\",\"inclusionIconsWrapper\":\"comparison-row--inclusionIconsWrapper--h8Wz4\",\"inclusionIcon\":\"comparison-row--inclusionIcon--RAyMc\",\"dynamicSizeInclusionIcon\":\"comparison-row--dynamicSizeInclusionIcon--VvVCM comparison-row--inclusionIcon--RAyMc\",\"staticSizeInclusionIcon\":\"comparison-row--staticSizeInclusionIcon--GMFdG comparison-row--inclusionIcon--RAyMc\",\"subResource\":\"comparison-row--subResource--dMHo5\",\"hideVolumes\":\"comparison-row--hideVolumes--Xj0qE\",\"hideVolumesArrow\":\"comparison-row--hideVolumesArrow--K4tmh\"};","import React, { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ExpandableClosedIcon, ExpandableOpenedIcon } from '../configuration-wizard/svgs';\nimport { useLocalization } from '../../localization';\nimport ResourcePreviewTooltip from './resource-preview-tooltip';\nimport {\n\tFullOwnershipComponent,\n\tFullyIncludedComponent,\n\tPartialOwnershipComponent,\n\tPartlyIncludedComponent,\n\tHideArrowComponent,\n} from './svgs';\nimport RowWrapper from './scrollable-table-with-slider/row-wrapper';\n\nimport styles from './comparison-row.less';\n\nconst ComparisonRow = ({\n\tname,\n\tisOwned,\n\tisPartiallyOwned,\n\townedResourceCount,\n\ttotalAvailableResourceCount,\n\tsubResources,\n\torderedIncludedInProducts,\n\ttooltipUrl,\n\tclassName,\n\tonToggle,\n\tsize,\n}) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\tconst [isOpen, setIsOpen] = useState(false);\n\n\tconst handleArrowClick = useCallback(() => {\n\t\tonToggle?.(!isOpen);\n\t\tsetIsOpen(!isOpen);\n\t}, [isOpen, onToggle]);\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t<div className={styles.comparisonRow}>\n\t\t\t\t<ComparisonRowName\n\t\t\t\t\tname={name}\n\t\t\t\t\thasSubresources={!!subResources?.length}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t\tisPartiallyOwned={isPartiallyOwned}\n\t\t\t\t\tisOwned={isOwned}\n\t\t\t\t\townedResourceCount={ownedResourceCount}\n\t\t\t\t\ttotalAvailableResourceCount={totalAvailableResourceCount}\n\t\t\t\t\ttooltipUrl={tooltipUrl}\n\t\t\t\t\tonArrowClick={handleArrowClick}\n\t\t\t\t/>\n\t\t\t\t<div className={styles[`${size}SizeInclusionIcons`]}>\n\t\t\t\t\t<InclusionIcons\n\t\t\t\t\t\torderedIncludedInProducts={orderedIncludedInProducts}\n\t\t\t\t\t\tsingleInclusionIconClass={styles[`${size}SizeInclusionIcon`]}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!!subResources?.length && isOpen && (\n\t\t\t\t<div>\n\t\t\t\t\t{subResources.map((sr, index) => (\n\t\t\t\t\t\t<ComparisonRow\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tname={sr.name}\n\t\t\t\t\t\t\tisOwned={sr.isOwned}\n\t\t\t\t\t\t\tisPartiallyOwned={sr.isPartiallyOwned}\n\t\t\t\t\t\t\townedResourceCount={sr.ownedResourceCount}\n\t\t\t\t\t\t\ttotalAvailableResourceCount={sr.totalAvailableResourceCount}\n\t\t\t\t\t\t\torderedIncludedInProducts={sr.orderedIncludedInProducts}\n\t\t\t\t\t\t\ttooltipUrl={sr.tooltipUrl}\n\t\t\t\t\t\t\tclassName={styles.subResource}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t<button onClick={handleArrowClick} className={styles.hideVolumes}>\n\t\t\t\t\t\t<HideArrowComponent className={styles.hideVolumesArrow} />\n\t\t\t\t\t\t{resources.HideVolumes}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nComparisonRow.propTypes = {\n\tname: PropTypes.string,\n\tisOwned: PropTypes.bool,\n\tisPartiallyOwned: PropTypes.bool,\n\townedResourceCount: PropTypes.number,\n\ttotalAvailableResourceCount: PropTypes.number,\n\tsubResources: PropTypes.arrayOf(PropTypes.object),\n\torderedIncludedInProducts: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tproductId: PropTypes.string,\n\t\t\tisIncluded: PropTypes.bool,\n\t\t\tisPartiallyIncluded: PropTypes.bool,\n\t\t})\n\t),\n\ttooltipUrl: PropTypes.string,\n\tsize: PropTypes.oneOf(['static', 'dynamic']).isRequired,\n};\n\nconst ComparisonRowName = ({\n\tname,\n\thasSubresources,\n\tisOpen,\n\tisPartiallyOwned,\n\tisOwned,\n\townedResourceCount,\n\ttotalAvailableResourceCount,\n\ttooltipUrl,\n\tonArrowClick,\n}) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\tlet OwnershipIconComponent;\n\tlet ownershipIconTooltipText;\n\tif (isOwned) {\n\t\tOwnershipIconComponent = FullOwnershipComponent;\n\t\townershipIconTooltipText = resources.YouOwnThisProduct;\n\t} else if (isPartiallyOwned) {\n\t\tOwnershipIconComponent = PartialOwnershipComponent;\n\t\townershipIconTooltipText = `${resources.YouOwnPartOfThisCollectionAndAreReceivingADiscount} ${ownedResourceCount} ${resources.Of} ${totalAvailableResourceCount} ${resources.ResourcesAndDatasets}`;\n\t} else {\n\t\tOwnershipIconComponent = null;\n\t\townershipIconTooltipText = null;\n\t}\n\n\treturn (\n\t\t<div className={classNames(styles.nameContainer, hasSubresources && styles.withToggle)}>\n\t\t\t<div className={classNames(styles.name, hasSubresources && styles.withSubResources)}>\n\t\t\t\t{hasSubresources ? (\n\t\t\t\t\t<button className={styles.nameToggle} onClick={onArrowClick}>\n\t\t\t\t\t\t{isOpen ? <ExpandableOpenedIcon /> : <ExpandableClosedIcon />}\n\t\t\t\t\t\t<span>{name}</span>\n\t\t\t\t\t</button>\n\t\t\t\t) : (\n\t\t\t\t\t<ResourcePreviewTooltip name={name} tooltipUrl={tooltipUrl} />\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{OwnershipIconComponent && (\n\t\t\t\t<div className={styles.ownershipIconContainer}>\n\t\t\t\t\t<OwnershipIconComponent\n\t\t\t\t\t\talt={resources.Ownership}\n\t\t\t\t\t\tclassName={styles.ownershipIcon}\n\t\t\t\t\t\ttitle={ownershipIconTooltipText}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst InclusionIcon = ({ Icon, alt, className }) => (\n\t<div key={`inclusion-icon-${alt}`} className={className}>\n\t\t{Icon && <Icon alt={alt} title={alt} />}\n\t</div>\n);\n\nconst InclusionIcons = ({ orderedIncludedInProducts, singleInclusionIconClass }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\tconst inclusionIconComponents = orderedIncludedInProducts.map(iip => {\n\t\tlet IconComponent;\n\t\tlet alt;\n\t\tif (iip.isIncluded) {\n\t\t\tIconComponent = FullyIncludedComponent;\n\t\t\talt = resources.AllResourcesFromThisCollectionAreIncluded;\n\t\t} else if (iip.isPartiallyIncluded) {\n\t\t\tIconComponent = PartlyIncludedComponent;\n\t\t\talt = resources.OnlySomeResourcesFromThisCollectionAreIncluded;\n\t\t} else {\n\t\t\tIconComponent = null;\n\t\t\talt = null;\n\t\t}\n\n\t\treturn {\n\t\t\tid: iip.productId,\n\t\t\tcomponent: <InclusionIcon Icon={IconComponent} alt={alt} className={singleInclusionIconClass} />,\n\t\t};\n\t});\n\n\treturn (\n\t\t<div className={styles.inclusionIconsContainer}>\n\t\t\t<RowWrapper items={inclusionIconComponents} className={styles.inclusionIconsWrapper} />\n\t\t</div>\n\t);\n};\n\nexport default ComparisonRow;\n","// extracted by mini-css-extract-plugin\nexport default {\"comparisonSectionHeader\":\"comparison-section--comparisonSectionHeader--6oj6V\",\"comparisonSectionNameContainer\":\"comparison-section--comparisonSectionNameContainer--OAEEe h3\",\"comparisonSectionName\":\"comparison-section--comparisonSectionName--Yp1ov\",\"resourceCountsContainer\":\"comparison-section--resourceCountsContainer--QiDFu\",\"dynamicSizeOrderedResourceCounts\":\"comparison-section--dynamicSizeOrderedResourceCounts--0QQ69\",\"staticSizeOrderedResourceCounts\":\"comparison-section--staticSizeOrderedResourceCounts--ikQEB\",\"resourceCountsWrapper\":\"comparison-section--resourceCountsWrapper--b8CJA\",\"resourceCount\":\"comparison-section--resourceCount--PUo1q\",\"dynamicSizeResourceCount\":\"comparison-section--dynamicSizeResourceCount--s1ZSC comparison-section--resourceCount--PUo1q\",\"staticSizeResourceCount\":\"comparison-section--staticSizeResourceCount--ReVi3 comparison-section--resourceCount--PUo1q\",\"hideSection\":\"comparison-section--hideSection--gOi0j\",\"hideSectionArrow\":\"comparison-section--hideSectionArrow--3pQtO\"};","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { ExpandableClosedIcon, ExpandableOpenedIcon } from '../configuration-wizard/svgs';\nimport { useLocalization } from '../../localization';\nimport ComparisonRow from './comparison-row';\nimport RowWrapper from './scrollable-table-with-slider/row-wrapper';\nimport { HideArrowComponent } from './svgs';\n\nimport styles from './comparison-section.less';\n\nconst ComparisonSection = ({\n\thideBooksIOwn,\n\tcategory,\n\tcomparisonRows,\n\torderedResourceCounts,\n\tonToggle,\n\tisOpenAccordingToCollapseState,\n\tsize,\n\tstartsOpen = false,\n}) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.Compare');\n\tconst [isOpen, setIsOpen] = useState(startsOpen);\n\n\tuseEffect(() => {\n\t\tsetIsOpen(o => isOpenAccordingToCollapseState(o));\n\t}, [isOpenAccordingToCollapseState]);\n\n\tconst handleClick = useCallback(() => {\n\t\tonToggle?.(!isOpen);\n\t\tsetIsOpen(!isOpen);\n\t}, [onToggle, isOpen]);\n\n\tconst comparisonRowComponents =\n\t\tisOpen &&\n\t\tcomparisonRows.map((row, index) => {\n\t\t\treturn <ComparisonRow key={index} {...row} onToggle={onToggle} size={size} />;\n\t\t});\n\n\treturn (\n\t\t<>\n\t\t\t<button className={styles.comparisonSectionHeader} onClick={handleClick}>\n\t\t\t\t<ComparisonSectionName isOpen={isOpen} name={category.name} />\n\t\t\t\t<div className={styles[`${size}SizeOrderedResourceCounts`]}>\n\t\t\t\t\t<OrderedResourceCounts\n\t\t\t\t\t\torderedIds={category.orderedIds}\n\t\t\t\t\t\torderedResourceCounts={orderedResourceCounts}\n\t\t\t\t\t\thideBooksIOwn={hideBooksIOwn}\n\t\t\t\t\t\tsingleResourceCountClass={styles[`${size}SizeResourceCount`]}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t\t{isOpen && (\n\t\t\t\t<>\n\t\t\t\t\t{comparisonRowComponents}\n\t\t\t\t\t<button onClick={handleClick} className={styles.hideSection}>\n\t\t\t\t\t\t<HideArrowComponent className={styles.hideSectionArrow} />\n\t\t\t\t\t\t{resources.HideSection}\n\t\t\t\t\t</button>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nComparisonSection.propTypes = {\n\thideBooksIOwn: PropTypes.bool.isRequired,\n\tcategory: PropTypes.shape({\n\t\tname: PropTypes.string,\n\t\ttoken: PropTypes.string,\n\t\torderedIds: PropTypes.arrayOf(PropTypes.string),\n\t}),\n\tcomparisonRows: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tname: PropTypes.string,\n\t\t\tisOwned: PropTypes.bool,\n\t\t\tisPartiallyOwned: PropTypes.bool,\n\t\t\townedResourceCount: PropTypes.number,\n\t\t\ttotalAvailableResourceCount: PropTypes.number,\n\t\t\tsubResources: PropTypes.arrayOf(PropTypes.object),\n\t\t\torderedIncludedInProducts: PropTypes.arrayOf(\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tproductId: PropTypes.string,\n\t\t\t\t\tisIncluded: PropTypes.bool,\n\t\t\t\t\tisPartiallyIncluded: PropTypes.bool,\n\t\t\t\t})\n\t\t\t),\n\t\t\ttooltipUrl: PropTypes.string,\n\t\t})\n\t),\n\torderedResourceCounts: PropTypes.arrayOf(PropTypes.object.isRequired).isRequired,\n\thandleClick: PropTypes.func,\n\tisOpen: PropTypes.bool,\n\tsize: PropTypes.oneOf(['static', 'dynamic']).isRequired,\n};\n\nconst ComparisonSectionName = ({ isOpen, name }) => (\n\t<div className={styles.comparisonSectionNameContainer}>\n\t\t{isOpen ? <ExpandableOpenedIcon /> : <ExpandableClosedIcon />}\n\t\t<div className={styles.comparisonSectionName}>{name}</div>\n\t</div>\n);\n\nconst ResourceCount = ({ resourceCount, className }) => <div className={className}>{resourceCount}</div>;\n\nconst OrderedResourceCounts = ({ hideBooksIOwn, orderedIds, orderedResourceCounts, singleResourceCountClass }) => {\n\tconst items = orderedIds.map((id, index) => {\n\t\tconst resourceCounts = orderedResourceCounts[index];\n\t\tconst resourceCount = hideBooksIOwn\n\t\t\t? resourceCounts.unownedResourceCount\n\t\t\t: resourceCounts.totalAvailableResourceCount;\n\n\t\treturn {\n\t\t\tid: id,\n\t\t\tcomponent: <ResourceCount resourceCount={resourceCount} className={singleResourceCountClass} />,\n\t\t};\n\t});\n\n\treturn (\n\t\t<div className={styles.resourceCountsContainer}>\n\t\t\t<RowWrapper items={items} className={styles.resourceCountsWrapper} />\n\t\t</div>\n\t);\n};\n\nexport default ComparisonSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ComparisonSection from '../../comparison-section';\nimport SwipeableWrapper from '../../scrollable-table-with-slider/swipeable-wrapper';\n\nconst ComparisonSectionsTable = ({ selectedCompareSections, comparisonTableControlsHandler }) => {\n\tconst { hideBooksIOwn, onToggle, isOpenAccordingToCollapseState } = comparisonTableControlsHandler;\n\tconst comparisonSections = selectedCompareSections\n\t\t.filter(s => !hideBooksIOwn || !s.comparisonRows.every(row => row.isOwned))\n\t\t.map(s => (\n\t\t\t<ComparisonSection\n\t\t\t\tkey={s.category.token}\n\t\t\t\thideBooksIOwn={hideBooksIOwn}\n\t\t\t\tcategory={s.category}\n\t\t\t\tcomparisonRows={s.comparisonRows\n\t\t\t\t\t.filter(row => !hideBooksIOwn || !row.isOwned)\n\t\t\t\t\t.map(row => ({\n\t\t\t\t\t\t...row,\n\t\t\t\t\t\tsubResources: row.subResources.filter(sr => !hideBooksIOwn || !sr.isOwned),\n\t\t\t\t\t}))}\n\t\t\t\torderedResourceCounts={s.orderedResourceCounts}\n\t\t\t\tonToggle={onToggle}\n\t\t\t\tisOpenAccordingToCollapseState={isOpenAccordingToCollapseState}\n\t\t\t\tsize=\"dynamic\"\n\t\t\t\tstartsOpen={s.isOpen}\n\t\t\t/>\n\t\t));\n\n\treturn <SwipeableWrapper>{comparisonSections}</SwipeableWrapper>;\n};\n\nComparisonSectionsTable.propTypes = {\n\tselectedCompareSections: PropTypes.array.isRequired,\n\tcomparisonTableControlsHandler: PropTypes.object.isRequired,\n};\n\nexport default ComparisonSectionsTable;\n","import React from 'react';\nimport ScrollableWrapper from './scrollable-wrapper';\n\nconst RowWrapper = ({ scrollableWrapperClassName, itemsClassName, className, items }) => (\n\t<ScrollableWrapper\n\t\tclassName={scrollableWrapperClassName}\n\t\titemsClassName={itemsClassName}\n\t\twrapperClassName={className}\n\t\tlayoutVariant={`columns`}\n\t\titems={items}\n\t/>\n);\n\nexport default RowWrapper;\n","import React from 'react';\nimport { useContext } from 'react';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider-provider';\n\nconst ColumnWrapper = ({ className, children }) => {\n\tconst { columnWidth } = useContext(ScrollableTableWithSliderContext);\n\n\treturn (\n\t\t<div className={className} style={{ width: columnWidth, minWidth: columnWidth }}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport default ColumnWrapper;\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"scrollable-wrapper--wrapper--dZVJW\",\"boundaryMargin\":\"scrollable-wrapper--boundaryMargin--RbrLT\",\"leftBoundaryMargin\":\"scrollable-wrapper--leftBoundaryMargin--fcJBc scrollable-wrapper--boundaryMargin--RbrLT\",\"rightBoundaryMargin\":\"scrollable-wrapper--rightBoundaryMargin--5Mo18 scrollable-wrapper--boundaryMargin--RbrLT\",\"items\":\"scrollable-wrapper--items--Pqjp+\",\"columnsLayout\":\"scrollable-wrapper--columnsLayout--SzmmH\",\"gridLayout\":\"scrollable-wrapper--gridLayout--NbbaM\"};","import React, { useContext, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider-provider';\nimport ColumnWrapper from './column-wrapper';\n\nimport styles from './scrollable-wrapper.less';\n\nconst ScrollableWrapper = ({ className, itemsClassName, wrapperClassName, layoutVariant = 'grid', items }) => {\n\tconst {\n\t\tvisibleColumnsWidth,\n\t\tcolumnWidth,\n\t\tcolumnGap,\n\t\tleftOffset,\n\t\tisLeftBoundaryDisplayed,\n\t\tisRightBoundaryDisplayed,\n\t\tleftBoundaryMarginWidth,\n\t\trightBoundaryMarginWidth,\n\t} = useContext(ScrollableTableWithSliderContext);\n\n\tconst shouldAnimateScroll = useRef(false);\n\n\tconst scrollableContainerRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tconst scrollableContainer = scrollableContainerRef.current;\n\n\t\tif (!scrollableContainer?.scroll) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!shouldAnimateScroll.current) {\n\t\t\tscrollableContainer.scrollLeft = leftOffset;\n\t\t\tshouldAnimateScroll.current = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (Math.abs(scrollableContainer.scrollLeft - leftOffset) > 1) {\n\t\t\tscrollableContainer.scroll({\n\t\t\t\tleft: leftOffset,\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [leftOffset]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(styles.wrapper, className)}\n\t\t\tstyle={{ width: visibleColumnsWidth, minWidth: visibleColumnsWidth }}\n\t\t>\n\t\t\t{isLeftBoundaryDisplayed && (\n\t\t\t\t<div className={styles.leftBoundaryMargin} style={{ width: leftBoundaryMarginWidth }}></div>\n\t\t\t)}\n\t\t\t{layoutVariant === 'grid' ? (\n\t\t\t\t<div\n\t\t\t\t\tref={scrollableContainerRef}\n\t\t\t\t\tclassName={classNames(styles.items, itemsClassName, styles.gridLayout)}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tgridAutoColumns: `${columnWidth}px`,\n\t\t\t\t\t\tcolumnGap: `${columnGap}px`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{items.map(item => (\n\t\t\t\t\t\t<React.Fragment key={item.id}>{item.component}</React.Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tref={scrollableContainerRef}\n\t\t\t\t\tclassName={classNames(styles.items, itemsClassName, styles.columnsLayout)}\n\t\t\t\t\tstyle={{ gap: columnGap }}\n\t\t\t\t>\n\t\t\t\t\t{items.map(item => (\n\t\t\t\t\t\t<ColumnWrapper key={item.id} className={wrapperClassName}>\n\t\t\t\t\t\t\t{item.component}\n\t\t\t\t\t\t</ColumnWrapper>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{isRightBoundaryDisplayed && (\n\t\t\t\t<div className={styles.rightBoundaryMargin} style={{ width: rightBoundaryMarginWidth }}></div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default ScrollableWrapper;\n","const sliderArrowOptions = {\n\tbuttonHeight: {\n\t\ttall: 'tall',\n\t\tshort: 'short',\n\t},\n\tdisplayTheme: {\n\t\tlight: 'light',\n\t\tdark: 'dark',\n\t},\n};\n\nexport default sliderArrowOptions;\n","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 SvgSingleArrowcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  xmlns: \"http://www.w3.org/2000/svg\",\n  width: 17,\n  height: 20,\n  viewBox: \"0 0 17 20\",\n  fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M10.605 15.5 6.395 10l4.21-5.5\",\n  stroke: \"#A8A8A8\",\n  strokeWidth: 1.5\n})));\nexport default SvgSingleArrowcomponent;","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 SvgSingleArrowLargecomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 10,\n  height: 26,\n  viewBox: \"0 0 10 26\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M9 25 1 13 9 1\",\n  stroke: \"#00042F\"\n})));\nexport default SvgSingleArrowLargecomponent;","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 SvgSingleArrowLargeAltcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 10,\n  height: 26,\n  viewBox: \"0 0 10 26\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M9 25 1 13 9 1\",\n  stroke: \"#FFF\"\n})));\nexport default SvgSingleArrowLargeAltcomponent;","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"slider-wrapper--container--ytj3o\",\"slider\":\"slider-wrapper--slider--nZBEL\",\"buttonContainer\":\"slider-wrapper--buttonContainer--82Ru7\",\"leftButtonContainer\":\"slider-wrapper--leftButtonContainer--LKKt5 slider-wrapper--buttonContainer--82Ru7\",\"rightButtonContainer\":\"slider-wrapper--rightButtonContainer--ph0tx slider-wrapper--buttonContainer--82Ru7\",\"arrow\":\"slider-wrapper--arrow--HwhUh\",\"shortArrow\":\"slider-wrapper--shortArrow--fIKFI slider-wrapper--arrow--HwhUh\",\"tallArrow\":\"slider-wrapper--tallArrow--J+ISx slider-wrapper--arrow--HwhUh\",\"lightArrow\":\"slider-wrapper--lightArrow--vMYDy slider-wrapper--arrow--HwhUh\",\"darkArrow\":\"slider-wrapper--darkArrow--LCXfI slider-wrapper--arrow--HwhUh\",\"scrollbar\":\"slider-wrapper--scrollbar--MmQd-\",\"scrollbarArrow\":\"slider-wrapper--scrollbarArrow--9uBrt\",\"leftScrollbarArrow\":\"slider-wrapper--leftScrollbarArrow--9BPng slider-wrapper--scrollbarArrow--9uBrt\",\"rightScrollbarArrow\":\"slider-wrapper--rightScrollbarArrow--0S1VI slider-wrapper--scrollbarArrow--9uBrt\",\"scrollbarArrowsContainer\":\"slider-wrapper--scrollbarArrowsContainer--JecqT\"};","import React, { useContext, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport scrollControlTypes from '../scroll-control-types';\nimport Scrollbar from '../scrollbar';\nimport useWheelScrollHandler from '../use-wheel-scroll-handler';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider-provider';\nimport { SingleArrow, SingleArrowLarge, SingleArrowLargeAlt } from './svgs';\nimport ScrollableWrapper from './scrollable-wrapper';\nimport SwipeableWrapper from './swipeable-wrapper';\nimport sliderArrowOptions from './slider-arrow-options';\n\nimport styles from './slider-wrapper.less';\n\nconst SliderWrapper = ({ itemsClassName, arrowOptions, items }) => {\n\tconst {\n\t\ttotalNumberOfColumns,\n\t\tnumberOfVisibleColumns,\n\t\tfirstVisibleColumnIndex,\n\t\tisLeftBoundaryReached,\n\t\tisRightBoundaryReached,\n\t\tsliderProps,\n\t\tonFirstVisibleColumnChange,\n\t\tisScrollActive,\n\t\tisMobile,\n\t} = useContext(ScrollableTableWithSliderContext);\n\n\tconst { isLeftArrowDisplayed, isRightArrowDisplayed, scrollControlType } = sliderProps ?? {};\n\n\tconst handleLeftArrowClick = () => {\n\t\tonFirstVisibleColumnChange?.(firstVisibleColumnIndex - 1);\n\t};\n\n\tconst handleRightArrowClick = () => {\n\t\tonFirstVisibleColumnChange?.(firstVisibleColumnIndex + 1);\n\t};\n\n\tconst containerRef = useRef(null);\n\tconst handleWheelScroll = useWheelScrollHandler(handleLeftArrowClick, handleRightArrowClick);\n\n\tuseEffect(() => {\n\t\tconst container = containerRef.current;\n\t\tif (!container) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.addEventListener('wheel', handleWheelScroll, { passive: false });\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener('wheel', handleWheelScroll);\n\t\t};\n\t}, [handleWheelScroll]);\n\n\tconst { buttonHeight = sliderArrowOptions.buttonHeight.tall, displayTheme = sliderArrowOptions.displayTheme.light } =\n\t\tarrowOptions ?? {};\n\n\tconst wrappedSliderItems = (\n\t\t<>\n\t\t\t{scrollControlType === scrollControlTypes.buttons && isScrollActive && isLeftArrowDisplayed && (\n\t\t\t\t<SliderArrow\n\t\t\t\t\tlocation=\"left\"\n\t\t\t\t\tbuttonHeight={buttonHeight}\n\t\t\t\t\tdisplayTheme={displayTheme}\n\t\t\t\t\tonClick={handleLeftArrowClick}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<ScrollableWrapper itemsClassName={itemsClassName} items={items} />\n\t\t\t{scrollControlType === scrollControlTypes.buttons && isScrollActive && isRightArrowDisplayed && (\n\t\t\t\t<SliderArrow\n\t\t\t\t\tlocation=\"right\"\n\t\t\t\t\tbuttonHeight={buttonHeight}\n\t\t\t\t\tdisplayTheme={displayTheme}\n\t\t\t\t\tonClick={handleRightArrowClick}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n\n\tconst scrollbar = scrollControlType === scrollControlTypes.scrollbar && !isMobile && isScrollActive && (\n\t\t<div className={styles.scrollbar}>\n\t\t\t<Scrollbar\n\t\t\t\ttotalNumberOfColumns={totalNumberOfColumns}\n\t\t\t\tnumberOfVisibleColumns={numberOfVisibleColumns}\n\t\t\t\tfirstVisibleColumnIndex={firstVisibleColumnIndex}\n\t\t\t\tonFirstVisibleColumnIndexUpdate={onFirstVisibleColumnChange}\n\t\t\t\tshowArrows={true}\n\t\t\t/>\n\t\t\t<div className={styles.scrollbarArrowsContainer}>\n\t\t\t\t<ScrollbarArrow variant=\"left\" isDisabled={isLeftBoundaryReached} onClick={handleLeftArrowClick} />\n\t\t\t\t<ScrollbarArrow variant=\"right\" isDisabled={isRightBoundaryReached} onClick={handleRightArrowClick} />\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<div className={styles.container} ref={containerRef}>\n\t\t\t<SwipeableWrapper>\n\t\t\t\t<div className={styles.slider}>{wrappedSliderItems}</div>\n\t\t\t</SwipeableWrapper>\n\t\t\t{scrollbar}\n\t\t</div>\n\t);\n};\n\nconst SliderArrow = ({ location, buttonHeight, displayTheme, onClick }) => (\n\t<div className={styles[`${location}ButtonContainer`]}>\n\t\t<button className={classNames(styles[`${buttonHeight}Arrow`], styles[`${displayTheme}Arrow`])} onClick={onClick}>\n\t\t\t{displayTheme === 'dark' ? <SingleArrowLargeAlt /> : <SingleArrowLarge />}\n\t\t</button>\n\t</div>\n);\n\nconst ScrollbarArrow = ({ variant, isDisabled, onClick }) => (\n\t<button className={styles[`${variant}ScrollbarArrow`]} disabled={isDisabled} onClick={onClick}>\n\t\t<SingleArrow />\n\t</button>\n);\n\nexport default SliderWrapper;\n","import { useCallback, useContext, useState } from 'react';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider/scrollable-table-with-slider-provider';\n\n// Shift+scroll horizontally navigates the carousel without hijacking normal vertical page scrolling.\n// Touch/swipe scrolling on tablets is unaffected (handled separately via SwipeableWrapper).\nexport default function useWheelScrollHandler(scrollLeft, scrollRight) {\n\tconst { isLeftBoundaryReached, isRightBoundaryReached, isScrollActive } = useContext(\n\t\tScrollableTableWithSliderContext\n\t);\n\n\tconst [lastExecutionTime, setLastExecutionTime] = useState(0);\n\n\tconst handleWheelScroll = useCallback(\n\t\tevent => {\n\t\t\tif (!isScrollActive || !event.shiftKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Browsers may report shift+scroll as deltaX (horizontal) or deltaY (vertical) depending on OS/browser.\n\t\t\tconst delta = event.deltaX || event.deltaY;\n\t\t\tif (!delta) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst now = Date.now();\n\t\t\tif (now - lastExecutionTime < 500) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLastExecutionTime(now);\n\n\t\t\tif (delta < 0 && !isLeftBoundaryReached) {\n\t\t\t\tscrollLeft();\n\t\t\t} else if (delta > 0 && !isRightBoundaryReached) {\n\t\t\t\tscrollRight();\n\t\t\t}\n\t\t},\n\t\t[isLeftBoundaryReached, isRightBoundaryReached, lastExecutionTime, scrollLeft, scrollRight, isScrollActive]\n\t);\n\n\treturn handleWheelScroll;\n}\n","import React, { useContext } from 'react';\nimport useSwipeHandler from '../use-swipe-handler';\nimport { ScrollableTableWithSliderContext } from './scrollable-table-with-slider-provider';\n\nconst SwipeableWrapper = ({ children }) => {\n\tconst {\n\t\tfirstVisibleColumnIndex,\n\t\tisLeftBoundaryReached,\n\t\tisRightBoundaryReached,\n\t\tonFirstVisibleColumnChange,\n\t\tswipeRadius,\n\t\tisScrollActive,\n\t} = useContext(ScrollableTableWithSliderContext);\n\n\tconst handleTouchStart = useSwipeHandler(\n\t\tswipeDirection => {\n\t\t\tif (!isRightBoundaryReached && swipeDirection === 'left') {\n\t\t\t\tonFirstVisibleColumnChange?.(firstVisibleColumnIndex + 1);\n\t\t\t}\n\n\t\t\tif (!isLeftBoundaryReached && swipeDirection === 'right') {\n\t\t\t\tonFirstVisibleColumnChange?.(firstVisibleColumnIndex - 1);\n\t\t\t}\n\t\t},\n\t\t!isScrollActive,\n\t\tswipeRadius\n\t);\n\n\treturn (\n\t\t<div onTouchStart={handleTouchStart} style={{ display: 'contents' }}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport default SwipeableWrapper;\n","import { useCallback } from 'react';\nimport useTouchHandler from './use-touch-handler';\n\n// distance (in pixels) to swipe left or right to activate a swipe\nconst defaultSwipeRadiusX = 50;\n// distance (in pixels) to swipe vertically to no longer consider this a swipe left or right\nconst defaultSwipeRadiusY = 30;\n\nfunction useSwipeHandler(\n\tonSwipe,\n\tisDisabled,\n\t{ swipeRadiusX = defaultSwipeRadiusX, swipeRadiusY = defaultSwipeRadiusY } = {}\n) {\n\tconst handleSwipe = useCallback(\n\t\t(startX, currentX, startY, currentY) => {\n\t\t\tconst handleSwipeX = () => {\n\t\t\t\tconst deltaX = currentX - startX;\n\t\t\t\tif (Math.abs(deltaX) > swipeRadiusX) {\n\t\t\t\t\tif (deltaX < 0) {\n\t\t\t\t\t\tonSwipe('left');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tonSwipe('right');\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\tconst handleSwipeY = () => {\n\t\t\t\tconst deltaY = currentY - startY;\n\t\t\t\treturn Math.abs(deltaY) > swipeRadiusY;\n\t\t\t};\n\n\t\t\treturn handleSwipeX() || handleSwipeY();\n\t\t},\n\t\t[onSwipe, swipeRadiusX, swipeRadiusY]\n\t);\n\n\treturn useTouchHandler(handleSwipe, isDisabled);\n}\n\nexport default useSwipeHandler;\n","// extracted by mini-css-extract-plugin\nexport default {\"ProgressIndicatorV2Container\":\"index--ProgressIndicatorV2Container--Mmkj1\",\"progressIndicatorV2Container\":\"index--ProgressIndicatorV2Container--Mmkj1\",\"ProgressIndicatorV2\":\"index--ProgressIndicatorV2--J+4lZ\",\"progressIndicatorV2\":\"index--ProgressIndicatorV2--J+4lZ\",\"ProgressIndicatorV2List\":\"index--ProgressIndicatorV2List--9wWcl\",\"progressIndicatorV2List\":\"index--ProgressIndicatorV2List--9wWcl\",\"ListItem\":\"index--ListItem--Rh0Ka\",\"listItem\":\"index--ListItem--Rh0Ka\",\"ListItemActive\":\"index--ListItemActive--6WywP\",\"listItemActive\":\"index--ListItemActive--6WywP\",\"ListItemLabel\":\"index--ListItemLabel--NGf7Z\",\"listItemLabel\":\"index--ListItemLabel--NGf7Z\",\"ListItemClickable\":\"index--ListItemClickable--zB1gZ\",\"listItemClickable\":\"index--ListItemClickable--zB1gZ\",\"ListItemDivider\":\"index--ListItemDivider--G0l3n\",\"listItemDivider\":\"index--ListItemDivider--G0l3n\",\"EllipsizedText\":\"index--EllipsizedText--6jlD9\",\"ellipsizedText\":\"index--EllipsizedText--6jlD9\",\"IconContainer\":\"index--IconContainer--CNYLx\",\"iconContainer\":\"index--IconContainer--CNYLx\",\"Icon\":\"index--Icon--PT5U4\",\"icon\":\"index--Icon--PT5U4\"};","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\nimport sharedStyles from '../shared.less';\nimport { SubscriptionIcon, LibraryIcon } from '../svgs';\nimport styles from './index.less';\n\nconst IconMap = {\n\tsubscription: SubscriptionIcon,\n\tlibrary: LibraryIcon,\n};\n\nconst ProgressIndicatorItem = ({ number, label, labelFields, icon, url, isActive }) => {\n\tconst IconComponent = IconMap[icon] || null;\n\n\tconst content = (\n\t\t<>\n\t\t\t<h5 className={classNames(sharedStyles.h5, styles.ListItemLabel)}>{number}</h5>\n\t\t\t<div className={styles.IconContainer}>{IconComponent && <IconComponent className={styles.Icon} />}</div>\n\t\t\t<CommandSentence\n\t\t\t\tContainer=\"h5\"\n\t\t\t\tclassName={classNames(sharedStyles.h5, styles.ListItemLabel, styles.EllipsizedText)}\n\t\t\t\ttemplate={label}\n\t\t\t>\n\t\t\t\t{labelFields &&\n\t\t\t\t\tlabelFields.map((field, index) => (\n\t\t\t\t\t\t<CommandSentence.Field key={field.title + index} name={field.title}>\n\t\t\t\t\t\t\t{field.value}\n\t\t\t\t\t\t</CommandSentence.Field>\n\t\t\t\t\t))}\n\t\t\t</CommandSentence>\n\t\t</>\n\t);\n\n\tif (isActive) {\n\t\treturn (\n\t\t\t<div aria-current=\"page\" className={classNames(styles.ListItem, styles.ListItemActive)}>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (url) {\n\t\treturn (\n\t\t\t<a href={url} className={classNames(styles.ListItem, styles.ListItemClickable)}>\n\t\t\t\t{content}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn <div className={styles.ListItem}>{content}</div>;\n};\n\nProgressIndicatorItem.propTypes = {\n\tnumber: PropTypes.number.isRequired,\n\tlabel: PropTypes.string.isRequired,\n\tlabelFields: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\ttitle: PropTypes.string.isRequired,\n\t\t\tvalue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n\t\t})\n\t),\n\ticon: PropTypes.string.isRequired,\n\turl: PropTypes.string,\n\tisActive: PropTypes.bool,\n};\n\nexport { ProgressIndicatorItem };\n","import { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useConfigurationWizardCartContext } from '../../shared/configuration-wizard-cart';\n\nconst ENTRY_STEP_STORAGE_KEY = 'configWizardEntryStep';\nconst VALID_STEPS = ['subscriptions', 'libraries'];\n\nconst getEntryStep = currentStep => {\n\tif (typeof window === 'undefined') {\n\t\treturn currentStep;\n\t}\n\n\tconst stored = window.sessionStorage.getItem(ENTRY_STEP_STORAGE_KEY);\n\tconst isValidStep = VALID_STEPS.includes(stored);\n\n\tif (!isValidStep) {\n\t\tif (!VALID_STEPS.includes(currentStep)) {\n\t\t\tconsole.warn(`Invalid step provided to getEntryStep: ${currentStep}. Defaulting to 'subscriptions'.`);\n\t\t\treturn 'subscriptions';\n\t\t}\n\t\twindow.sessionStorage.setItem(ENTRY_STEP_STORAGE_KEY, currentStep);\n\t\treturn currentStep;\n\t}\n\n\treturn stored;\n};\n\nconst getLibrariesDisplayFields = librariesInCart => {\n\tconst remaining = librariesInCart.length - 1;\n\treturn [\n\t\t{\n\t\t\ttitle: 'FIRSTLIBRARYTITLE',\n\t\t\tvalue: librariesInCart[0].description,\n\t\t},\n\t\t{\n\t\t\ttitle: 'N',\n\t\t\tvalue: remaining,\n\t\t},\n\t];\n};\n\nconst useProgressIndicatorHandler = ({ routes, resources, step }) => {\n\tconst { value: cart } = useConfigurationWizardCartContext();\n\n\tconst [entryStep] = useState(() => getEntryStep(step));\n\tconst entryIsSubscription = entryStep === 'subscriptions';\n\n\tconst subscriptionDisplayText =\n\t\tcart?.subscriptionsInCart?.length > 0 && cart?.subscriptionsInCart[0].description\n\t\t\t? cart?.subscriptionsInCart[0].description\n\t\t\t: resources.subscriptionsLabel;\n\n\tconst libraryDisplayText =\n\t\tcart?.librariesInCart?.length > 0\n\t\t\t? cart?.librariesInCart?.length > 1\n\t\t\t\t? resources.libraryTitleAndNMoreTemplate\n\t\t\t\t: cart?.librariesInCart[0].description\n\t\t\t: resources.librariesLabel;\n\tconst libraryDisplayFields =\n\t\tcart?.librariesInCart?.length > 1 ? getLibrariesDisplayFields(cart.librariesInCart) : undefined;\n\n\tconst sections = useMemo(() => {\n\t\tconst subscriptionSection = {\n\t\t\tnumber: entryIsSubscription ? 1 : 2,\n\t\t\ticon: 'subscription',\n\t\t\tlabel: subscriptionDisplayText,\n\t\t\tlabelFields: undefined,\n\t\t\tisActive: step === 'subscriptions',\n\t\t\turl: step === 'subscriptions' ? undefined : routes.subscriptionsUrl,\n\t\t};\n\n\t\tconst librarySection = {\n\t\t\tnumber: entryIsSubscription ? 2 : 1,\n\t\t\ticon: 'library',\n\t\t\tlabel: libraryDisplayText,\n\t\t\tlabelFields: libraryDisplayFields,\n\t\t\tisActive: step === 'libraries',\n\t\t\turl: step === 'libraries' ? undefined : routes.librariesUrl,\n\t\t};\n\n\t\treturn entryIsSubscription ? [subscriptionSection, librarySection] : [librarySection, subscriptionSection];\n\t}, [entryIsSubscription, step, subscriptionDisplayText, libraryDisplayText, libraryDisplayFields, routes]);\n\n\treturn { sections };\n};\n\nuseProgressIndicatorHandler.propTypes = {\n\tstep: PropTypes.oneOf(['subscriptions', 'libraries']).isRequired,\n\troutes: PropTypes.shape({\n\t\tsubscriptionsUrl: PropTypes.string.isRequired,\n\t\tlibrariesUrl: PropTypes.string.isRequired,\n\t}).isRequired,\n\tresources: PropTypes.shape({\n\t\tsubscriptionsLabel: PropTypes.string.isRequired,\n\t\tlibrariesLabel: PropTypes.string.isRequired,\n\t\tlibraryTitleAndNMoreTemplate: PropTypes.string.isRequired,\n\t}).isRequired,\n};\n\nexport { useProgressIndicatorHandler };\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ProgressIndicatorItem } from './progress-indicator-item';\nimport { useProgressIndicatorHandler } from './use-progress-indicator-handler';\n\nimport styles from './index.less';\n\nconst ProgressIndicatorV2 = ({ routes, resources, step }) => {\n\tconst [isClient, setIsClient] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetIsClient(true);\n\t}, []);\n\n\tconst { sections } = useProgressIndicatorHandler({ routes, resources, step });\n\n\tif (!isClient) {\n\t\treturn (\n\t\t\t<div className={styles.ProgressIndicatorV2Container}>\n\t\t\t\t<nav className={styles.ProgressIndicatorV2} style={{ visibility: 'hidden' }} aria-hidden=\"true\">\n\t\t\t\t\t<ol className={styles.ProgressIndicatorV2List}>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<div className={styles.ListItem}>&nbsp;</div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<hr className={styles.ListItemDivider} />\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<div className={styles.ListItem}>&nbsp;</div>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ol>\n\t\t\t\t</nav>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={styles.ProgressIndicatorV2Container}>\n\t\t\t<nav className={styles.ProgressIndicatorV2}>\n\t\t\t\t<ol className={styles.ProgressIndicatorV2List}>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<ProgressIndicatorItem {...sections[0]} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<hr className={styles.ListItemDivider} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<ProgressIndicatorItem {...sections[1]} />\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t</div>\n\t);\n};\n\nProgressIndicatorV2.propTypes = {\n\tstep: PropTypes.oneOf(['subscriptions', 'libraries']).isRequired,\n\troutes: PropTypes.shape({\n\t\tsubscriptionsUrl: PropTypes.string,\n\t\tlibrariesUrl: PropTypes.string,\n\t}).isRequired,\n\tresources: PropTypes.shape({\n\t\tsubscriptionsLabel: PropTypes.string,\n\t\tlibrariesLabel: PropTypes.string,\n\t\tlibraryTitleAndNMoreTemplate: PropTypes.string,\n\t}).isRequired,\n};\n\nexport default ProgressIndicatorV2;\n","import React from 'react';\n\n// HACK, avoids react/prop-type console warnings when passing React.Fragment directly for the CommandSentence Container prop\nfunction ContainerFragment({ children }) {\n\treturn <>{children}</>;\n}\n\nexport default ContainerFragment;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\n\nimport ContainerFragment from '../../../util/container-fragment';\nimport { useLocalization } from '../../../localization';\nimport ForeignPriceTooltip from '../../product/foreign-price-tooltip';\nimport styles from './cart-item.less';\n\nfunction CartItem({ variant, shouldShowPrice, price, description, term, quantity = 1, editLinkProps }) {\n\treturn (\n\t\t<div className={classNames(styles.cartItem, variant === 'library' && styles.libraryCartItem)}>\n\t\t\t<div className={styles.description}>{description}</div>\n\t\t\t<div className={styles.priceAndEdit}>\n\t\t\t\t{shouldShowPrice && price && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className={styles.price}>\n\t\t\t\t\t\t\t<DisplayPrice term={term} quantity={quantity}>\n\t\t\t\t\t\t\t\t{price.value}\n\t\t\t\t\t\t\t</DisplayPrice>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{price.isForeignCurrency && (\n\t\t\t\t\t\t\t<ForeignPriceTooltip\n\t\t\t\t\t\t\t\tclassName={styles.priceLocalized}\n\t\t\t\t\t\t\t\tlink={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{'('}\n\t\t\t\t\t\t\t\t\t\t<DisplayPrice term={term} quantity={quantity}>\n\t\t\t\t\t\t\t\t\t\t\t{price.valueLocalized}\n\t\t\t\t\t\t\t\t\t\t</DisplayPrice>\n\t\t\t\t\t\t\t\t\t\t{')'}\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{editLinkProps && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<a className={styles.editLink} href={editLinkProps.href}>\n\t\t\t\t\t\t\t{editLinkProps.children}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\nCartItem.propTypes = {\n\tvariant: PropTypes.oneOf(['subscription', 'library']).isRequired,\n\tshouldShowPrice: PropTypes.bool,\n\tprice: PropTypes.shape({\n\t\tisForeignCurrency: PropTypes.bool.isRequired,\n\t\tvalue: PropTypes.string.isRequired,\n\t\tvalueLocalized: PropTypes.string.isRequired,\n\t}),\n\tdescription: PropTypes.node,\n\tterm: PropTypes.oneOf(['month', 'year']),\n\tquantity: PropTypes.number,\n\teditLinkProps: PropTypes.shape({\n\t\thref: PropTypes.string.isRequired,\n\t\tchildren: PropTypes.node.isRequired,\n\t}),\n};\n\nfunction DisplayPrice({ children, quantity, term }) {\n\tconst resources = useLocalization('CommerceWeb.Resources.Configure.SubscriptionPlans');\n\tlet format, detailFormat;\n\tif (term === 'month') {\n\t\tformat = resources.MonthlyPriceFormat;\n\t} else if (term === 'year') {\n\t\tif (quantity === 2) {\n\t\t\tformat = resources.MultiAnnualTermPriceFormat;\n\t\t\tdetailFormat = resources.MultiAnnualTermPriceDetailFormat;\n\t\t} else {\n\t\t\tformat = resources.AnnualPriceFormat;\n\t\t}\n\t}\n\treturn (\n\t\t<>\n\t\t\t{format ? (\n\t\t\t\t<Fragment key={format}>\n\t\t\t\t\t<CommandSentence Container={ContainerFragment} template={format}>\n\t\t\t\t\t\t<CommandSentence.Field name=\"PRICE\">{children}</CommandSentence.Field>\n\t\t\t\t\t</CommandSentence>\n\t\t\t\t</Fragment>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t)}\n\t\t\t{detailFormat && <span>{` ${detailFormat}`}</span>}\n\t\t</>\n\t);\n}\nDisplayPrice.propTypes = {\n\tterm: PropTypes.oneOf(['month', 'year']),\n\tquantity: PropTypes.number,\n\tchildren: PropTypes.node,\n};\n\nexport default CartItem;\n","// extracted by mini-css-extract-plugin\nexport default {\"cartItem\":\"cart-item--cartItem--gQHUX\",\"libraryCartItem\":\"cart-item--libraryCartItem--HYPxk\",\"description\":\"cart-item--description--pySo4\",\"priceAndEdit\":\"cart-item--priceAndEdit--qSkHs\",\"price\":\"cart-item--price--j9ZBI\",\"priceLocalized\":\"cart-item--priceLocalized--MF-j- cart-item--price--j9ZBI\",\"editLink\":\"cart-item--editLink--ZTbVS\"};","// extracted by mini-css-extract-plugin\nexport default {\"trough\":\"index--trough--F-tzk\",\"loadingIndicator\":\"index--loadingIndicator--HYzkd\",\"controls\":\"index--controls--uNX6x\",\"backLink\":\"index--backLink--nRrsh\",\"summaryExpanderToggle\":\"index--summaryExpanderToggle--pKVSD\",\"expanded\":\"index--expanded--KxKWE\",\"summary\":\"index--summary--VsPtB\",\"expandedBackLink\":\"index--expandedBackLink--fpQdp\",\"cartItems\":\"index--cartItems--sbgHs\",\"collapsed\":\"index--collapsed--CNBLf\",\"subtotalAndCheckout\":\"index--subtotalAndCheckout--vhAWX\",\"subtotalInfo\":\"index--subtotalInfo--eG7KO\",\"subtotalTitle\":\"index--subtotalTitle--2TcOM\",\"subtotalPrice\":\"index--subtotalPrice--eI+Ob\",\"subtotalPriceLocalized\":\"index--subtotalPriceLocalized--AYaIk index--subtotalPrice--eI+Ob\",\"nextButton\":\"index--nextButton--NcSno btn btn-primary\",\"checkoutButton\":\"index--checkoutButton--9MIzw btn btn-primary\"};","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { LoadingSpinner } from '@faithlife/styled-ui';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\n\nimport useScreensize from '../../../util/hooks/use-screensize';\nimport { useConfigurationWizardCartContext } from '../../shared/configuration-wizard-cart';\nimport ForeignPriceTooltip from '../../product/foreign-price-tooltip';\n\nimport { Chevron, LeftArrow } from '../svgs';\nimport { useDidomiNoticeHeight } from '../../../util/hooks/use-didomi-notice-height';\nimport { useLocalization } from '../../../localization';\nimport CartItem from './cart-item';\n\nimport styles from './index.less';\n\nfunction SummaryTrough({ step, routes }) {\n\tconst { loaded, loading, value: cart } = useConfigurationWizardCartContext();\n\n\treturn (\n\t\t<>\n\t\t\t{loaded && cart.hasConfigurationWizardItems && (\n\t\t\t\t<SummaryTroughCore step={step} loading={loading} cart={cart} routes={routes} />\n\t\t\t)}\n\t\t</>\n\t);\n}\nSummaryTrough.propTypes = {\n\tstep: PropTypes.oneOf(['libraries', 'subscriptions']),\n\troutes: PropTypes.object.isRequired,\n};\n\nfunction SummaryTroughCore({ step, loading, cart, routes }) {\n\tconst resources = useLocalization('CommerceWeb.Resources.Configure.SummaryTrough');\n\tconst { isSimplePricing, subtotal, subscriptionsInCart, hasEffectiveSubscription, librariesInCart, librarySubtotal } =\n\t\tcart;\n\n\tconst countLibraries = librariesInCart.length;\n\tconst hasMultipleLibraries = countLibraries > 1;\n\tconst libraryInCart = countLibraries === 1 ? librariesInCart[0] : null;\n\n\tconst hasSubscriptionInCart = subscriptionsInCart.length > 0;\n\tconst hasLibraryInCart = countLibraries > 0;\n\n\tconst isLibraryStep = step === 'libraries';\n\tconst isSubscriptionStep = step === 'subscriptions';\n\n\tconst { isMobile } = useScreensize();\n\tconst [isMobileExpanded, setIsMobileExpanded] = useState(false);\n\tconst didomiNoticeHeight = useDidomiNoticeHeight();\n\n\tuseEffect(() => {\n\t\tif (isMobileExpanded && !isMobile) {\n\t\t\tsetIsMobileExpanded(false);\n\t\t}\n\t}, [isMobile, isMobileExpanded]);\n\n\tconst proceedButton = (() => {\n\t\tif (hasLibraryInCart && hasEffectiveSubscription) {\n\t\t\treturn <CheckoutButton routes={routes} />;\n\t\t}\n\n\t\tif (isSubscriptionStep) {\n\t\t\treturn hasEffectiveSubscription ? (\n\t\t\t\t<a className={styles.nextButton} href={routes.ConfigurationWizardLibrariesUrl}>\n\t\t\t\t\t{resources.Next}\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<CheckoutButton routes={routes} />\n\t\t\t);\n\t\t}\n\n\t\t// libraries\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!hasEffectiveSubscription && (\n\t\t\t\t\t<a className={styles.nextButton} href={routes.ConfigurationWizardSubscriptionsUrl}>\n\t\t\t\t\t\t{resources.ChoosePlan}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t\t<CheckoutButton routes={routes} />\n\t\t\t</>\n\t\t);\n\t})();\n\n\tconst shouldShowGoBack = (isSubscriptionStep && hasLibraryInCart) || (isLibraryStep && hasSubscriptionInCart);\n\n\tconst goBackButton = shouldShowGoBack ? (\n\t\t<a\n\t\t\tclassName={classNames(styles.backLink, isMobileExpanded && styles.expandedBackLink)}\n\t\t\thref={isLibraryStep ? routes.ConfigurationWizardSubscriptionsUrl : routes.ConfigurationWizardLibrariesUrl}\n\t\t>\n\t\t\t<LeftArrow />\n\t\t\t<span>{resources.GoBack}</span>\n\t\t</a>\n\t) : null;\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"summary-trough-core\"\n\t\t\tclassName={classNames(styles.trough)}\n\t\t\tstyle={didomiNoticeHeight ? { marginBottom: didomiNoticeHeight } : undefined}\n\t\t>\n\t\t\t{loading && (\n\t\t\t\t<div className={styles.loadingIndicator}>\n\t\t\t\t\t<LoadingSpinner small />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className={styles.controls}>\n\t\t\t\t<div>{goBackButton}</div>\n\t\t\t\t<button\n\t\t\t\t\tclassName={styles.summaryExpanderToggle}\n\t\t\t\t\taria-controls=\"configuration-summary\"\n\t\t\t\t\taria-expanded={isMobileExpanded}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetIsMobileExpanded(value => !value);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{resources.ConfigurationSummary}\n\t\t\t\t\t<Chevron className={classNames(isMobileExpanded && styles.expanded)} />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div id=\"configuration-summary\" className={classNames(styles.summary, !isMobileExpanded && styles.collapsed)}>\n\t\t\t\t<div className={styles.cartItems}>\n\t\t\t\t\t{subscriptionsInCart.map((subscription, index) => {\n\t\t\t\t\t\tconst editLinkProps = isLibraryStep\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\thref: routes.ConfigurationWizardSubscriptionsUrl,\n\t\t\t\t\t\t\t\t\tchildren: resources.Edit,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<CartItem\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tshouldShowPrice={isSimplePricing}\n\t\t\t\t\t\t\t\tvariant=\"subscription\"\n\t\t\t\t\t\t\t\t{...subscription}\n\t\t\t\t\t\t\t\teditLinkProps={editLinkProps}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\t{hasMultipleLibraries ? (\n\t\t\t\t\t\t<CartItem\n\t\t\t\t\t\t\tvariant=\"library\"\n\t\t\t\t\t\t\tshouldShowPrice={isSimplePricing}\n\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t<CommandSentence template={resources.NumberOfLibraries}>\n\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"COUNT\">{countLibraries}</CommandSentence.Field>\n\t\t\t\t\t\t\t\t</CommandSentence>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprice={librarySubtotal}\n\t\t\t\t\t\t\teditLinkProps={{\n\t\t\t\t\t\t\t\thref: routes.CartUrl,\n\t\t\t\t\t\t\t\tchildren: resources.EditInCart,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : libraryInCart ? (\n\t\t\t\t\t\t<CartItem\n\t\t\t\t\t\t\tvariant=\"library\"\n\t\t\t\t\t\t\tshouldShowPrice={isSimplePricing}\n\t\t\t\t\t\t\t{...libraryInCart}\n\t\t\t\t\t\t\teditLinkProps={{\n\t\t\t\t\t\t\t\thref: routes.CartUrl,\n\t\t\t\t\t\t\t\tchildren: resources.EditInCart,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className={styles.subtotalAndCheckout}>\n\t\t\t\t\t{isSimplePricing && (\n\t\t\t\t\t\t<div className={styles.subtotalInfo}>\n\t\t\t\t\t\t\t<div className={styles.subtotalTitle}>\n\t\t\t\t\t\t\t\t{resources.Subtotal}\n\t\t\t\t\t\t\t\t{':'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className={styles.subtotalPrice}>{subtotal.value}</div>\n\t\t\t\t\t\t\t\t{subtotal.isForeignCurrency && (\n\t\t\t\t\t\t\t\t\t<ForeignPriceTooltip\n\t\t\t\t\t\t\t\t\t\tclassName={styles.subtotalPriceLocalized}\n\t\t\t\t\t\t\t\t\t\tlink={`(${subtotal.valueLocalized})`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{proceedButton}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\nconst pricePropTypes = PropTypes.shape({\n\tisForeignCurrency: PropTypes.bool.isRequired,\n\tvalue: PropTypes.string.isRequired,\n\tvalueLocalized: PropTypes.string.isRequired,\n});\nSummaryTroughCore.propTypes = {\n\tstep: PropTypes.oneOf(['libraries', 'subscriptions']),\n\tloading: PropTypes.bool,\n\tcart: PropTypes.shape({\n\t\tlibrariesInCart: PropTypes.arrayOf(PropTypes.object.isRequired).isRequired,\n\t\tsubscriptionsInCart: PropTypes.arrayOf(PropTypes.object.isRequired).isRequired,\n\t\thasEffectiveSubscription: PropTypes.bool.isRequired,\n\t\tisSimplePricing: PropTypes.bool.isRequired,\n\t\tsubtotalLocalized: pricePropTypes,\n\t\tlibrarySubtotalLocalized: pricePropTypes,\n\t}).isRequired,\n\troutes: PropTypes.shape({\n\t\tConfigurationWizardSubscriptionsUrl: PropTypes.string.isRequired,\n\t\tConfigurationWizardLibrariesUrl: PropTypes.string.isRequired,\n\t\tCartUrl: PropTypes.string.isRequired,\n\t}).isRequired,\n};\n\nfunction CheckoutButton({ routes }) {\n\tconst resources = useLocalization('CommerceWeb.Resources.Configure.SummaryTrough');\n\treturn (\n\t\t<a className={styles.checkoutButton} href={routes.CartUrl}>\n\t\t\t{resources.Checkout}\n\t\t</a>\n\t);\n}\n\nexport default SummaryTrough;\n","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 SvgBlueCheckmarkcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 28,\n  height: 20,\n  viewBox: \"0 0 28 20\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m2 7.5 9 9 15-15\",\n  stroke: \"var(--brand-blue)\",\n  strokeWidth: 4\n})));\nexport default SvgBlueCheckmarkcomponent;","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 SvgCheckmarkcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 20,\n  height: 13,\n  viewBox: \"0 0 20 13\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m1 4.65 6.9 6.9L19 .45\",\n  stroke: \"currentColor\"\n})));\nexport default SvgCheckmarkcomponent;","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 SvgChevroncomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 14,\n  height: 9,\n  viewBox: \"0 0 14 9\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m1 8 6-6 6 6\",\n  stroke: \"currentColor\",\n  strokeWidth: 2\n})));\nexport default SvgChevroncomponent;","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 SvgDownChevron24Pxcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 26,\n  height: 11,\n  viewBox: \"0 0 26 11\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m1 1 12 8 12-8\",\n  stroke: \"currentColor\",\n  strokeWidth: 2\n})));\nexport default SvgDownChevron24Pxcomponent;","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 SvgEmptyCirclecomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 19,\n  height: 18,\n  viewBox: \"0 0 19 18\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 9.563,\n  cy: 9,\n  r: 8.5,\n  stroke: \"var(--configuration-wizard-dark-bg)\"\n})));\nexport default SvgEmptyCirclecomponent;","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 SvgExpandableClosedIconcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 24,\n  height: 24,\n  viewBox: \"0 0 24 24\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  fillRule: \"evenodd\",\n  clipRule: \"evenodd\",\n  d: \"M13 0h-1v11H0v1h12v12h1V12h11v-1H13V0Z\",\n  fill: \"var(--very-deep-gray)\"\n})));\nexport default SvgExpandableClosedIconcomponent;","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 SvgExpandableOpenedIconcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 24,\n  height: 24,\n  viewBox: \"0 0 24 24\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M0 12.5v-1h24v1H0Z\",\n  fill: \"var(--very-deep-gray)\"\n})));\nexport default SvgExpandableOpenedIconcomponent;","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 SvgFilledCirclecomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 19,\n  height: 18,\n  viewBox: \"0 0 19 18\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n  cx: 9.938,\n  cy: 9,\n  r: 8.5,\n  fill: \"var(--configuration-wizard-dark-bg)\",\n  stroke: \"var(--configuration-wizard-dark-bg)\"\n})));\nexport default SvgFilledCirclecomponent;","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 _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 SvgLeftArrowcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 21,\n  height: 18,\n  viewBox: \"0 0 21 18\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M9 17 1 9l8-8M1 9h20\",\n  stroke: \"currentColor\"\n})));\nexport default SvgLeftArrowcomponent;","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 SvgRightArrowcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 21,\n  height: 18,\n  viewBox: \"0 0 21 18\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m12 1 8 8-8 8M0 9h20\",\n  stroke: \"currentColor\"\n})));\nexport default SvgRightArrowcomponent;","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 SvgSubscriptionStarcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 24,\n  height: 25,\n  viewBox: \"0 0 24 25\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M12 .5v12m0 0h12m-12 0 8.485-8.485M12 12.5H0m12.019-.05 4.65-11.062m6.442 6.516-11.092 4.578m-.02.018L3.516 4.015m8.466 8.435L7.331 1.388M.888 7.904l11.092 4.578M12 24.5v-12m0 0H0m12 0-8.485 8.485M12 12.5h12m-12.019.05-4.65 11.062M.888 17.096l11.092-4.578m.02-.018 8.484 8.485M12.02 12.55l4.65 11.062m6.442-6.516-11.092-4.578\",\n  stroke: \"currentColor\",\n  strokeWidth: 1.286,\n  strokeMiterlimit: 10\n})));\nexport default SvgSubscriptionStarcomponent;","var _path, _path2;\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 SvgXcomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 18,\n  height: 18,\n  viewBox: \"0 0 18 18\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"currentColor\",\n  d: \"M0 1.385 1.385 0 18 16.615 16.615 18z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n  fill: \"currentColor\",\n  d: \"M16.616 0 18 1.385 1.385 18 .001 16.615z\"\n})));\nexport default SvgXcomponent;","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 SvgSubscriptioncomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 24,\n  height: 25,\n  viewBox: \"0 0 24 25\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M12 .5v12m0 0h12m-12 0 8.485-8.485M12 12.5H0m12.019-.05 4.65-11.062m6.442 6.516-11.092 4.578m-.02.018L3.516 4.015m8.466 8.435L7.331 1.388M.888 7.904l11.092 4.578M12 24.5v-12m0 0H0m12 0-8.485 8.485M12 12.5h12m-12.019.05-4.65 11.062M.888 17.096l11.092-4.578m.02-.018 8.484 8.485M12.02 12.55l4.65 11.062m6.442-6.516-11.092-4.578\",\n  stroke: \"#00042F\",\n  strokeWidth: 1.286,\n  strokeMiterlimit: 10\n})));\nexport default SvgSubscriptioncomponent;","var _path, _path2, _path3;\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 SvgLibrarycomponent = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n  width: 26,\n  height: 25,\n  viewBox: \"0 0 26 25\",\n  fill: \"none\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m6.845.5 3.75 15.615h14.404L21.249.5H6.845Z\",\n  stroke: \"#00042F\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M1 8.885 4.75 24.5h14.404l-3.75-15.615H1Z\",\n  stroke: \"#00042F\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m3.83 4.614 3.75 15.615h14.405l-3.75-15.615H3.83Z\",\n  stroke: \"#00042F\"\n})));\nexport default SvgLibrarycomponent;","// extracted by mini-css-extract-plugin\nexport default {\"wizardHeroContainer\":\"index--wizardHeroContainer--pPCLf\",\"content\":\"index--content--Qe3PA\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\nimport classNames from 'classnames';\n\nimport sharedStyles from '../shared.less';\nimport styles from './index.less';\n\nconst WizardHero = ({ title, subtitle, logosOrVerbum }) => {\n\treturn (\n\t\t<div className={styles.wizardHeroContainer}>\n\t\t\t<div className={styles.content}>\n\t\t\t\t<CommandSentence Container=\"h4\" className={classNames(sharedStyles.h4)} template={title}>\n\t\t\t\t\t<CommandSentence.Field name=\"LOGOSORVERBUM\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t</CommandSentence>\n\t\t\t\t<CommandSentence Container=\"p\" className={classNames(sharedStyles.ui2)} template={subtitle}>\n\t\t\t\t\t<CommandSentence.Field name=\"LOGOSORVERBUM\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t</CommandSentence>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nWizardHero.propTypes = {\n\ttitle: PropTypes.string.isRequired,\n\tsubtitle: PropTypes.string,\n\tlogosOrVerbum: PropTypes.string,\n};\n\nexport default WizardHero;\n","// extracted by mini-css-extract-plugin\nexport default {\"foreignPrice\":\"index--foreignPrice--E0+Q4 ui1\",\"link\":\"index--link--lWaI7\",\"disclaimer\":\"index--disclaimer--VdYzm ui3\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\nimport Tooltip from '../../shared/tooltip';\nimport { useLocalization } from '../../../localization';\n\nimport styles from './index.less';\n\nconst ForeignPriceTooltip = ({ className, link, price }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.Product.DisplayTemplates.PricingSidebarViewModel');\n\tconst priceTemplate = `(${price})`;\n\n\treturn (\n\t\t<Tooltip\n\t\t\tlink={\n\t\t\t\tlink ? (\n\t\t\t\t\t<div className={styles.link}>{link}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<CommandSentence key={priceTemplate} Container=\"span\" template={priceTemplate} className={styles.link}>\n\t\t\t\t\t\t<CommandSentence.Field name=\"PERDAYABBREVIATED\">{resources.PerDayAbbreviated}</CommandSentence.Field>\n\t\t\t\t\t\t<CommandSentence.Field name=\"PERMONTHABBREVIATED\">{resources.PerMonthAbbreviated}</CommandSentence.Field>\n\t\t\t\t\t\t<CommandSentence.Field name=\"PERYEARABBREVIATED\">{resources.PerYearAbbreviated}</CommandSentence.Field>\n\t\t\t\t\t</CommandSentence>\n\t\t\t\t)\n\t\t\t}\n\t\t\tplacement={'bottom'}\n\t\t\tclassName={className}\n\t\t\tcontainer=\"body\"\n\t\t>\n\t\t\t<div className={styles.disclaimer}>\n\t\t\t\t<p>{resources.ForeignPricesBasedOnUSD}</p>\n\t\t\t\t<p>{resources.ForeignPricesNotExact}</p>\n\t\t\t</div>\n\t\t</Tooltip>\n\t);\n};\n\nForeignPriceTooltip.propTypes = {\n\tprice: PropTypes.string,\n\tlink: PropTypes.node,\n\tclassNames: PropTypes.shape({\n\t\ttooltipContainer: PropTypes.string,\n\t\tlinkContainer: PropTypes.string,\n\t\tcontentContainer: PropTypes.string,\n\t}),\n};\n\nexport default ForeignPriceTooltip;\n","import React, { createContext, useCallback, useContext, useEffect, useReducer, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport useDocumentEventListener from '../../../util/hooks/use-document-event-listener';\n\nconst ConfigurationWizardCartContext = createContext(null);\n\nfunction useConfigurationWizardCartContext() {\n\tconst context = useContext(ConfigurationWizardCartContext);\n\tif (context === null) {\n\t\tthrow new Error(\n\t\t\t'no value supplied for ConfigurationWizardCartContext. Ensure your component is wrapped in a provider'\n\t\t);\n\t}\n\treturn context;\n}\n\nconst BEGIN_LOADING = 'BEGIN_LOADING';\nconst CLEAR_LOADING = 'CLEAR_LOADING';\nconst LOAD = 'LOAD';\nconst LOAD_FAILED = 'LOAD_FAILED';\nfunction configurationWizardCartContextReducer(state, action) {\n\tswitch (action.type) {\n\t\tcase BEGIN_LOADING:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentEventId: action.eventId,\n\t\t\t\tloading: true,\n\t\t\t};\n\t\tcase CLEAR_LOADING:\n\t\t\tif (state.currentEventId !== action.eventId) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tloading: false,\n\t\t\t};\n\t\tcase LOAD:\n\t\t\tif (state.currentEventId !== action.eventId) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tloaded: true,\n\t\t\t\tloading: false,\n\t\t\t\terror: false,\n\t\t\t\tvalue: action.value,\n\t\t\t\treason: null,\n\t\t\t};\n\t\tcase LOAD_FAILED:\n\t\t\tif (state.currentEventId !== action.eventId) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tloaded: false,\n\t\t\t\tloading: false,\n\t\t\t\terror: true,\n\t\t\t\tvalue: null,\n\t\t\t\treason: action.reason,\n\t\t\t};\n\t}\n\treturn state;\n}\nconfigurationWizardCartContextReducer.initialState = {\n\tloaded: false,\n\tloading: false,\n\tcurrentEventId: null,\n\tvalue: null,\n\terror: false,\n\treason: null,\n};\nconfigurationWizardCartContextReducer.getStateFromPreloadedValue = preloadedValue => ({\n\tloaded: true,\n\tloading: false,\n\tcurrentEventId: null,\n\tvalue: preloadedValue,\n\terror: false,\n\treason: null,\n});\n\nlet nextEventId = 0;\nconst getNextEventId = () => nextEventId++;\n\nfunction ConfigurationWizardCartContextProvider({ initialValue, routes, children }) {\n\tconst [state, dispatch] = useReducer(\n\t\tconfigurationWizardCartContextReducer,\n\t\tconfigurationWizardCartContextReducer.initialState,\n\t\tinitialState => {\n\t\t\tif (initialValue) {\n\t\t\t\treturn configurationWizardCartContextReducer.getStateFromPreloadedValue(initialValue);\n\t\t\t}\n\t\t\treturn initialState;\n\t\t}\n\t);\n\n\tconst fetchConfigurationWizardCart = useCallback(async () => {\n\t\tconst getWizardCartUrl = routes?.GetWizardCartUrl;\n\n\t\tif (!getWizardCartUrl) {\n\t\t\treturn;\n\t\t}\n\t\tconst eventId = getNextEventId();\n\t\tdispatch({ type: BEGIN_LOADING, eventId });\n\t\ttry {\n\t\t\tconst value = await fetch(getWizardCartUrl);\n\t\t\tif (value.ok) {\n\t\t\t\tdispatch({ type: LOAD, eventId, value: await value.json() });\n\t\t\t} else {\n\t\t\t\tthrow value;\n\t\t\t}\n\t\t} catch (reason) {\n\t\t\tdispatch({ type: LOAD_FAILED, eventId, reason });\n\t\t}\n\t}, [routes]);\n\n\tconst onCartUpdated = useCallback(() => {\n\t\tfetchConfigurationWizardCart();\n\t}, [fetchConfigurationWizardCart]);\n\n\tuseDocumentEventListener('faithlife.sites.cart.updated', onCartUpdated);\n\n\tconst onAddToCartClicked = useCallback(() => {\n\t\tconst eventId = getNextEventId();\n\n\t\tfunction handleCartUpdateFinished() {\n\t\t\tdispatch({ type: CLEAR_LOADING, eventId });\n\n\t\t\tdocument.removeEventListener('faithlife.sites.cart.updated', handleCartUpdateFinished);\n\t\t\tdocument.removeEventListener('faithlife.sites.cart.updateError', handleCartUpdateFinished);\n\t\t}\n\n\t\tdispatch({ type: BEGIN_LOADING, eventId });\n\n\t\tdocument.addEventListener('faithlife.sites.cart.updated', handleCartUpdateFinished);\n\t\tdocument.addEventListener('faithlife.sites.cart.updateError', handleCartUpdateFinished);\n\t}, []);\n\n\tuseDocumentEventListener('faithlife.sites.addToCartButton.click', onAddToCartClicked);\n\n\tconst firstTimeLoadedRef = useRef(state.loaded);\n\tuseEffect(() => {\n\t\t// we only want this to possibly run on the first time render\n\t\tif (!firstTimeLoadedRef.current) {\n\t\t\tfetchConfigurationWizardCart();\n\t\t}\n\t}, [fetchConfigurationWizardCart]);\n\n\treturn <ConfigurationWizardCartContext.Provider value={state}>{children}</ConfigurationWizardCartContext.Provider>;\n}\nConfigurationWizardCartContextProvider.propTypes = {\n\tinitialValue: PropTypes.object,\n\troutes: PropTypes.shape({\n\t\tGetWizardCartUrl: PropTypes.string,\n\t}),\n\tchildren: PropTypes.node,\n};\n\nexport { ConfigurationWizardCartContextProvider, useConfigurationWizardCartContext, ConfigurationWizardCartContext };\n","export const executeScriptTagsInContainer = container => {\n\tconst scriptElements = Array.from(container.getElementsByTagName('script'));\n\n\tif (scriptElements.length) {\n\t\t(function appendAndLoadScript(i) {\n\t\t\tconst script = scriptElements[i];\n\t\t\tconst parent = script.parentElement;\n\n\t\t\tparent.removeChild(script);\n\t\t\tconst newScript = document.createElement('script');\n\n\t\t\tif (script.src) {\n\t\t\t\tnewScript.src = script.src;\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line no-unsanitized/property\n\t\t\tnewScript.innerHTML = script.innerHTML;\n\n\t\t\ti++;\n\n\t\t\tif (i < scriptElements.length) {\n\t\t\t\tif (script.src) {\n\t\t\t\t\tnewScript.onload = () => {\n\t\t\t\t\t\tappendAndLoadScript(i);\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tappendAndLoadScript(i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tparent.appendChild(newScript);\n\t\t})(0);\n\t}\n};\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { executeScriptTagsInContainer } from '../../../util/dom-utility';\n\nconst DangerousHtmlContent = ({ html, className, ignoreInitialRender = false }) => {\n\tconst container = useRef();\n\tconst isInitialRender = useRef(!ignoreInitialRender);\n\n\tuseEffect(() => {\n\t\tif (container.current) {\n\t\t\tif (isInitialRender.current) {\n\t\t\t\tisInitialRender.current = false;\n\t\t\t} else {\n\t\t\t\texecuteScriptTagsInContainer(container.current);\n\t\t\t}\n\t\t}\n\t}, [container, html]);\n\n\tif (!html) {\n\t\treturn null;\n\t}\n\n\treturn <div className={className} ref={container} dangerouslySetInnerHTML={{ __html: html }} />;\n};\n\nDangerousHtmlContent.props = {\n\theaderHtml: PropTypes.string,\n};\n\nexport default DangerousHtmlContent;\n","function mergeRefs(...refs) {\n\tconst validRefs = refs.filter(\n\t\tref => (ref !== null && typeof ref === 'object' && 'current' in ref) || typeof ref === 'function'\n\t);\n\tif (validRefs.length === 0) {\n\t\treturn null;\n\t}\n\tif (validRefs.length > 1) {\n\t\treturn node => {\n\t\t\tfor (const ref of validRefs) {\n\t\t\t\tif (typeof ref === 'function') {\n\t\t\t\t\tref(node);\n\t\t\t\t} else {\n\t\t\t\t\tref.current = node;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\treturn validRefs[0];\n}\n\nexport default mergeRefs;\n","// extracted by mini-css-extract-plugin\nexport default {\"stickyHeader\":\"index--stickyHeader--m85Vr\",\"stopSticky\":\"index--stopSticky--lknSq\",\"exit\":\"index--exit--XxM9X\",\"sticky\":\"index--sticky--AzwJk\",\"enter\":\"index--enter---mdHH\"};","import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useScreensize from '../../util/hooks/use-screensize';\nimport mergeRefs from '../../util/merge-refs';\nimport styles from './index.less';\n\nconst isStickyHeaderVisible = (stickyHeaderElement, anchorElement, boundingElement) => {\n\tconst anchorElementRect = anchorElement.getBoundingClientRect();\n\tconst boundingElementRect = boundingElement.getBoundingClientRect();\n\n\tconst hasScrolledPastAnchor = anchorElementRect.bottom - stickyHeaderElement.offsetHeight < 0;\n\tconst boundingBottomVisible = boundingElementRect.bottom - stickyHeaderElement.offsetHeight > 0;\n\n\treturn hasScrolledPastAnchor && boundingBottomVisible;\n};\n\nconst StickyHeader = ({ headerRef, anchorElementRef, boundingElementRef, children }) => {\n\tconst stickyHeaderRef = useRef(null);\n\tconst [stickyState, setStickyState] = useState('init');\n\tconst { isMobile } = useScreensize();\n\tconst previousIsMobile = useRef(isMobile);\n\n\tuseEffect(() => {\n\t\tif (previousIsMobile.current !== isMobile) {\n\t\t\tsetStickyState('init');\n\t\t}\n\t\tpreviousIsMobile.current = isMobile;\n\t}, [isMobile]);\n\n\tuseEffect(() => {\n\t\tconst handleScroll = () => {\n\t\t\tconst stickyHeader = stickyHeaderRef.current;\n\t\t\tconst anchorElement = anchorElementRef.current;\n\t\t\tconst boundingElement = boundingElementRef.current;\n\n\t\t\tif (stickyHeader && anchorElement && boundingElement) {\n\t\t\t\tconst shouldBeSticky = isStickyHeaderVisible(stickyHeader, anchorElement, boundingElement);\n\n\t\t\t\tsetStickyState(prev => {\n\t\t\t\t\treturn shouldBeSticky ? 'sticky' : prev === 'init' ? 'init' : 'stop';\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\thandleScroll();\n\t\twindow.addEventListener('scroll', handleScroll);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('scroll', handleScroll);\n\t\t};\n\t}, [anchorElementRef, boundingElementRef, isMobile]);\n\n\treturn (\n\t\t<div\n\t\t\tref={mergeRefs(stickyHeaderRef, headerRef)}\n\t\t\tclassName={classNames(styles.stickyHeader, {\n\t\t\t\t[styles.sticky]: stickyState === 'sticky',\n\t\t\t\t[styles.stopSticky]: stickyState === 'stop',\n\t\t\t})}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nStickyHeader.propTypes = {\n\tanchorElementRef: PropTypes.object.isRequired,\n\tboundingElementRef: PropTypes.object.isRequired,\n\tchildren: PropTypes.node,\n};\nexport default StickyHeader;\n","import { useState, useEffect } from 'react';\n\nexport const useDidomiNoticeHeight = () => {\n\tconst [height, setHeight] = useState(0);\n\n\tuseEffect(() => {\n\t\tlet resizeObserver;\n\n\t\tconst resizeObserverCallback = () => {\n\t\t\tconst el = document.getElementById('didomi-notice');\n\n\t\t\tif (!el) {\n\t\t\t\tsetHeight(0);\n\t\t\t\tresizeObserver?.disconnect();\n\t\t\t\tresizeObserver = null;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reset observer to avoid stale references\n\t\t\tresizeObserver?.disconnect();\n\n\t\t\tresizeObserver = new ResizeObserver(([entry]) => {\n\t\t\t\tsetHeight(entry.contentRect.height);\n\t\t\t});\n\n\t\t\tresizeObserver.observe(el);\n\t\t\tsetHeight(el.getBoundingClientRect().height);\n\t\t};\n\n\t\tresizeObserverCallback();\n\n\t\tconst mutationObserver = new MutationObserver(resizeObserverCallback);\n\t\tmutationObserver.observe(document.body, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t});\n\n\t\treturn () => {\n\t\t\tmutationObserver.disconnect();\n\t\t\tresizeObserver?.disconnect();\n\t\t};\n\t}, []);\n\n\treturn height;\n};\n","import { useEffect } from 'react';\n\nfunction usePreventBodyScrolling(shouldPreventBodyScrolling) {\n\tuseEffect(() => {\n\t\tif (shouldPreventBodyScrolling) {\n\t\t\tconst body = document.querySelector('body');\n\n\t\t\tif (!body) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbody.style.overflowY = 'hidden';\n\n\t\t\treturn () => {\n\t\t\t\tbody.style.overflowY = '';\n\t\t\t};\n\t\t}\n\t}, [shouldPreventBodyScrolling]);\n}\n\nexport default usePreventBodyScrolling;\n"],"names":["h2","h4","h5","ui1","ui2","ui3","ui5","b2","b3","loadingSpinner","comparison_table_controls","compare_page_comparison_table_controls","_ref","userIsBasePackageOwner","handleHideBooksIOwnChange","hideBooksIOwn","handleExpandAll","handleCollapseAll","resources","useLocalization","React","className","Checkbox","onClick","isChecked","title","HideBooksIOwn","styles","ExpandAll","CollapseAll","LegendItem","_ref2","name","children","compare_page_comparison_table_legend","_ref$mode","mode","selectedStyles","legendContainer","legendItemsContainer","Owned","FullOwnershipComponent","alt","OwnedIcon","PartiallyOwned","PartialOwnershipComponent","PartiallyOwnedIcon","PartlyIncluded","PartlyIncludedComponent","PartlyIncludedIcon","FullyIncluded","FullyIncludedComponent","FullyIncludedIcon","useComparisonTableControlsHandler","_useState","useState","_useState2","_slicedToArray","setHideBooksIOwn","useCallback","_useState3","_useState4","tableCollapseState","setTableCollapseState","handleToggle","isOpenAccordingToCollapseState","isOpen","resource_preview_tooltip","TooltipBody","tooltipUrl","html","DangerousHtmlContent","LoadingSpinner","medium","PreviewNotAvailable","propTypes","PropTypes","ResourcePreviewTooltip","setIsOpen","shouldLoad","setHtml","hasRequested","useRef","useEffect","current","isCancelled","requestSettled","fetch","credentials","then","response","ok","text","catch","useLazyTooltipContent","wasOpenOnPointerDownRef","handlePointerDown","handleClick","event","preventDefault","Tooltip","delayDuration","open","onOpenChange","asChild","type","onPointerDown","side","sideOffset","collisionPadding","width","height","compare_page_resource_preview_tooltip","comparison_row","comparisonRow","nameContainer","withToggle","withSubResources","nameToggle","ownershipIconContainer","ownershipIcon","inclusionIconsContainer","inclusionIcons","dynamicSizeInclusionIcons","staticSizeInclusionIcons","inclusionIconsWrapper","inclusionIcon","dynamicSizeInclusionIcon","staticSizeInclusionIcon","subResource","hideVolumes","hideVolumesArrow","ComparisonRow","isOwned","isPartiallyOwned","ownedResourceCount","totalAvailableResourceCount","subResources","orderedIncludedInProducts","onToggle","size","handleArrowClick","ComparisonRowName","hasSubresources","length","onArrowClick","concat","InclusionIcons","singleInclusionIconClass","map","sr","index","key","HideArrowComponent","HideVolumes","productId","isIncluded","isPartiallyIncluded","isRequired","OwnershipIconComponent","ownershipIconTooltipText","YouOwnThisProduct","YouOwnPartOfThisCollectionAndAreReceivingADiscount","Of","ResourcesAndDatasets","classNames","ExpandableOpenedIcon","ExpandableClosedIcon","Ownership","InclusionIcon","_ref3","Icon","_ref4","inclusionIconComponents","iip","IconComponent","AllResourcesFromThisCollectionAreIncluded","OnlySomeResourcesFromThisCollectionAreIncluded","id","component","RowWrapper","items","compare_page_comparison_row","comparison_section","comparisonSectionHeader","comparisonSectionNameContainer","comparisonSectionName","resourceCountsContainer","dynamicSizeOrderedResourceCounts","staticSizeOrderedResourceCounts","resourceCountsWrapper","resourceCount","dynamicSizeResourceCount","staticSizeResourceCount","hideSection","hideSectionArrow","ComparisonSection","category","comparisonRows","orderedResourceCounts","_ref$startsOpen","startsOpen","o","comparisonRowComponents","row","_extends","ComparisonSectionName","OrderedResourceCounts","orderedIds","singleResourceCountClass","HideSection","token","ResourceCount","resourceCounts","unownedResourceCount","compare_page_comparison_section","ComparisonSectionsTable","selectedCompareSections","comparisonTableControlsHandler","comparisonSections","filter","s","every","_objectSpread","SwipeableWrapper","comparison_sections_table","scrollableWrapperClassName","itemsClassName","ScrollableWrapper","wrapperClassName","layoutVariant","column_wrapper","columnWidth","useContext","ScrollableTableWithSliderContext","style","minWidth","scrollable_wrapper","scrollable_table_with_slider_scrollable_wrapper","_ref$layoutVariant","_useContext","visibleColumnsWidth","columnGap","leftOffset","isLeftBoundaryDisplayed","isRightBoundaryDisplayed","leftBoundaryMarginWidth","rightBoundaryMarginWidth","shouldAnimateScroll","scrollableContainerRef","scrollableContainer","scroll","Math","abs","scrollLeft","left","behavior","ref","gridAutoColumns","item","gap","ColumnWrapper","buttonHeight","tall","short","displayTheme","light","dark","_path","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","singleArrow_component","props","react","createElement","xmlns","viewBox","fill","d","stroke","strokeWidth","singleArrowLarge_component_path","singleArrowLarge_component_extends","singleArrowLarge_component","singleArrowLargeAlt_component_path","singleArrowLargeAlt_component_extends","singleArrowLargeAlt_component","slider_wrapper","container","slider","buttonContainer","leftButtonContainer","rightButtonContainer","arrow","shortArrow","tallArrow","lightArrow","darkArrow","scrollbar","scrollbarArrow","leftScrollbarArrow","rightScrollbarArrow","scrollbarArrowsContainer","SliderArrow","location","SingleArrowLargeAlt","SingleArrowLarge","ScrollbarArrow","_ref5","variant","isDisabled","disabled","SingleArrow","scrollable_table_with_slider_slider_wrapper","arrowOptions","totalNumberOfColumns","numberOfVisibleColumns","firstVisibleColumnIndex","isLeftBoundaryReached","isRightBoundaryReached","sliderProps","onFirstVisibleColumnChange","isScrollActive","isMobile","isLeftArrowDisplayed","isRightArrowDisplayed","scrollControlType","handleLeftArrowClick","handleRightArrowClick","containerRef","handleWheelScroll","scrollRight","lastExecutionTime","setLastExecutionTime","shiftKey","delta","deltaX","deltaY","now","Date","useWheelScrollHandler","addEventListener","passive","removeEventListener","_ref3$buttonHeight","sliderArrowOptions","_ref3$displayTheme","wrappedSliderItems","scrollControlTypes","buttons","Scrollbar","onFirstVisibleColumnIndexUpdate","showArrows","swipeable_wrapper","swipeRadius","handleTouchStart","onSwipe","undefined","_ref$swipeRadiusX","swipeRadiusX","_ref$swipeRadiusY","swipeRadiusY","handleSwipe","startX","currentX","startY","currentY","handleSwipeX","handleSwipeY","useTouchHandler","useSwipeHandler","swipeDirection","onTouchStart","display","progress_indicator_v2","IconMap","subscription","SubscriptionIcon","library","LibraryIcon","ProgressIndicatorItem","number","label","labelFields","icon","url","isActive","content","sharedStyles","CommandSentence","Container","template","field","Field","value","href","ENTRY_STEP_STORAGE_KEY","VALID_STEPS","useProgressIndicatorHandler","_cart$subscriptionsIn","_cart$librariesInCart","_cart$librariesInCart2","_cart$librariesInCart3","routes","step","cart","useConfigurationWizardCartContext","currentStep","window","stored","sessionStorage","getItem","includes","setItem","console","warn","getEntryStep","entryIsSubscription","subscriptionDisplayText","subscriptionsInCart","description","subscriptionsLabel","libraryDisplayText","librariesInCart","libraryTitleAndNMoreTemplate","librariesLabel","libraryDisplayFields","remaining","getLibrariesDisplayFields","sections","useMemo","subscriptionSection","subscriptionsUrl","librarySection","librariesUrl","ProgressIndicatorV2","isClient","setIsClient","visibility","configuration_wizard_progress_indicator_v2","container_fragment","CartItem","shouldShowPrice","price","term","_ref$quantity","quantity","editLinkProps","DisplayPrice","isForeignCurrency","ForeignPriceTooltip","link","valueLocalized","format","detailFormat","MonthlyPriceFormat","MultiAnnualTermPriceFormat","MultiAnnualTermPriceDetailFormat","AnnualPriceFormat","Fragment","ContainerFragment","summary_trough_cart_item","summary_trough","SummaryTrough","_useConfigurationWiza","loaded","loading","hasConfigurationWizardItems","SummaryTroughCore","isSimplePricing","subtotal","hasEffectiveSubscription","librarySubtotal","countLibraries","hasMultipleLibraries","libraryInCart","hasSubscriptionInCart","hasLibraryInCart","isLibraryStep","isSubscriptionStep","useScreensize","isMobileExpanded","setIsMobileExpanded","didomiNoticeHeight","useDidomiNoticeHeight","proceedButton","CheckoutButton","ConfigurationWizardLibrariesUrl","Next","ConfigurationWizardSubscriptionsUrl","ChoosePlan","goBackButton","LeftArrow","GoBack","marginBottom","small","ConfigurationSummary","Chevron","Edit","NumberOfLibraries","CartUrl","EditInCart","Subtotal","pricePropTypes","Checkout","subtotalLocalized","librarySubtotalLocalized","configuration_wizard_summary_trough","blueCheckmark_component","checkmark_component_path","checkmark_component_extends","checkmark_component","chevron_component_path","chevron_component_extends","chevron_component","downChevron24px_component_path","downChevron24px_component_extends","downChevron24px_component","emptyCircle_component_circle","emptyCircle_component_extends","emptyCircle_component","cx","cy","expandableClosedIcon_component_path","expandableClosedIcon_component_extends","expandableClosedIcon_component","fillRule","clipRule","expandableOpenedIcon_component_path","expandableOpenedIcon_component_extends","expandableOpenedIcon_component","filledCircle_component_circle","filledCircle_component_extends","filledCircle_component","fully_included_component_circle","fully_included_component_extends","fully_included_component","leftArrow_component_path","leftArrow_component_extends","leftArrow_component","rightArrow_component_path","rightArrow_component_extends","rightArrow_component","subscription_star_component_path","subscription_star_component_extends","subscription_star_component","strokeMiterlimit","x_component_path","_path2","x_component_extends","x_component","subscription_component_path","subscription_component_extends","subscription_component","library_component_path","library_component_path2","_path3","library_component_extends","library_component","WizardHero","subtitle","logosOrVerbum","configuration_wizard_wizard_hero","foreign_price_tooltip","priceTemplate","PerDayAbbreviated","PerMonthAbbreviated","PerYearAbbreviated","placement","ForeignPricesBasedOnUSD","ForeignPricesNotExact","tooltipContainer","linkContainer","contentContainer","product_foreign_price_tooltip","ConfigurationWizardCartContext","createContext","context","Error","BEGIN_LOADING","CLEAR_LOADING","LOAD","LOAD_FAILED","configurationWizardCartContextReducer","state","action","currentEventId","eventId","error","reason","initialState","getStateFromPreloadedValue","preloadedValue","nextEventId","getNextEventId","ConfigurationWizardCartContextProvider","initialValue","_useReducer","useReducer","_useReducer2","dispatch","fetchConfigurationWizardCart","async","getWizardCartUrl","GetWizardCartUrl","json","onCartUpdated","useDocumentEventListener","onAddToCartClicked","handleCartUpdateFinished","document","firstTimeLoadedRef","Provider","_ref$ignoreInitialRen","ignoreInitialRender","isInitialRender","scriptElements","Array","from","getElementsByTagName","appendAndLoadScript","i","script","parent","parentElement","removeChild","newScript","src","innerHTML","onload","appendChild","executeScriptTagsInContainer","dangerouslySetInnerHTML","__html","headerHtml","dangerous_html_content","merge_refs","_len","refs","_key","validRefs","node","sticky_header","StickyHeader","headerRef","anchorElementRef","boundingElementRef","stickyHeaderRef","stickyState","setStickyState","previousIsMobile","handleScroll","stickyHeader","anchorElement","boundingElement","shouldBeSticky","isStickyHeaderVisible","stickyHeaderElement","anchorElementRect","getBoundingClientRect","boundingElementRect","hasScrolledPastAnchor","bottom","offsetHeight","boundingBottomVisible","prev","mergeRefs","sticky_header_sticky","sticky_header_stopSticky","components_sticky_header","setHeight","resizeObserver","resizeObserverCallback","_resizeObserver2","el","getElementById","_resizeObserver","disconnect","ResizeObserver","entry","contentRect","observe","mutationObserver","MutationObserver","body","childList","subtree","_resizeObserver3","shouldPreventBodyScrolling","querySelector","overflowY"],"sourceRoot":""}