@coveo/atomic 3.33.8-pre.fbe332fd49 → 3.33.9-pre.5fbff5b5f4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +2 -0
- package/dist/atomic/components/_index.js +1 -0
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-category-facet.js +1 -1
- package/dist/atomic/components/atomic-facet.js +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-insight-pager.js +2 -38
- package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +1 -1
- package/dist/atomic/components/atomic-pager.d.ts +11 -0
- package/dist/atomic/components/atomic-pager.js +134 -0
- package/dist/atomic/components/atomic-pager.js.map +1 -0
- package/dist/atomic/components/atomic-query-error.js +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
- package/dist/atomic/components/atomic-quickview.js +1 -1
- package/dist/atomic/components/atomic-refine-modal2.js +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +1 -1
- package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
- package/dist/atomic/components/atomic-result-children.js +1 -1
- package/dist/atomic/components/atomic-result-fields-list.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/atomic-result-list.js +1 -1
- package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
- package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
- package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
- package/dist/atomic/components/atomic-search-box.js +15 -4
- package/dist/atomic/components/atomic-search-box.js.map +1 -1
- package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
- package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
- package/dist/atomic/components/atomic-sort-expression.js +1 -1
- package/dist/atomic/components/atomic-tab-manager.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +49 -7
- package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +2 -2
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +25 -10
- package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +12 -5
- package/dist/atomic/components/components/common/atomic-modal/atomic-modal.js +2 -0
- package/dist/atomic/components/components/common/formats/format-common.js +1 -1
- package/dist/atomic/components/components/search/index.js +0 -1
- package/dist/atomic/components/components/search/lazy-index.js +0 -1
- package/dist/atomic/components/depends-on.js +28 -28
- package/dist/atomic/components/depends-on.js.map +1 -1
- package/dist/atomic/components/format-common.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/stencil-pager-navigation.js +42 -0
- package/dist/atomic/components/stencil-pager-navigation.js.map +1 -0
- package/dist/atomic/{p-e8d5e852.entry.js → p-021f01d6.entry.js} +2 -2
- package/dist/atomic/{p-2f8de0b9.entry.js → p-07fbb49a.entry.js} +2 -2
- package/dist/atomic/{p-45c4685e.entry.js → p-089be992.entry.js} +2 -2
- package/dist/atomic/{p-65373475.entry.js → p-09a3a067.entry.js} +2 -2
- package/dist/atomic/{p-a02b1209.entry.js → p-1d1f54a5.entry.js} +2 -2
- package/dist/atomic/p-211d7d6a.js +2 -0
- package/dist/atomic/p-211d7d6a.js.map +1 -0
- package/dist/atomic/p-25a96534.js.map +1 -1
- package/dist/atomic/{p-4915faeb.entry.js → p-2ce8220a.entry.js} +2 -2
- package/dist/atomic/{p-5adbf098.entry.js → p-3b023e83.entry.js} +2 -2
- package/dist/atomic/{p-4c30ca3e.entry.js → p-49c38b27.entry.js} +2 -2
- package/dist/atomic/{p-e514cdb2.entry.js → p-4a74f4a3.entry.js} +2 -2
- package/dist/atomic/{p-516b8165.entry.js → p-4c2f230f.entry.js} +2 -2
- package/dist/atomic/{p-43c16eeb.entry.js → p-5650c7ee.entry.js} +2 -2
- package/dist/atomic/{p-b4ad3036.entry.js → p-5f1fa581.entry.js} +2 -2
- package/dist/atomic/{p-470f88ed.entry.js → p-6a49f518.entry.js} +2 -2
- package/dist/atomic/p-744da781.entry.js +2 -0
- package/dist/atomic/{p-fb7ad34b.entry.js.map → p-744da781.entry.js.map} +1 -1
- package/dist/atomic/{p-bf50b64d.entry.js → p-7dfcd6af.entry.js} +2 -2
- package/dist/atomic/{p-be1b98a6.entry.js → p-7e2109e9.entry.js} +2 -2
- package/dist/atomic/{p-71bb8125.entry.js → p-89085429.entry.js} +2 -2
- package/dist/atomic/{p-4e9d1f9e.entry.js → p-89ab44de.entry.js} +2 -2
- package/dist/atomic/{p-3af5c567.entry.js → p-92548ab6.entry.js} +2 -2
- package/dist/atomic/{p-9883415e.entry.js → p-93e29b24.entry.js} +2 -2
- package/dist/atomic/{p-8acb1466.entry.js → p-a8882a2a.entry.js} +2 -2
- package/dist/atomic/{p-534b6a0a.entry.js → p-a9b32844.entry.js} +2 -2
- package/dist/atomic/{p-6f988841.entry.js → p-ada63017.entry.js} +2 -2
- package/dist/atomic/{p-00e5bb15.entry.js → p-ae060711.entry.js} +2 -2
- package/dist/atomic/{p-d2d22ab2.entry.js → p-b6963bae.entry.js} +2 -2
- package/dist/atomic/{p-08794435.entry.js → p-ba650801.entry.js} +2 -2
- package/dist/atomic/{p-ca762513.entry.js → p-c889adbd.entry.js} +2 -2
- package/dist/atomic/{p-e1865f9f.entry.js → p-cbfe91a3.entry.js} +2 -2
- package/dist/atomic/{p-031670fe.js → p-d503b157.js} +2 -2
- package/dist/atomic/{p-d11b2b24.entry.js → p-d716d680.entry.js} +2 -2
- package/dist/atomic/p-dafbe2ef.js +2 -0
- package/dist/atomic/p-dafbe2ef.js.map +1 -0
- package/dist/atomic/{p-757de797.entry.js → p-de066001.entry.js} +2 -2
- package/dist/atomic/{p-f073a78d.entry.js → p-f289269f.entry.js} +2 -2
- package/dist/atomic/{p-811d6dcb.entry.js → p-f5b58a15.entry.js} +2 -2
- package/dist/atomic/{p-fbe37f4b.entry.js → p-f8d62605.entry.js} +2 -2
- package/dist/atomic/{p-bdbbb47b.entry.js → p-f8ded37c.entry.js} +2 -2
- package/dist/atomic/p-fa8b7c4c.entry.js +2 -0
- package/dist/atomic/p-fa8b7c4c.entry.js.map +1 -0
- package/dist/atomic/p-fcf3f7d7.entry.js +2 -0
- package/dist/atomic/p-fcf3f7d7.entry.js.map +1 -0
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-e3890e2c.js → analytics-config-131765bd.js} +2 -2
- package/dist/cjs/{analytics-config-e3890e2c.js.map → analytics-config-131765bd.js.map} +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
- package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -41
- package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +2 -2
- package/dist/cjs/atomic-pager.cjs.entry.js +121 -0
- package/dist/cjs/atomic-pager.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
- package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +15 -4
- package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
- package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/depends-on-f0cf3617.js +68 -0
- package/dist/cjs/depends-on-f0cf3617.js.map +1 -0
- package/dist/cjs/format-common-4aa8aa88.js.map +1 -1
- package/dist/cjs/index-757bc886.js +4 -0
- package/dist/cjs/stencil-pager-navigation-c20b8a95.js +48 -0
- package/dist/cjs/stencil-pager-navigation-c20b8a95.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-76f4b38f.js → analytics-config-0ec5e016.js} +2 -2
- package/dist/esm/{analytics-config-76f4b38f.js.map → analytics-config-0ec5e016.js.map} +1 -1
- package/dist/esm/atomic-category-facet.entry.js +2 -2
- package/dist/esm/atomic-color-facet.entry.js +1 -1
- package/dist/esm/atomic-facet.entry.js +2 -2
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-pager.entry.js +4 -38
- package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +2 -2
- package/dist/esm/atomic-pager.entry.js +117 -0
- package/dist/esm/atomic-pager.entry.js.map +1 -0
- package/dist/esm/atomic-query-error.entry.js +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-refine-modal.entry.js +1 -1
- package/dist/esm/atomic-refine-toggle.entry.js +1 -1
- package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
- package/dist/esm/atomic-result-children.entry.js +1 -1
- package/dist/esm/atomic-result-fields-list.entry.js +1 -1
- package/dist/esm/atomic-result-link.entry.js +1 -1
- package/dist/esm/atomic-result-list.entry.js +1 -1
- package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +15 -4
- package/dist/esm/atomic-search-box.entry.js.map +1 -1
- package/dist/esm/atomic-search-interface.entry.js +1 -1
- package/dist/esm/atomic-segmented-facet.entry.js +1 -1
- package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
- package/dist/esm/atomic-sort-expression.entry.js +1 -1
- package/dist/esm/atomic-tab-manager.entry.js +1 -1
- package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/depends-on-20dabb86.js +66 -0
- package/dist/esm/depends-on-20dabb86.js.map +1 -0
- package/dist/esm/format-common-274e0f7c.js.map +1 -1
- package/dist/esm/index-3f35faca.js +4 -0
- package/dist/esm/stencil-pager-navigation-7261a834.js +42 -0
- package/dist/esm/stencil-pager-navigation-7261a834.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +29 -1
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -0
- package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
- package/dist/types/components/search/atomic-pager/atomic-pager.d.ts +16 -26
- package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
- package/dist/types/components/search/index.d.ts +0 -1
- package/dist/types/components.d.ts +65 -0
- package/docs/atomic-docs.json +167 -1
- package/package.json +4 -4
- package/dist/atomic/components/components/search/atomic-pager/atomic-pager.js +0 -175
- package/dist/atomic/p-0f13077e.js +0 -2
- package/dist/atomic/p-0f13077e.js.map +0 -1
- package/dist/atomic/p-593903ec.entry.js +0 -2
- package/dist/atomic/p-593903ec.entry.js.map +0 -1
- package/dist/atomic/p-fb7ad34b.entry.js +0 -2
- package/dist/cjs/depends-on-0d4e4f15.js +0 -68
- package/dist/cjs/depends-on-0d4e4f15.js.map +0 -1
- package/dist/esm/depends-on-d73b0ce3.js +0 -66
- package/dist/esm/depends-on-d73b0ce3.js.map +0 -1
- /package/dist/atomic/{p-e8d5e852.entry.js.map → p-021f01d6.entry.js.map} +0 -0
- /package/dist/atomic/{p-2f8de0b9.entry.js.map → p-07fbb49a.entry.js.map} +0 -0
- /package/dist/atomic/{p-45c4685e.entry.js.map → p-089be992.entry.js.map} +0 -0
- /package/dist/atomic/{p-65373475.entry.js.map → p-09a3a067.entry.js.map} +0 -0
- /package/dist/atomic/{p-a02b1209.entry.js.map → p-1d1f54a5.entry.js.map} +0 -0
- /package/dist/atomic/{p-4915faeb.entry.js.map → p-2ce8220a.entry.js.map} +0 -0
- /package/dist/atomic/{p-5adbf098.entry.js.map → p-3b023e83.entry.js.map} +0 -0
- /package/dist/atomic/{p-4c30ca3e.entry.js.map → p-49c38b27.entry.js.map} +0 -0
- /package/dist/atomic/{p-e514cdb2.entry.js.map → p-4a74f4a3.entry.js.map} +0 -0
- /package/dist/atomic/{p-516b8165.entry.js.map → p-4c2f230f.entry.js.map} +0 -0
- /package/dist/atomic/{p-43c16eeb.entry.js.map → p-5650c7ee.entry.js.map} +0 -0
- /package/dist/atomic/{p-b4ad3036.entry.js.map → p-5f1fa581.entry.js.map} +0 -0
- /package/dist/atomic/{p-470f88ed.entry.js.map → p-6a49f518.entry.js.map} +0 -0
- /package/dist/atomic/{p-bf50b64d.entry.js.map → p-7dfcd6af.entry.js.map} +0 -0
- /package/dist/atomic/{p-be1b98a6.entry.js.map → p-7e2109e9.entry.js.map} +0 -0
- /package/dist/atomic/{p-71bb8125.entry.js.map → p-89085429.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e9d1f9e.entry.js.map → p-89ab44de.entry.js.map} +0 -0
- /package/dist/atomic/{p-3af5c567.entry.js.map → p-92548ab6.entry.js.map} +0 -0
- /package/dist/atomic/{p-9883415e.entry.js.map → p-93e29b24.entry.js.map} +0 -0
- /package/dist/atomic/{p-8acb1466.entry.js.map → p-a8882a2a.entry.js.map} +0 -0
- /package/dist/atomic/{p-534b6a0a.entry.js.map → p-a9b32844.entry.js.map} +0 -0
- /package/dist/atomic/{p-6f988841.entry.js.map → p-ada63017.entry.js.map} +0 -0
- /package/dist/atomic/{p-00e5bb15.entry.js.map → p-ae060711.entry.js.map} +0 -0
- /package/dist/atomic/{p-d2d22ab2.entry.js.map → p-b6963bae.entry.js.map} +0 -0
- /package/dist/atomic/{p-08794435.entry.js.map → p-ba650801.entry.js.map} +0 -0
- /package/dist/atomic/{p-ca762513.entry.js.map → p-c889adbd.entry.js.map} +0 -0
- /package/dist/atomic/{p-e1865f9f.entry.js.map → p-cbfe91a3.entry.js.map} +0 -0
- /package/dist/atomic/{p-031670fe.js.map → p-d503b157.js.map} +0 -0
- /package/dist/atomic/{p-d11b2b24.entry.js.map → p-d716d680.entry.js.map} +0 -0
- /package/dist/atomic/{p-757de797.entry.js.map → p-de066001.entry.js.map} +0 -0
- /package/dist/atomic/{p-f073a78d.entry.js.map → p-f289269f.entry.js.map} +0 -0
- /package/dist/atomic/{p-811d6dcb.entry.js.map → p-f5b58a15.entry.js.map} +0 -0
- /package/dist/atomic/{p-fbe37f4b.entry.js.map → p-f8d62605.entry.js.map} +0 -0
- /package/dist/atomic/{p-bdbbb47b.entry.js.map → p-f8ded37c.entry.js.map} +0 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
function parseDependsOn(dependsOn) {
|
2
|
+
if (Object.keys(dependsOn).length > 1) {
|
3
|
+
throw "Depending on multiple facets isn't supported";
|
4
|
+
}
|
5
|
+
const entries = Object.entries(dependsOn);
|
6
|
+
return entries.map(([parentFacetId, expectedValue]) => ({
|
7
|
+
parentFacetId,
|
8
|
+
condition: buildDependsOnCondition(expectedValue),
|
9
|
+
}));
|
10
|
+
}
|
11
|
+
function buildDependsOnCondition(expectedValue) {
|
12
|
+
return (values) => values.some((value) => {
|
13
|
+
if (isCategoryFacetValue(value)) {
|
14
|
+
return matchesCategoryFacetValue(value, expectedValue);
|
15
|
+
}
|
16
|
+
if (isSimpleFacetValue(value)) {
|
17
|
+
return matchesSimpleFacetValue(value, expectedValue);
|
18
|
+
}
|
19
|
+
return false;
|
20
|
+
});
|
21
|
+
}
|
22
|
+
function matchesCategoryFacetValue(value, expectedValue) {
|
23
|
+
const selectedValue = getSelectedCategoryFacetValueRequest(value);
|
24
|
+
if (!selectedValue) {
|
25
|
+
return false;
|
26
|
+
}
|
27
|
+
return !expectedValue || selectedValue.value === expectedValue;
|
28
|
+
}
|
29
|
+
function matchesSimpleFacetValue(value, expectedValue) {
|
30
|
+
if (value.state !== 'selected') {
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
return !expectedValue || value.value === expectedValue;
|
34
|
+
}
|
35
|
+
function isCategoryFacetValue(request) {
|
36
|
+
const requestAsRecord = request;
|
37
|
+
return ((requestAsRecord?.children &&
|
38
|
+
Array.isArray(requestAsRecord.children) &&
|
39
|
+
requestAsRecord?.state &&
|
40
|
+
typeof requestAsRecord.state === 'string') === true);
|
41
|
+
}
|
42
|
+
function getSelectedCategoryFacetValueRequest(value) {
|
43
|
+
if (!isCategoryFacetValue(value)) {
|
44
|
+
return null;
|
45
|
+
}
|
46
|
+
if (value.state === 'selected') {
|
47
|
+
return value;
|
48
|
+
}
|
49
|
+
for (const child of value.children) {
|
50
|
+
const selectedValue = getSelectedCategoryFacetValueRequest(child);
|
51
|
+
if (selectedValue !== null) {
|
52
|
+
return selectedValue;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
return null;
|
56
|
+
}
|
57
|
+
function isSimpleFacetValue(value) {
|
58
|
+
const asRecord = value;
|
59
|
+
return ('value' in asRecord &&
|
60
|
+
typeof asRecord.value === 'string' &&
|
61
|
+
!('children' in asRecord));
|
62
|
+
}
|
63
|
+
|
64
|
+
export { parseDependsOn as p };
|
65
|
+
|
66
|
+
//# sourceMappingURL=depends-on-20dabb86.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"depends-on-20dabb86.js","mappings":"SAcgB,cAAc,CAE5B,SAAiC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACrC,MAAM,8CAA8C,CAAC;KACtD;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM;QACtD,aAAa;QACb,SAAS,EAAE,uBAAuB,CAAa,aAAa,CAAC;KAC9D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAE9B,aAAqB;IACrB,OAAO,CAAC,MAAoB,KAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAChB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,yBAAyB,CAC9B,KAA2B,EAC3B,aAAa,CACd,CAAC;SACH;QACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,uBAAuB,CAC5B,KAAyB,EACzB,aAAa,CACd,CAAC;SACH;QACD,OAAO,KAAK,CAAC;KACd,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAiB,EACjB,aAAqB;IAErB,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC;AACjE,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAuB,EACvB,aAAqB;IAErB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,eAAe,GAAG,OAAkC,CAAC;IAC3D,QACE,CAAC,eAAe,EAAE,QAAQ;QACxB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,KAAK;QACtB,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,MAAM,IAAI,EACrD;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,KAAc;IAEd,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClC,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,OAAO,aAAa,CAAC;SACtB;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,QACE,OAAO,IAAI,QAAQ;QACnB,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAClC,EAAE,UAAU,IAAI,QAAQ,CAAC,EACzB;AACJ;;;;","names":[],"sources":["src/components/common/facets/depends-on.ts"],"sourcesContent":["type GenericCondition<AnyFacetValueRequest> = {\n parentFacetId: string;\n condition(parentValues: AnyFacetValueRequest[]): boolean;\n};\n\ninterface SimpleFacetValue {\n value: string;\n state: string;\n}\n\ninterface CategoryFacetValue extends SimpleFacetValue {\n children: SimpleFacetValue[];\n}\n\nexport function parseDependsOn<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(dependsOn: Record<string, string>): GenericCondition<FacetValue>[] {\n if (Object.keys(dependsOn).length > 1) {\n throw \"Depending on multiple facets isn't supported\";\n }\n\n const entries = Object.entries(dependsOn);\n return entries.map(([parentFacetId, expectedValue]) => ({\n parentFacetId,\n condition: buildDependsOnCondition<FacetValue>(expectedValue),\n }));\n}\n\nfunction buildDependsOnCondition<\n FacetValue extends SimpleFacetValue | CategoryFacetValue,\n>(expectedValue: string): (values: FacetValue[]) => boolean {\n return (values: FacetValue[]) =>\n values.some((value) => {\n if (isCategoryFacetValue(value)) {\n return matchesCategoryFacetValue(\n value as CategoryFacetValue,\n expectedValue\n );\n }\n if (isSimpleFacetValue(value)) {\n return matchesSimpleFacetValue(\n value as SimpleFacetValue,\n expectedValue\n );\n }\n return false;\n });\n}\n\nfunction matchesCategoryFacetValue<FacetValue extends CategoryFacetValue>(\n value: FacetValue,\n expectedValue: string\n): boolean {\n const selectedValue = getSelectedCategoryFacetValueRequest(value);\n if (!selectedValue) {\n return false;\n }\n return !expectedValue || selectedValue.value === expectedValue;\n}\n\nfunction matchesSimpleFacetValue(\n value: SimpleFacetValue,\n expectedValue: string\n): boolean {\n if (value.state !== 'selected') {\n return false;\n }\n return !expectedValue || value.value === expectedValue;\n}\n\nfunction isCategoryFacetValue(request: unknown): request is CategoryFacetValue {\n const requestAsRecord = request as Record<string, unknown>;\n return (\n (requestAsRecord?.children &&\n Array.isArray(requestAsRecord.children) &&\n requestAsRecord?.state &&\n typeof requestAsRecord.state === 'string') === true\n );\n}\n\nfunction getSelectedCategoryFacetValueRequest(\n value: unknown\n): CategoryFacetValue | null {\n if (!isCategoryFacetValue(value)) {\n return null;\n }\n if (value.state === 'selected') {\n return value;\n }\n for (const child of value.children) {\n const selectedValue = getSelectedCategoryFacetValueRequest(child);\n if (selectedValue !== null) {\n return selectedValue;\n }\n }\n return null;\n}\n\nfunction isSimpleFacetValue(value: unknown): value is SimpleFacetValue {\n const asRecord = value as Record<string, unknown>;\n return (\n 'value' in asRecord &&\n typeof asRecord.value === 'string' &&\n !('children' in asRecord)\n );\n}\n"],"version":3}
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"format-common-274e0f7c.js","mappings":";;MAIa,yBAAyB,GAAG,CACvC,SAA0B,EAC1B,OAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;KACH;AACH,EAAE;MAEW,sBAAsB,GAAoB,CAAC,KAAK,EAAE,SAAS,KACtE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;MAErB,wBAAwB,GACnC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS;IAC7B,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;QACrC,KAAK,EAAE,UAAU;QACjB,QAAQ;KACT,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/components/common/formats/format-common.ts"],"sourcesContent":["import {buildCustomEvent} from '
|
1
|
+
{"file":"format-common-274e0f7c.js","mappings":";;MAIa,yBAAyB,GAAG,CACvC,SAA0B,EAC1B,OAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;KACH;AACH,EAAE;MAEW,sBAAsB,GAAoB,CAAC,KAAK,EAAE,SAAS,KACtE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;MAErB,wBAAwB,GACnC,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS;IAC7B,OAAO,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE;QACrC,KAAK,EAAE,UAAU;QACjB,QAAQ;KACT,CAAC,CAAC;AACL;;;;","names":[],"sources":["src/components/common/formats/format-common.ts"],"sourcesContent":["import {buildCustomEvent} from '@/src/utils/event-utils';\n\nexport type NumberFormatter = (value: number, languages: string[]) => string;\n\nexport const dispatchNumberFormatEvent = (\n formatter: NumberFormatter,\n element: Element\n) => {\n const event = buildCustomEvent('atomic/numberFormat', formatter);\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n throw new Error(\n 'The Atomic number format component was not handled, as it is not a child of a compatible component'\n );\n }\n};\n\nexport const defaultNumberFormatter: NumberFormatter = (value, languages) =>\n value.toLocaleString(languages);\n\nexport const defaultCurrencyFormatter: (currency: string) => NumberFormatter =\n (currency) => (value, languages) => {\n return value.toLocaleString(languages, {\n style: 'currency',\n currency,\n });\n };\n"],"version":3}
|
@@ -284,6 +284,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
284
284
|
return import(
|
285
285
|
/* webpackMode: "lazy" */
|
286
286
|
'./atomic-numeric-range.entry.js').then(processMod, consoleError);
|
287
|
+
case 'atomic-pager':
|
288
|
+
return import(
|
289
|
+
/* webpackMode: "lazy" */
|
290
|
+
'./atomic-pager.entry.js').then(processMod, consoleError);
|
287
291
|
case 'atomic-popover':
|
288
292
|
return import(
|
289
293
|
/* webpackMode: "lazy" */
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { h } from './index-3f35faca.js';
|
2
|
+
import { B as Button } from './stencil-button-1a29a5df.js';
|
3
|
+
import { R as RadioButton } from './stencil-radio-button-cae5f40a.js';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* @deprecated use the lit equivalent
|
7
|
+
*/
|
8
|
+
const PagerPreviousButton = (props) => {
|
9
|
+
return (h(Button, { ...props, ariaLabel: props.i18n.t('previous'), style: "outline-primary", part: "previous-button", class: "flex min-h-10 min-w-10 items-center justify-center p-1" },
|
10
|
+
h("atomic-icon", { icon: props.icon, part: "previous-button-icon", class: "w-5 align-middle" })));
|
11
|
+
};
|
12
|
+
/**
|
13
|
+
* @deprecated use the lit equivalent
|
14
|
+
*/
|
15
|
+
const PagerNextButton = (props) => {
|
16
|
+
return (h(Button, { ...props, ariaLabel: props.i18n.t('next'), style: "outline-primary", part: "next-button", class: "flex min-h-10 min-w-10 items-center justify-center p-1" },
|
17
|
+
h("atomic-icon", { icon: props.icon, part: "next-button-icon", class: "w-5 align-middle" })));
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* @deprecated use the lit equivalent
|
21
|
+
*/
|
22
|
+
const PagerPageButton = (props) => {
|
23
|
+
return (h(RadioButton, { ...props, selectWhenFocused: false, key: props.page, style: "outline-neutral", checked: props.isSelected, ariaCurrent: props.isSelected ? 'page' : 'false', class: "btn-page focus-visible:bg-neutral-light min-h-10 min-w-10 p-1", part: `page-button${props.isSelected ? ' active-page-button' : ''}` }));
|
24
|
+
};
|
25
|
+
/**
|
26
|
+
* @deprecated use the lit equivalent
|
27
|
+
*/
|
28
|
+
const PagerPageButtons = (props, children) => {
|
29
|
+
return (h("div", { part: "page-buttons", role: "radiogroup", "aria-label": props.i18n.t('pagination'), class: "contents" }, ...children));
|
30
|
+
};
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @deprecated use the lit equivalent
|
34
|
+
*/
|
35
|
+
const PagerNavigation = (props, children) => {
|
36
|
+
return (h("nav", { "aria-label": props.i18n.t('pagination') },
|
37
|
+
h("div", { part: "buttons", role: "toolbar", class: "flex flex-wrap gap-2" }, ...children)));
|
38
|
+
};
|
39
|
+
|
40
|
+
export { PagerNavigation as P, PagerPreviousButton as a, PagerPageButtons as b, PagerPageButton as c, PagerNextButton as d };
|
41
|
+
|
42
|
+
//# sourceMappingURL=stencil-pager-navigation-7261a834.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"stencil-pager-navigation-7261a834.js","mappings":";;;;AAkCA;;;MAGa,mBAAmB,GAE5B,CAAC,KAAK;IACR,QACE,EAAC,MAAM,OACD,KAAK,EACT,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EACnC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAC,wDAAwD;QAE9D,mBACE,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAC,kBAAkB,GACX,CACR,EACT;AACJ,EAAE;AAEF;;;MAGa,eAAe,GAExB,CAAC,KAAK;IACR,QACE,EAAC,MAAM,OACD,KAAK,EACT,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAC/B,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,wDAAwD;QAE9D,mBACE,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,IAAI,EAAC,kBAAkB,EACvB,KAAK,EAAC,kBAAkB,GACX,CACR,EACT;AACJ,EAAE;AAEF;;;MAGa,eAAe,GAA8C,CACxE,KAAK;IAEL,QACE,EAAC,WAAW,OACN,KAAK,EACT,iBAAiB,EAAE,KAAK,EACxB,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,KAAK,CAAC,UAAU,EACzB,WAAW,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,EAChD,KAAK,EAAC,+DAA+D,EACrE,IAAI,EAAE,cAAc,KAAK,CAAC,UAAU,GAAG,qBAAqB,GAAG,EAAE,EAAE,GACtD,EACf;AACJ,EAAE;AAEF;;;MAGa,gBAAgB,GAA+C,CAC1E,KAAK,EACL,QAAQ;IAER,QACE,WACE,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,YAAY,gBACL,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EACtC,KAAK,EAAC,UAAU,OAEZ,QAAQ,CACR,EACN;AACJ;;AC3GA;;;MAGa,eAAe,GAA8C,CACxE,KAAK,EACL,QAAQ;IAER,QACE,yBAAiB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACzC,WAAK,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,sBAAsB,OACzD,QAAQ,CACR,CACF,EACN;AACJ;;;;","names":[],"sources":["src/components/common/pager/stencil-pager-buttons.tsx","src/components/common/pager/stencil-pager-navigation.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button, StencilButtonProps} from '../stencil-button';\nimport {RadioButton, StencilRadioButtonProps} from '../stencil-radio-button';\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerNavigationButtonProps\n extends Omit<StencilButtonProps, 'style' | 'part' | 'class'> {\n icon: string;\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerPageButtonProps\n extends Omit<\n StencilRadioButtonProps,\n 'part' | 'style' | 'checked' | 'ariaCurrent' | 'key' | 'class' | 'ref'\n > {\n page: number;\n isSelected: boolean;\n text: string;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerPageButtonsProps {\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPreviousButton: FunctionalComponent<\n PagerNavigationButtonProps\n> = (props) => {\n return (\n <Button\n {...props}\n ariaLabel={props.i18n.t('previous')}\n style=\"outline-primary\"\n part=\"previous-button\"\n class=\"flex min-h-10 min-w-10 items-center justify-center p-1\"\n >\n <atomic-icon\n icon={props.icon}\n part=\"previous-button-icon\"\n class=\"w-5 align-middle\"\n ></atomic-icon>\n </Button>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerNextButton: FunctionalComponent<\n PagerNavigationButtonProps\n> = (props) => {\n return (\n <Button\n {...props}\n ariaLabel={props.i18n.t('next')}\n style=\"outline-primary\"\n part=\"next-button\"\n class=\"flex min-h-10 min-w-10 items-center justify-center p-1\"\n >\n <atomic-icon\n icon={props.icon}\n part=\"next-button-icon\"\n class=\"w-5 align-middle\"\n ></atomic-icon>\n </Button>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPageButton: FunctionalComponent<PagerPageButtonProps> = (\n props\n) => {\n return (\n <RadioButton\n {...props}\n selectWhenFocused={false}\n key={props.page}\n style=\"outline-neutral\"\n checked={props.isSelected}\n ariaCurrent={props.isSelected ? 'page' : 'false'}\n class=\"btn-page focus-visible:bg-neutral-light min-h-10 min-w-10 p-1\"\n part={`page-button${props.isSelected ? ' active-page-button' : ''}`}\n ></RadioButton>\n );\n};\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerPageButtons: FunctionalComponent<PagerPageButtonsProps> = (\n props,\n children\n) => {\n return (\n <div\n part=\"page-buttons\"\n role=\"radiogroup\"\n aria-label={props.i18n.t('pagination')}\n class=\"contents\"\n >\n {...children}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\n\n/**\n * @deprecated use the lit equivalent\n */\nexport interface PagerNavigationProps {\n i18n: i18n;\n}\n\n/**\n * @deprecated use the lit equivalent\n */\nexport const PagerNavigation: FunctionalComponent<PagerNavigationProps> = (\n props,\n children\n) => {\n return (\n <nav aria-label={props.i18n.t('pagination')}>\n <div part=\"buttons\" role=\"toolbar\" class=\"flex flex-wrap gap-2\">\n {...children}\n </div>\n </nav>\n );\n};\n"],"version":3}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const headlessVersion = '3.31.1
|
2
|
-
export const atomicVersion = '3.33.
|
1
|
+
export const headlessVersion = '3.31.1';
|
2
|
+
export const atomicVersion = '3.33.9-pre.5fbff5b5f4';
|
package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { type CommerceEngine, type CommerceEngineConfiguration, type Context, type LogLevel, type ProductListing, type ProductListingSummaryState, type Search, type SearchSummaryState, type Summary, type UrlManager } from '@coveo/headless/commerce';
|
2
|
+
import type { CurrencyCodeISO4217 } from '@coveo/relay-event-types';
|
2
3
|
import { type i18n } from 'i18next';
|
3
4
|
import { type CSSResultGroup, LitElement } from 'lit';
|
4
5
|
import type { CommonBindings } from '../../common/interface/bindings';
|
@@ -49,7 +50,13 @@ export declare class AtomicCommerceInterface extends AtomicCommerceInterface_bas
|
|
49
50
|
/**
|
50
51
|
* The commerce interface language.
|
51
52
|
*
|
52
|
-
* Will default to the value set in the Headless engine context if not
|
53
|
+
* Will default to the value set in the Headless engine context if not
|
54
|
+
* provided.
|
55
|
+
*
|
56
|
+
* @deprecated - This property will be removed in the next major version of
|
57
|
+
* Atomic (v4). Rather than using this property, set the initial language
|
58
|
+
* through the engine configuration when calling `initializeWithEngine`, and
|
59
|
+
* update the language as needed using the `updateLocale` method.
|
53
60
|
*/
|
54
61
|
language?: string;
|
55
62
|
/**
|
@@ -100,6 +107,26 @@ export declare class AtomicCommerceInterface extends AtomicCommerceInterface_bas
|
|
100
107
|
* Executes the first request after initializing connection to the headless commerce engine.
|
101
108
|
*/
|
102
109
|
executeFirstRequest(): Promise<void>;
|
110
|
+
/**
|
111
|
+
* Updates the locale settings for the commerce interface and headless commerce
|
112
|
+
* engine. Only the provided parameters will be updated.
|
113
|
+
*
|
114
|
+
* Calling this method affects the localization of the interface as well as
|
115
|
+
* the catalog configuration being used by the Commerce API. If the resulting
|
116
|
+
* language-country-currency combination matches no existing catalog
|
117
|
+
* configuration in your Coveo organization, requests made through the
|
118
|
+
* commerce engine will start failing.
|
119
|
+
*
|
120
|
+
* @param language - (Optional) The IETF language code tag (e.g., `en`).
|
121
|
+
* @param country - (Optional) The ISO-3166-1 country tag (e.g., `US`).
|
122
|
+
* @param currency - (Optional) The ISO-4217 currency code (e.g., `USD`).
|
123
|
+
*
|
124
|
+
* @example
|
125
|
+
* ```typescript
|
126
|
+
* interface.updateLocale('fr', 'CA', 'CAD');
|
127
|
+
* ```
|
128
|
+
*/
|
129
|
+
updateLocale(language?: string, country?: string, currency?: CurrencyCodeISO4217): void;
|
103
130
|
toggleAnalytics(): void;
|
104
131
|
updateIconAssetsPath(): void;
|
105
132
|
updateLanguage(): void;
|
@@ -115,6 +142,7 @@ export declare class AtomicCommerceInterface extends AtomicCommerceInterface_bas
|
|
115
142
|
private initSummary;
|
116
143
|
private initUrlManager;
|
117
144
|
private internalInitialization;
|
145
|
+
private isNewLocale;
|
118
146
|
private onHashChange;
|
119
147
|
scrollToTop(): void;
|
120
148
|
private updateHash;
|
package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts
CHANGED
@@ -137,6 +137,7 @@ export declare class AtomicCommerceSearchBox extends LitElement implements Initi
|
|
137
137
|
private renderSuggestions;
|
138
138
|
private renderPanel;
|
139
139
|
private renderSuggestion;
|
140
|
+
private renderSlotContent;
|
140
141
|
render(): import("lit-html").TemplateResult<1>;
|
141
142
|
}
|
142
143
|
declare global {
|
@@ -1,36 +1,33 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import
|
4
|
-
import type { InitializableComponent } from "../../../decorators/types";
|
5
|
-
declare const AtomicPager_base: typeof LitElement;
|
1
|
+
import { Pager, PagerState, SearchStatus, SearchStatusState } from '@coveo/headless';
|
2
|
+
import { InitializableComponent } from '../../../utils/initialization-utils';
|
3
|
+
import { Bindings } from '../atomic-search-interface/atomic-search-interface';
|
6
4
|
/**
|
7
5
|
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
8
6
|
*
|
9
7
|
* @part buttons - The list of the next/previous buttons and page-buttons.
|
10
8
|
* @part page-buttons - The list of page buttons.
|
11
|
-
* @part page-button - The
|
9
|
+
* @part page-button - The page button.
|
12
10
|
* @part active-page-button - The active page button.
|
13
|
-
* @part previous-button - The previous
|
14
|
-
* @part next-button - The next
|
15
|
-
* @part previous-button-icon -
|
16
|
-
* @part next-button-icon -
|
17
|
-
*
|
18
|
-
* @event atomic/scrollToTop - Emitted when the user clicks any of the buttons rendered by the component.
|
11
|
+
* @part previous-button - The previous button.
|
12
|
+
* @part next-button - The next button.
|
13
|
+
* @part previous-button-icon - Icon of the previous button.
|
14
|
+
* @part next-button-icon - Icon of the next button.
|
19
15
|
*/
|
20
|
-
export declare class AtomicPager
|
16
|
+
export declare class AtomicPager implements InitializableComponent {
|
21
17
|
bindings: Bindings;
|
22
|
-
error: Error;
|
23
|
-
private isAppLoaded;
|
24
18
|
pager: Pager;
|
25
19
|
searchStatus: SearchStatus;
|
26
20
|
pagerState: PagerState;
|
27
21
|
searchStatusState: SearchStatusState;
|
22
|
+
error: Error;
|
23
|
+
private isAppLoaded;
|
24
|
+
private scrollToTopEvent;
|
28
25
|
/**
|
29
|
-
*
|
26
|
+
* Specifies how many page buttons to display in the pager.
|
30
27
|
*/
|
31
28
|
numberOfPages: number;
|
32
29
|
/**
|
33
|
-
* The SVG icon to
|
30
|
+
* The SVG icon to use to display the Previous button.
|
34
31
|
*
|
35
32
|
* - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
|
36
33
|
* - Use a value that starts with `assets://`, to display an icon from the Atomic package.
|
@@ -38,7 +35,7 @@ export declare class AtomicPager extends AtomicPager_base implements Initializab
|
|
38
35
|
*/
|
39
36
|
previousButtonIcon: string;
|
40
37
|
/**
|
41
|
-
* The SVG icon to
|
38
|
+
* The SVG icon to use to display the Next button.
|
42
39
|
*
|
43
40
|
* - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
|
44
41
|
* - Use a value that starts with `assets://`, to display an icon from the Atomic package.
|
@@ -47,13 +44,6 @@ export declare class AtomicPager extends AtomicPager_base implements Initializab
|
|
47
44
|
nextButtonIcon: string;
|
48
45
|
private radioGroupName;
|
49
46
|
initialize(): void;
|
50
|
-
render():
|
51
|
-
private validateProps;
|
47
|
+
render(): any;
|
52
48
|
private focusOnFirstResultAndScrollToTop;
|
53
49
|
}
|
54
|
-
declare global {
|
55
|
-
interface HTMLElementTagNameMap {
|
56
|
-
'atomic-pager': AtomicPager;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
export {};
|
@@ -161,5 +161,6 @@ export declare class AtomicSearchBox implements InitializableComponent<Bindings>
|
|
161
161
|
private getSearchInputLabel;
|
162
162
|
private announceNewActiveSuggestionToScreenReader;
|
163
163
|
private announceNewSuggestionsToScreenReader;
|
164
|
+
private renderSlotContent;
|
164
165
|
render(): any;
|
165
166
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
export { AtomicPager } from './atomic-pager/atomic-pager.js';
|
2
1
|
export { AtomicQuerySummary } from './atomic-query-summary/atomic-query-summary.js';
|
3
2
|
export { AtomicResultsPerPage } from './atomic-results-per-page/atomic-results-per-page.js';
|
4
3
|
export { AtomicSearchLayout } from './atomic-search-layout/atomic-search-layout.js';
|
@@ -1427,6 +1427,23 @@ export namespace Components {
|
|
1427
1427
|
*/
|
1428
1428
|
"start": number;
|
1429
1429
|
}
|
1430
|
+
/**
|
1431
|
+
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
1432
|
+
*/
|
1433
|
+
interface AtomicPager {
|
1434
|
+
/**
|
1435
|
+
* The SVG icon to use to display the Next button. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
|
1436
|
+
*/
|
1437
|
+
"nextButtonIcon": string;
|
1438
|
+
/**
|
1439
|
+
* Specifies how many page buttons to display in the pager.
|
1440
|
+
*/
|
1441
|
+
"numberOfPages": number;
|
1442
|
+
/**
|
1443
|
+
* The SVG icon to use to display the Previous button. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
|
1444
|
+
*/
|
1445
|
+
"previousButtonIcon": string;
|
1446
|
+
}
|
1430
1447
|
/**
|
1431
1448
|
* The `atomic-popover` component displays any facet as a popover menu.
|
1432
1449
|
*/
|
@@ -2922,6 +2939,10 @@ export interface AtomicIpxModalCustomEvent<T> extends CustomEvent<T> {
|
|
2922
2939
|
detail: T;
|
2923
2940
|
target: HTMLAtomicIpxModalElement;
|
2924
2941
|
}
|
2942
|
+
export interface AtomicPagerCustomEvent<T> extends CustomEvent<T> {
|
2943
|
+
detail: T;
|
2944
|
+
target: HTMLAtomicPagerElement;
|
2945
|
+
}
|
2925
2946
|
export interface AtomicQuickviewModalCustomEvent<T> extends CustomEvent<T> {
|
2926
2947
|
detail: T;
|
2927
2948
|
target: HTMLAtomicQuickviewModalElement;
|
@@ -3598,6 +3619,26 @@ declare global {
|
|
3598
3619
|
prototype: HTMLAtomicNumericRangeElement;
|
3599
3620
|
new (): HTMLAtomicNumericRangeElement;
|
3600
3621
|
};
|
3622
|
+
interface HTMLAtomicPagerElementEventMap {
|
3623
|
+
"atomic/scrollToTop": any;
|
3624
|
+
}
|
3625
|
+
/**
|
3626
|
+
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
3627
|
+
*/
|
3628
|
+
interface HTMLAtomicPagerElement extends Components.AtomicPager, HTMLStencilElement {
|
3629
|
+
addEventListener<K extends keyof HTMLAtomicPagerElementEventMap>(type: K, listener: (this: HTMLAtomicPagerElement, ev: AtomicPagerCustomEvent<HTMLAtomicPagerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
3630
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
3631
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
3632
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
3633
|
+
removeEventListener<K extends keyof HTMLAtomicPagerElementEventMap>(type: K, listener: (this: HTMLAtomicPagerElement, ev: AtomicPagerCustomEvent<HTMLAtomicPagerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
3634
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
3635
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
3636
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
3637
|
+
}
|
3638
|
+
var HTMLAtomicPagerElement: {
|
3639
|
+
prototype: HTMLAtomicPagerElement;
|
3640
|
+
new (): HTMLAtomicPagerElement;
|
3641
|
+
};
|
3601
3642
|
/**
|
3602
3643
|
* The `atomic-popover` component displays any facet as a popover menu.
|
3603
3644
|
*/
|
@@ -4527,6 +4568,7 @@ declare global {
|
|
4527
4568
|
"atomic-notifications": HTMLAtomicNotificationsElement;
|
4528
4569
|
"atomic-numeric-facet": HTMLAtomicNumericFacetElement;
|
4529
4570
|
"atomic-numeric-range": HTMLAtomicNumericRangeElement;
|
4571
|
+
"atomic-pager": HTMLAtomicPagerElement;
|
4530
4572
|
"atomic-popover": HTMLAtomicPopoverElement;
|
4531
4573
|
"atomic-query-error": HTMLAtomicQueryErrorElement;
|
4532
4574
|
"atomic-quickview": HTMLAtomicQuickviewElement;
|
@@ -5918,6 +5960,24 @@ declare namespace LocalJSX {
|
|
5918
5960
|
*/
|
5919
5961
|
"start": number;
|
5920
5962
|
}
|
5963
|
+
/**
|
5964
|
+
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
5965
|
+
*/
|
5966
|
+
interface AtomicPager {
|
5967
|
+
/**
|
5968
|
+
* The SVG icon to use to display the Next button. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
|
5969
|
+
*/
|
5970
|
+
"nextButtonIcon"?: string;
|
5971
|
+
/**
|
5972
|
+
* Specifies how many page buttons to display in the pager.
|
5973
|
+
*/
|
5974
|
+
"numberOfPages"?: number;
|
5975
|
+
"onAtomic/scrollToTop"?: (event: AtomicPagerCustomEvent<any>) => void;
|
5976
|
+
/**
|
5977
|
+
* The SVG icon to use to display the Previous button. - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location. - Use a value that starts with `assets://`, to display an icon from the Atomic package. - Use a stringified SVG to display it directly.
|
5978
|
+
*/
|
5979
|
+
"previousButtonIcon"?: string;
|
5980
|
+
}
|
5921
5981
|
/**
|
5922
5982
|
* The `atomic-popover` component displays any facet as a popover menu.
|
5923
5983
|
*/
|
@@ -7380,6 +7440,7 @@ declare namespace LocalJSX {
|
|
7380
7440
|
"atomic-notifications": AtomicNotifications;
|
7381
7441
|
"atomic-numeric-facet": AtomicNumericFacet;
|
7382
7442
|
"atomic-numeric-range": AtomicNumericRange;
|
7443
|
+
"atomic-pager": AtomicPager;
|
7383
7444
|
"atomic-popover": AtomicPopover;
|
7384
7445
|
"atomic-query-error": AtomicQueryError;
|
7385
7446
|
"atomic-quickview": AtomicQuickview;
|
@@ -7645,6 +7706,10 @@ declare module "@stencil/core" {
|
|
7645
7706
|
* The `atomic-numeric-range` component defines the range of an `atomic-numeric-facet`, and therefore must be defined within an `atomic-numeric-facet` component.
|
7646
7707
|
*/
|
7647
7708
|
"atomic-numeric-range": LocalJSX.AtomicNumericRange & JSXBase.HTMLAttributes<HTMLAtomicNumericRangeElement>;
|
7709
|
+
/**
|
7710
|
+
* The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
|
7711
|
+
*/
|
7712
|
+
"atomic-pager": LocalJSX.AtomicPager & JSXBase.HTMLAttributes<HTMLAtomicPagerElement>;
|
7648
7713
|
/**
|
7649
7714
|
* The `atomic-popover` component displays any facet as a popover menu.
|
7650
7715
|
*/
|
package/docs/atomic-docs.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"timestamp": "2025-
|
2
|
+
"timestamp": "2025-10-01T03:24:56",
|
3
3
|
"compiler": {
|
4
4
|
"name": "@stencil/core",
|
5
5
|
"version": "4.20.0",
|
@@ -5833,6 +5833,172 @@
|
|
5833
5833
|
"dependencies": [],
|
5834
5834
|
"dependencyGraph": {}
|
5835
5835
|
},
|
5836
|
+
{
|
5837
|
+
"filePath": "src/components/search/atomic-pager/atomic-pager.tsx",
|
5838
|
+
"encapsulation": "shadow",
|
5839
|
+
"tag": "atomic-pager",
|
5840
|
+
"docs": "The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.",
|
5841
|
+
"docsTags": [
|
5842
|
+
{
|
5843
|
+
"name": "part",
|
5844
|
+
"text": "buttons - The list of the next/previous buttons and page-buttons."
|
5845
|
+
},
|
5846
|
+
{
|
5847
|
+
"name": "part",
|
5848
|
+
"text": "page-buttons - The list of page buttons."
|
5849
|
+
},
|
5850
|
+
{
|
5851
|
+
"name": "part",
|
5852
|
+
"text": "page-button - The page button."
|
5853
|
+
},
|
5854
|
+
{
|
5855
|
+
"name": "part",
|
5856
|
+
"text": "active-page-button - The active page button."
|
5857
|
+
},
|
5858
|
+
{
|
5859
|
+
"name": "part",
|
5860
|
+
"text": "previous-button - The previous button."
|
5861
|
+
},
|
5862
|
+
{
|
5863
|
+
"name": "part",
|
5864
|
+
"text": "next-button - The next button."
|
5865
|
+
},
|
5866
|
+
{
|
5867
|
+
"name": "part",
|
5868
|
+
"text": "previous-button-icon - Icon of the previous button."
|
5869
|
+
},
|
5870
|
+
{
|
5871
|
+
"name": "part",
|
5872
|
+
"text": "next-button-icon - Icon of the next button."
|
5873
|
+
}
|
5874
|
+
],
|
5875
|
+
"usage": {},
|
5876
|
+
"props": [
|
5877
|
+
{
|
5878
|
+
"name": "nextButtonIcon",
|
5879
|
+
"type": "string",
|
5880
|
+
"complexType": {
|
5881
|
+
"original": "string",
|
5882
|
+
"resolved": "string",
|
5883
|
+
"references": {}
|
5884
|
+
},
|
5885
|
+
"mutable": false,
|
5886
|
+
"attr": "next-button-icon",
|
5887
|
+
"reflectToAttr": true,
|
5888
|
+
"docs": "The SVG icon to use to display the Next button.\n\n- Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n- Use a value that starts with `assets://`, to display an icon from the Atomic package.\n- Use a stringified SVG to display it directly.",
|
5889
|
+
"docsTags": [],
|
5890
|
+
"default": "ArrowRightIcon",
|
5891
|
+
"values": [
|
5892
|
+
{
|
5893
|
+
"type": "string"
|
5894
|
+
}
|
5895
|
+
],
|
5896
|
+
"optional": false,
|
5897
|
+
"required": false
|
5898
|
+
},
|
5899
|
+
{
|
5900
|
+
"name": "numberOfPages",
|
5901
|
+
"type": "number",
|
5902
|
+
"complexType": {
|
5903
|
+
"original": "number",
|
5904
|
+
"resolved": "number",
|
5905
|
+
"references": {}
|
5906
|
+
},
|
5907
|
+
"mutable": false,
|
5908
|
+
"attr": "number-of-pages",
|
5909
|
+
"reflectToAttr": true,
|
5910
|
+
"docs": "Specifies how many page buttons to display in the pager.",
|
5911
|
+
"docsTags": [],
|
5912
|
+
"default": "5",
|
5913
|
+
"values": [
|
5914
|
+
{
|
5915
|
+
"type": "number"
|
5916
|
+
}
|
5917
|
+
],
|
5918
|
+
"optional": false,
|
5919
|
+
"required": false
|
5920
|
+
},
|
5921
|
+
{
|
5922
|
+
"name": "previousButtonIcon",
|
5923
|
+
"type": "string",
|
5924
|
+
"complexType": {
|
5925
|
+
"original": "string",
|
5926
|
+
"resolved": "string",
|
5927
|
+
"references": {}
|
5928
|
+
},
|
5929
|
+
"mutable": false,
|
5930
|
+
"attr": "previous-button-icon",
|
5931
|
+
"reflectToAttr": true,
|
5932
|
+
"docs": "The SVG icon to use to display the Previous button.\n\n- Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n- Use a value that starts with `assets://`, to display an icon from the Atomic package.\n- Use a stringified SVG to display it directly.",
|
5933
|
+
"docsTags": [],
|
5934
|
+
"default": "ArrowLeftIcon",
|
5935
|
+
"values": [
|
5936
|
+
{
|
5937
|
+
"type": "string"
|
5938
|
+
}
|
5939
|
+
],
|
5940
|
+
"optional": false,
|
5941
|
+
"required": false
|
5942
|
+
}
|
5943
|
+
],
|
5944
|
+
"methods": [],
|
5945
|
+
"events": [
|
5946
|
+
{
|
5947
|
+
"event": "atomic/scrollToTop",
|
5948
|
+
"detail": "any",
|
5949
|
+
"bubbles": true,
|
5950
|
+
"complexType": {
|
5951
|
+
"original": "any",
|
5952
|
+
"resolved": "any",
|
5953
|
+
"references": {}
|
5954
|
+
},
|
5955
|
+
"cancelable": true,
|
5956
|
+
"composed": true,
|
5957
|
+
"docs": "",
|
5958
|
+
"docsTags": []
|
5959
|
+
}
|
5960
|
+
],
|
5961
|
+
"listeners": [],
|
5962
|
+
"styles": [],
|
5963
|
+
"slots": [],
|
5964
|
+
"parts": [
|
5965
|
+
{
|
5966
|
+
"name": "active-page-button",
|
5967
|
+
"docs": "The active page button."
|
5968
|
+
},
|
5969
|
+
{
|
5970
|
+
"name": "buttons",
|
5971
|
+
"docs": "The list of the next/previous buttons and page-buttons."
|
5972
|
+
},
|
5973
|
+
{
|
5974
|
+
"name": "next-button",
|
5975
|
+
"docs": "The next button."
|
5976
|
+
},
|
5977
|
+
{
|
5978
|
+
"name": "next-button-icon",
|
5979
|
+
"docs": "Icon of the next button."
|
5980
|
+
},
|
5981
|
+
{
|
5982
|
+
"name": "page-button",
|
5983
|
+
"docs": "The page button."
|
5984
|
+
},
|
5985
|
+
{
|
5986
|
+
"name": "page-buttons",
|
5987
|
+
"docs": "The list of page buttons."
|
5988
|
+
},
|
5989
|
+
{
|
5990
|
+
"name": "previous-button",
|
5991
|
+
"docs": "The previous button."
|
5992
|
+
},
|
5993
|
+
{
|
5994
|
+
"name": "previous-button-icon",
|
5995
|
+
"docs": "Icon of the previous button."
|
5996
|
+
}
|
5997
|
+
],
|
5998
|
+
"dependents": [],
|
5999
|
+
"dependencies": [],
|
6000
|
+
"dependencyGraph": {}
|
6001
|
+
},
|
5836
6002
|
{
|
5837
6003
|
"filePath": "src/components/search/facets/atomic-popover/atomic-popover.tsx",
|
5838
6004
|
"encapsulation": "shadow",
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@coveo/atomic",
|
3
3
|
"type": "module",
|
4
|
-
"version": "3.33.
|
4
|
+
"version": "3.33.9-pre.5fbff5b5f4",
|
5
5
|
"description": "A web-component library for building modern UIs interfacing with the Coveo platform",
|
6
6
|
"homepage": "https://docs.coveo.com/en/atomic/latest/",
|
7
7
|
"repository": {
|
@@ -81,7 +81,7 @@
|
|
81
81
|
},
|
82
82
|
"dependencies": {
|
83
83
|
"@coveo/bueno": "1.1.2",
|
84
|
-
"@coveo/headless": "3.31.1
|
84
|
+
"@coveo/headless": "3.31.1",
|
85
85
|
"@lit/context": "1.1.6",
|
86
86
|
"@open-wc/lit-helpers": "0.7.0",
|
87
87
|
"@popperjs/core": "2.11.8",
|
@@ -149,11 +149,11 @@
|
|
149
149
|
"typescript": "5.8.3",
|
150
150
|
"vite": "7.0.6",
|
151
151
|
"vitest": "3.2.4",
|
152
|
-
"wait-on": "
|
152
|
+
"wait-on": "9.0.1"
|
153
153
|
},
|
154
154
|
"peerDependencies": {
|
155
155
|
"@coveo/bueno": "1.1.2",
|
156
|
-
"@coveo/headless": "3.31.1
|
156
|
+
"@coveo/headless": "3.31.1",
|
157
157
|
"typescript": ">=5.0.0"
|
158
158
|
},
|
159
159
|
"peerDependenciesMeta": {
|