@coveo/atomic 3.62.0 → 3.64.0
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 +12960 -12663
- package/dist/cjs/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.cjs +1 -0
- package/dist/cjs/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.cjs +1 -1
- package/dist/cjs/components/commerce/atomic-commerce-facet/atomic-commerce-facet.cjs +1 -1
- package/dist/cjs/components/commerce/atomic-commerce-interface/atomic-commerce-interface.cjs +25 -4
- package/dist/cjs/components/commerce/atomic-commerce-pager/atomic-commerce-pager.cjs +3 -2
- package/dist/cjs/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.cjs +1 -1
- package/dist/cjs/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.cjs +25 -4
- package/dist/cjs/components/commerce/atomic-product-field-condition/atomic-product-field-condition.cjs +1 -4
- package/dist/cjs/components/commerce/atomic-product-template/atomic-product-template.cjs +15 -1
- package/dist/cjs/components/common/facets/facet-search/facet-search-aria-live.cjs +21 -8
- package/dist/cjs/components/common/interface/i18n.cjs +6 -2
- package/dist/cjs/components/common/interface/interface-controller.cjs +8 -4
- package/dist/cjs/components/common/pager/pager-fit-controller.cjs +72 -0
- package/dist/cjs/components/common/query-error/icon.cjs +7 -26
- package/dist/cjs/components/common/query-error/icons.cjs +68 -0
- package/dist/cjs/components/common/template-controller/template-utils.cjs +9 -0
- package/dist/cjs/components/insight/atomic-insight-facet/atomic-insight-facet.cjs +1 -1
- package/dist/cjs/components/insight/atomic-insight-pager/atomic-insight-pager.cjs +3 -2
- package/dist/cjs/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.cjs +1 -5
- package/dist/cjs/components/insight/atomic-insight-result-template/atomic-insight-result-template.cjs +15 -1
- package/dist/cjs/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.cjs +3 -3
- package/dist/cjs/components/recommendations/atomic-recs-result-template/atomic-recs-result-template.cjs +15 -1
- package/dist/cjs/components/search/atomic-category-facet/atomic-category-facet.cjs +1 -1
- package/dist/cjs/components/search/atomic-color-facet/atomic-color-facet.cjs +1 -1
- package/dist/cjs/components/search/atomic-facet/atomic-facet.cjs +1 -1
- package/dist/cjs/components/search/atomic-field-condition/atomic-field-condition.cjs +1 -4
- package/dist/cjs/components/search/atomic-pager/atomic-pager.cjs +3 -2
- package/dist/cjs/components/search/atomic-result-children-template/atomic-result-children-template.cjs +15 -1
- package/dist/cjs/components/search/atomic-result-date/atomic-result-date.cjs +11 -16
- package/dist/cjs/components/search/atomic-result-template/atomic-result-template.cjs +15 -1
- package/dist/cjs/components/search/atomic-results-per-page/atomic-results-per-page.cjs +1 -1
- package/dist/cjs/decorators/bind-state.cjs +38 -8
- package/dist/cjs/decorators/with-tailwind-styles.cjs +2 -1
- package/dist/cjs/generated/dayjs-locales-data.cjs +43 -43
- package/dist/cjs/global/environment.cjs +1 -1
- package/dist/cjs/utils/dayjs-locales.cjs +23 -9
- package/dist/cjs/utils/field-utils.cjs +5 -1
- package/dist/cjs/utils/init-queue.cjs +6 -4
- package/dist/cjs/utils/locale-utils.cjs +50 -0
- package/dist/cjs/utils/replace-breakpoint-utils.cjs +9 -4
- package/dist/cjs/versions.cjs +1 -1
- package/dist/esm/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -0
- package/dist/esm/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +1 -1
- package/dist/esm/components/commerce/atomic-commerce-facet/atomic-commerce-facet.js +1 -1
- package/dist/esm/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +25 -4
- package/dist/esm/components/commerce/atomic-commerce-pager/atomic-commerce-pager.js +3 -2
- package/dist/esm/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +1 -1
- package/dist/esm/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -4
- package/dist/esm/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -1
- package/dist/esm/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +2 -5
- package/dist/esm/components/commerce/atomic-product-template/atomic-product-template.js +16 -2
- package/dist/esm/components/common/facets/facet-search/facet-search-aria-live.js +21 -8
- package/dist/esm/components/common/interface/i18n.js +6 -2
- package/dist/esm/components/common/interface/interface-controller.js +8 -4
- package/dist/esm/components/common/pager/pager-fit-controller.js +34 -0
- package/dist/esm/components/common/query-error/icon.js +5 -23
- package/dist/esm/components/common/query-error/icons.js +17 -0
- package/dist/esm/components/common/template-controller/template-utils.js +7 -1
- package/dist/esm/components/insight/atomic-insight-facet/atomic-insight-facet.js +1 -1
- package/dist/esm/components/insight/atomic-insight-pager/atomic-insight-pager.js +3 -2
- package/dist/esm/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +1 -1
- package/dist/esm/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.js +2 -6
- package/dist/esm/components/insight/atomic-insight-result-template/atomic-insight-result-template.js +16 -2
- package/dist/esm/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.js +3 -3
- package/dist/esm/components/recommendations/atomic-recs-result-template/atomic-recs-result-template.js +16 -2
- package/dist/esm/components/search/atomic-category-facet/atomic-category-facet.js +1 -1
- package/dist/esm/components/search/atomic-color-facet/atomic-color-facet.js +1 -1
- package/dist/esm/components/search/atomic-facet/atomic-facet.js +1 -1
- package/dist/esm/components/search/atomic-field-condition/atomic-field-condition.js +2 -5
- package/dist/esm/components/search/atomic-pager/atomic-pager.js +3 -2
- package/dist/esm/components/search/atomic-result-children-template/atomic-result-children-template.js +16 -2
- package/dist/esm/components/search/atomic-result-date/atomic-result-date.js +10 -15
- package/dist/esm/components/search/atomic-result-template/atomic-result-template.js +16 -2
- package/dist/esm/components/search/atomic-results-per-page/atomic-results-per-page.js +1 -1
- package/dist/esm/components/search/atomic-search-box/atomic-search-box.js +1 -1
- package/dist/esm/decorators/bind-state.js +38 -8
- package/dist/esm/decorators/with-tailwind-styles.js +2 -1
- package/dist/esm/generated/dayjs-locales-data.js +43 -43
- package/dist/esm/global/environment.js +1 -1
- package/dist/esm/utils/dayjs-locales.js +23 -9
- package/dist/esm/utils/field-utils.js +5 -1
- package/dist/esm/utils/init-queue.js +6 -4
- package/dist/esm/utils/locale-utils.js +12 -0
- package/dist/esm/utils/replace-breakpoint-utils.js +9 -4
- package/dist/esm/versions.js +1 -1
- package/dist/lang/cs.json +1 -1
- package/dist/lang/da.json +1 -1
- package/dist/lang/de.json +1 -1
- package/dist/lang/el.json +1 -1
- package/dist/lang/es.json +1 -1
- package/dist/lang/fi.json +1 -1
- package/dist/lang/hu.json +1 -1
- package/dist/lang/id.json +1 -1
- package/dist/lang/it.json +1 -1
- package/dist/lang/ja.json +1 -1
- package/dist/lang/ko.json +1 -1
- package/dist/lang/nl.json +1 -1
- package/dist/lang/no.json +1 -1
- package/dist/lang/pl.json +1 -1
- package/dist/lang/pt-BR.json +1 -1
- package/dist/lang/pt.json +1 -1
- package/dist/lang/ru.json +1 -1
- package/dist/lang/sv.json +1 -1
- package/dist/lang/th.json +1 -1
- package/dist/lang/tr.json +1 -1
- package/dist/lang/zh-CN.json +1 -1
- package/dist/lang/zh-TW.json +1 -1
- package/dist/lang/zh.json +1 -1
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +17 -0
- package/dist/types/components/commerce/atomic-commerce-pager/atomic-commerce-pager.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +13 -0
- package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +12 -0
- package/dist/types/components/common/atomic-smart-snippet-source/atomic-smart-snippet-source.d.ts +4 -4
- package/dist/types/components/common/facets/facet-search/facet-search-aria-live.d.ts +7 -1
- package/dist/types/components/common/interface/i18n.d.ts +9 -5
- package/dist/types/components/common/pager/pager-fit-controller.d.ts +21 -0
- package/dist/types/components/common/query-error/icon.d.ts +6 -0
- package/dist/types/components/common/query-error/icons.d.ts +5 -0
- package/dist/types/components/common/suggestions/suggestion-manager.d.ts +1 -1
- package/dist/types/components/common/suggestions/suggestions-types.d.ts +1 -1
- package/dist/types/components/common/template-controller/template-utils.d.ts +7 -0
- package/dist/types/components/insight/atomic-insight-interface/atomic-insight-interface.d.ts +4 -0
- package/dist/types/components/insight/atomic-insight-pager/atomic-insight-pager.d.ts +1 -0
- package/dist/types/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +4 -4
- package/dist/types/components/insight/atomic-insight-result-template/atomic-insight-result-template.d.ts +12 -0
- package/dist/types/components/recommendations/atomic-recs-interface/atomic-recs-interface.d.ts +4 -0
- package/dist/types/components/recommendations/atomic-recs-result-template/atomic-recs-result-template.d.ts +12 -0
- package/dist/types/components/search/atomic-pager/atomic-pager.d.ts +1 -0
- package/dist/types/components/search/atomic-result-children-template/atomic-result-children-template.d.ts +12 -0
- package/dist/types/components/search/atomic-result-date/atomic-result-date.d.ts +3 -0
- package/dist/types/components/search/atomic-result-template/atomic-result-template.d.ts +12 -0
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +4 -0
- package/dist/types/utils/dayjs-locales.d.ts +1 -1
- package/dist/types/utils/field-utils.d.ts +1 -1
- package/dist/types/utils/init-queue.d.ts +3 -2
- package/dist/types/utils/locale-utils.d.ts +7 -0
- package/docs/adr/0001-group-shared-modules-in-one-cdn-chunk.md +147 -0
- package/package.json +6 -6
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
function withCountry(language, country) {
|
|
31
|
+
if (!country) return language;
|
|
32
|
+
try {
|
|
33
|
+
if (new Intl.Locale(language).region) return language;
|
|
34
|
+
return new Intl.Locale(language, {
|
|
35
|
+
region: country
|
|
36
|
+
}).toString();
|
|
37
|
+
} catch {
|
|
38
|
+
return language;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
42
|
+
withCountry: ()=>withCountry
|
|
43
|
+
});
|
|
44
|
+
exports.withCountry = __webpack_exports__.withCountry;
|
|
45
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
46
|
+
"withCountry"
|
|
47
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
48
|
+
Object.defineProperty(exports, '__esModule', {
|
|
49
|
+
value: true
|
|
50
|
+
});
|
|
@@ -38,11 +38,16 @@ function replaceMediaQuery(style, mobileBreakpoint) {
|
|
|
38
38
|
return style.replace(regex, `(width >= ${mobileBreakpoint})`);
|
|
39
39
|
}
|
|
40
40
|
function replaceStyleSheet(element, mobileBreakpoint) {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const shadowRoot = element.shadowRoot;
|
|
42
|
+
const [stylesheet, ...otherStylesheets] = shadowRoot?.adoptedStyleSheets ?? [];
|
|
43
|
+
if (!shadowRoot || !stylesheet) return;
|
|
44
44
|
const style = Object.values(stylesheet.cssRules).map((rule)=>rule.cssText).join('');
|
|
45
|
-
|
|
45
|
+
const replacedStylesheet = new CSSStyleSheet();
|
|
46
|
+
replacedStylesheet.replaceSync(replaceMediaQuery(style, mobileBreakpoint));
|
|
47
|
+
shadowRoot.adoptedStyleSheets = [
|
|
48
|
+
replacedStylesheet,
|
|
49
|
+
...otherStylesheets
|
|
50
|
+
];
|
|
46
51
|
}
|
|
47
52
|
function replateStyleContent(element, breakpoint) {
|
|
48
53
|
const styleTag = element.shadowRoot?.querySelector('style');
|
package/dist/cjs/versions.cjs
CHANGED
|
@@ -32,7 +32,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
headlessVersion: ()=>package_json_namespaceObject.version
|
|
33
33
|
});
|
|
34
34
|
const package_json_namespaceObject = require("@coveo/headless/package.json");
|
|
35
|
-
const atomicVersion = "3.
|
|
35
|
+
const atomicVersion = "3.64.0";
|
|
36
36
|
exports.atomicVersion = __webpack_exports__.atomicVersion;
|
|
37
37
|
exports.headlessVersion = __webpack_exports__.headlessVersion;
|
|
38
38
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -42,7 +42,7 @@ function _ts_metadata(metadataKey, metadataValue) {
|
|
|
42
42
|
class AtomicCommerceCategoryFacet extends LitElement {
|
|
43
43
|
initialize() {
|
|
44
44
|
this.validateFacet();
|
|
45
|
-
this.facet && announceFacetSearchResultsWithAriaLive(this.facet, this.displayName, (msg)=>{
|
|
45
|
+
this.facet && announceFacetSearchResultsWithAriaLive(this, this.facet, this.displayName, (msg)=>{
|
|
46
46
|
this.facetSearchAriaMessage.message = msg;
|
|
47
47
|
}, this.bindings.i18n);
|
|
48
48
|
}
|
|
@@ -196,7 +196,7 @@ class AtomicCommerceFacet extends LitElement {
|
|
|
196
196
|
if (!this.headerFocus) this.headerFocus = new FocusTargetController(this, this.bindings);
|
|
197
197
|
}
|
|
198
198
|
initAriaLive() {
|
|
199
|
-
announceFacetSearchResultsWithAriaLive(this.facet, this.displayName, (msg)=>{
|
|
199
|
+
announceFacetSearchResultsWithAriaLive(this, this.facet, this.displayName, (msg)=>{
|
|
200
200
|
this.ariaLiveRegion.message = msg;
|
|
201
201
|
}, this.bindings.i18n);
|
|
202
202
|
}
|
|
@@ -16,6 +16,7 @@ import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-com
|
|
|
16
16
|
import { markParentAsReady } from "../../../utils/init-queue.js";
|
|
17
17
|
import { waitForAtomicChildrenToBeDefined } from "../../../utils/initialization-common-utils.js";
|
|
18
18
|
import { SafeStorage, StorageItems } from "../../../utils/local-storage-utils.js";
|
|
19
|
+
import { withCountry } from "../../../utils/locale-utils.js";
|
|
19
20
|
import { getAnalyticsConfig } from "./analytics-config.js";
|
|
20
21
|
import { createCommerceStore } from "./store.js";
|
|
21
22
|
function _ts_decorate(decorators, target, key, desc) {
|
|
@@ -72,7 +73,7 @@ class AtomicCommerceInterface extends ChildrenUpdateCompleteMixin(LitElement) {
|
|
|
72
73
|
}
|
|
73
74
|
updateLocale(language, country, currency) {
|
|
74
75
|
if (!this.interfaceController.engineIsCreated(this.engine) || !this.context) return;
|
|
75
|
-
language && this.interfaceController.onLanguageChange(language);
|
|
76
|
+
if (language || country && this.localizeWithCountry) this.interfaceController.onLanguageChange(this.getLocale(language || this.context.state.language, country || this.context.state.country));
|
|
76
77
|
if (this.isNewLocale(language, country, currency)) {
|
|
77
78
|
const { setContext } = loadContextActions(this.engine);
|
|
78
79
|
this.engine.dispatch(setContext({
|
|
@@ -97,7 +98,11 @@ class AtomicCommerceInterface extends ChildrenUpdateCompleteMixin(LitElement) {
|
|
|
97
98
|
if (!this.interfaceController.engineIsCreated(this.engine) || !this.language || !this.context) return;
|
|
98
99
|
this.engine.logger.warn('The `language` property will be removed in the next major version of Atomic (v4). Rather than using this property, set the initial language through the engine configuration when calling `initialize` or `initializeWithEngine`, and update the language as needed using the `updateLocale` method.');
|
|
99
100
|
this.context.setLanguage(this.language);
|
|
100
|
-
return this.interfaceController.onLanguageChange();
|
|
101
|
+
return this.interfaceController.onLanguageChange(this.getLocale(this.language, this.context.state.country));
|
|
102
|
+
}
|
|
103
|
+
toggleLocalizeWithCountry() {
|
|
104
|
+
if (!this.context) return;
|
|
105
|
+
this.interfaceController.onLanguageChange(this.getLocale(this.context.state.language, this.context.state.country));
|
|
101
106
|
}
|
|
102
107
|
updateIconAssetsPath() {
|
|
103
108
|
this.store.state.iconAssetsPath = this.iconAssetsPath;
|
|
@@ -138,7 +143,10 @@ class AtomicCommerceInterface extends ChildrenUpdateCompleteMixin(LitElement) {
|
|
|
138
143
|
}
|
|
139
144
|
initLanguage() {
|
|
140
145
|
if (!this.context || this.language) return;
|
|
141
|
-
this.interfaceController.onLanguageChange(this.context.state.language);
|
|
146
|
+
this.interfaceController.onLanguageChange(this.getLocale(this.context.state.language, this.context.state.country));
|
|
147
|
+
}
|
|
148
|
+
getLocale(language, country) {
|
|
149
|
+
return this.localizeWithCountry ? withCountry(language, country) : language;
|
|
142
150
|
}
|
|
143
151
|
initRequestStatus() {
|
|
144
152
|
this.searchOrListing = 'product-listing' === this.type ? buildProductListing(this.engine) : buildSearch(this.engine);
|
|
@@ -202,7 +210,7 @@ class AtomicCommerceInterface extends ChildrenUpdateCompleteMixin(LitElement) {
|
|
|
202
210
|
this.bindings.engine.logger.info(`History pushState #${newFragment}`);
|
|
203
211
|
}
|
|
204
212
|
constructor(){
|
|
205
|
-
super(), this.bindings = {}, this.unsubscribeUrlManager = ()=>{}, this.unsubscribeSummary = ()=>{}, this.initialized = false, this.interfaceController = new InterfaceController(this, 'CoveoAtomic', VERSION), this.type = 'search', this.analytics = true, this.reflectStateInUrl = true, this.disableStateReflectionInUrl = false, this.scrollContainer = 'atomic-commerce-interface', this.languageAssetsPath = './lang', this.iconAssetsPath = './assets', this.handleInitialization = (event)=>{
|
|
213
|
+
super(), this.bindings = {}, this.unsubscribeUrlManager = ()=>{}, this.unsubscribeSummary = ()=>{}, this.initialized = false, this.interfaceController = new InterfaceController(this, 'CoveoAtomic', VERSION), this.type = 'search', this.analytics = true, this.localizeWithCountry = false, this.reflectStateInUrl = true, this.disableStateReflectionInUrl = false, this.scrollContainer = 'atomic-commerce-interface', this.languageAssetsPath = './lang', this.iconAssetsPath = './assets', this.handleInitialization = (event)=>{
|
|
206
214
|
this.interfaceController.onComponentInitializing(event);
|
|
207
215
|
}, this.onHashChange = ()=>{
|
|
208
216
|
this.urlManager.synchronize(this.fragment);
|
|
@@ -264,6 +272,13 @@ _ts_decorate([
|
|
|
264
272
|
}),
|
|
265
273
|
_ts_metadata("design:type", String)
|
|
266
274
|
], AtomicCommerceInterface.prototype, "language", void 0);
|
|
275
|
+
_ts_decorate([
|
|
276
|
+
property({
|
|
277
|
+
type: Boolean,
|
|
278
|
+
attribute: 'localize-with-country',
|
|
279
|
+
reflect: true
|
|
280
|
+
})
|
|
281
|
+
], AtomicCommerceInterface.prototype, "localizeWithCountry", void 0);
|
|
267
282
|
_ts_decorate([
|
|
268
283
|
property({
|
|
269
284
|
type: Object,
|
|
@@ -319,6 +334,12 @@ _ts_decorate([
|
|
|
319
334
|
_ts_metadata("design:paramtypes", []),
|
|
320
335
|
_ts_metadata("design:returntype", void 0)
|
|
321
336
|
], AtomicCommerceInterface.prototype, "updateLanguage", null);
|
|
337
|
+
_ts_decorate([
|
|
338
|
+
watch('localizeWithCountry'),
|
|
339
|
+
_ts_metadata("design:type", Function),
|
|
340
|
+
_ts_metadata("design:paramtypes", []),
|
|
341
|
+
_ts_metadata("design:returntype", void 0)
|
|
342
|
+
], AtomicCommerceInterface.prototype, "toggleLocalizeWithCountry", null);
|
|
322
343
|
_ts_decorate([
|
|
323
344
|
watch('iconAssetsPath'),
|
|
324
345
|
_ts_metadata("design:type", Function),
|
|
@@ -7,6 +7,7 @@ import { when } from "lit/directives/when.js";
|
|
|
7
7
|
import { createAppLoadedListener } from "../../common/interface/store.js";
|
|
8
8
|
import { renderPageButtons, renderPagerNextButton, renderPagerPageButton, renderPagerPreviousButton } from "../../common/pager/pager-buttons.js";
|
|
9
9
|
import { renderPagerNavigation } from "../../common/pager/pager-navigation.js";
|
|
10
|
+
import { PagerFitController } from "../../common/pager/pager-fit-controller.js";
|
|
10
11
|
import { getCurrentPagesRange } from "../../common/pager/pager-utils.js";
|
|
11
12
|
import { ValidatePropsController } from "../../common/validate-props-controller/validate-props-controller.js";
|
|
12
13
|
import { bindStateToController } from "../../../decorators/bind-state.js";
|
|
@@ -38,7 +39,7 @@ class AtomicCommercePager extends LitElement {
|
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
render() {
|
|
41
|
-
const pagesRange = getCurrentPagesRange(this.pagerState.page, this.numberOfPages, this.pagerState.totalPages - 1);
|
|
42
|
+
const pagesRange = getCurrentPagesRange(this.pagerState.page, this.pagerFit.getNumberOfPagesToDisplay(this.numberOfPages), this.pagerState.totalPages - 1);
|
|
42
43
|
return html`
|
|
43
44
|
${when(this.pagerState.totalPages > 1 && this.isAppLoaded, ()=>html`
|
|
44
45
|
${renderPagerNavigation({
|
|
@@ -109,7 +110,7 @@ class AtomicCommercePager extends LitElement {
|
|
|
109
110
|
});
|
|
110
111
|
}
|
|
111
112
|
constructor(){
|
|
112
|
-
super(), this.isAppLoaded = false, this.numberOfPages = 5, this.previousButtonIcon = arrow_left_rounded, this.nextButtonIcon = arrow_right_rounded, this.ariaMessage = new AriaLiveRegionController(this, 'atomic-pager');
|
|
113
|
+
super(), this.isAppLoaded = false, this.numberOfPages = 5, this.previousButtonIcon = arrow_left_rounded, this.nextButtonIcon = arrow_right_rounded, this.ariaMessage = new AriaLiveRegionController(this, 'atomic-pager'), this.pagerFit = new PagerFitController(this);
|
|
113
114
|
new ValidatePropsController(this, ()=>({
|
|
114
115
|
numberOfPages: this.numberOfPages
|
|
115
116
|
}), AtomicCommercePager.propsSchema);
|
|
@@ -48,7 +48,7 @@ class AtomicCommerceProductsPerPage extends LitElement {
|
|
|
48
48
|
render() {
|
|
49
49
|
return html`
|
|
50
50
|
${when(!this.summaryState.hasError && this.summaryState.hasProducts && this.isAppLoaded, ()=>html`
|
|
51
|
-
<div class="flex items-center">
|
|
51
|
+
<div class="flex flex-wrap items-center">
|
|
52
52
|
${renderLabel()(html`${this.label}`)}
|
|
53
53
|
${renderFieldsetGroup({
|
|
54
54
|
props: {
|
|
@@ -10,6 +10,7 @@ import { withTailwindStyles } from "../../../decorators/with-tailwind-styles.js"
|
|
|
10
10
|
import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin.js";
|
|
11
11
|
import { markParentAsReady } from "../../../utils/init-queue.js";
|
|
12
12
|
import { waitForAtomicChildrenToBeDefined } from "../../../utils/initialization-common-utils.js";
|
|
13
|
+
import { withCountry } from "../../../utils/locale-utils.js";
|
|
13
14
|
import { bindingsContext } from "../../common/context/bindings-context.js";
|
|
14
15
|
import { augmentAnalyticsConfigWithAtomicVersion } from "../../common/interface/analytics-config.js";
|
|
15
16
|
import { InterfaceController } from "../../common/interface/interface-controller.js";
|
|
@@ -40,7 +41,7 @@ class AtomicCommerceRecommendationInterface extends ChildrenUpdateCompleteMixin(
|
|
|
40
41
|
}
|
|
41
42
|
updateLocale(language, country, currency) {
|
|
42
43
|
if (!this.interfaceController.engineIsCreated(this.engine) || !this.context) return;
|
|
43
|
-
language && this.interfaceController.onLanguageChange(language);
|
|
44
|
+
if (language || country && this.localizeWithCountry) this.interfaceController.onLanguageChange(this.getLocale(language || this.context.state.language, country || this.context.state.country));
|
|
44
45
|
if (this.isNewLocale(language, country, currency)) {
|
|
45
46
|
const { setContext } = loadContextActions(this.engine);
|
|
46
47
|
this.engine.dispatch(setContext({
|
|
@@ -63,11 +64,15 @@ class AtomicCommerceRecommendationInterface extends ChildrenUpdateCompleteMixin(
|
|
|
63
64
|
updateIconAssetsPath() {
|
|
64
65
|
this.store.state.iconAssetsPath = this.iconAssetsPath;
|
|
65
66
|
}
|
|
67
|
+
toggleLocalizeWithCountry() {
|
|
68
|
+
if (!this.context) return;
|
|
69
|
+
this.interfaceController.onLanguageChange(this.getLocale(this.context.state.language, this.context.state.country));
|
|
70
|
+
}
|
|
66
71
|
async updateLanguage() {
|
|
67
72
|
if (!this.interfaceController.engineIsCreated(this.engine) || !this.language || !this.context) return;
|
|
68
73
|
this.engine.logger.warn('The `language` property will be removed in the next major version of Atomic (v4). Rather than using this property, set the initial language through the engine configuration when calling `initializeWithEngine`, and update the language as needed using the `updateLocale` method.');
|
|
69
74
|
this.context.setLanguage(this.language);
|
|
70
|
-
return this.interfaceController.onLanguageChange();
|
|
75
|
+
return this.interfaceController.onLanguageChange(this.getLocale(this.language, this.context.state.country));
|
|
71
76
|
}
|
|
72
77
|
disconnectedCallback() {
|
|
73
78
|
super.disconnectedCallback();
|
|
@@ -108,14 +113,17 @@ class AtomicCommerceRecommendationInterface extends ChildrenUpdateCompleteMixin(
|
|
|
108
113
|
}
|
|
109
114
|
initLanguage() {
|
|
110
115
|
if (!this.context || this.language) return;
|
|
111
|
-
this.interfaceController.onLanguageChange(this.context.state.language);
|
|
116
|
+
this.interfaceController.onLanguageChange(this.getLocale(this.context.state.language, this.context.state.country));
|
|
117
|
+
}
|
|
118
|
+
getLocale(language, country) {
|
|
119
|
+
return this.localizeWithCountry ? withCountry(language, country) : language;
|
|
112
120
|
}
|
|
113
121
|
isNewLocale(language, country, currency) {
|
|
114
122
|
if (!this.context) return false;
|
|
115
123
|
return language && language !== this.context.state.language || country && country !== this.context.state.country || currency && currency !== this.context.state.currency;
|
|
116
124
|
}
|
|
117
125
|
constructor(){
|
|
118
|
-
super(), this.bindings = {}, this.interfaceController = new InterfaceController(this, 'CoveoAtomic', VERSION), this.scrollContainer = 'atomic-commerce-recommendation-interface', this.languageAssetsPath = './lang', this.iconAssetsPath = './assets', this.analytics = true, this.handleInitialization = (event)=>{
|
|
126
|
+
super(), this.bindings = {}, this.interfaceController = new InterfaceController(this, 'CoveoAtomic', VERSION), this.scrollContainer = 'atomic-commerce-recommendation-interface', this.languageAssetsPath = './lang', this.iconAssetsPath = './assets', this.localizeWithCountry = false, this.analytics = true, this.handleInitialization = (event)=>{
|
|
119
127
|
this.interfaceController.onComponentInitializing(event);
|
|
120
128
|
};
|
|
121
129
|
this.store = createCommerceRecommendationStore();
|
|
@@ -183,6 +191,13 @@ _ts_decorate([
|
|
|
183
191
|
}),
|
|
184
192
|
_ts_metadata("design:type", String)
|
|
185
193
|
], AtomicCommerceRecommendationInterface.prototype, "language", void 0);
|
|
194
|
+
_ts_decorate([
|
|
195
|
+
property({
|
|
196
|
+
type: Boolean,
|
|
197
|
+
attribute: 'localize-with-country',
|
|
198
|
+
reflect: true
|
|
199
|
+
})
|
|
200
|
+
], AtomicCommerceRecommendationInterface.prototype, "localizeWithCountry", void 0);
|
|
186
201
|
_ts_decorate([
|
|
187
202
|
property({
|
|
188
203
|
type: Boolean,
|
|
@@ -203,6 +218,12 @@ _ts_decorate([
|
|
|
203
218
|
_ts_metadata("design:paramtypes", []),
|
|
204
219
|
_ts_metadata("design:returntype", void 0)
|
|
205
220
|
], AtomicCommerceRecommendationInterface.prototype, "updateIconAssetsPath", null);
|
|
221
|
+
_ts_decorate([
|
|
222
|
+
watch('localizeWithCountry'),
|
|
223
|
+
_ts_metadata("design:type", Function),
|
|
224
|
+
_ts_metadata("design:paramtypes", []),
|
|
225
|
+
_ts_metadata("design:returntype", void 0)
|
|
226
|
+
], AtomicCommerceRecommendationInterface.prototype, "toggleLocalizeWithCountry", null);
|
|
206
227
|
_ts_decorate([
|
|
207
228
|
watch('language'),
|
|
208
229
|
_ts_metadata("design:type", Function),
|
package/dist/esm/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js
CHANGED
|
@@ -398,7 +398,7 @@ AtomicCommerceSearchBox.shadowRootOptions = {
|
|
|
398
398
|
...LitElement.shadowRootOptions,
|
|
399
399
|
delegatesFocus: true
|
|
400
400
|
};
|
|
401
|
-
AtomicCommerceSearchBox.styles = css`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme;@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,var(--atomic-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"));font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{display:block}:host,button,input,select{font-family:var(--atomic-font-family);font-size:var(--atomic-text-base);line-height:var(--tw-leading,1.5);--tw-font-weight:var(--atomic-font-normal);font-weight:var(--atomic-font-normal)}button{cursor:pointer}:host(.atomic-hidden){display:none}.ripple{pointer-events:none;animation:ripple var(--animation-duration) linear;border-radius:50%;position:absolute;transform:scale(0)}.ripple-relative{position:relative}.ripple-parent{overflow:hidden}@keyframes ripple{to{opacity:0;transform:scale(4)}}}@layer components{.input-primary{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);background-color:var(--atomic-background)}@media (hover:hover){.input-primary:hover{border-color:var(--atomic-primary-light)}}.input-primary:focus-visible{border-color:var(--atomic-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-radio{appearance:none}.btn-radio:before{--tw-content:attr(value);content:var(--tw-content)}.btn-primary{border-radius:var(--atomic-border-radius);background-color:var(--atomic-primary);color:var(--atomic-on-primary)}@media (hover:hover){.btn-primary:hover{background-color:var(--atomic-primary-light)}}.btn-primary:focus-visible{background-color:var(--atomic-primary-light);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-primary:disabled{cursor:not-allowed;background-color:var(--atomic-disabled)}.btn-outline-primary{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);background-color:var(--atomic-background);color:var(--atomic-primary)}@media (hover:hover){.btn-outline-primary:hover{border-color:var(--atomic-primary-light);color:var(--atomic-primary-light)}}.btn-outline-primary:focus-visible{border-color:var(--atomic-primary);color:var(--atomic-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-outline-primary:disabled{cursor:not-allowed;border-color:var(--atomic-neutral);color:var(--atomic-neutral)}.btn-text-primary{border-radius:var(--atomic-border-radius);background-color:var(--atomic-background);color:var(--atomic-primary)}@media (hover:hover){.btn-text-primary:hover{background-color:var(--atomic-neutral-light)}}.btn-text-primary:focus-visible{background-color:var(--atomic-neutral-light);--tw-outline-style:none;outline-style:none}.btn-outline-neutral{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);background-color:var(--atomic-background);color:var(--atomic-on-background)}@media (hover:hover){.btn-outline-neutral:hover{border-color:var(--atomic-primary);color:var(--atomic-primary)}}.btn-outline-neutral:focus-visible{border-color:var(--atomic-primary);color:var(--atomic-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-outline-neutral:disabled{cursor:not-allowed;opacity:.5}.btn-outline-bg-neutral,.btn-outline-neutral:disabled{border-color:var(--atomic-neutral);color:var(--atomic-on-background)}.btn-outline-bg-neutral{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;background-color:var(--atomic-background)}@media (hover:hover){.btn-outline-bg-neutral:hover{border-color:var(--atomic-primary);background-color:var(--atomic-neutral-light);color:var(--atomic-primary)}}.btn-outline-bg-neutral:focus-visible{border-color:var(--atomic-primary);background-color:var(--atomic-neutral-light);color:var(--atomic-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-outline-bg-neutral:disabled{cursor:not-allowed;opacity:.5}.btn-outline-bg-error,.btn-outline-bg-neutral:disabled{border-color:var(--atomic-neutral);color:var(--atomic-on-background)}.btn-outline-bg-error{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;background-color:var(--atomic-background)}@media (hover:hover){.btn-outline-bg-error:hover{border-color:var(--atomic-primary);background-color:var(--atomic-neutral-light);color:var(--atomic-primary)}}.btn-outline-bg-error:focus-visible{border-color:var(--atomic-primary);background-color:var(--atomic-neutral-light);color:var(--atomic-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-outline-bg-error:disabled{cursor:not-allowed;opacity:.5}.btn-outline-bg-error:disabled,.btn-outline-error{border-color:var(--atomic-neutral);color:var(--atomic-on-background)}.btn-outline-error{border-radius:var(--atomic-border-radius);border-style:var(--tw-border-style);border-width:1px;background-color:var(--atomic-background)}@media (hover:hover){.btn-outline-error:hover{border-color:var(--atomic-error);color:var(--atomic-error)}}.btn-outline-error:focus-visible{border-color:var(--atomic-error);color:var(--atomic-error);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--atomic-ring-primary);--tw-outline-style:none;outline-style:none}.btn-outline-error:disabled{cursor:not-allowed;border-color:var(--atomic-neutral);color:var(--atomic-on-background);opacity:.5}.btn-text-neutral{border-radius:var(--atomic-border-radius);background-color:var(--atomic-background);color:var(--atomic-on-background)}@media (hover:hover){.btn-text-neutral:hover{background-color:var(--atomic-neutral-light);color:var(--atomic-primary)}}.btn-text-neutral:focus-visible{background-color:var(--atomic-neutral-light);color:var(--atomic-primary);--tw-outline-style:none;outline-style:none}.btn-text-transparent{color:var(--atomic-on-background)}@media (hover:hover){.btn-text-transparent:hover{color:var(--atomic-primary-light)}}.btn-text-transparent:focus-visible{color:var(--atomic-primary-light)}.btn-square-neutral{border-style:var(--tw-border-style);border-width:1px;border-color:var(--atomic-neutral);background-color:var(--atomic-background);color:var(--atomic-on-background)}@media (hover:hover){.btn-square-neutral:hover{background-color:var(--atomic-neutral-light)}}.btn-square-neutral:focus-visible{background-color:var(--atomic-neutral-light);--tw-outline-style:none;outline-style:none}.btn-page{border-style:var(--tw-border-style);width:2.5rem;height:2.5rem;font-size:var(--atomic-text-lg);line-height:var(--tw-leading,1.55556);border-width:0;place-items:center;display:grid}@media (hover:hover){.btn-page:hover{border-style:var(--tw-border-style);border-width:1px}}.btn-page:focus-visible{border-style:var(--tw-border-style);border-width:1px}.btn-page.selected{border-style:var(--tw-border-style);border-width:2px;border-color:var(--atomic-primary);--tw-font-weight:var(--atomic-font-bold);font-weight:var(--atomic-font-bold)}}@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.-top-2{top:-.5rem}.-top-4{top:-1rem}.top-0{top:0}.top-1\\/2{top:50%}.top-\\[4px\\]{top:4px}.top-full{top:100%}.top-px{top:1px}.-right-2{right:-.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-6{right:1.5rem}.right-12{right:3rem}.right-px{right:1px}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-px{bottom:1px}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-\\[15px\\]{left:15px}.isolate{isolation:isolate}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-9998{z-index:9998}.z-9999{z-index:9999}.order-last{order:9999}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.container{width:100%}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (min-width:1024px){.container\\!{max-width:1024px!important}}@media (min-width:40rem){.container\\!{max-width:40rem!important}}@media (min-width:48rem){.container\\!{max-width:48rem!important}}@media (min-width:64rem){.container\\!{max-width:64rem!important}}@media (min-width:80rem){.container\\!{max-width:80rem!important}}@media (min-width:96rem){.container\\!{max-width:96rem!important}}.m-0{margin:0}.m-2{margin:.5rem}.mx-0{margin-inline:0}.mx-0\\.5{margin-inline:.125rem}.mx-1{margin-inline:.25rem}.mx-6{margin-inline:1.5rem}.mx-16{margin-inline:4rem}.mx-auto{margin-inline:auto}.-my-2{margin-block:-.5rem}.my-1\\.5{margin-block:.375rem}.my-2{margin-block:.5rem}.my-3{margin-block:.75rem}.my-4{margin-block:1rem}.my-6{margin-block:1.5rem}.my-auto{margin-block:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-6{margin-right:1.5rem}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-column{display:table-column}.aspect-square-\\[auto\\]{aspect-ratio:1;height:auto}@supports not (aspect-ratio:1/1){.aspect-square-\\[auto\\]{height:auto}}.aspect-square{aspect-ratio:1}.size-\\[27px\\]{width:27px;height:27px}.h-1{height:.25rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-5\\/6{height:83.3333%}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-\\[1lh\\]{height:1lh}.h-\\[2\\.6rem\\]{height:2.6rem}.h-\\[9px\\]{height:9px}.h-auto{height:auto}.h-full{height:100%}.max-h-96{max-height:24rem}.min-h-3{min-height:.75rem}.min-h-5{min-height:1.25rem}.min-h-10{min-height:2.5rem}.min-lines-2{min-height:calc(var(--line-height)*2)}.min-lines-3{min-height:calc(var(--line-height)*3)}.w-0\\.5{width:.125rem}.w-1{width:.25rem}.w-1\\/2{width:50%}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5{width:1.25rem}.w-5\\/6{width:83.3333%}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-26{width:6.5rem}.w-32{width:8rem}.w-36{width:9rem}.w-48{width:12rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-100{width:25rem}.w-\\[2\\.6rem\\]{width:2.6rem}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-4\\/5{max-width:80%}.max-w-60{max-width:15rem}.max-w-\\[30ch\\]{max-width:30ch}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-20{min-width:5rem}.min-w-24{min-width:6rem}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\\/2{flex-basis:50%}.basis-8{flex-basis:2rem}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-x-1\\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\\/2{--tw-translate-x:50%}.-translate-y-1\\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%}.scale-100,.scale-75{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-\\[inherit\\]{cursor:inherit}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.\\[scrollbar-gutter\\:stable_both-edges\\]{scrollbar-gutter:stable both-edges}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-\\[10px_1fr\\]{grid-template-columns:10px 1fr}.grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.grid-cols-\\[min-content_auto\\]{grid-template-columns:min-content auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem*var(--tw-space-y-reverse));margin-block-end:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.gap-x-1\\.5{column-gap:.375rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}:where(.space-x-1\\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.375rem*var(--tw-space-x-reverse));margin-inline-end:calc(.375rem*(1 - var(--tw-space-x-reverse)))}.gap-y-0\\.5{row-gap:.125rem}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}:where(.divide-neutral>:not(:last-child)){border-color:var(--atomic-neutral)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:var(--atomic-border-radius)}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--atomic-border-radius-lg)}.rounded-md{border-radius:var(--atomic-border-radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--atomic-border-radius)}.rounded-xl{border-radius:var(--atomic-border-radius-xl)}.rounded-tl-none{border-top-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border,.border-0{border-style:var(--tw-border-style)}.border-0{border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-error{border-color:var(--atomic-error)}.border-gray-200{border-color:oklch(92.8% .006 264.531)}.border-neutral{border-color:var(--atomic-neutral)}.border-neutral-dark{border-color:var(--atomic-neutral-dark)}.border-neutral-dim{border-color:var(--atomic-neutral-dim)}.border-primary{border-color:var(--atomic-primary)}.border-primary-light{border-color:var(--atomic-primary-light)}.border-b-neutral-dim{border-bottom-color:var(--atomic-neutral-dim)}.border-l-neutral-dim{border-left-color:var(--atomic-neutral-dim)}.bg-\\[\\#F1F2FF\\]{background-color:#f1f2ff}.bg-\\[rgba\\(40\\,40\\,40\\,0\\.8\\)\\]{background-color:#282828cc}.bg-background{background-color:var(--atomic-background)}.bg-error{background-color:var(--atomic-error)}.bg-gray-50{background-color:oklch(98.5% .002 247.839)}.bg-neutral{background-color:var(--atomic-neutral)}.bg-neutral-dark{background-color:var(--atomic-neutral-dark)}.bg-neutral-dim{background-color:var(--atomic-neutral-dim)}.bg-neutral-light{background-color:var(--atomic-neutral-light)}.bg-primary{background-color:var(--atomic-primary)}.bg-success{background-color:var(--atomic-success)}.bg-transparent{background-color:#0000}.bg-white{background-color:#fff}.bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-l{--tw-gradient-position:to left in oklab}}.bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-background\\/60{--tw-gradient-from:#fff9}@supports (color:color-mix(in lab,red,red)){.from-background\\/60{--tw-gradient-from:color-mix(in oklab, var(--atomic-background) 60%, transparent)}}.from-background\\/60,.from-more-results-progress-bar-color-from{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-more-results-progress-bar-color-from{--tw-gradient-from:var(--atomic-more-results-progress-bar-color-from,var(--atomic-primary-dark))}.to-more-results-progress-bar-color-to{--tw-gradient-to:var(--atomic-more-results-progress-bar-color-to,var(--atomic-primary-light));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.stroke-\\[1\\.25\\]{stroke-width:1.25px}.object-contain{object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:1.75rem}.px-9{padding-inline:2.25rem}.py-0\\.5{padding-block:.125rem}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-2\\.5{padding-block:.625rem}.py-3{padding-block:.75rem}.py-3\\.5{padding-block:.875rem}.py-4{padding-block:1rem}.py-4\\.5{padding-block:1.125rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.pt-0\\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-24{padding-right:6rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-7{padding-left:1.75rem}.pl-9{padding-left:2.25rem}.pl-10{padding-left:2.5rem}.text-center{text-align:center}.text-left{text-align:left}.align-baseline{vertical-align:baseline}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.font-sans{font-family:var(--atomic-font-family)}.set-font-size-sm{--font-size:var(--atomic-text-sm);font-size:var(--font-size);--line-height:calc(var(--font-size)*var(--atomic-line-height-ratio));line-height:var(--line-height)}.text-2xl{font-size:var(--atomic-text-2xl);line-height:var(--tw-leading,1.33333)}.text-base{font-size:var(--atomic-text-base);line-height:var(--tw-leading,1.5)}.text-lg{font-size:var(--atomic-text-lg);line-height:var(--tw-leading,1.55556)}.text-sm{font-size:var(--atomic-text-sm);line-height:var(--tw-leading,1.42857)}.text-xl{font-size:var(--atomic-text-xl);line-height:var(--tw-leading,1.4)}.text-xs{font-size:.75rem;line-height:var(--tw-leading,1.33333)}.text-xs\\/\\[1rem\\]{font-size:.75rem;line-height:1rem}.leading-4{--tw-leading:1rem;line-height:1rem}.leading-5{--tw-leading:1.25rem;line-height:1.25rem}.leading-6{--tw-leading:1.5rem;line-height:1.5rem}.leading-8{--tw-leading:2rem;line-height:2rem}.leading-10{--tw-leading:2.5rem;line-height:2.5rem}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[calc\\(1\\/\\.75\\)\\]{--tw-leading:1.33333;line-height:1.33333}.leading-\\[var\\(--line-height\\)\\]{--tw-leading:var(--line-height);line-height:var(--line-height)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--atomic-font-bold);font-weight:var(--atomic-font-bold)}.font-light{--tw-font-weight:300;font-weight:300}.font-medium{--tw-font-weight:500;font-weight:500}.font-normal{--tw-font-weight:var(--atomic-font-normal);font-weight:var(--atomic-font-normal)}.font-semibold{--tw-font-weight:600;font-weight:600}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#54698D\\]{color:#54698d}.text-\\[inherit\\]{color:inherit}.text-black{color:#000}.text-error{color:var(--atomic-error)}.text-gray-500{color:oklch(55.1% .027 264.364)}.text-gray-600{color:oklch(44.6% .03 256.802)}.text-gray-700{color:oklch(37.3% .034 259.733)}.text-gray-900{color:oklch(21% .034 264.665)}.text-green-600{color:oklch(62.7% .194 149.214)}.text-inline-code{color:var(--atomic-inline-code)}.text-neutral{color:var(--atomic-neutral)}.text-neutral-dark{color:var(--atomic-neutral-dark)}.text-on-background{color:var(--atomic-on-background)}.text-on-primary{color:var(--atomic-on-primary)}.text-primary{color:var(--atomic-primary)}.text-primary-light{color:var(--atomic-primary-light)}.text-rating-icon-active{color:var(--atomic-rating-icon-active-color,#f6ce3c)}.text-rating-icon-inactive{color:var(--atomic-rating-icon-inactive-color,var(--atomic-neutral))}.text-red-600{color:oklch(57.7% .245 27.325)}.text-success{color:var(--atomic-success)}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.placeholder-neutral-dark::placeholder{color:var(--atomic-neutral-dark)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-inner-primary{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner-primary{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--atomic-primary))}.shadow-lg{--tw-shadow:0px 2px 8px var(--tw-shadow-color,#e5e8e8bf)}.shadow-lg,.shadow-t-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-t-lg{--tw-shadow:0px -2px 8px var(--tw-shadow-color,#e5e8e8bf)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring,.ring-1,.ring-3{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-primary{--tw-ring-color:var(--atomic-primary)}.ring-ring-primary{--tw-ring-color:var(--atomic-ring-primary)}.outline{outline-width:1px}.outline,.outline-2{outline-style:var(--tw-outline-style)}.outline-2{outline-width:2px}.outline-error{outline-color:var(--atomic-error)}.outline-neutral{outline-color:var(--atomic-neutral)}.outline-primary{outline-color:var(--atomic-primary)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events}.transition,.transition-\\[visibility\\]{transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.transition-\\[visibility\\]{transition-property:visibility}.transition-all{transition-property:all}.transition-all,.transition-colors{transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:cubic-bezier(.4, 0, .2, 1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.outline-none{--tw-outline-style:none;outline-style:none}.\\[grid-area\\:modal\\]{grid-area:modal}@media (hover:hover){.group-hover\\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\\:bg-neutral-dark:is(:where(.group):hover *){background-color:var(--atomic-neutral-dark)}.group-hover\\:text-error:is(:where(.group):hover *){color:var(--atomic-error)}.group-hover\\:text-primary:is(:where(.group):hover *){color:var(--atomic-primary)}.group-hover\\:text-primary-light:is(:where(.group):hover *){color:var(--atomic-primary-light)}}.group-focus\\:text-primary:is(:where(.group):focus *){color:var(--atomic-primary)}.group-focus\\:text-primary-light:is(:where(.group):focus *){color:var(--atomic-primary-light)}.group-focus-visible\\:text-error:is(:where(.group):focus-visible *){color:var(--atomic-error)}.group-focus-visible\\:text-primary:is(:where(.group):focus-visible *){color:var(--atomic-primary)}.group-has-\\[button\\:hover\\]\\/title\\:bg-neutral-dark:is(:where(.group\\/title):has(:is(button:hover)) *){background-color:var(--atomic-neutral-dark)}.peer-focus-within\\:border-primary-light:is(:where(.peer):focus-within~*){border-color:var(--atomic-primary-light)}.peer-focus-within\\:text-primary-light:is(:where(.peer):focus-within~*){color:var(--atomic-primary-light)}@media (hover:hover){.peer-hover\\:border-primary-light:is(:where(.peer):hover~*){border-color:var(--atomic-primary-light)}.peer-hover\\:text-error:is(:where(.peer):hover~*){color:var(--atomic-error)}.peer-hover\\:text-primary-light:is(:where(.peer):hover~*){color:var(--atomic-primary-light)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-\\[-8px\\]:before{content:var(--tw-content);top:-8px}.before\\:left-0:before{content:var(--tw-content);left:0}.before\\:inline:before{content:var(--tw-content);display:inline}.before\\:h-\\[8px\\]:before{content:var(--tw-content);height:8px}.before\\:w-px:before{content:var(--tw-content);width:1px}.before\\:bg-neutral:before{content:var(--tw-content);background-color:var(--atomic-neutral)}.before\\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.before\\:duration-150:before{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.before\\:content-\\[\\'\\'\\]:before{--tw-content:"";content:var(--tw-content)}.before\\:content-\\[\\'\\,\\\\00a0\\'\\]:before{--tw-content:", ";content:var(--tw-content)}@media (hover:hover){.group-hover\\:before\\:bg-neutral-dark:is(:where(.group):hover *):before{content:var(--tw-content);background-color:var(--atomic-neutral-dark)}}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:-bottom-0\\.5:after{content:var(--tw-content);bottom:-.125rem}.after\\:bottom-\\[-8px\\]:after{content:var(--tw-content);bottom:-8px}.after\\:left-0:after{content:var(--tw-content);left:0}.after\\:block:after{content:var(--tw-content);display:block}.after\\:h-1:after{content:var(--tw-content);height:.25rem}.after\\:h-\\[8px\\]:after{content:var(--tw-content);height:8px}.after\\:w-full:after{content:var(--tw-content);width:100%}.after\\:w-px:after{content:var(--tw-content);width:1px}.after\\:rounded:after{content:var(--tw-content);border-radius:var(--atomic-border-radius)}.after\\:bg-neutral:after{content:var(--tw-content);background-color:var(--atomic-neutral)}.after\\:bg-primary:after{content:var(--tw-content);background-color:var(--atomic-primary)}.after\\:transition-colors:after{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.after\\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\\:after\\:bg-neutral-dark:is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--atomic-neutral-dark)}}.focus-within\\:border-disabled:focus-within{border-color:var(--atomic-disabled)}.focus-within\\:border-primary:focus-within{border-color:var(--atomic-primary)}.focus-within\\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-neutral:focus-within{--tw-ring-color:var(--atomic-neutral)}.focus-within\\:ring-ring-primary:focus-within{--tw-ring-color:var(--atomic-ring-primary)}@media (hover:hover){.hover\\:border:hover{border-style:var(--tw-border-style);border-width:1px}.hover\\:border-error:hover{border-color:var(--atomic-error)}.hover\\:border-primary-light:hover{border-color:var(--atomic-primary-light)}.hover\\:bg-error:hover{background-color:var(--atomic-error)}.hover\\:bg-neutral:hover{background-color:var(--atomic-neutral)}.hover\\:bg-neutral-dark:hover{background-color:var(--atomic-neutral-dark)}.hover\\:bg-neutral-light:hover{background-color:var(--atomic-neutral-light)}.hover\\:bg-primary-light:hover{background-color:var(--atomic-primary-light)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:fill-white:hover{fill:#fff}.hover\\:text-error:hover{color:var(--atomic-error)}.hover\\:text-primary:hover{color:var(--atomic-primary)}.hover\\:text-primary-light:hover{color:var(--atomic-primary-light)}.hover\\:text-success:hover{color:var(--atomic-success)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:opacity-100:focus{opacity:1}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:border:focus-visible{border-style:var(--tw-border-style);border-width:1px}.focus-visible\\:border-error:focus-visible{border-color:var(--atomic-error)}.focus-visible\\:border-primary:focus-visible{border-color:var(--atomic-primary)}.focus-visible\\:border-primary-light:focus-visible{border-color:var(--atomic-primary-light)}.focus-visible\\:bg-error:focus-visible{background-color:var(--atomic-error)}.focus-visible\\:bg-neutral-light:focus-visible{background-color:var(--atomic-neutral-light)}.focus-visible\\:bg-primary-light:focus-visible{background-color:var(--atomic-primary-light)}.focus-visible\\:text-primary:focus-visible{color:var(--atomic-primary)}.focus-visible\\:text-primary-light:focus-visible{color:var(--atomic-primary-light)}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--atomic-primary)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\\:bg-primary\\/60:disabled{background-color:#126ce099}@supports (color:color-mix(in lab,red,red)){.disabled\\:bg-primary\\/60:disabled{background-color:color-mix(in oklab,var(--atomic-primary) 60%,transparent)}}.disabled\\:opacity-100:disabled{opacity:1}@media (min-width:1024px){.desktop\\:mt-2{margin-top:.5rem}}@media (min-width:40rem){.sm\\:px-6{padding-inline:1.5rem}}.\\[part\\=\\"breadcrumb-button\\"\\]\\:visible:is(){visibility:visible}}.loading{--tw-gradient-from:var(--atomic-primary-dark);--tw-gradient-to:var(--atomic-primary-light);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.loading:after{content:"";background-color:var(--atomic-background);border-radius:3.40282e+38px;width:83.3333%;height:83.3333%;position:absolute}[part=textarea-expander]:after{content:attr(data-replicated-value) " ";visibility:hidden}[part=textarea-expander]>[part=textarea]{-ms-overflow-style:none;scrollbar-width:none}[part=textarea-expander]>[part=textarea]::-webkit-scrollbar{display:none}[part=textarea-expander]:after,[part=textarea-expander]>[part=textarea]{z-index:10;resize:none;height:100%;font-size:var(--atomic-text-lg);line-height:var(--tw-leading,1.55556);white-space:nowrap;color:var(--atomic-neutral-dark);--tw-outline-style:none;background-color:#0000;outline-style:none;flex-grow:1;grid-area:1/1/2/2;padding-block:.875rem;padding-inline:1rem;overflow:hidden}[part=textarea-expander].expanded:after,[part=textarea-expander].expanded>[part=textarea]{white-space:pre-wrap;max-height:8em;overflow-y:auto}[part~=instant-results-item]{padding:.75rem}[part~=instant-results-show-all]{border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--atomic-neutral);box-sizing:content-box;justify-content:center;margin-top:auto;padding-block:.25rem}[part~=instant-results-show-all] button{background-color:#0000}[part~=suggestions-left]+[part~=suggestions-right]{border-left-style:var(--tw-border-style);border-left-width:1px;border-left-color:var(--atomic-neutral)}[part~=suggestions-wrapper]{flex-direction:column}@media (min-width:1024px){[part~=suggestions-wrapper]{flex-direction:row}}:host{z-index:10;position:relative}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}`;
|
|
401
|
+
AtomicCommerceSearchBox.styles = css`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-border-style:solid}}}.loading{--tw-gradient-from:var(--atomic-primary-dark);--tw-gradient-to:var(--atomic-primary-light);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.loading:after{content:"";background-color:var(--atomic-background);border-radius:3.40282e+38px;width:83.3333%;height:83.3333%;position:absolute}[part=textarea-expander]:after{content:attr(data-replicated-value) " ";visibility:hidden}[part=textarea-expander]>[part=textarea]{-ms-overflow-style:none;scrollbar-width:none}[part=textarea-expander]>[part=textarea]::-webkit-scrollbar{display:none}[part=textarea-expander]:after,[part=textarea-expander]>[part=textarea]{z-index:10;resize:none;height:100%;font-size:var(--atomic-text-lg);line-height:var(--tw-leading,1.55556);white-space:nowrap;color:var(--atomic-neutral-dark);--tw-outline-style:none;background-color:#0000;outline-style:none;flex-grow:1;grid-area:1/1/2/2;padding-block:.875rem;padding-inline:1rem;overflow:hidden}[part=textarea-expander].expanded:after,[part=textarea-expander].expanded>[part=textarea]{white-space:pre-wrap;max-height:8em;overflow-y:auto}[part~=instant-results-item]{padding:.75rem}[part~=instant-results-show-all]{border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--atomic-neutral);box-sizing:content-box;justify-content:center;margin-top:auto;padding-block:.25rem}[part~=instant-results-show-all] button{background-color:#0000}[part~=suggestions-left]+[part~=suggestions-right]{border-left-style:var(--tw-border-style);border-left-width:1px;border-left-color:var(--atomic-neutral)}[part~=suggestions-wrapper]{flex-direction:column}@media (min-width:1024px){[part~=suggestions-wrapper]{flex-direction:row}}:host{z-index:10;position:relative}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}`;
|
|
402
402
|
_ts_decorate([
|
|
403
403
|
state(),
|
|
404
404
|
_ts_metadata("design:type", "u" < typeof CommerceBindings ? Object : CommerceBindings)
|
|
@@ -2,7 +2,7 @@ import { ProductTemplatesHelpers } from "@coveo/headless/commerce";
|
|
|
2
2
|
import { LitElement, html, nothing } from "lit";
|
|
3
3
|
import { customElement, property, state } from "lit/decorators.js";
|
|
4
4
|
import { createProductContextController } from "../product-template-component-utils/context/product-context-controller.js";
|
|
5
|
-
import {
|
|
5
|
+
import { makeFieldConditions } from "../../common/template-controller/template-utils.js";
|
|
6
6
|
import { bindings } from "../../../decorators/bindings.js";
|
|
7
7
|
import { errorGuard } from "../../../decorators/error-guard.js";
|
|
8
8
|
import { LightDomMixin } from "../../../mixins/light-dom.js";
|
|
@@ -19,10 +19,7 @@ function _ts_metadata(metadataKey, metadataValue) {
|
|
|
19
19
|
class AtomicProductFieldCondition extends LightDomMixin(LitElement) {
|
|
20
20
|
initialize() {}
|
|
21
21
|
get conditions() {
|
|
22
|
-
return
|
|
23
|
-
...makeDefinedConditions(this.ifDefined, this.ifNotDefined, ProductTemplatesHelpers),
|
|
24
|
-
...makeMatchConditions(this.mustMatch, this.mustNotMatch, ProductTemplatesHelpers)
|
|
25
|
-
];
|
|
22
|
+
return makeFieldConditions(this, ProductTemplatesHelpers);
|
|
26
23
|
}
|
|
27
24
|
render() {
|
|
28
25
|
const product = this.productController.item;
|
|
@@ -2,7 +2,7 @@ import { ProductTemplatesHelpers } from "@coveo/headless/commerce";
|
|
|
2
2
|
import { LitElement, nothing } from "lit";
|
|
3
3
|
import { customElement, property, state } from "lit/decorators.js";
|
|
4
4
|
import { ProductTemplateController } from "../../common/product-template/product-template-controller.js";
|
|
5
|
-
import {
|
|
5
|
+
import { makeFieldConditions } from "../../common/template-controller/template-utils.js";
|
|
6
6
|
import { errorGuard } from "../../../decorators/error-guard.js";
|
|
7
7
|
import { mapProperty } from "../../../utils/props-utils.js";
|
|
8
8
|
import "../atomic-product/atomic-product.js";
|
|
@@ -19,7 +19,7 @@ function _ts_metadata(metadataKey, metadataValue) {
|
|
|
19
19
|
class AtomicProductTemplate extends LitElement {
|
|
20
20
|
connectedCallback() {
|
|
21
21
|
super.connectedCallback();
|
|
22
|
-
this.productTemplateController.matchConditions =
|
|
22
|
+
this.productTemplateController.matchConditions = makeFieldConditions(this, ProductTemplatesHelpers);
|
|
23
23
|
}
|
|
24
24
|
async getTemplate() {
|
|
25
25
|
return this.productTemplateController.getTemplate(this.conditions);
|
|
@@ -50,6 +50,20 @@ _ts_decorate([
|
|
|
50
50
|
}),
|
|
51
51
|
_ts_metadata("design:type", Array)
|
|
52
52
|
], AtomicProductTemplate.prototype, "conditions", void 0);
|
|
53
|
+
_ts_decorate([
|
|
54
|
+
property({
|
|
55
|
+
type: String,
|
|
56
|
+
attribute: 'if-defined'
|
|
57
|
+
}),
|
|
58
|
+
_ts_metadata("design:type", String)
|
|
59
|
+
], AtomicProductTemplate.prototype, "ifDefined", void 0);
|
|
60
|
+
_ts_decorate([
|
|
61
|
+
property({
|
|
62
|
+
type: String,
|
|
63
|
+
attribute: 'if-not-defined'
|
|
64
|
+
}),
|
|
65
|
+
_ts_metadata("design:type", String)
|
|
66
|
+
], AtomicProductTemplate.prototype, "ifNotDefined", void 0);
|
|
53
67
|
_ts_decorate([
|
|
54
68
|
mapProperty({
|
|
55
69
|
splitValues: true,
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
import { shouldUpdateFacetSearchComponent } from "./facet-search-utils.js";
|
|
2
|
-
function announceFacetSearchResultsWithAriaLive(facet, label, setAriaLive, i18n) {
|
|
2
|
+
function announceFacetSearchResultsWithAriaLive(host, facet, label, setAriaLive, i18n) {
|
|
3
3
|
let prevState = facet.state.facetSearch;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
let unsubscribe;
|
|
5
|
+
host.addController({
|
|
6
|
+
hostConnected () {
|
|
7
|
+
if (unsubscribe) return;
|
|
8
|
+
let subscribing = true;
|
|
9
|
+
unsubscribe = facet.subscribe(()=>{
|
|
10
|
+
const nextState = facet.state.facetSearch;
|
|
11
|
+
if (!subscribing && shouldUpdateFacetSearchComponent(nextState, prevState) && nextState.query) setAriaLive(i18n.t('facet-search-results-count', {
|
|
12
|
+
count: nextState.values.length,
|
|
13
|
+
label
|
|
14
|
+
}));
|
|
15
|
+
prevState = nextState;
|
|
16
|
+
});
|
|
17
|
+
subscribing = false;
|
|
18
|
+
},
|
|
19
|
+
hostDisconnected () {
|
|
20
|
+
if (host.isConnected) return;
|
|
21
|
+
unsubscribe?.();
|
|
22
|
+
unsubscribe = void 0;
|
|
23
|
+
}
|
|
11
24
|
});
|
|
12
25
|
}
|
|
13
26
|
export { announceFacetSearchResultsWithAriaLive };
|
|
@@ -30,9 +30,13 @@ function i18nBackendOptions(atomicInterface) {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
function loadTranslations(atomicInterface, language) {
|
|
33
|
+
async function loadTranslations(atomicInterface, language) {
|
|
34
|
+
const { languageUtils } = atomicInterface.i18n.services;
|
|
35
|
+
const languages = languageUtils.toResolveHierarchy(languageUtils.formatLanguageCode(language), false);
|
|
36
|
+
await Promise.all(languages.filter(isI18nLocaleAvailable).map((lng)=>loadTranslationBundle(atomicInterface, lng)));
|
|
37
|
+
}
|
|
38
|
+
function loadTranslationBundle(atomicInterface, lng) {
|
|
34
39
|
const { i18n } = atomicInterface;
|
|
35
|
-
const lng = language.split('-')[0];
|
|
36
40
|
return new Promise((resolve)=>{
|
|
37
41
|
new i18next_http_backend(i18n.services, i18nBackendOptions(atomicInterface)).read(lng, i18nTranslationNamespace, (_error, data)=>{
|
|
38
42
|
if (data) i18n.addResourceBundle(lng, i18nTranslationNamespace, data, true, false);
|
|
@@ -21,8 +21,10 @@ class InterfaceController {
|
|
|
21
21
|
this.host.updateIconAssetsPath();
|
|
22
22
|
initEngine();
|
|
23
23
|
if (this.host.registerFieldsToInclude) this.host.registerFieldsToInclude();
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
await Promise.all([
|
|
25
|
+
this.i18nPromise,
|
|
26
|
+
loadDayjsLocale(this.host.language || 'en')
|
|
27
|
+
]);
|
|
26
28
|
this.initComponents();
|
|
27
29
|
}
|
|
28
30
|
onAnalyticsChange() {
|
|
@@ -35,8 +37,10 @@ class InterfaceController {
|
|
|
35
37
|
const language = newLanguage ?? this.host.language;
|
|
36
38
|
const languageWithFallback = language ?? 'en';
|
|
37
39
|
const { i18n } = this.host;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
Promise.all([
|
|
41
|
+
loadDayjsLocale(languageWithFallback),
|
|
42
|
+
loadTranslations(this.host, languageWithFallback)
|
|
43
|
+
]).then(()=>{
|
|
40
44
|
i18n.changeLanguage(language);
|
|
41
45
|
});
|
|
42
46
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class PagerFitController {
|
|
2
|
+
hostConnected() {
|
|
3
|
+
this.resizeObserver = new ResizeObserver(()=>requestAnimationFrame(()=>this.reset()));
|
|
4
|
+
this.resizeObserver.observe(document.documentElement);
|
|
5
|
+
if (this.host.parentElement) this.resizeObserver.observe(this.host.parentElement);
|
|
6
|
+
}
|
|
7
|
+
hostDisconnected() {
|
|
8
|
+
this.resizeObserver?.disconnect();
|
|
9
|
+
}
|
|
10
|
+
hostUpdated() {
|
|
11
|
+
const root = this.host.shadowRoot;
|
|
12
|
+
const previousButton = root?.querySelector('[part="previous-button"]');
|
|
13
|
+
const nextButton = root?.querySelector('[part="next-button"]');
|
|
14
|
+
const pageButtonCount = root?.querySelectorAll('[part~="page-button"]').length ?? 0;
|
|
15
|
+
const isWrapping = !!previousButton && !!nextButton && nextButton.offsetTop > previousButton.offsetTop;
|
|
16
|
+
if (isWrapping && pageButtonCount > 1) {
|
|
17
|
+
this.maxPages = pageButtonCount - 1;
|
|
18
|
+
queueMicrotask(()=>this.host.requestUpdate());
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
getNumberOfPagesToDisplay(numberOfPages) {
|
|
22
|
+
return Math.min(numberOfPages, this.maxPages);
|
|
23
|
+
}
|
|
24
|
+
reset() {
|
|
25
|
+
this.maxPages = 1 / 0;
|
|
26
|
+
this.host.requestUpdate();
|
|
27
|
+
}
|
|
28
|
+
constructor(host){
|
|
29
|
+
this.host = host;
|
|
30
|
+
this.maxPages = 1 / 0;
|
|
31
|
+
host.addController(this);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export { PagerFitController };
|