@coveo/atomic 3.37.3 → 3.38.0
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/assets/sparkles.svg +1 -0
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +0 -6
- package/dist/atomic/components/_index.js +1 -4
- package/dist/atomic/components/atomic-breadbox.js.map +1 -1
- package/dist/atomic/components/atomic-category-facet.js +3 -3
- package/dist/atomic/components/atomic-category-facet.js.map +1 -1
- package/dist/atomic/components/atomic-color-facet.js +2 -2
- package/dist/atomic/components/atomic-color-facet.js.map +1 -1
- package/dist/atomic/components/atomic-field-condition.js.map +1 -1
- package/dist/atomic/components/atomic-folded-result-list.js +4 -4
- package/dist/atomic/components/atomic-folded-result-list.js.map +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 +4 -4
- package/dist/atomic/components/atomic-format-unit.js.map +1 -1
- package/dist/atomic/components/atomic-generated-answer.js +2 -2
- package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +2 -2
- package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-refine-modal2.js +3 -3
- package/dist/atomic/components/atomic-insight-refine-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-children.js +1 -1
- package/dist/atomic/components/atomic-insight-result-children.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +2 -2
- package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-modal2.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-recs-list.js +2 -2
- package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-refine-modal2.js +2 -2
- package/dist/atomic/components/atomic-ipx-refine-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +3 -3
- package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-quickview.js.map +1 -1
- package/dist/atomic/components/atomic-rating-facet.js +2 -2
- package/dist/atomic/components/atomic-rating-facet.js.map +1 -1
- package/dist/atomic/components/atomic-rating-range-facet.js +2 -2
- package/dist/atomic/components/atomic-rating-range-facet.js.map +1 -1
- package/dist/atomic/components/atomic-recs-list.js +2 -2
- package/dist/atomic/components/atomic-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +3 -3
- package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-result-badge.js.map +1 -1
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-children.js.map +1 -1
- package/dist/atomic/components/atomic-result-date.js +41 -13
- package/dist/atomic/components/atomic-result-date.js.map +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-image.js +1 -1
- package/dist/atomic/components/atomic-result-image.js.map +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js.map +1 -1
- package/dist/atomic/components/atomic-result-timespan.js +8 -1
- package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
- package/dist/atomic/components/atomic-search-box.js +6 -6
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-segmented-facet-scrollable.js.map +1 -1
- package/dist/atomic/components/atomic-segmented-facet.js +2 -2
- package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet.js.map +1 -1
- package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
- package/dist/atomic/components/atomic-sort-expression.js +3 -3
- package/dist/atomic/components/atomic-sort-expression.js.map +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/atomic-timeframe-facet.js +2 -2
- package/dist/atomic/components/atomic-timeframe-facet.js.map +1 -1
- package/dist/atomic/components/atomic-timeframe.js +1 -1
- package/dist/atomic/components/atomic-timeframe.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +0 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-query-error/atomic-commerce-query-error.js +9 -9
- package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +3 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +3 -6
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
- package/dist/atomic/components/components/common/atomic-icon/atomic-icon.js +1 -1
- package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +4 -4
- package/dist/atomic/components/components/common/atomic-numeric-range/atomic-numeric-range.js +37 -0
- package/dist/atomic/components/components/common/icon-button.js +34 -0
- package/dist/atomic/components/components/common/index.js +1 -0
- package/dist/atomic/components/components/common/interface/interface-controller.js +1 -1
- package/dist/atomic/components/components/common/lazy-index.js +1 -0
- package/dist/atomic/components/components/common/refine-modal/body.js +2 -1
- package/dist/atomic/components/components/common/validate-props-controller/validate-props-controller.js +4 -0
- package/dist/atomic/components/components/insight/atomic-insight-generate-answer-button/atomic-insight-generate-answer-button.js +70 -0
- package/dist/atomic/components/components/insight/index.js +1 -0
- package/dist/atomic/components/components/insight/lazy-index.js +1 -0
- package/dist/atomic/components/components/recommendations/atomic-recs-interface/atomic-recs-interface.js +2 -2
- package/dist/atomic/components/components/search/atomic-facet/atomic-facet.js +4 -4
- package/dist/atomic/components/components/search/atomic-query-error/atomic-query-error.js +111 -0
- package/dist/atomic/components/components/search/atomic-query-summary/atomic-query-summary.js +1 -1
- package/dist/atomic/components/components/search/atomic-result-list/atomic-result-list.js +5 -4
- package/dist/atomic/components/components/search/atomic-result-number/atomic-result-number.js +114 -0
- package/dist/atomic/components/components/search/atomic-results-per-page/atomic-results-per-page.js +1 -1
- package/dist/atomic/components/components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js +1 -1
- package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +2 -2
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +1 -1
- package/dist/atomic/components/components/search/index.js +2 -0
- package/dist/atomic/components/components/search/lazy-index.js +2 -0
- package/dist/atomic/components/date-utils.js +985 -12
- package/dist/atomic/components/date-utils.js.map +1 -1
- package/dist/atomic/components/directives/multi-class-map.js +1 -1
- package/dist/atomic/components/generated/dayjs-locales-data.js +143 -143
- package/dist/atomic/components/generated-answer-common.js +2 -2
- package/dist/atomic/components/generated-answer-common.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/initialization-utils.js +9 -12
- package/dist/atomic/components/initialization-utils.js.map +1 -1
- package/dist/atomic/components/show-hide-button.js.map +1 -1
- package/dist/atomic/components/smart-snippet-common.js +1 -1
- package/dist/atomic/components/smart-snippet-common.js.map +1 -1
- package/dist/atomic/components/smart-snippet-suggestions-common.js +1 -1
- package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
- package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
- package/dist/atomic/components/utils/date-utils.js +6 -6
- package/dist/atomic/components/utils/dayjs-locales.js +1 -1
- package/dist/atomic/components/utils/initialization-lit-stencil-common-utils.js +5 -0
- package/dist/atomic/index.esm.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-ES.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-08ce68cd.entry.js +2 -0
- package/dist/atomic/p-08ce68cd.entry.js.map +1 -0
- package/dist/atomic/{p-1cd81d8c.entry.js → p-0ace4e44.entry.js} +2 -2
- package/dist/atomic/{p-24c9b9f4.entry.js.map → p-0ace4e44.entry.js.map} +1 -1
- package/dist/atomic/p-0fded72d.entry.js +2 -0
- package/dist/atomic/p-0fded72d.entry.js.map +1 -0
- package/dist/atomic/p-151392e0.entry.js +2 -0
- package/dist/atomic/{p-691fd9aa.entry.js.map → p-151392e0.entry.js.map} +1 -1
- package/dist/atomic/p-169136cc.entry.js +2 -0
- package/dist/atomic/{p-7713727b.entry.js.map → p-169136cc.entry.js.map} +1 -1
- package/dist/atomic/p-1746e396.entry.js +2 -0
- package/dist/atomic/{p-24486958.entry.js.map → p-1746e396.entry.js.map} +1 -1
- package/dist/atomic/{p-d6a45f3a.entry.js → p-17c46f6c.entry.js} +2 -2
- package/dist/atomic/p-19dfc5d6.entry.js +2 -0
- package/dist/atomic/p-19dfc5d6.entry.js.map +1 -0
- package/dist/atomic/{p-0957bd04.js → p-1be5a1ac.js} +2 -2
- package/dist/atomic/{p-0957bd04.js.map → p-1be5a1ac.js.map} +1 -1
- package/dist/atomic/p-1c3c00a1.entry.js +2 -0
- package/dist/atomic/{p-4a03407e.entry.js.map → p-1c3c00a1.entry.js.map} +1 -1
- package/dist/atomic/p-1f86745f.entry.js +2 -0
- package/dist/atomic/{p-15b58744.entry.js.map → p-1f86745f.entry.js.map} +1 -1
- package/dist/atomic/{p-80cd8d91.entry.js → p-240b5a52.entry.js} +2 -2
- package/dist/atomic/{p-5af7deb6.entry.js.map → p-240b5a52.entry.js.map} +1 -1
- package/dist/atomic/p-2545de3a.entry.js +2 -0
- package/dist/atomic/p-2545de3a.entry.js.map +1 -0
- package/dist/atomic/p-292292b4.entry.js +2 -0
- package/dist/atomic/{p-6bf39a54.entry.js.map → p-292292b4.entry.js.map} +1 -1
- package/dist/atomic/p-2a3044e3.entry.js +2 -0
- package/dist/atomic/{p-1890138e.entry.js.map → p-2a3044e3.entry.js.map} +1 -1
- package/dist/atomic/p-2f0edd55.js +2 -0
- package/dist/atomic/p-2f0edd55.js.map +1 -0
- package/dist/atomic/{p-b140a3ba.entry.js → p-303657e2.entry.js} +2 -2
- package/dist/atomic/{p-b140a3ba.entry.js.map → p-303657e2.entry.js.map} +1 -1
- package/dist/atomic/p-32275553.entry.js +2 -0
- package/dist/atomic/p-32275553.entry.js.map +1 -0
- package/dist/atomic/{p-c154e82b.entry.js → p-37dd7d31.entry.js} +2 -2
- package/dist/atomic/{p-b9bc88bf.entry.js.map → p-37dd7d31.entry.js.map} +1 -1
- package/dist/atomic/{p-d2f17439.js → p-385d4e0d.js} +2 -2
- package/dist/atomic/p-3c50b839.entry.js +2 -0
- package/dist/atomic/{p-7339a39e.entry.js.map → p-3c50b839.entry.js.map} +1 -1
- package/dist/atomic/p-3c5d36b6.entry.js +2 -0
- package/dist/atomic/p-3c5d36b6.entry.js.map +1 -0
- package/dist/atomic/p-3e6fe20c.js +2 -0
- package/dist/atomic/p-3e6fe20c.js.map +1 -0
- package/dist/atomic/p-40702c80.entry.js +2 -0
- package/dist/atomic/{p-6bf258cd.entry.js.map → p-40702c80.entry.js.map} +1 -1
- package/dist/atomic/p-40b4b588.entry.js +2 -0
- package/dist/atomic/{p-948f9eb1.entry.js.map → p-40b4b588.entry.js.map} +1 -1
- package/dist/atomic/{p-04b33ab5.entry.js → p-416d5f3e.entry.js} +2 -2
- package/dist/atomic/p-416d5f3e.entry.js.map +1 -0
- package/dist/atomic/p-4243bce0.entry.js +2 -0
- package/dist/atomic/p-4243bce0.entry.js.map +1 -0
- package/dist/atomic/p-4252b62a.entry.js +2 -0
- package/dist/atomic/{p-ccbb3993.entry.js.map → p-4252b62a.entry.js.map} +1 -1
- package/dist/atomic/{p-60bcda24.entry.js → p-43a78770.entry.js} +2 -2
- package/dist/atomic/p-43a78770.entry.js.map +1 -0
- package/dist/atomic/{p-f66d672c.entry.js → p-4835a7b4.entry.js} +2 -2
- package/dist/atomic/{p-3591c26e.entry.js.map → p-4835a7b4.entry.js.map} +1 -1
- package/dist/atomic/p-4c9eb083.entry.js +2 -0
- package/dist/atomic/{p-4caf5609.entry.js.map → p-4c9eb083.entry.js.map} +1 -1
- package/dist/atomic/p-4dc45ad2.entry.js +2 -0
- package/dist/atomic/{p-208c2ee1.entry.js.map → p-4dc45ad2.entry.js.map} +1 -1
- package/dist/atomic/{p-4caf5609.entry.js → p-4e0a485b.entry.js} +2 -2
- package/dist/atomic/{p-6a48e989.entry.js.map → p-4e0a485b.entry.js.map} +1 -1
- package/dist/atomic/p-4f184c34.entry.js +2 -0
- package/dist/atomic/p-4f184c34.entry.js.map +1 -0
- package/dist/atomic/p-5061c7d9.entry.js +2 -0
- package/dist/atomic/{p-694d388a.entry.js.map → p-5061c7d9.entry.js.map} +1 -1
- package/dist/atomic/p-5474f931.entry.js +2 -0
- package/dist/atomic/{p-b1a7a7a1.entry.js.map → p-5474f931.entry.js.map} +1 -1
- package/dist/atomic/{p-26ca8796.entry.js → p-572811d4.entry.js} +2 -2
- package/dist/atomic/p-57aec054.entry.js +2 -0
- package/dist/atomic/{p-71c95db0.entry.js.map → p-57aec054.entry.js.map} +1 -1
- package/dist/atomic/p-5e0d4f30.entry.js +2 -0
- package/dist/atomic/p-5e0d4f30.entry.js.map +1 -0
- package/dist/atomic/{p-ad585045.entry.js → p-5ecaedd9.entry.js} +2 -2
- package/dist/atomic/{p-4cbaaadb.entry.js.map → p-5ecaedd9.entry.js.map} +1 -1
- package/dist/atomic/{p-5af7deb6.entry.js → p-638a624e.entry.js} +2 -2
- package/dist/atomic/{p-8c3d9fe6.entry.js.map → p-638a624e.entry.js.map} +1 -1
- package/dist/atomic/p-64e38158.entry.js +2 -0
- package/dist/atomic/{p-f9aee5d1.entry.js.map → p-64e38158.entry.js.map} +1 -1
- package/dist/atomic/p-6885acd3.entry.js +2 -0
- package/dist/atomic/p-6885acd3.entry.js.map +1 -0
- package/dist/atomic/p-6baaaab1.entry.js +2 -0
- package/dist/atomic/{p-9dd630ae.entry.js.map → p-6baaaab1.entry.js.map} +1 -1
- package/dist/atomic/p-6bf0d9bf.entry.js +2 -0
- package/dist/atomic/{p-81a9c583.entry.js.map → p-6bf0d9bf.entry.js.map} +1 -1
- package/dist/atomic/p-6ea6fde1.entry.js +2 -0
- package/dist/atomic/{p-4de1c891.entry.js.map → p-6ea6fde1.entry.js.map} +1 -1
- package/dist/atomic/p-716136ae.entry.js +2 -0
- package/dist/atomic/{p-574eae80.entry.js.map → p-716136ae.entry.js.map} +1 -1
- package/dist/atomic/p-74928a89.entry.js +2 -0
- package/dist/atomic/{p-f5efebad.entry.js.map → p-74928a89.entry.js.map} +1 -1
- package/dist/atomic/p-7f783c5b.js +2 -0
- package/dist/atomic/p-7f783c5b.js.map +1 -0
- package/dist/atomic/{p-b9bc88bf.entry.js → p-806d2145.entry.js} +2 -2
- package/dist/atomic/{p-4f36e119.entry.js.map → p-806d2145.entry.js.map} +1 -1
- package/dist/atomic/p-81a2b7f5.entry.js +2 -0
- package/dist/atomic/{p-761991ac.entry.js.map → p-81a2b7f5.entry.js.map} +1 -1
- package/dist/atomic/p-82608edd.entry.js +2 -0
- package/dist/atomic/p-82608edd.entry.js.map +1 -0
- package/dist/atomic/p-843e0545.entry.js +2 -0
- package/dist/atomic/{p-a3f1ef2e.entry.js.map → p-843e0545.entry.js.map} +1 -1
- package/dist/atomic/p-8543f60a.entry.js +2 -0
- package/dist/atomic/{p-c154e82b.entry.js.map → p-8543f60a.entry.js.map} +1 -1
- package/dist/atomic/{p-81a9c583.entry.js → p-85b7825e.entry.js} +2 -2
- package/dist/atomic/{p-04b33ab5.entry.js.map → p-85b7825e.entry.js.map} +1 -1
- package/dist/atomic/p-862769b9.entry.js +2 -0
- package/dist/atomic/{p-3a43e2d7.entry.js.map → p-862769b9.entry.js.map} +1 -1
- package/dist/atomic/p-893c53d3.entry.js +2 -0
- package/dist/atomic/{p-7e06946b.entry.js.map → p-893c53d3.entry.js.map} +1 -1
- package/dist/atomic/{p-e670ca8e.js → p-920113d1.js} +2 -2
- package/dist/atomic/p-969778a1.entry.js +2 -0
- package/dist/atomic/{p-c63ff491.entry.js.map → p-969778a1.entry.js.map} +1 -1
- package/dist/atomic/{p-cfdd123e.entry.js → p-9a22af0b.entry.js} +2 -2
- package/dist/atomic/{p-2cbef6c3.entry.js.map → p-9a22af0b.entry.js.map} +1 -1
- package/dist/atomic/p-9bb3269f.entry.js +2 -0
- package/dist/atomic/{p-3f99dfcb.entry.js.map → p-9bb3269f.entry.js.map} +1 -1
- package/dist/atomic/{p-948f9eb1.entry.js → p-9c71c564.entry.js} +2 -2
- package/dist/atomic/p-9c71c564.entry.js.map +1 -0
- package/dist/atomic/p-9dc331b3.entry.js +2 -0
- package/dist/atomic/p-9dc331b3.entry.js.map +1 -0
- package/dist/atomic/p-9ec08fc1.entry.js +2 -0
- package/dist/atomic/{p-66f71a38.entry.js.map → p-9ec08fc1.entry.js.map} +1 -1
- package/dist/atomic/p-a60ad537.entry.js +2 -0
- package/dist/atomic/{p-ce080a18.entry.js.map → p-a60ad537.entry.js.map} +1 -1
- package/dist/atomic/{p-1666aabc.entry.js → p-a7064c41.entry.js} +2 -2
- package/dist/atomic/p-a810d6ad.entry.js.map +1 -1
- package/dist/atomic/p-a9f165e5.entry.js +2 -0
- package/dist/atomic/{p-cfdd123e.entry.js.map → p-a9f165e5.entry.js.map} +1 -1
- package/dist/atomic/{p-047b8b08.js → p-ab3fafb5.js} +1 -1
- package/dist/atomic/p-ab3fafb5.js.map +1 -0
- package/dist/atomic/p-b39f31df.entry.js +2 -0
- package/dist/atomic/{p-fa6ae44b.entry.js.map → p-b39f31df.entry.js.map} +1 -1
- package/dist/atomic/p-b6266855.entry.js.map +1 -1
- package/dist/atomic/p-b66057f2.entry.js +2 -0
- package/dist/atomic/{p-393714ec.entry.js.map → p-b66057f2.entry.js.map} +1 -1
- package/dist/atomic/p-b9984629.entry.js +2 -0
- package/dist/atomic/p-b9984629.entry.js.map +1 -0
- package/dist/atomic/p-bbe35bc8.entry.js +2 -0
- package/dist/atomic/p-bbe35bc8.entry.js.map +1 -0
- package/dist/atomic/p-bdec46c1.entry.js +2 -0
- package/dist/atomic/p-bdec46c1.entry.js.map +1 -0
- package/dist/atomic/p-c3b72efb.entry.js +2 -0
- package/dist/atomic/{p-7004d3d7.entry.js.map → p-c3b72efb.entry.js.map} +1 -1
- package/dist/atomic/p-c4701592.entry.js +2 -0
- package/dist/atomic/{p-b8f98865.entry.js.map → p-c4701592.entry.js.map} +1 -1
- package/dist/atomic/p-c8de91c6.entry.js +2 -0
- package/dist/atomic/p-c8de91c6.entry.js.map +1 -0
- package/dist/atomic/p-ca775fe9.js.map +1 -1
- package/dist/atomic/p-cdbfd6d3.js +2 -0
- package/dist/atomic/p-cdbfd6d3.js.map +1 -0
- package/dist/atomic/{p-e918b5ce.entry.js → p-d02fe58f.entry.js} +2 -2
- package/dist/atomic/{p-989d2cc5.entry.js.map → p-d02fe58f.entry.js.map} +1 -1
- package/dist/atomic/{p-f5efebad.entry.js → p-d11c4053.entry.js} +2 -2
- package/dist/atomic/{p-e918b5ce.entry.js.map → p-d11c4053.entry.js.map} +1 -1
- package/dist/atomic/{p-351fda09.js → p-d245416e.js} +2 -2
- package/dist/atomic/{p-351fda09.js.map → p-d245416e.js.map} +1 -1
- package/dist/atomic/p-d279ff6c.entry.js +2 -0
- package/dist/atomic/p-d279ff6c.entry.js.map +1 -0
- package/dist/atomic/{p-4cbaaadb.entry.js → p-d573be8c.entry.js} +2 -2
- package/dist/atomic/{p-22c73142.entry.js.map → p-d573be8c.entry.js.map} +1 -1
- package/dist/atomic/{p-7004d3d7.entry.js → p-db3aa7c0.entry.js} +2 -2
- package/dist/atomic/p-db3aa7c0.entry.js.map +1 -0
- package/dist/atomic/p-dd3d6b89.entry.js +2 -0
- package/dist/atomic/{p-601c4535.entry.js.map → p-dd3d6b89.entry.js.map} +1 -1
- package/dist/atomic/p-df18119c.entry.js +2 -0
- package/dist/atomic/p-df18119c.entry.js.map +1 -0
- package/dist/atomic/p-df4ce223.entry.js +2 -0
- package/dist/atomic/{p-f31ee5c2.entry.js.map → p-df4ce223.entry.js.map} +1 -1
- package/dist/atomic/p-e22088e4.entry.js +2 -0
- package/dist/atomic/p-e22088e4.entry.js.map +1 -0
- package/dist/atomic/p-e382b288.entry.js +2 -0
- package/dist/atomic/{p-eeac4b29.entry.js.map → p-e382b288.entry.js.map} +1 -1
- package/dist/atomic/{p-57206eae.entry.js → p-e3d30753.entry.js} +2 -2
- package/dist/atomic/p-e3d30753.entry.js.map +1 -0
- package/dist/atomic/p-e5b29430.entry.js.map +1 -1
- package/dist/atomic/p-e8e041cb.entry.js +2 -0
- package/dist/atomic/{p-63daaf88.entry.js.map → p-e8e041cb.entry.js.map} +1 -1
- package/dist/atomic/p-edd94929.entry.js +2 -0
- package/dist/atomic/{p-b319966b.entry.js.map → p-edd94929.entry.js.map} +1 -1
- package/dist/atomic/{p-59fc3b06.entry.js → p-ee43c7de.entry.js} +2 -2
- package/dist/atomic/{p-59fc3b06.entry.js.map → p-ee43c7de.entry.js.map} +1 -1
- package/dist/atomic/{p-50d56305.entry.js → p-f07098d4.entry.js} +2 -2
- package/dist/atomic/p-f5b94d26.entry.js +2 -0
- package/dist/atomic/p-f5b94d26.entry.js.map +1 -0
- package/dist/atomic/{p-574eae80.entry.js → p-fa0866da.entry.js} +2 -2
- package/dist/atomic/{p-60bcda24.entry.js.map → p-fa0866da.entry.js.map} +1 -1
- package/dist/atomic/{p-5ae390a8.entry.js → p-fbbf4344.entry.js} +2 -2
- package/dist/atomic/{p-5ae390a8.entry.js.map → p-fbbf4344.entry.js.map} +1 -1
- package/dist/atomic/p-ff4eadc8.entry.js +2 -0
- package/dist/atomic/{p-a11328ae.entry.js.map → p-ff4eadc8.entry.js.map} +1 -1
- package/dist/cjs/_index.cjs.js +3 -3
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +2 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js +2 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +6 -5
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-color-facet.cjs.entry.js +4 -3
- package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js +2 -1
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet-manager.cjs.entry.js +2 -1
- package/dist/cjs/atomic-facet-manager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +6 -5
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +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 +4 -4
- package/dist/cjs/atomic-format-unit.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +2 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +5 -4
- package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +4 -3
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-layout.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +5 -4
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +4 -3
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +4 -3
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-tab.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +3 -2
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +4 -5
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-body.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +4 -3
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +4 -3
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +2 -1
- package/dist/cjs/atomic-ipx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +2 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-notifications.cjs.entry.js +2 -1
- package/dist/cjs/atomic-notifications.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -5
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-popover.cjs.entry.js +2 -1
- package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -2
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +3 -2
- package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -3
- package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +4 -3
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +4 -3
- package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +5 -4
- package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +3 -2
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +4 -3
- package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-date.cjs.entry.js +46 -17
- package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-html.cjs.entry.js +2 -1
- package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-image.cjs.entry.js +3 -2
- package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +3 -2
- package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-localized-text.cjs.entry.js +2 -1
- package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -1
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-placeholder_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -1
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-timespan.cjs.entry.js +12 -4
- package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-box.cjs.entry.js +8 -7
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +2 -1
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +4 -3
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -1
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +2 -1
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -3
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -2
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js +5 -4
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +4 -3
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +3 -3
- package/dist/cjs/atomic-sort-expression.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -3
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +3 -2
- package/dist/cjs/atomic-tab-manager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +6 -6
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-timeframe.cjs.entry.js +1 -1
- package/dist/cjs/atomic-timeframe.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/date-utils-0381ac5f.js +1041 -0
- package/dist/cjs/date-utils-0381ac5f.js.map +1 -0
- package/dist/cjs/{generated-answer-common-c5248dd8.js → generated-answer-common-927e3ee0.js} +3 -3
- package/dist/cjs/generated-answer-common-927e3ee0.js.map +1 -0
- package/dist/cjs/index-1df73594.js +0 -12
- package/dist/cjs/initialization-lit-stencil-common-utils-f635e407.js +82 -0
- package/dist/cjs/initialization-lit-stencil-common-utils-f635e407.js.map +1 -0
- package/dist/cjs/{initialization-utils-a7e710aa.js → initialization-utils-ec6c0bfb.js} +6 -80
- package/dist/cjs/initialization-utils-ec6c0bfb.js.map +1 -0
- package/dist/cjs/{show-hide-button-6af56449.js → show-hide-button-6cda3a22.js} +1 -1
- package/dist/cjs/show-hide-button-6cda3a22.js.map +1 -0
- package/dist/cjs/{smart-snippet-common-b1a21770.js → smart-snippet-common-bfd586a6.js} +2 -2
- package/dist/cjs/smart-snippet-common-bfd586a6.js.map +1 -0
- package/dist/cjs/{smart-snippet-suggestions-common-4c88bab9.js → smart-snippet-suggestions-common-0288af37.js} +2 -2
- package/dist/cjs/smart-snippet-suggestions-common-0288af37.js.map +1 -0
- package/dist/cjs/{stencil-facet-guard-9ed13c4f.js → stencil-facet-guard-436f3e55.js} +2 -2
- package/dist/cjs/{stencil-facet-guard-9ed13c4f.js.map → stencil-facet-guard-436f3e55.js.map} +1 -1
- package/dist/cjs/stencil-suggestion-manager-c7b54239.js.map +1 -1
- package/dist/cjs/{timeframe-facet-common-98ebc695.js → timeframe-facet-common-03f90c44.js} +3 -3
- package/dist/cjs/{timeframe-facet-common-98ebc695.js.map → timeframe-facet-common-03f90c44.js.map} +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +1 -1
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js +2 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
- package/dist/esm/atomic-breadbox.entry.js +2 -1
- package/dist/esm/atomic-breadbox.entry.js.map +1 -1
- package/dist/esm/atomic-category-facet.entry.js +6 -5
- package/dist/esm/atomic-category-facet.entry.js.map +1 -1
- package/dist/esm/atomic-color-facet.entry.js +4 -3
- package/dist/esm/atomic-color-facet.entry.js.map +1 -1
- package/dist/esm/atomic-did-you-mean.entry.js +2 -1
- package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
- package/dist/esm/atomic-facet-manager.entry.js +2 -1
- package/dist/esm/atomic-facet-manager.entry.js.map +1 -1
- package/dist/esm/atomic-field-condition.entry.js.map +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +6 -5
- package/dist/esm/atomic-folded-result-list.entry.js.map +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 +4 -4
- package/dist/esm/atomic-format-unit.entry.js.map +1 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +2 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-generated-answer.entry.js +5 -4
- package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +3 -2
- package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +4 -3
- package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +2 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
- package/dist/esm/atomic-insight-generated-answer.entry.js +3 -2
- package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-layout.entry.js +2 -1
- package/dist/esm/atomic-insight-layout.entry.js.map +1 -1
- package/dist/esm/atomic-insight-no-results.entry.js +2 -1
- package/dist/esm/atomic-insight-no-results.entry.js.map +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +3 -2
- package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +2 -1
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +2 -1
- package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-summary.entry.js +2 -1
- package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-modal.entry.js +5 -4
- package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -1
- package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +2 -1
- package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-children.entry.js +4 -3
- package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +4 -3
- package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +2 -1
- package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -1
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -2
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -2
- package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-tab.entry.js +2 -1
- package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
- package/dist/esm/atomic-insight-tabs.entry.js +2 -1
- package/dist/esm/atomic-insight-tabs.entry.js.map +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -4
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +3 -2
- package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +4 -5
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-body.entry.js +2 -1
- package/dist/esm/atomic-ipx-body.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-button.entry.js +2 -1
- package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-embedded.entry.js +2 -1
- package/dist/esm/atomic-ipx-embedded.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-modal.entry.js +2 -1
- package/dist/esm/atomic-ipx-modal.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +4 -3
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +4 -3
- package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-result-link.entry.js +2 -1
- package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-tab.entry.js +2 -1
- package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-tabs.entry.js +2 -1
- package/dist/esm/atomic-ipx-tabs.entry.js.map +1 -1
- package/dist/esm/atomic-no-results.entry.js +2 -1
- package/dist/esm/atomic-no-results.entry.js.map +1 -1
- package/dist/esm/atomic-notifications.entry.js +2 -1
- package/dist/esm/atomic-notifications.entry.js.map +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +6 -5
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-popover.entry.js +2 -1
- package/dist/esm/atomic-popover.entry.js.map +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +3 -2
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +3 -2
- package/dist/esm/atomic-quickview.entry.js.map +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +4 -3
- package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +4 -3
- package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
- package/dist/esm/atomic-recs-error.entry.js +2 -1
- package/dist/esm/atomic-recs-error.entry.js.map +1 -1
- package/dist/esm/atomic-recs-list.entry.js +4 -3
- package/dist/esm/atomic-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +5 -4
- package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +3 -2
- package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-result-badge.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +4 -3
- package/dist/esm/atomic-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-result-date.entry.js +43 -14
- package/dist/esm/atomic-result-date.entry.js.map +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-html.entry.js +2 -1
- package/dist/esm/atomic-result-html.entry.js.map +1 -1
- package/dist/esm/atomic-result-image.entry.js +3 -2
- package/dist/esm/atomic-result-image.entry.js.map +1 -1
- package/dist/esm/atomic-result-link.entry.js +3 -2
- package/dist/esm/atomic-result-link.entry.js.map +1 -1
- package/dist/esm/atomic-result-localized-text.entry.js +2 -1
- package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js +2 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-placeholder_2.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_2.entry.js.map +1 -1
- package/dist/esm/atomic-result-printable-uri.entry.js +2 -1
- package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
- package/dist/esm/atomic-result-rating.entry.js +2 -1
- package/dist/esm/atomic-result-rating.entry.js.map +1 -1
- package/dist/esm/atomic-result-timespan.entry.js +10 -2
- package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
- package/dist/esm/atomic-search-box.entry.js +8 -7
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js +2 -1
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
- package/dist/esm/atomic-segmented-facet.entry.js +4 -3
- package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -1
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +2 -1
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -3
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -2
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet.entry.js +5 -4
- package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
- package/dist/esm/atomic-sort-dropdown.entry.js +4 -3
- package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
- package/dist/esm/atomic-sort-expression.entry.js +3 -3
- package/dist/esm/atomic-sort-expression.entry.js.map +1 -1
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -3
- package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
- package/dist/esm/atomic-tab-bar_2.entry.js +2 -1
- package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +3 -2
- package/dist/esm/atomic-tab-manager.entry.js.map +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +6 -6
- package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
- package/dist/esm/atomic-timeframe.entry.js +1 -1
- package/dist/esm/atomic-timeframe.entry.js.map +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/date-utils-c96893e8.js +1037 -0
- package/dist/esm/date-utils-c96893e8.js.map +1 -0
- package/dist/esm/{generated-answer-common-ea4c7577.js → generated-answer-common-88cdefec.js} +3 -3
- package/dist/esm/generated-answer-common-88cdefec.js.map +1 -0
- package/dist/esm/index-a59c51bd.js +0 -12
- package/dist/esm/initialization-lit-stencil-common-utils-8f9c9a87.js +76 -0
- package/dist/esm/initialization-lit-stencil-common-utils-8f9c9a87.js.map +1 -0
- package/dist/esm/{initialization-utils-1ac142ee.js → initialization-utils-fff1cf59.js} +3 -75
- package/dist/esm/initialization-utils-fff1cf59.js.map +1 -0
- package/dist/esm/{show-hide-button-0e446376.js → show-hide-button-d9230b9e.js} +1 -1
- package/dist/esm/show-hide-button-d9230b9e.js.map +1 -0
- package/dist/esm/{smart-snippet-common-fa8817ae.js → smart-snippet-common-a49d332d.js} +2 -2
- package/dist/esm/smart-snippet-common-a49d332d.js.map +1 -0
- package/dist/esm/{smart-snippet-suggestions-common-e6dc7014.js → smart-snippet-suggestions-common-cec2c1d8.js} +2 -2
- package/dist/esm/smart-snippet-suggestions-common-cec2c1d8.js.map +1 -0
- package/dist/esm/{stencil-facet-guard-577ea728.js → stencil-facet-guard-23f22272.js} +2 -2
- package/dist/esm/{stencil-facet-guard-577ea728.js.map → stencil-facet-guard-23f22272.js.map} +1 -1
- package/dist/esm/stencil-suggestion-manager-0f37f08b.js.map +1 -1
- package/dist/esm/{timeframe-facet-common-0bf63f86.js → timeframe-facet-common-57a927da.js} +3 -3
- package/dist/esm/{timeframe-facet-common-0bf63f86.js.map → timeframe-facet-common-57a927da.js.map} +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-facet/atomic-commerce-facet.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +3 -3
- package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-query-error/atomic-commerce-query-error.d.ts +2 -2
- package/dist/types/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +3 -3
- package/dist/types/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-search-box-instant-products/atomic-commerce-search-box-instant-products.d.ts +1 -1
- package/dist/types/components/commerce/atomic-product-children/atomic-product-children.d.ts +1 -1
- package/dist/types/components/commerce/atomic-product-field-condition/atomic-product-field-condition.d.ts +5 -5
- package/dist/types/components/common/atomic-modal/atomic-modal.d.ts +2 -2
- package/dist/types/components/common/atomic-numeric-range/atomic-numeric-range.d.ts +11 -2
- package/dist/types/components/common/atomic-timeframe/atomic-timeframe.d.ts +1 -1
- package/dist/types/components/common/index.d.ts +1 -0
- package/dist/types/components/common/refine-modal/body.d.ts +3 -2
- package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -1
- package/dist/types/components/common/result-children/children-wrapper.d.ts +2 -9
- package/dist/types/components/common/result-children/guard.d.ts +2 -5
- package/dist/types/components/common/result-children/stencil-children-wrapper.d.ts +9 -0
- package/dist/types/components/common/result-children/stencil-guard.d.ts +11 -0
- package/dist/types/components/common/sort/container.d.ts +2 -5
- package/dist/types/components/common/sort/stencil-container.d.ts +5 -0
- package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +1 -1
- package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
- package/dist/types/components/common/suggestions/suggestions-types.d.ts +1 -1
- package/dist/types/components/insight/atomic-insight-generate-answer-button/atomic-insight-generate-answer-button.d.ts +24 -0
- package/dist/types/components/insight/index.d.ts +1 -0
- package/dist/types/components/insight/result-lists/atomic-insight-folded-result-list/atomic-insight-folded-result-list.d.ts +1 -1
- package/dist/types/components/insight/result-lists/atomic-insight-result-list/atomic-insight-result-list.d.ts +1 -1
- package/dist/types/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.d.ts +2 -2
- package/dist/types/components/recommendations/atomic-recs-interface/atomic-recs-interface.d.ts +1 -1
- package/dist/types/components/recommendations/atomic-recs-list/atomic-recs-list.d.ts +2 -2
- package/dist/types/components/search/atomic-breadbox/atomic-breadbox.d.ts +1 -1
- package/dist/types/components/search/atomic-facet/atomic-facet.d.ts +4 -4
- package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +2 -2
- package/dist/types/components/search/atomic-query-error/atomic-query-error.d.ts +14 -7
- package/dist/types/components/search/atomic-query-summary/atomic-query-summary.d.ts +1 -1
- package/dist/types/components/search/atomic-result-list/atomic-result-list.d.ts +5 -4
- package/dist/types/components/search/atomic-result-number/atomic-result-number.d.ts +38 -0
- package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +3 -3
- package/dist/types/components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.d.ts +1 -1
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +2 -2
- package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +1 -1
- package/dist/types/components/search/atomic-sort-expression/atomic-sort-expression.d.ts +2 -2
- package/dist/types/components/search/facets/atomic-category-facet/atomic-category-facet.d.ts +4 -4
- package/dist/types/components/search/facets/atomic-color-facet/atomic-color-facet.d.ts +4 -4
- package/dist/types/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.d.ts +3 -3
- package/dist/types/components/search/facets/atomic-rating-facet/atomic-rating-facet.d.ts +3 -3
- package/dist/types/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.d.ts +3 -3
- package/dist/types/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.d.ts +2 -2
- package/dist/types/components/search/facets/atomic-segmented-facet-scrollable/atomic-segmented-facet-scrollable.d.ts +2 -2
- package/dist/types/components/search/facets/atomic-timeframe-facet/atomic-timeframe-facet.d.ts +2 -2
- package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -6
- package/dist/types/components/search/facets/color-facet-checkbox/stencil-color-facet-checkbox.d.ts +6 -0
- package/dist/types/components/search/formats/atomic-format-unit.d.ts +3 -3
- package/dist/types/components/search/index.d.ts +2 -0
- package/dist/types/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.d.ts +5 -5
- package/dist/types/components/search/result-template-components/atomic-field-condition/atomic-field-condition.d.ts +1 -1
- package/dist/types/components/search/result-template-components/atomic-quickview/atomic-quickview.d.ts +1 -1
- package/dist/types/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.d.ts +1 -1
- package/dist/types/components/search/result-template-components/atomic-result-badge/atomic-result-badge.d.ts +1 -1
- package/dist/types/components/search/smart-snippets/atomic-smart-snippet/atomic-smart-snippet.d.ts +2 -2
- package/dist/types/components.d.ts +95 -210
- package/dist/types/directives/multi-class-map.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/dayjs/locale.d.ts +4 -0
- package/dist/types/types/storybook.d.ts +7 -0
- package/dist/types/utils/date-utils.d.ts +5 -5
- package/dist/types/utils/initialization-lit-stencil-common-utils.d.ts +5 -0
- package/docs/assets.json +1 -1
- package/docs/atomic-docs.json +53 -284
- package/package.json +18 -15
- package/dist/atomic/components/atomic-numeric-range.d.ts +0 -11
- package/dist/atomic/components/atomic-numeric-range.js +0 -42
- package/dist/atomic/components/atomic-numeric-range.js.map +0 -1
- package/dist/atomic/components/atomic-query-error.d.ts +0 -11
- package/dist/atomic/components/atomic-query-error.js +0 -76
- package/dist/atomic/components/atomic-query-error.js.map +0 -1
- package/dist/atomic/components/atomic-result-number.d.ts +0 -11
- package/dist/atomic/components/atomic-result-number.js +0 -102
- package/dist/atomic/components/atomic-result-number.js.map +0 -1
- package/dist/atomic/components/dayjs.min.js +0 -13
- package/dist/atomic/components/dayjs.min.js.map +0 -1
- package/dist/atomic/p-047b8b08.js.map +0 -1
- package/dist/atomic/p-054634c1.entry.js +0 -2
- package/dist/atomic/p-054634c1.entry.js.map +0 -1
- package/dist/atomic/p-119d63b8.entry.js +0 -2
- package/dist/atomic/p-119d63b8.entry.js.map +0 -1
- package/dist/atomic/p-15b58744.entry.js +0 -2
- package/dist/atomic/p-17fdb3c3.entry.js +0 -2
- package/dist/atomic/p-17fdb3c3.entry.js.map +0 -1
- package/dist/atomic/p-1890138e.entry.js +0 -2
- package/dist/atomic/p-1cd81d8c.entry.js.map +0 -1
- package/dist/atomic/p-208c2ee1.entry.js +0 -2
- package/dist/atomic/p-22c73142.entry.js +0 -2
- package/dist/atomic/p-24486958.entry.js +0 -2
- package/dist/atomic/p-24c9b9f4.entry.js +0 -2
- package/dist/atomic/p-2af6d7b6.entry.js +0 -2
- package/dist/atomic/p-2af6d7b6.entry.js.map +0 -1
- package/dist/atomic/p-2b396c74.entry.js +0 -2
- package/dist/atomic/p-2b396c74.entry.js.map +0 -1
- package/dist/atomic/p-2cbef6c3.entry.js +0 -2
- package/dist/atomic/p-32ab91ab.entry.js +0 -2
- package/dist/atomic/p-32ab91ab.entry.js.map +0 -1
- package/dist/atomic/p-3591c26e.entry.js +0 -2
- package/dist/atomic/p-393714ec.entry.js +0 -2
- package/dist/atomic/p-3a43e2d7.entry.js +0 -2
- package/dist/atomic/p-3bdc7566.entry.js +0 -2
- package/dist/atomic/p-3bdc7566.entry.js.map +0 -1
- package/dist/atomic/p-3f99dfcb.entry.js +0 -2
- package/dist/atomic/p-4780cd57.entry.js +0 -2
- package/dist/atomic/p-4780cd57.entry.js.map +0 -1
- package/dist/atomic/p-4a03407e.entry.js +0 -2
- package/dist/atomic/p-4de1c891.entry.js +0 -2
- package/dist/atomic/p-4f36e119.entry.js +0 -2
- package/dist/atomic/p-57206eae.entry.js.map +0 -1
- package/dist/atomic/p-5e308140.entry.js +0 -2
- package/dist/atomic/p-5e308140.entry.js.map +0 -1
- package/dist/atomic/p-601c4535.entry.js +0 -2
- package/dist/atomic/p-63daaf88.entry.js +0 -2
- package/dist/atomic/p-66f71a38.entry.js +0 -2
- package/dist/atomic/p-67289d09.entry.js +0 -2
- package/dist/atomic/p-67289d09.entry.js.map +0 -1
- package/dist/atomic/p-6821eedf.entry.js +0 -2
- package/dist/atomic/p-6821eedf.entry.js.map +0 -1
- package/dist/atomic/p-691fd9aa.entry.js +0 -2
- package/dist/atomic/p-694d388a.entry.js +0 -2
- package/dist/atomic/p-69823658.entry.js +0 -2
- package/dist/atomic/p-69823658.entry.js.map +0 -1
- package/dist/atomic/p-6a48e989.entry.js +0 -2
- package/dist/atomic/p-6bf258cd.entry.js +0 -2
- package/dist/atomic/p-6bf39a54.entry.js +0 -2
- package/dist/atomic/p-71c95db0.entry.js +0 -2
- package/dist/atomic/p-7339a39e.entry.js +0 -2
- package/dist/atomic/p-74ac043c.entry.js +0 -2
- package/dist/atomic/p-74ac043c.entry.js.map +0 -1
- package/dist/atomic/p-761991ac.entry.js +0 -2
- package/dist/atomic/p-7713727b.entry.js +0 -2
- package/dist/atomic/p-793d32f9.entry.js +0 -2
- package/dist/atomic/p-793d32f9.entry.js.map +0 -1
- package/dist/atomic/p-7e06946b.entry.js +0 -2
- package/dist/atomic/p-80cd8d91.entry.js.map +0 -1
- package/dist/atomic/p-8c3d9fe6.entry.js +0 -2
- package/dist/atomic/p-9511f2fd.js +0 -2
- package/dist/atomic/p-9511f2fd.js.map +0 -1
- package/dist/atomic/p-989d2cc5.entry.js +0 -2
- package/dist/atomic/p-998bb649.entry.js +0 -2
- package/dist/atomic/p-998bb649.entry.js.map +0 -1
- package/dist/atomic/p-9dd630ae.entry.js +0 -2
- package/dist/atomic/p-a01b984b.js +0 -2
- package/dist/atomic/p-a01b984b.js.map +0 -1
- package/dist/atomic/p-a11328ae.entry.js +0 -2
- package/dist/atomic/p-a3f1ef2e.entry.js +0 -2
- package/dist/atomic/p-ad5441d1.entry.js +0 -2
- package/dist/atomic/p-ad5441d1.entry.js.map +0 -1
- package/dist/atomic/p-ad585045.entry.js.map +0 -1
- package/dist/atomic/p-adaed7f9.entry.js +0 -2
- package/dist/atomic/p-adaed7f9.entry.js.map +0 -1
- package/dist/atomic/p-b1a7a7a1.entry.js +0 -2
- package/dist/atomic/p-b319966b.entry.js +0 -2
- package/dist/atomic/p-b3cd9dda.js +0 -2
- package/dist/atomic/p-b3cd9dda.js.map +0 -1
- package/dist/atomic/p-b8f98865.entry.js +0 -2
- package/dist/atomic/p-c3c35e93.entry.js +0 -2
- package/dist/atomic/p-c3c35e93.entry.js.map +0 -1
- package/dist/atomic/p-c63ff491.entry.js +0 -2
- package/dist/atomic/p-c9913bee.entry.js +0 -2
- package/dist/atomic/p-c9913bee.entry.js.map +0 -1
- package/dist/atomic/p-ccbb3993.entry.js +0 -2
- package/dist/atomic/p-ce080a18.entry.js +0 -2
- package/dist/atomic/p-dc28e9c2.entry.js +0 -2
- package/dist/atomic/p-dc28e9c2.entry.js.map +0 -1
- package/dist/atomic/p-dfdb160b.entry.js +0 -2
- package/dist/atomic/p-dfdb160b.entry.js.map +0 -1
- package/dist/atomic/p-eeac4b29.entry.js +0 -2
- package/dist/atomic/p-f04c9eff.js +0 -2
- package/dist/atomic/p-f04c9eff.js.map +0 -1
- package/dist/atomic/p-f26872e1.entry.js +0 -2
- package/dist/atomic/p-f26872e1.entry.js.map +0 -1
- package/dist/atomic/p-f2fcc93d.entry.js +0 -2
- package/dist/atomic/p-f2fcc93d.entry.js.map +0 -1
- package/dist/atomic/p-f31ee5c2.entry.js +0 -2
- package/dist/atomic/p-f66d672c.entry.js.map +0 -1
- package/dist/atomic/p-f9aee5d1.entry.js +0 -2
- package/dist/atomic/p-fa6ae44b.entry.js +0 -2
- package/dist/cjs/atomic-numeric-range.cjs.entry.js +0 -24
- package/dist/cjs/atomic-numeric-range.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-query-error.cjs.entry.js +0 -64
- package/dist/cjs/atomic-query-error.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-result-number.cjs.entry.js +0 -87
- package/dist/cjs/atomic-result-number.cjs.entry.js.map +0 -1
- package/dist/cjs/date-utils-6d7eb0cc.js +0 -67
- package/dist/cjs/date-utils-6d7eb0cc.js.map +0 -1
- package/dist/cjs/dayjs.min-26d0825d.js +0 -15
- package/dist/cjs/dayjs.min-26d0825d.js.map +0 -1
- package/dist/cjs/generated-answer-common-c5248dd8.js.map +0 -1
- package/dist/cjs/initialization-utils-a7e710aa.js.map +0 -1
- package/dist/cjs/show-hide-button-6af56449.js.map +0 -1
- package/dist/cjs/smart-snippet-common-b1a21770.js.map +0 -1
- package/dist/cjs/smart-snippet-suggestions-common-4c88bab9.js.map +0 -1
- package/dist/esm/atomic-numeric-range.entry.js +0 -20
- package/dist/esm/atomic-numeric-range.entry.js.map +0 -1
- package/dist/esm/atomic-query-error.entry.js +0 -60
- package/dist/esm/atomic-query-error.entry.js.map +0 -1
- package/dist/esm/atomic-result-number.entry.js +0 -83
- package/dist/esm/atomic-result-number.entry.js.map +0 -1
- package/dist/esm/date-utils-00ce25c3.js +0 -64
- package/dist/esm/date-utils-00ce25c3.js.map +0 -1
- package/dist/esm/dayjs.min-fa778883.js +0 -13
- package/dist/esm/dayjs.min-fa778883.js.map +0 -1
- package/dist/esm/generated-answer-common-ea4c7577.js.map +0 -1
- package/dist/esm/initialization-utils-1ac142ee.js.map +0 -1
- package/dist/esm/show-hide-button-0e446376.js.map +0 -1
- package/dist/esm/smart-snippet-common-fa8817ae.js.map +0 -1
- package/dist/esm/smart-snippet-suggestions-common-e6dc7014.js.map +0 -1
- package/dist/types/components/search/result-template-components/atomic-result-number/atomic-result-number.d.ts +0 -27
- /package/dist/atomic/{p-d6a45f3a.entry.js.map → p-17c46f6c.entry.js.map} +0 -0
- /package/dist/atomic/{p-d2f17439.js.map → p-385d4e0d.js.map} +0 -0
- /package/dist/atomic/{p-26ca8796.entry.js.map → p-572811d4.entry.js.map} +0 -0
- /package/dist/atomic/{p-e670ca8e.js.map → p-920113d1.js.map} +0 -0
- /package/dist/atomic/{p-1666aabc.entry.js.map → p-a7064c41.entry.js.map} +0 -0
- /package/dist/atomic/{p-50d56305.entry.js.map → p-f07098d4.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAca,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACrBA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;ACZA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;ACVA;;;;;;;;;MASa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnB,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC;;;;","names":[],"sources":["src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/components/commerce/product-template-component-utils/context/fetch-product-context.ts","src/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.tsx","src/components/common/suggestions/suggestions-events.ts"],"sourcesContent":["import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n","import type {Product} from '@coveo/headless/commerce';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n","import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered \"atomic-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/components/commerce/product-template-component-utils/context/fetch-product-context.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n"],"version":3}
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAca,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACrBA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;ACZA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;ACVA;;;;;;;;;MASa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnB,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC;;;;","names":[],"sources":["src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/components/commerce/product-template-component-utils/context/fetch-product-context.ts","src/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.tsx","src/components/common/suggestions/suggestions-events.ts"],"sourcesContent":["import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n","import type {Product} from '@coveo/headless/commerce';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n","import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered \"atomic-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/components/commerce/product-template-component-utils/context/fetch-product-context.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n"],"version":3}
|
|
@@ -2,11 +2,6 @@ import { h, Host, getElement, forceUpdate } from '@stencil/core/internal/client'
|
|
|
2
2
|
import { c as closest } from './dom-utils.js';
|
|
3
3
|
import { b as buildCustomEvent } from './event-utils.js';
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated This component is no longer needed. For Lit components, render `nothing` instead.
|
|
7
|
-
*/
|
|
8
|
-
const Hidden = () => (h(Host, { class: "atomic-hidden" }));
|
|
9
|
-
|
|
10
5
|
function getWindow() {
|
|
11
6
|
return window;
|
|
12
7
|
}
|
|
@@ -45,6 +40,11 @@ function enqueueOrDispatchInitializationEvent(parent, event, element) {
|
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.
|
|
45
|
+
* @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
|
|
46
|
+
* @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
|
|
47
|
+
*/
|
|
48
48
|
function fetchBindings(element) {
|
|
49
49
|
return new Promise((resolve, reject) => {
|
|
50
50
|
const event = buildCustomEvent(initializeEventName, (bindings) => resolve(bindings));
|
|
@@ -73,13 +73,10 @@ const initializableElements = [
|
|
|
73
73
|
const initializeEventName = 'atomic/initializeComponent';
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
77
|
-
* @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
|
|
78
|
-
* @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
|
|
76
|
+
* @deprecated This component is no longer needed. For Lit components, render `nothing` instead.
|
|
79
77
|
*/
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
78
|
+
const Hidden = () => (h(Host, { class: "atomic-hidden" }));
|
|
79
|
+
|
|
83
80
|
const renderedAttribute = 'data-atomic-rendered';
|
|
84
81
|
const loadedAttribute = 'data-atomic-loaded';
|
|
85
82
|
/**
|
|
@@ -212,6 +209,6 @@ function BindStateToController(controllerProperty, options) {
|
|
|
212
209
|
};
|
|
213
210
|
}
|
|
214
211
|
|
|
215
|
-
export { BindStateToController as B, Hidden as H, InitializeBindings as I, MissingInterfaceParentError as M,
|
|
212
|
+
export { BindStateToController as B, Hidden as H, InitializeBindings as I, MissingInterfaceParentError as M, fetchBindings as f };
|
|
216
213
|
|
|
217
214
|
//# sourceMappingURL=initialization-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"initialization-utils.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/init-queue.ts","src/utils/initialization-lit-stencil-common-utils.ts","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {InitializeEventHandler} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\ndeclare global {\n interface Window {\n initQueueNamespace: {\n eventQueueMap: Map<Element, QueuedEvent[]>;\n parentReadyMap: Map<Element, boolean>;\n };\n }\n}\n\ntype QueuedEvent = {\n event: InitializeEvent;\n element: Element;\n};\n\nfunction getWindow() {\n return window;\n}\n\nfunction getInitQueueNamespace() {\n if (!getWindow().initQueueNamespace) {\n getWindow().initQueueNamespace = {\n eventQueueMap: new Map(),\n parentReadyMap: new Map(),\n };\n }\n return getWindow().initQueueNamespace;\n}\n\nfunction getEventQueueMap(): Map<Element, QueuedEvent[]> {\n return getInitQueueNamespace().eventQueueMap;\n}\n\nfunction getParentReadyMap(): Map<Element, boolean> {\n return getInitQueueNamespace().parentReadyMap;\n}\n\nexport function markParentAsReady(parent: Element) {\n const parentReadyMap = getParentReadyMap();\n parentReadyMap.set(parent, true);\n const eventQueueMap = getEventQueueMap();\n const eventQueue = eventQueueMap.get(parent) || [];\n eventQueue.reverse();\n while (eventQueue.length > 0) {\n const {event, element} = eventQueue.pop()!;\n element.dispatchEvent(event);\n }\n parent.dispatchEvent(new CustomEvent('atomic/parentReady', {bubbles: true}));\n eventQueueMap.delete(parent);\n}\n\nexport function isParentReady(parent: Element): boolean {\n const parentReadyMap = getParentReadyMap();\n return parentReadyMap.get(parent) || false;\n}\n\nexport function queueEventForParent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n const eventQueueMap = getEventQueueMap();\n if (!eventQueueMap.has(parent)) {\n eventQueueMap.set(parent, []);\n }\n eventQueueMap.get(parent)!.push({event, element});\n}\n\nexport function enqueueOrDispatchInitializationEvent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n if (isParentReady(parent)) {\n element.dispatchEvent(event);\n } else {\n queueEventForParent(parent, event, element);\n }\n}\n","import type {CoreEngine} from '@coveo/headless';\nimport type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: AnyBindings;\n};\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"version":3}
|
|
1
|
+
{"file":"initialization-utils.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/utils/init-queue.ts","src/utils/initialization-lit-stencil-common-utils.ts","src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import type {InitializeEventHandler} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\ndeclare global {\n interface Window {\n initQueueNamespace: {\n eventQueueMap: Map<Element, QueuedEvent[]>;\n parentReadyMap: Map<Element, boolean>;\n };\n }\n}\n\ntype QueuedEvent = {\n event: InitializeEvent;\n element: Element;\n};\n\nfunction getWindow() {\n return window;\n}\n\nfunction getInitQueueNamespace() {\n if (!getWindow().initQueueNamespace) {\n getWindow().initQueueNamespace = {\n eventQueueMap: new Map(),\n parentReadyMap: new Map(),\n };\n }\n return getWindow().initQueueNamespace;\n}\n\nfunction getEventQueueMap(): Map<Element, QueuedEvent[]> {\n return getInitQueueNamespace().eventQueueMap;\n}\n\nfunction getParentReadyMap(): Map<Element, boolean> {\n return getInitQueueNamespace().parentReadyMap;\n}\n\nexport function markParentAsReady(parent: Element) {\n const parentReadyMap = getParentReadyMap();\n parentReadyMap.set(parent, true);\n const eventQueueMap = getEventQueueMap();\n const eventQueue = eventQueueMap.get(parent) || [];\n eventQueue.reverse();\n while (eventQueue.length > 0) {\n const {event, element} = eventQueue.pop()!;\n element.dispatchEvent(event);\n }\n parent.dispatchEvent(new CustomEvent('atomic/parentReady', {bubbles: true}));\n eventQueueMap.delete(parent);\n}\n\nexport function isParentReady(parent: Element): boolean {\n const parentReadyMap = getParentReadyMap();\n return parentReadyMap.get(parent) || false;\n}\n\nexport function queueEventForParent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n const eventQueueMap = getEventQueueMap();\n if (!eventQueueMap.has(parent)) {\n eventQueueMap.set(parent, []);\n }\n eventQueueMap.get(parent)!.push({event, element});\n}\n\nexport function enqueueOrDispatchInitializationEvent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n if (isParentReady(parent)) {\n element.dispatchEvent(event);\n } else {\n queueEventForParent(parent, event, element);\n }\n}\n","import type {CoreEngine} from '@coveo/headless';\nimport type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: AnyBindings;\n};\n","import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"show-hide-button.js","mappings":"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","names":[],"sources":["src/components/common/item-list/item-list-decorators.tsx","src/components/common/result-children/children-wrapper.tsx","src/components/common/result-children/collection-guard.tsx","src/components/common/result-children/guard.tsx","src/components/common/result-children/show-hide-button.tsx"],"sourcesContent":["import {ComponentInterface, getElement} from '@stencil/core';\nimport {buildCustomEvent} from '../../../utils/event-utils';\n\ntype FoldedItemListContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListContextEvent =\n CustomEvent<FoldedItemListContextEventHandler>;\nconst foldedItemListContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListContext() {\n return (component: ComponentInterface, foldedList: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListContextEventName,\n (foldedItemList: unknown) => {\n this[foldedList] = foldedItemList;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n\ntype FoldedItemListStateContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListStateContextEvent =\n CustomEvent<FoldedItemListStateContextEventHandler>;\nconst foldedItemListStateContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListStateContext() {\n return (component: ComponentInterface, foldedListState: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListStateContextEventName,\n (foldedItemList: {\n subscribe: (callback: () => void) => unknown;\n state: unknown;\n }) => {\n foldedItemList?.subscribe(() => {\n this[foldedListState] = foldedItemList.state;\n });\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface ChildrenWrapperProps {\n hasChildren: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ChildrenWrapper: FunctionalComponent<ChildrenWrapperProps> = (\n {hasChildren},\n children\n) => {\n return (\n <div part=\"children-root\">\n {hasChildren && <slot name=\"before-children\"></slot>}\n {children}\n {hasChildren && <slot name=\"after-children\"></slot>}\n </div>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {ResultsPlaceholder} from '../atomic-result-placeholder/stencil-placeholders';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\nimport {ChildrenWrapper} from './children-wrapper';\n\ninterface CollectionGuardProps {\n isLoadingMoreResults: boolean;\n moreResultsAvailable: boolean;\n hasChildren: boolean;\n numberOfChildren: number;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n noResultText: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const CollectionGuard: FunctionalComponent<CollectionGuardProps> = (\n {\n isLoadingMoreResults,\n moreResultsAvailable,\n hasChildren,\n numberOfChildren,\n density,\n imageSize,\n noResultText,\n },\n children\n) => {\n if (isLoadingMoreResults) {\n return (\n <ChildrenWrapper hasChildren={hasChildren}>\n <ResultsPlaceholder\n numberOfPlaceholders={numberOfChildren}\n density={density}\n display={'list'}\n imageSize={imageSize}\n />\n </ChildrenWrapper>\n );\n }\n\n if (!moreResultsAvailable && !hasChildren) {\n return noResultText.trim().length ? (\n <p part=\"no-result-root\" class=\"no-result-root my-3\">\n {noResultText}\n </p>\n ) : null;\n }\n\n if (!hasChildren) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface ResultChildrenGuardProps {\n inheritTemplates: boolean;\n resultTemplateRegistered: boolean;\n templateHasError: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultChildrenGuard: FunctionalComponent<\n ResultChildrenGuardProps\n> = (\n {inheritTemplates, resultTemplateRegistered, templateHasError},\n children\n) => {\n if (!inheritTemplates && !resultTemplateRegistered) {\n return;\n }\n\n if (!inheritTemplates && templateHasError) {\n return <slot></slot>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface ShowHideButtonProps {\n moreResultsAvailable: boolean;\n loadFullCollection: () => void;\n showInitialChildren: boolean;\n toggleShowInitialChildren: () => void;\n loadAllResults: string;\n collapseResults: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ShowHideButton: FunctionalComponent<ShowHideButtonProps> = ({\n moreResultsAvailable,\n loadFullCollection,\n showInitialChildren,\n toggleShowInitialChildren,\n loadAllResults,\n collapseResults,\n}) => {\n return (\n <Button\n part=\"show-hide-button\"\n class=\"show-hide-button\"\n style=\"text-primary\"\n onClick={() => {\n if (moreResultsAvailable) {\n loadFullCollection();\n toggleShowInitialChildren();\n }\n\n toggleShowInitialChildren();\n }}\n >\n {showInitialChildren || moreResultsAvailable\n ? loadAllResults\n : collapseResults}\n </Button>\n );\n};\n"],"version":3}
|
|
1
|
+
{"file":"show-hide-button.js","mappings":"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","names":[],"sources":["src/components/common/item-list/item-list-decorators.tsx","src/components/common/result-children/stencil-children-wrapper.tsx","src/components/common/result-children/collection-guard.tsx","src/components/common/result-children/stencil-guard.tsx","src/components/common/result-children/show-hide-button.tsx"],"sourcesContent":["import {ComponentInterface, getElement} from '@stencil/core';\nimport {buildCustomEvent} from '../../../utils/event-utils';\n\ntype FoldedItemListContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListContextEvent =\n CustomEvent<FoldedItemListContextEventHandler>;\nconst foldedItemListContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListContext() {\n return (component: ComponentInterface, foldedList: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListContextEventName,\n (foldedItemList: unknown) => {\n this[foldedList] = foldedItemList;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n\ntype FoldedItemListStateContextEventHandler = (foldedItemList: unknown) => void;\nexport type FoldedItemListStateContextEvent =\n CustomEvent<FoldedItemListStateContextEventHandler>;\nconst foldedItemListStateContextEventName = 'atomic/resolveFoldedResultList';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for elements nested within a folded item list.\n * This allows the Stencil component to modify the folded item list rendered levels.\n */\nexport function FoldedItemListStateContext() {\n return (component: ComponentInterface, foldedListState: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n foldedItemListStateContextEventName,\n (foldedItemList: {\n subscribe: (callback: () => void) => unknown;\n state: unknown;\n }) => {\n foldedItemList?.subscribe(() => {\n this[foldedListState] = foldedItemList.state;\n });\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface ChildrenWrapperProps {\n hasChildren: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ChildrenWrapper: FunctionalComponent<ChildrenWrapperProps> = (\n {hasChildren},\n children\n) => {\n return (\n <div part=\"children-root\">\n {hasChildren && <slot name=\"before-children\"></slot>}\n {children}\n {hasChildren && <slot name=\"after-children\"></slot>}\n </div>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {ResultsPlaceholder} from '../atomic-result-placeholder/stencil-placeholders';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\nimport {ChildrenWrapper} from './stencil-children-wrapper';\n\ninterface CollectionGuardProps {\n isLoadingMoreResults: boolean;\n moreResultsAvailable: boolean;\n hasChildren: boolean;\n numberOfChildren: number;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n noResultText: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const CollectionGuard: FunctionalComponent<CollectionGuardProps> = (\n {\n isLoadingMoreResults,\n moreResultsAvailable,\n hasChildren,\n numberOfChildren,\n density,\n imageSize,\n noResultText,\n },\n children\n) => {\n if (isLoadingMoreResults) {\n return (\n <ChildrenWrapper hasChildren={hasChildren}>\n <ResultsPlaceholder\n numberOfPlaceholders={numberOfChildren}\n density={density}\n display={'list'}\n imageSize={imageSize}\n />\n </ChildrenWrapper>\n );\n }\n\n if (!moreResultsAvailable && !hasChildren) {\n return noResultText.trim().length ? (\n <p part=\"no-result-root\" class=\"no-result-root my-3\">\n {noResultText}\n </p>\n ) : null;\n }\n\n if (!hasChildren) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface ResultChildrenGuardProps {\n inheritTemplates: boolean;\n resultTemplateRegistered: boolean;\n templateHasError: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultChildrenGuard: FunctionalComponent<\n ResultChildrenGuardProps\n> = (\n {inheritTemplates, resultTemplateRegistered, templateHasError},\n children\n) => {\n if (!inheritTemplates && !resultTemplateRegistered) {\n return;\n }\n\n if (!inheritTemplates && templateHasError) {\n return <slot></slot>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface ShowHideButtonProps {\n moreResultsAvailable: boolean;\n loadFullCollection: () => void;\n showInitialChildren: boolean;\n toggleShowInitialChildren: () => void;\n loadAllResults: string;\n collapseResults: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ShowHideButton: FunctionalComponent<ShowHideButtonProps> = ({\n moreResultsAvailable,\n loadFullCollection,\n showInitialChildren,\n toggleShowInitialChildren,\n loadAllResults,\n collapseResults,\n}) => {\n return (\n <Button\n part=\"show-hide-button\"\n class=\"show-hide-button\"\n style=\"text-primary\"\n onClick={() => {\n if (moreResultsAvailable) {\n loadFullCollection();\n toggleShowInitialChildren();\n }\n\n toggleShowInitialChildren();\n }}\n >\n {showInitialChildren || moreResultsAvailable\n ? loadAllResults\n : collapseResults}\n </Button>\n );\n};\n"],"version":3}
|
|
@@ -40,7 +40,7 @@ const SmartSnippetFeedbackBanner = (props) => {
|
|
|
40
40
|
* @deprecated should only be used for Stencil components.
|
|
41
41
|
*/
|
|
42
42
|
const SmartSnippetWrapper = ({ headingLevel, i18n }, children) => {
|
|
43
|
-
return (h("aside",
|
|
43
|
+
return (h("aside", { "aria-label": i18n.t('smart-snippet') },
|
|
44
44
|
h(Heading, { level: headingLevel ?? 0, class: "sr-only" }, i18n.t('smart-snippet')),
|
|
45
45
|
h("article", { class: "bg-background border-neutral text-on-background rounded-lg border p-6 pb-4", part: "smart-snippet" }, children)));
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"smart-snippet-common.js","mappings":"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
|
|
1
|
+
{"file":"smart-snippet-common.js","mappings":"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","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.tsx","src/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Checkmark from '../../../images/checkmark.svg';\nimport Cross from '../../../images/cross.svg';\nimport {Button} from '../stencil-button';\nimport {RadioButton} from '../stencil-radio-button';\n\ninterface SmartSnippetFeedbackBannerProps {\n i18n: i18n;\n id: string;\n liked: boolean;\n disliked: boolean;\n feedbackSent: boolean;\n onLike(): void;\n onDislike(): void;\n onPressExplainWhy(): void;\n explainWhyRef?(element?: HTMLButtonElement): void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackBanner: FunctionalComponent<\n SmartSnippetFeedbackBannerProps\n> = (props) => {\n const inquiryId = 'feedback-inquiry-' + props.id;\n const thankYouId = 'feedback-thank-you-' + props.id;\n const radioGroupName = 'feedback-options-' + props.id;\n\n const Inquiry = () => (\n <span id={inquiryId} part=\"feedback-inquiry\" class=\"shrink-0\">\n {props.i18n.t('smart-snippet-feedback-inquiry')}\n </span>\n );\n\n const Buttons = () => (\n <div part=\"feedback-buttons\" class=\"flex gap-x-4\">\n <label\n part=\"feedback-like-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.liked ? 'text-success' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Checkmark} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('yes')}\n checked={props.liked}\n onChecked={() => props.onLike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n <label\n part=\"feedback-dislike-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.disliked ? 'text-error' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Cross} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('no')}\n checked={props.disliked}\n onChecked={() => props.onDislike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n </div>\n );\n\n const ThankYouMessage = () => (\n <span id={thankYouId} part=\"feedback-thank-you\" class=\"inline-flex\">\n {props.i18n.t('smart-snippet-feedback-thanks')}\n </span>\n );\n\n const ExplainWhyButton = () => (\n <Button\n part=\"feedback-explain-why-button\"\n style=\"text-primary\"\n onClick={() => props.onPressExplainWhy()}\n ref={(element) => props.explainWhyRef?.(element)}\n >\n {props.i18n.t('smart-snippet-feedback-explain-why')}\n </Button>\n );\n\n const ThankYouContainer = ({visible}: {visible: boolean}) =>\n visible ? (\n <div part=\"feedback-thank-you-wrapper\" class=\"flex flex-wrap gap-1\">\n <ThankYouMessage></ThankYouMessage>\n {props.disliked && !props.feedbackSent ? (\n <ExplainWhyButton></ExplainWhyButton>\n ) : (\n []\n )}\n </div>\n ) : (\n []\n );\n\n return (\n <div\n part=\"feedback-banner\"\n class=\"flex flex-wrap items-center gap-4 text-sm leading-4\"\n >\n <div\n part=\"feedback-inquiry-and-buttons\"\n role=\"radiogroup\"\n aria-labelledby={inquiryId}\n class=\"inline-flex flex-wrap gap-4\"\n >\n <Inquiry></Inquiry>\n <Buttons></Buttons>\n </div>\n <ThankYouContainer\n visible={props.liked || props.disliked}\n ></ThankYouContainer>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Heading} from '../../stencil-heading';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetWrapper: FunctionalComponent<{\n headingLevel?: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside aria-label={i18n.t('smart-snippet')}>\n <Heading level={headingLevel ?? 0} class=\"sr-only\">\n {i18n.t('smart-snippet')}\n </Heading>\n <article\n class=\"bg-background border-neutral text-on-background rounded-lg border p-6 pb-4\"\n part=\"smart-snippet\"\n >\n {children}\n </article>\n </aside>\n );\n};\n\ninterface SmartSnippetQuestionProps {\n headingLevel?: number;\n question: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetQuestion: FunctionalComponent<SmartSnippetQuestionProps> = ({headingLevel, question}) => {\n return (\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"text-xl font-bold\"\n part=\"question\"\n >\n {question}\n </Heading>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetTruncatedAnswer: FunctionalComponent<{\n answer: string;\n style?: string;\n}> = ({answer, style}) => {\n return (\n <div part=\"truncated-answer\">\n <atomic-smart-snippet-answer\n exportparts=\"answer\"\n part=\"body\"\n htmlContent={answer}\n innerStyle={style}\n ></atomic-smart-snippet-answer>\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFooter: FunctionalComponent<{i18n: i18n}> = (\n {i18n},\n children\n) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n"],"version":3}
|
|
@@ -6,7 +6,7 @@ import { H as Heading } from './stencil-heading.js';
|
|
|
6
6
|
* @deprecated should only be used for Stencil components.
|
|
7
7
|
*/
|
|
8
8
|
const SmartSnippetSuggestionsWrapper = ({ headingLevel, i18n }, children) => {
|
|
9
|
-
return (h("aside", { part: "container", class: "bg-background border-neutral text-on-background overflow-hidden rounded-lg border" },
|
|
9
|
+
return (h("aside", { part: "container", class: "bg-background border-neutral text-on-background overflow-hidden rounded-lg border", "aria-label": i18n.t('smart-snippet-people-also-ask') },
|
|
10
10
|
h(Heading, { level: headingLevel, part: "heading", class: "border-neutral border-b px-6 py-4 text-xl leading-8" }, i18n.t('smart-snippet-people-also-ask')),
|
|
11
11
|
h("ul", { part: "questions", class: "divide-neutral divide-y" }, children)));
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"smart-snippet-suggestions-common.js","mappings":";;;;AAKA;;;MAGa,8BAA8B,GAGtC,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,EAAE,QAAQ;IAClC,QACE,aACE,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,mFAAmF;
|
|
1
|
+
{"file":"smart-snippet-suggestions-common.js","mappings":";;;;AAKA;;;MAGa,8BAA8B,GAGtC,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,EAAE,QAAQ;IAClC,QACE,aACE,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,mFAAmF,gBAC7E,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC;QAEnD,EAAC,OAAO,IACN,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,qDAAqD,IAE1D,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAChC;QACV,UAAI,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,yBAAyB,IACjD,QAAQ,CACN,CACC,EACR;AACJ,EAAE;AAEF;;;MAGa,sCAAsC,GAG9C,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,EAAE,QAAQ;IAC7B,QACE,UACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,mBAAmB,QAAQ,GAAG,UAAU,GAAG,WAAW,EAAE,EAC9D,KAAK,EAAC,eAAe;QAErB,eAAS,KAAK,EAAC,UAAU,IAAE,QAAQ,CAAW,CAC3C,EACL;AACJ,EAAE;AAEF;;;MAGa,+BAA+B,GAMvC,CACH,EAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAC,EACzD,UAAU;IAEV,QACE,EAAC,MAAM,IACL,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACzC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,wBAAwB,EAC9B,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC3C,YAAY,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;QAEhD,UAAU;QACX,EAAC,OAAO,IACN,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,EAC1C,KAAK,EAAC,kCAAkC,EACxC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,IAEtC,QAAQ,CACD,CACH,EACT;AACJ,EAAE;AAEF;;;MAGa,6CAA6C,GAGrD,CAAC,EAAC,EAAE,EAAC,EAAE,QAAQ;IAClB,QACE,WAAK,IAAI,EAAC,mBAAmB,EAAC,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,EAAE,IACzD,QAAQ,CACL,EACN;AACJ,EAAE;AAEF;;;MAGa,6BAA6B,GAErC,CAAC,EAAC,IAAI,EAAC,EAAE,QAAQ;IACpB,QACE,cAAQ,IAAI,EAAC,QAAQ,gBAAa,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAC7D,QAAQ,CACF,EACT;AACJ,EAAE;AAEF;;;MAGa,eAAe,GAAG,CAAC,IAAY,EAAE,QAAiB,KAC7D,YAAY,IAAI,IAAI,QAAQ,GAAG,UAAU,GAAG,WAAW;;;;","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\nimport {Heading} from '../../stencil-heading';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsWrapper: FunctionalComponent<{\n headingLevel: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside\n part=\"container\"\n class=\"bg-background border-neutral text-on-background overflow-hidden rounded-lg border\"\n aria-label={i18n.t('smart-snippet-people-also-ask')}\n >\n <Heading\n level={headingLevel}\n part=\"heading\"\n class=\"border-neutral border-b px-6 py-4 text-xl leading-8\"\n >\n {i18n.t('smart-snippet-people-also-ask')}\n </Heading>\n <ul part=\"questions\" class=\"divide-neutral divide-y\">\n {children}\n </ul>\n </aside>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsQuestionWrapper: FunctionalComponent<{\n expanded: boolean;\n key: string;\n}> = ({expanded, key}, children) => {\n return (\n <li\n key={key}\n part={`question-answer-${expanded ? 'expanded' : 'collapsed'}`}\n class=\"flex flex-col\"\n >\n <article class=\"contents\">{children}</article>\n </li>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsQuestion: FunctionalComponent<{\n ariaControls: string;\n expanded: boolean;\n headingLevel?: number;\n onClick: (event: MouseEvent) => void;\n question: string;\n}> = (\n {ariaControls, expanded, headingLevel, onClick, question},\n atomicIcon\n) => {\n return (\n <Button\n style=\"text-neutral\"\n part={getQuestionPart('button', expanded)}\n onClick={onClick}\n class=\"flex items-center px-4\"\n ariaExpanded={expanded ? 'true' : undefined}\n ariaControls={expanded ? ariaControls : undefined}\n >\n {atomicIcon}\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"py-4 text-left text-xl font-bold\"\n part={getQuestionPart('text', expanded)}\n >\n {question}\n </Heading>\n </Button>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsAnswerAndSourceWrapper: FunctionalComponent<{\n expanded: boolean;\n id: string;\n}> = ({id}, children) => {\n return (\n <div part=\"answer-and-source\" class=\"pr-6 pb-6 pl-10\" id={id}>\n {children}\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsFooter: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const getQuestionPart = (base: string, expanded: boolean) =>\n `question-${base}-${expanded ? 'expanded' : 'collapsed'}`;\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"stencil-suggestion-manager.js","mappings":"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","names":[],"sources":["src/components/common/suggestions/suggestions-utils.ts","src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import type {SearchBoxSuggestionElement} from './suggestions-types';\n\n/**\n * Checks if a search box suggestion element has no query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has no query or the query is whitespace-only\n */\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement): boolean {\n return !el.query || el.query.trim() === '';\n}\n\n/**\n * Checks if a search box suggestion element has a query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has a non-empty, non-whitespace query\n */\nexport function elementHasQuery(el: SearchBoxSuggestionElement): boolean {\n return !!el.query && el.query.trim() !== '';\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-searchbox')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\n\n/**\n * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value, the lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the current suggested query changes as the user navigates the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"stencil-suggestion-manager.js","mappings":"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","names":[],"sources":["src/components/common/suggestions/suggestions-utils.ts","src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import type {SearchBoxSuggestionElement} from './suggestions-types';\n\n/**\n * Checks if a search box suggestion element has no query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has no query or the query is whitespace-only\n */\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement): boolean {\n return !el.query || el.query.trim() === '';\n}\n\n/**\n * Checks if a search box suggestion element has a query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has a non-empty, non-whitespace query\n */\nexport function elementHasQuery(el: SearchBoxSuggestionElement): boolean {\n return !!el.query && el.query.trim() !== '';\n}\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-searchbox')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\n\n/**\n * List of suggestions that will be displayed along other lists (for example, recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value, the lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the current suggested query changes as the user navigates the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import dayjs from 'dayjs';
|
|
2
|
-
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
1
|
+
import dayjs from 'dayjs/esm/index.js';
|
|
2
|
+
import customParseFormat from 'dayjs/esm/plugin/customParseFormat';
|
|
3
3
|
dayjs.extend(customParseFormat);
|
|
4
4
|
export function parseDate(date) {
|
|
5
5
|
return dayjs(date);
|
|
@@ -10,10 +10,10 @@ export function parseDate(date) {
|
|
|
10
10
|
* @function
|
|
11
11
|
* @param {number} timestamp - The timestamp in milliseconds since January 1, 1970 (epoch time).
|
|
12
12
|
* @returns {Object} An object containing the following date details:
|
|
13
|
-
* - {number} year - The four-digit year (
|
|
14
|
-
* - {string} month - The full name of the month (
|
|
15
|
-
* - {string} dayOfWeek - The abbreviated name of the day of the week (
|
|
16
|
-
* - {number} day - The day of the month (
|
|
13
|
+
* - {number} year - The four-digit year (for example, 2024).
|
|
14
|
+
* - {string} month - The full name of the month (for example, "August").
|
|
15
|
+
* - {string} dayOfWeek - The abbreviated name of the day of the week (for example, "Mon").
|
|
16
|
+
* - {number} day - The day of the month (for example, 26).
|
|
17
17
|
* - {number} hours - The hour of the day in 24-hour format (0-23).
|
|
18
18
|
* - {number} minutes - The minutes of the hour (0-59).
|
|
19
19
|
*/
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { closest } from './dom-utils';
|
|
2
2
|
import { buildCustomEvent } from './event-utils';
|
|
3
3
|
import { enqueueOrDispatchInitializationEvent } from './init-queue';
|
|
4
|
+
/**
|
|
5
|
+
* Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.
|
|
6
|
+
* @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
|
|
7
|
+
* @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
|
|
8
|
+
*/
|
|
4
9
|
export function fetchBindings(element) {
|
|
5
10
|
return new Promise((resolve, reject) => {
|
|
6
11
|
const event = buildCustomEvent(initializeEventName, (bindings) => resolve(bindings));
|