@coveo/atomic 3.30.0-pre.718cccc13d → 3.30.0-pre.77cf23e3ba
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-breadbox.js +1 -1
- package/dist/atomic/components/atomic-breadbox.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result2.js +1 -1
- package/dist/atomic/components/atomic-insight-result2.js.map +1 -1
- package/dist/atomic/components/atomic-modal2.js +1 -1
- package/dist/atomic/components/atomic-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-product-rating.js +1 -1
- package/dist/atomic/components/atomic-product-rating.js.map +1 -1
- package/dist/atomic/components/atomic-rating-facet.js +1 -1
- package/dist/atomic/components/atomic-rating-facet.js.map +1 -1
- package/dist/atomic/components/atomic-rating-range-facet.js +1 -1
- package/dist/atomic/components/atomic-rating-range-facet.js.map +1 -1
- package/dist/atomic/components/atomic-recs-result2.js +1 -1
- package/dist/atomic/components/atomic-recs-result2.js.map +1 -1
- package/dist/atomic/components/atomic-result-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-result-placeholder2.js.map +1 -1
- package/dist/atomic/components/atomic-result-rating.js +1 -1
- package/dist/atomic/components/atomic-result-rating.js.map +1 -1
- package/dist/atomic/components/atomic-result2.js +1 -1
- package/dist/atomic/components/atomic-result2.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.tw.css.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.tw.css.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.tw.css.js +2 -6
- package/dist/atomic/components/components/commerce/atomic-product/atomic-product.tw.css.js +1 -1
- package/dist/atomic/components/components/common/atomic-icon/atomic-icon.tw.css.js +1 -1
- package/dist/atomic/components/components/common/refine-modal/filters.js +2 -2
- package/dist/atomic/components/components/common/refine-modal/sort.js +2 -2
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/utils/tailwind-utilities/aspect-square.tw.css.js +1 -1
- package/dist/atomic/components/utils/tailwind-utilities/set-font-size.tw.css.js +1 -1
- package/dist/atomic/components/utils/tailwind-utilities/utilities.tw.css.js +3 -10
- package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -6
- package/dist/atomic/{p-35beca53.entry.js → p-09efedf5.entry.js} +2 -2
- package/dist/atomic/{p-35beca53.entry.js.map → p-09efedf5.entry.js.map} +1 -1
- package/dist/atomic/{p-7241c011.entry.js → p-0c604072.entry.js} +2 -2
- package/dist/atomic/{p-7241c011.entry.js.map → p-0c604072.entry.js.map} +1 -1
- package/dist/atomic/{p-140b16e3.entry.js → p-0ed3432e.entry.js} +2 -2
- package/dist/atomic/{p-140b16e3.entry.js.map → p-0ed3432e.entry.js.map} +1 -1
- package/dist/atomic/{p-2633a319.js → p-118a76e7.js} +2 -2
- package/dist/atomic/{p-bdbce86f.entry.js → p-1e971b29.entry.js} +2 -2
- package/dist/atomic/{p-bdbce86f.entry.js.map → p-1e971b29.entry.js.map} +1 -1
- package/dist/atomic/p-30417eb1.entry.js +2 -0
- package/dist/atomic/{p-833f101f.entry.js.map → p-30417eb1.entry.js.map} +1 -1
- package/dist/atomic/{p-5bb09cf4.entry.js → p-33197f64.entry.js} +2 -2
- package/dist/atomic/{p-5bb09cf4.entry.js.map → p-33197f64.entry.js.map} +1 -1
- package/dist/atomic/{p-5bad3ed4.entry.js → p-5820d458.entry.js} +2 -2
- package/dist/atomic/{p-04c9e618.entry.js → p-a44740ec.entry.js} +2 -2
- package/dist/atomic/{p-04c9e618.entry.js.map → p-a44740ec.entry.js.map} +1 -1
- package/dist/atomic/p-a66df6cf.entry.js +2 -0
- package/dist/atomic/{p-90461464.entry.js.map → p-a66df6cf.entry.js.map} +1 -1
- package/dist/atomic/p-c33ccc93.entry.js +2 -0
- package/dist/atomic/{p-da1849e7.entry.js.map → p-c33ccc93.entry.js.map} +1 -1
- package/dist/atomic/{p-c4dc005e.entry.js → p-ec486201.entry.js} +2 -2
- package/dist/atomic/{p-595cf96c.entry.js → p-f45b7466.entry.js} +2 -2
- package/dist/atomic/p-f7fff4b1.entry.js +2 -0
- package/dist/atomic/{p-7f381070.entry.js.map → p-f7fff4b1.entry.js.map} +1 -1
- package/dist/cjs/{analytics-config-4199c890.js → analytics-config-6dfe3b6e.js} +2 -2
- package/dist/cjs/{analytics-config-4199c890.js.map → analytics-config-6dfe3b6e.js.map} +1 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-focus-trap_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-product-rating.cjs.entry.js +1 -1
- package/dist/cjs/atomic-product-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-result.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/{analytics-config-6de172f0.js → analytics-config-3f0a13da.js} +2 -2
- package/dist/esm/{analytics-config-6de172f0.js.map → analytics-config-3f0a13da.js.map} +1 -1
- package/dist/esm/atomic-breadbox.entry.js +1 -1
- package/dist/esm/atomic-breadbox.entry.js.map +1 -1
- package/dist/esm/atomic-focus-trap_2.entry.js +1 -1
- package/dist/esm/atomic-focus-trap_2.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-result.entry.js +1 -1
- package/dist/esm/atomic-insight-result.entry.js.map +1 -1
- package/dist/esm/atomic-product-rating.entry.js +1 -1
- package/dist/esm/atomic-product-rating.entry.js.map +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +1 -1
- package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-result.entry.js +1 -1
- package/dist/esm/atomic-recs-result.entry.js.map +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
- package/dist/esm/atomic-result-rating.entry.js +1 -1
- package/dist/esm/atomic-result-rating.entry.js.map +1 -1
- package/dist/esm/atomic-result.entry.js +1 -1
- package/dist/esm/atomic-result.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/version.js +2 -2
- package/docs/atomic-docs.json +1 -1
- package/package.json +7 -7
- package/dist/atomic/p-7f381070.entry.js +0 -2
- package/dist/atomic/p-833f101f.entry.js +0 -2
- package/dist/atomic/p-90461464.entry.js +0 -2
- package/dist/atomic/p-da1849e7.entry.js +0 -2
- /package/dist/atomic/{p-2633a319.js.map → p-118a76e7.js.map} +0 -0
- /package/dist/atomic/{p-5bad3ed4.entry.js.map → p-5820d458.entry.js.map} +0 -0
- /package/dist/atomic/{p-c4dc005e.entry.js.map → p-ec486201.entry.js.map} +0 -0
- /package/dist/atomic/{p-595cf96c.entry.js.map → p-f45b7466.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-breadbox.js","mappings":"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","names":["AtomicBreadbox"],"sources":["src/components/common/breadbox/breadcrumb-utils.ts","src/components/common/breadbox/stencil-breadcrumb-button.tsx","src/components/common/breadbox/stencil-breadcrumb-clear-all.tsx","src/components/common/breadbox/stencil-breadcrumb-container.tsx","src/components/common/breadbox/stencil-breadcrumb-content.tsx","src/components/common/breadbox/stencil-breadcrumb-show-less.tsx","src/components/common/breadbox/stencil-breadcrumb-show-more.tsx","src/components/search/atomic-breadbox/atomic-breadbox.pcss?tag=atomic-breadbox&encapsulation=shadow","src/components/search/atomic-breadbox/atomic-breadbox.tsx"],"sourcesContent":["import type {Breadcrumb} from './breadcrumb-types';\n\nconst ELLIPSIS = '...';\nconst SEPARATOR = ' / ';\n\nfunction limitPath(path: string[], pathLimit: number) {\n if (path.length <= pathLimit) {\n return path.join(SEPARATOR);\n }\n\n if (pathLimit === 1 && path.length > 1) {\n return [ELLIPSIS, path[path.length - 1]].join(SEPARATOR);\n }\n\n const ellipsedPath = [path[0], ELLIPSIS, ...path.slice(-(pathLimit - 1))];\n return ellipsedPath.join(SEPARATOR);\n}\n\nexport function joinBreadcrumbValues(breadcrumb: Breadcrumb) {\n return Array.isArray(breadcrumb.formattedValue)\n ? breadcrumb.formattedValue.join(SEPARATOR)\n : breadcrumb.formattedValue;\n}\n\nexport function getFirstBreadcrumbValue(\n breadcrumb: Breadcrumb,\n pathLimit: number\n) {\n return Array.isArray(breadcrumb.formattedValue)\n ? limitPath(breadcrumb.formattedValue, pathLimit)\n : breadcrumb.formattedValue;\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {\n joinBreadcrumbValues,\n getFirstBreadcrumbValue,\n} from './breadcrumb-utils';\n\nexport interface BreadcrumbButtonProps {\n onSelectBreadcrumb: () => void;\n setRef: (el: HTMLButtonElement) => void;\n pathLimit: number;\n breadcrumb: Breadcrumb;\n i18n: i18n;\n}\n\nexport const BreadcrumbButton: FunctionalComponent<BreadcrumbButtonProps> = (\n props,\n children\n) => {\n const classNames = [\n 'py-2',\n 'px-3',\n 'flex',\n 'items-center',\n 'rounded-xl',\n 'group',\n ];\n\n const fullValue = joinBreadcrumbValues(props.breadcrumb);\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const title = `${props.breadcrumb.label}: ${fullValue}`;\n const isExclusion = props.breadcrumb.state === 'excluded';\n\n return (\n <li class=\"breadcrumb\" key={value}>\n <Button\n ref={props.setRef}\n part=\"breadcrumb-button\"\n style={isExclusion ? 'outline-error' : 'outline-bg-neutral'}\n class={classNames.join(' ')}\n title={title}\n ariaLabel={props.i18n.t(\n isExclusion\n ? 'remove-exclusion-filter-on'\n : 'remove-inclusion-filter-on',\n {\n value: title,\n }\n )}\n onClick={props.onSelectBreadcrumb}\n >\n {children}\n </Button>\n </li>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbClearAllProps {\n setRef: (el: HTMLButtonElement) => void;\n onClick: ((event?: MouseEvent | undefined) => void) | undefined;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbClearAll: FunctionalComponent<\n BreadcrumbClearAllProps\n> = (props) => {\n return (\n <li key=\"clear-all\">\n <Button\n ref={props.setRef}\n part=\"clear\"\n style=\"text-primary\"\n text={props.i18n.t('clear')}\n class=\"rounded-xl p-2\"\n ariaLabel={props.i18n.t('clear-all-filters')}\n onClick={props.onClick}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\n\nexport interface BreadcrumbContainerProps {\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbContainer: FunctionalComponent<\n BreadcrumbContainerProps\n> = (props, children) => {\n return (\n <div part=\"container\" class=\"text-on-background flex text-sm\">\n <span part=\"label\" class=\"py-2.5 pr-2 pl-0 font-bold\">\n {props.i18n.t('with-colon', {\n text: props.i18n.t('filters'),\n })}\n </span>\n <div part=\"breadcrumb-list-container\" class=\"relative grow\">\n <ul\n part=\"breadcrumb-list\"\n class={`flex gap-1 ${\n props.isCollapsed ? 'absolute w-full flex-nowrap' : 'flex-wrap'\n }`}\n >\n {children}\n </ul>\n </div>\n </div>\n );\n};\n","import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../images/close.svg';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {getFirstBreadcrumbValue} from './breadcrumb-utils';\n\nexport interface BreadcrumbContentProps {\n pathLimit: number;\n isCollapsed: boolean;\n i18n: i18n;\n breadcrumb: Breadcrumb;\n}\n\nexport const BreadcrumbContent: FunctionalComponent<BreadcrumbContentProps> = (\n props\n) => {\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const isExclusion = props.breadcrumb.state === 'excluded';\n const activeColor = isExclusion ? 'error' : 'primary';\n return (\n <Fragment>\n <span\n part=\"breadcrumb-label\"\n class={`max-w-[30ch] truncate group-hover:text-${activeColor} group-focus-visible:text-${activeColor} ${props.breadcrumb.state}`}\n >\n {props.i18n.t('with-colon', {text: props.breadcrumb.label})}\n </span>\n <span\n part=\"breadcrumb-value\"\n class={`ml-1 ${\n props.breadcrumb.content\n ? ''\n : `max-w-[30ch] truncate ${props.breadcrumb.state}`\n }`}\n >\n {props.breadcrumb.content ?? value}\n </span>\n <atomic-icon\n part=\"breadcrumb-clear\"\n class=\"mt-px ml-2 h-2.5 w-2.5\"\n icon={CloseIcon}\n ></atomic-icon>\n </Fragment>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowLessProps {\n onShowLess: () => void;\n setRef: (el: HTMLButtonElement) => void;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowLess: FunctionalComponent<\n BreadcrumbShowLessProps\n> = (props) => {\n if (props.isCollapsed) {\n return;\n }\n\n return (\n <li key=\"show-less\">\n <Button\n ref={props.setRef}\n part=\"show-less\"\n style=\"outline-primary\"\n text={props.i18n.t('show-less')}\n class=\"rounded-xl p-2\"\n onClick={props.onShowLess}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowMoreProps {\n setRef: (el: HTMLButtonElement) => void;\n onShowMore: () => void;\n numberOfCollapsedBreadcrumbs: number;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowMore: FunctionalComponent<\n BreadcrumbShowMoreProps\n> = (props) => {\n if (!props.isCollapsed) {\n return;\n }\n return (\n <li key=\"show-more\">\n <Button\n ref={props.setRef}\n part=\"show-more\"\n style=\"outline-primary\"\n class=\"rounded-xl p-2 whitespace-nowrap\"\n onClick={props.onShowMore}\n ariaLabel={props.i18n.t('show-n-more-filters', {\n value: props.numberOfCollapsedBreadcrumbs,\n })}\n ></Button>\n </li>\n );\n};\n","@import '../../../global/global.pcss';\n@import '../../common/atomic-rating/atomic-rating.pcss';\n\n[part='breadcrumb-label'].excluded,\n[part='breadcrumb-value'].excluded {\n text-decoration: line-through;\n @apply text-error;\n}\n","import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n BreadcrumbManagerState,\n BreadcrumbManager,\n buildBreadcrumbManager,\n FacetManager,\n FacetManagerState,\n buildFacetManager,\n} from '@coveo/headless';\nimport {Component, h, State, Element, Prop} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {\n InitializableComponent,\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {Breadcrumb as BreadboxBreadcrumb} from '../../common/breadbox/breadcrumb-types';\nimport {BreadcrumbButton} from '../../common/breadbox/stencil-breadcrumb-button';\nimport {BreadcrumbClearAll} from '../../common/breadbox/stencil-breadcrumb-clear-all';\nimport {BreadcrumbContainer} from '../../common/breadbox/stencil-breadcrumb-container';\nimport {BreadcrumbContent} from '../../common/breadbox/stencil-breadcrumb-content';\nimport {BreadcrumbShowLess} from '../../common/breadbox/stencil-breadcrumb-show-less';\nimport {BreadcrumbShowMore} from '../../common/breadbox/stencil-breadcrumb-show-more';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-breadbox` component creates breadcrumbs that display a summary of the currently active facet values.\n *\n * @part container - The container of the whole component, list & label.\n * @part breadcrumb-list-container - The container of the list of breadcrumb buttons.\n * @part breadcrumb-list - The list of breadcrumb buttons.\n * @part breadcrumb-button - A single breadcrumb button.\n * @part breadcrumb-label - The breadcrumb label, associated with the facet.\n * @part breadcrumb-value - The breadcrumb formatted value.\n * @part breadcrumb-clear - The button to clear individual filters.\n * @part show-more - The button to display all breadcrumbs.\n * @part show-less - The button to display less breadcrumbs.\n * @part label - The \"Filters\" label.\n * @part clear - The button to clear all filters.\n */\n@Component({\n tag: 'atomic-breadbox',\n styleUrl: 'atomic-breadbox.pcss',\n shadow: true,\n})\nexport class AtomicBreadbox implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private breadcrumbManager!: BreadcrumbManager;\n private resizeObserver?: ResizeObserver;\n private showMore!: HTMLButtonElement;\n private showLess!: HTMLButtonElement;\n private lastRemovedBreadcrumbIndex = 0;\n private numberOfBreadcrumbs = 0;\n private numberOfCollapsedBreadcrumbs = 0;\n private firstExpandedBreadcrumbIndex?: number;\n facetManager!: FacetManager;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() public error!: Error;\n @State() private isCollapsed = true;\n\n private breadcrumbRemovedFocus?: FocusTargetController;\n\n private breadcrumbShowMoreFocus?: FocusTargetController;\n\n private breadcrumbShowLessFocus?: FocusTargetController;\n\n /**\n * This prop allows you to control the display depth\n * of the path by specifying the number of parent or ancestor\n * breadcrumbs links relative to the currently selected value.\n *\n * If the path size is equal to or less than the pathLimit, all values in\n * the path will be displayed without truncation.\n *\n * If the path size exceeds the pathLimit, it will truncate the path by\n * replacing the middle values with ellipses ('...').\n *\n * Minimum: `1`\n * @defaultValue `3`\n */\n @Prop() public pathLimit = 3;\n\n public initialize() {\n this.validateProps();\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.adaptBreadcrumbs());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n private validateProps() {\n new Schema({\n pathLimit: new NumberValue({\n default: 3,\n min: 1,\n required: false,\n }),\n }).validate({\n pathLimit: this.pathLimit,\n });\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n private get focusTargets() {\n if (!this.breadcrumbRemovedFocus) {\n this.breadcrumbRemovedFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowLessFocus) {\n this.breadcrumbShowLessFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowMoreFocus) {\n this.breadcrumbShowMoreFocus = new FocusTargetController(this);\n }\n return {\n breadcrumbRemovedFocus: this.breadcrumbRemovedFocus,\n breadcrumbShowLessFocus: this.breadcrumbShowLessFocus,\n breadcrumbShowMoreFocus: this.breadcrumbShowMoreFocus,\n };\n }\n\n private get breadcrumbs() {\n return Array.from(\n this.host.shadowRoot!.querySelectorAll('li.breadcrumb')\n ) as HTMLElement[];\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private showAllBreadcrumbs() {\n this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));\n }\n\n private hideOverflowingBreadcrumbs() {\n let hiddenBreadcrumbs = 0;\n for (\n let i = this.breadcrumbs.length - 1;\n this.isOverflowing && i >= 0;\n i--\n ) {\n this.hide(this.breadcrumbs[i]);\n hiddenBreadcrumbs++;\n }\n this.updateShowMoreValue(hiddenBreadcrumbs);\n }\n\n private updateShowLessDisplay() {\n this.show(this.showLess);\n if (this.showLess.offsetTop === 0) {\n this.hide(this.showLess);\n }\n }\n\n private adaptBreadcrumbs() {\n if (!this.breadcrumbs.length) {\n return;\n }\n this.showAllBreadcrumbs();\n\n if (!this.isCollapsed) {\n this.updateShowLessDisplay();\n return;\n }\n\n this.updateShowMoreValue(this.breadcrumbs.length);\n this.hideOverflowingBreadcrumbs();\n }\n\n private get isOverflowing() {\n const listElement = this.host.shadowRoot!.querySelector('ul');\n if (!listElement) {\n return false;\n }\n return listElement.scrollWidth > listElement.clientWidth;\n }\n\n private updateShowMoreValue(value: number) {\n this.numberOfCollapsedBreadcrumbs = value;\n if (value === 0) {\n this.hide(this.showMore);\n return;\n }\n\n this.show(this.showMore);\n this.showMore.textContent = `+ ${value.toLocaleString(\n this.bindings.i18n.language\n )}`;\n\n this.showMore.setAttribute(\n 'aria-label',\n this.bindings.i18n.t('show-n-more-filters', {\n value,\n })\n );\n }\n\n private get facetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.facetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .filter(({facetId}) => this.bindings.store.state.facets[facetId])\n .map(({value, facetId, field}) => ({\n facetId,\n label: this.bindings.store.state.facets[facetId]?.label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get categoryFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.categoryFacetBreadcrumbs.map(\n ({facetId, field, path, deselect}) => ({\n facetId,\n label: this.bindings.store.state.categoryFacets[facetId].label(),\n deselect: deselect,\n formattedValue: path.map((pathValue) =>\n getFieldValueCaption(field, pathValue.value, this.bindings.i18n)\n ),\n })\n );\n }\n\n private get numericFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.numericFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.numericFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.numericFacets[facetId].format(value.value),\n ],\n content: this.bindings.store.state.numericFacets[facetId].content?.(\n value.value\n ),\n }));\n }\n\n private get dateFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.dateFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.dateFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.dateFacets[facetId].format(value.value),\n ],\n }));\n }\n\n private get automaticFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.automaticFacetBreadcrumbs\n .flatMap(({facetId, field, label, values}) =>\n values.map((value) => ({value, facetId, field, label}))\n )\n .map(({value, facetId, field, label}) => ({\n facetId,\n state: value.value.state,\n label: label ? label : field,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get allBreadcrumbs(): BreadboxBreadcrumb[] {\n return [\n ...this.facetBreadcrumbs,\n ...this.categoryFacetBreadcrumbs,\n ...this.numericFacetBreadcrumbs,\n ...this.dateFacetBreadcrumbs,\n ...this.automaticFacetBreadcrumbs,\n ];\n }\n\n private renderBreadcrumbs(allBreadcrumbs: BreadboxBreadcrumb[]) {\n const sortedBreadcrumbs = allBreadcrumbs.sort((a, b) => {\n const indexA = this.facetManagerState.facetIds.indexOf(a.facetId);\n const indexB = this.facetManagerState.facetIds.indexOf(b.facetId);\n return indexA - indexB;\n });\n this.numberOfBreadcrumbs = sortedBreadcrumbs.length;\n\n return [\n sortedBreadcrumbs.map((breadcrumb, index) => {\n const isLastBreadcrumb = this.allBreadcrumbs.length === 1;\n return (\n <BreadcrumbButton\n setRef={(ref) => {\n if (this.lastRemovedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbRemovedFocus.setTarget(ref);\n }\n if (this.firstExpandedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbShowMoreFocus.setTarget(ref);\n }\n }}\n pathLimit={this.pathLimit}\n breadcrumb={breadcrumb}\n onSelectBreadcrumb={() => {\n if (isLastBreadcrumb) {\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n } else if (this.numberOfBreadcrumbs > 1) {\n this.focusTargets.breadcrumbRemovedFocus.focusAfterSearch();\n }\n\n this.lastRemovedBreadcrumbIndex = index;\n breadcrumb.deselect();\n }}\n i18n={this.bindings.i18n}\n >\n <BreadcrumbContent\n pathLimit={this.pathLimit}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n breadcrumb={breadcrumb}\n ></BreadcrumbContent>\n </BreadcrumbButton>\n );\n }),\n ];\n }\n\n public render() {\n const allBreadcrumbs = this.allBreadcrumbs;\n\n if (!allBreadcrumbs.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <BreadcrumbContainer\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n >\n {this.renderBreadcrumbs(allBreadcrumbs)}\n <BreadcrumbShowMore\n setRef={(el) => {\n this.showMore = el;\n }}\n onShowMore={() => {\n this.firstExpandedBreadcrumbIndex =\n this.numberOfBreadcrumbs - this.numberOfCollapsedBreadcrumbs;\n this.focusTargets.breadcrumbShowMoreFocus.focusOnNextTarget();\n this.isCollapsed = false;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n numberOfCollapsedBreadcrumbs={this.numberOfCollapsedBreadcrumbs}\n ></BreadcrumbShowMore>\n <BreadcrumbShowLess\n setRef={(el) => {\n this.showLess = el;\n }}\n onShowLess={() => {\n this.focusTargets.breadcrumbShowLessFocus.focusOnNextTarget();\n this.isCollapsed = true;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbShowLess>\n <BreadcrumbClearAll\n setRef={() => {\n const isFocusTarget =\n this.lastRemovedBreadcrumbIndex === this.numberOfBreadcrumbs;\n\n isFocusTarget\n ? this.focusTargets.breadcrumbRemovedFocus.setTarget\n : undefined;\n }}\n onClick={async () => {\n this.breadcrumbManager.deselectAll();\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbClearAll>\n </BreadcrumbContainer>\n );\n }\n\n public componentDidRender() {\n this.adaptBreadcrumbs();\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-breadbox.js","mappings":";;;;;;;;;AAEA,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,SAAS,SAAS,CAAC,IAAc,EAAE,SAAiB;IAClD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC1D;IAED,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;SAEe,oBAAoB,CAAC,UAAsB;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;UAC3C,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;UACzC,UAAU,CAAC,cAAc,CAAC;AAChC,CAAC;SAEe,uBAAuB,CACrC,UAAsB,EACtB,SAAiB;IAEjB,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;UAC3C,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC;UAC/C,UAAU,CAAC,cAAc,CAAC;AAChC;;ACdO,MAAM,gBAAgB,GAA+C,CAC1E,KAAK,EACL,QAAQ;IAER,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,MAAM;QACN,MAAM;QACN,cAAc;QACd,YAAY;QACZ,OAAO;KACR,CAAC;IAEF,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;IAE1D,QACE,UAAI,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,KAAK;QAC/B,EAAC,MAAM,IACL,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,oBAAoB,EAC3D,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CACrB,WAAW;kBACP,4BAA4B;kBAC5B,4BAA4B,EAChC;gBACE,KAAK,EAAE,KAAK;aACb,CACF,EACD,OAAO,EAAE,KAAK,CAAC,kBAAkB,IAEhC,QAAQ,CACF,CACN,EACL;AACJ,CAAC;;AC9CM,MAAM,kBAAkB,GAE3B,CAAC,KAAK;IACR,QACE,UAAI,GAAG,EAAC,WAAW;QACjB,EAAC,MAAM,IACL,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3B,KAAK,EAAC,gBAAgB,EACtB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,GACd,CACP,EACL;AACJ,CAAC;;ACnBM,MAAM,mBAAmB,GAE5B,CAAC,KAAK,EAAE,QAAQ;IAClB,QACE,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,iCAAiC;QAC3D,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,4BAA4B,IAClD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC9B,CAAC,CACG;QACP,WAAK,IAAI,EAAC,2BAA2B,EAAC,KAAK,EAAC,eAAe;YACzD,UACE,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,cACL,KAAK,CAAC,WAAW,GAAG,6BAA6B,GAAG,WACtD,EAAE,IAED,QAAQ,CACN,CACD,CACF,EACN;AACJ,CAAC;;ACjBM,MAAM,iBAAiB,GAAgD,CAC5E,KAAK;IAEL,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC;IAC1D,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACtD,QACE,EAAC,QAAQ;QACP,YACE,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAE,0CAA0C,WAAW,6BAA6B,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAE/H,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,EAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAC,CAAC,CACtD;QACP,YACE,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAE,QACL,KAAK,CAAC,UAAU,CAAC,OAAO;kBACpB,EAAE;kBACF,yBAAyB,KAAK,CAAC,UAAU,CAAC,KAAK,EACrD,EAAE,IAED,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK,CAC7B;QACP,mBACE,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAE,SAAS,GACF,CACN,EACX;AACJ,CAAC;;ACjCM,MAAM,kBAAkB,GAE3B,CAAC,KAAK;IACR,IAAI,KAAK,CAAC,WAAW,EAAE;QACrB,OAAO;KACR;IAED,QACE,UAAI,GAAG,EAAC,WAAW;QACjB,EAAC,MAAM,IACL,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAC/B,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,KAAK,CAAC,UAAU,GACjB,CACP,EACL;AACJ,CAAC;;AClBM,MAAM,kBAAkB,GAE3B,CAAC,KAAK;IACR,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QACtB,OAAO;KACR;IACD,QACE,UAAI,GAAG,EAAC,WAAW;QACjB,EAAC,MAAM,IACL,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE,KAAK,CAAC,UAAU,EACzB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE;gBAC7C,KAAK,EAAE,KAAK,CAAC,4BAA4B;aAC1C,CAAC,GACM,CACP,EACL;AACJ,CAAC;;AChCD,MAAM,iBAAiB,GAAG,kq2DAAkq2D,CAAC;AAC7r2D,6BAAe,iBAAiB;;;;;;;;;;;;MC8CnBA,gBAAc;;;;;QAMjB,+BAA0B,GAAG,CAAC,CAAC;QAC/B,wBAAmB,GAAG,CAAC,CAAC;QACxB,iCAA4B,GAAG,CAAC,CAAC;QAaxB,gBAAW,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;QAsBrB,cAAS,GAAG,CAAC,CAAC;;;;2BAtBE,IAAI;yBAsBR,CAAC;;IAErB,UAAU;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,CAAC;SACvD;KACF;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,SAAS,EAAE,IAAI,WAAW,CAAC;gBACzB,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;KACJ;IAEM,oBAAoB;QACzB,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;KACnC;IAED,IAAY,YAAY;QACtB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,uBAAuB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAChE;QACD,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACtD,CAAC;KACH;IAED,IAAY,WAAW;QACrB,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACvC,CAAC;KACpB;IAEO,IAAI,CAAC,OAAoB;QAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;KAChC;IAEO,IAAI,CAAC,OAAoB;QAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;KAC5B;IAEO,kBAAkB;QACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KACjE;IAEO,0BAA0B;QAChC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,KACE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EACnC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,EAAE,EACH;YACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,iBAAiB,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;KAC7C;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1B;KACF;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5B,OAAO;SACR;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACnC;IAED,IAAY,aAAa;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;KAC1D;IAEO,mBAAmB,CAAC,KAAa;QACvC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,KAAK,CAAC,cAAc,CACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAC5B,EAAE,CAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE;YAC1C,KAAK;SACN,CAAC,CACH,CAAC;KACH;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;aAChD,GAAG,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAC,KAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CACjD;aACA,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAChE,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM;YACjC,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;YACzD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE;gBACd,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACnE;SACF,CAAC,CAAC,CAAC;KACP;IAED,IAAY,wBAAwB;QAClC,OAAO,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,CAC7D,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM;YACrC,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;YAChE,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,KACjC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjE;SACF,CAAC,CACH,CAAC;KACH;IAED,IAAY,uBAAuB;QACjC,OAAO,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;aACvD,GAAG,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAC,KAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CACjD;aACA,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM;YAC1B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;YAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aACrE;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,GAC/D,KAAK,CAAC,KAAK,CACZ;SACF,CAAC,CAAC,CAAC;KACP;IAED,IAAY,oBAAoB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,oBAAoB;aACpD,GAAG,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAC,KAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CACjD;aACA,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM;YAC1B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;YAC5D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAClE;SACF,CAAC,CAAC,CAAC;KACP;IAED,IAAY,yBAAyB;QACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,yBAAyB;aACzD,OAAO,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAC,KACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CACxD;aACA,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM;YACxC,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE;gBACd,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACnE;SACF,CAAC,CAAC,CAAC;KACP;IAED,IAAY,cAAc;QACxB,OAAO;YACL,GAAG,IAAI,CAAC,gBAAgB;YACxB,GAAG,IAAI,CAAC,wBAAwB;YAChC,GAAG,IAAI,CAAC,uBAAuB;YAC/B,GAAG,IAAI,CAAC,oBAAoB;YAC5B,GAAG,IAAI,CAAC,yBAAyB;SAClC,CAAC;KACH;IAEO,iBAAiB,CAAC,cAAoC;QAC5D,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,MAAM,GAAG,MAAM,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAEpD,OAAO;YACL,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK;gBACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC1D,QACE,EAAC,gBAAgB,IACf,MAAM,EAAE,CAAC,GAAG;wBACV,IAAI,IAAI,CAAC,0BAA0B,KAAK,KAAK,EAAE;4BAC7C,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yBACzD;wBACD,IAAI,IAAI,CAAC,4BAA4B,KAAK,KAAK,EAAE;4BAC/C,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yBAC1D;qBACF,EACD,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE;wBAClB,IAAI,gBAAgB,EAAE;4BACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,iCAAiC,EAAE,CAAC;yBAC3E;6BAAM,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE;4BACvC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,CAAC;yBAC7D;wBAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;wBACxC,UAAU,CAAC,QAAQ,EAAE,CAAC;qBACvB,EACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAExB,EAAC,iBAAiB,IAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,UAAU,EAAE,UAAU,GACH,CACJ,EACnB;aACH,CAAC;SACH,CAAC;KACH;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAC,MAAM,OAAU,CAAC;SAC1B;QAED,QACE,EAAC,mBAAmB,IAClB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAEvB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EACvC,EAAC,kBAAkB,IACjB,MAAM,EAAE,CAAC,EAAE;gBACT,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;aACpB,EACD,UAAU,EAAE;gBACV,IAAI,CAAC,4BAA4B;oBAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B,EACD,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,GAC3C,EACtB,EAAC,kBAAkB,IACjB,MAAM,EAAE,CAAC,EAAE;gBACT,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;aACpB,EACD,UAAU,EAAE;gBACV,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB,EACD,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,GACJ,EACtB,EAAC,kBAAkB,IACjB,MAAM,EAAE;aAOP,EACD,OAAO,EAAE;gBACP,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,iCAAiC,EAAE,CAAC;aAC3E,EACD,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,GACJ,CACF,EACtB;KACH;IAEM,kBAAkB;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;;;;;;;;AAlX4B;IAA5B,kBAAkB,EAAE;kDAA4B;AAezC;IAFP,qBAAqB,CAAC,mBAAmB,CAAC;gEAEa;AAGjD;IAFN,qBAAqB,CAAC,cAAc,CAAC;2DAEO;;;;;;;;;;;;;;;;;;;;","names":["AtomicBreadbox"],"sources":["src/components/common/breadbox/breadcrumb-utils.ts","src/components/common/breadbox/stencil-breadcrumb-button.tsx","src/components/common/breadbox/stencil-breadcrumb-clear-all.tsx","src/components/common/breadbox/stencil-breadcrumb-container.tsx","src/components/common/breadbox/stencil-breadcrumb-content.tsx","src/components/common/breadbox/stencil-breadcrumb-show-less.tsx","src/components/common/breadbox/stencil-breadcrumb-show-more.tsx","src/components/search/atomic-breadbox/atomic-breadbox.pcss?tag=atomic-breadbox&encapsulation=shadow","src/components/search/atomic-breadbox/atomic-breadbox.tsx"],"sourcesContent":["import type {Breadcrumb} from './breadcrumb-types';\n\nconst ELLIPSIS = '...';\nconst SEPARATOR = ' / ';\n\nfunction limitPath(path: string[], pathLimit: number) {\n if (path.length <= pathLimit) {\n return path.join(SEPARATOR);\n }\n\n if (pathLimit === 1 && path.length > 1) {\n return [ELLIPSIS, path[path.length - 1]].join(SEPARATOR);\n }\n\n const ellipsedPath = [path[0], ELLIPSIS, ...path.slice(-(pathLimit - 1))];\n return ellipsedPath.join(SEPARATOR);\n}\n\nexport function joinBreadcrumbValues(breadcrumb: Breadcrumb) {\n return Array.isArray(breadcrumb.formattedValue)\n ? breadcrumb.formattedValue.join(SEPARATOR)\n : breadcrumb.formattedValue;\n}\n\nexport function getFirstBreadcrumbValue(\n breadcrumb: Breadcrumb,\n pathLimit: number\n) {\n return Array.isArray(breadcrumb.formattedValue)\n ? limitPath(breadcrumb.formattedValue, pathLimit)\n : breadcrumb.formattedValue;\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {\n joinBreadcrumbValues,\n getFirstBreadcrumbValue,\n} from './breadcrumb-utils';\n\nexport interface BreadcrumbButtonProps {\n onSelectBreadcrumb: () => void;\n setRef: (el: HTMLButtonElement) => void;\n pathLimit: number;\n breadcrumb: Breadcrumb;\n i18n: i18n;\n}\n\nexport const BreadcrumbButton: FunctionalComponent<BreadcrumbButtonProps> = (\n props,\n children\n) => {\n const classNames = [\n 'py-2',\n 'px-3',\n 'flex',\n 'items-center',\n 'rounded-xl',\n 'group',\n ];\n\n const fullValue = joinBreadcrumbValues(props.breadcrumb);\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const title = `${props.breadcrumb.label}: ${fullValue}`;\n const isExclusion = props.breadcrumb.state === 'excluded';\n\n return (\n <li class=\"breadcrumb\" key={value}>\n <Button\n ref={props.setRef}\n part=\"breadcrumb-button\"\n style={isExclusion ? 'outline-error' : 'outline-bg-neutral'}\n class={classNames.join(' ')}\n title={title}\n ariaLabel={props.i18n.t(\n isExclusion\n ? 'remove-exclusion-filter-on'\n : 'remove-inclusion-filter-on',\n {\n value: title,\n }\n )}\n onClick={props.onSelectBreadcrumb}\n >\n {children}\n </Button>\n </li>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbClearAllProps {\n setRef: (el: HTMLButtonElement) => void;\n onClick: ((event?: MouseEvent | undefined) => void) | undefined;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbClearAll: FunctionalComponent<\n BreadcrumbClearAllProps\n> = (props) => {\n return (\n <li key=\"clear-all\">\n <Button\n ref={props.setRef}\n part=\"clear\"\n style=\"text-primary\"\n text={props.i18n.t('clear')}\n class=\"rounded-xl p-2\"\n ariaLabel={props.i18n.t('clear-all-filters')}\n onClick={props.onClick}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\n\nexport interface BreadcrumbContainerProps {\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbContainer: FunctionalComponent<\n BreadcrumbContainerProps\n> = (props, children) => {\n return (\n <div part=\"container\" class=\"text-on-background flex text-sm\">\n <span part=\"label\" class=\"py-2.5 pr-2 pl-0 font-bold\">\n {props.i18n.t('with-colon', {\n text: props.i18n.t('filters'),\n })}\n </span>\n <div part=\"breadcrumb-list-container\" class=\"relative grow\">\n <ul\n part=\"breadcrumb-list\"\n class={`flex gap-1 ${\n props.isCollapsed ? 'absolute w-full flex-nowrap' : 'flex-wrap'\n }`}\n >\n {children}\n </ul>\n </div>\n </div>\n );\n};\n","import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../images/close.svg';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {getFirstBreadcrumbValue} from './breadcrumb-utils';\n\nexport interface BreadcrumbContentProps {\n pathLimit: number;\n isCollapsed: boolean;\n i18n: i18n;\n breadcrumb: Breadcrumb;\n}\n\nexport const BreadcrumbContent: FunctionalComponent<BreadcrumbContentProps> = (\n props\n) => {\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const isExclusion = props.breadcrumb.state === 'excluded';\n const activeColor = isExclusion ? 'error' : 'primary';\n return (\n <Fragment>\n <span\n part=\"breadcrumb-label\"\n class={`max-w-[30ch] truncate group-hover:text-${activeColor} group-focus-visible:text-${activeColor} ${props.breadcrumb.state}`}\n >\n {props.i18n.t('with-colon', {text: props.breadcrumb.label})}\n </span>\n <span\n part=\"breadcrumb-value\"\n class={`ml-1 ${\n props.breadcrumb.content\n ? ''\n : `max-w-[30ch] truncate ${props.breadcrumb.state}`\n }`}\n >\n {props.breadcrumb.content ?? value}\n </span>\n <atomic-icon\n part=\"breadcrumb-clear\"\n class=\"mt-px ml-2 h-2.5 w-2.5\"\n icon={CloseIcon}\n ></atomic-icon>\n </Fragment>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowLessProps {\n onShowLess: () => void;\n setRef: (el: HTMLButtonElement) => void;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowLess: FunctionalComponent<\n BreadcrumbShowLessProps\n> = (props) => {\n if (props.isCollapsed) {\n return;\n }\n\n return (\n <li key=\"show-less\">\n <Button\n ref={props.setRef}\n part=\"show-less\"\n style=\"outline-primary\"\n text={props.i18n.t('show-less')}\n class=\"rounded-xl p-2\"\n onClick={props.onShowLess}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowMoreProps {\n setRef: (el: HTMLButtonElement) => void;\n onShowMore: () => void;\n numberOfCollapsedBreadcrumbs: number;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowMore: FunctionalComponent<\n BreadcrumbShowMoreProps\n> = (props) => {\n if (!props.isCollapsed) {\n return;\n }\n return (\n <li key=\"show-more\">\n <Button\n ref={props.setRef}\n part=\"show-more\"\n style=\"outline-primary\"\n class=\"rounded-xl p-2 whitespace-nowrap\"\n onClick={props.onShowMore}\n ariaLabel={props.i18n.t('show-n-more-filters', {\n value: props.numberOfCollapsedBreadcrumbs,\n })}\n ></Button>\n </li>\n );\n};\n","@import '../../../global/global.pcss';\n@import '../../common/atomic-rating/atomic-rating.pcss';\n\n[part='breadcrumb-label'].excluded,\n[part='breadcrumb-value'].excluded {\n text-decoration: line-through;\n @apply text-error;\n}\n","import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n BreadcrumbManagerState,\n BreadcrumbManager,\n buildBreadcrumbManager,\n FacetManager,\n FacetManagerState,\n buildFacetManager,\n} from '@coveo/headless';\nimport {Component, h, State, Element, Prop} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {\n InitializableComponent,\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {Breadcrumb as BreadboxBreadcrumb} from '../../common/breadbox/breadcrumb-types';\nimport {BreadcrumbButton} from '../../common/breadbox/stencil-breadcrumb-button';\nimport {BreadcrumbClearAll} from '../../common/breadbox/stencil-breadcrumb-clear-all';\nimport {BreadcrumbContainer} from '../../common/breadbox/stencil-breadcrumb-container';\nimport {BreadcrumbContent} from '../../common/breadbox/stencil-breadcrumb-content';\nimport {BreadcrumbShowLess} from '../../common/breadbox/stencil-breadcrumb-show-less';\nimport {BreadcrumbShowMore} from '../../common/breadbox/stencil-breadcrumb-show-more';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-breadbox` component creates breadcrumbs that display a summary of the currently active facet values.\n *\n * @part container - The container of the whole component, list & label.\n * @part breadcrumb-list-container - The container of the list of breadcrumb buttons.\n * @part breadcrumb-list - The list of breadcrumb buttons.\n * @part breadcrumb-button - A single breadcrumb button.\n * @part breadcrumb-label - The breadcrumb label, associated with the facet.\n * @part breadcrumb-value - The breadcrumb formatted value.\n * @part breadcrumb-clear - The button to clear individual filters.\n * @part show-more - The button to display all breadcrumbs.\n * @part show-less - The button to display less breadcrumbs.\n * @part label - The \"Filters\" label.\n * @part clear - The button to clear all filters.\n */\n@Component({\n tag: 'atomic-breadbox',\n styleUrl: 'atomic-breadbox.pcss',\n shadow: true,\n})\nexport class AtomicBreadbox implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private breadcrumbManager!: BreadcrumbManager;\n private resizeObserver?: ResizeObserver;\n private showMore!: HTMLButtonElement;\n private showLess!: HTMLButtonElement;\n private lastRemovedBreadcrumbIndex = 0;\n private numberOfBreadcrumbs = 0;\n private numberOfCollapsedBreadcrumbs = 0;\n private firstExpandedBreadcrumbIndex?: number;\n facetManager!: FacetManager;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() public error!: Error;\n @State() private isCollapsed = true;\n\n private breadcrumbRemovedFocus?: FocusTargetController;\n\n private breadcrumbShowMoreFocus?: FocusTargetController;\n\n private breadcrumbShowLessFocus?: FocusTargetController;\n\n /**\n * This prop allows you to control the display depth\n * of the path by specifying the number of parent or ancestor\n * breadcrumbs links relative to the currently selected value.\n *\n * If the path size is equal to or less than the pathLimit, all values in\n * the path will be displayed without truncation.\n *\n * If the path size exceeds the pathLimit, it will truncate the path by\n * replacing the middle values with ellipses ('...').\n *\n * Minimum: `1`\n * @defaultValue `3`\n */\n @Prop() public pathLimit = 3;\n\n public initialize() {\n this.validateProps();\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.adaptBreadcrumbs());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n private validateProps() {\n new Schema({\n pathLimit: new NumberValue({\n default: 3,\n min: 1,\n required: false,\n }),\n }).validate({\n pathLimit: this.pathLimit,\n });\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n private get focusTargets() {\n if (!this.breadcrumbRemovedFocus) {\n this.breadcrumbRemovedFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowLessFocus) {\n this.breadcrumbShowLessFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowMoreFocus) {\n this.breadcrumbShowMoreFocus = new FocusTargetController(this);\n }\n return {\n breadcrumbRemovedFocus: this.breadcrumbRemovedFocus,\n breadcrumbShowLessFocus: this.breadcrumbShowLessFocus,\n breadcrumbShowMoreFocus: this.breadcrumbShowMoreFocus,\n };\n }\n\n private get breadcrumbs() {\n return Array.from(\n this.host.shadowRoot!.querySelectorAll('li.breadcrumb')\n ) as HTMLElement[];\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private showAllBreadcrumbs() {\n this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));\n }\n\n private hideOverflowingBreadcrumbs() {\n let hiddenBreadcrumbs = 0;\n for (\n let i = this.breadcrumbs.length - 1;\n this.isOverflowing && i >= 0;\n i--\n ) {\n this.hide(this.breadcrumbs[i]);\n hiddenBreadcrumbs++;\n }\n this.updateShowMoreValue(hiddenBreadcrumbs);\n }\n\n private updateShowLessDisplay() {\n this.show(this.showLess);\n if (this.showLess.offsetTop === 0) {\n this.hide(this.showLess);\n }\n }\n\n private adaptBreadcrumbs() {\n if (!this.breadcrumbs.length) {\n return;\n }\n this.showAllBreadcrumbs();\n\n if (!this.isCollapsed) {\n this.updateShowLessDisplay();\n return;\n }\n\n this.updateShowMoreValue(this.breadcrumbs.length);\n this.hideOverflowingBreadcrumbs();\n }\n\n private get isOverflowing() {\n const listElement = this.host.shadowRoot!.querySelector('ul');\n if (!listElement) {\n return false;\n }\n return listElement.scrollWidth > listElement.clientWidth;\n }\n\n private updateShowMoreValue(value: number) {\n this.numberOfCollapsedBreadcrumbs = value;\n if (value === 0) {\n this.hide(this.showMore);\n return;\n }\n\n this.show(this.showMore);\n this.showMore.textContent = `+ ${value.toLocaleString(\n this.bindings.i18n.language\n )}`;\n\n this.showMore.setAttribute(\n 'aria-label',\n this.bindings.i18n.t('show-n-more-filters', {\n value,\n })\n );\n }\n\n private get facetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.facetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .filter(({facetId}) => this.bindings.store.state.facets[facetId])\n .map(({value, facetId, field}) => ({\n facetId,\n label: this.bindings.store.state.facets[facetId]?.label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get categoryFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.categoryFacetBreadcrumbs.map(\n ({facetId, field, path, deselect}) => ({\n facetId,\n label: this.bindings.store.state.categoryFacets[facetId].label(),\n deselect: deselect,\n formattedValue: path.map((pathValue) =>\n getFieldValueCaption(field, pathValue.value, this.bindings.i18n)\n ),\n })\n );\n }\n\n private get numericFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.numericFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.numericFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.numericFacets[facetId].format(value.value),\n ],\n content: this.bindings.store.state.numericFacets[facetId].content?.(\n value.value\n ),\n }));\n }\n\n private get dateFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.dateFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.dateFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.dateFacets[facetId].format(value.value),\n ],\n }));\n }\n\n private get automaticFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.automaticFacetBreadcrumbs\n .flatMap(({facetId, field, label, values}) =>\n values.map((value) => ({value, facetId, field, label}))\n )\n .map(({value, facetId, field, label}) => ({\n facetId,\n state: value.value.state,\n label: label ? label : field,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get allBreadcrumbs(): BreadboxBreadcrumb[] {\n return [\n ...this.facetBreadcrumbs,\n ...this.categoryFacetBreadcrumbs,\n ...this.numericFacetBreadcrumbs,\n ...this.dateFacetBreadcrumbs,\n ...this.automaticFacetBreadcrumbs,\n ];\n }\n\n private renderBreadcrumbs(allBreadcrumbs: BreadboxBreadcrumb[]) {\n const sortedBreadcrumbs = allBreadcrumbs.sort((a, b) => {\n const indexA = this.facetManagerState.facetIds.indexOf(a.facetId);\n const indexB = this.facetManagerState.facetIds.indexOf(b.facetId);\n return indexA - indexB;\n });\n this.numberOfBreadcrumbs = sortedBreadcrumbs.length;\n\n return [\n sortedBreadcrumbs.map((breadcrumb, index) => {\n const isLastBreadcrumb = this.allBreadcrumbs.length === 1;\n return (\n <BreadcrumbButton\n setRef={(ref) => {\n if (this.lastRemovedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbRemovedFocus.setTarget(ref);\n }\n if (this.firstExpandedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbShowMoreFocus.setTarget(ref);\n }\n }}\n pathLimit={this.pathLimit}\n breadcrumb={breadcrumb}\n onSelectBreadcrumb={() => {\n if (isLastBreadcrumb) {\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n } else if (this.numberOfBreadcrumbs > 1) {\n this.focusTargets.breadcrumbRemovedFocus.focusAfterSearch();\n }\n\n this.lastRemovedBreadcrumbIndex = index;\n breadcrumb.deselect();\n }}\n i18n={this.bindings.i18n}\n >\n <BreadcrumbContent\n pathLimit={this.pathLimit}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n breadcrumb={breadcrumb}\n ></BreadcrumbContent>\n </BreadcrumbButton>\n );\n }),\n ];\n }\n\n public render() {\n const allBreadcrumbs = this.allBreadcrumbs;\n\n if (!allBreadcrumbs.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <BreadcrumbContainer\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n >\n {this.renderBreadcrumbs(allBreadcrumbs)}\n <BreadcrumbShowMore\n setRef={(el) => {\n this.showMore = el;\n }}\n onShowMore={() => {\n this.firstExpandedBreadcrumbIndex =\n this.numberOfBreadcrumbs - this.numberOfCollapsedBreadcrumbs;\n this.focusTargets.breadcrumbShowMoreFocus.focusOnNextTarget();\n this.isCollapsed = false;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n numberOfCollapsedBreadcrumbs={this.numberOfCollapsedBreadcrumbs}\n ></BreadcrumbShowMore>\n <BreadcrumbShowLess\n setRef={(el) => {\n this.showLess = el;\n }}\n onShowLess={() => {\n this.focusTargets.breadcrumbShowLessFocus.focusOnNextTarget();\n this.isCollapsed = true;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbShowLess>\n <BreadcrumbClearAll\n setRef={() => {\n const isFocusTarget =\n this.lastRemovedBreadcrumbIndex === this.numberOfBreadcrumbs;\n\n isFocusTarget\n ? this.focusTargets.breadcrumbRemovedFocus.setTarget\n : undefined;\n }}\n onClick={async () => {\n this.breadcrumbManager.deselectAll();\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbClearAll>\n </BreadcrumbContainer>\n );\n }\n\n public componentDidRender() {\n this.adaptBreadcrumbs();\n }\n}\n"],"version":3}
|