@coveo/atomic 3.46.0 → 3.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +0 -4
- package/dist/atomic/components/_index.js +1 -3
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +5 -3
- package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +1 -2
- package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
- package/dist/atomic/components/atomic-ipx-body2.js +2 -2
- package/dist/atomic/components/atomic-ipx-body2.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-modal.js +2 -2
- package/dist/atomic/components/atomic-ipx-modal.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-recs-list.js +2 -3
- package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
- package/dist/atomic/components/atomic-recs-list.js +2 -3
- package/dist/atomic/components/atomic-recs-list.js.map +1 -1
- package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
- package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +1 -1
- package/dist/atomic/components/atomic-suggestion-renderer.js +3 -3
- package/dist/atomic/components/atomic-suggestion-renderer.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +4 -7
- package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +3 -4
- package/dist/atomic/components/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +2 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +2 -4
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +9 -2
- package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +3 -4
- package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +2 -0
- package/dist/atomic/components/components/common/atomic-facet-number-input/atomic-facet-number-input.js +5 -4
- package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +4 -2
- package/dist/atomic/components/components/common/atomic-smart-snippet-expandable-answer/atomic-smart-snippet-expandable-answer.js +14 -25
- package/dist/atomic/components/components/common/atomic-smart-snippet-source/atomic-smart-snippet-source.js +1 -1
- package/dist/atomic/components/components/common/generated-answer/render-citations.js +1 -1
- package/dist/atomic/components/components/common/radio-button.js +1 -0
- package/dist/atomic/components/components/insight/atomic-insight-pager/atomic-insight-pager.js +2 -1
- package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +280 -0
- package/dist/atomic/components/components/insight/atomic-insight-search-box/atomic-insight-search-box.js +1 -1
- package/dist/atomic/components/components/insight/index.js +1 -0
- package/dist/atomic/components/components/insight/lazy-index.js +1 -0
- package/dist/atomic/components/components/ipx/atomic-ipx-embedded/atomic-ipx-embedded.js +75 -0
- package/dist/atomic/components/components/ipx/index.js +1 -0
- package/dist/atomic/components/components/ipx/lazy-index.js +1 -0
- package/dist/atomic/components/components/search/atomic-pager/atomic-pager.js +2 -1
- package/dist/atomic/components/components/search/atomic-quickview-modal/atomic-quickview-modal.js +3 -2
- package/dist/atomic/components/components/search/atomic-results-per-page/atomic-results-per-page.js +4 -4
- package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +8 -3
- package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +5 -4
- package/dist/atomic/components/display-options.js +95 -1
- package/dist/atomic/components/display-options.js.map +1 -1
- package/dist/atomic/components/event-utils.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/props-utils.js +1 -1
- package/dist/atomic/components/stencil-result-template-decorators.js +94 -2
- package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -1
- package/dist/atomic/components/utils/custom-element-tags.js +2 -0
- package/dist/atomic/components/utils.js +1 -11
- package/dist/atomic/components/utils.js.map +1 -1
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/p-01e5fdc1.entry.js +2 -0
- package/dist/atomic/p-01e5fdc1.entry.js.map +1 -0
- package/dist/atomic/p-02089c14.js +2 -0
- package/dist/atomic/{p-9748e9a8.js → p-0454df94.js} +2 -2
- package/dist/atomic/{p-7c732c9b.entry.js → p-0d58f131.entry.js} +2 -2
- package/dist/atomic/p-0f466ffb.js +2 -0
- package/dist/atomic/p-1580513b.js.map +1 -1
- package/dist/atomic/p-1da0ec8c.entry.js +2 -0
- package/dist/atomic/p-1da0ec8c.entry.js.map +1 -0
- package/dist/atomic/{p-608ea23b.entry.js → p-2ad5f46e.entry.js} +2 -2
- package/dist/atomic/p-2ad5f46e.entry.js.map +1 -0
- package/dist/atomic/{p-fb755797.entry.js → p-3b46c4c2.entry.js} +2 -2
- package/dist/atomic/p-42d7acb3.js +2 -0
- package/dist/atomic/{p-fa7ff7aa.entry.js → p-44eda272.entry.js} +2 -2
- package/dist/atomic/p-44eda272.entry.js.map +1 -0
- package/dist/atomic/{p-3930eb33.js → p-4a2e7926.js} +2 -2
- package/dist/atomic/{p-5b83e1aa.entry.js → p-519b3517.entry.js} +2 -2
- package/dist/atomic/{p-b8fb8a69.js → p-66d84fd8.js} +2 -2
- package/dist/atomic/{p-f82d4e71.entry.js → p-6b66c9da.entry.js} +2 -2
- package/dist/atomic/{p-7ca2dce5.entry.js → p-6bb72ce5.entry.js} +2 -2
- package/dist/atomic/p-6bbff681.entry.js +2 -0
- package/dist/atomic/p-6bbff681.entry.js.map +1 -0
- package/dist/atomic/{p-f647fb7b.entry.js → p-6e706321.entry.js} +2 -2
- package/dist/atomic/{p-a97247c4.entry.js → p-7a4bad93.entry.js} +2 -2
- package/dist/atomic/p-7ac9072b.js +2 -0
- package/dist/atomic/p-7ac9072b.js.map +1 -0
- package/dist/atomic/p-898fd613.js +3 -0
- package/dist/atomic/p-898fd613.js.map +1 -0
- package/dist/atomic/p-8b9982db.entry.js +2 -0
- package/dist/atomic/{p-a998340c.entry.js.map → p-8b9982db.entry.js.map} +1 -1
- package/dist/atomic/p-90f23fb3.entry.js +2 -0
- package/dist/atomic/p-90f23fb3.entry.js.map +1 -0
- package/dist/atomic/p-92156d1b.entry.js +2 -0
- package/dist/atomic/{p-a9719330.entry.js.map → p-92156d1b.entry.js.map} +1 -1
- package/dist/atomic/{p-8ab3a3e3.js → p-94976bed.js} +2 -2
- package/dist/atomic/p-a3edbb0a.entry.js +2 -0
- package/dist/atomic/p-a3edbb0a.entry.js.map +1 -0
- package/dist/atomic/{p-ec88de2b.entry.js → p-b01312d5.entry.js} +2 -2
- package/dist/atomic/{p-fb6a5b80.entry.js.map → p-b01312d5.entry.js.map} +1 -1
- package/dist/atomic/{p-abbf4a31.entry.js → p-b56e0b21.entry.js} +2 -2
- package/dist/atomic/p-b56e0b21.entry.js.map +1 -0
- package/dist/atomic/p-b9caa130.entry.js +2 -0
- package/dist/atomic/{p-4a8bb5ea.entry.js.map → p-b9caa130.entry.js.map} +1 -1
- package/dist/atomic/{p-8f9590f0.js → p-be8cc132.js} +2 -2
- package/dist/atomic/{p-ae079ccf.js → p-bedd6d62.js} +2 -2
- package/dist/atomic/p-c785d72d.entry.js +2 -0
- package/dist/atomic/{p-ec88de2b.entry.js.map → p-c785d72d.entry.js.map} +1 -1
- package/dist/atomic/{p-e041c13c.entry.js → p-ce30fcf5.entry.js} +2 -2
- package/dist/atomic/{p-95ad29f3.entry.js → p-d03289b0.entry.js} +2 -2
- package/dist/atomic/{p-5aadf2ae.entry.js → p-d0ec450e.entry.js} +2 -2
- package/dist/atomic/p-d637dcbe.js +2 -0
- package/dist/atomic/p-d637dcbe.js.map +1 -0
- package/dist/atomic/p-e283bb5a.js +2 -0
- package/dist/atomic/p-e283bb5a.js.map +1 -0
- package/dist/atomic/{p-4a1636ae.entry.js → p-e2e4d4f3.entry.js} +2 -2
- package/dist/atomic/{p-e6eee594.js → p-e9fff991.js} +2 -2
- package/dist/atomic/{p-d609547d.js → p-f2243b33.js} +2 -2
- package/dist/atomic/p-f2b42434.entry.js +2 -0
- package/dist/atomic/{p-3f48ff91.entry.js.map → p-f2b42434.entry.js.map} +1 -1
- package/dist/atomic/{p-af37130c.entry.js → p-f3a9a28b.entry.js} +2 -2
- package/dist/cjs/_index.cjs.js +3 -4
- package/dist/cjs/_loader.cjs.js +2 -2
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +8 -8
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +13 -11
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +6 -7
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +6 -7
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -4
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +8 -9
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +7 -8
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-user-actions-session.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-user-actions-timeline.cjs.entry.js +3 -3
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-body.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +11 -12
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -5
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +11 -12
- package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +5 -5
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +3 -3
- package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic.cjs.js +2 -2
- package/dist/cjs/{display-options-d5c02917.js → display-options-dad31135.js} +100 -4
- package/dist/cjs/display-options-dad31135.js.map +1 -0
- package/dist/cjs/event-utils-9bfcf3c5.js.map +1 -1
- package/dist/cjs/{index-0a91838f.js → index-515ca559.js} +6 -17
- package/dist/cjs/index-515ca559.js.map +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{initialization-utils-68064e3c.js → initialization-utils-3a62b483.js} +2 -2
- package/dist/cjs/{initialization-utils-68064e3c.js.map → initialization-utils-3a62b483.js.map} +1 -1
- package/dist/cjs/{props-utils-81f782bd.js → props-utils-4cc79d26.js} +3 -3
- package/dist/cjs/{props-utils-81f782bd.js.map → props-utils-4cc79d26.js.map} +1 -1
- package/dist/cjs/{stencil-accessibility-utils-8396dad2.js → stencil-accessibility-utils-1dcfe64c.js} +2 -2
- package/dist/cjs/{stencil-accessibility-utils-8396dad2.js.map → stencil-accessibility-utils-1dcfe64c.js.map} +1 -1
- package/dist/cjs/{stencil-button-de162ca7.js → stencil-button-580d6869.js} +2 -2
- package/dist/cjs/{stencil-button-de162ca7.js.map → stencil-button-580d6869.js.map} +1 -1
- package/dist/cjs/{stencil-carousel-587ae361.js → stencil-carousel-27149c5b.js} +3 -3
- package/dist/cjs/{stencil-carousel-587ae361.js.map → stencil-carousel-27149c5b.js.map} +1 -1
- package/dist/cjs/{stencil-fieldset-group-ad14759c.js → stencil-fieldset-group-c1b075b6.js} +2 -2
- package/dist/cjs/{stencil-fieldset-group-ad14759c.js.map → stencil-fieldset-group-c1b075b6.js.map} +1 -1
- package/dist/cjs/{stencil-heading-e59e3fdd.js → stencil-heading-41ec283d.js} +2 -2
- package/dist/cjs/{stencil-heading-e59e3fdd.js.map → stencil-heading-41ec283d.js.map} +1 -1
- package/dist/cjs/{stencil-iconButton-3d7f4317.js → stencil-iconButton-8e927184.js} +3 -3
- package/dist/cjs/{stencil-iconButton-3d7f4317.js.map → stencil-iconButton-8e927184.js.map} +1 -1
- package/dist/cjs/{stencil-item-list-guard-a338ea08.js → stencil-item-list-guard-4dfa8e37.js} +2 -2
- package/dist/cjs/{stencil-item-list-guard-a338ea08.js.map → stencil-item-list-guard-4dfa8e37.js.map} +1 -1
- package/dist/cjs/{stencil-modal-9bafc681.js → stencil-modal-9035d38e.js} +3 -3
- package/dist/cjs/{stencil-modal-9bafc681.js.map → stencil-modal-9035d38e.js.map} +1 -1
- package/dist/cjs/{stencil-radio-button-3b87d6da.js → stencil-radio-button-6a4181f4.js} +3 -3
- package/dist/cjs/{stencil-radio-button-3b87d6da.js.map → stencil-radio-button-6a4181f4.js.map} +1 -1
- package/dist/cjs/{stencil-item-decorators-d2daa144.js → stencil-result-template-decorators-df459ee3.js} +32 -45
- package/dist/cjs/stencil-result-template-decorators-df459ee3.js.map +1 -0
- package/dist/cjs/{utils-b455e068.js → utils-ba796684.js} +1 -12
- package/dist/cjs/utils-ba796684.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +3 -3
- package/dist/esm/_loader.js +3 -3
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +8 -8
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +10 -8
- package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-generated-answer.entry.js +6 -6
- package/dist/esm/atomic-insight-refine-modal.entry.js +4 -4
- package/dist/esm/atomic-insight-result-action-bar.entry.js +2 -2
- package/dist/esm/atomic-insight-result-action.entry.js +6 -7
- package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +6 -7
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +3 -4
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-children-template.entry.js +3 -3
- package/dist/esm/atomic-insight-result-list.entry.js +6 -7
- package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +7 -8
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +5 -5
- package/dist/esm/atomic-insight-smart-snippet.entry.js +6 -6
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +3 -3
- package/dist/esm/atomic-insight-user-actions-session.entry.js +4 -4
- package/dist/esm/atomic-insight-user-actions-timeline.entry.js +3 -3
- package/dist/esm/atomic-ipx-body.entry.js +5 -5
- package/dist/esm/atomic-ipx-body.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-modal.entry.js +5 -5
- package/dist/esm/atomic-ipx-modal.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +9 -10
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +5 -5
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +5 -5
- package/dist/esm/atomic-ipx-result-link.entry.js +4 -5
- package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
- package/dist/esm/atomic-recs-list.entry.js +9 -10
- package/dist/esm/atomic-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +5 -5
- package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
- package/dist/esm/atomic-suggestion-renderer.entry.js +3 -3
- package/dist/esm/atomic-suggestion-renderer.entry.js.map +1 -1
- package/dist/esm/atomic.js +3 -3
- package/dist/esm/{display-options-60387cd9.js → display-options-63f2ec3c.js} +99 -5
- package/dist/esm/display-options-63f2ec3c.js.map +1 -0
- package/dist/esm/event-utils-8de63ec3.js.map +1 -1
- package/dist/esm/{index-d03d85cb.js → index-0bcc50f8.js} +6 -17
- package/dist/esm/index-0bcc50f8.js.map +1 -0
- package/dist/esm/{initialization-utils-ed3a5274.js → initialization-utils-958635e9.js} +2 -2
- package/dist/esm/{initialization-utils-ed3a5274.js.map → initialization-utils-958635e9.js.map} +1 -1
- package/dist/esm/{props-utils-d064c27d.js → props-utils-a6744ec8.js} +3 -3
- package/dist/esm/{props-utils-d064c27d.js.map → props-utils-a6744ec8.js.map} +1 -1
- package/dist/esm/{stencil-accessibility-utils-a11075f9.js → stencil-accessibility-utils-2253e89c.js} +2 -2
- package/dist/esm/{stencil-accessibility-utils-a11075f9.js.map → stencil-accessibility-utils-2253e89c.js.map} +1 -1
- package/dist/esm/{stencil-button-8276f33f.js → stencil-button-f96c2b81.js} +2 -2
- package/dist/esm/{stencil-button-8276f33f.js.map → stencil-button-f96c2b81.js.map} +1 -1
- package/dist/esm/{stencil-carousel-1f4e780c.js → stencil-carousel-bb5606d8.js} +3 -3
- package/dist/esm/{stencil-carousel-1f4e780c.js.map → stencil-carousel-bb5606d8.js.map} +1 -1
- package/dist/esm/{stencil-fieldset-group-cde54e3a.js → stencil-fieldset-group-6a9a867f.js} +2 -2
- package/dist/esm/{stencil-fieldset-group-cde54e3a.js.map → stencil-fieldset-group-6a9a867f.js.map} +1 -1
- package/dist/esm/{stencil-heading-b835c763.js → stencil-heading-5ac0f5ff.js} +2 -2
- package/dist/esm/{stencil-heading-b835c763.js.map → stencil-heading-5ac0f5ff.js.map} +1 -1
- package/dist/esm/{stencil-iconButton-95ce8b69.js → stencil-iconButton-16be999d.js} +3 -3
- package/dist/esm/{stencil-iconButton-95ce8b69.js.map → stencil-iconButton-16be999d.js.map} +1 -1
- package/dist/esm/{stencil-item-list-guard-4aeeeea5.js → stencil-item-list-guard-7eaabe92.js} +2 -2
- package/dist/esm/{stencil-item-list-guard-4aeeeea5.js.map → stencil-item-list-guard-7eaabe92.js.map} +1 -1
- package/dist/esm/{stencil-modal-da3e4eaa.js → stencil-modal-0471908f.js} +3 -3
- package/dist/esm/{stencil-modal-da3e4eaa.js.map → stencil-modal-0471908f.js.map} +1 -1
- package/dist/esm/{stencil-radio-button-360a55b4.js → stencil-radio-button-647a8428.js} +3 -3
- package/dist/esm/{stencil-radio-button-360a55b4.js.map → stencil-radio-button-647a8428.js.map} +1 -1
- package/dist/esm/{stencil-item-decorators-97a4c6a1.js → stencil-result-template-decorators-e758f409.js} +30 -42
- package/dist/esm/stencil-result-template-decorators-e758f409.js.map +1 -0
- package/dist/esm/{utils-58ed73e4.js → utils-4b7a065d.js} +2 -12
- package/dist/esm/utils-4b7a065d.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/common/atomic-facet-number-input/atomic-facet-number-input.d.ts +3 -0
- package/dist/types/components/common/atomic-modal/atomic-modal.d.ts +2 -0
- package/dist/types/components/common/atomic-smart-snippet-expandable-answer/atomic-smart-snippet-expandable-answer.d.ts +8 -1
- package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +1 -1
- package/dist/types/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.d.ts +6 -0
- package/dist/types/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.d.ts +6 -0
- package/dist/types/components/insight/atomic-insight-result-action/atomic-insight-result-action.d.ts +6 -0
- package/dist/types/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.d.ts +7 -0
- package/dist/types/components/insight/atomic-insight-result-children/atomic-insight-result-children.d.ts +70 -0
- package/dist/types/components/insight/index.d.ts +1 -0
- package/dist/types/components/ipx/atomic-ipx-body/atomic-ipx-body.d.ts +6 -0
- package/dist/types/components/ipx/atomic-ipx-embedded/atomic-ipx-embedded.d.ts +22 -10
- package/dist/types/components/ipx/atomic-ipx-modal/atomic-ipx-modal.d.ts +6 -0
- package/dist/types/components/ipx/index.d.ts +1 -0
- package/dist/types/components/search/atomic-results-per-page/atomic-results-per-page.d.ts +2 -0
- package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +2 -0
- package/dist/types/components.d.ts +25 -75
- package/dist/types/utils/event-utils.d.ts +1 -1
- package/docs/atomic-docs.json +11 -2
- package/package.json +5 -5
- package/dist/atomic/components/atomic-insight-result-children.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-result-children.js +0 -275
- package/dist/atomic/components/atomic-insight-result-children.js.map +0 -1
- package/dist/atomic/components/atomic-ipx-embedded.d.ts +0 -11
- package/dist/atomic/components/atomic-ipx-embedded.js +0 -77
- package/dist/atomic/components/atomic-ipx-embedded.js.map +0 -1
- package/dist/atomic/components/result-template-provider.js +0 -99
- package/dist/atomic/components/result-template-provider.js.map +0 -1
- package/dist/atomic/components/stencil-item-decorators.js +0 -142
- package/dist/atomic/components/stencil-item-decorators.js.map +0 -1
- package/dist/atomic/components/unfolded-item.js +0 -7
- package/dist/atomic/components/unfolded-item.js.map +0 -1
- package/dist/atomic/p-087c0db1.js +0 -3
- package/dist/atomic/p-087c0db1.js.map +0 -1
- package/dist/atomic/p-0f046687.js +0 -2
- package/dist/atomic/p-0f046687.js.map +0 -1
- package/dist/atomic/p-1fd38149.entry.js +0 -2
- package/dist/atomic/p-1fd38149.entry.js.map +0 -1
- package/dist/atomic/p-20231cc9.entry.js +0 -2
- package/dist/atomic/p-20231cc9.entry.js.map +0 -1
- package/dist/atomic/p-3f48ff91.entry.js +0 -2
- package/dist/atomic/p-4a8bb5ea.entry.js +0 -2
- package/dist/atomic/p-4c696ce2.js +0 -2
- package/dist/atomic/p-4c696ce2.js.map +0 -1
- package/dist/atomic/p-53e0a661.entry.js +0 -2
- package/dist/atomic/p-53e0a661.entry.js.map +0 -1
- package/dist/atomic/p-5e83a83d.js +0 -2
- package/dist/atomic/p-5e83a83d.js.map +0 -1
- package/dist/atomic/p-608ea23b.entry.js.map +0 -1
- package/dist/atomic/p-6d9dcfb7.js +0 -2
- package/dist/atomic/p-6d9dcfb7.js.map +0 -1
- package/dist/atomic/p-8202aa3e.js +0 -2
- package/dist/atomic/p-8f778162.js +0 -2
- package/dist/atomic/p-a9719330.entry.js +0 -2
- package/dist/atomic/p-a998340c.entry.js +0 -2
- package/dist/atomic/p-abbf4a31.entry.js.map +0 -1
- package/dist/atomic/p-b5ecd6c0.js +0 -2
- package/dist/atomic/p-b5ecd6c0.js.map +0 -1
- package/dist/atomic/p-c8b5575e.js +0 -2
- package/dist/atomic/p-e2720a78.entry.js +0 -2
- package/dist/atomic/p-e2720a78.entry.js.map +0 -1
- package/dist/atomic/p-e4c2823c.entry.js +0 -2
- package/dist/atomic/p-e4c2823c.entry.js.map +0 -1
- package/dist/atomic/p-efdb5e2b.entry.js +0 -2
- package/dist/atomic/p-efdb5e2b.entry.js.map +0 -1
- package/dist/atomic/p-f927a418.entry.js +0 -2
- package/dist/atomic/p-f927a418.entry.js.map +0 -1
- package/dist/atomic/p-f9e7ea97.js +0 -2
- package/dist/atomic/p-f9e7ea97.js.map +0 -1
- package/dist/atomic/p-fa7ff7aa.entry.js.map +0 -1
- package/dist/atomic/p-fb6a5b80.entry.js +0 -2
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +0 -256
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +0 -57
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js.map +0 -1
- package/dist/cjs/display-options-d5c02917.js.map +0 -1
- package/dist/cjs/index-0a91838f.js.map +0 -1
- package/dist/cjs/result-template-provider-3232c761.js +0 -103
- package/dist/cjs/result-template-provider-3232c761.js.map +0 -1
- package/dist/cjs/stencil-item-decorators-d2daa144.js.map +0 -1
- package/dist/cjs/stencil-result-template-decorators-c89c2f24.js +0 -42
- package/dist/cjs/stencil-result-template-decorators-c89c2f24.js.map +0 -1
- package/dist/cjs/unfolded-item-148d21d6.js +0 -9
- package/dist/cjs/unfolded-item-148d21d6.js.map +0 -1
- package/dist/cjs/utils-b455e068.js.map +0 -1
- package/dist/esm/atomic-insight-result-children.entry.js +0 -252
- package/dist/esm/atomic-insight-result-children.entry.js.map +0 -1
- package/dist/esm/atomic-ipx-embedded.entry.js +0 -53
- package/dist/esm/atomic-ipx-embedded.entry.js.map +0 -1
- package/dist/esm/display-options-60387cd9.js.map +0 -1
- package/dist/esm/index-d03d85cb.js.map +0 -1
- package/dist/esm/result-template-provider-d2f3b480.js +0 -99
- package/dist/esm/result-template-provider-d2f3b480.js.map +0 -1
- package/dist/esm/stencil-item-decorators-97a4c6a1.js.map +0 -1
- package/dist/esm/stencil-result-template-decorators-c244d674.js +0 -38
- package/dist/esm/stencil-result-template-decorators-c244d674.js.map +0 -1
- package/dist/esm/unfolded-item-c5795c0f.js +0 -7
- package/dist/esm/unfolded-item-c5795c0f.js.map +0 -1
- package/dist/esm/utils-58ed73e4.js.map +0 -1
- package/dist/types/components/insight/result-templates/atomic-insight-result-children/atomic-insight-result-children.d.ts +0 -44
- /package/dist/atomic/{p-c8b5575e.js.map → p-02089c14.js.map} +0 -0
- /package/dist/atomic/{p-9748e9a8.js.map → p-0454df94.js.map} +0 -0
- /package/dist/atomic/{p-7c732c9b.entry.js.map → p-0d58f131.entry.js.map} +0 -0
- /package/dist/atomic/{p-8f778162.js.map → p-0f466ffb.js.map} +0 -0
- /package/dist/atomic/{p-fb755797.entry.js.map → p-3b46c4c2.entry.js.map} +0 -0
- /package/dist/atomic/{p-8202aa3e.js.map → p-42d7acb3.js.map} +0 -0
- /package/dist/atomic/{p-3930eb33.js.map → p-4a2e7926.js.map} +0 -0
- /package/dist/atomic/{p-5b83e1aa.entry.js.map → p-519b3517.entry.js.map} +0 -0
- /package/dist/atomic/{p-b8fb8a69.js.map → p-66d84fd8.js.map} +0 -0
- /package/dist/atomic/{p-f82d4e71.entry.js.map → p-6b66c9da.entry.js.map} +0 -0
- /package/dist/atomic/{p-7ca2dce5.entry.js.map → p-6bb72ce5.entry.js.map} +0 -0
- /package/dist/atomic/{p-f647fb7b.entry.js.map → p-6e706321.entry.js.map} +0 -0
- /package/dist/atomic/{p-a97247c4.entry.js.map → p-7a4bad93.entry.js.map} +0 -0
- /package/dist/atomic/{p-8ab3a3e3.js.map → p-94976bed.js.map} +0 -0
- /package/dist/atomic/{p-8f9590f0.js.map → p-be8cc132.js.map} +0 -0
- /package/dist/atomic/{p-ae079ccf.js.map → p-bedd6d62.js.map} +0 -0
- /package/dist/atomic/{p-e041c13c.entry.js.map → p-ce30fcf5.entry.js.map} +0 -0
- /package/dist/atomic/{p-95ad29f3.entry.js.map → p-d03289b0.entry.js.map} +0 -0
- /package/dist/atomic/{p-5aadf2ae.entry.js.map → p-d0ec450e.entry.js.map} +0 -0
- /package/dist/atomic/{p-4a1636ae.entry.js.map → p-e2e4d4f3.entry.js.map} +0 -0
- /package/dist/atomic/{p-e6eee594.js.map → p-e9fff991.js.map} +0 -0
- /package/dist/atomic/{p-d609547d.js.map → p-f2243b33.js.map} +0 -0
- /package/dist/atomic/{p-af37130c.entry.js.map → p-f3a9a28b.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-recs-list.entry.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAAM,iBAAiB,GAAG,8v+EAA8v+E,CAAC;AACzx+E,6BAAe,iBAAiB;;;;;;;;;;;;MCgEnB,cAAc;;;QAGjB,gBAAW,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAS5C,gBAAW,GAAG,KAAK,CAAC;QAEpB,6BAAwB,GAAG,KAAK,CAAC;QACjC,qBAAgB,GAAG,KAAK,CAAC;QACzB,gBAAW,GAAG,CAAC,CAAC;;;;;QASH,mBAAc,GAAG,gBAAgB,CAAC;;;;;QAMlC,YAAO,GAA2B,MAAM,CAAC;;;;QAIzC,YAAO,GAAuB,QAAQ,CAAC;;;;QAK9D,cAAS,GAAyB,OAAO,CAAC;;;;;QAMnB,4BAAuB,GAAG,EAAE,CAAC;;;;QAiB7B,iBAAY,GAAG,CAAC,CAAC;;2BAnDhB,KAAK;wCAEQ,KAAK;gCACb,KAAK;2BACV,CAAC;;8BASe,gBAAgB;uBAMC,MAAM;uBAIV,QAAQ;yBAK3B,OAAO;uCAMQ,EAAE;;;4BAiBb,CAAC;;IAGvC,MAAM,mCAAmC;QAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;KACtB;;;;;;;;;IAUgB,MAAM,iBAAiB,CACtC,uBAA8C;QAE9C,IAAI,CAAC,qBAAqB,GAAG,uBAAuB,CAAC;KACtD;;;;IAKgB,MAAM,YAAY;QACjC,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;KAC5E;;;;IAKgB,MAAM,QAAQ;QAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;KAChE;IAEM,UAAU;QACf,IAAI,CAAC,sCAAsC,EAAE,CAAC;QAC9C,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtE,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;aACtD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,IAAI,sBAAsB,CAAC;YACrD,sBAAsB,EAAE,IAAI;YAC5B,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAC1D;YACD,2BAA2B,EAAE,MAAM,IAAI,CAAC,wBAAwB;YAChE,mBAAmB,EAAE,MAAM,IAAI,CAAC,gBAAgB;YAChD,2BAA2B,EAAE,CAAC,KAAc;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;aACvC;YACD,mBAAmB,EAAE,CAAC,KAAc;gBAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS;YAC/C,uBAAuB,EAAE,MACvB,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM;YACrD,YAAY,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS;YAC1D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,WAAW;YACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEH,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW;YACvD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAChC,CAAC,CAAC;KACJ;IAED,IAAW,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;IAED,IAAY,kCAAkC;QAC5C,OAAO;YACL,GAAG,IAAI,CAAC,uBAAuB;YAC/B,oBAAoB,EAClB,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,KAAK,EAAE;YACtD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,IAAI;YACrD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YACnE,OAAO,EAAE,IAAI,CAAC,qBAAqB;SACpC,CAAC;KACH;IAEO,sCAAsC;QAC5C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;YAC1B,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,uBAAuB,GAAG,CAAC;SACtC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA+B,CAAC,CAAC;QAElD,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,oDAAoD,GAAG,EAAE,CAC1D,CAAC;SACH;KACF;IAEO,gCAAgC;QACtC,MAAM,yBAAyB,GAAG,QAAQ,CAAC,gBAAgB,CACzD,oCAAoC,IAAI,CAAC,cAAc,IAAI,CAC5D,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9B,2FAA2F,IAAI,CAAC,cAAc,mEAAmE,CAClL,CAAC;SACH;KACF;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,MAAM,GAAG,wBAAwB,CACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC,eAAe,CAAC;gBAChB,YAAY,EAAE,IAAI,CAAC,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACvC;KACF;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,IAAI,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EAAE;YACpD,OAAO;SACR;QAED,IACE,IAAI,CAAC,kCAAkC,CAAC,oBAAoB;YAC5D,CAAC,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EACjD;YACA,OAAO;SACR;QAED,QACE,EAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,UAAU,IAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACzB,EACV;KACH;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,8BAA+B;YACtD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,CACtD,CAAC;KACH;IAED,IAAY,qBAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACxC,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;SACrD;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,KAAK,CACvD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,8BAA8B,CACxD,CAAC;KACH;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM;YACjD,IAAI,CAAC,8BAA+B,CACvC,CAAC;KACH;IAED,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;KAC/B;IAED,IAAY,sBAAsB;QAChC,QACE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kCAAkC,CAAC,QAAQ,EACtE;KACH;IAEO,2BAA2B,CAAC,cAA0B;QAC5D,MAAM,WAAW,GACf,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAEnE,OAAO;YACL,iBAAiB,EAAEA,sBAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClE,OAAO,EAAE,EAAC,MAAM,EAAE,cAAc,EAAC;aAClC,CAAC;YACF,MAAM,EAAE,cAAc;YACtB,iBAAiB,EAAE,IAAI,CAAC,qBAAqB;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAClC,cAAc,CAAC,QAAQ,EACvB,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAC7C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf;YACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,cAAc,CAAC;YACrE,WAAW;YACX,eAAe,EAAE,CAAC,CAAC,WAAW;YAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;KACH;IAEO,yBAAyB;QAC/B,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAE9C,OAAO,yBAAyB,CAC9B,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,uBAAuB,CAAC,SAAS,EACtC,mBAAmB,CACpB,CAAC;KACH;IAEO,YAAY,CAAC,cAA0B,EAAE,CAAS;QACxD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACnD,QACE,EAAC,WAAW,IACV,eAAe,EAAC,oBAAoB,EACpC,IAAI,EAAE,cAAc,KAChB,wBAAwB,CAAC,iBAAiB,EAC9C,MAAM,EAAE,CAAC,OAAO,KACd,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,IAG5D,6BAAwB,wBAAwB,GAAuB,CAC3D,EACd;KACH;IAEO,2BAA2B;QACjC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAErD,IACE,CAAC,IAAI,CAAC,wBAAwB;YAC9B,IAAI,CAAC,oBAAoB,CAAC,QAAQ;YAClC,IAAI,CAAC,KAAK,EACV;YACA,OAAO;SACR;QAED,QACE,EAAC,cAAc,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,IACtD,EAAC,wBAAwB,IACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,EACtC,oBAAoB,EAClB,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,uBAAuB,GAE3C,EAC5B,EAAC,gBAAgB,OAAK,IAAI,CAAC,kCAAkC,IAC1D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC7C,CAAC,CACe,CACJ,EACjB;KACH;IAEM,MAAM;QACX,QACE,EAAC,QAAQ,uDACN,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,sBAAsB,IAC1B,EAAC,QAAQ,IACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC/B,YAAY,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EACvC,aAAa,EAAE,IAAI,CAAC,aAAa,IAEhC,IAAI,CAAC,2BAA2B,EAAE,CAC1B,KAEX,IAAI,CAAC,2BAA2B,EAAE,CACnC,CACQ,EACX;KACH;;;;;;AAzW4B;IAA5B,kBAAkB,EAAE;gDAAgC;AAkB9C;IAFN,qBAAqB,CAAC,oBAAoB,CAAC;+DAEa;;;;;","names":["buildRecsInteractiveResult"],"sources":["src/components/recommendations/atomic-recs-list/atomic-recs-list.pcss?tag=atomic-recs-list&encapsulation=shadow","src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n@import '../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n buildInteractiveResult as buildRecsInteractiveResult,\n Result as RecsResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {ItemDisplayGuard} from '../../common/item-list/stencil-item-display-guard';\nimport {ResultTemplateProvider} from '../../common/item-list/result-template-provider';\nimport {DisplayGrid} from '../../common/item-list/stencil-display-grid';\nimport {DisplayWrapper} from '../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayBasicLayout,\n getItemListDisplayClasses,\n} from '../../common/layout/display-options';\nimport {Carousel} from '../../common/stencil-carousel';\nimport {Heading} from '../../common/stencil-heading';\nimport {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result and the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @slot default - The default slot where to insert the template element.\n */\n@Component({\n tag: 'atomic-recs-list',\n styleUrl: 'atomic-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return this.numberOfPages > 1;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult: buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n }),\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-recs-list.entry.js","mappings":"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","names":["buildRecsInteractiveResult"],"sources":["src/components/recommendations/atomic-recs-list/atomic-recs-list.pcss?tag=atomic-recs-list&encapsulation=shadow","src/components/recommendations/atomic-recs-list/atomic-recs-list.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n@import '../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n buildInteractiveResult as buildRecsInteractiveResult,\n Result as RecsResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {ItemDisplayGuard} from '../../common/item-list/stencil-item-display-guard';\nimport {ResultTemplateProvider} from '../../common/item-list/result-template-provider';\nimport {DisplayGrid} from '../../common/item-list/stencil-display-grid';\nimport {DisplayWrapper} from '../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayBasicLayout,\n getItemListDisplayClasses,\n} from '../../common/layout/display-options';\nimport {Carousel} from '../../common/stencil-carousel';\nimport {Heading} from '../../common/stencil-heading';\nimport {RecsBindings} from '../atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result and the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @slot default - The default slot where to insert the template element.\n */\n@Component({\n tag: 'atomic-recs-list',\n styleUrl: 'atomic-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ResultTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ResultTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return this.numberOfPages > 1;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult: buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n }),\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-0bcc50f8.js';
|
|
2
2
|
import { buildDateRange } from '@coveo/headless';
|
|
3
3
|
import { p as parseDate } from './date-utils-5656dd8f.js';
|
|
4
|
-
import { B as Button } from './stencil-button-
|
|
4
|
+
import { B as Button } from './stencil-button-f96c2b81.js';
|
|
5
5
|
import './_commonjsHelpers-1c8beb5f.js';
|
|
6
6
|
import './event-utils-8de63ec3.js';
|
|
7
7
|
|
|
@@ -67,13 +67,13 @@ const FacetDateInput = class {
|
|
|
67
67
|
// Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)
|
|
68
68
|
const pattern = '^(1[4-9]\\d{2}|2\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$';
|
|
69
69
|
const range = this.rangeGetter();
|
|
70
|
-
return (h("form", { key: '
|
|
70
|
+
return (h("form", { key: 'da5871693b341e89233926c21a726d0e1e312478', class: "mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2", onSubmit: (e) => {
|
|
71
71
|
e.preventDefault();
|
|
72
72
|
this.apply();
|
|
73
73
|
return false;
|
|
74
|
-
} }, h("label", { key: '
|
|
74
|
+
} }, h("label", { key: '6f5927bc3adcfd0b645deb8262cae8e1528e9d09', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_start` }, startLabel, ":"), h("input", { key: '3c69bc34c7f89e8ef1848dbee8621e00f2f390ec', id: `${this.facetId}_start`, part: "input-start", type: "date", ref: (ref) => (this.startRef = ref), class: inputClasses, "aria-label": startAria, placeholder: placeholder, pattern: pattern, required: true,
|
|
75
75
|
// API/Index minimum supported date
|
|
76
|
-
min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: '
|
|
76
|
+
min: this.min || this.formattedDateValue('1401-01-01'), max: this.end ? this.formattedDateValue(this.end) : this.max, value: this.formattedDateValue(range?.start), onInput: (e) => (this.start = parseDate(e.target.value).toDate()) }), h("label", { key: '84882a01fa8500370ff48c689ad83e35d704f376', part: "input-label", class: labelClasses, htmlFor: `${this.facetId}_end` }, endLabel, ":"), h("input", { key: '1201b30c3dd73d78f8aa14da665ddfde6a206ba8', id: `${this.facetId}_end`, part: "input-end", type: "date", ref: (ref) => (this.endRef = ref), class: inputClasses, "aria-label": endAria, placeholder: placeholder, pattern: pattern, required: true, min: this.formattedDateValue(this.start) || this.min, max: this.max, value: this.formattedDateValue(range?.end), onInput: (e) => (this.end = parseDate(e.target.value).toDate()) }), h(Button, { key: '5cc2316eef340f2ac04995b8da8c84a61d6b409e', style: "outline-primary", type: "submit", part: "input-apply-button", class: "col-span-2 truncate p-2.5", ariaLabel: applyAria, text: apply })));
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-stencil-facet-date-input.entry.js","mappings":";;;;;;;MAoBa,cAAc;;;;QAYV,QAAG,GAAY,YAAY,CAAC;;;;;;;;;mBAAb,YAAY;;
|
|
1
|
+
{"file":"atomic-stencil-facet-date-input.entry.js","mappings":"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","names":[],"sources":["src/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.tsx"],"sourcesContent":["import {\n buildDateRange,\n DateFilterRange,\n DateRangeRequest,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Event, EventEmitter} from '@stencil/core';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {AnyBindings} from '../../interface/bindings';\n\n/**\n * @deprecated\n * Use `atomic-facet-date-input` instead. This component is meant to be used with Stencil components only.\n * Internal component made to be integrated in a TimeframeFacet.\n * @internal\n */\n@Component({\n tag: 'atomic-stencil-facet-date-input',\n shadow: false,\n})\nexport class FacetDateInput {\n @State() private start?: Date;\n @State() private end?: Date;\n private startRef!: HTMLInputElement;\n private endRef!: HTMLInputElement;\n\n @Prop() public bindings!: AnyBindings;\n @Prop() public rangeGetter!: () => DateFilterRange | undefined;\n @Prop() public rangeSetter!: (range: DateRangeRequest) => void;\n @Prop() public facetId!: string;\n @Prop() public label!: string;\n @Prop() public min?: string;\n @Prop() public max?: string = '9999-12-31';\n\n /**\n * @migration Stencil's @Event() decorator defaults to: bubbles=true, composed=true, cancelable=true.\n * Native CustomEvent defaults to: bubbles=false, composed=false, cancelable=false.\n * When migrating to Lit, explicitly set all three options to preserve behavior:\n * `new CustomEvent('atomic/dateInputApply', { bubbles: true, composed: true, cancelable: true, detail: ... })`\n */\n @Event({\n eventName: 'atomic/dateInputApply',\n })\n private applyInput!: EventEmitter;\n\n public connectedCallback() {\n const range = this.rangeGetter();\n this.start = range ? parseDate(range.start).toDate() : undefined;\n this.end = range ? parseDate(range.end).toDate() : undefined;\n }\n public componentDidUpdate() {\n if (!this.startRef.value && !this.endRef.value) {\n this.startRef.min = this.min || this.formattedDateValue('1401-01-01');\n this.endRef.max = this.max || '';\n this.startRef.max = this.max || '';\n this.endRef.min = this.min || '';\n }\n }\n\n private apply() {\n if (!this.startRef.validity.valid || !this.endRef.validity.valid) {\n return;\n }\n\n this.applyInput.emit({\n start: this.start,\n end: this.end,\n });\n\n const rangeRequest = buildDateRange({\n start: this.start!,\n end: this.end!.setHours(23, 59, 59, 999),\n });\n\n this.rangeSetter(rangeRequest);\n }\n\n private formattedDateValue(date?: string | Date) {\n if (!date) {\n return '';\n }\n return parseDate(date).format('YYYY-MM-DD');\n }\n\n render() {\n const label = this.bindings.i18n.t(this.label);\n const startLabel = this.bindings.i18n.t('start');\n const endLabel = this.bindings.i18n.t('end');\n const startAria = this.bindings.i18n.t('date-input-start', {label});\n const endAria = this.bindings.i18n.t('date-input-end', {label});\n const apply = this.bindings.i18n.t('apply');\n const applyAria = this.bindings.i18n.t('date-input-apply', {label});\n\n const inputClasses = 'input-primary p-2.5';\n const labelClasses = 'text-neutral-dark self-center';\n\n const placeholder = this.bindings.i18n.t('date-format-placeholder');\n // Fallback for Safari < 14.1, date with format yyyy-mm-dd over 1400 (API limit)\n const pattern =\n '^(1[4-9]\\\\d{2}|2\\\\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$';\n\n const range = this.rangeGetter();\n\n return (\n <form\n class=\"mt-4 grid grid-cols-[min-content_1fr] gap-2 px-2\"\n onSubmit={(e) => {\n e.preventDefault();\n this.apply();\n return false;\n }}\n >\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_start`}\n >\n {startLabel}:\n </label>\n <input\n id={`${this.facetId}_start`}\n part=\"input-start\"\n type=\"date\"\n ref={(ref) => (this.startRef = ref!)}\n class={inputClasses}\n aria-label={startAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n // API/Index minimum supported date\n min={this.min || this.formattedDateValue('1401-01-01')}\n max={this.end ? this.formattedDateValue(this.end) : this.max}\n value={this.formattedDateValue(range?.start)}\n onInput={(e) =>\n (this.start = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <label\n part=\"input-label\"\n class={labelClasses}\n htmlFor={`${this.facetId}_end`}\n >\n {endLabel}:\n </label>\n <input\n id={`${this.facetId}_end`}\n part=\"input-end\"\n type=\"date\"\n ref={(ref) => (this.endRef = ref!)}\n class={inputClasses}\n aria-label={endAria}\n placeholder={placeholder}\n pattern={pattern}\n required\n min={this.formattedDateValue(this.start) || this.min}\n max={this.max}\n value={this.formattedDateValue(range?.end)}\n onInput={(e) =>\n (this.end = parseDate(\n (e.target as HTMLInputElement).value\n ).toDate())\n }\n />\n <Button\n style=\"outline-primary\"\n type=\"submit\"\n part=\"input-apply-button\"\n class=\"col-span-2 truncate p-2.5\"\n ariaLabel={applyAria}\n text={apply}\n ></Button>\n </form>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, F as Fragment, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, F as Fragment, H as Host } from './index-0bcc50f8.js';
|
|
2
2
|
|
|
3
3
|
function isMacOS() {
|
|
4
4
|
// Source: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples
|
|
@@ -17,7 +17,7 @@ const AtomicSuggestionRenderer = class {
|
|
|
17
17
|
this.lastIndex = undefined;
|
|
18
18
|
this.isDoubleList = undefined;
|
|
19
19
|
this.onClick = undefined;
|
|
20
|
-
this.
|
|
20
|
+
this.onMouseEnter = undefined;
|
|
21
21
|
}
|
|
22
22
|
get parts() {
|
|
23
23
|
let part = 'suggestion';
|
|
@@ -76,7 +76,7 @@ const AtomicSuggestionRenderer = class {
|
|
|
76
76
|
}
|
|
77
77
|
render() {
|
|
78
78
|
const isButton = !!(this.suggestion.onSelect || this.suggestion.query);
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '94e671f0ba1e40088dff3c2644668aa55a8f09a1', class: "contents" }, isButton ? (h("div", { id: this.id, key: this.suggestion.key, part: this.parts, class: this.classes, onMouseDown: (e) => e.preventDefault(), onClick: (e) => this.onClick?.(e), onMouseEnter: (e) => this.onMouseEnter?.(e), "data-query": this.suggestion.query, "aria-label": this.ariaLabel(isButton), ref: (el) => {
|
|
80
80
|
if (!el) {
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-suggestion-renderer.entry.js","mappings":"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
|
|
1
|
+
{"file":"atomic-suggestion-renderer.entry.js","mappings":"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","names":[],"sources":["src/utils/device-utils.ts","src/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.tsx"],"sourcesContent":["export function isIOS() {\n // Source: https://stackoverflow.com/a/62094756\n const iosQuirkPresent = () => {\n const audio = new Audio();\n\n audio.volume = 0.5;\n return audio.volume === 1; // volume cannot be changed from \"1\" on iOS 12 and below\n };\n\n const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);\n const isAppleDevice = navigator.userAgent.includes('Macintosh');\n const isTouchScreen = navigator.maxTouchPoints >= 1; // true for iOS 13 (and hopefully beyond)\n\n return isIOS || (isAppleDevice && (isTouchScreen || iosQuirkPresent()));\n}\n\nexport function isMacOS() {\n // Source: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples\n return navigator.platform.startsWith('Mac');\n}\n\nexport function hasKeyboard() {\n return window.matchMedia('(any-hover: hover)').matches;\n}\n","import {isMacOS} from '@/src/utils/device-utils';\nimport {Component, Fragment, Host, Prop, VNode, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {SearchBoxSuggestionElement} from '../suggestions/suggestions-types';\n\n/**\n * The `atomic-suggestion-renderer` component is used to render individual suggestions. It was created to isolate\n * the rendering logic of the 'content' property of the `SearchBoxSuggestionElement` interface. This property can be Stencil\n * VNode or native Element so there must be a Stencil component to render it. For Lit components using this component, they will\n * use native Elements.\n *\n * @internal\n */\n@Component({\n tag: 'atomic-suggestion-renderer',\n shadow: false,\n})\nexport class AtomicSuggestionRenderer {\n @Prop() public i18n!: i18n;\n @Prop() public id!: string;\n @Prop() public suggestion!: SearchBoxSuggestionElement;\n @Prop() public isSelected!: boolean;\n @Prop() public side!: 'left' | 'right';\n @Prop() public index!: number;\n @Prop() public lastIndex!: number;\n @Prop() public isDoubleList!: boolean;\n @Prop() public onClick?: (e: Event) => void;\n @Prop() public onMouseEnter?: (e: Event) => void;\n\n private get parts() {\n let part = 'suggestion';\n if (this.isSelected) {\n part += ' active-suggestion';\n }\n if (this.suggestion.query) {\n part += ' suggestion-with-query';\n }\n if (this.suggestion.part) {\n part += ` ${this.suggestion.part}`;\n }\n return part;\n }\n\n private get classes() {\n return `flex px-4 min-h-10 items-center text-left text-neutral-dark cursor-pointer ${\n this.isSelected ? 'bg-neutral-light' : ''\n }`;\n }\n\n private get content() {\n return this.isHTMLElement(this.suggestion.content) ? (\n <Fragment></Fragment>\n ) : (\n this.suggestion.content\n );\n }\n\n private ariaLabel(isButton: boolean) {\n const contentLabel =\n this.suggestion.ariaLabel ??\n this.suggestion.query ??\n this.i18n.t('no-title');\n\n const labelWithType =\n isMacOS() && isButton\n ? this.i18n.t('search-suggestion-button', {\n label: contentLabel,\n interpolation: {escapeValue: false},\n })\n : contentLabel;\n\n const position = this.index + 1;\n const count = this.lastIndex + 1;\n\n if (!this.isDoubleList) {\n return this.i18n.t('search-suggestion-single-list', {\n label: labelWithType,\n position,\n count,\n interpolation: {escapeValue: false},\n });\n }\n\n return this.i18n.t('search-suggestion-double-list', {\n label: labelWithType,\n position,\n count,\n side: this.i18n.t(this.side === 'left' ? 'left' : 'right'),\n interpolation: {escapeValue: false},\n });\n }\n\n private ensureContentForRenderedSuggestion(element: HTMLElement) {\n if (this.isHTMLElement(this.suggestion.content)) {\n element.replaceChildren(this.suggestion.content);\n }\n }\n\n private isHTMLElement(el: VNode | Element): el is HTMLElement {\n return el instanceof HTMLElement;\n }\n\n render() {\n const isButton = !!(this.suggestion.onSelect || this.suggestion.query);\n\n return (\n <Host class=\"contents\">\n {isButton ? (\n <div\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e: Event) => this.onClick?.(e)}\n onMouseEnter={(e: Event) => this.onMouseEnter?.(e)}\n data-query={this.suggestion.query}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </div>\n ) : (\n <span\n id={this.id}\n key={this.suggestion.key}\n part={this.parts}\n class={this.classes}\n aria-label={this.ariaLabel(isButton)}\n ref={(el) => {\n if (!el) {\n return;\n }\n this.ensureContentForRenderedSuggestion(el);\n }}\n >\n {this.content}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
package/dist/esm/atomic.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
|
2
|
-
export { s as setNonce } from './index-
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-0bcc50f8.js';
|
|
2
|
+
export { s as setNonce } from './index-0bcc50f8.js';
|
|
3
3
|
import { g as globalScripts } from './app-globals-0f993ce5.js';
|
|
4
4
|
|
|
5
5
|
/*
|
|
@@ -16,7 +16,7 @@ var patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(async (options) => {
|
|
18
18
|
await globalScripts();
|
|
19
|
-
return bootstrapLazy([["atomic-insight-user-actions-modal",[[1,"atomic-insight-user-actions-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"userId":[1,"user-id"],"ticketCreationDateTime":[1,"ticket-creation-date-time"],"excludedCustomActions":[16],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]],["atomic-ipx-
|
|
19
|
+
return bootstrapLazy([["atomic-insight-user-actions-modal",[[1,"atomic-insight-user-actions-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"userId":[1,"user-id"],"ticketCreationDateTime":[1,"ticket-creation-date-time"],"excludedCustomActions":[16],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]],["atomic-ipx-modal",[[1,"atomic-ipx-modal",{"source":[1040],"container":[1040],"isOpen":[1540,"is-open"],"error":[32],"hasFooterSlotElements":[32]},[[0,"touchmove","onWindowTouchMove"]],{"isOpen":["watchToggleOpen"]}]]],["atomic-ipx-refine-toggle",[[1,"atomic-ipx-refine-toggle",{"collapseFacetsAfter":[514,"collapse-facets-after"],"error":[32],"breadcrumbManagerState":[32],"searchStatusState":[32]}]]],["atomic-generated-answer-feedback-modal",[[1,"atomic-generated-answer-feedback-modal",{"isOpen":[1540,"is-open"],"generatedAnswer":[1040],"helpful":[1540],"error":[32],"currentAnswer":[32],"feedbackSubmitted":[32],"answerEvaluationRequired":[32]},null,{"isOpen":["watchToggleOpen"]}]]],["atomic-insight-folded-result-list",[[1,"atomic-insight-folded-result-list",{"density":[513],"imageSize":[513,"image-size"],"collectionField":[513,"collection-field"],"parentField":[513,"parent-field"],"childField":[513,"child-field"],"foldedResultListState":[32],"resultsPerPageState":[32],"resultTemplateRegistered":[32],"error":[32],"isAppLoaded":[32],"templateHasError":[32],"setRenderFunction":[64]},[[0,"atomic/resolveFoldedResultList","resolveFoldedResultList"],[0,"atomic/loadCollection","loadCollection"]]]]],["atomic-insight-generated-answer",[[1,"atomic-insight-generated-answer",{"withToggle":[4,"with-toggle"],"collapsible":[4],"maxCollapsedHeight":[2,"max-collapsed-height"],"answerConfigurationId":[1,"answer-configuration-id"],"fieldsToIncludeInCitations":[1,"fields-to-include-in-citations"],"disableCitationAnchoring":[4,"disable-citation-anchoring"],"generatedAnswerState":[32],"searchStatusState":[32],"error":[32],"copied":[32],"copyError":[32]},null,{"generatedAnswerState":["updateAnswerCollapsed"]}]]],["atomic-insight-refine-modal",[[1,"atomic-insight-refine-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"querySummaryState":[32],"breadcrumbManagerState":[32],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]],["atomic-insight-result-action",[[0,"atomic-insight-result-action",{"icon":[1025],"tooltip":[1025],"tooltipOnClick":[1025,"tooltip-on-click"],"action":[1025],"error":[32]}]]],["atomic-insight-result-action-bar",[[0,"atomic-insight-result-action-bar"]]],["atomic-insight-result-attach-to-case-action",[[0,"atomic-insight-result-attach-to-case-action",{"error":[32],"attachToCaseState":[32]}]]],["atomic-insight-result-attach-to-case-indicator",[[0,"atomic-insight-result-attach-to-case-indicator",{"error":[32],"attachToCaseState":[32]}]]],["atomic-insight-result-children-template",[[1,"atomic-insight-result-children-template",{"conditions":[16],"ifDefined":[513,"if-defined"],"ifNotDefined":[513,"if-not-defined"],"mustMatch":[16],"mustNotMatch":[16],"error":[32],"getTemplate":[64]}]]],["atomic-insight-result-list",[[1,"atomic-insight-result-list",{"density":[513],"imageSize":[513,"image-size"],"resultsPerPageState":[32],"resultListState":[32],"templateHasError":[32],"resultTemplateRegistered":[32],"error":[32],"isAppLoaded":[32],"setRenderFunction":[64]}]]],["atomic-insight-result-quickview-action",[[0,"atomic-insight-result-quickview-action",{"sandbox":[1],"error":[32],"quickviewState":[32]},[[16,"atomic/quickview/next","onNextQuickview"],[16,"atomic/quickview/previous","onPreviousQuickview"]]]]],["atomic-insight-smart-snippet",[[1,"atomic-insight-smart-snippet",{"headingLevel":[514,"heading-level"],"maximumHeight":[514,"maximum-height"],"collapsedHeight":[514,"collapsed-height"],"snippetStyle":[513,"snippet-style"],"smartSnippetState":[32],"feedbackSent":[32]}]]],["atomic-insight-smart-snippet-suggestions",[[1,"atomic-insight-smart-snippet-suggestions",{"headingLevel":[514,"heading-level"],"snippetStyle":[1,"snippet-style"],"smartSnippetQuestionsListState":[32]}]]],["atomic-insight-timeframe-facet",[[1,"atomic-insight-timeframe-facet",{"facetId":[1537,"facet-id"],"label":[513],"field":[513],"withDatePicker":[516,"with-date-picker"],"isCollapsed":[1540,"is-collapsed"],"headingLevel":[514,"heading-level"],"filterFacetCount":[516,"filter-facet-count"],"injectionDepth":[514,"injection-depth"],"dependsOn":[16],"sortCriteria":[513,"sort-criteria"],"facetState":[32],"facetForDatePickerState":[32],"filterState":[32],"searchStatusState":[32],"error":[32]},[[0,"atomic/dateInputApply","applyDateInput"]]]]],["atomic-ipx-recs-list",[[1,"atomic-ipx-recs-list",{"recommendation":[513],"display":[513],"density":[513],"imageSize":[513,"image-size"],"numberOfRecommendations":[514,"number-of-recommendations"],"numberOfRecommendationsPerPage":[514,"number-of-recommendations-per-page"],"label":[513],"headingLevel":[514,"heading-level"],"error":[32],"isAppLoaded":[32],"resultTemplateRegistered":[32],"templateHasError":[32],"currentPage":[32],"recommendationListState":[32],"setRenderFunction":[64],"previousPage":[64],"nextPage":[64]},null,{"numberOfRecommendationsPerPage":["watchNumberOfRecommendationsPerPage"]}]]],["atomic-ipx-result-link",[[4,"atomic-ipx-result-link",{"hrefTemplate":[513,"href-template"]}]]],["atomic-recs-list",[[1,"atomic-recs-list",{"recommendation":[513],"display":[513],"density":[513],"imageSize":[513,"image-size"],"numberOfRecommendations":[514,"number-of-recommendations"],"numberOfRecommendationsPerPage":[514,"number-of-recommendations-per-page"],"label":[513],"headingLevel":[514,"heading-level"],"error":[32],"isAppLoaded":[32],"resultTemplateRegistered":[32],"templateHasError":[32],"currentPage":[32],"recommendationListState":[32],"setRenderFunction":[64],"previousPage":[64],"nextPage":[64]},null,{"numberOfRecommendationsPerPage":["watchNumberOfRecommendationsPerPage"]}]]],["atomic-stencil-facet-date-input",[[0,"atomic-stencil-facet-date-input",{"bindings":[16],"rangeGetter":[16],"rangeSetter":[16],"facetId":[1,"facet-id"],"label":[1],"min":[1],"max":[1],"start":[32],"end":[32]}]]],["atomic-suggestion-renderer",[[0,"atomic-suggestion-renderer",{"i18n":[16],"id":[1],"suggestion":[16],"isSelected":[4,"is-selected"],"side":[1],"index":[2],"lastIndex":[2,"last-index"],"isDoubleList":[4,"is-double-list"],"onClick":[16],"onMouseEnter":[16]}]]],["atomic-insight-user-actions-session",[[1,"atomic-insight-user-actions-session",{"startTimestamp":[2,"start-timestamp"],"userActions":[16],"error":[32],"areActionsAfterCaseCreationVisible":[32]},null,{"userActions":["prepareUserActionsToDisplay"]}]]],["atomic-insight-user-actions-timeline",[[1,"atomic-insight-user-actions-timeline",{"userId":[1,"user-id"],"ticketCreationDateTime":[1,"ticket-creation-date-time"],"excludedCustomActions":[16],"userActionsState":[32],"followingSessionsAreVisible":[32],"precedingSessionsAreVisible":[32]}]]],["atomic-ipx-body",[[1,"atomic-ipx-body",{"isOpen":[1028,"is-open"],"displayFooterSlot":[516,"display-footer-slot"],"error":[32]}]]],["atomic-ipx-refine-modal",[[1,"atomic-ipx-refine-modal",{"openButton":[1040],"isOpen":[1540,"is-open"],"collapseFacetsAfter":[514,"collapse-facets-after"],"querySummaryState":[32],"breadcrumbManagerState":[32],"error":[32],"interfaceDimensions":[32]},null,{"isOpen":["watchEnabled"]}]]]], options);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
//# sourceMappingURL=atomic.js.map
|
|
@@ -1,9 +1,35 @@
|
|
|
1
|
-
import { h, F as Fragment } from './index-
|
|
1
|
+
import { h, F as Fragment } from './index-0bcc50f8.js';
|
|
2
|
+
import { buildResultTemplatesManager } from '@coveo/headless';
|
|
2
3
|
import { u as updateBreakpoints } from './replace-breakpoint-utils-2626a500.js';
|
|
3
|
-
import { g as getFirstFocusableDescendant } from './stencil-accessibility-utils-
|
|
4
|
-
import { o as once, d as defer } from './utils-
|
|
4
|
+
import { g as getFirstFocusableDescendant } from './stencil-accessibility-utils-2253e89c.js';
|
|
5
|
+
import { o as once, d as defer } from './utils-4b7a065d.js';
|
|
5
6
|
import './purify-985ba52e.js';
|
|
6
7
|
|
|
8
|
+
// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated should only be used for Stencil components.
|
|
11
|
+
*/
|
|
12
|
+
const ResultsPlaceholdersGuard = (props) => {
|
|
13
|
+
if (!props.displayPlaceholders) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
switch (props.display) {
|
|
17
|
+
case 'table':
|
|
18
|
+
return h(TableDisplayResultsPlaceholder, { ...props });
|
|
19
|
+
default:
|
|
20
|
+
return h(ResultsPlaceholder, { ...props });
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated should only be used for Stencil components.
|
|
25
|
+
*/
|
|
26
|
+
const ResultsPlaceholder = (props) => {
|
|
27
|
+
return Array.from({ length: props.numberOfPlaceholders }, (_, i) => (h("atomic-result-placeholder", { key: `placeholder-${i}`, density: props.density, display: props.display || 'list', imageSize: props.imageSize })));
|
|
28
|
+
};
|
|
29
|
+
const TableDisplayResultsPlaceholder = (props) => {
|
|
30
|
+
return (h("atomic-result-table-placeholder", { density: props.density, imageSize: props.imageSize, rows: props.numberOfPlaceholders }));
|
|
31
|
+
};
|
|
32
|
+
|
|
7
33
|
/**
|
|
8
34
|
* @deprecated should only be used for Stencil components.
|
|
9
35
|
*/
|
|
@@ -14,6 +40,74 @@ const ItemDisplayGuard = (props, children) => {
|
|
|
14
40
|
return h(Fragment, null, ...children);
|
|
15
41
|
};
|
|
16
42
|
|
|
43
|
+
class TemplateProvider {
|
|
44
|
+
constructor(props, buildManager) {
|
|
45
|
+
this.props = props;
|
|
46
|
+
this.buildManager = buildManager;
|
|
47
|
+
this.templateManager = this.buildManager();
|
|
48
|
+
this.registerResultTemplates();
|
|
49
|
+
}
|
|
50
|
+
async registerResultTemplates() {
|
|
51
|
+
const customTemplates = await Promise.all(this.props.templateElements.map(async (resultTemplateElement) => {
|
|
52
|
+
if (!('getTemplate' in resultTemplateElement)) {
|
|
53
|
+
await customElements.whenDefined(resultTemplateElement.tagName.toLowerCase());
|
|
54
|
+
}
|
|
55
|
+
const template = await resultTemplateElement.getTemplate();
|
|
56
|
+
if (!template) {
|
|
57
|
+
this.props.setTemplateHasError(true);
|
|
58
|
+
}
|
|
59
|
+
return template;
|
|
60
|
+
}));
|
|
61
|
+
const templates = (!customTemplates.length && this.props.includeDefaultTemplate
|
|
62
|
+
? [this.makeDefaultTemplate()]
|
|
63
|
+
: []).concat(customTemplates.filter((template) => template));
|
|
64
|
+
this.templateManager.registerTemplates(...templates);
|
|
65
|
+
this.props.setResultTemplateRegistered(true);
|
|
66
|
+
}
|
|
67
|
+
getTemplateContent(item) {
|
|
68
|
+
return this.templateManager.selectTemplate(item);
|
|
69
|
+
}
|
|
70
|
+
getLinkTemplateContent(item) {
|
|
71
|
+
return this.templateManager.selectLinkTemplate(item);
|
|
72
|
+
}
|
|
73
|
+
getEmptyLinkTemplateContent() {
|
|
74
|
+
return document.createDocumentFragment();
|
|
75
|
+
}
|
|
76
|
+
get templatesRegistered() {
|
|
77
|
+
return this.props.getResultTemplateRegistered();
|
|
78
|
+
}
|
|
79
|
+
get hasError() {
|
|
80
|
+
return this.props.getTemplateHasError();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
class ResultTemplateProvider extends TemplateProvider {
|
|
85
|
+
constructor(props, gridCellLinkTarget) {
|
|
86
|
+
super(props, () => buildResultTemplatesManager(props.bindings.engine));
|
|
87
|
+
this.gridCellLinkTarget = gridCellLinkTarget;
|
|
88
|
+
}
|
|
89
|
+
// TODO: Add JSX support for default template
|
|
90
|
+
makeDefaultTemplate() {
|
|
91
|
+
const content = document.createDocumentFragment();
|
|
92
|
+
const linkEl = document.createElement('atomic-result-link');
|
|
93
|
+
content.appendChild(linkEl);
|
|
94
|
+
const linkContent = document.createDocumentFragment();
|
|
95
|
+
const linkMarkup = `
|
|
96
|
+
<atomic-result-link>
|
|
97
|
+
${this.gridCellLinkTarget ? `<a slot="attributes" target="${this.gridCellLinkTarget}"></a>` : ''}
|
|
98
|
+
</atomic-result-link>
|
|
99
|
+
`;
|
|
100
|
+
const linkTemplate = document.createElement('template');
|
|
101
|
+
linkTemplate.innerHTML = linkMarkup.trim();
|
|
102
|
+
linkContent.appendChild(linkTemplate.content);
|
|
103
|
+
return {
|
|
104
|
+
content,
|
|
105
|
+
linkContent,
|
|
106
|
+
conditions: [],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
17
111
|
/**
|
|
18
112
|
* @deprecated should only be used for Stencil components.
|
|
19
113
|
*/
|
|
@@ -140,6 +234,6 @@ function getItemDisplayClasses(display, density, image) {
|
|
|
140
234
|
*/
|
|
141
235
|
const getItemListDisplayClasses = getItemListDisplayClasses$1;
|
|
142
236
|
|
|
143
|
-
export { DisplayWrapper as D, ItemListCommon as I,
|
|
237
|
+
export { DisplayWrapper as D, ItemListCommon as I, ResultTemplateProvider as R, ResultsPlaceholdersGuard as a, ItemDisplayGuard as b, getItemListDisplayClasses as g };
|
|
144
238
|
|
|
145
|
-
//# sourceMappingURL=display-options-
|
|
239
|
+
//# sourceMappingURL=display-options-63f2ec3c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"display-options-63f2ec3c.js","mappings":";;;;;;;AAAA;AAmBA;;;MAGa,wBAAwB,GAEjC,CAAC,KAAK;IACR,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAC9B,OAAO;KACR;IACD,QAAQ,KAAK,CAAC,OAAO;QACnB,KAAK,OAAO;YACV,OAAO,EAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC;QACvD;YACE,OAAO,EAAC,kBAAkB,OAAK,KAAK,GAAI,CAAC;KAC5C;AACH,EAAE;AAEF;;;AAGO,MAAM,kBAAkB,GAAgD,CAC7E,KAAK;IAEL,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAC3D,iCACE,GAAG,EAAE,eAAe,CAAC,EAAE,EACvB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,GACC,CAC9B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAEhC,CAAC,KAAK;IACR,QACE,uCACE,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAE,KAAK,CAAC,oBAAoB,GACC,EACnC;AACJ,CAAC;;ACvDD;;;MAGa,gBAAgB,GAA+C,CAC1E,KAAK,EACL,QAAQ;IAER,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;QAClD,OAAO;KACR;IAED,OAAO,EAAC,QAAQ,WAAK,QAAQ,CAAY,CAAC;AAC5C;;MCJsB,gBAAgB;IAapC,YACU,KAAsC,EACtC,YAIP;QALO,UAAK,GAAL,KAAK,CAAiC;QACtC,iBAAY,GAAZ,YAAY,CAInB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,MAAM,uBAAuB;QACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,qBAAqB;YAC1D,IAAI,EAAE,aAAa,IAAI,qBAAqB,CAAC,EAAE;gBAC7C,MAAM,cAAc,CAAC,WAAW,CAC7B,qBAAqC,CAAC,OAAO,CAAC,WAAW,EAAE,CAC7D,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aACtC;YACD,OAAO,QAAQ,CAAC;SACjB,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,CAChB,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB;cACxD,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;cAC5B,EAAE,EACN,MAAM,CACN,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAI1C,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;KAC9C;IAEM,kBAAkB,CAAC,IAAc;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC;KACnD;IAEM,sBAAsB,CAAC,IAAc;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAE,CAAC;KACvD;IAEM,2BAA2B;QAChC,OAAO,QAAQ,CAAC,sBAAsB,EAAE,CAAC;KAC1C;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;KACjD;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;KACzC;;;MC/EU,sBAAuB,SAAQ,gBAAwB;IAClE,YACE,KAA8D,EACtD,kBAA+B;QAEvC,KAAK,CAAC,KAAK,EAAE,MAAM,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAF/D,uBAAkB,GAAlB,kBAAkB,CAAa;KAGxC;;IAGS,mBAAmB;QAK3B,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG;;QAEf,IAAI,CAAC,kBAAkB,GAAG,gCAAgC,IAAI,CAAC,kBAAkB,QAAQ,GAAG,EAAE;;KAEjG,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO;YACP,WAAW;YACX,UAAU,EAAE,EAAE;SACf,CAAC;KACH;;;ACpCH;;;MAGa,cAAc,GAA6C,CACtE,EAAC,OAAO,EAAE,WAAW,EAAC,EACtB,QAAQ;IAER,IAAI,OAAO,KAAK,OAAO,EAAE;QACvB,OAAO,EAAC,WAAW,IAAC,WAAW,EAAE,WAAW,OAAM,QAAQ,CAAe,CAAC;KAC3E;IAED,QACE,EAAC,WAAW,IAAC,WAAW,EAAE,WAAW;QACnC,WAAK,KAAK,EAAE,aAAa,WAAW,EAAE,EAAE,IAAI,EAAC,aAAa,IACvD,QAAQ,CACL,CACM,EACd;AACJ,EAAE;AAEF,MAAM,WAAW,GAEb,CAAC,EAAC,WAAW,EAAC,EAAE,QAAQ;IAC1B,OAAO,WAAK,KAAK,EAAE,gBAAgB,WAAW,EAAE,OAAM,QAAQ,CAAO,CAAC;AACxE,CAAC;;MCUY,cAAc;IAKzB,YAAoB,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;QAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;YACjD,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAEM,WAAW,CAChB,gBAAwB,EACxB,gBAAwB,EACxB,OAA2B,EAC3B,SAA+B;QAE/B,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;KACvE;IAEM,eAAe,CAAC,OAAoB,EAAE,WAAmB;QAC9D,IAAI,WAAW,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;SAC9B;QACD,IAAI,WAAW,KAAK,IAAI,CAAC,oBAAoB,EAAE;YAC7C,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE;YACpE,OAAO;SACR;QAED,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;KACxD;IAEM,oBAAoB;QACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;KAClD;IAEM,MAAM,iCAAiC;QAC5C,MAAM,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;aAChC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACvC,MAAM,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpD,MAAM,cAAc,GAClB,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC;wBAC/C,IAAI,CAAC,aAAa,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBACrC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;oBAC/B,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,CAAC;iBACX;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;;AC9FH,SAAS,eAAe,CAAC,OAA0B;IACjD,QAAQ,OAAO;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAA2B;IAClD,QAAQ,OAAO;QACb,KAAK,aAAa;YAChB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC;QAC3B;YACE,OAAO,gBAAgB,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,QAAQ,KAAK;QACX,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,YAAY,CAAC;KACvB;AACH,CAAC;SAEeA,2BAAyB,CACvC,OAA0B,EAC1B,OAA2B,EAC3B,KAA2B,EAC3B,SAAkB,EAClB,YAAqB;IAErB,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE/D,IAAI,SAAS,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzB;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7B;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;SAEe,qBAAqB,CACnC,OAA0B,EAC1B,OAA2B,EAC3B,KAA2B;IAE3B,MAAM,OAAO,GAAG;QACd,eAAe,CAAC,OAAO,CAAC;QACxB,eAAe,CAAC,OAAO,CAAC;QACxB,aAAa,CAAC,KAAK,CAAC;KACrB,CAAC;IACF,OAAO,OAAO,CAAC;AACjB;;ACzCA;;;MAGa,yBAAyB,GACpCC;;;;","names":["getItemListDisplayClasses","getItemListDisplayClassesImport"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/item-list/stencil-item-display-guard.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/result-template-provider.ts","src/components/common/item-list/stencil-display-wrapper.tsx","src/components/common/item-list/stencil-item-list-common.tsx","src/components/common/layout/item-layout-utils.ts","src/components/common/layout/display-options.ts"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\ninterface ItemDisplayGuardProps {\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ItemDisplayGuard: FunctionalComponent<ItemDisplayGuardProps> = (\n props,\n children\n) => {\n if (!props.hasItems || !props.firstRequestExecuted) {\n return;\n }\n\n return <Fragment>{...children}</Fragment>;\n};\n","import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {ItemTarget} from '@/src/components/common/layout/item-layout-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n\nexport class ResultTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {ItemDisplayLayout} from '../layout/display-options.js';\n\ninterface DisplayWrapperProps {\n display: ItemDisplayLayout;\n listClasses: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayWrapper: FunctionalComponent<DisplayWrapperProps> = (\n {display, listClasses},\n children\n) => {\n if (display === 'table') {\n return <ListWrapper listClasses={listClasses}>{...children}</ListWrapper>;\n }\n\n return (\n <ListWrapper listClasses={listClasses}>\n <div class={`list-root ${listClasses}`} part=\"result-list\">\n {children}\n </div>\n </ListWrapper>\n );\n};\n\nconst ListWrapper: FunctionalComponent<\n Pick<DisplayWrapperProps, 'listClasses'>\n> = ({listClasses}, children) => {\n return <div class={`list-wrapper ${listClasses}`}>{...children}</div>;\n};\n","import {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {\n FocusTargetController,\n getFirstFocusableDescendant,\n} from '../../../utils/stencil-accessibility-utils';\nimport {defer, once} from '../../../utils/utils';\nimport {CommerceStore} from '../../commerce/atomic-commerce-interface/store';\nimport {CommerceRecommendationStore} from '../../commerce/atomic-commerce-recommendation-interface/store';\nimport {InsightStore} from '../../insight/atomic-insight-interface/store';\nimport {RecsStore} from '../../recommendations/atomic-recs-interface/store';\nimport {SearchStore} from '../../search/atomic-search-interface/store';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\n\nexport const resultComponentClass = 'result-component';\n\nexport type ItemRenderingFunction<SpecificResult extends AnyItem = AnyItem> =\n | ((\n result: SpecificResult,\n root: HTMLElement,\n linkContainer?: HTMLElement\n ) => string)\n | undefined;\n\nexport interface ItemListCommonProps {\n store:\n | CommerceStore\n | CommerceRecommendationStore\n | RecsStore\n | InsightStore\n | SearchStore;\n loadingFlag: string;\n host: HTMLElement;\n nextNewItemTarget: FocusTargetController;\n getCurrentNumberOfItems: () => number;\n getIsLoading: () => boolean;\n engineSubscribe: (cb: () => void) => () => void;\n}\n\nexport class ItemListCommon {\n private indexOfResultToFocus?: number;\n private firstResultEl?: HTMLElement;\n private updateBreakpointsOnce: () => void;\n\n constructor(private props: ItemListCommonProps) {\n this.props.store.setLoadingFlag(this.props.loadingFlag);\n this.props.store.state.resultList = this;\n this.updateBreakpointsOnce = once(() => updateBreakpoints(this.props.host));\n this.props.nextNewItemTarget.registerFocusCallback(() => {\n this.indexOfResultToFocus = undefined;\n });\n }\n\n public updateBreakpoints() {\n this.updateBreakpointsOnce();\n }\n\n public getResultId(\n uniqueIdOnResult: string,\n searchResponseId: string,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n return `${uniqueIdOnResult}${searchResponseId}${density}${imageSize}`;\n }\n\n public setNewResultRef(element: HTMLElement, resultIndex: number) {\n if (resultIndex === 0) {\n this.firstResultEl = element;\n }\n if (resultIndex !== this.indexOfResultToFocus) {\n return;\n }\n\n if (!element.children.length && !element.shadowRoot?.children.length) {\n return;\n }\n\n this.indexOfResultToFocus = undefined;\n const elementToFocus = getFirstFocusableDescendant(element) ?? element;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n }\n\n public focusOnNextNewResult() {\n this.indexOfResultToFocus = this.props.getCurrentNumberOfItems();\n this.props.nextNewItemTarget.focusOnNextTarget();\n }\n\n public async focusOnFirstResultAfterNextSearch() {\n await defer();\n return new Promise<void>((resolve) => {\n if (this.props.getIsLoading()) {\n this.firstResultEl = undefined;\n }\n\n const unsub = this.props.engineSubscribe(async () => {\n await defer();\n if (!this.props.getIsLoading() && this.firstResultEl) {\n const elementToFocus =\n getFirstFocusableDescendant(this.firstResultEl) ??\n this.firstResultEl;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n this.props.nextNewItemTarget.focus();\n this.firstResultEl = undefined;\n unsub();\n resolve();\n }\n });\n });\n }\n}\n","import {\n containsSections,\n type ItemSectionTagName,\n} from './item-layout-sections';\n\nexport interface ItemLayoutConfig {\n children: HTMLCollection;\n display: ItemDisplayLayout;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n}\n\nexport type ItemDisplayBasicLayout = 'list' | 'grid';\nexport type ItemDisplayLayout = ItemDisplayBasicLayout | 'table';\nexport type ItemDisplayDensity = 'comfortable' | 'normal' | 'compact';\nexport type ItemDisplayImageSize = 'large' | 'small' | 'icon' | 'none';\nexport type ItemTarget = '_self' | '_blank' | '_parent' | '_top';\n\nfunction getDisplayClass(display: ItemDisplayLayout) {\n switch (display) {\n case 'grid':\n return 'display-grid';\n case 'table':\n return 'display-table';\n default:\n return 'display-list';\n }\n}\n\nfunction getDensityClass(density: ItemDisplayDensity) {\n switch (density) {\n case 'comfortable':\n return 'density-comfortable';\n case 'compact':\n return 'density-compact';\n default:\n return 'density-normal';\n }\n}\n\nfunction getImageClass(image: ItemDisplayImageSize) {\n switch (image) {\n case 'large':\n return 'image-large';\n case 'small':\n return 'image-small';\n case 'none':\n return 'image-none';\n default:\n return 'image-icon';\n }\n}\n\nexport function getItemListDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize,\n isLoading: boolean,\n isAppLoading: boolean\n) {\n const classes = getItemDisplayClasses(display, density, image);\n\n if (isLoading) {\n classes.push('loading');\n }\n\n if (isAppLoading) {\n classes.push('placeholder');\n }\n return classes.join(' ');\n}\n\nexport function getItemDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize\n) {\n const classes = [\n getDisplayClass(display),\n getDensityClass(density),\n getImageClass(image),\n ];\n return classes;\n}\n\nfunction getSection(\n children: HTMLCollection,\n section: ItemSectionTagName\n): Element | undefined {\n return Array.from(children).find(\n (element) => element.tagName.toLowerCase() === section\n );\n}\n\nfunction getImageSizeFromSections(\n children: HTMLCollection\n): ItemDisplayImageSize | undefined {\n const imageSize = getSection(\n children,\n 'atomic-result-section-visual'\n )?.getAttribute('image-size');\n if (!imageSize) {\n return undefined;\n }\n return imageSize as ItemDisplayImageSize;\n}\n\nexport function getItemLayoutClasses(\n config: ItemLayoutConfig,\n HTMLContent?: string\n): string[] {\n const classes = getItemDisplayClasses(\n config.display,\n config.density,\n getImageSizeFromSections(config.children) ?? config.imageSize\n );\n if (\n HTMLContent\n ? containsSections(HTMLContent)\n : containsSections(config.children)\n ) {\n classes.push('with-sections');\n }\n return classes;\n}\n","import {\n getItemDisplayClasses as getItemDisplayClassesImport,\n getItemLayoutClasses,\n getItemListDisplayClasses as getItemListDisplayClassesImport,\n type ItemDisplayBasicLayout as ItemDisplayBasicLayoutImport,\n type ItemDisplayDensity as ItemDisplayDensityImport,\n type ItemDisplayImageSize as ItemDisplayImageSizeImport,\n type ItemDisplayLayout as ItemDisplayLayoutImport,\n type ItemTarget as ItemTargetImport,\n} from './item-layout-utils';\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayBasicLayout = ItemDisplayBasicLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayDensity = ItemDisplayDensityImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayImageSize = ItemDisplayImageSizeImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayLayout = ItemDisplayLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemTarget = ItemTargetImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemDisplayClasses: typeof getItemDisplayClassesImport =\n getItemDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemListDisplayClasses: typeof getItemListDisplayClassesImport =\n getItemListDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, use `getItemLayoutClasses` with `ItemLayoutConfig` from `packages/atomic/src/components/common/layout/item-layout-utils.ts` instead.\n */\nexport class ItemLayout {\n private children: HTMLCollection;\n private density: ItemDisplayDensity;\n private imageSize: ItemDisplayImageSize;\n private display: ItemDisplayLayout;\n\n constructor(\n children: HTMLCollection,\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n this.children = children;\n this.display = display;\n this.density = density;\n this.imageSize = imageSize;\n }\n\n public getClasses(HTMLContent?: string) {\n return getItemLayoutClasses(\n {\n children: this.children,\n display: this.display,\n density: this.density,\n imageSize: this.imageSize,\n },\n HTMLContent\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"event-utils-8de63ec3.js","mappings":"SAEgB,gBAAgB,
|
|
1
|
+
{"file":"event-utils-8de63ec3.js","mappings":"SAEgB,gBAAgB,CAAgB,IAAY,EAAE,MAAU;IACtE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE;QAC3B,MAAM;;QAEN,OAAO,EAAE,IAAI;;QAEb,UAAU,EAAE,IAAI;;QAEhB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;SAce,UAAU,CACxB,OAAoB,EACpB,IAAY,EACZ,QAA4C,EAC5C,OAA2C;IAE3C,MAAM,SAAS,GAAkB,CAAC,GAAU;QAC1C,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,QAAQ,KAAK,QAAQ;cACxB,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;cACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACrD;;;;","names":[],"sources":["src/utils/event-utils.ts"],"sourcesContent":["import {promiseTimeout} from './promise-utils';\n\nexport function buildCustomEvent<T = undefined>(name: string, detail?: T) {\n return new CustomEvent(name, {\n detail,\n // Event will bubble up the DOM until it is caught\n bubbles: true,\n // Allows to verify if event is caught (cancelled). If it's not caught, it won't be initialized.\n cancelable: true,\n // Allows to compose Atomic components inside one another, event will go across DOM/Shadow DOM\n composed: true,\n });\n}\n\nexport function listenOnce<K extends keyof HTMLElementEventMap>(\n element: HTMLElement,\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => void,\n options?: boolean | AddEventListenerOptions\n): void;\nexport function listenOnce(\n element: HTMLElement,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void;\nexport function listenOnce(\n element: HTMLElement,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n): void {\n const _listener: EventListener = (evt: Event) => {\n element.removeEventListener(type, _listener, options);\n typeof listener === 'object'\n ? listener.handleEvent.call(element, evt)\n : listener.call(element, evt);\n };\n element.addEventListener(type, _listener, options);\n}\n\nexport function eventPromise(\n element: HTMLElement,\n type: string,\n timeoutMs: number = 0\n): Promise<Event> {\n let promise = new Promise<Event>((resolve) => {\n listenOnce(element, type, (e) => {\n resolve(e);\n });\n });\n\n if (timeoutMs > 0) {\n promise = promiseTimeout(promise, timeoutMs);\n }\n\n return promise;\n}\n"],"version":3}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const NAMESPACE = 'atomic';
|
|
2
|
-
const BUILD = /* atomic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender:
|
|
2
|
+
const BUILD = /* atomic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: true, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
|
|
3
3
|
|
|
4
4
|
/*
|
|
5
5
|
Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com
|
|
@@ -84,10 +84,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
84
84
|
return import(
|
|
85
85
|
/* webpackMode: "lazy" */
|
|
86
86
|
'./atomic-insight-result-attach-to-case-indicator.entry.js').then(processMod, consoleError);
|
|
87
|
-
case 'atomic-insight-result-children':
|
|
88
|
-
return import(
|
|
89
|
-
/* webpackMode: "lazy" */
|
|
90
|
-
'./atomic-insight-result-children.entry.js').then(processMod, consoleError);
|
|
91
87
|
case 'atomic-insight-result-children-template':
|
|
92
88
|
return import(
|
|
93
89
|
/* webpackMode: "lazy" */
|
|
@@ -116,10 +112,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
116
112
|
return import(
|
|
117
113
|
/* webpackMode: "lazy" */
|
|
118
114
|
'./atomic-insight-user-actions-modal.entry.js').then(processMod, consoleError);
|
|
119
|
-
case 'atomic-ipx-embedded':
|
|
120
|
-
return import(
|
|
121
|
-
/* webpackMode: "lazy" */
|
|
122
|
-
'./atomic-ipx-embedded.entry.js').then(processMod, consoleError);
|
|
123
115
|
case 'atomic-ipx-modal':
|
|
124
116
|
return import(
|
|
125
117
|
/* webpackMode: "lazy" */
|
|
@@ -152,6 +144,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
152
144
|
return import(
|
|
153
145
|
/* webpackMode: "lazy" */
|
|
154
146
|
'./atomic-insight-user-actions-timeline.entry.js').then(processMod, consoleError);
|
|
147
|
+
case 'atomic-ipx-body':
|
|
148
|
+
return import(
|
|
149
|
+
/* webpackMode: "lazy" */
|
|
150
|
+
'./atomic-ipx-body.entry.js').then(processMod, consoleError);
|
|
155
151
|
case 'atomic-ipx-refine-modal':
|
|
156
152
|
return import(
|
|
157
153
|
/* webpackMode: "lazy" */
|
|
@@ -160,10 +156,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
160
156
|
return import(
|
|
161
157
|
/* webpackMode: "lazy" */
|
|
162
158
|
'./atomic-insight-user-actions-session.entry.js').then(processMod, consoleError);
|
|
163
|
-
case 'atomic-ipx-body':
|
|
164
|
-
return import(
|
|
165
|
-
/* webpackMode: "lazy" */
|
|
166
|
-
'./atomic-ipx-body.entry.js').then(processMod, consoleError);
|
|
167
159
|
}
|
|
168
160
|
}
|
|
169
161
|
return import(
|
|
@@ -1214,9 +1206,6 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
1214
1206
|
maybePromise = safeCall(instance, "componentWillUpdate");
|
|
1215
1207
|
}
|
|
1216
1208
|
}
|
|
1217
|
-
{
|
|
1218
|
-
maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender"));
|
|
1219
|
-
}
|
|
1220
1209
|
endSchedule();
|
|
1221
1210
|
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1222
1211
|
};
|
|
@@ -1785,4 +1774,4 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
|
|
|
1785
1774
|
|
|
1786
1775
|
export { Fragment as F, Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
|
1787
1776
|
|
|
1788
|
-
//# sourceMappingURL=index-
|
|
1777
|
+
//# sourceMappingURL=index-0bcc50f8.js.map
|