@coveo/atomic 3.42.0 → 3.42.1
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 -18
- package/dist/atomic/components/_index.js +0 -9
- package/dist/atomic/components/atomic-facet-manager.js +1 -1
- package/dist/atomic/components/atomic-insight-facet.js +50 -4
- package/dist/atomic/components/atomic-insight-facet.js.map +1 -1
- package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
- package/dist/atomic/components/atomic-insight-numeric-facet.js +2 -2
- package/dist/atomic/components/atomic-insight-pager.js +2 -1
- package/dist/atomic/components/atomic-insight-pager.js.map +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-smart-snippet-feedback-modal2.js +2 -2
- 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-numeric-facet.js +3 -3
- 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-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-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +3 -3
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-tab-bar.js +157 -1
- package/dist/atomic/components/atomic-tab-bar.js.map +1 -1
- package/dist/atomic/components/components/common/tabs/tab-common.js +6 -0
- package/dist/atomic/components/components/insight/atomic-insight-tab/atomic-insight-tab.js +109 -0
- package/dist/atomic/components/components/insight/atomic-insight-tabs/atomic-insight-tabs.js +39 -0
- package/dist/atomic/components/components/insight/index.js +2 -0
- package/dist/atomic/components/components/insight/lazy-index.js +2 -0
- package/dist/atomic/components/components/ipx/atomic-ipx-tab/atomic-ipx-tab.js +111 -0
- package/dist/atomic/components/components/ipx/index.js +1 -0
- package/dist/atomic/components/components/ipx/lazy-index.js +1 -0
- package/dist/atomic/components/components/search/atomic-category-facet/atomic-category-facet.js +650 -0
- package/dist/atomic/components/components/search/atomic-did-you-mean/atomic-did-you-mean.js +147 -0
- package/dist/atomic/components/components/search/atomic-folded-result-list/atomic-folded-result-list.js +373 -0
- package/dist/atomic/components/components/search/atomic-notifications/atomic-notifications.js +124 -0
- package/dist/atomic/components/components/search/atomic-result-fields-list/atomic-result-fields-list.js +139 -0
- package/dist/atomic/components/components/search/atomic-table-element/atomic-table-element.js +21 -0
- package/dist/atomic/components/components/search/index.js +6 -0
- package/dist/atomic/components/components/search/lazy-index.js +6 -0
- package/dist/atomic/components/format-common.js +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-checkbox.js +13 -2
- package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
- package/dist/atomic/components/{stencil-facet-header.js → stencil-facet-value-link.js} +33 -45
- package/dist/atomic/components/stencil-facet-value-link.js.map +1 -0
- package/dist/atomic/components/stencil-facet-values-group.js +10 -13
- package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
- package/dist/atomic/components/timeframe-facet-common.js +1 -1
- package/dist/atomic/components/utils/custom-element-tags.js +9 -0
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/p-00b326bb.js +2 -0
- package/dist/atomic/{p-e7ff3e6f.entry.js → p-06ec10a5.entry.js} +2 -2
- package/dist/atomic/{p-bdfc3cc7.js → p-087c0db1.js} +3 -3
- package/dist/atomic/p-087c0db1.js.map +1 -0
- package/dist/atomic/{p-72bf76e0.entry.js → p-0bf4b490.entry.js} +2 -2
- package/dist/atomic/{p-b4d47a54.js → p-0eb714c6.js} +2 -2
- package/dist/atomic/{p-e054f8b6.entry.js → p-0eff352e.entry.js} +2 -2
- package/dist/atomic/{p-a2b81d75.entry.js.map → p-0eff352e.entry.js.map} +1 -1
- package/dist/atomic/{p-d0294026.js → p-1648b38d.js} +2 -2
- package/dist/atomic/{p-9ed25137.entry.js → p-179b1494.entry.js} +2 -2
- package/dist/atomic/{p-a7a3a18b.entry.js → p-1aa612bc.entry.js} +2 -2
- package/dist/atomic/{p-fdcaee42.entry.js → p-1d9415c1.entry.js} +2 -2
- package/dist/atomic/{p-429570fd.entry.js → p-24ac525a.entry.js} +2 -2
- package/dist/atomic/p-26a6a4c8.entry.js +2 -0
- package/dist/atomic/{p-0b231790.entry.js.map → p-26a6a4c8.entry.js.map} +1 -1
- package/dist/atomic/{p-974d78f9.entry.js → p-270b5fa9.entry.js} +2 -2
- package/dist/atomic/p-2867eb17.js +2 -0
- package/dist/atomic/p-2867eb17.js.map +1 -0
- package/dist/atomic/{p-956ba468.entry.js → p-28c37881.entry.js} +2 -2
- package/dist/atomic/{p-dbdf60f1.entry.js → p-29ea7588.entry.js} +2 -2
- package/dist/atomic/{p-bfe9f82c.entry.js → p-2b23778b.entry.js} +2 -2
- package/dist/atomic/{p-96dff035.js → p-2c9fe09b.js} +2 -2
- package/dist/atomic/{p-fb6fa176.entry.js → p-2d3fd1ad.entry.js} +2 -2
- package/dist/atomic/{p-29770924.entry.js → p-32ce8a22.entry.js} +2 -2
- package/dist/atomic/p-32dd23cd.js +2 -0
- package/dist/atomic/p-32dd23cd.js.map +1 -0
- package/dist/atomic/{p-fd610816.entry.js → p-335cb370.entry.js} +2 -2
- package/dist/atomic/{p-7a46f008.entry.js → p-39e361f5.entry.js} +2 -2
- package/dist/atomic/{p-acf9df30.entry.js → p-3dcb759d.entry.js} +2 -2
- package/dist/atomic/{p-eec08516.js → p-3e63a0e0.js} +2 -2
- package/dist/atomic/{p-8657c60f.js → p-3fd6747a.js} +2 -2
- package/dist/atomic/{p-48569694.entry.js → p-4221be91.entry.js} +2 -2
- package/dist/atomic/{p-e27716f4.entry.js → p-4265d7ee.entry.js} +2 -2
- package/dist/atomic/{p-e95f05e2.entry.js → p-4266d0e3.entry.js} +2 -2
- package/dist/atomic/{p-379b18f7.js → p-452813b0.js} +2 -2
- package/dist/atomic/{p-925df073.js → p-4673702a.js} +2 -2
- package/dist/atomic/{p-d99d9029.js → p-479e4a77.js} +2 -2
- package/dist/atomic/{p-7841a5db.entry.js → p-48a1ea74.entry.js} +2 -2
- package/dist/atomic/{p-b700cfe1.js → p-4a89ec63.js} +1 -1
- package/dist/atomic/{p-c890e628.entry.js → p-4c2b2a60.entry.js} +2 -2
- package/dist/atomic/{p-3dea668d.js → p-4f0e10fc.js} +2 -2
- package/dist/atomic/{p-f43b0fb0.entry.js → p-561e67b6.entry.js} +2 -2
- package/dist/atomic/{p-12fe77c8.entry.js → p-58a9e27f.entry.js} +2 -2
- package/dist/atomic/{p-4e7fe539.entry.js → p-5a906a5a.entry.js} +2 -2
- package/dist/atomic/{p-bcdd5f89.js → p-5d3d2e6b.js} +2 -2
- package/dist/atomic/p-5ffc8e3b.js +9 -0
- package/dist/atomic/p-5ffc8e3b.js.map +1 -0
- package/dist/atomic/{p-b97cee4f.entry.js → p-674ee515.entry.js} +2 -2
- package/dist/atomic/p-6aaf274d.entry.js +2 -0
- package/dist/atomic/{p-5e47d61e.entry.js.map → p-6aaf274d.entry.js.map} +1 -1
- package/dist/atomic/{p-5aec26df.entry.js → p-6ac735ea.entry.js} +2 -2
- package/dist/atomic/{p-d951a973.js → p-6b524885.js} +2 -2
- package/dist/atomic/{p-529bee08.entry.js → p-6c5e8480.entry.js} +2 -2
- package/dist/atomic/{p-be3b7419.entry.js → p-71557694.entry.js} +2 -2
- package/dist/atomic/p-71557694.entry.js.map +1 -0
- package/dist/atomic/{p-277b1db2.entry.js → p-751a8fb3.entry.js} +2 -2
- package/dist/atomic/{p-d9b794b9.entry.js → p-7a69ede9.entry.js} +2 -2
- package/dist/atomic/{p-d955ddaa.entry.js → p-7d7262f2.entry.js} +2 -2
- package/dist/atomic/{p-f384fad5.entry.js → p-7e4c8a26.entry.js} +2 -2
- package/dist/atomic/{p-c8224ad2.entry.js → p-7f811ad1.entry.js} +2 -2
- package/dist/atomic/{p-19df9146.entry.js → p-80adbcf0.entry.js} +2 -2
- package/dist/atomic/{p-a0515cb4.entry.js → p-80f3add1.entry.js} +2 -2
- package/dist/atomic/{p-20dfef8c.entry.js → p-810531d2.entry.js} +2 -2
- package/dist/atomic/p-8202aa3e.js +2 -0
- package/dist/atomic/{p-98dc1fc0.entry.js → p-827095cd.entry.js} +2 -2
- package/dist/atomic/{p-4a93f954.entry.js → p-84e4d4b1.entry.js} +2 -2
- package/dist/atomic/{p-3dcd6d31.entry.js → p-87609b83.entry.js} +2 -2
- package/dist/atomic/{p-ae6cc69a.js → p-88327744.js} +2 -2
- package/dist/atomic/p-89a90af9.entry.js +2 -0
- package/dist/atomic/{p-40d210be.entry.js → p-8d32a49d.entry.js} +2 -2
- package/dist/atomic/p-90fc6880.js +2 -0
- package/dist/atomic/p-93e639ab.entry.js +2 -0
- package/dist/atomic/p-93e639ab.entry.js.map +1 -0
- package/dist/atomic/p-95834bf3.entry.js +2 -0
- package/dist/atomic/{p-6d86a8c4.entry.js.map → p-95834bf3.entry.js.map} +1 -1
- package/dist/atomic/{p-428338f2.entry.js → p-a03d7443.entry.js} +2 -2
- package/dist/atomic/{p-25ef4de8.js → p-a14f40f2.js} +2 -2
- package/dist/atomic/{p-66a924fa.entry.js → p-a1935b7e.entry.js} +2 -2
- package/dist/atomic/{p-2ad0a92d.js → p-a298a569.js} +2 -2
- package/dist/atomic/p-a2a7f558.entry.js +2 -0
- package/dist/atomic/{p-e054f8b6.entry.js.map → p-a2a7f558.entry.js.map} +1 -1
- package/dist/atomic/{p-e7c296e8.entry.js → p-a8df36fd.entry.js} +2 -2
- package/dist/atomic/{p-8e928c71.entry.js → p-afb11e96.entry.js} +2 -2
- package/dist/atomic/{p-8f7b6eb3.js → p-b0a8207b.js} +2 -2
- package/dist/atomic/{p-1c92fc2a.js → p-b5ecd6c0.js} +2 -2
- package/dist/atomic/{p-6cf25fa0.entry.js → p-b8485267.entry.js} +2 -2
- package/dist/atomic/{p-e6698610.entry.js → p-b94582fa.entry.js} +2 -2
- package/dist/atomic/{p-f9fd298b.js → p-bb774c0e.js} +2 -2
- package/dist/atomic/{p-08c3852d.js → p-bdb9f09c.js} +2 -2
- package/dist/atomic/{p-62c8461f.js → p-c32ffba8.js} +2 -2
- package/dist/atomic/{p-2af3ba1e.entry.js → p-c414c946.entry.js} +2 -2
- package/dist/atomic/{p-a2b91807.entry.js → p-c4c32608.entry.js} +2 -2
- package/dist/atomic/{p-6910ebf3.entry.js → p-c64dfc51.entry.js} +2 -2
- package/dist/atomic/p-c8b5575e.js +2 -0
- package/dist/atomic/{p-5452fe74.entry.js → p-c8c9e33b.entry.js} +2 -2
- package/dist/atomic/{p-55822187.entry.js → p-c8ee15bc.entry.js} +2 -2
- package/dist/atomic/{p-55da20b7.entry.js → p-c9b172e5.entry.js} +2 -2
- package/dist/atomic/p-d53f720c.entry.js +2 -0
- package/dist/atomic/{p-870551c5.entry.js.map → p-d53f720c.entry.js.map} +1 -1
- package/dist/atomic/{p-d6c5159b.js → p-d8705a4b.js} +2 -2
- package/dist/atomic/{p-5e8aa5e1.entry.js → p-d953f42f.entry.js} +2 -2
- package/dist/atomic/{p-a48efe2a.js → p-db0db92b.js} +2 -2
- package/dist/atomic/{p-f1ae0684.entry.js → p-dc2c7151.entry.js} +2 -2
- package/dist/atomic/{p-bb8dc05f.entry.js → p-dfdc2702.entry.js} +2 -2
- package/dist/atomic/{p-9fb84551.entry.js → p-e698f44a.entry.js} +2 -2
- package/dist/atomic/{p-a9ed505a.js → p-e6eee594.js} +2 -2
- package/dist/atomic/{p-03716c6e.entry.js → p-e87527e3.entry.js} +2 -2
- package/dist/atomic/p-e88e82ae.entry.js +2 -0
- package/dist/atomic/{p-880a7a9b.entry.js.map → p-e88e82ae.entry.js.map} +1 -1
- package/dist/atomic/p-e9ba0866.js +2 -0
- package/dist/atomic/p-e9ba0866.js.map +1 -0
- package/dist/atomic/{p-b667b889.entry.js → p-e9c53cd2.entry.js} +2 -2
- package/dist/atomic/{p-9cb00233.entry.js → p-eacb0b74.entry.js} +2 -2
- package/dist/atomic/{p-4e57f4d1.js → p-ebd9e13e.js} +2 -2
- package/dist/atomic/p-f5122dc9.entry.js +2 -0
- package/dist/atomic/{p-d0aab28f.entry.js.map → p-f5122dc9.entry.js.map} +1 -1
- package/dist/atomic/p-f9b452ef.entry.js +2 -0
- package/dist/atomic/{p-58010b9d.entry.js.map → p-f9b452ef.entry.js.map} +1 -1
- package/dist/atomic/{p-f22c68d2.js → p-ff169139.js} +2 -2
- package/dist/cjs/_index.cjs.js +3 -3
- package/dist/cjs/_loader.cjs.js +2 -2
- package/dist/cjs/arrow-bottom-rounded-6cdb3b1b.js +7 -0
- package/dist/cjs/arrow-bottom-rounded-6cdb3b1b.js.map +1 -0
- package/dist/cjs/atomic-automatic-facet-generator.cjs.entry.js +3 -3
- package/dist/cjs/atomic-citation.cjs.entry.js +3 -3
- package/dist/cjs/atomic-facet-manager.cjs.entry.js +3 -3
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +6 -6
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +7 -7
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +67 -21
- package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +8 -9
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +15 -16
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -6
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +8 -9
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-template.cjs.entry.js +3 -3
- package/dist/cjs/{atomic-result-placeholder_2.cjs.entry.js → atomic-insight-result_3.cjs.entry.js} +86 -5
- package/dist/cjs/atomic-insight-result_3.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +12 -12
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-body.cjs.entry.js +4 -4
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +3 -3
- package/dist/cjs/atomic-ipx-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +10 -11
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +5 -5
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +6 -6
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +15 -16
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +10 -10
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +6 -6
- package/dist/cjs/atomic-recs-error.cjs.entry.js +5 -5
- package/dist/cjs/atomic-recs-list.cjs.entry.js +10 -11
- package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-result-template.cjs.entry.js +3 -3
- package/dist/cjs/atomic-recs-result.cjs.entry.js +4 -5
- package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +5 -5
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +4 -4
- package/dist/cjs/atomic-search-box.cjs.entry.js +7 -7
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -6
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +3 -3
- package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +6 -6
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +5 -5
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js +7 -7
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +2 -2
- package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/atomic-tab-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-tab-popover.cjs.entry.js +5 -5
- package/dist/cjs/atomic-tab-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +12 -12
- package/dist/cjs/atomic-timeframe.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +2 -2
- package/dist/cjs/{display-options-57cc1398.js → display-options-f2196319.js} +63 -1
- package/dist/cjs/display-options-f2196319.js.map +1 -0
- package/dist/cjs/{format-common-b8437dc2.js → format-common-c32e91c5.js} +8 -8
- package/dist/cjs/{format-common-b8437dc2.js.map → format-common-c32e91c5.js.map} +1 -1
- package/dist/cjs/{generated-answer-common-d8049892.js → generated-answer-common-8723c7c6.js} +6 -6
- package/dist/cjs/{generated-answer-common-d8049892.js.map → generated-answer-common-8723c7c6.js.map} +1 -1
- package/dist/cjs/{index-8fc6356e.js → index-0a91838f.js} +10 -55
- package/dist/cjs/index-0a91838f.js.map +1 -0
- package/dist/cjs/{initialization-utils-eb183151.js → initialization-utils-18fa7055.js} +2 -2
- package/dist/cjs/{initialization-utils-eb183151.js.map → initialization-utils-18fa7055.js.map} +1 -1
- package/dist/cjs/{jsx-utils-5f15d1a3.js → jsx-utils-84efc0ac.js} +2 -2
- package/dist/cjs/{jsx-utils-5f15d1a3.js.map → jsx-utils-84efc0ac.js.map} +1 -1
- package/dist/cjs/{props-utils-11840041.js → props-utils-1a635a18.js} +2 -2
- package/dist/cjs/{props-utils-11840041.js.map → props-utils-1a635a18.js.map} +1 -1
- package/dist/cjs/{result-template-provider-92566b56.js → result-template-provider-3232c761.js} +2 -2
- package/dist/cjs/{result-template-provider-92566b56.js.map → result-template-provider-3232c761.js.map} +1 -1
- package/dist/cjs/{stencil-button-c7d2f019.js → stencil-button-c0586199.js} +2 -2
- package/dist/cjs/{stencil-button-c7d2f019.js.map → stencil-button-c0586199.js.map} +1 -1
- package/dist/cjs/{stencil-carousel-d619f8ad.js → stencil-carousel-01fe150d.js} +3 -3
- package/dist/cjs/{stencil-carousel-d619f8ad.js.map → stencil-carousel-01fe150d.js.map} +1 -1
- package/dist/cjs/{stencil-checkbox-a6d3d019.js → stencil-checkbox-193c71a3.js} +2 -2
- package/dist/cjs/{stencil-checkbox-a6d3d019.js.map → stencil-checkbox-193c71a3.js.map} +1 -1
- package/dist/cjs/{stencil-display-wrapper-825efc8b.js → stencil-display-wrapper-b92b15b8.js} +2 -2
- package/dist/cjs/{stencil-display-wrapper-825efc8b.js.map → stencil-display-wrapper-b92b15b8.js.map} +1 -1
- package/dist/cjs/{stencil-facet-placeholder-5e9e78b2.js → stencil-facet-placeholder-d4afe247.js} +2 -2
- package/dist/cjs/{stencil-facet-placeholder-5e9e78b2.js.map → stencil-facet-placeholder-d4afe247.js.map} +1 -1
- package/dist/cjs/{stencil-facet-value-checkbox-405856d9.js → stencil-facet-value-checkbox-fde89829.js} +16 -4
- package/dist/cjs/stencil-facet-value-checkbox-fde89829.js.map +1 -0
- package/dist/cjs/{stencil-facet-header-63956b1a.js → stencil-facet-value-link-0c62c2de.js} +35 -49
- package/dist/cjs/stencil-facet-value-link-0c62c2de.js.map +1 -0
- package/dist/cjs/{stencil-facet-values-group-13a71bf6.js → stencil-facet-values-group-70a9989c.js} +12 -16
- package/dist/cjs/stencil-facet-values-group-70a9989c.js.map +1 -0
- package/dist/cjs/{stencil-fieldset-group-30862e5d.js → stencil-fieldset-group-ad14759c.js} +2 -2
- package/dist/cjs/{stencil-fieldset-group-30862e5d.js.map → stencil-fieldset-group-ad14759c.js.map} +1 -1
- package/dist/cjs/{stencil-heading-a61236c4.js → stencil-heading-e59e3fdd.js} +2 -2
- package/dist/cjs/{stencil-heading-a61236c4.js.map → stencil-heading-e59e3fdd.js.map} +1 -1
- package/dist/cjs/{stencil-iconButton-e215e2c8.js → stencil-iconButton-10c8c2e7.js} +3 -3
- package/dist/cjs/{stencil-iconButton-e215e2c8.js.map → stencil-iconButton-10c8c2e7.js.map} +1 -1
- package/dist/cjs/{stencil-item-decorators-3607ea63.js → stencil-item-decorators-3cfb37d5.js} +2 -2
- package/dist/cjs/{stencil-item-decorators-3607ea63.js.map → stencil-item-decorators-3cfb37d5.js.map} +1 -1
- package/dist/cjs/{stencil-item-link-815bde94.js → stencil-item-link-d660e0db.js} +2 -2
- package/dist/cjs/{stencil-item-link-815bde94.js.map → stencil-item-link-d660e0db.js.map} +1 -1
- package/dist/cjs/{stencil-item-list-guard-98f90b70.js → stencil-item-list-guard-a338ea08.js} +2 -2
- package/dist/cjs/{stencil-item-list-guard-98f90b70.js.map → stencil-item-list-guard-a338ea08.js.map} +1 -1
- package/dist/cjs/{stencil-link-7e0f2197.js → stencil-link-efe2a815.js} +3 -3
- package/dist/cjs/{stencil-link-7e0f2197.js.map → stencil-link-efe2a815.js.map} +1 -1
- package/dist/cjs/{stencil-magnifying-glass-621948b7.js → stencil-magnifying-glass-862192fe.js} +2 -2
- package/dist/cjs/{stencil-magnifying-glass-621948b7.js.map → stencil-magnifying-glass-862192fe.js.map} +1 -1
- package/dist/cjs/{stencil-modal-fcfda898.js → stencil-modal-4bb4e3d8.js} +3 -3
- package/dist/cjs/{stencil-modal-fcfda898.js.map → stencil-modal-4bb4e3d8.js.map} +1 -1
- package/dist/cjs/{stencil-radio-button-b22d0b2c.js → stencil-radio-button-e48e4166.js} +3 -3
- package/dist/cjs/{stencil-radio-button-b22d0b2c.js.map → stencil-radio-button-e48e4166.js.map} +1 -1
- package/dist/cjs/{stencil-result-template-common-127b59cd.js → stencil-result-template-common-1c5e9fa9.js} +2 -2
- package/dist/cjs/{stencil-result-template-common-127b59cd.js.map → stencil-result-template-common-1c5e9fa9.js.map} +1 -1
- package/dist/cjs/{stencil-result-template-decorators-7cfdacc0.js → stencil-result-template-decorators-251652cc.js} +2 -2
- package/dist/cjs/{stencil-result-template-decorators-7cfdacc0.js.map → stencil-result-template-decorators-251652cc.js.map} +1 -1
- package/dist/cjs/{stencil-smart-snippet-common-2fc85bcf.js → stencil-smart-snippet-common-6591e856.js} +5 -5
- package/dist/cjs/{stencil-smart-snippet-common-2fc85bcf.js.map → stencil-smart-snippet-common-6591e856.js.map} +1 -1
- package/dist/cjs/{stencil-smart-snippet-feedback-modal-common-29a95783.js → stencil-smart-snippet-feedback-modal-common-030bb4cd.js} +3 -3
- package/dist/cjs/{stencil-smart-snippet-feedback-modal-common-29a95783.js.map → stencil-smart-snippet-feedback-modal-common-030bb4cd.js.map} +1 -1
- package/dist/cjs/{stencil-smart-snippet-suggestions-common-cde6f69f.js → stencil-smart-snippet-suggestions-common-376da201.js} +4 -4
- package/dist/cjs/{stencil-smart-snippet-suggestions-common-cde6f69f.js.map → stencil-smart-snippet-suggestions-common-376da201.js.map} +1 -1
- package/dist/cjs/{stencil-suggestion-manager-dc57db9f.js → stencil-suggestion-manager-7cbd97fd.js} +3 -3
- package/dist/cjs/{stencil-suggestion-manager-dc57db9f.js.map → stencil-suggestion-manager-7cbd97fd.js.map} +1 -1
- package/dist/cjs/{timeframe-facet-common-2098b6ea.js → timeframe-facet-common-92ddfff2.js} +10 -10
- package/dist/cjs/{timeframe-facet-common-2098b6ea.js.map → timeframe-facet-common-92ddfff2.js.map} +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +3 -3
- package/dist/esm/_loader.js +3 -3
- package/dist/esm/arrow-bottom-rounded-71aac83a.js +5 -0
- package/dist/esm/arrow-bottom-rounded-71aac83a.js.map +1 -0
- package/dist/esm/atomic-automatic-facet-generator.entry.js +3 -3
- package/dist/esm/atomic-citation.entry.js +3 -3
- package/dist/esm/atomic-facet-manager.entry.js +3 -3
- package/dist/esm/atomic-facet-number-input.entry.js +2 -2
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +6 -6
- package/dist/esm/atomic-generated-answer.entry.js +7 -7
- package/dist/esm/atomic-insight-edit-toggle.entry.js +3 -3
- package/dist/esm/atomic-insight-facet.entry.js +60 -14
- package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +7 -8
- package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +4 -4
- package/dist/esm/atomic-insight-generated-answer.entry.js +6 -6
- package/dist/esm/atomic-insight-history-toggle.entry.js +3 -3
- package/dist/esm/atomic-insight-layout.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +4 -4
- package/dist/esm/atomic-insight-numeric-facet.entry.js +14 -15
- package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +6 -5
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +4 -4
- package/dist/esm/atomic-insight-query-summary.entry.js +3 -3
- package/dist/esm/atomic-insight-refine-modal.entry.js +4 -4
- package/dist/esm/atomic-insight-refine-toggle.entry.js +4 -4
- package/dist/esm/atomic-insight-result-action-bar.entry.js +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +6 -6
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +6 -6
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +4 -4
- package/dist/esm/atomic-insight-result-children-template.entry.js +3 -3
- package/dist/esm/atomic-insight-result-children.entry.js +6 -6
- package/dist/esm/atomic-insight-result-list.entry.js +7 -8
- package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +6 -6
- package/dist/esm/atomic-insight-result-template.entry.js +3 -3
- package/dist/esm/{atomic-result-placeholder_2.entry.js → atomic-insight-result_3.entry.js} +86 -6
- package/dist/esm/atomic-insight-result_3.entry.js.map +1 -0
- package/dist/esm/atomic-insight-search-box.entry.js +4 -4
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +6 -6
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +5 -5
- package/dist/esm/atomic-insight-smart-snippet.entry.js +6 -6
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +12 -12
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +3 -3
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -5
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +5 -5
- package/dist/esm/atomic-ipx-body.entry.js +4 -4
- package/dist/esm/atomic-ipx-button.entry.js +5 -5
- package/dist/esm/atomic-ipx-embedded.entry.js +3 -3
- package/dist/esm/atomic-ipx-modal.entry.js +4 -4
- package/dist/esm/atomic-ipx-recs-list.entry.js +9 -10
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +5 -5
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +5 -5
- package/dist/esm/atomic-ipx-result-link.entry.js +6 -6
- package/dist/esm/atomic-numeric-facet.entry.js +15 -16
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +10 -10
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +6 -6
- package/dist/esm/atomic-recs-error.entry.js +5 -5
- package/dist/esm/atomic-recs-list.entry.js +9 -10
- package/dist/esm/atomic-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-recs-result-template.entry.js +3 -3
- package/dist/esm/atomic-recs-result.entry.js +2 -3
- package/dist/esm/atomic-recs-result.entry.js.map +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +5 -5
- package/dist/esm/atomic-refine-toggle.entry.js +4 -4
- package/dist/esm/atomic-search-box.entry.js +7 -7
- package/dist/esm/atomic-segmented-facet.entry.js +6 -6
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +3 -3
- package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +2 -2
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +6 -6
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js +5 -5
- package/dist/esm/atomic-smart-snippet.entry.js +7 -7
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +2 -2
- package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
- package/dist/esm/atomic-tab-bar.entry.js +2 -2
- package/dist/esm/atomic-tab-button.entry.js +2 -2
- package/dist/esm/atomic-tab-popover.entry.js +5 -5
- package/dist/esm/atomic-tab-popover.entry.js.map +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +12 -12
- package/dist/esm/atomic-timeframe.entry.js +1 -1
- package/dist/esm/atomic.js +3 -3
- package/dist/esm/{display-options-8d14750c.js → display-options-5a18eaa3.js} +62 -2
- package/dist/esm/display-options-5a18eaa3.js.map +1 -0
- package/dist/esm/{format-common-26569d24.js → format-common-b195968a.js} +5 -5
- package/dist/esm/{format-common-26569d24.js.map → format-common-b195968a.js.map} +1 -1
- package/dist/esm/{generated-answer-common-58ac895e.js → generated-answer-common-b74669d3.js} +6 -6
- package/dist/esm/generated-answer-common-b74669d3.js.map +1 -0
- package/dist/esm/{index-62c2216d.js → index-d03d85cb.js} +10 -55
- package/dist/esm/index-d03d85cb.js.map +1 -0
- package/dist/esm/{initialization-utils-9571651d.js → initialization-utils-264915a2.js} +2 -2
- package/dist/esm/{initialization-utils-9571651d.js.map → initialization-utils-264915a2.js.map} +1 -1
- package/dist/esm/{jsx-utils-60f0f9d1.js → jsx-utils-29d65ade.js} +2 -2
- package/dist/esm/{jsx-utils-60f0f9d1.js.map → jsx-utils-29d65ade.js.map} +1 -1
- package/dist/esm/{props-utils-d7a37cea.js → props-utils-0fdfb615.js} +2 -2
- package/dist/esm/{props-utils-d7a37cea.js.map → props-utils-0fdfb615.js.map} +1 -1
- package/dist/esm/{result-template-provider-7edb85e2.js → result-template-provider-d2f3b480.js} +2 -2
- package/dist/esm/{result-template-provider-7edb85e2.js.map → result-template-provider-d2f3b480.js.map} +1 -1
- package/dist/esm/{stencil-button-7a168163.js → stencil-button-052bf55b.js} +2 -2
- package/dist/esm/{stencil-button-7a168163.js.map → stencil-button-052bf55b.js.map} +1 -1
- package/dist/esm/{stencil-carousel-522ddacc.js → stencil-carousel-15d48c0d.js} +3 -3
- package/dist/esm/{stencil-carousel-522ddacc.js.map → stencil-carousel-15d48c0d.js.map} +1 -1
- package/dist/esm/{stencil-checkbox-55f8e00f.js → stencil-checkbox-3e2446b1.js} +2 -2
- package/dist/esm/{stencil-checkbox-55f8e00f.js.map → stencil-checkbox-3e2446b1.js.map} +1 -1
- package/dist/esm/{stencil-display-wrapper-c7ff2cb7.js → stencil-display-wrapper-bea96f22.js} +2 -2
- package/dist/esm/{stencil-display-wrapper-c7ff2cb7.js.map → stencil-display-wrapper-bea96f22.js.map} +1 -1
- package/dist/esm/{stencil-facet-placeholder-4962dc34.js → stencil-facet-placeholder-c4d453a9.js} +2 -2
- package/dist/esm/{stencil-facet-placeholder-4962dc34.js.map → stencil-facet-placeholder-c4d453a9.js.map} +1 -1
- package/dist/esm/{stencil-facet-value-checkbox-38c93144.js → stencil-facet-value-checkbox-336d415e.js} +16 -5
- package/dist/esm/stencil-facet-value-checkbox-336d415e.js.map +1 -0
- package/dist/esm/{stencil-facet-header-7b6d64b6.js → stencil-facet-value-link-ee67f14d.js} +36 -48
- package/dist/esm/stencil-facet-value-link-ee67f14d.js.map +1 -0
- package/dist/esm/{stencil-facet-values-group-7443a13a.js → stencil-facet-values-group-faaf272d.js} +13 -16
- package/dist/esm/stencil-facet-values-group-faaf272d.js.map +1 -0
- package/dist/esm/{stencil-fieldset-group-21792d47.js → stencil-fieldset-group-cde54e3a.js} +2 -2
- package/dist/esm/{stencil-fieldset-group-21792d47.js.map → stencil-fieldset-group-cde54e3a.js.map} +1 -1
- package/dist/esm/{stencil-heading-b741d578.js → stencil-heading-b835c763.js} +2 -2
- package/dist/esm/{stencil-heading-b741d578.js.map → stencil-heading-b835c763.js.map} +1 -1
- package/dist/esm/{stencil-iconButton-f2c40eb0.js → stencil-iconButton-9e9e6576.js} +3 -3
- package/dist/esm/{stencil-iconButton-f2c40eb0.js.map → stencil-iconButton-9e9e6576.js.map} +1 -1
- package/dist/esm/{stencil-item-decorators-f6c04616.js → stencil-item-decorators-9a4086d6.js} +2 -2
- package/dist/esm/{stencil-item-decorators-f6c04616.js.map → stencil-item-decorators-9a4086d6.js.map} +1 -1
- package/dist/esm/{stencil-item-link-3ece9f5f.js → stencil-item-link-9ac3e6b4.js} +2 -2
- package/dist/esm/{stencil-item-link-3ece9f5f.js.map → stencil-item-link-9ac3e6b4.js.map} +1 -1
- package/dist/esm/{stencil-item-list-guard-8adba804.js → stencil-item-list-guard-4aeeeea5.js} +2 -2
- package/dist/esm/{stencil-item-list-guard-8adba804.js.map → stencil-item-list-guard-4aeeeea5.js.map} +1 -1
- package/dist/esm/{stencil-link-d5ecc3cf.js → stencil-link-e6288835.js} +3 -3
- package/dist/esm/{stencil-link-d5ecc3cf.js.map → stencil-link-e6288835.js.map} +1 -1
- package/dist/esm/{stencil-magnifying-glass-d4b6425b.js → stencil-magnifying-glass-93f98d1c.js} +2 -2
- package/dist/esm/{stencil-magnifying-glass-d4b6425b.js.map → stencil-magnifying-glass-93f98d1c.js.map} +1 -1
- package/dist/esm/{stencil-modal-d9da6f1e.js → stencil-modal-108b1179.js} +3 -3
- package/dist/esm/{stencil-modal-d9da6f1e.js.map → stencil-modal-108b1179.js.map} +1 -1
- package/dist/esm/{stencil-radio-button-559bda28.js → stencil-radio-button-52c4b049.js} +3 -3
- package/dist/esm/{stencil-radio-button-559bda28.js.map → stencil-radio-button-52c4b049.js.map} +1 -1
- package/dist/esm/{stencil-result-template-common-516e28e6.js → stencil-result-template-common-4f310421.js} +2 -2
- package/dist/esm/{stencil-result-template-common-516e28e6.js.map → stencil-result-template-common-4f310421.js.map} +1 -1
- package/dist/esm/{stencil-result-template-decorators-939d186e.js → stencil-result-template-decorators-5e987020.js} +2 -2
- package/dist/esm/{stencil-result-template-decorators-939d186e.js.map → stencil-result-template-decorators-5e987020.js.map} +1 -1
- package/dist/esm/{stencil-smart-snippet-common-1fb7a65e.js → stencil-smart-snippet-common-98f4f06d.js} +5 -5
- package/dist/esm/{stencil-smart-snippet-common-1fb7a65e.js.map → stencil-smart-snippet-common-98f4f06d.js.map} +1 -1
- package/dist/esm/{stencil-smart-snippet-feedback-modal-common-8b66f039.js → stencil-smart-snippet-feedback-modal-common-0575519d.js} +3 -3
- package/dist/esm/{stencil-smart-snippet-feedback-modal-common-8b66f039.js.map → stencil-smart-snippet-feedback-modal-common-0575519d.js.map} +1 -1
- package/dist/esm/{stencil-smart-snippet-suggestions-common-912f39d9.js → stencil-smart-snippet-suggestions-common-2c1de677.js} +4 -4
- package/dist/esm/{stencil-smart-snippet-suggestions-common-912f39d9.js.map → stencil-smart-snippet-suggestions-common-2c1de677.js.map} +1 -1
- package/dist/esm/{stencil-suggestion-manager-58581612.js → stencil-suggestion-manager-54ed56cd.js} +3 -3
- package/dist/esm/{stencil-suggestion-manager-58581612.js.map → stencil-suggestion-manager-54ed56cd.js.map} +1 -1
- package/dist/esm/{timeframe-facet-common-67367ccb.js → timeframe-facet-common-f56695ab.js} +6 -6
- package/dist/esm/{timeframe-facet-common-67367ccb.js.map → timeframe-facet-common-f56695ab.js.map} +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/insight/atomic-insight-tab/atomic-insight-tab.d.ts +25 -18
- package/dist/types/components/insight/atomic-insight-tabs/atomic-insight-tabs.d.ts +19 -4
- package/dist/types/components/insight/index.d.ts +2 -0
- package/dist/types/components/ipx/atomic-ipx-tab/atomic-ipx-tab.d.ts +24 -16
- package/dist/types/components/ipx/index.d.ts +1 -0
- package/dist/types/components/search/{facets/atomic-category-facet → atomic-category-facet}/atomic-category-facet.d.ts +26 -33
- package/dist/types/components/search/atomic-did-you-mean/atomic-did-you-mean.d.ts +17 -10
- package/dist/types/components/search/{result-lists/atomic-folded-result-list → atomic-folded-result-list}/atomic-folded-result-list.d.ts +51 -37
- package/dist/types/components/search/{atomic-notification → atomic-notifications}/atomic-notifications.d.ts +22 -11
- package/dist/types/components/search/atomic-result-fields-list/atomic-result-fields-list.d.ts +44 -0
- package/dist/types/components/search/atomic-table-element/atomic-table-element.d.ts +19 -0
- package/dist/types/components/search/index.d.ts +6 -0
- package/dist/types/components.d.ts +4 -499
- package/docs/atomic-docs.json +105 -1400
- package/package.json +5 -6
- package/dist/atomic/components/arrow-left-rounded.js +0 -5
- package/dist/atomic/components/arrow-left-rounded.js.map +0 -1
- package/dist/atomic/components/atomic-category-facet.d.ts +0 -11
- package/dist/atomic/components/atomic-category-facet.js +0 -633
- package/dist/atomic/components/atomic-category-facet.js.map +0 -1
- package/dist/atomic/components/atomic-did-you-mean.d.ts +0 -11
- package/dist/atomic/components/atomic-did-you-mean.js +0 -167
- package/dist/atomic/components/atomic-did-you-mean.js.map +0 -1
- package/dist/atomic/components/atomic-folded-result-list.d.ts +0 -11
- package/dist/atomic/components/atomic-folded-result-list.js +0 -278
- package/dist/atomic/components/atomic-folded-result-list.js.map +0 -1
- package/dist/atomic/components/atomic-insight-tab.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-tab.js +0 -110
- package/dist/atomic/components/atomic-insight-tab.js.map +0 -1
- package/dist/atomic/components/atomic-insight-tabs.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-tabs.js +0 -60
- package/dist/atomic/components/atomic-insight-tabs.js.map +0 -1
- package/dist/atomic/components/atomic-ipx-tab.d.ts +0 -11
- package/dist/atomic/components/atomic-ipx-tab.js +0 -112
- package/dist/atomic/components/atomic-ipx-tab.js.map +0 -1
- package/dist/atomic/components/atomic-notifications.d.ts +0 -11
- package/dist/atomic/components/atomic-notifications.js +0 -102
- package/dist/atomic/components/atomic-notifications.js.map +0 -1
- package/dist/atomic/components/atomic-result-fields-list.d.ts +0 -11
- package/dist/atomic/components/atomic-result-fields-list.js +0 -128
- package/dist/atomic/components/atomic-result-fields-list.js.map +0 -1
- package/dist/atomic/components/atomic-table-element.d.ts +0 -11
- package/dist/atomic/components/atomic-table-element.js +0 -31
- package/dist/atomic/components/atomic-table-element.js.map +0 -1
- package/dist/atomic/components/stencil-facet-guard.js +0 -16
- package/dist/atomic/components/stencil-facet-guard.js.map +0 -1
- package/dist/atomic/components/stencil-facet-header.js.map +0 -1
- package/dist/atomic/components/stencil-facet-show-more-less.js +0 -55
- package/dist/atomic/components/stencil-facet-show-more-less.js.map +0 -1
- package/dist/atomic/components/tab-bar.js +0 -161
- package/dist/atomic/components/tab-bar.js.map +0 -1
- package/dist/atomic/components/tab-common.js +0 -11
- package/dist/atomic/components/tab-common.js.map +0 -1
- package/dist/atomic/p-022fb63e.js +0 -2
- package/dist/atomic/p-04d05339.entry.js +0 -2
- package/dist/atomic/p-04d05339.entry.js.map +0 -1
- package/dist/atomic/p-0b231790.entry.js +0 -2
- package/dist/atomic/p-16e054e5.entry.js +0 -2
- package/dist/atomic/p-16e054e5.entry.js.map +0 -1
- package/dist/atomic/p-19030c8f.entry.js +0 -2
- package/dist/atomic/p-19030c8f.entry.js.map +0 -1
- package/dist/atomic/p-2b3c7256.js +0 -2
- package/dist/atomic/p-35ec4b82.js +0 -2
- package/dist/atomic/p-35ec4b82.js.map +0 -1
- package/dist/atomic/p-3edde017.js +0 -2
- package/dist/atomic/p-46412741.entry.js +0 -2
- package/dist/atomic/p-46412741.entry.js.map +0 -1
- package/dist/atomic/p-47060ffb.entry.js +0 -2
- package/dist/atomic/p-47060ffb.entry.js.map +0 -1
- package/dist/atomic/p-4b8627b7.js +0 -2
- package/dist/atomic/p-4b8627b7.js.map +0 -1
- package/dist/atomic/p-4f221ed7.js +0 -9
- package/dist/atomic/p-4f221ed7.js.map +0 -1
- package/dist/atomic/p-58010b9d.entry.js +0 -2
- package/dist/atomic/p-5c92a7bc.entry.js +0 -2
- package/dist/atomic/p-5e47d61e.entry.js +0 -2
- package/dist/atomic/p-6d86a8c4.entry.js +0 -2
- package/dist/atomic/p-81ffbea0.js +0 -2
- package/dist/atomic/p-845dfdd8.entry.js +0 -2
- package/dist/atomic/p-845dfdd8.entry.js.map +0 -1
- package/dist/atomic/p-870551c5.entry.js +0 -2
- package/dist/atomic/p-880a7a9b.entry.js +0 -2
- package/dist/atomic/p-8a471188.js +0 -2
- package/dist/atomic/p-8d94cdaa.entry.js +0 -2
- package/dist/atomic/p-8d94cdaa.entry.js.map +0 -1
- package/dist/atomic/p-94f08683.js +0 -2
- package/dist/atomic/p-94f08683.js.map +0 -1
- package/dist/atomic/p-a2b81d75.entry.js +0 -2
- package/dist/atomic/p-a3ce5f7a.entry.js +0 -2
- package/dist/atomic/p-a3ce5f7a.entry.js.map +0 -1
- package/dist/atomic/p-a461dc47.js +0 -2
- package/dist/atomic/p-a461dc47.js.map +0 -1
- package/dist/atomic/p-b700cfe1.js.map +0 -1
- package/dist/atomic/p-bb463790.entry.js +0 -2
- package/dist/atomic/p-bb463790.entry.js.map +0 -1
- package/dist/atomic/p-bdfc3cc7.js.map +0 -1
- package/dist/atomic/p-be3b7419.entry.js.map +0 -1
- package/dist/atomic/p-c90dca08.js +0 -2
- package/dist/atomic/p-c90dca08.js.map +0 -1
- package/dist/atomic/p-d0aab28f.entry.js +0 -2
- package/dist/atomic/p-d4668b24.entry.js +0 -2
- package/dist/atomic/p-d4668b24.entry.js.map +0 -1
- package/dist/atomic/p-d9567fc0.js +0 -2
- package/dist/atomic/p-d9567fc0.js.map +0 -1
- package/dist/atomic/p-dcfe1363.js +0 -2
- package/dist/atomic/p-dcfe1363.js.map +0 -1
- package/dist/atomic/p-e7deb181.entry.js +0 -2
- package/dist/atomic/p-e7deb181.entry.js.map +0 -1
- package/dist/cjs/arrow-bottom-rounded-705a1b2c.js +0 -7
- package/dist/cjs/arrow-bottom-rounded-705a1b2c.js.map +0 -1
- package/dist/cjs/arrow-left-rounded-87aa2218.js +0 -7
- package/dist/cjs/arrow-left-rounded-87aa2218.js.map +0 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +0 -609
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js +0 -148
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +0 -240
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +0 -94
- package/dist/cjs/atomic-insight-result.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-insight-tab.cjs.entry.js +0 -92
- package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js +0 -36
- package/dist/cjs/atomic-insight-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js +0 -94
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-notifications.cjs.entry.js +0 -88
- package/dist/cjs/atomic-notifications.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +0 -118
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-result-placeholder_2.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-table-element.cjs.entry.js +0 -16
- package/dist/cjs/atomic-table-element.cjs.entry.js.map +0 -1
- package/dist/cjs/display-options-57cc1398.js.map +0 -1
- package/dist/cjs/index-8fc6356e.js.map +0 -1
- package/dist/cjs/stencil-facet-guard-79b7b5ed.js +0 -18
- package/dist/cjs/stencil-facet-guard-79b7b5ed.js.map +0 -1
- package/dist/cjs/stencil-facet-header-63956b1a.js.map +0 -1
- package/dist/cjs/stencil-facet-show-more-less-7186bd34.js +0 -58
- package/dist/cjs/stencil-facet-show-more-less-7186bd34.js.map +0 -1
- package/dist/cjs/stencil-facet-value-checkbox-405856d9.js.map +0 -1
- package/dist/cjs/stencil-facet-values-group-13a71bf6.js.map +0 -1
- package/dist/cjs/stencil-item-list-common-4741c1ac.js +0 -67
- package/dist/cjs/stencil-item-list-common-4741c1ac.js.map +0 -1
- package/dist/cjs/tab-common-1760f135.js +0 -13
- package/dist/cjs/tab-common-1760f135.js.map +0 -1
- package/dist/esm/arrow-bottom-rounded-043572da.js +0 -5
- package/dist/esm/arrow-bottom-rounded-043572da.js.map +0 -1
- package/dist/esm/arrow-left-rounded-27d1c97b.js +0 -5
- package/dist/esm/arrow-left-rounded-27d1c97b.js.map +0 -1
- package/dist/esm/atomic-category-facet.entry.js +0 -605
- package/dist/esm/atomic-category-facet.entry.js.map +0 -1
- package/dist/esm/atomic-did-you-mean.entry.js +0 -144
- package/dist/esm/atomic-did-you-mean.entry.js.map +0 -1
- package/dist/esm/atomic-folded-result-list.entry.js +0 -236
- package/dist/esm/atomic-folded-result-list.entry.js.map +0 -1
- package/dist/esm/atomic-insight-result.entry.js +0 -90
- package/dist/esm/atomic-insight-result.entry.js.map +0 -1
- package/dist/esm/atomic-insight-tab.entry.js +0 -88
- package/dist/esm/atomic-insight-tab.entry.js.map +0 -1
- package/dist/esm/atomic-insight-tabs.entry.js +0 -32
- package/dist/esm/atomic-insight-tabs.entry.js.map +0 -1
- package/dist/esm/atomic-ipx-tab.entry.js +0 -90
- package/dist/esm/atomic-ipx-tab.entry.js.map +0 -1
- package/dist/esm/atomic-notifications.entry.js +0 -84
- package/dist/esm/atomic-notifications.entry.js.map +0 -1
- package/dist/esm/atomic-result-fields-list.entry.js +0 -114
- package/dist/esm/atomic-result-fields-list.entry.js.map +0 -1
- package/dist/esm/atomic-result-placeholder_2.entry.js.map +0 -1
- package/dist/esm/atomic-table-element.entry.js +0 -12
- package/dist/esm/atomic-table-element.entry.js.map +0 -1
- package/dist/esm/display-options-8d14750c.js.map +0 -1
- package/dist/esm/generated-answer-common-58ac895e.js.map +0 -1
- package/dist/esm/index-62c2216d.js.map +0 -1
- package/dist/esm/stencil-facet-guard-58756d29.js +0 -16
- package/dist/esm/stencil-facet-guard-58756d29.js.map +0 -1
- package/dist/esm/stencil-facet-header-7b6d64b6.js.map +0 -1
- package/dist/esm/stencil-facet-show-more-less-8ba704a1.js +0 -55
- package/dist/esm/stencil-facet-show-more-less-8ba704a1.js.map +0 -1
- package/dist/esm/stencil-facet-value-checkbox-38c93144.js.map +0 -1
- package/dist/esm/stencil-facet-values-group-7443a13a.js.map +0 -1
- package/dist/esm/stencil-item-list-common-ef18dbae.js +0 -64
- package/dist/esm/stencil-item-list-common-ef18dbae.js.map +0 -1
- package/dist/esm/tab-common-9cc02fa3.js +0 -11
- package/dist/esm/tab-common-9cc02fa3.js.map +0 -1
- package/dist/types/components/common/item-list/stencil-display-table.d.ts +0 -36
- package/dist/types/components/search/atomic-table-result/atomic-table-element.d.ts +0 -9
- package/dist/types/components/search/result-template-components/atomic-result-fields-list/atomic-result-fields-list.d.ts +0 -28
- /package/dist/atomic/{p-3edde017.js.map → p-00b326bb.js.map} +0 -0
- /package/dist/atomic/{p-e7ff3e6f.entry.js.map → p-06ec10a5.entry.js.map} +0 -0
- /package/dist/atomic/{p-72bf76e0.entry.js.map → p-0bf4b490.entry.js.map} +0 -0
- /package/dist/atomic/{p-b4d47a54.js.map → p-0eb714c6.js.map} +0 -0
- /package/dist/atomic/{p-d0294026.js.map → p-1648b38d.js.map} +0 -0
- /package/dist/atomic/{p-9ed25137.entry.js.map → p-179b1494.entry.js.map} +0 -0
- /package/dist/atomic/{p-a7a3a18b.entry.js.map → p-1aa612bc.entry.js.map} +0 -0
- /package/dist/atomic/{p-fdcaee42.entry.js.map → p-1d9415c1.entry.js.map} +0 -0
- /package/dist/atomic/{p-429570fd.entry.js.map → p-24ac525a.entry.js.map} +0 -0
- /package/dist/atomic/{p-974d78f9.entry.js.map → p-270b5fa9.entry.js.map} +0 -0
- /package/dist/atomic/{p-956ba468.entry.js.map → p-28c37881.entry.js.map} +0 -0
- /package/dist/atomic/{p-dbdf60f1.entry.js.map → p-29ea7588.entry.js.map} +0 -0
- /package/dist/atomic/{p-bfe9f82c.entry.js.map → p-2b23778b.entry.js.map} +0 -0
- /package/dist/atomic/{p-96dff035.js.map → p-2c9fe09b.js.map} +0 -0
- /package/dist/atomic/{p-fb6fa176.entry.js.map → p-2d3fd1ad.entry.js.map} +0 -0
- /package/dist/atomic/{p-29770924.entry.js.map → p-32ce8a22.entry.js.map} +0 -0
- /package/dist/atomic/{p-fd610816.entry.js.map → p-335cb370.entry.js.map} +0 -0
- /package/dist/atomic/{p-7a46f008.entry.js.map → p-39e361f5.entry.js.map} +0 -0
- /package/dist/atomic/{p-acf9df30.entry.js.map → p-3dcb759d.entry.js.map} +0 -0
- /package/dist/atomic/{p-eec08516.js.map → p-3e63a0e0.js.map} +0 -0
- /package/dist/atomic/{p-8657c60f.js.map → p-3fd6747a.js.map} +0 -0
- /package/dist/atomic/{p-48569694.entry.js.map → p-4221be91.entry.js.map} +0 -0
- /package/dist/atomic/{p-e27716f4.entry.js.map → p-4265d7ee.entry.js.map} +0 -0
- /package/dist/atomic/{p-e95f05e2.entry.js.map → p-4266d0e3.entry.js.map} +0 -0
- /package/dist/atomic/{p-379b18f7.js.map → p-452813b0.js.map} +0 -0
- /package/dist/atomic/{p-925df073.js.map → p-4673702a.js.map} +0 -0
- /package/dist/atomic/{p-d99d9029.js.map → p-479e4a77.js.map} +0 -0
- /package/dist/atomic/{p-7841a5db.entry.js.map → p-48a1ea74.entry.js.map} +0 -0
- /package/dist/atomic/{p-022fb63e.js.map → p-4a89ec63.js.map} +0 -0
- /package/dist/atomic/{p-c890e628.entry.js.map → p-4c2b2a60.entry.js.map} +0 -0
- /package/dist/atomic/{p-3dea668d.js.map → p-4f0e10fc.js.map} +0 -0
- /package/dist/atomic/{p-f43b0fb0.entry.js.map → p-561e67b6.entry.js.map} +0 -0
- /package/dist/atomic/{p-12fe77c8.entry.js.map → p-58a9e27f.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e7fe539.entry.js.map → p-5a906a5a.entry.js.map} +0 -0
- /package/dist/atomic/{p-bcdd5f89.js.map → p-5d3d2e6b.js.map} +0 -0
- /package/dist/atomic/{p-b97cee4f.entry.js.map → p-674ee515.entry.js.map} +0 -0
- /package/dist/atomic/{p-5aec26df.entry.js.map → p-6ac735ea.entry.js.map} +0 -0
- /package/dist/atomic/{p-d951a973.js.map → p-6b524885.js.map} +0 -0
- /package/dist/atomic/{p-529bee08.entry.js.map → p-6c5e8480.entry.js.map} +0 -0
- /package/dist/atomic/{p-277b1db2.entry.js.map → p-751a8fb3.entry.js.map} +0 -0
- /package/dist/atomic/{p-d9b794b9.entry.js.map → p-7a69ede9.entry.js.map} +0 -0
- /package/dist/atomic/{p-d955ddaa.entry.js.map → p-7d7262f2.entry.js.map} +0 -0
- /package/dist/atomic/{p-f384fad5.entry.js.map → p-7e4c8a26.entry.js.map} +0 -0
- /package/dist/atomic/{p-c8224ad2.entry.js.map → p-7f811ad1.entry.js.map} +0 -0
- /package/dist/atomic/{p-19df9146.entry.js.map → p-80adbcf0.entry.js.map} +0 -0
- /package/dist/atomic/{p-a0515cb4.entry.js.map → p-80f3add1.entry.js.map} +0 -0
- /package/dist/atomic/{p-20dfef8c.entry.js.map → p-810531d2.entry.js.map} +0 -0
- /package/dist/atomic/{p-2b3c7256.js.map → p-8202aa3e.js.map} +0 -0
- /package/dist/atomic/{p-98dc1fc0.entry.js.map → p-827095cd.entry.js.map} +0 -0
- /package/dist/atomic/{p-4a93f954.entry.js.map → p-84e4d4b1.entry.js.map} +0 -0
- /package/dist/atomic/{p-3dcd6d31.entry.js.map → p-87609b83.entry.js.map} +0 -0
- /package/dist/atomic/{p-ae6cc69a.js.map → p-88327744.js.map} +0 -0
- /package/dist/atomic/{p-5c92a7bc.entry.js.map → p-89a90af9.entry.js.map} +0 -0
- /package/dist/atomic/{p-40d210be.entry.js.map → p-8d32a49d.entry.js.map} +0 -0
- /package/dist/atomic/{p-8a471188.js.map → p-90fc6880.js.map} +0 -0
- /package/dist/atomic/{p-428338f2.entry.js.map → p-a03d7443.entry.js.map} +0 -0
- /package/dist/atomic/{p-25ef4de8.js.map → p-a14f40f2.js.map} +0 -0
- /package/dist/atomic/{p-66a924fa.entry.js.map → p-a1935b7e.entry.js.map} +0 -0
- /package/dist/atomic/{p-2ad0a92d.js.map → p-a298a569.js.map} +0 -0
- /package/dist/atomic/{p-e7c296e8.entry.js.map → p-a8df36fd.entry.js.map} +0 -0
- /package/dist/atomic/{p-8e928c71.entry.js.map → p-afb11e96.entry.js.map} +0 -0
- /package/dist/atomic/{p-8f7b6eb3.js.map → p-b0a8207b.js.map} +0 -0
- /package/dist/atomic/{p-1c92fc2a.js.map → p-b5ecd6c0.js.map} +0 -0
- /package/dist/atomic/{p-6cf25fa0.entry.js.map → p-b8485267.entry.js.map} +0 -0
- /package/dist/atomic/{p-e6698610.entry.js.map → p-b94582fa.entry.js.map} +0 -0
- /package/dist/atomic/{p-f9fd298b.js.map → p-bb774c0e.js.map} +0 -0
- /package/dist/atomic/{p-08c3852d.js.map → p-bdb9f09c.js.map} +0 -0
- /package/dist/atomic/{p-62c8461f.js.map → p-c32ffba8.js.map} +0 -0
- /package/dist/atomic/{p-2af3ba1e.entry.js.map → p-c414c946.entry.js.map} +0 -0
- /package/dist/atomic/{p-a2b91807.entry.js.map → p-c4c32608.entry.js.map} +0 -0
- /package/dist/atomic/{p-6910ebf3.entry.js.map → p-c64dfc51.entry.js.map} +0 -0
- /package/dist/atomic/{p-81ffbea0.js.map → p-c8b5575e.js.map} +0 -0
- /package/dist/atomic/{p-5452fe74.entry.js.map → p-c8c9e33b.entry.js.map} +0 -0
- /package/dist/atomic/{p-55822187.entry.js.map → p-c8ee15bc.entry.js.map} +0 -0
- /package/dist/atomic/{p-55da20b7.entry.js.map → p-c9b172e5.entry.js.map} +0 -0
- /package/dist/atomic/{p-d6c5159b.js.map → p-d8705a4b.js.map} +0 -0
- /package/dist/atomic/{p-5e8aa5e1.entry.js.map → p-d953f42f.entry.js.map} +0 -0
- /package/dist/atomic/{p-a48efe2a.js.map → p-db0db92b.js.map} +0 -0
- /package/dist/atomic/{p-f1ae0684.entry.js.map → p-dc2c7151.entry.js.map} +0 -0
- /package/dist/atomic/{p-bb8dc05f.entry.js.map → p-dfdc2702.entry.js.map} +0 -0
- /package/dist/atomic/{p-9fb84551.entry.js.map → p-e698f44a.entry.js.map} +0 -0
- /package/dist/atomic/{p-a9ed505a.js.map → p-e6eee594.js.map} +0 -0
- /package/dist/atomic/{p-03716c6e.entry.js.map → p-e87527e3.entry.js.map} +0 -0
- /package/dist/atomic/{p-b667b889.entry.js.map → p-e9c53cd2.entry.js.map} +0 -0
- /package/dist/atomic/{p-9cb00233.entry.js.map → p-eacb0b74.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e57f4d1.js.map → p-ebd9e13e.js.map} +0 -0
- /package/dist/atomic/{p-f22c68d2.js.map → p-ff169139.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-numeric-facet.entry.js","mappings":"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","names":[],"sources":["src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.pcss?tag=atomic-numeric-facet&encapsulation=shadow","src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.tsx"],"sourcesContent":["@import '../../../common/facets/numeric-facet-common.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildFacetConditionsManager,\n FacetConditionsManager,\n buildNumericFacet,\n buildNumericFilter,\n buildNumericRange,\n buildSearchStatus,\n CategoryFacetValueRequest,\n FacetValueRequest,\n loadNumericFacetSetActions,\n NumericFacet,\n NumericFacetState,\n NumericFilter,\n NumericFilterState,\n RangeFacetRangeAlgorithm,\n RangeFacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n NumericRangeRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/stencil-facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumberInputType} from '../../../common/facets/facet-number-input/number-input-type';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {formatHumanReadable} from '../../../common/facets/numeric-facet/formatter';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/stencil-value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/stencil-values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (for example, ascending, descending).\n * An `atomic-numeric-facet` displays a facet of the results for the current query as numeric ranges.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n\n * @part input-form - The form that comprises the labels, inputs, and 'apply' button for the custom numeric range.\n * @part label-start - The label for the starting value of the custom numeric range.\n * @part label-end - The label for the ending value of the custom numeric range.\n * @part input-start - The input for the starting value of the custom numeric range.\n * @part input-end - The input for the ending value of the custom numeric range.\n * @part input-apply-button - The apply button for the custom range.\n */\n@Component({\n tag: 'atomic-numeric-facet',\n styleUrl: './atomic-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicNumericFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facetForRange?: NumericFacet;\n public facetForInput?: NumericFacet;\n public filter!: NumericFilter;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n private formatter: NumberFormatter = defaultNumberFormatter;\n private facetForRangeDependenciesManager?: FacetConditionsManager;\n private facetForInputDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n @BindStateToController('facetForRange')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('filter')\n @State()\n public filterState?: NumericFilterState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n @BindStateToController('facetForInput')\n @State()\n public facetForInputState?: NumericFacetState;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet 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 facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet 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 /**\n * The number of values to request for this facet, when there are no manual ranges.\n * If the number of values is 0, no ranges will be displayed.\n */\n @Prop({reflect: true}) public numberOfValues = 8;\n /**\n * Whether this facet should contain an input allowing users to set custom ranges.\n * Depending on the field, the input can allow either decimal or integer values.\n */\n @Prop({reflect: true}) public withInput?: NumberInputType;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'ascending' and 'descending'.\n */\n @Prop({reflect: true}) public sortCriteria: RangeFacetSortCriterion =\n 'ascending';\n /**\n * The algorithm that's used for generating the ranges of this facet when they aren't manually defined. The default value of `\"equiprobable\"` generates facet ranges which vary in size but have a more balanced number of results within each range. The value of `\"even\"` generates equally sized facet ranges across all of the results.\n */\n @Prop({reflect: true}) public rangeAlgorithm: RangeFacetRangeAlgorithm =\n 'equiprobable';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-numeric-facet\n * depends-on-abc\n * ...\n * ></atomic-numeric-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-numeric-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-numeric-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\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 is could lead to unexpected behaviors.'\n );\n }\n this.validateProps();\n this.initializeTabManager();\n this.computeFacetId();\n this.initializeFacetForInput();\n this.initializeFacetForRange();\n this.initializeFilter();\n this.initializeSearchStatus();\n this.registerFacetToStore();\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetForRangeDependenciesManager?.stopWatching();\n this.facetForInputDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private initializeSearchStatus() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n }\n private initializeTabManager() {\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n private initializeFacetForInput() {\n if (!this.withInput) {\n return;\n }\n this.facetForInput = buildNumericFacet(this.bindings.engine, {\n options: {\n numberOfValues: 1,\n generateAutomaticRanges: true,\n facetId: `${this.facetId}_input_range`,\n field: this.field,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForInputDependenciesManager = this.initializeDependenciesManager(\n this.facetForInput.state.facetId\n );\n\n return this.facetForInput;\n }\n\n private initializeFacetForRange() {\n if (this.numberOfValues <= 0) {\n return;\n }\n\n this.manualRanges = Array.from(\n this.host.querySelectorAll('atomic-numeric-range')\n ).map(({start, end, endInclusive, label}) => ({\n ...buildNumericRange({start, end, endInclusive}),\n label,\n }));\n\n this.facetForRange = buildNumericFacet(this.bindings.engine, {\n options: {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n currentValues: this.manualRanges,\n generateAutomaticRanges: !this.manualRanges.length,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForRangeDependenciesManager = this.initializeDependenciesManager(\n this.facetForRange.state.facetId\n );\n\n return this.facetForRange;\n }\n\n private initializeFilter() {\n if (!this.withInput) {\n return;\n }\n this.filter = buildNumericFilter(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input`,\n field: this.field,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.filterDependenciesManager = this.initializeDependenciesManager(\n this.filter.state.facetId\n );\n }\n\n private initializeDependenciesManager(facetId: string) {\n return buildFacetConditionsManager(this.bindings.engine, {\n facetId,\n conditions: parseDependsOn<FacetValueRequest | CategoryFacetValueRequest>(\n this.dependsOn\n ),\n });\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) =>\n formatHumanReadable({\n facetValue: value,\n logger: this.bindings.engine.logger,\n i18n: this.bindings.i18n,\n field: this.field,\n manualRanges: this.manualRanges,\n formatter: this.formatter,\n }),\n });\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.bindings.store.state.numericFacets[this.filter.state.facetId] =\n this.bindings.store.state.numericFacets[this.facetId!];\n }\n }\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput() {\n this.facetId &&\n this.bindings.engine.dispatch(\n loadNumericFacetSetActions(\n this.bindings.engine\n ).deselectAllNumericFacetValues(this.facetId)\n );\n }\n\n public render() {\n const {\n searchStatusState: {firstSearchExecuted, hasError},\n bindings: {i18n},\n } = this;\n return (\n <FacetGuard\n enabled={this.enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.filterState?.range) {\n this.filter?.clear();\n return;\n }\n this.facetForRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-facet-number-input\n type={this.withInput!}\n bindings={this.bindings}\n label={this.label}\n filter={this.filter!}\n filterState={this.filter!.state}\n ></atomic-facet-number-input>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n displayValuesAs,\n field,\n manualRanges,\n label,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={label}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={displayValuesAs}\n facetValue={value}\n field={field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() =>\n this.displayValuesAs === 'link'\n ? this.facetForRange!.toggleSingleSelect(value)\n : this.facetForRange!.toggleSelect(value)\n }\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state.range) {\n return 1;\n }\n\n return (\n this.facetForRange?.state.values.filter(({state}) => state === 'selected')\n .length || 0\n );\n }\n\n private get shouldRenderValues() {\n return (\n !this.hasInputRange &&\n this.numberOfValues > 0 &&\n !!this.valuesToRender.length\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n private get valuesToRender() {\n return (\n this.facetForRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: this.searchStatusState,\n facetValues: this.facetForInput?.state.values || [],\n hasInput: !!this.withInput,\n });\n }\n\n private computeFacetId() {\n if (this.facetId) {\n return;\n }\n\n if (this.bindings.store.state.numericFacets[this.field]) {\n this.facetId = randomID(`${this.field}_`);\n return;\n }\n\n this.facetId = this.field;\n }\n\n private get enabled() {\n return this.facetState?.enabled ?? this.filter?.state.enabled ?? true;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetForInput?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n withInput: new StringValue({constrainTo: ['integer', 'decimal']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n withInput: this.withInput,\n });\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-numeric-facet.entry.js","mappings":"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","names":[],"sources":["src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.pcss?tag=atomic-numeric-facet&encapsulation=shadow","src/components/search/facets/atomic-numeric-facet/atomic-numeric-facet.tsx"],"sourcesContent":["@import '../../../common/facets/numeric-facet-common.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildFacetConditionsManager,\n FacetConditionsManager,\n buildNumericFacet,\n buildNumericFilter,\n buildNumericRange,\n buildSearchStatus,\n CategoryFacetValueRequest,\n FacetValueRequest,\n loadNumericFacetSetActions,\n NumericFacet,\n NumericFacetState,\n NumericFilter,\n NumericFilterState,\n RangeFacetRangeAlgorithm,\n RangeFacetSortCriterion,\n SearchStatus,\n SearchStatusState,\n NumericRangeRequest,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, Element, h, Listen, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetInfo} from '../../../common/facets/facet-common-store';\nimport {FacetContainer} from '../../../common/facets/facet-container/stencil-facet-container';\nimport {FacetGuard} from '../../../common/facets/stencil-facet-guard';\nimport {FacetHeader} from '../../../common/facets/facet-header/stencil-facet-header';\nimport {NumberInputType} from '../../../common/facets/facet-number-input/number-input-type';\nimport {FacetPlaceholder} from '../../../common/facets/facet-placeholder/stencil-facet-placeholder';\nimport {formatHumanReadable} from '../../../common/facets/numeric-facet/formatter';\nimport {NumericFacetValueLink} from '../../../common/facets/numeric-facet/stencil-value-link';\nimport {NumericFacetValuesContainer} from '../../../common/facets/numeric-facet/stencil-values-container';\nimport {initializePopover} from '../../../common/facets/popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from '../../../common/facets/stencil-facet-common';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (for example, ascending, descending).\n * An `atomic-numeric-facet` displays a facet of the results for the current query as numeric ranges.\n *\n * @part facet - The wrapper for the entire facet.\n * @part placeholder - The placeholder shown before the first search is executed.\n *\n * @part label-button - The button that displays the label and allows to expand/collapse the facet.\n * @part label-button-icon - The label button icon.\n * @part clear-button - The button that resets the actively selected facet values.\n * @part clear-button-icon - The clear button icon.\n *\n * @part values - The facet values container.\n * @part value-label - The facet value label, common for all displays.\n * @part value-count - The facet value count, common for all displays.\n *\n * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.\n * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.\n * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.\n * @part value-link - The facet value when display is 'link'.\n * @part value-link-selected - The selected facet value when display is 'link'.\n\n * @part input-form - The form that comprises the labels, inputs, and 'apply' button for the custom numeric range.\n * @part label-start - The label for the starting value of the custom numeric range.\n * @part label-end - The label for the ending value of the custom numeric range.\n * @part input-start - The input for the starting value of the custom numeric range.\n * @part input-end - The input for the ending value of the custom numeric range.\n * @part input-apply-button - The apply button for the custom range.\n */\n@Component({\n tag: 'atomic-numeric-facet',\n styleUrl: './atomic-numeric-facet.pcss',\n shadow: true,\n})\nexport class AtomicNumericFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public facetForRange?: NumericFacet;\n public facetForInput?: NumericFacet;\n public filter!: NumericFilter;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @Element() private host!: HTMLElement;\n private manualRanges: (NumericRangeRequest & {label?: string})[] = [];\n private formatter: NumberFormatter = defaultNumberFormatter;\n private facetForRangeDependenciesManager?: FacetConditionsManager;\n private facetForInputDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n @BindStateToController('facetForRange')\n @State()\n public facetState!: NumericFacetState;\n @BindStateToController('filter')\n @State()\n public filterState?: NumericFilterState;\n @BindStateToController('searchStatus')\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n @BindStateToController('facetForInput')\n @State()\n public facetForInputState?: NumericFacetState;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label = 'no-label';\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet 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 facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, for example:\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet 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 /**\n * The number of values to request for this facet, when there are no manual ranges.\n * If the number of values is 0, no ranges will be displayed.\n */\n @Prop({reflect: true}) public numberOfValues = 8;\n /**\n * Whether this facet should contain an input allowing users to set custom ranges.\n * Depending on the field, the input can allow either decimal or integer values.\n */\n @Prop({reflect: true}) public withInput?: NumberInputType;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'ascending' and 'descending'.\n */\n @Prop({reflect: true}) public sortCriteria: RangeFacetSortCriterion =\n 'ascending';\n /**\n * The algorithm that's used for generating the ranges of this facet when they aren't manually defined. The default value of `\"equiprobable\"` generates facet ranges which vary in size but have a more balanced number of results within each range. The value of `\"even\"` generates equally sized facet ranges across all of the results.\n */\n @Prop({reflect: true}) public rangeAlgorithm: RangeFacetRangeAlgorithm =\n 'equiprobable';\n /**\n * Whether to display the facet values as checkboxes (multiple selection) or links (single selection).\n * Possible values are 'checkbox' and 'link'.\n */\n @Prop({reflect: true}) public displayValuesAs: 'checkbox' | 'link' =\n 'checkbox';\n /**\n * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.\n */\n @Prop({reflect: true, mutable: true}) public isCollapsed = false;\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop({reflect: true}) public injectionDepth = 1000;\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-numeric-facet\n * depends-on-abc\n * ...\n * ></atomic-numeric-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-numeric-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-numeric-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n\n private headerFocus?: FocusTargetController;\n\n private get focusTarget(): FocusTargetController {\n if (!this.headerFocus) {\n this.headerFocus = new FocusTargetController(this);\n }\n return this.headerFocus;\n }\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 is could lead to unexpected behaviors.'\n );\n }\n this.validateProps();\n this.initializeTabManager();\n this.computeFacetId();\n this.initializeFacetForInput();\n this.initializeFacetForRange();\n this.initializeFilter();\n this.initializeSearchStatus();\n this.registerFacetToStore();\n }\n\n public disconnectedCallback() {\n if (this.host.isConnected) {\n return;\n }\n this.facetForRangeDependenciesManager?.stopWatching();\n this.facetForInputDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private initializeSearchStatus() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n }\n private initializeTabManager() {\n this.tabManager = buildTabManager(this.bindings.engine);\n }\n private initializeFacetForInput() {\n if (!this.withInput) {\n return;\n }\n this.facetForInput = buildNumericFacet(this.bindings.engine, {\n options: {\n numberOfValues: 1,\n generateAutomaticRanges: true,\n facetId: `${this.facetId}_input_range`,\n field: this.field,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForInputDependenciesManager = this.initializeDependenciesManager(\n this.facetForInput.state.facetId\n );\n\n return this.facetForInput;\n }\n\n private initializeFacetForRange() {\n if (this.numberOfValues <= 0) {\n return;\n }\n\n this.manualRanges = Array.from(\n this.host.querySelectorAll('atomic-numeric-range')\n ).map(({start, end, endInclusive, label}) => ({\n ...buildNumericRange({start, end, endInclusive}),\n label,\n }));\n\n this.facetForRange = buildNumericFacet(this.bindings.engine, {\n options: {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n rangeAlgorithm: this.rangeAlgorithm,\n currentValues: this.manualRanges,\n generateAutomaticRanges: !this.manualRanges.length,\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.facetForRangeDependenciesManager = this.initializeDependenciesManager(\n this.facetForRange.state.facetId\n );\n\n return this.facetForRange;\n }\n\n private initializeFilter() {\n if (!this.withInput) {\n return;\n }\n this.filter = buildNumericFilter(this.bindings.engine, {\n options: {\n facetId: `${this.facetId}_input`,\n field: this.field,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n },\n });\n\n this.filterDependenciesManager = this.initializeDependenciesManager(\n this.filter.state.facetId\n );\n }\n\n private initializeDependenciesManager(facetId: string) {\n return buildFacetConditionsManager(this.bindings.engine, {\n facetId,\n conditions: parseDependsOn<FacetValueRequest | CategoryFacetValueRequest>(\n this.dependsOn\n ),\n });\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.bindings.i18n.t(this.label),\n facetId: this.facetId!,\n element: this.host,\n isHidden: () => this.isHidden,\n };\n\n this.bindings.store.registerFacet('numericFacets', {\n ...facetInfo,\n format: (value) =>\n formatHumanReadable({\n facetValue: value,\n logger: this.bindings.engine.logger,\n i18n: this.bindings.i18n,\n field: this.field,\n manualRanges: this.manualRanges,\n formatter: this.formatter,\n }),\n });\n\n initializePopover(this.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.bindings.store.state.numericFacets[this.filter.state.facetId] =\n this.bindings.store.state.numericFacets[this.facetId!];\n }\n }\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n @Listen('atomic/numberInputApply')\n public applyNumberInput() {\n this.facetId &&\n this.bindings.engine.dispatch(\n loadNumericFacetSetActions(\n this.bindings.engine\n ).deselectAllNumericFacetValues(this.facetId)\n );\n }\n\n public render() {\n const {\n searchStatusState: {firstSearchExecuted, hasError},\n bindings: {i18n},\n } = this;\n return (\n <FacetGuard\n enabled={this.enabled}\n firstSearchExecuted={firstSearchExecuted}\n hasError={hasError}\n hasResults={this.shouldRenderFacet}\n >\n {firstSearchExecuted ? (\n <FacetContainer>\n <FacetHeader\n i18n={i18n}\n label={this.label}\n onClearFilters={() => {\n this.focusTarget.focusAfterSearch();\n if (this.filterState?.range) {\n this.filter?.clear();\n return;\n }\n this.facetForRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={this.isCollapsed}\n headingLevel={this.headingLevel}\n onToggleCollapse={() => (this.isCollapsed = !this.isCollapsed)}\n headerRef={(el) => this.focusTarget.setTarget(el)}\n />\n {!this.isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && (\n <atomic-facet-number-input\n type={this.withInput!}\n bindings={this.bindings}\n label={this.label}\n filter={this.filter!}\n filterState={this.filter!.state}\n ></atomic-facet-number-input>\n ),\n ]}\n </FacetContainer>\n ) : (\n <FacetPlaceholder\n isCollapsed={this.isCollapsed}\n numberOfValues={this.numberOfValues}\n />\n )}\n </FacetGuard>\n );\n }\n\n private renderValues() {\n const {\n displayValuesAs,\n field,\n manualRanges,\n label,\n bindings: {\n i18n,\n engine: {logger},\n },\n formatter,\n } = this;\n\n return (\n <NumericFacetValuesContainer i18n={i18n} label={label}>\n {this.valuesToRender.map((value) => (\n <NumericFacetValueLink\n formatter={formatter}\n displayValuesAs={displayValuesAs}\n facetValue={value}\n field={field}\n i18n={i18n}\n logger={logger}\n manualRanges={manualRanges}\n onClick={() =>\n this.displayValuesAs === 'link'\n ? this.facetForRange!.toggleSingleSelect(value)\n : this.facetForRange!.toggleSelect(value)\n }\n />\n ))}\n </NumericFacetValuesContainer>\n );\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state.range) {\n return 1;\n }\n\n return (\n this.facetForRange?.state.values.filter(({state}) => state === 'selected')\n .length || 0\n );\n }\n\n private get shouldRenderValues() {\n return (\n !this.hasInputRange &&\n this.numberOfValues > 0 &&\n !!this.valuesToRender.length\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n private get valuesToRender() {\n return (\n this.facetForRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInputRange: this.hasInputRange,\n searchStatusState: this.searchStatusState,\n facetValues: this.facetForInput?.state.values || [],\n hasInput: !!this.withInput,\n });\n }\n\n private computeFacetId() {\n if (this.facetId) {\n return;\n }\n\n if (this.bindings.store.state.numericFacets[this.field]) {\n this.facetId = randomID(`${this.field}_`);\n return;\n }\n\n this.facetId = this.field;\n }\n\n private get enabled() {\n return this.facetState?.enabled ?? this.filter?.state.enabled ?? true;\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get hasValues() {\n if (this.facetForInput?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private validateProps() {\n new Schema({\n displayValuesAs: new StringValue({constrainTo: ['checkbox', 'link']}),\n withInput: new StringValue({constrainTo: ['integer', 'decimal']}),\n }).validate({\n displayValuesAs: this.displayValuesAs,\n withInput: this.withInput,\n });\n }\n}\n"],"version":3}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { h, r as registerInstance, c as createEvent, F as Fragment } from './index-
|
|
1
|
+
import { h, r as registerInstance, c as createEvent, F as Fragment } from './index-d03d85cb.js';
|
|
2
2
|
import { buildInteractiveResult } from '@coveo/headless';
|
|
3
3
|
import { C as CloseIcon } from './close-ff816971.js';
|
|
4
|
-
import { I as InitializeBindings } from './initialization-utils-
|
|
4
|
+
import { I as InitializeBindings } from './initialization-utils-264915a2.js';
|
|
5
5
|
import { A as ATOMIC_MODAL_EXPORT_PARTS } from './export-parts-14a53e2c.js';
|
|
6
|
-
import { I as IconButton } from './stencil-iconButton-
|
|
7
|
-
import { L as LinkWithItemAnalytics } from './stencil-item-link-
|
|
8
|
-
import { B as Button } from './stencil-button-
|
|
9
|
-
import { S as StencilCheckbox } from './stencil-checkbox-
|
|
10
|
-
import { A as
|
|
6
|
+
import { I as IconButton } from './stencil-iconButton-9e9e6576.js';
|
|
7
|
+
import { L as LinkWithItemAnalytics } from './stencil-item-link-9ac3e6b4.js';
|
|
8
|
+
import { B as Button } from './stencil-button-052bf55b.js';
|
|
9
|
+
import { S as StencilCheckbox } from './stencil-checkbox-3e2446b1.js';
|
|
10
|
+
import { A as ArrowDown } from './arrow-bottom-rounded-71aac83a.js';
|
|
11
11
|
import { A as ArrowUp } from './arrow-top-rounded-cf1dd47d.js';
|
|
12
|
-
import { F as FieldsetGroup } from './stencil-fieldset-group-
|
|
12
|
+
import { F as FieldsetGroup } from './stencil-fieldset-group-cde54e3a.js';
|
|
13
13
|
import { e as eventPromise } from './event-utils-40fded47.js';
|
|
14
14
|
import './dom-utils-f6086cd3.js';
|
|
15
15
|
import './initialization-lit-stencil-common-utils-1ee26198.js';
|
|
@@ -54,7 +54,7 @@ const Keywords = ({ words, i18n, highlightKeywords, onHighlightKeywords }) => {
|
|
|
54
54
|
keyword: keyword.text,
|
|
55
55
|
}) },
|
|
56
56
|
h("div", { class: "flex px-2" },
|
|
57
|
-
h(IconButton, { partPrefix: "sidebar-next", icon:
|
|
57
|
+
h(IconButton, { partPrefix: "sidebar-next", icon: ArrowDown, disabled: !wordIsEnabled, style: "text-transparent", class: "border-0", ariaLabel: i18n.t('next'), title: i18n.t('next'), onClick: () => keyword.navigateForward() }),
|
|
58
58
|
h(IconButton, { partPrefix: "sidebar-previous", icon: ArrowUp, disabled: !wordIsEnabled, style: "text-transparent", class: "border-0", ariaLabel: i18n.t('previous'), title: i18n.t('previous'), onClick: () => keyword.navigateBackward() })))),
|
|
59
59
|
h(IconButton, { partPrefix: "sidebar-remove-word", class: `${highlightKeywords.highlightNone
|
|
60
60
|
? 'pointer-events-none opacity-50'
|
|
@@ -662,7 +662,7 @@ const AtomicQuickviewModal = class {
|
|
|
662
662
|
});
|
|
663
663
|
}
|
|
664
664
|
render() {
|
|
665
|
-
return (h("atomic-modal", { key: '
|
|
665
|
+
return (h("atomic-modal", { key: '7f82591040ebcc0846b6527ce42c834ed7ce8808', fullscreen: this.bindings.store.isMobile(), class: 'atomic-quickview-modal', isOpen: this.isOpen, close: () => this.onClose(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
|
|
666
666
|
}
|
|
667
667
|
static get watchers() { return {
|
|
668
668
|
"highlightKeywords": ["watchHighlightKeywords"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-quickview-modal.entry.js","mappings":"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","names":["ArrowDown"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/stencil-highlight-keywords-checkbox.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-keywords.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-minimize-button.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/color-parser.ts","src/components/search/result-template-components/quickview-word-highlight/text-parser.ts","src/components/search/result-template-components/quickview-word-highlight/iframe-parser.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.ts","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\n\n/**\n * @internal\n */\nexport const HighlightKeywordsCheckbox: FunctionalComponent<{\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n}> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => [\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>,\n !minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n ),\n];\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\n/**\n * @internal\n */\nexport const Keywords: FunctionalComponent<{\n i18n: i18n;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n highlightKeywords: HighlightKeywords;\n words: Record<string, QuickviewWordHighlight>;\n}> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {identifierKeywordsSection} from './stencil-keywords';\n\n/**\n * @internal\n */\nexport const MinimizeButton: FunctionalComponent<{\n i18n: i18n;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n highlightKeywords: HighlightKeywords;\n wordsLength: number;\n}> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\nimport {HighlightKeywordsCheckbox} from './stencil-highlight-keywords-checkbox';\nimport {Keywords} from './stencil-keywords';\nimport {MinimizeButton} from './stencil-minimize-button';\n\ninterface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n","import {eventPromise} from '@/src/utils/event-utils';\nimport {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\n// We can't access iframe.contentDocument until the element is added to the parent doc\n//\n// There are only 2 safe ways to get a callback when the iframe is added:\n// - Adding a MutationObserver on the parent document. Works, but very verbose, needs to be de-registered, and could interfere with other frameworks\n// - Adding a load event listener on the iframe. This is technically after the iframe loads its src, but since src is about:blank, it boils down to what we want.\nconst iframeConnectedEvent = async (\n iframe: HTMLIFrameElement,\n logger?: SearchEngine['logger']\n) => {\n if (iframe.isConnected) {\n // The iframe is already connected.\n // There would likely be no load event to catch anyway.\n return;\n }\n\n // There could be edge cases where the iframe never loads, so add a timeout to gracefully handle errors.\n const timeoutMs = 1000;\n\n await eventPromise(iframe, 'load', timeoutMs).catch(() => {\n logger?.warn('Quickview timed out waiting for the iframe to load.');\n });\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n await iframeConnectedEvent(iframeRef, logger);\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {hsvToRgb, rgbToHsv} from '@/src/utils/color-utils';\n\n/**\n * @internal\n */\nexport class ColorParser {\n private static readonly REGEX =\n /\\s*rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)/i;\n\n private red: number = 255;\n private green: number = 255;\n private blue: number = 255;\n\n constructor(private color: string) {\n const rgb = this.color.match(ColorParser.REGEX);\n if (rgb) {\n this.red = parseInt(rgb[1], 10);\n this.green = parseInt(rgb[2], 10);\n this.blue = parseInt(rgb[3], 10);\n }\n }\n\n public rgb(): string {\n return this.rgbString(this.red, this.green, this.blue);\n }\n\n public rgbInverted(): string {\n return this.rgbString(255 - this.red, 255 - this.green, 255 - this.blue);\n }\n\n public rgbSaturated(): string {\n const {h, s, v} = rgbToHsv(this.red, this.green, this.blue);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {r, g, b} = hsvToRgb(h, newSaturation, v);\n return this.rgbString(r, g, b);\n }\n\n private rgbString(r: number, g: number, b: number): string {\n return `rgb(${r}, ${g}, ${b})`;\n }\n}\n","import type {TermsToHighlight} from '@coveo/headless';\n\n/**\n * @internal\n */\nexport class TextParser {\n constructor(private stemmingInfoFromIndex: TermsToHighlight) {}\n\n public parse(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n}\n","import type {TermsToHighlight} from '@coveo/headless';\nimport {QuickviewWordHighlight} from './quickview-word-highlight';\nimport {TextParser} from './text-parser';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\n\nfunction findHighlightedElements(iframe?: HTMLIFrameElement): HTMLElement[] {\n const root = iframe?.contentDocument?.body;\n if (!root) return [];\n\n // Collect tagged word elements as well as elements whose id starts with\n // the highlight prefix. Tagged words (`<coveotaggedword>`) must be\n // considered so that invalid identifiers (e.g. id=\"invalid\") are\n // discovered and cause the appropriate error in the parser.\n const selector = `[id^=\"${HIGHLIGHT_PREFIX}\"]`;\n const query = root.querySelectorAll<HTMLElement>(selector);\n\n return Array.from(query);\n}\n\n/**\n * @internal\n */\nexport class IframeParser {\n private textParser = new TextParser(this.stemmingInfoFromIndex);\n private wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n private iframe?: HTMLIFrameElement\n ) {}\n\n public parse(): Record<string, QuickviewWordHighlight> {\n const elements = findHighlightedElements(this.iframe);\n for (const element of elements) {\n const identifier = this.parseIdentifier(element);\n if (!identifier) {\n throw new Error('Invalid keyword identifier for quickview');\n }\n\n const text = this.textParser.parse(element);\n if (!text) {\n continue;\n }\n\n const alreadyScannedKeyword = this.wordsHighlights[identifier];\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(element);\n continue;\n }\n\n const color = element.style.backgroundColor;\n const highlight = new QuickviewWordHighlight(\n identifier,\n text,\n color,\n element\n );\n this.wordsHighlights[identifier] = highlight;\n }\n\n return this.wordsHighlights;\n }\n\n private parseIdentifier(element: HTMLElement): string | null {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return parts[1];\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const parser = new IframeParser(stemmingInfoFromIndex, iframe);\n return parser.parse();\n};\n","import {ColorParser} from './color-parser';\n\nexport {getWordsHighlights, HIGHLIGHT_PREFIX} from './iframe-parser';\n\nexport class QuickviewWordHighlight {\n public readonly focusedColor: string;\n public readonly previewBorderColor: string;\n public readonly elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n public readonly indexIdentifier: string,\n public readonly text: string,\n public readonly color: string,\n element: HTMLElement\n ) {\n this.addElement(element);\n\n const colorParser = new ColorParser(color);\n this.focusedColor = colorParser.rgbInverted();\n this.previewBorderColor = colorParser.rgbSaturated();\n }\n\n public addElement(element: HTMLElement) {\n this.elements.push(element);\n }\n\n public get occurrences() {\n return this.elements.length;\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n}\n","@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/stencil-atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/stencil-quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-quickview-modal.entry.js","mappings":"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","names":[],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/stencil-highlight-keywords-checkbox.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-keywords.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-minimize-button.tsx","src/components/search/result-template-components/atomic-quickview-sidebar/stencil-atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/color-parser.ts","src/components/search/result-template-components/quickview-word-highlight/text-parser.ts","src/components/search/result-template-components/quickview-word-highlight/iframe-parser.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.ts","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\n\n/**\n * @internal\n */\nexport const HighlightKeywordsCheckbox: FunctionalComponent<{\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n}> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => [\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>,\n !minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n ),\n];\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\n/**\n * @internal\n */\nexport const Keywords: FunctionalComponent<{\n i18n: i18n;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n highlightKeywords: HighlightKeywords;\n words: Record<string, QuickviewWordHighlight>;\n}> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {identifierKeywordsSection} from './stencil-keywords';\n\n/**\n * @internal\n */\nexport const MinimizeButton: FunctionalComponent<{\n i18n: i18n;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n highlightKeywords: HighlightKeywords;\n wordsLength: number;\n}> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\nimport {HighlightKeywordsCheckbox} from './stencil-highlight-keywords-checkbox';\nimport {Keywords} from './stencil-keywords';\nimport {MinimizeButton} from './stencil-minimize-button';\n\ninterface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n","import {eventPromise} from '@/src/utils/event-utils';\nimport {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\n// We can't access iframe.contentDocument until the element is added to the parent doc\n//\n// There are only 2 safe ways to get a callback when the iframe is added:\n// - Adding a MutationObserver on the parent document. Works, but very verbose, needs to be de-registered, and could interfere with other frameworks\n// - Adding a load event listener on the iframe. This is technically after the iframe loads its src, but since src is about:blank, it boils down to what we want.\nconst iframeConnectedEvent = async (\n iframe: HTMLIFrameElement,\n logger?: SearchEngine['logger']\n) => {\n if (iframe.isConnected) {\n // The iframe is already connected.\n // There would likely be no load event to catch anyway.\n return;\n }\n\n // There could be edge cases where the iframe never loads, so add a timeout to gracefully handle errors.\n const timeoutMs = 1000;\n\n await eventPromise(iframe, 'load', timeoutMs).catch(() => {\n logger?.warn('Quickview timed out waiting for the iframe to load.');\n });\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n await iframeConnectedEvent(iframeRef, logger);\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {hsvToRgb, rgbToHsv} from '@/src/utils/color-utils';\n\n/**\n * @internal\n */\nexport class ColorParser {\n private static readonly REGEX =\n /\\s*rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)/i;\n\n private red: number = 255;\n private green: number = 255;\n private blue: number = 255;\n\n constructor(private color: string) {\n const rgb = this.color.match(ColorParser.REGEX);\n if (rgb) {\n this.red = parseInt(rgb[1], 10);\n this.green = parseInt(rgb[2], 10);\n this.blue = parseInt(rgb[3], 10);\n }\n }\n\n public rgb(): string {\n return this.rgbString(this.red, this.green, this.blue);\n }\n\n public rgbInverted(): string {\n return this.rgbString(255 - this.red, 255 - this.green, 255 - this.blue);\n }\n\n public rgbSaturated(): string {\n const {h, s, v} = rgbToHsv(this.red, this.green, this.blue);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {r, g, b} = hsvToRgb(h, newSaturation, v);\n return this.rgbString(r, g, b);\n }\n\n private rgbString(r: number, g: number, b: number): string {\n return `rgb(${r}, ${g}, ${b})`;\n }\n}\n","import type {TermsToHighlight} from '@coveo/headless';\n\n/**\n * @internal\n */\nexport class TextParser {\n constructor(private stemmingInfoFromIndex: TermsToHighlight) {}\n\n public parse(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n}\n","import type {TermsToHighlight} from '@coveo/headless';\nimport {QuickviewWordHighlight} from './quickview-word-highlight';\nimport {TextParser} from './text-parser';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\n\nfunction findHighlightedElements(iframe?: HTMLIFrameElement): HTMLElement[] {\n const root = iframe?.contentDocument?.body;\n if (!root) return [];\n\n // Collect tagged word elements as well as elements whose id starts with\n // the highlight prefix. Tagged words (`<coveotaggedword>`) must be\n // considered so that invalid identifiers (e.g. id=\"invalid\") are\n // discovered and cause the appropriate error in the parser.\n const selector = `[id^=\"${HIGHLIGHT_PREFIX}\"]`;\n const query = root.querySelectorAll<HTMLElement>(selector);\n\n return Array.from(query);\n}\n\n/**\n * @internal\n */\nexport class IframeParser {\n private textParser = new TextParser(this.stemmingInfoFromIndex);\n private wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n private iframe?: HTMLIFrameElement\n ) {}\n\n public parse(): Record<string, QuickviewWordHighlight> {\n const elements = findHighlightedElements(this.iframe);\n for (const element of elements) {\n const identifier = this.parseIdentifier(element);\n if (!identifier) {\n throw new Error('Invalid keyword identifier for quickview');\n }\n\n const text = this.textParser.parse(element);\n if (!text) {\n continue;\n }\n\n const alreadyScannedKeyword = this.wordsHighlights[identifier];\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(element);\n continue;\n }\n\n const color = element.style.backgroundColor;\n const highlight = new QuickviewWordHighlight(\n identifier,\n text,\n color,\n element\n );\n this.wordsHighlights[identifier] = highlight;\n }\n\n return this.wordsHighlights;\n }\n\n private parseIdentifier(element: HTMLElement): string | null {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return parts[1];\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const parser = new IframeParser(stemmingInfoFromIndex, iframe);\n return parser.parse();\n};\n","import {ColorParser} from './color-parser';\n\nexport {getWordsHighlights, HIGHLIGHT_PREFIX} from './iframe-parser';\n\nexport class QuickviewWordHighlight {\n public readonly focusedColor: string;\n public readonly previewBorderColor: string;\n public readonly elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n public readonly indexIdentifier: string,\n public readonly text: string,\n public readonly color: string,\n element: HTMLElement\n ) {\n this.addElement(element);\n\n const colorParser = new ColorParser(color);\n this.focusedColor = colorParser.rgbInverted();\n this.previewBorderColor = colorParser.rgbSaturated();\n }\n\n public addElement(element: HTMLElement) {\n this.elements.push(element);\n }\n\n public get occurrences() {\n return this.elements.length;\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n}\n","@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/stencil-atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/stencil-quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|