@coveo/atomic 3.33.8-pre.1c7ce2c966 → 3.33.8-pre.1de0612019
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/atomic.esm.js.map +1 -1
- package/dist/atomic/autoloader/index.cjs.js +2 -2
- package/dist/atomic/autoloader/index.esm.js +2 -2
- package/dist/atomic/components/_index.d.ts +2 -4
- package/dist/atomic/components/_index.js +1 -2
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +2 -2
- package/dist/atomic/components/atomic-category-facet.js.map +1 -1
- package/dist/atomic/components/atomic-citation.js +1 -1
- package/dist/atomic/components/atomic-facet-manager.js +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
- package/dist/atomic/components/atomic-html2.js +1 -1
- package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-facet.js +37 -4
- package/dist/atomic/components/atomic-insight-facet.js.map +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
- package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-interface.js +1 -1
- package/dist/atomic/components/atomic-insight-no-results.js +1 -1
- package/dist/atomic/components/atomic-insight-numeric-facet.js +2 -2
- package/dist/atomic/components/atomic-insight-numeric-facet.js.map +1 -1
- package/dist/atomic/components/atomic-insight-pager.js +5 -41
- package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
- package/dist/atomic/components/atomic-insight-query-error.js +1 -1
- package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
- package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-result-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
- package/dist/atomic/components/atomic-insight-result-children.js +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result2.js +1 -1
- package/dist/atomic/components/atomic-insight-search-box.js +2 -2
- package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-insight-tabs.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
- package/dist/atomic/components/atomic-ipx-body2.js +2 -2
- package/dist/atomic/components/atomic-ipx-button.js +2 -2
- package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
- package/dist/atomic/components/atomic-ipx-modal.js +2 -2
- package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
- package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
- package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
- package/dist/atomic/components/atomic-load-more-results.js +1 -1
- package/dist/atomic/components/atomic-no-results.js +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +3 -2
- package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
- package/dist/atomic/components/{atomic-facet.d.ts → atomic-pager.d.ts} +4 -4
- package/dist/atomic/components/atomic-pager.js +134 -0
- package/dist/atomic/components/atomic-pager.js.map +1 -0
- package/dist/atomic/components/atomic-query-error.js +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-recs-error.js +1 -1
- package/dist/atomic/components/atomic-recs-interface.js +1 -1
- package/dist/atomic/components/atomic-recs-list.js +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-relevance-inspector.js +46 -1
- package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-search-box-instant-results.js +1 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +15 -4
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
- package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
- package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +2 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +12 -5
- package/dist/atomic/components/components/common/facets/depends-on.js +62 -0
- package/dist/atomic/components/components/common/facets/popover/popover-type.js +5 -0
- package/dist/atomic/components/components/search/atomic-facet/atomic-facet.js +613 -0
- package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +57 -0
- package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +495 -0
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +20 -9
- package/dist/atomic/components/components/search/index.js +2 -1
- package/dist/atomic/components/components/search/lazy-index.js +2 -1
- package/dist/atomic/components/facet-number-input.js +2 -2
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/{facet-guard.js → stencil-facet-guard.js} +2 -1
- package/dist/atomic/components/stencil-facet-guard.js.map +1 -0
- package/dist/atomic/components/stencil-pager-navigation.js +42 -0
- package/dist/atomic/components/stencil-pager-navigation.js.map +1 -0
- package/dist/atomic/components/tab-button.js +1 -1
- package/dist/atomic/components/tab-popover.js +1 -1
- package/dist/atomic/{p-6329ff94.entry.js → p-004adbb8.entry.js} +2 -2
- package/dist/atomic/{p-d0f47b33.entry.js → p-00a6ab8c.entry.js} +2 -2
- package/dist/atomic/{p-3b20b011.entry.js → p-0610b3e7.entry.js} +2 -2
- package/dist/atomic/{p-ee6771f1.entry.js → p-07b6424c.entry.js} +2 -2
- package/dist/atomic/{p-83c9244a.entry.js → p-0e27d4f2.entry.js} +2 -2
- package/dist/atomic/{p-c126ee6b.entry.js → p-0e5dc57f.entry.js} +2 -2
- package/dist/atomic/p-0edea6f9.entry.js +2 -0
- package/dist/atomic/{p-20341936.entry.js → p-10b5e0f3.entry.js} +2 -2
- package/dist/atomic/{p-71bb8125.entry.js → p-1140ac4d.entry.js} +2 -2
- package/dist/atomic/{p-2ca352f4.entry.js → p-15406648.entry.js} +2 -2
- package/dist/atomic/{p-a3efa89e.entry.js → p-160553ce.entry.js} +2 -2
- package/dist/atomic/p-211d7d6a.js +2 -0
- package/dist/atomic/p-211d7d6a.js.map +1 -0
- package/dist/atomic/{p-516b8165.entry.js → p-24df7251.entry.js} +2 -2
- package/dist/atomic/{p-757de797.entry.js → p-2a4e9425.entry.js} +2 -2
- package/dist/atomic/{p-a02b1209.entry.js → p-2ac75719.entry.js} +2 -2
- package/dist/atomic/{p-26a51a77.entry.js → p-3213225f.entry.js} +2 -2
- package/dist/atomic/{p-45c4685e.entry.js → p-3c532cda.entry.js} +2 -2
- package/dist/atomic/{p-e8d5e852.entry.js → p-41c5d5fa.entry.js} +2 -2
- package/dist/atomic/{p-e23b3334.entry.js → p-441b1a7b.entry.js} +2 -2
- package/dist/atomic/{p-4c30ca3e.entry.js → p-454a0328.entry.js} +2 -2
- package/dist/atomic/p-4cb7756c.entry.js +2 -0
- package/dist/atomic/p-4cb7756c.entry.js.map +1 -0
- package/dist/atomic/{p-aab5c11d.js → p-4df497dc.js} +2 -2
- package/dist/atomic/{p-d2d22ab2.entry.js → p-618c6967.entry.js} +2 -2
- package/dist/atomic/p-6de44060.entry.js +2 -0
- package/dist/atomic/p-6de44060.entry.js.map +1 -0
- package/dist/atomic/{p-c1999888.entry.js → p-754909fe.entry.js} +2 -2
- package/dist/atomic/p-79a9a372.entry.js +2 -0
- package/dist/atomic/{p-fb7ad34b.entry.js.map → p-79a9a372.entry.js.map} +1 -1
- package/dist/atomic/{p-36fab158.entry.js → p-7a6468a7.entry.js} +2 -2
- package/dist/atomic/{p-3a2c900c.entry.js → p-7b1a3cab.entry.js} +2 -2
- package/dist/atomic/{p-d93adf52.entry.js → p-7d63bf7b.entry.js} +2 -2
- package/dist/atomic/{p-d364064c.entry.js → p-7f40e57d.entry.js} +2 -2
- package/dist/atomic/{p-65373475.entry.js → p-7fe2dfcd.entry.js} +2 -2
- package/dist/atomic/{p-4e9d1f9e.entry.js → p-828cea10.entry.js} +2 -2
- package/dist/atomic/{p-d785121d.entry.js → p-856e858c.entry.js} +2 -2
- package/dist/atomic/{p-8acb1466.entry.js → p-85f165af.entry.js} +2 -2
- package/dist/atomic/{p-e162805d.entry.js → p-8a7a23b7.entry.js} +2 -2
- package/dist/atomic/{p-604c4085.entry.js → p-8df7270f.entry.js} +2 -2
- package/dist/atomic/{p-3af5c567.entry.js → p-8fb8c4f0.entry.js} +2 -2
- package/dist/atomic/p-8fb8c4f0.entry.js.map +1 -0
- package/dist/atomic/{p-8256cd44.entry.js → p-9147b0db.entry.js} +2 -2
- package/dist/atomic/{p-4915faeb.entry.js → p-926fe2d7.entry.js} +2 -2
- package/dist/atomic/{p-37374964.entry.js → p-9727f36b.entry.js} +2 -2
- package/dist/atomic/p-97829295.entry.js +2 -0
- package/dist/atomic/{p-31aa052e.entry.js → p-97e42c43.entry.js} +2 -2
- package/dist/atomic/{p-9883415e.entry.js → p-9b92b4e2.entry.js} +2 -2
- package/dist/atomic/{p-1ef658d8.entry.js → p-9d023f0b.entry.js} +2 -2
- package/dist/atomic/{p-40635c2d.entry.js → p-9e771351.entry.js} +2 -2
- package/dist/atomic/{p-035f8dc8.entry.js → p-a3fa6695.entry.js} +2 -2
- package/dist/atomic/{p-1f059522.js → p-aa3ac5aa.js} +1 -1
- package/dist/atomic/p-aa3ac5aa.js.map +1 -0
- package/dist/atomic/{p-f0c2dfe8.entry.js → p-abb14108.entry.js} +2 -2
- package/dist/atomic/{p-48f57fd8.entry.js → p-b0c50194.entry.js} +2 -2
- package/dist/atomic/{p-b0b17e21.entry.js → p-b4c34553.entry.js} +2 -2
- package/dist/atomic/{p-98c5b9b8.entry.js → p-b6377fb6.entry.js} +2 -2
- package/dist/atomic/{p-ea446721.entry.js → p-bd32625e.entry.js} +2 -2
- package/dist/atomic/{p-939eaaac.entry.js → p-bd99fcc1.entry.js} +2 -2
- package/dist/atomic/{p-99b8d52d.entry.js → p-bf49fed3.entry.js} +2 -2
- package/dist/atomic/{p-3f912e98.entry.js → p-c08f4ee6.entry.js} +2 -2
- package/dist/atomic/p-c2b4b401.entry.js +2 -0
- package/dist/atomic/{p-a53c7821.entry.js → p-c538c8ac.entry.js} +2 -2
- package/dist/atomic/{p-be1b98a6.entry.js → p-c8d29aa6.entry.js} +2 -2
- package/dist/atomic/{p-43d708cb.entry.js → p-c9fe4f77.entry.js} +2 -2
- package/dist/atomic/{p-f073a78d.entry.js → p-cc68642f.entry.js} +2 -2
- package/dist/atomic/{p-00e5bb15.entry.js → p-ce41c447.entry.js} +2 -2
- package/dist/atomic/p-d4ad7336.entry.js +2 -0
- package/dist/atomic/p-d4ad7336.entry.js.map +1 -0
- package/dist/atomic/{p-627e1265.entry.js → p-d50c96c2.entry.js} +2 -2
- package/dist/atomic/{p-bc0d6d3d.entry.js → p-dee60597.entry.js} +2 -2
- package/dist/atomic/{p-b2ff1330.entry.js → p-e1c99e2e.entry.js} +2 -2
- package/dist/atomic/{p-6e6d686e.entry.js → p-e3af1bb4.entry.js} +2 -2
- package/dist/atomic/{p-bf50b64d.entry.js → p-e6a7e7b2.entry.js} +2 -2
- package/dist/atomic/{p-6f988841.entry.js → p-e7c6a479.entry.js} +2 -2
- package/dist/atomic/p-e7c6a479.entry.js.map +1 -0
- package/dist/atomic/{p-21b4ed5f.entry.js → p-eb20b6ea.entry.js} +2 -2
- package/dist/atomic/{p-6b3b975e.entry.js → p-ed41ce77.entry.js} +2 -2
- package/dist/atomic/{p-594488f2.entry.js → p-f0012580.entry.js} +2 -2
- package/dist/atomic/{p-fea7bf3b.entry.js → p-f936f55e.entry.js} +2 -2
- package/dist/atomic/{p-811d6dcb.entry.js → p-fa376d3d.entry.js} +2 -2
- package/dist/atomic/p-fa376d3d.entry.js.map +1 -0
- package/dist/atomic/{p-fbfe913d.entry.js → p-fb1a1e2e.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-d9548c8b.js → analytics-config-eb68e400.js} +2 -2
- package/dist/cjs/{analytics-config-d9548c8b.js.map → analytics-config-eb68e400.js.map} +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
- package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-html.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +38 -10
- package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -41
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +3 -2
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-pager.cjs.entry.js +121 -0
- package/dist/cjs/atomic-pager.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
- package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +15 -4
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
- package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/index-757bc886.js +8 -12
- package/dist/cjs/{facet-guard-328b588d.js → stencil-facet-guard-9573df7f.js} +2 -1
- package/dist/cjs/stencil-facet-guard-9573df7f.js.map +1 -0
- package/dist/cjs/stencil-pager-navigation-c20b8a95.js +48 -0
- package/dist/cjs/stencil-pager-navigation-c20b8a95.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-da8447f3.js → analytics-config-cf5be4d1.js} +2 -2
- package/dist/esm/{analytics-config-da8447f3.js.map → analytics-config-cf5be4d1.js.map} +1 -1
- package/dist/esm/atomic-category-facet.entry.js +2 -2
- package/dist/esm/atomic-category-facet.entry.js.map +1 -1
- package/dist/esm/atomic-citation.entry.js +1 -1
- package/dist/esm/atomic-facet-manager.entry.js +1 -1
- package/dist/esm/atomic-facet-number-input.entry.js +2 -2
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
- package/dist/esm/atomic-html.entry.js +1 -1
- package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +38 -10
- package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +2 -2
- package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +7 -41
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +1 -1
- package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
- package/dist/esm/atomic-insight-result-children.entry.js +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
- package/dist/esm/atomic-insight-result.entry.js +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-tabs.entry.js +1 -1
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
- package/dist/esm/atomic-ipx-body.entry.js +2 -2
- package/dist/esm/atomic-ipx-button.entry.js +2 -2
- package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
- package/dist/esm/atomic-ipx-modal.entry.js +2 -2
- package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
- package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
- package/dist/esm/atomic-load-more-results.entry.js +1 -1
- package/dist/esm/atomic-no-results.entry.js +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +3 -2
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-pager.entry.js +117 -0
- package/dist/esm/atomic-pager.entry.js.map +1 -0
- package/dist/esm/atomic-query-error.entry.js +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-recs-error.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +2 -2
- package/dist/esm/atomic-recs-list.entry.js +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
- package/dist/esm/atomic-result-children.entry.js +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
- package/dist/esm/atomic-search-box-instant-results.entry.js +1 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +15 -4
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
- package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
- package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
- package/dist/esm/atomic-tab-button.entry.js +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/index-3f35faca.js +8 -12
- package/dist/esm/{facet-guard-4b795e90.js → stencil-facet-guard-edbfa966.js} +2 -1
- package/dist/esm/stencil-facet-guard-edbfa966.js.map +1 -0
- package/dist/esm/stencil-pager-navigation-7261a834.js +42 -0
- package/dist/esm/stencil-pager-navigation-7261a834.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
- package/dist/types/components/search/{facets/atomic-facet → atomic-facet}/atomic-facet.d.ts +13 -9
- package/dist/types/components/search/atomic-pager/atomic-pager.d.ts +16 -26
- package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +46 -44
- package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +2 -1
- package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +3 -1
- package/dist/types/components/search/index.d.ts +2 -1
- package/dist/types/components.d.ts +67 -338
- package/docs/atomic-docs.json +6187 -7301
- package/package.json +4 -4
- package/dist/atomic/components/atomic-facet.js +0 -470
- package/dist/atomic/components/atomic-facet.js.map +0 -1
- package/dist/atomic/components/atomic-relevance-inspector2.js +0 -50
- package/dist/atomic/components/atomic-relevance-inspector2.js.map +0 -1
- package/dist/atomic/components/atomic-search-interface.d.ts +0 -11
- package/dist/atomic/components/atomic-search-interface.js +0 -552
- package/dist/atomic/components/atomic-search-interface.js.map +0 -1
- package/dist/atomic/components/components/search/atomic-pager/atomic-pager.js +0 -178
- package/dist/atomic/components/facet-guard.js.map +0 -1
- package/dist/atomic/components/stencil-facet-value.js +0 -39
- package/dist/atomic/components/stencil-facet-value.js.map +0 -1
- package/dist/atomic/p-1992b245.entry.js +0 -2
- package/dist/atomic/p-1f059522.js.map +0 -1
- package/dist/atomic/p-3af5c567.entry.js.map +0 -1
- package/dist/atomic/p-534b6a0a.entry.js +0 -2
- package/dist/atomic/p-534b6a0a.entry.js.map +0 -1
- package/dist/atomic/p-593903ec.entry.js +0 -2
- package/dist/atomic/p-593903ec.entry.js.map +0 -1
- package/dist/atomic/p-5ca21deb.js +0 -2
- package/dist/atomic/p-5ca21deb.js.map +0 -1
- package/dist/atomic/p-6f988841.entry.js.map +0 -1
- package/dist/atomic/p-811d6dcb.entry.js.map +0 -1
- package/dist/atomic/p-d11b2b24.entry.js +0 -2
- package/dist/atomic/p-d11b2b24.entry.js.map +0 -1
- package/dist/atomic/p-d24d34a7.entry.js +0 -2
- package/dist/atomic/p-d6969a23.entry.js +0 -2
- package/dist/atomic/p-d6969a23.entry.js.map +0 -1
- package/dist/atomic/p-e2afb475.entry.js +0 -2
- package/dist/atomic/p-fb7ad34b.entry.js +0 -2
- package/dist/cjs/atomic-facet.cjs.entry.js +0 -453
- package/dist/cjs/atomic-facet.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +0 -511
- package/dist/cjs/atomic-search-interface.cjs.entry.js.map +0 -1
- package/dist/cjs/facet-guard-328b588d.js.map +0 -1
- package/dist/cjs/stencil-facet-value-e67c9332.js +0 -41
- package/dist/cjs/stencil-facet-value-e67c9332.js.map +0 -1
- package/dist/esm/atomic-facet.entry.js +0 -449
- package/dist/esm/atomic-facet.entry.js.map +0 -1
- package/dist/esm/atomic-search-interface.entry.js +0 -507
- package/dist/esm/atomic-search-interface.entry.js.map +0 -1
- package/dist/esm/facet-guard-4b795e90.js.map +0 -1
- package/dist/esm/stencil-facet-value-30dc9b6c.js +0 -39
- package/dist/esm/stencil-facet-value-30dc9b6c.js.map +0 -1
- /package/dist/atomic/{p-6329ff94.entry.js.map → p-004adbb8.entry.js.map} +0 -0
- /package/dist/atomic/{p-d0f47b33.entry.js.map → p-00a6ab8c.entry.js.map} +0 -0
- /package/dist/atomic/{p-3b20b011.entry.js.map → p-0610b3e7.entry.js.map} +0 -0
- /package/dist/atomic/{p-ee6771f1.entry.js.map → p-07b6424c.entry.js.map} +0 -0
- /package/dist/atomic/{p-83c9244a.entry.js.map → p-0e27d4f2.entry.js.map} +0 -0
- /package/dist/atomic/{p-c126ee6b.entry.js.map → p-0e5dc57f.entry.js.map} +0 -0
- /package/dist/atomic/{p-1992b245.entry.js.map → p-0edea6f9.entry.js.map} +0 -0
- /package/dist/atomic/{p-20341936.entry.js.map → p-10b5e0f3.entry.js.map} +0 -0
- /package/dist/atomic/{p-71bb8125.entry.js.map → p-1140ac4d.entry.js.map} +0 -0
- /package/dist/atomic/{p-2ca352f4.entry.js.map → p-15406648.entry.js.map} +0 -0
- /package/dist/atomic/{p-a3efa89e.entry.js.map → p-160553ce.entry.js.map} +0 -0
- /package/dist/atomic/{p-516b8165.entry.js.map → p-24df7251.entry.js.map} +0 -0
- /package/dist/atomic/{p-757de797.entry.js.map → p-2a4e9425.entry.js.map} +0 -0
- /package/dist/atomic/{p-a02b1209.entry.js.map → p-2ac75719.entry.js.map} +0 -0
- /package/dist/atomic/{p-26a51a77.entry.js.map → p-3213225f.entry.js.map} +0 -0
- /package/dist/atomic/{p-45c4685e.entry.js.map → p-3c532cda.entry.js.map} +0 -0
- /package/dist/atomic/{p-e8d5e852.entry.js.map → p-41c5d5fa.entry.js.map} +0 -0
- /package/dist/atomic/{p-e23b3334.entry.js.map → p-441b1a7b.entry.js.map} +0 -0
- /package/dist/atomic/{p-4c30ca3e.entry.js.map → p-454a0328.entry.js.map} +0 -0
- /package/dist/atomic/{p-aab5c11d.js.map → p-4df497dc.js.map} +0 -0
- /package/dist/atomic/{p-d2d22ab2.entry.js.map → p-618c6967.entry.js.map} +0 -0
- /package/dist/atomic/{p-c1999888.entry.js.map → p-754909fe.entry.js.map} +0 -0
- /package/dist/atomic/{p-36fab158.entry.js.map → p-7a6468a7.entry.js.map} +0 -0
- /package/dist/atomic/{p-3a2c900c.entry.js.map → p-7b1a3cab.entry.js.map} +0 -0
- /package/dist/atomic/{p-d93adf52.entry.js.map → p-7d63bf7b.entry.js.map} +0 -0
- /package/dist/atomic/{p-d364064c.entry.js.map → p-7f40e57d.entry.js.map} +0 -0
- /package/dist/atomic/{p-65373475.entry.js.map → p-7fe2dfcd.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e9d1f9e.entry.js.map → p-828cea10.entry.js.map} +0 -0
- /package/dist/atomic/{p-d785121d.entry.js.map → p-856e858c.entry.js.map} +0 -0
- /package/dist/atomic/{p-8acb1466.entry.js.map → p-85f165af.entry.js.map} +0 -0
- /package/dist/atomic/{p-e162805d.entry.js.map → p-8a7a23b7.entry.js.map} +0 -0
- /package/dist/atomic/{p-604c4085.entry.js.map → p-8df7270f.entry.js.map} +0 -0
- /package/dist/atomic/{p-8256cd44.entry.js.map → p-9147b0db.entry.js.map} +0 -0
- /package/dist/atomic/{p-4915faeb.entry.js.map → p-926fe2d7.entry.js.map} +0 -0
- /package/dist/atomic/{p-37374964.entry.js.map → p-9727f36b.entry.js.map} +0 -0
- /package/dist/atomic/{p-d24d34a7.entry.js.map → p-97829295.entry.js.map} +0 -0
- /package/dist/atomic/{p-31aa052e.entry.js.map → p-97e42c43.entry.js.map} +0 -0
- /package/dist/atomic/{p-9883415e.entry.js.map → p-9b92b4e2.entry.js.map} +0 -0
- /package/dist/atomic/{p-1ef658d8.entry.js.map → p-9d023f0b.entry.js.map} +0 -0
- /package/dist/atomic/{p-40635c2d.entry.js.map → p-9e771351.entry.js.map} +0 -0
- /package/dist/atomic/{p-035f8dc8.entry.js.map → p-a3fa6695.entry.js.map} +0 -0
- /package/dist/atomic/{p-f0c2dfe8.entry.js.map → p-abb14108.entry.js.map} +0 -0
- /package/dist/atomic/{p-48f57fd8.entry.js.map → p-b0c50194.entry.js.map} +0 -0
- /package/dist/atomic/{p-b0b17e21.entry.js.map → p-b4c34553.entry.js.map} +0 -0
- /package/dist/atomic/{p-98c5b9b8.entry.js.map → p-b6377fb6.entry.js.map} +0 -0
- /package/dist/atomic/{p-ea446721.entry.js.map → p-bd32625e.entry.js.map} +0 -0
- /package/dist/atomic/{p-939eaaac.entry.js.map → p-bd99fcc1.entry.js.map} +0 -0
- /package/dist/atomic/{p-99b8d52d.entry.js.map → p-bf49fed3.entry.js.map} +0 -0
- /package/dist/atomic/{p-3f912e98.entry.js.map → p-c08f4ee6.entry.js.map} +0 -0
- /package/dist/atomic/{p-e2afb475.entry.js.map → p-c2b4b401.entry.js.map} +0 -0
- /package/dist/atomic/{p-a53c7821.entry.js.map → p-c538c8ac.entry.js.map} +0 -0
- /package/dist/atomic/{p-be1b98a6.entry.js.map → p-c8d29aa6.entry.js.map} +0 -0
- /package/dist/atomic/{p-43d708cb.entry.js.map → p-c9fe4f77.entry.js.map} +0 -0
- /package/dist/atomic/{p-f073a78d.entry.js.map → p-cc68642f.entry.js.map} +0 -0
- /package/dist/atomic/{p-00e5bb15.entry.js.map → p-ce41c447.entry.js.map} +0 -0
- /package/dist/atomic/{p-627e1265.entry.js.map → p-d50c96c2.entry.js.map} +0 -0
- /package/dist/atomic/{p-bc0d6d3d.entry.js.map → p-dee60597.entry.js.map} +0 -0
- /package/dist/atomic/{p-b2ff1330.entry.js.map → p-e1c99e2e.entry.js.map} +0 -0
- /package/dist/atomic/{p-6e6d686e.entry.js.map → p-e3af1bb4.entry.js.map} +0 -0
- /package/dist/atomic/{p-bf50b64d.entry.js.map → p-e6a7e7b2.entry.js.map} +0 -0
- /package/dist/atomic/{p-21b4ed5f.entry.js.map → p-eb20b6ea.entry.js.map} +0 -0
- /package/dist/atomic/{p-6b3b975e.entry.js.map → p-ed41ce77.entry.js.map} +0 -0
- /package/dist/atomic/{p-594488f2.entry.js.map → p-f0012580.entry.js.map} +0 -0
- /package/dist/atomic/{p-fea7bf3b.entry.js.map → p-f936f55e.entry.js.map} +0 -0
- /package/dist/atomic/{p-fbfe913d.entry.js.map → p-fb1a1e2e.entry.js.map} +0 -0
- /package/dist/types/components/common/facets/{facet-guard.d.ts → stencil-facet-guard.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"atomic-search-interface.js","mappings":"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","names":["AtomicSearchInterface","i18next"],"sources":["src/components/search/atomic-search-layout/search-layout.ts","src/components/search/atomic-search-interface/analytics-config.ts","src/components/search/atomic-search-interface/store.ts","src/components/search/atomic-search-interface/atomic-search-interface.pcss?tag=atomic-search-interface&encapsulation=shadow","src/components/search/atomic-search-interface/atomic-search-interface.tsx"],"sourcesContent":["import {buildCommonLayout} from '../../common/atomic-layout-section/layout';\n\nexport const layoutWebComponentTagName = 'atomic-search-layout';\nexport const containerWebComponentTagName = 'atomic-search-interface';\nexport const noResultsSelector = `${containerWebComponentTagName}-no-results`;\nexport const errorSelector = `${containerWebComponentTagName}-error`;\nexport const firstSearchExecutedSelector = `${containerWebComponentTagName}-search-executed`;\n\nexport function makeDesktopQuery(mobileBreakpoint: string) {\n return `only screen and (min-width: ${mobileBreakpoint})`;\n}\nexport function buildSearchLayout(\n element: HTMLElement,\n mobileBreakpoint: string\n) {\n return buildCommonLayout(\n element,\n mobileBreakpoint,\n layoutWebComponentTagName,\n containerWebComponentTagName,\n noResultsSelector,\n errorSelector,\n 'atomic-refine-toggle',\n 'atomic-sort-dropdown'\n );\n}\n","import type {\n AnalyticsConfiguration,\n SearchEngineConfiguration,\n} from '@coveo/headless';\nimport {\n type AnalyticsPayload,\n augmentAnalyticsConfigWithAtomicVersion,\n augmentAnalyticsConfigWithDocument,\n augmentAnalyticsWithAtomicVersion,\n augmentWithExternalMiddleware,\n getNextAnalyticsConfig,\n} from '../../common/interface/analytics-config';\nimport type {createSearchStore} from './store';\n\nexport function getAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n switch (searchEngineConfig.analytics?.analyticsMode) {\n case 'next':\n return getNextAnalyticsConfig(searchEngineConfig, enabled);\n default:\n return getLegacyAnalyticsConfig(searchEngineConfig, enabled, store);\n }\n}\n\nfunction getLegacyAnalyticsConfig(\n searchEngineConfig: SearchEngineConfiguration,\n enabled: boolean,\n store: ReturnType<typeof createSearchStore>\n): AnalyticsConfiguration {\n const analyticsClientMiddleware = (\n event: string,\n payload: AnalyticsPayload\n ) => augmentAnalytics(event, payload, store, searchEngineConfig);\n\n const defaultConfiguration: AnalyticsConfiguration = {\n analyticsClientMiddleware,\n enabled,\n ...augmentAnalyticsConfigWithDocument(),\n };\n\n const immutableConfiguration: AnalyticsConfiguration = {\n ...augmentAnalyticsConfigWithAtomicVersion(),\n };\n\n if (searchEngineConfig.analytics) {\n return {\n ...defaultConfiguration,\n ...searchEngineConfig.analytics,\n analyticsClientMiddleware,\n ...immutableConfiguration,\n };\n }\n\n return {\n ...defaultConfiguration,\n ...immutableConfiguration,\n };\n}\n\nfunction augmentAnalytics(\n event: string,\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>,\n config: SearchEngineConfiguration\n) {\n let result = augmentWithExternalMiddleware(event, payload, config);\n result = augmentAnalyticsWithAtomicVersion(result);\n result = augmentAnalyticsWithFacetTitles(result, store);\n return result;\n}\n\nfunction augmentAnalyticsWithFacetTitles(\n payload: AnalyticsPayload,\n store: ReturnType<typeof createSearchStore>\n) {\n const allFacets = store.getAllFacets();\n const getAtomicFacetLabelOrOriginalTitle = (\n facetId: string,\n originalTitle: string\n ) => (allFacets[facetId] ? allFacets[facetId].label() : originalTitle);\n\n if (payload.facetState) {\n payload.facetState = payload.facetState.map(\n (analyticsFacetState: {id: string; title: string}) => {\n const {id, title: originalTitle} = analyticsFacetState;\n return {\n ...analyticsFacetState,\n title: getAtomicFacetLabelOrOriginalTitle(id, originalTitle),\n };\n }\n );\n }\n\n if (\n payload.customData?.facetTitle &&\n payload.customData.facetId &&\n payload.customData.facetTitle\n ) {\n payload.customData.facetTitle = getAtomicFacetLabelOrOriginalTitle(\n payload.customData.facetId,\n payload.customData.facetTitle\n );\n }\n return payload;\n}\n","import type {\n DateFacetValue,\n NumericFacetValue,\n SearchEngine,\n SortCriterion,\n} from '@coveo/headless';\nimport {DEFAULT_MOBILE_BREAKPOINT} from '../../../utils/replace-breakpoint-utils';\nimport type {\n FacetInfo,\n FacetStore,\n FacetType,\n FacetValueFormat,\n} from '../../common/facets/facet-common-store';\nimport {\n type BaseStore,\n createBaseStore,\n getFacetElements,\n type ResultListInfo,\n registerFacet,\n setLoadingFlag,\n unsetLoadingFlag,\n waitUntilAppLoaded,\n} from '../../common/interface/store';\nimport {makeDesktopQuery} from '../atomic-search-layout/search-layout';\n\nexport interface SortDropdownOption {\n tabs: {included: string[] | string; excluded: string[] | string};\n expression: string;\n criteria: SortCriterion[];\n label: string;\n}\n\ninterface FacetInfoMap {\n [facetId: string]:\n | FacetInfo\n | (FacetInfo & FacetValueFormat<NumericFacetValue>)\n | (FacetInfo & FacetValueFormat<DateFacetValue>);\n}\n\ninterface Data {\n loadingFlags: string[];\n iconAssetsPath: string;\n resultList: ResultListInfo | undefined;\n mobileBreakpoint: string;\n facets: FacetStore<FacetInfo>;\n numericFacets: FacetStore<FacetInfo & FacetValueFormat<NumericFacetValue>>;\n dateFacets: FacetStore<FacetInfo & FacetValueFormat<DateFacetValue>>;\n categoryFacets: FacetStore<FacetInfo>;\n facetElements: HTMLElement[];\n fieldsToInclude: string[];\n sortOptions: SortDropdownOption[];\n}\n\nexport type SearchStore = BaseStore<Data> & {\n unsetLoadingFlag(loadingFlag: string): void;\n setLoadingFlag(flag: string): void;\n isMobile(): boolean;\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ): void;\n getFacetElements(): HTMLElement[];\n waitUntilAppLoaded(callback: () => void): void;\n getUniqueIDFromEngine(engine: SearchEngine): string;\n hasLoadingFlag(loadingFlag: string): boolean;\n getAllFacets(): FacetInfoMap;\n addFieldsToInclude(fields: string[]): void;\n};\n\nexport function createSearchStore(): SearchStore {\n const store = createBaseStore<Data>({\n loadingFlags: [],\n iconAssetsPath: '',\n resultList: undefined,\n mobileBreakpoint: DEFAULT_MOBILE_BREAKPOINT,\n facets: {},\n numericFacets: {},\n dateFacets: {},\n categoryFacets: {},\n facetElements: [],\n fieldsToInclude: [],\n sortOptions: [],\n });\n\n return {\n ...store,\n\n unsetLoadingFlag(loadingFlag: string) {\n unsetLoadingFlag(store, loadingFlag);\n },\n\n setLoadingFlag(loadingFlag: string) {\n setLoadingFlag(store, loadingFlag);\n },\n\n isMobile() {\n return !window.matchMedia(makeDesktopQuery(store.state.mobileBreakpoint))\n .matches;\n },\n\n registerFacet<T extends FacetType, U extends string>(\n facetType: T,\n data: Data[T][U] & {facetId: U; element: HTMLElement}\n ) {\n registerFacet(store, facetType, data);\n },\n\n getFacetElements() {\n return getFacetElements(store);\n },\n\n waitUntilAppLoaded(callback: () => void) {\n waitUntilAppLoaded(store, callback);\n },\n\n getUniqueIDFromEngine(engine: SearchEngine): string {\n return engine.state.search.response.searchUid;\n },\n\n hasLoadingFlag(loadingFlag: string) {\n return store.state.loadingFlags.indexOf(loadingFlag) !== -1;\n },\n\n getAllFacets() {\n return {\n ...store.state.facets,\n ...store.state.dateFacets,\n ...store.state.categoryFacets,\n ...store.state.numericFacets,\n };\n },\n\n addFieldsToInclude(fields) {\n const currentFields = store.state.fieldsToInclude;\n store.state.fieldsToInclude = [...currentFields, ...fields];\n },\n };\n}\n","@import '../../../global/global.pcss';\n\n:host {\n display: block;\n height: inherit;\n width: inherit;\n & > slot {\n height: inherit;\n }\n}\n","import {markParentAsReady} from '@/src/utils/init-queue';\nimport {\n LogLevel,\n Unsubscribe,\n buildUrlManager,\n UrlManager,\n buildSearchEngine,\n SearchEngine,\n SearchEngineConfiguration,\n SearchStatus,\n buildSearchStatus,\n loadSearchConfigurationActions,\n loadQueryActions,\n EcommerceDefaultFieldsToInclude,\n loadFieldActions,\n} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n Method,\n Watch,\n Element,\n State,\n setNonce,\n} from '@stencil/core';\nimport i18next, {i18n} from 'i18next';\nimport {InitializeEvent} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {\n StencilBaseAtomicInterface,\n CommonAtomicInterfaceHelper,\n mismatchedInterfaceAndEnginePropError,\n} from '../../common/interface/interface-common-stencil';\nimport {\n errorSelector,\n firstSearchExecutedSelector,\n noResultsSelector,\n} from '../atomic-search-layout/search-layout';\nimport {getAnalyticsConfig} from './analytics-config';\nimport type {Bindings as _Bindings} from './interfaces';\nimport {createSearchStore, SearchStore} from './store';\n\nconst FirstSearchExecutedFlag = 'firstSearchExecuted';\nexport type InitializationOptions = SearchEngineConfiguration;\nexport type Bindings = _Bindings;\n\n/**\n * The `atomic-search-interface` component is the parent to all other atomic components in a search page. It handles the headless search engine and localization configurations.\n */\n@Component({\n tag: 'atomic-search-interface',\n styleUrl: 'atomic-search-interface.pcss',\n shadow: true,\n})\nexport class AtomicSearchInterface\n implements StencilBaseAtomicInterface<SearchEngine>\n{\n private urlManager!: UrlManager;\n private searchStatus!: SearchStatus;\n private unsubscribeUrlManager: Unsubscribe = () => {};\n private unsubscribeSearchStatus: Unsubscribe = () => {};\n private initialized = false;\n private store: SearchStore;\n private commonInterfaceHelper: CommonAtomicInterfaceHelper<SearchEngine>;\n\n @Element() public host!: HTMLAtomicSearchInterfaceElement;\n\n @State() public error?: Error;\n @State() relevanceInspectorIsOpen = false;\n\n /**\n * A list of non-default fields to include in the query results.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-search-interface fields-to-include='[\"fieldA\", \"fieldB\"]'></atomic-search-interface>\n * ```\n */\n @ArrayProp()\n @Prop({mutable: true})\n public fieldsToInclude: string[] | string = '[]';\n\n /**\n * The search interface [query pipeline](https://docs.coveo.com/en/180/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine), the query pipeline should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public pipeline?: string;\n\n /**\n * The search interface [search hub](https://docs.coveo.com/en/1342/).\n *\n * If the search interface is initialized using [`initializeWithSearchEngine`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface/#initializewithsearchengine, the search hub should instead be configured in the target engine.\n */\n @Prop({reflect: true, mutable: true}) public searchHub?: string;\n\n /**\n * Whether analytics should be enabled.\n */\n @Prop({reflect: true}) public analytics = true;\n\n /**\n * The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression, facets, and result items.\n * By default, the timezone will be [guessed](https://day.js.org/docs/en/timezone/guessing-user-timezone).\n *\n * Example: \"America/Montreal\"\n */\n @Prop({reflect: true}) public timezone?: string;\n\n /**\n * The severity level of the messages to log in the console.\n */\n @Prop({reflect: true}) public logLevel?: LogLevel;\n\n /**\n * The search interface i18next instance.\n */\n @Prop() public i18n: i18n;\n\n /**\n * The search interface language.\n */\n @Prop({reflect: true}) public language = 'en';\n\n /**\n * The search interface headless engine.\n */\n @Prop({mutable: true}) public engine?: SearchEngine;\n\n /**\n * Whether the state should be reflected in the URL parameters.\n */\n @Prop({reflect: true}) public reflectStateInUrl = true;\n\n /**\n * The CSS selector for the container where the interface will scroll back to.\n */\n @Prop({reflect: true}) public scrollContainer = 'atomic-search-interface';\n\n /**\n * The language assets path. By default, this will be a relative URL pointing to `./lang`.\n *\n * Example: \"/mypublicpath/languages\"\n *\n */\n @Prop({reflect: true}) public languageAssetsPath = './lang';\n\n /**\n * The icon assets path. By default, this will be a relative URL pointing to `./assets`.\n *\n * Example: \"/mypublicpath/icons\"\n *\n */\n @Prop({reflect: true}) public iconAssetsPath = './assets';\n\n /**\n * Whether the relevance inspector shortcut should be enabled for this interface.\n *\n * The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.\n *\n * The relevance inspector allows to troubleshoot and debug queries.\n */\n @Prop({reflect: true}) public enableRelevanceInspector = true;\n\n /**\n * The value to set the [nonce](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) attribute to on inline script and style elements generated by this interface and its child components.\n * If your application is served with a Content Security Policy (CSP) that doesn't include the `script-src: 'unsafe-inline'` or `style-src: 'unsafe-inline'` directives,\n * you should ensure that your application server generates a new nonce on every page load and uses the generated value to set this prop and serve the corresponding CSP response headers\n * (i.e., script-src 'nonce-<YOUR_GENERATED_NONCE>' and style-src 'nonce-<YOUR_GENERATED_NONCE>').\n * Otherwise you may see console errors such as\n * - Refused to execute inline script because it violates the following Content Security Policy directive: [...]\n * - Refused to apply inline style because it violates the following Content Security Policy directive: [...].\n * @example:\n * ```html\n * <script nonce=\"<YOUR_GENERATED_NONCE>\">\n * import {setNonce} from '@coveo/atomic';\n * setNonce('<YOUR_GENERATED_NONCE>');\n * </script>\n * ```\n */\n @Prop({reflect: true}) public CspNonce?: string;\n\n private i18Initialized: Promise<void>;\n private componentWillLoadCalledPromise: Promise<void>;\n private componentWillLoadResolver: () => void;\n public constructor() {\n this.initRelevanceInspector();\n this.commonInterfaceHelper = new CommonAtomicInterfaceHelper(\n this,\n 'CoveoAtomic'\n );\n this.store = createSearchStore();\n ({\n promise: this.componentWillLoadCalledPromise,\n resolve: this.componentWillLoadResolver,\n } = Promise.withResolvers<void>());\n const {promise, resolve} = Promise.withResolvers<void>();\n this.i18Initialized = promise;\n this.i18n = i18next.createInstance(undefined, resolve);\n }\n\n public connectedCallback() {\n this.store.setLoadingFlag(FirstSearchExecutedFlag);\n this.updateMobileBreakpoint();\n }\n\n componentWillLoad() {\n if (this.CspNonce) {\n setNonce(this.CspNonce);\n }\n this.initAriaLive();\n this.initFieldsToInclude();\n this.componentWillLoadResolver();\n }\n\n public updateSearchConfiguration(\n updatedProp: 'searchHub' | 'pipeline',\n newValue: string | undefined\n ) {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (this.engine.state[updatedProp] === newValue) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n [updatedProp]: newValue,\n })\n );\n }\n\n @Watch('searchHub')\n public updateSearchHub() {\n this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');\n }\n\n @Watch('pipeline')\n public updatePipeline() {\n this.updateSearchConfiguration('pipeline', this.pipeline);\n }\n\n @Watch('analytics')\n public toggleAnalytics() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n this.commonInterfaceHelper.onAnalyticsChange();\n }\n\n @Watch('language')\n public updateLanguage() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n const {updateSearchConfiguration} = loadSearchConfigurationActions(\n this.engine\n );\n this.engine.dispatch(\n updateSearchConfiguration({\n locale: this.language,\n })\n );\n return this.commonInterfaceHelper.onLanguageChange();\n }\n\n @Watch('iconAssetsPath')\n public updateIconAssetsPath() {\n this.store.state.iconAssetsPath = this.iconAssetsPath;\n }\n\n public disconnectedCallback() {\n this.unsubscribeUrlManager();\n this.unsubscribeSearchStatus();\n window.removeEventListener('hashchange', this.onHashChange);\n }\n\n @Listen('atomic/initializeComponent')\n public handleInitialization(event: InitializeEvent) {\n this.commonInterfaceHelper.onComponentInitializing(event);\n }\n\n @Listen('atomic/scrollToTop')\n public scrollToTop() {\n const scrollContainerElement = document.querySelector(this.scrollContainer);\n if (!scrollContainerElement) {\n this.bindings.engine.logger.warn(\n `Could not find the scroll container with the selector \"${this.scrollContainer}\". This will prevent UX interactions that require a scroll from working correctly. Please check the CSS selector in the scrollContainer option`\n );\n return;\n }\n\n scrollContainerElement.scrollIntoView({behavior: 'smooth'});\n }\n\n @Listen('atomic/relevanceInspector/close')\n public closeRelevanceInspector() {\n this.relevanceInspectorIsOpen = false;\n }\n\n /**\n * Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.\n */\n @Method() public initialize(options: InitializationOptions) {\n return this.internalInitialization(() => this.initEngine(options));\n }\n\n /**\n * Initializes the connection with an already preconfigured [headless search engine](https://docs.coveo.com/en/headless/latest/reference/interfaces/Search.SearchEngine.html), as opposed to the `initialize` method, which will internally create a new search engine instance.\n * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.\n */\n @Method() public initializeWithSearchEngine(engine: SearchEngine) {\n if (this.pipeline && this.pipeline !== engine.state.pipeline) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'query pipeline')\n );\n }\n if (this.searchHub && this.searchHub !== engine.state.searchHub) {\n console.warn(\n mismatchedInterfaceAndEnginePropError('search', 'search hub')\n );\n }\n return this.internalInitialization(() => (this.engine = engine));\n }\n\n /**\n *\n * Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.\n */\n @Method() public async executeFirstSearch() {\n if (!this.commonInterfaceHelper.engineIsCreated(this.engine)) {\n return;\n }\n\n if (!this.initialized) {\n console.error(\n 'You have to wait until the \"initialize\" promise is fulfilled before executing a search.',\n this.host\n );\n return;\n }\n\n const safeStorage = new SafeStorage();\n const standaloneSearchBoxData =\n safeStorage.getParsedJSON<StandaloneSearchBoxData | null>(\n StorageItems.STANDALONE_SEARCH_BOX_DATA,\n null\n );\n\n if (!standaloneSearchBoxData) {\n this.engine.executeFirstSearch();\n return;\n }\n\n safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);\n const {updateQuery} = loadQueryActions(this.engine!);\n const {value, enableQuerySyntax, analytics} = standaloneSearchBoxData;\n this.engine!.dispatch(updateQuery({q: value, enableQuerySyntax}));\n this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);\n }\n\n public get bindings(): Bindings {\n return {\n engine: this.engine!,\n i18n: this.i18n,\n store: this.store,\n interfaceElement: this.host,\n createStyleElement: () => {\n const styleTag = document.createElement('style');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n createScriptElement: () => {\n const styleTag = document.createElement('script');\n if (this.CspNonce) {\n styleTag.setAttribute('nonce', this.CspNonce);\n }\n return styleTag;\n },\n };\n }\n\n private initFieldsToInclude() {\n const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);\n this.store.addFieldsToInclude(fields);\n }\n\n public registerFieldsToInclude() {\n this.engine?.dispatch(\n loadFieldActions(this.engine!).registerFieldsToInclude(\n this.store.state.fieldsToInclude\n )\n );\n }\n\n private updateMobileBreakpoint() {\n const breakpoint = this.host.querySelector(\n 'atomic-search-layout'\n )?.mobileBreakpoint;\n if (breakpoint) {\n this.store.state.mobileBreakpoint = breakpoint;\n }\n }\n\n private initEngine(options: InitializationOptions) {\n const searchConfig = this.getSearchConfiguration(options);\n const analyticsConfig = getAnalyticsConfig(\n options,\n this.analytics,\n this.store\n );\n try {\n this.engine = buildSearchEngine({\n configuration: {\n ...options,\n search: searchConfig,\n analytics: analyticsConfig,\n },\n loggerOptions: {\n level: this.logLevel,\n },\n });\n } catch (error) {\n this.error = error as Error;\n throw error;\n }\n }\n\n private getSearchConfiguration(options: InitializationOptions) {\n const searchConfigFromProps = {\n searchHub: this.searchHub ?? 'default',\n pipeline: this.pipeline,\n locale: this.language,\n timezone: this.timezone,\n };\n\n if (options.search) {\n return {\n ...searchConfigFromProps,\n ...options.search,\n };\n }\n\n return searchConfigFromProps;\n }\n\n private get fragment() {\n return window.location.hash.slice(1);\n }\n\n private initUrlManager() {\n if (!this.reflectStateInUrl) {\n return;\n }\n\n this.urlManager = buildUrlManager(this.engine!, {\n initialState: {fragment: this.fragment},\n });\n\n this.unsubscribeUrlManager = this.urlManager.subscribe(() =>\n this.updateHash()\n );\n\n window.addEventListener('hashchange', this.onHashChange);\n }\n\n private initAriaLive() {\n if (\n Array.from(this.host.children).some(\n (element) => element.tagName === 'ATOMIC-ARIA-LIVE'\n )\n ) {\n return;\n }\n const ariaLive = document.createElement('atomic-aria-live');\n this.host.prepend(ariaLive);\n }\n\n private initRelevanceInspector() {\n if (this.enableRelevanceInspector) {\n this.host.addEventListener('dblclick', (e) => {\n if (e.altKey) {\n this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;\n }\n });\n }\n }\n\n private initSearchStatus() {\n this.searchStatus = buildSearchStatus(this.engine!);\n this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {\n const hasNoResultsAfterInitialSearch =\n !this.searchStatus.state.hasResults &&\n this.searchStatus.state.firstSearchExecuted &&\n !this.searchStatus.state.hasError;\n\n this.host.classList.toggle(\n noResultsSelector,\n hasNoResultsAfterInitialSearch\n );\n\n this.host.classList.toggle(\n errorSelector,\n this.searchStatus.state.hasError\n );\n\n this.host.classList.toggle(\n firstSearchExecutedSelector,\n this.searchStatus.state.firstSearchExecuted\n );\n\n if (\n this.searchStatus.state.firstSearchExecuted &&\n this.store.hasLoadingFlag(FirstSearchExecutedFlag)\n ) {\n this.store.unsetLoadingFlag(FirstSearchExecutedFlag);\n }\n });\n }\n\n private updateHash() {\n const newFragment = this.urlManager.state.fragment;\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n history.replaceState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History replaceState #${newFragment}`);\n\n return;\n }\n\n history.pushState(null, document.title, `#${newFragment}`);\n this.bindings.engine.logger.info(`History pushState #${newFragment}`);\n }\n\n private onHashChange = () => {\n this.urlManager.synchronize(this.fragment);\n };\n\n private async internalInitialization(initEngine: () => void) {\n await this.componentWillLoadCalledPromise;\n await Promise.all([\n this.commonInterfaceHelper.onInitialization(initEngine),\n this.i18Initialized,\n ]);\n await this.updateLanguage();\n markParentAsReady(this.host);\n this.pipeline = this.engine!.state.pipeline;\n this.searchHub = this.engine!.state.searchHub;\n this.initSearchStatus();\n this.initUrlManager();\n this.initialized = true;\n }\n\n public render() {\n return [\n this.engine && this.enableRelevanceInspector && (\n <atomic-relevance-inspector\n open={this.relevanceInspectorIsOpen}\n bindings={this.bindings}\n ></atomic-relevance-inspector>\n ),\n <slot></slot>,\n ];\n }\n}\n"],"version":3}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { NumberValue, Schema } from '@coveo/bueno';
|
|
8
|
-
import { buildPager, buildSearchStatus, } from '@coveo/headless';
|
|
9
|
-
import { html, LitElement } from 'lit';
|
|
10
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
|
11
|
-
import { keyed } from 'lit/directives/keyed.js';
|
|
12
|
-
import { when } from 'lit/directives/when.js';
|
|
13
|
-
import { createAppLoadedListener } from "../../common/interface/store";
|
|
14
|
-
import { renderPagerNavigation } from "../../common/pager/pager-navigation";
|
|
15
|
-
import { bindStateToController } from "../../../decorators/bind-state";
|
|
16
|
-
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
17
|
-
import { bindings } from "../../../decorators/bindings";
|
|
18
|
-
import { errorGuard } from "../../../decorators/error-guard";
|
|
19
|
-
import { withTailwindStyles } from "../../../decorators/with-tailwind-styles";
|
|
20
|
-
import { InitializeBindingsMixin } from "../../../mixins/bindings-mixin";
|
|
21
|
-
import { randomID } from "../../../utils/utils";
|
|
22
|
-
const ArrowLeftIcon = "<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m11.5 4.8-4.3 4.5c-.3.4-.3.9 0 1.3l4.3 4.6c.3.4.9.4 1.2 0s.3-.9 0-1.3l-3.7-4 3.7-3.9c.3-.4.3-.9 0-1.3-.3-.3-.9-.3-1.2.1z\"/></svg>";
|
|
23
|
-
const ArrowRightIcon = "<svg viewBox=\"0 0 20 20\"><path d=\"m8.5 15.2 4.3-4.6c.3-.4.3-.9 0-1.3l-4.4-4.5c-.3-.4-.9-.4-1.2 0s-.3.9 0 1.3l3.7 4-3.7 3.9c-.3.4-.3.9 0 1.3.4.3 1 .3 1.3-.1z\"/></svg>";
|
|
24
|
-
import { renderPageButtons, renderPagerNextButton, renderPagerPageButton, renderPagerPreviousButton, } from '../../common/pager/pager-buttons';
|
|
25
|
-
/**
|
|
26
|
-
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
|
27
|
-
*
|
|
28
|
-
* @part buttons - The list of the next/previous buttons and page-buttons.
|
|
29
|
-
* @part page-buttons - The list of page buttons.
|
|
30
|
-
* @part page-button - The individual page buttons.
|
|
31
|
-
* @part active-page-button - The active page button.
|
|
32
|
-
* @part previous-button - The previous page button.
|
|
33
|
-
* @part next-button - The next page button.
|
|
34
|
-
* @part previous-button-icon - The icon displayed on the "previous page" button.
|
|
35
|
-
* @part next-button-icon - The icon displayed on the "next page" button.
|
|
36
|
-
*
|
|
37
|
-
* @event atomic/scrollToTop - Emitted when the user clicks any of the buttons rendered by the component.
|
|
38
|
-
*/
|
|
39
|
-
let AtomicPager = class AtomicPager extends InitializeBindingsMixin(LitElement) {
|
|
40
|
-
constructor() {
|
|
41
|
-
super(...arguments);
|
|
42
|
-
this.isAppLoaded = false;
|
|
43
|
-
/**
|
|
44
|
-
* The maximum number of page buttons to display in the pager.
|
|
45
|
-
*/
|
|
46
|
-
this.numberOfPages = 5;
|
|
47
|
-
/**
|
|
48
|
-
* The SVG icon to render on the "previous page" button.
|
|
49
|
-
*
|
|
50
|
-
* - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
|
|
51
|
-
* - Use a value that starts with `assets://`, to display an icon from the Atomic package.
|
|
52
|
-
* - Use a stringified SVG to display it directly.
|
|
53
|
-
*/
|
|
54
|
-
this.previousButtonIcon = ArrowLeftIcon;
|
|
55
|
-
/**
|
|
56
|
-
* The SVG icon to render on the "next page" button.
|
|
57
|
-
*
|
|
58
|
-
* - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
|
|
59
|
-
* - Use a value that starts with `assets://`, to display an icon from the Atomic package.
|
|
60
|
-
* - Use a stringified SVG to display it directly.
|
|
61
|
-
*/
|
|
62
|
-
this.nextButtonIcon = ArrowRightIcon;
|
|
63
|
-
this.radioGroupName = randomID('atomic-pager-');
|
|
64
|
-
}
|
|
65
|
-
initialize() {
|
|
66
|
-
this.validateProps();
|
|
67
|
-
this.searchStatus = buildSearchStatus(this.bindings.engine);
|
|
68
|
-
this.pager = buildPager(this.bindings.engine, {
|
|
69
|
-
options: { numberOfPages: this.numberOfPages },
|
|
70
|
-
});
|
|
71
|
-
createAppLoadedListener(this.bindings.store, (isAppLoaded) => {
|
|
72
|
-
this.isAppLoaded = isAppLoaded;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
render() {
|
|
76
|
-
if (!this.pagerState?.currentPages) {
|
|
77
|
-
return html ``;
|
|
78
|
-
}
|
|
79
|
-
const currentGroupName = `${this.radioGroupName}-${this.pagerState.currentPages.join('-')}`;
|
|
80
|
-
return html `${when(!this.searchStatusState.hasError &&
|
|
81
|
-
this.searchStatusState.hasResults &&
|
|
82
|
-
this.isAppLoaded, () => html `
|
|
83
|
-
${renderPagerNavigation({
|
|
84
|
-
props: {
|
|
85
|
-
i18n: this.bindings.i18n,
|
|
86
|
-
},
|
|
87
|
-
})(html `
|
|
88
|
-
${renderPagerPreviousButton({
|
|
89
|
-
props: {
|
|
90
|
-
icon: this.previousButtonIcon,
|
|
91
|
-
disabled: !this.pagerState.hasPreviousPage,
|
|
92
|
-
i18n: this.bindings.i18n,
|
|
93
|
-
onClick: () => {
|
|
94
|
-
this.pager.previousPage();
|
|
95
|
-
this.focusOnFirstResultAndScrollToTop();
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
})}
|
|
99
|
-
${renderPageButtons({
|
|
100
|
-
props: {
|
|
101
|
-
i18n: this.bindings.i18n,
|
|
102
|
-
},
|
|
103
|
-
})(html `${this.pagerState.currentPages.map((pageNumber, index) => keyed(`page-${pageNumber}-${index}`, renderPagerPageButton({
|
|
104
|
-
props: {
|
|
105
|
-
isSelected: this.pager.isCurrentPage(pageNumber),
|
|
106
|
-
ariaLabel: this.bindings.i18n.t('page-number', {
|
|
107
|
-
pageNumber,
|
|
108
|
-
}),
|
|
109
|
-
onChecked: () => {
|
|
110
|
-
this.pager.selectPage(pageNumber);
|
|
111
|
-
this.focusOnFirstResultAndScrollToTop();
|
|
112
|
-
},
|
|
113
|
-
page: pageNumber,
|
|
114
|
-
groupName: currentGroupName,
|
|
115
|
-
text: pageNumber.toLocaleString(this.bindings.i18n.language),
|
|
116
|
-
},
|
|
117
|
-
})))}`)}
|
|
118
|
-
${renderPagerNextButton({
|
|
119
|
-
props: {
|
|
120
|
-
icon: this.nextButtonIcon,
|
|
121
|
-
disabled: !this.pagerState.hasNextPage,
|
|
122
|
-
i18n: this.bindings.i18n,
|
|
123
|
-
onClick: () => {
|
|
124
|
-
this.pager.nextPage();
|
|
125
|
-
this.focusOnFirstResultAndScrollToTop();
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
})}
|
|
129
|
-
`)}`)}`;
|
|
130
|
-
}
|
|
131
|
-
validateProps() {
|
|
132
|
-
new Schema({
|
|
133
|
-
numberOfPages: new NumberValue({ min: 0 }),
|
|
134
|
-
}).validate({
|
|
135
|
-
numberOfPages: this.numberOfPages,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
async focusOnFirstResultAndScrollToTop() {
|
|
139
|
-
await this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();
|
|
140
|
-
this.dispatchEvent(new CustomEvent('atomic/scrollToTop'));
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
__decorate([
|
|
144
|
-
state()
|
|
145
|
-
], AtomicPager.prototype, "bindings", void 0);
|
|
146
|
-
__decorate([
|
|
147
|
-
state()
|
|
148
|
-
], AtomicPager.prototype, "error", void 0);
|
|
149
|
-
__decorate([
|
|
150
|
-
state()
|
|
151
|
-
], AtomicPager.prototype, "isAppLoaded", void 0);
|
|
152
|
-
__decorate([
|
|
153
|
-
bindStateToController('pager'),
|
|
154
|
-
state()
|
|
155
|
-
], AtomicPager.prototype, "pagerState", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
bindStateToController('searchStatus'),
|
|
158
|
-
state()
|
|
159
|
-
], AtomicPager.prototype, "searchStatusState", void 0);
|
|
160
|
-
__decorate([
|
|
161
|
-
property({ reflect: true, attribute: 'number-of-pages', type: Number })
|
|
162
|
-
], AtomicPager.prototype, "numberOfPages", void 0);
|
|
163
|
-
__decorate([
|
|
164
|
-
property({ reflect: true, attribute: 'previous-button-icon', type: String })
|
|
165
|
-
], AtomicPager.prototype, "previousButtonIcon", void 0);
|
|
166
|
-
__decorate([
|
|
167
|
-
property({ reflect: true, attribute: 'next-button-icon', type: String })
|
|
168
|
-
], AtomicPager.prototype, "nextButtonIcon", void 0);
|
|
169
|
-
__decorate([
|
|
170
|
-
bindingGuard(),
|
|
171
|
-
errorGuard()
|
|
172
|
-
], AtomicPager.prototype, "render", null);
|
|
173
|
-
AtomicPager = __decorate([
|
|
174
|
-
customElement('atomic-pager'),
|
|
175
|
-
bindings(),
|
|
176
|
-
withTailwindStyles
|
|
177
|
-
], AtomicPager);
|
|
178
|
-
export { AtomicPager };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"facet-guard.js","mappings":";;;MASa,UAAU,GAAyC,CAC9D,EAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAC,EACpD,QAAQ;IAER,IAAI,QAAQ,IAAI,CAAC,OAAO,KAAK,mBAAmB,IAAI,CAAC,UAAU,CAAC,EAAE;QAChE,OAAO,EAAC,MAAM,OAAU,CAAC;KAC1B;IAED,OAAO,EAAC,QAAQ,QAAE,QAAQ,CAAY,CAAC;AACzC;;;;","names":[],"sources":["src/components/common/facets/facet-guard.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {Hidden} from '../stencil-hidden';\n\ninterface FacetGuardProps {\n hasError: boolean;\n enabled: boolean;\n firstSearchExecuted: boolean;\n hasResults: boolean;\n}\nexport const FacetGuard: FunctionalComponent<FacetGuardProps> = (\n {hasError, enabled, firstSearchExecuted, hasResults},\n children\n) => {\n if (hasError || !enabled || (firstSearchExecuted && !hasResults)) {\n return <Hidden></Hidden>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n"],"version":3}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { h } from '@stencil/core/internal/client';
|
|
2
|
-
import { g as getFieldValueCaption } from './field-utils.js';
|
|
3
|
-
import { F as FacetValueBox } from './stencil-facet-value-box.js';
|
|
4
|
-
import { F as FacetValueCheckbox } from './stencil-facet-value-checkbox.js';
|
|
5
|
-
import { F as FacetValueLabelHighlight } from './stencil-facet-value-label-highlight.js';
|
|
6
|
-
import { F as FacetValueLink } from './stencil-facet-value-link.js';
|
|
7
|
-
|
|
8
|
-
const FacetValue = ({ facetSearchQuery, displayValuesAs, enableExclusion, facetCount, facetState, facetValue, field, i18n, onExclude, onSelect, setRef, }) => {
|
|
9
|
-
const displayValue = getFieldValueCaption(field, facetValue, i18n);
|
|
10
|
-
const isSelected = facetState === 'selected';
|
|
11
|
-
const isExcluded = facetState === 'excluded';
|
|
12
|
-
const triStateProps = enableExclusion
|
|
13
|
-
? {
|
|
14
|
-
onExclude,
|
|
15
|
-
state: facetState,
|
|
16
|
-
}
|
|
17
|
-
: {};
|
|
18
|
-
switch (displayValuesAs) {
|
|
19
|
-
case 'checkbox':
|
|
20
|
-
return (h(FacetValueCheckbox, { ...triStateProps, displayValue: displayValue, numberOfResults: facetCount, isSelected: isSelected, i18n: i18n, onClick: onSelect, searchQuery: facetSearchQuery, buttonRef: (element) => {
|
|
21
|
-
setRef && setRef(element);
|
|
22
|
-
} },
|
|
23
|
-
h(FacetValueLabelHighlight, { displayValue: displayValue, isSelected: isSelected, isExcluded: isExcluded, searchQuery: facetSearchQuery })));
|
|
24
|
-
case 'link':
|
|
25
|
-
return (h(FacetValueLink, { displayValue: displayValue, numberOfResults: facetCount, isSelected: isSelected, i18n: i18n, onClick: onSelect, searchQuery: facetSearchQuery, buttonRef: (element) => {
|
|
26
|
-
setRef && setRef(element);
|
|
27
|
-
} },
|
|
28
|
-
h(FacetValueLabelHighlight, { displayValue: displayValue, isSelected: isSelected, searchQuery: facetSearchQuery })));
|
|
29
|
-
case 'box':
|
|
30
|
-
return (h(FacetValueBox, { displayValue: displayValue, numberOfResults: facetCount, isSelected: isSelected, i18n: i18n, onClick: onSelect, searchQuery: facetSearchQuery, buttonRef: (element) => {
|
|
31
|
-
setRef && setRef(element);
|
|
32
|
-
} },
|
|
33
|
-
h(FacetValueLabelHighlight, { displayValue: displayValue, isSelected: isSelected, searchQuery: facetSearchQuery })));
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { FacetValue as F };
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=stencil-facet-value.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"stencil-facet-value.js","mappings":";;;;;;;MAsBa,UAAU,GAAyC,CAAC,EAC/D,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,GACP;IACC,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,UAAU,KAAK,UAAU,CAAC;IAC7C,MAAM,UAAU,GAAG,UAAU,KAAK,UAAU,CAAC;IAC7C,MAAM,aAAa,GAAG,eAAe;UACjC;YACE,SAAS;YACT,KAAK,EAAE,UAAU;SAClB;UACD,EAAE,CAAC;IACP,QAAQ,eAAe;QACrB,KAAK,UAAU;YACb,QACE,EAAC,kBAAkB,OACb,aAAa,EACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,CAAC,OAAO;oBACjB,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBAED,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,GACH,CACT,EACrB;QACJ,KAAK,MAAM;YACT,QACE,EAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,CAAC,OAAO;oBACjB,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBAED,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,GACH,CACb,EACjB;QACJ,KAAK,KAAK;YACR,QACE,EAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,CAAC,OAAO;oBACjB,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBAED,EAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,GACH,CACd,EAChB;KACL;AACH;;;;","names":[],"sources":["src/components/common/facets/facet-value/stencil-facet-value.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {FacetValueBox} from '../facet-value-box/stencil-facet-value-box';\nimport {FacetValueCheckbox} from '../facet-value-checkbox/stencil-facet-value-checkbox';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\n\nexport interface FacetValueProps {\n field: string;\n facetValue: string;\n facetCount: number;\n facetState: 'idle' | 'selected' | 'excluded';\n i18n: i18n;\n enableExclusion: boolean;\n onExclude: () => void;\n onSelect: () => void;\n displayValuesAs: 'checkbox' | 'link' | 'box';\n facetSearchQuery: string;\n setRef?: (btn?: HTMLButtonElement) => void;\n}\n\nexport const FacetValue: FunctionalComponent<FacetValueProps> = ({\n facetSearchQuery,\n displayValuesAs,\n enableExclusion,\n facetCount,\n facetState,\n facetValue,\n field,\n i18n,\n onExclude,\n onSelect,\n setRef,\n}) => {\n const displayValue = getFieldValueCaption(field, facetValue, i18n);\n const isSelected = facetState === 'selected';\n const isExcluded = facetState === 'excluded';\n const triStateProps = enableExclusion\n ? {\n onExclude,\n state: facetState,\n }\n : {};\n switch (displayValuesAs) {\n case 'checkbox':\n return (\n <FacetValueCheckbox\n {...triStateProps}\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueCheckbox>\n );\n case 'link':\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n case 'box':\n return (\n <FacetValueBox\n displayValue={displayValue}\n numberOfResults={facetCount}\n isSelected={isSelected}\n i18n={i18n}\n onClick={onSelect}\n searchQuery={facetSearchQuery}\n buttonRef={(element) => {\n setRef && setRef(element);\n }}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n searchQuery={facetSearchQuery}\n ></FacetValueLabelHighlight>\n </FacetValueBox>\n );\n }\n};\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t}from"./p-dc3df5ce.js";import{I as f}from"./p-ff2d324d.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var c=undefined&&undefined.__decorate||function(e,t,f,c){var r=arguments.length,o=r<3?t:c===null?c=Object.getOwnPropertyDescriptor(t,f):c,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,t,f,c);else for(var s=e.length-1;s>=0;s--)if(i=e[s])o=(r<3?i(o):r>3?i(t,f,o):i(t,f))||o;return r>3&&o&&Object.defineProperty(t,f,o),o};const r=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"228bafe468d2c094428f60c50394fa94512a4f20"},t("slot",{key:"e352d23115d2e17199593c267ff328fa19f9ffc8"}))}};c([f()],r.prototype,"bindings",void 0);export{r as atomic_ipx_tabs};
|
|
2
|
-
//# sourceMappingURL=p-1992b245.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FacetGuard","hasError","enabled","firstSearchExecuted","hasResults","children","h","Hidden","Fragment"],"sources":["src/components/common/facets/facet-guard.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {Hidden} from '../stencil-hidden';\n\ninterface FacetGuardProps {\n hasError: boolean;\n enabled: boolean;\n firstSearchExecuted: boolean;\n hasResults: boolean;\n}\nexport const FacetGuard: FunctionalComponent<FacetGuardProps> = (\n {hasError, enabled, firstSearchExecuted, hasResults},\n children\n) => {\n if (hasError || !enabled || (firstSearchExecuted && !hasResults)) {\n return <Hidden></Hidden>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n"],"mappings":"qFASaA,EAAmD,EAC7DC,WAAUC,UAASC,sBAAqBC,cACzCC,KAEA,GAAIJ,IAAaC,GAAYC,IAAwBC,EAAa,CAChE,OAAOE,EAACC,EAAM,K,CAGhB,OAAOD,EAACE,EAAQ,KAAEH,EAAoB,S","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CategoryFacetAllCategoryButton","i18n","onClick","allCategories","t","h","Button","style","part","icon","LeftArrow","class","CategoryFacetValueLink","displayValue","numberOfResults","isParent","isSelected","searchQuery","isLeafValue","setRef","children","partNames","push","FacetValueLink","join","buttonRef","btn","subList","FacetValueLabelHighlight","CategoryFacetChildValueLink","props","CategoryFacetChildrenAsTreeContainer","className","CategoryFacetParentAsTreeContainer","isTopLevel","CategoryFacetParentButton","field","facetValue","getFieldValueCaption","value","ariaLabel","count","formattedCount","toLocaleString","language","ariaPressed","CategoryFacetParentValueLink","CategoryFacetSearchResultsContainer","_","SEPARATOR","ELLIPSIS","PATH_MAX_LENGTH","CategoryFacetSearchValue","inLabel","localizedPath","path","length","map","child","parent","ellipsedPath","firstPart","slice","lastParts","concat","renderPath","index","key","text","CategoryFacetTreeValueContainer","atomicCategoryFacetCss","AtomicCategoryFacetStyle0","AtomicCategoryFacet","this","resultIndexToFocusOnShowMore","label","tabsIncluded","tabsExcluded","numberOfValues","withSearch","sortCriteria","delimitingCharacter","basePath","filterByBasePath","isCollapsed","headingLevel","filterFacetCount","injectionDepth","dependsOn","initialize","console","warn","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","options","facetId","facetSearch","tabs","included","excluded","facet","buildCategoryFacet","announceFacetSearchResultsWithAriaLive","msg","facetSearchAriaMessage","state","facetInfo","element","host","isHidden","store","registerFacet","initializePopover","hasValues","valuesAsTrees","numberOfActiveValues","facetState","hasActiveValues","initializeDependenciesManager","focusTargets","showLessFocus","FocusTargetController","showMoreFocus","headerFocus","activeValueFocus","disconnectedCallback","isConnected","dependenciesManager","stopWatching","searchStatusState","hasError","enabled","selectedValueAncestry","componentShouldUpdate","next","prev","propName","isCategoryFacetState","shouldUpdateFacetSearchComponent","hasParents","buildFacetConditionsManager","conditions","parseDependsOn","renderHeader","FacetHeader","onToggleCollapse","onClearFilters","focusAfterSearch","deselectAll","headerRef","header","setTarget","renderSearchInput","FacetSearchInput","query","onChange","clear","updateCaptions","getFieldCaptions","updateText","search","onClear","renderValuesTree","isRoot","renderChildren","parentValue","toggleSelect","activeParent","activeParentDisplayValue","el","renderChild","isShowLessFocusTarget","isShowMoreFocusTarget","find","i","renderSearchResults","values","select","renderMatches","FacetSearchMatches","numberOfMatches","hasMoreMatches","moreValuesAvailable","showMoreMatches","showMoreResults","renderShowMoreLess","FacetShowMoreLess","onShowMore","showMoreValues","onShowLess","showLessValues","canShowLessValues","canShowMoreValues","render","firstSearchExecuted","FacetGuard","hasResults","FacetContainer","shouldDisplaySearchResults","Fragment","FacetValuesGroup","FacetPlaceholder","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp","AriaLiveRegion"],"sources":["src/components/common/facets/category-facet/stencil-all-categories-button.tsx","src/components/common/facets/category-facet/stencil-value-link.tsx","src/components/common/facets/category-facet/stencil-child-value-link.tsx","src/components/common/facets/category-facet/stencil-children-as-tree-container.tsx","src/components/common/facets/category-facet/stencil-parent-as-tree-container.tsx","src/components/common/facets/category-facet/stencil-parent-button.tsx","src/components/common/facets/category-facet/stencil-parent-value-link.tsx","src/components/common/facets/category-facet/stencil-search-results-container.tsx","src/components/common/facets/category-facet/stencil-search-value.tsx","src/components/common/facets/category-facet/stencil-value-as-tree-container.tsx","src/components/search/facets/atomic-category-facet/atomic-category-facet.pcss?tag=atomic-category-facet&encapsulation=shadow","src/components/search/facets/atomic-category-facet/atomic-category-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport LeftArrow from '../../../../images/arrow-left-rounded.svg';\nimport {Button} from '../../stencil-button';\n\ninterface CategoryFacetAllCategoryButtonProps {\n i18n: i18n;\n onClick(): void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const CategoryFacetAllCategoryButton: FunctionalComponent<\n CategoryFacetAllCategoryButtonProps\n> = ({i18n, onClick}) => {\n const allCategories = i18n.t('all-categories');\n return (\n <Button\n style=\"text-neutral\"\n part=\"all-categories-button\"\n onClick={() => {\n onClick();\n }}\n >\n <atomic-icon\n aria-hidden=\"true\"\n icon={LeftArrow}\n part=\"back-arrow\"\n ></atomic-icon>\n <span class=\"truncate\">{allCategories}</span>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from '../facet-value-link/stencil-facet-value-link';\n\nexport interface CategoryFacetValueLinkProps {\n displayValue: string;\n numberOfResults: number;\n i18n: i18n;\n onClick: () => void;\n isParent: boolean;\n isSelected: boolean;\n searchQuery: string;\n isLeafValue: boolean;\n setRef: (el?: HTMLButtonElement) => void;\n}\n\nexport const CategoryFacetValueLink: FunctionalComponent<\n CategoryFacetValueLinkProps\n> = (\n {\n displayValue,\n numberOfResults,\n i18n,\n onClick,\n isParent,\n isSelected,\n searchQuery,\n isLeafValue,\n setRef,\n },\n children\n) => {\n const partNames = [];\n if (isParent) {\n partNames.push('active-parent');\n } else {\n partNames.push(`value-link${isSelected ? ' value-link-selected' : ''}`);\n }\n\n if (isLeafValue) {\n partNames.push('leaf-value');\n } else {\n partNames.push('node-value');\n }\n\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={numberOfResults}\n isSelected={isSelected}\n i18n={i18n}\n onClick={() => {\n onClick();\n }}\n searchQuery={searchQuery}\n part={partNames.join(' ')}\n class=\"contents\"\n buttonRef={(btn) => setRef(btn)}\n subList={children}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {\n CategoryFacetValueLink,\n CategoryFacetValueLinkProps,\n} from './stencil-value-link';\n\ninterface CategoryFacetChildValueLinkProps\n extends Omit<CategoryFacetValueLinkProps, 'isParent'> {}\n\nexport const CategoryFacetChildValueLink: FunctionalComponent<\n CategoryFacetChildValueLinkProps\n> = (props, children) => {\n return (\n <CategoryFacetValueLink {...props} isParent={false}>\n {children}\n </CategoryFacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface CategoryFacetChildrenAsTreeContainerProps {\n className?: string;\n}\nexport const CategoryFacetChildrenAsTreeContainer: FunctionalComponent<\n CategoryFacetChildrenAsTreeContainerProps\n> = ({className}, children) => {\n return (\n <ul part=\"values\" class={className ?? ''}>\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface CategoryFacetParentAsTreeContainerProps {\n isTopLevel: boolean;\n className?: string;\n}\nexport const CategoryFacetParentAsTreeContainer: FunctionalComponent<\n CategoryFacetParentAsTreeContainerProps\n> = ({isTopLevel, className}, children) => {\n return (\n <ul class={className ?? ''} part={`${isTopLevel ? '' : 'sub-'}parents`}>\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport LeftArrow from '../../../../images/arrow-left-rounded.svg';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {Button} from '../../stencil-button';\n\ninterface CategoryFacetParentButtonProps {\n i18n: i18n;\n field: string;\n facetValue: {value: string; numberOfResults: number};\n onClick: () => void;\n}\nexport const CategoryFacetParentButton: FunctionalComponent<\n CategoryFacetParentButtonProps\n> = ({field, facetValue, i18n, onClick}) => {\n const displayValue = getFieldValueCaption(field, facetValue.value, i18n);\n const ariaLabel = i18n.t('facet-value', {\n value: displayValue,\n count: facetValue.numberOfResults,\n formattedCount: facetValue.numberOfResults.toLocaleString(i18n.language),\n });\n\n return (\n <Button\n style=\"text-neutral\"\n part=\"parent-button\"\n ariaPressed=\"false\"\n onClick={() => {\n onClick();\n }}\n ariaLabel={ariaLabel}\n >\n <atomic-icon\n icon={LeftArrow}\n part=\"back-arrow\"\n class=\"back-arrow\"\n ></atomic-icon>\n <span class=\"truncate\">{displayValue}</span>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {\n CategoryFacetValueLink,\n CategoryFacetValueLinkProps,\n} from './stencil-value-link';\n\ninterface CategoryFacetParentValueLinkProps\n extends Omit<CategoryFacetValueLinkProps, 'isParent' | 'isSelected'> {}\n\nexport const CategoryFacetParentValueLink: FunctionalComponent<\n CategoryFacetParentValueLinkProps\n> = (props, children) => {\n return (\n <CategoryFacetValueLink {...props} isParent isSelected>\n {children}\n </CategoryFacetValueLink>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const CategoryFacetSearchResultsContainer: FunctionalComponent = (\n _,\n children\n) => {\n return (\n <ul part=\"search-results\" class=\"mt-3\">\n {children}\n </ul>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {Button} from '../../stencil-button';\nimport {FacetValueLabelHighlight} from '../facet-value-label-highlight/stencil-facet-value-label-highlight';\n\ninterface CategoryFacetSearchValueProps {\n value: {count: number; path: string[]; displayValue: string};\n i18n: i18n;\n field: string;\n onClick(): void;\n searchQuery: string;\n}\n\nconst SEPARATOR = '/';\nconst ELLIPSIS = '...';\nconst PATH_MAX_LENGTH = 3;\n\nexport const CategoryFacetSearchValue: FunctionalComponent<\n CategoryFacetSearchValueProps\n> = ({value, field, i18n, onClick, searchQuery}) => {\n const count = value.count.toLocaleString(i18n.language);\n const inLabel = i18n.t('in');\n const allCategories = i18n.t('all-categories');\n const localizedPath = value.path.length\n ? value.path.map((value) => getFieldValueCaption(field, value, i18n))\n : [allCategories];\n const ariaLabel = i18n.t('under', {\n child: i18n.t('facet-value', {\n count: value.count,\n formattedCount: count,\n value: value.displayValue,\n }),\n parent: localizedPath.join(', '),\n });\n\n function ellipsedPath(path: string[]) {\n if (path.length <= PATH_MAX_LENGTH) {\n return path;\n }\n const firstPart = path.slice(0, 1);\n const lastParts = path.slice(-PATH_MAX_LENGTH + 1);\n return firstPart.concat(ELLIPSIS, ...lastParts);\n }\n\n function renderPath(path: string[]) {\n if (!path.length) {\n return <span class=\"truncate\">{`${inLabel} ${allCategories}`}</span>;\n }\n\n return [\n <span class=\"mr-0.5\">{inLabel}</span>,\n ellipsedPath(path).map((value, index) => [\n index > 0 && <span class=\"mx-0.5\">{SEPARATOR}</span>,\n <span class={value === ELLIPSIS ? '' : 'max-w-max flex-1 truncate'}>\n {value}\n </span>,\n ]),\n ];\n }\n\n return (\n <li key={value.displayValue}>\n <Button\n style=\"text-neutral\"\n part=\"search-result\"\n onClick={() => onClick()}\n class=\"group flex w-full flex-col truncate px-2 py-2.5 focus-visible:outline-none\"\n aria-label={ariaLabel}\n >\n <div class=\"flex w-full\">\n <FacetValueLabelHighlight\n displayValue={value.displayValue}\n isSelected={false}\n searchQuery={searchQuery}\n ></FacetValueLabelHighlight>\n <span part=\"value-count\" class=\"value-count\">\n {i18n.t('between-parentheses', {\n text: count,\n })}\n </span>\n </div>\n <div\n part=\"search-result-path\"\n class=\"text-neutral-dark group-focus:text-primary group-hover:text-primary mt-1 flex w-full\"\n >\n {renderPath(localizedPath)}\n </div>\n </Button>\n </li>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const CategoryFacetTreeValueContainer: FunctionalComponent = (\n _,\n children\n) => {\n return <li class=\"contents\">{children}</li>;\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/facets/facet-search/facet-search.pcss';\n\n[part~='active-parent'] {\n @apply pl-9;\n}\n\n[part~='parents'] [part~='values'] {\n @apply pl-9;\n}\n\n[part~='all-categories-button'],\n[part~='parent-button'] {\n @apply relative flex w-full items-center py-2.5 pr-2 pl-7 text-left;\n}\n\n[part~='back-arrow'] {\n @apply absolute left-1 h-5 w-5;\n}\n","import {\n CategoryFacet,\n buildCategoryFacet,\n CategoryFacetState,\n CategoryFacetOptions,\n CategoryFacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n CategoryFacetValue,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n TabManagerState,\n TabManager,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Fragment} from '@stencil/core';\nimport {\n getFieldCaptions,\n getFieldValueCaption,\n} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {CategoryFacetAllCategoryButton} from '../../../common/facets/category-facet/stencil-all-categories-button';\nimport {CategoryFacetChildValueLink} from '../../../common/facets/category-facet/stencil-child-value-link';\nimport {CategoryFacetChildrenAsTreeContainer} from '../../../common/facets/category-facet/stencil-children-as-tree-container';\nimport {CategoryFacetParentAsTreeContainer} from '../../../common/facets/category-facet/stencil-parent-as-tree-container';\nimport {CategoryFacetParentButton} from '../../../common/facets/category-facet/stencil-parent-button';\nimport {CategoryFacetParentValueLink} from '../../../common/facets/category-facet/stencil-parent-value-link';\nimport {CategoryFacetSearchResultsContainer} from '../../../common/facets/category-facet/stencil-search-results-container';\nimport {CategoryFacetSearchValue} from '../../../common/facets/category-facet/stencil-search-value';\nimport {CategoryFacetTreeValueContainer} from '../../../common/facets/category-facet/stencil-value-as-tree-container';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/facet-placeholder';\nimport {announceFacetSearchResultsWithAriaLive} from '../../../common/facets/facet-search/facet-search-aria-live';\nimport {\n shouldUpdateFacetSearchComponent,\n shouldDisplaySearchResults,\n} from '../../../common/facets/facet-search/facet-search-utils';\nimport {FacetSearchInput} from '../../../common/facets/facet-search/stencil-facet-search-input';\nimport {FacetSearchMatches} from '../../../common/facets/facet-search/stencil-facet-search-matches';\nimport {FacetShowMoreLess} from '../../../common/facets/facet-show-more-less/stencil-facet-show-more-less';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-category-facet` displays a facet of values in a browsable, hierarchical fashion.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n *\n * @part search-wrapper - The search box wrapper.\n * @part search-input - The search box input.\n * @part search-icon - The search box submit button.\n * @part search-clear-button - The button to clear the search box of input.\n * @part more-matches - The label indicating there are more matches for the current facet search query.\n * @part no-matches - The label indicating there are no matches for the current facet search query.\n * @part matches-query - The highlighted query inside the matches labels.\n * @part search-results - The search results container.\n * @part search-result - The search result value.\n * @part search-result-path - The search result path.\n * @part search-highlight - The highlighted query inside the facet values.\n *\n * @part parents - The container surrounding the whole hierarchy of values.\n * @part sub-parents - The container surrounding a sub-hierarchy of values.\n * @part values - The container surrounding either the children of the active value or the values at the base.\n * @part all-categories-button - The \"View all\" button displayed first within the parents.\n * @part parent-button - The clickable parent button displayed first within sub-parents.\n * @part active-parent - The clickable active parent displayed first within the last sub-parents.\n * @part value-link - The clickable value displayed first within values.\n * @part back-arrow - The back arrow displayed before the clickable parents.\n * @part value-label - The facet value label within a value button.\n * @part value-count - The facet value count within a value button.\n * @part leaf-value - A facet value with no child value.\n * @part node-value - A facet value with child values.\n *\n * @part show-more - The show more results button.\n * @part show-less - The show less results button.\n * @part show-more-less-icon - The icons of the show more & show less buttons.\n */\n@Component({\n tag: 'atomic-category-facet',\n styleUrl: 'atomic-category-facet.pcss',\n shadow: true,\n})\nexport class AtomicCategoryFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: CategoryFacet;\n private dependenciesManager?: FacetConditionsManager;\n private resultIndexToFocusOnShowMore = 0;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: CategoryFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of values to request for this facet.\n * Also determines the number of additional values to request each time more values are shown.\n */\n @Prop({reflect: true}) public numberOfValues = 8;\n /**\n * Whether this facet should contain a search box.\n *\n */\n @Prop({reflect: true}) public withSearch = false;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'alphanumeric' and 'occurrences'.\n * For this criterion to apply to the top-layer facet values, disable\n * [facet value ordering](https://docs.coveo.com/en/l1qf4156/#facet-value-ordering)\n * in your Dynamic Navigation Experience configuration.\n */\n // TODO: add automatic (occurrences when not expanded, alphanumeric when expanded)\n @Prop({reflect: true}) public sortCriteria: CategoryFacetSortCriterion =\n 'occurrences';\n /**\n * The character that separates values of a multi-value field.\n *\n * *Note:* If you use the [example formatting](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-category-facet/#usage-notes) for the associated multi-value field, you must set this value to `|` or the facet won't display properly.\n */\n @Prop({reflect: true}) public delimitingCharacter = ';';\n /**\n * The base path shared by all values for the facet.\n *\n * Specify the property as an array using a JSON string representation:\n * ```html\n * <atomic-category-facet base-path='[\"first value\", \"second value\"]' ></atomic-category-facet>\n * ```\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public basePath: string[] | string = '[]';\n\n /**\n * Whether to use basePath as a filter for the results.\n */\n @Prop({reflect: true}) public filterByBasePath = true;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n // @Prop() public customSort?: string; TODO: KIT-753 Add customSort option for facet\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-category-facet\n * depends-on-abc\n * ...\n * ></atomic-category-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-category-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-category-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private showLessFocus?: FocusTargetController;\n\n private showMoreFocus?: FocusTargetController;\n\n private headerFocus?: FocusTargetController;\n\n private activeValueFocus?: FocusTargetController;\n\n @AriaLiveRegion('facet-search')\n protected facetSearchAriaMessage!: string;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n const options: CategoryFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n basePath: [...this.basePath],\n delimitingCharacter: this.delimitingCharacter,\n filterByBasePath: this.filterByBasePath,\n injectionDepth: this.injectionDepth,\n filterFacetCount: this.filterFacetCount,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildCategoryFacet(this.bindings.engine, {options});\n announceFacetSearchResultsWithAriaLive(\n this.facet,\n this.label,\n (msg) => (this.facetSearchAriaMessage = msg),\n this.bindings.i18n\n );\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('categoryFacets', facetInfo);\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.facet.state.valuesAsTrees.length,\n numberOfActiveValues: () => (this.facetState.hasActiveValues ? 1 : 0),\n });\n this.initializeDependenciesManager();\n }\n\n private get focusTargets() {\n if (!this.showLessFocus) {\n this.showLessFocus = new FocusTargetController(this);\n }\n if (!this.showMoreFocus) {\n this.showMoreFocus = new FocusTargetController(this);\n }\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n if (!this.activeValueFocus) {\n this.activeValueFocus = new FocusTargetController(this);\n }\n\n return {\n showLessFocus: this.showLessFocus,\n showMoreFocus: this.showMoreFocus,\n headerFocus: this.headerFocus,\n activeValueFocus: this.activeValueFocus,\n };\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n this.searchStatusState.hasError ||\n !this.facet.state.enabled ||\n (!this.facet.state.selectedValueAncestry.length &&\n !this.facet.state.valuesAsTrees.length)\n );\n }\n\n public componentShouldUpdate(\n next: unknown,\n prev: unknown,\n propName: keyof AtomicCategoryFacet\n ) {\n if (\n this.isCategoryFacetState(prev, propName) &&\n this.isCategoryFacetState(next, propName)\n ) {\n return shouldUpdateFacetSearchComponent(\n next.facetSearch,\n prev.facetSearch\n );\n }\n return true;\n }\n\n private get hasParents() {\n return !!this.facetState.selectedValueAncestry.length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n numberOfActiveValues={\n this.facetState.hasActiveValues && this.isCollapsed ? 1 : 0\n }\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n onClearFilters={() => {\n this.focusTargets.headerFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n headerRef={(header) => {\n this.focusTargets.headerFocus.setTarget(header);\n if (!this.hasParents) {\n this.focusTargets.activeValueFocus.setTarget(header);\n }\n }}\n ></FacetHeader>\n );\n }\n\n private renderSearchInput() {\n if (!this.withSearch) {\n return;\n }\n\n return (\n <FacetSearchInput\n i18n={this.bindings.i18n}\n label={this.label}\n query={this.facetState.facetSearch.query}\n onChange={(value) => {\n if (value === '') {\n this.facet.facetSearch.clear();\n return;\n }\n this.facet.facetSearch.updateCaptions(\n getFieldCaptions(this.field, this.bindings.i18n)\n );\n this.facet.facetSearch.updateText(value);\n this.facet.facetSearch.search();\n }}\n onClear={() => this.facet.facetSearch.clear()}\n ></FacetSearchInput>\n );\n }\n\n private renderValuesTree(\n valuesAsTrees: CategoryFacetValue[],\n isRoot: boolean\n ) {\n if (!this.hasParents) {\n return this.renderChildren();\n }\n\n if (isRoot) {\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetAllCategoryButton\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(valuesAsTrees, false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n if (valuesAsTrees.length > 1) {\n const parentValue = valuesAsTrees[0];\n\n return (\n <CategoryFacetTreeValueContainer>\n <CategoryFacetParentButton\n facetValue={parentValue}\n field={this.field}\n i18n={this.bindings.i18n}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(parentValue);\n }}\n />\n <CategoryFacetParentAsTreeContainer isTopLevel={false}>\n {this.renderValuesTree(valuesAsTrees.slice(1), false)}\n </CategoryFacetParentAsTreeContainer>\n </CategoryFacetTreeValueContainer>\n );\n }\n\n const activeParent = valuesAsTrees[0];\n const activeParentDisplayValue = getFieldValueCaption(\n this.field,\n activeParent.value,\n this.bindings.i18n\n );\n\n return (\n <CategoryFacetParentValueLink\n displayValue={activeParentDisplayValue}\n numberOfResults={activeParent.numberOfResults}\n i18n={this.bindings.i18n}\n isLeafValue={activeParent.isLeafValue}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.deselectAll();\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(el) => this.focusTargets.activeValueFocus.setTarget(el)}\n >\n <CategoryFacetChildrenAsTreeContainer>\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n </CategoryFacetParentValueLink>\n );\n }\n\n private renderChild(\n facetValue: CategoryFacetValue,\n isShowLessFocusTarget: boolean,\n isShowMoreFocusTarget: boolean\n ) {\n const displayValue = getFieldValueCaption(\n this.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state === 'selected';\n return (\n <CategoryFacetChildValueLink\n displayValue={displayValue}\n i18n={this.bindings.i18n}\n isLeafValue={facetValue.isLeafValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.toggleSelect(facetValue);\n }}\n searchQuery={this.facetState.facetSearch.query}\n setRef={(element) => {\n isShowLessFocusTarget &&\n this.focusTargets.showLessFocus.setTarget(element);\n isShowMoreFocusTarget &&\n this.focusTargets.showMoreFocus.setTarget(element);\n }}\n ></CategoryFacetChildValueLink>\n );\n }\n\n private renderChildren() {\n if (!this.facetState.valuesAsTrees.length) {\n return;\n }\n if (this.facetState.selectedValueAncestry.length > 0) {\n return this.facetState.selectedValueAncestry\n .find((value) => value.state === 'selected')\n ?.children.map((value, i) =>\n this.renderChild(\n value,\n i === 0,\n i === this.resultIndexToFocusOnShowMore\n )\n );\n }\n\n return this.facetState.valuesAsTrees.map((value, i) =>\n this.renderChild(value, i === 0, i === this.resultIndexToFocusOnShowMore)\n );\n }\n\n private renderSearchResults() {\n return (\n <CategoryFacetSearchResultsContainer>\n {this.facetState.facetSearch.values.map((value) => (\n <CategoryFacetSearchValue\n value={value}\n field={this.field}\n i18n={this.bindings.i18n}\n searchQuery={this.facetState.facetSearch.query}\n onClick={() => {\n this.focusTargets.activeValueFocus.focusAfterSearch();\n this.facet.facetSearch.select(value);\n }}\n ></CategoryFacetSearchValue>\n ))}\n </CategoryFacetSearchResultsContainer>\n );\n }\n\n private renderMatches() {\n return (\n <FacetSearchMatches\n i18n={this.bindings.i18n}\n query={this.facetState.facetSearch.query}\n numberOfMatches={this.facetState.facetSearch.values.length}\n hasMoreMatches={this.facetState.facetSearch.moreValuesAvailable}\n showMoreMatches={() => this.facet.facetSearch.showMoreResults()}\n ></FacetSearchMatches>\n );\n }\n\n private renderShowMoreLess() {\n return (\n <div class={this.hasParents ? 'pl-9' : ''}>\n <FacetShowMoreLess\n label={this.label}\n i18n={this.bindings.i18n}\n onShowMore={() => {\n this.resultIndexToFocusOnShowMore =\n this.facetState.valuesAsTrees[0].children.length;\n this.focusTargets.showMoreFocus.focusAfterSearch();\n this.facet.showMoreValues();\n }}\n onShowLess={() => {\n this.focusTargets.showLessFocus.focusAfterSearch();\n this.facet.showLessValues();\n }}\n canShowLessValues={this.facetState.canShowLessValues}\n canShowMoreValues={this.facetState.canShowMoreValues}\n ></FacetShowMoreLess>\n </div>\n );\n }\n\n private isCategoryFacetState(\n state: unknown,\n propName: string\n ): state is CategoryFacetState {\n return (\n propName === 'facetState' &&\n typeof (state as CategoryFacetState)?.facetId === 'string'\n );\n }\n\n public render() {\n const {\n bindings: {i18n},\n label,\n facetState: {facetSearch, enabled, valuesAsTrees, selectedValueAncestry},\n searchStatusState: {hasError, firstSearchExecuted},\n } = this;\n\n return (\n <FacetGuard\n enabled={enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={valuesAsTrees.length > 0}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && [\n this.renderSearchInput(),\n shouldDisplaySearchResults(facetSearch) ? (\n <Fragment>\n {facetSearch.values.length ? (\n <FacetValuesGroup\n i18n={i18n}\n label={label}\n query={facetSearch.query}\n >\n {this.renderSearchResults()}\n </FacetValuesGroup>\n ) : (\n <div class=\"mt-3\"></div>\n )}\n {this.renderMatches()}\n </Fragment>\n ) : (\n <Fragment>\n <FacetValuesGroup i18n={i18n} label={label}>\n {this.hasParents ? (\n <CategoryFacetParentAsTreeContainer\n isTopLevel={true}\n className=\"mt-3\"\n >\n {this.renderValuesTree(selectedValueAncestry, true)}\n </CategoryFacetParentAsTreeContainer>\n ) : (\n <CategoryFacetChildrenAsTreeContainer className=\"mt-3\">\n {this.renderChildren()}\n </CategoryFacetChildrenAsTreeContainer>\n )}\n </FacetValuesGroup>\n {this.renderShowMoreLess()}\n </Fragment>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|