@coveo/atomic 3.33.8-pre.b09317bdc7 → 3.33.8-pre.b3ff08ceb8

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.
Files changed (88) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/analytics-config.js +1 -1
  3. package/dist/atomic/components/components/common/formats/format-common.js +1 -1
  4. package/dist/atomic/components/depends-on.js +28 -28
  5. package/dist/atomic/components/depends-on.js.map +1 -1
  6. package/dist/atomic/components/format-common.js.map +1 -1
  7. package/dist/atomic/components/global/environment.js +1 -1
  8. package/dist/atomic/{p-2f8de0b9.entry.js → p-07fbb49a.entry.js} +2 -2
  9. package/dist/atomic/{p-69f5cec8.entry.js → p-1874a06a.entry.js} +2 -2
  10. package/dist/atomic/p-25a96534.js.map +1 -1
  11. package/dist/atomic/{p-5104aee0.js → p-303591ac.js} +2 -2
  12. package/dist/atomic/{p-2b621128.entry.js → p-3d1b6640.entry.js} +2 -2
  13. package/dist/atomic/{p-e514cdb2.entry.js → p-4a74f4a3.entry.js} +2 -2
  14. package/dist/atomic/{p-cbbb4d94.entry.js → p-5f8b2d00.entry.js} +2 -2
  15. package/dist/atomic/{p-9c9b1965.entry.js → p-92548ab6.entry.js} +2 -2
  16. package/dist/atomic/{p-534b6a0a.entry.js → p-a9b32844.entry.js} +2 -2
  17. package/dist/atomic/{p-b7063a0d.entry.js → p-ada63017.entry.js} +2 -2
  18. package/dist/atomic/{p-08794435.entry.js → p-ba650801.entry.js} +2 -2
  19. package/dist/atomic/{p-ca762513.entry.js → p-c889adbd.entry.js} +2 -2
  20. package/dist/atomic/{p-fda26113.entry.js → p-d716d680.entry.js} +2 -2
  21. package/dist/atomic/p-dafbe2ef.js +2 -0
  22. package/dist/atomic/p-dafbe2ef.js.map +1 -0
  23. package/dist/atomic/{p-811d6dcb.entry.js → p-f5b58a15.entry.js} +2 -2
  24. package/dist/atomic/{p-fbe37f4b.entry.js → p-f8d62605.entry.js} +2 -2
  25. package/dist/atomic/{p-bdbbb47b.entry.js → p-f8ded37c.entry.js} +2 -2
  26. package/dist/cjs/{analytics-config-7531fbc2.js → analytics-config-01ba200d.js} +2 -2
  27. package/dist/cjs/{analytics-config-7531fbc2.js.map → analytics-config-01ba200d.js.map} +1 -1
  28. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  29. package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
  30. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  31. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  32. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  33. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  34. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
  35. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  36. package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
  37. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
  38. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  39. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  40. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +1 -1
  41. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
  42. package/dist/cjs/depends-on-f0cf3617.js +68 -0
  43. package/dist/cjs/depends-on-f0cf3617.js.map +1 -0
  44. package/dist/cjs/format-common-4aa8aa88.js.map +1 -1
  45. package/dist/cjs/version.cjs.js +2 -2
  46. package/dist/esm/{analytics-config-7adc1dde.js → analytics-config-ee64c5c1.js} +2 -2
  47. package/dist/esm/{analytics-config-7adc1dde.js.map → analytics-config-ee64c5c1.js.map} +1 -1
  48. package/dist/esm/atomic-category-facet.entry.js +1 -1
  49. package/dist/esm/atomic-color-facet.entry.js +1 -1
  50. package/dist/esm/atomic-facet.entry.js +1 -1
  51. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  52. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  53. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  54. package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
  55. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  56. package/dist/esm/atomic-rating-facet.entry.js +1 -1
  57. package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
  58. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  59. package/dist/esm/atomic-search-interface.entry.js +1 -1
  60. package/dist/esm/atomic-segmented-facet.entry.js +1 -1
  61. package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
  62. package/dist/esm/depends-on-20dabb86.js +66 -0
  63. package/dist/esm/depends-on-20dabb86.js.map +1 -0
  64. package/dist/esm/format-common-274e0f7c.js.map +1 -1
  65. package/dist/esm/version.js +2 -2
  66. package/docs/atomic-docs.json +1 -1
  67. package/package.json +3 -3
  68. package/dist/atomic/p-0f13077e.js +0 -2
  69. package/dist/atomic/p-0f13077e.js.map +0 -1
  70. package/dist/cjs/depends-on-0d4e4f15.js +0 -68
  71. package/dist/cjs/depends-on-0d4e4f15.js.map +0 -1
  72. package/dist/esm/depends-on-d73b0ce3.js +0 -66
  73. package/dist/esm/depends-on-d73b0ce3.js.map +0 -1
  74. /package/dist/atomic/{p-2f8de0b9.entry.js.map → p-07fbb49a.entry.js.map} +0 -0
  75. /package/dist/atomic/{p-69f5cec8.entry.js.map → p-1874a06a.entry.js.map} +0 -0
  76. /package/dist/atomic/{p-5104aee0.js.map → p-303591ac.js.map} +0 -0
  77. /package/dist/atomic/{p-2b621128.entry.js.map → p-3d1b6640.entry.js.map} +0 -0
  78. /package/dist/atomic/{p-e514cdb2.entry.js.map → p-4a74f4a3.entry.js.map} +0 -0
  79. /package/dist/atomic/{p-cbbb4d94.entry.js.map → p-5f8b2d00.entry.js.map} +0 -0
  80. /package/dist/atomic/{p-9c9b1965.entry.js.map → p-92548ab6.entry.js.map} +0 -0
  81. /package/dist/atomic/{p-534b6a0a.entry.js.map → p-a9b32844.entry.js.map} +0 -0
  82. /package/dist/atomic/{p-b7063a0d.entry.js.map → p-ada63017.entry.js.map} +0 -0
  83. /package/dist/atomic/{p-08794435.entry.js.map → p-ba650801.entry.js.map} +0 -0
  84. /package/dist/atomic/{p-ca762513.entry.js.map → p-c889adbd.entry.js.map} +0 -0
  85. /package/dist/atomic/{p-fda26113.entry.js.map → p-d716d680.entry.js.map} +0 -0
  86. /package/dist/atomic/{p-811d6dcb.entry.js.map → p-f5b58a15.entry.js.map} +0 -0
  87. /package/dist/atomic/{p-fbe37f4b.entry.js.map → p-f8d62605.entry.js.map} +0 -0
  88. /package/dist/atomic/{p-bdbbb47b.entry.js.map → p-f8ded37c.entry.js.map} +0 -0
