@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":"stencil-result-template-decorators-
|
|
1
|
+
{"file":"stencil-result-template-decorators-5e987020.js","mappings":";;AASA;;;;;;;;;;;SAWgB,aAAa,CAAC,OAA0B,EAAC,MAAM,EAAE,KAAK,EAAC;IACrE,OAAO,WAAW,CAAC,EAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;AACzE,CAAC;SAEe,wBAAwB;IACtC,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC;AAKD;;;;;;;;;;;;SAYgB,aAAa,CAC3B,OAAgB;IAEhB,OAAO,WAAW,CAAI,OAAO,EAAE,eAAe,CAAC,CAAC;AAClD;;;;","names":[],"sources":["src/components/search/result-template-component-utils/context/stencil-result-template-decorators.tsx"],"sourcesContent":["import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `createResultContextController` from \\@/src/components/search/result-template-component-utils/context/result-context-controller.ts\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\" element.\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `fetchResultContext` from \\@/src/components/search/result-template-component-utils/context/fetch-result-context.ts\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { h } from './index-
|
|
2
|
-
import { B as Button } from './stencil-button-
|
|
3
|
-
import { R as RadioButton } from './stencil-radio-button-
|
|
4
|
-
import { H as Heading } from './stencil-heading-
|
|
1
|
+
import { h } from './index-d03d85cb.js';
|
|
2
|
+
import { B as Button } from './stencil-button-052bf55b.js';
|
|
3
|
+
import { R as RadioButton } from './stencil-radio-button-52c4b049.js';
|
|
4
|
+
import { H as Heading } from './stencil-heading-b835c763.js';
|
|
5
5
|
|
|
6
6
|
const Checkmark = `<svg fill="none" width="14" height="14" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" stroke="currentColor" stroke-linecap="round"/><path d="M4 7.07692L6 9L10 5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>`;
|
|
7
7
|
|
|
@@ -66,4 +66,4 @@ const SmartSnippetFooter = ({ i18n }, children) => {
|
|
|
66
66
|
|
|
67
67
|
export { SmartSnippetQuestion as S, SmartSnippetFooter as a, SmartSnippetFeedbackBanner as b, SmartSnippetWrapper as c, SmartSnippetTruncatedAnswer as d };
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=stencil-smart-snippet-common-
|
|
69
|
+
//# sourceMappingURL=stencil-smart-snippet-common-98f4f06d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"stencil-smart-snippet-common-
|
|
1
|
+
{"file":"stencil-smart-snippet-common-98f4f06d.js","mappings":"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","names":[],"sources":["src/components/common/smart-snippets/stencil-smart-snippet-feedback-banner.tsx","src/components/common/smart-snippets/atomic-smart-snippet/stencil-smart-snippet-common.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Checkmark from '../../../images/checkmark.svg';\nimport Cross from '../../../images/cross.svg';\nimport {Button} from '../stencil-button';\nimport {RadioButton} from '../stencil-radio-button';\n\ninterface SmartSnippetFeedbackBannerProps {\n i18n: i18n;\n id: string;\n liked: boolean;\n disliked: boolean;\n feedbackSent: boolean;\n onLike(): void;\n onDislike(): void;\n onPressExplainWhy(): void;\n explainWhyRef?(element?: HTMLButtonElement): void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackBanner: FunctionalComponent<\n SmartSnippetFeedbackBannerProps\n> = (props) => {\n const inquiryId = 'feedback-inquiry-' + props.id;\n const thankYouId = 'feedback-thank-you-' + props.id;\n const radioGroupName = 'feedback-options-' + props.id;\n\n const Inquiry = () => (\n <span id={inquiryId} part=\"feedback-inquiry\" class=\"shrink-0\">\n {props.i18n.t('smart-snippet-feedback-inquiry')}\n </span>\n );\n\n const Buttons = () => (\n <div part=\"feedback-buttons\" class=\"flex gap-x-4\">\n <label\n part=\"feedback-like-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.liked ? 'text-success' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Checkmark} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('yes')}\n checked={props.liked}\n onChecked={() => props.onLike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n <label\n part=\"feedback-dislike-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.disliked ? 'text-error' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Cross} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('no')}\n checked={props.disliked}\n onChecked={() => props.onDislike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n </div>\n );\n\n const ThankYouMessage = () => (\n <span id={thankYouId} part=\"feedback-thank-you\" class=\"inline-flex\">\n {props.i18n.t('smart-snippet-feedback-thanks')}\n </span>\n );\n\n const ExplainWhyButton = () => (\n <Button\n part=\"feedback-explain-why-button\"\n style=\"text-primary\"\n onClick={() => props.onPressExplainWhy()}\n ref={(element) => props.explainWhyRef?.(element)}\n >\n {props.i18n.t('smart-snippet-feedback-explain-why')}\n </Button>\n );\n\n const ThankYouContainer = ({visible}: {visible: boolean}) =>\n visible ? (\n <div part=\"feedback-thank-you-wrapper\" class=\"flex flex-wrap gap-1\">\n <ThankYouMessage></ThankYouMessage>\n {props.disliked && !props.feedbackSent ? (\n <ExplainWhyButton></ExplainWhyButton>\n ) : (\n []\n )}\n </div>\n ) : (\n []\n );\n\n return (\n <div\n part=\"feedback-banner\"\n class=\"flex flex-wrap items-center gap-4 text-sm leading-4\"\n >\n <div\n part=\"feedback-inquiry-and-buttons\"\n role=\"radiogroup\"\n aria-labelledby={inquiryId}\n class=\"inline-flex flex-wrap gap-4\"\n >\n <Inquiry></Inquiry>\n <Buttons></Buttons>\n </div>\n <ThankYouContainer\n visible={props.liked || props.disliked}\n ></ThankYouContainer>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Heading} from '../../stencil-heading';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetWrapper: FunctionalComponent<{\n headingLevel?: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside aria-label={i18n.t('smart-snippet')}>\n <Heading level={headingLevel ?? 0} class=\"sr-only\">\n {i18n.t('smart-snippet')}\n </Heading>\n <article\n class=\"bg-background border-neutral text-on-background rounded-lg border p-6 pb-4\"\n part=\"smart-snippet\"\n >\n {children}\n </article>\n </aside>\n );\n};\n\ninterface SmartSnippetQuestionProps {\n headingLevel?: number;\n question: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetQuestion: FunctionalComponent<SmartSnippetQuestionProps> = ({headingLevel, question}) => {\n return (\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"text-xl font-bold\"\n part=\"question\"\n >\n {question}\n </Heading>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetTruncatedAnswer: FunctionalComponent<{\n answer: string;\n style?: string;\n}> = ({answer, style}) => {\n return (\n <div part=\"truncated-answer\">\n <atomic-smart-snippet-answer\n exportparts=\"answer\"\n part=\"body\"\n htmlContent={answer}\n innerStyle={style}\n ></atomic-smart-snippet-answer>\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFooter: FunctionalComponent<{i18n: i18n}> = (\n {i18n},\n children\n) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n"],"version":3}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h } from './index-
|
|
2
|
-
import { B as Button } from './stencil-button-
|
|
1
|
+
import { h } from './index-d03d85cb.js';
|
|
2
|
+
import { B as Button } from './stencil-button-052bf55b.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @deprecated should only be used for Stencil components.
|
|
@@ -76,4 +76,4 @@ const smartSnippetFeedbackOptions = [
|
|
|
76
76
|
|
|
77
77
|
export { SmartSnippetFeedbackModalFooter as S, SmartSnippetFeedbackModalBody as a, SmartSnippetFeebackModalOptions as b, SmartSnippetFeedbackModalOption as c, SmartSnippetFeedbackModalDetails as d, SmartSnippetFeedbackModalHeader as e, smartSnippetFeedbackOptions as s };
|
|
78
78
|
|
|
79
|
-
//# sourceMappingURL=stencil-smart-snippet-feedback-modal-common-
|
|
79
|
+
//# sourceMappingURL=stencil-smart-snippet-feedback-modal-common-0575519d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"stencil-smart-snippet-feedback-modal-common-
|
|
1
|
+
{"file":"stencil-smart-snippet-feedback-modal-common-0575519d.js","mappings":"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","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/stencil-smart-snippet-feedback-modal-common.tsx"],"sourcesContent":["import type {SmartSnippetFeedback} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackModalHeader: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}) => {\n return <h1 slot=\"header\">{i18n.t('smart-snippet-feedback-explain-why')}</h1>;\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackModalBody: FunctionalComponent<{\n formId: string;\n onSubmit: (e: Event) => void;\n}> = ({formId, onSubmit}, children) => {\n return (\n <form\n part=\"form\"\n id={formId}\n slot=\"body\"\n onSubmit={onSubmit}\n class=\"flex flex-col gap-8\"\n >\n {children}\n </form>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeebackModalOptions: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <fieldset>\n <legend part=\"reason-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('smart-snippet-feedback-select-reason')}\n </legend>\n {children}\n </fieldset>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackModalOption: FunctionalComponent<{\n correspondingAnswer: SmartSnippetFeedback | 'other';\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n id: string;\n localeKey: string;\n onChange: (e: Event) => void;\n}> = ({correspondingAnswer, currentAnswer, i18n, id, localeKey, onChange}) => {\n return (\n <div class=\"flex items-center\" key={id} part=\"reason\">\n <input\n part=\"reason-radio\"\n type=\"radio\"\n name=\"answer\"\n id={id}\n checked={currentAnswer === correspondingAnswer}\n onChange={onChange}\n class=\"mr-2 h-4 w-4\"\n required\n />\n <label part=\"reason-label\" htmlFor={id}>\n {i18n.t(localeKey)}\n </label>\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackModalDetails: FunctionalComponent<{\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n setDetailsInputRef: (ref?: HTMLTextAreaElement) => void;\n}> = ({currentAnswer, i18n, setDetailsInputRef}) => {\n if (currentAnswer !== 'other') {\n return;\n }\n\n return (\n <fieldset>\n <legend part=\"details-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('details')}\n </legend>\n <textarea\n part=\"details-input\"\n name=\"answer-details\"\n ref={setDetailsInputRef}\n class=\"border-neutral mt-2 w-full resize-none rounded border p-2 text-base leading-5\"\n rows={4}\n required\n ></textarea>\n </fieldset>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetFeedbackModalFooter: FunctionalComponent<{\n formId: string;\n i18n: i18n;\n onClick: (e: MouseEvent) => void;\n}> = ({formId, i18n, onClick}) => {\n return (\n <div part=\"buttons\" slot=\"footer\" class=\"flex justify-end gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-neutral\"\n class=\"text-primary\"\n onClick={onClick}\n >\n {i18n.t('cancel')}\n </Button>\n <Button part=\"submit-button\" style=\"primary\" type=\"submit\" form={formId}>\n {i18n.t('feedback-send')}\n </Button>\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const smartSnippetFeedbackOptions: {\n id: string;\n localeKey: string;\n correspondingAnswer: SmartSnippetFeedback | 'other';\n}[] = [\n {\n id: 'does-not-answer',\n localeKey: 'smart-snippet-feedback-reason-does-not-answer',\n correspondingAnswer: 'does_not_answer',\n },\n {\n id: 'partially-answers',\n localeKey: 'smart-snippet-feedback-reason-partially-answers',\n correspondingAnswer: 'partially_answers',\n },\n {\n id: 'was-not-a-question',\n localeKey: 'smart-snippet-feedback-reason-was-not-a-question',\n correspondingAnswer: 'was_not_a_question',\n },\n {\n id: 'other',\n localeKey: 'smart-snippet-feedback-reason-other',\n correspondingAnswer: 'other',\n },\n];\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { h } from './index-
|
|
2
|
-
import { B as Button } from './stencil-button-
|
|
3
|
-
import { H as Heading } from './stencil-heading-
|
|
1
|
+
import { h } from './index-d03d85cb.js';
|
|
2
|
+
import { B as Button } from './stencil-button-052bf55b.js';
|
|
3
|
+
import { H as Heading } from './stencil-heading-b835c763.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @deprecated should only be used for Stencil components.
|
|
@@ -44,4 +44,4 @@ const getQuestionPart = (base, expanded) => `question-${base}-${expanded ? 'expa
|
|
|
44
44
|
|
|
45
45
|
export { SmartSnippetSuggestionsWrapper as S, SmartSnippetSuggestionsQuestion as a, SmartSnippetSuggestionsQuestionWrapper as b, SmartSnippetSuggestionsAnswerAndSourceWrapper as c, SmartSnippetSuggestionsFooter as d, getQuestionPart as g };
|
|
46
46
|
|
|
47
|
-
//# sourceMappingURL=stencil-smart-snippet-suggestions-common-
|
|
47
|
+
//# sourceMappingURL=stencil-smart-snippet-suggestions-common-2c1de677.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"stencil-smart-snippet-suggestions-common-
|
|
1
|
+
{"file":"stencil-smart-snippet-suggestions-common-2c1de677.js","mappings":";;;;AAKA;;;MAGa,8BAA8B,GAGtC,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,EAAE,QAAQ;IAClC,QACE,aACE,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,mFAAmF,gBAC7E,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC;QAEnD,EAAC,OAAO,IACN,KAAK,EAAE,YAAY,EACnB,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,qDAAqD,IAE1D,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAChC;QACV,UAAI,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,yBAAyB,IACjD,QAAQ,CACN,CACC,EACR;AACJ,EAAE;AAEF;;;MAGa,sCAAsC,GAG9C,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,EAAE,QAAQ;IAC7B,QACE,UACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,mBAAmB,QAAQ,GAAG,UAAU,GAAG,WAAW,EAAE,EAC9D,KAAK,EAAC,eAAe;QAErB,eAAS,KAAK,EAAC,UAAU,IAAE,QAAQ,CAAW,CAC3C,EACL;AACJ,EAAE;AAEF;;;MAGa,+BAA+B,GAMvC,CACH,EAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAC,EACzD,UAAU;IAEV,QACE,EAAC,MAAM,IACL,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACzC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,wBAAwB,EAC9B,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC3C,YAAY,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;QAEhD,UAAU;QACX,EAAC,OAAO,IACN,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,EAC1C,KAAK,EAAC,kCAAkC,EACxC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,IAEtC,QAAQ,CACD,CACH,EACT;AACJ,EAAE;AAEF;;;MAGa,6CAA6C,GAGrD,CAAC,EAAC,EAAE,EAAC,EAAE,QAAQ;IAClB,QACE,WAAK,IAAI,EAAC,mBAAmB,EAAC,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,EAAE,IACzD,QAAQ,CACL,EACN;AACJ,EAAE;AAEF;;;MAGa,6BAA6B,GAErC,CAAC,EAAC,IAAI,EAAC,EAAE,QAAQ;IACpB,QACE,cAAQ,IAAI,EAAC,QAAQ,gBAAa,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAC7D,QAAQ,CACF,EACT;AACJ,EAAE;AAEF;;;MAGa,eAAe,GAAG,CAAC,IAAY,EAAE,QAAiB,KAC7D,YAAY,IAAI,IAAI,QAAQ,GAAG,UAAU,GAAG,WAAW;;;;","names":[],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-suggestions/stencil-smart-snippet-suggestions-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\nimport {Heading} from '../../stencil-heading';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsWrapper: FunctionalComponent<{\n headingLevel: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside\n part=\"container\"\n class=\"bg-background border-neutral text-on-background overflow-hidden rounded-lg border\"\n aria-label={i18n.t('smart-snippet-people-also-ask')}\n >\n <Heading\n level={headingLevel}\n part=\"heading\"\n class=\"border-neutral border-b px-6 py-4 text-xl leading-8\"\n >\n {i18n.t('smart-snippet-people-also-ask')}\n </Heading>\n <ul part=\"questions\" class=\"divide-neutral divide-y\">\n {children}\n </ul>\n </aside>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsQuestionWrapper: FunctionalComponent<{\n expanded: boolean;\n key: string;\n}> = ({expanded, key}, children) => {\n return (\n <li\n key={key}\n part={`question-answer-${expanded ? 'expanded' : 'collapsed'}`}\n class=\"flex flex-col\"\n >\n <article class=\"contents\">{children}</article>\n </li>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsQuestion: FunctionalComponent<{\n ariaControls: string;\n expanded: boolean;\n headingLevel?: number;\n onClick: (event: MouseEvent) => void;\n question: string;\n}> = (\n {ariaControls, expanded, headingLevel, onClick, question},\n atomicIcon\n) => {\n return (\n <Button\n style=\"text-neutral\"\n part={getQuestionPart('button', expanded)}\n onClick={onClick}\n class=\"flex items-center px-4\"\n ariaExpanded={expanded ? 'true' : undefined}\n ariaControls={expanded ? ariaControls : undefined}\n >\n {atomicIcon}\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"py-4 text-left text-xl font-bold\"\n part={getQuestionPart('text', expanded)}\n >\n {question}\n </Heading>\n </Button>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsAnswerAndSourceWrapper: FunctionalComponent<{\n expanded: boolean;\n id: string;\n}> = ({id}, children) => {\n return (\n <div part=\"answer-and-source\" class=\"pr-6 pb-6 pl-10\" id={id}>\n {children}\n </div>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SmartSnippetSuggestionsFooter: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const getQuestionPart = (base: string, expanded: boolean) =>\n `question-${base}-${expanded ? 'expanded' : 'collapsed'}`;\n"],"version":3}
|
package/dist/esm/{stencil-suggestion-manager-58581612.js → stencil-suggestion-manager-54ed56cd.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h, f as forceUpdate } from './index-
|
|
2
|
-
import { B as Button } from './stencil-button-
|
|
1
|
+
import { h, f as forceUpdate } from './index-d03d85cb.js';
|
|
2
|
+
import { B as Button } from './stencil-button-052bf55b.js';
|
|
3
3
|
import { isNullOrUndefined } from '@coveo/bueno';
|
|
4
4
|
import { D as DOMPurify } from './purify-f5b917a6.js';
|
|
5
5
|
import { d as debounce } from './debounce-utils-8619dece.js';
|
|
@@ -409,4 +409,4 @@ class SuggestionManager {
|
|
|
409
409
|
|
|
410
410
|
export { SuggestionManager as S, SearchSlimIcon as a, SearchTextArea as b, SearchBoxWrapper as c };
|
|
411
411
|
|
|
412
|
-
//# sourceMappingURL=stencil-suggestion-manager-
|
|
412
|
+
//# sourceMappingURL=stencil-suggestion-manager-54ed56cd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"stencil-suggestion-manager-58581612.js","mappings":"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","names":[],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-searchbox')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\n\n/**\n * List of suggestions that will be displayed along other lists (for example, recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value, the lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the current suggested query changes as the user navigates the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"stencil-suggestion-manager-54ed56cd.js","mappings":"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","names":[],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear-searchbox')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\n\n/**\n * List of suggestions that will be displayed along other lists (for example, recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value, the lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the current suggested query changes as the user navigates the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"version":3}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { h } from './index-
|
|
1
|
+
import { h } from './index-d03d85cb.js';
|
|
2
2
|
import { p as parseDate } from './date-utils-b0be6cb5.js';
|
|
3
|
-
import { g as getFieldValueCaption, F as FacetValuesGroup } from './stencil-facet-values-group-
|
|
3
|
+
import { g as getFieldValueCaption, F as FacetValuesGroup } from './stencil-facet-values-group-faaf272d.js';
|
|
4
4
|
import { r as randomID } from './utils-6f96a4d2.js';
|
|
5
|
-
import { H as Hidden } from './initialization-utils-
|
|
6
|
-
import { F as FacetValueLabelHighlight, a as FacetValueLink,
|
|
7
|
-
import { F as FacetPlaceholder } from './stencil-facet-placeholder-
|
|
5
|
+
import { H as Hidden } from './initialization-utils-264915a2.js';
|
|
6
|
+
import { F as FacetValueLabelHighlight, a as FacetValueLink, c as FacetHeader, b as FacetContainer } from './stencil-facet-value-link-ee67f14d.js';
|
|
7
|
+
import { F as FacetPlaceholder } from './stencil-facet-placeholder-c4d453a9.js';
|
|
8
8
|
import { i as initializePopover } from './popover-type-dff88f57.js';
|
|
9
9
|
import { b as shouldDisplayInputForFacetRange } from './stencil-facet-common-e4c271f2.js';
|
|
10
10
|
|
|
@@ -207,4 +207,4 @@ class TimeframeFacetCommon {
|
|
|
207
207
|
|
|
208
208
|
export { TimeframeFacetCommon as T };
|
|
209
209
|
|
|
210
|
-
//# sourceMappingURL=timeframe-facet-common-
|
|
210
|
+
//# sourceMappingURL=timeframe-facet-common-f56695ab.js.map
|
package/dist/esm/{timeframe-facet-common-67367ccb.js.map → timeframe-facet-common-f56695ab.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"timeframe-facet-common-67367ccb.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/stencil-facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-stencil-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-stencil-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"timeframe-facet-common-f56695ab.js","mappings":"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","names":[],"sources":["src/components/common/facets/timeframe-facet-common.tsx"],"sourcesContent":["import {FocusTargetController} from '@/src/utils/stencil-accessibility-utils';\nimport {\n DateFacet,\n DateFacetValue,\n DateFilter,\n DateRangeOptions,\n DateRangeRequest,\n FacetConditionsManager,\n RangeFacetSortCriterion,\n RelativeDate,\n RelativeDatePeriod,\n RelativeDateUnit,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h, VNode} from '@stencil/core';\nimport {parseDate} from '../../../utils/date-utils';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {randomID} from '../../../utils/utils';\nimport {InsightBindings} from '../../insight/atomic-insight-interface/atomic-insight-interface';\nimport {Bindings as SearchBindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {Hidden} from '../stencil-hidden';\nimport {FacetInfo} from './facet-common-store';\nimport {FacetContainer} from './facet-container/stencil-facet-container';\nimport {FacetHeader} from './facet-header/stencil-facet-header';\nimport {FacetPlaceholder} from './facet-placeholder/stencil-facet-placeholder';\nimport {FacetValueLabelHighlight} from './facet-value-label-highlight/stencil-facet-value-label-highlight';\nimport {FacetValueLink} from './facet-value-link/stencil-facet-value-link';\nimport {FacetValuesGroup} from './facet-values-group/stencil-facet-values-group';\nimport {initializePopover} from './popover/popover-type';\nimport {shouldDisplayInputForFacetRange} from './stencil-facet-common';\n\nexport interface Timeframe {\n period: RelativeDatePeriod;\n unit?: RelativeDateUnit;\n amount?: number;\n label?: string;\n}\n\ninterface TimeframeFacetCommonOptions {\n facetId?: string;\n host: HTMLElement;\n bindings: SearchBindings | InsightBindings;\n label: string;\n field: string;\n headingLevel: number;\n dependsOn: Record<string, string>;\n withDatePicker: boolean;\n setFacetId(id: string): string;\n getSearchStatusState(): SearchStatusState;\n buildDependenciesManager(facetId: string): FacetConditionsManager;\n deserializeRelativeDate(date: string): RelativeDate;\n buildDateRange(config: DateRangeOptions): DateRangeRequest;\n initializeFacetForDatePicker(): DateFacet;\n initializeFacetForDateRange(values: DateRangeRequest[]): DateFacet;\n initializeFilter(): DateFilter;\n min?: string;\n max?: string;\n sortCriteria: RangeFacetSortCriterion;\n}\n\ninterface TimeframeFacetCommonRenderProps {\n hasError: boolean;\n firstSearchExecuted: boolean;\n isCollapsed: boolean;\n headerFocus: FocusTargetController;\n onToggleCollapse: () => boolean;\n}\n\nexport class TimeframeFacetCommon {\n private facetId?: string;\n private facetForDatePicker?: DateFacet;\n private facetForDateRange?: DateFacet;\n private filter?: DateFilter;\n private manualTimeframes: Timeframe[] = [];\n private facetForDateRangeDependenciesManager?: FacetConditionsManager;\n private facetForDatePickerDependenciesManager?: FacetConditionsManager;\n private filterDependenciesManager?: FacetConditionsManager;\n\n constructor(private props: TimeframeFacetCommonOptions) {\n this.facetId = this.determineFacetId;\n this.props.setFacetId(this.facetId);\n\n this.manualTimeframes = this.getManualTimeframes();\n\n // Initialize two facets: One that is actually used to display values for end users, which only exists\n // if we need to display something to the end user (ie: timeframes > 0)\n\n // A second facet is initialized only to verify the results count. It is never used to display results to end user.\n // It serves as a way to determine if the input should be rendered or not, independent of the ranges configured in the component\n if (this.manualTimeframes.length > 0) {\n this.facetForDateRange = this.props.initializeFacetForDateRange(\n this.currentValues\n );\n }\n\n if (this.props.withDatePicker) {\n this.facetForDatePicker = this.props.initializeFacetForDatePicker();\n this.facetForDatePickerDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDatePicker.state.facetId\n );\n this.filter = this.props.initializeFilter();\n }\n\n if (this.facetForDateRange) {\n this.facetForDateRangeDependenciesManager =\n this.props.buildDependenciesManager(\n this.facetForDateRange?.state.facetId\n );\n }\n\n if (this.filter) {\n this.filterDependenciesManager = this.props.buildDependenciesManager(\n this.filter?.state.facetId\n );\n }\n\n this.registerFacetToStore();\n }\n\n private get determineFacetId() {\n if (this.props.facetId) {\n return this.props.facetId;\n }\n\n if (this.props.bindings.store.state.dateFacets[this.props.field]) {\n return randomID(`${this.props.field}_`);\n }\n\n return this.props.field;\n }\n\n private get enabled() {\n return (\n this.facetForDateRange?.state.enabled ??\n this.filter?.state.enabled ??\n true\n );\n }\n\n private get valuesToRender() {\n return (\n this.facetForDateRange?.state.values.filter(\n (value) => value.numberOfResults || value.state !== 'idle'\n ) || []\n );\n }\n\n private get shouldRenderValues() {\n return !this.hasInputRange && !!this.valuesToRender.length;\n }\n\n private get shouldRenderFacet() {\n return this.shouldRenderInput || this.shouldRenderValues;\n }\n\n private get shouldRenderInput() {\n return shouldDisplayInputForFacetRange({\n hasInput: this.props.withDatePicker,\n hasInputRange: this.hasInputRange,\n searchStatusState: this.props.getSearchStatusState(),\n facetValues: this.facetForDatePicker?.state?.values || [],\n });\n }\n\n private get hasValues() {\n if (this.facetForDatePicker?.state.values.length) {\n return true;\n }\n\n return !!this.valuesToRender.length;\n }\n\n private get numberOfSelectedValues() {\n if (this.filter?.state?.range) {\n return 1;\n }\n\n return (\n this.facetForDateRange?.state.values.filter(\n ({state}) => state === 'selected'\n ).length || 0\n );\n }\n\n private get hasInputRange() {\n return !!this.filter?.state.range;\n }\n\n public get currentValues(): DateRangeRequest[] {\n return this.manualTimeframes.map(({period, amount, unit}) =>\n period === 'past'\n ? this.props.buildDateRange({\n start: {period, unit, amount},\n end: {period: 'now'},\n })\n : this.props.buildDateRange({\n start: {period: 'now'},\n end: {period, unit, amount},\n })\n );\n }\n\n public disconnectedCallback() {\n if (this.props.host.isConnected) {\n return;\n }\n this.facetForDateRangeDependenciesManager?.stopWatching();\n this.facetForDatePickerDependenciesManager?.stopWatching();\n this.filterDependenciesManager?.stopWatching();\n }\n\n private get isHidden() {\n return !this.shouldRenderFacet || !this.enabled;\n }\n\n private registerFacetToStore() {\n const facetInfo: FacetInfo = {\n label: () => this.props.bindings.i18n.t(this.props.label),\n facetId: this.facetId!,\n element: this.props.host,\n isHidden: () => this.isHidden,\n };\n\n this.props.bindings.store.registerFacet('dateFacets', {\n ...facetInfo,\n format: (value) => this.formatFacetValue(value),\n });\n\n initializePopover(this.props.host, {\n ...facetInfo,\n hasValues: () => this.hasValues,\n numberOfActiveValues: () => this.numberOfSelectedValues,\n });\n\n if (this.filter) {\n this.props.bindings.store.state.dateFacets[this.filter.state.facetId] =\n this.props.bindings.store.state.dateFacets[this.facetId!];\n }\n }\n\n private getManualTimeframes(): Timeframe[] {\n return Array.from(this.props.host.querySelectorAll('atomic-timeframe')).map(\n ({label, amount, unit, period}) => ({\n label,\n amount,\n unit,\n period,\n })\n );\n }\n\n private formatFacetValue(facetValue: DateFacetValue) {\n try {\n const startDate = this.props.deserializeRelativeDate(facetValue.start);\n const relativeDate =\n startDate.period === 'past'\n ? startDate\n : this.props.deserializeRelativeDate(facetValue.end);\n const timeframe = this.getManualTimeframes().find(\n (timeframe) =>\n timeframe.period === relativeDate.period &&\n timeframe.unit === relativeDate.unit &&\n timeframe.amount === relativeDate.amount\n );\n\n if (timeframe?.label) {\n return getFieldValueCaption(\n this.props.field,\n timeframe.label,\n this.props.bindings.i18n\n );\n }\n return this.props.bindings.i18n.t(\n `${relativeDate.period}-${relativeDate.unit}`,\n {\n count: relativeDate.amount,\n }\n );\n } catch (error) {\n return this.props.bindings.i18n.t('to', {\n start: parseDate(facetValue.start).format('YYYY-MM-DD'),\n end: parseDate(facetValue.end).format('YYYY-MM-DD'),\n });\n }\n }\n private renderValues() {\n return this.renderValuesContainer(\n this.valuesToRender.map((value) => this.renderValue(value))\n );\n }\n private renderValue(facetValue: DateFacetValue) {\n const displayValue = this.formatFacetValue(facetValue);\n const isSelected = facetValue.state === 'selected';\n const isExcluded = facetValue.state === 'excluded';\n return (\n <FacetValueLink\n displayValue={displayValue}\n isSelected={isSelected}\n numberOfResults={facetValue.numberOfResults}\n i18n={this.props.bindings.i18n}\n onClick={() => this.facetForDateRange!.toggleSingleSelect(facetValue)}\n >\n <FacetValueLabelHighlight\n displayValue={displayValue}\n isSelected={isSelected}\n isExcluded={isExcluded}\n ></FacetValueLabelHighlight>\n </FacetValueLink>\n );\n }\n\n private renderValuesContainer(children: VNode[]) {\n return (\n <FacetValuesGroup\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n >\n <ul class=\"mt-3\" part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderHeader(\n isCollapsed: boolean,\n headerFocus: FocusTargetController,\n onToggleCollapse: () => void\n ) {\n return (\n <FacetHeader\n i18n={this.props.bindings.i18n}\n label={this.props.label}\n onClearFilters={() => {\n headerFocus.focusAfterSearch();\n if (this.filter?.state.range) {\n this.filter?.clear();\n return;\n }\n this.facetForDateRange?.deselectAll();\n }}\n numberOfActiveValues={this.numberOfSelectedValues}\n isCollapsed={isCollapsed}\n headingLevel={this.props.headingLevel}\n onToggleCollapse={onToggleCollapse}\n headerRef={(el) => headerFocus.setTarget(el)}\n ></FacetHeader>\n );\n }\n\n private renderDateInput() {\n return (\n <atomic-stencil-facet-date-input\n min={this.props.min}\n max={this.props.max}\n bindings={this.props.bindings}\n label={this.props.label}\n facetId={this.filter!.state!.facetId}\n rangeGetter={() => this.filter!.state.range}\n rangeSetter={(request: DateRangeRequest) => {\n this.filter!.setRange(request);\n }}\n ></atomic-stencil-facet-date-input>\n );\n }\n\n public render({\n hasError,\n firstSearchExecuted,\n isCollapsed,\n headerFocus,\n onToggleCollapse,\n }: TimeframeFacetCommonRenderProps) {\n if (hasError || !this.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!firstSearchExecuted) {\n return (\n <FacetPlaceholder\n numberOfValues={this.currentValues.length}\n isCollapsed={isCollapsed}\n ></FacetPlaceholder>\n );\n }\n\n if (!this.shouldRenderFacet) {\n return <Hidden></Hidden>;\n }\n\n return (\n <FacetContainer>\n {this.renderHeader(isCollapsed, headerFocus, onToggleCollapse)}\n {!isCollapsed && [\n this.shouldRenderValues && this.renderValues(),\n this.shouldRenderInput && this.renderDateInput(),\n ]}\n </FacetContainer>\n );\n }\n}\n"],"version":3}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const headlessVersion = '3.
|
|
2
|
-
export const atomicVersion = '3.42.
|
|
1
|
+
export const headlessVersion = '3.37.0';
|
|
2
|
+
export const atomicVersion = '3.42.1';
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { Tab as InsightTab } from '@coveo/headless/insight';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
import { type TabCommon } from "../../common/tabs/tab-common";
|
|
4
|
+
import type { InsightBindings } from "../atomic-insight-interface/atomic-insight-interface";
|
|
5
|
+
import type { InitializableComponent } from "../../../decorators/types";
|
|
4
6
|
/**
|
|
7
|
+
* The `atomic-insight-tab` component represents an individual tab within the insight interface.
|
|
8
|
+
*
|
|
5
9
|
* @internal
|
|
6
10
|
*/
|
|
7
|
-
export declare class AtomicInsightTab implements TabCommon, InitializableComponent<InsightBindings> {
|
|
8
|
-
|
|
9
|
-
private tabId;
|
|
10
|
-
host: HTMLElement;
|
|
11
|
-
bindings: InsightBindings;
|
|
12
|
-
error: Error;
|
|
13
|
-
private isAppLoaded;
|
|
14
|
-
private tabState;
|
|
11
|
+
export declare class AtomicInsightTab extends LitElement implements TabCommon, InitializableComponent<InsightBindings> {
|
|
12
|
+
static styles: import("lit").CSSResult;
|
|
15
13
|
/**
|
|
16
14
|
* The label that will be shown to the user.
|
|
17
15
|
*/
|
|
@@ -22,16 +20,25 @@ export declare class AtomicInsightTab implements TabCommon, InitializableCompone
|
|
|
22
20
|
*/
|
|
23
21
|
active: boolean;
|
|
24
22
|
/**
|
|
25
|
-
* The expression that will be passed to the search as a `cq`
|
|
23
|
+
* The expression that will be passed to the search as a `cq` parameter upon being selected.
|
|
26
24
|
*/
|
|
27
25
|
expression: string;
|
|
28
|
-
|
|
26
|
+
bindings: InsightBindings;
|
|
27
|
+
error: Error;
|
|
28
|
+
private tabState;
|
|
29
|
+
tab: InsightTab;
|
|
30
|
+
private isAppLoaded;
|
|
31
|
+
private tabId;
|
|
32
|
+
initialize(): void;
|
|
29
33
|
/**
|
|
30
34
|
* Activates the tab.
|
|
31
35
|
*/
|
|
32
|
-
select():
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
select(): void;
|
|
37
|
+
protected updated(): void;
|
|
38
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
declare global {
|
|
41
|
+
interface HTMLElementTagNameMap {
|
|
42
|
+
'atomic-insight-tab': AtomicInsightTab;
|
|
43
|
+
}
|
|
37
44
|
}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InsightBindings } from
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { InsightBindings } from "../atomic-insight-interface/atomic-insight-interface";
|
|
3
|
+
import type { InitializableComponent } from "../../../decorators/types";
|
|
4
|
+
declare const AtomicInsightTabs_base: import("../../../mixins/mixin-common").Constructor<{
|
|
5
|
+
injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
|
|
6
|
+
}> & typeof LitElement & import("../../../mixins/mixin-common").Constructor<import("../../../mixins/slots-for-no-shadow-dom-mixin").LightDOMWithSlots>;
|
|
3
7
|
/**
|
|
8
|
+
* The `atomic-insight-tabs` component wraps a list of `atomic-insight-tab` elements and manages their layout.
|
|
9
|
+
* This is an internal component used within the Insight Panel interface.
|
|
10
|
+
*
|
|
4
11
|
* @internal
|
|
12
|
+
* @slot default - The slot for `atomic-insight-tab` elements.
|
|
5
13
|
*/
|
|
6
|
-
export declare class AtomicInsightTabs implements InitializableComponent<InsightBindings> {
|
|
14
|
+
export declare class AtomicInsightTabs extends AtomicInsightTabs_base implements InitializableComponent<InsightBindings> {
|
|
7
15
|
bindings: InsightBindings;
|
|
8
16
|
error: Error;
|
|
9
|
-
|
|
17
|
+
initialize(): void;
|
|
18
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
10
19
|
}
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
'atomic-insight-tabs': AtomicInsightTabs;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { AtomicInsightGenerateAnswerButton } from './atomic-insight-generate-answer-button/atomic-insight-generate-answer-button.js';
|
|
2
2
|
export { AtomicInsightInterface } from './atomic-insight-interface/atomic-insight-interface.js';
|
|
3
|
+
export { AtomicInsightTab } from './atomic-insight-tab/atomic-insight-tab.js';
|
|
4
|
+
export { AtomicInsightTabs } from './atomic-insight-tabs/atomic-insight-tabs.js';
|