@coveo/atomic 3.34.0-pre.94e6006846 → 3.34.0-pre.9a633e3b9d
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 -4
- package/dist/atomic/components/_index.js +0 -2
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +1 -1
- package/dist/atomic/components/atomic-facet.js +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-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-insight-history-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-children-template.js +1 -1
- package/dist/atomic/components/atomic-insight-result-children-template.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-template.js +1 -1
- package/dist/atomic/components/atomic-insight-result-template.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
- package/dist/{esm/sections-ae00b53a.js → atomic/components/atomic-layout-section-utils.js} +1 -1
- package/dist/atomic/components/atomic-layout-section-utils.js.map +1 -0
- package/dist/atomic/components/atomic-numeric-facet.js +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +23 -23
- package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-recs-result-template.js +1 -1
- package/dist/atomic/components/atomic-recs-result-template.js.map +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +2 -2
- package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-result-children-template.js +1 -1
- package/dist/atomic/components/atomic-result-children-template.js.map +1 -1
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result-list.js.map +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-result-template.js +1 -1
- package/dist/atomic/components/atomic-result-template.js.map +1 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +5 -11
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-expression.js +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/clock.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +17 -32
- package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +4 -3
- package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +4 -3
- package/dist/atomic/components/components/common/atomic-layout-section/layout.js +1 -1
- package/dist/atomic/components/components/common/item-list/table-layout.js +1 -1
- package/dist/atomic/components/components/common/layout/display-options.js +1 -1
- package/dist/atomic/components/components/common/layout/{sections.js → item-layout-sections.js} +1 -1
- package/dist/atomic/components/components/common/product-template/product-template-controller.js +16 -81
- package/dist/atomic/components/components/common/template-controller/base-template-controller.js +89 -0
- package/dist/atomic/components/components/common/{product-template/product-template-common.js → template-controller/template-utils.js} +11 -12
- package/dist/atomic/components/components/common/validate-props-controller/validate-props-controller.js +50 -0
- package/dist/atomic/components/components/insight/atomic-insight-layout/insight-layout.js +1 -1
- package/dist/atomic/components/components/search/atomic-relevance-inspector/atomic-relevance-inspector.js +100 -0
- package/dist/atomic/components/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +137 -0
- package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +17 -24
- package/dist/atomic/components/components/search/index.js +2 -0
- package/dist/atomic/components/components/search/lazy-index.js +2 -0
- package/dist/atomic/components/display-options.js +1 -1
- package/dist/atomic/components/display-options.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/insight-layout.js +1 -1
- package/dist/atomic/components/insight-layout.js.map +1 -1
- package/dist/atomic/components/{sections2.js → item-layout-sections.js} +1 -1
- package/dist/atomic/components/item-layout-sections.js.map +1 -0
- package/dist/atomic/components/{result-template-common.js → stencil-result-template-common.js} +2 -2
- package/dist/atomic/components/stencil-result-template-common.js.map +1 -0
- package/dist/atomic/components/table-element-utils.js.map +1 -1
- package/dist/atomic/components/utils/compare-utils.js +49 -0
- package/dist/atomic/{p-475124d2.entry.js → p-01511388.entry.js} +2 -2
- package/dist/atomic/{p-2caa1859.js → p-0e62bdd6.js} +2 -2
- package/dist/atomic/p-0e62bdd6.js.map +1 -0
- package/dist/atomic/{p-60800b2f.entry.js → p-0ed76e65.entry.js} +2 -2
- package/dist/atomic/{p-5f706e3d.entry.js → p-170c7da6.entry.js} +2 -2
- package/dist/atomic/{p-aff00ac0.entry.js → p-1acc1046.entry.js} +2 -2
- package/dist/atomic/{p-3857d6a3.entry.js → p-1bbaf206.entry.js} +2 -2
- package/dist/atomic/{p-4723ffa5.entry.js → p-20b33c18.entry.js} +2 -2
- package/dist/atomic/{p-a4d277c7.entry.js → p-2213060b.entry.js} +2 -2
- package/dist/atomic/p-2213060b.entry.js.map +1 -0
- package/dist/atomic/{p-d1795580.entry.js → p-2895c42c.entry.js} +2 -2
- package/dist/atomic/p-2895c42c.entry.js.map +1 -0
- package/dist/atomic/{p-16f6c1f3.entry.js → p-2fb49fe8.entry.js} +2 -2
- package/dist/atomic/{p-2e1fab8c.js → p-3424fe89.js} +2 -2
- package/dist/atomic/{p-13391e75.entry.js → p-3549a469.entry.js} +2 -2
- package/dist/atomic/{p-bd3542d2.entry.js → p-36112c34.entry.js} +2 -2
- package/dist/atomic/p-36112c34.entry.js.map +1 -0
- package/dist/atomic/{p-88af4470.entry.js → p-40c1dfcb.entry.js} +2 -2
- package/dist/atomic/{p-7709fba4.js → p-4da8f827.js} +2 -2
- package/dist/atomic/p-4da8f827.js.map +1 -0
- package/dist/atomic/{p-7c3c5f07.entry.js → p-4f4c9a03.entry.js} +2 -2
- package/dist/atomic/p-4f4c9a03.entry.js.map +1 -0
- package/dist/atomic/{p-20764605.entry.js → p-52d5461a.entry.js} +2 -2
- package/dist/atomic/{p-406a288c.entry.js → p-6078667f.entry.js} +2 -2
- package/dist/atomic/p-6694e114.entry.js +2 -0
- package/dist/atomic/p-6694e114.entry.js.map +1 -0
- package/dist/atomic/p-6f1bffa2.entry.js +2 -0
- package/dist/atomic/p-6f1bffa2.entry.js.map +1 -0
- package/dist/atomic/{p-93da1f4e.entry.js → p-6f34dd3a.entry.js} +2 -2
- package/dist/atomic/{p-0c0b8d41.entry.js → p-768b172e.entry.js} +2 -2
- package/dist/atomic/{p-3cbab25b.entry.js → p-7e971d15.entry.js} +2 -2
- package/dist/atomic/{p-4601eb93.entry.js → p-83d3857f.entry.js} +2 -2
- package/dist/atomic/{p-0b5efb51.entry.js → p-86f950a5.entry.js} +2 -2
- package/dist/atomic/p-86f950a5.entry.js.map +1 -0
- package/dist/atomic/{p-dbcef3a9.entry.js → p-87f69e53.entry.js} +2 -2
- package/dist/atomic/{p-6289adc7.entry.js → p-9239be63.entry.js} +2 -2
- package/dist/atomic/{p-2d145aed.entry.js → p-951253ac.entry.js} +2 -2
- package/dist/atomic/{p-ed8e5c4d.entry.js → p-98dd6df1.entry.js} +2 -2
- package/dist/atomic/{p-86bde026.entry.js → p-9a6ec803.entry.js} +2 -2
- package/dist/atomic/{p-d6e04719.entry.js → p-a46d36dd.entry.js} +2 -2
- package/dist/atomic/p-a46d36dd.entry.js.map +1 -0
- package/dist/atomic/{p-1db20a4a.entry.js → p-a5f66ecd.entry.js} +2 -2
- package/dist/atomic/{p-e398835b.entry.js → p-b2b9e83f.entry.js} +2 -2
- package/dist/atomic/{p-8fdef8a3.entry.js → p-b313058c.entry.js} +2 -2
- package/dist/atomic/{p-0bdd730f.entry.js → p-b6ae0244.entry.js} +2 -2
- package/dist/atomic/{p-3a7a1a00.entry.js → p-bbfe727a.entry.js} +2 -2
- package/dist/atomic/{p-acd1a1d3.js → p-be0518ae.js} +1 -1
- package/dist/atomic/p-be0518ae.js.map +1 -0
- package/dist/atomic/{p-97ce3384.entry.js → p-be2a43f4.entry.js} +2 -2
- package/dist/atomic/{p-577d34ba.entry.js → p-c4fb6426.entry.js} +2 -2
- package/dist/atomic/{p-9c7dbbdf.js → p-cc2b2231.js} +1 -1
- package/dist/atomic/p-cc2b2231.js.map +1 -0
- package/dist/atomic/{p-a5714bc4.entry.js → p-d211a422.entry.js} +2 -2
- package/dist/atomic/{p-9faad55b.entry.js → p-dc128135.entry.js} +2 -2
- package/dist/atomic/{p-97748161.js → p-dc28ee14.js} +1 -1
- package/dist/{esm/sections-d787040b.js.map → atomic/p-dc28ee14.js.map} +1 -1
- package/dist/atomic/{p-c280cd05.js → p-e1cc5150.js} +1 -1
- package/dist/atomic/{p-27b8404c.js → p-e62fc40e.js} +2 -2
- package/dist/atomic/p-e62fc40e.js.map +1 -0
- package/dist/atomic/{p-f71b14b2.entry.js → p-ebd00891.entry.js} +2 -2
- package/dist/atomic/p-ebd00891.entry.js.map +1 -0
- package/dist/atomic/{p-7ec6dd3e.entry.js → p-f676b5ba.entry.js} +2 -2
- package/dist/atomic/p-f676b5ba.entry.js.map +1 -0
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-dbe107ed.js → analytics-config-44e9a962.js} +2 -2
- package/dist/cjs/{analytics-config-dbe107ed.js.map → analytics-config-44e9a962.js.map} +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-field-condition.cjs.entry.js +4 -4
- package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +3 -3
- package/dist/cjs/atomic-insight-layout.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-template.cjs.entry.js +6 -6
- package/dist/cjs/atomic-insight-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/{sections-4b4af2f8.js → atomic-layout-section-utils-08b4fbcd.js} +1 -1
- package/dist/cjs/atomic-layout-section-utils-08b4fbcd.js.map +1 -0
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +23 -23
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-result-template.cjs.entry.js +6 -6
- package/dist/cjs/atomic-recs-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +4 -4
- package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children-template.cjs.entry.js +5 -5
- package/dist/cjs/atomic-result-children-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +4 -4
- package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
- package/dist/cjs/atomic-result-template.cjs.entry.js +5 -5
- package/dist/cjs/atomic-result-template.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +76 -0
- package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-search-box.cjs.entry.js +3 -3
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/clock-7aeb19d0.js +7 -0
- package/dist/cjs/clock-7aeb19d0.js.map +1 -0
- package/dist/cjs/{display-options-14f05862.js → display-options-69531e8d.js} +4 -4
- package/dist/cjs/display-options-69531e8d.js.map +1 -0
- package/dist/cjs/index-757bc886.js +2 -6
- package/dist/cjs/{insight-layout-355a94dd.js → insight-layout-b6ff92fd.js} +11 -11
- package/dist/cjs/insight-layout-b6ff92fd.js.map +1 -0
- package/dist/cjs/{sections-fbb93b53.js → item-layout-sections-b09ba4b3.js} +1 -1
- package/dist/cjs/item-layout-sections-b09ba4b3.js.map +1 -0
- package/dist/cjs/{result-template-common-88359dad.js → stencil-result-template-common-bb38948f.js} +4 -4
- package/dist/cjs/stencil-result-template-common-bb38948f.js.map +1 -0
- package/dist/cjs/{table-element-utils-4865b735.js → table-element-utils-2cc6dc82.js} +1 -1
- package/dist/cjs/table-element-utils-2cc6dc82.js.map +1 -0
- package/dist/cjs/version.cjs.js +1 -1
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-700a5497.js → analytics-config-8e298bb3.js} +2 -2
- package/dist/esm/{analytics-config-700a5497.js.map → analytics-config-8e298bb3.js.map} +1 -1
- package/dist/esm/atomic-category-facet.entry.js +1 -1
- package/dist/esm/atomic-facet.entry.js +1 -1
- package/dist/esm/atomic-field-condition.entry.js +3 -3
- package/dist/esm/atomic-field-condition.entry.js.map +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +3 -3
- package/dist/esm/atomic-insight-layout.entry.js +2 -2
- package/dist/esm/atomic-insight-result-children-template.entry.js +3 -3
- package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-result-template.entry.js +3 -3
- package/dist/esm/atomic-insight-result-template.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +2 -2
- package/dist/{atomic/components/sections.js → esm/atomic-layout-section-utils-c8ca7445.js} +1 -1
- package/dist/esm/atomic-layout-section-utils-c8ca7445.js.map +1 -0
- package/dist/esm/atomic-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +23 -23
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-recs-list.entry.js +2 -2
- package/dist/esm/atomic-recs-result-template.entry.js +3 -3
- package/dist/esm/atomic-recs-result-template.entry.js.map +1 -1
- package/dist/esm/atomic-recs-result.entry.js +2 -2
- package/dist/esm/atomic-refine-modal.entry.js +2 -2
- package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
- package/dist/esm/atomic-result-children-template.entry.js +3 -3
- package/dist/esm/atomic-result-children-template.entry.js.map +1 -1
- package/dist/esm/atomic-result-children.entry.js +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +4 -4
- package/dist/esm/atomic-result-list.entry.js.map +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
- package/dist/esm/atomic-result-template.entry.js +3 -3
- package/dist/esm/atomic-result-template.entry.js.map +1 -1
- package/dist/esm/atomic-result.entry.js +2 -2
- package/dist/esm/atomic-search-box-query-suggestions.entry.js +72 -0
- package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +1 -0
- package/dist/esm/atomic-search-box.entry.js +3 -3
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-sort-expression.entry.js +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/clock-b1f5d7f7.js +5 -0
- package/dist/esm/clock-b1f5d7f7.js.map +1 -0
- package/dist/esm/{display-options-c16840c6.js → display-options-1199eed5.js} +2 -2
- package/dist/esm/display-options-1199eed5.js.map +1 -0
- package/dist/esm/index-3f35faca.js +2 -6
- package/dist/esm/{insight-layout-776b87f2.js → insight-layout-a1e4b795.js} +2 -2
- package/dist/esm/insight-layout-a1e4b795.js.map +1 -0
- package/dist/esm/{sections-d787040b.js → item-layout-sections-8afb5049.js} +1 -1
- package/dist/esm/item-layout-sections-8afb5049.js.map +1 -0
- package/dist/esm/{result-template-common-ac9fecab.js → stencil-result-template-common-19af5cfb.js} +3 -3
- package/dist/esm/stencil-result-template-common-19af5cfb.js.map +1 -0
- package/dist/esm/{table-element-utils-49d22ec6.js → table-element-utils-1dbc5ef6.js} +1 -1
- package/dist/esm/table-element-utils-1dbc5ef6.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -3
- package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +1 -1
- package/dist/types/components/common/facets/facet-search/facet-search-input-guard.d.ts +1 -1
- package/dist/types/components/common/no-items/guard.d.ts +1 -1
- package/dist/types/components/common/product-template/product-template-controller.d.ts +9 -19
- package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +1 -1
- package/dist/types/components/common/refine-modal/guard.d.ts +1 -1
- package/dist/types/components/common/result-templates/result-template-controller.d.ts +16 -0
- package/dist/types/components/common/sort/sort-guard.d.ts +1 -1
- package/dist/types/components/common/template-controller/base-template-controller.d.ts +36 -0
- package/dist/types/components/common/template-controller/template-utils.d.ts +11 -0
- package/dist/types/components/common/validate-props-controller/validate-props-controller.d.ts +32 -0
- package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +1 -1
- package/dist/types/components/search/atomic-relevance-inspector/atomic-relevance-inspector.d.ts +18 -8
- package/dist/types/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +45 -0
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +6 -3
- package/dist/types/components/search/index.d.ts +2 -0
- package/dist/types/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.d.ts +1 -1
- package/dist/types/components.d.ts +0 -102
- package/dist/types/directives/hierarchical-path.d.ts +1 -1
- package/dist/types/utils/compare-utils.d.ts +9 -0
- package/docs/atomic-docs.json +1 -185
- package/package.json +1 -1
- package/dist/atomic/components/atomic-relevance-inspector.d.ts +0 -11
- package/dist/atomic/components/atomic-relevance-inspector.js +0 -53
- package/dist/atomic/components/atomic-relevance-inspector.js.map +0 -1
- package/dist/atomic/components/atomic-search-box-recent-queries.d.ts +0 -11
- package/dist/atomic/components/atomic-search-box-recent-queries.js +0 -8
- package/dist/atomic/components/atomic-search-box-recent-queries.js.map +0 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +0 -183
- package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +0 -1
- package/dist/atomic/components/result-template-common.js.map +0 -1
- package/dist/atomic/components/sections.js.map +0 -1
- package/dist/atomic/components/sections2.js.map +0 -1
- package/dist/atomic/p-0b5efb51.entry.js.map +0 -1
- package/dist/atomic/p-250f34d4.entry.js +0 -2
- package/dist/atomic/p-250f34d4.entry.js.map +0 -1
- package/dist/atomic/p-27b8404c.js.map +0 -1
- package/dist/atomic/p-2caa1859.js.map +0 -1
- package/dist/atomic/p-7709fba4.js.map +0 -1
- package/dist/atomic/p-7c3c5f07.entry.js.map +0 -1
- package/dist/atomic/p-7ec6dd3e.entry.js.map +0 -1
- package/dist/atomic/p-97748161.js.map +0 -1
- package/dist/atomic/p-9c7dbbdf.js.map +0 -1
- package/dist/atomic/p-a4d277c7.entry.js.map +0 -1
- package/dist/atomic/p-acd1a1d3.js.map +0 -1
- package/dist/atomic/p-bd3542d2.entry.js.map +0 -1
- package/dist/atomic/p-d1795580.entry.js.map +0 -1
- package/dist/atomic/p-d6e04719.entry.js.map +0 -1
- package/dist/atomic/p-de687bed.entry.js +0 -2
- package/dist/atomic/p-de687bed.entry.js.map +0 -1
- package/dist/atomic/p-df4397ab.entry.js +0 -2
- package/dist/atomic/p-df4397ab.entry.js.map +0 -1
- package/dist/atomic/p-f71b14b2.entry.js.map +0 -1
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +0 -38
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +0 -234
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +0 -1
- package/dist/cjs/clock-f03ff827.js +0 -7
- package/dist/cjs/clock-f03ff827.js.map +0 -1
- package/dist/cjs/display-options-14f05862.js.map +0 -1
- package/dist/cjs/insight-layout-355a94dd.js.map +0 -1
- package/dist/cjs/result-template-common-88359dad.js.map +0 -1
- package/dist/cjs/sections-4b4af2f8.js.map +0 -1
- package/dist/cjs/sections-fbb93b53.js.map +0 -1
- package/dist/cjs/table-element-utils-4865b735.js.map +0 -1
- package/dist/esm/atomic-relevance-inspector.entry.js +0 -34
- package/dist/esm/atomic-relevance-inspector.entry.js.map +0 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +0 -229
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +0 -1
- package/dist/esm/clock-add3e9a5.js +0 -5
- package/dist/esm/clock-add3e9a5.js.map +0 -1
- package/dist/esm/display-options-c16840c6.js.map +0 -1
- package/dist/esm/insight-layout-776b87f2.js.map +0 -1
- package/dist/esm/result-template-common-ac9fecab.js.map +0 -1
- package/dist/esm/sections-ae00b53a.js.map +0 -1
- package/dist/esm/table-element-utils-49d22ec6.js.map +0 -1
- package/dist/types/components/common/product-template/product-template-common.d.ts +0 -6
- package/dist/types/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +0 -37
- /package/dist/atomic/components/components/common/atomic-layout-section/{sections.js → atomic-layout-section-utils.js} +0 -0
- /package/dist/atomic/components/components/{search/atomic-table-result → common}/table-element-utils.js +0 -0
- /package/dist/atomic/{p-475124d2.entry.js.map → p-01511388.entry.js.map} +0 -0
- /package/dist/atomic/{p-60800b2f.entry.js.map → p-0ed76e65.entry.js.map} +0 -0
- /package/dist/atomic/{p-5f706e3d.entry.js.map → p-170c7da6.entry.js.map} +0 -0
- /package/dist/atomic/{p-aff00ac0.entry.js.map → p-1acc1046.entry.js.map} +0 -0
- /package/dist/atomic/{p-3857d6a3.entry.js.map → p-1bbaf206.entry.js.map} +0 -0
- /package/dist/atomic/{p-4723ffa5.entry.js.map → p-20b33c18.entry.js.map} +0 -0
- /package/dist/atomic/{p-16f6c1f3.entry.js.map → p-2fb49fe8.entry.js.map} +0 -0
- /package/dist/atomic/{p-2e1fab8c.js.map → p-3424fe89.js.map} +0 -0
- /package/dist/atomic/{p-13391e75.entry.js.map → p-3549a469.entry.js.map} +0 -0
- /package/dist/atomic/{p-88af4470.entry.js.map → p-40c1dfcb.entry.js.map} +0 -0
- /package/dist/atomic/{p-20764605.entry.js.map → p-52d5461a.entry.js.map} +0 -0
- /package/dist/atomic/{p-406a288c.entry.js.map → p-6078667f.entry.js.map} +0 -0
- /package/dist/atomic/{p-93da1f4e.entry.js.map → p-6f34dd3a.entry.js.map} +0 -0
- /package/dist/atomic/{p-0c0b8d41.entry.js.map → p-768b172e.entry.js.map} +0 -0
- /package/dist/atomic/{p-3cbab25b.entry.js.map → p-7e971d15.entry.js.map} +0 -0
- /package/dist/atomic/{p-4601eb93.entry.js.map → p-83d3857f.entry.js.map} +0 -0
- /package/dist/atomic/{p-dbcef3a9.entry.js.map → p-87f69e53.entry.js.map} +0 -0
- /package/dist/atomic/{p-6289adc7.entry.js.map → p-9239be63.entry.js.map} +0 -0
- /package/dist/atomic/{p-2d145aed.entry.js.map → p-951253ac.entry.js.map} +0 -0
- /package/dist/atomic/{p-ed8e5c4d.entry.js.map → p-98dd6df1.entry.js.map} +0 -0
- /package/dist/atomic/{p-86bde026.entry.js.map → p-9a6ec803.entry.js.map} +0 -0
- /package/dist/atomic/{p-1db20a4a.entry.js.map → p-a5f66ecd.entry.js.map} +0 -0
- /package/dist/atomic/{p-e398835b.entry.js.map → p-b2b9e83f.entry.js.map} +0 -0
- /package/dist/atomic/{p-8fdef8a3.entry.js.map → p-b313058c.entry.js.map} +0 -0
- /package/dist/atomic/{p-0bdd730f.entry.js.map → p-b6ae0244.entry.js.map} +0 -0
- /package/dist/atomic/{p-3a7a1a00.entry.js.map → p-bbfe727a.entry.js.map} +0 -0
- /package/dist/atomic/{p-97ce3384.entry.js.map → p-be2a43f4.entry.js.map} +0 -0
- /package/dist/atomic/{p-577d34ba.entry.js.map → p-c4fb6426.entry.js.map} +0 -0
- /package/dist/atomic/{p-a5714bc4.entry.js.map → p-d211a422.entry.js.map} +0 -0
- /package/dist/atomic/{p-9faad55b.entry.js.map → p-dc128135.entry.js.map} +0 -0
- /package/dist/atomic/{p-c280cd05.js.map → p-e1cc5150.js.map} +0 -0
- /package/dist/types/components/common/atomic-layout-section/{sections.d.ts → atomic-layout-section-utils.d.ts} +0 -0
- /package/dist/types/components/common/layout/{sections.d.ts → item-layout-sections.d.ts} +0 -0
- /package/dist/types/components/common/result-templates/{result-template-common.d.ts → stencil-result-template-common.d.ts} +0 -0
- /package/dist/types/components/{search/atomic-table-result → common}/table-element-utils.d.ts +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-refine-modal2.js","mappings":"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","names":[],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/sections';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-refine-modal2.js","mappings":";;;;;;;;;;;;;;AAEO,MAAM,eAAe,GAAwB,CAAC,CAAC,EAAE,QAAQ;IAC9D,QACE,aACE,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,sBAAsB,IAE3B,QAAQ,CACH,EACR;AACJ,CAAC;;ACHM,MAAM,yBAAyB,GAElC,CAAC,EAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAC,EAAE,QAAQ;IACpD,QACE,EAAC,QAAQ;QACP,WAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,uCAAuC;YACtE,UACE,IAAI,EAAC,qCAAqC,EAC1C,KAAK,EAAC,6BAA6B,IAElC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CACf;YACJ,QAAQ,CACL;QACL,UAAU,IAAI,YAAM,IAAI,EAAC,QAAQ,GAAQ;QACzC,mBAAmB,IAAI,YAAM,IAAI,EAAC,kBAAkB,GAAQ,CACpD,EACX;AACJ,CAAC,CAAC;AAMK,MAAM,6BAA6B,GAEtC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC;IAClB,QACE,EAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EACrB,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,kBAAkB,GACf,EACV;AACJ,CAAC;;;;;;;;;ACrCM,MAAM,sBAAsB,GAE/B,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,QAAQ;IAC7B,QACE,EAAC,QAAQ;QACP,UACE,IAAI,EAAC,kCAAkC,EACvC,KAAK,EAAC,kCAAkC,IAEvC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CACZ;QACL,WAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,UAAU;YACzC,cACE,KAAK,EAAC,uGAAuG,EAC7G,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC7B,QAAQ,EAAE,QAAQ,IAEjB,QAAQ,CACF;YACT,WACE,IAAI,EAAC,qBAAqB,EAC1B,KAAK,EAAC,2FAA2F;gBAEjG,mBACE,IAAI,EAAC,aAAa,EAClB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAC,SAAS,GACF,CACX,CACF,CACG,EACX;AACJ,CAAC;;ACzCD,MAAM,oBAAoB,GAAG,urjEAAurjE,CAAC;AACrtjE,gCAAe,oBAAoB;;;;;;;;;;;;MCkFtB,iBAAiB;;;;;QA2BU,WAAM,GAAG,KAAK,CAAC;;;;;;;QAQvB,wBAAmB,GAAG,CAAC,CAAC;;;;;;;;sBARP,KAAK;mCAQA,CAAC;;IAGrD,YAAY,CAAC,MAAe;QAC1B,IAAI,MAAM,EAAE;YACV,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;gBACjD,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;SAC1C;KACF;IAEM,UAAU;QACf,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAwB,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CACpD,sBAAsB,CACvB,CAAC;QACF,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,uBAAuB,GAAG,EAAE,CAAC;QACnC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,YAAY,EAAE;gBAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAClC;YACD,MAAM,sBAAsB,GAAG,WAAW,CACxC,cAAc,EACd,mBAAmB,CACpB,CAAC;YACF,IAAI,sBAAsB,EAAE;gBAC1B,uBAAuB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;aACtD;SACF;QACD,MAAM,aAAa,GAAG,qBAAqB,CACzC,MAAM,EACN,GAAG,uBAAuB,EAC1B,GAAG,aAAa,CACjB,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE;YACjD,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QAED,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,YAAY,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,YAAY,CAAC,IAAI,CACf,IAAI,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACzD,CAAC;SACH;QACD,YAAY,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtD,MAAM,EAAC,aAAa,EAAE,eAAe,EAAC,GAAG,mBAAmB,CAC1D,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CACnC,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE/D,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAElE,OAAO,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,+CAA+C,CACvD,IAAI,CAAC,mBAAmB,EACxB,aAAa,CAAC,MAAM,CACrB,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC3B;QAED,OAAO,OAAO,CAAC;KAChB;IAEO,kBAAkB;QACxB,MAAM,aAAa,GACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,cAAc;YACpD,IAAI,CAAC;QACP,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CACxC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAC7C,CAAC,MAAM,CACN,CAAC,cAAc,KAAK,cAAc,CAAC,cAAc,KAAK,aAAa,CACpE,CAAC;QACF,OAAO,CAAC,GAAG,uBAAuB,EAAE,aAAa,CAAC,CAAC;KACpD;IAEO,WAAW,CAAC,MAA0B;QAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;YACxD,KAAK,CAAC,WAAW;gBACf,IAAI,CAAC,mBAAmB,KAAK,CAAC,CAAC;sBAC3B,KAAK;sBACL,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvC,OAAO,KAAK,CAAC;SACd,CAAC,CAAC;KACJ;IAEO,2BAA2B;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,EAAE;YAC/D,OAAO;SACR;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CACtC,kCAAkC,CACnC,CAAC;QAEF,SAAS,CAAC,YAAY,CACpB,eAAe,EACf,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,EAAE,CAChE,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAEtC,OAAO,SAAS,CAAC;KAClB;IAEO,qBAAqB,CAAC,EAAe;QAC3C,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,+CAA+C,CAAC;KAChE;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;KAC9C;IAEO,MAAM,CAAC,CAAQ;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAsB,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9B,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,CAC/C,CAAC;QACF,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC7C;IAEO,WAAW,CAAC,EAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAqB;QACzE,IACE,CAAC,yBAAyB,CACxB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAClB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAClB,IAAI,CAAC,eAAe,EAAE,SAAS,CAChC,EACD;YACA,OAAO;SACR;QACD,QACE,cAAQ,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CACrB,EACT;KACH;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACxB,OAAO;SACR;QAED,QACE,EAAC,sBAAsB,IACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAExC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAChC,EACzB;KACH;IAEO,aAAa;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,KAAK,SAAS,CAAC;QAElE,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE;YAC5C,OAAO;SACR;QAED,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE7B,QACE,EAAC,yBAAyB,IACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,gBAAgB,EAC5B,mBAAmB,EAAE,kBAAkB,IAEtC,IAAI,CAAC,sBAAsB,CAAC,cAAc,KACzC,EAAC,6BAA6B,IAC5B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,GACnD,CACH,CACyB,EAC5B;KACH;IAEM,MAAM;QACX,QACE,EAAC,WAAW,qDACV,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EACxB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EACpC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAC9C,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAC3C,UAAU,EAAE,IAAI,CAAC,UAAU,IAE3B,EAAC,eAAe,uDACb,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,aAAa,EAAE,CACL,CACN,EACd;KACH;IAEM,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;KAC9B;;;;;;;;;;;;;;;;;;;AAvQ4B;IAA5B,kBAAkB,EAAE;mDAA4B;AAK1C;IAFN,qBAAqB,CAAC,cAAc,CAAC;4DAEO;AAGrC;IAFP,qBAAqB,CAAC,mBAAmB,CAAC;iEAEa;AAGjD;IAFN,qBAAqB,CAAC,cAAc,CAAC;4DAEO;AACE;IAArC,qBAAqB,CAAC,MAAM,CAAC;oDAA8B;AAI9D;IAFN,qBAAqB,CAAC,YAAY,CAAC;0DAEK;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/common/refine-modal/stencil-body.tsx","src/components/common/refine-modal/stencil-filters.tsx","src/components/common/refine-modal/stencil-sort.tsx","src/components/search/atomic-refine-modal/atomic-refine-modal.pcss?tag=atomic-refine-modal&encapsulation=shadow","src/components/search/atomic-refine-modal/atomic-refine-modal.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport const RefineModalBody: FunctionalComponent = (_, children) => {\n return (\n <aside\n part=\"content\"\n slot=\"body\"\n class=\"flex flex-col w-full\"\n >\n {children}\n </aside>\n );\n};\n","import {FunctionalComponent, Fragment, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\ninterface RefineModalFiltersSectionProps {\n i18n: i18n;\n withFacets: boolean;\n withAutomaticFacets: boolean;\n}\nexport const RefineModalFiltersSection: FunctionalComponent<\n RefineModalFiltersSectionProps\n> = ({i18n, withAutomaticFacets, withFacets}, children) => {\n return (\n <Fragment>\n <div part=\"filter-section\" class=\"mt-8 mb-3 flex w-full justify-between\">\n <h1\n part=\"section-title section-filters-title\"\n class=\"truncate text-2xl font-bold\"\n >\n {i18n.t('filters')}\n </h1>\n {children}\n </div>\n {withFacets && <slot name=\"facets\"></slot>}\n {withAutomaticFacets && <slot name=\"automatic-facets\"></slot>}\n </Fragment>\n );\n};\n\ninterface RefineModalFiltersClearButtonProps {\n i18n: i18n;\n onClick: () => void;\n}\nexport const RefineModalFiltersClearButton: FunctionalComponent<\n RefineModalFiltersClearButtonProps\n> = ({i18n, onClick}) => {\n return (\n <Button\n onClick={onClick}\n style=\"text-primary\"\n text={i18n.t('clear')}\n class=\"px-2 py-1\"\n part=\"filter-clear-all\"\n ></Button>\n );\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport SortIcon from '../../../images/sort.svg';\n\ninterface RefineModalSortSectionProps {\n i18n: i18n;\n onSelect: (e: Event) => void;\n}\nexport const RefineModalSortSection: FunctionalComponent<\n RefineModalSortSectionProps\n> = ({i18n, onSelect}, children) => {\n return (\n <Fragment>\n <h1\n part=\"section-title section-sort-title\"\n class=\"mb-3 truncate text-2xl font-bold\"\n >\n {i18n.t('sort')}\n </h1>\n <div part=\"select-wrapper\" class=\"relative\">\n <select\n class=\"btn-outline-neutral w-full grow cursor-pointer appearance-none rounded-lg px-6 py-5 text-lg font-bold\"\n part=\"select\"\n aria-label={i18n.t('sort-by')}\n onChange={onSelect}\n >\n {children}\n </select>\n <div\n part=\"select-icon-wrapper\"\n class=\"pointer-events-none absolute top-0 right-0 bottom-0 flex items-center justify-center pr-6\"\n >\n <atomic-icon\n part=\"select-icon\"\n icon={SortIcon}\n class=\"h-6 w-6\"\n ></atomic-icon>\n </div>\n </div>\n </Fragment>\n );\n};\n","@import '../../../global/global.pcss';\n\n/* This stylesheet can be removed once atomic-refine-modal is migrated to lit.\n\nThe remaining styles can also be removed as they have been moved to the refine-modal/sort.ts functional component*/\n\n/**\n * @prop --atomic-refine-modal-facet-margin: The spacing between the modal's facets.\n */\nselect:hover + div,\nselect:focus-visible + div {\n @apply text-primary-light;\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n BreadcrumbManagerState,\n QuerySummary,\n QuerySummaryState,\n FacetManagerState,\n Sort,\n buildSort,\n SortState,\n buildQuerySummary,\n buildSearchStatus,\n SearchStatus,\n FacetManager,\n buildFacetManager,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {\n AtomicInterface,\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {sortByDocumentPosition} from '../../../utils/utils';\nimport {findSection} from '../../common/atomic-layout-section/atomic-layout-section-utils';\nimport {popoverClass} from '../../common/facets/popover/popover-type';\nimport {\n BaseFacetElement,\n sortFacetVisibility,\n triageFacetsByParents,\n collapseFacetsAfter,\n} from '../../common/facets/stencil-facet-common';\nimport {isRefineModalFacet} from '../../common/interface/store';\nimport {RefineModalBody} from '../../common/refine-modal/stencil-body';\nimport {\n RefineModalFiltersClearButton,\n RefineModalFiltersSection,\n} from '../../common/refine-modal/stencil-filters';\nimport {RefineModal} from '../../common/refine-modal/stencil-modal';\nimport {RefineModalSortSection} from '../../common/refine-modal/stencil-sort';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\nimport {SortDropdownOption} from '../atomic-search-interface/store';\n\n/**\n * The `atomic-refine-modal` is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.\n *\n * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.\n *\n * @part container - The modal's outermost container.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header of the modal, containing the title.\n * @part title - The title of the modal.\n * @part close-button - The button in the header that closes the modal.\n * @part close-icon - The icon of the close button.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part content - The wrapper around the content inside the body of the modal.\n * @part section-title - The title for each section.\n * @part section-sort-title - The title for the sort section.\n * @part section-filters-title - The title for the filters section.\n * @part select-wrapper - The wrapper around the select element, used to position the icon.\n * @part select - The `<select>` element of the dropdown list.\n * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.\n * @part select-icon - The select dropdown's sort icon.\n * @part filter-section - The section containing facets and the \"filters\" title.\n * @part filter-clear-all - The button that resets all actively selected facet values.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer of the modal.\n * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.\n * @part footer-button - The button in the footer that closes the modal.\n * @part footer-button-text - The text inside the button in the footer that closes the modal.\n * @part footer-button-count - The count inside the button in the footer that closes the modal.\n */\n@Component({\n tag: 'atomic-refine-modal',\n styleUrl: 'atomic-refine-modal.pcss',\n shadow: true,\n})\nexport class AtomicRefineModal implements InitializableComponent {\n private sort!: Sort;\n private breadcrumbManager!: BreadcrumbManager;\n public querySummary!: QuerySummary;\n public searchStatus!: SearchStatus;\n public facetManager!: FacetManager;\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @BindStateToController('querySummary')\n @State()\n public querySummaryState!: QuerySummaryState;\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() @BindStateToController('sort') public sortState!: SortState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() public error!: Error;\n\n @Prop({mutable: true}) openButton?: HTMLElement;\n\n @Prop({reflect: true, mutable: true}) isOpen = false;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n @Watch('isOpen')\n watchEnabled(isOpen: boolean) {\n if (isOpen) {\n if (this.host.querySelector('div[slot=\"facets\"]')) {\n return;\n }\n\n this.host.append(this.createFacetSlot());\n }\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.sort = buildSort(this.bindings.engine);\n this.querySummary = buildQuerySummary(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n this.watchEnabled(this.isOpen);\n }\n\n private createFacetSlot(): HTMLDivElement {\n const divSlot = document.createElement('div');\n divSlot.setAttribute('slot', 'facets');\n this.addFacetColumnStyling(divSlot);\n\n const facets = this.bindings.store.getFacetElements() as BaseFacetElement[];\n const boundInterfaces = this.getBoundInterfaces().sort(\n sortByDocumentPosition\n );\n const facetsSection = [];\n const horizontalFacetsSection = [];\n for (const boundInterface of boundInterfaces) {\n const facetSection = findSection(boundInterface, 'facets');\n if (facetSection) {\n facetsSection.push(facetSection);\n }\n const horizontalFacetSection = findSection(\n boundInterface,\n 'horizontal-facets'\n );\n if (horizontalFacetSection) {\n horizontalFacetsSection.push(horizontalFacetSection);\n }\n }\n const triagedFacets = triageFacetsByParents(\n facets,\n ...horizontalFacetsSection,\n ...facetsSection\n );\n for (const triagedFacet of triagedFacets.values()) {\n triagedFacet.sort(sortByDocumentPosition);\n }\n\n const sortedFacets = [];\n for (let i = 0; i < boundInterfaces.length; i++) {\n sortedFacets.push(...(triagedFacets.get(facetsSection[i]) || []));\n sortedFacets.push(\n ...(triagedFacets.get(horizontalFacetsSection[i]) || [])\n );\n }\n sortedFacets.push(...(triagedFacets.get(null) || []));\n\n const {visibleFacets, invisibleFacets} = sortFacetVisibility(\n sortedFacets,\n this.bindings.store.getAllFacets()\n );\n\n const visibleFacetsClone = this.cloneFacets(visibleFacets);\n const invisibleFacetsClone = this.cloneFacets(invisibleFacets);\n\n collapseFacetsAfter(visibleFacetsClone, this.collapseFacetsAfter);\n\n divSlot.append(...visibleFacetsClone);\n divSlot.append(...invisibleFacetsClone);\n\n const generator = this.makeAutomaticFacetGenerator();\n if (generator) {\n generator.updateCollapseFacetsDependingOnFacetsVisibility(\n this.collapseFacetsAfter,\n visibleFacets.length\n );\n divSlot.append(generator);\n }\n\n return divSlot;\n }\n\n private getBoundInterfaces(): AtomicInterface[] {\n const mainInterface: AtomicInterface | null =\n this.host.closest('atomic-search-interface') ??\n this.host.closest('atomic-external')?.boundInterface ??\n null;\n if (!mainInterface) {\n throw new Error('Cannot find bound interface');\n }\n const boundExternalInterfaces = Array.from(\n document.querySelectorAll('atomic-external')\n ).filter(\n (atomicExternal) => atomicExternal.boundInterface === mainInterface\n );\n return [...boundExternalInterfaces, mainInterface];\n }\n\n private cloneFacets(facets: BaseFacetElement[]): BaseFacetElement[] {\n return facets.map((facet, i) => {\n facet.classList.remove(popoverClass);\n facet.setAttribute(isRefineModalFacet, '');\n const clone = facet.cloneNode(true) as BaseFacetElement;\n clone.isCollapsed =\n this.collapseFacetsAfter === -1\n ? false\n : i + 1 > this.collapseFacetsAfter;\n return clone;\n });\n }\n\n private makeAutomaticFacetGenerator() {\n if (!this.bindings.engine.state.automaticFacetSet?.desiredCount) {\n return;\n }\n const generator = document.createElement(\n 'atomic-automatic-facet-generator'\n );\n\n generator.setAttribute(\n 'desired-count',\n `${this.bindings.engine.state.automaticFacetSet?.desiredCount}`\n );\n this.addFacetColumnStyling(generator);\n\n return generator;\n }\n\n private addFacetColumnStyling(el: HTMLElement) {\n el.style.display = 'flex';\n el.style.flexDirection = 'column';\n el.style.gap = 'var(--atomic-refine-modal-facet-margin, 20px)';\n }\n\n private get options() {\n return this.bindings.store.state.sortOptions;\n }\n\n private select(e: Event) {\n const select = e.composedPath()[0] as HTMLSelectElement;\n const option = this.options.find(\n (option) => option.expression === select.value\n );\n option && this.sort.sortBy(option.criteria);\n }\n\n private buildOption({expression, criteria, label, tabs}: SortDropdownOption) {\n if (\n !shouldDisplayOnCurrentTab(\n [...tabs.included],\n [...tabs.excluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return;\n }\n return (\n <option value={expression} selected={this.sort.isSortedBy(criteria)}>\n {this.bindings.i18n.t(label)}\n </option>\n );\n }\n\n private renderSort() {\n if (!this.options.length) {\n return;\n }\n\n return (\n <RefineModalSortSection\n i18n={this.bindings.i18n}\n onSelect={(option) => this.select(option)}\n >\n {this.options.map((option) => this.buildOption(option))}\n </RefineModalSortSection>\n );\n }\n\n private renderFilters() {\n const hasFacetElements = this.bindings.store.getFacetElements().length > 0;\n const hasAutomaticFacets =\n this.bindings.engine.state.automaticFacetSet?.set !== undefined;\n\n if (!hasFacetElements && !hasAutomaticFacets) {\n return;\n }\n\n const {i18n} = this.bindings;\n\n return (\n <RefineModalFiltersSection\n i18n={i18n}\n withFacets={hasFacetElements}\n withAutomaticFacets={hasAutomaticFacets}\n >\n {this.breadcrumbManagerState.hasBreadcrumbs && (\n <RefineModalFiltersClearButton\n i18n={i18n}\n onClick={() => this.breadcrumbManager.deselectAll()}\n />\n )}\n </RefineModalFiltersSection>\n );\n }\n\n public render() {\n return (\n <RefineModal\n i18n={this.bindings.i18n}\n host={this.host}\n isOpen={this.isOpen}\n onClose={() => (this.isOpen = false)}\n title={this.bindings.i18n.t('sort-and-filter')}\n numberOfItems={this.querySummaryState.total}\n openButton={this.openButton}\n >\n <RefineModalBody>\n {this.renderSort()}\n {this.renderFilters()}\n </RefineModalBody>\n </RefineModal>\n );\n }\n\n public componentDidLoad() {\n this.host.style.display = '';\n }\n}\n"],"version":3}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
|
2
2
|
import { M as MapProp } from './props-utils.js';
|
3
|
-
import { R as ResultTemplateCommon, m as makeMatchConditions } from './result-template-common.js';
|
3
|
+
import { R as ResultTemplateCommon, m as makeMatchConditions } from './stencil-result-template-common.js';
|
4
4
|
|
5
5
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
6
6
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-result-children-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,8BAA4B;IAkCvC;;;;;;;;;;;QAtBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;SACzC,CAAC,CAAC;KACJ;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AA7C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;iEAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;oEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultChildrenTemplate"],"sources":["src/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * The `atomic-result-children-template` component determines the format of the child results, depending on the conditions that are defined for each template. A `template` element must be the child of an `atomic-result-children-template`, and an `atomic-result-children` must be the parent of each `atomic-result-children-template`.\n *\n * Note: Any `<script>` tags defined inside of a `<template>` element will not be executed when results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-children-template',\n shadow: true,\n})\nexport class AtomicResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-result-children'],\n });\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-result-children-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,8BAA4B;IAkCvC;;;;;;;;;;;QAtBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;SACzC,CAAC,CAAC;KACJ;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AA7C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;iEAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;oEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultChildrenTemplate"],"sources":["src/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * The `atomic-result-children-template` component determines the format of the child results, depending on the conditions that are defined for each template. A `template` element must be the child of an `atomic-result-children-template`, and an `atomic-result-children` must be the parent of each `atomic-result-children-template`.\n *\n * Note: Any `<script>` tags defined inside of a `<template>` element will not be executed when results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-children-template',\n shadow: true,\n})\nexport class AtomicResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-result-children'],\n });\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
|
@@ -138,7 +138,7 @@ const AtomicResultChildren$1 = /*@__PURE__*/ proxyCustomElement(class AtomicResu
|
|
138
138
|
return (h(ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
|
139
139
|
}
|
140
140
|
render() {
|
141
|
-
return (h(ResultChildrenGuard, { key: '
|
141
|
+
return (h(ResultChildrenGuard, { key: 'eb224dfff016980d3d7aa281e6a87c3172286c78', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
|
142
142
|
}
|
143
143
|
get host() { return this; }
|
144
144
|
static get style() { return AtomicResultChildrenStyle0; }
|
@@ -98,7 +98,7 @@ const AtomicResultFieldsList$1 = /*@__PURE__*/ proxyCustomElement(class AtomicRe
|
|
98
98
|
}
|
99
99
|
}
|
100
100
|
render() {
|
101
|
-
return h(Host, { key: '
|
101
|
+
return h(Host, { key: '936654b1f7aa4fd793eecd6fb508e14b8c764bb0' });
|
102
102
|
}
|
103
103
|
get host() { return this; }
|
104
104
|
static get style() { return AtomicResultFieldsListStyle0; }
|
@@ -43,7 +43,7 @@ const AtomicResultLink$1 = /*@__PURE__*/ proxyCustomElement(class AtomicResultLi
|
|
43
43
|
const href = isUndefined(this.hrefTemplate)
|
44
44
|
? this.result.clickUri
|
45
45
|
: buildStringTemplateFromResult(this.hrefTemplate, this.result, this.bindings);
|
46
|
-
return (h(LinkWithItemAnalytics, { key: '
|
46
|
+
return (h(LinkWithItemAnalytics, { key: '822263a18da861e80557adf11226427663627b8f', href: href, onSelect: () => this.interactiveResult.select(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (h("slot", null)) : (h("atomic-result-text", { field: "title", default: "no-title" }))));
|
47
47
|
}
|
48
48
|
get host() { return this; }
|
49
49
|
static get style() { return AtomicResultLinkStyle0; }
|
@@ -194,7 +194,7 @@ const AtomicResultList$1 = /*@__PURE__*/ proxyCustomElement(class AtomicResultLi
|
|
194
194
|
render() {
|
195
195
|
this.resultListCommon.updateBreakpoints();
|
196
196
|
const listClasses = this.computeListDisplayClasses();
|
197
|
-
return (h(TabGuard, { key: '
|
197
|
+
return (h(TabGuard, { key: 'c8b1ca9302ce0e9cfd5114067cb686fa27b6206f', tabsIncluded: this.tabsIncluded, tabsExcluded: this.tabsExcluded, activeTab: this.tabManagerState.activeTab }, h(ItemListGuard, { key: 'b6db922875d6156b42e0060ad2218bb82f9ed196', hasError: this.resultListState.hasError, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, h(DisplayWrapper, { key: '03ee6cd85a8bc9e94005082b24b42fb5ca893907', display: this.display, listClasses: listClasses }, h(ResultsPlaceholdersGuard, { key: 'b6a6020f7e40bddb2365c6ca6ef3ee67c5598758', density: this.density, display: this.display, imageSize: this.imageSize, displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults }), h(ItemDisplayGuard, { key: 'dea4c3d009fb28a556b81ba8d2fba8be5e02ed49', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.display === 'table'
|
198
198
|
? this.renderAsTable()
|
199
199
|
: this.display === 'grid'
|
200
200
|
? this.renderAsGrid()
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list 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-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 result list 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-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list 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-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 result list 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-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list 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 * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
|
@@ -18,7 +18,7 @@ const AtomicResultTablePlaceholder = /*@__PURE__*/ proxyCustomElement(class Atom
|
|
18
18
|
return getItemDisplayClasses('table', this.density, this.imageSize);
|
19
19
|
}
|
20
20
|
render() {
|
21
|
-
return (h("table", { key: '
|
21
|
+
return (h("table", { key: 'ed3f575082ec1c2a9927251e2b09d5c0f70d78b5', class: `list-root animate-pulse ${this.getClasses().join(' ')}` }, h("thead", { key: 'd48900fa9c63a0a201379e034efce277095884e2' }, h("tr", { key: '46641a6003cadf5c7fc8dfad1ab9d1ef11c90190' }, h("th", { key: '617b903b6d8ffde30dcbb3e4dcbaaa4e377d3b19' }, h("div", { key: 'd082c63c3bde168ef9395afb9e0dd50fcb3a6825', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '14.5rem' } })), h("th", { key: '2fc5a593908aad27a251272284bce7b55ad521e6' }, h("div", { key: 'a49a28d807240f58b43fbe8a646f9de2218e34f9', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '9.75rem' } })), h("th", { key: '96676c1b68d7ab25dc14b9331642f5288d0f2b53' }, h("div", { key: '648e50f2fa4ba0214bc0b220d38520c86580013c', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '6.5rem' } })))), h("tbody", { key: '98adcdb91e5e58c6dd1cc09759e6cc0e7a08bf31' }, Array.from({ length: this.rows }, () => (h("tr", null, h("td", null, h("div", { class: `mb-6 h-8 ${placeholderClasses}`, style: { width: '22.875rem' } }), h("div", { class: `mb-2 h-5 ${placeholderClasses}`, style: { width: '23.75rem' } }), h("div", { class: `h-5 ${placeholderClasses}`, style: { width: '11.5rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '11rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '4.875rem' } }))))))));
|
22
22
|
}
|
23
23
|
static get style() { return AtomicResultTablePlaceholderStyle0; }
|
24
24
|
}, [1, "atomic-result-table-placeholder", {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
|
2
2
|
import { M as MapProp } from './props-utils.js';
|
3
|
-
import { R as ResultTemplateCommon, m as makeMatchConditions } from './result-template-common.js';
|
3
|
+
import { R as ResultTemplateCommon, m as makeMatchConditions } from './stencil-result-template-common.js';
|
4
4
|
|
5
5
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
6
6
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"atomic-result-template.js","mappings":";;;;;;;;;;;;;;MAsBaA,sBAAoB;IAkC/B;;;;;;;;;;;QApBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,oBAAoB;gBACpB,2BAA2B;gBAC3B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AAhD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultTemplate"],"sources":["src/components/search/result-templates/atomic-result-template/atomic-result-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * @slot default - Mandatory. A `template` element that defines the structure of the result item.\n * @slot link - A `template` element that contains a single `atomic-result-link` component.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-template',\n shadow: true,\n})\nexport class AtomicResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-result-list',\n 'atomic-folded-result-list',\n 'atomic-search-box-instant-results',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
|
1
|
+
{"file":"atomic-result-template.js","mappings":";;;;;;;;;;;;;;MAsBaA,sBAAoB;IAkC/B;;;;;;;;;;;QApBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,oBAAoB;gBACpB,2BAA2B;gBAC3B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AAhD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultTemplate"],"sources":["src/components/search/result-templates/atomic-result-template/atomic-result-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * @slot default - Mandatory. A `template` element that defines the structure of the result item.\n * @slot link - A `template` element that contains a single `atomic-result-link` component.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-template',\n shadow: true,\n})\nexport class AtomicResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-result-list',\n 'atomic-folded-result-list',\n 'atomic-search-box-instant-results',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
|
@@ -60,7 +60,7 @@ const AtomicSearchBoxQuerySuggestions = /*@__PURE__*/ proxyCustomElement(class A
|
|
60
60
|
}
|
61
61
|
render() {
|
62
62
|
if (this.error) {
|
63
|
-
return (h("atomic-component-error", { key: '
|
63
|
+
return (h("atomic-component-error", { key: 'c5e8f0a3254a31cdae54c36868f70432c1673888', element: this.host, error: this.error }));
|
64
64
|
}
|
65
65
|
}
|
66
66
|
get host() { return this; }
|
@@ -10,8 +10,7 @@ import { o as once, r as randomID, a as spreadProperties, i as isFocusingOut } f
|
|
10
10
|
import { b as SearchSlimIcon, d as SearchTextArea, S as SuggestionManager, a as elementHasQuery, c as SearchBoxWrapper } from './stencil-suggestion-manager.js';
|
11
11
|
import { B as Button } from './stencil-button.js';
|
12
12
|
import { g as getDefaultSlotFromHost } from './slot-utils.js';
|
13
|
-
import { d as defineCustomElement$
|
14
|
-
import { d as defineCustomElement$3 } from './atomic-search-box-recent-queries2.js';
|
13
|
+
import { d as defineCustomElement$3 } from './atomic-search-box-query-suggestions2.js';
|
15
14
|
|
16
15
|
const SubmitButton = ({ bindings, disabled, onClick, }) => (h("div", { part: "submit-button-wrapper", class: "mr-2 flex items-center justify-center py-2" },
|
17
16
|
h(Button, { style: "text-primary", class: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full", part: "submit-button", ariaLabel: bindings.i18n.t('search'), onClick: () => {
|
@@ -436,14 +435,14 @@ const AtomicSearchBox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicSearchBox
|
|
436
435
|
if (!this.suggestionManager.suggestions.length) {
|
437
436
|
this.registerSearchboxSuggestionEvents();
|
438
437
|
}
|
439
|
-
return (h(Host, { key: '
|
440
|
-
h(SearchBoxWrapper, { key: '
|
438
|
+
return (h(Host, { key: '6a53ad9feb241283fd9bcb638b8f0f703691937a' }, this.renderAbsolutePositionSpacer(), [
|
439
|
+
h(SearchBoxWrapper, { key: 'c704424a22aa17ead0ca97f0104e336df2c57475', disabled: isDisabled, onFocusout: (event) => {
|
441
440
|
if (!isFocusingOut(event)) {
|
442
441
|
return;
|
443
442
|
}
|
444
443
|
this.suggestionManager.clearSuggestions();
|
445
444
|
this.isExpanded = false;
|
446
|
-
} }, this.renderTextBox(searchLabel), h(SubmitButton, { key: '
|
445
|
+
} }, this.renderTextBox(searchLabel), h(SubmitButton, { key: 'ee7fc79825b31c970bad13d6568e0a91b01ff60e', bindings: this.bindings, disabled: isDisabled, onClick: () => {
|
447
446
|
this.searchBox.submit();
|
448
447
|
this.suggestionManager.clearSuggestions();
|
449
448
|
} }), this.renderSuggestions()),
|
@@ -486,7 +485,7 @@ function defineCustomElement$1() {
|
|
486
485
|
if (typeof customElements === "undefined") {
|
487
486
|
return;
|
488
487
|
}
|
489
|
-
const components = ["atomic-search-box", "atomic-search-box-query-suggestions", "atomic-
|
488
|
+
const components = ["atomic-search-box", "atomic-search-box-query-suggestions", "atomic-suggestion-renderer"];
|
490
489
|
components.forEach(tagName => { switch (tagName) {
|
491
490
|
case "atomic-search-box":
|
492
491
|
if (!customElements.get(tagName)) {
|
@@ -494,11 +493,6 @@ function defineCustomElement$1() {
|
|
494
493
|
}
|
495
494
|
break;
|
496
495
|
case "atomic-search-box-query-suggestions":
|
497
|
-
if (!customElements.get(tagName)) {
|
498
|
-
defineCustomElement$4();
|
499
|
-
}
|
500
|
-
break;
|
501
|
-
case "atomic-search-box-recent-queries":
|
502
496
|
if (!customElements.get(tagName)) {
|
503
497
|
defineCustomElement$3();
|
504
498
|
}
|