@@ -8,7 +8,7 @@ import { A as ArrowLeftIcon } from './arrow-left-rounded-27d1c97b.js';
8
8
  import { B as Button } from './stencil-button-1a29a5df.js';
9
9
  import { F as FacetValueLabelHighlight, s as shouldUpdateFacetSearchComponent, a as shouldDisplaySearchResults } from './stencil-facet-value-label-highlight-b4083ffd.js';
10
10
  import { F as FacetValueLink } from './stencil-facet-value-link-88512e29.js';
11
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
11
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
12
12
  import { F as FacetHeader, a as FacetContainer, b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
13
13
  import { F as FacetGuard } from './facet-guard-4b795e90.js';
14
14
  import { a as announceFacetSearchResultsWithAriaLive, F as FacetShowMoreLess } from './stencil-facet-show-more-less-e575f20f.js';
@@ -4,7 +4,7 @@ import { a as getFieldCaptions, g as getFieldValueCaption } from './field-utils-
4
4
  import { I as InitializeBindings, B as BindStateToController, H as Hidden } from './initialization-utils-ffbc4136.js';
5
5
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
6
6
  import { A as AriaLiveRegion, F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
7
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
7
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
8
8
  import { F as FacetHeader, b as FacetPlaceholder, a as FacetContainer } from './facet-placeholder-4959a92a.js';
9
9
  import { a as announceFacetSearchResultsWithAriaLive, F as FacetShowMoreLess } from './stencil-facet-show-more-less-e575f20f.js';
10
10
  import { s as shouldUpdateFacetSearchComponent, F as FacetValueLabelHighlight, a as shouldDisplaySearchResults } from './stencil-facet-value-label-highlight-b4083ffd.js';
@@ -4,7 +4,7 @@ import { a as getFieldCaptions } from './field-utils-f0146383.js';
4
4
  import { I as InitializeBindings, B as BindStateToController } from './initialization-utils-ffbc4136.js';
5
5
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
6
6
  import { A as AriaLiveRegion, F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
7
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
7
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
8
8
  import { a as FacetContainer, F as FacetHeader, b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
9
9
  import { F as FacetGuard } from './facet-guard-4b795e90.js';
10
10
  import { F as FacetShowMoreLess, a as announceFacetSearchResultsWithAriaLive } from './stencil-facet-show-more-less-e575f20f.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, h, g as getElement } from './index-3f35faca.js';
2
2
  import { buildFacet, buildSearchStatus, buildFacetConditionsManager } from '@coveo/headless/insight';
3
3
  import { I as InitializeBindings, B as BindStateToController } from './initialization-utils-ffbc4136.js';
4
4
  import { A as AriaLiveRegion, F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
5
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
5
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
6
6
  import { a as FacetContainer, F as FacetHeader, b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
7
7
  import { F as FacetGuard } from './facet-guard-4b795e90.js';
8
8
  import { F as FacetShowMoreLess, a as announceFacetSearchResultsWithAriaLive } from './stencil-facet-show-more-less-e575f20f.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, s as setNonce, h, H as Host, g as getElement } from './index-3f35faca.js';
2
2
  import { m as markParentAsReady } from './init-queue-fbe942c3.js';
3
3
  import { buildResultsPerPage, loadFieldActions, buildInsightEngine } from '@coveo/headless/insight';
4
- import { g as getNextAnalyticsConfig, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance } from './analytics-config-7adc1dde.js';
4
+ import { g as getNextAnalyticsConfig, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance } from './analytics-config-ee64c5c1.js';
5
5
  import { A as ArrayProp } from './props-utils-e97ad6bd.js';
6
6
  import { D as DEFAULT_MOBILE_BREAKPOINT } from './replace-breakpoint-utils-7a336631.js';
7
7
  import { u as unsetLoadingFlag, s as setLoadingFlag, r as registerFacet, g as getFacetElements, w as waitUntilAppLoaded, a as createBaseStore } from './store-015afa83.js';
@@ -5,7 +5,7 @@ import { I as InitializeBindings, B as BindStateToController } from './initializ
5
5
  import { M as MapProp } from './props-utils-e97ad6bd.js';
6
6
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
7
7
  import { r as randomID } from './utils-7161486d.js';
8
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
8
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
9
9
  import { a as FacetContainer, F as FacetHeader, b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
10
10
  import { F as FacetGuard } from './facet-guard-4b795e90.js';
11
11
  import { f as formatHumanReadable, N as NumericFacetValueLink, a as NumericFacetValuesContainer } from './stencil-values-container-55a7e816.js';
@@ -3,7 +3,7 @@ import { buildFacetConditionsManager, buildDateRange, deserializeRelativeDate, b
3
3
  import { I as InitializeBindings, B as BindStateToController } from './initialization-utils-ffbc4136.js';
4
4
  import { M as MapProp } from './props-utils-e97ad6bd.js';
5
5
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
6
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
6
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
7
7
  import { b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
8
8
  import { T as TimeframeFacetCommon } from './timeframe-facet-common-eb1016d2.js';
9
9
  import './dom-utils-f6086cd3.js';
@@ -5,7 +5,7 @@ import { I as InitializeBindings, B as BindStateToController } from './initializ
5
5
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
6
6
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
7
7
  import { r as randomID } from './utils-7161486d.js';
8
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
8
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
9
9
  import { a as FacetContainer, F as FacetHeader, b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
10
10
  import { F as FacetGuard } from './facet-guard-4b795e90.js';
11
11
  import { f as formatHumanReadable, N as NumericFacetValueLink, a as NumericFacetValuesContainer } from './stencil-values-container-55a7e816.js';
@@ -5,7 +5,7 @@ import { S as Star, R as Rating } from './stencil-rating-2d6963a3.js';
5
5
  import { I as InitializeBindings, B as BindStateToController, H as Hidden } from './initialization-utils-ffbc4136.js';
6
6
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
7
7
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
8
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
8
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
9
9
  import { F as FacetHeader, b as FacetPlaceholder, a as FacetContainer } from './facet-placeholder-4959a92a.js';
10
10
  import { F as FacetValueCheckbox } from './stencil-facet-value-checkbox-0637f7f8.js';
11
11
  import { F as FacetValueLink } from './stencil-facet-value-link-88512e29.js';
@@ -4,7 +4,7 @@ import { S as Star, R as Rating } from './stencil-rating-2d6963a3.js';
4
4
  import { I as InitializeBindings, B as BindStateToController, H as Hidden } from './initialization-utils-ffbc4136.js';
5
5
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
6
6
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
7
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
7
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
8
8
  import { F as FacetHeader, b as FacetPlaceholder, a as FacetContainer } from './facet-placeholder-4959a92a.js';
9
9
  import { F as FacetValueLink } from './stencil-facet-value-link-88512e29.js';
10
10
  import { F as FacetValuesGroup } from './stencil-facet-values-group-1108573d.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, s as setNonce, h, g as getElement } from './index-3f35faca.js';
2
2
  import { m as markParentAsReady } from './init-queue-fbe942c3.js';
3
3
  import { loadRecommendationActions, loadSearchConfigurationActions, EcommerceDefaultFieldsToInclude, loadFieldActions, buildRecommendationEngine } from '@coveo/headless/recommendation';
4
- import { g as getNextAnalyticsConfig, c as augmentAnalyticsConfigWithDocument, d as augmentAnalyticsConfigWithAtomicVersion, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './analytics-config-7adc1dde.js';
4
+ import { g as getNextAnalyticsConfig, c as augmentAnalyticsConfigWithDocument, d as augmentAnalyticsConfigWithAtomicVersion, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './analytics-config-ee64c5c1.js';
5
5
  import { A as ArrayProp } from './props-utils-e97ad6bd.js';
6
6
  import { u as unsetLoadingFlag, s as setLoadingFlag, a as createBaseStore } from './store-015afa83.js';
7
7
  import './dayjs.min-d04628c6.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, s as setNonce, h, g as getElement } from './index-3f35faca.js';
2
2
  import { m as markParentAsReady } from './init-queue-fbe942c3.js';
3
3
  import { loadSearchConfigurationActions, loadQueryActions, EcommerceDefaultFieldsToInclude, loadFieldActions, buildSearchEngine, buildUrlManager, buildSearchStatus } from '@coveo/headless';
4
- import { g as getNextAnalyticsConfig, d as augmentAnalyticsConfigWithAtomicVersion, c as augmentAnalyticsConfigWithDocument, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './analytics-config-7adc1dde.js';
4
+ import { g as getNextAnalyticsConfig, d as augmentAnalyticsConfigWithAtomicVersion, c as augmentAnalyticsConfigWithDocument, a as augmentWithExternalMiddleware, b as augmentAnalyticsWithAtomicVersion, C as CommonAtomicInterfaceHelper, i as instance, m as mismatchedInterfaceAndEnginePropError } from './analytics-config-ee64c5c1.js';
5
5
  import { a as StorageItems, S as SafeStorage } from './local-storage-utils-410269e6.js';
6
6
  import { A as ArrayProp } from './props-utils-e97ad6bd.js';
7
7
  import { D as DEFAULT_MOBILE_BREAKPOINT } from './replace-breakpoint-utils-7a336631.js';
@@ -3,7 +3,7 @@ import { buildSearchStatus, buildTabManager, buildFacet, buildFacetConditionsMan
3
3
  import { g as getFieldValueCaption } from './field-utils-f0146383.js';
4
4
  import { I as InitializeBindings, B as BindStateToController, H as Hidden } from './initialization-utils-ffbc4136.js';
5
5
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
6
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
6
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
7
7
  import { F as FacetValuesGroup } from './stencil-facet-values-group-1108573d.js';
8
8
  import { B as Button } from './stencil-button-1a29a5df.js';
9
9
  import './dom-utils-f6086cd3.js';
@@ -3,7 +3,7 @@ import { buildFacetConditionsManager, buildDateRange, deserializeRelativeDate, b
3
3
  import { I as InitializeBindings, B as BindStateToController } from './initialization-utils-ffbc4136.js';
4
4
  import { A as ArrayProp, M as MapProp } from './props-utils-e97ad6bd.js';
5
5
  import { F as FocusTargetController } from './stencil-accessibility-utils-196a08f3.js';
6
- import { p as parseDependsOn } from './depends-on-d73b0ce3.js';
6
+ import { p as parseDependsOn } from './depends-on-20dabb86.js';
7
7
  import { b as FacetPlaceholder } from './facet-placeholder-4959a92a.js';
8
8
  import { T as TimeframeFacetCommon } from './timeframe-facet-common-eb1016d2.js';
9
9
  import './dom-utils-f6086cd3.js';
@@ -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 '../../../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}
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}
@@ -1,2 +1,2 @@
1
- export const headlessVersion = '3.31.1-pre.b09317bdc7';
2
- export const atomicVersion = '3.33.8-pre.b09317bdc7';
1
+ export const headlessVersion = '3.31.1-pre.b3ff08ceb8';
2
+ export const atomicVersion = '3.33.8-pre.b3ff08ceb8';
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-09-30T19:42:00",
2
+ "timestamp": "2025-09-30T20:13:32",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coveo/atomic",
3
3
  "type": "module",
4
- "version": "3.33.8-pre.b09317bdc7",
4
+ "version": "3.33.8-pre.b3ff08ceb8",
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-pre.b09317bdc7",
84
+ "@coveo/headless": "3.31.1-pre.b3ff08ceb8",
85
85
  "@lit/context": "1.1.6",
86
86
  "@open-wc/lit-helpers": "0.7.0",
87
87
  "@popperjs/core": "2.11.8",
@@ -153,7 +153,7 @@
153
153
  },
154
154
  "peerDependencies": {
155
155
  "@coveo/bueno": "1.1.2",
156
- "@coveo/headless": "3.31.1-pre.b09317bdc7",
156
+ "@coveo/headless": "3.31.1-pre.b3ff08ceb8",
157
157
  "typescript": ">=5.0.0"
158
158
  },
159
159
  "peerDependenciesMeta": {
@@ -1,2 +0,0 @@
1
- function t(t){if(Object.keys(t).length>1){throw"Depending on multiple facets isn't supported"}return Object.entries(t).map((([t,u])=>({parentFacetId:t,condition:t=>t.some((t=>{if(n(t)){const n=r(t);if(!n){return false}if(!u){return true}return n.value===u}if(e(t)){if(t.state!=="selected"){return false}if(!u){return true}return t.value===u}return false}))})))}function n(t){const n=t;return(n?.children&&Array.isArray(n.children)&&n?.state&&typeof n.state==="string")===true}function r(t){if(!n(t)){return null}if(t.state==="selected"){return t}for(const n of t.children){const t=r(n);if(t!==null){return t}}return null}function e(t){const n=t;return"value"in n&&typeof n.value==="string"&&!("children"in n)}export{t as p};
2
- //# sourceMappingURL=p-0f13077e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["parseDependsOn","dependsOn","Object","keys","length","entries","map","parentFacetId","expectedValue","condition","values","some","value","isCategoryFacetValue","selectedValue","getSelectedCategoryFacetValueRequest","isSimpleFacetValue","state","request","requestAsRecord","children","Array","isArray","child","asRecord"],"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"],"mappings":"SAcgBA,EAEdC,GACA,GAAIC,OAAOC,KAAKF,GAAWG,OAAS,EAAG,CACrC,KAAM,8C,CAGR,OAAOF,OAAOG,QAAQJ,GAAWK,KAAI,EAAEC,EAAeC,MAC7C,CACLD,gBACAE,UAAYC,GACHA,EAAOC,MAAMC,IAClB,GAAIC,EAAqBD,GAAQ,CAC/B,MAAME,EAAgBC,EAAqCH,GAC3D,IAAKE,EAAe,CAClB,OAAO,K,CAET,IAAKN,EAAe,CAClB,OAAO,I,CAET,OAAOM,EAAcF,QAAUJ,C,CAEjC,GAAIQ,EAAmBJ,GAAQ,CAC7B,GAAIA,EAAMK,QAAU,WAAY,CAC9B,OAAO,K,CAET,IAAKT,EAAe,CAClB,OAAO,I,CAET,OAAOI,EAAMA,QAAUJ,C,CAEzB,OAAO,KAAK,OAKtB,CAEA,SAASK,EAAqBK,GAC5B,MAAMC,EAAkBD,EACxB,OACGC,GAAiBC,UAChBC,MAAMC,QAAQH,EAAgBC,WAC9BD,GAAiBF,cACVE,EAAgBF,QAAU,YAAc,IAErD,CAEA,SAASF,EACPH,GAEA,IAAKC,EAAqBD,GAAQ,CAChC,OAAO,I,CAET,GAAIA,EAAMK,QAAU,WAAY,CAC9B,OAAOL,C,CAET,IAAK,MAAMW,KAASX,EAAMQ,SAAU,CAClC,MAAMN,EAAgBC,EAAqCQ,GAC3D,GAAIT,IAAkB,KAAM,CAC1B,OAAOA,C,EAGX,OAAO,IACT,CAEA,SAASE,EAAmBJ,GAC1B,MAAMY,EAAWZ,EACjB,MACE,UAAWY,UACJA,EAASZ,QAAU,YACxB,aAAcY,EAEpB,Q","ignoreList":[]}
@@ -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}