@coveo/atomic 3.35.0-pre.ddf08ff320 → 3.35.0-pre.e19cc0d9a2
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 +35 -3
- package/dist/atomic/components/atomic-breadbox.js +18 -0
- package/dist/atomic/components/atomic-breadbox.js.map +1 -1
- package/dist/atomic/components/atomic-category-facet.js +44 -7
- package/dist/atomic/components/atomic-category-facet.js.map +1 -1
- package/dist/atomic/components/atomic-color-facet.js +3 -0
- package/dist/atomic/components/atomic-color-facet.js.map +1 -1
- package/dist/atomic/components/atomic-did-you-mean.js +12 -1
- package/dist/atomic/components/atomic-did-you-mean.js.map +1 -1
- package/dist/atomic/components/atomic-facet.js +6 -0
- package/dist/atomic/components/atomic-facet.js.map +1 -1
- package/dist/atomic/components/atomic-generated-answer.js +1 -1
- package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-insight-generated-answer.js +1 -1
- package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-insight-pager.js +5 -5
- package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
- package/dist/atomic/components/atomic-insight-query-summary.js +9 -0
- package/dist/atomic/components/atomic-insight-query-summary.js.map +1 -1
- package/dist/atomic/components/atomic-insight-search-box.js +41 -2
- package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-session2.js +3 -0
- package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
- package/dist/atomic/components/atomic-load-more-results.js +13 -1
- package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
- package/dist/atomic/components/atomic-no-results.js +3 -0
- package/dist/atomic/components/atomic-no-results.js.map +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +3 -0
- package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-recs-interface.js +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +12 -0
- package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +6 -0
- package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-result-list.js +12 -0
- package/dist/atomic/components/atomic-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-text2.js +6 -0
- package/dist/atomic/components/atomic-result-text2.js.map +1 -1
- package/dist/atomic/components/atomic-search-box.js +11 -10
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-segmented-facet.js +3 -0
- package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-sort-dropdown.js +15 -0
- package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +3 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +5 -0
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.js +3 -0
- package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +6 -1
- package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
- package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
- package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
- package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -1
- package/dist/atomic/components/components/common/suggestions/query-suggestions.js +11 -16
- package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +104 -0
- package/dist/atomic/components/components/search/index.js +1 -0
- package/dist/atomic/components/components/search/lazy-index.js +1 -0
- package/dist/atomic/components/facet-guard.js +3 -0
- package/dist/atomic/components/facet-guard.js.map +1 -1
- package/dist/atomic/components/facet-placeholder.js +3 -0
- package/dist/atomic/components/facet-placeholder.js.map +1 -1
- package/dist/atomic/components/generated-answer-common.js +27 -0
- package/dist/atomic/components/generated-answer-common.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/item-list-guard.js +3 -0
- package/dist/atomic/components/item-list-guard.js.map +1 -1
- package/dist/atomic/components/item-template-provider.js +6 -0
- package/dist/atomic/components/item-template-provider.js.map +1 -1
- package/dist/atomic/components/show-hide-button.js +12 -0
- package/dist/atomic/components/show-hide-button.js.map +1 -1
- package/dist/atomic/components/smart-snippet-common.js +15 -0
- package/dist/atomic/components/smart-snippet-common.js.map +1 -1
- package/dist/atomic/components/smart-snippet-feedback-modal-common.js +21 -0
- package/dist/atomic/components/smart-snippet-feedback-modal-common.js.map +1 -1
- package/dist/atomic/components/smart-snippet-suggestions-common.js +18 -0
- package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
- package/dist/atomic/components/stencil-button.js +1 -1
- package/dist/atomic/components/stencil-button.js.map +1 -1
- package/dist/atomic/components/stencil-carousel.js +3 -0
- package/dist/atomic/components/stencil-carousel.js.map +1 -1
- package/dist/atomic/components/stencil-checkbox.js +1 -1
- package/dist/atomic/components/stencil-checkbox.js.map +1 -1
- package/dist/atomic/components/stencil-display-grid.js +3 -0
- package/dist/atomic/components/stencil-display-grid.js.map +1 -1
- package/dist/atomic/components/stencil-display-wrapper.js +6 -0
- package/dist/atomic/components/stencil-display-wrapper.js.map +1 -1
- package/dist/atomic/components/stencil-facet-header.js +6 -0
- package/dist/atomic/components/stencil-facet-header.js.map +1 -1
- package/dist/atomic/components/stencil-facet-search-matches.js +6 -0
- package/dist/atomic/components/stencil-facet-search-matches.js.map +1 -1
- package/dist/atomic/components/stencil-facet-show-more-less.js +3 -0
- package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-box.js +3 -0
- package/dist/atomic/components/stencil-facet-value-box.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-checkbox.js +7 -2
- package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-label-highlight.js +3 -0
- package/dist/atomic/components/stencil-facet-value-label-highlight.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value-link.js +3 -0
- package/dist/atomic/components/stencil-facet-value-link.js.map +1 -1
- package/dist/atomic/components/stencil-facet-value.js +3 -0
- package/dist/atomic/components/stencil-facet-value.js.map +1 -1
- package/dist/atomic/components/stencil-facet-values-group.js +3 -0
- package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
- package/dist/atomic/components/stencil-fieldset-group.js +3 -0
- package/dist/atomic/components/stencil-fieldset-group.js.map +1 -1
- package/dist/atomic/components/stencil-heading.js +1 -1
- package/dist/atomic/components/stencil-heading.js.map +1 -1
- package/dist/atomic/components/stencil-iconButton.js +3 -0
- package/dist/atomic/components/stencil-iconButton.js.map +1 -1
- package/dist/atomic/components/stencil-item-link.js +3 -0
- package/dist/atomic/components/stencil-item-link.js.map +1 -1
- package/dist/atomic/components/stencil-link.js +24 -1
- package/dist/atomic/components/stencil-link.js.map +1 -1
- package/dist/atomic/components/stencil-magnifying-glass.js +6 -0
- package/dist/atomic/components/stencil-magnifying-glass.js.map +1 -1
- package/dist/atomic/components/stencil-modal.js +3 -0
- package/dist/atomic/components/stencil-modal.js.map +1 -1
- package/dist/atomic/components/stencil-radio-button.js +1 -1
- package/dist/atomic/components/stencil-radio-button.js.map +1 -1
- package/dist/atomic/components/stencil-rating.js +5 -2
- package/dist/atomic/components/stencil-rating.js.map +1 -1
- package/dist/atomic/components/stencil-suggestion-manager.js +10 -1
- package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
- package/dist/atomic/components/stencil-tips.js +9 -0
- package/dist/atomic/components/stencil-tips.js.map +1 -1
- package/dist/atomic/components/stencil-values-container.js +6 -0
- package/dist/atomic/components/stencil-values-container.js.map +1 -1
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/index.esm.js.map +1 -1
- package/dist/atomic/lang/cs.json +1 -1
- package/dist/atomic/lang/da.json +1 -1
- package/dist/atomic/lang/de.json +1 -1
- package/dist/atomic/lang/dev.json +1 -1
- package/dist/atomic/lang/el.json +1 -1
- package/dist/atomic/lang/en.json +1 -1
- package/dist/atomic/lang/es.json +1 -1
- package/dist/atomic/lang/fi.json +1 -1
- package/dist/atomic/lang/fr.json +1 -1
- package/dist/atomic/lang/hu.json +1 -1
- package/dist/atomic/lang/id.json +1 -1
- package/dist/atomic/lang/it.json +1 -1
- package/dist/atomic/lang/ja.json +1 -1
- package/dist/atomic/lang/ko.json +1 -1
- package/dist/atomic/lang/nl.json +1 -1
- package/dist/atomic/lang/no.json +1 -1
- package/dist/atomic/lang/pl.json +1 -1
- package/dist/atomic/lang/pt-BR.json +1 -1
- package/dist/atomic/lang/pt.json +1 -1
- package/dist/atomic/lang/ru.json +1 -1
- package/dist/atomic/lang/sv.json +1 -1
- package/dist/atomic/lang/th.json +1 -1
- package/dist/atomic/lang/tr.json +1 -1
- package/dist/atomic/lang/zh-CN.json +1 -1
- package/dist/atomic/lang/zh-TW.json +1 -1
- package/dist/atomic/lang/zh.json +1 -1
- package/dist/atomic/{p-d2107c93.entry.js → p-0035e3da.entry.js} +2 -2
- package/dist/atomic/{p-e7eea1ef.entry.js → p-01eda62a.entry.js} +2 -2
- package/dist/atomic/{p-94b0fca4.entry.js → p-02f2ac0b.entry.js} +2 -2
- package/dist/atomic/{p-b211da6c.entry.js → p-066df32a.entry.js} +2 -2
- package/dist/atomic/{p-5f2fa73f.entry.js → p-06bc57be.entry.js} +2 -2
- package/dist/atomic/{p-5f2fa73f.entry.js.map → p-06bc57be.entry.js.map} +1 -1
- package/dist/atomic/{p-5a417451.entry.js → p-0714b56d.entry.js} +2 -2
- package/dist/atomic/p-0714b56d.entry.js.map +1 -0
- package/dist/atomic/{p-187193bb.js → p-0ed25035.js} +1 -1
- package/dist/atomic/p-0ed25035.js.map +1 -0
- package/dist/atomic/{p-d618c229.entry.js → p-104d7a84.entry.js} +2 -2
- package/dist/atomic/{p-a5bac939.js → p-1b11f219.js} +1 -1
- package/dist/atomic/p-1b11f219.js.map +1 -0
- package/dist/atomic/{p-8f69b018.entry.js → p-25ee4bab.entry.js} +2 -2
- package/dist/atomic/{p-583faf68.entry.js → p-27746cac.entry.js} +2 -2
- package/dist/atomic/{p-8be21e4a.js → p-2c5841a0.js} +1 -1
- package/dist/atomic/p-2c5841a0.js.map +1 -0
- package/dist/atomic/{p-4e25638d.entry.js → p-2c8d8e83.entry.js} +2 -2
- package/dist/atomic/p-2c8d8e83.entry.js.map +1 -0
- package/dist/atomic/p-2c94b87e.js +2 -0
- package/dist/atomic/p-2c94b87e.js.map +1 -0
- package/dist/atomic/{p-bacb06d7.entry.js → p-2eac7c46.entry.js} +2 -2
- package/dist/atomic/{p-134b7370.js → p-2f3e40c8.js} +2 -2
- package/dist/atomic/p-2f3e40c8.js.map +1 -0
- package/dist/atomic/{p-ab2f6794.entry.js → p-3282ccf8.entry.js} +2 -2
- package/dist/atomic/{p-d0584482.entry.js → p-33b3b967.entry.js} +2 -2
- package/dist/atomic/p-33b3b967.entry.js.map +1 -0
- package/dist/atomic/{p-4027e529.entry.js → p-37182242.entry.js} +2 -2
- package/dist/atomic/{p-e988f378.js → p-3881d7ec.js} +1 -1
- package/dist/atomic/p-3881d7ec.js.map +1 -0
- package/dist/atomic/{p-0947a95f.entry.js → p-3becda0c.entry.js} +2 -2
- package/dist/atomic/{p-7da7b187.js → p-3c2b932c.js} +1 -1
- package/dist/atomic/p-3c2b932c.js.map +1 -0
- package/dist/atomic/{p-173deaca.entry.js → p-4206b797.entry.js} +2 -2
- package/dist/atomic/{p-28f4600a.entry.js → p-458697db.entry.js} +2 -2
- package/dist/atomic/{p-a3d55993.entry.js → p-4778132c.entry.js} +2 -2
- package/dist/atomic/{p-5346f77d.entry.js → p-4ba1eb36.entry.js} +2 -2
- package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
- package/dist/atomic/{p-7b9e5e58.entry.js → p-4bc0dc09.entry.js} +2 -2
- package/dist/atomic/{p-4bf14d26.js → p-4c85b2fb.js} +2 -2
- package/dist/atomic/p-4c85b2fb.js.map +1 -0
- package/dist/atomic/p-4cf97b0a.entry.js.map +1 -1
- package/dist/atomic/{p-3f0e7549.js → p-4dfa349e.js} +2 -2
- package/dist/atomic/p-4dfa349e.js.map +1 -0
- package/dist/atomic/{p-bd565f91.entry.js → p-530396d4.entry.js} +2 -2
- package/dist/atomic/p-530396d4.entry.js.map +1 -0
- package/dist/atomic/{p-64da3471.entry.js → p-582ce205.entry.js} +2 -2
- package/dist/atomic/{p-475df84c.entry.js → p-5d36515f.entry.js} +2 -2
- package/dist/atomic/{p-ddf72215.entry.js → p-5dbe3b4c.entry.js} +2 -2
- package/dist/atomic/{p-1365c7d0.js → p-5e5599f3.js} +2 -2
- package/dist/atomic/{p-891cb944.entry.js → p-5eaee0be.entry.js} +2 -2
- package/dist/atomic/{p-a9aadc3d.entry.js → p-6489c611.entry.js} +2 -2
- package/dist/atomic/{p-e0ba043d.entry.js → p-66beb63a.entry.js} +2 -2
- package/dist/atomic/{p-340130de.js → p-67b314f4.js} +2 -2
- package/dist/atomic/p-67b314f4.js.map +1 -0
- package/dist/atomic/{p-01096d1c.entry.js → p-67f62282.entry.js} +2 -2
- package/dist/atomic/{p-97479dde.entry.js → p-690cb10f.entry.js} +2 -2
- package/dist/atomic/p-690cb10f.entry.js.map +1 -0
- package/dist/atomic/{p-0acbc1aa.entry.js → p-6ca16a70.entry.js} +2 -2
- package/dist/atomic/p-6d0e9fad.entry.js.map +1 -1
- package/dist/atomic/{p-4310d46f.entry.js → p-6da5e67e.entry.js} +2 -2
- package/dist/atomic/{p-30ea57e8.entry.js → p-6f93d6d6.entry.js} +2 -2
- package/dist/atomic/{p-beb2ad8e.js → p-72bdaa9d.js} +2 -2
- package/dist/atomic/p-72bdaa9d.js.map +1 -0
- package/dist/atomic/p-77727995.entry.js +2 -0
- package/dist/atomic/p-77727995.entry.js.map +1 -0
- package/dist/atomic/{p-7b0e3ff4.entry.js → p-798598a4.entry.js} +2 -2
- package/dist/atomic/p-798598a4.entry.js.map +1 -0
- package/dist/atomic/{p-bd2703e9.js → p-7a7ce0d5.js} +1 -1
- package/dist/atomic/p-7a7ce0d5.js.map +1 -0
- package/dist/atomic/{p-4ecabf56.js → p-7bc6b014.js} +2 -2
- package/dist/atomic/p-7bc6b014.js.map +1 -0
- package/dist/atomic/p-7d639646.js +2 -0
- package/dist/atomic/{p-20fc8a6c.js.map → p-7d639646.js.map} +1 -1
- package/dist/atomic/{p-39de1cef.entry.js → p-81b00c43.entry.js} +2 -2
- package/dist/atomic/{p-d4303474.entry.js → p-847cdfd5.entry.js} +2 -2
- package/dist/atomic/p-847cdfd5.entry.js.map +1 -0
- package/dist/atomic/{p-1ebea045.entry.js → p-84ac45b4.entry.js} +2 -2
- package/dist/atomic/{p-57ed25c9.entry.js → p-875eb57b.entry.js} +2 -2
- package/dist/atomic/{p-ceeb9f1f.entry.js → p-895da76b.entry.js} +2 -2
- package/dist/atomic/p-895da76b.entry.js.map +1 -0
- package/dist/atomic/{p-b1c34434.entry.js → p-8d63a0c4.entry.js} +2 -2
- package/dist/atomic/p-90ace4cd.entry.js.map +1 -1
- package/dist/atomic/{p-f917dce9.entry.js → p-91260e2b.entry.js} +2 -2
- package/dist/atomic/p-91260e2b.entry.js.map +1 -0
- package/dist/atomic/{p-95cff664.entry.js → p-9389337e.entry.js} +2 -2
- package/dist/atomic/{p-bcc202ff.entry.js → p-9392b7da.entry.js} +2 -2
- package/dist/atomic/{p-318c96f5.entry.js → p-9519e656.entry.js} +2 -2
- package/dist/atomic/{p-aa69a7f4.entry.js → p-98790c52.entry.js} +2 -2
- package/dist/atomic/{p-c2acd146.entry.js → p-98c7ae7f.entry.js} +2 -2
- package/dist/atomic/p-9aad555a.entry.js.map +1 -1
- package/dist/atomic/{p-a94386b5.entry.js → p-9f01593d.entry.js} +2 -2
- package/dist/atomic/{p-4b1dc787.js → p-a24a63d6.js} +1 -1
- package/dist/atomic/p-a24a63d6.js.map +1 -0
- package/dist/atomic/{p-49ac2124.entry.js → p-a48ae7ab.entry.js} +2 -2
- package/dist/atomic/{p-15580d9e.js → p-a8c6b43b.js} +2 -2
- package/dist/atomic/p-a8c6b43b.js.map +1 -0
- package/dist/atomic/{p-7e588beb.entry.js → p-a9016629.entry.js} +2 -2
- package/dist/atomic/p-a9016629.entry.js.map +1 -0
- package/dist/atomic/{p-a9e250f8.js → p-a9d9e80e.js} +2 -2
- package/dist/atomic/p-a9d9e80e.js.map +1 -0
- package/dist/atomic/{p-fa9d8ab7.entry.js → p-ab3da44d.entry.js} +2 -2
- package/dist/atomic/{p-f964e30a.entry.js → p-acd72087.entry.js} +2 -2
- package/dist/atomic/{p-cbc634fa.entry.js → p-ae071697.entry.js} +2 -2
- package/dist/atomic/{p-2e78d642.entry.js → p-ae346172.entry.js} +2 -2
- package/dist/atomic/p-ae346172.entry.js.map +1 -0
- package/dist/atomic/{p-66d48d1a.js → p-b8e66e99.js} +1 -1
- package/dist/atomic/p-b8e66e99.js.map +1 -0
- package/dist/atomic/{p-4ba12e99.entry.js → p-b93c93f7.entry.js} +2 -2
- package/dist/atomic/{p-d4cbd9b1.js → p-b93d0580.js} +2 -2
- package/dist/atomic/p-b93d0580.js.map +1 -0
- package/dist/atomic/{p-b0ce2261.entry.js → p-bb0e0b5d.entry.js} +2 -2
- package/dist/atomic/{p-b0ce2261.entry.js.map → p-bb0e0b5d.entry.js.map} +1 -1
- package/dist/atomic/{p-1f059522.js → p-c3451367.js} +1 -1
- package/dist/atomic/p-c3451367.js.map +1 -0
- package/dist/atomic/{p-cacb7fd8.entry.js → p-c402cc93.entry.js} +2 -2
- package/dist/atomic/{p-42937d04.entry.js → p-c45361ac.entry.js} +2 -2
- package/dist/atomic/p-c45361ac.entry.js.map +1 -0
- package/dist/atomic/{p-7cb0050f.js → p-c727ec2d.js} +1 -1
- package/dist/atomic/p-c727ec2d.js.map +1 -0
- package/dist/atomic/{p-8998da31.entry.js → p-c82dd1aa.entry.js} +2 -2
- package/dist/atomic/{p-25660266.js → p-cbbc91ef.js} +2 -2
- package/dist/atomic/p-cbbc91ef.js.map +1 -0
- package/dist/atomic/p-ccb5ae69.js +2 -0
- package/dist/atomic/p-ccb5ae69.js.map +1 -0
- package/dist/atomic/{p-9411ab14.entry.js → p-cd047d6d.entry.js} +2 -2
- package/dist/atomic/{p-ca0e9cd6.js → p-cdfcb38c.js} +2 -2
- package/dist/atomic/p-cdfcb38c.js.map +1 -0
- package/dist/atomic/{p-df84c005.entry.js → p-ceca3fb8.entry.js} +2 -2
- package/dist/atomic/{p-4e6dcdcf.entry.js → p-cf0a69e5.entry.js} +2 -2
- package/dist/atomic/{p-1717e9cf.entry.js → p-d0937472.entry.js} +2 -2
- package/dist/atomic/{p-1ceca322.entry.js → p-d3d0ac7c.entry.js} +2 -2
- package/dist/atomic/{p-bd50cd51.entry.js → p-d6bc0fb4.entry.js} +2 -2
- package/dist/atomic/{p-307e7fd5.js → p-d72be8c2.js} +1 -1
- package/dist/atomic/p-d72be8c2.js.map +1 -0
- package/dist/atomic/{p-0e6f1e14.js → p-d7f0c2c5.js} +2 -2
- package/dist/atomic/p-d7f0c2c5.js.map +1 -0
- package/dist/atomic/{p-8c87d746.entry.js → p-da9b6e5c.entry.js} +2 -2
- package/dist/atomic/{p-9dcd5606.js → p-dc8c49c8.js} +2 -2
- package/dist/atomic/p-dc8c49c8.js.map +1 -0
- package/dist/atomic/{p-d365883e.js → p-dda4be4d.js} +2 -2
- package/dist/atomic/p-dda4be4d.js.map +1 -0
- package/dist/atomic/{p-75c37247.js → p-de53197d.js} +1 -1
- package/dist/atomic/{p-75c37247.js.map → p-de53197d.js.map} +1 -1
- package/dist/atomic/{p-d4c2b7c0.js → p-defc2481.js} +1 -1
- package/dist/atomic/{p-d4c2b7c0.js.map → p-defc2481.js.map} +1 -1
- package/dist/atomic/{p-f02d1e6e.entry.js → p-e0d103ba.entry.js} +2 -2
- package/dist/atomic/{p-76cf6545.js → p-e49423b4.js} +2 -2
- package/dist/atomic/p-e49423b4.js.map +1 -0
- package/dist/atomic/{p-be5d3c54.js → p-e5e2aa64.js} +1 -1
- package/dist/atomic/p-e5e2aa64.js.map +1 -0
- package/dist/atomic/{p-30e24f95.entry.js → p-e62caa78.entry.js} +2 -2
- package/dist/atomic/p-e6f167c9.js +2 -0
- package/dist/atomic/p-e6f167c9.js.map +1 -0
- package/dist/atomic/{p-0ab0ceaa.js → p-e9feab84.js} +2 -2
- package/dist/atomic/p-e9feab84.js.map +1 -0
- package/dist/atomic/{p-bdad3117.entry.js → p-f04c86b4.entry.js} +2 -2
- package/dist/atomic/{p-9ec21c88.entry.js → p-f0e60a0c.entry.js} +2 -2
- package/dist/atomic/{p-6ddd05c2.entry.js → p-f12325cc.entry.js} +2 -2
- package/dist/atomic/{p-8a30d1e9.entry.js → p-f44e1bd3.entry.js} +2 -2
- package/dist/atomic/{p-d9241b90.entry.js → p-f5a0fdc8.entry.js} +2 -2
- package/dist/atomic/p-f5a0fdc8.entry.js.map +1 -0
- package/dist/atomic/{p-3957401e.entry.js → p-fa83768b.entry.js} +2 -2
- package/dist/atomic/{p-9feb951f.entry.js → p-fd7a8926.entry.js} +2 -2
- package/dist/cjs/_index.cjs.js +35 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +8 -8
- package/dist/cjs/atomic-breadbox.cjs.entry.js +19 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +54 -17
- package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-citation.cjs.entry.js +2 -2
- package/dist/cjs/atomic-color-facet.cjs.entry.js +12 -9
- package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js +12 -1
- package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +20 -14
- package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -3
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +4 -4
- package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +13 -13
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +11 -11
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -7
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +9 -0
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-children.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +44 -6
- 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 -2
- package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
- package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -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 -2
- package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
- package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +14 -2
- package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +6 -3
- package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +11 -11
- package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
- package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +8 -5
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +9 -9
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +7 -7
- package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +14 -2
- package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +7 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +16 -4
- package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-text_2.cjs.entry.js +6 -0
- package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-box.cjs.entry.js +12 -5
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -3
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -3
- package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -4
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +15 -0
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +8 -8
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/{facet-guard-328b588d.js → facet-guard-0e8cbe50.js} +4 -1
- package/dist/cjs/facet-guard-0e8cbe50.js.map +1 -0
- package/dist/cjs/{facet-placeholder-21821057.js → facet-placeholder-28bdf849.js} +12 -3
- package/dist/cjs/facet-placeholder-28bdf849.js.map +1 -0
- package/dist/cjs/{generated-answer-common-4410c9e0.js → generated-answer-common-0d1fc031.js} +30 -3
- package/dist/cjs/generated-answer-common-0d1fc031.js.map +1 -0
- package/dist/cjs/index-757bc886.js +0 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{item-list-guard-506b695a.js → item-list-guard-71a3f994.js} +4 -1
- package/dist/cjs/item-list-guard-71a3f994.js.map +1 -0
- package/dist/cjs/{item-template-provider-e82736d7.js → item-template-provider-c639f39c.js} +7 -1
- package/dist/cjs/item-template-provider-c639f39c.js.map +1 -0
- package/dist/cjs/{show-hide-button-2a630d6f.js → show-hide-button-12eb762b.js} +15 -3
- package/dist/cjs/show-hide-button-12eb762b.js.map +1 -0
- package/dist/cjs/{smart-snippet-common-524d635f.js → smart-snippet-common-9d247110.js} +19 -4
- package/dist/cjs/smart-snippet-common-9d247110.js.map +1 -0
- package/dist/cjs/{smart-snippet-feedback-modal-common-3b7e3c7e.js → smart-snippet-feedback-modal-common-43bc6145.js} +23 -2
- package/dist/cjs/smart-snippet-feedback-modal-common-43bc6145.js.map +1 -0
- package/dist/cjs/{smart-snippet-suggestions-common-a6fb3bfd.js → smart-snippet-suggestions-common-4dba10d1.js} +21 -3
- package/dist/cjs/smart-snippet-suggestions-common-4dba10d1.js.map +1 -0
- package/dist/cjs/{stencil-button-a114783e.js → stencil-button-aa0f9cb5.js} +2 -2
- package/dist/cjs/{stencil-button-a114783e.js.map → stencil-button-aa0f9cb5.js.map} +1 -1
- package/dist/cjs/{stencil-carousel-254b4ea7.js → stencil-carousel-ecc37fcf.js} +5 -2
- package/dist/cjs/stencil-carousel-ecc37fcf.js.map +1 -0
- package/dist/cjs/{stencil-checkbox-81c51bbd.js → stencil-checkbox-6a2ad8d3.js} +2 -2
- package/dist/cjs/stencil-checkbox-6a2ad8d3.js.map +1 -0
- package/dist/cjs/{stencil-display-grid-93c5802a.js → stencil-display-grid-1f4e15ba.js} +4 -1
- package/dist/cjs/stencil-display-grid-1f4e15ba.js.map +1 -0
- package/dist/cjs/{stencil-display-wrapper-498de571.js → stencil-display-wrapper-b5c56fe9.js} +7 -1
- package/dist/cjs/stencil-display-wrapper-b5c56fe9.js.map +1 -0
- package/dist/cjs/{stencil-facet-search-matches-9e841241.js → stencil-facet-search-matches-f77a8c78.js} +9 -3
- package/dist/cjs/stencil-facet-search-matches-f77a8c78.js.map +1 -0
- package/dist/cjs/{stencil-facet-show-more-less-04f33b99.js → stencil-facet-show-more-less-52a679a0.js} +6 -3
- package/dist/cjs/stencil-facet-show-more-less-52a679a0.js.map +1 -0
- package/dist/cjs/{stencil-facet-value-3354e4da.js → stencil-facet-value-ad8037c7.js} +8 -5
- package/dist/cjs/stencil-facet-value-ad8037c7.js.map +1 -0
- package/dist/cjs/{stencil-facet-value-box-e8b01b77.js → stencil-facet-value-box-8f6ae2b0.js} +5 -2
- package/dist/cjs/stencil-facet-value-box-8f6ae2b0.js.map +1 -0
- package/dist/cjs/{stencil-facet-value-checkbox-4800af7b.js → stencil-facet-value-checkbox-58bb59b9.js} +10 -5
- package/dist/cjs/stencil-facet-value-checkbox-58bb59b9.js.map +1 -0
- package/dist/cjs/{stencil-facet-value-label-highlight-c2421e8f.js → stencil-facet-value-label-highlight-16ea0e83.js} +4 -1
- package/dist/cjs/stencil-facet-value-label-highlight-16ea0e83.js.map +1 -0
- package/dist/cjs/{stencil-facet-value-link-98e3fe34.js → stencil-facet-value-link-e24cd431.js} +5 -2
- package/dist/cjs/stencil-facet-value-link-e24cd431.js.map +1 -0
- package/dist/cjs/{stencil-facet-values-group-07b50fc0.js → stencil-facet-values-group-332a2362.js} +5 -2
- package/dist/cjs/stencil-facet-values-group-332a2362.js.map +1 -0
- package/dist/cjs/{stencil-fieldset-group-3b25c138.js → stencil-fieldset-group-cc350109.js} +4 -1
- package/dist/cjs/stencil-fieldset-group-cc350109.js.map +1 -0
- package/dist/cjs/{stencil-heading-2faee1f7.js → stencil-heading-7e57d2eb.js} +2 -2
- package/dist/cjs/stencil-heading-7e57d2eb.js.map +1 -0
- package/dist/cjs/{stencil-iconButton-c8727a20.js → stencil-iconButton-12f18eff.js} +5 -2
- package/dist/cjs/stencil-iconButton-12f18eff.js.map +1 -0
- package/dist/cjs/{stencil-item-link-9feaef61.js → stencil-item-link-3f38d5be.js} +4 -1
- package/dist/cjs/stencil-item-link-3f38d5be.js.map +1 -0
- package/dist/cjs/{stencil-link-2e32315d.js → stencil-link-f9b71cbd.js} +26 -3
- package/dist/cjs/stencil-link-f9b71cbd.js.map +1 -0
- package/dist/cjs/{stencil-magnifying-glass-c1d386a1.js → stencil-magnifying-glass-e09449a3.js} +7 -1
- package/dist/cjs/stencil-magnifying-glass-e09449a3.js.map +1 -0
- package/dist/cjs/{stencil-modal-9a4a9927.js → stencil-modal-c8184bfa.js} +5 -2
- package/dist/cjs/stencil-modal-c8184bfa.js.map +1 -0
- package/dist/cjs/{stencil-radio-button-cbcc483e.js → stencil-radio-button-eb67a30a.js} +3 -3
- package/dist/cjs/stencil-radio-button-eb67a30a.js.map +1 -0
- package/dist/cjs/{stencil-rating-a40e50dd.js → stencil-rating-2b9b6345.js} +6 -3
- package/dist/cjs/stencil-rating-2b9b6345.js.map +1 -0
- package/dist/cjs/{stencil-suggestion-manager-3e1cf81e.js → stencil-suggestion-manager-62c42aa3.js} +12 -3
- package/dist/cjs/stencil-suggestion-manager-62c42aa3.js.map +1 -0
- package/dist/cjs/{stencil-tips-e913f891.js → stencil-tips-ecad2e9f.js} +10 -1
- package/dist/cjs/stencil-tips-ecad2e9f.js.map +1 -0
- package/dist/cjs/{stencil-values-container-e4b76048.js → stencil-values-container-0cf24782.js} +11 -5
- package/dist/cjs/stencil-values-container-0cf24782.js.map +1 -0
- package/dist/cjs/{timeframe-facet-common-82da2ca9.js → timeframe-facet-common-b08ffe64.js} +5 -5
- package/dist/cjs/{timeframe-facet-common-82da2ca9.js.map → timeframe-facet-common-b08ffe64.js.map} +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +35 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js +8 -8
- package/dist/esm/atomic-breadbox.entry.js +19 -1
- package/dist/esm/atomic-breadbox.entry.js.map +1 -1
- package/dist/esm/atomic-category-facet.entry.js +54 -17
- package/dist/esm/atomic-category-facet.entry.js.map +1 -1
- package/dist/esm/atomic-citation.entry.js +2 -2
- package/dist/esm/atomic-color-facet.entry.js +12 -9
- package/dist/esm/atomic-color-facet.entry.js.map +1 -1
- package/dist/esm/atomic-did-you-mean.entry.js +12 -1
- package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
- package/dist/esm/atomic-facet-number-input.entry.js +1 -1
- package/dist/esm/atomic-facet.entry.js +20 -14
- package/dist/esm/atomic-facet.entry.js.map +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +3 -3
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -4
- package/dist/esm/atomic-generated-answer.entry.js +4 -4
- package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-facet.entry.js +13 -13
- package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -3
- package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
- package/dist/esm/atomic-insight-generated-answer.entry.js +4 -4
- package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +2 -2
- package/dist/esm/atomic-insight-numeric-facet.entry.js +11 -11
- package/dist/esm/atomic-insight-pager.entry.js +7 -7
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +2 -2
- package/dist/esm/atomic-insight-query-summary.entry.js +9 -0
- package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
- package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-result-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-children.entry.js +3 -3
- package/dist/esm/atomic-insight-result-list.entry.js +3 -3
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
- package/dist/esm/atomic-insight-search-box.entry.js +43 -5
- package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -3
- package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
- package/dist/esm/atomic-insight-tab.entry.js +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
- package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
- package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -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 -2
- package/dist/esm/atomic-ipx-button.entry.js +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
- package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
- package/dist/esm/atomic-ipx-tab.entry.js +1 -1
- package/dist/esm/atomic-load-more-results.entry.js +14 -2
- package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
- package/dist/esm/atomic-no-results.entry.js +6 -3
- package/dist/esm/atomic-no-results.entry.js.map +1 -1
- package/dist/esm/atomic-notifications.entry.js +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +11 -11
- package/dist/esm/atomic-popover.entry.js +1 -1
- package/dist/esm/atomic-query-error.entry.js +2 -2
- package/dist/esm/atomic-quickview-modal.entry.js +8 -5
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +9 -9
- package/dist/esm/atomic-rating-range-facet.entry.js +7 -7
- package/dist/esm/atomic-recs-error.entry.js +2 -2
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +6 -6
- package/dist/esm/atomic-refine-modal.entry.js +14 -2
- package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +7 -1
- package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +3 -3
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +16 -4
- package/dist/esm/atomic-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
- package/dist/esm/atomic-result-rating.entry.js +1 -1
- package/dist/esm/atomic-result-text_2.entry.js +6 -0
- package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
- package/dist/esm/atomic-search-box.entry.js +12 -5
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
- package/dist/esm/atomic-segmented-facet.entry.js +6 -3
- package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js +1 -1
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -4
- package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -3
- package/dist/esm/atomic-smart-snippet.entry.js +4 -4
- package/dist/esm/atomic-sort-dropdown.entry.js +15 -0
- package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -1
- package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
- package/dist/esm/atomic-tab-button.entry.js +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +8 -8
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/{facet-guard-4b795e90.js → facet-guard-3bb4a306.js} +4 -1
- package/dist/esm/facet-guard-3bb4a306.js.map +1 -0
- package/dist/esm/{facet-placeholder-cf7007ee.js → facet-placeholder-5c76d381.js} +12 -3
- package/dist/esm/facet-placeholder-5c76d381.js.map +1 -0
- package/dist/esm/{generated-answer-common-7a072444.js → generated-answer-common-50a58790.js} +30 -3
- package/dist/esm/generated-answer-common-50a58790.js.map +1 -0
- package/dist/esm/index-3f35faca.js +0 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{item-list-guard-22b0711a.js → item-list-guard-8cd62b09.js} +4 -1
- package/dist/esm/item-list-guard-8cd62b09.js.map +1 -0
- package/dist/esm/{item-template-provider-6e736120.js → item-template-provider-d9ddb19d.js} +7 -1
- package/dist/esm/item-template-provider-d9ddb19d.js.map +1 -0
- package/dist/esm/{show-hide-button-706d82d9.js → show-hide-button-4765764b.js} +15 -3
- package/dist/esm/show-hide-button-4765764b.js.map +1 -0
- package/dist/esm/{smart-snippet-common-01b7411b.js → smart-snippet-common-bf32e4ba.js} +19 -4
- package/dist/esm/smart-snippet-common-bf32e4ba.js.map +1 -0
- package/dist/esm/{smart-snippet-feedback-modal-common-50d66179.js → smart-snippet-feedback-modal-common-9d74c0b9.js} +23 -2
- package/dist/esm/smart-snippet-feedback-modal-common-9d74c0b9.js.map +1 -0
- package/dist/esm/{smart-snippet-suggestions-common-54b6498b.js → smart-snippet-suggestions-common-9375b247.js} +21 -3
- package/dist/esm/smart-snippet-suggestions-common-9375b247.js.map +1 -0
- package/dist/esm/{stencil-button-5f84efcc.js → stencil-button-49254c75.js} +2 -2
- package/dist/esm/{stencil-button-5f84efcc.js.map → stencil-button-49254c75.js.map} +1 -1
- package/dist/esm/{stencil-carousel-4264cd9b.js → stencil-carousel-5402db5e.js} +5 -2
- package/dist/esm/stencil-carousel-5402db5e.js.map +1 -0
- package/dist/esm/{stencil-checkbox-9d8fe5f6.js → stencil-checkbox-d165d303.js} +2 -2
- package/dist/esm/stencil-checkbox-d165d303.js.map +1 -0
- package/dist/esm/{stencil-display-grid-b9eb7397.js → stencil-display-grid-ebbdd169.js} +4 -1
- package/dist/esm/stencil-display-grid-ebbdd169.js.map +1 -0
- package/dist/esm/{stencil-display-wrapper-5b32e77c.js → stencil-display-wrapper-8cb4e48e.js} +7 -1
- package/dist/esm/stencil-display-wrapper-8cb4e48e.js.map +1 -0
- package/dist/esm/{stencil-facet-search-matches-7299e897.js → stencil-facet-search-matches-f36e9ae9.js} +9 -3
- package/dist/esm/stencil-facet-search-matches-f36e9ae9.js.map +1 -0
- package/dist/esm/{stencil-facet-show-more-less-202207c3.js → stencil-facet-show-more-less-557b4107.js} +6 -3
- package/dist/esm/stencil-facet-show-more-less-557b4107.js.map +1 -0
- package/dist/esm/{stencil-facet-value-8fd91a54.js → stencil-facet-value-665ca72b.js} +8 -5
- package/dist/esm/stencil-facet-value-665ca72b.js.map +1 -0
- package/dist/esm/{stencil-facet-value-box-85126921.js → stencil-facet-value-box-cd4a6aa8.js} +5 -2
- package/dist/esm/stencil-facet-value-box-cd4a6aa8.js.map +1 -0
- package/dist/esm/{stencil-facet-value-checkbox-228b572d.js → stencil-facet-value-checkbox-13802512.js} +10 -5
- package/dist/esm/stencil-facet-value-checkbox-13802512.js.map +1 -0
- package/dist/esm/{stencil-facet-value-label-highlight-b4083ffd.js → stencil-facet-value-label-highlight-f4518687.js} +4 -1
- package/dist/esm/stencil-facet-value-label-highlight-f4518687.js.map +1 -0
- package/dist/esm/{stencil-facet-value-link-41281838.js → stencil-facet-value-link-cf3f9c2d.js} +5 -2
- package/dist/esm/stencil-facet-value-link-cf3f9c2d.js.map +1 -0
- package/dist/esm/{stencil-facet-values-group-1108573d.js → stencil-facet-values-group-fefc8abb.js} +5 -2
- package/dist/esm/stencil-facet-values-group-fefc8abb.js.map +1 -0
- package/dist/esm/{stencil-fieldset-group-5fa357cd.js → stencil-fieldset-group-e02988dc.js} +4 -1
- package/dist/esm/stencil-fieldset-group-e02988dc.js.map +1 -0
- package/dist/esm/{stencil-heading-2b28a9b9.js → stencil-heading-c701a05a.js} +2 -2
- package/dist/esm/stencil-heading-c701a05a.js.map +1 -0
- package/dist/esm/{stencil-iconButton-ff8c8cf7.js → stencil-iconButton-65d8387c.js} +5 -2
- package/dist/esm/stencil-iconButton-65d8387c.js.map +1 -0
- package/dist/esm/{stencil-item-link-5a3f8f23.js → stencil-item-link-0183987b.js} +4 -1
- package/dist/esm/stencil-item-link-0183987b.js.map +1 -0
- package/dist/esm/{stencil-link-feb82bc0.js → stencil-link-982cba05.js} +26 -3
- package/dist/esm/stencil-link-982cba05.js.map +1 -0
- package/dist/esm/{stencil-magnifying-glass-041294b6.js → stencil-magnifying-glass-f6e9c08b.js} +7 -1
- package/dist/esm/stencil-magnifying-glass-f6e9c08b.js.map +1 -0
- package/dist/esm/{stencil-modal-ec1562dc.js → stencil-modal-99e93edd.js} +5 -2
- package/dist/esm/stencil-modal-99e93edd.js.map +1 -0
- package/dist/esm/{stencil-radio-button-4b36e45d.js → stencil-radio-button-8d40e86f.js} +3 -3
- package/dist/esm/stencil-radio-button-8d40e86f.js.map +1 -0
- package/dist/esm/{stencil-rating-2d6963a3.js → stencil-rating-8e6bcc27.js} +6 -3
- package/dist/esm/stencil-rating-8e6bcc27.js.map +1 -0
- package/dist/esm/{stencil-suggestion-manager-95694bcb.js → stencil-suggestion-manager-3d2eea75.js} +12 -3
- package/dist/esm/stencil-suggestion-manager-3d2eea75.js.map +1 -0
- package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-3b4426a3.js} +10 -1
- package/dist/esm/stencil-tips-3b4426a3.js.map +1 -0
- package/dist/esm/{stencil-values-container-369adc52.js → stencil-values-container-53c1232c.js} +11 -5
- package/dist/esm/stencil-values-container-53c1232c.js.map +1 -0
- package/dist/esm/{timeframe-facet-common-b97e786a.js → timeframe-facet-common-33642d0d.js} +5 -5
- package/dist/esm/{timeframe-facet-common-b97e786a.js.map → timeframe-facet-common-33642d0d.js.map} +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-search-box-recent-queries/atomic-commerce-search-box-recent-queries.d.ts +1 -0
- package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +5 -2
- package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +6 -0
- package/dist/types/components/common/breadbox/breadcrumb-button.d.ts +2 -0
- package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +5 -1
- package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +5 -1
- package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +5 -1
- package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +5 -1
- package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +5 -1
- package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +5 -1
- package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
- package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
- package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
- package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
- package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +5 -1
- package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +4 -0
- package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +3 -0
- package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +6 -0
- package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +3 -0
- package/dist/types/components/common/facets/facet-guard.d.ts +3 -0
- package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +5 -1
- package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +5 -1
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +3 -0
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +3 -0
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +3 -0
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +3 -0
- package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +3 -0
- package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +6 -0
- package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +3 -0
- package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +3 -0
- package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +5 -1
- package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +3 -0
- package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +5 -1
- package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +5 -1
- package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +3 -0
- package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +3 -0
- package/dist/types/components/common/generated-answer/copy-button.d.ts +3 -0
- package/dist/types/components/common/generated-answer/feedback-button.d.ts +3 -0
- package/dist/types/components/common/generated-answer/generated-content/generated-markdown-content.d.ts +3 -0
- package/dist/types/components/common/generated-answer/generated-content/generated-text-content.d.ts +3 -0
- package/dist/types/components/common/generated-answer/generated-content-container.d.ts +3 -0
- package/dist/types/components/common/generated-answer/retry-prompt.d.ts +3 -0
- package/dist/types/components/common/generated-answer/show-button.d.ts +3 -0
- package/dist/types/components/common/generated-answer/source-citations.d.ts +3 -0
- package/dist/types/components/common/item-link/stencil-item-link.d.ts +4 -1
- package/dist/types/components/common/item-list/item-display-guard.d.ts +5 -1
- package/dist/types/components/common/item-list/item-list-guard.d.ts +5 -1
- package/dist/types/components/common/item-list/stencil-display-grid.d.ts +5 -1
- package/dist/types/components/common/item-list/stencil-display-table.d.ts +12 -3
- package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +5 -1
- package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +5 -1
- package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +5 -1
- package/dist/types/components/common/load-more/guard.d.ts +5 -1
- package/dist/types/components/common/load-more/stencil-button.d.ts +1 -4
- package/dist/types/components/common/load-more/stencil-container.d.ts +3 -0
- package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +3 -0
- package/dist/types/components/common/load-more/stencil-summary.d.ts +3 -0
- package/dist/types/components/common/no-items/cancel.d.ts +3 -0
- package/dist/types/components/common/no-items/stencil-container.d.ts +3 -0
- package/dist/types/components/common/no-items/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +3 -0
- package/dist/types/components/common/no-items/stencil-no-items.d.ts +3 -0
- package/dist/types/components/common/no-items/stencil-tips.d.ts +3 -0
- package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +8 -16
- package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +3 -5
- package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +3 -0
- package/dist/types/components/common/query-correction/stencil-correction.d.ts +3 -0
- package/dist/types/components/common/query-correction/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-container.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-description.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-details.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-icon.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-link.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-show-more.d.ts +3 -0
- package/dist/types/components/common/query-error/stencil-title.d.ts +3 -0
- package/dist/types/components/common/query-summary/stencil-container.d.ts +3 -0
- package/dist/types/components/common/query-summary/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/query-summary/stencil-utils.d.ts +3 -10
- package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -0
- package/dist/types/components/common/refine-modal/stencil-button.d.ts +3 -0
- package/dist/types/components/common/refine-modal/stencil-filters.d.ts +6 -0
- package/dist/types/components/common/refine-modal/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/refine-modal/stencil-modal.d.ts +3 -0
- package/dist/types/components/common/refine-modal/stencil-sort.d.ts +3 -0
- package/dist/types/components/common/result-children/children-wrapper.d.ts +3 -0
- package/dist/types/components/common/result-children/collection-guard.d.ts +3 -0
- package/dist/types/components/common/result-children/guard.d.ts +3 -0
- package/dist/types/components/common/result-children/show-hide-button.d.ts +3 -0
- package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +3 -0
- package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +3 -0
- package/dist/types/components/common/search-box/stencil-submit-button.d.ts +3 -0
- package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +3 -0
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.d.ts +16 -6
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.d.ts +3 -0
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.d.ts +21 -0
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.d.ts +18 -0
- package/dist/types/components/common/sort/container.d.ts +3 -0
- package/dist/types/components/common/sort/stencil-guard.d.ts +3 -0
- package/dist/types/components/common/sort/stencil-label.d.ts +3 -0
- package/dist/types/components/common/sort/stencil-option.d.ts +5 -1
- package/dist/types/components/common/sort/stencil-select.d.ts +3 -0
- package/dist/types/components/common/stencil-button.d.ts +2 -2
- package/dist/types/components/common/stencil-carousel.d.ts +5 -1
- package/dist/types/components/common/stencil-checkbox.d.ts +2 -2
- package/dist/types/components/common/stencil-fieldset-group.d.ts +5 -1
- package/dist/types/components/common/stencil-heading.d.ts +1 -1
- package/dist/types/components/common/stencil-iconButton.d.ts +5 -1
- package/dist/types/components/common/stencil-radio-button.d.ts +2 -2
- package/dist/types/components/common/stencil-triStateCheckbox.d.ts +3 -3
- package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +9 -0
- package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +12 -0
- package/dist/types/components/common/switch.d.ts +5 -1
- package/dist/types/components/common/tabs/tab-guard.d.ts +3 -0
- package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/user-action.d.ts +3 -0
- package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
- package/dist/types/components/search/{search-box-suggestions/atomic-search-box-query-suggestions → atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +15 -6
- package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -0
- package/dist/types/components/search/facets/facet-segmented-value/facet-segmented-value.d.ts +3 -0
- package/dist/types/components/search/index.d.ts +1 -0
- package/dist/types/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.d.ts +2 -1
- package/dist/types/components/search/result-template-components/quickview-iframe/quickview-iframe.d.ts +3 -0
- package/dist/types/components.d.ts +0 -49
- package/dist/types/directives/hierarchical-path.d.ts +1 -1
- package/docs/atomic-docs.json +3 -102
- package/package.json +3 -3
- package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
- package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
- package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -124
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
- package/dist/atomic/components/stencil-query-suggestions.js +0 -33
- package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
- package/dist/atomic/p-0ab0ceaa.js.map +0 -1
- package/dist/atomic/p-0e6f1e14.js.map +0 -1
- package/dist/atomic/p-0fb39501.js +0 -2
- package/dist/atomic/p-0fb39501.js.map +0 -1
- package/dist/atomic/p-134b7370.js.map +0 -1
- package/dist/atomic/p-15580d9e.js.map +0 -1
- package/dist/atomic/p-187193bb.js.map +0 -1
- package/dist/atomic/p-1f059522.js.map +0 -1
- package/dist/atomic/p-20fc8a6c.js +0 -2
- package/dist/atomic/p-25660266.js.map +0 -1
- package/dist/atomic/p-2a02812b.js +0 -2
- package/dist/atomic/p-2a02812b.js.map +0 -1
- package/dist/atomic/p-2e78d642.entry.js.map +0 -1
- package/dist/atomic/p-307e7fd5.js.map +0 -1
- package/dist/atomic/p-340130de.js.map +0 -1
- package/dist/atomic/p-3f0e7549.js.map +0 -1
- package/dist/atomic/p-42937d04.entry.js.map +0 -1
- package/dist/atomic/p-4b1dc787.js.map +0 -1
- package/dist/atomic/p-4b7a19db.js +0 -2
- package/dist/atomic/p-4b7a19db.js.map +0 -1
- package/dist/atomic/p-4bf14d26.js.map +0 -1
- package/dist/atomic/p-4e25638d.entry.js.map +0 -1
- package/dist/atomic/p-4ecabf56.js.map +0 -1
- package/dist/atomic/p-5346f77d.entry.js.map +0 -1
- package/dist/atomic/p-5a417451.entry.js.map +0 -1
- package/dist/atomic/p-66d48d1a.js.map +0 -1
- package/dist/atomic/p-68013132.js +0 -2
- package/dist/atomic/p-68013132.js.map +0 -1
- package/dist/atomic/p-76cf6545.js.map +0 -1
- package/dist/atomic/p-7b0e3ff4.entry.js.map +0 -1
- package/dist/atomic/p-7c5d4924.entry.js +0 -2
- package/dist/atomic/p-7c5d4924.entry.js.map +0 -1
- package/dist/atomic/p-7cb0050f.js.map +0 -1
- package/dist/atomic/p-7da7b187.js.map +0 -1
- package/dist/atomic/p-7e588beb.entry.js.map +0 -1
- package/dist/atomic/p-8be21e4a.js.map +0 -1
- package/dist/atomic/p-97479dde.entry.js.map +0 -1
- package/dist/atomic/p-9dcd5606.js.map +0 -1
- package/dist/atomic/p-a5bac939.js.map +0 -1
- package/dist/atomic/p-a9e250f8.js.map +0 -1
- package/dist/atomic/p-af93b44c.js +0 -2
- package/dist/atomic/p-af93b44c.js.map +0 -1
- package/dist/atomic/p-bd2703e9.js.map +0 -1
- package/dist/atomic/p-bd565f91.entry.js.map +0 -1
- package/dist/atomic/p-be5d3c54.js.map +0 -1
- package/dist/atomic/p-beb2ad8e.js.map +0 -1
- package/dist/atomic/p-ca0e9cd6.js.map +0 -1
- package/dist/atomic/p-ceeb9f1f.entry.js.map +0 -1
- package/dist/atomic/p-d0584482.entry.js.map +0 -1
- package/dist/atomic/p-d365883e.js.map +0 -1
- package/dist/atomic/p-d4303474.entry.js.map +0 -1
- package/dist/atomic/p-d4cbd9b1.js.map +0 -1
- package/dist/atomic/p-d9241b90.entry.js.map +0 -1
- package/dist/atomic/p-e58679b8.entry.js +0 -2
- package/dist/atomic/p-e58679b8.entry.js.map +0 -1
- package/dist/atomic/p-e988f378.js.map +0 -1
- package/dist/atomic/p-f917dce9.entry.js.map +0 -1
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
- package/dist/cjs/facet-guard-328b588d.js.map +0 -1
- package/dist/cjs/facet-placeholder-21821057.js.map +0 -1
- package/dist/cjs/generated-answer-common-4410c9e0.js.map +0 -1
- package/dist/cjs/item-list-guard-506b695a.js.map +0 -1
- package/dist/cjs/item-template-provider-e82736d7.js.map +0 -1
- package/dist/cjs/show-hide-button-2a630d6f.js.map +0 -1
- package/dist/cjs/smart-snippet-common-524d635f.js.map +0 -1
- package/dist/cjs/smart-snippet-feedback-modal-common-3b7e3c7e.js.map +0 -1
- package/dist/cjs/smart-snippet-suggestions-common-a6fb3bfd.js.map +0 -1
- package/dist/cjs/stencil-carousel-254b4ea7.js.map +0 -1
- package/dist/cjs/stencil-checkbox-81c51bbd.js.map +0 -1
- package/dist/cjs/stencil-display-grid-93c5802a.js.map +0 -1
- package/dist/cjs/stencil-display-wrapper-498de571.js.map +0 -1
- package/dist/cjs/stencil-facet-search-matches-9e841241.js.map +0 -1
- package/dist/cjs/stencil-facet-show-more-less-04f33b99.js.map +0 -1
- package/dist/cjs/stencil-facet-value-3354e4da.js.map +0 -1
- package/dist/cjs/stencil-facet-value-box-e8b01b77.js.map +0 -1
- package/dist/cjs/stencil-facet-value-checkbox-4800af7b.js.map +0 -1
- package/dist/cjs/stencil-facet-value-label-highlight-c2421e8f.js.map +0 -1
- package/dist/cjs/stencil-facet-value-link-98e3fe34.js.map +0 -1
- package/dist/cjs/stencil-facet-values-group-07b50fc0.js.map +0 -1
- package/dist/cjs/stencil-fieldset-group-3b25c138.js.map +0 -1
- package/dist/cjs/stencil-heading-2faee1f7.js.map +0 -1
- package/dist/cjs/stencil-iconButton-c8727a20.js.map +0 -1
- package/dist/cjs/stencil-item-link-9feaef61.js.map +0 -1
- package/dist/cjs/stencil-link-2e32315d.js.map +0 -1
- package/dist/cjs/stencil-magnifying-glass-c1d386a1.js.map +0 -1
- package/dist/cjs/stencil-modal-9a4a9927.js.map +0 -1
- package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
- package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
- package/dist/cjs/stencil-radio-button-cbcc483e.js.map +0 -1
- package/dist/cjs/stencil-rating-a40e50dd.js.map +0 -1
- package/dist/cjs/stencil-suggestion-manager-3e1cf81e.js.map +0 -1
- package/dist/cjs/stencil-tips-e913f891.js.map +0 -1
- package/dist/cjs/stencil-values-container-e4b76048.js.map +0 -1
- package/dist/cjs/suggestions-events-63dd0640.js +0 -42
- package/dist/cjs/suggestions-events-63dd0640.js.map +0 -1
- package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
- package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
- package/dist/esm/facet-guard-4b795e90.js.map +0 -1
- package/dist/esm/facet-placeholder-cf7007ee.js.map +0 -1
- package/dist/esm/generated-answer-common-7a072444.js.map +0 -1
- package/dist/esm/item-list-guard-22b0711a.js.map +0 -1
- package/dist/esm/item-template-provider-6e736120.js.map +0 -1
- package/dist/esm/show-hide-button-706d82d9.js.map +0 -1
- package/dist/esm/smart-snippet-common-01b7411b.js.map +0 -1
- package/dist/esm/smart-snippet-feedback-modal-common-50d66179.js.map +0 -1
- package/dist/esm/smart-snippet-suggestions-common-54b6498b.js.map +0 -1
- package/dist/esm/stencil-carousel-4264cd9b.js.map +0 -1
- package/dist/esm/stencil-checkbox-9d8fe5f6.js.map +0 -1
- package/dist/esm/stencil-display-grid-b9eb7397.js.map +0 -1
- package/dist/esm/stencil-display-wrapper-5b32e77c.js.map +0 -1
- package/dist/esm/stencil-facet-search-matches-7299e897.js.map +0 -1
- package/dist/esm/stencil-facet-show-more-less-202207c3.js.map +0 -1
- package/dist/esm/stencil-facet-value-8fd91a54.js.map +0 -1
- package/dist/esm/stencil-facet-value-box-85126921.js.map +0 -1
- package/dist/esm/stencil-facet-value-checkbox-228b572d.js.map +0 -1
- package/dist/esm/stencil-facet-value-label-highlight-b4083ffd.js.map +0 -1
- package/dist/esm/stencil-facet-value-link-41281838.js.map +0 -1
- package/dist/esm/stencil-facet-values-group-1108573d.js.map +0 -1
- package/dist/esm/stencil-fieldset-group-5fa357cd.js.map +0 -1
- package/dist/esm/stencil-heading-2b28a9b9.js.map +0 -1
- package/dist/esm/stencil-iconButton-ff8c8cf7.js.map +0 -1
- package/dist/esm/stencil-item-link-5a3f8f23.js.map +0 -1
- package/dist/esm/stencil-link-feb82bc0.js.map +0 -1
- package/dist/esm/stencil-magnifying-glass-041294b6.js.map +0 -1
- package/dist/esm/stencil-modal-ec1562dc.js.map +0 -1
- package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
- package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
- package/dist/esm/stencil-radio-button-4b36e45d.js.map +0 -1
- package/dist/esm/stencil-rating-2d6963a3.js.map +0 -1
- package/dist/esm/stencil-suggestion-manager-95694bcb.js.map +0 -1
- package/dist/esm/stencil-tips-be95482d.js.map +0 -1
- package/dist/esm/stencil-values-container-369adc52.js.map +0 -1
- package/dist/esm/suggestions-events-b7a6f007.js +0 -40
- package/dist/esm/suggestions-events-b7a6f007.js.map +0 -1
- package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
- package/dist/types/components/common/generated-answer/typing-loader.d.ts +0 -2
- package/dist/types/components/common/image-carousel/stencil-image-carousel-indicators.d.ts +0 -12
- package/dist/types/components/common/image-carousel/stencil-image-carousel.d.ts +0 -15
- package/dist/types/components/common/items-per-page/stencil-choices.d.ts +0 -14
- package/dist/types/components/common/items-per-page/stencil-label.d.ts +0 -2
- package/dist/types/components/common/pager/stencil-pager-guard.d.ts +0 -13
- package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +0 -20
- /package/dist/atomic/{p-d2107c93.entry.js.map → p-0035e3da.entry.js.map} +0 -0
- /package/dist/atomic/{p-e7eea1ef.entry.js.map → p-01eda62a.entry.js.map} +0 -0
- /package/dist/atomic/{p-94b0fca4.entry.js.map → p-02f2ac0b.entry.js.map} +0 -0
- /package/dist/atomic/{p-b211da6c.entry.js.map → p-066df32a.entry.js.map} +0 -0
- /package/dist/atomic/{p-d618c229.entry.js.map → p-104d7a84.entry.js.map} +0 -0
- /package/dist/atomic/{p-8f69b018.entry.js.map → p-25ee4bab.entry.js.map} +0 -0
- /package/dist/atomic/{p-583faf68.entry.js.map → p-27746cac.entry.js.map} +0 -0
- /package/dist/atomic/{p-bacb06d7.entry.js.map → p-2eac7c46.entry.js.map} +0 -0
- /package/dist/atomic/{p-ab2f6794.entry.js.map → p-3282ccf8.entry.js.map} +0 -0
- /package/dist/atomic/{p-4027e529.entry.js.map → p-37182242.entry.js.map} +0 -0
- /package/dist/atomic/{p-0947a95f.entry.js.map → p-3becda0c.entry.js.map} +0 -0
- /package/dist/atomic/{p-173deaca.entry.js.map → p-4206b797.entry.js.map} +0 -0
- /package/dist/atomic/{p-28f4600a.entry.js.map → p-458697db.entry.js.map} +0 -0
- /package/dist/atomic/{p-a3d55993.entry.js.map → p-4778132c.entry.js.map} +0 -0
- /package/dist/atomic/{p-7b9e5e58.entry.js.map → p-4bc0dc09.entry.js.map} +0 -0
- /package/dist/atomic/{p-64da3471.entry.js.map → p-582ce205.entry.js.map} +0 -0
- /package/dist/atomic/{p-475df84c.entry.js.map → p-5d36515f.entry.js.map} +0 -0
- /package/dist/atomic/{p-ddf72215.entry.js.map → p-5dbe3b4c.entry.js.map} +0 -0
- /package/dist/atomic/{p-1365c7d0.js.map → p-5e5599f3.js.map} +0 -0
- /package/dist/atomic/{p-891cb944.entry.js.map → p-5eaee0be.entry.js.map} +0 -0
- /package/dist/atomic/{p-a9aadc3d.entry.js.map → p-6489c611.entry.js.map} +0 -0
- /package/dist/atomic/{p-e0ba043d.entry.js.map → p-66beb63a.entry.js.map} +0 -0
- /package/dist/atomic/{p-01096d1c.entry.js.map → p-67f62282.entry.js.map} +0 -0
- /package/dist/atomic/{p-0acbc1aa.entry.js.map → p-6ca16a70.entry.js.map} +0 -0
- /package/dist/atomic/{p-4310d46f.entry.js.map → p-6da5e67e.entry.js.map} +0 -0
- /package/dist/atomic/{p-30ea57e8.entry.js.map → p-6f93d6d6.entry.js.map} +0 -0
- /package/dist/atomic/{p-39de1cef.entry.js.map → p-81b00c43.entry.js.map} +0 -0
- /package/dist/atomic/{p-1ebea045.entry.js.map → p-84ac45b4.entry.js.map} +0 -0
- /package/dist/atomic/{p-57ed25c9.entry.js.map → p-875eb57b.entry.js.map} +0 -0
- /package/dist/atomic/{p-b1c34434.entry.js.map → p-8d63a0c4.entry.js.map} +0 -0
- /package/dist/atomic/{p-95cff664.entry.js.map → p-9389337e.entry.js.map} +0 -0
- /package/dist/atomic/{p-bcc202ff.entry.js.map → p-9392b7da.entry.js.map} +0 -0
- /package/dist/atomic/{p-318c96f5.entry.js.map → p-9519e656.entry.js.map} +0 -0
- /package/dist/atomic/{p-aa69a7f4.entry.js.map → p-98790c52.entry.js.map} +0 -0
- /package/dist/atomic/{p-c2acd146.entry.js.map → p-98c7ae7f.entry.js.map} +0 -0
- /package/dist/atomic/{p-a94386b5.entry.js.map → p-9f01593d.entry.js.map} +0 -0
- /package/dist/atomic/{p-49ac2124.entry.js.map → p-a48ae7ab.entry.js.map} +0 -0
- /package/dist/atomic/{p-fa9d8ab7.entry.js.map → p-ab3da44d.entry.js.map} +0 -0
- /package/dist/atomic/{p-f964e30a.entry.js.map → p-acd72087.entry.js.map} +0 -0
- /package/dist/atomic/{p-cbc634fa.entry.js.map → p-ae071697.entry.js.map} +0 -0
- /package/dist/atomic/{p-4ba12e99.entry.js.map → p-b93c93f7.entry.js.map} +0 -0
- /package/dist/atomic/{p-cacb7fd8.entry.js.map → p-c402cc93.entry.js.map} +0 -0
- /package/dist/atomic/{p-8998da31.entry.js.map → p-c82dd1aa.entry.js.map} +0 -0
- /package/dist/atomic/{p-9411ab14.entry.js.map → p-cd047d6d.entry.js.map} +0 -0
- /package/dist/atomic/{p-df84c005.entry.js.map → p-ceca3fb8.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e6dcdcf.entry.js.map → p-cf0a69e5.entry.js.map} +0 -0
- /package/dist/atomic/{p-1717e9cf.entry.js.map → p-d0937472.entry.js.map} +0 -0
- /package/dist/atomic/{p-1ceca322.entry.js.map → p-d3d0ac7c.entry.js.map} +0 -0
- /package/dist/atomic/{p-bd50cd51.entry.js.map → p-d6bc0fb4.entry.js.map} +0 -0
- /package/dist/atomic/{p-8c87d746.entry.js.map → p-da9b6e5c.entry.js.map} +0 -0
- /package/dist/atomic/{p-f02d1e6e.entry.js.map → p-e0d103ba.entry.js.map} +0 -0
- /package/dist/atomic/{p-30e24f95.entry.js.map → p-e62caa78.entry.js.map} +0 -0
- /package/dist/atomic/{p-bdad3117.entry.js.map → p-f04c86b4.entry.js.map} +0 -0
- /package/dist/atomic/{p-9ec21c88.entry.js.map → p-f0e60a0c.entry.js.map} +0 -0
- /package/dist/atomic/{p-6ddd05c2.entry.js.map → p-f12325cc.entry.js.map} +0 -0
- /package/dist/atomic/{p-8a30d1e9.entry.js.map → p-f44e1bd3.entry.js.map} +0 -0
- /package/dist/atomic/{p-3957401e.entry.js.map → p-fa83768b.entry.js.map} +0 -0
- /package/dist/atomic/{p-9feb951f.entry.js.map → p-fd7a8926.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-load-more-results.js","mappings":"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","names":["AtomicLoadMoreResults"],"sources":["src/components/common/load-more/guard.tsx","src/components/common/load-more/stencil-button.tsx","src/components/common/load-more/stencil-container.tsx","src/components/common/load-more/stencil-progress-bar.tsx","src/components/common/load-more/stencil-summary.tsx","src/components/search/atomic-load-more-results/atomic-load-more-results.pcss?tag=atomic-load-more-results&encapsulation=shadow","src/components/search/atomic-load-more-results/atomic-load-more-results.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\nexport interface LoadMoreGuardProps {\n isLoaded: boolean;\n hasResults: boolean;\n}\nexport const LoadMoreGuard: FunctionalComponent<LoadMoreGuardProps> = (\n {isLoaded, hasResults},\n children\n) => {\n if (!isLoaded || !hasResults) {\n return;\n }\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use LoadMoreButtonProps interface instead\n */\ninterface StencilLoadMoreButtonProps {\n i18n: i18n;\n onClick: () => void;\n moreAvailable: boolean;\n label?: 'load-more-results' | 'load-more-products';\n}\n\n/**\n * @deprecated Should only be used for Stencil components; for Lit components, use the button.ts file instead\n */\nexport const LoadMoreButton: FunctionalComponent<\n StencilLoadMoreButtonProps\n> = ({i18n, onClick, moreAvailable, label}) => {\n if (!moreAvailable) {\n return;\n }\n return (\n <Button\n style=\"primary\"\n text={i18n.t(label || 'load-more-results')}\n part=\"load-more-results-button\"\n class=\"my-2 p-3 font-bold\"\n onClick={() => onClick()}\n ></Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const LoadMoreContainer: FunctionalComponent = (_, children) => {\n return (\n <div class=\"flex flex-col items-center\" part=\"container\">\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface LoadMoreProgressBarProps {\n from: number;\n to: number;\n}\n\nexport const LoadMoreProgressBar: FunctionalComponent<\n LoadMoreProgressBarProps\n> = ({from, to}) => {\n const percentage = (from / to) * 100;\n const width = `${Math.ceil(percentage)}%`;\n return (\n <div part=\"progress-bar\" class=\"bg-neutral relative my-2 h-1 w-72 rounded\">\n <div\n class=\"progress-bar absolute top-0 left-0 z-1 h-full overflow-hidden rounded bg-linear-to-r\"\n style={{width}}\n ></div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\n\ninterface LoadMoreSummaryProps {\n i18n: i18n;\n from: number;\n to: number;\n label?: 'showing-results-of-load-more' | 'showing-products-of-load-more';\n}\n\nexport const LoadMoreSummary: FunctionalComponent<LoadMoreSummaryProps> = ({\n i18n,\n from,\n to,\n label,\n}) => {\n const wrapHighlight = (content: string) => {\n return `<span class=\"font-bold text-on-background\" part=\"highlight\">${content}</span>`;\n };\n\n const locale = i18n.language;\n const content = i18n.t(label || 'showing-results-of-load-more', {\n interpolation: {escapeValue: false},\n last: wrapHighlight(from.toLocaleString(locale)),\n total: wrapHighlight(to.toLocaleString(locale)),\n });\n\n return (\n <div\n class=\"text-neutral-dark my-2 text-lg\"\n part=\"showing-results\"\n innerHTML={content}\n ></div>\n );\n};\n","@import '../../../global/global.pcss';\n\n/**\n * @prop --atomic-more-results-progress-bar-color-from: Color of the start of the gradient for the load more results progress bar.\n * @prop --atomic-more-results-progress-bar-color-to: Color of the end of the gradient for the load more results progress bar.\n */\n.progress-bar {\n @apply from-more-results-progress-bar-color-from;\n @apply to-more-results-progress-bar-color-to;\n}\n","import {\n QuerySummary,\n QuerySummaryState,\n buildQuerySummary,\n ResultList,\n ResultListState,\n buildResultList,\n} from '@coveo/headless';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {LoadMoreGuard} from '../../common/load-more/guard';\nimport {LoadMoreButton} from '../../common/load-more/stencil-button';\nimport {LoadMoreContainer} from '../../common/load-more/stencil-container';\nimport {LoadMoreProgressBar} from '../../common/load-more/stencil-progress-bar';\nimport {LoadMoreSummary} from '../../common/load-more/stencil-summary';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-load-more-results` component allows the user to load additional results if more are available.\n *\n * @part container - The container of the component.\n * @part showing-results - The summary displaying which results are shown and how many are available.\n * @part highlight - The highlighted number of results displayed and number of results available.\n * @part progress-bar - The progress bar displaying a percentage of results shown over the total number of results available.\n * @part load-more-results-button - The \"Load more results\" button.\n */\n@Component({\n tag: 'atomic-load-more-results',\n styleUrl: 'atomic-load-more-results.pcss',\n shadow: true,\n})\nexport class AtomicLoadMoreResults {\n @InitializeBindings() public bindings!: Bindings;\n public querySummary!: QuerySummary;\n public resultList!: ResultList;\n\n @BindStateToController('querySummary')\n @State()\n private querySummaryState!: QuerySummaryState;\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n public initialize() {\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine, {\n options: {\n fieldsToInclude: [],\n },\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private async onClick() {\n // TODO KIT-4227: Once the focus mess is resolved, ensure that:\n // The focus is set on the next new result after loading more results **without scrolling**.\n //this.bindings.store.state.resultList?.focusOnNextNewResult();\n (document.activeElement as HTMLElement)?.blur(); // Blur the active element to avoid focus issues, remove when focus mess is resolved.\n this.resultList.fetchMoreResults();\n }\n\n public render() {\n const {lastResult: from, total: to} = this.querySummaryState;\n const {i18n} = this.bindings;\n\n return (\n <LoadMoreGuard\n hasResults={this.querySummaryState.hasResults}\n isLoaded={this.isAppLoaded}\n >\n <LoadMoreContainer>\n <LoadMoreSummary from={from} to={to} i18n={i18n} />\n <LoadMoreProgressBar from={from} to={to} />\n <LoadMoreButton\n i18n={i18n}\n moreAvailable={this.resultListState.moreResultsAvailable}\n onClick={() => this.onClick()}\n />\n </LoadMoreContainer>\n </LoadMoreGuard>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-load-more-results.js","mappings":"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","names":["AtomicLoadMoreResults"],"sources":["src/components/common/load-more/guard.tsx","src/components/common/load-more/stencil-button.tsx","src/components/common/load-more/stencil-container.tsx","src/components/common/load-more/stencil-progress-bar.tsx","src/components/common/load-more/stencil-summary.tsx","src/components/search/atomic-load-more-results/atomic-load-more-results.pcss?tag=atomic-load-more-results&encapsulation=shadow","src/components/search/atomic-load-more-results/atomic-load-more-results.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface LoadMoreGuardProps {\n isLoaded: boolean;\n hasResults: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const LoadMoreGuard: FunctionalComponent<LoadMoreGuardProps> = (\n {isLoaded, hasResults},\n children\n) => {\n if (!isLoaded || !hasResults) {\n return;\n }\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface StencilLoadMoreButtonProps {\n i18n: i18n;\n onClick: () => void;\n moreAvailable: boolean;\n label?: 'load-more-results' | 'load-more-products';\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const LoadMoreButton: FunctionalComponent<\n StencilLoadMoreButtonProps\n> = ({i18n, onClick, moreAvailable, label}) => {\n if (!moreAvailable) {\n return;\n }\n return (\n <Button\n style=\"primary\"\n text={i18n.t(label || 'load-more-results')}\n part=\"load-more-results-button\"\n class=\"my-2 p-3 font-bold\"\n onClick={() => onClick()}\n ></Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const LoadMoreContainer: FunctionalComponent = (_, children) => {\n return (\n <div class=\"flex flex-col items-center\" part=\"container\">\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface LoadMoreProgressBarProps {\n from: number;\n to: number;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const LoadMoreProgressBar: FunctionalComponent<\n LoadMoreProgressBarProps\n> = ({from, to}) => {\n const percentage = (from / to) * 100;\n const width = `${Math.ceil(percentage)}%`;\n return (\n <div part=\"progress-bar\" class=\"bg-neutral relative my-2 h-1 w-72 rounded\">\n <div\n class=\"progress-bar absolute top-0 left-0 z-1 h-full overflow-hidden rounded bg-linear-to-r\"\n style={{width}}\n ></div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\n\ninterface LoadMoreSummaryProps {\n i18n: i18n;\n from: number;\n to: number;\n label?: 'showing-results-of-load-more' | 'showing-products-of-load-more';\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const LoadMoreSummary: FunctionalComponent<LoadMoreSummaryProps> = ({\n i18n,\n from,\n to,\n label,\n}) => {\n const wrapHighlight = (content: string) => {\n return `<span class=\"font-bold text-on-background\" part=\"highlight\">${content}</span>`;\n };\n\n const locale = i18n.language;\n const content = i18n.t(label || 'showing-results-of-load-more', {\n interpolation: {escapeValue: false},\n last: wrapHighlight(from.toLocaleString(locale)),\n total: wrapHighlight(to.toLocaleString(locale)),\n });\n\n return (\n <div\n class=\"text-neutral-dark my-2 text-lg\"\n part=\"showing-results\"\n innerHTML={content}\n ></div>\n );\n};\n","@import '../../../global/global.pcss';\n\n/**\n * @prop --atomic-more-results-progress-bar-color-from: Color of the start of the gradient for the load more results progress bar.\n * @prop --atomic-more-results-progress-bar-color-to: Color of the end of the gradient for the load more results progress bar.\n */\n.progress-bar {\n @apply from-more-results-progress-bar-color-from;\n @apply to-more-results-progress-bar-color-to;\n}\n","import {\n QuerySummary,\n QuerySummaryState,\n buildQuerySummary,\n ResultList,\n ResultListState,\n buildResultList,\n} from '@coveo/headless';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {LoadMoreGuard} from '../../common/load-more/guard';\nimport {LoadMoreButton} from '../../common/load-more/stencil-button';\nimport {LoadMoreContainer} from '../../common/load-more/stencil-container';\nimport {LoadMoreProgressBar} from '../../common/load-more/stencil-progress-bar';\nimport {LoadMoreSummary} from '../../common/load-more/stencil-summary';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-load-more-results` component allows the user to load additional results if more are available.\n *\n * @part container - The container of the component.\n * @part showing-results - The summary displaying which results are shown and how many are available.\n * @part highlight - The highlighted number of results displayed and number of results available.\n * @part progress-bar - The progress bar displaying a percentage of results shown over the total number of results available.\n * @part load-more-results-button - The \"Load more results\" button.\n */\n@Component({\n tag: 'atomic-load-more-results',\n styleUrl: 'atomic-load-more-results.pcss',\n shadow: true,\n})\nexport class AtomicLoadMoreResults {\n @InitializeBindings() public bindings!: Bindings;\n public querySummary!: QuerySummary;\n public resultList!: ResultList;\n\n @BindStateToController('querySummary')\n @State()\n private querySummaryState!: QuerySummaryState;\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n public initialize() {\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine, {\n options: {\n fieldsToInclude: [],\n },\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private async onClick() {\n // TODO KIT-4227: Once the focus mess is resolved, ensure that:\n // The focus is set on the next new result after loading more results **without scrolling**.\n //this.bindings.store.state.resultList?.focusOnNextNewResult();\n (document.activeElement as HTMLElement)?.blur(); // Blur the active element to avoid focus issues, remove when focus mess is resolved.\n this.resultList.fetchMoreResults();\n }\n\n public render() {\n const {lastResult: from, total: to} = this.querySummaryState;\n const {i18n} = this.bindings;\n\n return (\n <LoadMoreGuard\n hasResults={this.querySummaryState.hasResults}\n isLoaded={this.isAppLoaded}\n >\n <LoadMoreContainer>\n <LoadMoreSummary from={from} to={to} i18n={i18n} />\n <LoadMoreProgressBar from={from} to={to} />\n <LoadMoreButton\n i18n={i18n}\n moreAvailable={this.resultListState.moreResultsAvailable}\n onClick={() => this.onClick()}\n />\n </LoadMoreContainer>\n </LoadMoreGuard>\n );\n }\n}\n"],"version":3}
|
@@ -6,6 +6,9 @@ import { B as Button } from './stencil-button.js';
|
|
6
6
|
import { N as NoItemsContainer, M as MagnifyingGlass } from './stencil-magnifying-glass.js';
|
7
7
|
import { N as NoItemsGuard, a as NoItems, S as SearchTips } from './stencil-tips.js';
|
8
8
|
|
9
|
+
/**
|
10
|
+
* @deprecated should only be used for Stencil components.
|
11
|
+
*/
|
9
12
|
const Cancel = ({ i18n, onClick }) => {
|
10
13
|
return (h(Button, { style: "primary", part: "cancel-button", text: i18n.t('cancel-last-action'), onClick: () => onClick(), class: "my-3 px-2.5 py-3 font-bold" }));
|
11
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-no-results.js","mappings":";;;;;;;;
|
1
|
+
{"file":"atomic-no-results.js","mappings":";;;;;;;;AASA;;;AAGO,MAAM,MAAM,GAAqC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC;IACtE,QACE,EAAC,MAAM,IACL,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,eAAe,EACpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAClC,OAAO,EAAE,MAAM,OAAO,EAAE,EACxB,KAAK,EAAC,4BAA4B,GAC1B,EACV;AACJ,CAAC;;ACpBM,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,KAAa,EACb,UAAmB,EACnB,OAAqC;IAErC,IAAI,UAAU,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IAED,MAAM,QAAQ,GAAG,GAAG,OAAO,MAAM,CAAC;IAElC,OAAO,KAAK;UACR,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACf,aAAa,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC;YACnC,KAAK;SACN,CAAC;UACF,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC;;ACpBD,MAAM,kBAAkB,GAAG,0ljEAA0ljE,CAAC;AACtnjE,8BAAe,kBAAkB;;;;;;;;;;;;MCyCpBA,iBAAe;;;;;;;;QAuBH,2BAAsB,GAAG,IAAI,CAAC;;;;;sCAAL,IAAI;;IAE7C,UAAU;QACf,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7D;IAEM,MAAM;QACX,MAAM,EACJ,QAAQ,EAAE,EAAC,IAAI,EAAC,GACjB,GAAG,IAAI,CAAC;QACT,IAAI,CAAC,WAAW,GAAG,UAAU,CAC3B,IAAI,EACJ,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAC5B,IAAI,CAAC,iBAAiB,CAAC,UAAU,EACjC,YAAY,CACb,CAAC;QAEF,QACE,EAAC,YAAY,wDAAK,IAAI,CAAC,iBAAiB,IACtC,EAAC,gBAAgB,uDACf,EAAC,eAAe,sDAAG,EACnB,EAAC,OAAO,qDACN,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAC,YAAY,GACpB,EACF,EAAC,UAAU,qDAAC,IAAI,EAAE,IAAI,GAAI,EACzB,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAC3D,EAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAC7C,IACA,IAAI,CACS,CACN,EACf;KACH;;;;;;;;;AA5D4B;IAA5B,kBAAkB,EAAE;mDAA4B;AAOzC;IAFP,qBAAqB,CAAC,cAAc,CAAC;4DAEQ;AAGtC;IAFP,qBAAqB,CAAC,SAAS,CAAC;uDAEU;AAGnC;IAFP,qBAAqB,CAAC,cAAc,CAAC;4DAEQ;AAIpC;IADT,cAAc,CAAC,YAAY,CAAC;sDACE;;;;;;;;;;;;;;;;;;;;","names":["AtomicNoResults"],"sources":["src/components/common/no-items/cancel.tsx","src/components/common/no-items/utils.ts","src/components/search/atomic-no-results/atomic-no-results.pcss?tag=atomic-no-results&encapsulation=shadow","src/components/search/atomic-no-results/atomic-no-results.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface CancelProps {\n i18n: i18n;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const Cancel: FunctionalComponent<CancelProps> = ({i18n, onClick}) => {\n return (\n <Button\n style=\"primary\"\n part=\"cancel-button\"\n text={i18n.t('cancel-last-action')}\n onClick={() => onClick()}\n class=\"my-3 px-2.5 py-3 font-bold\"\n ></Button>\n );\n};\n","import type {i18n} from 'i18next';\n\nexport const getSummary = (\n i18n: i18n,\n query: string,\n hasResults: boolean,\n i18nKey: 'no-products' | 'no-results'\n) => {\n if (hasResults) {\n return '';\n }\n\n const labelFor = `${i18nKey}-for`;\n\n return query\n ? i18n.t(labelFor, {\n interpolation: {escapeValue: false},\n query,\n })\n : i18n.t(i18nKey);\n};\n","@import '../../../global/global.pcss';\n","import {\n buildHistoryManager,\n HistoryManager,\n HistoryManagerState,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n QuerySummary,\n QuerySummaryState,\n buildQuerySummary,\n} from '@coveo/headless';\nimport {Component, h, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {Cancel} from '../../common/no-items/cancel';\nimport {NoItemsContainer} from '../../common/no-items/stencil-container';\nimport {NoItemsGuard} from '../../common/no-items/stencil-guard';\nimport {MagnifyingGlass} from '../../common/no-items/stencil-magnifying-glass';\nimport {NoItems} from '../../common/no-items/stencil-no-items';\nimport {SearchTips} from '../../common/no-items/stencil-tips';\nimport {getSummary} from '../../common/no-items/utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-no-results` component displays search tips and a \"Cancel last action\" button when there are no results. Any additional content slotted inside of its element will be displayed as well.\n *\n * @part cancel-button - The \"Cancel last action\" button.\n * @part no-results - The text indicating that no results were found for the search.\n * @part search-tips - The search tips to help the user correct the query.\n * @part highlight - The highlighted query.\n * @part icon - The magnifying glass icon.\n *\n * @slot default - Any additional content slotted inside of its element will be displayed as well.\n */\n@Component({\n tag: 'atomic-no-results',\n styleUrl: 'atomic-no-results.pcss',\n shadow: true,\n})\nexport class AtomicNoResults {\n @InitializeBindings() public bindings!: Bindings;\n public searchStatus!: SearchStatus;\n public history!: HistoryManager;\n public querySummary!: QuerySummary;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n @BindStateToController('history')\n @State()\n private historyState!: HistoryManagerState;\n @BindStateToController('querySummary')\n @State()\n private querySummaryState!: QuerySummaryState;\n @State() public error!: Error;\n\n @AriaLiveRegion('no-results')\n protected ariaMessage!: string;\n\n /**\n * Whether to display a button which cancels the last available action.\n */\n @Prop({reflect: true}) enableCancelLastAction = true;\n\n public initialize() {\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.history = buildHistoryManager(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n }\n\n public render() {\n const {\n bindings: {i18n},\n } = this;\n this.ariaMessage = getSummary(\n i18n,\n this.querySummaryState.query,\n this.searchStatusState.hasResults,\n 'no-results'\n );\n\n return (\n <NoItemsGuard {...this.searchStatusState}>\n <NoItemsContainer>\n <MagnifyingGlass />\n <NoItems\n query={this.querySummaryState.query}\n i18n={i18n}\n i18nKey=\"no-results\"\n />\n <SearchTips i18n={i18n} />\n {this.enableCancelLastAction && this.historyState.past.length ? (\n <Cancel\n i18n={i18n}\n onClick={() => this.history.backOnNoResults()}\n />\n ) : null}\n </NoItemsContainer>\n </NoItemsGuard>\n );\n }\n}\n"],"version":3}
|
@@ -105,6 +105,9 @@ const ensureSameResultIsNotOverwritten = (documentWriter, uniqueIdentifier) => {
|
|
105
105
|
const warnAboutLimitedUsageQuickview = (logger) => {
|
106
106
|
logger?.warn('Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.');
|
107
107
|
};
|
108
|
+
/**
|
109
|
+
* @deprecated should only be used for Stencil components.
|
110
|
+
*/
|
108
111
|
const QuickviewIframe = ({ title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger }) => {
|
109
112
|
// When a document is written with document.open/document.write/document.close
|
110
113
|
// it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-quickview-modal2.js","mappings":";;;;;;;;;;;;;;;;;;;AAaA,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAW9D,MAAM,gBAAgB,GAA+C,CAC1E,KAAK;IAEL,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAElD,IAAI,aAAa,KAAK,CAAC,EAAE;QACvB,OAAO;KACR;IAED,MAAM,cAAc,IAClB,EAAC,cAAc,OAAK,KAAK,EAAE,WAAW,EAAE,aAAa,GAAI,CAC1D,CAAC;IAEF,QACE,WAAK,KAAK,EAAC,oCAAoC;QAC5C,SAAS,IAAI,cAAc;QAC5B,WAAK,KAAK,EAAC,mCAAmC;YAC5C,WAAK,KAAK,EAAC,mBAAmB;gBAC5B,EAAC,yBAAyB,OAAK,KAAK,GAAI,CACpC;YACL,CAAC,SAAS,IAAI,eAAM,cAAc,CAAO,CACtC;QAEL,CAAC,SAAS,IAAI,EAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAChD,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAKhB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAC,MAChE,EAAC,UAAU,IACT,UAAU,EAAC,kBAAkB,EAC7B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAC5C,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAChD,OAAO,EAAE,MAAM,UAAU,CAAC,CAAC,SAAS,CAAC,EACrC,KAAK,EACH,iBAAiB,IAAI,SAAS,GAAG,gBAAO,WAAW,CAAQ,GAAG,SAAS,EAEzE,KAAK,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,EAC5C,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EACrC,YAAY,EAAE,yBAAyB,GACvC,CACH,CAAC;AAEF,MAAM,yBAAyB,GAK3B,CAAC,EAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,EAAC,MAC5D,EAAC,QAAQ;IACP,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAClC,KAAK,EAAC,MAAM,EACZ,EAAE,EAAC,6CAA6C,EAChD,OAAO,EAAE,CAAC,iBAAiB,CAAC,aAAa,EACzC,QAAQ,EAAE,CAAC,OAAO,KAChB,mBAAmB,CAAC;YAClB,GAAG,iBAAiB;YACpB,aAAa,EAAE,CAAC,OAAO;SACxB,CAAC,GAEa;IAClB,CAAC,SAAS,KACT,aACE,KAAK,EAAC,4CAA4C,EAClD,OAAO,EAAC,6CAA6C,IAEpD,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CACvB,CACT,CACQ,CACZ,CAAC;AAEF,MAAM,QAAQ,GAOV,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAC;IACxD,QACE,WAAK,EAAE,EAAE,yBAAyB,IAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO;QAChC,MAAM,aAAa,GACjB,CAAC,iBAAiB,CAAC,aAAa;aAC/B,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;gBACrD,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAE/D,QACE,WACE,GAAG,EAAE,OAAO,CAAC,IAAI,EACjB,KAAK,EAAC,sDAAsD;YAE5D,WACE,KAAK,EAAE,yFACL,CAAC,aAAa,GAAG,gCAAgC,GAAG,EACtD,EAAE;gBAEF,WACE,KAAK,EAAC,qCAAqC,iBAC/B,MAAM;oBAElB,WACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAC,eAAe,EAAE,OAAO,CAAC,KAAK,EAAC,GAClC;oBACP,WAAK,KAAK,EAAC,6BAA6B,IAAE,OAAO,CAAC,IAAI,CAAO;oBAC7D,WAAK,KAAK,EAAC,WAAW;;wBAEnB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;4BACpC,QAAQ,EAAE,SAAS;yBACpB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;4BAE1B,CACF;gBACN,EAAC,aAAa,IACZ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,EAAE;wBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,OAAO,EAAE,OAAO,CAAC,IAAI;qBACtB,CAAC;oBAEF,WAAK,KAAK,EAAC,WAAW;wBACpB,EAAC,UAAU,IACT,UAAU,EAAC,cAAc,EACzB,IAAI,EAAEA,eAAS,EACf,QAAQ,EAAE,CAAC,aAAa,EACxB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAC,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACrB,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,GACxC;wBACF,EAAC,UAAU,IACT,UAAU,EAAC,kBAAkB,EAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,CAAC,aAAa,EACxB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAC,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAC7B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,GACzC,CACE,CACQ,CACZ;YACN,EAAC,UAAU,IACT,UAAU,EAAC,qBAAqB,EAChC,KAAK,EAAE,GACL,iBAAiB,CAAC,aAAa;sBAC3B,gCAAgC;sBAChC,EACN,EAAE,EACF,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,IAAI,GAAG,GAAG,EACtD,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,EACxC,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,GAAG,EAClC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC1C,OAAO,EAAE;oBACP,mBAAmB,CAAC;wBAClB,GAAG,iBAAiB;wBACpB,QAAQ,EAAE;4BACR,GAAG,iBAAiB,CAAC,QAAQ;4BAC7B,CAAC,OAAO,CAAC,IAAI,GAAG;gCACd,OAAO,EAAE,CAAC,aAAa;gCACvB,eAAe,EAAE,OAAO,CAAC,eAAe;6BACzC;yBACF;qBACF,CAAC,CAAC;iBACJ,GACD,CACE,EACN;KACH,CAAC,CACE,EACN;AACJ,CAAC;;AC7MD,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAExD,MAAM,aAAa,GAAG,CAAC,cAAwB,EAAE,OAAe;IAC9D,cAAc,CAAC,IAAI,EAAE,CAAC;IACtB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,IAAI,cAAc,CAAC,gBAAgB,EAAE;QACnC,cAAc,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;KAC/C;AACH,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAC5C,cAAwB,EACxB,gBAAwB;IAExB,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CACxD,0BAA0B,CAC3B,CAAC;IAEF,QACE,oBAAoB;QACpB,oBAAoB,CAAC,WAAW,KAAK,gBAAgB,EACrD;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,cAAwB,EACxB,gBAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,GAAG,0BAA0B,CAAC;IAC9C,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC;IAC7C,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,MAA+B;IACrE,MAAM,EAAE,IAAI,CACV,gIAAgI,CACjI,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,eAAe,GAQvB,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAC;;;;IAI5E,MAAM,+BAA+B,GAAG;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;KACtD,CAAC;IAEF,QACE,cACE,KAAK,EAAE,KAAK,EACZ,GAAG,EAAC,aAAa,EACjB,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EAAE;YACZ,MAAM,SAAS,GAAG,EAAuB,CAAC;YAE1C,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE;gBACjC,OAAO;aACR;YAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI,GAAG,EAAE;oBACP,8BAA8B,CAAC,MAAM,CAAC,CAAC;oBACvC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACrB;gBAED,OAAO;aACR;YACD,IACE,qCAAqC,CACnC,cAAc,EACd,gBAAgB,CACjB,EACD;gBACA,OAAO;aACR;YAED,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACvC,gCAAgC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAEnE,MAAM,+BAA+B,EAAE,CAAC;YACxC,cAAc,CAAC,SAAS,CAAC,CAAC;SAC3B,GACO,EACV;AACJ,CAAC;;AClGM,MAAM,wBAAwB,GAAG,CACtC,KAA6C,EAC7C,iBAAoC,EACpC,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;KACR;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,iBAAiB,CAAC,aAAa,EAAE;QACnC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;KACR;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW;YAChC,MAAM,WAAW,GAAG,gBAAgB,CAClC,cAAc,EACd,IAAI,EACJ,WAAW,EACX,SAAS,EACT,iBAAiB,CAClB,CAAC;YAEF,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC9B,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,cAAwB;IAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,MAAM,GAAG,GACP,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC;QAC3C,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEtC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC;IACtB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IACnB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;IACtB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,cAAwB,EACxB,IAA4B,EAC5B,WAAwB,EACxB,SAAiB,EACjB,iBAAoC;IAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,EAAE;QAC5D,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnC,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;IAEhE,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACxC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,GAAG,SAAS,IAAI,GAAG,GAAG,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IACjC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/C,OAAO,WAAW,CAAC;AACrB,CAAC;;AChFM,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9B,IAAI,CAAS,CAAC;IACd,MAAM,CAAC,GAAG,GAAG,CAAC;IAEd,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IACpB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAElC,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,QAAQ,GAAG;YACT,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;YACR;gBACE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;SACT;QACD,CAAC,IAAI,CAAC,CAAC;KACR;IAED,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;AACnB,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,CAAC;IAEpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,GAAG,CAAC;QACX,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR;YACE,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;KACT;IAED,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACjB,CAAC;AACJ,CAAC;;AC1EM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;MACpC,sBAAsB;IAWjC,YACU,qBAAuC,EAC/C,sBAAmC;QAD3B,0BAAqB,GAArB,qBAAqB,CAAkB;QAT1C,gBAAW,GAAG,CAAC,CAAC;QAIhB,aAAQ,GAAkB,EAAE,CAAC;QAE5B,8BAAyB,GAAG,CAAC,CAAC,CAAC;QAMrC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,0CAA0C,CAAC;SAClD;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAEM,UAAU,CAAC,sBAAmC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC5C;IAEM,eAAe;QACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1D,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KACtD;IAEM,gBAAgB;QACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KACtD;IAEO,YAAY,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC;KAC7D;IAEO,mBAAmB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,cAAc,CAAC,CAAC;QAC1E,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,cAAc,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;QACzD,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;KACJ;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,EAAE,CAAC;KAC1B;IAEO,OAAO,CAAC,OAAoB;QAClC,MAAM,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;KAChE;IAEO,mBAAmB,CAAC,SAAiB;;;;QAK3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CACxD,CAAC,YAAY;YACX,MAAM,iBAAiB,GACrB,YAAY,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,iBAAiB,EAAE;gBACrB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CACpD,CAAC,iBAAiB,KAChB,iBAAiB,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAC9D,CAAC;YACF,OAAO,sBAAsB,CAAC;SAC/B,CACF,CAAC;QACF,OAAO,KAAK,IAAI,SAAS,CAAC;KAC3B;IAEO,uBAAuB,CAAC,OAAoB;QAClD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SAC3C;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAkB,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;QAED,OAAO,EAAE,CAAC;KACX;IAEO,sBAAsB,CAAC,OAAoB;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE;aACrB,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;aACtC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3B,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACxC,CAAC;KACH;IAEO,oBAAoB,CAAC,EAAe;QAC1C,OAAO,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;KAC7C;IAEO,oBAAoB;QAC1B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,OAAO,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;KAClD;IAEO,qBAAqB;QAC3B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,aAAa,GAAG,CAAC,CAAC;SACnB;QACD,MAAM,EACJ,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,GACd,GAAG,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,OAAO,UAAU,KAAK,UAAU,KAAK,UAAU,GAAG,CAAC;KAC3D;IAEO,UAAU;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC,CAAC;SACjC;QAED,OAAO;YACL,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACjC,CAAC;KACH;CACF;AAEM,MAAM,kBAAkB,GAAG,CAChC,qBAAuC,EACvC,MAA0B;IAE1B,MAAM,eAAe,GAA2C,EAAE,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,eAAe,CAAC;KACxB;IAED,MAAM,CAAC,eAAe,EAAE,IAAI;SACzB,gBAAgB,CAAC,SAAS,gBAAgB,IAAI,CAAC;SAC/C,OAAO,CAAC,CAAC,EAAE;QACV,MAAM,0BAA0B,GAAG,EAAiB,CAAC;QAErD,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAC9C,qBAAqB,EACrB,0BAA0B,CAC3B,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACvB,OAAO;SACR;QAED,MAAM,qBAAqB,GACzB,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;SAC9D;aAAM;YACL,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;SAChE;KACF,CAAC,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;;AClND,MAAM,uBAAuB,GAAG,0omEAA0omE,CAAC;AAC3qmE,mCAAe,uBAAuB;;;;;;;;;;;;MCmEzB,oBAAoB;;;;;;;QAId,sBAAiB,GAAsB;YACtD,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC;QAUe,oBAAe,GAAG,KAAK,CAAC;QACxB,UAAK,GAA2C,EAAE,CAAC;;iCAdZ;YACtD,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb;+BAUkC,KAAK;qBACyB,EAAE;;;;;;;;IATnE,sBAAsB;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAmBM,iBAAiB;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvD;IAGM,MAAM,KAAK;QAChB,IAAI,CAAC,iBAAiB,GAAG;YACvB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;KACpC;IAEO,YAAY;QAClB,IAAI,aAAa,GAAiB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpE,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC;aAC/B,CAAC,CAAC;YACH,aAAa,IACX,EAAC,QAAQ,QACP,EAAC,qBAAqB,IACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAChD,oBAAoB,EAAE,MACpB,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,EAE9C,qBAAqB,EAAE,MACrB,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,EAE/C,SAAS,EAAC,UAAU,EACpB,IAAI,EAAC,8BAA8B,IAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CACI,EACxB,EAAC,UAAU,IACT,UAAU,EAAC,wBAAwB,EACnC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GACpC,CACO,CACZ,CAAC;SACH;QACD,QACE,WAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,0CAA0C,IAChE,aAAa,CACV,EACN;KACH;IAEO,UAAU;QAChB,QACE,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,0CAA0C,IAC/D,WACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAC,eAAe,EAAE,6BAA6B,EAAC,IAEvD,EAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,mBAAmB,EAAE,CAAC,SAAS,MAC5B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAEtC,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,UAAU,EAAE,CAAC,QAAQ,MAAM,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAC3D,CACE,EACN,WAAK,KAAK,EAAC,wBAAwB,IACjC,EAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACxE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,gBAAgB,EAAE,IAAI,CAAC,yBAAyB,EAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,OAAO,GAAG;gBACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAC7B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC,GACD,EACD,wBAAwB,CACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,SAAS,CACf,CACG,CACF,EACN;KACH;IAEO,YAAY;QAClB,QACE,WAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,yBAAyB,IAChD,EAAC,MAAM,IACL,KAAK,EAAC,KAAK,EACX,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAC7C,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,CAAC,EAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,GACxC,EACV,SAAG,KAAK,EAAC,aAAa,IACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CACA,EACJ,EAAC,MAAM,IACL,KAAK,EAAC,KAAK,EACX,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,EACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,EACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GACpC,CACN,EACN;KACH;IAEO,OAAO;QACb,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;KACtD;IAED,IAAY,MAAM;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KACxC;IAED,IAAY,iBAAiB;QAC3B,OAAO,4BAA4B,CAAC;KACrC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACpC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;KAC7D;IAEO,gBAAgB;QACtB,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACrC;IAEO,+BAA+B,CAAC,UAAkB;QACxD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAC/C;IAEO,iBAAiB;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACrC;IAEO,gCAAgC,CAAC,UAAkB;QACzD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAC/C;IAEO,4BAA4B,CAAC,UAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,GAAG;aACA,cAAc,CACb,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAAE,EAAE,CACjE;cACC,MAAM,EAAE,CAAC;KACd;IAEO,4BAA4B,CAAC,UAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,iBAAiB,GACxC,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAClC,EAAE,CAAC;QACH,MAAM,KAAK,GACT,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,WAAW,CACf,GAAG,CAAC,cAAc,CAAC,SAAS,gBAAgB,GAC1C,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAClC;;;MAGA,CAAC,CACF,CAAC;KACH;IAED,IAAY,gBAAgB;QAC1B,MAAM,sBAAsB,GAAqB,EAAE,CAAC;QAEpD,MAAM,kBAAkB,GACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAEhE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC5D,sBAAsB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC/D,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC;gBAC9B,OAAO,CAAC,YAAY,EAAE,GAAG,eAAe,CAAC,CAAC;aAC3C,CACF,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB;YAC9D,GAAG,sBAAsB;SAC1B,CAAC;KACH;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;KACpD;IAED,IAAY,yBAAyB;QACnC,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;KAC/C;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;YAC1D,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC7D;SACF,CAAC,CAAC;KACJ;IAEM,MAAM;QACX,QACE,qEACE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC1C,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC3B,WAAW,EAAE,yBAAyB,IAErC,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,YAAY,EAAE,CACP,EACf;KACH;;;;;;;;;;;;;;;;;;;;AAjS4B;IAA5B,kBAAkB,EAAE;sDAA4B;;;;;;;;;;;;;;;;;","names":["ArrowDown"],"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/stencil-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 title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {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@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/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 title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-quickview-modal2.js","mappings":";;;;;;;;;;;;;;;;;;;AAaA,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAW9D,MAAM,gBAAgB,GAA+C,CAC1E,KAAK;IAEL,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAElD,IAAI,aAAa,KAAK,CAAC,EAAE;QACvB,OAAO;KACR;IAED,MAAM,cAAc,IAClB,EAAC,cAAc,OAAK,KAAK,EAAE,WAAW,EAAE,aAAa,GAAI,CAC1D,CAAC;IAEF,QACE,WAAK,KAAK,EAAC,oCAAoC;QAC5C,SAAS,IAAI,cAAc;QAC5B,WAAK,KAAK,EAAC,mCAAmC;YAC5C,WAAK,KAAK,EAAC,mBAAmB;gBAC5B,EAAC,yBAAyB,OAAK,KAAK,GAAI,CACpC;YACL,CAAC,SAAS,IAAI,eAAM,cAAc,CAAO,CACtC;QAEL,CAAC,SAAS,IAAI,EAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAChD,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAKhB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAC,MAChE,EAAC,UAAU,IACT,UAAU,EAAC,kBAAkB,EAC7B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAC5C,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAChD,OAAO,EAAE,MAAM,UAAU,CAAC,CAAC,SAAS,CAAC,EACrC,KAAK,EACH,iBAAiB,IAAI,SAAS,GAAG,gBAAO,WAAW,CAAQ,GAAG,SAAS,EAEzE,KAAK,EAAE,SAAS,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,EAC5C,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EACrC,YAAY,EAAE,yBAAyB,GACvC,CACH,CAAC;AAEF,MAAM,yBAAyB,GAK3B,CAAC,EAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,EAAC,MAC5D,EAAC,QAAQ;IACP,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAClC,KAAK,EAAC,MAAM,EACZ,EAAE,EAAC,6CAA6C,EAChD,OAAO,EAAE,CAAC,iBAAiB,CAAC,aAAa,EACzC,QAAQ,EAAE,CAAC,OAAO,KAChB,mBAAmB,CAAC;YAClB,GAAG,iBAAiB;YACpB,aAAa,EAAE,CAAC,OAAO;SACxB,CAAC,GAEa;IAClB,CAAC,SAAS,KACT,aACE,KAAK,EAAC,4CAA4C,EAClD,OAAO,EAAC,6CAA6C,IAEpD,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CACvB,CACT,CACQ,CACZ,CAAC;AAEF,MAAM,QAAQ,GAOV,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAC;IACxD,QACE,WAAK,EAAE,EAAE,yBAAyB,IAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO;QAChC,MAAM,aAAa,GACjB,CAAC,iBAAiB,CAAC,aAAa;aAC/B,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;gBACrD,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAE/D,QACE,WACE,GAAG,EAAE,OAAO,CAAC,IAAI,EACjB,KAAK,EAAC,sDAAsD;YAE5D,WACE,KAAK,EAAE,yFACL,CAAC,aAAa,GAAG,gCAAgC,GAAG,EACtD,EAAE;gBAEF,WACE,KAAK,EAAC,qCAAqC,iBAC/B,MAAM;oBAElB,WACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAC,eAAe,EAAE,OAAO,CAAC,KAAK,EAAC,GAClC;oBACP,WAAK,KAAK,EAAC,6BAA6B,IAAE,OAAO,CAAC,IAAI,CAAO;oBAC7D,WAAK,KAAK,EAAC,WAAW;;wBAEnB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;4BACpC,QAAQ,EAAE,SAAS;yBACpB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;4BAE1B,CACF;gBACN,EAAC,aAAa,IACZ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,6BAA6B,EAAE;wBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,OAAO,EAAE,OAAO,CAAC,IAAI;qBACtB,CAAC;oBAEF,WAAK,KAAK,EAAC,WAAW;wBACpB,EAAC,UAAU,IACT,UAAU,EAAC,cAAc,EACzB,IAAI,EAAEA,eAAS,EACf,QAAQ,EAAE,CAAC,aAAa,EACxB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAC,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACrB,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,GACxC;wBACF,EAAC,UAAU,IACT,UAAU,EAAC,kBAAkB,EAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,CAAC,aAAa,EACxB,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAC,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAC7B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,GACzC,CACE,CACQ,CACZ;YACN,EAAC,UAAU,IACT,UAAU,EAAC,qBAAqB,EAChC,KAAK,EAAE,GACL,iBAAiB,CAAC,aAAa;sBAC3B,gCAAgC;sBAChC,EACN,EAAE,EACF,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,IAAI,GAAG,GAAG,EACtD,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,EACxC,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,GAAG,EAClC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC1C,OAAO,EAAE;oBACP,mBAAmB,CAAC;wBAClB,GAAG,iBAAiB;wBACpB,QAAQ,EAAE;4BACR,GAAG,iBAAiB,CAAC,QAAQ;4BAC7B,CAAC,OAAO,CAAC,IAAI,GAAG;gCACd,OAAO,EAAE,CAAC,aAAa;gCACvB,eAAe,EAAE,OAAO,CAAC,eAAe;6BACzC;yBACF;qBACF,CAAC,CAAC;iBACJ,GACD,CACE,EACN;KACH,CAAC,CACE,EACN;AACJ,CAAC;;AC7MD,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAExD,MAAM,aAAa,GAAG,CAAC,cAAwB,EAAE,OAAe;IAC9D,cAAc,CAAC,IAAI,EAAE,CAAC;IACtB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,IAAI,cAAc,CAAC,gBAAgB,EAAE;QACnC,cAAc,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;KAC/C;AACH,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAC5C,cAAwB,EACxB,gBAAwB;IAExB,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CACxD,0BAA0B,CAC3B,CAAC;IAEF,QACE,oBAAoB;QACpB,oBAAoB,CAAC,WAAW,KAAK,gBAAgB,EACrD;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,cAAwB,EACxB,gBAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,GAAG,0BAA0B,CAAC;IAC9C,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC;IAC7C,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,MAA+B;IACrE,MAAM,EAAE,IAAI,CACV,gIAAgI,CACjI,CAAC;AACJ,CAAC,CAAC;AAEF;;;AAGO,MAAM,eAAe,GAQvB,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAC;;;;IAI5E,MAAM,+BAA+B,GAAG;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;KACtD,CAAC;IAEF,QACE,cACE,KAAK,EAAE,KAAK,EACZ,GAAG,EAAC,aAAa,EACjB,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EAAE;YACZ,MAAM,SAAS,GAAG,EAAuB,CAAC;YAE1C,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE;gBACjC,OAAO;aACR;YAED,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI,GAAG,EAAE;oBACP,8BAA8B,CAAC,MAAM,CAAC,CAAC;oBACvC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;iBACrB;gBAED,OAAO;aACR;YACD,IACE,qCAAqC,CACnC,cAAc,EACd,gBAAgB,CACjB,EACD;gBACA,OAAO;aACR;YAED,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACvC,gCAAgC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAEnE,MAAM,+BAA+B,EAAE,CAAC;YACxC,cAAc,CAAC,SAAS,CAAC,CAAC;SAC3B,GACO,EACV;AACJ,CAAC;;ACrGM,MAAM,wBAAwB,GAAG,CACtC,KAA6C,EAC7C,iBAAoC,EACpC,MAA0B;IAE1B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO;KACR;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,iBAAiB,CAAC,aAAa,EAAE;QACnC,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;KACR;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW;YAChC,MAAM,WAAW,GAAG,gBAAgB,CAClC,cAAc,EACd,IAAI,EACJ,WAAW,EACX,SAAS,EACT,iBAAiB,CAClB,CAAC;YAEF,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC9B,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,cAAwB;IAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,MAAM,GAAG,GACP,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC;QAC3C,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEtC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC;IACtB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IACnB,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;IACtB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,cAAwB,EACxB,IAA4B,EAC5B,WAAwB,EACxB,SAAiB,EACjB,iBAAoC;IAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,EAAE;QAC5D,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnC,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;IAEhE,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACxC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,GAAG,SAAS,IAAI,GAAG,GAAG,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IACjC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClE,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/C,OAAO,WAAW,CAAC;AACrB,CAAC;;AChFM,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9B,IAAI,CAAS,CAAC;IACd,MAAM,CAAC,GAAG,GAAG,CAAC;IAEd,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IACpB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAElC,IAAI,GAAG,KAAK,GAAG,EAAE;QACf,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,QAAQ,GAAG;YACT,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;YACR;gBACE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM;SACT;QACD,CAAC,IAAI,CAAC,CAAC;KACR;IAED,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;AACnB,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACtD,IAAI,CAAS,EAAE,CAAS,EAAE,CAAS,CAAC;IAEpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,GAAG,CAAC;QACX,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR,KAAK,CAAC;YACJ,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;QACR;YACE,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,MAAM;KACT;IAED,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACjB,CAAC;AACJ,CAAC;;AC1EM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;MACpC,sBAAsB;IAWjC,YACU,qBAAuC,EAC/C,sBAAmC;QAD3B,0BAAqB,GAArB,qBAAqB,CAAkB;QAT1C,gBAAW,GAAG,CAAC,CAAC;QAIhB,aAAQ,GAAkB,EAAE,CAAC;QAE5B,8BAAyB,GAAG,CAAC,CAAC,CAAC;QAMrC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,0CAA0C,CAAC;SAClD;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAEM,UAAU,CAAC,sBAAmC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC5C;IAEM,eAAe;QACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1D,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KACtD;IAEM,gBAAgB;QACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KACtD;IAEO,YAAY,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC;KAC7D;IAEO,mBAAmB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,cAAc,CAAC,CAAC;QAC1E,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,cAAc,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;QACzD,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;KACJ;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,EAAE,CAAC;KAC1B;IAEO,OAAO,CAAC,OAAoB;QAClC,MAAM,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;KAChE;IAEO,mBAAmB,CAAC,SAAiB;;;;QAK3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CACxD,CAAC,YAAY;YACX,MAAM,iBAAiB,GACrB,YAAY,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,iBAAiB,EAAE;gBACrB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CACpD,CAAC,iBAAiB,KAChB,iBAAiB,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAC9D,CAAC;YACF,OAAO,sBAAsB,CAAC;SAC/B,CACF,CAAC;QACF,OAAO,KAAK,IAAI,SAAS,CAAC;KAC3B;IAEO,uBAAuB,CAAC,OAAoB;QAClD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SAC3C;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAkB,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;QAED,OAAO,EAAE,CAAC;KACX;IAEO,sBAAsB,CAAC,OAAoB;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE;aACrB,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;aACtC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3B,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACxC,CAAC;KACH;IAEO,oBAAoB,CAAC,EAAe;QAC1C,OAAO,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;KAC7C;IAEO,oBAAoB;QAC1B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,OAAO,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;KAClD;IAEO,qBAAqB;QAC3B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,aAAa,GAAG,CAAC,CAAC;SACnB;QACD,MAAM,EACJ,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,GACd,GAAG,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,OAAO,UAAU,KAAK,UAAU,KAAK,UAAU,GAAG,CAAC;KAC3D;IAEO,UAAU;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC,CAAC;SACjC;QAED,OAAO;YACL,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACjC,CAAC;KACH;CACF;AAEM,MAAM,kBAAkB,GAAG,CAChC,qBAAuC,EACvC,MAA0B;IAE1B,MAAM,eAAe,GAA2C,EAAE,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,eAAe,CAAC;KACxB;IAED,MAAM,CAAC,eAAe,EAAE,IAAI;SACzB,gBAAgB,CAAC,SAAS,gBAAgB,IAAI,CAAC;SAC/C,OAAO,CAAC,CAAC,EAAE;QACV,MAAM,0BAA0B,GAAG,EAAiB,CAAC;QAErD,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAC9C,qBAAqB,EACrB,0BAA0B,CAC3B,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACvB,OAAO;SACR;QAED,MAAM,qBAAqB,GACzB,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;SAC9D;aAAM;YACL,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;SAChE;KACF,CAAC,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;;AClND,MAAM,uBAAuB,GAAG,0omEAA0omE,CAAC;AAC3qmE,mCAAe,uBAAuB;;;;;;;;;;;;MCmEzB,oBAAoB;;;;;;;QAId,sBAAiB,GAAsB;YACtD,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC;QAUe,oBAAe,GAAG,KAAK,CAAC;QACxB,UAAK,GAA2C,EAAE,CAAC;;iCAdZ;YACtD,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb;+BAUkC,KAAK;qBACyB,EAAE;;;;;;;;IATnE,sBAAsB;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAmBM,iBAAiB;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvD;IAGM,MAAM,KAAK;QAChB,IAAI,CAAC,iBAAiB,GAAG;YACvB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;KACpC;IAEO,YAAY;QAClB,IAAI,aAAa,GAAiB,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpE,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC;aAC/B,CAAC,CAAC;YACH,aAAa,IACX,EAAC,QAAQ,QACP,EAAC,qBAAqB,IACpB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAChD,oBAAoB,EAAE,MACpB,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,EAE9C,qBAAqB,EAAE,MACrB,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,EAE/C,SAAS,EAAC,UAAU,EACpB,IAAI,EAAC,8BAA8B,IAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CACI,EACxB,EAAC,UAAU,IACT,UAAU,EAAC,wBAAwB,EACnC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GACpC,CACO,CACZ,CAAC;SACH;QACD,QACE,WAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,0CAA0C,IAChE,aAAa,CACV,EACN;KACH;IAEO,UAAU;QAChB,QACE,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,0CAA0C,IAC/D,WACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAC,eAAe,EAAE,6BAA6B,EAAC,IAEvD,EAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,mBAAmB,EAAE,CAAC,SAAS,MAC5B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAEtC,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,UAAU,EAAE,CAAC,QAAQ,MAAM,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAC3D,CACE,EACN,WAAK,KAAK,EAAC,wBAAwB,IACjC,EAAC,eAAe,IACd,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,EACxE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,gBAAgB,EAAE,IAAI,CAAC,yBAAyB,EAChD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,OAAO,GAAG;gBACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAC7B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC,GACD,EACD,wBAAwB,CACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,SAAS,CACf,CACG,CACF,EACN;KACH;IAEO,YAAY;QAClB,QACE,WAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,yBAAyB,IAChD,EAAC,MAAM,IACL,KAAK,EAAC,KAAK,EACX,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAC7C,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,CAAC,EAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,GACxC,EACV,SAAG,KAAK,EAAC,aAAa,IACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CACA,EACJ,EAAC,MAAM,IACL,KAAK,EAAC,KAAK,EACX,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,EACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,EACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GACpC,CACN,EACN;KACH;IAEO,OAAO;QACb,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;KACtD;IAED,IAAY,MAAM;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KACxC;IAED,IAAY,iBAAiB;QAC3B,OAAO,4BAA4B,CAAC;KACrC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACpC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;KAC7D;IAEO,gBAAgB;QACtB,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACrC;IAEO,+BAA+B,CAAC,UAAkB;QACxD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAC/C;IAEO,iBAAiB;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACrC;IAEO,gCAAgC,CAAC,UAAkB;QACzD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;KAC/C;IAEO,4BAA4B,CAAC,UAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,GAAG;aACA,cAAc,CACb,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAAE,EAAE,CACjE;cACC,MAAM,EAAE,CAAC;KACd;IAEO,4BAA4B,CAAC,UAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,iBAAiB,GACxC,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAClC,EAAE,CAAC;QACH,MAAM,KAAK,GACT,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACrE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,CAAC,WAAW,CACf,GAAG,CAAC,cAAc,CAAC,SAAS,gBAAgB,GAC1C,UAAU,GAAG,IAAI,UAAU,EAAE,GAAG,EAClC;;;MAGA,CAAC,CACF,CAAC;KACH;IAED,IAAY,gBAAgB;QAC1B,MAAM,sBAAsB,GAAqB,EAAE,CAAC;QAEpD,MAAM,kBAAkB,GACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAEhE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC5D,sBAAsB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC/D,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC;gBAC9B,OAAO,CAAC,YAAY,EAAE,GAAG,eAAe,CAAC,CAAC;aAC3C,CACF,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB;YAC9D,GAAG,sBAAsB;SAC1B,CAAC;KACH;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;KACpD;IAED,IAAY,yBAAyB;QACnC,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;KAC/C;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;YAC1D,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC7D;SACF,CAAC,CAAC;KACJ;IAEM,MAAM;QACX,QACE,qEACE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC1C,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC3B,WAAW,EAAE,yBAAyB,IAErC,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,YAAY,EAAE,CACP,EACf;KACH;;;;;;;;;;;;;;;;;;;;AAjS4B;IAA5B,kBAAkB,EAAE;sDAA4B;;;;;;;;;;;;;;;;;","names":["ArrowDown"],"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/stencil-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\ninterface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\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\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {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@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/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 title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
@@ -12,10 +12,16 @@ import { R as RefineModal } from './stencil-modal.js';
|
|
12
12
|
import { d as defineCustomElement$2 } from './atomic-automatic-facet2.js';
|
13
13
|
import { d as defineCustomElement$1 } from './atomic-automatic-facet-generator2.js';
|
14
14
|
|
15
|
+
/**
|
16
|
+
* @deprecated should only be used for Stencil components.
|
17
|
+
*/
|
15
18
|
const RefineModalBody = (_, children) => {
|
16
19
|
return (h("aside", { part: "content", slot: "body", class: "flex flex-col w-full" }, children));
|
17
20
|
};
|
18
21
|
|
22
|
+
/**
|
23
|
+
* @deprecated should only be used for Stencil components.
|
24
|
+
*/
|
19
25
|
const RefineModalFiltersSection = ({ i18n, withAutomaticFacets, withFacets }, children) => {
|
20
26
|
return (h(Fragment, null,
|
21
27
|
h("div", { part: "filter-section", class: "mt-8 mb-3 flex w-full justify-between" },
|
@@ -24,6 +30,9 @@ const RefineModalFiltersSection = ({ i18n, withAutomaticFacets, withFacets }, ch
|
|
24
30
|
withFacets && h("slot", { name: "facets" }),
|
25
31
|
withAutomaticFacets && h("slot", { name: "automatic-facets" })));
|
26
32
|
};
|
33
|
+
/**
|
34
|
+
* @deprecated should only be used for Stencil components.
|
35
|
+
*/
|
27
36
|
const RefineModalFiltersClearButton = ({ i18n, onClick }) => {
|
28
37
|
return (h(Button, { onClick: onClick, style: "text-primary", text: i18n.t('clear'), class: "px-2 py-1", part: "filter-clear-all" }));
|
29
38
|
};
|
@@ -35,6 +44,9 @@ const SortIcon = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/
|
|
35
44
|
<path d="M13 10L16.5 6L20 10" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
36
45
|
</svg>`;
|
37
46
|
|
47
|
+
/**
|
48
|
+
* @deprecated should only be used for Stencil components.
|
49
|
+
*/
|
38
50
|
const RefineModalSortSection = ({ i18n, onSelect }, children) => {
|
39
51
|
return (h(Fragment, null,
|
40
52
|
h("h1", { part: "section-title section-sort-title", class: "mb-3 truncate text-2xl font-bold" }, i18n.t('sort')),
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-refine-modal2.js","mappings":"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","names":[],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\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 content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-refine-modal2.js","mappings":"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","names":[],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\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 content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
@@ -6,10 +6,16 @@ import { d as defineCustomElement$4 } from './atomic-automatic-facet2.js';
|
|
6
6
|
import { d as defineCustomElement$3 } from './atomic-automatic-facet-generator2.js';
|
7
7
|
import { d as defineCustomElement$2 } from './atomic-refine-modal2.js';
|
8
8
|
|
9
|
+
/**
|
10
|
+
* @deprecated should only be used for Stencil components.
|
11
|
+
*/
|
9
12
|
const RefineToggleButton = ({ i18n, onClick, setRef }) => {
|
10
13
|
return (h(Button, { style: "outline-primary", class: "w-full p-3", onClick: onClick, text: i18n.t('sort-and-filter'), ref: setRef, part: "button" }));
|
11
14
|
};
|
12
15
|
|
16
|
+
/**
|
17
|
+
* @deprecated should only be used for Stencil components.
|
18
|
+
*/
|
13
19
|
const RefineToggleGuard = ({ hasError, firstRequestExecuted, hasItems }, children) => {
|
14
20
|
if (hasError) {
|
15
21
|
return;
|