@coveo/atomic 3.33.8-pre.32aa53b021 → 3.33.8-pre.3524c75f47
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 +4 -0
- package/dist/atomic/components/_index.js +2 -0
- 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-facet.d.ts +11 -0
- package/dist/atomic/components/atomic-facet.js +470 -0
- package/dist/atomic/components/atomic-facet.js.map +1 -0
- 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 +4 -37
- 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 +3 -3
- 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 +2 -3
- package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
- package/dist/atomic/components/atomic-pager.js +3 -3
- 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 +1 -46
- package/dist/atomic/components/atomic-relevance-inspector.js.map +1 -1
- package/dist/atomic/components/atomic-relevance-inspector2.js +50 -0
- package/dist/atomic/components/atomic-relevance-inspector2.js.map +1 -0
- 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 +3 -3
- package/dist/atomic/components/atomic-search-interface.d.ts +11 -0
- package/dist/atomic/components/atomic-search-interface.js +552 -0
- package/dist/atomic/components/atomic-search-interface.js.map +1 -0
- 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-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-expression.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-category-facet/atomic-commerce-category-facet.js +4 -4
- package/dist/atomic/components/components/commerce/atomic-commerce-did-you-mean/atomic-commerce-did-you-mean.js +2 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +6 -6
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +50 -8
- package/dist/atomic/components/components/commerce/atomic-commerce-load-more-products/atomic-commerce-load-more-products.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
- package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.js +2 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +4 -4
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +8 -5
- package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-product/atomic-product.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-section-children/atomic-product-section-children.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +1 -1
- package/dist/atomic/components/components/common/query-correction/trigger-correction.js +1 -1
- package/dist/atomic/components/components/common/refine-modal/modal.js +1 -1
- package/dist/atomic/components/components/common/suggestions/instant-item.js +6 -6
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
- package/dist/atomic/components/components/search/index.js +0 -2
- package/dist/atomic/components/components/search/lazy-index.js +0 -2
- package/dist/atomic/components/{stencil-facet-guard.js → facet-guard.js} +1 -2
- package/dist/atomic/components/facet-guard.js.map +1 -0
- 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/stencil-facet-value.js +39 -0
- package/dist/atomic/components/stencil-facet-value.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/lang/cs.json +1 -1
- package/dist/atomic/lang/da.json +1 -1
- package/dist/atomic/lang/de.json +1 -1
- package/dist/atomic/lang/dev.json +1 -1
- package/dist/atomic/lang/el.json +1 -1
- package/dist/atomic/lang/en.json +1 -1
- package/dist/atomic/lang/es.json +1 -1
- package/dist/atomic/lang/fi.json +1 -1
- package/dist/atomic/lang/fr.json +1 -1
- package/dist/atomic/lang/hu.json +1 -1
- package/dist/atomic/lang/id.json +1 -1
- package/dist/atomic/lang/it.json +1 -1
- package/dist/atomic/lang/ja.json +1 -1
- package/dist/atomic/lang/ko.json +1 -1
- package/dist/atomic/lang/nl.json +1 -1
- package/dist/atomic/lang/no.json +1 -1
- package/dist/atomic/lang/pl.json +1 -1
- package/dist/atomic/lang/pt-BR.json +1 -1
- package/dist/atomic/lang/pt.json +1 -1
- package/dist/atomic/lang/ru.json +1 -1
- package/dist/atomic/lang/sv.json +1 -1
- package/dist/atomic/lang/th.json +1 -1
- package/dist/atomic/lang/tr.json +1 -1
- package/dist/atomic/lang/zh-CN.json +1 -1
- package/dist/atomic/lang/zh-TW.json +1 -1
- package/dist/atomic/lang/zh.json +1 -1
- package/dist/atomic/{p-41c5d5fa.entry.js → p-021f01d6.entry.js} +2 -2
- package/dist/atomic/{p-a3fa6695.entry.js → p-035f8dc8.entry.js} +2 -2
- package/dist/atomic/{p-3c532cda.entry.js → p-089be992.entry.js} +2 -2
- package/dist/atomic/{p-7fe2dfcd.entry.js → p-09a3a067.entry.js} +2 -2
- package/dist/atomic/{p-98da2a98.entry.js → p-0d333ba3.entry.js} +2 -2
- package/dist/atomic/p-1992b245.entry.js +2 -0
- package/dist/atomic/{p-2ac75719.entry.js → p-1d1f54a5.entry.js} +2 -2
- package/dist/atomic/{p-9d023f0b.entry.js → p-1ef658d8.entry.js} +2 -2
- package/dist/atomic/{p-aa3ac5aa.js → p-1f059522.js} +1 -1
- package/dist/atomic/p-1f059522.js.map +1 -0
- package/dist/atomic/{p-10b5e0f3.entry.js → p-20341936.entry.js} +2 -2
- package/dist/atomic/{p-3213225f.entry.js → p-26a51a77.entry.js} +2 -2
- package/dist/atomic/{p-15406648.entry.js → p-2ca352f4.entry.js} +2 -2
- package/dist/atomic/{p-926fe2d7.entry.js → p-2ce8220a.entry.js} +2 -2
- package/dist/atomic/{p-97e42c43.entry.js → p-31aa052e.entry.js} +2 -2
- package/dist/atomic/{p-7a6468a7.entry.js → p-36fab158.entry.js} +2 -2
- package/dist/atomic/{p-9727f36b.entry.js → p-37374964.entry.js} +2 -2
- package/dist/atomic/{p-7b1a3cab.entry.js → p-3a2c900c.entry.js} +2 -2
- package/dist/atomic/{p-5adbf098.entry.js → p-3b023e83.entry.js} +2 -2
- package/dist/atomic/{p-0610b3e7.entry.js → p-3b20b011.entry.js} +2 -2
- package/dist/atomic/p-3e433353.entry.js +2 -0
- package/dist/atomic/p-3e433353.entry.js.map +1 -0
- package/dist/atomic/{p-c08f4ee6.entry.js → p-3f912e98.entry.js} +2 -2
- package/dist/atomic/{p-9e771351.entry.js → p-40635c2d.entry.js} +2 -2
- package/dist/atomic/{p-c9fe4f77.entry.js → p-43d708cb.entry.js} +2 -2
- package/dist/atomic/{p-b0c50194.entry.js → p-48f57fd8.entry.js} +2 -2
- package/dist/atomic/{p-454a0328.entry.js → p-49c38b27.entry.js} +2 -2
- package/dist/atomic/{p-24df7251.entry.js → p-4c2f230f.entry.js} +2 -2
- package/dist/atomic/p-534b6a0a.entry.js +2 -0
- package/dist/atomic/p-534b6a0a.entry.js.map +1 -0
- package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
- package/dist/atomic/p-5ca21deb.js +2 -0
- package/dist/atomic/p-5ca21deb.js.map +1 -0
- package/dist/atomic/{p-b4ad3036.entry.js → p-5f1fa581.entry.js} +2 -2
- package/dist/atomic/{p-8df7270f.entry.js → p-604c4085.entry.js} +2 -2
- package/dist/atomic/{p-d50c96c2.entry.js → p-627e1265.entry.js} +2 -2
- package/dist/atomic/{p-004adbb8.entry.js → p-6329ff94.entry.js} +2 -2
- package/dist/atomic/{p-e3af1bb4.entry.js → p-6e6d686e.entry.js} +2 -2
- package/dist/atomic/{p-79a9a372.entry.js → p-744da781.entry.js} +2 -2
- package/dist/atomic/{p-4b1bf2fd.entry.js → p-77205925.entry.js} +2 -2
- package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
- package/dist/atomic/{p-c8d29aa6.entry.js → p-7e2109e9.entry.js} +2 -2
- package/dist/atomic/{p-fa376d3d.entry.js → p-811d6dcb.entry.js} +2 -2
- package/dist/atomic/p-811d6dcb.entry.js.map +1 -0
- package/dist/atomic/{p-9147b0db.entry.js → p-8256cd44.entry.js} +2 -2
- package/dist/atomic/{p-0e27d4f2.entry.js → p-83c9244a.entry.js} +2 -2
- package/dist/atomic/{p-1140ac4d.entry.js → p-89085429.entry.js} +2 -2
- package/dist/atomic/{p-828cea10.entry.js → p-89ab44de.entry.js} +2 -2
- package/dist/atomic/{p-bd99fcc1.entry.js → p-939eaaac.entry.js} +2 -2
- package/dist/atomic/{p-9b92b4e2.entry.js → p-93e29b24.entry.js} +2 -2
- package/dist/atomic/{p-b6377fb6.entry.js → p-98c5b9b8.entry.js} +2 -2
- package/dist/atomic/{p-bf49fed3.entry.js → p-99b8d52d.entry.js} +2 -2
- package/dist/atomic/{p-8fb8c4f0.entry.js → p-9c9b1965.entry.js} +2 -2
- package/dist/atomic/p-9c9b1965.entry.js.map +1 -0
- package/dist/atomic/{p-160553ce.entry.js → p-a3efa89e.entry.js} +2 -2
- package/dist/atomic/{p-c538c8ac.entry.js → p-a53c7821.entry.js} +2 -2
- package/dist/atomic/{p-85f165af.entry.js → p-a8882a2a.entry.js} +2 -2
- package/dist/atomic/{p-ce41c447.entry.js → p-ae060711.entry.js} +2 -2
- package/dist/atomic/{p-b4c34553.entry.js → p-b0b17e21.entry.js} +2 -2
- package/dist/atomic/{p-e1c99e2e.entry.js → p-b2ff1330.entry.js} +2 -2
- package/dist/atomic/{p-618c6967.entry.js → p-b6963bae.entry.js} +2 -2
- package/dist/atomic/{p-e7c6a479.entry.js → p-b7063a0d.entry.js} +2 -2
- package/dist/atomic/p-b7063a0d.entry.js.map +1 -0
- package/dist/atomic/{p-dee60597.entry.js → p-bc0d6d3d.entry.js} +2 -2
- package/dist/atomic/{p-0e5dc57f.entry.js → p-c126ee6b.entry.js} +2 -2
- package/dist/atomic/{p-754909fe.entry.js → p-c1999888.entry.js} +2 -2
- package/dist/atomic/{p-00a6ab8c.entry.js → p-d0f47b33.entry.js} +2 -2
- package/dist/atomic/p-d24d34a7.entry.js +2 -0
- package/dist/atomic/{p-7f40e57d.entry.js → p-d364064c.entry.js} +2 -2
- package/dist/atomic/{p-856e858c.entry.js → p-d785121d.entry.js} +2 -2
- package/dist/atomic/{p-7d63bf7b.entry.js → p-d93adf52.entry.js} +2 -2
- package/dist/atomic/{p-2a4e9425.entry.js → p-de066001.entry.js} +2 -2
- package/dist/atomic/{p-0bc9b088.js → p-df723535.js} +2 -2
- package/dist/atomic/{p-8a7a23b7.entry.js → p-e162805d.entry.js} +2 -2
- package/dist/atomic/{p-441b1a7b.entry.js → p-e23b3334.entry.js} +2 -2
- package/dist/atomic/p-e2afb475.entry.js +2 -0
- package/dist/atomic/{p-bd32625e.entry.js → p-ea446721.entry.js} +2 -2
- package/dist/atomic/{p-07b6424c.entry.js → p-ee6771f1.entry.js} +2 -2
- package/dist/atomic/{p-abb14108.entry.js → p-f0c2dfe8.entry.js} +2 -2
- package/dist/atomic/{p-cc68642f.entry.js → p-f289269f.entry.js} +2 -2
- package/dist/atomic/{p-d4ad7336.entry.js → p-fa8b7c4c.entry.js} +2 -2
- package/dist/atomic/{p-fb1a1e2e.entry.js → p-fbfe913d.entry.js} +2 -2
- package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
- package/dist/atomic/{p-6de44060.entry.js.map → p-fcf3f7d7.entry.js.map} +1 -1
- package/dist/atomic/p-fda26113.entry.js +2 -0
- package/dist/atomic/p-fda26113.entry.js.map +1 -0
- package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-b8cf7dfc.js → analytics-config-7817986c.js} +2 -2
- package/dist/cjs/{analytics-config-b8cf7dfc.js.map → analytics-config-7817986c.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-facet.cjs.entry.js +453 -0
- package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -0
- 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 +10 -38
- 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 +3 -3
- 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 +2 -3
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/atomic-search-interface.cjs.entry.js +511 -0
- package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -0
- 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-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
- 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/{stencil-facet-guard-9573df7f.js → facet-guard-328b588d.js} +1 -2
- package/dist/cjs/facet-guard-328b588d.js.map +1 -0
- package/dist/cjs/index-757bc886.js +12 -4
- package/dist/cjs/stencil-facet-value-e67c9332.js +41 -0
- package/dist/cjs/stencil-facet-value-e67c9332.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-568c4df9.js → analytics-config-885c56e7.js} +2 -2
- package/dist/esm/{analytics-config-568c4df9.js.map → analytics-config-885c56e7.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-facet.entry.js +449 -0
- package/dist/esm/atomic-facet.entry.js.map +1 -0
- 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 +10 -38
- 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 +3 -3
- 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 +2 -3
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-pager.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/atomic-search-interface.entry.js +507 -0
- package/dist/esm/atomic-search-interface.entry.js.map +1 -0
- 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-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-sort-expression.entry.js +1 -1
- 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/{stencil-facet-guard-edbfa966.js → facet-guard-4b795e90.js} +1 -2
- package/dist/esm/facet-guard-4b795e90.js.map +1 -0
- package/dist/esm/index-3f35faca.js +12 -4
- package/dist/esm/stencil-facet-value-30dc9b6c.js +39 -0
- package/dist/esm/stencil-facet-value-30dc9b6c.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.d.ts +4 -4
- package/dist/types/components/commerce/atomic-commerce-did-you-mean/atomic-commerce-did-you-mean.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-facet/atomic-commerce-facet.d.ts +6 -6
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +30 -2
- package/dist/types/components/commerce/atomic-commerce-load-more-products/atomic-commerce-load-more-products.d.ts +3 -3
- package/dist/types/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-pager/atomic-commerce-pager.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +4 -4
- package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +2 -2
- package/dist/types/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.d.ts +3 -3
- package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
- package/dist/types/components/commerce/atomic-product-section-children/atomic-product-section-children.d.ts +1 -1
- package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +7 -7
- package/dist/types/components/common/query-correction/trigger-correction.d.ts +2 -0
- package/dist/types/components/common/refine-modal/modal.d.ts +2 -0
- package/dist/types/components/common/suggestions/instant-item.d.ts +6 -3
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +44 -46
- package/dist/types/components/search/atomic-search-interface/interfaces.d.ts +1 -2
- package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -3
- package/dist/types/components/search/{atomic-facet → facets/atomic-facet}/atomic-facet.d.ts +9 -13
- package/dist/types/components/search/index.d.ts +0 -2
- package/dist/types/components.d.ts +338 -2
- package/docs/atomic-docs.json +7288 -6008
- package/package.json +4 -4
- package/dist/atomic/components/components/common/facets/depends-on.js +0 -62
- package/dist/atomic/components/components/common/facets/popover/popover-type.js +0 -5
- package/dist/atomic/components/components/search/atomic-facet/atomic-facet.js +0 -613
- package/dist/atomic/components/components/search/atomic-search-interface/analytics-config.js +0 -57
- package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +0 -495
- package/dist/atomic/components/stencil-facet-guard.js.map +0 -1
- package/dist/atomic/p-0edea6f9.entry.js +0 -2
- package/dist/atomic/p-4cb7756c.entry.js +0 -2
- package/dist/atomic/p-4cb7756c.entry.js.map +0 -1
- package/dist/atomic/p-6de44060.entry.js +0 -2
- package/dist/atomic/p-8fb8c4f0.entry.js.map +0 -1
- package/dist/atomic/p-97829295.entry.js +0 -2
- package/dist/atomic/p-aa3ac5aa.js.map +0 -1
- package/dist/atomic/p-c2b4b401.entry.js +0 -2
- package/dist/atomic/p-e7c6a479.entry.js.map +0 -1
- package/dist/atomic/p-fa376d3d.entry.js.map +0 -1
- package/dist/cjs/stencil-facet-guard-9573df7f.js.map +0 -1
- package/dist/esm/stencil-facet-guard-edbfa966.js.map +0 -1
- /package/dist/atomic/{p-41c5d5fa.entry.js.map → p-021f01d6.entry.js.map} +0 -0
- /package/dist/atomic/{p-a3fa6695.entry.js.map → p-035f8dc8.entry.js.map} +0 -0
- /package/dist/atomic/{p-3c532cda.entry.js.map → p-089be992.entry.js.map} +0 -0
- /package/dist/atomic/{p-7fe2dfcd.entry.js.map → p-09a3a067.entry.js.map} +0 -0
- /package/dist/atomic/{p-98da2a98.entry.js.map → p-0d333ba3.entry.js.map} +0 -0
- /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
- /package/dist/atomic/{p-2ac75719.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
- /package/dist/atomic/{p-9d023f0b.entry.js.map → p-1ef658d8.entry.js.map} +0 -0
- /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-20341936.entry.js.map} +0 -0
- /package/dist/atomic/{p-3213225f.entry.js.map → p-26a51a77.entry.js.map} +0 -0
- /package/dist/atomic/{p-15406648.entry.js.map → p-2ca352f4.entry.js.map} +0 -0
- /package/dist/atomic/{p-926fe2d7.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
- /package/dist/atomic/{p-97e42c43.entry.js.map → p-31aa052e.entry.js.map} +0 -0
- /package/dist/atomic/{p-7a6468a7.entry.js.map → p-36fab158.entry.js.map} +0 -0
- /package/dist/atomic/{p-9727f36b.entry.js.map → p-37374964.entry.js.map} +0 -0
- /package/dist/atomic/{p-7b1a3cab.entry.js.map → p-3a2c900c.entry.js.map} +0 -0
- /package/dist/atomic/{p-5adbf098.entry.js.map → p-3b023e83.entry.js.map} +0 -0
- /package/dist/atomic/{p-0610b3e7.entry.js.map → p-3b20b011.entry.js.map} +0 -0
- /package/dist/atomic/{p-c08f4ee6.entry.js.map → p-3f912e98.entry.js.map} +0 -0
- /package/dist/atomic/{p-9e771351.entry.js.map → p-40635c2d.entry.js.map} +0 -0
- /package/dist/atomic/{p-c9fe4f77.entry.js.map → p-43d708cb.entry.js.map} +0 -0
- /package/dist/atomic/{p-b0c50194.entry.js.map → p-48f57fd8.entry.js.map} +0 -0
- /package/dist/atomic/{p-454a0328.entry.js.map → p-49c38b27.entry.js.map} +0 -0
- /package/dist/atomic/{p-24df7251.entry.js.map → p-4c2f230f.entry.js.map} +0 -0
- /package/dist/atomic/{p-f0012580.entry.js.map → p-594488f2.entry.js.map} +0 -0
- /package/dist/atomic/{p-b4ad3036.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
- /package/dist/atomic/{p-8df7270f.entry.js.map → p-604c4085.entry.js.map} +0 -0
- /package/dist/atomic/{p-d50c96c2.entry.js.map → p-627e1265.entry.js.map} +0 -0
- /package/dist/atomic/{p-004adbb8.entry.js.map → p-6329ff94.entry.js.map} +0 -0
- /package/dist/atomic/{p-e3af1bb4.entry.js.map → p-6e6d686e.entry.js.map} +0 -0
- /package/dist/atomic/{p-79a9a372.entry.js.map → p-744da781.entry.js.map} +0 -0
- /package/dist/atomic/{p-4b1bf2fd.entry.js.map → p-77205925.entry.js.map} +0 -0
- /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
- /package/dist/atomic/{p-c8d29aa6.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
- /package/dist/atomic/{p-9147b0db.entry.js.map → p-8256cd44.entry.js.map} +0 -0
- /package/dist/atomic/{p-0e27d4f2.entry.js.map → p-83c9244a.entry.js.map} +0 -0
- /package/dist/atomic/{p-1140ac4d.entry.js.map → p-89085429.entry.js.map} +0 -0
- /package/dist/atomic/{p-828cea10.entry.js.map → p-89ab44de.entry.js.map} +0 -0
- /package/dist/atomic/{p-bd99fcc1.entry.js.map → p-939eaaac.entry.js.map} +0 -0
- /package/dist/atomic/{p-9b92b4e2.entry.js.map → p-93e29b24.entry.js.map} +0 -0
- /package/dist/atomic/{p-b6377fb6.entry.js.map → p-98c5b9b8.entry.js.map} +0 -0
- /package/dist/atomic/{p-bf49fed3.entry.js.map → p-99b8d52d.entry.js.map} +0 -0
- /package/dist/atomic/{p-160553ce.entry.js.map → p-a3efa89e.entry.js.map} +0 -0
- /package/dist/atomic/{p-c538c8ac.entry.js.map → p-a53c7821.entry.js.map} +0 -0
- /package/dist/atomic/{p-85f165af.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
- /package/dist/atomic/{p-ce41c447.entry.js.map → p-ae060711.entry.js.map} +0 -0
- /package/dist/atomic/{p-b4c34553.entry.js.map → p-b0b17e21.entry.js.map} +0 -0
- /package/dist/atomic/{p-e1c99e2e.entry.js.map → p-b2ff1330.entry.js.map} +0 -0
- /package/dist/atomic/{p-618c6967.entry.js.map → p-b6963bae.entry.js.map} +0 -0
- /package/dist/atomic/{p-dee60597.entry.js.map → p-bc0d6d3d.entry.js.map} +0 -0
- /package/dist/atomic/{p-0e5dc57f.entry.js.map → p-c126ee6b.entry.js.map} +0 -0
- /package/dist/atomic/{p-754909fe.entry.js.map → p-c1999888.entry.js.map} +0 -0
- /package/dist/atomic/{p-00a6ab8c.entry.js.map → p-d0f47b33.entry.js.map} +0 -0
- /package/dist/atomic/{p-97829295.entry.js.map → p-d24d34a7.entry.js.map} +0 -0
- /package/dist/atomic/{p-7f40e57d.entry.js.map → p-d364064c.entry.js.map} +0 -0
- /package/dist/atomic/{p-856e858c.entry.js.map → p-d785121d.entry.js.map} +0 -0
- /package/dist/atomic/{p-7d63bf7b.entry.js.map → p-d93adf52.entry.js.map} +0 -0
- /package/dist/atomic/{p-2a4e9425.entry.js.map → p-de066001.entry.js.map} +0 -0
- /package/dist/atomic/{p-0bc9b088.js.map → p-df723535.js.map} +0 -0
- /package/dist/atomic/{p-8a7a23b7.entry.js.map → p-e162805d.entry.js.map} +0 -0
- /package/dist/atomic/{p-441b1a7b.entry.js.map → p-e23b3334.entry.js.map} +0 -0
- /package/dist/atomic/{p-c2b4b401.entry.js.map → p-e2afb475.entry.js.map} +0 -0
- /package/dist/atomic/{p-bd32625e.entry.js.map → p-ea446721.entry.js.map} +0 -0
- /package/dist/atomic/{p-07b6424c.entry.js.map → p-ee6771f1.entry.js.map} +0 -0
- /package/dist/atomic/{p-abb14108.entry.js.map → p-f0c2dfe8.entry.js.map} +0 -0
- /package/dist/atomic/{p-cc68642f.entry.js.map → p-f289269f.entry.js.map} +0 -0
- /package/dist/atomic/{p-d4ad7336.entry.js.map → p-fa8b7c4c.entry.js.map} +0 -0
- /package/dist/atomic/{p-fb1a1e2e.entry.js.map → p-fbfe913d.entry.js.map} +0 -0
- /package/dist/atomic/{p-f936f55e.entry.js.map → p-fea7bf3b.entry.js.map} +0 -0
- /package/dist/types/components/common/facets/{stencil-facet-guard.d.ts → facet-guard.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
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}
|
|
@@ -89,7 +89,7 @@ const AtomicSmartSnippetAnswer = /*@__PURE__*/ proxyCustomElement(class AtomicSm
|
|
|
89
89
|
}), ref: (element) => element && this.bindAnalyticsToLinks(element), part: "answer", class: "margin" })));
|
|
90
90
|
}
|
|
91
91
|
render() {
|
|
92
|
-
return (h(Host, { key: '
|
|
92
|
+
return (h(Host, { key: 'a5348601057208e867eaf3a869fd568312efcd60' }, this.renderStyle(), this.renderContent()));
|
|
93
93
|
}
|
|
94
94
|
get host() { return this; }
|
|
95
95
|
static get style() { return AtomicSmartSnippetAnswerStyle0; }
|
|
@@ -56,11 +56,11 @@ const AtomicSmartSnippetCollapseWrapper = /*@__PURE__*/ proxyCustomElement(class
|
|
|
56
56
|
return (h("button", { onClick: () => (this.isExpanded = !this.isExpanded), class: "text-primary mb-4 hover:underline", part: this.isExpanded ? 'show-less-button' : 'show-more-button' }, this.bindings.i18n.t(this.isExpanded ? 'show-less' : 'show-more'), h("atomic-icon", { icon: ArrowDown, class: "ml-2 w-3 align-baseline" })));
|
|
57
57
|
}
|
|
58
58
|
render() {
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: 'e7e07c36fcb394b85cca875ba778ed0040cd34c6', class: this.fullHeight || !this.shouldRenderButton
|
|
60
60
|
? this.isExpanded
|
|
61
61
|
? 'expanded'
|
|
62
62
|
: ''
|
|
63
|
-
: 'invisible' }, h("div", { key: '
|
|
63
|
+
: 'invisible' }, h("div", { key: 'b91217dc798f3bad5041f6518ee4de6338dd77cf', part: "smart-snippet-collapse-wrapper", class: "block overflow-hidden" }, h("slot", { key: 'fe7073c94e352af68dafd1141d7c55ac3cf9a0ab' })), this.shouldRenderButton && this.renderButton()));
|
|
64
64
|
}
|
|
65
65
|
get host() { return this; }
|
|
66
66
|
static get style() { return AtomicSmartSnippetCollapseWrapperStyle0; }
|
|
@@ -87,7 +87,7 @@ const AtomicSmartSnippetExpandableAnswer = /*@__PURE__*/ proxyCustomElement(clas
|
|
|
87
87
|
return (h("button", { onClick: () => this.isExpanded ? this.collapse.emit() : this.expand.emit(), class: "text-primary mb-4 hover:underline", part: this.isExpanded ? 'show-less-button' : 'show-more-button' }, this.bindings.i18n.t(this.isExpanded ? 'show-less' : 'show-more'), h("atomic-icon", { icon: ArrowDown, class: "ml-2 w-3 align-baseline" })));
|
|
88
88
|
}
|
|
89
89
|
render() {
|
|
90
|
-
return (h("div", { key: '
|
|
90
|
+
return (h("div", { key: '429c0365f32c8bec74fb304441ac201c2968d32b', class: this.isExpanded ? 'expanded' : '' }, this.renderAnswer(), this.renderButton()));
|
|
91
91
|
}
|
|
92
92
|
get host() { return this; }
|
|
93
93
|
static get watchers() { return {
|
|
@@ -43,9 +43,9 @@ const AtomicSmartSnippetFeedbackModal = /*@__PURE__*/ proxyCustomElement(class A
|
|
|
43
43
|
}
|
|
44
44
|
render() {
|
|
45
45
|
updateBreakpoints(this.host);
|
|
46
|
-
return (h("atomic-modal", { key: '
|
|
46
|
+
return (h("atomic-modal", { key: '9127d19a2ae3750d7b1ee60f90007d2b435ed962', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '7bdbc6c7c5ca9c51bae303807c2ac5942067db06', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: 'b14f845aa76c05ba5b9781a489ddccc0e2d56a7f', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: 'c8c06039213307ad1843770e2b2601159d851ed3', i18n: this.bindings.i18n }, smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (h(SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
|
|
47
47
|
this.currentAnswer = correspondingAnswer;
|
|
48
|
-
} })))), h(SmartSnippetFeedbackModalDetails, { key: '
|
|
48
|
+
} })))), h(SmartSnippetFeedbackModalDetails, { key: '662eec5d7356b9991d88312425f2575e97d77902', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '5f6427113ee0734b4d501f8201f11b32f6b3537b', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
|
|
49
49
|
}
|
|
50
50
|
close() {
|
|
51
51
|
this.isOpen = false;
|
|
@@ -33,7 +33,7 @@ const AtomicSmartSnippetSource = /*@__PURE__*/ proxyCustomElement(class AtomicSm
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: '59e4530510fba9cd6a01049619dac8ed298d2ad0' }, h(LinkWithItemAnalytics, { key: '543fe4d96b6653157f1e62e069b45b0b25d586f7', title: this.source.clickUri, href: this.source.clickUri, className: "block truncate", part: "source-url", attributes: this.anchorAttributes, onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, this.source.clickUri), h(LinkWithItemAnalytics, { key: 'd306acd763bc7e5540196848317a365aed1fa3d8', title: this.source.title, href: this.source.clickUri, attributes: this.anchorAttributes, className: "block", part: "source-title", onSelect: () => this.selectSource.emit(), onBeginDelayedSelect: () => this.beginDelayedSelectSource.emit(), onCancelPendingSelect: () => this.cancelPendingSelectSource.emit() }, h("atomic-result-text", { field: "title", default: "no-title", key: this.source.uniqueId }))));
|
|
37
37
|
}
|
|
38
38
|
}, [0, "atomic-smart-snippet-source", {
|
|
39
39
|
"source": [1040],
|
|
@@ -117,8 +117,8 @@ const AtomicSortDropdown$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSortDr
|
|
|
117
117
|
const { hasError, hasResults, firstSearchExecuted } = this.searchStatusState;
|
|
118
118
|
const { bindings: { i18n }, id, } = this;
|
|
119
119
|
return [
|
|
120
|
-
h(SortGuard, { key: '
|
|
121
|
-
h("slot", { key: '
|
|
120
|
+
h(SortGuard, { key: '13b57531b5cbe4d96cdd8a6da8cc2e51a7cb5c09', firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: hasResults }, h(SortContainer, { key: '6669f4b0017f7bdf92b2a0310c82dc2ad9ede435' }, h(SortLabel, { key: '2fb9759cc247e03e5c00a515a3de858b7ae6e316', i18n: i18n, id: id }), h(SortSelect, { key: '451912937924b88a4c53cc07a1f4945a5ae29d90', i18n: i18n, id: id, onSelect: (evt) => this.select(evt) }, this.options.map(({ label, criteria, expression }) => (h(SortOption, { i18n: i18n, label: label, selected: this.sort.isSortedBy(criteria), value: expression })))))),
|
|
121
|
+
h("slot", { key: 'b7ff8bfb88f3a07462f058e5ef0bf3e41e761646' }),
|
|
122
122
|
];
|
|
123
123
|
}
|
|
124
124
|
get host() { return this; }
|
|
@@ -47,7 +47,7 @@ const AtomicSortExpression$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSort
|
|
|
47
47
|
const dropdownComponent = 'atomic-sort-dropdown';
|
|
48
48
|
if (!this.host.closest(dropdownComponent)) {
|
|
49
49
|
const error = new Error(`The "${this.host.nodeName.toLowerCase()}" component has to be used inside an ${dropdownComponent} element.`);
|
|
50
|
-
return (h("atomic-component-error", { key: '
|
|
50
|
+
return (h("atomic-component-error", { key: 'e6c396c032fee71b5255255fc78606a85b554c22', element: this.host, error: error }));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
get host() { return this; }
|
|
@@ -66,13 +66,13 @@ const FacetDateInput = /*@__PURE__*/ proxyCustomElement(class FacetDateInput ext
|
|
|
66
66
|
// Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)
|
|
67
67
|
const pattern = '^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$';
|
|
68
68
|
const range = this.rangeGetter();
|
|
69
|
-
return (h("form", { key: '
|
|
69
|
+
return (h("form", { key: 'a9115a4868e39afbdb588fa0f3454d02308e36f5', class: "mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2", onSubmit: (e) => {
|
|
70
70
|
e.preventDefault();
|
|
71
71
|
this.apply();
|
|
72
72
|
return false;
|
|
73
|
-
} }, h("label", { key: '
|
|
73
|
+
} }, h("label", { key: '4d3bcb4549ba5cd003d5284831001830e3ac272f', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_start` }, startLabel, ":"), h("input", { key: '98cc6ca7a7a9a33f777998806259d3a9fa495bb1', id: `${this.facetId}_start`, part: "input-start", type: "date", ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": startAria, placeholder: placeholder, pattern: pattern, required: true,
|
|
74
74
|
// API/Index minimum supported date
|
|
75
|
-
min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: '
|
|
75
|
+
min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: 'fee1acc37402670ca45818b9a5da6062ed0b4218', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_end` }, endLabel, ":"), h("input", { key: 'cc3dd617c4d0fb7f8dbb2573bdcc30762aded812', id: `${this.facetId}_end`, part: "input-end", type: "date", ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": endAria, placeholder: placeholder, pattern: pattern, required: true, min: this.formattedDateValue(this.start) || this.min, max: this.max, value: this.formattedDateValue(range?.end), onInput: (e) => (this.end = parseDate(e.target.value).toDate()) }), h(Button, { key: 'd5e7426fc8fa1594c533a96f96faa07fce2e2d95', style: "outline-primary", type: "submit", part: "input-apply-button", class: "col-span-2 truncate p-2.5", ariaLabel: applyAria, text: apply })));
|
|
76
76
|
}
|
|
77
77
|
}, [0, "atomic-stencil-facet-date-input", {
|
|
78
78
|
"bindings": [16],
|
|
@@ -80,7 +80,7 @@ const AtomicSuggestionRenderer = /*@__PURE__*/ proxyCustomElement(class AtomicSu
|
|
|
80
80
|
}
|
|
81
81
|
render() {
|
|
82
82
|
const isButton = !!(this.suggestion.onSelect || this.suggestion.query);
|
|
83
|
-
return (h(Host, { key: '
|
|
83
|
+
return (h(Host, { key: 'a9f2b556d76e7ff77bcf7e6288191b14ce33fd21', class: "contents" }, isButton ? (h("button", { id: this.id, key: this.suggestion.key, part: this.parts, class: this.classes, onMouseDown: (e) => e.preventDefault(), onClick: (e) => this.onClick?.(e), onMouseOver: (e) => this.onMouseOver?.(e), "data-query": this.suggestion.query, "aria-label": this.ariaLabel(isButton), ref: (el) => {
|
|
84
84
|
if (!el) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
@@ -59,7 +59,7 @@ const AtomicTabManager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicTabManag
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: '177a674f1d915777f0a4e555873f30a60cd52088' }, h("atomic-tab-bar", { key: 'a06f874f12b76dec3e0b948ce126b5224a12dabf' }, h("div", { key: '3d0b23b2daf746445ea6d7dd12c4d9c008fbfbef', role: "list", "aria-label": "tab-area", part: "tab-area", class: "border-neutral mb-2 flex w-full flex-row border-b" }, this.tabs.map((tab) => (h("atomic-tab-button", { active: this.tabManagerState.activeTab === tab.name, label: this.bindings.i18n.t(tab.label, {
|
|
63
63
|
defaultValue: tab.label,
|
|
64
64
|
}), select: () => {
|
|
65
65
|
if (!tab.tabController.state.isActive) {
|
|
@@ -36,7 +36,7 @@ import { renderCategoryFacetValueLink } from '../../common/facets/category-facet
|
|
|
36
36
|
import facetCommonStyles from '../../common/facets/facet-common.tw.css';
|
|
37
37
|
import facetSearchStyles from '../../common/facets/facet-search/facet-search.tw.css';
|
|
38
38
|
/**
|
|
39
|
-
* A facet is a list of values for a certain field occurring in the
|
|
39
|
+
* A facet is a list of values for a certain field occurring in the products.
|
|
40
40
|
* An `atomic-commerce-category-facet` displays a facet of values in a browsable, hierarchical fashion.
|
|
41
41
|
*
|
|
42
42
|
* @part facet - The wrapper for the entire facet.
|
|
@@ -52,9 +52,9 @@ import facetSearchStyles from '../../common/facets/facet-search/facet-search.tw.
|
|
|
52
52
|
* @part more-matches - The label indicating there are more matches for the current facet search query.
|
|
53
53
|
* @part no-matches - The label indicating there are no matches for the current facet search query.
|
|
54
54
|
* @part matches-query - The highlighted query inside the matches labels.
|
|
55
|
-
* @part search-results - The search results container.
|
|
56
|
-
* @part search-result - The search result value.
|
|
57
|
-
* @part search-result-path - The search result path.
|
|
55
|
+
* @part search-results - The facet search results container.
|
|
56
|
+
* @part search-result - The facet search result value.
|
|
57
|
+
* @part search-result-path - The facet search result path.
|
|
58
58
|
* @part search-highlight - The highlighted query inside the facet values.
|
|
59
59
|
*
|
|
60
60
|
* @part parents - The container surrounding the whole hierarchy of values.
|
|
@@ -19,7 +19,7 @@ import { renderTriggerCorrection } from '../../common/query-correction/trigger-c
|
|
|
19
19
|
/**
|
|
20
20
|
* The `atomic-commerce-did-you-mean` component is responsible for handling query corrections. When a query returns no products but finds a possible query correction, the component either suggests the correction or automatically triggers a new query with the suggested term.
|
|
21
21
|
*
|
|
22
|
-
* @part no-results - The text displayed when there are no
|
|
22
|
+
* @part no-results - The text displayed when there are no products.
|
|
23
23
|
* @part auto-corrected - The text displayed for the automatically corrected query.
|
|
24
24
|
* @part showing-results-for - The first paragraph of the text displayed when a query trigger changes a query.
|
|
25
25
|
* @part search-instead-for - The second paragraph of the text displayed when a query trigger changes a query.
|
|
@@ -61,6 +61,7 @@ let AtomicCommerceDidYouMean = class AtomicCommerceDidYouMean extends LitElement
|
|
|
61
61
|
return renderTriggerCorrection({
|
|
62
62
|
props: {
|
|
63
63
|
i18n: this.bindings.i18n,
|
|
64
|
+
i18nKeyShowingItemsFor: 'showing-products-for',
|
|
64
65
|
correctedQuery: this.queryTriggerState.newQuery,
|
|
65
66
|
originalQuery: this.queryTriggerState.originalQuery,
|
|
66
67
|
onClick: () => this.queryTrigger.undo(),
|
package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js
CHANGED
|
@@ -40,10 +40,10 @@ import facetValueExcludeStyles from '../../common/facets/facet-value-exclude/fac
|
|
|
40
40
|
* @part clear-button - The button that resets the actively selected facet values.
|
|
41
41
|
* @part clear-button-icon - The clear button icon.
|
|
42
42
|
*
|
|
43
|
-
* @part search-wrapper - The search box wrapper.
|
|
44
|
-
* @part search-input - The search box input.
|
|
45
|
-
* @part search-icon - The search box submit button.
|
|
46
|
-
* @part search-clear-button - The button to clear the search box of input.
|
|
43
|
+
* @part search-wrapper - The facet search box wrapper.
|
|
44
|
+
* @part search-input - The facet search box input.
|
|
45
|
+
* @part search-icon - The facet search box submit button.
|
|
46
|
+
* @part search-clear-button - The button to clear the facet search box of input.
|
|
47
47
|
* @part more-matches - The label indicating there are more matches for the current facet search query.
|
|
48
48
|
* @part no-matches - The label indicating there are no matches for the current facet search query.
|
|
49
49
|
* @part matches-query - The highlighted query inside the matches labels.
|
|
@@ -58,8 +58,8 @@ import facetValueExcludeStyles from '../../common/facets/facet-value-exclude/fac
|
|
|
58
58
|
* @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.
|
|
59
59
|
* @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.
|
|
60
60
|
*
|
|
61
|
-
* @part show-more - The show more
|
|
62
|
-
* @part show-less - The show less
|
|
61
|
+
* @part show-more - The show more values button.
|
|
62
|
+
* @part show-less - The show less values button.
|
|
63
63
|
* @part show-more-less-icon - The icons of the show more & show less buttons.
|
|
64
64
|
*/
|
|
65
65
|
let AtomicCommerceFacet = class AtomicCommerceFacet extends LitElement {
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { buildCommerceEngine, buildContext, buildProductListing, buildSearch, VERSION as HEADLESS_VERSION, loadConfigurationActions, loadQueryActions, } from '@coveo/headless/commerce';
|
|
7
|
+
import { buildCommerceEngine, buildContext, buildProductListing, buildSearch, VERSION as HEADLESS_VERSION, loadConfigurationActions, loadContextActions, loadQueryActions, } from '@coveo/headless/commerce';
|
|
8
8
|
import { provide } from '@lit/context';
|
|
9
9
|
import i18next from 'i18next';
|
|
10
10
|
import { css, html, LitElement } from 'lit';
|
|
@@ -58,7 +58,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
58
58
|
*/
|
|
59
59
|
this.reflectStateInUrl = true;
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* Disable state reflection in the URL parameters.
|
|
62
62
|
*/
|
|
63
63
|
this.disableStateReflectionInUrl = false;
|
|
64
64
|
/**
|
|
@@ -144,6 +144,41 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
144
144
|
this.searchOrListing.executeFirstRequest();
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Updates the locale settings for the commerce interface and headless commerce
|
|
149
|
+
* engine. Only the provided parameters will be updated.
|
|
150
|
+
*
|
|
151
|
+
* Calling this method affects the localization of the interface as well as
|
|
152
|
+
* the catalog configuration being used by the Commerce API. If the resulting
|
|
153
|
+
* language-country-currency combination matches no existing catalog
|
|
154
|
+
* configuration in your Coveo organization, requests made through the
|
|
155
|
+
* commerce engine will start failing.
|
|
156
|
+
*
|
|
157
|
+
* @param language - (Optional) The IETF language code tag (e.g., `en`).
|
|
158
|
+
* @param country - (Optional) The ISO-3166-1 country tag (e.g., `US`).
|
|
159
|
+
* @param currency - (Optional) The ISO-4217 currency code (e.g., `USD`).
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* interface.updateLocale('fr', 'CA', 'CAD');
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
updateLocale(language, country, currency) {
|
|
167
|
+
if (!this.interfaceController.engineIsCreated(this.engine) ||
|
|
168
|
+
!this.context) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
language && this.interfaceController.onLanguageChange(language);
|
|
172
|
+
if (this.isNewLocale(language, country, currency)) {
|
|
173
|
+
const { setContext } = loadContextActions(this.engine);
|
|
174
|
+
this.engine.dispatch(setContext({
|
|
175
|
+
...this.context.state,
|
|
176
|
+
...(language && { language }),
|
|
177
|
+
...(country && { country }),
|
|
178
|
+
...(currency && { currency }),
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
147
182
|
toggleAnalytics() {
|
|
148
183
|
this.interfaceController.onAnalyticsChange();
|
|
149
184
|
}
|
|
@@ -157,11 +192,10 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
157
192
|
!this.context) {
|
|
158
193
|
return;
|
|
159
194
|
}
|
|
160
|
-
|
|
195
|
+
this.engine.logger.warn('The `language` property will be removed in the next major version of Atomic (v4). Rather than using this property, set the initial language through the engine configuration when calling `initialize` or `initializeWithEngine`, and update the language as needed using the `updateLocale` method.');
|
|
161
196
|
this.context.setLanguage(this.language);
|
|
162
197
|
return this.interfaceController.onLanguageChange();
|
|
163
198
|
}
|
|
164
|
-
// TODO - KIT-4993: Add updateLocale public method.
|
|
165
199
|
disconnectedCallback() {
|
|
166
200
|
super.disconnectedCallback();
|
|
167
201
|
if (typeof this.unsubscribeUrlManager === 'function') {
|
|
@@ -211,11 +245,11 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
211
245
|
throw error;
|
|
212
246
|
}
|
|
213
247
|
}
|
|
214
|
-
// TODO - KIT-4993: Adjust.
|
|
215
248
|
initLanguage() {
|
|
216
|
-
if (!this.language) {
|
|
217
|
-
|
|
249
|
+
if (!this.context || this.language) {
|
|
250
|
+
return;
|
|
218
251
|
}
|
|
252
|
+
this.interfaceController.onLanguageChange(this.context.state.language);
|
|
219
253
|
}
|
|
220
254
|
initRequestStatus() {
|
|
221
255
|
this.searchOrListing =
|
|
@@ -257,7 +291,7 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
257
291
|
this.i18Initialized,
|
|
258
292
|
]);
|
|
259
293
|
this.initContext();
|
|
260
|
-
this.updateLanguage();
|
|
294
|
+
this.updateLanguage(); // TODO - (v4) KIT-4365: Remove.
|
|
261
295
|
this.bindings = this.getBindings();
|
|
262
296
|
markParentAsReady(this);
|
|
263
297
|
this.initRequestStatus();
|
|
@@ -267,6 +301,14 @@ let AtomicCommerceInterface = class AtomicCommerceInterface extends ChildrenUpda
|
|
|
267
301
|
this.initUrlManager();
|
|
268
302
|
this.initialized = true;
|
|
269
303
|
}
|
|
304
|
+
isNewLocale(language, country, currency) {
|
|
305
|
+
if (!this.context) {
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
return ((language && language !== this.context.state.language) ||
|
|
309
|
+
(country && country !== this.context.state.country) ||
|
|
310
|
+
(currency && currency !== this.context.state.currency));
|
|
311
|
+
}
|
|
270
312
|
// TODO - (v4) KIT-4991: Make private.
|
|
271
313
|
scrollToTop() {
|
|
272
314
|
const scrollContainerElement = document.querySelector(this.scrollContainer);
|
|
@@ -24,11 +24,11 @@ import { renderLoadMoreSummary } from '../../common/load-more/summary';
|
|
|
24
24
|
* @part container - The container of the component.
|
|
25
25
|
* @part showing-results - The summary displaying which products are shown and how many are available.
|
|
26
26
|
* @part highlight - The highlighted number of products displayed and number of products available.
|
|
27
|
-
* @part progress-bar - The progress bar displaying a percentage of
|
|
27
|
+
* @part progress-bar - The progress bar displaying a percentage of products shown over the total number of products available.
|
|
28
28
|
* @part load-more-results-button - The "Load more products" button.
|
|
29
29
|
*
|
|
30
|
-
* @cssprop --atomic-more-results-progress-bar-color-from - Color of the start of the gradient for the load more
|
|
31
|
-
* @cssprop --atomic-more-results-progress-bar-color-to - Color of the end of the gradient for the load more
|
|
30
|
+
* @cssprop --atomic-more-results-progress-bar-color-from - Color of the start of the gradient for the load more products progress bar.
|
|
31
|
+
* @cssprop --atomic-more-results-progress-bar-color-to - Color of the end of the gradient for the load more products progress bar.
|
|
32
32
|
*/
|
|
33
33
|
let AtomicCommerceLoadMoreProducts = class AtomicCommerceLoadMoreProducts extends LitElement {
|
|
34
34
|
constructor() {
|
|
@@ -33,7 +33,7 @@ import numericFacetCommonStyles from '../../common/facets/numeric-facet-common.t
|
|
|
33
33
|
* @part clear-button-icon - The icon displayed in the clear button.
|
|
34
34
|
* @part values - The list container for all facet values.
|
|
35
35
|
* @part value-label - The text label for individual facet values.
|
|
36
|
-
* @part value-count - The count indicator showing the number of
|
|
36
|
+
* @part value-count - The count indicator showing the number of products for each value.
|
|
37
37
|
* @part value-checkbox-label - The label associated with facet value checkboxes.
|
|
38
38
|
* @part value-exclude-button - The button to exclude specific facet values.
|
|
39
39
|
* @part input-form - The form container for numeric range inputs.
|
package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js
CHANGED
|
@@ -22,7 +22,7 @@ import { renderPageButtons, renderPagerNextButton, renderPagerPageButton, render
|
|
|
22
22
|
import { renderPagerNavigation } from '../../common/pager/pager-navigation';
|
|
23
23
|
import { getCurrentPagesRange } from './commerce-pager-utils';
|
|
24
24
|
/**
|
|
25
|
-
* The `atomic-commerce-pager` component enables users to navigate through paginated
|
|
25
|
+
* The `atomic-commerce-pager` component enables users to navigate through paginated products.
|
|
26
26
|
*
|
|
27
27
|
* @part buttons - The list of all buttons rendered by the component.
|
|
28
28
|
* @part page-buttons - The list of all page buttons.
|
|
@@ -37,7 +37,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
|
|
|
37
37
|
this.listingOrSearchSummary = controller.summary();
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, } = this.listingOrSearchSummaryState;
|
|
40
|
+
const { firstProduct, firstRequestExecuted, lastProduct, totalNumberOfProducts, hasProducts, hasError, isLoading, } = this.listingOrSearchSummaryState;
|
|
41
41
|
const { i18nKey, highlights, ariaLiveMessage } = getProductQuerySummaryI18nParameters({
|
|
42
42
|
first: firstProduct,
|
|
43
43
|
last: lastProduct,
|
|
@@ -46,7 +46,7 @@ let AtomicCommerceQuerySummary = class AtomicCommerceQuerySummary extends LitEle
|
|
|
46
46
|
: '',
|
|
47
47
|
total: totalNumberOfProducts,
|
|
48
48
|
i18n: this.bindings.i18n,
|
|
49
|
-
isLoading
|
|
49
|
+
isLoading,
|
|
50
50
|
});
|
|
51
51
|
this.ariaMessage.message = ariaLiveMessage;
|
|
52
52
|
return html `${renderQuerySummaryGuard({
|
|
@@ -50,6 +50,9 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
|
|
|
50
50
|
*
|
|
51
51
|
*/
|
|
52
52
|
this.iconAssetsPath = './assets';
|
|
53
|
+
// TODO - KIT-4994: Add disableAnalytics property that defaults to false.
|
|
54
|
+
// TODO - KIT-4994: Deprecate in favor of disableAnalytics property.
|
|
55
|
+
// TODO - (v4) KIT-4990: Remove.
|
|
53
56
|
/**
|
|
54
57
|
* Whether to enable analytics.
|
|
55
58
|
*/
|
|
@@ -104,13 +107,15 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
|
|
|
104
107
|
return;
|
|
105
108
|
}
|
|
106
109
|
language && this.interfaceController.onLanguageChange(language);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
if (this.isNewLocale(language, country, currency)) {
|
|
111
|
+
const { setContext } = loadContextActions(this.engine);
|
|
112
|
+
this.engine.dispatch(setContext({
|
|
113
|
+
...this.context.state,
|
|
114
|
+
...(language && { language }),
|
|
115
|
+
...(country && { country }),
|
|
116
|
+
...(currency && { currency }),
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
114
119
|
}
|
|
115
120
|
toggleAnalytics() {
|
|
116
121
|
this.interfaceController.onAnalyticsChange();
|
|
@@ -118,6 +123,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
|
|
|
118
123
|
updateIconAssetsPath() {
|
|
119
124
|
this.store.state.iconAssetsPath = this.iconAssetsPath;
|
|
120
125
|
}
|
|
126
|
+
// TODO - (v4) KIT-4365: Remove.
|
|
121
127
|
async updateLanguage() {
|
|
122
128
|
if (!this.interfaceController.engineIsCreated(this.engine) ||
|
|
123
129
|
!this.language ||
|
|
@@ -150,7 +156,7 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
|
|
|
150
156
|
this.i18Initialized,
|
|
151
157
|
]);
|
|
152
158
|
this.initContext();
|
|
153
|
-
this.
|
|
159
|
+
this.updateLanguage();
|
|
154
160
|
this.bindings = this.getBindings();
|
|
155
161
|
markParentAsReady(this);
|
|
156
162
|
this.initLanguage();
|
|
@@ -167,9 +173,18 @@ let AtomicCommerceRecommendationInterface = class AtomicCommerceRecommendationIn
|
|
|
167
173
|
};
|
|
168
174
|
}
|
|
169
175
|
initLanguage() {
|
|
170
|
-
if (!this.language) {
|
|
171
|
-
|
|
176
|
+
if (!this.context || this.language) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
this.interfaceController.onLanguageChange(this.context.state.language);
|
|
180
|
+
}
|
|
181
|
+
isNewLocale(language, country, currency) {
|
|
182
|
+
if (!this.context) {
|
|
183
|
+
return false;
|
|
172
184
|
}
|
|
185
|
+
return ((language && language !== this.context.state.language) ||
|
|
186
|
+
(country && country !== this.context.state.country) ||
|
|
187
|
+
(currency && currency !== this.context.state.currency));
|
|
173
188
|
}
|
|
174
189
|
};
|
|
175
190
|
AtomicCommerceRecommendationInterface.styles = [
|
|
@@ -27,7 +27,7 @@ import { getSortByLabel, renderCommerceSortOption } from '../sort/option';
|
|
|
27
27
|
* @part title - The title of the modal.
|
|
28
28
|
* @part close-button - The button in the header that closes the modal.
|
|
29
29
|
* @part close-icon - The icon of the close button.
|
|
30
|
-
* @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view
|
|
30
|
+
* @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view the products.
|
|
31
31
|
* @part footer-button - The button in the footer that closes the modal.
|
|
32
32
|
* @part footer-button-text - The text inside the button in the footer that closes the modal.
|
|
33
33
|
* @part footer-button-count - The count inside the button in the footer that closes the modal.
|
|
@@ -135,6 +135,7 @@ let AtomicCommerceRefineModal = class AtomicCommerceRefineModal extends LitEleme
|
|
|
135
135
|
return html `${renderRefineModal({
|
|
136
136
|
props: {
|
|
137
137
|
i18n: this.bindings.i18n,
|
|
138
|
+
i18nFooterButtonTextKey: 'view-products',
|
|
138
139
|
host: this,
|
|
139
140
|
isOpen: this.isOpen,
|
|
140
141
|
onClose: () => {
|
|
@@ -31,7 +31,7 @@ import '../atomic-commerce-search-box-instant-products/atomic-commerce-search-bo
|
|
|
31
31
|
import '../atomic-commerce-search-box-query-suggestions/atomic-commerce-search-box-query-suggestions';
|
|
32
32
|
import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries';
|
|
33
33
|
/**
|
|
34
|
-
* The `atomic-commerce-search-box` component enables users to perform product searches with built-in query suggestions and optional redirection to a search
|
|
34
|
+
* The `atomic-commerce-search-box` component enables users to perform product searches with built-in query suggestions and optional redirection to a search page.
|
|
35
35
|
*
|
|
36
36
|
* @slot default - The default slot where you can add child components to the search box.
|
|
37
37
|
*
|
|
@@ -68,8 +68,8 @@ import '../atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-
|
|
|
68
68
|
* @part recent-query-title - The "recent searches" text of the clear button above suggestions from the `atomic-commerce-search-box-recent-queries` component.
|
|
69
69
|
* @part recent-query-clear - The "clear" text of the clear button above suggestions from the `atomic-commerce-search-box-recent-queries` component.
|
|
70
70
|
*
|
|
71
|
-
* @part instant-results-item - An instant
|
|
72
|
-
* @part instant-results-show-all - The clickable suggestion to show all items for the current instant
|
|
71
|
+
* @part instant-results-item - An instant product rendered by an `atomic-commerce-search-box-instant-products` component.
|
|
72
|
+
* @part instant-results-show-all - The clickable suggestion to show all items for the current instant product search rendered by an `atomic-commerce-search-box-instant-products` component.
|
|
73
73
|
* @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-commerce-search-box-instant-products` component.
|
|
74
74
|
*
|
|
75
75
|
* @event redirect - Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.
|
|
@@ -117,7 +117,7 @@ let AtomicCommerceSearchBox = class AtomicCommerceSearchBox extends LitElement {
|
|
|
117
117
|
this.minimumQueryLength = 0;
|
|
118
118
|
/**
|
|
119
119
|
* Whether to clear all active query filters when the end user submits a new query from the search box.
|
|
120
|
-
* Setting this option to "false" is not recommended & can lead to an increasing number of queries returning no
|
|
120
|
+
* Setting this option to "false" is not recommended & can lead to an increasing number of queries returning no products.
|
|
121
121
|
*/
|
|
122
122
|
this.clearFilters = true;
|
|
123
123
|
this.updateBreakpoints = once(() => updateBreakpoints(this));
|