@coveo/atomic 3.51.0 → 3.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +950 -828
- 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 -8
- package/dist/atomic/components/_index.js +97 -25
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +2 -2
- package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +1 -0
- package/dist/atomic/components/components/common/facets/timeframe-facet-common.js +1 -0
- package/dist/atomic/components/components/common/generated-answer/atomic-answer-content/atomic-answer-content.js +180 -0
- package/dist/atomic/components/components/common/generated-answer/atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.js +155 -0
- package/dist/atomic/components/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.js +165 -0
- package/dist/atomic/components/components/common/generated-answer/render-agent-generation-steps.js +34 -0
- package/dist/atomic/components/components/common/generated-answer/render-answer-content.js +7 -19
- package/dist/atomic/components/components/common/generated-answer/render-follow-up-input.js +66 -0
- package/dist/atomic/components/components/common/generated-answer/styles/generated-answer.tw.css.js +1 -1
- package/dist/atomic/components/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.js +7 -3
- package/dist/atomic/components/components/insight/atomic-insight-result-action/atomic-insight-result-action.js +169 -0
- package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +3 -2
- package/dist/atomic/components/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.js +79 -0
- package/dist/atomic/components/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js +267 -0
- package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.js +1 -1
- package/dist/atomic/components/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js +1 -1
- package/dist/atomic/components/components/insight/index.js +3 -0
- package/dist/atomic/components/components/insight/lazy-index.js +3 -0
- package/dist/atomic/components/components/search/atomic-external/atomic-external.js +1 -1
- package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +108 -15
- package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +2 -2
- package/dist/atomic/components/decorators/bindings.js +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/mixins/bindings-mixin.js +1 -1
- package/dist/atomic/components/utils/custom-element-tags.js +6 -2
- package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -2
- package/dist/atomic/index.esm.js +1 -1
- package/dist/atomic/index.esm.js.map +1 -1
- package/dist/atomic/lang/cs.json +1 -1
- package/dist/atomic/lang/da.json +1 -1
- package/dist/atomic/lang/de.json +1 -1
- package/dist/atomic/lang/dev.json +1 -1
- package/dist/atomic/lang/el.json +1 -1
- package/dist/atomic/lang/en.json +1 -1
- package/dist/atomic/lang/es.json +1 -1
- package/dist/atomic/lang/fi.json +1 -1
- package/dist/atomic/lang/fr.json +1 -1
- package/dist/atomic/lang/hu.json +1 -1
- package/dist/atomic/lang/id.json +1 -1
- package/dist/atomic/lang/it.json +1 -1
- package/dist/atomic/lang/ja.json +1 -1
- package/dist/atomic/lang/ko.json +1 -1
- package/dist/atomic/lang/nl.json +1 -1
- package/dist/atomic/lang/no.json +1 -1
- package/dist/atomic/lang/pl.json +1 -1
- package/dist/atomic/lang/pt-BR.json +1 -1
- package/dist/atomic/lang/pt.json +1 -1
- package/dist/atomic/lang/ru.json +1 -1
- package/dist/atomic/lang/sv.json +1 -1
- package/dist/atomic/lang/th.json +1 -1
- package/dist/atomic/lang/tr.json +1 -1
- package/dist/atomic/lang/zh-CN.json +1 -1
- package/dist/atomic/lang/zh-TW.json +1 -1
- package/dist/atomic/lang/zh.json +1 -1
- package/dist/atomic/p-998f7983.js +3 -0
- package/dist/atomic/p-998f7983.js.map +1 -0
- package/dist/cjs/_index.cjs.js +110 -28
- package/dist/cjs/_loader.cjs.js +3 -4
- package/dist/cjs/app-globals-18f43c37.js +506 -0
- package/dist/cjs/app-globals-18f43c37.js.map +1 -0
- package/dist/cjs/atomic.cjs.js +4 -5
- package/dist/cjs/atomic.cjs.js.map +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_index.js +97 -23
- package/dist/esm/_loader.js +3 -4
- package/dist/esm/app-globals-c5b073da.js +481 -0
- package/dist/esm/app-globals-c5b073da.js.map +1 -0
- package/dist/esm/atomic.js +3 -4
- package/dist/esm/atomic.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/common/context/bindings-context.d.ts +1 -1
- package/dist/types/components/common/facets/timeframe-facet-common.d.ts +1 -0
- package/dist/types/components/common/generated-answer/{answerContent/answer-content.d.ts → atomic-answer-content/atomic-answer-content.d.ts} +8 -6
- package/dist/types/components/common/generated-answer/{generated-answer-thread-item/generated-answer-thread-item.d.ts → atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.d.ts} +3 -3
- package/dist/types/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.d.ts +42 -0
- package/dist/types/components/common/generated-answer/render-agent-generation-steps.d.ts +16 -0
- package/dist/types/components/common/generated-answer/render-answer-content.d.ts +3 -4
- package/dist/types/components/insight/atomic-insight-result-action/atomic-insight-result-action.d.ts +33 -18
- package/dist/types/components/insight/atomic-insight-result-children/atomic-insight-result-children.d.ts +1 -0
- package/dist/types/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +62 -0
- package/dist/types/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.d.ts +47 -28
- package/dist/types/components/insight/index.d.ts +3 -0
- package/dist/types/components/search/atomic-external/atomic-external.d.ts +1 -1
- package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +11 -2
- package/dist/types/components.d.ts +0 -298
- package/dist/types/decorators/bindings.d.ts +1 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/utils/accessibility-utils.d.ts +2 -2
- package/dist/types/utils/init-queue.d.ts +1 -1
- package/docs/atomic-docs.json +2 -43
- package/package.json +4 -8
- package/dist/atomic/components/_commonjsHelpers.js +0 -5
- package/dist/atomic/components/_commonjsHelpers.js.map +0 -1
- package/dist/atomic/components/atomic-insight-result-action.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-result-action.js +0 -272
- package/dist/atomic/components/atomic-insight-result-action.js.map +0 -1
- package/dist/atomic/components/atomic-insight-result-children-template.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-result-children-template.js +0 -242
- package/dist/atomic/components/atomic-insight-result-children-template.js.map +0 -1
- package/dist/atomic/components/atomic-insight-timeframe-facet.d.ts +0 -11
- package/dist/atomic/components/atomic-insight-timeframe-facet.js +0 -816
- package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +0 -1
- package/dist/atomic/components/atomic-stencil-facet-date-input.d.ts +0 -11
- package/dist/atomic/components/atomic-stencil-facet-date-input.js +0 -107
- package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +0 -1
- package/dist/atomic/components/date-utils.js +0 -26
- package/dist/atomic/components/date-utils.js.map +0 -1
- package/dist/atomic/components/initialization-utils.js +0 -226
- package/dist/atomic/components/initialization-utils.js.map +0 -1
- package/dist/atomic/components/props-utils.js +0 -1457
- package/dist/atomic/components/props-utils.js.map +0 -1
- package/dist/atomic/components/stencil-button.js +0 -148
- package/dist/atomic/components/stencil-button.js.map +0 -1
- package/dist/atomic/p-1580513b.js +0 -2
- package/dist/atomic/p-1580513b.js.map +0 -1
- package/dist/atomic/p-1df0744f.entry.js +0 -9
- package/dist/atomic/p-1df0744f.entry.js.map +0 -1
- package/dist/atomic/p-2045a1b1.js +0 -2
- package/dist/atomic/p-2045a1b1.js.map +0 -1
- package/dist/atomic/p-4573c419.js +0 -2
- package/dist/atomic/p-4573c419.js.map +0 -1
- package/dist/atomic/p-500bf5c4.entry.js +0 -2
- package/dist/atomic/p-500bf5c4.entry.js.map +0 -1
- package/dist/atomic/p-5226a938.js +0 -3
- package/dist/atomic/p-5226a938.js.map +0 -1
- package/dist/atomic/p-720863c3.js +0 -2
- package/dist/atomic/p-720863c3.js.map +0 -1
- package/dist/atomic/p-81336626.entry.js +0 -2
- package/dist/atomic/p-81336626.entry.js.map +0 -1
- package/dist/atomic/p-81d6e743.js +0 -2
- package/dist/atomic/p-81d6e743.js.map +0 -1
- package/dist/atomic/p-aad3b4ec.js +0 -3
- package/dist/atomic/p-aad3b4ec.js.map +0 -1
- package/dist/atomic/p-b5af331b.entry.js +0 -2
- package/dist/atomic/p-b5af331b.entry.js.map +0 -1
- package/dist/atomic/p-b7209471.js +0 -2
- package/dist/atomic/p-b7209471.js.map +0 -1
- package/dist/atomic/p-dac60354.js +0 -2
- package/dist/atomic/p-dac60354.js.map +0 -1
- package/dist/atomic/p-e1255160.js +0 -2
- package/dist/atomic/p-e1255160.js.map +0 -1
- package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -7
- package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
- package/dist/cjs/app-globals-3a1e7e63.js +0 -7
- package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +0 -153
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +0 -222
- package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +0 -790
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +0 -86
- package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +0 -1
- package/dist/cjs/date-utils-aae1d713.js +0 -28
- package/dist/cjs/date-utils-aae1d713.js.map +0 -1
- package/dist/cjs/event-utils-9bfcf3c5.js +0 -27
- package/dist/cjs/event-utils-9bfcf3c5.js.map +0 -1
- package/dist/cjs/index-122375df.js +0 -1394
- package/dist/cjs/index-122375df.js.map +0 -1
- package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js +0 -95
- package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js.map +0 -1
- package/dist/cjs/initialization-utils-c2821271.js +0 -148
- package/dist/cjs/initialization-utils-c2821271.js.map +0 -1
- package/dist/cjs/props-utils-e4f29f1e.js +0 -1464
- package/dist/cjs/props-utils-e4f29f1e.js.map +0 -1
- package/dist/cjs/stencil-button-bf22eea4.js +0 -130
- package/dist/cjs/stencil-button-bf22eea4.js.map +0 -1
- package/dist/cjs/stencil-result-template-decorators-96954751.js +0 -114
- package/dist/cjs/stencil-result-template-decorators-96954751.js.map +0 -1
- package/dist/esm/_commonjsHelpers-1c8beb5f.js +0 -5
- package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +0 -1
- package/dist/esm/app-globals-0f993ce5.js +0 -5
- package/dist/esm/app-globals-0f993ce5.js.map +0 -1
- package/dist/esm/atomic-insight-result-action.entry.js +0 -149
- package/dist/esm/atomic-insight-result-action.entry.js.map +0 -1
- package/dist/esm/atomic-insight-result-children-template.entry.js +0 -218
- package/dist/esm/atomic-insight-result-children-template.entry.js.map +0 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +0 -786
- package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +0 -1
- package/dist/esm/atomic-stencil-facet-date-input.entry.js +0 -82
- package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +0 -1
- package/dist/esm/date-utils-3b955e79.js +0 -26
- package/dist/esm/date-utils-3b955e79.js.map +0 -1
- package/dist/esm/event-utils-8de63ec3.js +0 -24
- package/dist/esm/event-utils-8de63ec3.js.map +0 -1
- package/dist/esm/index-4d679e44.js +0 -1364
- package/dist/esm/index-4d679e44.js.map +0 -1
- package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js +0 -88
- package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js.map +0 -1
- package/dist/esm/initialization-utils-9ff399ff.js +0 -144
- package/dist/esm/initialization-utils-9ff399ff.js.map +0 -1
- package/dist/esm/props-utils-76043c82.js +0 -1457
- package/dist/esm/props-utils-76043c82.js.map +0 -1
- package/dist/esm/stencil-button-28de709c.js +0 -128
- package/dist/esm/stencil-button-28de709c.js.map +0 -1
- package/dist/esm/stencil-result-template-decorators-4c2e5132.js +0 -110
- package/dist/esm/stencil-result-template-decorators-4c2e5132.js.map +0 -1
- package/dist/types/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.d.ts +0 -14
- package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +0 -18
- package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +0 -20
- package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +0 -15
- package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +0 -13
- package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +0 -11
- package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +0 -14
- package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +0 -13
- package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +0 -14
- package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +0 -13
- package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +0 -9
- package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +0 -9
- package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +0 -10
- package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +0 -16
- package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +0 -9
- package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +0 -5
- package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +0 -19
- package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +0 -5
- package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +0 -20
- package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +0 -5
- package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +0 -17
- package/dist/types/components/common/facets/facet-placeholder/stencil-facet-placeholder.d.ts +0 -10
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +0 -11
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +0 -14
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +0 -14
- package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +0 -6
- package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +0 -17
- package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +0 -22
- package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +0 -6
- package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +0 -11
- package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +0 -10
- package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +0 -12
- package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +0 -10
- package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +0 -12
- package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +0 -12
- package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +0 -11
- package/dist/types/components/common/facets/stencil-facet-common.d.ts +0 -43
- package/dist/types/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.d.ts +0 -33
- package/dist/types/components/common/facets/stencil-facet-guard.d.ts +0 -12
- package/dist/types/components/common/facets/stencil-timeframe-facet-common.d.ts +0 -72
- package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +0 -58
- package/dist/types/components/common/generated-answer/generated-content/stencil-generated-markdown-content.d.ts +0 -10
- package/dist/types/components/common/generated-answer/generated-content/stencil-generated-text-content.d.ts +0 -10
- package/dist/types/components/common/generated-answer/stencil-copy-button.d.ts +0 -12
- package/dist/types/components/common/generated-answer/stencil-feedback-button.d.ts +0 -13
- package/dist/types/components/common/generated-answer/stencil-generated-content-container.d.ts +0 -11
- package/dist/types/components/common/generated-answer/stencil-retry-prompt.d.ts +0 -11
- package/dist/types/components/common/generated-answer/stencil-show-button.d.ts +0 -12
- package/dist/types/components/common/generated-answer/stencil-source-citations.d.ts +0 -10
- package/dist/types/components/common/interface/interface-common-stencil.d.ts +0 -34
- package/dist/types/components/common/interface/stencil-i18n.d.ts +0 -11
- package/dist/types/components/common/item-link/stencil-item-link.d.ts +0 -30
- package/dist/types/components/common/item-list/item-list-decorators.d.ts +0 -17
- package/dist/types/components/common/item-list/stencil-display-grid.d.ts +0 -17
- package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +0 -11
- package/dist/types/components/common/item-list/stencil-item-decorators.d.ts +0 -41
- package/dist/types/components/common/item-list/stencil-item-display-guard.d.ts +0 -10
- package/dist/types/components/common/item-list/stencil-item-list-common.d.ts +0 -31
- package/dist/types/components/common/item-list/stencil-item-list-guard.d.ts +0 -13
- package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +0 -14
- package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +0 -13
- package/dist/types/components/common/load-more/guard.d.ts +0 -10
- package/dist/types/components/common/load-more/stencil-button.d.ts +0 -13
- package/dist/types/components/common/load-more/stencil-container.d.ts +0 -5
- package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +0 -10
- package/dist/types/components/common/load-more/stencil-summary.d.ts +0 -13
- package/dist/types/components/common/no-items/stencil-container.d.ts +0 -5
- package/dist/types/components/common/no-items/stencil-guard.d.ts +0 -11
- package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +0 -5
- package/dist/types/components/common/no-items/stencil-no-items.d.ts +0 -12
- package/dist/types/components/common/no-items/stencil-tips.d.ts +0 -10
- package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +0 -33
- package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +0 -10
- package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +0 -26
- package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +0 -12
- package/dist/types/components/common/query-correction/stencil-correction.d.ts +0 -12
- package/dist/types/components/common/query-correction/stencil-guard.d.ts +0 -9
- package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +0 -13
- package/dist/types/components/common/query-error/stencil-container.d.ts +0 -5
- package/dist/types/components/common/query-error/stencil-description.d.ts +0 -13
- package/dist/types/components/common/query-error/stencil-details.d.ts +0 -10
- package/dist/types/components/common/query-error/stencil-guard.d.ts +0 -9
- package/dist/types/components/common/query-error/stencil-icon.d.ts +0 -9
- package/dist/types/components/common/query-error/stencil-link.d.ts +0 -11
- package/dist/types/components/common/query-error/stencil-show-more.d.ts +0 -13
- package/dist/types/components/common/query-error/stencil-title.d.ts +0 -12
- package/dist/types/components/common/query-summary/stencil-container.d.ts +0 -9
- package/dist/types/components/common/query-summary/stencil-guard.d.ts +0 -11
- package/dist/types/components/common/query-summary/stencil-utils.d.ts +0 -23
- package/dist/types/components/common/refine-modal/stencil-body.d.ts +0 -7
- package/dist/types/components/common/refine-modal/stencil-button.d.ts +0 -12
- package/dist/types/components/common/refine-modal/stencil-filters.d.ts +0 -20
- package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -11
- package/dist/types/components/common/refine-modal/stencil-modal.d.ts +0 -18
- package/dist/types/components/common/refine-modal/stencil-sort.d.ts +0 -11
- package/dist/types/components/common/result-children/stencil-children-wrapper.d.ts +0 -9
- package/dist/types/components/common/result-children/stencil-collection-guard.d.ts +0 -16
- package/dist/types/components/common/result-children/stencil-guard.d.ts +0 -11
- package/dist/types/components/common/result-children/stencil-show-hide-button.d.ts +0 -14
- package/dist/types/components/common/result-templates/stencil-result-template-common.d.ts +0 -24
- package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +0 -10
- package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +0 -22
- package/dist/types/components/common/search-box/stencil-submit-button.d.ts +0 -12
- package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +0 -12
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet/stencil-smart-snippet-common.d.ts +0 -31
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/stencil-smart-snippet-feedback-modal-common.d.ts +0 -57
- package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/stencil-smart-snippet-suggestions-common.d.ts +0 -43
- package/dist/types/components/common/smart-snippets/stencil-smart-snippet-feedback-banner.d.ts +0 -18
- package/dist/types/components/common/stencil-button-style.d.ts +0 -11
- package/dist/types/components/common/stencil-button.d.ts +0 -30
- package/dist/types/components/common/stencil-carousel.d.ts +0 -15
- package/dist/types/components/common/stencil-checkbox.d.ts +0 -22
- package/dist/types/components/common/stencil-fieldset-group.d.ts +0 -9
- package/dist/types/components/common/stencil-heading.d.ts +0 -7
- package/dist/types/components/common/stencil-hidden.d.ts +0 -5
- package/dist/types/components/common/stencil-iconButton.d.ts +0 -13
- package/dist/types/components/common/stencil-radio-button.d.ts +0 -12
- package/dist/types/components/common/stencil-switch.d.ts +0 -15
- package/dist/types/components/common/stencil-triStateCheckbox.d.ts +0 -11
- package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +0 -19
- package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +0 -32
- package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +0 -96
- package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +0 -50
- package/dist/types/components/search/facets/facet-segmented-value/stencil-facet-segmented-value.d.ts +0 -6
- package/dist/types/components/search/result-template-component-utils/context/stencil-result-template-decorators.d.ts +0 -32
- package/dist/types/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.d.ts +0 -14
- package/dist/types/utils/__mocks__/stencil-resource-url.d.ts +0 -1
- package/dist/types/utils/initialization-utils.d.ts +0 -70
- package/dist/types/utils/jsx-utils.d.ts +0 -6
- package/dist/types/utils/stencil-accessibility-utils.d.ts +0 -43
- package/dist/types/utils/stencil-asset-path-utils.d.ts +0 -1
- package/dist/types/utils/stencil-resource-url.d.ts +0 -1
- /package/dist/atomic/components/utils/{initialization-lit-stencil-common-utils.js → initialization-common-utils.js} +0 -0
- /package/dist/types/utils/{initialization-lit-stencil-common-utils.d.ts → initialization-common-utils.d.ts} +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { h, H as Host, g as getElement, f as forceUpdate } from './index-4d679e44.js';
|
|
2
|
-
import { i as initializeEventName, c as closest, M as MissingInterfaceParentError, e as enqueueOrDispatchInitializationEvent, a as initializableElements } from './initialization-lit-stencil-common-utils-e7755434.js';
|
|
3
|
-
import { b as buildCustomEvent } from './event-utils-8de63ec3.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated This component is no longer needed. For Lit components, render `nothing` instead.
|
|
7
|
-
*/
|
|
8
|
-
const Hidden = () => (h(Host, { class: "atomic-hidden" }));
|
|
9
|
-
|
|
10
|
-
const renderedAttribute = 'data-atomic-rendered';
|
|
11
|
-
const loadedAttribute = 'data-atomic-loaded';
|
|
12
|
-
/**
|
|
13
|
-
* A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.
|
|
14
|
-
* This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.
|
|
15
|
-
*
|
|
16
|
-
* Once a component is bound, the `initialize` method is called.
|
|
17
|
-
* In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.
|
|
18
|
-
*
|
|
19
|
-
* In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.
|
|
20
|
-
* This is possible by using the `BindStateToController` decorator.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* @InitializeBindings() public bindings!: Bindings;
|
|
24
|
-
*
|
|
25
|
-
* For more information and examples, view the "Utilities" section of the readme.
|
|
26
|
-
* @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.
|
|
27
|
-
*/
|
|
28
|
-
function InitializeBindings({ forceUpdate: forceUpdate$1, } = {}) {
|
|
29
|
-
return (component, bindingsProperty) => {
|
|
30
|
-
const { componentWillLoad, render, componentDidRender, componentDidLoad, disconnectedCallback, } = component;
|
|
31
|
-
let unsubscribeLanguage = () => { };
|
|
32
|
-
if (bindingsProperty !== 'bindings') {
|
|
33
|
-
return console.error(`The InitializeBindings decorator should be used on a property called "bindings", and not "${bindingsProperty}"`, component);
|
|
34
|
-
}
|
|
35
|
-
component.componentWillLoad = function () {
|
|
36
|
-
const element = getElement(this);
|
|
37
|
-
element.setAttribute(renderedAttribute, 'false');
|
|
38
|
-
element.setAttribute(loadedAttribute, 'false');
|
|
39
|
-
const event = buildCustomEvent(initializeEventName, (bindings) => {
|
|
40
|
-
this.bindings = bindings;
|
|
41
|
-
const updateLanguage = () => forceUpdate(this);
|
|
42
|
-
this.bindings.i18n.on('languageChanged', updateLanguage);
|
|
43
|
-
unsubscribeLanguage = () => this.bindings.i18n.off('languageChanged', updateLanguage);
|
|
44
|
-
try {
|
|
45
|
-
// When no controller is initialized, updating a property with a State() decorator, there will be no re-render.
|
|
46
|
-
// In this case, we have to manually trigger it.
|
|
47
|
-
if (this.initialize) {
|
|
48
|
-
this.initialize();
|
|
49
|
-
if (forceUpdate$1) {
|
|
50
|
-
forceUpdate(this);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
forceUpdate(this);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
this.error = e;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
const parent = closest(element, initializableElements.join(', '));
|
|
62
|
-
if (!parent) {
|
|
63
|
-
this.error = new MissingInterfaceParentError(element.nodeName.toLowerCase());
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
enqueueOrDispatchInitializationEvent(parent, event, element);
|
|
67
|
-
return componentWillLoad && componentWillLoad.call(this);
|
|
68
|
-
};
|
|
69
|
-
component.render = function () {
|
|
70
|
-
if (this.error) {
|
|
71
|
-
return (h("atomic-component-error", { element: getElement(this), error: this.error }));
|
|
72
|
-
}
|
|
73
|
-
if (!this.bindings) {
|
|
74
|
-
return h(Hidden, null);
|
|
75
|
-
}
|
|
76
|
-
getElement(this).setAttribute(renderedAttribute, 'true');
|
|
77
|
-
return render && render.call(this);
|
|
78
|
-
};
|
|
79
|
-
component.disconnectedCallback = function () {
|
|
80
|
-
const element = getElement(this);
|
|
81
|
-
element.setAttribute(renderedAttribute, 'false');
|
|
82
|
-
element.setAttribute(loadedAttribute, 'false');
|
|
83
|
-
unsubscribeLanguage();
|
|
84
|
-
disconnectedCallback && disconnectedCallback.call(this);
|
|
85
|
-
};
|
|
86
|
-
component.componentDidRender = function () {
|
|
87
|
-
const element = getElement(this);
|
|
88
|
-
if (element.getAttribute(renderedAttribute) === 'false') {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
componentDidRender && componentDidRender.call(this);
|
|
92
|
-
if (element.getAttribute(loadedAttribute) === 'false') {
|
|
93
|
-
element.setAttribute(loadedAttribute, 'true');
|
|
94
|
-
componentDidLoad && componentDidLoad.call(this);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
component.componentDidLoad = function () { };
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).
|
|
102
|
-
* This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* @BindStateToController('pager') @State() private pagerState!: PagerState;
|
|
106
|
-
*
|
|
107
|
-
* For more information and examples, view the "Utilities" section of the readme.
|
|
108
|
-
*
|
|
109
|
-
* @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.
|
|
110
|
-
* @param options The configurable `BindStateToController` options.
|
|
111
|
-
*
|
|
112
|
-
* @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'
|
|
113
|
-
*/
|
|
114
|
-
function BindStateToController(controllerProperty, options) {
|
|
115
|
-
return (component, stateProperty) => {
|
|
116
|
-
const { disconnectedCallback, initialize } = component;
|
|
117
|
-
component.initialize = function () {
|
|
118
|
-
initialize && initialize.call(this);
|
|
119
|
-
if (!initialize) {
|
|
120
|
-
return console.error(`ControllerState: The "initialize" method has to be defined and instantiate a controller for the property ${controllerProperty}`, component);
|
|
121
|
-
}
|
|
122
|
-
if (!this[controllerProperty]) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (options?.onUpdateCallbackMethod &&
|
|
126
|
-
!this[options.onUpdateCallbackMethod]) {
|
|
127
|
-
return console.error(`ControllerState: The onUpdateCallbackMethod property "${options.onUpdateCallbackMethod}" is not defined`, component);
|
|
128
|
-
}
|
|
129
|
-
this.unsubscribeController = this[controllerProperty].subscribe(() => {
|
|
130
|
-
this[stateProperty] = this[controllerProperty].state;
|
|
131
|
-
options?.onUpdateCallbackMethod &&
|
|
132
|
-
this[options.onUpdateCallbackMethod]();
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
component.disconnectedCallback = function () {
|
|
136
|
-
!getElement(this).isConnected && this.unsubscribeController?.();
|
|
137
|
-
disconnectedCallback && disconnectedCallback.call(this);
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export { BindStateToController as B, Hidden as H, InitializeBindings as I };
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=initialization-utils-9ff399ff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"initialization-utils-9ff399ff.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"version":3}
|