@coveo/atomic 3.32.3-pre.54b9400a5d → 3.32.3-pre.5765579683
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +0 -2
- package/dist/atomic/components/_index.js +0 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +1 -1
- package/dist/atomic/components/atomic-color-facet.js +1 -1
- package/dist/atomic/components/atomic-facet.js +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +1 -1
- package/dist/atomic/components/atomic-pager.js +12 -3
- package/dist/atomic/components/atomic-pager.js.map +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +4 -4
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-expression.js +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/components/common/facets/facet-value-checkbox/facet-value-checkbox.js +1 -0
- package/dist/atomic/components/components/common/facets/facet-value-link/facet-value-link.js +1 -0
- package/dist/atomic/components/components/search/atomic-results-per-page/atomic-results-per-page.js +140 -0
- package/dist/atomic/components/components/search/atomic-search-interface/interfaces.js +1 -0
- package/dist/atomic/components/components/search/index.js +2 -1
- package/dist/atomic/components/components/search/lazy-index.js +3 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/stencil-button.js +42 -2
- package/dist/atomic/components/stencil-button.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-checkbox.js +1 -1
- package/dist/atomic/components/stencil-radio-button.js +1 -1
- package/dist/atomic/{p-bb5786e8.js → p-05768310.js} +2 -2
- package/dist/atomic/p-05ab5909.entry.js +2 -0
- package/dist/atomic/{p-3431545a.entry.js.map → p-05ab5909.entry.js.map} +1 -1
- package/dist/atomic/{p-bb97fea7.entry.js → p-07e7770c.entry.js} +2 -2
- package/dist/atomic/{p-a58f35bc.entry.js.map → p-07e7770c.entry.js.map} +1 -1
- package/dist/atomic/p-082e8e88.entry.js +2 -0
- package/dist/atomic/{p-78689603.entry.js.map → p-082e8e88.entry.js.map} +1 -1
- package/dist/atomic/{p-28dfed7e.entry.js → p-0976d324.entry.js} +2 -2
- package/dist/atomic/{p-7d01ca88.entry.js.map → p-0976d324.entry.js.map} +1 -1
- package/dist/atomic/p-09be36ec.entry.js +2 -0
- package/dist/atomic/{p-02d23fbc.entry.js.map → p-09be36ec.entry.js.map} +1 -1
- package/dist/atomic/{p-720f9337.entry.js → p-0ad16659.entry.js} +2 -2
- package/dist/atomic/{p-56d29641.entry.js.map → p-0ad16659.entry.js.map} +1 -1
- package/dist/atomic/{p-3fd7de45.entry.js → p-0bb4a24a.entry.js} +2 -2
- package/dist/atomic/{p-d044ff5f.js → p-0c76c49a.js} +2 -2
- package/dist/atomic/{p-7bc6bd40.entry.js → p-0cc72211.entry.js} +2 -2
- package/dist/atomic/{p-28dfed7e.entry.js.map → p-0cc72211.entry.js.map} +1 -1
- package/dist/atomic/{p-fee336d4.entry.js → p-0d96f31f.entry.js} +2 -2
- package/dist/atomic/{p-99ce5adb.entry.js → p-1735954d.entry.js} +2 -2
- package/dist/atomic/{p-b6befb73.entry.js.map → p-1735954d.entry.js.map} +1 -1
- package/dist/atomic/p-18c302d8.entry.js +2 -0
- package/dist/atomic/{p-59558c51.entry.js.map → p-18c302d8.entry.js.map} +1 -1
- package/dist/atomic/{p-e74224a7.entry.js → p-190ff788.entry.js} +2 -2
- package/dist/atomic/{p-e1d51cf1.entry.js.map → p-190ff788.entry.js.map} +1 -1
- package/dist/atomic/p-1aa77b93.entry.js +2 -0
- package/dist/atomic/{p-a7576224.entry.js.map → p-1aa77b93.entry.js.map} +1 -1
- package/dist/atomic/{p-a3dabead.js → p-1b679702.js} +2 -2
- package/dist/atomic/p-1d4b30c9.entry.js +2 -0
- package/dist/atomic/{p-885be98c.entry.js.map → p-1d4b30c9.entry.js.map} +1 -1
- package/dist/atomic/p-1ea7b494.entry.js +2 -0
- package/dist/atomic/p-1ea7b494.entry.js.map +1 -0
- package/dist/atomic/{p-02d23fbc.entry.js → p-201cd50c.entry.js} +2 -2
- package/dist/atomic/{p-6c847e86.entry.js.map → p-201cd50c.entry.js.map} +1 -1
- package/dist/atomic/p-209db3c4.entry.js +2 -0
- package/dist/atomic/{p-4bee3b34.entry.js.map → p-209db3c4.entry.js.map} +1 -1
- package/dist/atomic/p-21c7a74a.entry.js +2 -0
- package/dist/atomic/{p-8a74eff4.entry.js.map → p-21c7a74a.entry.js.map} +1 -1
- package/dist/atomic/{p-5fa99042.js → p-225ff26e.js} +2 -2
- package/dist/atomic/{p-d917f9a3.js → p-2ef593e5.js} +2 -2
- package/dist/atomic/{p-22e61d7a.entry.js → p-308c3a88.entry.js} +2 -2
- package/dist/atomic/p-339993e1.entry.js +2 -0
- package/dist/atomic/{p-194a9595.entry.js.map → p-339993e1.entry.js.map} +1 -1
- package/dist/atomic/{p-09f4a984.entry.js → p-358ef11c.entry.js} +2 -2
- package/dist/atomic/{p-f776ee25.entry.js.map → p-358ef11c.entry.js.map} +1 -1
- package/dist/atomic/{p-5db46842.js → p-37697010.js} +2 -2
- package/dist/atomic/p-3c3e67ea.entry.js +2 -0
- package/dist/atomic/{p-8fdd92e1.entry.js.map → p-3c3e67ea.entry.js.map} +1 -1
- package/dist/atomic/{p-1192c7ba.js → p-41200765.js} +2 -2
- package/dist/atomic/{p-2857ab2b.js → p-486ad8f3.js} +2 -2
- package/dist/atomic/{p-67425787.js → p-499a97cc.js} +2 -2
- package/dist/atomic/p-4fc18b34.entry.js +2 -0
- package/dist/atomic/{p-93da4373.entry.js.map → p-4fc18b34.entry.js.map} +1 -1
- package/dist/atomic/p-52121e1e.entry.js +2 -0
- package/dist/atomic/p-57673cd4.entry.js +2 -0
- package/dist/atomic/{p-d7b26c60.entry.js.map → p-57673cd4.entry.js.map} +1 -1
- package/dist/atomic/p-58a138a6.entry.js +2 -0
- package/dist/atomic/{p-ac7e9ef0.entry.js.map → p-58a138a6.entry.js.map} +1 -1
- package/dist/atomic/p-5aaf4b5b.entry.js +2 -0
- package/dist/atomic/{p-e2135441.entry.js.map → p-5aaf4b5b.entry.js.map} +1 -1
- package/dist/atomic/{p-53bcc515.js → p-5b28af78.js} +2 -2
- package/dist/atomic/{p-61004aad.js → p-5e7656d8.js} +2 -2
- package/dist/atomic/p-6220ff1d.entry.js +2 -0
- package/dist/atomic/{p-cd4591c2.entry.js.map → p-6220ff1d.entry.js.map} +1 -1
- package/dist/atomic/p-629b2dd9.entry.js +2 -0
- package/dist/atomic/{p-d4640d29.entry.js.map → p-629b2dd9.entry.js.map} +1 -1
- package/dist/atomic/{p-56d29641.entry.js → p-63271009.entry.js} +2 -2
- package/dist/atomic/{p-c18c7465.entry.js.map → p-63271009.entry.js.map} +1 -1
- package/dist/atomic/{p-ea8be3c4.entry.js → p-633628d5.entry.js} +2 -2
- package/dist/atomic/{p-a5cc4cad.entry.js → p-63e1e3ad.entry.js} +2 -2
- package/dist/atomic/{p-ed549134.entry.js → p-662ed058.entry.js} +2 -2
- package/dist/atomic/p-6b2cf1fb.entry.js +2 -0
- package/dist/atomic/{p-f54597e3.entry.js.map → p-6b2cf1fb.entry.js.map} +1 -1
- package/dist/atomic/{p-2be3757d.js → p-6c6208b2.js} +2 -2
- package/dist/atomic/{p-3e892bd2.entry.js → p-6e424336.entry.js} +2 -2
- package/dist/atomic/p-70925804.entry.js +2 -0
- package/dist/atomic/{p-2026d2ca.entry.js.map → p-70925804.entry.js.map} +1 -1
- package/dist/atomic/p-70af5870.entry.js +2 -0
- package/dist/atomic/{p-01c9665d.entry.js.map → p-70af5870.entry.js.map} +1 -1
- package/dist/atomic/{p-45aba08f.entry.js → p-724a8422.entry.js} +2 -2
- package/dist/atomic/p-73256028.entry.js +2 -0
- package/dist/atomic/{p-20fc8621.entry.js.map → p-73256028.entry.js.map} +1 -1
- package/dist/atomic/p-753fad0b.entry.js +2 -0
- package/dist/atomic/{p-59aaa35e.entry.js.map → p-753fad0b.entry.js.map} +1 -1
- package/dist/atomic/p-7b0b4829.entry.js +2 -0
- package/dist/atomic/{p-091c2bac.entry.js.map → p-7b0b4829.entry.js.map} +1 -1
- package/dist/atomic/{p-a96a297e.js → p-7c023024.js} +2 -2
- package/dist/atomic/p-7cc0ac62.entry.js +2 -0
- package/dist/atomic/{p-8ce29074.entry.js.map → p-7cc0ac62.entry.js.map} +1 -1
- package/dist/atomic/{p-1cf33009.js → p-7e85b9b3.js} +2 -2
- package/dist/atomic/p-7ee46e01.js +2 -0
- package/dist/atomic/{p-b0725b4c.entry.js → p-8317ee74.entry.js} +2 -2
- package/dist/atomic/{p-faaee781.entry.js.map → p-8317ee74.entry.js.map} +1 -1
- package/dist/atomic/p-8531564b.entry.js +2 -0
- package/dist/atomic/{p-04be1c25.entry.js.map → p-8531564b.entry.js.map} +1 -1
- package/dist/atomic/p-8bfdf2c5.entry.js +2 -0
- package/dist/atomic/{p-99ce5adb.entry.js.map → p-8bfdf2c5.entry.js.map} +1 -1
- package/dist/atomic/p-91185b72.entry.js +2 -0
- package/dist/atomic/{p-651a6cd4.entry.js.map → p-91185b72.entry.js.map} +1 -1
- package/dist/atomic/{p-f8cd64b9.js → p-92c85f14.js} +2 -2
- package/dist/atomic/{p-67a47b7b.entry.js → p-936d6b26.entry.js} +2 -2
- package/dist/atomic/{p-ed62d981.js → p-9767fe9a.js} +2 -2
- package/dist/atomic/p-995b31cf.entry.js +2 -0
- package/dist/atomic/{p-69a4b22e.entry.js.map → p-995b31cf.entry.js.map} +1 -1
- package/dist/atomic/{p-9f72fc38.entry.js → p-9a3c79ff.entry.js} +2 -2
- package/dist/atomic/{p-c4e9e693.entry.js.map → p-9a3c79ff.entry.js.map} +1 -1
- package/dist/atomic/{p-e40220e4.entry.js → p-9f4062f1.entry.js} +2 -2
- package/dist/atomic/{p-b0725b4c.entry.js.map → p-9f4062f1.entry.js.map} +1 -1
- package/dist/atomic/p-a135ebc4.entry.js +2 -0
- package/dist/atomic/{p-89125fc9.entry.js.map → p-a135ebc4.entry.js.map} +1 -1
- package/dist/atomic/{p-651a6cd4.entry.js → p-a42a7fce.entry.js} +2 -2
- package/dist/atomic/{p-bb97fea7.entry.js.map → p-a42a7fce.entry.js.map} +1 -1
- package/dist/atomic/p-affd89e5.entry.js +2 -0
- package/dist/atomic/{p-e40220e4.entry.js.map → p-affd89e5.entry.js.map} +1 -1
- package/dist/atomic/{p-43e95b74.entry.js → p-b0bd2709.entry.js} +2 -2
- package/dist/atomic/p-b3770db9.entry.js +2 -0
- package/dist/atomic/{p-6db12972.entry.js.map → p-b3770db9.entry.js.map} +1 -1
- package/dist/atomic/p-b389ea6d.js +2 -0
- package/dist/atomic/p-b389ea6d.js.map +1 -0
- package/dist/atomic/p-b3bbb1e5.entry.js +2 -0
- package/dist/atomic/{p-50dc4fa2.entry.js.map → p-b3bbb1e5.entry.js.map} +1 -1
- package/dist/atomic/{p-681f90df.entry.js → p-bfdecd0f.entry.js} +2 -2
- package/dist/atomic/{p-93116ce1.js → p-c35c892e.js} +2 -2
- package/dist/atomic/p-c826b8f9.entry.js +2 -0
- package/dist/atomic/{p-de22b08b.entry.js.map → p-c826b8f9.entry.js.map} +1 -1
- package/dist/atomic/{p-79075abe.js → p-c8e10077.js} +2 -2
- package/dist/atomic/{p-417b1b64.js → p-c953462e.js} +2 -2
- package/dist/atomic/{p-672666da.entry.js → p-cadf9092.entry.js} +2 -2
- package/dist/atomic/{p-93da4373.entry.js → p-ccc22289.entry.js} +2 -2
- package/dist/atomic/{p-9f72fc38.entry.js.map → p-ccc22289.entry.js.map} +1 -1
- package/dist/atomic/{p-214cbca8.js → p-d2855a6f.js} +2 -2
- package/dist/atomic/p-d642ef17.entry.js +2 -0
- package/dist/atomic/{p-e74224a7.entry.js.map → p-d642ef17.entry.js.map} +1 -1
- package/dist/atomic/p-d6b6e7d4.entry.js +2 -0
- package/dist/atomic/{p-27a333b9.entry.js.map → p-d6b6e7d4.entry.js.map} +1 -1
- package/dist/atomic/p-d79aa846.entry.js +2 -0
- package/dist/atomic/{p-bf8db205.entry.js.map → p-d79aa846.entry.js.map} +1 -1
- package/dist/atomic/{p-ae6d5a5a.entry.js → p-d7ba69c5.entry.js} +2 -2
- package/dist/atomic/{p-fa14a392.entry.js.map → p-d7ba69c5.entry.js.map} +1 -1
- package/dist/atomic/p-d82800ed.entry.js +2 -0
- package/dist/atomic/{p-ae6d5a5a.entry.js.map → p-d82800ed.entry.js.map} +1 -1
- package/dist/atomic/p-d94e8dfd.entry.js +2 -0
- package/dist/atomic/{p-7af1cafa.entry.js.map → p-d94e8dfd.entry.js.map} +1 -1
- package/dist/atomic/p-db02de0e.entry.js +2 -0
- package/dist/atomic/{p-0a6a7642.entry.js.map → p-db02de0e.entry.js.map} +1 -1
- package/dist/atomic/p-db7810c6.entry.js +2 -0
- package/dist/atomic/{p-a3be51c0.entry.js.map → p-db7810c6.entry.js.map} +1 -1
- package/dist/atomic/{p-cd4591c2.entry.js → p-deda232b.entry.js} +2 -2
- package/dist/atomic/{p-f736d023.entry.js.map → p-deda232b.entry.js.map} +1 -1
- package/dist/atomic/{p-59558c51.entry.js → p-e4d2c0a4.entry.js} +2 -2
- package/dist/atomic/{p-7bc6bd40.entry.js.map → p-e4d2c0a4.entry.js.map} +1 -1
- package/dist/atomic/p-e7237496.entry.js +2 -0
- package/dist/atomic/{p-3de800fd.entry.js.map → p-e7237496.entry.js.map} +1 -1
- package/dist/atomic/p-eea8a5f1.entry.js +2 -0
- package/dist/atomic/{p-a006f8bc.entry.js.map → p-eea8a5f1.entry.js.map} +1 -1
- package/dist/atomic/{p-a5e36220.entry.js → p-f3e32508.entry.js} +2 -2
- package/dist/atomic/{p-2e6f5b07.entry.js.map → p-f3e32508.entry.js.map} +1 -1
- package/dist/atomic/p-f81a5329.entry.js +2 -0
- package/dist/atomic/{p-09f4a984.entry.js.map → p-f81a5329.entry.js.map} +1 -1
- package/dist/atomic/{p-842ac0b0.js → p-fc26212d.js} +2 -2
- package/dist/atomic/{p-7d01ca88.entry.js → p-fc342fe2.entry.js} +2 -2
- package/dist/atomic/{p-f451e57f.entry.js.map → p-fc342fe2.entry.js.map} +1 -1
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-5b385ea7.js → analytics-config-73d9e65f.js} +2 -2
- package/dist/cjs/{analytics-config-5b385ea7.js.map → analytics-config-73d9e65f.js.map} +1 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -4
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js +1 -2
- package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +6 -7
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-color-facet.cjs.entry.js +8 -9
- package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -2
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +9 -10
- package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +3 -4
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -3
- package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +7 -8
- package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +5 -6
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -4
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +3 -4
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -2
- package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -5
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -2
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -2
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -3
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -2
- package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -3
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -3
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -3
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -2
- package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +1 -2
- package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -7
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-pager.cjs.entry.js +14 -6
- package/dist/cjs/atomic-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-popover.cjs.entry.js +1 -2
- package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-query-error.cjs.entry.js +2 -3
- package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -4
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +2 -3
- package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -5
- package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -4
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -3
- package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -3
- package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +2 -3
- package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -2
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +1 -2
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +3 -4
- package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +6 -7
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -2
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -2
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -5
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -3
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -4
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -2
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -2
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -2
- package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -5
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/{facet-placeholder-9fa83ffc.js → facet-placeholder-d9604249.js} +2 -2
- package/dist/cjs/{facet-placeholder-9fa83ffc.js.map → facet-placeholder-d9604249.js.map} +1 -1
- package/dist/cjs/{generated-answer-common-1f7e3c88.js → generated-answer-common-e5cd257b.js} +2 -2
- package/dist/cjs/{generated-answer-common-1f7e3c88.js.map → generated-answer-common-e5cd257b.js.map} +1 -1
- package/dist/cjs/{iconButton-bf5b24cf.js → iconButton-3aef664a.js} +2 -2
- package/dist/cjs/{iconButton-bf5b24cf.js.map → iconButton-3aef664a.js.map} +1 -1
- package/dist/cjs/index-757bc886.js +0 -4
- package/dist/cjs/{show-hide-button-2fb7407f.js → show-hide-button-f9096749.js} +2 -2
- package/dist/cjs/{show-hide-button-2fb7407f.js.map → show-hide-button-f9096749.js.map} +1 -1
- package/dist/cjs/{smart-snippet-common-abb0cdce.js → smart-snippet-common-118a7188.js} +3 -3
- package/dist/cjs/{smart-snippet-common-abb0cdce.js.map → smart-snippet-common-118a7188.js.map} +1 -1
- package/dist/cjs/{smart-snippet-feedback-modal-common-c29844fa.js → smart-snippet-feedback-modal-common-9b3e5c88.js} +2 -2
- package/dist/cjs/{smart-snippet-feedback-modal-common-c29844fa.js.map → smart-snippet-feedback-modal-common-9b3e5c88.js.map} +1 -1
- package/dist/cjs/{smart-snippet-suggestions-common-f0d8677b.js → smart-snippet-suggestions-common-1a6af6e7.js} +2 -2
- package/dist/cjs/{smart-snippet-suggestions-common-f0d8677b.js.map → smart-snippet-suggestions-common-1a6af6e7.js.map} +1 -1
- package/dist/cjs/{ripple-4070d750.js → stencil-button-f6c2410c.js} +43 -1
- package/dist/cjs/stencil-button-f6c2410c.js.map +1 -0
- package/dist/cjs/{stencil-carousel-cb870e4d.js → stencil-carousel-51a30e42.js} +2 -2
- package/dist/cjs/{stencil-carousel-cb870e4d.js.map → stencil-carousel-51a30e42.js.map} +1 -1
- package/dist/cjs/{stencil-facet-search-matches-f2fd2b83.js → stencil-facet-search-matches-43fad15c.js} +2 -2
- package/dist/cjs/{stencil-facet-search-matches-f2fd2b83.js.map → stencil-facet-search-matches-43fad15c.js.map} +1 -1
- package/dist/cjs/{stencil-facet-show-more-less-541e1544.js → stencil-facet-show-more-less-0894c761.js} +2 -2
- package/dist/cjs/{stencil-facet-show-more-less-541e1544.js.map → stencil-facet-show-more-less-0894c761.js.map} +1 -1
- package/dist/cjs/{stencil-facet-value-box-2949669d.js → stencil-facet-value-box-f3f982f2.js} +2 -2
- package/dist/cjs/{stencil-facet-value-box-2949669d.js.map → stencil-facet-value-box-f3f982f2.js.map} +1 -1
- package/dist/cjs/{stencil-facet-value-a4da653b.js → stencil-facet-value-c72a58e6.js} +4 -4
- package/dist/cjs/{stencil-facet-value-a4da653b.js.map → stencil-facet-value-c72a58e6.js.map} +1 -1
- package/dist/cjs/{stencil-facet-value-checkbox-49e6843d.js → stencil-facet-value-checkbox-169fade3.js} +4 -4
- package/dist/cjs/{stencil-facet-value-checkbox-49e6843d.js.map → stencil-facet-value-checkbox-169fade3.js.map} +1 -1
- package/dist/cjs/{stencil-facet-value-link-089a2160.js → stencil-facet-value-link-bd461250.js} +2 -2
- package/dist/cjs/{stencil-facet-value-link-089a2160.js.map → stencil-facet-value-link-bd461250.js.map} +1 -1
- package/dist/cjs/{stencil-link-37587e3a.js → stencil-link-f0f8fc23.js} +2 -2
- package/dist/cjs/{stencil-link-37587e3a.js.map → stencil-link-f0f8fc23.js.map} +1 -1
- package/dist/cjs/{stencil-modal-33439a14.js → stencil-modal-8229c340.js} +2 -2
- package/dist/cjs/{stencil-modal-33439a14.js.map → stencil-modal-8229c340.js.map} +1 -1
- package/dist/cjs/{stencil-pager-navigation-54ce337f.js → stencil-pager-navigation-f5c13e0c.js} +3 -3
- package/dist/cjs/{stencil-pager-navigation-54ce337f.js.map → stencil-pager-navigation-f5c13e0c.js.map} +1 -1
- package/dist/cjs/{stencil-radio-button-b7440398.js → stencil-radio-button-f86cc13b.js} +3 -3
- package/dist/cjs/{stencil-radio-button-b7440398.js.map → stencil-radio-button-f86cc13b.js.map} +1 -1
- package/dist/cjs/{stencil-suggestion-manager-5fa3ac70.js → stencil-suggestion-manager-9079f36d.js} +2 -2
- package/dist/cjs/{stencil-suggestion-manager-5fa3ac70.js.map → stencil-suggestion-manager-9079f36d.js.map} +1 -1
- package/dist/cjs/{stencil-values-container-57751dcd.js → stencil-values-container-b6539384.js} +3 -3
- package/dist/cjs/{stencil-values-container-57751dcd.js.map → stencil-values-container-b6539384.js.map} +1 -1
- package/dist/cjs/{timeframe-facet-common-c7d03854.js → timeframe-facet-common-5d249725.js} +3 -3
- package/dist/cjs/{timeframe-facet-common-c7d03854.js.map → timeframe-facet-common-5d249725.js.map} +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-063f33cb.js → analytics-config-ba09eb4a.js} +2 -2
- package/dist/esm/{analytics-config-063f33cb.js.map → analytics-config-ba09eb4a.js.map} +1 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js +3 -4
- package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
- package/dist/esm/atomic-breadbox.entry.js +1 -2
- package/dist/esm/atomic-breadbox.entry.js.map +1 -1
- package/dist/esm/atomic-category-facet.entry.js +6 -7
- package/dist/esm/atomic-category-facet.entry.js.map +1 -1
- package/dist/esm/atomic-color-facet.entry.js +6 -7
- package/dist/esm/atomic-color-facet.entry.js.map +1 -1
- package/dist/esm/atomic-facet-number-input.entry.js +1 -2
- package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
- package/dist/esm/atomic-facet.entry.js +9 -10
- package/dist/esm/atomic-facet.entry.js.map +1 -1
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +3 -4
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-generated-answer.entry.js +2 -3
- package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -3
- package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +7 -8
- package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +2 -3
- package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
- package/dist/esm/atomic-insight-generated-answer.entry.js +2 -3
- package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +2 -3
- package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +5 -6
- package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +3 -4
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +2 -3
- package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-modal.entry.js +2 -3
- package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -3
- package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +2 -3
- package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -3
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-children.entry.js +2 -3
- package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -3
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-search-box.entry.js +2 -3
- package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -3
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -3
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet.entry.js +3 -4
- package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-tab.entry.js +1 -2
- package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -5
- package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -2
- package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -2
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -3
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-button.entry.js +1 -2
- package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +2 -3
- package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -3
- package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -3
- package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-tab.entry.js +1 -2
- package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
- package/dist/esm/atomic-load-more-results.entry.js +1 -2
- package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
- package/dist/esm/atomic-no-results.entry.js +1 -2
- package/dist/esm/atomic-no-results.entry.js.map +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +6 -7
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-pager.entry.js +15 -7
- package/dist/esm/atomic-pager.entry.js.map +1 -1
- package/dist/esm/atomic-popover.entry.js +1 -2
- package/dist/esm/atomic-popover.entry.js.map +1 -1
- package/dist/esm/atomic-query-error.entry.js +2 -3
- package/dist/esm/atomic-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +3 -4
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +2 -3
- package/dist/esm/atomic-quickview.entry.js.map +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +4 -5
- package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +3 -4
- package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
- package/dist/esm/atomic-recs-error.entry.js +2 -3
- package/dist/esm/atomic-recs-error.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +2 -3
- package/dist/esm/atomic-recs-list.entry.js.map +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +2 -3
- package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +1 -2
- package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-relevance-inspector.entry.js +1 -2
- package/dist/esm/atomic-relevance-inspector.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +3 -4
- package/dist/esm/atomic-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +6 -7
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -2
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
- package/dist/esm/atomic-segmented-facet.entry.js +1 -2
- package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -5
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -3
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet.entry.js +3 -4
- package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
- package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-sort-expression.entry.js +1 -1
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -2
- package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
- package/dist/esm/atomic-tab-bar_2.entry.js +1 -2
- package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
- package/dist/esm/atomic-tab-button.entry.js +1 -2
- package/dist/esm/atomic-tab-button.entry.js.map +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +4 -5
- package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/{facet-placeholder-ced9331e.js → facet-placeholder-57a5207d.js} +2 -2
- package/dist/esm/{facet-placeholder-ced9331e.js.map → facet-placeholder-57a5207d.js.map} +1 -1
- package/dist/esm/{generated-answer-common-ee9bfc67.js → generated-answer-common-835787fa.js} +2 -2
- package/dist/esm/{generated-answer-common-ee9bfc67.js.map → generated-answer-common-835787fa.js.map} +1 -1
- package/dist/esm/{iconButton-2e6938c5.js → iconButton-779dd472.js} +2 -2
- package/dist/esm/{iconButton-2e6938c5.js.map → iconButton-779dd472.js.map} +1 -1
- package/dist/esm/index-3f35faca.js +0 -4
- package/dist/esm/{show-hide-button-caaec7b0.js → show-hide-button-7cc80d21.js} +2 -2
- package/dist/esm/{show-hide-button-caaec7b0.js.map → show-hide-button-7cc80d21.js.map} +1 -1
- package/dist/esm/{smart-snippet-common-fb774198.js → smart-snippet-common-86bb93a7.js} +3 -3
- package/dist/esm/{smart-snippet-common-fb774198.js.map → smart-snippet-common-86bb93a7.js.map} +1 -1
- package/dist/esm/{smart-snippet-feedback-modal-common-d72f9043.js → smart-snippet-feedback-modal-common-8ec991db.js} +2 -2
- package/dist/esm/{smart-snippet-feedback-modal-common-d72f9043.js.map → smart-snippet-feedback-modal-common-8ec991db.js.map} +1 -1
- package/dist/esm/{smart-snippet-suggestions-common-25d34a7b.js → smart-snippet-suggestions-common-6c465bbf.js} +2 -2
- package/dist/esm/{smart-snippet-suggestions-common-25d34a7b.js.map → smart-snippet-suggestions-common-6c465bbf.js.map} +1 -1
- package/dist/esm/{ripple-b1f0b09d.js → stencil-button-75e8b31b.js} +43 -2
- package/dist/esm/stencil-button-75e8b31b.js.map +1 -0
- package/dist/esm/{stencil-carousel-a0eb523c.js → stencil-carousel-d335bf03.js} +2 -2
- package/dist/esm/{stencil-carousel-a0eb523c.js.map → stencil-carousel-d335bf03.js.map} +1 -1
- package/dist/esm/{stencil-facet-search-matches-7e6acab2.js → stencil-facet-search-matches-84f41731.js} +2 -2
- package/dist/esm/{stencil-facet-search-matches-7e6acab2.js.map → stencil-facet-search-matches-84f41731.js.map} +1 -1
- package/dist/esm/{stencil-facet-show-more-less-1198472f.js → stencil-facet-show-more-less-ea417674.js} +2 -2
- package/dist/esm/{stencil-facet-show-more-less-1198472f.js.map → stencil-facet-show-more-less-ea417674.js.map} +1 -1
- package/dist/esm/{stencil-facet-value-box-30a3003f.js → stencil-facet-value-box-ecd5015e.js} +2 -2
- package/dist/esm/{stencil-facet-value-box-30a3003f.js.map → stencil-facet-value-box-ecd5015e.js.map} +1 -1
- package/dist/esm/{stencil-facet-value-325f019d.js → stencil-facet-value-c080798e.js} +4 -4
- package/dist/esm/{stencil-facet-value-325f019d.js.map → stencil-facet-value-c080798e.js.map} +1 -1
- package/dist/esm/{stencil-facet-value-checkbox-5a90f933.js → stencil-facet-value-checkbox-0786f1d8.js} +2 -2
- package/dist/esm/{stencil-facet-value-checkbox-5a90f933.js.map → stencil-facet-value-checkbox-0786f1d8.js.map} +1 -1
- package/dist/esm/{stencil-facet-value-link-b3b194b7.js → stencil-facet-value-link-4c270d4d.js} +2 -2
- package/dist/esm/{stencil-facet-value-link-b3b194b7.js.map → stencil-facet-value-link-4c270d4d.js.map} +1 -1
- package/dist/esm/{stencil-link-d52947a6.js → stencil-link-4136c3ad.js} +2 -2
- package/dist/esm/{stencil-link-d52947a6.js.map → stencil-link-4136c3ad.js.map} +1 -1
- package/dist/esm/{stencil-modal-01e42232.js → stencil-modal-151563e7.js} +2 -2
- package/dist/esm/{stencil-modal-01e42232.js.map → stencil-modal-151563e7.js.map} +1 -1
- package/dist/esm/{stencil-pager-navigation-e906e3ae.js → stencil-pager-navigation-c6870b0f.js} +3 -3
- package/dist/esm/{stencil-pager-navigation-e906e3ae.js.map → stencil-pager-navigation-c6870b0f.js.map} +1 -1
- package/dist/esm/{stencil-radio-button-022ec547.js → stencil-radio-button-ce6ec704.js} +2 -2
- package/dist/esm/{stencil-radio-button-022ec547.js.map → stencil-radio-button-ce6ec704.js.map} +1 -1
- package/dist/esm/{stencil-suggestion-manager-f52c6e39.js → stencil-suggestion-manager-8240b520.js} +2 -2
- package/dist/esm/{stencil-suggestion-manager-f52c6e39.js.map → stencil-suggestion-manager-8240b520.js.map} +1 -1
- package/dist/esm/{stencil-values-container-162e03e0.js → stencil-values-container-e005ef7f.js} +3 -3
- package/dist/esm/{stencil-values-container-162e03e0.js.map → stencil-values-container-e005ef7f.js.map} +1 -1
- package/dist/esm/{timeframe-facet-common-50fd210c.js → timeframe-facet-common-8b4b78a7.js} +3 -3
- package/dist/esm/{timeframe-facet-common-50fd210c.js.map → timeframe-facet-common-8b4b78a7.js.map} +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/search/atomic-results-per-page/atomic-results-per-page.d.ts +12 -9
- package/dist/types/components/search/index.d.ts +1 -1
- package/dist/types/components.d.ts +0 -59
- package/docs/atomic-docs.json +1 -120
- package/package.json +3 -3
- package/dist/atomic/components/atomic-results-per-page.d.ts +0 -11
- package/dist/atomic/components/atomic-results-per-page.js +0 -171
- package/dist/atomic/components/atomic-results-per-page.js.map +0 -1
- package/dist/atomic/components/ripple.js +0 -45
- package/dist/atomic/components/ripple.js.map +0 -1
- package/dist/atomic/components/stencil-pager-guard.js +0 -16
- package/dist/atomic/components/stencil-pager-guard.js.map +0 -1
- package/dist/atomic/p-01c9665d.entry.js +0 -2
- package/dist/atomic/p-04be1c25.entry.js +0 -2
- package/dist/atomic/p-091c2bac.entry.js +0 -2
- package/dist/atomic/p-0a6a7642.entry.js +0 -2
- package/dist/atomic/p-194a9595.entry.js +0 -2
- package/dist/atomic/p-2026d2ca.entry.js +0 -2
- package/dist/atomic/p-20fc8621.entry.js +0 -2
- package/dist/atomic/p-234b3314.js +0 -2
- package/dist/atomic/p-27a333b9.entry.js +0 -2
- package/dist/atomic/p-28a6dd9b.js +0 -2
- package/dist/atomic/p-28a6dd9b.js.map +0 -1
- package/dist/atomic/p-2e6f5b07.entry.js +0 -2
- package/dist/atomic/p-3431545a.entry.js +0 -2
- package/dist/atomic/p-36acf9d8.js +0 -2
- package/dist/atomic/p-36acf9d8.js.map +0 -1
- package/dist/atomic/p-3de800fd.entry.js +0 -2
- package/dist/atomic/p-4bee3b34.entry.js +0 -2
- package/dist/atomic/p-50dc4fa2.entry.js +0 -2
- package/dist/atomic/p-59aaa35e.entry.js +0 -2
- package/dist/atomic/p-69a4b22e.entry.js +0 -2
- package/dist/atomic/p-6c847e86.entry.js +0 -2
- package/dist/atomic/p-6db12972.entry.js +0 -2
- package/dist/atomic/p-720f9337.entry.js.map +0 -1
- package/dist/atomic/p-78689603.entry.js +0 -2
- package/dist/atomic/p-7af1cafa.entry.js +0 -2
- package/dist/atomic/p-827a8d65.entry.js +0 -2
- package/dist/atomic/p-885be98c.entry.js +0 -2
- package/dist/atomic/p-89125fc9.entry.js +0 -2
- package/dist/atomic/p-8a74eff4.entry.js +0 -2
- package/dist/atomic/p-8ce29074.entry.js +0 -2
- package/dist/atomic/p-8fdd92e1.entry.js +0 -2
- package/dist/atomic/p-a006f8bc.entry.js +0 -2
- package/dist/atomic/p-a3be51c0.entry.js +0 -2
- package/dist/atomic/p-a58f35bc.entry.js +0 -2
- package/dist/atomic/p-a5e36220.entry.js.map +0 -1
- package/dist/atomic/p-a7576224.entry.js +0 -2
- package/dist/atomic/p-ac7e9ef0.entry.js +0 -2
- package/dist/atomic/p-b6befb73.entry.js +0 -2
- package/dist/atomic/p-bf8db205.entry.js +0 -2
- package/dist/atomic/p-c18c7465.entry.js +0 -2
- package/dist/atomic/p-c4e9e693.entry.js +0 -2
- package/dist/atomic/p-d4640d29.entry.js +0 -2
- package/dist/atomic/p-d7b26c60.entry.js +0 -2
- package/dist/atomic/p-de22b08b.entry.js +0 -2
- package/dist/atomic/p-e1d51cf1.entry.js +0 -2
- package/dist/atomic/p-e2135441.entry.js +0 -2
- package/dist/atomic/p-ef905286.js +0 -2
- package/dist/atomic/p-ef905286.js.map +0 -1
- package/dist/atomic/p-f451e57f.entry.js +0 -2
- package/dist/atomic/p-f54597e3.entry.js +0 -2
- package/dist/atomic/p-f736d023.entry.js +0 -2
- package/dist/atomic/p-f776ee25.entry.js +0 -2
- package/dist/atomic/p-fa14a392.entry.js +0 -2
- package/dist/atomic/p-faaee781.entry.js +0 -2
- package/dist/cjs/atomic-results-per-page.cjs.entry.js +0 -158
- package/dist/cjs/atomic-results-per-page.cjs.entry.js.map +0 -1
- package/dist/cjs/ripple-4070d750.js.map +0 -1
- package/dist/cjs/stencil-button-aa4c0879.js +0 -48
- package/dist/cjs/stencil-button-aa4c0879.js.map +0 -1
- package/dist/cjs/stencil-pager-guard-16f46f73.js +0 -18
- package/dist/cjs/stencil-pager-guard-16f46f73.js.map +0 -1
- package/dist/esm/atomic-results-per-page.entry.js +0 -154
- package/dist/esm/atomic-results-per-page.entry.js.map +0 -1
- package/dist/esm/ripple-b1f0b09d.js.map +0 -1
- package/dist/esm/stencil-button-2a8cc429.js +0 -46
- package/dist/esm/stencil-button-2a8cc429.js.map +0 -1
- package/dist/esm/stencil-pager-guard-16dd9188.js +0 -16
- package/dist/esm/stencil-pager-guard-16dd9188.js.map +0 -1
- /package/dist/atomic/{p-bb5786e8.js.map → p-05768310.js.map} +0 -0
- /package/dist/atomic/{p-3fd7de45.entry.js.map → p-0bb4a24a.entry.js.map} +0 -0
- /package/dist/atomic/{p-d044ff5f.js.map → p-0c76c49a.js.map} +0 -0
- /package/dist/atomic/{p-fee336d4.entry.js.map → p-0d96f31f.entry.js.map} +0 -0
- /package/dist/atomic/{p-a3dabead.js.map → p-1b679702.js.map} +0 -0
- /package/dist/atomic/{p-5fa99042.js.map → p-225ff26e.js.map} +0 -0
- /package/dist/atomic/{p-d917f9a3.js.map → p-2ef593e5.js.map} +0 -0
- /package/dist/atomic/{p-22e61d7a.entry.js.map → p-308c3a88.entry.js.map} +0 -0
- /package/dist/atomic/{p-5db46842.js.map → p-37697010.js.map} +0 -0
- /package/dist/atomic/{p-1192c7ba.js.map → p-41200765.js.map} +0 -0
- /package/dist/atomic/{p-2857ab2b.js.map → p-486ad8f3.js.map} +0 -0
- /package/dist/atomic/{p-67425787.js.map → p-499a97cc.js.map} +0 -0
- /package/dist/atomic/{p-827a8d65.entry.js.map → p-52121e1e.entry.js.map} +0 -0
- /package/dist/atomic/{p-53bcc515.js.map → p-5b28af78.js.map} +0 -0
- /package/dist/atomic/{p-61004aad.js.map → p-5e7656d8.js.map} +0 -0
- /package/dist/atomic/{p-ea8be3c4.entry.js.map → p-633628d5.entry.js.map} +0 -0
- /package/dist/atomic/{p-a5cc4cad.entry.js.map → p-63e1e3ad.entry.js.map} +0 -0
- /package/dist/atomic/{p-ed549134.entry.js.map → p-662ed058.entry.js.map} +0 -0
- /package/dist/atomic/{p-2be3757d.js.map → p-6c6208b2.js.map} +0 -0
- /package/dist/atomic/{p-3e892bd2.entry.js.map → p-6e424336.entry.js.map} +0 -0
- /package/dist/atomic/{p-45aba08f.entry.js.map → p-724a8422.entry.js.map} +0 -0
- /package/dist/atomic/{p-a96a297e.js.map → p-7c023024.js.map} +0 -0
- /package/dist/atomic/{p-1cf33009.js.map → p-7e85b9b3.js.map} +0 -0
- /package/dist/atomic/{p-234b3314.js.map → p-7ee46e01.js.map} +0 -0
- /package/dist/atomic/{p-f8cd64b9.js.map → p-92c85f14.js.map} +0 -0
- /package/dist/atomic/{p-67a47b7b.entry.js.map → p-936d6b26.entry.js.map} +0 -0
- /package/dist/atomic/{p-ed62d981.js.map → p-9767fe9a.js.map} +0 -0
- /package/dist/atomic/{p-43e95b74.entry.js.map → p-b0bd2709.entry.js.map} +0 -0
- /package/dist/atomic/{p-681f90df.entry.js.map → p-bfdecd0f.entry.js.map} +0 -0
- /package/dist/atomic/{p-93116ce1.js.map → p-c35c892e.js.map} +0 -0
- /package/dist/atomic/{p-79075abe.js.map → p-c8e10077.js.map} +0 -0
- /package/dist/atomic/{p-417b1b64.js.map → p-c953462e.js.map} +0 -0
- /package/dist/atomic/{p-672666da.entry.js.map → p-cadf9092.entry.js.map} +0 -0
- /package/dist/atomic/{p-214cbca8.js.map → p-d2855a6f.js.map} +0 -0
- /package/dist/atomic/{p-842ac0b0.js.map → p-fc26212d.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["identifierKeywordsSection","QuickviewSidebar","props","words","minimized","numberOfWords","Object","values","length","minimizeButton","h","MinimizeButton","wordsLength","class","HighlightKeywordsCheckbox","Keywords","i18n","onMinimize","highlightKeywords","IconButton","partPrefix","icon","MinimizeIcon","style","title","t","ariaLabel","onClick","badge","undefined","ariaExpanded","toString","ariaControls","onHighlightKeywords","Fragment","StencilCheckbox","text","id","checked","highlightNone","onToggle","htmlFor","map","keyword","wordIsEnabled","keywords","enabled","key","backgroundColor","color","Intl","NumberFormat","language","notation","format","occurrences","FieldsetGroup","label","ArrowDown","disabled","navigateForward","ArrowUp","navigateBackward","tabIndex","ariaPressed","Remove","Add","indexIdentifier","documentIdentifierInIframe","writeDocument","documentWriter","content","open","write","close","scrollingElement","scrollTop","currentResultAlreadyWrittenToDocument","uniqueIdentifier","currentDocIdentifier","getElementById","textContent","ensureSameResultIsNotOverwritten","docIdentifier","createElement","display","setAttribute","body","appendChild","warnAboutLimitedUsageQuickview","logger","warn","QuickviewIframe","onSetIframeRef","sandbox","src","waitForIframeContentToBeWritten","Promise","resolve","setTimeout","ref","async","el","iframeRef","contentDocument","buildPreviewBar","previewBarId","bar","innerHTML","position","top","right","width","height","buildPreviewUnit","word","wordElement","docHeight","previewUnit","elementPosition","getBoundingClientRect","border","previewBorderColor","buildQuickviewPreviewBar","iframe","remove","scrollHeight","forEach","elements","rgbToHsv","r","g","b","max","Math","min","v","d","s","hsvToRgb","i","floor","f","p","q","round","HIGHLIGHT_PREFIX","QuickviewWordHighlight","constructor","stemmingInfoFromIndex","keywordElementInIframe","this","currentNavigationPosition","parsed","parseKeywordIdentifier","getText","keywordIdentifier","focusedColor","computeInvertedColor","computeSaturatedColor","addElement","push","highlightNavigation","putElementIntoView","isTaggedWord","element","nodeName","toLowerCase","currentElement","otherElements","filter","scrollIntoView","innerTextOfHTMLElement","getHighlightedInnerText","resolveOriginalTerm","trim","highlight","found","keys","find","originalTerm","originalTermMatch","stemmingExpansions","stemmingExpansionMatch","stemmingExpansion","getTextOfHTMLElement","children","Array","from","parts","substring","match","keywordTermPart","parseInt","innerText","extractRgb","newSaturation","rSaturated","gSaturated","bSaturated","rgbExtracted","getWordsHighlights","wordsHighlights","querySelectorAll","wordHTMLElementToHighlight","wordHighlight","alreadyScannedKeyword","atomicQuickviewModalCss","AtomicQuickviewModalStyle0","AtomicQuickviewModal","minimizeSidebar","watchHighlightKeywords","handleHighlightsScripts","componentWillLoad","bindings","store","isMobile","reset","result","interactiveResult","renderHeader","headerContent","buildInteractiveResult","engine","options","LinkWithItemAnalytics","href","clickUri","onSelect","select","onBeginDelayedSelect","beginDelayedSelect","onCancelPendingSelect","cancelPendingSelect","className","part","CloseIcon","onClose","slot","renderBody","minimize","quickviewSrc","quickviewUniqueIdentifier","termsToHighlight","renderFooter","Button","previousQuickview","emit","current","first","total","nextQuickview","modalCloseCallback","isOpen","highlightScriptId","state","resultPreview","contentURL","enableHighlights","removeDisableHighlightScript","enableHighlightsSpecificKeyword","identifier","disableHighlights","createDisableHighlightScript","disableHighlightsSpecificKeyword","doc","contentWindow","document","head","scriptId","createStyleElement","createTextNode","flatPhrasesToHighlight","phrasesToHighlight","search","response","entries","phrase","flatMap","keywordEntry","keywordStemming","requestId","uniqueId","render","fullscreen","exportparts","ATOMIC_MODAL_EXPORT_PARTS","__decorate","InitializeBindings"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.tsx","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/iconButton';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\nexport interface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n\nconst MinimizeButton: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'minimized' | 'onMinimize' | 'highlightKeywords'\n > & {wordsLength: number}\n> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n\nconst HighlightKeywordsCheckbox: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'highlightKeywords' | 'onHighlightKeywords' | 'minimized'\n >\n> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => (\n <Fragment>\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>\n {!minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n )}\n </Fragment>\n);\n\nconst Keywords: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'onHighlightKeywords' | 'highlightKeywords'\n > & {\n words: Record<string, QuickviewWordHighlight>;\n }\n> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\nexport const QuickviewIframe: FunctionalComponent<{\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n const docHeight = documentWriter.body.scrollHeight;\n\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n documentWriter.body.appendChild(bar);\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {TermsToHighlight} from '@coveo/headless';\nimport {hsvToRgb, rgbToHsv} from '../../../../utils/color-utils';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\nexport class QuickviewWordHighlight {\n public text: string;\n public indexIdentifier: string;\n public occurrences = 0;\n public color: string;\n public focusedColor: string;\n public previewBorderColor: string;\n public elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n keywordElementInIframe: HTMLElement\n ) {\n const parsed = this.parseKeywordIdentifier(keywordElementInIframe);\n if (!parsed) {\n throw 'Invalid keyword identifier for quickview';\n }\n\n this.text = this.getText(keywordElementInIframe);\n this.indexIdentifier = `${parsed.keywordIdentifier}`;\n this.color = keywordElementInIframe.style.backgroundColor;\n this.focusedColor = this.computeInvertedColor();\n this.previewBorderColor = this.computeSaturatedColor();\n\n this.addElement(keywordElementInIframe);\n }\n\n public addElement(keywordElementInIframe: HTMLElement) {\n this.occurrences++;\n this.elements.push(keywordElementInIframe);\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n\n private getText(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private parseKeywordIdentifier(element: HTMLElement) {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return {\n keywordIdentifier: parts[1],\n keywordTermPart: parseInt(parts[3], 10),\n };\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private computeInvertedColor() {\n const {r, g, b} = this.extractRgb();\n return `rgb(${255 - r}, ${255 - g}, ${255 - b})`;\n }\n\n private computeSaturatedColor() {\n const {r, g, b} = this.extractRgb();\n const {h, s, v} = rgbToHsv(r, g, b);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {\n r: rSaturated,\n g: gSaturated,\n b: bSaturated,\n } = hsvToRgb(h, newSaturation, v);\n return `rgb(${rSaturated}, ${gSaturated}, ${bSaturated})`;\n }\n\n private extractRgb() {\n const rgbExtracted = this.color.match(/\\d+/g);\n if (!rgbExtracted) {\n return {r: 255, g: 255, b: 255};\n }\n\n return {\n r: parseInt(rgbExtracted[0], 10),\n g: parseInt(rgbExtracted[1], 10),\n b: parseInt(rgbExtracted[2], 10),\n };\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n if (!iframe) {\n return wordsHighlights;\n }\n\n iframe.contentDocument?.body\n .querySelectorAll(`[id^=\"${HIGHLIGHT_PREFIX}\"]`)\n .forEach((el) => {\n const wordHTMLElementToHighlight = el as HTMLElement;\n\n const wordHighlight = new QuickviewWordHighlight(\n stemmingInfoFromIndex,\n wordHTMLElementToHighlight\n );\n\n if (!wordHighlight.text) {\n return;\n }\n\n const alreadyScannedKeyword =\n wordsHighlights[wordHighlight.indexIdentifier];\n\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(wordHTMLElementToHighlight);\n } else {\n wordsHighlights[wordHighlight.indexIdentifier] = wordHighlight;\n }\n });\n\n return wordsHighlights;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../../utils/tailwind-utilities/link-style.tw.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking on a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["identifierKeywordsSection","QuickviewSidebar","props","words","minimized","numberOfWords","Object","values","length","minimizeButton","h","MinimizeButton","wordsLength","class","HighlightKeywordsCheckbox","Keywords","i18n","onMinimize","highlightKeywords","IconButton","partPrefix","icon","MinimizeIcon","style","title","t","ariaLabel","onClick","badge","undefined","ariaExpanded","toString","ariaControls","onHighlightKeywords","Fragment","StencilCheckbox","text","id","checked","highlightNone","onToggle","htmlFor","map","keyword","wordIsEnabled","keywords","enabled","key","backgroundColor","color","Intl","NumberFormat","language","notation","format","occurrences","FieldsetGroup","label","ArrowDown","disabled","navigateForward","ArrowUp","navigateBackward","tabIndex","ariaPressed","Remove","Add","indexIdentifier","documentIdentifierInIframe","writeDocument","documentWriter","content","open","write","close","scrollingElement","scrollTop","currentResultAlreadyWrittenToDocument","uniqueIdentifier","currentDocIdentifier","getElementById","textContent","ensureSameResultIsNotOverwritten","docIdentifier","createElement","display","setAttribute","body","appendChild","warnAboutLimitedUsageQuickview","logger","warn","QuickviewIframe","onSetIframeRef","sandbox","src","waitForIframeContentToBeWritten","Promise","resolve","setTimeout","ref","async","el","iframeRef","contentDocument","buildPreviewBar","previewBarId","bar","innerHTML","position","top","right","width","height","buildPreviewUnit","word","wordElement","docHeight","previewUnit","elementPosition","getBoundingClientRect","border","previewBorderColor","buildQuickviewPreviewBar","iframe","remove","scrollHeight","forEach","elements","rgbToHsv","r","g","b","max","Math","min","v","d","s","hsvToRgb","i","floor","f","p","q","round","HIGHLIGHT_PREFIX","QuickviewWordHighlight","constructor","stemmingInfoFromIndex","keywordElementInIframe","this","currentNavigationPosition","parsed","parseKeywordIdentifier","getText","keywordIdentifier","focusedColor","computeInvertedColor","computeSaturatedColor","addElement","push","highlightNavigation","putElementIntoView","isTaggedWord","element","nodeName","toLowerCase","currentElement","otherElements","filter","scrollIntoView","innerTextOfHTMLElement","getHighlightedInnerText","resolveOriginalTerm","trim","highlight","found","keys","find","originalTerm","originalTermMatch","stemmingExpansions","stemmingExpansionMatch","stemmingExpansion","getTextOfHTMLElement","children","Array","from","parts","substring","match","keywordTermPart","parseInt","innerText","extractRgb","newSaturation","rSaturated","gSaturated","bSaturated","rgbExtracted","getWordsHighlights","wordsHighlights","querySelectorAll","wordHTMLElementToHighlight","wordHighlight","alreadyScannedKeyword","atomicQuickviewModalCss","AtomicQuickviewModalStyle0","AtomicQuickviewModal","minimizeSidebar","watchHighlightKeywords","handleHighlightsScripts","componentWillLoad","bindings","store","isMobile","reset","result","interactiveResult","renderHeader","headerContent","buildInteractiveResult","engine","options","LinkWithItemAnalytics","href","clickUri","onSelect","select","onBeginDelayedSelect","beginDelayedSelect","onCancelPendingSelect","cancelPendingSelect","className","part","CloseIcon","onClose","slot","renderBody","minimize","quickviewSrc","quickviewUniqueIdentifier","termsToHighlight","renderFooter","Button","previousQuickview","emit","current","first","total","nextQuickview","modalCloseCallback","isOpen","highlightScriptId","state","resultPreview","contentURL","enableHighlights","removeDisableHighlightScript","enableHighlightsSpecificKeyword","identifier","disableHighlights","createDisableHighlightScript","disableHighlightsSpecificKeyword","doc","contentWindow","document","head","scriptId","createStyleElement","createTextNode","flatPhrasesToHighlight","phrasesToHighlight","search","response","entries","phrase","flatMap","keywordEntry","keywordStemming","requestId","uniqueId","render","fullscreen","exportparts","ATOMIC_MODAL_EXPORT_PARTS","__decorate","InitializeBindings"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.tsx","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/iconButton';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\nexport interface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n\nconst MinimizeButton: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'minimized' | 'onMinimize' | 'highlightKeywords'\n > & {wordsLength: number}\n> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n\nconst HighlightKeywordsCheckbox: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'highlightKeywords' | 'onHighlightKeywords' | 'minimized'\n >\n> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => (\n <Fragment>\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>\n {!minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n )}\n </Fragment>\n);\n\nconst Keywords: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'onHighlightKeywords' | 'highlightKeywords'\n > & {\n words: Record<string, QuickviewWordHighlight>;\n }\n> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\nexport const QuickviewIframe: FunctionalComponent<{\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n const docHeight = documentWriter.body.scrollHeight;\n\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n documentWriter.body.appendChild(bar);\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {TermsToHighlight} from '@coveo/headless';\nimport {hsvToRgb, rgbToHsv} from '../../../../utils/color-utils';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\nexport class QuickviewWordHighlight {\n public text: string;\n public indexIdentifier: string;\n public occurrences = 0;\n public color: string;\n public focusedColor: string;\n public previewBorderColor: string;\n public elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n keywordElementInIframe: HTMLElement\n ) {\n const parsed = this.parseKeywordIdentifier(keywordElementInIframe);\n if (!parsed) {\n throw 'Invalid keyword identifier for quickview';\n }\n\n this.text = this.getText(keywordElementInIframe);\n this.indexIdentifier = `${parsed.keywordIdentifier}`;\n this.color = keywordElementInIframe.style.backgroundColor;\n this.focusedColor = this.computeInvertedColor();\n this.previewBorderColor = this.computeSaturatedColor();\n\n this.addElement(keywordElementInIframe);\n }\n\n public addElement(keywordElementInIframe: HTMLElement) {\n this.occurrences++;\n this.elements.push(keywordElementInIframe);\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n\n private getText(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private parseKeywordIdentifier(element: HTMLElement) {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return {\n keywordIdentifier: parts[1],\n keywordTermPart: parseInt(parts[3], 10),\n };\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private computeInvertedColor() {\n const {r, g, b} = this.extractRgb();\n return `rgb(${255 - r}, ${255 - g}, ${255 - b})`;\n }\n\n private computeSaturatedColor() {\n const {r, g, b} = this.extractRgb();\n const {h, s, v} = rgbToHsv(r, g, b);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {\n r: rSaturated,\n g: gSaturated,\n b: bSaturated,\n } = hsvToRgb(h, newSaturation, v);\n return `rgb(${rSaturated}, ${gSaturated}, ${bSaturated})`;\n }\n\n private extractRgb() {\n const rgbExtracted = this.color.match(/\\d+/g);\n if (!rgbExtracted) {\n return {r: 255, g: 255, b: 255};\n }\n\n return {\n r: parseInt(rgbExtracted[0], 10),\n g: parseInt(rgbExtracted[1], 10),\n b: parseInt(rgbExtracted[2], 10),\n };\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n if (!iframe) {\n return wordsHighlights;\n }\n\n iframe.contentDocument?.body\n .querySelectorAll(`[id^=\"${HIGHLIGHT_PREFIX}\"]`)\n .forEach((el) => {\n const wordHTMLElementToHighlight = el as HTMLElement;\n\n const wordHighlight = new QuickviewWordHighlight(\n stemmingInfoFromIndex,\n wordHTMLElementToHighlight\n );\n\n if (!wordHighlight.text) {\n return;\n }\n\n const alreadyScannedKeyword =\n wordsHighlights[wordHighlight.indexIdentifier];\n\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(wordHTMLElementToHighlight);\n } else {\n wordsHighlights[wordHighlight.indexIdentifier] = wordHighlight;\n }\n });\n\n return wordsHighlights;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../../utils/tailwind-utilities/link-style.tw.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking on a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|