@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
@@ -1,68 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
function parseDependsOn(dependsOn) {
|
4
|
-
if (Object.keys(dependsOn).length > 1) {
|
5
|
-
throw "Depending on multiple facets isn't supported";
|
6
|
-
}
|
7
|
-
return Object.entries(dependsOn).map(([parentFacetId, expectedValue]) => {
|
8
|
-
return {
|
9
|
-
parentFacetId,
|
10
|
-
condition: (values) => {
|
11
|
-
return values.some((value) => {
|
12
|
-
if (isCategoryFacetValue(value)) {
|
13
|
-
const selectedValue = getSelectedCategoryFacetValueRequest(value);
|
14
|
-
if (!selectedValue) {
|
15
|
-
return false;
|
16
|
-
}
|
17
|
-
if (!expectedValue) {
|
18
|
-
return true;
|
19
|
-
}
|
20
|
-
return selectedValue.value === expectedValue;
|
21
|
-
}
|
22
|
-
if (isSimpleFacetValue(value)) {
|
23
|
-
if (value.state !== 'selected') {
|
24
|
-
return false;
|
25
|
-
}
|
26
|
-
if (!expectedValue) {
|
27
|
-
return true;
|
28
|
-
}
|
29
|
-
return value.value === expectedValue;
|
30
|
-
}
|
31
|
-
return false;
|
32
|
-
});
|
33
|
-
},
|
34
|
-
};
|
35
|
-
});
|
36
|
-
}
|
37
|
-
function isCategoryFacetValue(request) {
|
38
|
-
const requestAsRecord = request;
|
39
|
-
return ((requestAsRecord?.children &&
|
40
|
-
Array.isArray(requestAsRecord.children) &&
|
41
|
-
requestAsRecord?.state &&
|
42
|
-
typeof requestAsRecord.state === 'string') === true);
|
43
|
-
}
|
44
|
-
function getSelectedCategoryFacetValueRequest(value) {
|
45
|
-
if (!isCategoryFacetValue(value)) {
|
46
|
-
return null;
|
47
|
-
}
|
48
|
-
if (value.state === 'selected') {
|
49
|
-
return value;
|
50
|
-
}
|
51
|
-
for (const child of value.children) {
|
52
|
-
const selectedValue = getSelectedCategoryFacetValueRequest(child);
|
53
|
-
if (selectedValue !== null) {
|
54
|
-
return selectedValue;
|
55
|
-
}
|
56
|
-
}
|
57
|
-
return null;
|
58
|
-
}
|
59
|
-
function isSimpleFacetValue(value) {
|
60
|
-
const asRecord = value;
|
61
|
-
return ('value' in asRecord &&
|
62
|
-
typeof asRecord.value === 'string' &&
|
63
|
-
!('children' in asRecord));
|
64
|
-
}
|
65
|
-
|
66
|
-
exports.parseDependsOn = parseDependsOn;
|
67
|
-
|
68
|
-
//# sourceMappingURL=depends-on-0d4e4f15.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"depends-on-0d4e4f15.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,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC;QAClE,OAAO;YACL,aAAa;YACb,SAAS,EAAE,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;oBACvB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;wBAC/B,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;wBAClE,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,IAAI,CAAC;yBACb;wBACD,OAAO,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC;qBAC9C;oBACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;wBAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;4BAC9B,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,IAAI,CAAC;yBACb;wBACD,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;qBACtC;oBACD,OAAO,KAAK,CAAC;iBACd,CAAC,CAAC;aACJ;SACF,CAAC;KACH,CAAC,CAAC;AACL,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 return Object.entries(dependsOn).map(([parentFacetId, expectedValue]) => {\n return {\n parentFacetId,\n condition: (values) => {\n return values.some((value) => {\n if (isCategoryFacetValue(value)) {\n const selectedValue = getSelectedCategoryFacetValueRequest(value);\n if (!selectedValue) {\n return false;\n }\n if (!expectedValue) {\n return true;\n }\n return selectedValue.value === expectedValue;\n }\n if (isSimpleFacetValue(value)) {\n if (value.state !== 'selected') {\n return false;\n }\n if (!expectedValue) {\n return true;\n }\n return value.value === expectedValue;\n }\n return false;\n });\n },\n };\n });\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,66 +0,0 @@
|
|
1
|
-
function parseDependsOn(dependsOn) {
|
2
|
-
if (Object.keys(dependsOn).length > 1) {
|
3
|
-
throw "Depending on multiple facets isn't supported";
|
4
|
-
}
|
5
|
-
return Object.entries(dependsOn).map(([parentFacetId, expectedValue]) => {
|
6
|
-
return {
|
7
|
-
parentFacetId,
|
8
|
-
condition: (values) => {
|
9
|
-
return values.some((value) => {
|
10
|
-
if (isCategoryFacetValue(value)) {
|
11
|
-
const selectedValue = getSelectedCategoryFacetValueRequest(value);
|
12
|
-
if (!selectedValue) {
|
13
|
-
return false;
|
14
|
-
}
|
15
|
-
if (!expectedValue) {
|
16
|
-
return true;
|
17
|
-
}
|
18
|
-
return selectedValue.value === expectedValue;
|
19
|
-
}
|
20
|
-
if (isSimpleFacetValue(value)) {
|
21
|
-
if (value.state !== 'selected') {
|
22
|
-
return false;
|
23
|
-
}
|
24
|
-
if (!expectedValue) {
|
25
|
-
return true;
|
26
|
-
}
|
27
|
-
return value.value === expectedValue;
|
28
|
-
}
|
29
|
-
return false;
|
30
|
-
});
|
31
|
-
},
|
32
|
-
};
|
33
|
-
});
|
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-d73b0ce3.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"depends-on-d73b0ce3.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,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC;QAClE,OAAO;YACL,aAAa;YACb,SAAS,EAAE,CAAC,MAAM;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;oBACvB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;wBAC/B,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;wBAClE,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,IAAI,CAAC;yBACb;wBACD,OAAO,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC;qBAC9C;oBACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;wBAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE;4BAC9B,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,IAAI,CAAC;yBACb;wBACD,OAAO,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;qBACtC;oBACD,OAAO,KAAK,CAAC;iBACd,CAAC,CAAC;aACJ;SACF,CAAC;KACH,CAAC,CAAC;AACL,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 return Object.entries(dependsOn).map(([parentFacetId, expectedValue]) => {\n return {\n parentFacetId,\n condition: (values) => {\n return values.some((value) => {\n if (isCategoryFacetValue(value)) {\n const selectedValue = getSelectedCategoryFacetValueRequest(value);\n if (!selectedValue) {\n return false;\n }\n if (!expectedValue) {\n return true;\n }\n return selectedValue.value === expectedValue;\n }\n if (isSimpleFacetValue(value)) {\n if (value.state !== 'selected') {\n return false;\n }\n if (!expectedValue) {\n return true;\n }\n return value.value === expectedValue;\n }\n return false;\n });\n },\n };\n });\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}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|