@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
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const bueno = require('@coveo/bueno');
|
|
7
7
|
const headless = require('@coveo/headless');
|
|
8
|
-
const initializationUtils = require('./initialization-utils-
|
|
8
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
9
9
|
const stencilFacetCommon = require('./stencil-facet-common-c258bef8.js');
|
|
10
10
|
require('./dom-utils-d4790328.js');
|
|
11
11
|
require('./event-utils-9bfcf3c5.js');
|
|
12
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
12
13
|
|
|
13
14
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
14
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-facet-manager.entry.cjs.js","mappings":"
|
|
1
|
+
{"file":"atomic-facet-manager.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;MA6Ba,kBAAkB;;;;;;;;;;QAoBC,wBAAmB,GAAG,CAAC,CAAC;QAU9C,eAAU,GAAG;YACnB,MAAM,MAAM,GAAGA,sCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5E,MAAM,EAAC,aAAa,EAAE,eAAe,EAAC,GAAGC,sCAAmB,CAC1D,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CACnC,CAAC;YAEF,MAAM,SAAS,GAAGC,6CAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExDC,sCAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAE7D,SAAS,EAAE,+CAA+C,CACxD,IAAI,CAAC,mBAAmB,EACxB,aAAa,CAAC,MAAM,CACrB,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CACd,GAAG;gBACD,GAAG,aAAa;gBAChB,GAAG,eAAe;gBAClB,IAAI,SAAS,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;aAClC,CACF,CAAC;SACH,CAAC;;;mCApCkD,CAAC;;IAE9C,UAAU;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAGC,0BAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;QAG5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3D;IA8BO,aAAa;QACnB,IAAIC,YAAM,CAAC;YACT,kBAAkB,EAAE,IAAIC,iBAAW,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;SAC/D,CAAC,CAAC,QAAQ,CAAC;YACV,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;SAC7C,CAAC,CAAC;KACJ;IAEO,sBAAsB,CAC5B,MAA0B,EAC1B,YAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;QACJ,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;KACzD;IAED,oBAAoB;QAClB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC7D;IAEM,MAAM;QACX,OAAOC,oEAAQ,CAAC;KACjB;;;AAlF4B;IAA5BC,sCAAkB,EAAE;oDAA4B;AAS1C;IAJNC,yCAAqB,CAAC,cAAc,EAAE;QACrC,sBAAsB,EAAE,YAAY;KACrC,CAAC;6DAE2C;;;;","names":["getFacetsInChildren","sortFacetVisibility","getAutomaticFacetGenerator","collapseFacetsAfter","buildFacetManager","Schema","NumberValue","h","InitializeBindings","BindStateToController"],"sources":["src/components/search/atomic-facet-manager/atomic-facet-manager.tsx"],"sourcesContent":["import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n FacetManager,\n buildFacetManager,\n FacetManagerState,\n} from '@coveo/headless';\nimport {Component, h, Element, State, Prop} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n getFacetsInChildren,\n getAutomaticFacetGenerator,\n sortFacetVisibility,\n collapseFacetsAfter,\n BaseFacetElement,\n} from '../../common/facets/stencil-facet-common';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-facet-manager` helps reorder facets and their values to match the most recent search response with the most relevant results.\n * @slot default - Facet components are slotted within to leverage this functionality.\n */\n@Component({\n tag: 'atomic-facet-manager',\n shadow: false,\n})\nexport class AtomicFacetManager implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private facetManager!: FacetManager;\n\n @Element() private host!: HTMLDivElement;\n\n @BindStateToController('facetManager', {\n onUpdateCallbackMethod: 'sortFacets',\n })\n @State()\n public facetManagerState!: FacetManagerState;\n @State() public error!: Error;\n\n /**\n * The number of expanded facets inside the manager.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n * Using the value `-1` disables the feature and keeps all facets expanded. Useful when you want to set the collapse state for each facet individually.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 4;\n\n public initialize() {\n this.validateProps();\n this.facetManager = buildFacetManager(this.bindings.engine);\n\n // An update has to be forced for the facets to be visually updated, without being interacted with.\n this.bindings.i18n.on('languageChanged', this.sortFacets);\n }\n\n private sortFacets = () => {\n const facets = getFacetsInChildren(this.host);\n\n const sortedFacets = this.sortFacetsUsingManager(facets, this.facetManager);\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const generator = getAutomaticFacetGenerator(this.host);\n\n collapseFacetsAfter(visibleFacets, this.collapseFacetsAfter);\n\n generator?.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n\n this.host.append(\n ...[\n ...visibleFacets,\n ...invisibleFacets,\n ...(generator ? [generator] : []),\n ]\n );\n };\n\n private validateProps() {\n new Schema({\n collapseFacetAfter: new NumberValue({min: -1, required: true}),\n }).validate({\n collapseFacetAfter: this.collapseFacetsAfter,\n });\n }\n\n private sortFacetsUsingManager(\n facets: BaseFacetElement[],\n facetManager: FacetManager\n ): BaseFacetElement[] {\n const payload = facets.map((f) => ({\n facetId: f.facetId,\n payload: f,\n }));\n return facetManager.sort(payload).map((f) => f.payload);\n }\n\n disconnectedCallback() {\n this.bindings?.i18n.off('languageChanged', this.sortFacets);\n }\n\n public render() {\n return <slot />;\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-field-condition.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;;;;;;;QAgBO,cAAS,GAC7C,EAAE,CAAC;;;;;QAMiC,iBAAY,GAChD,EAAE,CAAC;QAEG,eAAU,GAA8B,EAAE,CAAC;QAC3C,oBAAe,GAAG,KAAK,CAAC;;;yBAV9B,EAAE;4BAOF,EAAE;;IAOG,iBAAiB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClBA,+BAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACvD,CAAC;SACH;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClBA,+BAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAC1D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAGC,+CAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;KACH;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,EAAE,CAAC;SACX;QAED,OAAOC,qBAAQ,CAAC;KACjB;IAEM,gBAAgB;QACrB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC5C;;;AA9CqC;IAA7BC,kBAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;uDAChC;AAMiC;IAA7BA,kBAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;0DAChC;AAKoB;IAAxBC,6CAAa,EAAE;oDAAyB;;;;;","names":["ResultTemplatesHelpers","makeMatchConditions","h","MapProp","ResultContext"],"sources":["src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.pcss?tag=atomic-field-condition","src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.tsx"],"sourcesContent":["atomic-field-condition {\n max-width: 100%;\n}\n","import {\n Result,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Prop, h, Element} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {makeMatchConditions} from '../../../common/result-templates/stencil-result-template-common';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-field-condition` component takes a list of conditions that, if fulfilled, apply the template in which it's defined.\n * The condition properties can be based on any top-level result property of the `result` object, not restricted to fields (
|
|
1
|
+
{"file":"atomic-field-condition.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzB,oBAAoB;;;;;;;QAgBO,cAAS,GAC7C,EAAE,CAAC;;;;;QAMiC,iBAAY,GAChD,EAAE,CAAC;QAEG,eAAU,GAA8B,EAAE,CAAC;QAC3C,oBAAe,GAAG,KAAK,CAAC;;;yBAV9B,EAAE;4BAOF,EAAE;;IAOG,iBAAiB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClBA,+BAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACvD,CAAC;SACH;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClBA,+BAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAC1D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAGC,+CAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;KACH;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,EAAE,CAAC;SACX;QAED,OAAOC,qBAAQ,CAAC;KACjB;IAEM,gBAAgB;QACrB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC5C;;;AA9CqC;IAA7BC,kBAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;uDAChC;AAMiC;IAA7BA,kBAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;0DAChC;AAKoB;IAAxBC,6CAAa,EAAE;oDAAyB;;;;;","names":["ResultTemplatesHelpers","makeMatchConditions","h","MapProp","ResultContext"],"sources":["src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.pcss?tag=atomic-field-condition","src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.tsx"],"sourcesContent":["atomic-field-condition {\n max-width: 100%;\n}\n","import {\n Result,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Prop, h, Element} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {makeMatchConditions} from '../../../common/result-templates/stencil-result-template-common';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-field-condition` component takes a list of conditions that, if fulfilled, apply the template in which it's defined.\n * The condition properties can be based on any top-level result property of the `result` object, not restricted to fields (for example, `isRecommendation`).\n *\n * @slot default - The content to display if the conditions are met.\n *\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-field-condition',\n styleUrl: 'atomic-field-condition.pcss',\n shadow: false,\n})\nexport class AtomicFieldCondition {\n @Element() host!: HTMLElement;\n\n /**\n * Verifies whether the specified fields are defined.\n */\n @Prop({reflect: true}) ifDefined?: string;\n /**\n * Verifies whether the specified fields are not defined.\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustMatch: Record<string, string[]> =\n {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustNotMatch: Record<string, string[]> =\n {};\n\n private conditions: ResultTemplateCondition[] = [];\n private shouldBeRemoved = false;\n\n @ResultContext() private result!: Result;\n\n public componentWillLoad() {\n if (this.ifDefined) {\n const fieldNames = this.ifDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames)\n );\n }\n\n if (this.ifNotDefined) {\n const fieldNames = this.ifNotDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames)\n );\n }\n\n this.conditions.push(\n ...makeMatchConditions(this.mustMatch, this.mustNotMatch)\n );\n }\n\n public render() {\n if (!this.conditions.every((condition) => condition(this.result))) {\n this.shouldBeRemoved = true;\n return '';\n }\n\n return <slot />;\n }\n\n public componentDidLoad() {\n this.shouldBeRemoved && this.host.remove();\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 propsUtils = require('./props-utils-0a4be1ba.js');
|
|
9
9
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-6311883f.js');
|
|
10
10
|
const tabUtils = require('./tab-utils-d202a0aa.js');
|
|
@@ -18,6 +18,7 @@ const stencilItemListCommon = require('./stencil-item-list-common-f64da3bd.js');
|
|
|
18
18
|
const displayOptions = require('./display-options-4361ede7.js');
|
|
19
19
|
require('./dom-utils-d4790328.js');
|
|
20
20
|
require('./event-utils-9bfcf3c5.js');
|
|
21
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
21
22
|
require('@coveo/bueno');
|
|
22
23
|
require('./purify-d8fb6acd.js');
|
|
23
24
|
require('./_commonjsHelpers-68cdf74f.js');
|
|
@@ -56,7 +57,7 @@ const AtomicFoldedResultList = class {
|
|
|
56
57
|
/**
|
|
57
58
|
* The tabs on which the folded result list can be displayed. This property should not be used at the same time as `tabs-excluded`.
|
|
58
59
|
*
|
|
59
|
-
* Set this property as a stringified JSON array,
|
|
60
|
+
* Set this property as a stringified JSON array, for example:
|
|
60
61
|
* ```html
|
|
61
62
|
* <atomic-folded-result-list tabs-included='["tabIDA", "tabIDB"]'></atomic-folded-result-list snippet>
|
|
62
63
|
* ```
|
|
@@ -66,7 +67,7 @@ const AtomicFoldedResultList = class {
|
|
|
66
67
|
/**
|
|
67
68
|
* The tabs on which this folded result list must not be displayed. This property should not be used at the same time as `tabs-included`.
|
|
68
69
|
*
|
|
69
|
-
* Set this property as a stringified JSON array,
|
|
70
|
+
* Set this property as a stringified JSON array, for example:
|
|
70
71
|
* ```html
|
|
71
72
|
* <atomic-folded-result-list tabs-excluded='["tabIDA", "tabIDB"]'></atomic-folded-result-list>
|
|
72
73
|
* ```
|
|
@@ -79,7 +80,7 @@ const AtomicFoldedResultList = class {
|
|
|
79
80
|
* @defaultValue `2`
|
|
80
81
|
*
|
|
81
82
|
* @example For an email thread with a total of 20 messages, using the default value of `2` will request the top two child messages, based on the current sort criteria and query, to be returned as children of the parent message.
|
|
82
|
-
* The user can then click to expand the collection and see the remaining messages that match the current query (
|
|
83
|
+
* The user can then click to expand the collection and see the remaining messages that match the current query (that is, not necessarily all remaining 18 messages). Those messages will be sorted based on the current sort criteria (that is, not necessarily by date).
|
|
83
84
|
* For more info on Result Folding, see [Result Folding](https://docs.coveo.com/en/1884).
|
|
84
85
|
**/
|
|
85
86
|
this.numberOfFoldedResults = 2;
|
|
@@ -101,7 +102,7 @@ const AtomicFoldedResultList = class {
|
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
104
|
* Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
|
|
104
|
-
* You can use this function while working with web frameworks that don't use plain HTML syntax
|
|
105
|
+
* You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.
|
|
105
106
|
*
|
|
106
107
|
* Do not use this method if you integrate Atomic in a plain HTML deployment.
|
|
107
108
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-folded-result-list.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,ytgFAAytgF,CAAC;AAC5vgF,qCAAe,yBAAyB;;;;;;;;;;;;MCgE3B,sBAAsB;;;QAKzB,gBAAW,GAAGA,cAAQ,CAAC,oBAAoB,CAAC,CAAC;QAI7C,YAAO,GAAsB,MAAM,CAAC;QAc3B,6BAAwB,GAAG,KAAK,CAAC;QAEjC,qBAAgB,GAAG,KAAK,CAAC;QACzB,gBAAW,GAAG,KAAK,CAAC;;;;QAKd,YAAO,GAAuB,QAAQ,CAAC;;;;QAIvC,cAAS,GAAyB,MAAM,CAAC;;;;;;;;;;QAYzD,iBAAY,GAAsB,IAAI,CAAC;;;;;;;;;;QAavC,iBAAY,GAAsB,IAAI,CAAC;;;;;;;;;;QA6BhB,0BAAqB,GAAG,CAAC,CAAC;;;;wCAlEZ,KAAK;;gCAEb,KAAK;2BACV,KAAK;uBAKiB,QAAQ;yBAIJ,MAAM;4BAYtB,IAAI;4BAaJ,IAAI;;;;qCA6BS,CAAC;;;;;;;;IAQtC,MAAM,iBAAiB,CACtC,uBAA8C;QAE9C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;KACxD;IAGD,uBAAuB,CAAC,KAAsC;QAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACrC;IAGD,cAAc,CAAC,KAAoC;QACjD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACpD;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;IAEM,UAAU;QACf,IAAI;YACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAGC,4BAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,CAAU,CAAC;SACzB;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAIC,6CAAsB,CAAC;YACrD,sBAAsB,EAAE,IAAI;YAC5B,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CACrD;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,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM;YACxE,YAAY,EAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS;YACxD,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;QACH,IAAI,CAAC,UAAU,GAAGC,wBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExDC,6BAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW;YACvD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAChC,CAAC,CAAC;KACJ;IAEO,WAAW,CACjB,QAAyB,EAAC,OAAO,EAAE,EAAE,EAAC;QAEtC,OAAOC,8BAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACjD,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;iBAClD;aACF;SACF,CAAC,CAAC;KACJ;IAGD,oBAAoB,CAClB,QAA6B,EAC7B,QAA6B;QAE7B,IAAI,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,SAAS,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACxD;KACF;IAEM,MAAM;QACX,IACE,CAACC,kCAAyB,CACxB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,IAAI,CAAC,eAAe,CAAC,SAAS,CAC/B,EACD;YACA,OAAOC,QAACC,0BAAM,OAAU,CAAC;SAC1B;QACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAErD,QACED,QAACE,kCAAa,IACZ,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAC7C,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EACpE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAC/C,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAC1C,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAEpDF,QAACG,oCAAc,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAC7DH,QAACI,+CAAwB,IACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,EACtC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,eAAe,GACpC,EAC5BJ,QAACK,sCAAgB,IACf,oBAAoB,EAClB,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAEhD,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,IAE9C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,oBAAoB,GACxB,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAC3C,QACEL,8BACM,oBAAoB,EACxB,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,CAAC,OAAoB,KACxB,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAE7C,EACjB;SACH,CAAC,CACe,CACJ,CACH,EAChB;KACH;IAEO,yBAAyB;QAC/B,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAE9C,OAAOM,wCAAyB,CAC9B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,qBAAqB,CAAC,mBAAmB;YAC5C,IAAI,CAAC,qBAAqB,CAAC,SAAS,EACtC,mBAAmB,CACpB,CAAC;KACH;IAEO,uBAAuB,CAAC,UAA4B;QAC1D,MAAM,MAAM,GAAGC,gCAAmB,CAAC,UAAU,CAAC,CAAC;QAE/C,OAAO;YACL,iBAAiB,EAAEC,+BAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC9D,OAAO,EAAE,EAAC,MAAM,EAAC;aAClB,CAAC;YACF,MAAM,EAAE,UAAU;YAClB,iBAAiB,EAAE,IAAI,CAAC,uBAAuB;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAClC,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAC3C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf;YACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;KACH;;;;;;AAtR4B;IAA5BC,sCAAkB,EAAE;wDAA4B;AAc1C;IAFNC,yCAAqB,CAAC,kBAAkB,CAAC;qEAEW;AAG9C;IAFNA,yCAAqB,CAAC,gBAAgB,CAAC;mEAES;AAI1C;IAFNA,yCAAqB,CAAC,YAAY,CAAC;+DAEK;AAyBlC;IAFNC,oBAAS,EAAE;4DAEkC;AAavC;IAFNA,oBAAS,EAAE;4DAEkC;;;;;","names":["randomID","FocusTargetController","buildResultsPerPage","ResultTemplateProvider","ItemListCommon","buildTabManager","createAppLoadedListener","buildFoldedResultList","shouldDisplayOnCurrentTab","h","Hidden","ItemListGuard","DisplayWrapper","ResultsPlaceholdersGuard","ItemDisplayGuard","getItemListDisplayClasses","extractUnfoldedItem","buildInteractiveResult","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.pcss?tag=atomic-folded-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {FoldedItemListStateContextEvent} from '@/src/components/common/item-list/item-list-decorators';\nimport {\n ResultsPerPageState,\n ResultsPerPage,\n buildFoldedResultList,\n FoldedResultList,\n FoldedResultListState,\n buildResultsPerPage,\n ResultListProps,\n FoldedCollection,\n buildInteractiveResult,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../../utils/tab-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/stencil-item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/stencil-item-list-guard';\nimport {ResultTemplateProvider} from '../../../common/item-list/result-template-provider';\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 ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-folded-result-list` component is responsible for displaying folded query results, by applying one or more result templates for up to three layers (i.e., to the result, child and grandchild).\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n */\n@Component({\n tag: 'atomic-folded-result-list',\n styleUrl: 'atomic-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicFoldedResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public foldedResultList!: FoldedResultList;\n public resultsPerPage!: ResultsPerPage;\n private resultRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: FoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private templateHasError = false;\n @State() private isAppLoaded = false;\n\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}) density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The tabs on which the folded result list 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-folded-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list snippet>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list 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 folded result list 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-folded-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list 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 * The name of the field on which to do the folding. The folded result list component will use the values of this field to resolve the collections of result items.\n *\n * @defaultValue `foldingcollection`\n */\n @Prop({reflect: true}) public collectionField?: string;\n /**\n * The name of the field that determines whether a certain result is a top result containing other child results within a collection.\n *\n * @defaultValue `foldingparent`\n */\n @Prop({reflect: true}) public parentField?: string;\n /**\n * The name of the field that uniquely identifies a result within a collection.\n *\n * @defaultValue `foldingchild`\n */\n @Prop({reflect: true}) public childField?: string;\n\n /**\n * The initial number of child results to request for each folded collection, before expansion.\n *\n * @defaultValue `2`\n *\n * @example For an email thread with a total of 20 messages, using the default value of `2` will request the top two child messages, based on the current sort criteria and query, to be returned as children of the parent message.\n * The user can then click to expand the collection and see the remaining messages that match the current query (i.e., not necessarily all remaining 18 messages). Those messages will be sorted based on the current sort criteria (i.e., not necessarily by date).\n * For more info on Result Folding, see [Result Folding](https://docs.coveo.com/en/1884).\n **/\n @Prop({reflect: true}) public numberOfFoldedResults = 2;\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 @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.resultRenderingFunction = resultRenderingFunction;\n }\n\n @Listen('atomic/resolveFoldedResultList')\n resolveFoldedResultList(event: FoldedItemListStateContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.foldedResultList);\n }\n\n @Listen('atomic/loadCollection')\n loadCollection(event: CustomEvent<FoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n } catch (e) {\n this.error = e as Error;\n }\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-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: () => this.foldedResultListState.results.length,\n getIsLoading: () => this.foldedResultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.tabManager = buildTabManager(this.bindings.engine);\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private initFolding(\n props: ResultListProps = {options: {}}\n ): FoldedResultList {\n return buildFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n numberOfFoldedResults: this.numberOfFoldedResults,\n },\n },\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState.activeTab\n )\n ) {\n return <Hidden></Hidden>;\n }\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n hasError={this.foldedResultListState.hasError}\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n density={this.density}\n imageSize={this.imageSize}\n display={this.display}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={\n this.foldedResultListState.firstSearchExecuted\n }\n hasItems={this.foldedResultListState.hasResults}\n >\n {this.foldedResultListState.results.map((collection, i) => {\n const propsForAtomicResult =\n this.getPropsForAtomicResult(collection);\n return (\n <atomic-result\n {...propsForAtomicResult}\n part=\"outline\"\n ref={(element: HTMLElement) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-result>\n );\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n );\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.foldedResultListState.firstSearchExecuted &&\n this.foldedResultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private getPropsForAtomicResult(collection: FoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result: collection,\n renderingFunction: this.resultRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n result.uniqueId,\n this.foldedResultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-folded-result-list.entry.cjs.js","mappings":"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","names":["randomID","FocusTargetController","buildResultsPerPage","ResultTemplateProvider","ItemListCommon","buildTabManager","createAppLoadedListener","buildFoldedResultList","shouldDisplayOnCurrentTab","h","Hidden","ItemListGuard","DisplayWrapper","ResultsPlaceholdersGuard","ItemDisplayGuard","getItemListDisplayClasses","extractUnfoldedItem","buildInteractiveResult","InitializeBindings","BindStateToController","ArrayProp"],"sources":["src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.pcss?tag=atomic-folded-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-folded-result-list/atomic-folded-result-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {FoldedItemListStateContextEvent} from '@/src/components/common/item-list/item-list-decorators';\nimport {\n ResultsPerPageState,\n ResultsPerPage,\n buildFoldedResultList,\n FoldedResultList,\n FoldedResultListState,\n buildResultsPerPage,\n ResultListProps,\n FoldedCollection,\n buildInteractiveResult,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n Prop,\n Listen,\n Method,\n h,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../../utils/tab-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/stencil-item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/stencil-item-list-guard';\nimport {ResultTemplateProvider} from '../../../common/item-list/result-template-provider';\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 ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-folded-result-list` component is responsible for displaying folded query results, by applying one or more result templates for up to three layers (that is, to the result, child, and grandchild).\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n */\n@Component({\n tag: 'atomic-folded-result-list',\n styleUrl: 'atomic-folded-result-list.pcss',\n shadow: true,\n})\nexport class AtomicFoldedResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public foldedResultList!: FoldedResultList;\n public resultsPerPage!: ResultsPerPage;\n private resultRenderingFunction: ItemRenderingFunction;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private display: ItemDisplayLayout = 'list';\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('foldedResultList')\n @State()\n public foldedResultListState!: FoldedResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n public resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private templateHasError = false;\n @State() private isAppLoaded = false;\n\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}) density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true}) imageSize: ItemDisplayImageSize = 'icon';\n /**\n * The tabs on which the folded result list 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-folded-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list snippet>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list 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 folded result list 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-folded-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-folded-result-list>\n * ```\n * If you don't set this property, the folded result list can be displayed on any tab. Otherwise, the folded result list 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 * The name of the field on which to do the folding. The folded result list component will use the values of this field to resolve the collections of result items.\n *\n * @defaultValue `foldingcollection`\n */\n @Prop({reflect: true}) public collectionField?: string;\n /**\n * The name of the field that determines whether a certain result is a top result containing other child results within a collection.\n *\n * @defaultValue `foldingparent`\n */\n @Prop({reflect: true}) public parentField?: string;\n /**\n * The name of the field that uniquely identifies a result within a collection.\n *\n * @defaultValue `foldingchild`\n */\n @Prop({reflect: true}) public childField?: string;\n\n /**\n * The initial number of child results to request for each folded collection, before expansion.\n *\n * @defaultValue `2`\n *\n * @example For an email thread with a total of 20 messages, using the default value of `2` will request the top two child messages, based on the current sort criteria and query, to be returned as children of the parent message.\n * The user can then click to expand the collection and see the remaining messages that match the current query (that is, not necessarily all remaining 18 messages). Those messages will be sorted based on the current sort criteria (that is, not necessarily by date).\n * For more info on Result Folding, see [Result Folding](https://docs.coveo.com/en/1884).\n **/\n @Prop({reflect: true}) public numberOfFoldedResults = 2;\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 @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.resultRenderingFunction = resultRenderingFunction;\n }\n\n @Listen('atomic/resolveFoldedResultList')\n resolveFoldedResultList(event: FoldedItemListStateContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.foldedResultList);\n }\n\n @Listen('atomic/loadCollection')\n loadCollection(event: CustomEvent<FoldedCollection>) {\n event.preventDefault();\n event.stopPropagation();\n this.foldedResultList.loadCollection(event.detail);\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n try {\n this.foldedResultList = this.initFolding();\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n } catch (e) {\n this.error = e as Error;\n }\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-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: () => this.foldedResultListState.results.length,\n getIsLoading: () => this.foldedResultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.tabManager = buildTabManager(this.bindings.engine);\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private initFolding(\n props: ResultListProps = {options: {}}\n ): FoldedResultList {\n return buildFoldedResultList(this.bindings.engine, {\n options: {\n ...props.options,\n folding: {\n collectionField: this.collectionField,\n parentField: this.parentField,\n childField: this.childField,\n numberOfFoldedResults: this.numberOfFoldedResults,\n },\n },\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState.activeTab\n )\n ) {\n return <Hidden></Hidden>;\n }\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <ItemListGuard\n hasError={this.foldedResultListState.hasError}\n firstRequestExecuted={this.foldedResultListState.firstSearchExecuted}\n hasItems={this.foldedResultListState.hasResults}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n >\n <DisplayWrapper listClasses={listClasses} display={this.display}>\n <ResultsPlaceholdersGuard\n density={this.density}\n imageSize={this.imageSize}\n display={this.display}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={\n this.foldedResultListState.firstSearchExecuted\n }\n hasItems={this.foldedResultListState.hasResults}\n >\n {this.foldedResultListState.results.map((collection, i) => {\n const propsForAtomicResult =\n this.getPropsForAtomicResult(collection);\n return (\n <atomic-result\n {...propsForAtomicResult}\n part=\"outline\"\n ref={(element: HTMLElement) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n ></atomic-result>\n );\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n );\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.foldedResultListState.firstSearchExecuted &&\n this.foldedResultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private getPropsForAtomicResult(collection: FoldedCollection) {\n const result = extractUnfoldedItem(collection);\n\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result: collection,\n renderingFunction: this.resultRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n result.uniqueId,\n this.foldedResultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n}\n"],"version":3}
|
|
@@ -23,7 +23,7 @@ const AtomicFormatCurrency = class {
|
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
25
|
if (this.error) {
|
|
26
|
-
return (index.h("atomic-component-error", { key: '
|
|
26
|
+
return (index.h("atomic-component-error", { key: '2127b708b7670d03ace49fa64a8ee023e1640942', element: this.host, error: this.error }));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
get host() { return index.getElement(this); }
|
|
@@ -35,7 +35,7 @@ const AtomicFormatNumber = class {
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
if (this.error) {
|
|
38
|
-
return (index.h("atomic-component-error", { key: '
|
|
38
|
+
return (index.h("atomic-component-error", { key: '4ebf7e2e84d7b04b6adfcc4ee569fa9a2dcdad4b', element: this.host, error: this.error }));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
get host() { return index.getElement(this); }
|
|
@@ -12,9 +12,9 @@ const AtomicFormatUnit = class {
|
|
|
12
12
|
/**
|
|
13
13
|
* The unit formatting style to use in unit formatting.
|
|
14
14
|
*
|
|
15
|
-
* * "long" (
|
|
16
|
-
* * "short" (
|
|
17
|
-
* * "narrow" (
|
|
15
|
+
* * "long" (for example, 16 litres)
|
|
16
|
+
* * "short" (for example, 16 l)
|
|
17
|
+
* * "narrow" (for example, 16l)
|
|
18
18
|
*/
|
|
19
19
|
this.unitDisplay = 'short';
|
|
20
20
|
this.format = (value, languages) => {
|
|
@@ -38,7 +38,7 @@ const AtomicFormatUnit = class {
|
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
40
|
if (this.error) {
|
|
41
|
-
return (index.h("atomic-component-error", { key: '
|
|
41
|
+
return (index.h("atomic-component-error", { key: 'b3776e106df6ba1d5d215a7713924d7a1f63e577', element: this.host, error: this.error }));
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
get host() { return index.getElement(this); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-format-unit.entry.cjs.js","mappings":";;;;;;;;MAca,gBAAgB;;;;;;;;;;QAkBG,gBAAW,GACvC,OAAO,CAAC;QAaF,WAAM,GAAoB,CAAC,KAAK,EAAE,SAAS;YACjD,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;gBACrC,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;SACJ,CAAC;;;2BAnBA,OAAO;;IAET,iBAAiB;QACf,IAAI;YACFA,sCAAyB,CACvB,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EACnD,IAAI,CAAC,IAAI,CACV,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC7B;KACF;IAUM,MAAM;QACX,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QACEC,qFACE,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,GACO,EAC1B;SACH;KACF;;;;;;","names":["dispatchNumberFormatEvent","h"],"sources":["src/components/search/formats/atomic-format-unit.tsx"],"sourcesContent":["import {Component, Element, Prop, State, h} from '@stencil/core';\nimport {\n dispatchNumberFormatEvent,\n NumberFormatter,\n} from '../../common/formats/format-common';\n\n/**\n * The `atomic-format-unit` component is used for formatting numbers with units.\n * The numerical format of compatible parents will be set according to the properties of this component.\n */\n@Component({\n tag: 'atomic-format-unit',\n shadow: true,\n})\nexport class AtomicFormatUnit {\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The unit to use in unit formatting.\n * Leverages the [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat) constructor.\n * The unit must be [sanctioned unit identifier](https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier)\n */\n @Prop({reflect: true}) public unit!: string;\n /**\n * The unit formatting style to use in unit formatting.\n *\n * * \"long\" (
|
|
1
|
+
{"file":"atomic-format-unit.entry.cjs.js","mappings":";;;;;;;;MAca,gBAAgB;;;;;;;;;;QAkBG,gBAAW,GACvC,OAAO,CAAC;QAaF,WAAM,GAAoB,CAAC,KAAK,EAAE,SAAS;YACjD,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;gBACrC,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;SACJ,CAAC;;;2BAnBA,OAAO;;IAET,iBAAiB;QACf,IAAI;YACFA,sCAAyB,CACvB,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EACnD,IAAI,CAAC,IAAI,CACV,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC7B;KACF;IAUM,MAAM;QACX,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QACEC,qFACE,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,GACO,EAC1B;SACH;KACF;;;;;;","names":["dispatchNumberFormatEvent","h"],"sources":["src/components/search/formats/atomic-format-unit.tsx"],"sourcesContent":["import {Component, Element, Prop, State, h} from '@stencil/core';\nimport {\n dispatchNumberFormatEvent,\n NumberFormatter,\n} from '../../common/formats/format-common';\n\n/**\n * The `atomic-format-unit` component is used for formatting numbers with units.\n * The numerical format of compatible parents will be set according to the properties of this component.\n */\n@Component({\n tag: 'atomic-format-unit',\n shadow: true,\n})\nexport class AtomicFormatUnit {\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The unit to use in unit formatting.\n * Leverages the [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat) constructor.\n * The unit must be [sanctioned unit identifier](https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier)\n */\n @Prop({reflect: true}) public unit!: string;\n /**\n * The unit formatting style to use in unit formatting.\n *\n * * \"long\" (for example, 16 litres)\n * * \"short\" (for example, 16 l)\n * * \"narrow\" (for example, 16l)\n */\n @Prop({reflect: true}) public unitDisplay?: 'long' | 'short' | 'narrow' =\n 'short';\n\n componentWillLoad() {\n try {\n dispatchNumberFormatEvent(\n (value, languages) => this.format(value, languages),\n this.host\n );\n } catch (error) {\n this.error = error as Error;\n }\n }\n\n private format: NumberFormatter = (value, languages) => {\n return value.toLocaleString(languages, {\n style: 'unit',\n unit: this.unit,\n unitDisplay: this.unitDisplay,\n });\n };\n\n public render() {\n if (this.error) {\n return (\n <atomic-component-error\n element={this.host}\n error={this.error}\n ></atomic-component-error>\n );\n }\n }\n}\n"],"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 close = require('./close-20739950.js');
|
|
7
|
-
const initializationUtils = require('./initialization-utils-
|
|
7
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
8
8
|
const replaceBreakpointUtils = require('./replace-breakpoint-utils-47f2eaa4.js');
|
|
9
9
|
const utils = require('./utils-39abd753.js');
|
|
10
10
|
const exportParts = require('./export-parts-878c454a.js');
|
|
@@ -14,6 +14,7 @@ const stencilFieldsetGroup = require('./stencil-fieldset-group-c5e6860f.js');
|
|
|
14
14
|
const stencilRadioButton = require('./stencil-radio-button-a90b0c64.js');
|
|
15
15
|
require('./dom-utils-d4790328.js');
|
|
16
16
|
require('./event-utils-9bfcf3c5.js');
|
|
17
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
17
18
|
require('./purify-d8fb6acd.js');
|
|
18
19
|
require('./_commonjsHelpers-68cdf74f.js');
|
|
19
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-generated-answer-feedback-modal.entry.cjs.js","mappings":"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","names":["randomID","once","updateBreakpoints","h","IconButton","CloseIcon","RadioButton","FieldsetGroup","Button","ATOMIC_MODAL_EXPORT_PARTS","InitializeBindings"],"sources":["src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.pcss?tag=atomic-generated-answer-feedback-modal&encapsulation=shadow","src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n@utility mobile-feedback-modal {\n &::part(container) {\n @apply w-auto min-w-full;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-full;\n }\n [part='buttons'] {\n .required-label {\n @apply text-sm;\n }\n }\n [part='form'] {\n .answer-evaluation {\n @apply block;\n }\n\n .options {\n @apply mt-2;\n }\n }\n [part='modal-header'] {\n .hide {\n @apply hidden;\n }\n }\n}\n\n[part='generated-answer-feedback-modal'] {\n &::part(container) {\n @apply min-w-170;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-170;\n }\n\n @media not all and (width >= theme(--breakpoint-desktop)) {\n @apply mobile-feedback-modal;\n }\n}\n\n[part='form'] {\n .active {\n @apply border-primary-light text-primary-light bg-primary-background;\n }\n .text-error-red {\n @apply text-inline-code;\n }\n .required {\n @apply flex;\n }\n}\n","import {\n GeneratedAnswer,\n GeneratedAnswerFeedback,\n GeneratedAnswerFeedbackOption,\n} from '@coveo/headless';\nimport {\n Component,\n State,\n h,\n Watch,\n Prop,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core/internal';\nimport CloseIcon from '../../../../images/close.svg';\nimport Success from '../../../../images/success.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {updateBreakpoints} from '../../../../utils/replace-breakpoint-utils';\nimport {once, randomID} from '../../../../utils/utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../atomic-modal/export-parts';\nimport {IconButton} from '../../stencil-iconButton';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\nimport {RadioButton} from '../../stencil-radio-button';\n\n/**\n * Internal component, only to use through `atomic-generated-answer` or `atomic-insight-generated-answer`\n */\n@Component({\n tag: 'atomic-generated-answer-feedback-modal',\n styleUrl: 'atomic-generated-answer-feedback-modal.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswerFeedbackModal\n implements InitializableComponent<AnyBindings>\n{\n @InitializeBindings() public bindings!: AnyBindings;\n @Element() public host!: HTMLElement;\n\n /**\n * Indicates whether the modal is open.\n */\n @Prop({reflect: true, mutable: true}) isOpen = false;\n /**\n * A `GeneratedAnswer` controller instance. It is used when the user interacts with the modal.\n */\n @Prop({reflect: true, mutable: true}) generatedAnswer!: GeneratedAnswer;\n /**\n * Indicates whether the answer was helpful or not.\n */\n @Prop({reflect: true, mutable: true}) helpful = false;\n\n @State() public error!: Error;\n @State() private currentAnswer: Partial<GeneratedAnswerFeedback> =\n this.getInitialAnswerState();\n @State() feedbackSubmitted: boolean = false;\n @State() answerEvaluationRequired: boolean = false;\n\n private readonly formId = randomID(\n 'atomic-generated-answer-feedback-modal-form-'\n );\n private detailsInputRef?: HTMLTextAreaElement;\n\n private linkInputRef?: HTMLInputElement;\n\n @Event() feedbackSent!: EventEmitter;\n\n @Watch('isOpen')\n watchToggleOpen(isOpen: boolean) {\n if (isOpen) {\n this.generatedAnswer.openFeedbackModal();\n }\n }\n\n private static options: {\n localeKey: string;\n correspondingAnswer: keyof GeneratedAnswerFeedback;\n }[] = [\n {\n localeKey: 'feedback-correct-topic',\n correspondingAnswer: 'correctTopic',\n },\n {\n localeKey: 'feedback-hallucination-free',\n correspondingAnswer: 'hallucinationFree',\n },\n {\n localeKey: 'feedback-documented',\n correspondingAnswer: 'documented',\n },\n {\n localeKey: 'feedback-readable',\n correspondingAnswer: 'readable',\n },\n ];\n\n private getInitialAnswerState(): Partial<GeneratedAnswerFeedback> {\n return {\n documented: undefined,\n correctTopic: undefined,\n hallucinationFree: undefined,\n readable: undefined,\n };\n }\n\n private resetState() {\n this.feedbackSubmitted = false;\n this.currentAnswer = this.getInitialAnswerState();\n this.answerEvaluationRequired = false;\n this.isOpen = false;\n }\n\n private clearInputRefs() {\n if (this.detailsInputRef) {\n this.detailsInputRef.value = '';\n }\n if (this.linkInputRef) {\n this.linkInputRef.value = '';\n }\n }\n\n private close() {\n this.clearInputRefs();\n this.resetState();\n this.generatedAnswer.closeFeedbackModal();\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private setCurrentAnswer(\n key: keyof GeneratedAnswerFeedback,\n value: GeneratedAnswerFeedbackOption | string\n ) {\n this.currentAnswer = {\n ...this.currentAnswer,\n [key]: value,\n };\n }\n\n public sendFeedback() {\n const feedback: GeneratedAnswerFeedback = {\n ...(this.currentAnswer as GeneratedAnswerFeedback),\n helpful: this.helpful,\n };\n this.generatedAnswer.sendFeedback(feedback);\n this.feedbackSent.emit();\n }\n\n private isAnyAnswerEvaluationUndefined = () => {\n return Object.values(this.currentAnswer).some(\n (value) => value === undefined\n );\n };\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n if (this.isAnyAnswerEvaluationUndefined()) {\n this.answerEvaluationRequired = true;\n return;\n }\n this.feedbackSubmitted = true;\n this.answerEvaluationRequired = false;\n this.sendFeedback();\n }\n\n private renderHeader() {\n return (\n <div\n slot=\"header\"\n part=\"modal-header\"\n class=\"flex w-full items-center justify-between\"\n >\n <h1>\n <span>{this.bindings.i18n.t('feedback-modal-title')}</span>\n <span class=\"hide ml-0.5\">\n {this.bindings.i18n.t('additional-feedback')}\n </span>\n </h1>\n <IconButton\n style=\"text-transparent\"\n class=\"search-clear-button\"\n onClick={() => this.close()}\n icon={CloseIcon}\n partPrefix={'close'}\n ariaLabel={this.bindings.i18n.t('close')}\n />\n </div>\n );\n }\n\n private renderFeedbackOption(\n option: GeneratedAnswerFeedbackOption,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const buttonClasses = [\n 'min-w-20',\n 'flex',\n 'items-center',\n 'justify-center',\n 'px-3',\n 'py-1.5',\n 'mr-1',\n 'text-neutral-dark',\n ];\n const isSelected = this.currentAnswer[correspondingAnswer] === option;\n\n if (isSelected) {\n buttonClasses.push('active');\n }\n return (\n <RadioButton\n key={String(correspondingAnswer)}\n groupName={this.bindings.i18n.t(correspondingAnswer)}\n style=\"outline-neutral\"\n checked={isSelected}\n aria-checked={isSelected}\n onChecked={() => {\n this.setCurrentAnswer(correspondingAnswer, option);\n }}\n class={buttonClasses.join(' ')}\n text={this.bindings.i18n.t(option)}\n ></RadioButton>\n );\n }\n\n private renderAnswerEvaluation(\n label: string,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const labelClasses = ['text-error-red', 'text-sm', 'hidden'];\n const isRequired =\n this.answerEvaluationRequired &&\n this.currentAnswer[correspondingAnswer] === undefined;\n if (isRequired) {\n labelClasses.push('required');\n }\n return (\n <div class=\"block\">\n <div class=\"flex\">\n <label class=\"text-base\">\n {this.bindings.i18n.t(label)}\n <span class=\"text-error-red ml-0.5\">*</span>\n </label>\n </div>\n <span class={labelClasses.join(' ')}>\n {this.bindings.i18n.t('required-fields-error')}\n </span>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('answer-evaluation')}\n </legend>\n {AtomicGeneratedAnswerFeedbackModal.options.map(\n ({localeKey, correspondingAnswer}) => (\n <FieldsetGroup label={this.bindings.i18n.t(localeKey)}>\n <div\n class={`answer-evaluation mt-3 flex items-center justify-between ${String(correspondingAnswer)}`}\n key={String(correspondingAnswer)}\n >\n {this.renderAnswerEvaluation(localeKey, correspondingAnswer)}\n <div\n class=\"options flex text-base\"\n aria-label={this.bindings.i18n.t(localeKey)}\n >\n {this.renderFeedbackOption('yes', correspondingAnswer)}\n {this.renderFeedbackOption('unknown', correspondingAnswer)}\n {this.renderFeedbackOption('no', correspondingAnswer)}\n </div>\n </div>\n </FieldsetGroup>\n )\n )}\n </fieldset>\n );\n }\n\n private renderLinkToCorrectAnswerField() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('generated-answer-feedback-link')}\n </legend>\n <input\n type=\"text\"\n ref={(linkInputRef) => (this.linkInputRef = linkInputRef)}\n placeholder=\"https://URL\"\n class=\"input-primary placeholder-neutral-dark mt-4 h-9 w-full rounded-md px-4\"\n onChange={(e) =>\n this.setCurrentAnswer(\n 'documentUrl',\n (e.currentTarget as HTMLInputElement).value\n )\n }\n />\n </fieldset>\n );\n }\n\n private renderAddNotesField() {\n return (\n <fieldset>\n <legend class=\"mt-8 font-bold\">\n {this.bindings.i18n.t('generated-answer-additional-notes')}\n </legend>\n <textarea\n name=\"answer-details\"\n ref={(detailsInput) => (this.detailsInputRef = detailsInput)}\n class=\"placeholder-neutral-dark border-neutral hover:border-primary-light focus-visible:border-primary mt-4 w-full resize-none rounded-md border px-4 py-2 leading-5 focus:outline-hidden focus-visible:ring-2\"\n rows={4}\n placeholder={this.bindings.i18n.t('add-notes')}\n onChange={(e) =>\n this.setCurrentAnswer(\n 'details',\n (e.currentTarget as HTMLTextAreaElement).value\n )\n }\n ></textarea>\n </fieldset>\n );\n }\n\n private renderFeedbackForm() {\n return (\n <form\n part=\"form\"\n id={this.formId}\n slot=\"body\"\n onSubmit={(e) => this.handleSubmit(e)}\n class=\"flex flex-col gap-8 leading-4\"\n >\n {this.renderOptions()}\n {this.renderLinkToCorrectAnswerField()}\n {this.renderAddNotesField()}\n </form>\n );\n }\n\n private renderSuccessMessage() {\n return (\n <div slot=\"body\" class=\"my-4 flex flex-col items-center gap-4\">\n <atomic-icon icon={Success} class=\"w-48\" />\n <p class=\"text-base\">\n {this.bindings.i18n.t('generated-answer-feedback-success')}\n </p>\n </div>\n );\n }\n\n private renderBody() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackForm();\n } else {\n return this.renderSuccessMessage();\n }\n }\n\n private renderFeedbackFormFooter() {\n const buttonClasses =\n 'flex items-center justify-center text-sm leading-4 p-2 rounded-md';\n\n return (\n <div slot=\"footer\" part=\"modal-footer\">\n <div class=\"flex items-center justify-between\">\n <div class=\"required-label text-base\">\n <span class=\"text-error mr-0.5\">*</span>\n {this.bindings.i18n.t('required-fields')}\n </div>\n <div class=\"flex gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-primary\"\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('skip')}\n onClick={() => this.close()}\n >\n {this.bindings.i18n.t('skip')}\n </Button>\n <Button\n part=\"submit-button\"\n style=\"primary\"\n type=\"submit\"\n form={this.formId}\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('generated-answer-send-feedback')}\n >\n {this.bindings.i18n.t('generated-answer-send-feedback')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n private renderSuccessFormFooter() {\n return (\n <div slot=\"footer\">\n <div class=\"flex justify-end gap-2 p-2\">\n <Button\n part=\"cancel-button\"\n style=\"primary\"\n onClick={() => this.close()}\n class=\"flex justify-center p-2 text-sm leading-4\"\n ariaLabel={this.bindings.i18n.t('modal-done')}\n >\n {this.bindings.i18n.t('modal-done')}\n </Button>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackFormFooter();\n } else {\n return this.renderSuccessFormFooter();\n }\n }\n\n public render() {\n this.updateBreakpoints();\n\n return (\n <atomic-modal\n fullscreen={false}\n isOpen={this.isOpen}\n close={() => this.close()}\n container={this.host}\n part=\"generated-answer-feedback-modal\"\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-generated-answer-feedback-modal.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,qCAAqC,GAAG,mznEAAmznE,CAAC;AACl2nE,iDAAe,qCAAqC;;;;;;;;;;;;MCqCvC,kCAAkC;;;;;;;QASP,WAAM,GAAG,KAAK,CAAC;;;;QAQf,YAAO,GAAG,KAAK,CAAC;QAGrC,kBAAa,GAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtB,sBAAiB,GAAY,KAAK,CAAC;QACnC,6BAAwB,GAAY,KAAK,CAAC;QAElC,WAAM,GAAGA,cAAQ,CAChC,8CAA8C,CAC/C,CAAC;QAmEM,sBAAiB,GAAGC,UAAI,CAAC,MAAMC,wCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAqB7D,mCAA8B,GAAG;YACvC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAC3C,CAAC,KAAK,KAAK,KAAK,KAAK,SAAS,CAC/B,CAAC;SACH,CAAC;sBA9G6C,KAAK;;uBAQJ,KAAK;;6BAInD,IAAI,CAAC,qBAAqB,EAAE;iCACQ,KAAK;wCACE,KAAK;;IAYlD,eAAe,CAAC,MAAe;QAC7B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;SAC1C;KACF;IAwBO,qBAAqB;QAC3B,OAAO;YACL,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,SAAS;YAC5B,QAAQ,EAAE,SAAS;SACpB,CAAC;KACH;IAEO,UAAU;QAChB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;SAC9B;KACF;IAEO,KAAK;QACX,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;KAC3C;IAIO,gBAAgB,CACtB,GAAkC,EAClC,KAA6C;QAE7C,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG,IAAI,CAAC,aAAa;YACrB,CAAC,GAAG,GAAG,KAAK;SACb,CAAC;KACH;IAEM,YAAY;QACjB,MAAM,QAAQ,GAA4B;YACxC,GAAI,IAAI,CAAC,aAAyC;YAClD,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAQO,YAAY,CAAC,CAAQ;QAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,8BAA8B,EAAE,EAAE;YACzC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,YAAY;QAClB,QACEC,iBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,0CAA0C,IAEhDA,oBACEA,sBAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAQ,EAC3DA,kBAAM,KAAK,EAAC,aAAa,IACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACvC,CACJ,EACLA,QAACC,4BAAU,IACT,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAC3B,IAAI,EAAEC,eAAS,EACf,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GACxC,CACE,EACN;KACH;IAEO,oBAAoB,CAC1B,MAAqC,EACrC,mBAAkD;QAElD,MAAM,aAAa,GAAG;YACpB,UAAU;YACV,MAAM;YACN,cAAc;YACd,gBAAgB;YAChB,MAAM;YACN,QAAQ;YACR,MAAM;YACN,mBAAmB;SACpB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,MAAM,CAAC;QAEtE,IAAI,UAAU,EAAE;YACd,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;QACD,QACEF,QAACG,8BAAW,IACV,GAAG,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAChC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACpD,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,UAAU,kBACL,UAAU,EACxB,SAAS,EAAE;gBACT,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;aACpD,EACD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GACrB,EACf;KACH;IAEO,sBAAsB,CAC5B,KAAa,EACb,mBAAkD;QAElD,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,UAAU,GACd,IAAI,CAAC,wBAAwB;YAC7B,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAAC;QACxD,IAAI,UAAU,EAAE;YACd,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/B;QACD,QACEH,iBAAK,KAAK,EAAC,OAAO,IAChBA,iBAAK,KAAK,EAAC,MAAM,IACfA,mBAAO,KAAK,EAAC,WAAW,IACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5BA,kBAAM,KAAK,EAAC,uBAAuB,QAAS,CACtC,CACJ,EACNA,kBAAM,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACzC,CACH,EACN;KACH;IAEO,aAAa;QACnB,QACEA,0BACEA,oBAAQ,KAAK,EAAC,WAAW,IACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CACnC,EACR,kCAAkC,CAAC,OAAO,CAAC,GAAG,CAC7C,CAAC,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAC/BA,QAACI,kCAAa,IAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IACnDJ,iBACE,KAAK,EAAE,4DAA4D,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAChG,GAAG,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAE/B,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAC5DA,iBACE,KAAK,EAAC,wBAAwB,gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAE1C,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,CAAC,EACrD,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,CAAC,EACzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CACjD,CACF,CACQ,CACjB,CACF,CACQ,EACX;KACH;IAEO,8BAA8B;QACpC,QACEA,0BACEA,oBAAQ,KAAK,EAAC,WAAW,IACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAChD,EACTA,mBACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,EACzD,WAAW,EAAC,aAAa,EACzB,KAAK,EAAC,wEAAwE,EAC9E,QAAQ,EAAE,CAAC,CAAC,KACV,IAAI,CAAC,gBAAgB,CACnB,aAAa,EACZ,CAAC,CAAC,aAAkC,CAAC,KAAK,CAC5C,GAEH,CACO,EACX;KACH;IAEO,mBAAmB;QACzB,QACEA,0BACEA,oBAAQ,KAAK,EAAC,gBAAgB,IAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,CAAC,CACnD,EACTA,sBACE,IAAI,EAAC,gBAAgB,EACrB,GAAG,EAAE,CAAC,YAAY,MAAM,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,EAC5D,KAAK,EAAC,yMAAyM,EAC/M,IAAI,EAAE,CAAC,EACP,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAC9C,QAAQ,EAAE,CAAC,CAAC,KACV,IAAI,CAAC,gBAAgB,CACnB,SAAS,EACR,CAAC,CAAC,aAAqC,CAAC,KAAK,CAC/C,GAEO,CACH,EACX;KACH;IAEO,kBAAkB;QACxB,QACEA,kBACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EACrC,KAAK,EAAC,+BAA+B,IAEpC,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,8BAA8B,EAAE,EACrC,IAAI,CAAC,mBAAmB,EAAE,CACtB,EACP;KACH;IAEO,oBAAoB;QAC1B,QACEA,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,uCAAuC,IAC5DA,yBAAa,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,GAAG,EAC3CA,eAAG,KAAK,EAAC,WAAW,IACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,CAAC,CACxD,CACA,EACN;KACH;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAClC;aAAM;YACL,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACpC;KACF;IAEO,wBAAwB;QAC9B,MAAM,aAAa,GACjB,mEAAmE,CAAC;QAEtE,QACEA,iBAAK,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,IACpCA,iBAAK,KAAK,EAAC,mCAAmC,IAC5CA,iBAAK,KAAK,EAAC,0BAA0B,IACnCA,kBAAM,KAAK,EAAC,mBAAmB,QAAS,EACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CACpC,EACNA,iBAAK,KAAK,EAAC,YAAY,IACrBA,QAACK,oBAAM,IACL,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACvC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,IAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CACtB,EACTL,QAACK,oBAAM,IACL,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,MAAM,EACjB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAEhE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAChD,CACL,CACF,CACF,EACN;KACH;IAEO,uBAAuB;QAC7B,QACEL,iBAAK,IAAI,EAAC,QAAQ,IAChBA,iBAAK,KAAK,EAAC,4BAA4B,IACrCA,QAACK,oBAAM,IACL,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAC3B,KAAK,EAAC,2CAA2C,EACjD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAE5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAC5B,CACL,CACF,EACN;KACH;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACxC;aAAM;YACL,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;SACvC;KACF;IAEM,MAAM;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,QACEL,2EACE,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EACpB,IAAI,EAAC,iCAAiC,EACtC,WAAW,EAAEM,qCAAyB,IAErC,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,YAAY,EAAE,CACP,EACf;KACH;;;;;;AA/Wc,0CAAO,GAGhB;IACJ;QACE,SAAS,EAAE,wBAAwB;QACnC,mBAAmB,EAAE,cAAc;KACpC;IACD;QACE,SAAS,EAAE,6BAA6B;QACxC,mBAAmB,EAAE,mBAAmB;KACzC;IACD;QACE,SAAS,EAAE,qBAAqB;QAChC,mBAAmB,EAAE,YAAY;KAClC;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,mBAAmB,EAAE,UAAU;KAChC;CAnBmB,CAoBpB;AA1D2B;IAA5BC,sCAAkB,EAAE;oEAA+B;;;;;","names":["randomID","once","updateBreakpoints","h","IconButton","CloseIcon","RadioButton","FieldsetGroup","Button","ATOMIC_MODAL_EXPORT_PARTS","InitializeBindings"],"sources":["src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.pcss?tag=atomic-generated-answer-feedback-modal&encapsulation=shadow","src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n@utility mobile-feedback-modal {\n &::part(container) {\n @apply w-auto min-w-full;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-full;\n }\n [part='buttons'] {\n .required-label {\n @apply text-sm;\n }\n }\n [part='form'] {\n .answer-evaluation {\n @apply block;\n }\n\n .options {\n @apply mt-2;\n }\n }\n [part='modal-header'] {\n .hide {\n @apply hidden;\n }\n }\n}\n\n[part='generated-answer-feedback-modal'] {\n &::part(container) {\n @apply min-w-170;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-170;\n }\n\n @media not all and (width >= theme(--breakpoint-desktop)) {\n @apply mobile-feedback-modal;\n }\n}\n\n[part='form'] {\n .active {\n @apply border-primary-light text-primary-light bg-primary-background;\n }\n .text-error-red {\n @apply text-inline-code;\n }\n .required {\n @apply flex;\n }\n}\n","import {\n GeneratedAnswer,\n GeneratedAnswerFeedback,\n GeneratedAnswerFeedbackOption,\n} from '@coveo/headless';\nimport {\n Component,\n State,\n h,\n Watch,\n Prop,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core/internal';\nimport CloseIcon from '../../../../images/close.svg';\nimport Success from '../../../../images/success.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {updateBreakpoints} from '../../../../utils/replace-breakpoint-utils';\nimport {once, randomID} from '../../../../utils/utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../atomic-modal/export-parts';\nimport {IconButton} from '../../stencil-iconButton';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\nimport {RadioButton} from '../../stencil-radio-button';\n\n/**\n * Internal component, only to use through `atomic-generated-answer` or `atomic-insight-generated-answer`\n */\n@Component({\n tag: 'atomic-generated-answer-feedback-modal',\n styleUrl: 'atomic-generated-answer-feedback-modal.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswerFeedbackModal\n implements InitializableComponent<AnyBindings>\n{\n @InitializeBindings() public bindings!: AnyBindings;\n @Element() public host!: HTMLElement;\n\n /**\n * Indicates whether the modal is open.\n */\n @Prop({reflect: true, mutable: true}) isOpen = false;\n /**\n * A `GeneratedAnswer` controller instance. It is used when the user interacts with the modal.\n */\n @Prop({reflect: true, mutable: true}) generatedAnswer!: GeneratedAnswer;\n /**\n * Indicates whether the answer was helpful or not.\n */\n @Prop({reflect: true, mutable: true}) helpful = false;\n\n @State() public error!: Error;\n @State() private currentAnswer: Partial<GeneratedAnswerFeedback> =\n this.getInitialAnswerState();\n @State() feedbackSubmitted: boolean = false;\n @State() answerEvaluationRequired: boolean = false;\n\n private readonly formId = randomID(\n 'atomic-generated-answer-feedback-modal-form-'\n );\n private detailsInputRef?: HTMLTextAreaElement;\n\n private linkInputRef?: HTMLInputElement;\n\n @Event() feedbackSent!: EventEmitter;\n\n @Watch('isOpen')\n watchToggleOpen(isOpen: boolean) {\n if (isOpen) {\n this.generatedAnswer.openFeedbackModal();\n }\n }\n\n private static options: {\n localeKey: string;\n correspondingAnswer: keyof GeneratedAnswerFeedback;\n }[] = [\n {\n localeKey: 'feedback-correct-topic',\n correspondingAnswer: 'correctTopic',\n },\n {\n localeKey: 'feedback-hallucination-free',\n correspondingAnswer: 'hallucinationFree',\n },\n {\n localeKey: 'feedback-documented',\n correspondingAnswer: 'documented',\n },\n {\n localeKey: 'feedback-readable',\n correspondingAnswer: 'readable',\n },\n ];\n\n private getInitialAnswerState(): Partial<GeneratedAnswerFeedback> {\n return {\n documented: undefined,\n correctTopic: undefined,\n hallucinationFree: undefined,\n readable: undefined,\n };\n }\n\n private resetState() {\n this.feedbackSubmitted = false;\n this.currentAnswer = this.getInitialAnswerState();\n this.answerEvaluationRequired = false;\n this.isOpen = false;\n }\n\n private clearInputRefs() {\n if (this.detailsInputRef) {\n this.detailsInputRef.value = '';\n }\n if (this.linkInputRef) {\n this.linkInputRef.value = '';\n }\n }\n\n private close() {\n this.clearInputRefs();\n this.resetState();\n this.generatedAnswer.closeFeedbackModal();\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private setCurrentAnswer(\n key: keyof GeneratedAnswerFeedback,\n value: GeneratedAnswerFeedbackOption | string\n ) {\n this.currentAnswer = {\n ...this.currentAnswer,\n [key]: value,\n };\n }\n\n public sendFeedback() {\n const feedback: GeneratedAnswerFeedback = {\n ...(this.currentAnswer as GeneratedAnswerFeedback),\n helpful: this.helpful,\n };\n this.generatedAnswer.sendFeedback(feedback);\n this.feedbackSent.emit();\n }\n\n private isAnyAnswerEvaluationUndefined = () => {\n return Object.values(this.currentAnswer).some(\n (value) => value === undefined\n );\n };\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n if (this.isAnyAnswerEvaluationUndefined()) {\n this.answerEvaluationRequired = true;\n return;\n }\n this.feedbackSubmitted = true;\n this.answerEvaluationRequired = false;\n this.sendFeedback();\n }\n\n private renderHeader() {\n return (\n <div\n slot=\"header\"\n part=\"modal-header\"\n class=\"flex w-full items-center justify-between\"\n >\n <h1>\n <span>{this.bindings.i18n.t('feedback-modal-title')}</span>\n <span class=\"hide ml-0.5\">\n {this.bindings.i18n.t('additional-feedback')}\n </span>\n </h1>\n <IconButton\n style=\"text-transparent\"\n class=\"search-clear-button\"\n onClick={() => this.close()}\n icon={CloseIcon}\n partPrefix={'close'}\n ariaLabel={this.bindings.i18n.t('close')}\n />\n </div>\n );\n }\n\n private renderFeedbackOption(\n option: GeneratedAnswerFeedbackOption,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const buttonClasses = [\n 'min-w-20',\n 'flex',\n 'items-center',\n 'justify-center',\n 'px-3',\n 'py-1.5',\n 'mr-1',\n 'text-neutral-dark',\n ];\n const isSelected = this.currentAnswer[correspondingAnswer] === option;\n\n if (isSelected) {\n buttonClasses.push('active');\n }\n return (\n <RadioButton\n key={String(correspondingAnswer)}\n groupName={this.bindings.i18n.t(correspondingAnswer)}\n style=\"outline-neutral\"\n checked={isSelected}\n aria-checked={isSelected}\n onChecked={() => {\n this.setCurrentAnswer(correspondingAnswer, option);\n }}\n class={buttonClasses.join(' ')}\n text={this.bindings.i18n.t(option)}\n ></RadioButton>\n );\n }\n\n private renderAnswerEvaluation(\n label: string,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const labelClasses = ['text-error-red', 'text-sm', 'hidden'];\n const isRequired =\n this.answerEvaluationRequired &&\n this.currentAnswer[correspondingAnswer] === undefined;\n if (isRequired) {\n labelClasses.push('required');\n }\n return (\n <div class=\"block\">\n <div class=\"flex\">\n <label class=\"text-base\">\n {this.bindings.i18n.t(label)}\n <span class=\"text-error-red ml-0.5\">*</span>\n </label>\n </div>\n <span class={labelClasses.join(' ')}>\n {this.bindings.i18n.t('required-fields-error')}\n </span>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('answer-evaluation')}\n </legend>\n {AtomicGeneratedAnswerFeedbackModal.options.map(\n ({localeKey, correspondingAnswer}) => (\n <FieldsetGroup label={this.bindings.i18n.t(localeKey)}>\n <div\n class={`answer-evaluation mt-3 flex items-center justify-between ${String(correspondingAnswer)}`}\n key={String(correspondingAnswer)}\n >\n {this.renderAnswerEvaluation(localeKey, correspondingAnswer)}\n <div\n class=\"options flex text-base\"\n aria-label={this.bindings.i18n.t(localeKey)}\n >\n {this.renderFeedbackOption('yes', correspondingAnswer)}\n {this.renderFeedbackOption('unknown', correspondingAnswer)}\n {this.renderFeedbackOption('no', correspondingAnswer)}\n </div>\n </div>\n </FieldsetGroup>\n )\n )}\n </fieldset>\n );\n }\n\n private renderLinkToCorrectAnswerField() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('generated-answer-feedback-link')}\n </legend>\n <input\n type=\"text\"\n ref={(linkInputRef) => (this.linkInputRef = linkInputRef)}\n placeholder=\"https://URL\"\n class=\"input-primary placeholder-neutral-dark mt-4 h-9 w-full rounded-md px-4\"\n onChange={(e) =>\n this.setCurrentAnswer(\n 'documentUrl',\n (e.currentTarget as HTMLInputElement).value\n )\n }\n />\n </fieldset>\n );\n }\n\n private renderAddNotesField() {\n return (\n <fieldset>\n <legend class=\"mt-8 font-bold\">\n {this.bindings.i18n.t('generated-answer-additional-notes')}\n </legend>\n <textarea\n name=\"answer-details\"\n ref={(detailsInput) => (this.detailsInputRef = detailsInput)}\n class=\"placeholder-neutral-dark border-neutral hover:border-primary-light focus-visible:border-primary mt-4 w-full resize-none rounded-md border px-4 py-2 leading-5 focus:outline-hidden focus-visible:ring-2\"\n rows={4}\n placeholder={this.bindings.i18n.t('add-notes')}\n onChange={(e) =>\n this.setCurrentAnswer(\n 'details',\n (e.currentTarget as HTMLTextAreaElement).value\n )\n }\n ></textarea>\n </fieldset>\n );\n }\n\n private renderFeedbackForm() {\n return (\n <form\n part=\"form\"\n id={this.formId}\n slot=\"body\"\n onSubmit={(e) => this.handleSubmit(e)}\n class=\"flex flex-col gap-8 leading-4\"\n >\n {this.renderOptions()}\n {this.renderLinkToCorrectAnswerField()}\n {this.renderAddNotesField()}\n </form>\n );\n }\n\n private renderSuccessMessage() {\n return (\n <div slot=\"body\" class=\"my-4 flex flex-col items-center gap-4\">\n <atomic-icon icon={Success} class=\"w-48\" />\n <p class=\"text-base\">\n {this.bindings.i18n.t('generated-answer-feedback-success')}\n </p>\n </div>\n );\n }\n\n private renderBody() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackForm();\n } else {\n return this.renderSuccessMessage();\n }\n }\n\n private renderFeedbackFormFooter() {\n const buttonClasses =\n 'flex items-center justify-center text-sm leading-4 p-2 rounded-md';\n\n return (\n <div slot=\"footer\" part=\"modal-footer\">\n <div class=\"flex items-center justify-between\">\n <div class=\"required-label text-base\">\n <span class=\"text-error mr-0.5\">*</span>\n {this.bindings.i18n.t('required-fields')}\n </div>\n <div class=\"flex gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-primary\"\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('skip')}\n onClick={() => this.close()}\n >\n {this.bindings.i18n.t('skip')}\n </Button>\n <Button\n part=\"submit-button\"\n style=\"primary\"\n type=\"submit\"\n form={this.formId}\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('generated-answer-send-feedback')}\n >\n {this.bindings.i18n.t('generated-answer-send-feedback')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n private renderSuccessFormFooter() {\n return (\n <div slot=\"footer\">\n <div class=\"flex justify-end gap-2 p-2\">\n <Button\n part=\"cancel-button\"\n style=\"primary\"\n onClick={() => this.close()}\n class=\"flex justify-center p-2 text-sm leading-4\"\n ariaLabel={this.bindings.i18n.t('modal-done')}\n >\n {this.bindings.i18n.t('modal-done')}\n </Button>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackFormFooter();\n } else {\n return this.renderSuccessFormFooter();\n }\n }\n\n public render() {\n this.updateBreakpoints();\n\n return (\n <atomic-modal\n fullscreen={false}\n isOpen={this.isOpen}\n close={() => this.close()}\n container={this.host}\n part=\"generated-answer-feedback-modal\"\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const headless = require('@coveo/headless');
|
|
7
7
|
const debounceUtils = require('./debounce-utils-d26bcad4.js');
|
|
8
|
-
const initializationUtils = require('./initialization-utils-
|
|
8
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
9
9
|
const propsUtils = require('./props-utils-0a4be1ba.js');
|
|
10
10
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-6311883f.js');
|
|
11
11
|
const tabUtils = require('./tab-utils-d202a0aa.js');
|
|
12
|
-
const generatedAnswerCommon = require('./generated-answer-common-
|
|
12
|
+
const generatedAnswerCommon = require('./generated-answer-common-927e3ee0.js');
|
|
13
13
|
require('./dom-utils-d4790328.js');
|
|
14
14
|
require('./event-utils-9bfcf3c5.js');
|
|
15
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
15
16
|
require('@coveo/bueno');
|
|
16
17
|
require('./utils-39abd753.js');
|
|
17
18
|
require('./purify-d8fb6acd.js');
|
|
@@ -53,7 +54,7 @@ const AtomicGeneratedAnswer = class {
|
|
|
53
54
|
/**
|
|
54
55
|
* The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.
|
|
55
56
|
*
|
|
56
|
-
* Set this property as a stringified JSON array,
|
|
57
|
+
* Set this property as a stringified JSON array, for example:
|
|
57
58
|
* ```html
|
|
58
59
|
* <atomic-generated-answer tabs-included='["tabIDA", "tabIDB"]'></atomic-generated-answer>
|
|
59
60
|
* ```
|
|
@@ -63,7 +64,7 @@ const AtomicGeneratedAnswer = class {
|
|
|
63
64
|
/**
|
|
64
65
|
* The tabs on which this generated answer must not be displayed. This property should not be used at the same time as `tabs-included`.
|
|
65
66
|
*
|
|
66
|
-
* Set this property as a stringified JSON array,
|
|
67
|
+
* Set this property as a stringified JSON array, for example:
|
|
67
68
|
* ```html
|
|
68
69
|
* <atomic-generated-answer tabs-excluded='["tabIDA", "tabIDB"]'></atomic-generated-answer>
|
|
69
70
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInteractiveCitation","buildGeneratedAnswer","buildSearchStatus","debounce","buildTabManager","shouldDisplayOnCurrentTab","h","Hidden","InitializeBindings","BindStateToController","ArrayProp","AriaLiveRegion"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Watch, h} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS = ['filetype'];\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than the specified `--atomic-crga-collapsed-height` value (16rem by default).\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations?: string;\n\n /**\n * Option to disable citation anchoring.\n * @default false\n */\n @Prop() disableCitationAnchoring?: boolean;\n\n /**\n * The tabs on which the generated answer 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-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer 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 generated answer 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-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer 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 @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\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 could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n disableCitationAnchoring: this.disableCitationAnchoring,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return (this.fieldsToIncludeInCitations ?? '')\n .split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0)\n .concat(this.REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS)\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer() as HTMLElement;\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInteractiveCitation","buildGeneratedAnswer","buildSearchStatus","debounce","buildTabManager","shouldDisplayOnCurrentTab","h","Hidden","InitializeBindings","BindStateToController","ArrayProp","AriaLiveRegion"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Watch, h} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS = ['filetype'];\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than the specified `--atomic-crga-collapsed-height` value (16rem by default).\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations?: string;\n\n /**\n * Option to disable citation anchoring.\n * @default false\n */\n @Prop() disableCitationAnchoring?: boolean;\n\n /**\n * The tabs on which the generated answer 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-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer 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 generated answer 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-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer 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 @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\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 could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n disableCitationAnchoring: this.disableCitationAnchoring,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return (this.fieldsToIncludeInCitations ?? '')\n .split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0)\n .concat(this.REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS)\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer() as HTMLElement;\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1df73594.js');
|
|
6
6
|
const insight = require('@coveo/headless/insight');
|
|
7
|
-
const initializationUtils = require('./initialization-utils-
|
|
7
|
+
const initializationUtils = require('./initialization-utils-ec6c0bfb.js');
|
|
8
8
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-6311883f.js');
|
|
9
9
|
const dependsOn = require('./depends-on-f0cf3617.js');
|
|
10
10
|
const stencilFacetPlaceholder = require('./stencil-facet-placeholder-d3c0a675.js');
|
|
11
|
-
const stencilFacetGuard = require('./stencil-facet-guard-
|
|
11
|
+
const stencilFacetGuard = require('./stencil-facet-guard-436f3e55.js');
|
|
12
12
|
const stencilFacetShowMoreLess = require('./stencil-facet-show-more-less-67bb08ba.js');
|
|
13
13
|
const fieldUtils = require('./field-utils-a715deca.js');
|
|
14
14
|
const stencilFacetValueBox = require('./stencil-facet-value-box-d882e46f.js');
|
|
@@ -19,6 +19,7 @@ const stencilFacetValuesGroup = require('./stencil-facet-values-group-c74dbb7c.j
|
|
|
19
19
|
const popoverType = require('./popover-type-b1385b27.js');
|
|
20
20
|
require('./dom-utils-d4790328.js');
|
|
21
21
|
require('./event-utils-9bfcf3c5.js');
|
|
22
|
+
require('./initialization-lit-stencil-common-utils-f635e407.js');
|
|
22
23
|
require('./utils-39abd753.js');
|
|
23
24
|
require('./purify-d8fb6acd.js');
|
|
24
25
|
require('./_commonjsHelpers-68cdf74f.js');
|