@coveo/atomic 3.32.4-pre.c5f6441ccd → 3.32.4-pre.f6943ebafa
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/analytics-config.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +4 -3
- package/dist/atomic/components/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.js +3 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.js +3 -2
- package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +4 -2
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/initialization-lit-stencil-common-utils.js +1 -16
- package/dist/atomic/components/initialization-lit-stencil-common-utils.js.map +1 -1
- package/dist/atomic/components/initialization-utils.js +11 -2
- package/dist/atomic/components/initialization-utils.js.map +1 -1
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/{p-0c2f02d9.entry.js → p-02c7092d.entry.js} +2 -2
- package/dist/atomic/{p-6e6f94db.entry.js → p-061b1970.entry.js} +2 -2
- package/dist/atomic/{p-fc720960.entry.js → p-07e7770c.entry.js} +2 -2
- package/dist/atomic/{p-973d0376.entry.js → p-082e8e88.entry.js} +2 -2
- package/dist/atomic/{p-57b3e7e1.entry.js → p-0976d324.entry.js} +2 -2
- package/dist/atomic/{p-a10ecd77.entry.js → p-09be36ec.entry.js} +2 -2
- package/dist/atomic/{p-b239e617.entry.js → p-0ad16659.entry.js} +2 -2
- package/dist/atomic/{p-3ca9ced1.entry.js → p-0afc3e7c.entry.js} +2 -2
- package/dist/atomic/{p-60f60758.entry.js → p-0cc72211.entry.js} +2 -2
- package/dist/atomic/{p-9a3bc0c9.entry.js → p-138bf395.entry.js} +2 -2
- package/dist/atomic/{p-029893cf.entry.js → p-1735954d.entry.js} +2 -2
- package/dist/atomic/{p-42e2d4b7.entry.js → p-18c302d8.entry.js} +2 -2
- package/dist/atomic/{p-abbad47f.entry.js → p-190ff788.entry.js} +2 -2
- package/dist/atomic/{p-52051651.entry.js → p-1aa77b93.entry.js} +2 -2
- package/dist/atomic/{p-731b7ad8.entry.js → p-1cd30932.entry.js} +2 -2
- package/dist/atomic/{p-58eb8537.entry.js → p-1d4b30c9.entry.js} +2 -2
- package/dist/atomic/{p-4a3385e5.entry.js → p-1ea7b494.entry.js} +2 -2
- package/dist/atomic/{p-9d9eeba2.entry.js → p-201cd50c.entry.js} +2 -2
- package/dist/atomic/{p-c1e87094.entry.js → p-209db3c4.entry.js} +2 -2
- package/dist/atomic/{p-3abab2a9.entry.js → p-21c7a74a.entry.js} +2 -2
- package/dist/atomic/{p-27064d6e.entry.js → p-21c92d2b.entry.js} +2 -2
- package/dist/atomic/{p-3b68096d.entry.js → p-2982ebb7.entry.js} +2 -2
- package/dist/atomic/{p-a89213c7.entry.js → p-2a1b8f35.entry.js} +2 -2
- package/dist/atomic/{p-4e7267fe.entry.js → p-2c3d978e.entry.js} +2 -2
- package/dist/atomic/{p-40cba2bd.entry.js → p-2eac467d.entry.js} +2 -2
- package/dist/atomic/{p-6ad9e0c8.entry.js → p-2f89eaa5.entry.js} +2 -2
- package/dist/atomic/p-307f0fd1.entry.js +2 -0
- package/dist/atomic/{p-47002021.entry.js.map → p-307f0fd1.entry.js.map} +1 -1
- package/dist/atomic/{p-dd74f820.entry.js → p-339993e1.entry.js} +2 -2
- package/dist/atomic/{p-c3899aff.entry.js → p-358ef11c.entry.js} +2 -2
- package/dist/atomic/{p-6c384aeb.entry.js → p-36622fd4.entry.js} +2 -2
- package/dist/atomic/{p-75117fb6.entry.js → p-37e5e103.entry.js} +2 -2
- package/dist/atomic/p-3e5a304a.entry.js +2 -0
- package/dist/atomic/{p-5f9b1abd.entry.js → p-4fc18b34.entry.js} +2 -2
- package/dist/atomic/{p-e87acc31.entry.js → p-53929bc3.entry.js} +2 -2
- package/dist/atomic/{p-d37cbedb.entry.js → p-58a138a6.entry.js} +2 -2
- package/dist/atomic/{p-15b3c4ad.entry.js → p-5aaf4b5b.entry.js} +2 -2
- package/dist/atomic/{p-92048919.entry.js → p-6220ff1d.entry.js} +2 -2
- package/dist/atomic/{p-c1f236aa.entry.js → p-629b2dd9.entry.js} +2 -2
- package/dist/atomic/{p-d498f5ed.entry.js → p-63271009.entry.js} +2 -2
- package/dist/atomic/{p-0c3bfd1e.entry.js → p-63e1e3ad.entry.js} +2 -2
- package/dist/atomic/{p-dbce5ac5.entry.js → p-6b2cf1fb.entry.js} +2 -2
- package/dist/atomic/{p-d826e0ba.entry.js → p-6e424336.entry.js} +2 -2
- package/dist/atomic/{p-d81cc38e.entry.js → p-70925804.entry.js} +2 -2
- package/dist/atomic/{p-5999d525.entry.js → p-70af5870.entry.js} +2 -2
- package/dist/atomic/{p-854755e1.entry.js → p-724a8422.entry.js} +2 -2
- package/dist/atomic/{p-f0001475.entry.js → p-73256028.entry.js} +2 -2
- package/dist/atomic/{p-05e60ab3.entry.js → p-753fad0b.entry.js} +2 -2
- package/dist/atomic/{p-ce974d50.entry.js → p-7900ed8a.entry.js} +2 -2
- package/dist/atomic/{p-d02c5ccd.entry.js → p-7b0b4829.entry.js} +2 -2
- package/dist/atomic/{p-ccf7cfa7.entry.js → p-7cc0ac62.entry.js} +2 -2
- package/dist/atomic/{p-0839dd37.entry.js → p-7ed6f724.entry.js} +2 -2
- package/dist/atomic/{p-f07af263.entry.js → p-8317ee74.entry.js} +2 -2
- package/dist/atomic/{p-a1f84dce.entry.js → p-8531564b.entry.js} +2 -2
- package/dist/atomic/{p-24eba0f9.js → p-88e34667.js} +2 -2
- package/dist/atomic/{p-3328cd0f.entry.js → p-8bfdf2c5.entry.js} +2 -2
- package/dist/atomic/{p-b06a5278.entry.js → p-936d6b26.entry.js} +2 -2
- package/dist/atomic/{p-c1783bd8.entry.js → p-9540744d.entry.js} +2 -2
- package/dist/atomic/{p-d5628c4c.entry.js → p-975ffa7f.entry.js} +2 -2
- package/dist/atomic/{p-110e4da7.js → p-9767fe9a.js} +2 -2
- package/dist/atomic/{p-b21d0a3d.entry.js → p-9a3c79ff.entry.js} +2 -2
- package/dist/atomic/{p-3d6f1c1c.entry.js → p-9e4af274.entry.js} +2 -2
- package/dist/atomic/{p-16fffb3a.entry.js → p-9f4062f1.entry.js} +2 -2
- package/dist/atomic/{p-b5fe644f.entry.js → p-a06e88d4.entry.js} +2 -2
- package/dist/atomic/{p-d6ee6072.entry.js → p-a135ebc4.entry.js} +2 -2
- package/dist/atomic/{p-2338bf45.entry.js → p-a42a7fce.entry.js} +2 -2
- package/dist/atomic/{p-88fa6b1d.entry.js → p-a9ee0b6f.entry.js} +2 -2
- package/dist/atomic/{p-61a251b7.entry.js → p-affd89e5.entry.js} +2 -2
- package/dist/atomic/{p-1072f390.entry.js → p-b3770db9.entry.js} +2 -2
- package/dist/atomic/{p-4ec76654.entry.js → p-b3bbb1e5.entry.js} +2 -2
- package/dist/atomic/{p-24cae323.entry.js → p-b6f28f78.entry.js} +2 -2
- package/dist/atomic/p-b96bca99.entry.js +2 -0
- package/dist/atomic/{p-ac8100e8.entry.js → p-b9d9ffcd.entry.js} +2 -2
- package/dist/atomic/{p-7056c717.entry.js → p-bf60cc3a.entry.js} +2 -2
- package/dist/atomic/{p-74277b3c.entry.js → p-c76be572.entry.js} +2 -2
- package/dist/atomic/{p-270997db.entry.js → p-c826b8f9.entry.js} +2 -2
- package/dist/atomic/{p-a6ea75a6.entry.js → p-c86e0230.entry.js} +2 -2
- package/dist/atomic/{p-7814e1ed.entry.js → p-c9b01229.entry.js} +2 -2
- package/dist/atomic/{p-fbe0066a.entry.js → p-ccc22289.entry.js} +2 -2
- package/dist/atomic/{p-59bbe15a.entry.js → p-d642ef17.entry.js} +2 -2
- package/dist/atomic/{p-ddc02eab.entry.js → p-d6b6e7d4.entry.js} +2 -2
- package/dist/atomic/p-d6e6dbc3.js +2 -0
- package/dist/atomic/p-d6e6dbc3.js.map +1 -0
- package/dist/atomic/{p-1176faf8.entry.js → p-d79aa846.entry.js} +2 -2
- package/dist/atomic/{p-0eaecc6f.entry.js → p-d7ba69c5.entry.js} +2 -2
- package/dist/atomic/{p-da5e3caf.entry.js → p-d82800ed.entry.js} +2 -2
- package/dist/atomic/{p-d67650b6.entry.js → p-d94e8dfd.entry.js} +2 -2
- package/dist/atomic/{p-fa15a125.entry.js → p-d94f65e2.entry.js} +2 -2
- package/dist/atomic/{p-d0cb47a4.entry.js → p-d9e4f8a8.entry.js} +2 -2
- package/dist/atomic/p-d9ff279e.js +2 -0
- package/dist/atomic/{p-b366433e.entry.js → p-db02de0e.entry.js} +2 -2
- package/dist/atomic/{p-1fd50a70.entry.js → p-db7810c6.entry.js} +2 -2
- package/dist/atomic/{p-23f14475.entry.js → p-db7d6de6.entry.js} +2 -2
- package/dist/atomic/{p-94c70f7f.entry.js → p-e4d2c0a4.entry.js} +2 -2
- package/dist/atomic/{p-5a140589.entry.js → p-e5434c27.entry.js} +2 -2
- package/dist/atomic/{p-db7b7d58.entry.js → p-e7237496.entry.js} +2 -2
- package/dist/atomic/{p-eeeda2bb.entry.js → p-ed89b507.entry.js} +2 -2
- package/dist/atomic/{p-b03eb45d.entry.js → p-eea8a5f1.entry.js} +2 -2
- package/dist/atomic/{p-5e8fb3ac.entry.js → p-f3e32508.entry.js} +2 -2
- package/dist/atomic/p-f77160c6.js +2 -0
- package/dist/atomic/p-f77160c6.js.map +1 -0
- package/dist/atomic/{p-32be95c8.entry.js → p-f81a5329.entry.js} +2 -2
- package/dist/atomic/{p-6e4ad66d.entry.js → p-fc342fe2.entry.js} +2 -2
- package/dist/atomic/{p-adab4fa3.entry.js → p-fc405644.entry.js} +2 -2
- package/dist/cjs/_index.cjs.js +2 -2
- package/dist/cjs/{analytics-config-4fce5139.js → analytics-config-d3f5e775.js} +2 -2
- package/dist/cjs/{analytics-config-4fce5139.js.map → analytics-config-d3f5e775.js.map} +1 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-breadbox.cjs.entry.js +2 -2
- package/dist/cjs/atomic-category-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-color-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js +2 -2
- package/dist/cjs/atomic-external.cjs.entry.js +1 -2
- package/dist/cjs/atomic-external.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet-manager.cjs.entry.js +2 -2
- package/dist/cjs/atomic-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -2
- package/dist/cjs/atomic-html.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-tab.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +2 -2
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -2
- package/dist/cjs/atomic-no-results.cjs.entry.js +2 -2
- package/dist/cjs/atomic-notifications.cjs.entry.js +2 -2
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +3 -3
- package/dist/cjs/atomic-pager.cjs.entry.js +2 -2
- package/dist/cjs/atomic-popover.cjs.entry.js +2 -2
- package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-query-summary.cjs.entry.js +2 -2
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-quickview.cjs.entry.js +2 -2
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-children.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-link.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-localized-text.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-layout.cjs.entry.js +2 -2
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +2 -2
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +2 -2
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +3 -3
- package/dist/cjs/{facet-guard-1f250e99.js → facet-guard-6c335975.js} +2 -2
- package/dist/cjs/{facet-guard-1f250e99.js.map → facet-guard-6c335975.js.map} +1 -1
- package/dist/cjs/initialization-lit-stencil-common-utils-24279cfa.js +23 -0
- package/dist/cjs/initialization-lit-stencil-common-utils-24279cfa.js.map +1 -0
- package/dist/cjs/{initialization-utils-381854d1.js → initialization-utils-62dc9852.js} +12 -3
- package/dist/cjs/initialization-utils-62dc9852.js.map +1 -0
- package/dist/cjs/{timeframe-facet-common-f0e15fe8.js → timeframe-facet-common-5d249725.js} +2 -2
- package/dist/cjs/{timeframe-facet-common-f0e15fe8.js.map → timeframe-facet-common-5d249725.js.map} +1 -1
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/_index.js +2 -2
- package/dist/esm/{analytics-config-17acc26c.js → analytics-config-5624a4ca.js} +2 -2
- package/dist/esm/{analytics-config-17acc26c.js.map → analytics-config-5624a4ca.js.map} +1 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js +2 -2
- package/dist/esm/atomic-breadbox.entry.js +2 -2
- package/dist/esm/atomic-category-facet.entry.js +3 -3
- package/dist/esm/atomic-color-facet.entry.js +2 -2
- package/dist/esm/atomic-did-you-mean.entry.js +2 -2
- package/dist/esm/atomic-external.entry.js +1 -2
- package/dist/esm/atomic-external.entry.js.map +1 -1
- package/dist/esm/atomic-facet-manager.entry.js +2 -2
- package/dist/esm/atomic-facet.entry.js +3 -3
- package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
- package/dist/esm/atomic-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-generated-answer.entry.js +2 -2
- package/dist/esm/atomic-html.entry.js +2 -2
- package/dist/esm/atomic-insight-facet.entry.js +3 -3
- package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
- package/dist/esm/atomic-insight-generated-answer.entry.js +2 -2
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-layout.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +2 -2
- package/dist/esm/atomic-insight-numeric-facet.entry.js +3 -3
- package/dist/esm/atomic-insight-pager.entry.js +2 -2
- package/dist/esm/atomic-insight-query-error.entry.js +2 -2
- package/dist/esm/atomic-insight-query-summary.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-result-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
- package/dist/esm/atomic-insight-result-children.entry.js +2 -2
- package/dist/esm/atomic-insight-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
- package/dist/esm/atomic-insight-search-box.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet.entry.js +2 -2
- package/dist/esm/atomic-insight-tab.entry.js +2 -2
- package/dist/esm/atomic-insight-tabs.entry.js +2 -2
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +3 -3
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
- package/dist/esm/atomic-ipx-body.entry.js +2 -2
- package/dist/esm/atomic-ipx-button.entry.js +2 -2
- package/dist/esm/atomic-ipx-embedded.entry.js +2 -2
- package/dist/esm/atomic-ipx-modal.entry.js +2 -2
- package/dist/esm/atomic-ipx-recs-list.entry.js +2 -2
- package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
- package/dist/esm/atomic-ipx-tab.entry.js +2 -2
- package/dist/esm/atomic-ipx-tabs.entry.js +2 -2
- package/dist/esm/atomic-load-more-results.entry.js +2 -2
- package/dist/esm/atomic-no-results.entry.js +2 -2
- package/dist/esm/atomic-notifications.entry.js +2 -2
- package/dist/esm/atomic-numeric-facet.entry.js +3 -3
- package/dist/esm/atomic-pager.entry.js +2 -2
- package/dist/esm/atomic-popover.entry.js +2 -2
- package/dist/esm/atomic-query-error.entry.js +2 -2
- package/dist/esm/atomic-query-summary.entry.js +2 -2
- package/dist/esm/atomic-quickview-modal.entry.js +2 -2
- package/dist/esm/atomic-quickview.entry.js +2 -2
- package/dist/esm/atomic-rating-facet.entry.js +2 -2
- package/dist/esm/atomic-rating-range-facet.entry.js +2 -2
- package/dist/esm/atomic-recs-error.entry.js +2 -2
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +2 -2
- package/dist/esm/atomic-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-result-children.entry.js +2 -2
- package/dist/esm/atomic-result-date.entry.js +2 -2
- package/dist/esm/atomic-result-html.entry.js +2 -2
- package/dist/esm/atomic-result-image.entry.js +2 -2
- package/dist/esm/atomic-result-link.entry.js +2 -2
- package/dist/esm/atomic-result-list.entry.js +2 -2
- package/dist/esm/atomic-result-localized-text.entry.js +2 -2
- package/dist/esm/atomic-result-multi-value-text.entry.js +2 -2
- package/dist/esm/atomic-result-number.entry.js +2 -2
- package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
- package/dist/esm/atomic-result-rating.entry.js +2 -2
- package/dist/esm/atomic-result-text_2.entry.js +2 -2
- package/dist/esm/atomic-result-timespan.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +2 -2
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/atomic-search-layout.entry.js +2 -2
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js +2 -2
- package/dist/esm/atomic-segmented-facet.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet.entry.js +2 -2
- package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-tab-bar_2.entry.js +2 -2
- package/dist/esm/atomic-tab-manager.entry.js +2 -2
- package/dist/esm/atomic-timeframe-facet.entry.js +3 -3
- package/dist/esm/{facet-guard-fbd379cf.js → facet-guard-e7fea41e.js} +2 -2
- package/dist/esm/{facet-guard-fbd379cf.js.map → facet-guard-e7fea41e.js.map} +1 -1
- package/dist/esm/initialization-lit-stencil-common-utils-9e0c895f.js +19 -0
- package/dist/esm/initialization-lit-stencil-common-utils-9e0c895f.js.map +1 -0
- package/dist/esm/{initialization-utils-271aa8c0.js → initialization-utils-ff3edf9a.js} +12 -3
- package/dist/esm/initialization-utils-ff3edf9a.js.map +1 -0
- package/dist/esm/{timeframe-facet-common-9a91138c.js → timeframe-facet-common-8b4b78a7.js} +2 -2
- package/dist/esm/{timeframe-facet-common-9a91138c.js.map → timeframe-facet-common-8b4b78a7.js.map} +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.d.ts +1 -3
- package/dist/types/components/commerce/atomic-commerce-facet/atomic-commerce-facet.d.ts +1 -3
- package/dist/types/components/commerce/atomic-commerce-numeric-facet/atomic-commerce-numeric-facet.d.ts +1 -3
- package/dist/types/components/commerce/atomic-commerce-timeframe-facet/atomic-commerce-timeframe-facet.d.ts +1 -3
- package/dist/types/components/common/atomic-facet-date-input/atomic-facet-date-input.d.ts +2 -3
- package/dist/types/utils/initialization-utils.d.ts +1 -0
- package/docs/atomic-docs.json +1 -1
- package/package.json +1 -1
- package/dist/atomic/p-47002021.entry.js +0 -2
- package/dist/atomic/p-c55891c7.js +0 -2
- package/dist/atomic/p-cae02339.js +0 -2
- package/dist/atomic/p-cae02339.js.map +0 -1
- package/dist/atomic/p-d5d1c5c0.entry.js +0 -2
- package/dist/atomic/p-e4f99519.js +0 -2
- package/dist/atomic/p-e4f99519.js.map +0 -1
- package/dist/atomic/p-ffedf24d.entry.js +0 -2
- package/dist/cjs/initialization-lit-stencil-common-utils-730030b0.js +0 -39
- package/dist/cjs/initialization-lit-stencil-common-utils-730030b0.js.map +0 -1
- package/dist/cjs/initialization-utils-381854d1.js.map +0 -1
- package/dist/esm/initialization-lit-stencil-common-utils-804fe146.js +0 -34
- package/dist/esm/initialization-lit-stencil-common-utils-804fe146.js.map +0 -1
- package/dist/esm/initialization-utils-271aa8c0.js.map +0 -1
- /package/dist/atomic/{p-0c2f02d9.entry.js.map → p-02c7092d.entry.js.map} +0 -0
- /package/dist/atomic/{p-6e6f94db.entry.js.map → p-061b1970.entry.js.map} +0 -0
- /package/dist/atomic/{p-fc720960.entry.js.map → p-07e7770c.entry.js.map} +0 -0
- /package/dist/atomic/{p-973d0376.entry.js.map → p-082e8e88.entry.js.map} +0 -0
- /package/dist/atomic/{p-57b3e7e1.entry.js.map → p-0976d324.entry.js.map} +0 -0
- /package/dist/atomic/{p-a10ecd77.entry.js.map → p-09be36ec.entry.js.map} +0 -0
- /package/dist/atomic/{p-b239e617.entry.js.map → p-0ad16659.entry.js.map} +0 -0
- /package/dist/atomic/{p-3ca9ced1.entry.js.map → p-0afc3e7c.entry.js.map} +0 -0
- /package/dist/atomic/{p-60f60758.entry.js.map → p-0cc72211.entry.js.map} +0 -0
- /package/dist/atomic/{p-9a3bc0c9.entry.js.map → p-138bf395.entry.js.map} +0 -0
- /package/dist/atomic/{p-029893cf.entry.js.map → p-1735954d.entry.js.map} +0 -0
- /package/dist/atomic/{p-42e2d4b7.entry.js.map → p-18c302d8.entry.js.map} +0 -0
- /package/dist/atomic/{p-abbad47f.entry.js.map → p-190ff788.entry.js.map} +0 -0
- /package/dist/atomic/{p-52051651.entry.js.map → p-1aa77b93.entry.js.map} +0 -0
- /package/dist/atomic/{p-731b7ad8.entry.js.map → p-1cd30932.entry.js.map} +0 -0
- /package/dist/atomic/{p-58eb8537.entry.js.map → p-1d4b30c9.entry.js.map} +0 -0
- /package/dist/atomic/{p-4a3385e5.entry.js.map → p-1ea7b494.entry.js.map} +0 -0
- /package/dist/atomic/{p-9d9eeba2.entry.js.map → p-201cd50c.entry.js.map} +0 -0
- /package/dist/atomic/{p-c1e87094.entry.js.map → p-209db3c4.entry.js.map} +0 -0
- /package/dist/atomic/{p-3abab2a9.entry.js.map → p-21c7a74a.entry.js.map} +0 -0
- /package/dist/atomic/{p-27064d6e.entry.js.map → p-21c92d2b.entry.js.map} +0 -0
- /package/dist/atomic/{p-3b68096d.entry.js.map → p-2982ebb7.entry.js.map} +0 -0
- /package/dist/atomic/{p-a89213c7.entry.js.map → p-2a1b8f35.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e7267fe.entry.js.map → p-2c3d978e.entry.js.map} +0 -0
- /package/dist/atomic/{p-40cba2bd.entry.js.map → p-2eac467d.entry.js.map} +0 -0
- /package/dist/atomic/{p-6ad9e0c8.entry.js.map → p-2f89eaa5.entry.js.map} +0 -0
- /package/dist/atomic/{p-dd74f820.entry.js.map → p-339993e1.entry.js.map} +0 -0
- /package/dist/atomic/{p-c3899aff.entry.js.map → p-358ef11c.entry.js.map} +0 -0
- /package/dist/atomic/{p-6c384aeb.entry.js.map → p-36622fd4.entry.js.map} +0 -0
- /package/dist/atomic/{p-75117fb6.entry.js.map → p-37e5e103.entry.js.map} +0 -0
- /package/dist/atomic/{p-ffedf24d.entry.js.map → p-3e5a304a.entry.js.map} +0 -0
- /package/dist/atomic/{p-5f9b1abd.entry.js.map → p-4fc18b34.entry.js.map} +0 -0
- /package/dist/atomic/{p-e87acc31.entry.js.map → p-53929bc3.entry.js.map} +0 -0
- /package/dist/atomic/{p-d37cbedb.entry.js.map → p-58a138a6.entry.js.map} +0 -0
- /package/dist/atomic/{p-15b3c4ad.entry.js.map → p-5aaf4b5b.entry.js.map} +0 -0
- /package/dist/atomic/{p-92048919.entry.js.map → p-6220ff1d.entry.js.map} +0 -0
- /package/dist/atomic/{p-c1f236aa.entry.js.map → p-629b2dd9.entry.js.map} +0 -0
- /package/dist/atomic/{p-d498f5ed.entry.js.map → p-63271009.entry.js.map} +0 -0
- /package/dist/atomic/{p-0c3bfd1e.entry.js.map → p-63e1e3ad.entry.js.map} +0 -0
- /package/dist/atomic/{p-dbce5ac5.entry.js.map → p-6b2cf1fb.entry.js.map} +0 -0
- /package/dist/atomic/{p-d826e0ba.entry.js.map → p-6e424336.entry.js.map} +0 -0
- /package/dist/atomic/{p-d81cc38e.entry.js.map → p-70925804.entry.js.map} +0 -0
- /package/dist/atomic/{p-5999d525.entry.js.map → p-70af5870.entry.js.map} +0 -0
- /package/dist/atomic/{p-854755e1.entry.js.map → p-724a8422.entry.js.map} +0 -0
- /package/dist/atomic/{p-f0001475.entry.js.map → p-73256028.entry.js.map} +0 -0
- /package/dist/atomic/{p-05e60ab3.entry.js.map → p-753fad0b.entry.js.map} +0 -0
- /package/dist/atomic/{p-ce974d50.entry.js.map → p-7900ed8a.entry.js.map} +0 -0
- /package/dist/atomic/{p-d02c5ccd.entry.js.map → p-7b0b4829.entry.js.map} +0 -0
- /package/dist/atomic/{p-ccf7cfa7.entry.js.map → p-7cc0ac62.entry.js.map} +0 -0
- /package/dist/atomic/{p-0839dd37.entry.js.map → p-7ed6f724.entry.js.map} +0 -0
- /package/dist/atomic/{p-f07af263.entry.js.map → p-8317ee74.entry.js.map} +0 -0
- /package/dist/atomic/{p-a1f84dce.entry.js.map → p-8531564b.entry.js.map} +0 -0
- /package/dist/atomic/{p-24eba0f9.js.map → p-88e34667.js.map} +0 -0
- /package/dist/atomic/{p-3328cd0f.entry.js.map → p-8bfdf2c5.entry.js.map} +0 -0
- /package/dist/atomic/{p-b06a5278.entry.js.map → p-936d6b26.entry.js.map} +0 -0
- /package/dist/atomic/{p-c1783bd8.entry.js.map → p-9540744d.entry.js.map} +0 -0
- /package/dist/atomic/{p-d5628c4c.entry.js.map → p-975ffa7f.entry.js.map} +0 -0
- /package/dist/atomic/{p-110e4da7.js.map → p-9767fe9a.js.map} +0 -0
- /package/dist/atomic/{p-b21d0a3d.entry.js.map → p-9a3c79ff.entry.js.map} +0 -0
- /package/dist/atomic/{p-3d6f1c1c.entry.js.map → p-9e4af274.entry.js.map} +0 -0
- /package/dist/atomic/{p-16fffb3a.entry.js.map → p-9f4062f1.entry.js.map} +0 -0
- /package/dist/atomic/{p-b5fe644f.entry.js.map → p-a06e88d4.entry.js.map} +0 -0
- /package/dist/atomic/{p-d6ee6072.entry.js.map → p-a135ebc4.entry.js.map} +0 -0
- /package/dist/atomic/{p-2338bf45.entry.js.map → p-a42a7fce.entry.js.map} +0 -0
- /package/dist/atomic/{p-88fa6b1d.entry.js.map → p-a9ee0b6f.entry.js.map} +0 -0
- /package/dist/atomic/{p-61a251b7.entry.js.map → p-affd89e5.entry.js.map} +0 -0
- /package/dist/atomic/{p-1072f390.entry.js.map → p-b3770db9.entry.js.map} +0 -0
- /package/dist/atomic/{p-4ec76654.entry.js.map → p-b3bbb1e5.entry.js.map} +0 -0
- /package/dist/atomic/{p-24cae323.entry.js.map → p-b6f28f78.entry.js.map} +0 -0
- /package/dist/atomic/{p-d5d1c5c0.entry.js.map → p-b96bca99.entry.js.map} +0 -0
- /package/dist/atomic/{p-ac8100e8.entry.js.map → p-b9d9ffcd.entry.js.map} +0 -0
- /package/dist/atomic/{p-7056c717.entry.js.map → p-bf60cc3a.entry.js.map} +0 -0
- /package/dist/atomic/{p-74277b3c.entry.js.map → p-c76be572.entry.js.map} +0 -0
- /package/dist/atomic/{p-270997db.entry.js.map → p-c826b8f9.entry.js.map} +0 -0
- /package/dist/atomic/{p-a6ea75a6.entry.js.map → p-c86e0230.entry.js.map} +0 -0
- /package/dist/atomic/{p-7814e1ed.entry.js.map → p-c9b01229.entry.js.map} +0 -0
- /package/dist/atomic/{p-fbe0066a.entry.js.map → p-ccc22289.entry.js.map} +0 -0
- /package/dist/atomic/{p-59bbe15a.entry.js.map → p-d642ef17.entry.js.map} +0 -0
- /package/dist/atomic/{p-ddc02eab.entry.js.map → p-d6b6e7d4.entry.js.map} +0 -0
- /package/dist/atomic/{p-1176faf8.entry.js.map → p-d79aa846.entry.js.map} +0 -0
- /package/dist/atomic/{p-0eaecc6f.entry.js.map → p-d7ba69c5.entry.js.map} +0 -0
- /package/dist/atomic/{p-da5e3caf.entry.js.map → p-d82800ed.entry.js.map} +0 -0
- /package/dist/atomic/{p-d67650b6.entry.js.map → p-d94e8dfd.entry.js.map} +0 -0
- /package/dist/atomic/{p-fa15a125.entry.js.map → p-d94f65e2.entry.js.map} +0 -0
- /package/dist/atomic/{p-d0cb47a4.entry.js.map → p-d9e4f8a8.entry.js.map} +0 -0
- /package/dist/atomic/{p-c55891c7.js.map → p-d9ff279e.js.map} +0 -0
- /package/dist/atomic/{p-b366433e.entry.js.map → p-db02de0e.entry.js.map} +0 -0
- /package/dist/atomic/{p-1fd50a70.entry.js.map → p-db7810c6.entry.js.map} +0 -0
- /package/dist/atomic/{p-23f14475.entry.js.map → p-db7d6de6.entry.js.map} +0 -0
- /package/dist/atomic/{p-94c70f7f.entry.js.map → p-e4d2c0a4.entry.js.map} +0 -0
- /package/dist/atomic/{p-5a140589.entry.js.map → p-e5434c27.entry.js.map} +0 -0
- /package/dist/atomic/{p-db7b7d58.entry.js.map → p-e7237496.entry.js.map} +0 -0
- /package/dist/atomic/{p-eeeda2bb.entry.js.map → p-ed89b507.entry.js.map} +0 -0
- /package/dist/atomic/{p-b03eb45d.entry.js.map → p-eea8a5f1.entry.js.map} +0 -0
- /package/dist/atomic/{p-5e8fb3ac.entry.js.map → p-f3e32508.entry.js.map} +0 -0
- /package/dist/atomic/{p-32be95c8.entry.js.map → p-f81a5329.entry.js.map} +0 -0
- /package/dist/atomic/{p-6e4ad66d.entry.js.map → p-fc342fe2.entry.js.map} +0 -0
- /package/dist/atomic/{p-adab4fa3.entry.js.map → p-fc405644.entry.js.map} +0 -0
package/dist/esm/{timeframe-facet-common-9a91138c.js.map → timeframe-facet-common-8b4b78a7.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"timeframe-facet-common-9a91138c.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-stencil-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-stencil-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"timeframe-facet-common-8b4b78a7.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-stencil-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-stencil-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const headlessVersion = '3.28.3';
|
|
2
|
-
export const atomicVersion = '3.32.4-pre.
|
|
2
|
+
export const atomicVersion = '3.32.4-pre.f6943ebafa';
|
|
@@ -3,7 +3,6 @@ import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
|
3
3
|
import { LitElement } from 'lit';
|
|
4
4
|
import type { CommerceBindings } from "../atomic-commerce-interface/atomic-commerce-interface";
|
|
5
5
|
import type { InitializableComponent } from "../../../decorators/types";
|
|
6
|
-
declare const AtomicCommerceCategoryFacet_base: typeof LitElement;
|
|
7
6
|
/**
|
|
8
7
|
* A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (e.g., number of occurrences).
|
|
9
8
|
* An `atomic-commerce-category-facet` displays a facet of values in a browsable, hierarchical fashion.
|
|
@@ -44,7 +43,7 @@ declare const AtomicCommerceCategoryFacet_base: typeof LitElement;
|
|
|
44
43
|
* @part show-more-less-icon - The icons of the "Show more" and "Show less" buttons.
|
|
45
44
|
*
|
|
46
45
|
*/
|
|
47
|
-
export declare class AtomicCommerceCategoryFacet extends
|
|
46
|
+
export declare class AtomicCommerceCategoryFacet extends LitElement implements InitializableComponent<CommerceBindings> {
|
|
48
47
|
static styles: CSSResultGroup;
|
|
49
48
|
bindings: CommerceBindings;
|
|
50
49
|
/**
|
|
@@ -92,4 +91,3 @@ declare global {
|
|
|
92
91
|
'atomic-commerce-category-facet': AtomicCommerceCategoryFacet;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
|
-
export {};
|
|
@@ -2,7 +2,6 @@ import type { ProductListingSummaryState, RegularFacet, RegularFacetState, Searc
|
|
|
2
2
|
import { type CSSResultGroup, LitElement } from 'lit';
|
|
3
3
|
import type { InitializableComponent } from "../../../decorators/types";
|
|
4
4
|
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
|
|
5
|
-
declare const AtomicCommerceFacet_base: typeof LitElement;
|
|
6
5
|
/**
|
|
7
6
|
* The `atomic-commerce-facet` component renders a commerce facet that the end user can interact with to filter products.
|
|
8
7
|
*
|
|
@@ -36,7 +35,7 @@ declare const AtomicCommerceFacet_base: typeof LitElement;
|
|
|
36
35
|
* @part show-less - The show less results button.
|
|
37
36
|
* @part show-more-less-icon - The icons of the show more & show less buttons.
|
|
38
37
|
*/
|
|
39
|
-
export declare class AtomicCommerceFacet extends
|
|
38
|
+
export declare class AtomicCommerceFacet extends LitElement implements InitializableComponent<CommerceBindings> {
|
|
40
39
|
/**
|
|
41
40
|
* The Summary controller instance.
|
|
42
41
|
*/
|
|
@@ -90,4 +89,3 @@ declare global {
|
|
|
90
89
|
'atomic-commerce-facet': AtomicCommerceFacet;
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
|
-
export {};
|
|
@@ -3,7 +3,6 @@ import { type CSSResultGroup, LitElement } from 'lit';
|
|
|
3
3
|
import type { InitializableComponent } from "../../../decorators/types";
|
|
4
4
|
import '../atomic-commerce-facet-number-input/atomic-commerce-facet-number-input';
|
|
5
5
|
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
|
|
6
|
-
declare const AtomicCommerceNumericFacet_base: typeof LitElement;
|
|
7
6
|
/**
|
|
8
7
|
* The `atomic-commerce-numeric-facet` component renders a commerce facet that allows the user to filter products using numeric ranges.
|
|
9
8
|
*
|
|
@@ -24,7 +23,7 @@ declare const AtomicCommerceNumericFacet_base: typeof LitElement;
|
|
|
24
23
|
* @part input-end - The input field to enter the maximum numeric value.
|
|
25
24
|
* @part input-apply-button - The button to apply custom numeric range values.
|
|
26
25
|
*/
|
|
27
|
-
export declare class AtomicCommerceNumericFacet extends
|
|
26
|
+
export declare class AtomicCommerceNumericFacet extends LitElement implements InitializableComponent<CommerceBindings> {
|
|
28
27
|
/**
|
|
29
28
|
* The Summary controller instance.
|
|
30
29
|
*/
|
|
@@ -73,4 +72,3 @@ declare global {
|
|
|
73
72
|
'atomic-commerce-numeric-facet': AtomicCommerceNumericFacet;
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
|
-
export {};
|
|
@@ -3,7 +3,6 @@ import { type CSSResultGroup, LitElement } from 'lit';
|
|
|
3
3
|
import type { InitializableComponent } from "../../../decorators/types";
|
|
4
4
|
import '../../common/atomic-facet-date-input/atomic-facet-date-input';
|
|
5
5
|
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
|
|
6
|
-
declare const AtomicCommerceTimeframeFacet_base: typeof LitElement;
|
|
7
6
|
/**
|
|
8
7
|
* A facet is a list of values for a certain field occurring in the results.
|
|
9
8
|
* An `atomic-commerce-timeframe-facet` displays a facet of the results for the current query as date intervals.
|
|
@@ -23,7 +22,7 @@ declare const AtomicCommerceTimeframeFacet_base: typeof LitElement;
|
|
|
23
22
|
* @part input-end - The end date input field.
|
|
24
23
|
* @part input-apply-button - The button to apply date range selection.
|
|
25
24
|
*/
|
|
26
|
-
export declare class AtomicCommerceTimeframeFacet extends
|
|
25
|
+
export declare class AtomicCommerceTimeframeFacet extends LitElement implements InitializableComponent<CommerceBindings> {
|
|
27
26
|
static styles: CSSResultGroup;
|
|
28
27
|
/**
|
|
29
28
|
* The Summary controller instance.
|
|
@@ -73,4 +72,3 @@ declare global {
|
|
|
73
72
|
'atomic-commerce-timeframe-facet': AtomicCommerceTimeframeFacet;
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
|
-
export {};
|
|
@@ -3,7 +3,6 @@ import { LitElement } from 'lit';
|
|
|
3
3
|
import type { LitElementWithError } from "../../../decorators/types";
|
|
4
4
|
import type { AnyBindings } from '../interface/bindings';
|
|
5
5
|
export type FacetDateInputEventDetails = Omit<DateRangeRequest, 'state'>;
|
|
6
|
-
declare const AtomicFacetDateInput_base: typeof LitElement;
|
|
7
6
|
/**
|
|
8
7
|
* Internal component made to be integrated in a TimeframeFacet.
|
|
9
8
|
*
|
|
@@ -12,11 +11,12 @@ declare const AtomicFacetDateInput_base: typeof LitElement;
|
|
|
12
11
|
*
|
|
13
12
|
* @internal
|
|
14
13
|
*/
|
|
15
|
-
export declare class AtomicFacetDateInput extends
|
|
14
|
+
export declare class AtomicFacetDateInput extends LitElement implements LitElementWithError {
|
|
16
15
|
private start?;
|
|
17
16
|
private end?;
|
|
18
17
|
private startRef;
|
|
19
18
|
private endRef;
|
|
19
|
+
initialize(): void;
|
|
20
20
|
inputRange: DateFilterRange | undefined;
|
|
21
21
|
facetId: string;
|
|
22
22
|
label: string;
|
|
@@ -41,4 +41,3 @@ declare global {
|
|
|
41
41
|
'atomic-facet-date-input': AtomicFacetDateInput;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
export {};
|
|
@@ -9,6 +9,7 @@ export type InitializeEvent = CustomEvent<InitializeEventHandler>;
|
|
|
9
9
|
* Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.
|
|
10
10
|
* @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
|
|
11
11
|
* @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
|
|
12
|
+
* @deprecated should only be used for Stencil components. For Lit components, use `initializeBindings` from @/src/decorators/initialize-bindings.
|
|
12
13
|
*/
|
|
13
14
|
export declare function initializeBindings<SpecificBindings extends AnyBindings = Bindings>(element: Element): Promise<SpecificBindings>;
|
|
14
15
|
export { MissingInterfaceParentError, InitializeEventHandler, initializeEventName, } from './initialization-lit-stencil-common-utils';
|
package/docs/atomic-docs.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coveo/atomic",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.32.4-pre.
|
|
4
|
+
"version": "3.32.4-pre.f6943ebafa",
|
|
5
5
|
"description": "A web-component library for building modern UIs interfacing with the Coveo platform",
|
|
6
6
|
"homepage": "https://docs.coveo.com/en/atomic/latest/",
|
|
7
7
|
"repository": {
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,g as e}from"./p-dc3df5ce.js";import{m as i,i as r}from"./p-05de7ca3.js";import{b as a}from"./p-1580513b.js";import{i as o}from"./p-cae02339.js";import"./p-c9074946.js";var n=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,r){if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?r:i==="a"?r.call(t):r?r.value:e.get(t)};var s,c;const h=class{constructor(e){t(this,e);s.add(this);this.selector="atomic-search-interface";this.selector="atomic-search-interface";this.boundInterface=undefined}handleInitialization(t){t.preventDefault();t.stopPropagation();n(this,s,"a",c).dispatchEvent(a(o,t.detail))}handleScrollToTop(t){t.preventDefault();t.stopPropagation();n(this,s,"a",c).dispatchEvent(a("atomic/scrollToTop",t.detail))}handleParentReady(t){if(t.target===this.boundInterface){i(this.host)}}connectedCallback(){if(r(n(this,s,"a",c))){i(this.host)}}get host(){return e(this)}};s=new WeakSet,c=function t(){if(!this.boundInterface){this.boundInterface=document.querySelector(this.selector)??undefined;if(!this.boundInterface){throw new Error(`Cannot find interface element with selector "${this.selector}"`)}}return this.boundInterface};export{h as atomic_external};
|
|
2
|
-
//# sourceMappingURL=p-47002021.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e}from"./p-c9074946.js";import{b as t}from"./p-1580513b.js";import{e as c}from"./p-05de7ca3.js";function o(o){return new Promise(((a,s)=>{const m=t(n,(e=>a(e)));const f=e(o,i.join(", "));if(!f){s(new r(o.nodeName.toLowerCase()));return}c(f,m,o)}))}class r extends Error{constructor(e){super(`The "${e}" element must be the child of the following elements: ${i.join(", ")}`)}}const i=["atomic-recs-interface","atomic-search-interface","atomic-commerce-interface","atomic-commerce-recommendation-interface","atomic-relevance-inspector","atomic-insight-interface","atomic-external"];const n="atomic/initializeComponent";export{r as M,i as a,o as f,n as i};
|
|
2
|
-
//# sourceMappingURL=p-cae02339.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["fetchBindings","element","Promise","resolve","reject","event","buildCustomEvent","initializeEventName","bindings","parent","closest","initializableElements","join","MissingInterfaceParentError","nodeName","toLowerCase","enqueueOrDispatchInitializationEvent","Error","constructor","elementName","super"],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"mappings":"qHAKgBA,EACdC,GAEA,OAAO,IAAIC,SAA0B,CAACC,EAASC,KAC7C,MAAMC,EAAQC,EACZC,GACCC,GAAsBL,EAAQK,KAEjC,MAAMC,EAASC,EAAQT,EAASU,EAAsBC,KAAK,OAC3D,IAAKH,EAAQ,CACXL,EAAO,IAAIS,EAA4BZ,EAAQa,SAASC,gBACxD,M,CAEFC,EAAqCP,EAAQJ,EAAOJ,EAAQ,GAEhE,C,MAEaY,UAAoCI,MAC/C,WAAAC,CAAYC,GACVC,MACE,QAAQD,2DAAqER,EAAsBC,KACjG,Q,QAKKD,EAAwB,CACnC,wBACA,0BACA,4BACA,2CACA,6BACA,2BACA,mB,MAEWJ,EAAsB,oC","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t}from"./p-dc3df5ce.js";import{I as c}from"./p-e4f99519.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";var d=undefined&&undefined.__decorate||function(e,t,c,d){var f=arguments.length,r=f<3?t:d===null?d=Object.getOwnPropertyDescriptor(t,c):d,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(e,t,c,d);else for(var o=e.length-1;o>=0;o--)if(i=e[o])r=(f<3?i(r):f>3?i(t,c,r):i(t,c))||r;return f>3&&r&&Object.defineProperty(t,c,r),r};const f=class{constructor(t){e(this,t);this.error=undefined}render(){return t("atomic-tab-bar",{key:"9fd91d75c02448971dce40c407773ef3fd1a6fdc"},t("slot",{key:"a85003fda6e7c87487cdbdd680d4075fd3df7a6d"}))}};d([c()],f.prototype,"bindings",void 0);export{f as atomic_insight_tabs};
|
|
2
|
-
//# sourceMappingURL=p-d5d1c5c0.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as t,H as i,g as n,f as e}from"./p-dc3df5ce.js";import{c as s}from"./p-c9074946.js";import{b as o}from"./p-1580513b.js";import{e as r}from"./p-05de7ca3.js";import{M as a,f as c,i as h,a as d}from"./p-cae02339.js";const f=()=>t(i,{class:"atomic-hidden"});function l(t){return c(t)}const u="data-atomic-rendered";const p="data-atomic-loaded";function m({forceUpdate:i}={}){return(c,l)=>{const{componentWillLoad:m,render:g,componentDidRender:b,componentDidLoad:C,disconnectedCallback:j}=c;let y=()=>{};if(l!=="bindings"){return console.error(`The InitializeBindings decorator should be used on a property called "bindings", and not "${l}"`,c)}c.componentWillLoad=function(){const t=n(this);t.setAttribute(u,"false");t.setAttribute(p,"false");const c=o(h,(t=>{this.bindings=t;const n=()=>e(this);this.bindings.i18n.on("languageChanged",n);y=()=>this.bindings.i18n.off("languageChanged",n);try{if(this.initialize){this.initialize();if(i){e(this)}}else{e(this)}}catch(t){this.error=t}}));const f=s(t,d.join(", "));if(!f){this.error=new a(t.nodeName.toLowerCase());return}r(f,c,t);return m&&m.call(this)};c.render=function(){if(this.error){return t("atomic-component-error",{element:n(this),error:this.error})}if(!this.bindings){return t(f,null)}n(this).setAttribute(u,"true");return g&&g.call(this)};c.disconnectedCallback=function(){const t=n(this);t.setAttribute(u,"false");t.setAttribute(p,"false");y();j&&j.call(this)};c.componentDidRender=function(){const t=n(this);if(t.getAttribute(u)==="false"){return}b&&b.call(this);if(t.getAttribute(p)==="false"){t.setAttribute(p,"true");C&&C.call(this)}};c.componentDidLoad=function(){}}}function g(t,i){return(e,s)=>{const{disconnectedCallback:o,initialize:r}=e;e.initialize=function(){r&&r.call(this);if(!r){return console.error(`ControllerState: The "initialize" method has to be defined and instantiate a controller for the property ${t}`,e)}if(!this[t]){return}if(i?.onUpdateCallbackMethod&&!this[i.onUpdateCallbackMethod]){return console.error(`ControllerState: The onUpdateCallbackMethod property "${i.onUpdateCallbackMethod}" is not defined`,e)}this.unsubscribeController=this[t].subscribe((()=>{this[s]=this[t].state;i?.onUpdateCallbackMethod&&this[i.onUpdateCallbackMethod]()}))};e.disconnectedCallback=function(){!n(this).isConnected&&this.unsubscribeController?.();o&&o.call(this)}}}export{g as B,f as H,m as I,l as i};
|
|
2
|
-
//# sourceMappingURL=p-e4f99519.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Hidden","h","Host","class","initializeBindings","element","fetchBindings","renderedAttribute","loadedAttribute","InitializeBindings","forceUpdate","component","bindingsProperty","componentWillLoad","render","componentDidRender","componentDidLoad","disconnectedCallback","unsubscribeLanguage","console","error","getElement","this","setAttribute","event","buildCustomEvent","initializeEventName","bindings","updateLanguage","forceUpdateComponent","i18n","on","off","initialize","e","parent","closest","initializableElements","join","MissingInterfaceParentError","nodeName","toLowerCase","enqueueOrDispatchInitializationEvent","call","getAttribute","BindStateToController","controllerProperty","options","stateProperty","onUpdateCallbackMethod","unsubscribeController","subscribe","state","isConnected"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,g as e}from"./p-dc3df5ce.js";import{ResultTemplatesHelpers as r}from"@coveo/headless";import{I as s}from"./p-e4f99519.js";import{b as i}from"./p-25a96534.js";import{R as n}from"./p-18684d4c.js";import"./p-c9074946.js";import"./p-1580513b.js";import"./p-05de7ca3.js";import"./p-cae02339.js";import"./p-3dc06261.js";var o=undefined&&undefined.__decorate||function(t,e,r,s){var i=arguments.length,n=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,r):s,o;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(t,e,r,s);else for(var u=t.length-1;u>=0;u--)if(o=t[u])n=(i<3?o(n):i>3?o(e,r,n):o(e,r))||n;return i>3&&n&&Object.defineProperty(e,r,n),n};const u=class{constructor(e){t(this,e);this.formatter=i;this.valueToDisplay=null;this.error=undefined;this.field=undefined;this.formatter=i;this.valueToDisplay=null}setFormat(t){t.preventDefault();t.stopPropagation();this.formatter=t.detail}parseValue(){const t=r.getResultProperty(this.result,this.field);if(t===null){return null}const e=parseFloat(`${t}`);if(Number.isNaN(e)){this.error=new Error(`Could not parse "${t}" from field "${this.field}" as a number.`);return null}return e}formatValue(t){try{return this.formatter(t,this.bindings.i18n.languages)}catch(e){this.error=e;return t.toString()}}updateValueToDisplay(){const t=this.parseValue();if(t!==null){this.valueToDisplay=this.formatValue(t)}}componentWillRender(){this.updateValueToDisplay()}render(){if(this.valueToDisplay===null){this.host.remove();return}return this.valueToDisplay}get host(){return e(this)}};o([s()],u.prototype,"bindings",void 0);o([n()],u.prototype,"result",void 0);export{u as atomic_result_number};
|
|
2
|
-
//# sourceMappingURL=p-ffedf24d.entry.js.map
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const domUtils = require('./dom-utils-d4790328.js');
|
|
4
|
-
const eventUtils = require('./event-utils-9bfcf3c5.js');
|
|
5
|
-
const initQueue = require('./init-queue-a18aa323.js');
|
|
6
|
-
|
|
7
|
-
function fetchBindings(element) {
|
|
8
|
-
return new Promise((resolve, reject) => {
|
|
9
|
-
const event = eventUtils.buildCustomEvent(initializeEventName, (bindings) => resolve(bindings));
|
|
10
|
-
const parent = domUtils.closest(element, initializableElements.join(', '));
|
|
11
|
-
if (!parent) {
|
|
12
|
-
reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
initQueue.enqueueOrDispatchInitializationEvent(parent, event, element);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
class MissingInterfaceParentError extends Error {
|
|
19
|
-
constructor(elementName) {
|
|
20
|
-
super(`The "${elementName}" element must be the child of the following elements: ${initializableElements.join(', ')}`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const initializableElements = [
|
|
24
|
-
'atomic-recs-interface',
|
|
25
|
-
'atomic-search-interface',
|
|
26
|
-
'atomic-commerce-interface',
|
|
27
|
-
'atomic-commerce-recommendation-interface',
|
|
28
|
-
'atomic-relevance-inspector',
|
|
29
|
-
'atomic-insight-interface',
|
|
30
|
-
'atomic-external',
|
|
31
|
-
];
|
|
32
|
-
const initializeEventName = 'atomic/initializeComponent';
|
|
33
|
-
|
|
34
|
-
exports.MissingInterfaceParentError = MissingInterfaceParentError;
|
|
35
|
-
exports.fetchBindings = fetchBindings;
|
|
36
|
-
exports.initializableElements = initializableElements;
|
|
37
|
-
exports.initializeEventName = initializeEventName;
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=initialization-lit-stencil-common-utils-730030b0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"initialization-lit-stencil-common-utils-730030b0.js","mappings":";;;;;;SAKgB,aAAa,CAC3B,OAAgB;IAEhB,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM;QACnD,MAAM,KAAK,GAAGA,2BAAgB,CAC5B,mBAAmB,EACnB,CAAC,QAAiB,KAAK,OAAO,CAAC,QAA4B,CAAC,CAC7D,CAAC;QACF,MAAM,MAAM,GAAGC,gBAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO;SACR;QACDC,8CAAoC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;MAEY,2BAA4B,SAAQ,KAAK;IACpD,YAAY,WAAmB;QAC7B,KAAK,CACH,QAAQ,WAAW,0DAA0D,qBAAqB,CAAC,IAAI,CACrG,IAAI,CACL,EAAE,CACJ,CAAC;KACH;CACF;MACY,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,0CAA0C;IAC1C,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;EACjB;MACW,mBAAmB,GAAG;;;;;;;","names":["buildCustomEvent","closest","enqueueOrDispatchInitializationEvent"],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"initialization-utils-381854d1.js","mappings":"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","names":["h","Host","fetchBindings","getElement","buildCustomEvent","initializeEventName","forceUpdateComponent","closest","initializableElements","MissingInterfaceParentError","enqueueOrDispatchInitializationEvent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"version":3}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { c as closest } from './dom-utils-f6086cd3.js';
|
|
2
|
-
import { b as buildCustomEvent } from './event-utils-8de63ec3.js';
|
|
3
|
-
import { e as enqueueOrDispatchInitializationEvent } from './init-queue-fbe942c3.js';
|
|
4
|
-
|
|
5
|
-
function fetchBindings(element) {
|
|
6
|
-
return new Promise((resolve, reject) => {
|
|
7
|
-
const event = buildCustomEvent(initializeEventName, (bindings) => resolve(bindings));
|
|
8
|
-
const parent = closest(element, initializableElements.join(', '));
|
|
9
|
-
if (!parent) {
|
|
10
|
-
reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
enqueueOrDispatchInitializationEvent(parent, event, element);
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
class MissingInterfaceParentError extends Error {
|
|
17
|
-
constructor(elementName) {
|
|
18
|
-
super(`The "${elementName}" element must be the child of the following elements: ${initializableElements.join(', ')}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const initializableElements = [
|
|
22
|
-
'atomic-recs-interface',
|
|
23
|
-
'atomic-search-interface',
|
|
24
|
-
'atomic-commerce-interface',
|
|
25
|
-
'atomic-commerce-recommendation-interface',
|
|
26
|
-
'atomic-relevance-inspector',
|
|
27
|
-
'atomic-insight-interface',
|
|
28
|
-
'atomic-external',
|
|
29
|
-
];
|
|
30
|
-
const initializeEventName = 'atomic/initializeComponent';
|
|
31
|
-
|
|
32
|
-
export { MissingInterfaceParentError as M, initializableElements as a, fetchBindings as f, initializeEventName as i };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=initialization-lit-stencil-common-utils-804fe146.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"initialization-lit-stencil-common-utils-804fe146.js","mappings":";;;;SAKgB,aAAa,CAC3B,OAAgB;IAEhB,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM;QACnD,MAAM,KAAK,GAAG,gBAAgB,CAC5B,mBAAmB,EACnB,CAAC,QAAiB,KAAK,OAAO,CAAC,QAA4B,CAAC,CAC7D,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO;SACR;QACD,oCAAoC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC;MAEY,2BAA4B,SAAQ,KAAK;IACpD,YAAY,WAAmB;QAC7B,KAAK,CACH,QAAQ,WAAW,0DAA0D,qBAAqB,CAAC,IAAI,CACrG,IAAI,CACL,EAAE,CACJ,CAAC;KACH;CACF;MACY,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,0CAA0C;IAC1C,4BAA4B;IAC5B,0BAA0B;IAC1B,iBAAiB;EACjB;MACW,mBAAmB,GAAG;;;;","names":[],"sources":["src/utils/initialization-lit-stencil-common-utils.ts"],"sourcesContent":["import type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"initialization-utils-271aa8c0.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the displayIf directive instead\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import type {CoreEngine} from '@coveo/headless';\nimport {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: Bindings;\n};\n"],"version":3}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|