@coveo/atomic 3.27.5-pre.fc44b4ed1e → 3.28.0-pre.05db57fb0d
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 -2
- package/dist/atomic/components/_index.js +0 -1
- package/dist/atomic/components/atomic-aria-live2.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +1 -1
- package/dist/atomic/components/atomic-citation.js +1 -1
- package/dist/atomic/components/atomic-commerce-category-facet2.js +1 -1
- package/dist/atomic/components/atomic-commerce-numeric-facet2.js +2 -2
- package/dist/atomic/components/atomic-commerce-query-error.js +1 -1
- package/dist/atomic/components/atomic-commerce-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-commerce-recommendation-interface.js +1 -1
- package/dist/atomic/components/atomic-commerce-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-commerce-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-commerce-timeframe-facet2.js +1 -1
- package/dist/atomic/components/atomic-facet-manager.js +1 -1
- package/dist/atomic/components/atomic-facet.js +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
- package/dist/atomic/components/atomic-generated-answer.js +14 -0
- package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-html2.js +1 -1
- package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-facet.js +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
- package/dist/atomic/components/atomic-insight-generated-answer.js +14 -0
- package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-no-results.js +1 -1
- package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
- package/dist/atomic/components/atomic-insight-pager.js +3 -3
- package/dist/atomic/components/atomic-insight-query-error.js +1 -1
- package/dist/atomic/components/atomic-insight-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
- package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
- package/dist/atomic/components/atomic-insight-result-children.js +1 -1
- package/dist/atomic/components/atomic-insight-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
- package/dist/atomic/components/atomic-insight-result2.js +1 -1
- package/dist/atomic/components/atomic-insight-search-box.js +2 -2
- package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-insight-tabs.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
- package/dist/atomic/components/atomic-ipx-body2.js +2 -2
- package/dist/atomic/components/atomic-ipx-button.js +2 -2
- package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
- package/dist/atomic/components/atomic-ipx-modal.js +2 -2
- package/dist/atomic/components/atomic-ipx-recs-list.js +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-ipx-tabs.js +1 -1
- package/dist/atomic/components/atomic-load-more-results.js +1 -1
- package/dist/atomic/components/atomic-modal2.js +2 -2
- package/dist/atomic/components/atomic-no-results.js +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +1 -1
- package/dist/atomic/components/atomic-pager.js +3 -3
- package/dist/atomic/components/atomic-product-price.js +1 -1
- package/dist/atomic/components/atomic-query-error.js +1 -1
- package/dist/atomic/components/atomic-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-query-summary.js +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-recs-error.js +1 -1
- package/dist/atomic/components/atomic-recs-error.js.map +1 -1
- package/dist/atomic/components/atomic-recs-list.js +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-results-per-page.js +68 -3
- package/dist/atomic/components/atomic-results-per-page.js.map +1 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +4 -4
- package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
- package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-expression.js +1 -1
- package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +126 -0
- package/dist/atomic/components/components/commerce/index.js +1 -0
- package/dist/atomic/components/components/commerce/lazy-index.js +1 -0
- package/dist/atomic/components/components/common/breadbox/breadcrumb-content.js +4 -1
- package/dist/atomic/components/components/common/fieldset-group.js +5 -0
- package/dist/atomic/components/components/common/items-per-page/choices.js +47 -0
- package/dist/atomic/components/components/common/items-per-page/error.js +18 -0
- package/dist/atomic/components/components/common/items-per-page/label.js +10 -0
- package/dist/atomic/components/components/common/items-per-page/validate.js +19 -0
- package/dist/atomic/components/facet-date-input.js +3 -3
- package/dist/atomic/components/facet-number-input.js +2 -2
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/interface-common-stencil.js +1 -1
- package/dist/atomic/components/stencil-link.js.map +1 -1
- package/dist/atomic/components/tab-button.js +1 -1
- package/dist/atomic/components/tab-popover.js +1 -1
- package/dist/atomic/{p-a535a268.entry.js → p-0267a585.entry.js} +2 -2
- package/dist/atomic/{p-9a161d8f.entry.js → p-0a7b0daa.entry.js} +2 -2
- package/dist/atomic/{p-f7eab69a.entry.js → p-0b0ea7d3.entry.js} +2 -2
- package/dist/atomic/{p-c1100f56.entry.js → p-0df088e8.entry.js} +2 -2
- package/dist/atomic/{p-07cd7e4a.entry.js → p-135be5aa.entry.js} +2 -2
- package/dist/atomic/{p-1ebe2aba.entry.js → p-1a584a17.entry.js} +2 -2
- package/dist/atomic/{p-e739825f.entry.js → p-1cc97adc.entry.js} +2 -2
- package/dist/atomic/{p-005d34a4.entry.js → p-29d27418.entry.js} +2 -2
- package/dist/atomic/{p-4dbb3798.entry.js → p-2f0cb73c.entry.js} +2 -2
- package/dist/atomic/{p-bad08ec3.entry.js → p-2ff906b9.entry.js} +2 -2
- package/dist/atomic/{p-908fa9c8.entry.js → p-306c83ea.entry.js} +2 -2
- package/dist/atomic/{p-1243448d.entry.js → p-3195fa42.entry.js} +2 -2
- package/dist/atomic/{p-f5ea03f0.entry.js → p-32b26cd0.entry.js} +2 -2
- package/dist/atomic/{p-dc463f0b.entry.js → p-32c90fe9.entry.js} +2 -2
- package/dist/atomic/{p-84b36ec2.entry.js → p-3ec18de9.entry.js} +2 -2
- package/dist/atomic/{p-8a337769.entry.js → p-3f42a2db.entry.js} +2 -2
- package/dist/atomic/{p-c74c1b41.entry.js → p-45b26cc7.entry.js} +2 -2
- package/dist/atomic/{p-1c06ca0c.entry.js → p-46522ee4.entry.js} +2 -2
- package/dist/atomic/{p-cfec0988.entry.js → p-47ee9d37.entry.js} +2 -2
- package/dist/atomic/{p-4af746a9.entry.js → p-50b9a5d2.entry.js} +2 -2
- package/dist/atomic/{p-756462de.entry.js → p-51c5acfc.entry.js} +2 -2
- package/dist/atomic/{p-1202d6cc.entry.js → p-543e811e.entry.js} +2 -2
- package/dist/atomic/{p-d4ab4985.entry.js → p-60a9e718.entry.js} +2 -2
- package/dist/atomic/{p-1c5502a8.entry.js → p-66683abd.entry.js} +2 -2
- package/dist/atomic/{p-3024c394.entry.js → p-67315415.entry.js} +2 -2
- package/dist/atomic/{p-baa3b8ee.entry.js → p-689e063d.entry.js} +2 -2
- package/dist/atomic/p-690b5853.entry.js +2 -0
- package/dist/atomic/{p-447f0772.entry.js → p-70ab347b.entry.js} +2 -2
- package/dist/atomic/{p-dc051fee.entry.js → p-76122df5.entry.js} +2 -2
- package/dist/atomic/{p-4d8ec431.entry.js → p-7d1f8d9c.entry.js} +2 -2
- package/dist/atomic/{p-d7c44977.entry.js → p-80dc3bab.entry.js} +2 -2
- package/dist/atomic/{p-c265c67d.entry.js → p-8392e900.entry.js} +2 -2
- package/dist/atomic/{p-5809bc5d.entry.js → p-8ba2a77f.entry.js} +2 -2
- package/dist/atomic/{p-58c8065c.entry.js → p-8d7f57d9.entry.js} +2 -2
- package/dist/atomic/{p-bb5c19a7.entry.js → p-8e09f796.entry.js} +2 -2
- package/dist/atomic/{p-79e1bcc1.entry.js → p-95942ba2.entry.js} +2 -2
- package/dist/atomic/{p-00ba0b42.entry.js → p-99604083.entry.js} +2 -2
- package/dist/atomic/p-99604083.entry.js.map +1 -0
- package/dist/atomic/{p-a896c7b8.entry.js → p-9a08dad7.entry.js} +2 -2
- package/dist/atomic/{p-d5c709cd.entry.js → p-9ae88402.entry.js} +2 -2
- package/dist/atomic/{p-04c726de.entry.js → p-9d2230db.entry.js} +2 -2
- package/dist/atomic/p-9d2230db.entry.js.map +1 -0
- package/dist/atomic/{p-52abba32.entry.js → p-9eb108c9.entry.js} +2 -2
- package/dist/atomic/{p-558f3bd6.entry.js → p-a046cf06.entry.js} +2 -2
- package/dist/atomic/{p-9fb18d3e.entry.js → p-a3169f59.entry.js} +2 -2
- package/dist/atomic/{p-891f0c50.entry.js → p-a772b365.entry.js} +2 -2
- package/dist/atomic/{p-ccff6c87.entry.js → p-a8281e9b.entry.js} +2 -2
- package/dist/atomic/{p-c4dd47ca.entry.js → p-ab5eec3d.entry.js} +2 -2
- package/dist/atomic/{p-d72e52b2.entry.js → p-ab6e303e.entry.js} +2 -2
- package/dist/atomic/p-ab6e303e.entry.js.map +1 -0
- package/dist/atomic/{p-2b11517f.entry.js → p-b19a8cbb.entry.js} +2 -2
- package/dist/atomic/{p-4b20cdb3.entry.js → p-b4d47ca9.entry.js} +2 -2
- package/dist/atomic/{p-0ea5cbb8.entry.js → p-b4dfe5b2.entry.js} +2 -2
- package/dist/atomic/p-b747e4a9.entry.js +2 -0
- package/dist/atomic/{p-af8999b1.entry.js → p-b7824e0e.entry.js} +2 -2
- package/dist/atomic/{p-9d2f7b33.js → p-bc7f7562.js} +2 -2
- package/dist/atomic/{p-e7b8ee60.entry.js → p-be13ed5c.entry.js} +2 -2
- package/dist/atomic/p-befca41f.entry.js +2 -0
- package/dist/atomic/{p-6d264c97.entry.js → p-bfeefcaa.entry.js} +2 -2
- package/dist/atomic/{p-34cff6c8.entry.js → p-c0d7b26d.entry.js} +2 -2
- package/dist/atomic/{p-07950452.entry.js → p-c0f88e0c.entry.js} +2 -2
- package/dist/atomic/{p-7d1ca26f.entry.js → p-c13d4039.entry.js} +2 -2
- package/dist/atomic/{p-6d083c4e.entry.js → p-c4f042ae.entry.js} +2 -2
- package/dist/atomic/{p-f96655f4.entry.js → p-c83f9cff.entry.js} +2 -2
- package/dist/atomic/{p-4e3518c2.entry.js → p-cd87574b.entry.js} +2 -2
- package/dist/atomic/{p-e260c799.entry.js → p-ce4e939b.entry.js} +2 -2
- package/dist/atomic/p-ce4e939b.entry.js.map +1 -0
- package/dist/atomic/{p-fc81ef98.entry.js → p-d1efd50f.entry.js} +2 -2
- package/dist/atomic/p-d1efd50f.entry.js.map +1 -0
- package/dist/atomic/{p-963a3e18.entry.js → p-d30057a0.entry.js} +2 -2
- package/dist/atomic/{p-d5c308fc.entry.js → p-d4aba9f9.entry.js} +2 -2
- package/dist/atomic/{p-dd6e18bb.entry.js → p-d69756ae.entry.js} +2 -2
- package/dist/atomic/{p-68bf4184.entry.js → p-d827c148.entry.js} +2 -2
- package/dist/atomic/{p-04fe5145.js → p-d9d53994.js} +2 -2
- package/dist/atomic/{p-cbe083d3.entry.js → p-dd8c6bdd.entry.js} +2 -2
- package/dist/atomic/{p-26ec2d6d.entry.js → p-ddd52850.entry.js} +2 -2
- package/dist/atomic/{p-c751940f.entry.js → p-e44155cc.entry.js} +2 -2
- package/dist/atomic/{p-5e7f50a5.entry.js → p-e4754fd0.entry.js} +2 -2
- package/dist/atomic/{p-bd109981.entry.js → p-e604fd29.entry.js} +2 -2
- package/dist/atomic/{p-75d11764.entry.js → p-eab28672.entry.js} +2 -2
- package/dist/atomic/p-ec0161b7.entry.js +2 -0
- package/dist/atomic/p-ec0161b7.entry.js.map +1 -0
- package/dist/atomic/{p-6c5524dc.entry.js → p-ec6bc15b.entry.js} +2 -2
- package/dist/atomic/p-eebb168b.entry.js +2 -0
- package/dist/atomic/{p-e36f1951.entry.js → p-f3182312.entry.js} +2 -2
- package/dist/atomic/p-f3182312.entry.js.map +1 -0
- package/dist/atomic/{p-6083c281.js → p-f45d8b3e.js} +1 -1
- package/dist/atomic/p-f45d8b3e.js.map +1 -0
- package/dist/atomic/{p-1de6a3e2.entry.js → p-f4a1bfe3.entry.js} +2 -2
- package/dist/atomic/{p-d1434df4.entry.js → p-f4b98113.entry.js} +2 -2
- package/dist/atomic/{p-a15f6b8c.entry.js → p-f6283657.entry.js} +2 -2
- package/dist/atomic/{p-e961a0cc.entry.js → p-f7f8096a.entry.js} +2 -2
- package/dist/atomic/{p-f8fb398c.entry.js → p-fb0bdcdb.entry.js} +2 -2
- package/dist/atomic/p-fbbbc454.entry.js +2 -0
- package/dist/atomic/{p-dea13af7.entry.js → p-fd9d1c3f.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-a6624add.js → analytics-config-2f69f8de.js} +2 -2
- package/dist/cjs/{analytics-config-a6624add.js.map → analytics-config-2f69f8de.js.map} +1 -1
- package/dist/cjs/atomic-aria-live.cjs.entry.js +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
- package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js +4 -4
- package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js +3 -3
- package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-commerce-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
- package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +13 -0
- package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-html.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +13 -0
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
- package/dist/cjs/atomic-product-price.cjs.entry.js +1 -1
- package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
- package/dist/cjs/atomic-results-per-page.cjs.entry.js +71 -7
- package/dist/cjs/atomic-results-per-page.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +4 -4
- package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
- package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/index-757bc886.js +0 -4
- package/dist/cjs/{interface-common-stencil-8fbfe9d9.js → interface-common-stencil-ce97f848.js} +2 -2
- package/dist/cjs/{interface-common-stencil-8fbfe9d9.js.map → interface-common-stencil-ce97f848.js.map} +1 -1
- package/dist/cjs/{stencil-link-c6b12034.js → stencil-link-fbb2ab5c.js} +1 -1
- package/dist/cjs/stencil-link-fbb2ab5c.js.map +1 -0
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-c312751b.js → analytics-config-10086326.js} +2 -2
- package/dist/esm/{analytics-config-c312751b.js.map → analytics-config-10086326.js.map} +1 -1
- package/dist/esm/atomic-aria-live.entry.js +1 -1
- package/dist/esm/atomic-category-facet.entry.js +1 -1
- package/dist/esm/atomic-citation.entry.js +1 -1
- package/dist/esm/atomic-commerce-category-facet_5.entry.js +4 -4
- package/dist/esm/atomic-commerce-facet-number-input_2.entry.js +3 -3
- package/dist/esm/atomic-commerce-query-error.entry.js +2 -2
- package/dist/esm/atomic-commerce-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-commerce-recommendation-interface.entry.js +2 -2
- package/dist/esm/atomic-commerce-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-commerce-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-facet-manager.entry.js +1 -1
- package/dist/esm/atomic-facet-number-input.entry.js +2 -2
- package/dist/esm/atomic-facet.entry.js +1 -1
- package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
- package/dist/esm/atomic-generated-answer.entry.js +13 -0
- package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-html.entry.js +1 -1
- package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
- package/dist/esm/atomic-insight-generated-answer.entry.js +13 -0
- package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +3 -3
- package/dist/esm/atomic-insight-query-error.entry.js +2 -2
- package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
- package/dist/esm/atomic-insight-result-children.entry.js +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
- package/dist/esm/atomic-insight-result.entry.js +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-tabs.entry.js +1 -1
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
- package/dist/esm/atomic-ipx-body.entry.js +2 -2
- package/dist/esm/atomic-ipx-button.entry.js +2 -2
- package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
- package/dist/esm/atomic-ipx-modal.entry.js +2 -2
- package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
- package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
- package/dist/esm/atomic-load-more-results.entry.js +1 -1
- package/dist/esm/atomic-no-results.entry.js +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-pager.entry.js +3 -3
- package/dist/esm/atomic-product-price.entry.js +1 -1
- package/dist/esm/atomic-query-error.entry.js +2 -2
- package/dist/esm/atomic-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-query-summary.entry.js +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-recs-error.entry.js +2 -2
- package/dist/esm/atomic-recs-error.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +2 -2
- package/dist/esm/atomic-recs-list.entry.js +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
- package/dist/esm/atomic-result-children.entry.js +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
- package/dist/esm/atomic-results-per-page.entry.js +68 -4
- package/dist/esm/atomic-results-per-page.entry.js.map +1 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +4 -4
- package/dist/esm/atomic-search-interface.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-sort-expression.entry.js +1 -1
- package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
- package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
- package/dist/esm/atomic-tab-button.entry.js +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/index-3f35faca.js +0 -4
- package/dist/esm/{interface-common-stencil-f810ab98.js → interface-common-stencil-5fdfe2c5.js} +2 -2
- package/dist/esm/{interface-common-stencil-f810ab98.js.map → interface-common-stencil-5fdfe2c5.js.map} +1 -1
- package/dist/esm/{stencil-link-637c1ac5.js → stencil-link-32a27dfb.js} +1 -1
- package/dist/esm/stencil-link-32a27dfb.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.d.ts +13 -7
- package/dist/types/components/commerce/index.d.ts +1 -0
- package/dist/types/components/common/items-per-page/choices.d.ts +1 -1
- package/dist/types/components/common/items-per-page/error.d.ts +3 -0
- package/dist/types/components/common/query-error/show-more.d.ts +4 -4
- package/dist/types/components/common/query-error/stencil-show-more.d.ts +10 -0
- package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +6 -0
- package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +6 -0
- package/dist/types/components.d.ts +16 -63
- package/docs/atomic-docs.json +23 -123
- package/package.json +1 -1
- package/dist/atomic/components/atomic-commerce-products-per-page.d.ts +0 -11
- package/dist/atomic/components/atomic-commerce-products-per-page.js +0 -107
- package/dist/atomic/components/atomic-commerce-products-per-page.js.map +0 -1
- package/dist/atomic/components/validate.js +0 -62
- package/dist/atomic/components/validate.js.map +0 -1
- package/dist/atomic/p-00ba0b42.entry.js.map +0 -1
- package/dist/atomic/p-03109525.entry.js +0 -2
- package/dist/atomic/p-03109525.entry.js.map +0 -1
- package/dist/atomic/p-04c726de.entry.js.map +0 -1
- package/dist/atomic/p-162da819.entry.js +0 -2
- package/dist/atomic/p-6083c281.js.map +0 -1
- package/dist/atomic/p-81874146.entry.js +0 -2
- package/dist/atomic/p-98c16767.entry.js +0 -2
- package/dist/atomic/p-b0be7782.entry.js +0 -2
- package/dist/atomic/p-b90ea7e9.entry.js +0 -2
- package/dist/atomic/p-ba5a125f.entry.js +0 -2
- package/dist/atomic/p-ba5a125f.entry.js.map +0 -1
- package/dist/atomic/p-c408a774.js +0 -2
- package/dist/atomic/p-c408a774.js.map +0 -1
- package/dist/atomic/p-d72e52b2.entry.js.map +0 -1
- package/dist/atomic/p-e260c799.entry.js.map +0 -1
- package/dist/atomic/p-e36f1951.entry.js.map +0 -1
- package/dist/atomic/p-fc81ef98.entry.js.map +0 -1
- package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js +0 -95
- package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js.map +0 -1
- package/dist/cjs/stencil-link-c6b12034.js.map +0 -1
- package/dist/cjs/validate-232b3138.js +0 -69
- package/dist/cjs/validate-232b3138.js.map +0 -1
- package/dist/esm/atomic-commerce-products-per-page.entry.js +0 -91
- package/dist/esm/atomic-commerce-products-per-page.entry.js.map +0 -1
- package/dist/esm/stencil-link-637c1ac5.js.map +0 -1
- package/dist/esm/validate-8b800378.js +0 -62
- package/dist/esm/validate-8b800378.js.map +0 -1
- /package/dist/atomic/{p-a535a268.entry.js.map → p-0267a585.entry.js.map} +0 -0
- /package/dist/atomic/{p-9a161d8f.entry.js.map → p-0a7b0daa.entry.js.map} +0 -0
- /package/dist/atomic/{p-f7eab69a.entry.js.map → p-0b0ea7d3.entry.js.map} +0 -0
- /package/dist/atomic/{p-c1100f56.entry.js.map → p-0df088e8.entry.js.map} +0 -0
- /package/dist/atomic/{p-07cd7e4a.entry.js.map → p-135be5aa.entry.js.map} +0 -0
- /package/dist/atomic/{p-1ebe2aba.entry.js.map → p-1a584a17.entry.js.map} +0 -0
- /package/dist/atomic/{p-e739825f.entry.js.map → p-1cc97adc.entry.js.map} +0 -0
- /package/dist/atomic/{p-005d34a4.entry.js.map → p-29d27418.entry.js.map} +0 -0
- /package/dist/atomic/{p-4dbb3798.entry.js.map → p-2f0cb73c.entry.js.map} +0 -0
- /package/dist/atomic/{p-bad08ec3.entry.js.map → p-2ff906b9.entry.js.map} +0 -0
- /package/dist/atomic/{p-908fa9c8.entry.js.map → p-306c83ea.entry.js.map} +0 -0
- /package/dist/atomic/{p-1243448d.entry.js.map → p-3195fa42.entry.js.map} +0 -0
- /package/dist/atomic/{p-f5ea03f0.entry.js.map → p-32b26cd0.entry.js.map} +0 -0
- /package/dist/atomic/{p-dc463f0b.entry.js.map → p-32c90fe9.entry.js.map} +0 -0
- /package/dist/atomic/{p-84b36ec2.entry.js.map → p-3ec18de9.entry.js.map} +0 -0
- /package/dist/atomic/{p-8a337769.entry.js.map → p-3f42a2db.entry.js.map} +0 -0
- /package/dist/atomic/{p-c74c1b41.entry.js.map → p-45b26cc7.entry.js.map} +0 -0
- /package/dist/atomic/{p-1c06ca0c.entry.js.map → p-46522ee4.entry.js.map} +0 -0
- /package/dist/atomic/{p-cfec0988.entry.js.map → p-47ee9d37.entry.js.map} +0 -0
- /package/dist/atomic/{p-4af746a9.entry.js.map → p-50b9a5d2.entry.js.map} +0 -0
- /package/dist/atomic/{p-756462de.entry.js.map → p-51c5acfc.entry.js.map} +0 -0
- /package/dist/atomic/{p-1202d6cc.entry.js.map → p-543e811e.entry.js.map} +0 -0
- /package/dist/atomic/{p-d4ab4985.entry.js.map → p-60a9e718.entry.js.map} +0 -0
- /package/dist/atomic/{p-1c5502a8.entry.js.map → p-66683abd.entry.js.map} +0 -0
- /package/dist/atomic/{p-3024c394.entry.js.map → p-67315415.entry.js.map} +0 -0
- /package/dist/atomic/{p-baa3b8ee.entry.js.map → p-689e063d.entry.js.map} +0 -0
- /package/dist/atomic/{p-b0be7782.entry.js.map → p-690b5853.entry.js.map} +0 -0
- /package/dist/atomic/{p-447f0772.entry.js.map → p-70ab347b.entry.js.map} +0 -0
- /package/dist/atomic/{p-dc051fee.entry.js.map → p-76122df5.entry.js.map} +0 -0
- /package/dist/atomic/{p-4d8ec431.entry.js.map → p-7d1f8d9c.entry.js.map} +0 -0
- /package/dist/atomic/{p-d7c44977.entry.js.map → p-80dc3bab.entry.js.map} +0 -0
- /package/dist/atomic/{p-c265c67d.entry.js.map → p-8392e900.entry.js.map} +0 -0
- /package/dist/atomic/{p-5809bc5d.entry.js.map → p-8ba2a77f.entry.js.map} +0 -0
- /package/dist/atomic/{p-58c8065c.entry.js.map → p-8d7f57d9.entry.js.map} +0 -0
- /package/dist/atomic/{p-bb5c19a7.entry.js.map → p-8e09f796.entry.js.map} +0 -0
- /package/dist/atomic/{p-79e1bcc1.entry.js.map → p-95942ba2.entry.js.map} +0 -0
- /package/dist/atomic/{p-a896c7b8.entry.js.map → p-9a08dad7.entry.js.map} +0 -0
- /package/dist/atomic/{p-d5c709cd.entry.js.map → p-9ae88402.entry.js.map} +0 -0
- /package/dist/atomic/{p-52abba32.entry.js.map → p-9eb108c9.entry.js.map} +0 -0
- /package/dist/atomic/{p-558f3bd6.entry.js.map → p-a046cf06.entry.js.map} +0 -0
- /package/dist/atomic/{p-9fb18d3e.entry.js.map → p-a3169f59.entry.js.map} +0 -0
- /package/dist/atomic/{p-891f0c50.entry.js.map → p-a772b365.entry.js.map} +0 -0
- /package/dist/atomic/{p-ccff6c87.entry.js.map → p-a8281e9b.entry.js.map} +0 -0
- /package/dist/atomic/{p-c4dd47ca.entry.js.map → p-ab5eec3d.entry.js.map} +0 -0
- /package/dist/atomic/{p-2b11517f.entry.js.map → p-b19a8cbb.entry.js.map} +0 -0
- /package/dist/atomic/{p-4b20cdb3.entry.js.map → p-b4d47ca9.entry.js.map} +0 -0
- /package/dist/atomic/{p-0ea5cbb8.entry.js.map → p-b4dfe5b2.entry.js.map} +0 -0
- /package/dist/atomic/{p-81874146.entry.js.map → p-b747e4a9.entry.js.map} +0 -0
- /package/dist/atomic/{p-af8999b1.entry.js.map → p-b7824e0e.entry.js.map} +0 -0
- /package/dist/atomic/{p-9d2f7b33.js.map → p-bc7f7562.js.map} +0 -0
- /package/dist/atomic/{p-e7b8ee60.entry.js.map → p-be13ed5c.entry.js.map} +0 -0
- /package/dist/atomic/{p-b90ea7e9.entry.js.map → p-befca41f.entry.js.map} +0 -0
- /package/dist/atomic/{p-6d264c97.entry.js.map → p-bfeefcaa.entry.js.map} +0 -0
- /package/dist/atomic/{p-34cff6c8.entry.js.map → p-c0d7b26d.entry.js.map} +0 -0
- /package/dist/atomic/{p-07950452.entry.js.map → p-c0f88e0c.entry.js.map} +0 -0
- /package/dist/atomic/{p-7d1ca26f.entry.js.map → p-c13d4039.entry.js.map} +0 -0
- /package/dist/atomic/{p-6d083c4e.entry.js.map → p-c4f042ae.entry.js.map} +0 -0
- /package/dist/atomic/{p-f96655f4.entry.js.map → p-c83f9cff.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e3518c2.entry.js.map → p-cd87574b.entry.js.map} +0 -0
- /package/dist/atomic/{p-963a3e18.entry.js.map → p-d30057a0.entry.js.map} +0 -0
- /package/dist/atomic/{p-d5c308fc.entry.js.map → p-d4aba9f9.entry.js.map} +0 -0
- /package/dist/atomic/{p-dd6e18bb.entry.js.map → p-d69756ae.entry.js.map} +0 -0
- /package/dist/atomic/{p-68bf4184.entry.js.map → p-d827c148.entry.js.map} +0 -0
- /package/dist/atomic/{p-04fe5145.js.map → p-d9d53994.js.map} +0 -0
- /package/dist/atomic/{p-cbe083d3.entry.js.map → p-dd8c6bdd.entry.js.map} +0 -0
- /package/dist/atomic/{p-26ec2d6d.entry.js.map → p-ddd52850.entry.js.map} +0 -0
- /package/dist/atomic/{p-c751940f.entry.js.map → p-e44155cc.entry.js.map} +0 -0
- /package/dist/atomic/{p-5e7f50a5.entry.js.map → p-e4754fd0.entry.js.map} +0 -0
- /package/dist/atomic/{p-bd109981.entry.js.map → p-e604fd29.entry.js.map} +0 -0
- /package/dist/atomic/{p-75d11764.entry.js.map → p-eab28672.entry.js.map} +0 -0
- /package/dist/atomic/{p-6c5524dc.entry.js.map → p-ec6bc15b.entry.js.map} +0 -0
- /package/dist/atomic/{p-98c16767.entry.js.map → p-eebb168b.entry.js.map} +0 -0
- /package/dist/atomic/{p-1de6a3e2.entry.js.map → p-f4a1bfe3.entry.js.map} +0 -0
- /package/dist/atomic/{p-d1434df4.entry.js.map → p-f4b98113.entry.js.map} +0 -0
- /package/dist/atomic/{p-a15f6b8c.entry.js.map → p-f6283657.entry.js.map} +0 -0
- /package/dist/atomic/{p-e961a0cc.entry.js.map → p-f7f8096a.entry.js.map} +0 -0
- /package/dist/atomic/{p-f8fb398c.entry.js.map → p-fb0bdcdb.entry.js.map} +0 -0
- /package/dist/atomic/{p-162da819.entry.js.map → p-fbbbc454.entry.js.map} +0 -0
- /package/dist/atomic/{p-dea13af7.entry.js.map → p-fd9d1c3f.entry.js.map} +0 -0
|
@@ -226,8 +226,8 @@ const AtomicModal = class {
|
|
|
226
226
|
}
|
|
227
227
|
render() {
|
|
228
228
|
this.updateBreakpoints();
|
|
229
|
-
const Content = () => (index.h("article", { key: '
|
|
230
|
-
return (index.h(index.Host, { key: '
|
|
229
|
+
const Content = () => (index.h("article", { key: '97c068b84321020cc2849ad2aa3a6f88fff51504', part: "container", class: `bg-background text-on-background flex flex-col justify-between ${this.isOpen ? 'animate-open' : 'animate-close'} ${this.wasEverOpened ? '' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit(), ref: (ref) => (this.animatableContainer = ref) }, index.h("header", { key: '5abf8864646b6cd77167122276d59081c4e09f95', part: "header-wrapper", class: "flex flex-col items-center" }, index.h("div", { key: '86448657992058f5baae1548f0ed429fae775227', part: "header", class: "flex w-full max-w-lg justify-between text-xl", id: this.headerId }, index.h("slot", { key: '0825c59f7328db13d1a2d88f87682968ab9b13e1', name: "header" }))), index.h("hr", { key: '52fcdce56b2eccdb5b6dc10eec0c1aea88ec66fa', part: "header-ruler", class: "border-neutral border-t" }), index.h("div", { key: '6aaf6efe85f5661409ac20708399666ee4f3b51d', part: "body-wrapper", class: "flex w-full grow flex-col items-center overflow-auto" }, index.h("div", { key: '58502a8abaff5d67ea6e2591862af1eebd34a58a', part: "body", class: "w-full max-w-lg", ref: (element) => element?.addEventListener('touchmove', (e) => this.isOpen && e.stopPropagation(), { passive: false }) }, index.h("slot", { key: '25658c844fc13ee759af20eda4c15847755c74d1', name: "body" }))), index.h("footer", { key: '0e4afb825f8e458fa45cfa29a9fd8be4a8afc2ed', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, index.h("div", { key: '31dac6874a1dee52e2b3599cd14c38c18941979e', part: "footer", class: "w-full max-w-lg" }, index.h("slot", { key: '82f8398b4248a15f034f13895c75d0b8f93334a8', name: "footer" })))));
|
|
230
|
+
return (index.h(index.Host, { key: 'b2b70e2126b42ac0faf317ac6a8f63578d55c72a', class: this.getClasses().join(' '), "data-nosnippet": true }, index.h("div", { key: 'c761439e7e02b59f375b8c1195bfd63d37ddc1ef', part: "backdrop", class: ` ${this.boundary === 'page' ? 'fixed' : 'absolute'} top-0 right-0 bottom-0 left-0 z-9999`, onClick: (e) => e.target === e.currentTarget && this.close() }, index.h("atomic-focus-trap", { key: '93e244f324053e7e7c4472aeb772d19694f098b3', role: "dialog", "aria-modal": this.isOpen.toString(), "aria-labelledby": this.headerId, source: this.source, container: this.container ?? this.host, ref: (ref) => (this.focusTrap = ref), scope: this.scope }, index.h(Content, { key: '8b9b6210b33e9223bd1457dee91e780255e77d52' })))));
|
|
231
231
|
}
|
|
232
232
|
get host() { return index.getElement(this); }
|
|
233
233
|
static get watchers() { return {
|
|
@@ -23,7 +23,7 @@ const AtomicFormatCurrency = class {
|
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
25
|
if (this.error) {
|
|
26
|
-
return (index.h("atomic-component-error", { key: '
|
|
26
|
+
return (index.h("atomic-component-error", { key: '5cc04c955cdb2b9866bc1997ba5166711b66d3cd', element: this.host, error: this.error }));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
get host() { return index.getElement(this); }
|
|
@@ -35,7 +35,7 @@ const AtomicFormatNumber = class {
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
if (this.error) {
|
|
38
|
-
return (index.h("atomic-component-error", { key: '
|
|
38
|
+
return (index.h("atomic-component-error", { key: 'bc535a767fd78b4487288d1e2f18987215f05117', element: this.host, error: this.error }));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
get host() { return index.getElement(this); }
|
|
@@ -38,7 +38,7 @@ const AtomicFormatUnit = class {
|
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
40
|
if (this.error) {
|
|
41
|
-
return (index.h("atomic-component-error", { key: '
|
|
41
|
+
return (index.h("atomic-component-error", { key: 'c46cf1bab2bcc058b288ac109a13c6c871525435', element: this.host, error: this.error }));
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
get host() { return index.getElement(this); }
|
|
@@ -384,7 +384,7 @@ const AtomicGeneratedAnswerFeedbackModal = class {
|
|
|
384
384
|
}
|
|
385
385
|
render() {
|
|
386
386
|
this.updateBreakpoints();
|
|
387
|
-
return (index.h("atomic-modal", { key: '
|
|
387
|
+
return (index.h("atomic-modal", { key: 'cd5871ef60cd3465f6094e39ef0a91ec087c5fdc', fullscreen: false, isOpen: this.isOpen, close: () => this.close(), container: this.host, part: "generated-answer-feedback-modal", exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
|
|
388
388
|
}
|
|
389
389
|
get host() { return index.getElement(this); }
|
|
390
390
|
static get watchers() { return {
|
|
@@ -46,6 +46,7 @@ const AtomicGeneratedAnswer = class {
|
|
|
46
46
|
this.DEFAULT_COLLAPSED_HEIGHT = 16;
|
|
47
47
|
this.MAX_COLLAPSED_HEIGHT = 32;
|
|
48
48
|
this.MIN_COLLAPSED_HEIGHT = 9;
|
|
49
|
+
this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';
|
|
49
50
|
this.copied = false;
|
|
50
51
|
this.copyError = false;
|
|
51
52
|
/**
|
|
@@ -53,6 +54,10 @@ const AtomicGeneratedAnswer = class {
|
|
|
53
54
|
*
|
|
54
55
|
*/
|
|
55
56
|
this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
|
|
57
|
+
/**
|
|
58
|
+
* A list of fields to include with the citations used to generate the answer.
|
|
59
|
+
*/
|
|
60
|
+
this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
|
|
56
61
|
/**
|
|
57
62
|
* The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.
|
|
58
63
|
*
|
|
@@ -104,6 +109,7 @@ const AtomicGeneratedAnswer = class {
|
|
|
104
109
|
this.collapsible = undefined;
|
|
105
110
|
this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
|
|
106
111
|
this.answerConfigurationId = undefined;
|
|
112
|
+
this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
|
|
107
113
|
this.tabsIncluded = '[]';
|
|
108
114
|
this.tabsExcluded = '[]';
|
|
109
115
|
}
|
|
@@ -137,6 +143,7 @@ const AtomicGeneratedAnswer = class {
|
|
|
137
143
|
...(this.answerConfigurationId && {
|
|
138
144
|
answerConfigurationId: this.answerConfigurationId,
|
|
139
145
|
}),
|
|
146
|
+
fieldsToIncludeInCitations: this.getCitationFields(),
|
|
140
147
|
});
|
|
141
148
|
this.searchStatus = headless.buildSearchStatus(this.bindings.engine);
|
|
142
149
|
this.generatedAnswerCommon.insertFeedbackModal();
|
|
@@ -180,6 +187,12 @@ const AtomicGeneratedAnswer = class {
|
|
|
180
187
|
getAnswerFooter() {
|
|
181
188
|
return this.host?.shadowRoot?.querySelector('[part="generated-answer-footer"]');
|
|
182
189
|
}
|
|
190
|
+
getCitationFields() {
|
|
191
|
+
return this.fieldsToIncludeInCitations
|
|
192
|
+
?.split(',')
|
|
193
|
+
.map((field) => field.trim())
|
|
194
|
+
.filter((field) => field.length > 0);
|
|
195
|
+
}
|
|
183
196
|
validateMaxCollapsedHeight() {
|
|
184
197
|
const isValid = this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&
|
|
185
198
|
this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInteractiveCitation","buildGeneratedAnswer","buildSearchStatus","debounce","buildTabManager","shouldDisplayOnCurrentTab","h","Hidden","InitializeBindings","BindStateToController","ArrayProp","AriaLiveRegion"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Watch, h} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than the specified `--atomic-crga-collapsed-height` value (16rem by default).\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this generated answer must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n });\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer() as HTMLElement;\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-generated-answer.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,wBAAwB,GAAG,uptFAAuptF,CAAC;AACzrtF,oCAAe,wBAAwB;;;;;;;;;;;;MCoE1B,qBAAqB;;;QAMf,6BAAwB,GAAG,EAAE,CAAC;QAC9B,yBAAoB,GAAG,EAAE,CAAC;QAC1B,yBAAoB,GAAG,CAAC,CAAC;QACzB,2CAAsC,GAAG,UAAU,CAAC;QAwBrE,WAAM,GAAG,KAAK,CAAC;QAGf,cAAS,GAAG,KAAK,CAAC;;;;;QAkBV,uBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC;;;;QAUnD,+BAA0B,GAChC,IAAI,CAAC,sCAAsC,CAAC;;;;;;;;;;QAavC,iBAAY,GAAsB,IAAI,CAAC;;;;;;;;;;QAavC,iBAAY,GAAsB,IAAI,CAAC;;QAmFtC,iCAA4B,GAAG;YACrC,IACE,IAAI,CAAC,oBAAoB,CAAC,SAAS;gBACnC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAC3C;gBACA,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG;oBAChC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI;oBAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,SAAS;iBAC/C,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,eAAe,CACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAChC,CAAC;aACH;YAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,CAAC,CAAC;SAC5E,CAAC;QAEM,cAAS,GAAG,CAAC,QAAiB;YACpC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;SACxB,CAAC;QAEM,iBAAY,GAAG,CAAC,SAAkB;YACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B,CAAC;QAEM,mBAAc,GAAG,CAAC,OAAe;YACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;SAC5B,CAAC;;;;;sBAxKO,KAAK;yBAGF,KAAK;;;kCAkBY,IAAI,CAAC,wBAAwB;;0CAWxD,IAAI,CAAC,sCAAsC;4BAaJ,IAAI;4BAaJ,IAAI;;IAQtC,UAAU;QACf,IACE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EACjC;YACA,OAAO,CAAC,IAAI,CACV,kHAAkH,CACnH,CAAC;SACH;QACD,IAAI,CAAC,qBAAqB,GAAG,IAAIA,2CAAqB,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC,eAAe;YAC9C,uBAAuB,EAAE,MAAM,IAAI,CAAC,oBAAoB;YACxD,oBAAoB,EAAE,MAAM,IAAI,CAAC,iBAAiB;YAClD,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ;YAChC,SAAS,EAAE,MAAM,IAAI,CAAC,MAAM;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,wBAAwB,EAAE,CAAC,KAAK,KAC9BC,iCAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAGC,6BAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChE,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS;gBACpD,cAAc,EAAE;oBACd,aAAa,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;iBAC/C;aACF;YACD,IAAI,IAAI,CAAC,qBAAqB,IAAI;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD,CAAC;YACF,0BAA0B,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACrD,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAGC,0BAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAC;QAEjD,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE;YAC7C,MAAM,0BAA0B,GAAGC,sBAAQ,CACzC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAC9B,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,0BAA0B,CAAC,CAAC;YACrE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,UAAU,GAAGC,wBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD;IAGM,qBAAqB,CAC1B,QAA8B,EAC9B,QAA8B;QAE9B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE7D,IAAI,WAAW,KAAK,WAAW,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE5C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO;aACR;YAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,WAAW,CAAC,CAAC;SAC/D;KACF;IAEM,oBAAoB;QACzB,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;KACnC;IAgCO,WAAW,CAAC,OAAgB,EAAE,SAAiB,EAAE,SAAkB;QACzE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAChD;IAEO,iBAAiB;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU;cACtC,aAAa,CAAC,yBAAyB,CAAC;cACxC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QAEnC,IAAI,YAAY,EAAE;YAChB,MAAM,YAAY,GAAG,UAAU,CAC7B,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CACpD,CAAC;YAEF,IAAI,CAAC,gBAAgB,GAAG,YAAY,GAAG,YAAY,CAAC;YAEpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;KACF;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,8BAA8B,CAAC,CAAC;KAC7E;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CACzC,kCAAkC,CACnC,CAAC;KACH;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,0BAA0B;cAClC,KAAK,CAAC,GAAG,CAAC;aACX,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACxC;IAEO,0BAA0B;QAChC,MAAM,OAAO,GACX,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB;YACpD,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,IAAI,CACV,yBAAyB,IAAI,CAAC,kBAAkB,mCAAmC,IAAI,CAAC,oBAAoB,SAAS,IAAI,CAAC,oBAAoB,wCAAwC,IAAI,CAAC,wBAAwB,OAAO,CAC3N,CAAC;SACH;QAED,OAAO,OAAO,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC;KAC1E;IAEO,cAAc,CAAC,YAAoB,EAAE,KAAa;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAI,SAAS,EAAE;YACZ,SAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SACnE;KACF;IAEO,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAiB,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAEpD,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,gBAAiB,GAAG,SAAS,EAAE;YACtC,IAAI,CAAC,cAAc,CAAC,gCAAgC,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YACzE,IAAI,CAAC,WAAW,CACd,SAAS,EACT,kBAAkB,EAClB,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACpC,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CACd,MAAM,EACN,0BAA0B,EAC1B,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACtC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;SAC7D;KACF;IAGD,oBAAoB,CAClB,QAA6B,EAC7B,QAA6B;QAE7B,IAAI,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,SAAS,EAAE;YAC/C,IACE,CAACC,kCAAyB,CACxB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,IAAI,CAAC,eAAe,EAAE,SAAS,CAChC,EACD;gBACA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;aAC/B;SACF;KACF;IAEM,MAAM;QACX,IACE,CAACA,kCAAyB,CACxB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EACtB,IAAI,CAAC,eAAe,EAAE,SAAS,CAChC,EACD;YACA,OAAOC,QAACC,0BAAM,OAAG,CAAC;SACnB;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;KAC5C;;;;;;;AAhU4B;IAA5BC,sCAAkB,EAAE;uDAA4B;AAczC;IAJPC,yCAAqB,CAAC,iBAAiB,EAAE;QACxC,sBAAsB,EAAE,8BAA8B;KACvD,CAAC;mEAEkD;AAI5C;IAFPA,yCAAqB,CAAC,cAAc,CAAC;gEAEQ;AAMvC;IAFNA,yCAAqB,CAAC,YAAY,CAAC;8DAEK;AAqDlC;IAFNC,oBAAS,EAAE;2DAEkC;AAavC;IAFNA,oBAAS,EAAE;2DAEkC;AAGpC;IADTC,wCAAc,CAAC,kBAAkB,CAAC;0DACJ;;;;;","names":["GeneratedAnswerCommon","buildInteractiveCitation","buildGeneratedAnswer","buildSearchStatus","debounce","buildTabManager","shouldDisplayOnCurrentTab","h","Hidden","InitializeBindings","BindStateToController","ArrayProp","AriaLiveRegion"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Watch, h} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than the specified `--atomic-crga-collapsed-height` value (16rem by default).\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations =\n this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;\n\n /**\n * The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this generated answer must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return this.fieldsToIncludeInCitations\n ?.split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0);\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer() as HTMLElement;\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
@@ -38,7 +38,7 @@ const AtomicHtml = class {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (index.h("span", { key: '
|
|
41
|
+
return (index.h("span", { key: 'c5d09c0ade42d0776981749f170bc434e847ffee', innerHTML: this.sanitize ? purify.DOMPurify.sanitize(this.value) : this.value }));
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
__decorate([
|
|
@@ -30,7 +30,7 @@ const AtomicInsightEditToggle = class {
|
|
|
30
30
|
this.tooltip = '';
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
|
-
return (index.h(iconButton.IconButton, { key: '
|
|
33
|
+
return (index.h(iconButton.IconButton, { key: 'f2c3545f7dcdcf8d7ad44ab837362fb1f3c282d5', partPrefix: "insight-edit-toggle", style: "outline-neutral", icon: EditIcon, ariaLabel: "Edit", onClick: this.clickCallback, title: this.tooltip }));
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
AtomicInsightEditToggle.style = AtomicInsightEditToggleStyle0;
|
|
@@ -163,7 +163,7 @@ const AtomicInsightFacet = class {
|
|
|
163
163
|
this.facetConditionsManager?.stopWatching();
|
|
164
164
|
}
|
|
165
165
|
render() {
|
|
166
|
-
return (index.h(facetGuard.FacetGuard, { key: '
|
|
166
|
+
return (index.h(facetGuard.FacetGuard, { key: '73a620304f1dd508cbd577ae6f45314ea98bf3b1', enabled: this.facetState.enabled, hasError: this.searchStatusState.hasError, firstSearchExecuted: this.searchStatusState.firstSearchExecuted, hasResults: this.facetState.values.length > 0 }, this.searchStatusState.firstSearchExecuted ? (index.h(facetPlaceholder.FacetContainer, null, index.h(facetPlaceholder.FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
|
|
167
167
|
this.focusTargets.header.focusAfterSearch();
|
|
168
168
|
this.facet.deselectAll();
|
|
169
169
|
}, numberOfActiveValues: this.activeValues.length, isCollapsed: this.isCollapsed, headingLevel: this.headingLevel, onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed), headerRef: (el) => this.focusTargets.header.setTarget(el) }), this.renderBody())) : (index.h(facetPlaceholder.FacetPlaceholder, { numberOfValues: this.numberOfValues, isCollapsed: this.isCollapsed }))));
|
|
@@ -140,7 +140,7 @@ const AtomicInsightFoldedResultList = class {
|
|
|
140
140
|
render() {
|
|
141
141
|
this.itemListCommon.updateBreakpoints();
|
|
142
142
|
const listClasses = this.computeListDisplayClasses();
|
|
143
|
-
return (index.h(itemListGuard.ItemListGuard, { key: '
|
|
143
|
+
return (index.h(itemListGuard.ItemListGuard, { key: '1c801f534dfdfbcfe5ea01426ad39c684d6c3666', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, hasError: this.foldedResultListState.hasError }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: '5cacbfd7ee2d51f746956375e039b986a30ac568', listClasses: listClasses, display: this.display }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: 'f8e65c083bbd2a56ca91688dc71a642c30bd2c69', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: '31395926a3277ba2d443ea1bbaf464efad76d929', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults }, this.foldedResultListState.results.map((collection, i) => {
|
|
144
144
|
const atomicInsightResultProps = this.getPropsForAtomicInsightResult(collection);
|
|
145
145
|
return (index.h("atomic-insight-result", { ...atomicInsightResultProps, part: "outline", ref: (element) => element && this.itemListCommon.setNewResultRef(element, i) }));
|
|
146
146
|
})))));
|
|
@@ -39,7 +39,7 @@ const AtomicInsightFullSearchButton = class {
|
|
|
39
39
|
this.error = undefined;
|
|
40
40
|
}
|
|
41
41
|
render() {
|
|
42
|
-
return (index.h(iconButton.IconButton, { key: '
|
|
42
|
+
return (index.h(iconButton.IconButton, { key: '6461da4e9a845043168907921d4293d402fc98b2', partPrefix: "full-search", style: "outline-neutral", icon: ArrowFull, ariaLabel: this.bindings.i18n.t('full-search'), title: this.tooltip }));
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
__decorate([
|
|
@@ -43,6 +43,7 @@ const AtomicInsightGeneratedAnswer = class {
|
|
|
43
43
|
this.DEFAULT_COLLAPSED_HEIGHT = 16;
|
|
44
44
|
this.MAX_COLLAPSED_HEIGHT = 32;
|
|
45
45
|
this.MIN_COLLAPSED_HEIGHT = 9;
|
|
46
|
+
this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';
|
|
46
47
|
this.copied = false;
|
|
47
48
|
this.copyError = false;
|
|
48
49
|
/**
|
|
@@ -50,6 +51,10 @@ const AtomicInsightGeneratedAnswer = class {
|
|
|
50
51
|
*
|
|
51
52
|
*/
|
|
52
53
|
this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
|
|
54
|
+
/**
|
|
55
|
+
* A list of fields to include with the citations used to generate the answer.
|
|
56
|
+
*/
|
|
57
|
+
this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
|
|
53
58
|
// @ts-expect-error: This function is used by BindStateToController.
|
|
54
59
|
this.onGeneratedAnswerStateUpdate = () => {
|
|
55
60
|
if (this.generatedAnswerState.isVisible !==
|
|
@@ -80,6 +85,7 @@ const AtomicInsightGeneratedAnswer = class {
|
|
|
80
85
|
this.collapsible = undefined;
|
|
81
86
|
this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
|
|
82
87
|
this.answerConfigurationId = undefined;
|
|
88
|
+
this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
|
|
83
89
|
}
|
|
84
90
|
initialize() {
|
|
85
91
|
this.generatedAnswerCommon = new generatedAnswerCommon.GeneratedAnswerCommon({
|
|
@@ -107,6 +113,7 @@ const AtomicInsightGeneratedAnswer = class {
|
|
|
107
113
|
...(this.answerConfigurationId && {
|
|
108
114
|
answerConfigurationId: this.answerConfigurationId,
|
|
109
115
|
}),
|
|
116
|
+
fieldsToIncludeInCitations: this.getCitationFields(),
|
|
110
117
|
});
|
|
111
118
|
this.searchStatus = insight.buildSearchStatus(this.bindings.engine);
|
|
112
119
|
this.generatedAnswerCommon.insertFeedbackModal();
|
|
@@ -149,6 +156,12 @@ const AtomicInsightGeneratedAnswer = class {
|
|
|
149
156
|
getAnswerFooter() {
|
|
150
157
|
return this.host?.shadowRoot?.querySelector('[part="generated-answer-footer"]');
|
|
151
158
|
}
|
|
159
|
+
getCitationFields() {
|
|
160
|
+
return this.fieldsToIncludeInCitations
|
|
161
|
+
?.split(',')
|
|
162
|
+
.map((field) => field.trim())
|
|
163
|
+
.filter((field) => field.length > 0);
|
|
164
|
+
}
|
|
152
165
|
validateMaxCollapsedHeight() {
|
|
153
166
|
const isValid = this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&
|
|
154
167
|
this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInsightInteractiveCitation","buildInsightGeneratedAnswer","buildInsightSearchStatus","debounce","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.pcss?tag=atomic-insight-generated-answer&encapsulation=shadow","src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n buildGeneratedAnswer as buildInsightGeneratedAnswer,\n buildInteractiveCitation as buildInsightInteractiveCitation,\n buildSearchStatus as buildInsightSearchStatus,\n GeneratedAnswer as InsightGeneratedAnswer,\n GeneratedAnswerState as InsightGeneratedAnswerState,\n} from '@coveo/headless/insight';\nimport {Component, Element, State, Prop, Watch} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * The `atomic-insight-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-insight-generated-answer',\n styleUrl: 'atomic-insight-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicInsightGeneratedAnswer\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public generatedAnswer!: InsightGeneratedAnswer;\n public searchStatus!: InsightSearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: InsightGeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: InsightSearchStatusState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than 250px.\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * @internal\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInsightInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildInsightGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n });\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: InsightGeneratedAnswerState,\n oldState: InsightGeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer();\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n public render() {\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-insight-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInsightInteractiveCitation","buildInsightGeneratedAnswer","buildInsightSearchStatus","debounce","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.pcss?tag=atomic-insight-generated-answer&encapsulation=shadow","src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n buildGeneratedAnswer as buildInsightGeneratedAnswer,\n buildInteractiveCitation as buildInsightInteractiveCitation,\n buildSearchStatus as buildInsightSearchStatus,\n GeneratedAnswer as InsightGeneratedAnswer,\n GeneratedAnswerState as InsightGeneratedAnswerState,\n} from '@coveo/headless/insight';\nimport {Component, Element, State, Prop, Watch} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * The `atomic-insight-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-insight-generated-answer',\n styleUrl: 'atomic-insight-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicInsightGeneratedAnswer\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public generatedAnswer!: InsightGeneratedAnswer;\n public searchStatus!: InsightSearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: InsightGeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: InsightSearchStatusState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than 250px.\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * @internal\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations =\n this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInsightInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildInsightGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: InsightGeneratedAnswerState,\n oldState: InsightGeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return this.fieldsToIncludeInCitations\n ?.split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0);\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer();\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n public render() {\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
|
|
@@ -22,7 +22,7 @@ const AtomicInsightHistoryToggle = class {
|
|
|
22
22
|
this.tooltip = '';
|
|
23
23
|
}
|
|
24
24
|
render() {
|
|
25
|
-
return (index.h(iconButton.IconButton, { key: '
|
|
25
|
+
return (index.h(iconButton.IconButton, { key: '4a01395b936d059a3774c93df316e866cf87f8db', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
AtomicInsightHistoryToggle.style = AtomicInsightHistoryToggleStyle0;
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
6
|
const initQueue = require('./init-queue-a18aa323.js');
|
|
7
7
|
const insight = require('@coveo/headless/insight');
|
|
8
|
-
const interfaceCommonStencil = require('./interface-common-stencil-
|
|
8
|
+
const interfaceCommonStencil = require('./interface-common-stencil-ce97f848.js');
|
|
9
9
|
const propsUtils = require('./props-utils-66dfcd3a.js');
|
|
10
|
-
const analyticsConfig = require('./analytics-config-
|
|
10
|
+
const analyticsConfig = require('./analytics-config-2f69f8de.js');
|
|
11
11
|
const replaceBreakpoint = require('./replace-breakpoint-9e1c0efa.js');
|
|
12
12
|
const store = require('./store-116fd400.js');
|
|
13
13
|
const insightLayout = require('./insight-layout-355a94dd.js');
|
|
@@ -43,7 +43,7 @@ const AtomicInsightNoResults = class {
|
|
|
43
43
|
}
|
|
44
44
|
render() {
|
|
45
45
|
const { bindings: { i18n }, } = this;
|
|
46
|
-
return (index.h("div", { key: '
|
|
46
|
+
return (index.h("div", { key: '48b7e90af2de0cdf8d12b146fd073fca23164592', class: "p-3 text-center" }, index.h(stencilTips.NoItemsGuard, { key: 'd62a18cff4b82d1e773e9c04a58eb8ae4042d30b', ...this.searchStatusState }, index.h(stencilMagnifyingGlass.NoItemsContainer, { key: '66781b1c36108f42926bdedfd6fd987fa9d335a2' }, index.h(stencilMagnifyingGlass.MagnifyingGlass, { key: 'cfc4ea0b1e28aebffd8a08e02f45474e86ae8db3' }), index.h(stencilTips.NoItems, { key: 'b399ca2a69aafb7f3035cbd969b3a4f23e63cee4', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), index.h(stencilTips.SearchTips, { key: '93202fad382448e3bf81e84ebf28f877068693ff', i18n: i18n })))));
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
__decorate([
|
|
@@ -263,7 +263,7 @@ const AtomicInsightNumericFacet = class {
|
|
|
263
263
|
}
|
|
264
264
|
render() {
|
|
265
265
|
const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, label, numberOfSelectedValues, isCollapsed, headingLevel, focusTarget, withInput, filter, } = this;
|
|
266
|
-
return (index.h(facetGuard.FacetGuard, { key: '
|
|
266
|
+
return (index.h(facetGuard.FacetGuard, { key: '5112604f0a1bccea5d6cb56ce6bc76cb578c430f', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (index.h(facetPlaceholder.FacetContainer, null, index.h(facetPlaceholder.FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
|
|
267
267
|
focusTarget.focusAfterSearch();
|
|
268
268
|
if (this.filterState?.range) {
|
|
269
269
|
this.filter?.clear();
|
|
@@ -58,15 +58,15 @@ const AtomicInsightPager = class {
|
|
|
58
58
|
this.scrollToTopEvent.emit();
|
|
59
59
|
}
|
|
60
60
|
render() {
|
|
61
|
-
return (index.h(index.Host, { key: '
|
|
61
|
+
return (index.h(index.Host, { key: 'aa07c2a9e3ed6dabc2259a2717903e0815fbecdd' }, index.h(stencilPagerNavigation.PagerNavigation, { key: '87bb0c8770838c97578d40e454a9d188620bbb50', i18n: this.bindings.i18n }, index.h(stencilPagerNavigation.PagerPreviousButton, { key: '6c0f15f186d33f8583e01e5e6c1278f8f845d219', icon: arrowLeftRounded.ArrowLeftIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
|
|
62
62
|
this.pager.previousPage();
|
|
63
63
|
this.focusOnFirstResultAndScrollToTop();
|
|
64
|
-
} }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '
|
|
64
|
+
} }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '986c35760b3db17b87c958a9c8d39f5abf5fa02e', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
|
|
65
65
|
return (index.h(stencilPagerNavigation.PagerPageButton, { isSelected: this.pager.isCurrentPage(pageNumber), ariaLabel: this.bindings.i18n.t('page-number', { pageNumber }), onChecked: () => {
|
|
66
66
|
this.pager.selectPage(pageNumber);
|
|
67
67
|
this.focusOnFirstResultAndScrollToTop();
|
|
68
68
|
}, page: pageNumber, groupName: this.radioGroupName, text: pageNumber.toLocaleString(this.bindings.i18n.language) }));
|
|
69
|
-
})), index.h(stencilPagerNavigation.PagerNextButton, { key: '
|
|
69
|
+
})), index.h(stencilPagerNavigation.PagerNextButton, { key: 'e5ce9d32b1035a38cab831216b2258e1a295bffb', icon: arrowRightRounded.ArrowRightIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
|
|
70
70
|
this.pager.nextPage();
|
|
71
71
|
this.focusOnFirstResultAndScrollToTop();
|
|
72
72
|
} }))));
|
|
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
|
|
|
6
6
|
const insight = require('@coveo/headless/insight');
|
|
7
7
|
const initializationUtils = require('./initialization-utils-62dc9852.js');
|
|
8
8
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-a5d1a814.js');
|
|
9
|
-
const stencilLink = require('./stencil-link-
|
|
9
|
+
const stencilLink = require('./stencil-link-fbb2ab5c.js');
|
|
10
10
|
require('./dom-utils-d4790328.js');
|
|
11
11
|
require('./event-utils-9bfcf3c5.js');
|
|
12
12
|
require('./init-queue-a18aa323.js');
|
|
@@ -49,7 +49,7 @@ const AtomicQueryError = class {
|
|
|
49
49
|
if (hasError) {
|
|
50
50
|
this.ariaMessage = stencilLink.getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
|
|
51
51
|
}
|
|
52
|
-
return (index.h(stencilLink.QueryErrorGuard, { key: '
|
|
52
|
+
return (index.h(stencilLink.QueryErrorGuard, { key: '6ce3b3bff15b7c9961df0b6e30168db22eb938e3', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: 'c275399f3aea1852f4beca06bb56a2f306148a1a' }, index.h(stencilLink.QueryErrorIcon, { key: '7ec8c924f05bf3eef445c97e422b781b18e9bb4e', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: 'e77eb28ad6760c8d7597111a16d50baadbaf663a', i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '90a5b5c4cc2bcc1240d8a9e26909655bb494e53e', i18n: i18n, organizationId: organizationId, url: url }), index.h(stencilLink.QueryErrorShowMore, { key: 'f1bb77d80324c160068f8f292314fd43e0cc7cde', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '02e42ca66fef85e8541d5828124365ac8a7c96b9', error: error, show: this.showMoreInfo }))));
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-query-error.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,0u1DAA0u1D,CAAC;AAC9w1D,sCAAe,0BAA0B;;;;;;;;;;;;MC+B5B,gBAAgB;;;QAUlB,iBAAY,GAAG,KAAK,CAAC;;;4BAAN,KAAK;;IAKtB,UAAU;QACf,IAAI,CAAC,UAAU,GAAGA,uBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD;IAEM,MAAM;QACX,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,MAAM,EACJ,QAAQ,EAAE,EACR,IAAI,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,EACL,aAAa,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,GAC7C,GACF,GACF,GACF,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAGC,+BAAuB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,GAAGC,uCAA2B,CAC5C,IAAI,EACJ,cAAc,EACd,GAAG,EACH,KAAK,EAAE,IAAI,CACZ,CAAC;SACH;QACD,QACEC,QAACC,2BAAe,qDAAC,QAAQ,EAAE,QAAQ,IACjCD,QAACE,+BAAmB,uDAClBF,QAACG,0BAAc,qDAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC1CH,QAACI,2BAAe,qDAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,EAC/DJ,QAACK,iCAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACR,EACFL,QAACM,8BAAkB,qDACjB,IAAI,EAAEN,QAACO,0BAAc,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC5D,UAAU,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1D,IAAI,EAAE,IAAI,GACV,EACFP,QAACQ,6BAAiB,qDAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,GAAI,CACxC,CACN,EAClB;KACH;;AAxD4B;IAA5BC,sCAAkB,EAAE;kDAAmC;AAKhD;IAFPC,yCAAqB,CAAC,YAAY,CAAC;yDAEM;AAKhC;IADTC,wCAAc,CAAC,aAAa,CAAC;qDACC;;;;;","names":["buildQueryError","getOrganizationEndpoint","getAriaMessageFromErrorType","h","QueryErrorGuard","QueryErrorContainer","QueryErrorIcon","QueryErrorTitle","QueryErrorDescription","QueryErrorShowMore","QueryErrorLink","QueryErrorDetails","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-query-error/atomic-insight-query-error.pcss?tag=atomic-insight-query-error&encapsulation=shadow","src/components/insight/atomic-insight-query-error/atomic-insight-query-error.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n QueryError,\n QueryErrorState,\n buildQueryError,\n getOrganizationEndpoint,\n} from '@coveo/headless/insight';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {QueryErrorDetails} from '../../common/query-error/stencil-details';\nimport {QueryErrorIcon} from '../../common/query-error/stencil-icon';\nimport {QueryErrorShowMore} from '../../common/query-error/show-more';\nimport {QueryErrorContainer} from '../../common/query-error/stencil-container';\nimport {QueryErrorDescription} from '../../common/query-error/stencil-description';\nimport {QueryErrorGuard} from '../../common/query-error/stencil-guard';\nimport {QueryErrorTitle} from '../../common/query-error/stencil-title';\nimport {getAriaMessageFromErrorType} from '../../common/query-error/utils';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\nimport {QueryErrorLink} from '../../common/query-error/stencil-link';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-query-error',\n styleUrl: 'atomic-insight-query-error.pcss',\n shadow: true,\n})\nexport class AtomicQueryError\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public queryError!: QueryError;\n\n @BindStateToController('queryError')\n @State()\n private queryErrorState!: QueryErrorState;\n @State() public error!: Error;\n @State() showMoreInfo = false;\n\n @AriaLiveRegion('query-error')\n protected ariaMessage!: string;\n\n public initialize() {\n this.queryError = buildQueryError(this.bindings.engine);\n }\n\n public render() {\n const {hasError, error} = this.queryErrorState;\n const {\n bindings: {\n i18n,\n engine: {\n state: {\n configuration: {organizationId, environment},\n },\n },\n },\n } = this;\n const url = getOrganizationEndpoint(organizationId, environment);\n if (hasError) {\n this.ariaMessage = getAriaMessageFromErrorType(\n i18n,\n organizationId,\n url,\n error?.type\n );\n }\n return (\n <QueryErrorGuard hasError={hasError}>\n <QueryErrorContainer>\n <QueryErrorIcon errorType={error?.type} />\n <QueryErrorTitle i18n={i18n} organizationId={organizationId} />\n <QueryErrorDescription\n i18n={i18n}\n organizationId={organizationId}\n url={url}\n />\n <QueryErrorShowMore\n link={<QueryErrorLink i18n={i18n} errorType={error?.type} />}\n onShowMore={() => (this.showMoreInfo = !this.showMoreInfo)}\n i18n={i18n}\n />\n <QueryErrorDetails error={error} show={this.showMoreInfo} />\n </QueryErrorContainer>\n </QueryErrorGuard>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-insight-query-error.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,0u1DAA0u1D,CAAC;AAC9w1D,sCAAe,0BAA0B;;;;;;;;;;;;MC+B5B,gBAAgB;;;QAUlB,iBAAY,GAAG,KAAK,CAAC;;;4BAAN,KAAK;;IAKtB,UAAU;QACf,IAAI,CAAC,UAAU,GAAGA,uBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD;IAEM,MAAM;QACX,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,MAAM,EACJ,QAAQ,EAAE,EACR,IAAI,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,EACL,aAAa,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,GAC7C,GACF,GACF,GACF,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAGC,+BAAuB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,GAAGC,uCAA2B,CAC5C,IAAI,EACJ,cAAc,EACd,GAAG,EACH,KAAK,EAAE,IAAI,CACZ,CAAC;SACH;QACD,QACEC,QAACC,2BAAe,qDAAC,QAAQ,EAAE,QAAQ,IACjCD,QAACE,+BAAmB,uDAClBF,QAACG,0BAAc,qDAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC1CH,QAACI,2BAAe,qDAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,EAC/DJ,QAACK,iCAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACR,EACFL,QAACM,8BAAkB,qDACjB,IAAI,EAAEN,QAACO,0BAAc,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC5D,UAAU,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1D,IAAI,EAAE,IAAI,GACV,EACFP,QAACQ,6BAAiB,qDAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,GAAI,CACxC,CACN,EAClB;KACH;;AAxD4B;IAA5BC,sCAAkB,EAAE;kDAAmC;AAKhD;IAFPC,yCAAqB,CAAC,YAAY,CAAC;yDAEM;AAKhC;IADTC,wCAAc,CAAC,aAAa,CAAC;qDACC;;;;;","names":["buildQueryError","getOrganizationEndpoint","getAriaMessageFromErrorType","h","QueryErrorGuard","QueryErrorContainer","QueryErrorIcon","QueryErrorTitle","QueryErrorDescription","QueryErrorShowMore","QueryErrorLink","QueryErrorDetails","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-query-error/atomic-insight-query-error.pcss?tag=atomic-insight-query-error&encapsulation=shadow","src/components/insight/atomic-insight-query-error/atomic-insight-query-error.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n QueryError,\n QueryErrorState,\n buildQueryError,\n getOrganizationEndpoint,\n} from '@coveo/headless/insight';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {QueryErrorDetails} from '../../common/query-error/stencil-details';\nimport {QueryErrorIcon} from '../../common/query-error/stencil-icon';\nimport {QueryErrorShowMore} from '../../common/query-error/stencil-show-more';\nimport {QueryErrorContainer} from '../../common/query-error/stencil-container';\nimport {QueryErrorDescription} from '../../common/query-error/stencil-description';\nimport {QueryErrorGuard} from '../../common/query-error/stencil-guard';\nimport {QueryErrorTitle} from '../../common/query-error/stencil-title';\nimport {getAriaMessageFromErrorType} from '../../common/query-error/utils';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\nimport {QueryErrorLink} from '../../common/query-error/stencil-link';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-query-error',\n styleUrl: 'atomic-insight-query-error.pcss',\n shadow: true,\n})\nexport class AtomicQueryError\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public queryError!: QueryError;\n\n @BindStateToController('queryError')\n @State()\n private queryErrorState!: QueryErrorState;\n @State() public error!: Error;\n @State() showMoreInfo = false;\n\n @AriaLiveRegion('query-error')\n protected ariaMessage!: string;\n\n public initialize() {\n this.queryError = buildQueryError(this.bindings.engine);\n }\n\n public render() {\n const {hasError, error} = this.queryErrorState;\n const {\n bindings: {\n i18n,\n engine: {\n state: {\n configuration: {organizationId, environment},\n },\n },\n },\n } = this;\n const url = getOrganizationEndpoint(organizationId, environment);\n if (hasError) {\n this.ariaMessage = getAriaMessageFromErrorType(\n i18n,\n organizationId,\n url,\n error?.type\n );\n }\n return (\n <QueryErrorGuard hasError={hasError}>\n <QueryErrorContainer>\n <QueryErrorIcon errorType={error?.type} />\n <QueryErrorTitle i18n={i18n} organizationId={organizationId} />\n <QueryErrorDescription\n i18n={i18n}\n organizationId={organizationId}\n url={url}\n />\n <QueryErrorShowMore\n link={<QueryErrorLink i18n={i18n} errorType={error?.type} />}\n onShowMore={() => (this.showMoreInfo = !this.showMoreInfo)}\n i18n={i18n}\n />\n <QueryErrorDetails error={error} show={this.showMoreInfo} />\n </QueryErrorContainer>\n </QueryErrorGuard>\n );\n }\n}\n"],"version":3}
|
|
@@ -87,12 +87,12 @@ const AtomicInsightRefineModal = class {
|
|
|
87
87
|
return (index.h("aside", { slot: "body", class: "adjust-for-scroll-bar flex w-full flex-col" }, this.renderHeader(), index.h("slot", { name: "facets" })));
|
|
88
88
|
}
|
|
89
89
|
render() {
|
|
90
|
-
return (index.h(index.Host, { key: '
|
|
90
|
+
return (index.h(index.Host, { key: 'c3d7c175cac1d3077ebce7297c2e16771cca91b3' }, this.interfaceDimensions && (index.h("style", { key: '849e884b6647909fe06749c3ab87c7ff8b668978' }, `atomic-modal::part(backdrop) {
|
|
91
91
|
top: ${this.interfaceDimensions.top}px;
|
|
92
92
|
left: ${this.interfaceDimensions.left}px;
|
|
93
93
|
width: ${this.interfaceDimensions.width}px;
|
|
94
94
|
height: ${this.interfaceDimensions.height}px;
|
|
95
|
-
}`)), index.h(stencilModal.RefineModal, { key: '
|
|
95
|
+
}`)), index.h(stencilModal.RefineModal, { key: '2314fb227db90d19abb3b96f3b039673567ee952', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, scope: this.bindings.interfaceElement }, this.renderBody())));
|
|
96
96
|
}
|
|
97
97
|
componentDidLoad() {
|
|
98
98
|
this.host.style.display = '';
|
|
@@ -60,7 +60,7 @@ const AtomicInsightRefineToggle = class {
|
|
|
60
60
|
this.modalRef.openButton = this.buttonRef;
|
|
61
61
|
}
|
|
62
62
|
render() {
|
|
63
|
-
return (index.h(iconButton.IconButton, { key: '
|
|
63
|
+
return (index.h(iconButton.IconButton, { key: '7067c4d459ed68e0cad502907be4e9478985c5d1', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
|
|
64
64
|
this.bindings.store.waitUntilAppLoaded(() => {
|
|
65
65
|
this.enableModal();
|
|
66
66
|
});
|
|
@@ -43,7 +43,7 @@ const AtomicInsightResultAttachToCaseIndicator = class {
|
|
|
43
43
|
}
|
|
44
44
|
render() {
|
|
45
45
|
if (this.attachToCase.isAttached()) {
|
|
46
|
-
return (index.h("atomic-icon", { key: '
|
|
46
|
+
return (index.h("atomic-icon", { key: 'bf425a29658710ec5a82e4da4c7eb0b97f8d01b3', part: "icon", class: "flex w-5 justify-center", icon: attach.AttachIcon, title: this.bindings.i18n.t('result-is-attached') }));
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
get host() { return index.getElement(this); }
|
|
@@ -133,7 +133,7 @@ const AtomicResultChildren = class {
|
|
|
133
133
|
return (index.h(showHideButton.ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
|
|
134
134
|
}
|
|
135
135
|
render() {
|
|
136
|
-
return (index.h(showHideButton.ResultChildrenGuard, { key: '
|
|
136
|
+
return (index.h(showHideButton.ResultChildrenGuard, { key: '89517197a4d486c05876556d3d50916d8cbf1dca', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
|
|
137
137
|
}
|
|
138
138
|
get host() { return index.getElement(this); }
|
|
139
139
|
};
|
|
@@ -115,7 +115,7 @@ const AtomicInsightResultList = class {
|
|
|
115
115
|
render() {
|
|
116
116
|
this.itemListCommon.updateBreakpoints();
|
|
117
117
|
const listClasses = this.computeListDisplayClasses();
|
|
118
|
-
return (index.h(itemListGuard.ItemListGuard, { key: '
|
|
118
|
+
return (index.h(itemListGuard.ItemListGuard, { key: '2067984239eb00c1d8d3a4972382bafc8c6193c9', hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults, hasError: this.resultListState.hasError }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: '798242b23e443ff3a01805a9bfd1d4d9840da9da', listClasses: listClasses, display: this.display }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: '6362299838cb163bd17cabd59a587104f06b6eac', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: '06b20c0f154a03665a76f287c6f3ebe1b240aacd', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.resultListState.results.map((result, i) => {
|
|
119
119
|
const atomicInsightResultProps = this.getPropsForAtomicInsightResult(result);
|
|
120
120
|
return (index.h("atomic-insight-result", { ...atomicInsightResultProps, part: "outline", ref: (element) => element && this.itemListCommon.setNewResultRef(element, i) }));
|
|
121
121
|
})))));
|