@coveo/atomic 3.33.8-pre.5374e553a0 → 3.33.8-pre.5817b2824b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/autoloader/index.cjs.js +2 -2
- package/dist/atomic/autoloader/index.esm.js +2 -2
- package/dist/atomic/components/_index.d.ts +2 -2
- package/dist/atomic/components/_index.js +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +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.js +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
- package/dist/atomic/components/atomic-html2.js +1 -1
- package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-facet.js +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 +2 -2
- package/dist/atomic/components/atomic-insight-history-toggle.js.map +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 +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 +2 -2
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +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 +1 -2
- 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.js +5 -11
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- 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/clock.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +50 -8
- 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/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +137 -0
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +9 -20
- package/dist/atomic/components/components/search/index.js +1 -1
- package/dist/atomic/components/components/search/lazy-index.js +1 -1
- package/dist/atomic/components/facet-number-input.js +2 -2
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/tab-button.js +1 -1
- package/dist/atomic/components/tab-popover.js +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-45c4685e.entry.js → p-089be992.entry.js} +2 -2
- package/dist/atomic/{p-65373475.entry.js → p-09a3a067.entry.js} +2 -2
- package/dist/atomic/{p-6a815b28.js → p-0fa43138.js} +2 -2
- package/dist/atomic/{p-4915faeb.entry.js → p-11a2e38a.entry.js} +2 -2
- package/dist/atomic/p-1992b245.entry.js +2 -0
- package/dist/atomic/{p-a02b1209.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-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-97e42c43.entry.js → p-31aa052e.entry.js} +2 -2
- package/dist/atomic/p-33f71897.entry.js +2 -0
- package/dist/atomic/p-33f71897.entry.js.map +1 -0
- 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-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-4c30ca3e.entry.js → p-49c38b27.entry.js} +2 -2
- package/dist/atomic/{p-87c6c206.entry.js → p-534b6a0a.entry.js} +2 -2
- package/dist/atomic/{p-f0012580.entry.js → p-594488f2.entry.js} +2 -2
- 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-e3af1bb4.entry.js → p-7383fd32.entry.js} +2 -2
- package/dist/atomic/{p-79a9a372.entry.js → p-744da781.entry.js} +2 -2
- package/dist/atomic/{p-e6a7e7b2.entry.js → p-7dfcd6af.entry.js} +2 -2
- package/dist/atomic/{p-be1b98a6.entry.js → p-7e2109e9.entry.js} +2 -2
- package/dist/atomic/{p-fc566d9a.entry.js → p-8016cf62.entry.js} +2 -2
- package/dist/atomic/{p-780170e5.entry.js → p-811d6dcb.entry.js} +2 -2
- 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-71bb8125.entry.js → p-89085429.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-3af5c567.entry.js → p-9c9b1965.entry.js} +2 -2
- package/dist/atomic/p-a1e6419e.entry.js +2 -0
- package/dist/atomic/p-a1e6419e.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-8acb1466.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-d2d22ab2.entry.js → p-b6963bae.entry.js} +2 -2
- package/dist/atomic/{p-ef64b06a.entry.js → p-b7063a0d.entry.js} +2 -2
- package/dist/atomic/{p-ef64b06a.entry.js.map → p-b7063a0d.entry.js.map} +1 -1
- package/dist/atomic/{p-004adbb8.entry.js → p-ba4bf29f.entry.js} +2 -2
- 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-4e9d1f9e.entry.js → p-cd62de88.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-8a7a23b7.entry.js → p-e162805d.entry.js} +2 -2
- package/dist/atomic/{p-c280cd05.js → p-e1cc5150.js} +1 -1
- 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-f073a78d.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-d11b2b24.entry.js → p-fda26113.entry.js} +2 -2
- package/dist/atomic/{p-f936f55e.entry.js → p-fea7bf3b.entry.js} +2 -2
- package/dist/atomic/{p-bfe4b353.entry.js → p-ffd5b5e2.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-44e78f25.js → analytics-config-05025c8c.js} +2 -2
- package/dist/cjs/{analytics-config-44e78f25.js.map → analytics-config-05025c8c.js.map} +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +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 +1 -1
- 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 +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 +2 -2
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +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 +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 +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +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 +1 -2
- 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.cjs.entry.js +76 -0
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +1 -0
- 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/clock-7aeb19d0.js +7 -0
- package/dist/cjs/clock-7aeb19d0.js.map +1 -0
- package/dist/cjs/index-757bc886.js +10 -6
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-37d95f4e.js → analytics-config-12643ebf.js} +2 -2
- package/dist/esm/{analytics-config-37d95f4e.js.map → analytics-config-12643ebf.js.map} +1 -1
- package/dist/esm/atomic-category-facet.entry.js +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 +1 -1
- 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 +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 +2 -2
- package/dist/esm/atomic-insight-history-toggle.entry.js.map +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 +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 +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +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 +1 -2
- 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.entry.js +72 -0
- package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +1 -0
- 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/clock-b1f5d7f7.js +5 -0
- package/dist/esm/clock-b1f5d7f7.js.map +1 -0
- package/dist/esm/index-3f35faca.js +10 -6
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +30 -2
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
- package/dist/types/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +45 -0
- 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/index.d.ts +1 -1
- package/dist/types/components.d.ts +141 -27
- package/docs/atomic-docs.json +508 -42
- package/package.json +4 -4
- package/dist/atomic/components/atomic-search-box-recent-queries.d.ts +0 -11
- package/dist/atomic/components/atomic-search-box-recent-queries.js +0 -8
- package/dist/atomic/components/atomic-search-box-recent-queries.js.map +0 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +0 -183
- package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +0 -1
- 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/p-0edea6f9.entry.js +0 -2
- package/dist/atomic/p-516b8165.entry.js +0 -2
- package/dist/atomic/p-516b8165.entry.js.map +0 -1
- package/dist/atomic/p-6de44060.entry.js +0 -2
- package/dist/atomic/p-97829295.entry.js +0 -2
- package/dist/atomic/p-c2b4b401.entry.js +0 -2
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +0 -234
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +0 -1
- package/dist/cjs/clock-f03ff827.js +0 -7
- package/dist/cjs/clock-f03ff827.js.map +0 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +0 -229
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +0 -1
- package/dist/esm/clock-add3e9a5.js +0 -5
- package/dist/esm/clock-add3e9a5.js.map +0 -1
- package/dist/types/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +0 -37
- /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-45c4685e.entry.js.map → p-089be992.entry.js.map} +0 -0
- /package/dist/atomic/{p-65373475.entry.js.map → p-09a3a067.entry.js.map} +0 -0
- /package/dist/atomic/{p-6a815b28.js.map → p-0fa43138.js.map} +0 -0
- /package/dist/atomic/{p-4915faeb.entry.js.map → p-11a2e38a.entry.js.map} +0 -0
- /package/dist/atomic/{p-0edea6f9.entry.js.map → p-1992b245.entry.js.map} +0 -0
- /package/dist/atomic/{p-a02b1209.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-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-4c30ca3e.entry.js.map → p-49c38b27.entry.js.map} +0 -0
- /package/dist/atomic/{p-87c6c206.entry.js.map → p-534b6a0a.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-e3af1bb4.entry.js.map → p-7383fd32.entry.js.map} +0 -0
- /package/dist/atomic/{p-79a9a372.entry.js.map → p-744da781.entry.js.map} +0 -0
- /package/dist/atomic/{p-e6a7e7b2.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
- /package/dist/atomic/{p-be1b98a6.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
- /package/dist/atomic/{p-fc566d9a.entry.js.map → p-8016cf62.entry.js.map} +0 -0
- /package/dist/atomic/{p-780170e5.entry.js.map → p-811d6dcb.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-71bb8125.entry.js.map → p-89085429.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-3af5c567.entry.js.map → p-9c9b1965.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-8acb1466.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-d2d22ab2.entry.js.map → p-b6963bae.entry.js.map} +0 -0
- /package/dist/atomic/{p-004adbb8.entry.js.map → p-ba4bf29f.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-4e9d1f9e.entry.js.map → p-cd62de88.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-8a7a23b7.entry.js.map → p-e162805d.entry.js.map} +0 -0
- /package/dist/atomic/{p-c280cd05.js.map → p-e1cc5150.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-f073a78d.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-d11b2b24.entry.js.map → p-fda26113.entry.js.map} +0 -0
- /package/dist/atomic/{p-f936f55e.entry.js.map → p-fea7bf3b.entry.js.map} +0 -0
- /package/dist/atomic/{p-bfe4b353.entry.js.map → p-ffd5b5e2.entry.js.map} +0 -0
package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js
DELETED
|
@@ -1,495 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { buildSearchEngine, buildSearchStatus, buildUrlManager, EcommerceDefaultFieldsToInclude, VERSION as HEADLESS_VERSION, loadFieldActions, loadQueryActions, loadSearchConfigurationActions, } from '@coveo/headless';
|
|
8
|
-
import { provide } from '@lit/context';
|
|
9
|
-
import i18next from 'i18next';
|
|
10
|
-
import { css, html, LitElement } from 'lit';
|
|
11
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
|
12
|
-
import { when } from 'lit/directives/when.js';
|
|
13
|
-
import { InterfaceController, } from "../../common/interface/interface-controller";
|
|
14
|
-
import { MobileBreakpointController } from "../../common/layout/mobile-breakpoint-controller";
|
|
15
|
-
import { bindingsContext } from "../../context/bindings-context";
|
|
16
|
-
import { errorSelector, firstSearchExecutedSelector, noResultsSelector, } from "../atomic-search-layout/search-layout";
|
|
17
|
-
import { booleanConverter } from "../../../converters/boolean-converter";
|
|
18
|
-
import { errorGuard } from "../../../decorators/error-guard";
|
|
19
|
-
import { watch } from "../../../decorators/watch";
|
|
20
|
-
import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
|
|
21
|
-
import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
|
|
22
|
-
import { markParentAsReady } from "../../../utils/init-queue";
|
|
23
|
-
import { SafeStorage, StorageItems, } from "../../../utils/local-storage-utils";
|
|
24
|
-
import { getAnalyticsConfig } from './analytics-config';
|
|
25
|
-
import { createSearchStore } from './store';
|
|
26
|
-
import "../../common/atomic-modal/atomic-modal";
|
|
27
|
-
const FirstSearchExecutedFlag = 'firstSearchExecuted';
|
|
28
|
-
/**
|
|
29
|
-
* 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.
|
|
30
|
-
*
|
|
31
|
-
* @slot default - The default slot where you can add child components to the interface.
|
|
32
|
-
*/
|
|
33
|
-
let AtomicSearchInterface = class AtomicSearchInterface extends ChildrenUpdateCompleteMixin(LitElement) {
|
|
34
|
-
constructor() {
|
|
35
|
-
super();
|
|
36
|
-
this.bindings = {};
|
|
37
|
-
this.relevanceInspectorIsOpen = false;
|
|
38
|
-
this.unsubscribeUrlManager = () => { };
|
|
39
|
-
this.unsubscribeSearchStatus = () => { };
|
|
40
|
-
this.initialized = false;
|
|
41
|
-
this.interfaceController = new InterfaceController(this, 'CoveoAtomic', HEADLESS_VERSION);
|
|
42
|
-
/**
|
|
43
|
-
* A list of non-default fields to include in the query results.
|
|
44
|
-
*
|
|
45
|
-
* Specify the property as an array using a JSON string representation:
|
|
46
|
-
* ```html
|
|
47
|
-
* <atomic-search-interface fields-to-include='["fieldA", "fieldB"]'></atomic-search-interface>
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
this.fieldsToInclude = [];
|
|
51
|
-
// TODO - KIT-4994: Add disableAnalytics property that defaults to false.
|
|
52
|
-
// TODO - KIT-4994: Deprecate in favor of disableAnalytics property.
|
|
53
|
-
// TODO - (v4) KIT-4990: Remove.
|
|
54
|
-
/**
|
|
55
|
-
* Whether analytics should be enabled.
|
|
56
|
-
*/
|
|
57
|
-
this.analytics = true;
|
|
58
|
-
/**
|
|
59
|
-
* The search interface language.
|
|
60
|
-
*/
|
|
61
|
-
this.language = 'en';
|
|
62
|
-
// TODO - (v4) KIT-4823: Remove.
|
|
63
|
-
/**
|
|
64
|
-
* Whether the state should be reflected in the URL parameters.
|
|
65
|
-
* @deprecated - replaced by `disable-state-reflection-in-url` (this defaults to `true`, while the replacement defaults to `false`).
|
|
66
|
-
*/
|
|
67
|
-
this.reflectStateInUrl = true;
|
|
68
|
-
/**
|
|
69
|
-
* Whether to disable state reflection in the URL parameters.
|
|
70
|
-
*/
|
|
71
|
-
this.disableStateReflectionInUrl = false;
|
|
72
|
-
/**
|
|
73
|
-
* The CSS selector for the container where the interface will scroll back to.
|
|
74
|
-
*/
|
|
75
|
-
this.scrollContainer = 'atomic-search-interface';
|
|
76
|
-
/**
|
|
77
|
-
* The language assets path. By default, this will be a relative URL pointing to `./lang`.
|
|
78
|
-
*
|
|
79
|
-
* Example: "/mypublicpath/languages"
|
|
80
|
-
*
|
|
81
|
-
*/
|
|
82
|
-
this.languageAssetsPath = './lang';
|
|
83
|
-
/**
|
|
84
|
-
* The icon assets path. By default, this will be a relative URL pointing to `./assets`.
|
|
85
|
-
*
|
|
86
|
-
* Example: "/mypublicpath/icons"
|
|
87
|
-
*
|
|
88
|
-
*/
|
|
89
|
-
this.iconAssetsPath = './assets';
|
|
90
|
-
// TODO - (v4) KIT-5004: Remove.
|
|
91
|
-
/**
|
|
92
|
-
* Whether the relevance inspector shortcut should be enabled for this interface.
|
|
93
|
-
*
|
|
94
|
-
* The relevance inspector can be opened by holding the Alt key (Option on Mac) while over the interface, and performing a double click.
|
|
95
|
-
*
|
|
96
|
-
* The relevance inspector allows to troubleshoot and debug queries.
|
|
97
|
-
* @deprecated - replaced by `disable-relevance-inspector` (this defaults to `true`, while the replacement defaults to `false`).
|
|
98
|
-
*/
|
|
99
|
-
this.enableRelevanceInspector = true;
|
|
100
|
-
/**
|
|
101
|
-
* Whether to disable the relevance inspector shortcut for this interface.
|
|
102
|
-
*/
|
|
103
|
-
this.disableRelevanceInspector = false;
|
|
104
|
-
this.handleInitialization = (event) => {
|
|
105
|
-
this.interfaceController.onComponentInitializing(event);
|
|
106
|
-
};
|
|
107
|
-
this.handleRelevanceInspectorDoubleClick = (e) => {
|
|
108
|
-
if (e.altKey) {
|
|
109
|
-
this.relevanceInspectorIsOpen = !this.relevanceInspectorIsOpen;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
this.onHashChange = () => {
|
|
113
|
-
this.urlManager.synchronize(this.fragment);
|
|
114
|
-
};
|
|
115
|
-
this.store = createSearchStore();
|
|
116
|
-
new MobileBreakpointController(this, this.store);
|
|
117
|
-
const { promise, resolve } = Promise.withResolvers();
|
|
118
|
-
this.i18Initialized = promise;
|
|
119
|
-
this.i18n = i18next.createInstance(undefined, resolve);
|
|
120
|
-
}
|
|
121
|
-
connectedCallback() {
|
|
122
|
-
super.connectedCallback();
|
|
123
|
-
this.store.setLoadingFlag(FirstSearchExecutedFlag);
|
|
124
|
-
this.initRelevanceInspector();
|
|
125
|
-
this.addEventListener('atomic/initializeComponent', this.handleInitialization);
|
|
126
|
-
this.addEventListener('atomic/scrollToTop', this.scrollToTop);
|
|
127
|
-
this.addEventListener('atomic/relevanceInspector/close', this.closeRelevanceInspector);
|
|
128
|
-
}
|
|
129
|
-
willUpdate(changedProperties) {
|
|
130
|
-
super.willUpdate(changedProperties);
|
|
131
|
-
if (changedProperties.has('fieldsToInclude')) {
|
|
132
|
-
this.initFieldsToInclude();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
disconnectedCallback() {
|
|
136
|
-
super.disconnectedCallback();
|
|
137
|
-
if (typeof this.unsubscribeUrlManager === 'function') {
|
|
138
|
-
this.unsubscribeUrlManager();
|
|
139
|
-
}
|
|
140
|
-
if (typeof this.unsubscribeSearchStatus === 'function') {
|
|
141
|
-
this.unsubscribeSearchStatus();
|
|
142
|
-
}
|
|
143
|
-
window.removeEventListener('hashchange', this.onHashChange);
|
|
144
|
-
this.removeEventListener('atomic/initializeComponent', this.handleInitialization);
|
|
145
|
-
this.removeEventListener('atomic/scrollToTop', this.scrollToTop);
|
|
146
|
-
this.removeEventListener('atomic/relevanceInspector/close', this.closeRelevanceInspector);
|
|
147
|
-
this.removeEventListener('dblclick', this.handleRelevanceInspectorDoubleClick);
|
|
148
|
-
}
|
|
149
|
-
// TODO - (v4) KIT-4991: Make private.
|
|
150
|
-
scrollToTop() {
|
|
151
|
-
const scrollContainerElement = document.querySelector(this.scrollContainer);
|
|
152
|
-
if (!scrollContainerElement) {
|
|
153
|
-
this.bindings.engine.logger.warn(`Could not find the scroll container with the selector "${this.scrollContainer}". This will prevent UX interactions that require a scroll from working correctly. Please review the CSS selector in the scrollContainer option`);
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
scrollContainerElement.scrollIntoView({ behavior: 'smooth' });
|
|
157
|
-
}
|
|
158
|
-
closeRelevanceInspector() {
|
|
159
|
-
this.relevanceInspectorIsOpen = false;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Initializes the connection with the headless search engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.
|
|
163
|
-
*/
|
|
164
|
-
initialize(options) {
|
|
165
|
-
return this.internalInitialization(() => this.initEngine(options));
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Initializes the interface using the provided [headless search engine](https://docs.coveo.com/en/headless/latest/reference/modules/Search.html, as opposed to the `initialize` method which internally builds a search engine instance.
|
|
169
|
-
* This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone & logLevel.
|
|
170
|
-
*/
|
|
171
|
-
initializeWithSearchEngine(engine) {
|
|
172
|
-
if (this.pipeline && this.pipeline !== engine.state.pipeline) {
|
|
173
|
-
console.warn('Mismatch between search interface pipeline and engine pipeline. The engine pipeline will be used.');
|
|
174
|
-
}
|
|
175
|
-
if (this.searchHub && this.searchHub !== engine.state.searchHub) {
|
|
176
|
-
console.warn('Mismatch between search interface search hub and engine search hub. The engine search hub will be used.');
|
|
177
|
-
}
|
|
178
|
-
return this.internalInitialization(() => {
|
|
179
|
-
this.engine = engine;
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
*
|
|
184
|
-
* Executes the first search and logs the interface load event to analytics, after initializing connection to the headless search engine.
|
|
185
|
-
*/
|
|
186
|
-
async executeFirstSearch() {
|
|
187
|
-
if (!this.interfaceController.engineIsCreated(this.engine)) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
if (!this.initialized) {
|
|
191
|
-
console.error('You have to wait until the "initialize" promise is fulfilled before executing a search.', this);
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
const safeStorage = new SafeStorage();
|
|
195
|
-
const standaloneSearchBoxData = safeStorage.getParsedJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, null);
|
|
196
|
-
if (!standaloneSearchBoxData) {
|
|
197
|
-
this.engine.executeFirstSearch();
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
safeStorage.removeItem(StorageItems.STANDALONE_SEARCH_BOX_DATA);
|
|
201
|
-
const { updateQuery } = loadQueryActions(this.engine);
|
|
202
|
-
const { value, enableQuerySyntax, analytics } = standaloneSearchBoxData;
|
|
203
|
-
this.engine.dispatch(updateQuery({ q: value, enableQuerySyntax }));
|
|
204
|
-
this.engine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);
|
|
205
|
-
}
|
|
206
|
-
updateSearchConfiguration(updatedProp, newValue) {
|
|
207
|
-
if (!this.interfaceController.engineIsCreated(this.engine)) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
if (this.engine.state[updatedProp] === newValue) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
const { updateSearchConfiguration } = loadSearchConfigurationActions(this.engine);
|
|
214
|
-
this.engine.dispatch(updateSearchConfiguration({
|
|
215
|
-
[updatedProp]: newValue,
|
|
216
|
-
}));
|
|
217
|
-
}
|
|
218
|
-
updateSearchHub() {
|
|
219
|
-
this.updateSearchConfiguration('searchHub', this.searchHub ?? 'default');
|
|
220
|
-
}
|
|
221
|
-
updatePipeline() {
|
|
222
|
-
this.updateSearchConfiguration('pipeline', this.pipeline);
|
|
223
|
-
}
|
|
224
|
-
toggleAnalytics() {
|
|
225
|
-
this.interfaceController.onAnalyticsChange();
|
|
226
|
-
}
|
|
227
|
-
updateLanguage() {
|
|
228
|
-
if (!this.interfaceController.engineIsCreated(this.engine) ||
|
|
229
|
-
!this.language) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
const { updateSearchConfiguration } = loadSearchConfigurationActions(this.engine);
|
|
233
|
-
this.engine.dispatch(updateSearchConfiguration({
|
|
234
|
-
locale: this.language,
|
|
235
|
-
}));
|
|
236
|
-
return this.interfaceController.onLanguageChange();
|
|
237
|
-
}
|
|
238
|
-
updateIconAssetsPath() {
|
|
239
|
-
this.store.state.iconAssetsPath = this.iconAssetsPath;
|
|
240
|
-
}
|
|
241
|
-
getBindings() {
|
|
242
|
-
return {
|
|
243
|
-
engine: this.engine,
|
|
244
|
-
i18n: this.i18n,
|
|
245
|
-
store: this.store,
|
|
246
|
-
interfaceElement: this,
|
|
247
|
-
createStyleElement: () => {
|
|
248
|
-
const styleTag = document.createElement('style');
|
|
249
|
-
return styleTag;
|
|
250
|
-
},
|
|
251
|
-
// TODO - KIT-4893: Remove once atomic-quickview-modal migration is complete.
|
|
252
|
-
createScriptElement: () => {
|
|
253
|
-
const scriptTag = document.createElement('script');
|
|
254
|
-
return scriptTag;
|
|
255
|
-
},
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
initFieldsToInclude() {
|
|
259
|
-
const fields = EcommerceDefaultFieldsToInclude.concat(this.fieldsToInclude);
|
|
260
|
-
this.store.addFieldsToInclude(fields);
|
|
261
|
-
}
|
|
262
|
-
registerFieldsToInclude() {
|
|
263
|
-
this.engine?.dispatch(loadFieldActions(this.engine).registerFieldsToInclude(this.store.state.fieldsToInclude));
|
|
264
|
-
}
|
|
265
|
-
initEngine(options) {
|
|
266
|
-
const searchConfig = this.getSearchConfiguration(options);
|
|
267
|
-
const analyticsConfig = getAnalyticsConfig(options, this.analytics, this.store);
|
|
268
|
-
try {
|
|
269
|
-
this.engine = buildSearchEngine({
|
|
270
|
-
configuration: {
|
|
271
|
-
...options,
|
|
272
|
-
search: searchConfig,
|
|
273
|
-
analytics: analyticsConfig,
|
|
274
|
-
},
|
|
275
|
-
loggerOptions: {
|
|
276
|
-
level: this.logLevel,
|
|
277
|
-
},
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
catch (error) {
|
|
281
|
-
this.error = error;
|
|
282
|
-
throw error;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
getSearchConfiguration(options) {
|
|
286
|
-
const searchConfigFromProps = {
|
|
287
|
-
searchHub: this.searchHub ?? 'default',
|
|
288
|
-
pipeline: this.pipeline,
|
|
289
|
-
locale: this.language,
|
|
290
|
-
timezone: this.timezone,
|
|
291
|
-
};
|
|
292
|
-
if (options.search) {
|
|
293
|
-
return {
|
|
294
|
-
...searchConfigFromProps,
|
|
295
|
-
...options.search,
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
return searchConfigFromProps;
|
|
299
|
-
}
|
|
300
|
-
get fragment() {
|
|
301
|
-
return window.location.hash.slice(1);
|
|
302
|
-
}
|
|
303
|
-
initUrlManager() {
|
|
304
|
-
if (this.disableStateReflectionInUrl) {
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
if (!this.reflectStateInUrl) {
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
this.urlManager = buildUrlManager(this.engine, {
|
|
311
|
-
initialState: { fragment: this.fragment },
|
|
312
|
-
});
|
|
313
|
-
this.unsubscribeUrlManager = this.urlManager.subscribe(() => this.updateHash());
|
|
314
|
-
window.addEventListener('hashchange', this.onHashChange);
|
|
315
|
-
}
|
|
316
|
-
initRelevanceInspector() {
|
|
317
|
-
if (this.enableRelevanceInspector && !this.disableRelevanceInspector) {
|
|
318
|
-
this.addEventListener('dblclick', this.handleRelevanceInspectorDoubleClick);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
initSearchStatus() {
|
|
322
|
-
this.searchStatus = buildSearchStatus(this.engine);
|
|
323
|
-
this.unsubscribeSearchStatus = this.searchStatus.subscribe(() => {
|
|
324
|
-
const hasNoResultsAfterInitialSearch = !this.searchStatus.state.hasResults &&
|
|
325
|
-
this.searchStatus.state.firstSearchExecuted &&
|
|
326
|
-
!this.searchStatus.state.hasError;
|
|
327
|
-
this.classList.toggle(noResultsSelector, hasNoResultsAfterInitialSearch);
|
|
328
|
-
this.classList.toggle(errorSelector, this.searchStatus.state.hasError);
|
|
329
|
-
this.classList.toggle(firstSearchExecutedSelector, this.searchStatus.state.firstSearchExecuted);
|
|
330
|
-
if (this.searchStatus.state.firstSearchExecuted &&
|
|
331
|
-
this.store.hasLoadingFlag(FirstSearchExecutedFlag)) {
|
|
332
|
-
this.store.unsetLoadingFlag(FirstSearchExecutedFlag);
|
|
333
|
-
}
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
updateHash() {
|
|
337
|
-
const newFragment = this.urlManager.state.fragment;
|
|
338
|
-
if (!this.searchStatus.state.firstSearchExecuted) {
|
|
339
|
-
history.replaceState(null, document.title, `#${newFragment}`);
|
|
340
|
-
this.bindings.engine.logger.info(`History replaceState #${newFragment}`);
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
history.pushState(null, document.title, `#${newFragment}`);
|
|
344
|
-
this.bindings.engine.logger.info(`History pushState #${newFragment}`);
|
|
345
|
-
}
|
|
346
|
-
async internalInitialization(initEngine) {
|
|
347
|
-
await Promise.all([
|
|
348
|
-
this.interfaceController.onInitialization(initEngine),
|
|
349
|
-
this.i18Initialized,
|
|
350
|
-
]);
|
|
351
|
-
this.updateLanguage();
|
|
352
|
-
this.bindings = this.getBindings();
|
|
353
|
-
markParentAsReady(this);
|
|
354
|
-
this.pipeline = this.engine.state.pipeline;
|
|
355
|
-
this.searchHub = this.engine.state.searchHub;
|
|
356
|
-
this.initSearchStatus();
|
|
357
|
-
await this.getUpdateComplete();
|
|
358
|
-
this.initUrlManager();
|
|
359
|
-
this.initialized = true;
|
|
360
|
-
}
|
|
361
|
-
render() {
|
|
362
|
-
return html `
|
|
363
|
-
${when(this.bindings?.engine &&
|
|
364
|
-
this.enableRelevanceInspector &&
|
|
365
|
-
!this.disableRelevanceInspector, () => html `<atomic-relevance-inspector
|
|
366
|
-
?open=${this.relevanceInspectorIsOpen}
|
|
367
|
-
.bindings=${this.bindings}
|
|
368
|
-
></atomic-relevance-inspector>`)}
|
|
369
|
-
<slot></slot>
|
|
370
|
-
`;
|
|
371
|
-
}
|
|
372
|
-
};
|
|
373
|
-
AtomicSearchInterface.styles = [
|
|
374
|
-
css`:host{height:inherit;width:inherit;&>slot{height:inherit}}`,
|
|
375
|
-
];
|
|
376
|
-
__decorate([
|
|
377
|
-
state(),
|
|
378
|
-
provide({ context: bindingsContext })
|
|
379
|
-
], AtomicSearchInterface.prototype, "bindings", void 0);
|
|
380
|
-
__decorate([
|
|
381
|
-
state()
|
|
382
|
-
], AtomicSearchInterface.prototype, "error", void 0);
|
|
383
|
-
__decorate([
|
|
384
|
-
state()
|
|
385
|
-
], AtomicSearchInterface.prototype, "relevanceInspectorIsOpen", void 0);
|
|
386
|
-
__decorate([
|
|
387
|
-
property({
|
|
388
|
-
type: Array,
|
|
389
|
-
attribute: 'fields-to-include',
|
|
390
|
-
converter: {
|
|
391
|
-
fromAttribute: (value) => {
|
|
392
|
-
if (!value)
|
|
393
|
-
return [];
|
|
394
|
-
try {
|
|
395
|
-
const parsed = JSON.parse(value);
|
|
396
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
397
|
-
}
|
|
398
|
-
catch {
|
|
399
|
-
return [];
|
|
400
|
-
}
|
|
401
|
-
},
|
|
402
|
-
toAttribute: (value) => JSON.stringify(value),
|
|
403
|
-
},
|
|
404
|
-
})
|
|
405
|
-
], AtomicSearchInterface.prototype, "fieldsToInclude", void 0);
|
|
406
|
-
__decorate([
|
|
407
|
-
property({ type: String, reflect: true })
|
|
408
|
-
], AtomicSearchInterface.prototype, "pipeline", void 0);
|
|
409
|
-
__decorate([
|
|
410
|
-
property({ type: String, attribute: 'search-hub', reflect: true })
|
|
411
|
-
], AtomicSearchInterface.prototype, "searchHub", void 0);
|
|
412
|
-
__decorate([
|
|
413
|
-
property({
|
|
414
|
-
type: Boolean,
|
|
415
|
-
converter: booleanConverter,
|
|
416
|
-
reflect: true,
|
|
417
|
-
})
|
|
418
|
-
], AtomicSearchInterface.prototype, "analytics", void 0);
|
|
419
|
-
__decorate([
|
|
420
|
-
property({ type: String, reflect: true })
|
|
421
|
-
], AtomicSearchInterface.prototype, "timezone", void 0);
|
|
422
|
-
__decorate([
|
|
423
|
-
property({ type: String, attribute: 'log-level', reflect: true })
|
|
424
|
-
], AtomicSearchInterface.prototype, "logLevel", void 0);
|
|
425
|
-
__decorate([
|
|
426
|
-
property({ type: Object, attribute: false })
|
|
427
|
-
], AtomicSearchInterface.prototype, "i18n", void 0);
|
|
428
|
-
__decorate([
|
|
429
|
-
property({ type: String, reflect: true })
|
|
430
|
-
], AtomicSearchInterface.prototype, "language", void 0);
|
|
431
|
-
__decorate([
|
|
432
|
-
property({ type: Object, attribute: false })
|
|
433
|
-
], AtomicSearchInterface.prototype, "engine", void 0);
|
|
434
|
-
__decorate([
|
|
435
|
-
property({
|
|
436
|
-
type: Boolean,
|
|
437
|
-
attribute: 'reflect-state-in-url',
|
|
438
|
-
reflect: true,
|
|
439
|
-
converter: booleanConverter,
|
|
440
|
-
})
|
|
441
|
-
], AtomicSearchInterface.prototype, "reflectStateInUrl", void 0);
|
|
442
|
-
__decorate([
|
|
443
|
-
property({
|
|
444
|
-
type: Boolean,
|
|
445
|
-
attribute: 'disable-state-reflection-in-url',
|
|
446
|
-
reflect: true,
|
|
447
|
-
})
|
|
448
|
-
], AtomicSearchInterface.prototype, "disableStateReflectionInUrl", void 0);
|
|
449
|
-
__decorate([
|
|
450
|
-
property({ type: String, attribute: 'scroll-container', reflect: true })
|
|
451
|
-
], AtomicSearchInterface.prototype, "scrollContainer", void 0);
|
|
452
|
-
__decorate([
|
|
453
|
-
property({ type: String, attribute: 'language-assets-path', reflect: true })
|
|
454
|
-
], AtomicSearchInterface.prototype, "languageAssetsPath", void 0);
|
|
455
|
-
__decorate([
|
|
456
|
-
property({ type: String, attribute: 'icon-assets-path', reflect: true })
|
|
457
|
-
], AtomicSearchInterface.prototype, "iconAssetsPath", void 0);
|
|
458
|
-
__decorate([
|
|
459
|
-
property({
|
|
460
|
-
type: Boolean,
|
|
461
|
-
attribute: 'enable-relevance-inspector',
|
|
462
|
-
reflect: true,
|
|
463
|
-
converter: booleanConverter,
|
|
464
|
-
})
|
|
465
|
-
], AtomicSearchInterface.prototype, "enableRelevanceInspector", void 0);
|
|
466
|
-
__decorate([
|
|
467
|
-
property({
|
|
468
|
-
type: Boolean,
|
|
469
|
-
attribute: 'disable-relevance-inspector',
|
|
470
|
-
reflect: true,
|
|
471
|
-
})
|
|
472
|
-
], AtomicSearchInterface.prototype, "disableRelevanceInspector", void 0);
|
|
473
|
-
__decorate([
|
|
474
|
-
watch('searchHub')
|
|
475
|
-
], AtomicSearchInterface.prototype, "updateSearchHub", null);
|
|
476
|
-
__decorate([
|
|
477
|
-
watch('pipeline')
|
|
478
|
-
], AtomicSearchInterface.prototype, "updatePipeline", null);
|
|
479
|
-
__decorate([
|
|
480
|
-
watch('analytics')
|
|
481
|
-
], AtomicSearchInterface.prototype, "toggleAnalytics", null);
|
|
482
|
-
__decorate([
|
|
483
|
-
watch('language')
|
|
484
|
-
], AtomicSearchInterface.prototype, "updateLanguage", null);
|
|
485
|
-
__decorate([
|
|
486
|
-
watch('iconAssetsPath')
|
|
487
|
-
], AtomicSearchInterface.prototype, "updateIconAssetsPath", null);
|
|
488
|
-
__decorate([
|
|
489
|
-
errorGuard()
|
|
490
|
-
], AtomicSearchInterface.prototype, "render", null);
|
|
491
|
-
AtomicSearchInterface = __decorate([
|
|
492
|
-
customElement('atomic-search-interface'),
|
|
493
|
-
withTailwindStyles
|
|
494
|
-
], AtomicSearchInterface);
|
|
495
|
-
export { AtomicSearchInterface };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t}from"./p-dc3df5ce.js";import{I as a}from"./p-ff2d324d.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var c=undefined&&undefined.__decorate||function(e,t,a,c){var r=arguments.length,f=r<3?t:c===null?c=Object.getOwnPropertyDescriptor(t,a):c,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")f=Reflect.decorate(e,t,a,c);else for(var i=e.length-1;i>=0;i--)if(o=e[i])f=(r<3?o(f):r>3?o(t,a,f):o(t,a))||f;return r>3&&f&&Object.defineProperty(t,a,f),f};const r=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"213ba4db0fe06cda854967aec377453090fda5c2"},t("slot",{key:"957788c0b75593ae52fd3a730ae18ae3abe2f87e"}))}};c([a()],r.prototype,"bindings",void 0);export{r as atomic_ipx_tabs};
|
|
2
|
-
//# sourceMappingURL=p-0edea6f9.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as e,g as s}from"./p-dc3df5ce.js";import{loadQuerySuggestActions as r,HighlightUtils as i,buildRecentQueriesList as n}from"@coveo/headless";import{S as c}from"./p-cfb3c589.js";import{g as o,Q as a,a as h,b as l}from"./p-af93b44c.js";import{d as u}from"./p-4b7a19db.js";import{C as p}from"./p-c280cd05.js";import{S as d,a as f}from"./p-946fe85f.js";import{o as m}from"./p-a12e1c59.js";import{e as y}from"./p-8f5830b4.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-f284897c.js";import"./p-0462f723.js";const b=class{constructor(e){t(this,e);this.error=undefined;this.icon=undefined;this.maxWithQuery=undefined;this.maxWithoutQuery=undefined}componentWillLoad(){try{u((t=>{this.bindings=t;return this.initialize()}),this.host,["atomic-search-box"])}catch(t){this.error=t}}initialize(){const t=this.bindings.engine;const{registerQuerySuggest:e,fetchQuerySuggestions:s}=r(t);t.dispatch(e({id:this.bindings.id,count:this.bindings.numberOfQueries}));return{position:Array.from(this.host.parentNode.children).indexOf(this.host),onInput:()=>t.dispatch(s({id:this.bindings.id})),renderItems:()=>this.renderItems()}}renderItems(){const t=this.bindings.searchBoxController.state.value!=="";const e=t?this.maxWithQuery:this.maxWithoutQuery;return this.bindings.searchBoxController.state.suggestions.slice(0,e).map((t=>this.renderItem(t)))}renderItem(t){const s=this.bindings.searchBoxController.state.value!=="";const r=o(t,this.bindings.i18n);return{...r,content:e(l,null,e(h,{icon:this.icon||c,hasSuggestion:this.bindings.getSuggestions().length>1}),e(a,{suggestion:t,hasQuery:s})),onSelect:()=>{this.bindings.searchBoxController.selectSuggestion(t.rawValue)}}}render(){if(this.error){return e("atomic-component-error",{key:"ee518dd01ee68d5ac1e13c37335888acf7089beb",element:this.host,error:this.error})}}get host(){return s(this)}};const g=(t,e)=>({part:"recent-query-item",query:t,key:`recent-${y(t)}`,ariaLabel:e.t("recent-query-suggestion-label",{query:t,interpolation:{escapeValue:false}})});const q=t=>({key:"recent-query-clear",ariaLabel:t.t("clear-recent-searches",{interpolation:{escapeValue:false}}),part:"recent-query-title-item suggestion-divider",hideIfLast:true});const j=(t,s)=>e("div",{part:"recent-query-content",class:"flex items-center text-left break-all"},s);const x=({icon:t})=>e("atomic-icon",{part:"recent-query-icon",icon:t,class:"mr-2 h-4 w-4 shrink-0"});const S=({query:t,value:s})=>{if(t===""){return e("span",{part:"recent-query-text",class:"line-clamp-2 break-all"},s)}return e("span",{part:"recent-query-text",class:"line-clamp-2 break-all",innerHTML:i.highlightString({content:s,openingDelimiter:'<span part="recent-query-text-highlight" class="font-bold">',closingDelimiter:"</span>",highlights:[{offset:t.length,length:s.length-t.length}]})})};const I=({i18n:t})=>e("div",{part:"recent-query-title-content",class:"flex w-full justify-between"},e("span",{class:"font-bold",part:"recent-query-title"},t.t("recent-searches")),e("span",{part:"recent-query-clear"},t.t("clear")));const L=class{constructor(e){t(this,e);this.maxWithQuery=3;this.warnUser=m((()=>this.bindings.engine.logger.warn("Because analytics are disabled, the recent queries feature is deactivated.")));this.error=undefined;this.icon=undefined;this.maxWithQuery=3;this.maxWithoutQuery=undefined}componentWillLoad(){try{u((t=>{this.bindings=t;return this.initialize()}),this.host,["atomic-search-box"])}catch(t){this.error=t}}renderIcon(){return this.icon||p}initialize(){this.storage=new d;this.recentQueriesList=n(this.bindings.engine,{initialState:{queries:this.retrieveLocalStorage()},options:{maxLength:1e3,clearFilters:this.bindings.clearFilters}});this.recentQueriesList.subscribe((()=>this.updateLocalStorage()));return{position:Array.from(this.host.parentNode.children).indexOf(this.host),renderItems:()=>this.renderItems()}}retrieveLocalStorage(){return this.storage.getParsedJSON(f.RECENT_QUERIES,[])}updateLocalStorage(){if(!this.recentQueriesList.state.analyticsEnabled){return this.disableFeature()}return this.storage.setJSON(f.RECENT_QUERIES,this.recentQueriesList.state.queries)}disableFeature(){this.warnUser();this.storage.removeItem(f.RECENT_QUERIES)}renderItems(){if(!this.recentQueriesList.state.analyticsEnabled){return[]}const t=this.bindings.searchBoxController.state.value;const e=t!=="";const s=e?this.maxWithQuery:this.maxWithoutQuery;const r=this.recentQueriesList.state.queries.filter((e=>e.toLowerCase().startsWith(t.toLowerCase()))).slice(0,s);const i=r.map((t=>this.renderItem(t)));if(i.length){i.unshift(this.renderClear())}return i}renderClear(){const t=q(this.bindings.i18n);return{...t,content:e(I,{i18n:this.bindings.i18n}),onSelect:()=>{this.recentQueriesList.clear();this.bindings.triggerSuggestions()}}}renderItem(t){const s=this.bindings.searchBoxController.state.value;const r=g(t,this.bindings.i18n);return{...r,content:e(j,null,e(x,{icon:this.renderIcon()}),e(S,{query:s,value:t})),onSelect:()=>{if(this.bindings.isStandalone){this.bindings.searchBoxController.updateText(t);this.bindings.searchBoxController.submit();return}this.recentQueriesList.executeRecentQuery(this.recentQueriesList.state.queries.indexOf(t))}}}render(){if(this.error){return e("atomic-component-error",{key:"577129c08c073b99dbb6b86b77e2ffa7c2ff7f69",element:this.host,error:this.error})}}get host(){return s(this)}};export{b as atomic_search_box_query_suggestions,L as atomic_search_box_recent_queries};
|
|
2
|
-
//# sourceMappingURL=p-516b8165.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["AtomicSearchBoxQuerySuggestions","componentWillLoad","dispatchSearchBoxSuggestionsEvent","bindings","this","initialize","host","error","engine","registerQuerySuggest","fetchQuerySuggestions","loadQuerySuggestActions","dispatch","id","count","numberOfQueries","position","Array","from","parentNode","children","indexOf","onInput","renderItems","hasQuery","searchBoxController","state","value","max","maxWithQuery","maxWithoutQuery","suggestions","slice","map","suggestion","renderItem","partialItem","getPartialSearchBoxSuggestionElement","i18n","content","h","QuerySuggestionContainer","QuerySuggestionIcon","icon","SearchIcon","hasSuggestion","getSuggestions","length","QuerySuggestionText","onSelect","selectSuggestion","rawValue","render","key","element","getPartialRecentQueryElement","part","query","encodeForDomAttribute","ariaLabel","t","interpolation","escapeValue","getPartialRecentQueryClearElement","hideIfLast","RecentQueriesContainer","_","class","RecentQueryIcon","RecentQueryText","innerHTML","HighlightUtils","highlightString","openingDelimiter","closingDelimiter","highlights","offset","RecentQueryClear","AtomicSearchBoxRecentQueries","warnUser","once","logger","warn","renderIcon","Clock","storage","SafeStorage","recentQueriesList","buildRecentQueriesList","initialState","queries","retrieveLocalStorage","options","maxLength","clearFilters","subscribe","updateLocalStorage","getParsedJSON","StorageItems","RECENT_QUERIES","analyticsEnabled","disableFeature","setJSON","removeItem","filteredQueries","filter","recentQuery","toLowerCase","startsWith","suggestionElements","unshift","renderClear","clear","triggerSuggestions","isStandalone","updateText","submit","executeRecentQuery"],"sources":["src/components/search/search-box-suggestions/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.tsx","src/components/common/suggestions/stencil-recent-queries.tsx","src/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.tsx"],"sourcesContent":["import {\n loadQuerySuggestActions,\n SearchBox,\n SearchEngine,\n Suggestion,\n} from '@coveo/headless';\nimport {Component, Element, Prop, State, h} from '@stencil/core';\nimport SearchIcon from '../../../../images/search.svg';\nimport {\n getPartialSearchBoxSuggestionElement,\n QuerySuggestionContainer,\n QuerySuggestionIcon,\n QuerySuggestionText,\n} from '../../../common/suggestions/stencil-query-suggestions';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\n\n/**\n * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.\n */\n@Component({\n tag: 'atomic-search-box-query-suggestions',\n shadow: true,\n})\nexport class AtomicSearchBoxQuerySuggestions {\n private bindings!: SearchBoxSuggestionsBindings<SearchBox>;\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The SVG icon to display.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n */\n @Prop() public icon?: string;\n\n /**\n * The maximum number of suggestions that will be displayed if the user has typed something into the input field.\n */\n @Prop({reflect: true}) public maxWithQuery?: number;\n /**\n * The maximum number of suggestions that will be displayed initially when the input field is empty.\n */\n @Prop({reflect: true}) public maxWithoutQuery?: number;\n\n componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox>(\n (bindings) => {\n this.bindings = bindings;\n return this.initialize();\n },\n this.host,\n ['atomic-search-box']\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private initialize(): SearchBoxSuggestions {\n const engine = this.bindings.engine as SearchEngine<{\n querySet: string;\n querySuggest: string;\n }>;\n const {registerQuerySuggest, fetchQuerySuggestions} =\n loadQuerySuggestActions(engine);\n\n engine.dispatch(\n registerQuerySuggest({\n id: this.bindings.id,\n count: this.bindings.numberOfQueries,\n })\n );\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n onInput: () =>\n engine.dispatch(\n fetchQuerySuggestions({\n id: this.bindings.id,\n })\n ),\n renderItems: () => this.renderItems(),\n };\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;\n return this.bindings.searchBoxController.state.suggestions\n .slice(0, max)\n .map((suggestion) => this.renderItem(suggestion));\n }\n\n private renderItem(suggestion: Suggestion) {\n const hasQuery = this.bindings.searchBoxController.state.value !== '';\n const partialItem = getPartialSearchBoxSuggestionElement(\n suggestion,\n this.bindings.i18n\n );\n\n return {\n ...partialItem,\n content: (\n <QuerySuggestionContainer>\n <QuerySuggestionIcon\n icon={this.icon || SearchIcon}\n hasSuggestion={this.bindings.getSuggestions().length > 1}\n />\n\n <QuerySuggestionText suggestion={suggestion} hasQuery={hasQuery} />\n </QuerySuggestionContainer>\n ),\n onSelect: () => {\n this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);\n },\n };\n }\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n","import {HighlightUtils} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {encodeForDomAttribute} from '../../../utils/string-utils';\nimport {SearchBoxSuggestionElement} from './suggestions-types';\n\nexport const getPartialRecentQueryElement = (\n value: string,\n i18n: i18n\n): Pick<SearchBoxSuggestionElement, 'ariaLabel' | 'key' | 'query' | 'part'> => {\n return {\n part: 'recent-query-item',\n query: value,\n key: `recent-${encodeForDomAttribute(value)}`,\n ariaLabel: i18n.t('recent-query-suggestion-label', {\n query: value,\n interpolation: {escapeValue: false},\n }),\n };\n};\n\nexport const getPartialRecentQueryClearElement = (\n i18n: i18n\n): Pick<\n SearchBoxSuggestionElement,\n 'ariaLabel' | 'key' | 'part' | 'hideIfLast'\n> => {\n return {\n key: 'recent-query-clear',\n ariaLabel: i18n.t('clear-recent-searches', {\n interpolation: {escapeValue: false},\n }),\n part: 'recent-query-title-item suggestion-divider',\n hideIfLast: true,\n };\n};\n\nexport const RecentQueriesContainer: FunctionalComponent = (_, children) => {\n return (\n <div\n part=\"recent-query-content\"\n class=\"flex items-center text-left break-all\"\n >\n {children}\n </div>\n );\n};\n\ninterface RecentQueryIconProps {\n icon: string;\n}\n\nexport const RecentQueryIcon: FunctionalComponent<RecentQueryIconProps> = ({\n icon,\n}) => {\n return (\n <atomic-icon\n part=\"recent-query-icon\"\n icon={icon}\n class=\"mr-2 h-4 w-4 shrink-0\"\n ></atomic-icon>\n );\n};\n\ninterface RecentQueryTextProps {\n query: string;\n value: string;\n}\n\nexport const RecentQueryText: FunctionalComponent<RecentQueryTextProps> = ({\n query,\n value,\n}) => {\n if (query === '') {\n return (\n <span part=\"recent-query-text\" class=\"line-clamp-2 break-all\">\n {value}\n </span>\n );\n }\n return (\n <span\n part=\"recent-query-text\"\n class=\"line-clamp-2 break-all\"\n innerHTML={HighlightUtils.highlightString({\n content: value,\n openingDelimiter:\n '<span part=\"recent-query-text-highlight\" class=\"font-bold\">',\n closingDelimiter: '</span>',\n highlights: [\n {\n offset: query.length,\n length: value.length - query.length,\n },\n ],\n })}\n ></span>\n );\n};\n\ninterface RecentQueryClearProps {\n i18n: i18n;\n}\n\nexport const RecentQueryClear: FunctionalComponent<RecentQueryClearProps> = ({\n i18n,\n}) => {\n return (\n <div part=\"recent-query-title-content\" class=\"flex w-full justify-between\">\n <span class=\"font-bold\" part=\"recent-query-title\">\n {i18n.t('recent-searches')}\n </span>\n <span part=\"recent-query-clear\">{i18n.t('clear')}</span>\n </div>\n );\n};\n","import {\n buildRecentQueriesList,\n RecentQueriesList,\n SearchBox,\n} from '@coveo/headless';\nimport {Component, Element, Prop, State, h} from '@stencil/core';\nimport Clock from '../../../../images/clock.svg';\nimport {SafeStorage, StorageItems} from '../../../../utils/local-storage-utils';\nimport {once} from '../../../../utils/utils';\nimport {\n getPartialRecentQueryClearElement,\n getPartialRecentQueryElement,\n RecentQueriesContainer,\n RecentQueryClear,\n RecentQueryIcon,\n RecentQueryText,\n} from '../../../common/suggestions/stencil-recent-queries';\nimport {\n dispatchSearchBoxSuggestionsEvent,\n} from '../../../common/suggestions/suggestions-events';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestions,\n SearchBoxSuggestionsBindings,\n} from '../../../common/suggestions/suggestions-types';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-search-box-recent-queries` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of recent query suggestions.\n */\n@Component({\n tag: 'atomic-search-box-recent-queries',\n shadow: true,\n})\nexport class AtomicSearchBoxRecentQueries {\n private bindings!: SearchBoxSuggestionsBindings<SearchBox, Bindings>;\n private recentQueriesList!: RecentQueriesList;\n private storage!: SafeStorage;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The SVG icon to display.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n */\n @Prop() public icon?: string;\n\n /**\n * The maximum number of suggestions that will be displayed if the user has typed something into the input field.\n */\n @Prop({reflect: true}) public maxWithQuery = 3;\n /**\n * The maximum number of suggestions that will be displayed initially when the input field is empty.\n */\n @Prop({reflect: true}) public maxWithoutQuery?: number;\n\n componentWillLoad() {\n try {\n dispatchSearchBoxSuggestionsEvent<SearchBox, Bindings>(\n (bindings) => {\n this.bindings = bindings;\n return this.initialize();\n },\n this.host,\n ['atomic-search-box']\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private renderIcon() {\n return this.icon || Clock;\n }\n\n private initialize(): SearchBoxSuggestions {\n this.storage = new SafeStorage();\n this.recentQueriesList = buildRecentQueriesList(this.bindings.engine, {\n initialState: {queries: this.retrieveLocalStorage()},\n options: {maxLength: 1000, clearFilters: this.bindings.clearFilters},\n });\n\n this.recentQueriesList.subscribe(() => this.updateLocalStorage());\n\n return {\n position: Array.from(this.host.parentNode!.children).indexOf(this.host),\n renderItems: () => this.renderItems(),\n };\n }\n\n private retrieveLocalStorage() {\n return this.storage.getParsedJSON(StorageItems.RECENT_QUERIES, []);\n }\n\n private updateLocalStorage() {\n if (!this.recentQueriesList.state.analyticsEnabled) {\n return this.disableFeature();\n }\n\n return this.storage.setJSON(\n StorageItems.RECENT_QUERIES,\n this.recentQueriesList.state.queries\n );\n }\n\n private warnUser = once(() =>\n this.bindings.engine.logger.warn(\n 'Because analytics are disabled, the recent queries feature is deactivated.'\n )\n );\n\n private disableFeature() {\n this.warnUser();\n this.storage.removeItem(StorageItems.RECENT_QUERIES);\n }\n\n private renderItems(): SearchBoxSuggestionElement[] {\n if (!this.recentQueriesList.state.analyticsEnabled) {\n return [];\n }\n\n const query = this.bindings.searchBoxController.state.value;\n const hasQuery = query !== '';\n const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;\n const filteredQueries = this.recentQueriesList.state.queries\n .filter((recentQuery) =>\n recentQuery.toLowerCase().startsWith(query.toLowerCase())\n )\n .slice(0, max);\n\n const suggestionElements: SearchBoxSuggestionElement[] =\n filteredQueries.map((value) => this.renderItem(value));\n if (suggestionElements.length) {\n suggestionElements.unshift(this.renderClear());\n }\n\n return suggestionElements;\n }\n\n private renderClear(): SearchBoxSuggestionElement {\n const partialItem = getPartialRecentQueryClearElement(this.bindings.i18n);\n\n return {\n ...partialItem,\n content: <RecentQueryClear i18n={this.bindings.i18n} />,\n onSelect: () => {\n this.recentQueriesList.clear();\n this.bindings.triggerSuggestions();\n },\n };\n }\n\n private renderItem(value: string): SearchBoxSuggestionElement {\n const query = this.bindings.searchBoxController.state.value;\n const partialItem = getPartialRecentQueryElement(value, this.bindings.i18n);\n return {\n ...partialItem,\n content: (\n <RecentQueriesContainer>\n <RecentQueryIcon icon={this.renderIcon()} />\n <RecentQueryText query={query} value={value} />\n </RecentQueriesContainer>\n ),\n\n onSelect: () => {\n if (this.bindings.isStandalone) {\n this.bindings.searchBoxController.updateText(value);\n this.bindings.searchBoxController.submit();\n return;\n }\n\n this.recentQueriesList.executeRecentQuery(\n this.recentQueriesList.state.queries.indexOf(value)\n );\n },\n };\n }\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|