@coveo/atomic 3.35.0-pre.bc0eb65a59 → 3.35.0-pre.bf16f7897d
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 +54 -22
- 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-field-condition.js +1 -1
- package/dist/atomic/components/atomic-field-condition.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-result-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
- package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-quickview-action.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-ipx-result-link.js +2 -2
- package/dist/atomic/components/atomic-ipx-result-link.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 +4 -1
- package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-quickview.js +2 -2
- package/dist/atomic/components/atomic-quickview.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-badge.js +1 -1
- package/dist/atomic/components/atomic-result-badge.js.map +1 -1
- package/dist/atomic/components/atomic-result-children.js +2 -2
- package/dist/atomic/components/atomic-result-children.js.map +1 -1
- package/dist/atomic/components/atomic-result-date.js +1 -1
- package/dist/atomic/components/atomic-result-date.js.map +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +2 -2
- package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-html.js +1 -1
- package/dist/atomic/components/atomic-result-html.js.map +1 -1
- package/dist/atomic/components/atomic-result-icon.js +1 -1
- package/dist/atomic/components/atomic-result-icon.js.map +1 -1
- package/dist/atomic/components/atomic-result-image.js +1 -1
- package/dist/atomic/components/atomic-result-image.js.map +1 -1
- package/dist/atomic/components/atomic-result-link.js +2 -2
- package/dist/atomic/components/atomic-result-link.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-localized-text.js +1 -1
- package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
- package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
- package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
- package/dist/atomic/components/atomic-result-number.js +1 -1
- package/dist/atomic/components/atomic-result-number.js.map +1 -1
- package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
- package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
- package/dist/atomic/components/atomic-result-rating.js +1 -1
- package/dist/atomic/components/atomic-result-rating.js.map +1 -1
- package/dist/atomic/components/atomic-result-text2.js +7 -1
- package/dist/atomic/components/atomic-result-text2.js.map +1 -1
- package/dist/atomic/components/atomic-result-timespan.js +1 -1
- package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
- package/dist/atomic/components/atomic-result2.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-smart-snippet-source2.js +1 -1
- package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
- 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/commerce/atomic-product-children/atomic-product-children.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
- package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
- package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
- package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -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/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
- package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
- 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-dcc7eb32.entry.js → p-01eda62a.entry.js} +2 -2
- package/dist/atomic/p-01eda62a.entry.js.map +1 -0
- 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-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
- package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
- package/dist/atomic/{p-8f69b018.entry.js → p-25ee4bab.entry.js} +2 -2
- package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
- package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
- package/dist/atomic/{p-4ea041f5.entry.js → p-27746cac.entry.js} +2 -2
- package/dist/atomic/p-27746cac.entry.js.map +1 -0
- 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-e1c6589a.entry.js → p-3282ccf8.entry.js} +2 -2
- package/dist/atomic/p-3282ccf8.entry.js.map +1 -0
- 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-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
- package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
- package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
- package/dist/atomic/p-4080f740.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-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
- package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
- 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-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
- package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
- 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-955092ed.entry.js → p-67f62282.entry.js} +2 -2
- package/dist/atomic/p-67f62282.entry.js.map +1 -0
- package/dist/atomic/{p-7158d432.entry.js → p-690cb10f.entry.js} +2 -2
- package/dist/atomic/p-690cb10f.entry.js.map +1 -0
- package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
- package/dist/atomic/p-6a3b139f.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-47c0134e.entry.js → p-81b00c43.entry.js} +2 -2
- package/dist/atomic/{p-47c0134e.entry.js.map → p-81b00c43.entry.js.map} +1 -1
- 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-b219eba8.entry.js → p-875eb57b.entry.js} +2 -2
- package/dist/atomic/p-875eb57b.entry.js.map +1 -0
- 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-ad9c0ce4.entry.js → p-8d63a0c4.entry.js} +2 -2
- package/dist/atomic/p-8d63a0c4.entry.js.map +1 -0
- package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
- package/dist/atomic/p-8e964890.entry.js.map +1 -0
- 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-05b4c4b5.entry.js → p-a48ae7ab.entry.js} +2 -2
- package/dist/atomic/p-a48ae7ab.entry.js.map +1 -0
- 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-277998d1.entry.js → p-acd72087.entry.js} +2 -2
- package/dist/atomic/p-acd72087.entry.js.map +1 -0
- 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-852cc16d.entry.js → p-c402cc93.entry.js} +2 -2
- package/dist/atomic/p-c402cc93.entry.js.map +1 -0
- 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-9321b6a8.entry.js → p-cbec8d32.entry.js} +2 -2
- package/dist/atomic/p-cbec8d32.entry.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-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
- package/dist/atomic/p-d5402772.entry.js.map +1 -0
- 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-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
- package/dist/atomic/p-da141605.entry.js.map +1 -0
- package/dist/atomic/{p-9dcd5606.js → p-dc8c49c8.js} +2 -2
- package/dist/atomic/p-dc8c49c8.js.map +1 -0
- package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
- package/dist/atomic/p-dd258eaa.entry.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-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
- package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
- 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-f800678c.entry.js.map +1 -1
- package/dist/atomic/{p-e3bd190a.entry.js → p-fa4abd36.entry.js} +2 -2
- package/dist/atomic/{p-3957401e.entry.js → p-fa83768b.entry.js} +2 -2
- package/dist/atomic/{p-b0542224.entry.js → p-fb5598e9.entry.js} +2 -2
- package/dist/atomic/p-fb5598e9.entry.js.map +1 -0
- package/dist/atomic/{p-9feb951f.entry.js → p-fd7a8926.entry.js} +2 -2
- package/dist/cjs/_index.cjs.js +55 -22
- 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-field-condition.cjs.entry.js +2 -2
- package/dist/cjs/atomic-field-condition.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 +5 -5
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -5
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
- 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 +5 -5
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- 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 +5 -5
- package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +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 +9 -6
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +4 -4
- package/dist/cjs/atomic-quickview.cjs.entry.js.map +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-badge.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +6 -6
- package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +5 -5
- package/dist/cjs/atomic-result-link.cjs.entry.js.map +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-localized-text.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-rating.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-text_2.cjs.entry.js +8 -2
- package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result.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 +2 -2
- package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +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/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
- package/dist/cjs/stencil-result-template-decorators-28b05aaf.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 +54 -21
- 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-field-condition.entry.js +1 -1
- package/dist/esm/atomic-field-condition.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 +4 -4
- package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +4 -4
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
- package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
- 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 +4 -4
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- 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 +3 -3
- package/dist/esm/atomic-ipx-result-link.entry.js.map +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 +9 -6
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +3 -3
- package/dist/esm/atomic-quickview.entry.js.map +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-badge.entry.js +1 -1
- package/dist/esm/atomic-result-badge.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +5 -5
- package/dist/esm/atomic-result-children.entry.js.map +1 -1
- package/dist/esm/atomic-result-date.entry.js +1 -1
- package/dist/esm/atomic-result-date.entry.js.map +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +2 -2
- package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-html.entry.js +1 -1
- package/dist/esm/atomic-result-html.entry.js.map +1 -1
- package/dist/esm/atomic-result-icon.entry.js +1 -1
- package/dist/esm/atomic-result-icon.entry.js.map +1 -1
- package/dist/esm/atomic-result-image.entry.js +1 -1
- package/dist/esm/atomic-result-image.entry.js.map +1 -1
- package/dist/esm/atomic-result-link.entry.js +3 -3
- package/dist/esm/atomic-result-link.entry.js.map +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-localized-text.entry.js +2 -2
- package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
- package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
- package/dist/esm/atomic-result-number.entry.js +1 -1
- package/dist/esm/atomic-result-number.entry.js.map +1 -1
- package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
- package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
- package/dist/esm/atomic-result-rating.entry.js +2 -2
- package/dist/esm/atomic-result-rating.entry.js.map +1 -1
- package/dist/esm/atomic-result-text_2.entry.js +7 -1
- package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
- package/dist/esm/atomic-result-timespan.entry.js +1 -1
- package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
- package/dist/esm/atomic-result.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 +2 -2
- package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +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/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
- package/dist/esm/stencil-result-template-decorators-f989bc6b.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/commerce/atomic-product/atomic-product.d.ts +1 -1
- package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
- package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
- package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
- package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
- 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-source.d.ts +1 -1
- 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-result/atomic-result.d.ts +1 -1
- 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-component-utils/context/fetch-result-context.d.ts +8 -0
- package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
- package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
- package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
- 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/dist/types/index.d.ts +3 -3
- 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/components/common/item-list/fetch-item-context.js +0 -15
- package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
- package/dist/atomic/components/result-template-decorators.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-05b4c4b5.entry.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-18684d4c.js.map +0 -1
- package/dist/atomic/p-187193bb.js.map +0 -1
- package/dist/atomic/p-190ddaca.entry.js.map +0 -1
- package/dist/atomic/p-1f059522.js.map +0 -1
- package/dist/atomic/p-1ff7a9da.entry.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-277998d1.entry.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-4069d801.entry.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-4cb91ee7.entry.js.map +0 -1
- package/dist/atomic/p-4e25638d.entry.js.map +0 -1
- package/dist/atomic/p-4ea041f5.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-7158d432.entry.js.map +0 -1
- package/dist/atomic/p-76cf6545.js.map +0 -1
- package/dist/atomic/p-78427c6a.entry.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-852cc16d.entry.js.map +0 -1
- package/dist/atomic/p-8be21e4a.js.map +0 -1
- package/dist/atomic/p-9321b6a8.entry.js.map +0 -1
- package/dist/atomic/p-945ddd53.entry.js.map +0 -1
- package/dist/atomic/p-955092ed.entry.js.map +0 -1
- package/dist/atomic/p-9dcd5606.js.map +0 -1
- package/dist/atomic/p-a1798150.entry.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-ad9c0ce4.entry.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-b0542224.entry.js.map +0 -1
- package/dist/atomic/p-b219eba8.entry.js.map +0 -1
- package/dist/atomic/p-b3f6561d.entry.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-dcc7eb32.entry.js.map +0 -1
- package/dist/atomic/p-e1c6589a.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-e6dc9de7.entry.js.map +0 -1
- package/dist/atomic/p-e988f378.js.map +0 -1
- package/dist/atomic/p-e9dc8e90.entry.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/result-template-decorators-432d11a9.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/result-template-decorators-2ed76ea9.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/types/decorators/commerce/product-template-decorators.d.ts +0 -68
- /package/dist/atomic/{p-d2107c93.entry.js.map → p-0035e3da.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-bacb06d7.entry.js.map → p-2eac7c46.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-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-1ebea045.entry.js.map → p-84ac45b4.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-fa9d8ab7.entry.js.map → p-ab3da44d.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-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-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-e3bd190a.entry.js.map → p-fa4abd36.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 +0,0 @@
|
|
1
|
-
{"version":3,"names":["SearchBoxWrapper","props","children","getClasses","baseClasses","focusClasses","disabled","join","h","part","class","onFocusout","TextAreaClearButton","inputRef","bindings","onClick","defaultButtonProps","Button","style","focus","ariaLabel","i18n","t","icon","ClearSlim","getPopupAttributes","autocomplete","autocapitalize","autocorrect","activeDescendant","id","syncTextWithReplica","elem","value","parent","parentNode","dataset","replicatedValue","resetReplicaText","collapseTextArea","classList","remove","expandTextArea","add","SearchTextArea","textAreaRef","loading","onInput","onFocus","onBlur","onChange","onKeyDown","onKeyUp","onClear","popup","defaultInputProps","placeholder","rows","e","key","shiftKey","preventDefault","target","promiseTimeout","prom","ms","timeout","Promise","_","reject","setTimeout","Error","race","then","clearTimeout","SuggestionManager","constructor","ownerSearchBoxProps","this","suggestions","leftSuggestionElements","rightSuggestionElements","leftPanel","undefined","rightPanel","suggestedQuery","keyboardActiveDescendant","queryDataAttribute","suggestionEvents","previousActiveDescendantElement","leftSuggestions","rightSuggestions","triggerSuggestions","debounce","executeQuerySuggestion","getSuggestionDelay","partialSuggestionBindings","clearSuggestions","getSuggestions","getSuggestionElements","allSuggestionElements","activeDescendantElement","hasActiveDescendant","querySelector","onSubmit","clickOnActiveElement","updateActiveDescendant","forceUpdate","getHost","updateKeyboardActiveDescendant","click","isRightPanelInFocus","isNullOrUndefined","panelInFocus","initializeSuggestions","map","event","registerSuggestionsFromEvent","stopPropagation","push","detail","registerSuggestions","isDoubleList","Boolean","length","focusPanel","side","panel","firstElementChild","panelHasActiveDescendant","contains","newValue","updateDescendants","clearSuggestionElements","focusNextValue","hasSuggestions","nextOrFirstValue","focusValue","scrollActiveDescendantIntoView","updateQueryFromSuggestion","onSuggestionMouseOver","item","thisPanel","query","updateSuggestedQuery","onSuggestionClick","updateOwnerSearchboxQuery","onSelect","focusPreviousValue","firstValue","previousOrLastValue","settled","allSettled","suggestion","resolve","getSuggestionTimeout","fulfilledSuggestions","forEach","j","status","getLogger","warn","splitSuggestions","isDefault","filter","sort","sortSuggestions","getAndFilterLeftSuggestionElements","defaultSuggestedQuery","find","elementHasQuery","lastValue","lastElementChild","firstChild","parentOfActiveDescendant","parentElement","previousElementSibling","a","b","position","nextElementSibling","scrollIntoView","block","getAttribute","getSearchBoxValue","updateQuery","onSuggestedQueryChange","updateSuggestionElements","isPanelInFocus","escaped","DOMPurify","sanitize","CSS","escape","closest","suggestionElements","filterOnDuplicate","Set","out","suggestionElement","has","elements","flatMap","renderItems","max","getNumberOfSuggestionsToDisplay","elementHasNoQuery","slice","newPrevDescendantElement"],"sources":["src/components/common/search-box/stencil-search-box-wrapper.tsx","src/components/common/search-box/stencil-text-area-clear-button.tsx","src/components/common/search-box/stencil-search-text-area.tsx","src/utils/promise-utils.ts","src/components/common/suggestions/stencil-suggestion-manager.ts"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface Props {\n disabled: boolean;\n onFocusout?: (event: FocusEvent) => void;\n}\n\nexport const SearchBoxWrapper: FunctionalComponent<Props> = (\n props,\n children\n) => {\n const getClasses = () => {\n const baseClasses =\n 'flex bg-background w-full border border-neutral rounded-md focus-within:ring-3 absolute top-0 left-0';\n const focusClasses = props.disabled\n ? 'focus-within:border-disabled focus-within:ring-neutral'\n : 'focus-within:border-primary focus-within:ring-ring-primary';\n\n return [baseClasses, focusClasses].join(' ');\n };\n\n return (\n <div part=\"wrapper\" class={getClasses()} onFocusout={props.onFocusout}>\n {children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport ClearSlim from '../../../images/clear-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button, StencilButtonProps} from '../stencil-button';\n\ninterface Props extends Partial<StencilButtonProps> {\n bindings: AnyBindings;\n inputRef: HTMLInputElement | HTMLTextAreaElement | null;\n}\n\nexport const TextAreaClearButton: FunctionalComponent<Props> = ({\n inputRef,\n bindings,\n onClick,\n ...defaultButtonProps\n}) => (\n <div\n part=\"clear-button-wrapper\"\n class=\"ml-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-transparent\"\n part=\"clear-button\"\n class=\"text-neutral-dark flex h-8 w-8 shrink-0 items-center justify-center\"\n onClick={() => {\n onClick?.();\n inputRef?.focus();\n }}\n ariaLabel={bindings.i18n.t('clear')}\n {...defaultButtonProps}\n >\n <atomic-icon\n part=\"clear-icon\"\n icon={ClearSlim}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport {AnyBindings} from '../interface/bindings';\nimport {TextAreaClearButton} from './stencil-text-area-clear-button';\n\ninterface Props extends JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> {\n textAreaRef: HTMLTextAreaElement;\n loading: boolean;\n bindings: AnyBindings;\n value: string;\n ariaLabel: string;\n onClear(): void;\n popup?: {\n id: string;\n activeDescendant: string;\n expanded: boolean;\n hasSuggestions: boolean;\n };\n}\n\nfunction getPopupAttributes(props: Required<Props>['popup']) {\n return {\n autocomplete: 'off',\n autocapitalize: 'off',\n autocorrect: 'off',\n ...(props.activeDescendant && {\n 'aria-activedescendant': props.activeDescendant,\n }),\n 'aria-autocomplete': 'both',\n 'aria-haspopup': 'true',\n 'aria-controls': props.id,\n };\n}\n\nfunction syncTextWithReplica(elem: HTMLTextAreaElement, value?: string) {\n const parent = elem?.parentNode as HTMLElement;\n if (!parent) {\n return;\n }\n if (elem.value === '\\n') {\n return;\n }\n parent.dataset.replicatedValue = value ?? elem.value;\n}\n\nfunction resetReplicaText(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n delete parent.dataset.replicatedValue;\n }\n}\n\nfunction collapseTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.remove('expanded');\n }\n}\n\nfunction expandTextArea(elem: HTMLTextAreaElement) {\n const parent = elem?.parentNode as HTMLElement;\n if (parent) {\n parent.classList.add('expanded');\n }\n}\n\nexport const SearchTextArea: FunctionalComponent<Props> = ({\n textAreaRef,\n loading,\n bindings,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeyDown,\n onKeyUp,\n value,\n ariaLabel,\n onClear,\n popup,\n ...defaultInputProps\n}) => (\n <div class=\"flex grow overflow-hidden\">\n <div part=\"textarea-expander\" class=\"grid grow overflow-hidden\">\n <textarea\n part=\"textarea\"\n aria-label={ariaLabel}\n placeholder={bindings.i18n.t('search')}\n class=\"placeholder-neutral-dark\"\n rows={1}\n onInput={(e) => {\n onInput?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onKeyDown={(e) => {\n syncTextWithReplica(textAreaRef);\n if (e.key === 'Enter') {\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n }\n onKeyDown?.(e);\n }}\n onKeyUp={(e) => {\n onKeyUp?.(e);\n if (e.key === 'Enter') {\n e.preventDefault();\n return;\n }\n syncTextWithReplica(textAreaRef);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n collapseTextArea(textAreaRef);\n syncTextWithReplica(textAreaRef);\n }}\n onChange={(e) => {\n onChange?.(e);\n syncTextWithReplica(textAreaRef);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n const target = e.target as HTMLTextAreaElement;\n syncTextWithReplica(textAreaRef ?? target);\n expandTextArea(textAreaRef ?? target);\n }}\n autocomplete=\"off\"\n {...(popup && getPopupAttributes(popup))}\n {...defaultInputProps}\n value={value}\n />\n </div>\n\n {loading && (\n <div class=\"searchbox-button-wrapper ml-2 flex items-center justify-center\">\n <span\n part=\"loading\"\n class=\"loading mr-2 grid h-5 w-5 animate-spin place-items-center rounded-full bg-linear-to-r\"\n ></span>\n </div>\n )}\n {!loading && value && (\n <TextAreaClearButton\n inputRef={textAreaRef}\n bindings={bindings}\n onClick={() => {\n onClear();\n resetReplicaText(textAreaRef);\n }}\n />\n )}\n </div>\n);\n","export function promiseTimeout<T>(prom: T | Promise<T>, ms: number) {\n let id: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n id = setTimeout(() => {\n reject(new Error('Promise timed out.'));\n }, ms);\n });\n return Promise.race([prom, timeout]).then(() => {\n clearTimeout(id);\n });\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {forceUpdate} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {promiseTimeout} from '../../../utils/promise-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from './suggestions-types';\nimport {elementHasNoQuery, elementHasQuery} from './suggestions-utils';\n\n/**\n * List of suggestions that will be displayed along other lists (e.g recent queries) when the search box's input is selected.\n */\nexport interface SearchBoxSuggestions {\n /**\n * The search box will sort the position of suggestions using this value, the lowest value being first.\n * By default, the DOM position will be used.\n */\n position: number;\n /**\n * Whether the suggestions should be listed in the right or left panel. By default, the suggestions are listed in the right panel.\n */\n panel?: 'left' | 'right';\n /**\n * Method that returns the list of elements which will be rendered in the list of suggestions.\n */\n renderItems(): SearchBoxSuggestionElement[];\n /**\n * Hook called when the user changes the search box's input value. This can lead to all the query suggestions being updated.\n */\n onInput?(): Promise<unknown>;\n /**\n * Hook called when the current suggested query changes as the user navigates the list of suggestions.\n * This is used for instant results, which are rendered based on the current suggested query.\n * @param q The new current suggested query.\n */\n onSuggestedQueryChange?(q: string): Promise<unknown>;\n}\n\ninterface SearchBoxProps {\n getSearchBoxValue: () => string;\n updateQuery: (suggestedQuery: string) => void;\n getSuggestionTimeout: () => number;\n getNumberOfSuggestionsToDisplay: () => number;\n getSuggestionDelay: () => number;\n getLogger: () => Pick<typeof console, 'warn'>;\n getHost: () => HTMLElement;\n}\n\nexport class SuggestionManager<SearchBoxController> {\n public suggestions: SearchBoxSuggestions[] = [];\n public leftSuggestionElements: SearchBoxSuggestionElement[] = [];\n public rightSuggestionElements: SearchBoxSuggestionElement[] = [];\n public leftPanel: HTMLElement | undefined = undefined;\n public rightPanel: HTMLElement | undefined = undefined;\n public triggerSuggestions: () => Promise<void>;\n public activeDescendant = '';\n public suggestedQuery = '';\n public keyboardActiveDescendant = '';\n\n private queryDataAttribute = 'data-query';\n private suggestionEvents: SearchBoxSuggestionsEvent<SearchBoxController>[] =\n [];\n\n private previousActiveDescendantElement: HTMLElement | null = null;\n private leftSuggestions: SearchBoxSuggestions[] = [];\n private rightSuggestions: SearchBoxSuggestions[] = [];\n\n constructor(private ownerSearchBoxProps: SearchBoxProps) {\n this.triggerSuggestions = debounce(\n () => this.executeQuerySuggestion(),\n this.ownerSearchBoxProps.getSuggestionDelay()\n );\n }\n\n public get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBoxController>,\n | 'suggestedQuery'\n | 'clearSuggestions'\n | 'triggerSuggestions'\n | 'getSuggestions'\n | 'getSuggestionElements'\n > {\n return {\n suggestedQuery: () => this.suggestedQuery,\n clearSuggestions: () => this.clearSuggestions(),\n triggerSuggestions: () => this.triggerSuggestions(),\n getSuggestions: () => this.suggestions,\n getSuggestionElements: () => this.allSuggestionElements,\n };\n }\n\n public get activeDescendantElement(): HTMLElement | null {\n if (!this.hasActiveDescendant) {\n return null;\n }\n\n return (\n this.leftPanel?.querySelector(`#${this.activeDescendant}`) ||\n this.rightPanel?.querySelector(`#${this.activeDescendant}`) ||\n null\n );\n }\n\n public onSubmit() {\n this.clickOnActiveElement();\n this.clearSuggestions();\n }\n\n public updateActiveDescendant(id = '') {\n this.activeDescendant = id;\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n public updateKeyboardActiveDescendant(id = '') {\n this.keyboardActiveDescendant = id;\n }\n\n public clickOnActiveElement() {\n this.activeDescendantElement?.click();\n this.updateActiveDescendant();\n }\n\n public isRightPanelInFocus() {\n if (\n isNullOrUndefined(this.panelInFocus) ||\n isNullOrUndefined(this.rightPanel)\n ) {\n return false;\n }\n\n return this.panelInFocus === this.rightPanel;\n }\n\n public initializeSuggestions(\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n this.suggestions = this.suggestionEvents.map((event) => event(bindings));\n }\n\n public registerSuggestionsFromEvent(\n event: CustomEvent<SearchBoxSuggestionsEvent<SearchBoxController>>,\n bindings: SearchBoxSuggestionsBindings<SearchBoxController>\n ) {\n event.preventDefault();\n event.stopPropagation();\n this.suggestionEvents.push(event.detail);\n this.suggestions.push(event.detail(bindings));\n }\n\n public registerSuggestions(suggestions: SearchBoxSuggestions) {\n this.suggestions.push(suggestions);\n }\n\n public get isDoubleList() {\n return Boolean(\n this.leftSuggestionElements.length && this.rightSuggestionElements.length\n );\n }\n\n public focusPanel(side: 'left' | 'right') {\n const panel = side === 'left' ? this.leftPanel : this.rightPanel;\n\n if (this.panelInFocus === panel) {\n return;\n }\n if (panel?.firstElementChild) {\n const panelHasActiveDescendant =\n this.previousActiveDescendantElement &&\n panel.contains(this.previousActiveDescendantElement);\n const newValue = panelHasActiveDescendant\n ? this.previousActiveDescendantElement!\n : (panel.firstElementChild as HTMLElement);\n this.updateDescendants(newValue.id);\n }\n }\n\n public clearSuggestions() {\n this.clearSuggestionElements();\n this.updateActiveDescendant();\n }\n\n public async focusNextValue() {\n if (!this.hasSuggestions || !this.nextOrFirstValue) {\n return;\n }\n\n await this.focusValue(this.nextOrFirstValue as HTMLElement);\n }\n\n public async focusValue(value: HTMLElement) {\n this.updateKeyboardActiveDescendant(value.id);\n this.updateActiveDescendant(value.id);\n this.scrollActiveDescendantIntoView();\n await this.updateQueryFromSuggestion();\n }\n\n public async onSuggestionMouseOver(\n item: SearchBoxSuggestionElement,\n side: 'left' | 'right',\n id: string\n ) {\n const thisPanel = side === 'left' ? this.leftPanel : this.rightPanel;\n // When hovering, always reset the keyboard active descendant\n this.updateKeyboardActiveDescendant();\n if (this.panelInFocus === thisPanel) {\n this.updateActiveDescendant(id);\n } else {\n this.updateDescendants(id);\n }\n if (item.query) {\n await this.updateSuggestedQuery(item.query);\n }\n }\n\n public async onSuggestionClick(item: SearchBoxSuggestionElement, e: Event) {\n if (item.query) {\n this.clearSuggestions();\n await this.updateOwnerSearchboxQuery(item.query);\n }\n item.onSelect?.(e);\n }\n\n public get hasSuggestions() {\n return !!this.allSuggestionElements.length;\n }\n\n public get allSuggestionElements() {\n return [...this.leftSuggestionElements, ...this.rightSuggestionElements];\n }\n\n public async focusPreviousValue() {\n if (this.firstValue === this.activeDescendantElement) {\n this.updateKeyboardActiveDescendant();\n this.updateActiveDescendant();\n return;\n }\n\n if (!this.hasSuggestions || !this.previousOrLastValue) {\n return;\n }\n\n await this.focusValue(this.previousOrLastValue as HTMLElement);\n }\n\n public get hasActiveDescendant() {\n return this.activeDescendant !== '';\n }\n\n private async executeQuerySuggestion() {\n this.updateActiveDescendant();\n const settled = await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onInput ? suggestion.onInput() : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n\n const fulfilledSuggestions: SearchBoxSuggestions[] = [];\n\n settled.forEach((prom, j) => {\n if (prom.status === 'fulfilled') {\n fulfilledSuggestions.push(this.suggestions[j]);\n } else {\n this.ownerSearchBoxProps\n .getLogger()\n .warn(\n 'Some query suggestions are not being shown because the promise timed out.'\n );\n }\n });\n\n const splitSuggestions = (side: 'left' | 'right', isDefault = false) =>\n fulfilledSuggestions\n .filter(\n (suggestion) =>\n suggestion.panel === side || (!suggestion.panel && isDefault)\n )\n .sort(this.sortSuggestions);\n\n this.leftSuggestions = splitSuggestions('left', true);\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n\n this.rightSuggestions = splitSuggestions('right');\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n\n const defaultSuggestedQuery =\n this.allSuggestionElements.find(elementHasQuery)?.query || '';\n\n await this.updateSuggestedQuery(defaultSuggestedQuery);\n }\n\n private get lastValue() {\n return this.panelInFocus?.lastElementChild;\n }\n\n private get previousOrLastValue() {\n if (!this.hasActiveDescendant) {\n return this.lastValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.previousElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private sortSuggestions(a: SearchBoxSuggestions, b: SearchBoxSuggestions) {\n return a.position - b.position;\n }\n\n private get nextOrFirstValue() {\n if (!this.hasActiveDescendant) {\n return this.firstValue?.firstChild;\n }\n\n const parentOfActiveDescendant =\n this.activeDescendantElement?.parentElement;\n return (\n parentOfActiveDescendant?.nextElementSibling?.firstChild ||\n this.firstValue?.firstChild\n );\n }\n\n private get firstValue() {\n return this.panelInFocus?.firstElementChild;\n }\n\n private get panelInFocus() {\n if (this.leftPanel?.contains(this.activeDescendantElement)) {\n return this.leftPanel;\n }\n if (this.rightPanel?.contains(this.activeDescendantElement)) {\n return this.rightPanel;\n }\n return this.leftPanel || this.rightPanel;\n }\n\n private scrollActiveDescendantIntoView() {\n this.activeDescendantElement?.scrollIntoView({\n block: 'nearest',\n });\n }\n\n private async updateQueryFromSuggestion() {\n const suggestedQuery = this.activeDescendantElement?.getAttribute(\n this.queryDataAttribute\n );\n await this.updateOwnerSearchboxQuery(suggestedQuery || '');\n }\n\n private async updateOwnerSearchboxQuery(query: string) {\n if (query && this.ownerSearchBoxProps.getSearchBoxValue() !== query) {\n this.ownerSearchBoxProps.updateQuery(query);\n await this.updateSuggestedQuery(query);\n }\n }\n\n private async updateSuggestedQuery(suggestedQuery: string) {\n await Promise.allSettled(\n this.suggestions.map((suggestion) =>\n promiseTimeout(\n suggestion.onSuggestedQueryChange\n ? suggestion.onSuggestedQueryChange(suggestedQuery)\n : Promise.resolve(),\n this.ownerSearchBoxProps.getSuggestionTimeout()\n )\n )\n );\n this.suggestedQuery = suggestedQuery;\n this.updateSuggestionElements(suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private updateSuggestionElements(query: string) {\n if (!this.isPanelInFocus(this.leftPanel, query)) {\n this.leftSuggestionElements = this.getAndFilterLeftSuggestionElements();\n }\n\n if (!this.isPanelInFocus(this.rightPanel, query)) {\n this.rightSuggestionElements = this.getSuggestionElements(\n this.rightSuggestions\n );\n }\n }\n\n public forceUpdate() {\n this.updateSuggestionElements(this.suggestedQuery);\n forceUpdate(this.ownerSearchBoxProps.getHost());\n }\n\n private isPanelInFocus(\n panel: HTMLElement | undefined,\n query: string\n ): boolean {\n if (!this.activeDescendantElement) {\n return false;\n }\n\n if (query) {\n const escaped = DOMPurify.sanitize(query);\n return !!panel?.querySelector(\n `[${this.queryDataAttribute}=\"${CSS.escape(escaped)}\"]`\n );\n }\n\n return this.activeDescendantElement?.closest('ul') === panel;\n }\n\n private getAndFilterLeftSuggestionElements() {\n const suggestionElements = this.getSuggestionElements(this.leftSuggestions);\n const filterOnDuplicate = new Set();\n\n const out = suggestionElements.filter((suggestionElement) => {\n if (isNullOrUndefined(suggestionElement.query)) {\n return true;\n }\n if (filterOnDuplicate.has(suggestionElement.query)) {\n return false;\n } else {\n filterOnDuplicate.add(suggestionElement.query);\n return true;\n }\n });\n\n return out;\n }\n\n private getSuggestionElements(suggestions: SearchBoxSuggestions[]) {\n const elements = suggestions.flatMap((suggestion) =>\n suggestion.renderItems()\n );\n\n const max =\n this.ownerSearchBoxProps.getNumberOfSuggestionsToDisplay() +\n elements.filter(elementHasNoQuery).length;\n\n return elements.slice(0, max);\n }\n\n private updateDescendants(activeDescendant = '') {\n const newPrevDescendantElement = this.activeDescendantElement;\n this.previousActiveDescendantElement = newPrevDescendantElement;\n this.updateActiveDescendant(activeDescendant);\n }\n\n private clearSuggestionElements() {\n this.leftSuggestionElements = [];\n this.rightSuggestionElements = [];\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["SmartSnippetFeedbackModalHeader","i18n","h","slot","t","SmartSnippetFeedbackModalBody","formId","onSubmit","children","part","id","class","SmartSnippetFeebackModalOptions","SmartSnippetFeedbackModalOption","correspondingAnswer","currentAnswer","localeKey","onChange","key","type","name","checked","required","htmlFor","SmartSnippetFeedbackModalDetails","setDetailsInputRef","ref","rows","SmartSnippetFeedbackModalFooter","onClick","Button","style","form","smartSnippetFeedbackOptions"],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.tsx"],"sourcesContent":["import type {SmartSnippetFeedback} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\n\nexport const SmartSnippetFeedbackModalHeader: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}) => {\n return <h1 slot=\"header\">{i18n.t('smart-snippet-feedback-explain-why')}</h1>;\n};\n\nexport const SmartSnippetFeedbackModalBody: FunctionalComponent<{\n formId: string;\n onSubmit: (e: Event) => void;\n}> = ({formId, onSubmit}, children) => {\n return (\n <form\n part=\"form\"\n id={formId}\n slot=\"body\"\n onSubmit={onSubmit}\n class=\"flex flex-col gap-8\"\n >\n {children}\n </form>\n );\n};\n\nexport const SmartSnippetFeebackModalOptions: FunctionalComponent<{\n i18n: i18n;\n}> = ({i18n}, children) => {\n return (\n <fieldset>\n <legend part=\"reason-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('smart-snippet-feedback-select-reason')}\n </legend>\n {children}\n </fieldset>\n );\n};\n\nexport const SmartSnippetFeedbackModalOption: FunctionalComponent<{\n correspondingAnswer: SmartSnippetFeedback | 'other';\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n id: string;\n localeKey: string;\n onChange: (e: Event) => void;\n}> = ({correspondingAnswer, currentAnswer, i18n, id, localeKey, onChange}) => {\n return (\n <div class=\"flex items-center\" key={id} part=\"reason\">\n <input\n part=\"reason-radio\"\n type=\"radio\"\n name=\"answer\"\n id={id}\n checked={currentAnswer === correspondingAnswer}\n onChange={onChange}\n class=\"mr-2 h-4 w-4\"\n required\n />\n <label part=\"reason-label\" htmlFor={id}>\n {i18n.t(localeKey)}\n </label>\n </div>\n );\n};\n\nexport const SmartSnippetFeedbackModalDetails: FunctionalComponent<{\n currentAnswer?: SmartSnippetFeedback | 'other';\n i18n: i18n;\n setDetailsInputRef: (ref?: HTMLTextAreaElement) => void;\n}> = ({currentAnswer, i18n, setDetailsInputRef}) => {\n if (currentAnswer !== 'other') {\n return;\n }\n\n return (\n <fieldset>\n <legend part=\"details-title\" class=\"text-on-background text-lg font-bold\">\n {i18n.t('details')}\n </legend>\n <textarea\n part=\"details-input\"\n name=\"answer-details\"\n ref={setDetailsInputRef}\n class=\"border-neutral mt-2 w-full resize-none rounded border p-2 text-base leading-5\"\n rows={4}\n required\n ></textarea>\n </fieldset>\n );\n};\n\nexport const SmartSnippetFeedbackModalFooter: FunctionalComponent<{\n formId: string;\n i18n: i18n;\n onClick: (e: MouseEvent) => void;\n}> = ({formId, i18n, onClick}) => {\n return (\n <div part=\"buttons\" slot=\"footer\" class=\"flex justify-end gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-neutral\"\n class=\"text-primary\"\n onClick={onClick}\n >\n {i18n.t('cancel')}\n </Button>\n <Button part=\"submit-button\" style=\"primary\" type=\"submit\" form={formId}>\n {i18n.t('feedback-send')}\n </Button>\n </div>\n );\n};\n\nexport const smartSnippetFeedbackOptions: {\n id: string;\n localeKey: string;\n correspondingAnswer: SmartSnippetFeedback | 'other';\n}[] = [\n {\n id: 'does-not-answer',\n localeKey: 'smart-snippet-feedback-reason-does-not-answer',\n correspondingAnswer: 'does_not_answer',\n },\n {\n id: 'partially-answers',\n localeKey: 'smart-snippet-feedback-reason-partially-answers',\n correspondingAnswer: 'partially_answers',\n },\n {\n id: 'was-not-a-question',\n localeKey: 'smart-snippet-feedback-reason-was-not-a-question',\n correspondingAnswer: 'was_not_a_question',\n },\n {\n id: 'other',\n localeKey: 'smart-snippet-feedback-reason-other',\n correspondingAnswer: 'other',\n },\n];\n"],"mappings":"8EAKaA,EAER,EAAEC,UACEC,EAAA,MAAIC,KAAK,UAAUF,EAAKG,EAAE,uC,MAGtBC,EAGR,EAAEC,SAAQC,YAAWC,IAEtBN,EAAA,QACEO,KAAK,OACLC,GAAIJ,EACJH,KAAK,OACLI,SAAUA,EACVI,MAAM,uBAELH,G,MAKMI,EAER,EAAEX,QAAOO,IAEVN,EAAA,gBACEA,EAAA,UAAQO,KAAK,eAAeE,MAAM,wCAC/BV,EAAKG,EAAE,yCAETI,G,MAKMK,EAOR,EAAEC,sBAAqBC,gBAAed,OAAMS,KAAIM,YAAWC,cAE5Df,EAAA,OAAKS,MAAM,oBAAoBO,IAAKR,EAAID,KAAK,UAC3CP,EAAA,SACEO,KAAK,eACLU,KAAK,QACLC,KAAK,SACLV,GAAIA,EACJW,QAASN,IAAkBD,EAC3BG,SAAUA,EACVN,MAAM,eACNW,SAAQ,OAEVpB,EAAA,SAAOO,KAAK,eAAec,QAASb,GACjCT,EAAKG,EAAEY,K,MAMHQ,EAIR,EAAET,gBAAed,OAAMwB,yBAC1B,GAAIV,IAAkB,QAAS,CAC7B,M,CAGF,OACEb,EAAA,gBACEA,EAAA,UAAQO,KAAK,gBAAgBE,MAAM,wCAChCV,EAAKG,EAAE,YAEVF,EAAA,YACEO,KAAK,gBACLW,KAAK,iBACLM,IAAKD,EACLd,MAAM,gFACNgB,KAAM,EACNL,SAAQ,OAED,E,MAIFM,EAIR,EAAEtB,SAAQL,OAAM4B,aAEjB3B,EAAA,OAAKO,KAAK,UAAUN,KAAK,SAASQ,MAAM,0BACtCT,EAAC4B,EAAM,CACLrB,KAAK,gBACLsB,MAAM,kBACNpB,MAAM,eACNkB,QAASA,GAER5B,EAAKG,EAAE,WAEVF,EAAC4B,EAAM,CAACrB,KAAK,gBAAgBsB,MAAM,UAAUZ,KAAK,SAASa,KAAM1B,GAC9DL,EAAKG,EAAE,mB,MAMH6B,EAIP,CACJ,CACEvB,GAAI,kBACJM,UAAW,gDACXF,oBAAqB,mBAEvB,CACEJ,GAAI,oBACJM,UAAW,kDACXF,oBAAqB,qBAEvB,CACEJ,GAAI,qBACJM,UAAW,mDACXF,oBAAqB,sBAEvB,CACEJ,GAAI,QACJM,UAAW,sCACXF,oBAAqB,iB","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["RefineModal","props","children","flushFacetElements","host","querySelector","remove","renderHeader","h","slot","class","part","title","Button","style","onClick","onClose","ariaLabel","i18n","t","icon","CloseIcon","renderFooter","text","numberOfItems","toLocaleString","language","fullscreen","isOpen","source","openButton","container","close","onAnimationEnded","exportparts","ATOMIC_MODAL_EXPORT_PARTS","boundary","scope"],"sources":["src/components/common/refine-modal/stencil-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../images/close.svg';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../atomic-modal/export-parts';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalProps {\n host: HTMLElement;\n i18n: i18n;\n onClose(): void;\n title: string;\n numberOfItems: number;\n isOpen: boolean;\n openButton?: HTMLElement;\n boundary?: 'page' | 'element';\n scope?: HTMLElement;\n}\n\nexport const RefineModal: FunctionalComponent<RefineModalProps> = (\n props,\n children\n) => {\n const flushFacetElements = () => {\n props.host.querySelector('div[slot=\"facets\"]')?.remove();\n };\n\n const renderHeader = () => {\n return (\n <div slot=\"header\" class=\"contents\">\n <h1 part=\"title\" class=\"truncate\">\n {props.title}\n </h1>\n <Button\n style=\"text-transparent\"\n class=\"grid place-items-center\"\n part=\"close-button\"\n onClick={props.onClose}\n ariaLabel={props.i18n.t('close')}\n >\n <atomic-icon\n part=\"close-icon\"\n class=\"h-5 w-5\"\n icon={CloseIcon}\n ></atomic-icon>\n </Button>\n </div>\n );\n };\n\n const renderFooter = () => {\n return (\n <div part=\"footer-content\" slot=\"footer\">\n <Button\n style=\"primary\"\n part=\"footer-button\"\n class=\"flex w-full justify-center p-3 text-lg\"\n onClick={props.onClose}\n >\n <span part=\"footer-button-text\" class=\"mr-1 truncate\">\n {props.i18n.t('view-results')}\n </span>\n <span part=\"footer-button-count\">\n {props.i18n.t('between-parentheses', {\n text: props.numberOfItems.toLocaleString(props.i18n.language),\n })}\n </span>\n </Button>\n </div>\n );\n };\n\n return (\n <atomic-modal\n fullscreen\n isOpen={props.isOpen}\n source={props.openButton}\n container={props.host}\n close={props.onClose}\n onAnimationEnded={() => {\n if (!props.isOpen) {\n flushFacetElements();\n }\n }}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n boundary={props.boundary}\n scope={props.scope}\n >\n {renderHeader()}\n {...children}\n {renderFooter()}\n </atomic-modal>\n );\n};\n"],"mappings":"sJAkBaA,EAAqD,CAChEC,EACAC,KAEA,MAAMC,EAAqB,KACzBF,EAAMG,KAAKC,cAAc,uBAAuBC,QAAQ,EAG1D,MAAMC,EAAe,IAEjBC,EAAA,OAAKC,KAAK,SAASC,MAAM,YACvBF,EAAA,MAAIG,KAAK,QAAQD,MAAM,YACpBT,EAAMW,OAETJ,EAACK,EAAM,CACLC,MAAM,mBACNJ,MAAM,0BACNC,KAAK,eACLI,QAASd,EAAMe,QACfC,UAAWhB,EAAMiB,KAAKC,EAAE,UAExBX,EAAA,eACEG,KAAK,aACLD,MAAM,UACNU,KAAMC,MAOhB,MAAMC,EAAe,IAEjBd,EAAA,OAAKG,KAAK,iBAAiBF,KAAK,UAC9BD,EAACK,EAAM,CACLC,MAAM,UACNH,KAAK,gBACLD,MAAM,yCACNK,QAASd,EAAMe,SAEfR,EAAA,QAAMG,KAAK,qBAAqBD,MAAM,iBACnCT,EAAMiB,KAAKC,EAAE,iBAEhBX,EAAA,QAAMG,KAAK,uBACRV,EAAMiB,KAAKC,EAAE,sBAAuB,CACnCI,KAAMtB,EAAMuB,cAAcC,eAAexB,EAAMiB,KAAKQ,eAQhE,OACElB,EAAA,gBACEmB,WAAU,KACVC,OAAQ3B,EAAM2B,OACdC,OAAQ5B,EAAM6B,WACdC,UAAW9B,EAAMG,KACjB4B,MAAO/B,EAAMe,QACbiB,iBAAkB,KAChB,IAAKhC,EAAM2B,OAAQ,CACjBzB,G,GAGJ+B,YAAaC,EACbC,SAAUnC,EAAMmC,SAChBC,MAAOpC,EAAMoC,OAEZ9B,OACGL,EACHoB,IACY,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["ResultContext","opts","folded","ItemContext","parentName","InteractiveResultContext","InteractiveItemContext","resultContext","element","itemContext"],"sources":["src/components/search/result-template-components/result-template-decorators.tsx"],"sourcesContent":["import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '../../common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\".\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"mappings":"2DAkBgBA,EAAcC,EAA0B,CAACC,OAAQ,QAC/D,OAAOC,EAAY,CAACC,WAAY,gBAAiBF,OAAQD,EAAKC,QAChE,C,SAEgBG,IACd,OAAOC,GACT,C,SAegBC,EACdC,GAEA,OAAOC,EAAeD,EAAS,gBACjC,Q","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["DisplayGrid","setRef","selectorForItem","children","ref","h","part","element","onClick","event","preventDefault","querySelector","click"],"sources":["src/components/common/item-list/stencil-display-grid.tsx"],"sourcesContent":["// The Lit equivalent of this file is grid-layout.ts\nimport {FunctionalComponent, h} from '@stencil/core';\n\nexport interface DisplayGridProps {\n selectorForItem: string;\n item: {clickUri: string; title: string};\n setRef: (element?: HTMLElement) => void;\n select: () => void;\n beginDelayedSelect: () => void;\n cancelPendingSelect: () => void;\n}\n\nexport const DisplayGrid: FunctionalComponent<DisplayGridProps> = (\n {setRef, selectorForItem},\n children\n) => {\n let ref: HTMLElement | undefined;\n return (\n <div\n part=\"result-list-grid-clickable-container outline\"\n ref={(element) => {\n ref = element;\n setRef(element);\n }}\n onClick={(event) => {\n event.preventDefault();\n (ref?.querySelector(selectorForItem) as HTMLElement)?.click();\n }}\n >\n {...children}\n </div>\n );\n};\n"],"mappings":"0CAYaA,EAAqD,EAC/DC,SAAQC,mBACTC,KAEA,IAAIC,EACJ,OACEC,EAAA,OACEC,KAAK,+CACLF,IAAMG,IACJH,EAAMG,EACNN,EAAOM,EAAQ,EAEjBC,QAAUC,IACRA,EAAMC,iBACLN,GAAKO,cAAcT,IAAkCU,OAAO,MAG3DT,EACA,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["possiblyWarnOnBadFieldType","field","itemValueRaw","host","logger","isArray","error","nodeName","toLowerCase","ItemTextFallback","defaultValue","item","getProperty","children","raw","isUndefined","remove","h","Fragment","renderWithHighlights","value","highlights","highlightString","openingDelimiter","closingDelimiter","highlightedValue","content","replace","RegExp","ItemTextHighlighted","highlightKeywords","onError","textValue","Host","innerHTML","AtomicResultText","this","shouldHighlight","render","resultValueAsString","getStringValueFromResultOrNull","result","bindings","engine","default","ResultTemplatesHelpers","getResultProperty","getFieldValueCaption","i18n","HighlightUtils","__decorate","InitializeBindings","ResultContext","AtomicText","strings","t","count","connectedCallback","Error"],"sources":["src/components/common/item-text/field-warning.ts","src/components/common/item-text/stencil-item-text-fallback.tsx","src/components/common/item-text/render-highlights.ts","src/components/common/item-text/stencil-item-text-highlighted.tsx","src/components/search/result-template-components/atomic-result-text/atomic-result-text.tsx","src/components/search/atomic-text/atomic-text.tsx"],"sourcesContent":["import {isArray} from '@coveo/bueno';\n\nexport function possiblyWarnOnBadFieldType(\n field: string,\n itemValueRaw: unknown,\n host: HTMLElement,\n logger: Pick<Console, 'error'>\n) {\n if (isArray(itemValueRaw)) {\n logger.error(\n `${host.nodeName.toLowerCase()} cannot be used with multi value field \"${field}\" with values \"${itemValueRaw}\".`,\n host\n );\n }\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {Fragment, FunctionalComponent, VNode, h} from '@stencil/core';\nimport {possiblyWarnOnBadFieldType} from './field-warning';\n\nexport interface ItemTextProps<T> {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n defaultValue: string | undefined;\n field: string;\n item: T;\n getProperty: (result: T, property: string) => unknown;\n}\n\nexport const ItemTextFallback = <T,>(\n {field, host, logger, defaultValue, item, getProperty}: ItemTextProps<T>,\n children: VNode[]\n): FunctionalComponent<ItemTextProps<T>> | null => {\n const raw = getProperty(item, field);\n possiblyWarnOnBadFieldType(field, raw, host, logger);\n\n if (isUndefined(defaultValue)) {\n host.remove();\n return null;\n } else {\n return <Fragment>{children}</Fragment>;\n }\n};\n","export type HighlightKeywords = {\n offset: number;\n length: number;\n};\n\nexport type HighlightString = (params: {\n content: string;\n openingDelimiter: string;\n closingDelimiter: string;\n highlights: HighlightKeywords[];\n}) => string;\n\nexport function renderWithHighlights(\n value: string,\n highlights: HighlightKeywords[],\n highlightString: HighlightString\n) {\n const openingDelimiter = '_openingDelimiter_';\n const closingDelimiter = '_closingDelimiter_';\n const highlightedValue = highlightString({\n content: value,\n openingDelimiter,\n closingDelimiter,\n highlights,\n });\n return highlightedValue\n .replace(new RegExp(openingDelimiter, 'g'), '<b>')\n .replace(new RegExp(closingDelimiter, 'g'), '</b>');\n}\n","import {FunctionalComponent, h, Host} from '@stencil/core';\nimport {\n HighlightKeywords,\n HighlightString,\n renderWithHighlights,\n} from './render-highlights';\n\nexport interface ItemTextHighlightedProps {\n textValue: string;\n highlightKeywords: HighlightKeywords[];\n onError: (error: Error) => void;\n highlightString: HighlightString;\n}\n\nexport const ItemTextHighlighted: FunctionalComponent<\n ItemTextHighlightedProps\n> = ({highlightKeywords, highlightString, onError, textValue}) => {\n try {\n const highlightedValue = renderWithHighlights(\n textValue,\n highlightKeywords,\n highlightString\n );\n\n // deepcode ignore ReactSetInnerHtml: This is not React code\n return <Host innerHTML={highlightedValue}></Host>;\n } catch (error) {\n onError(error as Error);\n }\n};\n","import {HighlightUtils, Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {ItemTextFallback} from '../../../common/item-text/stencil-item-text-fallback';\nimport {ItemTextHighlighted} from '../../../common/item-text/stencil-item-text-highlighted';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-text` component renders the value of a string result field.\n */\n@Component({\n tag: 'atomic-result-text',\n shadow: false,\n})\nexport class AtomicResultText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look in the Result object first, and then in the Result.raw object for the fields.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * When this is set to `true`, the component attempts to highlight text based on the highlighting properties provided by the search API response.\n */\n @Prop({reflect: true}) public shouldHighlight = true;\n\n /**\n * The locale key for the text to display when the configured field has no value.\n */\n @Prop({reflect: true}) public default?: string;\n\n public render() {\n const resultValueAsString = getStringValueFromResultOrNull(\n this.result,\n this.field\n );\n\n if (resultValueAsString === null) {\n return (\n <ItemTextFallback\n field={this.field}\n host={this.host}\n logger={this.bindings.engine.logger}\n defaultValue={this.default}\n item={this.result}\n getProperty={ResultTemplatesHelpers.getResultProperty}\n >\n <atomic-text\n value={getFieldValueCaption(\n this.field,\n this.default!,\n this.bindings.i18n\n )}\n ></atomic-text>\n </ItemTextFallback>\n );\n }\n\n const textValue = `${resultValueAsString}`;\n const highlightKeywords = ResultTemplatesHelpers.getResultProperty(\n this.result,\n `${this.field}Highlights`\n ) as HighlightUtils.HighlightKeyword[];\n\n return this.shouldHighlight && highlightKeywords ? (\n <ItemTextHighlighted\n textValue={textValue}\n highlightKeywords={highlightKeywords}\n highlightString={HighlightUtils.highlightString}\n onError={(error) => (this.error = error)}\n ></ItemTextHighlighted>\n ) : (\n getFieldValueCaption(this.field, textValue, this.bindings.i18n)\n );\n }\n}\n","import {Component, Prop, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-text` component leverages the I18n translation module through the atomic-search-interface.\n */\n@Component({\n tag: 'atomic-text',\n shadow: true,\n})\nexport class AtomicText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n\n private strings = {\n value: () =>\n this.bindings.i18n.t(this.value, {\n count: this.count,\n }),\n };\n @State() public error!: Error;\n\n /**\n * The string key value.\n */\n @Prop({reflect: true}) public value!: string;\n /**\n * The count value used for plurals.\n */\n @Prop({reflect: true}) public count?: number;\n\n public connectedCallback() {\n if (!this.value) {\n this.error = new Error('The \"value\" attribute must be defined.');\n }\n }\n\n public render() {\n return this.strings.value();\n }\n}\n"],"mappings":"sdAEgBA,EACdC,EACAC,EACAC,EACAC,GAEA,GAAIC,EAAQH,GAAe,CACzBE,EAAOE,MACL,GAAGH,EAAKI,SAASC,wDAAwDP,mBAAuBC,MAChGC,E,CAGN,CCDO,MAAMM,EAAmB,EAC7BR,QAAOE,OAAMC,SAAQM,eAAcC,OAAMC,eAC1CC,KAEA,MAAMC,EAAMF,EAAYD,EAAMV,GAC9BD,EAA2BC,EAAOa,EAAKX,EAAMC,GAE7C,GAAIW,EAAYL,GAAe,CAC7BP,EAAKa,SACL,OAAO,I,KACF,CACL,OAAOC,EAACC,EAAQ,KAAEL,E,YCZNM,EACdC,EACAC,EACAC,GAEA,MAAMC,EAAmB,qBACzB,MAAMC,EAAmB,qBACzB,MAAMC,EAAmBH,EAAgB,CACvCI,QAASN,EACTG,mBACAC,mBACAH,eAEF,OAAOI,EACJE,QAAQ,IAAIC,OAAOL,EAAkB,KAAM,OAC3CI,QAAQ,IAAIC,OAAOJ,EAAkB,KAAM,OAChD,CCdO,MAAMK,EAET,EAAEC,oBAAmBR,kBAAiBS,UAASC,gBACjD,IACE,MAAMP,EAAmBN,EACvBa,EACAF,EACAR,GAIF,OAAOL,EAACgB,EAAI,CAACC,UAAWT,G,CACxB,MAAOnB,GACPyB,EAAQzB,E,oXCPC6B,EAAgB,M,yBAiBGC,KAAAC,gBAAkB,K,+DAAA,K,uBAOzC,MAAAC,GACL,MAAMC,EAAsBC,EAC1BJ,KAAKK,OACLL,KAAKnC,OAGP,GAAIsC,IAAwB,KAAM,CAChC,OACEtB,EAACR,EAAgB,CACfR,MAAOmC,KAAKnC,MACZE,KAAMiC,KAAKjC,KACXC,OAAQgC,KAAKM,SAASC,OAAOvC,OAC7BM,aAAc0B,KAAKQ,QACnBjC,KAAMyB,KAAKK,OACX7B,YAAaiC,EAAuBC,mBAEpC7B,EAAA,eACEG,MAAO2B,EACLX,KAAKnC,MACLmC,KAAKQ,QACLR,KAAKM,SAASM,Q,CAOxB,MAAMhB,EAAY,GAAGO,IACrB,MAAMT,EAAoBe,EAAuBC,kBAC/CV,KAAKK,OACL,GAAGL,KAAKnC,mBAGV,OAAOmC,KAAKC,iBAAmBP,EAC7Bb,EAACY,EAAmB,CAClBG,UAAWA,EACXF,kBAAmBA,EACnBR,gBAAiB2B,EAAe3B,gBAChCS,QAAUzB,GAAW8B,KAAK9B,MAAQA,IAGpCyC,EAAqBX,KAAKnC,MAAO+B,EAAWI,KAAKM,SAASM,K,6BAhEjCE,GAA5BC,K,+BACwBD,GAAxBE,K,8YCRUC,EAAU,M,yBAGbjB,KAAAkB,QAAU,CAChBlC,MAAO,IACLgB,KAAKM,SAASM,KAAKO,EAAEnB,KAAKhB,MAAO,CAC/BoC,MAAOpB,KAAKoB,S,+DAcX,iBAAAC,GACL,IAAKrB,KAAKhB,MAAO,CACfgB,KAAK9B,MAAQ,IAAIoD,MAAM,yC,EAIpB,MAAApB,GACL,OAAOF,KAAKkB,QAAQlC,O,GA1BO8B,EAAA,CAA5BC,K","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FacetGuard","hasError","enabled","firstSearchExecuted","hasResults","children","h","Hidden","Fragment"],"sources":["src/components/common/facets/facet-guard.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {Hidden} from '../stencil-hidden';\n\ninterface FacetGuardProps {\n hasError: boolean;\n enabled: boolean;\n firstSearchExecuted: boolean;\n hasResults: boolean;\n}\nexport const FacetGuard: FunctionalComponent<FacetGuardProps> = (\n {hasError, enabled, firstSearchExecuted, hasResults},\n children\n) => {\n if (hasError || !enabled || (firstSearchExecuted && !hasResults)) {\n return <Hidden></Hidden>;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n"],"mappings":"qFASaA,EAAmD,EAC7DC,WAAUC,UAASC,sBAAqBC,cACzCC,KAEA,GAAIJ,IAAaC,GAAYC,IAAwBC,EAAa,CAChE,OAAOE,EAACC,EAAM,K,CAGhB,OAAOD,EAACE,EAAQ,KAAEH,EAAoB,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["atomicResultImageCss","AtomicResultImageStyle0","AtomicResultImage","this","useFallback","url","value","ResultTemplatesHelpers","getResultProperty","result","field","Array","isArray","altText","imageAltField","bindings","i18n","t","itemName","title","logWarning","message","engine","logger","warn","host","handleImageError","fallback","handleMissingFallback","remove","validateUrl","render","h","alt","src","filterProtocol","onError","loading","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-image/atomic-result-image.pcss?tag=atomic-result-image","src/components/search/result-template-components/atomic-result-image/atomic-result-image.tsx"],"sourcesContent":["atomic-result-image {\n display: grid;\n place-items: center;\n grid-template-rows: 100%;\n width: 100%;\n height: 100%;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, h, Prop, Element, State} from '@stencil/core';\nimport {\n InitializeBindings,\n InitializableComponent,\n} from '../../../../utils/initialization-utils';\nimport {filterProtocol} from '../../../../utils/xss-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-image` component renders an image from a result field.\n */\n@Component({\n tag: 'atomic-result-image',\n styleUrl: 'atomic-result-image.pcss',\n shadow: false,\n})\nexport class AtomicResultImage implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() private host!: HTMLElement;\n @State() private useFallback = false;\n\n /**\n * The result field which the component should use. This will look for the field in the Result object first, then in the Result.raw object. It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n /**\n * The result field that contains the alt text for the image. This will look for the field in the Result object first, then in the Result.raw object\n *\n * If the field is not specified, or does not contain a valid value, the alt text will be set to \"Image for {productName}\".\n */\n @Prop({reflect: true}) imageAltField?: string;\n\n /**\n * An optional fallback image URL that will be used in case the specified image field is not available or encounters an error.\n */\n @Prop({reflect: true}) fallback?: string;\n\n public error!: Error;\n\n public get url() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n return Array.isArray(value) ? value[0] : value;\n }\n\n private get altText(): string {\n if (this.imageAltField) {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.imageAltField\n );\n\n if (Array.isArray(value) && typeof value[0] === 'string') {\n return value[0];\n }\n\n if (typeof value === 'string') {\n return value;\n }\n }\n\n return this.bindings.i18n.t('image-alt-fallback', {\n itemName: this.result.title,\n });\n }\n\n private logWarning(message: string) {\n this.bindings.engine.logger.warn(message, this.host);\n }\n\n private handleImageError() {\n const message = `The image url \"${this.url}\" is not valid or could not be loaded. You might want to add a \"fallback\" property.`;\n\n this.fallback ? (this.useFallback = true) : this.logWarning(message);\n }\n\n private handleMissingFallback(message: string) {\n if (!this.fallback) {\n this.logWarning(message);\n this.host.remove();\n return null;\n }\n return this.fallback;\n }\n\n private validateUrl(url: string) {\n if (!url) {\n const message = `\"${this.field}\" is missing. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n if (typeof url !== 'string') {\n const message = `Expected \"${this.field}\" to be a text field. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n return url;\n }\n\n public render() {\n let url = this.useFallback ? this.fallback : this.url;\n\n if (!this.useFallback) {\n url = this.validateUrl(url);\n if (!url) {\n return;\n }\n }\n\n return (\n <img\n alt={this.altText}\n src={filterProtocol(url)}\n onError={() => this.handleImageError()}\n loading=\"lazy\"\n />\n );\n }\n}\n"],"mappings":"+UAAA,MAAMA,EAAuB,wKAC7B,MAAAC,EAAeD,E,iXCiBFE,EAAiB,M,yBAIXC,KAAAC,YAAc,M,iBAAA,M,0EAqB/B,OAAWC,GACT,MAAMC,EAAQC,EAAuBC,kBACnCL,KAAKM,OACLN,KAAKO,OAEP,OAAOC,MAAMC,QAAQN,GAASA,EAAM,GAAKA,C,CAG3C,WAAYO,GACV,GAAIV,KAAKW,cAAe,CACtB,MAAMR,EAAQC,EAAuBC,kBACnCL,KAAKM,OACLN,KAAKW,eAGP,GAAIH,MAAMC,QAAQN,WAAiBA,EAAM,KAAO,SAAU,CACxD,OAAOA,EAAM,E,CAGf,UAAWA,IAAU,SAAU,CAC7B,OAAOA,C,EAIX,OAAOH,KAAKY,SAASC,KAAKC,EAAE,qBAAsB,CAChDC,SAAUf,KAAKM,OAAOU,O,CAIlB,UAAAC,CAAWC,GACjBlB,KAAKY,SAASO,OAAOC,OAAOC,KAAKH,EAASlB,KAAKsB,K,CAGzC,gBAAAC,GACN,MAAML,EAAU,kBAAkBlB,KAAKE,yFAEvCF,KAAKwB,SAAYxB,KAAKC,YAAc,KAAQD,KAAKiB,WAAWC,E,CAGtD,qBAAAO,CAAsBP,GAC5B,IAAKlB,KAAKwB,SAAU,CAClBxB,KAAKiB,WAAWC,GAChBlB,KAAKsB,KAAKI,SACV,OAAO,I,CAET,OAAO1B,KAAKwB,Q,CAGN,WAAAG,CAAYzB,GAClB,IAAKA,EAAK,CACR,MAAMgB,EAAU,IAAIlB,KAAKO,iGACzB,OAAOP,KAAKyB,sBAAsBP,E,CAGpC,UAAWhB,IAAQ,SAAU,CAC3B,MAAMgB,EAAU,aAAalB,KAAKO,yGAClC,OAAOP,KAAKyB,sBAAsBP,E,CAGpC,OAAOhB,C,CAGF,MAAA0B,GACL,IAAI1B,EAAMF,KAAKC,YAAcD,KAAKwB,SAAWxB,KAAKE,IAElD,IAAKF,KAAKC,YAAa,CACrBC,EAAMF,KAAK2B,YAAYzB,GACvB,IAAKA,EAAK,CACR,M,EAIJ,OACE2B,EAAA,OACEC,IAAK9B,KAAKU,QACVqB,IAAKC,EAAe9B,GACpB+B,QAAS,IAAMjC,KAAKuB,mBACpBW,QAAQ,Q,6BArGeC,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{h as e}from"./p-dc3df5ce.js";import{F as s}from"./p-4ecabf56.js";import{F as t}from"./p-d4c2b7c0.js";import{F as a}from"./p-0e6f1e14.js";import{g as c}from"./p-55d2bcf3.js";import{F as l}from"./p-2a02812b.js";const r=({manualRanges:e,field:s,i18n:t,facetValue:a,logger:l,formatter:r})=>{const i=e.find((e=>n(e,a)))?.label;return i?c(s,i,t):t.t("to",{start:o(a.start,t,l,r),end:o(a.end,t,l,r)})};const o=(e,s,t,a)=>{try{return a(e,s.languages)}catch(s){t.error(`atomic-numeric-facet facet value "${e}" could not be formatted correctly.`,s);return e}};const n=(e,s)=>e.start===s.start&&e.end===s.end&&e.endInclusive===s.endInclusive;const i=c=>{const{facetValue:l,displayValuesAs:o,i18n:n,onClick:i}=c;const u=r(c);const f=l.state==="selected";switch(o){case"checkbox":return e(s,{displayValue:u,numberOfResults:l.numberOfResults,isSelected:f,i18n:n,onClick:()=>i()},e(t,{displayValue:u,isSelected:f}));case"link":return e(a,{displayValue:u,numberOfResults:l.numberOfResults,isSelected:f,i18n:n,onClick:i},e(t,{displayValue:u,isSelected:f}))}};const u=({i18n:s,label:t},a)=>e(l,{i18n:s,label:t},e("ul",{class:"mt-3",part:"values"},a));export{i as N,u as a,r as f};
|
2
|
-
//# sourceMappingURL=p-20fc8a6c.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["SmartSnippetFeedbackBanner","props","inquiryId","id","thankYouId","radioGroupName","Inquiry","h","part","class","i18n","t","Buttons","liked","icon","Checkmark","RadioButton","groupName","text","checked","onChecked","onLike","disliked","Cross","onDislike","ThankYouMessage","ExplainWhyButton","Button","style","onClick","onPressExplainWhy","ref","element","explainWhyRef","ThankYouContainer","visible","feedbackSent","role","SmartSnippetWrapper","headingLevel","children","Heading","level","SmartSnippetQuestion","question","SmartSnippetTruncatedAnswer","answer","exportparts","htmlContent","innerStyle","SmartSnippetFooter"],"sources":["src/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.tsx","src/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Checkmark from '../../../images/checkmark.svg';\nimport Cross from '../../../images/cross.svg';\nimport {Button} from '../stencil-button';\nimport {RadioButton} from '../stencil-radio-button';\n\ninterface SmartSnippetFeedbackBannerProps {\n i18n: i18n;\n id: string;\n liked: boolean;\n disliked: boolean;\n feedbackSent: boolean;\n onLike(): void;\n onDislike(): void;\n onPressExplainWhy(): void;\n explainWhyRef?(element?: HTMLButtonElement): void;\n}\n\nexport const SmartSnippetFeedbackBanner: FunctionalComponent<\n SmartSnippetFeedbackBannerProps\n> = (props) => {\n const inquiryId = 'feedback-inquiry-' + props.id;\n const thankYouId = 'feedback-thank-you-' + props.id;\n const radioGroupName = 'feedback-options-' + props.id;\n\n const Inquiry = () => (\n <span id={inquiryId} part=\"feedback-inquiry\" class=\"shrink-0\">\n {props.i18n.t('smart-snippet-feedback-inquiry')}\n </span>\n );\n\n const Buttons = () => (\n <div part=\"feedback-buttons\" class=\"flex gap-x-4\">\n <label\n part=\"feedback-like-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.liked ? 'text-success' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Checkmark} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('yes')}\n checked={props.liked}\n onChecked={() => props.onLike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n <label\n part=\"feedback-dislike-button\"\n class={\n 'flex items-center gap-x-1.5 ' +\n (props.disliked ? 'text-error' : 'cursor-pointer hover:underline')\n }\n >\n <atomic-icon icon={Cross} class=\"w-3.5\"></atomic-icon>\n <RadioButton\n groupName={radioGroupName}\n text={props.i18n.t('no')}\n checked={props.disliked}\n onChecked={() => props.onDislike()}\n class=\"cursor-[inherit] text-[inherit]\"\n ></RadioButton>\n </label>\n </div>\n );\n\n const ThankYouMessage = () => (\n <span id={thankYouId} part=\"feedback-thank-you\" class=\"inline-flex\">\n {props.i18n.t('smart-snippet-feedback-thanks')}\n </span>\n );\n\n const ExplainWhyButton = () => (\n <Button\n part=\"feedback-explain-why-button\"\n style=\"text-primary\"\n onClick={() => props.onPressExplainWhy()}\n ref={(element) => props.explainWhyRef?.(element)}\n >\n {props.i18n.t('smart-snippet-feedback-explain-why')}\n </Button>\n );\n\n const ThankYouContainer = ({visible}: {visible: boolean}) =>\n visible ? (\n <div part=\"feedback-thank-you-wrapper\" class=\"flex flex-wrap gap-1\">\n <ThankYouMessage></ThankYouMessage>\n {props.disliked && !props.feedbackSent ? (\n <ExplainWhyButton></ExplainWhyButton>\n ) : (\n []\n )}\n </div>\n ) : (\n []\n );\n\n return (\n <div\n part=\"feedback-banner\"\n class=\"flex flex-wrap items-center gap-4 text-sm leading-4\"\n >\n <div\n part=\"feedback-inquiry-and-buttons\"\n role=\"radiogroup\"\n aria-labelledby={inquiryId}\n class=\"inline-flex flex-wrap gap-4\"\n >\n <Inquiry></Inquiry>\n <Buttons></Buttons>\n </div>\n <ThankYouContainer\n visible={props.liked || props.disliked}\n ></ThankYouContainer>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Heading} from '../../stencil-heading';\n\nexport interface SmartSnippetQuestionProps {\n headingLevel?: number;\n question: string;\n}\n\nexport const SmartSnippetWrapper: FunctionalComponent<{\n headingLevel?: number;\n i18n: i18n;\n}> = ({headingLevel, i18n}, children) => {\n return (\n <aside>\n <Heading level={headingLevel ?? 0} class=\"sr-only\">\n {i18n.t('smart-snippet')}\n </Heading>\n <article\n class=\"bg-background border-neutral text-on-background rounded-lg border p-6 pb-4\"\n part=\"smart-snippet\"\n >\n {children}\n </article>\n </aside>\n );\n};\n\nexport const SmartSnippetQuestion: FunctionalComponent<{\n headingLevel?: number;\n question: string;\n}> = ({headingLevel, question}) => {\n return (\n <Heading\n level={headingLevel ? headingLevel + 1 : 0}\n class=\"text-xl font-bold\"\n part=\"question\"\n >\n {question}\n </Heading>\n );\n};\n\nexport const SmartSnippetTruncatedAnswer: FunctionalComponent<{\n answer: string;\n style?: string;\n}> = ({answer, style}) => {\n return (\n <div part=\"truncated-answer\">\n <atomic-smart-snippet-answer\n exportparts=\"answer\"\n part=\"body\"\n htmlContent={answer}\n innerStyle={style}\n ></atomic-smart-snippet-answer>\n </div>\n );\n};\n\nexport const SmartSnippetFooter: FunctionalComponent<{i18n: i18n}> = (\n {i18n},\n children\n) => {\n return (\n <footer part=\"footer\" aria-label={i18n.t('smart-snippet-source')}>\n {children}\n </footer>\n );\n};\n"],"mappings":"oyBAmBaA,EAERC,IACH,MAAMC,EAAY,oBAAsBD,EAAME,GAC9C,MAAMC,EAAa,sBAAwBH,EAAME,GACjD,MAAME,EAAiB,oBAAsBJ,EAAME,GAEnD,MAAMG,EAAU,IACdC,EAAA,QAAMJ,GAAID,EAAWM,KAAK,mBAAmBC,MAAM,YAChDR,EAAMS,KAAKC,EAAE,mCAIlB,MAAMC,EAAU,IACdL,EAAA,OAAKC,KAAK,mBAAmBC,MAAM,gBACjCF,EAAA,SACEC,KAAK,uBACLC,MACE,gCACCR,EAAMY,MAAQ,eAAiB,mCAGlCN,EAAA,eAAaO,KAAMC,EAAWN,MAAM,UACpCF,EAACS,EAAW,CACVC,UAAWZ,EACXa,KAAMjB,EAAMS,KAAKC,EAAE,OACnBQ,QAASlB,EAAMY,MACfO,UAAW,IAAMnB,EAAMoB,SACvBZ,MAAM,qCAGVF,EAAA,SACEC,KAAK,0BACLC,MACE,gCACCR,EAAMqB,SAAW,aAAe,mCAGnCf,EAAA,eAAaO,KAAMS,EAAOd,MAAM,UAChCF,EAACS,EAAW,CACVC,UAAWZ,EACXa,KAAMjB,EAAMS,KAAKC,EAAE,MACnBQ,QAASlB,EAAMqB,SACfF,UAAW,IAAMnB,EAAMuB,YACvBf,MAAM,sCAMd,MAAMgB,EAAkB,IACtBlB,EAAA,QAAMJ,GAAIC,EAAYI,KAAK,qBAAqBC,MAAM,eACnDR,EAAMS,KAAKC,EAAE,kCAIlB,MAAMe,EAAmB,IACvBnB,EAACoB,EAAM,CACLnB,KAAK,8BACLoB,MAAM,eACNC,QAAS,IAAM5B,EAAM6B,oBACrBC,IAAMC,GAAY/B,EAAMgC,gBAAgBD,IAEvC/B,EAAMS,KAAKC,EAAE,uCAIlB,MAAMuB,EAAoB,EAAEC,aAC1BA,EACE5B,EAAA,OAAKC,KAAK,6BAA6BC,MAAM,wBAC3CF,EAACkB,EAAe,MACfxB,EAAMqB,WAAarB,EAAMmC,aACxB7B,EAACmB,EAAgB,MAAoB,IAInC,GAKV,OACEnB,EAAA,OACEC,KAAK,kBACLC,MAAM,uDAENF,EAAA,OACEC,KAAK,+BACL6B,KAAK,aAAY,kBACAnC,EACjBO,MAAM,+BAENF,EAACD,EAAO,MACRC,EAACK,EAAO,OAEVL,EAAC2B,EAAiB,CAChBC,QAASlC,EAAMY,OAASZ,EAAMqB,WAE5B,E,MC5GGgB,EAGR,EAAEC,eAAc7B,QAAO8B,IAExBjC,EAAA,aACEA,EAACkC,EAAO,CAACC,MAAOH,GAAgB,EAAG9B,MAAM,WACtCC,EAAKC,EAAE,kBAEVJ,EAAA,WACEE,MAAM,6EACND,KAAK,iBAEJgC,I,MAMIG,EAGR,EAAEJ,eAAcK,cAEjBrC,EAACkC,EAAO,CACNC,MAAOH,EAAeA,EAAe,EAAI,EACzC9B,MAAM,oBACND,KAAK,YAEJoC,G,MAKMC,EAGR,EAAEC,SAAQlB,WAEXrB,EAAA,OAAKC,KAAK,oBACRD,EAAA,+BACEwC,YAAY,SACZvC,KAAK,OACLwC,YAAaF,EACbG,WAAYrB,K,MAMPsB,EAAwD,EAClExC,QACD8B,IAGEjC,EAAA,UAAQC,KAAK,SAAQ,aAAaE,EAAKC,EAAE,yBACtC6B,U","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["atomicQuickviewCss","AtomicQuickviewStyle0","AtomicQuickview","this","sandbox","onNextQuickview","evt","stopImmediatePropagation","quickview","next","onPreviousQuickview","previous","focusTarget","buttonFocusTarget","FocusTargetController","initialize","buildQuickview","bindings","engine","options","result","Schema","StringValue","required","regex","validate","addQuickviewModalIfNeeded","quickviewModalRef","quickviewModal","interfaceElement","querySelector","document","createElement","setAttribute","appendChild","updateModalContent","state","content","total","quickviewState","totalResults","current","currentResult","modalCloseCallback","focus","quickviewAriaMessage","isLoading","i18n","t","first","last","title","onClick","event","stopPropagation","fetchResultContent","componentWillUpdate","render","resultHasPreview","h","Button","key","part","style","class","ref","setTarget","icon","QuickviewIcon","__decorate","InitializeBindings","ResultContext","BindStateToController","AriaLiveRegion"],"sources":["src/components/search/result-template-components/atomic-quickview/atomic-quickview.pcss?tag=atomic-quickview&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview/atomic-quickview.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n Result,\n buildQuickview,\n Quickview,\n QuickviewState,\n} from '@coveo/headless';\nimport {Component, h, Listen, Prop, State} from '@stencil/core';\nimport QuickviewIcon from '../../../../images/quickview.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../../utils/stencil-accessibility-utils';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-quickview` component renders a button which the end user can click to open a modal box containing a preview\n * about a result.\n *\n * The `atomic-quickview` is not meant to replace the `atomic-result-link` to access an item in a result template; it has certain limitations (e.g., custom styles and embedded\n * images/links may not work as expected in an `atomic-quickview`).\n *\n * @part button - The button that opens the quickview modal on click.\n * @part icon - The icon for the quickview button.\n */\n@Component({\n tag: 'atomic-quickview',\n styleUrl: 'atomic-quickview.pcss',\n shadow: true,\n})\nexport class AtomicQuickview implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n private buttonFocusTarget?: FocusTargetController;\n\n @State() public error!: Error;\n\n public quickview!: Quickview;\n\n @BindStateToController('quickview')\n @State()\n public quickviewState!: QuickviewState;\n\n /**\n * The `sandbox` attribute to apply to the quickview iframe.\n *\n * The quickview is loaded inside an iframe with a [`sandbox`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox) attribute for security reasons.\n *\n * This attribute exists primarily to protect against potential XSS attacks that could originate from the document being displayed.\n *\n * By default, the sandbox attributes are: `allow-popups allow-top-navigation allow-same-origin`.\n *\n * `allow-same-origin` is not optional, and must always be included in the list of allowed capabilities for the component to function properly.\n */\n @Prop() public sandbox =\n 'allow-popups allow-top-navigation allow-same-origin';\n\n @AriaLiveRegion('quickview')\n protected quickviewAriaMessage!: string;\n\n @Listen('atomic/quickview/next', {target: 'body'})\n public onNextQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.next();\n }\n\n @Listen('atomic/quickview/previous', {target: 'body'})\n public onPreviousQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.previous();\n }\n\n private quickviewModalRef?: HTMLAtomicQuickviewModalElement;\n\n public get focusTarget() {\n if (!this.buttonFocusTarget) {\n this.buttonFocusTarget = new FocusTargetController(this);\n }\n return this.buttonFocusTarget;\n }\n\n public initialize() {\n this.quickview = buildQuickview(this.bindings.engine, {\n options: {result: this.result},\n });\n new Schema({\n sandbox: new StringValue({\n required: true,\n regex: /allow-same-origin/,\n }),\n }).validate({sandbox: this.sandbox});\n }\n\n private addQuickviewModalIfNeeded() {\n if (this.quickviewModalRef) {\n return;\n }\n\n const quickviewModal = this.bindings.interfaceElement.querySelector(\n 'atomic-quickview-modal'\n );\n if (quickviewModal) {\n this.quickviewModalRef = quickviewModal;\n return;\n }\n this.quickviewModalRef = document.createElement('atomic-quickview-modal');\n this.quickviewModalRef.setAttribute('sandbox', this.sandbox);\n this.bindings.interfaceElement.appendChild(this.quickviewModalRef);\n }\n\n private updateModalContent() {\n if (this.quickviewModalRef && this.quickview.state.content) {\n this.quickviewModalRef.content = this.quickview.state.content;\n this.quickviewModalRef.result = this.result;\n this.quickviewModalRef.total = this.quickviewState.totalResults;\n this.quickviewModalRef.current = this.quickviewState.currentResult;\n this.quickviewModalRef.modalCloseCallback = () =>\n this.focusTarget.focus();\n\n this.quickviewAriaMessage = this.quickviewState.isLoading\n ? this.bindings.i18n.t('quickview-loading')\n : this.bindings.i18n.t('quickview-loaded', {\n first: this.quickviewState.currentResult,\n last: this.quickviewState.totalResults,\n title: this.result.title,\n });\n }\n }\n\n private onClick(event?: MouseEvent) {\n event?.stopPropagation();\n this.quickview.fetchResultContent();\n }\n\n componentWillUpdate(): void {\n this.addQuickviewModalIfNeeded();\n this.updateModalContent();\n }\n\n public render() {\n if (this.quickviewState.resultHasPreview) {\n return (\n <Button\n part=\"button\"\n title={this.bindings.i18n.t('quickview')}\n style=\"outline-primary\"\n class=\"p-2\"\n onClick={(event) => this.onClick(event)}\n ref={this.focusTarget.setTarget}\n >\n <atomic-icon\n part=\"icon\"\n class=\"flex w-5 justify-center\"\n icon={QuickviewIcon}\n ></atomic-icon>\n </Button>\n );\n }\n }\n}\n"],"mappings":"qhBAAA,MAAMA,EAAqB,+8iEAC3B,MAAAC,EAAeD,E,iXCoCFE,EAAe,M,yBAwBXC,KAAAC,QACb,sD,gEAAA,qD,CAMK,eAAAC,CAAgBC,GACrBA,EAAIC,2BACJJ,KAAKK,UAAUC,M,CAIV,mBAAAC,CAAoBJ,GACzBA,EAAIC,2BACJJ,KAAKK,UAAUG,U,CAKjB,eAAWC,GACT,IAAKT,KAAKU,kBAAmB,CAC3BV,KAAKU,kBAAoB,IAAIC,EAAsBX,K,CAErD,OAAOA,KAAKU,iB,CAGP,UAAAE,GACLZ,KAAKK,UAAYQ,EAAeb,KAAKc,SAASC,OAAQ,CACpDC,QAAS,CAACC,OAAQjB,KAAKiB,UAEzB,IAAIC,EAAO,CACTjB,QAAS,IAAIkB,EAAY,CACvBC,SAAU,KACVC,MAAO,wBAERC,SAAS,CAACrB,QAASD,KAAKC,S,CAGrB,yBAAAsB,GACN,GAAIvB,KAAKwB,kBAAmB,CAC1B,M,CAGF,MAAMC,EAAiBzB,KAAKc,SAASY,iBAAiBC,cACpD,0BAEF,GAAIF,EAAgB,CAClBzB,KAAKwB,kBAAoBC,EACzB,M,CAEFzB,KAAKwB,kBAAoBI,SAASC,cAAc,0BAChD7B,KAAKwB,kBAAkBM,aAAa,UAAW9B,KAAKC,SACpDD,KAAKc,SAASY,iBAAiBK,YAAY/B,KAAKwB,kB,CAG1C,kBAAAQ,GACN,GAAIhC,KAAKwB,mBAAqBxB,KAAKK,UAAU4B,MAAMC,QAAS,CAC1DlC,KAAKwB,kBAAkBU,QAAUlC,KAAKK,UAAU4B,MAAMC,QACtDlC,KAAKwB,kBAAkBP,OAASjB,KAAKiB,OACrCjB,KAAKwB,kBAAkBW,MAAQnC,KAAKoC,eAAeC,aACnDrC,KAAKwB,kBAAkBc,QAAUtC,KAAKoC,eAAeG,cACrDvC,KAAKwB,kBAAkBgB,mBAAqB,IAC1CxC,KAAKS,YAAYgC,QAEnBzC,KAAK0C,qBAAuB1C,KAAKoC,eAAeO,UAC5C3C,KAAKc,SAAS8B,KAAKC,EAAE,qBACrB7C,KAAKc,SAAS8B,KAAKC,EAAE,mBAAoB,CACvCC,MAAO9C,KAAKoC,eAAeG,cAC3BQ,KAAM/C,KAAKoC,eAAeC,aAC1BW,MAAOhD,KAAKiB,OAAO+B,O,EAKrB,OAAAC,CAAQC,GACdA,GAAOC,kBACPnD,KAAKK,UAAU+C,oB,CAGjB,mBAAAC,GACErD,KAAKuB,4BACLvB,KAAKgC,oB,CAGA,MAAAsB,GACL,GAAItD,KAAKoC,eAAemB,iBAAkB,CACxC,OACEC,EAACC,EAAM,CAAAC,IAAA,2CACLC,KAAK,SACLX,MAAOhD,KAAKc,SAAS8B,KAAKC,EAAE,aAC5Be,MAAM,kBACNC,MAAM,MACNZ,QAAUC,GAAUlD,KAAKiD,QAAQC,GACjCY,IAAK9D,KAAKS,YAAYsD,WAEtBP,EAAA,eAAAE,IAAA,2CACEC,KAAK,OACLE,MAAM,0BACNG,KAAMC,I,IA1HaC,EAAA,CAA5BC,K,+BACwBD,EAAA,CAAxBE,K,6BASMF,EAAA,CAFNG,EAAsB,c,qCAmBbH,EAAA,CADTI,EAAe,c","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{h as e}from"./p-dc3df5ce.js";import{F as r}from"./p-4b1dc787.js";const s=(s,t)=>{if(!s.label){return t}const a=s.i18n.t(s.label);const c=s.query===undefined?s.i18n.t("facet-values",{label:a}):s.i18n.t("facet-search-results",{query:s.query,label:a});return e(r,{label:c},t)};export{s as F};
|
2
|
-
//# sourceMappingURL=p-2a02812b.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FacetValuesGroup","props","children","label","facetDisplayLabel","i18n","t","groupLabel","query","undefined","h","FieldsetGroup"],"sources":["src/components/common/facets/facet-values-group/stencil-facet-values-group.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\n\nexport interface FacetValuesGroupProps {\n i18n: i18n;\n label?: string;\n query?: string;\n}\n\nexport const FacetValuesGroup: FunctionalComponent<FacetValuesGroupProps> = (\n props,\n children\n) => {\n if (!props.label) {\n return children;\n }\n const facetDisplayLabel = props.i18n.t(props.label);\n const groupLabel =\n props.query === undefined\n ? props.i18n.t('facet-values', {label: facetDisplayLabel})\n : props.i18n.t('facet-search-results', {\n query: props.query,\n label: facetDisplayLabel,\n });\n\n return <FieldsetGroup label={groupLabel}>{children}</FieldsetGroup>;\n};\n"],"mappings":"8EAUaA,EAA+D,CAC1EC,EACAC,KAEA,IAAKD,EAAME,MAAO,CAChB,OAAOD,C,CAET,MAAME,EAAoBH,EAAMI,KAAKC,EAAEL,EAAME,OAC7C,MAAMI,EACJN,EAAMO,QAAUC,UACZR,EAAMI,KAAKC,EAAE,eAAgB,CAACH,MAAOC,IACrCH,EAAMI,KAAKC,EAAE,uBAAwB,CACnCE,MAAOP,EAAMO,MACbL,MAAOC,IAGf,OAAOM,EAACC,EAAa,CAACR,MAAOI,GAAaL,EAAyB,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["Cancel","i18n","onClick","h","Button","style","part","text","t","class","getSummary","query","hasResults","i18nKey","labelFor","interpolation","escapeValue","atomicNoResultsCss","AtomicNoResultsStyle0","AtomicNoResults","this","enableCancelLastAction","initialize","searchStatus","buildSearchStatus","bindings","engine","history","buildHistoryManager","querySummary","buildQuerySummary","render","ariaMessage","querySummaryState","searchStatusState","NoItemsGuard","key","NoItemsContainer","MagnifyingGlass","NoItems","SearchTips","historyState","past","length","backOnNoResults","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"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}\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"],"mappings":"0hBAQO,MAAMA,EAA2C,EAAEC,OAAMC,aAE5DC,EAACC,EAAM,CACLC,MAAM,UACNC,KAAK,gBACLC,KAAMN,EAAKO,EAAE,sBACbN,QAAS,IAAMA,IACfO,MAAM,+BCbL,MAAMC,EAAa,CACxBT,EACAU,EACAC,EACAC,KAEA,GAAID,EAAY,CACd,MAAO,E,CAGT,MAAME,EAAW,GAAGD,QAEpB,OAAOF,EACHV,EAAKO,EAAEM,EAAU,CACfC,cAAe,CAACC,YAAa,OAC7BL,UAEFV,EAAKO,EAAEK,EAAQ,ECnBrB,MAAMI,EAAqB,+8iEAC3B,MAAAC,EAAeD,E,iXCyCFE,EAAe,M,yBAuBHC,KAAAC,uBAAyB,K,+IAAA,I,CAEzC,UAAAC,GACLF,KAAKG,aAAeC,EAAkBJ,KAAKK,SAASC,QACpDN,KAAKO,QAAUC,EAAoBR,KAAKK,SAASC,QACjDN,KAAKS,aAAeC,EAAkBV,KAAKK,SAASC,O,CAG/C,MAAAK,GACL,MACEN,UAAUxB,KAACA,IACTmB,KACJA,KAAKY,YAActB,EACjBT,EACAmB,KAAKa,kBAAkBtB,MACvBS,KAAKc,kBAAkBtB,WACvB,cAGF,OACET,EAACgC,EAAY,CAAAC,IAAA,8CAAKhB,KAAKc,mBACrB/B,EAACkC,EAAgB,CAAAD,IAAA,4CACfjC,EAACmC,EAAe,CAAAF,IAAA,6CAChBjC,EAACoC,EAAO,CAAAH,IAAA,2CACNzB,MAAOS,KAAKa,kBAAkBtB,MAC9BV,KAAMA,EACNY,QAAQ,eAEVV,EAACqC,EAAU,CAAAJ,IAAA,2CAACnC,KAAMA,IACjBmB,KAAKC,wBAA0BD,KAAKqB,aAAaC,KAAKC,OACrDxC,EAACH,EAAM,CACLC,KAAMA,EACNC,QAAS,IAAMkB,KAAKO,QAAQiB,oBAE5B,M,GAxDiBC,EAAA,CAA5BC,K,+BAOOD,EAAA,CAFPE,EAAsB,iB,wCAKfF,EAAA,CAFPE,EAAsB,Y,mCAKfF,EAAA,CAFPE,EAAsB,iB,wCAMbF,EAAA,CADTG,EAAe,e","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FieldValueIsNaNError","Error","constructor","field","value","super","this","name","Rating","props","width","numberOfActiveIcons","numberOfTotalIcons","toString","iconSize","renderIcon","active","h","icon","class","style","height","part","emptyIconDisplay","i","push","filledIconDisplay","role","i18n","t","count","max","computeNumberOfStars","valueAsNumber","parseFloat","Number","isNaN"],"sources":["src/components/commerce/product-template-component-utils/error.ts","src/components/common/atomic-rating/stencil-rating.tsx"],"sourcesContent":["export class FieldValueIsNaNError extends Error {\n constructor(field: string, value?: {}) {\n super(`Could not parse \"${value}\" from field \"${field}\" as a number.`);\n this.name = 'FieldValueIsNaNError';\n }\n}\n","import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldValueIsNaNError} from '../../commerce/product-template-component-utils/error';\n\ninterface RatingProps {\n i18n: i18n;\n numberOfTotalIcons: number;\n numberOfActiveIcons: number;\n icon: string;\n iconSize?: number;\n}\n/** \n * @deprecated Use `renderRating` instead. \n*/\nexport const Rating: FunctionalComponent<RatingProps> = (props) => {\n const width =\n ((props.numberOfActiveIcons / props.numberOfTotalIcons) * 100).toString() +\n '%';\n const iconSize = `${props.iconSize ?? 0.75}rem`;\n\n const renderIcon = (active: boolean) => {\n return (\n <atomic-icon\n icon={props.icon}\n class={`shrink-0 ${active ? 'icon-active' : 'icon-inactive'}`}\n style={{width: iconSize, height: iconSize}}\n part=\"value-rating-icon\"\n ></atomic-icon>\n );\n };\n\n const emptyIconDisplay = () => {\n const emptyIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n emptyIconDisplay.push(renderIcon(false));\n }\n return emptyIconDisplay;\n };\n\n const filledIconDisplay = () => {\n const filledIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n filledIconDisplay.push(renderIcon(true));\n }\n return filledIconDisplay;\n };\n\n return (\n <div\n class=\"relative w-max\"\n part=\"value-rating\"\n role=\"img\"\n aria-label={props.i18n.t('stars', {\n count: props.numberOfActiveIcons,\n max: props.numberOfTotalIcons,\n })}\n >\n <div class=\"z-0 flex gap-0.5\">{emptyIconDisplay()}</div>\n <div\n class=\"absolute top-0 left-0 z-1 flex gap-0.5 overflow-hidden\"\n style={{width}}\n >\n {filledIconDisplay()}\n </div>\n </div>\n );\n};\n\nexport const computeNumberOfStars = (\n value: unknown,\n field: string\n): number | null => {\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n throw new FieldValueIsNaNError(field, value);\n }\n return valueAsNumber;\n};\n"],"mappings":"65BAAaA,UAA6BC,MACxC,WAAAC,CAAYC,EAAeC,GACzBC,MAAM,oBAAoBD,kBAAsBD,mBAChDG,KAAKC,KAAO,sB,QCWHC,EAA4CC,IACvD,MAAMC,GACFD,EAAME,oBAAsBF,EAAMG,mBAAsB,KAAKC,WAC/D,IACF,MAAMC,EAAW,GAAGL,EAAMK,UAAY,SAEtC,MAAMC,EAAcC,GAEhBC,EAAA,eACEC,KAAMT,EAAMS,KACZC,MAAO,YAAYH,EAAS,cAAgB,kBAC5CI,MAAO,CAACV,MAAOI,EAAUO,OAAQP,GACjCQ,KAAK,sBAKX,MAAMC,EAAmB,KACvB,MAAMA,EAA4B,GAClC,IAAK,IAAIC,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDD,EAAiBE,KAAKV,EAAW,O,CAEnC,OAAOQ,CAAgB,EAGzB,MAAMG,EAAoB,KACxB,MAAMA,EAA6B,GACnC,IAAK,IAAIF,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDE,EAAkBD,KAAKV,EAAW,M,CAEpC,OAAOW,CAAiB,EAG1B,OACET,EAAA,OACEE,MAAM,iBACNG,KAAK,eACLK,KAAK,MAAK,aACElB,EAAMmB,KAAKC,EAAE,QAAS,CAChCC,MAAOrB,EAAME,oBACboB,IAAKtB,EAAMG,sBAGbK,EAAA,OAAKE,MAAM,oBAAoBI,KAC/BN,EAAA,OACEE,MAAM,yDACNC,MAAO,CAACV,UAEPgB,KAEC,E,MAIGM,EAAuB,CAClC5B,EACAD,KAEA,GAAIC,IAAU,KAAM,CAClB,OAAO,I,CAET,MAAM6B,EAAgBC,WAAW,GAAG9B,KACpC,GAAI+B,OAAOC,MAAMH,GAAgB,CAC/B,MAAM,IAAIjC,EAAqBG,EAAOC,E,CAExC,OAAO6B,CAAa,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["QueryErrorDetails","error","show","h","part","class","JSON","stringify","QueryErrorIcon","errorType","getIconFromErrorType","NoConnection","Indexing","CannotAccess","SearchInactive","SomethingWrong","icon","QueryErrorShowMore","i18n","onShowMore","link","Button","style","onClick","text","t","QueryErrorContainer","_","children","getErrorTitleFromErrorType","organizationId","org","getErrorDescriptionFromErrorType","url","getAriaMessageFromErrorType","platformUrl","QueryErrorDescription","QueryErrorGuard","hasError","Fragment","QueryErrorTitle","QueryErrorLink","getErrorLink","href"],"sources":["src/components/common/query-error/stencil-details.tsx","src/components/common/query-error/stencil-icon.tsx","src/components/common/query-error/stencil-show-more.tsx","src/components/common/query-error/stencil-container.tsx","src/components/common/query-error/utils.ts","src/components/common/query-error/stencil-description.tsx","src/components/common/query-error/stencil-guard.tsx","src/components/common/query-error/stencil-title.tsx","src/components/common/query-error/stencil-link.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\ninterface QueryErrorDetailsProps {\n error: unknown;\n show: boolean;\n}\nexport const QueryErrorDetails: FunctionalComponent<QueryErrorDetailsProps> = ({\n error,\n show,\n}) => {\n if (!show) {\n return;\n }\n return (\n <pre\n part=\"error-info\"\n class=\"border-neutral bg-neutral-light mt-8 rounded border p-3 text-left whitespace-pre-wrap\"\n >\n <code>{JSON.stringify(error, null, 2)}</code>\n </pre>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CannotAccess from '../../../images/cannot-access.svg';\nimport Indexing from '../../../images/indexing.svg';\nimport NoConnection from '../../../images/no-connection.svg';\nimport SearchInactive from '../../../images/search-inactive.svg';\nimport SomethingWrong from '../../../images/something-wrong.svg';\nimport {KnownErrorType} from './known-error-types';\n\ninterface QueryErrorIconProps {\n errorType?: string;\n}\n\nexport const QueryErrorIcon: FunctionalComponent<QueryErrorIconProps> = ({\n errorType,\n}) => {\n const getIconFromErrorType = () => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return NoConnection;\n\n case 'NoEndpointsException':\n return Indexing;\n\n case 'InvalidTokenException':\n return CannotAccess;\n case 'OrganizationIsPausedException':\n return SearchInactive;\n default:\n return SomethingWrong;\n }\n };\n\n return (\n <atomic-icon\n part=\"icon\"\n icon={getIconFromErrorType()}\n class=\"w-1/2 max-w-lg\"\n ></atomic-icon>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\nimport {QueryErrorLink} from './stencil-link';\n\ninterface QueryErrorShowMoreProps {\n onShowMore: () => void;\n i18n: i18n;\n link?: typeof QueryErrorLink;\n}\n\nexport const QueryErrorShowMore: FunctionalComponent<\n QueryErrorShowMoreProps\n> = ({i18n, onShowMore, link}) => {\n if (link) {\n return link;\n }\n return (\n <Button\n part=\"more-info-btn\"\n style=\"primary\"\n class=\"mt-8 p-3\"\n onClick={() => {\n onShowMore();\n }}\n text={i18n.t('more-info')}\n ></Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const QueryErrorContainer: FunctionalComponent = (_, children) => {\n return <div class=\"p-8 text-center\">{children}</div>;\n};\n","import type {i18n} from 'i18next';\nimport type {KnownErrorType} from './known-error-types';\n\nexport const getErrorTitleFromErrorType = (\n i18n: i18n,\n organizationId: string,\n errorType?: string\n) => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return i18n.t('disconnected');\n case 'NoEndpointsException':\n return i18n.t('no-endpoints', {org: organizationId});\n case 'InvalidTokenException':\n return i18n.t('cannot-access', {org: organizationId});\n case 'OrganizationIsPausedException':\n return i18n.t('organization-is-paused', {org: organizationId});\n default:\n return i18n.t('something-went-wrong');\n }\n};\n\nexport const getErrorDescriptionFromErrorType = (\n i18n: i18n,\n organizationId: string,\n url: string,\n errorType?: string\n) => {\n switch (errorType as KnownErrorType) {\n case 'Disconnected':\n return i18n.t('check-your-connection', {url});\n case 'NoEndpointsException':\n return i18n.t('add-sources');\n case 'InvalidTokenException':\n return i18n.t('invalid-token');\n case 'OrganizationIsPausedException':\n return i18n.t('organization-will-resume', {\n org: organizationId,\n });\n default:\n return i18n.t('if-problem-persists');\n }\n};\n\nexport const getAriaMessageFromErrorType = (\n i18n: i18n,\n organizationId: string,\n platformUrl: string,\n errorType?: string\n) => {\n return `${getErrorTitleFromErrorType(i18n, organizationId, errorType)} ${getErrorDescriptionFromErrorType(i18n, organizationId, platformUrl, errorType)}`;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getErrorDescriptionFromErrorType} from './utils';\n\ninterface QueryErrorDescriptionProps {\n errorType?: string;\n i18n: i18n;\n url: string;\n organizationId: string;\n}\n\nexport const QueryErrorDescription: FunctionalComponent<\n QueryErrorDescriptionProps\n> = ({errorType, i18n, url, organizationId}) => {\n return (\n <p part=\"description\" class=\"text-neutral-dark mt-2.5 text-lg\">\n {getErrorDescriptionFromErrorType(i18n, organizationId, url, errorType)}\n </p>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\n\ninterface QueryErrorGuardProps {\n hasError: boolean;\n}\n\n// Replace with the when directive\nexport const QueryErrorGuard: FunctionalComponent<QueryErrorGuardProps> = (\n {hasError},\n children\n) => {\n if (!hasError) {\n return;\n }\n\n return <Fragment>{children}</Fragment>;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {getErrorTitleFromErrorType} from './utils';\n\ninterface QueryErrorTitleProps {\n errorType?: string;\n i18n: i18n;\n organizationId: string;\n}\n\nexport const QueryErrorTitle: FunctionalComponent<QueryErrorTitleProps> = ({\n errorType,\n i18n,\n organizationId,\n}) => {\n return (\n <p part=\"title\" class=\"text-on-background mt-8 text-2xl\">\n {getErrorTitleFromErrorType(i18n, organizationId, errorType)}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {KnownErrorType} from './known-error-types';\n\ninterface QueryErrorLinkProps {\n errorType?: string;\n i18n: i18n;\n}\n\nexport const QueryErrorLink: FunctionalComponent<QueryErrorLinkProps> = ({\n errorType,\n i18n,\n}) => {\n const getErrorLink = () => {\n switch (errorType as KnownErrorType) {\n case 'NoEndpointsException':\n return 'https://docs.coveo.com/en/mcc80216';\n case 'InvalidTokenException':\n return 'https://docs.coveo.com/en/102';\n case 'OrganizationIsPausedException':\n return 'https://docs.coveo.com/l6af0467';\n default:\n return null;\n }\n };\n\n const link = getErrorLink();\n\n return link ? (\n <a href={link} part=\"doc-link\" class=\"btn-primary mt-10 inline-block p-3\">\n {i18n.t('coveo-online-help')}\n </a>\n ) : null;\n};\n"],"mappings":"qFAMaA,EAAiE,EAC5EC,QACAC,WAEA,IAAKA,EAAM,CACT,M,CAEF,OACEC,EAAA,OACEC,KAAK,aACLC,MAAM,yFAENF,EAAA,YAAOG,KAAKC,UAAUN,EAAO,KAAM,IAC/B,E,kgjFCPGO,EAA2D,EACtEC,gBAEA,MAAMC,EAAuB,KAC3B,OAAQD,GACN,IAAK,eACH,OAAOE,EAET,IAAK,uBACH,OAAOC,EAET,IAAK,wBACH,OAAOC,EACT,IAAK,gCACH,OAAOC,EACT,QACE,OAAOC,E,EAIb,OACEZ,EAAA,eACEC,KAAK,OACLY,KAAMN,IACNL,MAAM,kBACO,E,MC1BNY,EAET,EAAEC,OAAMC,aAAYC,WACtB,GAAIA,EAAM,CACR,OAAOA,C,CAET,OACEjB,EAACkB,EAAM,CACLjB,KAAK,gBACLkB,MAAM,UACNjB,MAAM,WACNkB,QAAS,KACPJ,GAAY,EAEdK,KAAMN,EAAKO,EAAE,cACL,E,MCxBDC,EAA2C,CAACC,EAAGC,IACnDzB,EAAA,OAAKE,MAAM,mBAAmBuB,GCAhC,MAAMC,EAA6B,CACxCX,EACAY,EACArB,KAEA,OAAQA,GACN,IAAK,eACH,OAAOS,EAAKO,EAAE,gBAChB,IAAK,uBACH,OAAOP,EAAKO,EAAE,eAAgB,CAACM,IAAKD,IACtC,IAAK,wBACH,OAAOZ,EAAKO,EAAE,gBAAiB,CAACM,IAAKD,IACvC,IAAK,gCACH,OAAOZ,EAAKO,EAAE,yBAA0B,CAACM,IAAKD,IAChD,QACE,OAAOZ,EAAKO,EAAE,wB,EAIb,MAAMO,EAAmC,CAC9Cd,EACAY,EACAG,EACAxB,KAEA,OAAQA,GACN,IAAK,eACH,OAAOS,EAAKO,EAAE,wBAAyB,CAACQ,QAC1C,IAAK,uBACH,OAAOf,EAAKO,EAAE,eAChB,IAAK,wBACH,OAAOP,EAAKO,EAAE,iBAChB,IAAK,gCACH,OAAOP,EAAKO,EAAE,2BAA4B,CACxCM,IAAKD,IAET,QACE,OAAOZ,EAAKO,EAAE,uB,QAIPS,EAA8B,CACzChB,EACAY,EACAK,EACA1B,IAEO,GAAGoB,EAA2BX,EAAMY,EAAgBrB,MAAcuB,EAAiCd,EAAMY,EAAgBK,EAAa1B,K,MCvClI2B,EAET,EAAE3B,YAAWS,OAAMe,MAAKH,oBAExB3B,EAAA,KAAGC,KAAK,cAAcC,MAAM,oCACzB2B,EAAiCd,EAAMY,EAAgBG,EAAKxB,I,MCTtD4B,EAA6D,EACvEC,YACDV,KAEA,IAAKU,EAAU,CACb,M,CAGF,OAAOnC,EAACoC,EAAQ,KAAEX,EAAoB,E,MCL3BY,EAA6D,EACxE/B,YACAS,OACAY,oBAGE3B,EAAA,KAAGC,KAAK,QAAQC,MAAM,oCACnBwB,EAA2BX,EAAMY,EAAgBrB,I,MCR3CgC,EAA2D,EACtEhC,YACAS,WAEA,MAAMwB,EAAe,KACnB,OAAQjC,GACN,IAAK,uBACH,MAAO,qCACT,IAAK,wBACH,MAAO,gCACT,IAAK,gCACH,MAAO,kCACT,QACE,OAAO,K,EAIb,MAAMW,EAAOsB,IAEb,OAAOtB,EACLjB,EAAA,KAAGwC,KAAMvB,EAAMhB,KAAK,WAAWC,MAAM,sCAClCa,EAAKO,EAAE,sBAER,IAAI,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["Carousel","props","children","commonPaginationClasses","commonArrowClasses","renderPreviousButton","h","Button","style","ariaLabel","bindings","i18n","t","onClick","previousPage","part","class","icon","ArrowRight","renderNextButton","nextPage","renderIndicators","Array","from","length","numberOfPages","_","index","isActive","currentPage","Fragment"],"sources":["src/components/common/stencil-carousel.tsx"],"sourcesContent":["import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {JSXBase} from '@stencil/core/internal';\nimport ArrowRight from '../../images/arrow-right.svg';\nimport {AnyBindings} from './interface/bindings.js';\nimport {Button} from './stencil-button.js';\n\nexport interface CarouselProps {\n bindings: AnyBindings;\n previousPage(): void;\n nextPage(): void;\n numberOfPages: number;\n currentPage: number;\n}\n\nexport const Carousel: FunctionalComponent<\n CarouselProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\n> = (props, children) => {\n const commonPaginationClasses =\n 'w-10 h-10 grid justify-center items-center absolute top-1/2 -translate-y-1/2 z-1 shadow-lg group';\n const commonArrowClasses =\n 'w-3.5 align-middle text-on-background group-hover:text-primary group-focus:text-primary-light';\n\n function renderPreviousButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('previous')}\n onClick={() => props.previousPage()}\n part=\"previous-button\"\n class={`${commonPaginationClasses} -translate-x-1/2`}\n >\n <atomic-icon\n icon={ArrowRight}\n class={`${commonArrowClasses} rotate-180`}\n ></atomic-icon>\n </Button>\n );\n }\n\n function renderNextButton() {\n return (\n <Button\n style=\"outline-primary\"\n ariaLabel={props.bindings.i18n.t('next')}\n onClick={() => props.nextPage()}\n part=\"next-button\"\n class={`${commonPaginationClasses} right-0 translate-x-1/2`}\n >\n <atomic-icon icon={ArrowRight} class={commonArrowClasses}></atomic-icon>\n </Button>\n );\n }\n\n function renderIndicators() {\n return (\n <ul part=\"indicators\" class=\"mt-6 flex justify-center gap-2\">\n {Array.from({length: props.numberOfPages}, (_, index) => {\n const isActive = index === props.currentPage % props.numberOfPages;\n return (\n <li\n part={`indicator ${isActive ? 'active-indicator' : ''}`}\n class={`h-1 w-12 rounded-md ${\n isActive ? 'bg-primary' : 'bg-neutral'\n } `}\n ></li>\n );\n })}\n </ul>\n );\n }\n\n return (\n <Fragment>\n <div class=\"relative\">\n {renderPreviousButton()}\n {children}\n {renderNextButton()}\n </div>\n {renderIndicators()}\n </Fragment>\n );\n};\n"],"mappings":"yHAcaA,EAET,CAACC,EAAOC,KACV,MAAMC,EACJ,mGACF,MAAMC,EACJ,gGAEF,SAASC,IACP,OACEC,EAACC,EAAM,CACLC,MAAM,kBACNC,UAAWR,EAAMS,SAASC,KAAKC,EAAE,YACjCC,QAAS,IAAMZ,EAAMa,eACrBC,KAAK,kBACLC,MAAO,GAAGb,sBAEVG,EAAA,eACEW,KAAMC,EACNF,MAAO,GAAGZ,iB,CAMlB,SAASe,IACP,OACEb,EAACC,EAAM,CACLC,MAAM,kBACNC,UAAWR,EAAMS,SAASC,KAAKC,EAAE,QACjCC,QAAS,IAAMZ,EAAMmB,WACrBL,KAAK,cACLC,MAAO,GAAGb,6BAEVG,EAAA,eAAaW,KAAMC,EAAYF,MAAOZ,I,CAK5C,SAASiB,IACP,OACEf,EAAA,MAAIS,KAAK,aAAaC,MAAM,kCACzBM,MAAMC,KAAK,CAACC,OAAQvB,EAAMwB,gBAAgB,CAACC,EAAGC,KAC7C,MAAMC,EAAWD,IAAU1B,EAAM4B,YAAc5B,EAAMwB,cACrD,OACEnB,EAAA,MACES,KAAM,aAAaa,EAAW,mBAAqB,KACnDZ,MAAO,uBACLY,EAAW,aAAe,iBAExB,I,CAOhB,OACEtB,EAACwB,EAAQ,KACPxB,EAAA,OAAKU,MAAM,YACRX,IACAH,EACAiB,KAEFE,IACQ,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["atomicResultBadgeCss","AtomicResultBadgeStyle0","AtomicResultBadge","renderIcon","h","part","icon","this","class","getTextContent","field","undefined","label","value","renderText","renderBadge","componentWillRender","hasValue","ResultTemplatesHelpers","getResultProperty","result","host","remove","render","__decorate","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.pcss?tag=atomic-result-badge&encapsulation=shadow","src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n:host {\n display: inline-flex;\n place-items: center;\n height: var(--row-height, auto);\n word-break: break-word;\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h} from '@stencil/core';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-badge` element renders a badge to highlight special features of a result.\n *\n * A badge can either display:\n * * Text:\n * ```html\n * <atomic-result-badge label=\"trending\"></atomic-result-badge>\n * ```\n * * The contents of a single-value field:\n * ```html\n * <atomic-result-badge field=\"objecttype\"></atomic-result-badge>\n * ```\n * * An icon:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/star.svg\"></atomic-result-badge>\n * ```\n * * Slotted elements:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/stopwatch.svg\">\n * Deal ends in <my-dynamic-countdown></my-dynamic-countdown>\n * </atomic-result-badge>\n * ```\n *\n * The contents of a multi-value field can be displayed as in the following example:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/language.svg\">\n * <atomic-result-multi-value-text field=\"language\"></atomic-result-multi-value-text>\n * </atomic-result-badge>\n * ```\n *\n * @part result-badge-element - The decorative outer-most element with the background color and text color.\n * @part result-badge-icon - The icon displayed at the left-end of the badge, if present.\n * @part result-badge-label - The wrapper around the contents at the right-end of the badge. This may be text, a field or slotted elements depending on which was configured.\n * @slot default - The element(s) to display inside the badge, instead of a field or label.\n */\n@Component({\n tag: 'atomic-result-badge',\n styleUrl: 'atomic-result-badge.pcss',\n shadow: true,\n})\nexport class AtomicResultBadge {\n @ResultContext() private result!: Result;\n @Element() host!: HTMLElement;\n /**\n * The field to display in the badge.\n *\n * Not compatible with `label`, slotted elements nor multi-value fields.\n */\n @Prop({reflect: true}) public field?: string;\n\n /**\n * The text to display in the badge.\n *\n * Not compatible with `field` nor slotted elements.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * Specifies an icon to display at the left-end of the badge.\n * This can be used in conjunction with `field`, `label` or slotted elements.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly\n */\n @Prop({reflect: true}) public icon?: string;\n\n private renderIcon() {\n return (\n <atomic-icon\n part=\"result-badge-icon\"\n icon={this.icon!}\n class=\"h-3 w-3 fill-current\"\n ></atomic-icon>\n );\n }\n\n private getTextContent() {\n if (this.field !== undefined) {\n return <atomic-result-text field={this.field}></atomic-result-text>;\n }\n if (this.label !== undefined) {\n return <atomic-text value={this.label}></atomic-text>;\n }\n return <slot></slot>;\n }\n\n private renderText() {\n return <span part=\"result-badge-label\">{this.getTextContent()}</span>;\n }\n\n private renderBadge() {\n return (\n <div\n part=\"result-badge-element\"\n class=\"bg-neutral-light text-neutral-dark inline-flex h-full place-items-center space-x-1.5 rounded-full px-3\"\n >\n {this.icon && this.renderIcon()}\n {this.renderText()}\n </div>\n );\n }\n\n componentWillRender() {\n if (this.field) {\n const hasValue =\n ResultTemplatesHelpers.getResultProperty(this.result, this.field) !==\n null;\n if (!hasValue) {\n this.host.remove();\n }\n }\n }\n\n render() {\n return this.renderBadge();\n }\n}\n"],"mappings":"uNAAA,MAAMA,EAAuB,2kjEAC7B,MAAAC,EAAeD,E,iXC2CFE,EAAiB,M,uFA2BpB,UAAAC,GACN,OACEC,EAAA,eACEC,KAAK,oBACLC,KAAMC,KAAKD,KACXE,MAAM,wB,CAKJ,cAAAC,GACN,GAAIF,KAAKG,QAAUC,UAAW,CAC5B,OAAOP,EAAA,sBAAoBM,MAAOH,KAAKG,O,CAEzC,GAAIH,KAAKK,QAAUD,UAAW,CAC5B,OAAOP,EAAA,eAAaS,MAAON,KAAKK,O,CAElC,OAAOR,EAAA,Y,CAGD,UAAAU,GACN,OAAOV,EAAA,QAAMC,KAAK,sBAAsBE,KAAKE,iB,CAGvC,WAAAM,GACN,OACEX,EAAA,OACEC,KAAK,uBACLG,MAAM,0GAELD,KAAKD,MAAQC,KAAKJ,aAClBI,KAAKO,a,CAKZ,mBAAAE,GACE,GAAIT,KAAKG,MAAO,CACd,MAAMO,EACJC,EAAuBC,kBAAkBZ,KAAKa,OAAQb,KAAKG,SAC3D,KACF,IAAKO,EAAU,CACbV,KAAKc,KAAKC,Q,GAKhB,MAAAC,GACE,OAAOhB,KAAKQ,a,6BA1EWS,EAAA,CAAxBC,K","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FacetSegmentedValue","props","compactCount","Intl","NumberFormat","i18n","language","notation","format","numberOfResults","count","toLocaleString","ariaLabel","t","value","displayValue","formattedCount","h","key","Button","style","part","isSelected","onClick","class","ariaPressed","toString","title","text","atomicSegmentedFacetCss","AtomicSegmentedFacetStyle0","AtomicSegmentedFacet","this","tabsIncluded","tabsExcluded","filterFacetCount","injectionDepth","numberOfValues","sortCriteria","dependsOn","allowedValues","customSort","initialize","length","console","warn","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","facet","buildFacet","options","facetOptions","facetId","state","dependenciesManager","buildFacetConditionsManager","conditions","parseDependsOn","disconnectedCallback","stopWatching","renderValuesContainer","children","classes","FacetValuesGroup","label","renderValue","facetValue","getFieldValueCaption","field","searchQuery","facetState","facetSearch","query","renderValues","values","map","toggleSingleSelect","renderLabel","hasBreadcrumbs","undefined","tabs","included","excluded","render","hasError","enabled","Hidden","firstSearchExecuted","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/facet-segmented-value/facet-segmented-value.tsx","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.pcss?tag=atomic-segmented-facet&encapsulation=shadow","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueProps} from '../../../common/facets/stencil-facet-common';\nimport {Button} from '../../../common/stencil-button';\n\nexport const FacetSegmentedValue: FunctionalComponent<FacetValueProps> = (\n props\n) => {\n const compactCount = new Intl.NumberFormat(props.i18n.language, {\n notation: 'compact',\n }).format(props.numberOfResults);\n\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n });\n\n return (\n <li key={props.displayValue}>\n <Button\n style=\"square-neutral\"\n part={`value-box${props.isSelected ? ' value-box-selected' : ''}`}\n onClick={() => props.onClick()}\n class={`value-box group box-border flex h-full items-center p-2 ${\n props.isSelected\n ? 'selected border-primary shadow-inner-primary'\n : 'hover:border-primary-light focus-visible:border-primary-light'\n }`}\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n >\n <span\n title={props.displayValue}\n part=\"value-label\"\n class={`value-label truncate ${\n props.isSelected\n ? 'text-primary'\n : 'group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.displayValue}\n </span>\n <span\n title={count}\n part=\"value-count\"\n class={`value-box-count mt-0 w-auto truncate pl-1 text-sm ${\n props.isSelected\n ? 'text-primary'\n : 'text-neutral-dark group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.i18n.t('between-parentheses', {\n text: compactCount,\n })}\n </span>\n </Button>\n </li>\n );\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../facet-segmented-value/facet-segmented-value.pcss';\n","import {\n buildFacet,\n buildFacetConditionsManager,\n buildSearchStatus,\n CategoryFacetValueRequest,\n Facet,\n FacetConditionsManager,\n FacetOptions,\n FacetSortCriterion,\n FacetState,\n FacetValue,\n FacetValueRequest,\n SearchStatus,\n SearchStatusState,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, Prop, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {FacetSegmentedValue} from '../facet-segmented-value/facet-segmented-value';\n\n/**\n * The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.\n * @part segmented-container - The container that holds the segmented facets.\n * @part label - The facet value label.\n * @part values - The facet values container.\n * @part value-box - The facet value.\n * @part value-box-selected - The selected facet value.\n * @part placeholder - The placeholder displayed when the facet is loading.\n */\n@Component({\n tag: 'atomic-segmented-facet',\n styleUrl: 'atomic-segmented-facet.pcss',\n shadow: true,\n})\nexport class AtomicSegmentedFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @BindStateToController('facet')\n @State()\n public facetState!: FacetState;\n public facet!: Facet;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label?: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop() public injectionDepth = 1000;\n /**\n * The number of values to request for this facet.\n * Also determines the number of additional values to request each time more values are shown.\n */\n @Prop({reflect: true}) public numberOfValues = 6;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: FacetSortCriterion = 'automatic';\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-segmented-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-segmented-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-segmented-facet\n * depends-on-abc\n * ...\n * ></atomic-segmented-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-segmented-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request. This list is in the form of a JSON string.\n *\n * If you specify a list of values for this option, the facet only uses these values (if they are available in\n * the current result set).\n *\n * Example:\n *\n * The following facet only uses the `Contact`, `Account`, and `File` values of the `objecttype` field. Even if the\n * current result set contains other `objecttype` values, such as `Message` or `Product`, the facet does not use\n * them.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-segmented-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * The default value is `undefined`, and the facet uses all available values for its `field` in the current result set.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public allowedValues: string[] | string = '[]';\n\n /**\n * Identifies the facet values that must appear at the top, in this order.\n * This parameter can be used in conjunction with the `sortCriteria` parameter.\n *\n * Facet values not part of the `customSort` list will be sorted according to the `sortCriteria`.\n *\n * Example:\n *\n * The following facet will sort the `Contact`, `Account`, and `File` values at the top of the list for the `objecttype` field.\n *\n * If there are more than these 3 values available, the rest of the list will be sorted using `occurrences`.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-segmented-facet>\n * ```\n * The maximum amount of custom sort values is 25.\n *\n * The default value is `undefined`, and the facet values will be sorted using only the `sortCriteria`.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public customSort: string[] | string = '[]';\n\n private dependenciesManager!: FacetConditionsManager;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n\n this.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.facetId = this.facet.state.facetId;\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n disconnectedCallback() {\n this.dependenciesManager.stopWatching();\n }\n\n private renderValuesContainer(children: VNode[]) {\n const classes = 'box-container flex h-10';\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValue(facetValue: FacetValue, onClick: () => void) {\n const displayValue = getFieldValueCaption(\n this.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state !== 'idle';\n\n return (\n <FacetSegmentedValue\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetSegmentedValue>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n return (\n <b class=\"mr-2\" part=\"label\">\n {this.label}:\n </b>\n );\n }\n\n private get facetOptions(): FacetOptions {\n return {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n hasBreadcrumbs: false,\n allowedValues: this.allowedValues.length\n ? [...this.allowedValues]\n : undefined,\n customSort: this.customSort.length ? [...this.customSort] : undefined,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n }\n\n public render() {\n if (this.searchStatus.state.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n return (\n <div\n part=\"placeholder\"\n aria-hidden\n class=\"bg-neutral h-8 w-48 animate-pulse rounded\"\n ></div>\n );\n }\n\n if (!this.facetState.values.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <div\n part=\"segmented-container\"\n class=\"mr-2 flex h-10 items-center whitespace-nowrap\"\n >\n {this.renderLabel()}\n {this.renderValues()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FieldsetGroup","label","children","h","class"],"sources":["src/components/common/stencil-fieldset-group.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\n\nexport interface GroupProps {\n label: string;\n}\n\nexport const FieldsetGroup: FunctionalComponent<GroupProps> = (\n {label},\n children\n) => (\n <fieldset class=\"contents\">\n <legend class=\"sr-only\">{label}</legend>\n {children}\n </fieldset>\n);\n"],"mappings":"0CAMaA,EAAiD,EAC3DC,SACDC,IAEAC,EAAA,YAAUC,MAAM,YACdD,EAAA,UAAQC,MAAM,WAAWH,GACxBC,U","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{c as o}from"./p-c9074946.js";import{b as t}from"./p-1580513b.js";const e=(t,e,a=s)=>{const n=o(e,s.join(", "));if(!n){throw new Error(`The "${e.nodeName.toLowerCase()}" component was not handled, as it is not a child of the following elements: ${a.join(", ")}`)}void i(n,e,t)};const s=["atomic-search-box","atomic-insight-search-box","atomic-commerce-search-box"];const a=o=>"updateComplete"in o&&o.updateComplete instanceof Promise;const i=async(o,e,s)=>{await customElements.whenDefined(o.nodeName.toLowerCase());if(a(o)){await o.updateComplete}else if("componentOnReady"in o){await o.componentOnReady()}e.dispatchEvent(t("atomic/searchBoxSuggestion/register",s))};export{e as d};
|
2
|
-
//# sourceMappingURL=p-4b7a19db.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["dispatchSearchBoxSuggestionsEvent","event","element","allowedSearchBoxElements","searchBoxElements","interfaceElement","closest","join","Error","nodeName","toLowerCase","dispatchSearchBoxSuggestionsEventEventually","isLitElementLoosely","candidate","updateComplete","Promise","async","customElements","whenDefined","componentOnReady","dispatchEvent","buildCustomEvent"],"sources":["src/components/common/suggestions/suggestions-events.ts"],"sourcesContent":["import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n"],"mappings":"8EAgBaA,EAAoC,CAI/CC,EACAC,EACAC,EAA0EC,KAE1E,MAAMC,EAAmBC,EAAQJ,EAASE,EAAkBG,KAAK,OACjE,IAAKF,EAAkB,CACrB,MAAM,IAAIG,MACR,QAAQN,EAAQO,SAASC,6FAA6FP,EAAyBI,KAC7I,Q,MAIDI,EACHN,EACAH,EACAD,EACD,EAGH,MAAMG,EAAoB,CACxB,oBACA,4BACA,8BAGF,MAAMQ,EAAuBC,GAC3B,mBAAqBA,GACpBA,EAAyBC,0BAA0BC,QAEtD,MAAMJ,EAA8CK,MAIlDX,EACAH,EACAD,WAEMgB,eAAeC,YAAYb,EAAiBI,SAASC,eAC3D,GAAIE,EAAoBP,GAAmB,OACnCA,EAAiBS,c,MAClB,GAAI,qBAAsBT,EAAkB,OAC1CA,EAAwCc,kB,CAEjDjB,EAAQkB,cACNC,EAAiB,sCAAuCpB,GACzD,S","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["FacetSearchInput","props","label","i18n","t","search","facetSearch","clear","inputRef","h","class","part","type","placeholder","value","query","onInput","e","onChange","target","ref","icon","SearchIcon","Button","style","title","onClick","onClear","focus","CloseIcon","matchesFound","key","escape","interpolation","escapeValue","clickableMoreMatchesFound","FacetSearchMatches","numberOfMatches","innerHTML","hasMoreMatches","showMoreMatches"],"sources":["src/components/common/facets/facet-search/stencil-facet-search-input.tsx","src/components/common/facets/facet-search/stencil-facet-search-matches.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../../images/close.svg';\nimport SearchIcon from '../../../../images/search.svg';\nimport {Button} from '../../stencil-button';\n\ninterface FacetSearchInputProps {\n label: string;\n query: string;\n i18n: i18n;\n onClear(): void;\n onChange(value: string): void;\n}\n\nexport const FacetSearchInput: FunctionalComponent<FacetSearchInputProps> = (\n props\n) => {\n const label = props.i18n.t(props.label);\n const search = props.i18n.t('facet-search-input');\n const facetSearch = props.i18n.t('facet-search', {label});\n const clear = props.i18n.t('clear');\n let inputRef: HTMLInputElement | undefined;\n\n return (\n <div class=\"mt-3 px-2\" part=\"search-wrapper\">\n <div class=\"relative h-10\">\n <input\n part=\"search-input\"\n class=\"input-primary placeholder-neutral-dark group h-full w-full px-9 text-sm\"\n type=\"text\"\n placeholder={search}\n aria-label={facetSearch}\n value={props.query}\n onInput={(e) => props.onChange((e.target as HTMLInputElement).value)}\n ref={(ref) => (inputRef = ref)}\n />\n <div class=\"search-icon text-on-background pointer-events-none absolute left-0 inline-flex h-full w-9 items-center justify-center\">\n <atomic-icon part=\"search-icon\" icon={SearchIcon}></atomic-icon>\n </div>\n {props.query !== '' && (\n <Button\n style=\"text-transparent\"\n title={clear}\n class=\"search-clear-button absolute top-px right-px bottom-px inline-flex w-9 items-center justify-center\"\n onClick={() => {\n props.onClear();\n inputRef!.focus();\n }}\n >\n <atomic-icon\n part=\"search-clear-button\"\n icon={CloseIcon}\n ></atomic-icon>\n </Button>\n )}\n </div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport escape from 'escape-html';\nimport {i18n} from 'i18next';\nimport {Button} from '../../stencil-button';\n\ninterface FacetSearchMatchesProps {\n i18n: i18n;\n query: string;\n numberOfMatches: number;\n hasMoreMatches: boolean;\n showMoreMatches?: () => void;\n}\n\n//TODO: change to noMatchesFound & remove the key in https://coveord.atlassian.net/browse/KIT-3368\nfunction matchesFound(\n key: 'more-matches-for' | 'no-matches-found-for',\n query: string,\n i18n: i18n\n) {\n return i18n.t(key, {\n query: `<span class=\"font-bold italic text-on-background\" part=\"matches-query\">${escape(\n query\n )}</span>`,\n interpolation: {escapeValue: false},\n });\n}\n\nfunction clickableMoreMatchesFound(query: string, i18n: i18n) {\n return i18n.t('more-matches-for', {\n query: `<span class=\"font-bold italic\" part=\"matches-query\">${escape(\n query\n )}</span>`,\n interpolation: {escapeValue: false},\n });\n}\n\nexport const FacetSearchMatches: FunctionalComponent<\n FacetSearchMatchesProps\n> = (props) => {\n if (!props.numberOfMatches) {\n return (\n <div class=\"px-2\">\n <div\n part=\"no-matches\"\n class=\"bg-neutral-light text-neutral-dark truncate rounded p-3 text-sm\"\n innerHTML={matchesFound(\n 'no-matches-found-for',\n props.query,\n props.i18n\n )}\n ></div>\n </div>\n );\n }\n\n if (props.hasMoreMatches) {\n if (props.showMoreMatches) {\n return (\n <div class=\"px-2\">\n <Button\n style=\"text-primary\"\n class=\"mt-3 p-2\"\n onClick={props.showMoreMatches}\n >\n <div\n part=\"more-matches\"\n class=\"truncate text-sm\"\n innerHTML={clickableMoreMatchesFound(props.query, props.i18n)}\n ></div>\n </Button>\n </div>\n );\n }\n return (\n <div class=\"px-2\">\n <div\n part=\"more-matches\"\n class=\"text-neutral-dark mt-3 truncate text-sm\"\n innerHTML={matchesFound('more-matches-for', props.query, props.i18n)}\n ></div>\n </div>\n );\n }\n};\n"],"mappings":"0LAcaA,EACXC,IAEA,MAAMC,EAAQD,EAAME,KAAKC,EAAEH,EAAMC,OACjC,MAAMG,EAASJ,EAAME,KAAKC,EAAE,sBAC5B,MAAME,EAAcL,EAAME,KAAKC,EAAE,eAAgB,CAACF,UAClD,MAAMK,EAAQN,EAAME,KAAKC,EAAE,SAC3B,IAAII,EAEJ,OACEC,EAAA,OAAKC,MAAM,YAAYC,KAAK,kBAC1BF,EAAA,OAAKC,MAAM,iBACTD,EAAA,SACEE,KAAK,eACLD,MAAM,0EACNE,KAAK,OACLC,YAAaR,EAAM,aACPC,EACZQ,MAAOb,EAAMc,MACbC,QAAUC,GAAMhB,EAAMiB,SAAUD,EAAEE,OAA4BL,OAC9DM,IAAMA,GAASZ,EAAWY,IAE5BX,EAAA,OAAKC,MAAM,yHACTD,EAAA,eAAaE,KAAK,cAAcU,KAAMC,KAEvCrB,EAAMc,QAAU,IACfN,EAACc,EAAM,CACLC,MAAM,mBACNC,MAAOlB,EACPG,MAAM,qGACNgB,QAAS,KACPzB,EAAM0B,UACNnB,EAAUoB,OAAO,GAGnBnB,EAAA,eACEE,KAAK,sBACLU,KAAMQ,MAKV,EC1CV,SAASC,EACPC,EACAhB,EACAZ,GAEA,OAAOA,EAAKC,EAAE2B,EAAK,CACjBhB,MAAO,0EAA0EiB,EAC/EjB,YAEFkB,cAAe,CAACC,YAAa,QAEjC,CAEA,SAASC,EAA0BpB,EAAeZ,GAChD,OAAOA,EAAKC,EAAE,mBAAoB,CAChCW,MAAO,uDAAuDiB,EAC5DjB,YAEFkB,cAAe,CAACC,YAAa,QAEjC,C,MAEaE,EAERnC,IACH,IAAKA,EAAMoC,gBAAiB,CAC1B,OACE5B,EAAA,OAAKC,MAAM,QACTD,EAAA,OACEE,KAAK,aACLD,MAAM,kEACN4B,UAAWR,EACT,uBACA7B,EAAMc,MACNd,EAAME,Q,CAOhB,GAAIF,EAAMsC,eAAgB,CACxB,GAAItC,EAAMuC,gBAAiB,CACzB,OACE/B,EAAA,OAAKC,MAAM,QACTD,EAACc,EAAM,CACLC,MAAM,eACNd,MAAM,WACNgB,QAASzB,EAAMuC,iBAEf/B,EAAA,OACEE,KAAK,eACLD,MAAM,mBACN4B,UAAWH,EAA0BlC,EAAMc,MAAOd,EAAME,S,CAMlE,OACEM,EAAA,OAAKC,MAAM,QACTD,EAAA,OACEE,KAAK,eACLD,MAAM,0CACN4B,UAAWR,EAAa,mBAAoB7B,EAAMc,MAAOd,EAAME,Q","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["atomicResultMultiValueTextCss","AtomicResultMultiValueTextStyle0","AtomicResultMultiValueText","this","maxValuesToDisplay","delimiter","sortedValues","initialize","breadcrumbManager","buildBreadcrumbManager","bindings","engine","resultValues","value","ResultTemplatesHelpers","getResultProperty","result","field","Array","isArray","map","v","trim","error","Error","split","facetSelectedValues","state","facetBreadcrumbs","filter","facet","reduce","values","updateSortedValues","allValues","allValuesSet","Set","firstValues","has","from","set","add","getShouldDisplayLabel","length","getNumberOfValuesToDisplay","Math","min","renderValue","label","getFieldValueCaption","i18n","kebabValue","titleToKebab","h","key","part","name","renderSeparator","beforeValue","afterValue","class","renderMoreLabel","t","renderListItems","numberOfValuesToDisplay","nodes","i","push","componentWillRender","render","host","remove","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.pcss?tag=atomic-result-multi-value-text&encapsulation=shadow","src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.tsx"],"sourcesContent":[":host {\n > ul {\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n\n li {\n display: inline-block;\n }\n }\n}\n\n.separator {\n &::before {\n display: inline;\n content: ',\\00a0';\n }\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n Result,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Element, Prop, h, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {titleToKebab} from '../../../../utils/utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-multi-value-text` component renders the values of a multi-value string field.\n * @part result-multi-value-text-list - The list of field values.\n * @part result-multi-value-text-separator - The separator to display between each of the field values.\n * @part result-multi-value-text-value - A field value.\n * @part result-multi-value-text-value-more - A label indicating some values were omitted.\n * @slot result-multi-value-text-value-* - A custom caption value that's specified for a given part of a multi-text field value. For example, if you want to use `Off-Campus Resident` as a caption value for `Off-campus apartment` in `Off-campus apartment;On-campus apartment`, you'd use `<span slot=\"result-multi-value-text-value-off-campus-apartment\">Off-Campus Resident</span>`). The suffix of this slot corresponds with the field value, written in kebab case.\n */\n@Component({\n tag: 'atomic-result-multi-value-text',\n styleUrl: 'atomic-result-multi-value-text.pcss',\n shadow: true,\n})\nexport class AtomicResultMultiValueText {\n public breadcrumbManager!: BreadcrumbManager;\n\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n\n /**\n * The maximum number of field values to display.\n * If there are _n_ more values than the specified maximum, the last displayed value will be \"_n_ more...\".\n */\n @Prop({reflect: true}) public maxValuesToDisplay = 3;\n\n /**\n * The delimiter used to separate values when the field isn't indexed as a multi value field.\n */\n @Prop({reflect: true}) public delimiter: string | null = null;\n\n private sortedValues: string[] | null = null;\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n }\n\n private get resultValues() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((v) => `${v}`.trim());\n }\n\n if (typeof value !== 'string' || value.trim() === '') {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a string array.`\n );\n return null;\n }\n\n return this.delimiter\n ? value.split(this.delimiter).map((value) => value.trim())\n : [value];\n }\n\n private get facetSelectedValues() {\n return this.breadcrumbManager.state.facetBreadcrumbs\n .filter((facet) => facet.field === this.field)\n .reduce(\n (values, facet) => [\n ...values,\n ...facet.values.map(({value}) => value.value),\n ],\n [] as string[]\n );\n }\n\n private updateSortedValues() {\n const allValues = this.resultValues;\n if (allValues === null) {\n this.sortedValues = null;\n return;\n }\n const allValuesSet = new Set(allValues);\n const firstValues = this.facetSelectedValues.filter((value) =>\n allValuesSet.has(value)\n );\n this.sortedValues = Array.from(\n allValues.reduce((set, value) => set.add(value), new Set(firstValues))\n );\n }\n\n private getShouldDisplayLabel(values: string[]) {\n return (\n this.maxValuesToDisplay > 0 && values.length > this.maxValuesToDisplay\n );\n }\n\n private getNumberOfValuesToDisplay(values: string[]) {\n return Math.min(values.length, this.maxValuesToDisplay);\n }\n\n private renderValue(value: string) {\n const label = getFieldValueCaption(this.field, value, this.bindings.i18n);\n const kebabValue = titleToKebab(value);\n return (\n <li key={value} part=\"result-multi-value-text-value\">\n <slot name={`result-multi-value-text-value-${kebabValue}`}>\n {label}\n </slot>\n </li>\n );\n }\n\n private renderSeparator(beforeValue: string, afterValue: string) {\n return (\n <li\n aria-hidden=\"true\"\n part=\"result-multi-value-text-separator\"\n key={`${beforeValue}~${afterValue}`}\n class=\"separator\"\n ></li>\n );\n }\n\n private renderMoreLabel(value: number) {\n return (\n <li key=\"more-field-values\" part=\"result-multi-value-text-value-more\">\n {this.bindings.i18n.t('n-more', {value})}\n </li>\n );\n }\n\n private renderListItems(values: string[]) {\n const numberOfValuesToDisplay = this.getNumberOfValuesToDisplay(values);\n\n const nodes: VNode[] = [];\n for (let i = 0; i < numberOfValuesToDisplay; i++) {\n if (i > 0) {\n nodes.push(this.renderSeparator(values[i - 1], values[i]));\n }\n nodes.push(this.renderValue(values[i]));\n }\n if (this.getShouldDisplayLabel(values)) {\n nodes.push(\n this.renderSeparator(\n values[numberOfValuesToDisplay - 1],\n 'more-field-values'\n )\n );\n nodes.push(this.renderMoreLabel(values.length - numberOfValuesToDisplay));\n }\n return nodes;\n }\n\n public componentWillRender() {\n this.updateSortedValues();\n }\n\n public render() {\n if (this.sortedValues === null) {\n this.host.remove();\n return;\n }\n return (\n <ul part=\"result-multi-value-text-list\">\n {...this.renderListItems(this.sortedValues)}\n </ul>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["SubmitButton","bindings","disabled","onClick","h","part","class","Button","style","ariaLabel","i18n","t","icon","SearchSlimIcon","atomicSearchBoxCss","AtomicSearchBoxStyle0","AtomicSearchBox","this","searchBoxSuggestionEventsQueue","isExpanded","numberOfQueries","suggestionTimeout","suggestionDelay","disableSearch","minimumQueryLength","clearFilters","enableQuerySyntax","disconnectedCallback","updateBreakpoints","once","host","renderTextBox","searchLabel","props","loading","searchBoxState","isLoading","value","title","onFocus","onInput","e","target","onKeyDown","onClear","searchBox","clear","suggestionManager","clearSuggestions","popup","id","activeDescendant","expanded","hasSuggestions","SearchTextArea","textAreaRef","ref","el","triggerTextAreaChange","isStandaloneSearchBox","initialize","randomID","initializeSearchboxController","initializeSuggestionManager","updateRedirectionUrl","redirectionUrl","updateRedirectUrl","registerNewSearchBoxController","buildStandaloneSearchBox","engine","options","searchBoxOptions","overwrite","buildSearchBox","componentWillUpdate","redirectTo","analytics","data","storage","SafeStorage","setJSON","StorageItems","STANDALONE_SEARCH_BOX_DATA","afterRedirection","event","redirect","emit","defaultPrevented","window","location","href","registerSuggestions","push","registerSuggestionsFromEvent","suggestionBindings","registerSearchboxSuggestionEvents","forEach","evt","watchRedirectionUrl","SuggestionManager","getNumberOfSuggestionsToDisplay","updateQuery","query","updateText","getSearchBoxValue","getSuggestionTimeout","getSuggestionDelay","getHost","getLogger","logger","initializeSuggestions","spreadProperties","partialSuggestionBindings","Object","defineProperties","get","enumerable","searchBoxController","isStandalone","numberOfSuggestions","highlightOptions","notMatchDelimiters","open","close","correctionDelimiters","isSearchDisabledForEndUser","triggerSuggestions","announceNewSuggestionsToScreenReader","onSubmit","keyboardActiveDescendant","submit","key","preventDefault","focusNextValue","announceNewActiveSuggestionToScreenReader","focusPreviousValue","hasActiveDescendant","state","focusPanel","updateKeyboardActiveDescendant","dispatchEvent","Event","renderSuggestion","item","index","lastIndex","side","isSelected","hideIfLast","suggestion","isDoubleList","onSuggestionClick","onMouseOver","onSuggestionMouseOver","renderPanel","elements","setRef","getRef","length","onMouseDown","map","shouldShowSuggestions","renderSuggestions","role","leftSuggestionElements","leftPanel","rightSuggestionElements","rightPanel","renderAbsolutePositionSpacer","rows","queryValue","isNullOrUndefined","trim","getSearchInputLabel","isMacOS","hasKeyboard","activeDescendantElement","suggestionsAriaMessage","elsLength","allSuggestionElements","filter","elementHasQuery","searchBoxAriaMessage","count","renderSlotContent","hasDefaultSlot","getDefaultSlotFromHost","render","isDisabled","suggestions","Host","SearchBoxWrapper","onFocusout","isFocusingOut","__decorate","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/common/search-box/stencil-submit-button.tsx","src/components/search/atomic-search-box/atomic-search-box.pcss?tag=atomic-search-box&encapsulation=shadow","src/components/search/atomic-search-box/atomic-search-box.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport SearchSlimIcon from '../../../images/search-slim.svg';\nimport {AnyBindings} from '../interface/bindings';\nimport {Button} from '../stencil-button';\n\ninterface Props {\n bindings: AnyBindings;\n disabled: boolean;\n onClick: () => void;\n}\n\nexport const SubmitButton: FunctionalComponent<Props> = ({\n bindings,\n disabled,\n onClick,\n}) => (\n <div\n part=\"submit-button-wrapper\"\n class=\"mr-2 flex items-center justify-center py-2\"\n >\n <Button\n style=\"text-primary\"\n class=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full\"\n part=\"submit-button\"\n ariaLabel={bindings.i18n.t('search')}\n onClick={() => {\n onClick?.();\n }}\n disabled={disabled}\n >\n <atomic-icon\n part=\"submit-icon\"\n icon={SearchSlimIcon}\n class=\"h-4 w-4\"\n ></atomic-icon>\n </Button>\n </div>\n);\n","@import '../../../global/global.pcss';\n@import '../../common/search-box/search-box.pcss';\n\n[part~='instant-results-item'] {\n @apply p-3;\n}\n\n[part~='instant-results-show-all'] {\n @apply border-t-neutral justify-center border-t py-1;\n margin-top: auto;\n box-sizing: content-box;\n button {\n background-color: transparent;\n }\n}\n\n[part~='suggestions-left'] + [part~='suggestions-right'] {\n @apply border-l-neutral border-l;\n}\n\n[part~='suggestions-wrapper'] {\n flex-direction: column;\n @media (width >= theme(--breakpoint-desktop)) {\n flex-direction: row;\n }\n}\n\n:host {\n @apply relative z-10;\n}\n","import {isNullOrUndefined} from '@coveo/bueno';\nimport {\n SearchBox,\n SearchBoxState,\n buildSearchBox,\n StandaloneSearchBox,\n StandaloneSearchBoxState,\n buildStandaloneSearchBox,\n SearchBoxOptions,\n} from '@coveo/headless';\nimport {\n Component,\n h,\n State,\n Prop,\n Listen,\n Watch,\n Element,\n Event,\n EventEmitter,\n Host,\n} from '@stencil/core';\nimport {hasKeyboard, isMacOS} from '../../../utils/device-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n SafeStorage,\n StandaloneSearchBoxData,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {\n isFocusingOut,\n once,\n randomID,\n spreadProperties,\n} from '../../../utils/utils';\nimport {RedirectionPayload} from '../../common/search-box/redirection-payload';\nimport {SearchBoxWrapper} from '../../common/search-box/stencil-search-box-wrapper';\nimport {SearchTextArea} from '../../common/search-box/stencil-search-text-area';\nimport {SubmitButton} from '../../common/search-box/stencil-submit-button';\nimport {SuggestionManager} from '../../common/suggestions/stencil-suggestion-manager';\nimport {\n elementHasQuery,\n} from '../../common/suggestions/suggestions-utils';\nimport type {\n SearchBoxSuggestionElement,\n SearchBoxSuggestionsBindings,\n SearchBoxSuggestionsEvent,\n} from '../../common/suggestions/suggestions-types';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport { getDefaultSlotFromHost } from '@/src/utils/slot-utils';\n\n/**\n * The `atomic-search-box` component creates a search box with built-in support for suggestions.\n *\n * @slot default - The default slot where you can add child components to the search box.\n *\n * @part wrapper - The search box wrapper.\n * @part input - The search box input.\n * @part loading - The search box loading animation.\n * @part clear-button - The button to clear the search box of input.\n * @part clear-icon - The clear button's icon.\n * @part submit-button - The search box submit button.\n * @part submit-icon - The search box submit button's icon.\n * @part suggestions - A list of suggested query corrections on each panel.\n * @part suggestions-left - A list of suggested query corrections on the left panel.\n * @part suggestions-right - A list of suggested query corrections on the right panel.\n * @part suggestions-wrapper - The wrapper that contains suggestion panels.\n * @part suggestions-single-list - The wrapper that contains 1 suggestion list.\n * @part suggestions-double-list - The wrapper that contains 2 suggestion lists.\n * @part suggestion - A suggested query correction.\n * @part active-suggestion - The currently active suggestion.\n * @part suggestion-divider - An item in the list that separates groups of suggestions.\n * @part suggestion-with-query - An item in the list that will update the search box query.\n *\n * @part query-suggestion-item - A suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-content - The contents of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-icon - The icon of a suggestion from the `atomic-search-box-query-suggestions` component.\n * @part query-suggestion-text - The text of a suggestion from the `atomic-search-box-query-suggestions` component.\n *\n * @part recent-query-item - A suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-content - The contents of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-icon - The icon of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text - The text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-text-highlight - The highlighted portion of the text of a suggestion from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-item - The clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title-content - The contents of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-title - The \"recent searches\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n * @part recent-query-clear - The \"clear\" text of the clear button above suggestions from the `atomic-search-box-recent-queries` component.\n *\n * @part instant-results-item - An instant result rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all - The clickable suggestion to show all items for the current instant results search rendered by an `atomic-search-box-instant-results` component.\n * @part instant-results-show-all-button - The button inside the clickable suggestion from the `atomic-search-box-instant-results` component.\n */\n@Component({\n tag: 'atomic-search-box',\n styleUrl: 'atomic-search-box.pcss',\n shadow: true,\n})\nexport class AtomicSearchBox implements InitializableComponent<Bindings> {\n @InitializeBindings() public bindings!: Bindings;\n private searchBox!: SearchBox | StandaloneSearchBox;\n private searchBoxSuggestionEventsQueue: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >[] = [];\n private id!: string;\n private textAreaRef!: HTMLTextAreaElement;\n private suggestionManager!: SuggestionManager<\n SearchBox | StandaloneSearchBox\n >;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('searchBox')\n @State()\n private searchBoxState!: SearchBoxState | StandaloneSearchBoxState;\n @State() public error!: Error;\n @State() private isExpanded = false;\n\n /**\n * The amount of queries displayed when the user interacts with the search box.\n * By default, a mix of query suggestions and recent queries will be shown.\n * You can configure those settings using the following components as children:\n * - atomic-search-box-query-suggestions\n * - atomic-search-box-recent-queries\n */\n @Prop({reflect: true}) public numberOfQueries = 8;\n\n /**\n * Defining this option makes the search box standalone (see [Use a\n * Standalone Search Box](https://docs.coveo.com/en/atomic/latest/usage/ssb/)).\n *\n * This option defines the default URL the user should be redirected to, when a query is submitted.\n * If a query pipeline redirect is triggered, it will redirect to that URL instead\n * (see [query pipeline triggers](https://docs.coveo.com/en/1458)).\n */\n @Prop({reflect: true}) public redirectionUrl?: string;\n\n /**\n * The timeout for suggestion queries, in milliseconds.\n * If a suggestion query times out, the suggestions from that particular query won't be shown.\n */\n @Prop() public suggestionTimeout = 400;\n\n /**\n * The delay for suggestion queries on input, in milliseconds.\n *\n * The suggestion request will be delayed until the end user stops typing for at least the specified amount of time.\n *\n * This delay is used to avoid sending too many requests to the Coveo Platform when the user is typing, as well as reducing potential input lag on low end devices.\n * A higher delay will reduce input lag, at the cost of suggestions freshness.\n */\n @Prop() public suggestionDelay = 0;\n\n /**\n * Whether to prevent the user from triggering searches and query suggestions from the component.\n * Perfect for use cases where you need to disable the search conditionally.\n * For the specific case when you need to disable the search based on the length of the query, refer to {@link minimumQueryLength}.\n */\n @Prop({reflect: true}) public disableSearch = false;\n\n /**\n * The minimum query length required to enable search.\n * For example, to disable the search for empty queries, set this to `1`.\n */\n @Prop({reflect: true}) public minimumQueryLength = 0;\n\n /**\n * Whether to clear all active query filters when the end user submits a new query from the search box.\n * Setting this option to \"false\" is not recommended & can lead to an increasing number of queries returning no results.\n */\n @Prop({reflect: true}) public clearFilters = true;\n\n /**\n * Whether to interpret advanced [Coveo Cloud query syntax](https://docs.coveo.com/en/1814/) in the query.\n * You should only enable query syntax in the search box if you have good reasons to do so, as it\n * requires end users to be familiar with Coveo Cloud query syntax, otherwise they will likely be surprised\n * by the search box behaviour.\n *\n * When the `redirection-url` property is set and redirects to a page with more `atomic-search-box` components, all `atomic-search-box` components need to have the same `enable-query-syntax` value.\n */\n @Prop({reflect: true}) public enableQuerySyntax = false;\n\n /**\n * Event that is emitted when a standalone search box redirection is triggered. By default, the search box will directly change the URL and redirect accordingly, so if you want to handle the redirection differently, use this event.\n *\n * Example:\n * ```html\n * <script>\n * document.querySelector('atomic-search-box').addEventListener((e) => {\n * e.preventDefault();\n * // handle redirection\n * });\n * </script>\n * ...\n * <atomic-search-box redirection-url=\"/search\"></atomic-search-box>\n * ```\n */\n @Event({\n eventName: 'redirect',\n })\n public redirect!: EventEmitter<RedirectionPayload>;\n\n @AriaLiveRegion('search-box')\n protected searchBoxAriaMessage!: string;\n\n @AriaLiveRegion('search-suggestions', true)\n protected suggestionsAriaMessage!: string;\n\n private isStandaloneSearchBox(\n searchBox: SearchBox | StandaloneSearchBox\n ): searchBox is StandaloneSearchBox {\n return 'redirectTo' in searchBox;\n }\n\n public initialize() {\n this.id ||= randomID('atomic-search-box-');\n\n this.initializeSearchboxController();\n this.initializeSuggestionManager();\n }\n\n private updateRedirectionUrl() {\n if (this.isStandaloneSearchBox(this.searchBox) && this.redirectionUrl) {\n this.searchBox.updateRedirectUrl(this.redirectionUrl);\n } else {\n this.registerNewSearchBoxController();\n }\n }\n\n private registerNewSearchBoxController() {\n this.disconnectedCallback();\n this.initialize();\n }\n\n private initializeSearchboxController() {\n this.searchBox = this.redirectionUrl\n ? buildStandaloneSearchBox(this.bindings.engine, {\n options: {\n ...this.searchBoxOptions,\n redirectionUrl: this.redirectionUrl,\n overwrite: true,\n },\n })\n : buildSearchBox(this.bindings.engine, {\n options: this.searchBoxOptions,\n });\n }\n\n public componentWillUpdate() {\n if (\n !('redirectTo' in this.searchBoxState) ||\n !('afterRedirection' in this.searchBox)\n ) {\n return;\n }\n\n const {redirectTo, value, analytics} = this.searchBoxState;\n\n if (redirectTo === '') {\n return;\n }\n const data: StandaloneSearchBoxData = {\n value,\n enableQuerySyntax: this.enableQuerySyntax,\n analytics,\n };\n const storage = new SafeStorage();\n storage.setJSON(StorageItems.STANDALONE_SEARCH_BOX_DATA, data);\n\n this.searchBox.afterRedirection();\n const event = this.redirect.emit({redirectTo, value});\n if (!event.defaultPrevented) {\n window.location.href = redirectTo;\n }\n }\n\n public disconnectedCallback = () => {};\n\n @Listen('atomic/searchBoxSuggestion/register')\n public registerSuggestions(\n event: CustomEvent<\n SearchBoxSuggestionsEvent<SearchBox | StandaloneSearchBox>\n >\n ) {\n if (!this.bindings) {\n this.searchBoxSuggestionEventsQueue.push(event);\n } else {\n this.suggestionManager.registerSuggestionsFromEvent(\n event,\n this.suggestionBindings\n );\n }\n }\n\n private registerSearchboxSuggestionEvents() {\n this.searchBoxSuggestionEventsQueue.forEach((evt) => {\n this.suggestionManager.registerSuggestionsFromEvent(\n evt,\n this.suggestionBindings\n );\n });\n this.searchBoxSuggestionEventsQueue = [];\n }\n\n @Watch('redirectionUrl')\n watchRedirectionUrl() {\n this.updateRedirectionUrl();\n }\n\n private initializeSuggestionManager() {\n if (this.suggestionManager) {\n return;\n }\n\n this.suggestionManager = new SuggestionManager({\n getNumberOfSuggestionsToDisplay: () => this.numberOfQueries,\n updateQuery: (query) => this.searchBox.updateText(query),\n getSearchBoxValue: () => this.searchBoxState.value,\n getSuggestionTimeout: () => this.suggestionTimeout,\n getSuggestionDelay: () => this.suggestionDelay,\n getHost: () => this.host,\n getLogger: () => this.bindings.engine.logger,\n });\n this.suggestionManager.initializeSuggestions(this.suggestionBindings);\n }\n\n private get suggestionBindings(): SearchBoxSuggestionsBindings<\n SearchBox | StandaloneSearchBox\n > {\n return spreadProperties(\n this.bindings,\n this.suggestionManager.partialSuggestionBindings,\n this.partialSuggestionBindings\n );\n }\n\n private get partialSuggestionBindings(): Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n > {\n return Object.defineProperties(\n {...this.bindings},\n {\n id: {\n get: () => this.id,\n enumerable: true,\n },\n searchBoxController: {\n get: () => this.searchBox,\n enumerable: true,\n },\n isStandalone: {\n get: () => !!this.redirectionUrl,\n enumerable: true,\n },\n numberOfQueries: {\n get: () => this.numberOfQueries,\n enumerable: true,\n },\n clearFilters: {\n get: () => this.clearFilters,\n enumerable: true,\n },\n }\n ) as unknown as Pick<\n SearchBoxSuggestionsBindings<SearchBox | StandaloneSearchBox>,\n | 'id'\n | 'isStandalone'\n | 'searchBoxController'\n | 'numberOfQueries'\n | 'clearFilters'\n >;\n }\n\n private get searchBoxOptions(): SearchBoxOptions {\n return {\n id: this.id,\n numberOfSuggestions: 0,\n highlightOptions: {\n notMatchDelimiters: {\n open: '<span class=\"font-bold\">',\n close: '</span>',\n },\n correctionDelimiters: {\n open: '<span class=\"font-normal\">',\n close: '</span>',\n },\n },\n clearFilters: this.clearFilters,\n enableQuerySyntax: this.enableQuerySyntax,\n };\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private async onInput(value: string) {\n this.searchBox.updateText(value);\n\n if (this.isSearchDisabledForEndUser(value)) {\n this.suggestionManager.clearSuggestions();\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private async onFocus() {\n if (this.isExpanded) {\n return;\n }\n this.isExpanded = true;\n await this.suggestionManager.triggerSuggestions();\n this.announceNewSuggestionsToScreenReader();\n }\n\n private onSubmit() {\n this.isExpanded = false;\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.onSubmit();\n return;\n }\n\n this.searchBox.submit();\n }\n\n private async onKeyDown(e: KeyboardEvent) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n this.onSubmit();\n break;\n case 'Escape':\n this.suggestionManager.clearSuggestions();\n break;\n case 'ArrowDown':\n e.preventDefault();\n await this.suggestionManager.focusNextValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowUp':\n e.preventDefault();\n await this.suggestionManager.focusPreviousValue();\n this.announceNewActiveSuggestionToScreenReader();\n break;\n case 'ArrowRight':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('right');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'ArrowLeft':\n if (\n this.suggestionManager.hasActiveDescendant ||\n !this.searchBox.state.value\n ) {\n e.preventDefault();\n this.suggestionManager.focusPanel('left');\n this.announceNewActiveSuggestionToScreenReader();\n }\n break;\n case 'Tab':\n this.suggestionManager.clearSuggestions();\n break;\n default:\n if (this.suggestionManager.keyboardActiveDescendant) {\n this.suggestionManager.updateKeyboardActiveDescendant();\n }\n break;\n }\n }\n\n private triggerTextAreaChange(value: string) {\n this.textAreaRef.value = value;\n this.textAreaRef.dispatchEvent(new window.Event('change'));\n }\n\n private renderSuggestion(\n item: SearchBoxSuggestionElement,\n index: number,\n lastIndex: number,\n side: 'left' | 'right'\n ) {\n const id = `${this.id}-${side}-suggestion-${item.key}`;\n\n const isSelected = id === this.suggestionManager.activeDescendant;\n\n if (index === lastIndex && item.hideIfLast) {\n return null;\n }\n\n return (\n <atomic-suggestion-renderer\n i18n={this.bindings.i18n}\n id={id}\n suggestion={item}\n isSelected={isSelected}\n side={side}\n index={index}\n lastIndex={lastIndex}\n isDoubleList={this.suggestionManager.isDoubleList}\n onClick={(e: Event) => {\n this.suggestionManager.onSuggestionClick(item, e);\n if (item.key === 'recent-query-clear') {\n return;\n }\n\n this.isExpanded = false;\n }}\n onMouseOver={() => {\n this.suggestionManager.onSuggestionMouseOver(item, side, id);\n }}\n ></atomic-suggestion-renderer>\n );\n }\n\n private renderPanel(\n side: 'left' | 'right',\n elements: SearchBoxSuggestionElement[],\n setRef: (el: HTMLElement | undefined) => void,\n getRef: () => HTMLElement | undefined\n ) {\n if (!elements.length) {\n return null;\n }\n\n return (\n <div\n part={`suggestions suggestions-${side}`}\n ref={setRef}\n class=\"flex grow basis-1/2 flex-col\"\n onMouseDown={(e) => {\n if (e.target === getRef()) {\n e.preventDefault();\n }\n }}\n >\n {elements.map((suggestion, index) =>\n this.renderSuggestion(suggestion, index, elements.length - 1, side)\n )}\n </div>\n );\n }\n\n private get shouldShowSuggestions() {\n return (\n this.suggestionManager.hasSuggestions &&\n this.isExpanded &&\n !this.isSearchDisabledForEndUser(this.searchBoxState.value)\n );\n }\n\n private renderSuggestions() {\n return (\n <div\n id={`${this.id}-popup`}\n part={`suggestions-wrapper ${\n this.suggestionManager.isDoubleList\n ? 'suggestions-double-list'\n : 'suggestions-single-list'\n }`}\n class={`bg-background border-neutral absolute top-full left-0 z-10 flex w-full rounded-md border ${\n this.shouldShowSuggestions ? '' : 'hidden'\n }`}\n role=\"application\"\n aria-label={this.bindings.i18n.t(\n this.suggestionManager.isDoubleList\n ? 'search-suggestions-double-list'\n : 'search-suggestions-single-list'\n )}\n {...(this.suggestionManager.activeDescendant && {\n 'aria-activedescendant': this.suggestionManager.activeDescendant,\n })}\n >\n {this.renderPanel(\n 'left',\n this.suggestionManager.leftSuggestionElements,\n (el) => (this.suggestionManager.leftPanel = el),\n () => this.suggestionManager.leftPanel\n )}\n {this.renderPanel(\n 'right',\n this.suggestionManager.rightSuggestionElements,\n (el) => (this.suggestionManager.rightPanel = el),\n () => this.suggestionManager.rightPanel\n )}\n </div>\n );\n }\n\n private renderTextBox = (searchLabel: string) => {\n const props = {\n loading: this.searchBoxState.isLoading,\n bindings: this.bindings,\n value: this.searchBoxState.value,\n title: searchLabel,\n ariaLabel: searchLabel,\n onFocus: () => this.onFocus(),\n onInput: (e: Event) =>\n this.onInput(\n (e.target as HTMLInputElement | HTMLTextAreaElement).value\n ),\n onKeyDown: (e: KeyboardEvent) => this.onKeyDown(e),\n onClear: () => {\n this.searchBox.clear();\n this.suggestionManager.clearSuggestions();\n },\n popup: {\n id: `${this.id}-popup`,\n activeDescendant: this.suggestionManager.activeDescendant,\n expanded: this.isExpanded,\n hasSuggestions: this.suggestionManager.hasSuggestions,\n },\n };\n\n return (\n <SearchTextArea\n textAreaRef={this.textAreaRef}\n ref={(el) => (this.textAreaRef = el as HTMLTextAreaElement)}\n {...props}\n onClear={() => {\n props.onClear();\n this.triggerTextAreaChange('');\n }}\n />\n );\n };\n\n private renderAbsolutePositionSpacer() {\n return (\n <textarea\n aria-hidden\n part=\"textarea-spacer\"\n class=\"invisible w-full px-4 py-3.5 text-lg\"\n rows={1}\n ></textarea>\n );\n }\n\n private isSearchDisabledForEndUser(queryValue?: string) {\n if (isNullOrUndefined(queryValue)) {\n return this.disableSearch;\n }\n\n if (queryValue.trim().length < this.minimumQueryLength) {\n return true;\n }\n\n return this.disableSearch;\n }\n\n private getSearchInputLabel(minimumQueryLength = 0) {\n if (this.isSearchDisabledForEndUser(this.searchBoxState.value)) {\n return this.bindings.i18n.t('search-disabled', {\n length: minimumQueryLength,\n });\n }\n\n if (isMacOS()) {\n return this.bindings.i18n.t('search-box-with-suggestions-macos');\n }\n if (!hasKeyboard()) {\n return this.bindings.i18n.t('search-box-with-suggestions-keyboardless');\n }\n return this.bindings.i18n.t('search-box-with-suggestions');\n }\n\n private announceNewActiveSuggestionToScreenReader() {\n const ariaLabel = this.suggestionManager.activeDescendantElement?.ariaLabel;\n if (isMacOS() && ariaLabel) {\n this.suggestionsAriaMessage = ariaLabel;\n }\n }\n\n private announceNewSuggestionsToScreenReader() {\n const elsLength =\n this.suggestionManager.allSuggestionElements.filter(\n elementHasQuery\n ).length;\n this.searchBoxAriaMessage = elsLength\n ? this.bindings.i18n.t(\n this.searchBoxState.value\n ? 'query-suggestions-available'\n : 'query-suggestions-available-no-query',\n {\n count: elsLength,\n query: this.searchBoxState.value,\n }\n )\n : this.bindings.i18n.t('query-suggestions-unavailable');\n }\n\n private renderSlotContent() {\n const hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n\n if (hasDefaultSlot) {\n return <slot></slot>;\n }\n\n return [\n <atomic-search-box-recent-queries></atomic-search-box-recent-queries>,\n <atomic-search-box-query-suggestions></atomic-search-box-query-suggestions>,\n ];\n }\n\n public render() {\n this.updateBreakpoints();\n\n const searchLabel = this.getSearchInputLabel(this.minimumQueryLength);\n const isDisabled = this.isSearchDisabledForEndUser(\n this.searchBoxState.value\n );\n if (!this.suggestionManager.suggestions.length) {\n this.registerSearchboxSuggestionEvents();\n }\n\n return (\n <Host>\n {this.renderAbsolutePositionSpacer()}\n {[\n <SearchBoxWrapper\n disabled={isDisabled}\n onFocusout={(event) => {\n if (!isFocusingOut(event)) {\n return;\n }\n this.suggestionManager.clearSuggestions();\n this.isExpanded = false;\n }}\n >\n {this.renderTextBox(searchLabel)}\n <SubmitButton\n bindings={this.bindings}\n disabled={isDisabled}\n onClick={() => {\n this.searchBox.submit();\n this.suggestionManager.clearSuggestions();\n }}\n />\n {this.renderSuggestions()}\n </SearchBoxWrapper>,\n this.renderSlotContent(),\n ]}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|