@coveo/atomic 3.33.8-pre.327721908b → 3.33.8-pre.32dc00f676
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/components/_index.js +19 -19
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-field-condition.js +1 -1
- package/dist/atomic/components/atomic-field-condition.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
- package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview.js +2 -2
- package/dist/atomic/components/atomic-quickview.js.map +1 -1
- package/dist/atomic/components/atomic-result-badge.js +1 -1
- package/dist/atomic/components/atomic-result-badge.js.map +1 -1
- package/dist/atomic/components/atomic-result-children.js +2 -2
- package/dist/atomic/components/atomic-result-children.js.map +1 -1
- package/dist/atomic/components/atomic-result-date.js +1 -1
- package/dist/atomic/components/atomic-result-date.js.map +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +2 -2
- package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-html.js +1 -1
- package/dist/atomic/components/atomic-result-html.js.map +1 -1
- package/dist/atomic/components/atomic-result-icon.js +1 -1
- package/dist/atomic/components/atomic-result-icon.js.map +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 +2 -2
- package/dist/atomic/components/atomic-result-link.js.map +1 -1
- package/dist/atomic/components/atomic-result-localized-text.js +1 -1
- package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
- package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
- package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
- package/dist/atomic/components/atomic-result-number.js +1 -1
- package/dist/atomic/components/atomic-result-number.js.map +1 -1
- package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
- package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
- package/dist/atomic/components/atomic-result-rating.js +1 -1
- package/dist/atomic/components/atomic-result-rating.js.map +1 -1
- package/dist/atomic/components/atomic-result-text2.js +1 -1
- package/dist/atomic/components/atomic-result-text2.js.map +1 -1
- package/dist/atomic/components/atomic-result-timespan.js +1 -1
- package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
- package/dist/atomic/components/atomic-result2.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
- package/dist/atomic/components/bind-analytics-to-link.js +2 -6
- package/dist/atomic/components/bind-analytics-to-link.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -3
- package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.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/commerce/atomic-product-link/atomic-product-link.js +2 -1
- package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
- package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
- package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
- package/dist/atomic/components/components/common/formats/format-common.js +1 -1
- package/dist/atomic/components/components/common/interface/interface-controller.js +1 -3
- package/dist/atomic/components/components/common/item-link/bind-analytics-to-link.js +2 -6
- package/dist/atomic/components/components/common/items-per-page/validate.js +1 -1
- package/dist/atomic/components/components/common/radio-button.js +3 -1
- package/dist/atomic/components/depends-on.js +28 -28
- package/dist/atomic/components/depends-on.js.map +1 -1
- package/dist/atomic/components/format-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/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
- package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/index.esm.js.map +1 -1
- package/dist/atomic/{p-0c8e7d5f.entry.js → p-0112f957.entry.js} +2 -2
- package/dist/atomic/p-0112f957.entry.js.map +1 -0
- package/dist/atomic/{p-a4d277c7.entry.js → p-037de646.entry.js} +2 -2
- package/dist/atomic/p-037de646.entry.js.map +1 -0
- package/dist/atomic/{p-2f8de0b9.entry.js → p-07fbb49a.entry.js} +2 -2
- package/dist/atomic/{p-7e2109e9.entry.js → p-10145d71.entry.js} +2 -2
- package/dist/atomic/p-10145d71.entry.js.map +1 -0
- package/dist/atomic/p-25a96534.js.map +1 -1
- package/dist/atomic/{p-bc0d6d3d.entry.js → p-2cad01bf.entry.js} +2 -2
- package/dist/atomic/p-2cad01bf.entry.js.map +1 -0
- package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
- package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
- package/dist/atomic/{p-557f5cb0.js → p-3f2a66df.js} +2 -2
- package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
- package/dist/atomic/p-4080f740.js.map +1 -0
- package/dist/atomic/{p-e514cdb2.entry.js → p-4a74f4a3.entry.js} +2 -2
- package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
- package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
- package/dist/atomic/p-508b63e7.entry.js.map +1 -1
- package/dist/atomic/{p-214f23a2.entry.js → p-52976c12.entry.js} +2 -2
- package/dist/atomic/{p-43a45453.entry.js → p-594488f2.entry.js} +2 -2
- package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
- package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
- package/dist/atomic/{p-604c4085.entry.js → p-5d19faa4.entry.js} +2 -2
- package/dist/atomic/p-5d19faa4.entry.js.map +1 -0
- package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
- package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
- package/dist/atomic/{p-4dc33bfc.entry.js → p-7626e460.entry.js} +2 -2
- package/dist/atomic/p-7626e460.entry.js.map +1 -0
- package/dist/atomic/{p-c7800a24.entry.js → p-7a50539b.entry.js} +2 -2
- package/dist/atomic/p-7a50539b.entry.js.map +1 -0
- package/dist/atomic/{p-31aa052e.entry.js → p-7ca7b237.entry.js} +2 -2
- package/dist/atomic/p-7ca7b237.entry.js.map +1 -0
- package/dist/atomic/{p-f957027a.entry.js → p-7dcf636e.entry.js} +2 -2
- package/dist/atomic/p-7dcf636e.entry.js.map +1 -0
- package/dist/atomic/{p-49c38b27.entry.js → p-87948ac1.entry.js} +2 -2
- package/dist/atomic/p-87948ac1.entry.js.map +1 -0
- package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
- package/dist/atomic/p-8e964890.entry.js.map +1 -0
- package/dist/atomic/{p-254fed11.entry.js → p-91c0917f.entry.js} +2 -2
- package/dist/atomic/{p-9c9b1965.entry.js → p-92548ab6.entry.js} +2 -2
- package/dist/atomic/{p-dbf0c5a3.entry.js → p-9564d67d.entry.js} +2 -2
- package/dist/atomic/{p-dbf0c5a3.entry.js.map → p-9564d67d.entry.js.map} +1 -1
- package/dist/atomic/{p-006d8b7c.entry.js → p-9f5590f6.entry.js} +2 -2
- package/dist/atomic/{p-8a00adbe.entry.js → p-a425653f.entry.js} +2 -2
- package/dist/atomic/p-a425653f.entry.js.map +1 -0
- package/dist/atomic/p-a5bac939.js +2 -0
- package/dist/atomic/p-a5bac939.js.map +1 -0
- package/dist/atomic/{p-534b6a0a.entry.js → p-a9b32844.entry.js} +2 -2
- package/dist/atomic/{p-c9f1790d.entry.js → p-acb1704c.entry.js} +2 -2
- package/dist/atomic/p-acb1704c.entry.js.map +1 -0
- package/dist/atomic/{p-b7063a0d.entry.js → p-ada63017.entry.js} +2 -2
- package/dist/atomic/{p-08794435.entry.js → p-ba650801.entry.js} +2 -2
- package/dist/atomic/{p-6dcb947c.entry.js → p-bde76abf.entry.js} +2 -2
- package/dist/atomic/{p-ca762513.entry.js → p-c889adbd.entry.js} +2 -2
- package/dist/atomic/{p-80f3a103.entry.js → p-d2173f4d.entry.js} +2 -2
- package/dist/atomic/{p-80f3a103.entry.js.map → p-d2173f4d.entry.js.map} +1 -1
- package/dist/atomic/{p-fda26113.entry.js → p-d716d680.entry.js} +2 -2
- package/dist/atomic/{p-88afc37f.entry.js → p-d84c70b4.entry.js} +2 -2
- package/dist/atomic/p-d84c70b4.entry.js.map +1 -0
- package/dist/atomic/p-dafbe2ef.js +2 -0
- package/dist/atomic/p-dafbe2ef.js.map +1 -0
- package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
- package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
- package/dist/atomic/{p-1ef658d8.entry.js → p-f1137562.entry.js} +2 -2
- package/dist/atomic/p-f1137562.entry.js.map +1 -0
- package/dist/atomic/{p-089be992.entry.js → p-f3777dfa.entry.js} +2 -2
- package/dist/atomic/p-f3777dfa.entry.js.map +1 -0
- package/dist/atomic/{p-811d6dcb.entry.js → p-f5b58a15.entry.js} +2 -2
- package/dist/atomic/{p-fbe37f4b.entry.js → p-f8d62605.entry.js} +2 -2
- package/dist/atomic/{p-bdbbb47b.entry.js → p-f8ded37c.entry.js} +2 -2
- package/dist/cjs/_index.cjs.js +20 -20
- package/dist/cjs/{analytics-config-d64e6c7f.js → analytics-config-fac0aa98.js} +2 -2
- package/dist/cjs/{analytics-config-d64e6c7f.js.map → analytics-config-fac0aa98.js.map} +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
- package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
- package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +3 -3
- 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 +3 -3
- 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 +3 -3
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-quickview.cjs.entry.js +3 -3
- package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +5 -5
- package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
- 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 -2
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/depends-on-f0cf3617.js +68 -0
- package/dist/cjs/depends-on-f0cf3617.js.map +1 -0
- package/dist/cjs/format-common-4aa8aa88.js.map +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{stencil-item-link-4849de1c.js → stencil-item-link-9feaef61.js} +3 -7
- package/dist/cjs/stencil-item-link-9feaef61.js.map +1 -0
- package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
- package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +19 -19
- package/dist/esm/{analytics-config-ef22da98.js → analytics-config-1e38fa5f.js} +2 -2
- package/dist/esm/{analytics-config-ef22da98.js.map → analytics-config-1e38fa5f.js.map} +1 -1
- package/dist/esm/atomic-category-facet.entry.js +1 -1
- package/dist/esm/atomic-citation.entry.js +1 -1
- package/dist/esm/atomic-color-facet.entry.js +1 -1
- package/dist/esm/atomic-facet.entry.js +1 -1
- package/dist/esm/atomic-field-condition.entry.js +1 -1
- package/dist/esm/atomic-field-condition.entry.js.map +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +2 -2
- 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 -2
- 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 -2
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
- package/dist/esm/atomic-ipx-result-link.entry.js +3 -3
- package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +2 -2
- package/dist/esm/atomic-quickview.entry.js +2 -2
- package/dist/esm/atomic-quickview.entry.js.map +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-result-badge.entry.js +1 -1
- package/dist/esm/atomic-result-badge.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +2 -2
- package/dist/esm/atomic-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-result-date.entry.js +1 -1
- package/dist/esm/atomic-result-date.entry.js.map +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +2 -2
- package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-html.entry.js +1 -1
- package/dist/esm/atomic-result-html.entry.js.map +1 -1
- package/dist/esm/atomic-result-icon.entry.js +1 -1
- package/dist/esm/atomic-result-icon.entry.js.map +1 -1
- package/dist/esm/atomic-result-image.entry.js +1 -1
- package/dist/esm/atomic-result-image.entry.js.map +1 -1
- package/dist/esm/atomic-result-link.entry.js +3 -3
- package/dist/esm/atomic-result-link.entry.js.map +1 -1
- package/dist/esm/atomic-result-localized-text.entry.js +2 -2
- package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-number.entry.js +1 -1
- package/dist/esm/atomic-result-number.entry.js.map +1 -1
- package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
- package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
- package/dist/esm/atomic-result-rating.entry.js +1 -1
- package/dist/esm/atomic-result-rating.entry.js.map +1 -1
- package/dist/esm/atomic-result-text_2.entry.js +1 -1
- package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
- package/dist/esm/atomic-result-timespan.entry.js +1 -1
- package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
- package/dist/esm/atomic-result.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/atomic-segmented-facet.entry.js +1 -1
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
- package/dist/esm/depends-on-20dabb86.js +66 -0
- package/dist/esm/depends-on-20dabb86.js.map +1 -0
- package/dist/esm/format-common-274e0f7c.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{stencil-item-link-a0687906.js → stencil-item-link-5a3f8f23.js} +3 -7
- package/dist/esm/stencil-item-link-5a3f8f23.js.map +1 -0
- package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
- package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
- package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
- package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
- package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
- package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
- package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
- package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
- package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
- package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
- package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
- package/dist/types/index.d.ts +3 -3
- package/docs/atomic-docs.json +1 -1
- package/package.json +3 -3
- package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
- package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
- package/dist/atomic/components/result-template-decorators.js.map +0 -1
- package/dist/atomic/p-089be992.entry.js.map +0 -1
- package/dist/atomic/p-0c8e7d5f.entry.js.map +0 -1
- package/dist/atomic/p-0f13077e.js +0 -2
- package/dist/atomic/p-0f13077e.js.map +0 -1
- package/dist/atomic/p-18684d4c.js.map +0 -1
- package/dist/atomic/p-190ddaca.entry.js.map +0 -1
- package/dist/atomic/p-1ef658d8.entry.js.map +0 -1
- package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
- package/dist/atomic/p-31aa052e.entry.js.map +0 -1
- package/dist/atomic/p-49c38b27.entry.js.map +0 -1
- package/dist/atomic/p-4dc33bfc.entry.js.map +0 -1
- package/dist/atomic/p-604c4085.entry.js.map +0 -1
- package/dist/atomic/p-78427c6a.entry.js.map +0 -1
- package/dist/atomic/p-7e2109e9.entry.js.map +0 -1
- package/dist/atomic/p-88afc37f.entry.js.map +0 -1
- package/dist/atomic/p-8a00adbe.entry.js.map +0 -1
- package/dist/atomic/p-945ddd53.entry.js.map +0 -1
- package/dist/atomic/p-a4d277c7.entry.js.map +0 -1
- package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
- package/dist/atomic/p-bc0d6d3d.entry.js.map +0 -1
- package/dist/atomic/p-c7800a24.entry.js.map +0 -1
- package/dist/atomic/p-c9f1790d.entry.js.map +0 -1
- package/dist/atomic/p-e4b0a923.js +0 -2
- package/dist/atomic/p-e4b0a923.js.map +0 -1
- package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
- package/dist/atomic/p-f957027a.entry.js.map +0 -1
- package/dist/cjs/depends-on-0d4e4f15.js +0 -68
- package/dist/cjs/depends-on-0d4e4f15.js.map +0 -1
- package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
- package/dist/cjs/stencil-item-link-4849de1c.js.map +0 -1
- package/dist/esm/depends-on-d73b0ce3.js +0 -66
- package/dist/esm/depends-on-d73b0ce3.js.map +0 -1
- package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
- package/dist/esm/stencil-item-link-a0687906.js.map +0 -1
- package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
- /package/dist/atomic/{p-2f8de0b9.entry.js.map → p-07fbb49a.entry.js.map} +0 -0
- /package/dist/atomic/{p-557f5cb0.js.map → p-3f2a66df.js.map} +0 -0
- /package/dist/atomic/{p-e514cdb2.entry.js.map → p-4a74f4a3.entry.js.map} +0 -0
- /package/dist/atomic/{p-214f23a2.entry.js.map → p-52976c12.entry.js.map} +0 -0
- /package/dist/atomic/{p-43a45453.entry.js.map → p-594488f2.entry.js.map} +0 -0
- /package/dist/atomic/{p-254fed11.entry.js.map → p-91c0917f.entry.js.map} +0 -0
- /package/dist/atomic/{p-9c9b1965.entry.js.map → p-92548ab6.entry.js.map} +0 -0
- /package/dist/atomic/{p-006d8b7c.entry.js.map → p-9f5590f6.entry.js.map} +0 -0
- /package/dist/atomic/{p-534b6a0a.entry.js.map → p-a9b32844.entry.js.map} +0 -0
- /package/dist/atomic/{p-b7063a0d.entry.js.map → p-ada63017.entry.js.map} +0 -0
- /package/dist/atomic/{p-08794435.entry.js.map → p-ba650801.entry.js.map} +0 -0
- /package/dist/atomic/{p-6dcb947c.entry.js.map → p-bde76abf.entry.js.map} +0 -0
- /package/dist/atomic/{p-ca762513.entry.js.map → p-c889adbd.entry.js.map} +0 -0
- /package/dist/atomic/{p-fda26113.entry.js.map → p-d716d680.entry.js.map} +0 -0
- /package/dist/atomic/{p-811d6dcb.entry.js.map → p-f5b58a15.entry.js.map} +0 -0
- /package/dist/atomic/{p-fbe37f4b.entry.js.map → p-f8d62605.entry.js.map} +0 -0
- /package/dist/atomic/{p-bdbbb47b.entry.js.map → p-f8ded37c.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-smart-snippet-source2.js","mappings":";;;;;;;;;;;;;;;;MA4Ba,wBAAwB;;;;;;;;;;;IAc5B,aAAa,CAAC,KAAiC;QACpD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,EAAC,qBAAqB,qDACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC1B,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAC,YAAY,EACjB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EACxC,oBAAoB,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAChE,qBAAqB,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAEjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CACC,EACxB,EAAC,qBAAqB,qDACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,cAAc,EACnB,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EACxC,oBAAoB,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAChE,qBAAqB,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAElE,0BACE,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,UAAU,EAClB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GACL,CACA,CACnB,EACP;KACH;;;;;;AApD4B;IAA5B,kBAAkB,EAAE;0DAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-source.tsx"],"sourcesContent":["import {Result} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n State,\n EventEmitter,\n Event,\n Host,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {
|
|
1
|
+
{"file":"atomic-smart-snippet-source2.js","mappings":";;;;;;;;;;;;;;;;MA4Ba,wBAAwB;;;;;;;;;;;IAc5B,aAAa,CAAC,KAAiC;QACpD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,EAAC,qBAAqB,qDACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC1B,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAC,YAAY,EACjB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EACxC,oBAAoB,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAChE,qBAAqB,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAEjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CACC,EACxB,EAAC,qBAAqB,qDACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,cAAc,EACnB,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EACxC,oBAAoB,EAAE,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAChE,qBAAqB,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAElE,0BACE,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,UAAU,EAClB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GACL,CACA,CACnB,EACP;KACH;;;;;;AApD4B;IAA5B,kBAAkB,EAAE;0DAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-source.tsx"],"sourcesContent":["import {Result} from '@coveo/headless';\nimport {\n Component,\n Prop,\n h,\n Listen,\n State,\n EventEmitter,\n Event,\n Host,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AnyBindings} from '../interface/bindings';\nimport {LinkWithItemAnalytics} from '../item-link/stencil-item-link';\nimport {ResultContextEvent} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * @part source-url\n * @part source-title\n * @internal\n */\n@Component({\n tag: 'atomic-smart-snippet-source',\n shadow: false,\n})\nexport class AtomicSmartSnippetSource\n implements InitializableComponent<AnyBindings>\n{\n @InitializeBindings() public bindings!: AnyBindings;\n @Prop({reflect: true, mutable: true}) source!: Result;\n @Prop() anchorAttributes?: Attr[];\n\n @Event() selectSource!: EventEmitter;\n @Event() beginDelayedSelectSource!: EventEmitter;\n @Event() cancelPendingSelectSource!: EventEmitter;\n\n @State() public error!: Error;\n\n @Listen('atomic/resolveResult')\n public resolveResult(event: ResultContextEvent<Result>) {\n event.preventDefault();\n event.stopPropagation();\n if (this.source) {\n event.detail(this.source);\n }\n }\n\n render() {\n return (\n <Host>\n <LinkWithItemAnalytics\n title={this.source.clickUri}\n href={this.source.clickUri}\n className=\"block truncate\"\n part=\"source-url\"\n attributes={this.anchorAttributes}\n onSelect={() => this.selectSource.emit()}\n onBeginDelayedSelect={() => this.beginDelayedSelectSource.emit()}\n onCancelPendingSelect={() => this.cancelPendingSelectSource.emit()}\n >\n {this.source.clickUri}\n </LinkWithItemAnalytics>\n <LinkWithItemAnalytics\n title={this.source.title}\n href={this.source.clickUri}\n attributes={this.anchorAttributes}\n className=\"block\"\n part=\"source-title\"\n onSelect={() => this.selectSource.emit()}\n onBeginDelayedSelect={() => this.beginDelayedSelectSource.emit()}\n onCancelPendingSelect={() => this.cancelPendingSelectSource.emit()}\n >\n <atomic-result-text\n field=\"title\"\n default=\"no-title\"\n key={this.source.uniqueId}\n ></atomic-result-text>\n </LinkWithItemAnalytics>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -6,15 +6,11 @@ const bindAnalyticsToLink = (link, { onSelect, onBeginDelayedSelect, onCancelPen
|
|
|
6
6
|
const selectHandler = (e) => stopPropagationAndProcess(e, onSelect);
|
|
7
7
|
const touchStartHandler = (e) => stopPropagationAndProcess(e, onBeginDelayedSelect);
|
|
8
8
|
const touchEndHandler = (e) => stopPropagationAndProcess(e, onCancelPendingSelect);
|
|
9
|
-
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) =>
|
|
10
|
-
link.addEventListener(eventName, selectHandler);
|
|
11
|
-
});
|
|
9
|
+
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) => link.addEventListener(eventName, selectHandler));
|
|
12
10
|
link.addEventListener('touchstart', touchStartHandler, { passive: true });
|
|
13
11
|
link.addEventListener('touchend', touchEndHandler, { passive: true });
|
|
14
12
|
return () => {
|
|
15
|
-
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) =>
|
|
16
|
-
link.removeEventListener(eventName, selectHandler);
|
|
17
|
-
});
|
|
13
|
+
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) => link.removeEventListener(eventName, selectHandler));
|
|
18
14
|
link.removeEventListener('touchstart', touchStartHandler);
|
|
19
15
|
link.removeEventListener('touchend', touchEndHandler);
|
|
20
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"bind-analytics-to-link.js","mappings":"MAUa,mBAAmB,GAAG,CACjC,IAAuB,EACvB,EACE,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,GAAG,IAAI,GACH;IAErB,MAAM,yBAAyB,GAAG,CAAC,CAAQ,EAAE,OAAmB;QAC9D,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAQ,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,CAAC,CAAQ,KACjC,yBAAyB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,CAAC,CAAQ,KAC/B,yBAAyB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAErD,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAW,CAAC,OAAO,CACjE,CAAC,SAAS
|
|
1
|
+
{"file":"bind-analytics-to-link.js","mappings":"MAUa,mBAAmB,GAAG,CACjC,IAAuB,EACvB,EACE,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,GAAG,IAAI,GACH;IAErB,MAAM,yBAAyB,GAAG,CAAC,CAAQ,EAAE,OAAmB;QAC9D,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAQ,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,CAAC,CAAQ,KACjC,yBAAyB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,CAAC,CAAQ,KAC/B,yBAAyB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAErD,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAW,CAAC,OAAO,CACjE,CAAC,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAC/D,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAEpE,OAAO;QACJ,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAW,CAAC,OAAO,CACjE,CAAC,SAAS,KAAK,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAClE,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;KACvD,CAAC;AACJ;;;;","names":[],"sources":["src/components/common/item-link/bind-analytics-to-link.ts"],"sourcesContent":["import type {ItemLinkProps} from './item-link';\n\ntype ItemLinkEventProps = Pick<\n ItemLinkProps,\n | 'onSelect'\n | 'onBeginDelayedSelect'\n | 'onCancelPendingSelect'\n | 'stopPropagation'\n>;\n\nexport const bindAnalyticsToLink = (\n link: HTMLAnchorElement,\n {\n onSelect,\n onBeginDelayedSelect,\n onCancelPendingSelect,\n stopPropagation = true,\n }: ItemLinkEventProps\n): (() => void) => {\n const stopPropagationAndProcess = (e: Event, process: () => void) => {\n stopPropagation && e.stopPropagation();\n process();\n };\n\n const selectHandler = (e: Event) => stopPropagationAndProcess(e, onSelect);\n const touchStartHandler = (e: Event) =>\n stopPropagationAndProcess(e, onBeginDelayedSelect);\n const touchEndHandler = (e: Event) =>\n stopPropagationAndProcess(e, onCancelPendingSelect);\n\n (['click', 'contextmenu', 'mousedown', 'mouseup'] as const).forEach(\n (eventName) => link.addEventListener(eventName, selectHandler)\n );\n link.addEventListener('touchstart', touchStartHandler, {passive: true});\n link.addEventListener('touchend', touchEndHandler, {passive: true});\n\n return () => {\n (['click', 'contextmenu', 'mousedown', 'mouseup'] as const).forEach(\n (eventName) => link.removeEventListener(eventName, selectHandler)\n );\n link.removeEventListener('touchstart', touchStartHandler);\n link.removeEventListener('touchend', touchEndHandler);\n };\n};\n"],"version":3}
|
|
@@ -159,9 +159,7 @@ let AtomicCommerceBreadbox = class AtomicCommerceBreadbox extends LitElement {
|
|
|
159
159
|
element.style.display = '';
|
|
160
160
|
}
|
|
161
161
|
showAllBreadcrumbs() {
|
|
162
|
-
this.breadcrumbs.forEach((breadcrumb) =>
|
|
163
|
-
this.show(breadcrumb);
|
|
164
|
-
});
|
|
162
|
+
this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));
|
|
165
163
|
}
|
|
166
164
|
adaptBreadcrumbs() {
|
|
167
165
|
if (!this.breadcrumbs.length) {
|
|
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { ProductTemplatesHelpers } from '@coveo/headless/commerce';
|
|
8
8
|
import { html, LitElement, nothing } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
10
11
|
import { bindings } from "../../../decorators/bindings";
|
|
11
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
|
|
12
12
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
13
13
|
import { filterProtocol } from '../../../utils/xss-utils';
|
|
14
14
|
import { renderButton } from '../../common/button';
|
|
@@ -11,10 +11,10 @@ import { createRef } from 'lit/directives/ref.js';
|
|
|
11
11
|
import { booleanConverter } from "../../../converters/boolean-converter.js";
|
|
12
12
|
import { bindingGuard } from "../../../decorators/binding-guard.js";
|
|
13
13
|
import { bindings } from "../../../decorators/bindings.js";
|
|
14
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators.js";
|
|
15
14
|
import { errorGuard } from "../../../decorators/error-guard.js";
|
|
16
15
|
import { renderExpandableText, } from '../../common/expandable-text/expandable-text.js';
|
|
17
16
|
import '../atomic-product-text/atomic-product-text.js';
|
|
17
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
18
18
|
import { LightDomMixin } from "../../../mixins/light-dom.js";
|
|
19
19
|
/**
|
|
20
20
|
* The `atomic-product-description` component renders the description of a product.
|
package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js
CHANGED
|
@@ -8,10 +8,10 @@ import { Schema, StringValue } from '@coveo/bueno';
|
|
|
8
8
|
import { html, LitElement, nothing } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
10
|
import { createRef } from 'lit/directives/ref.js';
|
|
11
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
11
12
|
import { booleanConverter } from "../../../converters/boolean-converter";
|
|
12
13
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
13
14
|
import { bindings } from "../../../decorators/bindings";
|
|
14
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
|
|
15
15
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
16
16
|
import { renderExpandableText, } from '../../common/expandable-text/expandable-text';
|
|
17
17
|
import '../atomic-product-text/atomic-product-text.js';
|
|
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
8
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
9
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
9
10
|
import { bindings } from "../../../decorators/bindings";
|
|
10
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
|
|
11
11
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
12
12
|
import { LightDomMixin } from "../../../mixins/light-dom";
|
|
13
13
|
import { mapProperty } from "../../../utils/props-utils";
|
package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js
CHANGED
|
@@ -9,10 +9,10 @@ import { ProductTemplatesHelpers } from '@coveo/headless/commerce';
|
|
|
9
9
|
import { html, LitElement, nothing } from 'lit';
|
|
10
10
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
11
11
|
import { when } from 'lit/directives/when.js';
|
|
12
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
12
13
|
import { renderImageCarousel } from "../../common/image-carousel/image-carousel";
|
|
13
14
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
14
15
|
import { bindings } from "../../../decorators/bindings";
|
|
15
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
|
|
16
16
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
17
17
|
import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js";
|
|
18
18
|
import { filterProtocol } from "../../../utils/xss-utils";
|
package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js
CHANGED
|
@@ -8,15 +8,16 @@ import { isUndefined } from '@coveo/bueno';
|
|
|
8
8
|
import { html, LitElement } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
10
|
import { when } from 'lit/directives/when.js';
|
|
11
|
+
import { createInteractiveProductContextController } from "../product-template-component-utils/context/interactive-product-context-controller.js";
|
|
11
12
|
import { getAttributesFromLinkSlot } from "../../common/item-link/attributes-slot";
|
|
12
13
|
import { renderLinkWithItemAnalytics } from "../../common/item-link/item-link";
|
|
13
14
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
14
15
|
import { bindings } from "../../../decorators/bindings";
|
|
15
|
-
import { createInteractiveProductContextController, createProductContextController, } from "../../../decorators/commerce/product-template-decorators.js";
|
|
16
16
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
17
17
|
import { buildCustomEvent } from "../../../utils/event-utils";
|
|
18
18
|
import { buildStringTemplateFromProduct } from '../product-template-component-utils/product-utils';
|
|
19
19
|
import '../atomic-product-text/atomic-product-text';
|
|
20
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
20
21
|
import { LightDomMixin } from "../../../mixins/light-dom";
|
|
21
22
|
import { SlotsForNoShadowDOMMixin, } from "../../../mixins/slots-for-no-shadow-dom-mixin";
|
|
22
23
|
import styles from './atomic-product-link.tw.css';
|
|
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { buildProductListing, buildSearch, ProductTemplatesHelpers, } from '@coveo/headless/commerce';
|
|
8
8
|
import { html, LitElement, nothing } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
|
|
10
11
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
11
12
|
import { bindings } from "../../../decorators/bindings";
|
|
12
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators";
|
|
13
13
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
14
14
|
import { withTailwindStyles } from "../../../decorators/with-tailwind-styles";
|
|
15
15
|
import { getFieldValueCaption } from '../../../utils/field-utils';
|
|
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
8
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
9
9
|
import { when } from 'lit/directives/when.js';
|
|
10
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
10
11
|
import { bindingGuard } from "../../../decorators/binding-guard.js";
|
|
11
12
|
import { bindings } from "../../../decorators/bindings.js";
|
|
12
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators.js";
|
|
13
13
|
import { errorGuard } from "../../../decorators/error-guard.js";
|
|
14
14
|
import { LightDomMixin } from "../../../mixins/light-dom.js";
|
|
15
15
|
import { defaultNumberFormatter, } from '../../common/formats/format-common.js';
|
package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js
CHANGED
|
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { buildContext, } from '@coveo/headless/commerce';
|
|
8
8
|
import { css, html, LitElement } from 'lit';
|
|
9
9
|
import { customElement, state } from 'lit/decorators.js';
|
|
10
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
10
11
|
import { bindStateToController } from "../../../decorators/bind-state.js";
|
|
11
12
|
import { bindingGuard } from "../../../decorators/binding-guard.js";
|
|
12
13
|
import { bindings } from "../../../decorators/bindings.js";
|
|
13
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators.js";
|
|
14
14
|
import { errorGuard } from "../../../decorators/error-guard.js";
|
|
15
15
|
import { multiClassMap, tw } from "../../../directives/multi-class-map.js";
|
|
16
16
|
import { LightDomMixin } from "../../../mixins/light-dom.js";
|
package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js
CHANGED
|
@@ -8,11 +8,11 @@ import { ProductTemplatesHelpers } from '@coveo/headless/commerce';
|
|
|
8
8
|
import { html, LitElement } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
10
|
import { when } from 'lit/directives/when.js';
|
|
11
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
11
12
|
import ratingStyles from "../../common/atomic-rating/atomic-rating.tw.css.js";
|
|
12
13
|
import { computeNumberOfStars } from "../../common/atomic-rating/rating-utils.js";
|
|
13
14
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
14
15
|
import { bindings } from "../../../decorators/bindings.js";
|
|
15
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators.js";
|
|
16
16
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
17
17
|
import { LightDomMixin } from "../../../mixins/light-dom";
|
|
18
18
|
const Star = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"13\" height=\"13\" viewBox=\"0 0 13 13\">\n <path\n d=\"m 2.6226137,7.5483827 -1.73646599,-1.67659 c -0.58287,-0.56277 -0.2895686,-1.54878 0.50612799,-1.70148 l 2.630348,-0.50477 c 0.31897,-0.06121 0.58834,-0.27352 0.72239,-0.56935 l 0.84414,-1.86293 c 0.35481,-0.78302702 1.46689,-0.78302802 1.8217,0 l 0.84414,1.86293 c 0.13405,0.29583 0.40342,0.50814 0.72239,0.56935 l 2.6303203,0.50477 c 0.7957,0.1527 1.089,1.13871 0.5062,1.70148 l -1.73651,1.67659 c -0.23632,0.22817 -0.34551,0.55786 -0.2921,0.88198 l 0.45461,2.7587403 c 0.1357,0.824 -0.7386003,1.4416 -1.4698203,1.0382 l -2.087,-1.1515 c -0.30069,-0.1659 -0.66547,-0.1659 -0.96616,0 l -2.087,1.1515 c -0.73122,0.4034 -1.60555,-0.2142 -1.46978,-1.0382 l 0.45457,-2.7587403 c 0.05341,-0.32412 -0.05578,-0.65381 -0.2921,-0.88198 z\"\n stroke-width=\"0.8125\"\n />\n</svg>";
|
package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js
CHANGED
|
@@ -8,10 +8,10 @@ import { HighlightUtils, ProductTemplatesHelpers, } from '@coveo/headless/commer
|
|
|
8
8
|
import { html, LitElement, nothing } from 'lit';
|
|
9
9
|
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
10
|
import { when } from 'lit/directives/when.js';
|
|
11
|
+
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
11
12
|
import { booleanConverter } from "../../../converters/boolean-converter";
|
|
12
13
|
import { bindingGuard } from "../../../decorators/binding-guard";
|
|
13
14
|
import { bindings } from "../../../decorators/bindings";
|
|
14
|
-
import { createProductContextController } from "../../../decorators/commerce/product-template-decorators.js";
|
|
15
15
|
import { errorGuard } from "../../../decorators/error-guard";
|
|
16
16
|
import { getFieldValueCaption } from '../../../utils/field-utils';
|
|
17
17
|
import { renderItemTextFallback } from '../../common/item-text/item-text-fallback.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InteractiveItemContextController } from "../../../common/item-list/context/interactive-item-context-controller";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing interactive product context in product template components.
|
|
4
|
+
*
|
|
5
|
+
* @param host - The Lit component instance
|
|
6
|
+
* @returns InteractiveItemContextController instance
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* @customElement('my-interactive-product-component')
|
|
11
|
+
* export class MyInteractiveProductComponent extends LitElement {
|
|
12
|
+
* private interactiveProductController = createInteractiveProductContextController(this);
|
|
13
|
+
*
|
|
14
|
+
* @state() product!: Product;
|
|
15
|
+
*
|
|
16
|
+
* render() {
|
|
17
|
+
* this.product = this.interactiveProductController.interactiveItem;
|
|
18
|
+
* return html`<div>${this.product?.ec_name}</div>`;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function createInteractiveProductContextController(host) {
|
|
24
|
+
return new InteractiveItemContextController(host);
|
|
25
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ItemContextController, } from "../../../common/item-list/context/item-context-controller";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a [Lit reactive controller](https://lit.dev/docs/composition/controllers/) for managing product context in product template components.
|
|
4
|
+
*
|
|
5
|
+
* @param host - The Lit component instance
|
|
6
|
+
* @param options - Configuration options
|
|
7
|
+
* @returns ItemContextController instance configured for atomic-product
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @customElement('my-product-component')
|
|
12
|
+
* export class MyProductComponent extends LitElement {
|
|
13
|
+
* private productController = createProductContextController(this);
|
|
14
|
+
*
|
|
15
|
+
* @state() product!: Product;
|
|
16
|
+
*
|
|
17
|
+
* render() {
|
|
18
|
+
* this.product = this.productController.item;
|
|
19
|
+
* return html`<div>${this.product?.ec_name}</div>`;
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export function createProductContextController(host, options = {}) {
|
|
25
|
+
return new ItemContextController(host, {
|
|
26
|
+
parentName: 'atomic-product',
|
|
27
|
+
folded: options.folded ?? false,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildCustomEvent } from
|
|
1
|
+
import { buildCustomEvent } from "../../../utils/event-utils";
|
|
2
2
|
export const dispatchNumberFormatEvent = (formatter, element) => {
|
|
3
3
|
const event = buildCustomEvent('atomic/numberFormat', formatter);
|
|
4
4
|
const canceled = element.dispatchEvent(event);
|
|
@@ -71,9 +71,7 @@ export class InterfaceController {
|
|
|
71
71
|
return this.host.tagName.toLowerCase();
|
|
72
72
|
}
|
|
73
73
|
initComponents() {
|
|
74
|
-
this.hangingComponentsInitialization.forEach((event) =>
|
|
75
|
-
event.detail(this.host.bindings);
|
|
76
|
-
});
|
|
74
|
+
this.hangingComponentsInitialization.forEach((event) => event.detail(this.host.bindings));
|
|
77
75
|
}
|
|
78
76
|
initAriaLive() {
|
|
79
77
|
if (Array.from(this.host.children).some((element) => element.tagName === 'ATOMIC-ARIA-LIVE')) {
|
|
@@ -6,15 +6,11 @@ export const bindAnalyticsToLink = (link, { onSelect, onBeginDelayedSelect, onCa
|
|
|
6
6
|
const selectHandler = (e) => stopPropagationAndProcess(e, onSelect);
|
|
7
7
|
const touchStartHandler = (e) => stopPropagationAndProcess(e, onBeginDelayedSelect);
|
|
8
8
|
const touchEndHandler = (e) => stopPropagationAndProcess(e, onCancelPendingSelect);
|
|
9
|
-
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) =>
|
|
10
|
-
link.addEventListener(eventName, selectHandler);
|
|
11
|
-
});
|
|
9
|
+
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) => link.addEventListener(eventName, selectHandler));
|
|
12
10
|
link.addEventListener('touchstart', touchStartHandler, { passive: true });
|
|
13
11
|
link.addEventListener('touchend', touchEndHandler, { passive: true });
|
|
14
12
|
return () => {
|
|
15
|
-
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) =>
|
|
16
|
-
link.removeEventListener(eventName, selectHandler);
|
|
17
|
-
});
|
|
13
|
+
['click', 'contextmenu', 'mousedown', 'mouseup'].forEach((eventName) => link.removeEventListener(eventName, selectHandler));
|
|
18
14
|
link.removeEventListener('touchstart', touchStartHandler);
|
|
19
15
|
link.removeEventListener('touchend', touchEndHandler);
|
|
20
16
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChoiceIsNaNError, ChoiceIsNonPositiveError, InitialChoiceNotInChoicesError, } from './error';
|
|
2
2
|
export function convertChoicesToNumbers(choices) {
|
|
3
3
|
return choices.split(',').map((choice) => {
|
|
4
|
-
const parsedChoice = parseInt(choice
|
|
4
|
+
const parsedChoice = parseInt(choice);
|
|
5
5
|
if (Number.isNaN(parsedChoice)) {
|
|
6
6
|
throw new ChoiceIsNaNError(choice);
|
|
7
7
|
}
|
|
@@ -40,7 +40,9 @@ export const renderRadioButton = ({ props, }) => {
|
|
|
40
40
|
const getRadioButtons = (radioGroup) => {
|
|
41
41
|
return Array.from(radioGroup.querySelectorAll('[type="radio"]'));
|
|
42
42
|
};
|
|
43
|
-
const getCurrentIndex = (buttons, currentButton) =>
|
|
43
|
+
const getCurrentIndex = (buttons, currentButton) => {
|
|
44
|
+
return buttons.findIndex((button) => button === currentButton);
|
|
45
|
+
};
|
|
44
46
|
const getNewIndex = (key, currentIndex, length) => {
|
|
45
47
|
switch (key) {
|
|
46
48
|
case 'ArrowLeft':
|
|
@@ -2,36 +2,36 @@ function parseDependsOn(dependsOn) {
|
|
|
2
2
|
if (Object.keys(dependsOn).length > 1) {
|
|
3
3
|
throw "Depending on multiple facets isn't supported";
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (isSimpleFacetValue(value)) {
|
|
21
|
-
if (value.state !== 'selected') {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (!expectedValue) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
return value.value === expectedValue;
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
30
|
-
});
|
|
31
|
-
},
|
|
32
|
-
};
|
|
5
|
+
const entries = Object.entries(dependsOn);
|
|
6
|
+
return entries.map(([parentFacetId, expectedValue]) => ({
|
|
7
|
+
parentFacetId,
|
|
8
|
+
condition: buildDependsOnCondition(expectedValue),
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
function buildDependsOnCondition(expectedValue) {
|
|
12
|
+
return (values) => values.some((value) => {
|
|
13
|
+
if (isCategoryFacetValue(value)) {
|
|
14
|
+
return matchesCategoryFacetValue(value, expectedValue);
|
|
15
|
+
}
|
|
16
|
+
if (isSimpleFacetValue(value)) {
|
|
17
|
+
return matchesSimpleFacetValue(value, expectedValue);
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
33
20
|
});
|
|
34
21
|
}
|
|
22
|
+
function matchesCategoryFacetValue(value, expectedValue) {
|
|
23
|
+
const selectedValue = getSelectedCategoryFacetValueRequest(value);
|
|
24
|
+
if (!selectedValue) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return !expectedValue || selectedValue.value === expectedValue;
|
|
28
|
+
}
|
|
29
|
+
function matchesSimpleFacetValue(value, expectedValue) {
|
|
30
|
+
if (value.state !== 'selected') {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return !expectedValue || value.value === expectedValue;
|
|
34
|
+
}
|
|
35
35
|
function isCategoryFacetValue(request) {
|
|
36
36
|
const requestAsRecord = request;
|
|
37
37
|
return ((requestAsRecord?.children &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"depends-on.js","mappings":"SAcgB,cAAc,CAE5B,SAAiC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,8CAA8C,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC
|
|
1
|
+
{"file":"depends-on.js","mappings":"SAcgB,cAAc,CAE5B,SAAiC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,8CAA8C,CAAC;KACtD;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM;QACtD,aAAa;QACb,SAAS,EAAE,uBAAuB,CAAa,aAAa,CAAC;KAC9D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAE9B,aAAqB;IACrB,OAAO,CAAC,MAAoB,KAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAChB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,yBAAyB,CAC9B,KAA2B,EAC3B,aAAa,CACd,CAAC;SACH;QACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,uBAAuB,CAC5B,KAAyB,EACzB,aAAa,CACd,CAAC;SACH;QACD,OAAO,KAAK,CAAC;KACd,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAiB,EACjB,aAAqB;IAErB,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC;AACjE,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuB,EACvB,aAAqB;IAErB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,eAAe,GAAG,OAAkC,CAAC;IAC3D,QACE,CAAC,eAAe,EAAE,QAAQ;QACxB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,KAAK;QACtB,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,MAAM,IAAI,EACrD;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAc;IAEd,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClC,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,OAAO,aAAa,CAAC;SACtB;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,QACE,OAAO,IAAI,QAAQ;QACnB,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAClC,EAAE,UAAU,IAAI,QAAQ,CAAC,EACzB;AACJ;;;;","names":[],"sources":["src/components/common/facets/depends-on.ts"],"sourcesContent":["type GenericCondition<AnyFacetValueRequest> = {\n parentFacetId: string;\n condition(parentValues: AnyFacetValueRequest[]): boolean;\n};\n\ninterface SimpleFacetValue {\n value: string;\n state: string;\n}\n\ninterface CategoryFacetValue extends SimpleFacetValue {\n children: SimpleFacetValue[];\n}\n\nexport function parseDependsOn<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(dependsOn: Record<string, string>): GenericCondition<FacetValue>[] {\n if (Object.keys(dependsOn).length > 1) {\n throw \"Depending on multiple facets isn't supported\";\n }\n\n const entries = Object.entries(dependsOn);\n return entries.map(([parentFacetId, expectedValue]) => ({\n parentFacetId,\n condition: buildDependsOnCondition<FacetValue>(expectedValue),\n }));\n}\n\nfunction buildDependsOnCondition<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(expectedValue: string): (values: FacetValue[]) => boolean {\n return (values: FacetValue[]) =>\n values.some((value) => {\n if (isCategoryFacetValue(value)) {\n return matchesCategoryFacetValue(\n value as CategoryFacetValue,\n expectedValue\n );\n }\n if (isSimpleFacetValue(value)) {\n return matchesSimpleFacetValue(\n value as SimpleFacetValue,\n expectedValue\n );\n }\n return false;\n });\n}\n\nfunction matchesCategoryFacetValue<FacetValue extends CategoryFacetValue>(\n value: FacetValue,\n expectedValue: string\n): boolean {\n const selectedValue = getSelectedCategoryFacetValueRequest(value);\n if (!selectedValue) {\n return false;\n }\n return !expectedValue || selectedValue.value === expectedValue;\n}\n\nfunction matchesSimpleFacetValue(\n value: SimpleFacetValue,\n expectedValue: string\n): boolean {\n if (value.state !== 'selected') {\n return false;\n }\n return !expectedValue || value.value === expectedValue;\n}\n\nfunction isCategoryFacetValue(request: unknown): request is CategoryFacetValue {\n const requestAsRecord = request as Record<string, unknown>;\n return (\n (requestAsRecord?.children &&\n Array.isArray(requestAsRecord.children) &&\n requestAsRecord?.state &&\n typeof requestAsRecord.state === 'string') === true\n );\n}\n\nfunction getSelectedCategoryFacetValueRequest(\n value: unknown\n): CategoryFacetValue | null {\n if (!isCategoryFacetValue(value)) {\n return null;\n }\n if (value.state === 'selected') {\n return value;\n }\n for (const child of value.children) {\n const selectedValue = getSelectedCategoryFacetValueRequest(child);\n if (selectedValue !== null) {\n return selectedValue;\n }\n }\n return null;\n}\n\nfunction isSimpleFacetValue(value: unknown): value is SimpleFacetValue {\n const asRecord = value as Record<string, unknown>;\n return (\n 'value' in asRecord &&\n typeof asRecord.value === 'string' &&\n !('children' in asRecord)\n );\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"format-common.js","mappings":";;MAIa,yBAAyB,GAAG,CACvC,SAA0B,EAC1B,OAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;KACH;AACH,EAAE;MAEW,sBAAsB,GAAoB,CAAC,KAAK,EAAE,SAAS,KACtE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;MAErB,wBAAwB,GACnC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS;IAC7B,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;QACrC,KAAK,EAAE,UAAU;QACjB,QAAQ;KACT,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/components/common/formats/format-common.ts"],"sourcesContent":["import {buildCustomEvent} from '
|
|
1
|
+
{"file":"format-common.js","mappings":";;MAIa,yBAAyB,GAAG,CACvC,SAA0B,EAC1B,OAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;KACH;AACH,EAAE;MAEW,sBAAsB,GAAoB,CAAC,KAAK,EAAE,SAAS,KACtE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;MAErB,wBAAwB,GACnC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS;IAC7B,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;QACrC,KAAK,EAAE,UAAU;QACjB,QAAQ;KACT,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/components/common/formats/format-common.ts"],"sourcesContent":["import {buildCustomEvent} from '@/src/utils/event-utils';\n\nexport type NumberFormatter = (value: number, languages: string[]) => string;\n\nexport const dispatchNumberFormatEvent = (\n formatter: NumberFormatter,\n element: Element\n) => {\n const event = buildCustomEvent('atomic/numberFormat', formatter);\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n throw new Error(\n 'The Atomic number format component was not handled, as it is not a child of a compatible component'\n );\n }\n};\n\nexport const defaultNumberFormatter: NumberFormatter = (value, languages) =>\n value.toLocaleString(languages);\n\nexport const defaultCurrencyFormatter: (currency: string) => NumberFormatter =\n (currency) => (value, languages) => {\n return value.toLocaleString(languages, {\n style: 'currency',\n currency,\n });\n };\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAca,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACrBA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;ACZA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;;;","names":[],"sources":["src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/components/commerce/product-template-component-utils/context/fetch-product-context.ts","src/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.tsx"],"sourcesContent":["import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n","import type {Product} from '@coveo/headless/commerce';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function in the [`connectedCallback` lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered `atomic-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n","import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element - The element that the event is dispatched to, which must be the child of a rendered \"atomic-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/components/commerce/product-template-component-utils/context/fetch-product-context.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n"],"version":3}
|
|
@@ -8,6 +8,8 @@ import { I as ItemContext, a as InteractiveItemContext, i as itemContext } from
|
|
|
8
8
|
* @ResultContext() private result!: Result;
|
|
9
9
|
*
|
|
10
10
|
* For more information and examples, view the "Utilities" section of the readme.
|
|
11
|
+
*
|
|
12
|
+
* @deprecated should only be used for Stencil components. For Lit components, use `createResultContextController` from \@/src/components/search/result-template-component-utils/context/result-context-controller.ts
|
|
11
13
|
*/
|
|
12
14
|
function ResultContext(opts = { folded: false }) {
|
|
13
15
|
return ItemContext({ parentName: 'atomic-result', folded: opts.folded });
|
|
@@ -22,8 +24,10 @@ function InteractiveResultContext() {
|
|
|
22
24
|
*
|
|
23
25
|
* You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).
|
|
24
26
|
*
|
|
25
|
-
* @param element The element that the event is dispatched to, which must be the child of a rendered "atomic-result".
|
|
27
|
+
* @param element The element that the event is dispatched to, which must be the child of a rendered "atomic-result" element.
|
|
26
28
|
* @returns A promise that resolves on initialization of the parent "atomic-result" element, or rejects when there is no parent "atomic-result" element.
|
|
29
|
+
*
|
|
30
|
+
* @deprecated should only be used for Stencil components. For Lit components, use `fetchResultContext` from \@/src/components/search/result-template-component-utils/context/fetch-result-context.ts
|
|
27
31
|
*/
|
|
28
32
|
function resultContext(element) {
|
|
29
33
|
return itemContext(element, 'atomic-result');
|
|
@@ -31,4 +35,4 @@ function resultContext(element) {
|
|
|
31
35
|
|
|
32
36
|
export { InteractiveResultContext as I, ResultContext as R, resultContext as r };
|
|
33
37
|
|
|
34
|
-
//# sourceMappingURL=result-template-decorators.js.map
|
|
38
|
+
//# sourceMappingURL=stencil-result-template-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"stencil-result-template-decorators.js","mappings":";;AASA;;;;;;;;;;;SAWgB,aAAa,CAAC,OAA0B,EAAC,MAAM,EAAE,KAAK,EAAC;IACrE,OAAO,WAAW,CAAC,EAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;AACzE,CAAC;SAEe,wBAAwB;IACtC,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC;AAKD;;;;;;;;;;;;SAYgB,aAAa,CAC3B,OAAgB;IAEhB,OAAO,WAAW,CAAI,OAAO,EAAE,eAAe,CAAC,CAAC;AAClD;;;;","names":[],"sources":["src/components/search/result-template-component-utils/context/stencil-result-template-decorators.tsx"],"sourcesContent":["import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `createResultContextController` from \\@/src/components/search/result-template-component-utils/context/result-context-controller.ts\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\" element.\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `fetchResultContext` from \\@/src/components/search/result-template-component-utils/context/fetch-result-context.ts\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"version":3}
|
package/dist/atomic/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{c as o}from"./p-c9074946.js";import{b as t}from"./p-1580513b.js";import{i as s}from"./p-3dc06261.js";export{d as dispatchSearchBoxSuggestionsEvent}from"./p-4b7a19db.js";export{e as elementHasNoQuery,a as elementHasQuery}from"./p-0a051b8d.js";export{r as resultContext}from"./p-4080f740.js";export{i as initializeBindings}from"./p-ff2d324d.js";export{b as bindLogDocumentOpenOnResult}from"./p-c3cb3e0c.js";export{M as MissingInterfaceParentError}from"./p-cae02339.js";import"./p-dc3df5ce.js";import"./p-05de7ca3.js";import"@coveo/headless";class n extends Error{constructor(e,r){super(`The "${e}" element must be the child of an "${r}" element.`)}}const c="atomic/resolveResult";function p(e,r){return new Promise(((s,p)=>{const a=t(c,(e=>s(e)));e.dispatchEvent(a);if(!o(e,r)){p(new n(e.nodeName.toLowerCase(),r))}}))}function m(e){return p(e,"atomic-product")}function f(e){return s(e,"atomic-product")}export{m as fetchProductContext,f as productContext};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|