@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":"atomic-rating-range-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.pcss?tag=atomic-rating-range-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/stencil-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).\n * An `atomic-rating-range-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n */\n@Component({\n tag: 'atomic-rating-range-facet',\n styleUrl: 'atomic-rating-range-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingRangeFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. This property will default to the same value as `numberOfIntervals`, if not assigned a value.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-range-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-range-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget() {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n !this.valuesToRender.length ||\n this.searchStatusState.hasError ||\n !this.facet.state.enabled\n );\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round(this.maxValueInIndex * 100) / 100,\n endInclusive: true,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {\n count: facetValue.start,\n });\n }\n return this.bindings.i18n.t('stars-range', {\n value: facetValue.start,\n count: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <div class=\"flex items-center\">\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n {this.renderLabelText(facetValue)}\n </div>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderLabelText(facetValue: NumericFacetValue) {\n return (\n <span\n part=\"value-label\"\n class={`group-focus:text-primary group-hover:text-primary ml-1 flex items-center truncate ${\n facetValue.state === 'selected' ? 'font-bold' : ''\n }`}\n >\n {facetValue.start === this.maxValueInIndex ? (\n <span>{this.bindings.i18n.t('only')}</span>\n ) : (\n this.bindings.i18n.t('and-up')\n )}\n </span>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-rating-range-facet.entry.cjs.js","mappings":"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","names":["Star","FocusTargetController","buildSearchStatus","buildTabManager","buildNumericFacet","initializePopover","buildFacetConditionsManager","parseDependsOn","buildNumericRange","h","Rating","FacetHeader","FacetValueLink","FacetValuesGroup","Hidden","FacetPlaceholder","FacetContainer","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.pcss?tag=atomic-rating-range-facet&encapsulation=shadow","src/components/search/facets/atomic-rating-range-facet/atomic-rating-range-facet.tsx"],"sourcesContent":["@import '../../../common/facets/facet-common.pcss';\n@import '../../../common/atomic-rating/atomic-rating.pcss';\n","import {\n NumericFacet,\n buildNumericFacet,\n NumericFacetState,\n NumericFacetOptions,\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n NumericFacetValue,\n NumericRangeRequest,\n buildNumericRange,\n buildFacetConditionsManager,\n FacetConditionsManager,\n FacetValueRequest,\n CategoryFacetValueRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, VNode, Element} from '@stencil/core';\nimport Star from '../../../../images/star.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {Rating} from '../../../common/atomic-rating/stencil-rating';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {FacetValueLink} from '../../../common/facets/facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (for example, number of occurrences).\n * An `atomic-rating-range-facet` displays a facet of the results for the current query as ratings.\n * It only supports numeric fields.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and toggles to expand or collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n * @part value-rating - The facet value rating, common for all displays.\n * @part value-rating-icon - The individual star icons used in the rating display.\n *\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n * @part value-box - The facet value when display is 'box'.\n * @part value-box-selected - The selected facet value when display is 'box'.\n */\n@Component({\n tag: 'atomic-rating-range-facet',\n styleUrl: 'atomic-rating-range-facet.pcss',\n shadow: true,\n})\nexport class AtomicRatingRangeFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facet!: NumericFacet;\n private dependenciesManager?: FacetConditionsManager;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n\n @BindStateToController('facet')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * The number of options to display in the facet. If `maxValueInIndex` isn't specified, it will be assumed that this is also the maximum number of rating icons.\n */\n @Prop({reflect: true}) public numberOfIntervals = 5;\n /**\n * The maximum value in the field's index and the number of rating icons to display in the facet. This property will default to the same value as `numberOfIntervals`, if not assigned a value.\n */\n @Prop({reflect: true}) public maxValueInIndex = this.numberOfIntervals;\n /**\n * The minimum value of the field.\n */\n @Prop({reflect: true}) public minValueInIndex = 1;\n /**\n * The SVG icon to use to display the rating.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly.\n *\n * When using a custom icon, at least part of your icon should have the color set to `fill=\"currentColor\"`.\n * This part of the SVG will take on the colors set in the following [variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties):\n *\n * - `--atomic-rating-icon-active-color`\n * - `--atomic-rating-icon-inactive-color`\n */\n @Prop({reflect: true}) public icon = Star;\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc\n * ...\n * ></atomic-rating-range-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-rating-range-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-rating-range-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget() {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.initializeFacet();\n this.initializeDependenciesManager();\n }\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.dependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return (\n !this.valuesToRender.length ||\n this.searchStatusState.hasError ||\n !this.facet.state.enabled\n );\n }\n\n private initializeFacet() {\n const options: NumericFacetOptions = {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfIntervals,\n currentValues: this.generateCurrentValues(),\n sortCriteria: 'descending',\n generateAutomaticRanges: false,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n this.facet = buildNumericFacet(this.bindings.engine, {options});\n this.facetId = this.facet.state.facetId;\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n content: (value) => this.ratingContent(value),\n });\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => !!this.valuesToRender.length,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n }\n\n private get scaleFactor() {\n return this.maxValueInIndex / this.numberOfIntervals;\n }\n\n private get numberOfSelectedValues() {\n return this.facetState.values.filter(({state}) => state === 'selected')\n .length;\n }\n\n private initializeDependenciesManager() {\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n private generateCurrentValues() {\n const currentValues: NumericRangeRequest[] = [];\n for (let i = this.minValueInIndex; i <= this.numberOfIntervals; i++) {\n currentValues.push(\n buildNumericRange({\n start: Math.round(i * this.scaleFactor * 100) / 100,\n end: Math.round(this.maxValueInIndex * 100) / 100,\n endInclusive: true,\n })\n );\n }\n return currentValues;\n }\n\n private formatFacetValue(facetValue: NumericFacetValue) {\n if (facetValue.start === this.maxValueInIndex) {\n return this.bindings.i18n.t('stars-only', {\n count: facetValue.start,\n });\n }\n return this.bindings.i18n.t('stars-range', {\n value: facetValue.start,\n count: this.maxValueInIndex,\n });\n }\n\n private ratingContent(facetValue: NumericFacetValue) {\n return (\n <div class=\"flex items-center\">\n <Rating\n i18n={this.bindings.i18n}\n numberOfTotalIcons={this.maxValueInIndex}\n numberOfActiveIcons={facetValue.start}\n icon={this.icon}\n ></Rating>\n {this.renderLabelText(facetValue)}\n </div>\n );\n }\n\n private renderHeader() {\n return (\n <FacetHeader\n i18n={this.bindings.i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n this.facet.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderLabelText(facetValue: NumericFacetValue) {\n return (\n <span\n part=\"value-label\"\n class={`group-focus:text-primary group-hover:text-primary ml-1 flex items-center truncate ${\n facetValue.state === 'selected' ? 'font-bold' : ''\n }`}\n >\n {facetValue.start === this.maxValueInIndex ? (\n <span>{this.bindings.i18n.t('only')}</span>\n ) : (\n this.bindings.i18n.t('and-up')\n )}\n </span>\n );\n }\n\n private renderValue(facetValue: NumericFacetValue, onClick: () => void) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n return (\n <FacetValueLink\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n >\n {this.ratingContent(facetValue)}\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private get valuesToRender() {\n return this.facet.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n );\n }\n\n public render() {\n if (this.searchStatusState.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatusState.firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.numberOfIntervals}\n isCollapsed={this.isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.valuesToRender.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader()}\n {!this.isCollapsed && this.renderValues()}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
|
@@ -5,11 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const bueno = require('@coveo/bueno');
|
|
7
7
|
const recommendation = require('@coveo/headless/recommendation');
|
|
8
|
-
const initializationUtils = require('./initialization-utils-
|
|
8
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
9
9
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-6311883f.js');
|
|
10
10
|
const stencilLink = require('./stencil-link-20830f66.js');
|
|
11
11
|
require('./dom-utils-d4790328.js');
|
|
12
12
|
require('./event-utils-9bfcf3c5.js');
|
|
13
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
13
14
|
require('./utils-39abd753.js');
|
|
14
15
|
require('./purify-d8fb6acd.js');
|
|
15
16
|
require('./_commonjsHelpers-68cdf74f.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-recs-error.entry.cjs.js","mappings":"
|
|
1
|
+
{"file":"atomic-recs-error.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,svjEAAsvjE,CAAC;AAClxjE,8BAAe,kBAAkB;;;;;;;;;;;;MCuCpB,eAAe;;;QAQjB,iBAAY,GAAG,KAAK,CAAC;;;4BAAN,KAAK;;IAKtB,UAAU;QACf,IAAI,CAAC,kBAAkB,GAAGA,sCAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzE;IAEM,MAAM;QACX,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAE7C,MAAM,EACJ,QAAQ,EAAE,EACR,IAAI,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,EACL,aAAa,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,GAC7C,GACF,GACF,GACF,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAGC,sCAAuB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,CAACC,uBAAiB,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,GAAGC,uCAA2B,CAC5C,IAAI,EACJ,cAAc,EACd,GAAG,EACH,KAAK,EAAE,IAAI,CACZ,CAAC;SACH;QAED,QACEC,QAACC,2BAAe,qDAAC,QAAQ,EAAE,QAAQ,IACjCD,QAACE,+BAAmB,uDAClBF,QAACG,0BAAc,qDAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC1CH,QAACI,2BAAe,qDAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,EAC/DJ,QAACK,iCAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACR,EACFL,QAACM,8BAAkB,qDACjB,IAAI,EAAEN,QAACO,0BAAc,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC5D,UAAU,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1D,IAAI,EAAE,IAAI,GACV,EACFP,QAACQ,6BAAiB,qDAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,GAAI,CACxC,CACN,EAClB;KACH;;AA5D4B;IAA5BC,sCAAkB,EAAE;iDAAgC;AAK9C;IAFNC,yCAAqB,CAAC,oBAAoB,CAAC;gEAEa;AAK/C;IADTC,wCAAc,CAAC,YAAY,CAAC;oDACE;;;;;","names":["buildRecommendationList","getOrganizationEndpoint","isNullOrUndefined","getAriaMessageFromErrorType","h","QueryErrorGuard","QueryErrorContainer","QueryErrorIcon","QueryErrorTitle","QueryErrorDescription","QueryErrorShowMore","QueryErrorLink","QueryErrorDetails","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/recommendations/atomic-recs-error/atomic-recs-error.pcss?tag=atomic-recs-error&encapsulation=shadow","src/components/recommendations/atomic-recs-error/atomic-recs-error.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n buildRecommendationList,\n getOrganizationEndpoint,\n RecommendationList,\n RecommendationListState,\n} from '@coveo/headless/recommendation';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {QueryErrorDetails} from '../../common/query-error/stencil-details';\nimport {QueryErrorIcon} from '../../common/query-error/stencil-icon';\nimport {QueryErrorShowMore} from '../../common/query-error/stencil-show-more';\nimport {QueryErrorContainer} from '../../common/query-error/stencil-container';\nimport {QueryErrorDescription} from '../../common/query-error/stencil-description';\nimport {QueryErrorGuard} from '../../common/query-error/stencil-guard';\nimport {QueryErrorTitle} from '../../common/query-error/stencil-title';\nimport {getAriaMessageFromErrorType} from '../../common/query-error/utils';\nimport {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface';\nimport {QueryErrorLink} from '../../common/query-error/stencil-link';\n\n/**\n * The `atomic-recs-error` component handles fatal errors when performing a recommendations request on the index or Search API. When the error is known, it displays a link to relevant documentation link for debugging purposes. When the error is unknown, it displays a small text area with the JSON content of the error.\n *\n * @part icon - The svg related to the error.\n * @part title - The title of the error.\n * @part description - A description of the error.\n * @part doc-link - A link to the relevant documentation.\n * @part more-info-btn - A button to request additional error information.\n * @part error-info - Additional error information.\n */\n@Component({\n tag: 'atomic-recs-error',\n styleUrl: 'atomic-recs-error.pcss',\n shadow: true,\n})\nexport class AtomicRecsError implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n @State() public error!: Error;\n @State() showMoreInfo = false;\n\n @AriaLiveRegion('recs-error')\n protected ariaMessage!: string;\n\n public initialize() {\n this.recommendationList = buildRecommendationList(this.bindings.engine);\n }\n\n public render() {\n const {error} = this.recommendationListState;\n\n const {\n bindings: {\n i18n,\n engine: {\n state: {\n configuration: {organizationId, environment},\n },\n },\n },\n } = this;\n const url = getOrganizationEndpoint(organizationId, environment);\n const hasError = !isNullOrUndefined(error);\n\n if (hasError) {\n this.ariaMessage = getAriaMessageFromErrorType(\n i18n,\n organizationId,\n url,\n error?.type\n );\n }\n\n return (\n <QueryErrorGuard hasError={hasError}>\n <QueryErrorContainer>\n <QueryErrorIcon errorType={error?.type} />\n <QueryErrorTitle i18n={i18n} organizationId={organizationId} />\n <QueryErrorDescription\n i18n={i18n}\n organizationId={organizationId}\n url={url}\n />\n <QueryErrorShowMore\n link={<QueryErrorLink i18n={i18n} errorType={error?.type} />}\n onShowMore={() => (this.showMoreInfo = !this.showMoreInfo)}\n i18n={i18n}\n />\n <QueryErrorDetails error={error} show={this.showMoreInfo} />\n </QueryErrorContainer>\n </QueryErrorGuard>\n );\n }\n}\n"],"version":3}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const bueno = require('@coveo/bueno');
|
|
7
7
|
const recommendation = require('@coveo/headless/recommendation');
|
|
8
|
-
const initializationUtils = require('./initialization-utils-
|
|
8
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
9
9
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-6311883f.js');
|
|
10
10
|
const utils = require('./utils-39abd753.js');
|
|
11
11
|
const resultTemplateProvider = require('./result-template-provider-c764201d.js');
|
|
@@ -17,6 +17,7 @@ const displayOptions = require('./display-options-4361ede7.js');
|
|
|
17
17
|
const stencilHeading = require('./stencil-heading-8a52dac8.js');
|
|
18
18
|
require('./dom-utils-d4790328.js');
|
|
19
19
|
require('./event-utils-9bfcf3c5.js');
|
|
20
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
20
21
|
require('./purify-d8fb6acd.js');
|
|
21
22
|
require('./_commonjsHelpers-68cdf74f.js');
|
|
22
23
|
require('@coveo/headless');
|
|
@@ -93,7 +94,7 @@ const AtomicRecsList = class {
|
|
|
93
94
|
}
|
|
94
95
|
/**
|
|
95
96
|
* Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
|
|
96
|
-
* You can use this function while working with web frameworks that don't use plain HTML syntax
|
|
97
|
+
* You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.
|
|
97
98
|
*
|
|
98
99
|
* Do not use this method if you integrate Atomic in a plain HTML deployment.
|
|
99
100
|
*
|
|
@@ -262,7 +263,7 @@ const AtomicRecsList = class {
|
|
|
262
263
|
}))));
|
|
263
264
|
}
|
|
264
265
|
render() {
|
|
265
|
-
return (index.h(index.Fragment, { key: '
|
|
266
|
+
return (index.h(index.Fragment, { key: '66d1ca70390b8a4c934ae20211d2d04833560fa3' }, this.renderHeading(), this.shouldRenderPagination ? (index.h(stencilCarousel.Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
|
|
266
267
|
}
|
|
267
268
|
get host() { return index.getElement(this); }
|
|
268
269
|
static get watchers() { return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-recs-list.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,iBAAiB,GAAG,y39EAAy39E,CAAC;AACp59E,6BAAe,iBAAiB;;;;;;;;;;;;MCgEnB,cAAc;;;QAGjB,gBAAW,GAAGA,cAAQ,CAAC,4BAA4B,CAAC,CAAC;QAS5C,gBAAW,GAAG,KAAK,CAAC;QAEpB,6BAAwB,GAAG,KAAK,CAAC;QACjC,qBAAgB,GAAG,KAAK,CAAC;QACzB,gBAAW,GAAG,CAAC,CAAC;;;;;QASH,mBAAc,GAAG,gBAAgB,CAAC;;;;;QAMlC,YAAO,GAA2B,MAAM,CAAC;;;;QAIzC,YAAO,GAAuB,QAAQ,CAAC;;;;QAK9D,cAAS,GAAyB,OAAO,CAAC;;;;;QAMnB,4BAAuB,GAAG,EAAE,CAAC;;;;QAiB7B,iBAAY,GAAG,CAAC,CAAC;;2BAnDhB,KAAK;wCAEQ,KAAK;gCACb,KAAK;2BACV,CAAC;;8BASe,gBAAgB;uBAMC,MAAM;uBAIV,QAAQ;yBAK3B,OAAO;uCAMQ,EAAE;;;4BAiBb,CAAC;;IAGvC,MAAM,mCAAmC;QAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;KACtB;;;;;;;;;IAUgB,MAAM,iBAAiB,CACtC,uBAA8C;QAE9C,IAAI,CAAC,qBAAqB,GAAG,uBAAuB,CAAC;KACtD;;;;IAKgB,MAAM,YAAY;QACjC,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;KAC5E;;;;IAKgB,MAAM,QAAQ;QAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;KAChE;IAEM,UAAU;QACf,IAAI,CAAC,sCAAsC,EAAE,CAAC;QAC9C,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAGC,sCAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtE,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;aACtD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,IAAIC,6CAAsB,CAAC;YACrD,sBAAsB,EAAE,IAAI;YAC5B,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAC1D;YACD,2BAA2B,EAAE,MAAM,IAAI,CAAC,wBAAwB;YAChE,mBAAmB,EAAE,MAAM,IAAI,CAAC,gBAAgB;YAChD,2BAA2B,EAAE,CAAC,KAAc;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;aACvC;YACD,mBAAmB,EAAE,CAAC,KAAc;gBAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAIC,oCAAc,CAAC;YACvC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS;YAC/C,uBAAuB,EAAE,MACvB,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM;YACrD,YAAY,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS;YAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,WAAW;YACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEHC,6BAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW;YACvD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAChC,CAAC,CAAC;KACJ;IAED,IAAW,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAIC,+CAAqB,CAAC,IAAI,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;IAED,IAAY,kCAAkC;QAC5C,OAAO;YACL,GAAG,IAAI,CAAC,uBAAuB;YAC/B,oBAAoB,EAClB,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,KAAK,EAAE;YACtD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,IAAI;YACrD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YACnE,OAAO,EAAE,IAAI,CAAC,qBAAqB;SACpC,CAAC;KACH;IAEO,sCAAsC;QAC5C,MAAM,GAAG,GAAG,IAAIC,iBAAW,CAAC;YAC1B,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,uBAAuB,GAAG,CAAC;SACtC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA+B,CAAC,CAAC;QAElD,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,oDAAoD,GAAG,EAAE,CAC1D,CAAC;SACH;KACF;IAEO,gCAAgC;QACtC,MAAM,yBAAyB,GAAG,QAAQ,CAAC,gBAAgB,CACzD,oCAAoC,IAAI,CAAC,cAAc,IAAI,CAC5D,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9B,2FAA2F,IAAI,CAAC,cAAc,mEAAmE,CAClL,CAAC;SACH;KACF;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,MAAM,GAAGC,uCAAwB,CACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC,eAAe,CAAC;gBAChB,YAAY,EAAE,IAAI,CAAC,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACvC;KACF;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,IAAI,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EAAE;YACpD,OAAO;SACR;QAED,IACE,IAAI,CAAC,kCAAkC,CAAC,oBAAoB;YAC5D,CAAC,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EACjD;YACA,OAAO;SACR;QAED,QACEC,QAACC,sBAAO,IAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,UAAU,IAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACzB,EACV;KACH;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,8BAA+B;YACtD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,CACtD,CAAC;KACH;IAED,IAAY,qBAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACxC,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;SACrD;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,KAAK,CACvD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,8BAA8B,CACxD,CAAC;KACH;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM;YACjD,IAAI,CAAC,8BAA+B,CACvC,CAAC;KACH;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;KAC/B;IAED,IAAY,sBAAsB;QAChC,QACE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EACtE;KACH;IAEO,2BAA2B,CAACC,gBAA0B;QAC5D,MAAM,WAAW,GACf,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAACA,gBAAc,CAAC,CAAC;QAEnE,OAAO;YACL,iBAAiB,EAAEC,qCAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClE,OAAO,EAAE,EAAC,MAAM,EAAED,gBAAc,EAAC;aAClC,CAAC;YACF,MAAM,EAAEA,gBAAc;YACtB,iBAAiB,EAAE,IAAI,CAAC,qBAAqB;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAClCA,gBAAc,CAAC,QAAQ,EACvB,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAC7C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf;YACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAACA,gBAAc,CAAC;YACrE,WAAW;YACX,eAAe,EAAE,CAAC,CAAC,WAAW;YAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;KACH;IAEO,yBAAyB;QAC/B,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAE9C,OAAOE,wCAAyB,CAC9B,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,uBAAuB,CAAC,SAAS,EACtC,mBAAmB,CACpB,CAAC;KACH;IAEO,YAAY,CAAC,cAA0B,EAAE,CAAS;QACxD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACnD,QACEJ,QAACK,2BAAW,IACV,eAAe,EAAC,oBAAoB,EACpC,IAAI,EAAE,cAAc,KAChB,wBAAwB,CAAC,iBAAiB,EAC9C,MAAM,EAAE,CAAC,OAAO,KACd,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,IAG5DL,mCAAwB,wBAAwB,GAAuB,CAC3D,EACd;KACH;IAEO,2BAA2B;QACjC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAErD,IACE,CAAC,IAAI,CAAC,wBAAwB;YAC9B,IAAI,CAAC,oBAAoB,CAAC,QAAQ;YAClC,IAAI,CAAC,KAAK,EACV;YACA,OAAO;SACR;QAED,QACEA,QAACM,oCAAc,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,IACtDN,QAACO,+CAAwB,IACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,EACtC,oBAAoB,EAClB,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,uBAAuB,GAE3C,EAC5BP,QAACQ,sCAAgB,OAAK,IAAI,CAAC,kCAAkC,IAC1D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC7C,CAAC,CACe,CACJ,EACjB;KACH;IAEM,MAAM;QACX,QACER,QAACS,cAAQ,uDACN,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,sBAAsB,IAC1BT,QAACU,wBAAQ,IACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC/B,YAAY,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EACvC,aAAa,EAAE,IAAI,CAAC,aAAa,IAEhC,IAAI,CAAC,2BAA2B,EAAE,CAC1B,KAEX,IAAI,CAAC,2BAA2B,EAAE,CACnC,CACQ,EACX;KACH;;;;;;AAzW4B;IAA5BC,sCAAkB,EAAE;gDAAgC;AAkB9C;IAFNC,yCAAqB,CAAC,oBAAoB,CAAC;+DAEa;;;;;","names":["randomID","buildRecommendationList","ResultTemplateProvider","ItemListCommon","createAppLoadedListener","FocusTargetController","NumberValue","loadConfigurationActions","h","Heading","recommendation","buildRecsInteractiveResult","getItemListDisplayClasses","DisplayGrid","DisplayWrapper","ResultsPlaceholdersGuard","ItemDisplayGuard","Fragment","Carousel","InitializeBindings","BindStateToController"],"sources":["src/components/recommendations/atomic-recs-list/atomic-recs-list.pcss?tag=atomic-recs-list&encapsulation=shadow","src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n@import '../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n buildInteractiveResult as buildRecsInteractiveResult,\n Result as RecsResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {ItemDisplayGuard} from '../../common/item-list/stencil-item-display-guard';\nimport {ResultTemplateProvider} from '../../common/item-list/result-template-provider';\nimport {DisplayGrid} from '../../common/item-list/stencil-display-grid';\nimport {DisplayWrapper} from '../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayBasicLayout,\n getItemListDisplayClasses,\n} from '../../common/layout/display-options';\nimport {Carousel} from '../../common/stencil-carousel';\nimport {Heading} from '../../common/stencil-heading';\nimport {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @slot default - The default slot where to insert the template element.\n */\n@Component({\n tag: 'atomic-recs-list',\n styleUrl: 'atomic-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return this.numberOfPages > 1;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult: buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n }),\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-recs-list.entry.cjs.js","mappings":"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","names":["randomID","buildRecommendationList","ResultTemplateProvider","ItemListCommon","createAppLoadedListener","FocusTargetController","NumberValue","loadConfigurationActions","h","Heading","recommendation","buildRecsInteractiveResult","getItemListDisplayClasses","DisplayGrid","DisplayWrapper","ResultsPlaceholdersGuard","ItemDisplayGuard","Fragment","Carousel","InitializeBindings","BindStateToController"],"sources":["src/components/recommendations/atomic-recs-list/atomic-recs-list.pcss?tag=atomic-recs-list&encapsulation=shadow","src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n@import '../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n buildInteractiveResult as buildRecsInteractiveResult,\n Result as RecsResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {ItemDisplayGuard} from '../../common/item-list/stencil-item-display-guard';\nimport {ResultTemplateProvider} from '../../common/item-list/result-template-provider';\nimport {DisplayGrid} from '../../common/item-list/stencil-display-grid';\nimport {DisplayWrapper} from '../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayBasicLayout,\n getItemListDisplayClasses,\n} from '../../common/layout/display-options';\nimport {Carousel} from '../../common/stencil-carousel';\nimport {Heading} from '../../common/stencil-heading';\nimport {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result and the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @slot default - The default slot where to insert the template element.\n */\n@Component({\n tag: 'atomic-recs-list',\n styleUrl: 'atomic-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return this.numberOfPages > 1;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult: buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n }),\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const headless = require('@coveo/headless');
|
|
7
|
-
const initializationUtils = require('./initialization-utils-
|
|
7
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
8
8
|
const tabUtils = require('./tab-utils-d202a0aa.js');
|
|
9
9
|
const utils = require('./utils-39abd753.js');
|
|
10
10
|
const atomicLayoutSectionUtils = require('./atomic-layout-section-utils-08b4fbcd.js');
|
|
@@ -15,6 +15,7 @@ const stencilButton = require('./stencil-button-e9b9fab0.js');
|
|
|
15
15
|
const stencilModal = require('./stencil-modal-cc1cad10.js');
|
|
16
16
|
require('./dom-utils-d4790328.js');
|
|
17
17
|
require('./event-utils-9bfcf3c5.js');
|
|
18
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
18
19
|
require('./purify-d8fb6acd.js');
|
|
19
20
|
require('./_commonjsHelpers-68cdf74f.js');
|
|
20
21
|
require('./close-20739950.js');
|
|
@@ -23,8 +24,8 @@ require('./export-parts-878c454a.js');
|
|
|
23
24
|
/**
|
|
24
25
|
* @deprecated should only be used for Stencil components.
|
|
25
26
|
*/
|
|
26
|
-
const RefineModalBody = (
|
|
27
|
-
return (index.h("aside", { part: "content", slot: "body", class: "flex flex-col w-full" }, children));
|
|
27
|
+
const RefineModalBody = ({ ariaLabel }, children) => {
|
|
28
|
+
return (index.h("aside", { part: "content", slot: "body", class: "flex flex-col w-full", "aria-label": ariaLabel }, children));
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
/**
|
|
@@ -222,7 +223,7 @@ const AtomicRefineModal = class {
|
|
|
222
223
|
return (index.h(RefineModalFiltersSection, { i18n: i18n, withFacets: hasFacetElements, withAutomaticFacets: hasAutomaticFacets }, this.breadcrumbManagerState.hasBreadcrumbs && (index.h(RefineModalFiltersClearButton, { i18n: i18n, onClick: () => this.breadcrumbManager.deselectAll() }))));
|
|
223
224
|
}
|
|
224
225
|
render() {
|
|
225
|
-
return (index.h(stencilModal.RefineModal, { key: '
|
|
226
|
+
return (index.h(stencilModal.RefineModal, { key: '5a7ed7a87e66d772ecbf7085b9c29dd5b4f76892', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), title: this.bindings.i18n.t('sort-and-filter'), numberOfItems: this.querySummaryState.total, openButton: this.openButton }, index.h(RefineModalBody, { key: '9411b94a20db2e2122b88b644611856a0cbe457d', ariaLabel: this.bindings.i18n.t('refine-modal-content') }, this.renderSort(), this.renderFilters())));
|
|
226
227
|
}
|
|
227
228
|
componentDidLoad() {
|
|
228
229
|
this.host.style.display = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-refine-modal.entry.cjs.js","mappings":"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","names":["h","Fragment","Button","buildBreadcrumbManager","buildSort","buildQuerySummary","buildSearchStatus","buildFacetManager","buildTabManager","sortByDocumentPosition","findSection","triageFacetsByParents","sortFacetVisibility","collapseFacetsAfter","popoverClass","isRefineModalFacet","shouldDisplayOnCurrentTab","RefineModal","InitializeBindings","BindStateToController"],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\nimport { AtomicInterface } from '@/src/utils/initialization-lit-stencil-common-utils';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-refine-modal.entry.cjs.js","mappings":"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","names":["h","Fragment","Button","buildBreadcrumbManager","buildSort","buildQuerySummary","buildSearchStatus","buildFacetManager","buildTabManager","sortByDocumentPosition","findSection","triageFacetsByParents","sortFacetVisibility","collapseFacetsAfter","popoverClass","isRefineModalFacet","shouldDisplayOnCurrentTab","RefineModal","InitializeBindings","BindStateToController"],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalBody: FunctionalComponent<{\n ariaLabel: string;\n}> = ({ariaLabel}, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n aria-label={ariaLabel}\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\nimport { AtomicInterface } from '@/src/utils/initialization-lit-stencil-common-utils';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody ariaLabel={this.bindings.i18n.t('refine-modal-content')}>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
|
@@ -4,10 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const headless = require('@coveo/headless');
|
|
7
|
-
const initializationUtils = require('./initialization-utils-
|
|
7
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
8
8
|
const stencilButton = require('./stencil-button-e9b9fab0.js');
|
|
9
9
|
require('./dom-utils-d4790328.js');
|
|
10
10
|
require('./event-utils-9bfcf3c5.js');
|
|
11
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @deprecated should only be used for Stencil components.
|
|
@@ -75,7 +76,7 @@ const AtomicRefineToggle = class {
|
|
|
75
76
|
this.modalRef && (this.modalRef.isOpen = true);
|
|
76
77
|
}
|
|
77
78
|
render() {
|
|
78
|
-
return (index.h(RefineToggleGuard, { key: '
|
|
79
|
+
return (index.h(RefineToggleGuard, { key: '55620878734ae8dad50e0b0ec0c109b9bc427b07', firstRequestExecuted: this.searchStatusState.firstSearchExecuted, hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults }, index.h(RefineToggleButton, { key: '229a8111e2e92e51443de974e9865d63ae48fd11', i18n: this.bindings.i18n, onClick: () => this.enableModal(), setRef: (button) => {
|
|
79
80
|
if (!button) {
|
|
80
81
|
return;
|
|
81
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-refine-toggle.entry.cjs.js","mappings":"
|
|
1
|
+
{"file":"atomic-refine-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;AAUA;;;AAGO,MAAM,kBAAkB,GAE3B,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC;IAC1B,QACEA,QAACC,oBAAM,IACL,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAC,QAAQ,GACL,EACV;AACJ,CAAC;;AClBD;;;AAGO,MAAM,iBAAiB,GAAgD,CAC5E,EAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAC,EAC1C,QAAQ;IAER,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IAED,IAAI,CAAC,oBAAoB,EAAE;QACzB,QACED,iBACE,IAAI,EAAC,aAAa,uBAElB,KAAK,EAAC,gDAAgD,GACjD,EACP;KACH;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,OAAOA,QAACE,cAAQ,QAAE,QAAQ,CAAY,CAAC;AACzC,CAAC;;AClCD,MAAM,qBAAqB,GAAG,svjEAAsvjE,CAAC;AACrxjE,iCAAe,qBAAqB;;;;;;;;;;;;MCyBvB,kBAAkB;;;;;;;;;QAkBC,wBAAmB,GAAG,CAAC,CAAC;;;mCAAF,CAAC;;IAE9C,UAAU;QACf,IAAI,CAAC,YAAY,GAAGC,0BAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7D;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;KAC9D;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAChD;IAEM,MAAM;QACX,QACEH,QAAC,iBAAiB,qDAChB,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAChE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EACzC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAE3CA,QAAC,kBAAkB,qDACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EACjC,MAAM,EAAE,CAAC,MAAM;gBACb,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,GACD,CACgB,EACpB;KACH;;;AArD4B;IAA5BI,sCAAkB,EAAE;oDAA4B;AAIzC;IAFPC,yCAAqB,CAAC,cAAc,CAAC;6DAEQ;;;;;","names":["h","Button","Fragment","buildSearchStatus","InitializeBindings","BindStateToController"],"sources":["src/components/common/refine-modal/stencil-button.tsx","src/components/common/refine-modal/stencil-guard.tsx","src/components/search/atomic-refine-toggle/atomic-refine-toggle.pcss?tag=atomic-refine-toggle&encapsulation=shadow","src/components/search/atomic-refine-toggle/atomic-refine-toggle.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineToggleButtonProps {\n i18n: i18n;\n onClick: () => void;\n setRef: (button: HTMLButtonElement) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineToggleButton: FunctionalComponent<\n RefineToggleButtonProps\n> = ({i18n, onClick, setRef}) => {\n return (\n <Button\n style=\"outline-primary\"\n class=\"w-full p-3\"\n onClick={onClick}\n text={i18n.t('sort-and-filter')}\n ref={setRef}\n part=\"button\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface RefineToggleGuardProps {\n hasError: boolean;\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineToggleGuard: FunctionalComponent<RefineToggleGuardProps> = (\n {hasError, firstRequestExecuted, hasItems},\n children\n) => {\n if (hasError) {\n return;\n }\n\n if (!firstRequestExecuted) {\n return (\n <div\n part=\"placeholder\"\n aria-hidden\n class=\"bg-neutral my-2 h-8 w-28 animate-pulse rounded\"\n ></div>\n );\n }\n\n if (!hasItems) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","@import '../../../global/global.pcss';\n","import {\n buildSearchStatus,\n SearchStatusState,\n SearchStatus,\n} from '@coveo/headless';\nimport {Component, h, Prop, State, Element} from '@stencil/core';\nimport {\n InitializeBindings,\n InitializableComponent,\n BindStateToController,\n} from '../../../utils/initialization-utils';\nimport {RefineToggleButton} from '../../common/refine-modal/stencil-button';\nimport {RefineToggleGuard} from '../../common/refine-modal/stencil-guard';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-refine-toggle` component displays a button that opens a modal containing the facets and the sort components.\n *\n * When this component is added to the `atomic-search-interface`, an `atomic-refine-modal` component is automatically created.\n * @part button - The refine toggle button.\n */\n@Component({\n tag: 'atomic-refine-toggle',\n styleUrl: 'atomic-refine-toggle.pcss',\n shadow: true,\n})\nexport class AtomicRefineToggle implements InitializableComponent {\n @Element() public host!: HTMLElement;\n public searchStatus!: SearchStatus;\n private modalRef?: HTMLAtomicRefineModalElement;\n private buttonRef?: HTMLButtonElement;\n\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n public initialize() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n }\n\n private loadModal() {\n if (this.modalRef) {\n return;\n }\n\n this.modalRef = document.createElement('atomic-refine-modal');\n this.host.insertAdjacentElement('beforebegin', this.modalRef);\n this.modalRef.openButton = this.buttonRef;\n this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;\n }\n\n private enableModal() {\n this.modalRef && (this.modalRef.isOpen = true);\n }\n\n public render() {\n return (\n <RefineToggleGuard\n firstRequestExecuted={this.searchStatusState.firstSearchExecuted}\n hasError={this.searchStatusState.hasError}\n hasItems={this.searchStatusState.hasResults}\n >\n <RefineToggleButton\n i18n={this.bindings.i18n}\n onClick={() => this.enableModal()}\n setRef={(button) => {\n if (!button) {\n return;\n }\n this.buttonRef = button;\n this.loadModal();\n }}\n />\n </RefineToggleGuard>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-result-badge.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,k3jEAAk3jE,CAAC;AACh5jE,gCAAe,oBAAoB;;;;;;;;;;;;MC2CtB,iBAAiB;;;;;;;IA2BpB,UAAU;QAChB,QACEA,yBACE,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAE,IAAI,CAAC,IAAK,EAChB,KAAK,EAAC,sBAAsB,GACf,EACf;KACH;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,gCAAoB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAuB,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,yBAAa,KAAK,EAAE,IAAI,CAAC,KAAK,GAAgB,CAAC;SACvD;QACD,OAAOA,qBAAa,CAAC;KACtB;IAEO,UAAU;QAChB,OAAOA,kBAAM,IAAI,EAAC,oBAAoB,IAAE,IAAI,CAAC,cAAc,EAAE,CAAQ,CAAC;KACvE;IAEO,WAAW;QACjB,QACEA,iBACE,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAC,wGAAwG,IAE7G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAC9B,IAAI,CAAC,UAAU,EAAE,CACd,EACN;KACH;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,QAAQ,GACZC,+BAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;gBACjE,IAAI,CAAC;YACP,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACpB;SACF;KACF;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;;;AA3EwB;IAAxBC,6CAAa,EAAE;iDAAyB;;;;;","names":["h","ResultTemplatesHelpers","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.pcss?tag=atomic-result-badge&encapsulation=shadow","src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n:host {\n display: inline-flex;\n place-items: center;\n height: var(--row-height, auto);\n word-break: break-word;\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h} from '@stencil/core';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-badge` element renders a badge to highlight special features of a result.\n *\n * A badge can either display:\n * * Text:\n * ```html\n * <atomic-result-badge label=\"trending\"></atomic-result-badge>\n * ```\n * * The contents of a single-value field:\n * ```html\n * <atomic-result-badge field=\"objecttype\"></atomic-result-badge>\n * ```\n * * An icon:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/star.svg\"></atomic-result-badge>\n * ```\n * * Slotted elements:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/stopwatch.svg\">\n * Deal ends in <my-dynamic-countdown></my-dynamic-countdown>\n * </atomic-result-badge>\n * ```\n *\n * The contents of a multi-value field can be displayed as in the following example:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/language.svg\">\n * <atomic-result-multi-value-text field=\"language\"></atomic-result-multi-value-text>\n * </atomic-result-badge>\n * ```\n *\n * @part result-badge-element - The decorative outer-most element with the background color and text color.\n * @part result-badge-icon - The icon displayed at the left-end of the badge, if present.\n * @part result-badge-label - The wrapper around the contents at the right-end of the badge. This may be text, a field or slotted elements depending on which was configured.\n * @slot default - The
|
|
1
|
+
{"file":"atomic-result-badge.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,k3jEAAk3jE,CAAC;AACh5jE,gCAAe,oBAAoB;;;;;;;;;;;;MC2CtB,iBAAiB;;;;;;;IA2BpB,UAAU;QAChB,QACEA,yBACE,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAE,IAAI,CAAC,IAAK,EAChB,KAAK,EAAC,sBAAsB,GACf,EACf;KACH;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,gCAAoB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAuB,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,yBAAa,KAAK,EAAE,IAAI,CAAC,KAAK,GAAgB,CAAC;SACvD;QACD,OAAOA,qBAAa,CAAC;KACtB;IAEO,UAAU;QAChB,OAAOA,kBAAM,IAAI,EAAC,oBAAoB,IAAE,IAAI,CAAC,cAAc,EAAE,CAAQ,CAAC;KACvE;IAEO,WAAW;QACjB,QACEA,iBACE,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAC,wGAAwG,IAE7G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAC9B,IAAI,CAAC,UAAU,EAAE,CACd,EACN;KACH;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,QAAQ,GACZC,+BAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;gBACjE,IAAI,CAAC;YACP,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACpB;SACF;KACF;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;;;AA3EwB;IAAxBC,6CAAa,EAAE;iDAAyB;;;;;","names":["h","ResultTemplatesHelpers","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.pcss?tag=atomic-result-badge&encapsulation=shadow","src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n:host {\n display: inline-flex;\n place-items: center;\n height: var(--row-height, auto);\n word-break: break-word;\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h} from '@stencil/core';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-badge` element renders a badge to highlight special features of a result.\n *\n * A badge can either display:\n * * Text:\n * ```html\n * <atomic-result-badge label=\"trending\"></atomic-result-badge>\n * ```\n * * The contents of a single-value field:\n * ```html\n * <atomic-result-badge field=\"objecttype\"></atomic-result-badge>\n * ```\n * * An icon:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/star.svg\"></atomic-result-badge>\n * ```\n * * Slotted elements:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/stopwatch.svg\">\n * Deal ends in <my-dynamic-countdown></my-dynamic-countdown>\n * </atomic-result-badge>\n * ```\n *\n * The contents of a multi-value field can be displayed as in the following example:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/language.svg\">\n * <atomic-result-multi-value-text field=\"language\"></atomic-result-multi-value-text>\n * </atomic-result-badge>\n * ```\n *\n * @part result-badge-element - The decorative outer-most element with the background color and text color.\n * @part result-badge-icon - The icon displayed at the left-end of the badge, if present.\n * @part result-badge-label - The wrapper around the contents at the right-end of the badge. This may be text, a field or slotted elements depending on which was configured.\n * @slot default - The elements to display inside the badge, instead of a field or label.\n */\n@Component({\n tag: 'atomic-result-badge',\n styleUrl: 'atomic-result-badge.pcss',\n shadow: true,\n})\nexport class AtomicResultBadge {\n @ResultContext() private result!: Result;\n @Element() host!: HTMLElement;\n /**\n * The field to display in the badge.\n *\n * Not compatible with `label`, slotted elements nor multi-value fields.\n */\n @Prop({reflect: true}) public field?: string;\n\n /**\n * The text to display in the badge.\n *\n * Not compatible with `field` nor slotted elements.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * Specifies an icon to display at the left-end of the badge.\n * This can be used in conjunction with `field`, `label` or slotted elements.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly\n */\n @Prop({reflect: true}) public icon?: string;\n\n private renderIcon() {\n return (\n <atomic-icon\n part=\"result-badge-icon\"\n icon={this.icon!}\n class=\"h-3 w-3 fill-current\"\n ></atomic-icon>\n );\n }\n\n private getTextContent() {\n if (this.field !== undefined) {\n return <atomic-result-text field={this.field}></atomic-result-text>;\n }\n if (this.label !== undefined) {\n return <atomic-text value={this.label}></atomic-text>;\n }\n return <slot></slot>;\n }\n\n private renderText() {\n return <span part=\"result-badge-label\">{this.getTextContent()}</span>;\n }\n\n private renderBadge() {\n return (\n <div\n part=\"result-badge-element\"\n class=\"bg-neutral-light text-neutral-dark inline-flex h-full place-items-center space-x-1.5 rounded-full px-3\"\n >\n {this.icon && this.renderIcon()}\n {this.renderText()}\n </div>\n );\n }\n\n componentWillRender() {\n if (this.field) {\n const hasValue =\n ResultTemplatesHelpers.getResultProperty(this.result, this.field) !==\n null;\n if (!hasValue) {\n this.host.remove();\n }\n }\n }\n\n render() {\n return this.renderBadge();\n }\n}\n"],"version":3}
|