@envive-ai/react-hooks 0.3.46 → 0.3.47

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 (240) hide show
  1. package/dist/application/commerce-api.cjs +73 -3
  2. package/dist/application/commerce-api.d.cts +16 -1
  3. package/dist/application/commerce-api.d.ts +16 -1
  4. package/dist/application/commerce-api.js +73 -3
  5. package/dist/application/models/api/userEvent.d.cts +9 -2
  6. package/dist/application/models/api/userEvent.d.ts +9 -2
  7. package/dist/application/models/featureGates.cjs +2 -1
  8. package/dist/application/models/featureGates.d.cts +2 -1
  9. package/dist/application/models/featureGates.d.ts +2 -1
  10. package/dist/application/models/featureGates.js +2 -1
  11. package/dist/application/models/graphql/queries/getProductOptionsQuery.cjs +33 -0
  12. package/dist/application/models/graphql/queries/getProductOptionsQuery.d.cts +28 -0
  13. package/dist/application/models/graphql/queries/getProductOptionsQuery.d.ts +28 -0
  14. package/dist/application/models/graphql/queries/getProductOptionsQuery.js +32 -0
  15. package/dist/application/models/validators/validateResponse.cjs +2 -1
  16. package/dist/application/models/validators/validateResponse.js +2 -1
  17. package/dist/application/models/validators/validateUserEvent.cjs +3 -3
  18. package/dist/application/models/validators/validateUserEvent.js +3 -3
  19. package/dist/application/utils/elementObserver.d.cts +2 -2
  20. package/dist/application/utils/index.cjs +2 -0
  21. package/dist/application/utils/index.d.cts +2 -1
  22. package/dist/application/utils/index.d.ts +2 -1
  23. package/dist/application/utils/index.js +2 -1
  24. package/dist/application/utils/messageFromAddToCartEvent.cjs +32 -0
  25. package/dist/application/utils/messageFromAddToCartEvent.d.cts +19 -0
  26. package/dist/application/utils/messageFromAddToCartEvent.d.ts +19 -0
  27. package/dist/application/utils/messageFromAddToCartEvent.js +31 -0
  28. package/dist/atoms/app/index.cjs +1 -1
  29. package/dist/atoms/app/index.d.cts +7 -7
  30. package/dist/atoms/app/index.d.ts +1 -1
  31. package/dist/atoms/app/index.js +1 -1
  32. package/dist/atoms/app/variant.d.cts +6 -6
  33. package/dist/atoms/app/variant.d.ts +6 -6
  34. package/dist/atoms/chat/chatState.d.cts +19 -19
  35. package/dist/atoms/chat/chatState.d.ts +19 -19
  36. package/dist/atoms/chat/form.d.cts +2 -2
  37. package/dist/atoms/chat/form.d.ts +2 -2
  38. package/dist/atoms/chat/index.d.cts +2 -2
  39. package/dist/atoms/chat/index.d.ts +3 -3
  40. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  41. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  42. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  43. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  44. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  45. package/dist/atoms/chat/replies.d.cts +3 -3
  46. package/dist/atoms/chat/replies.d.ts +2 -2
  47. package/dist/atoms/chat/suggestions.d.cts +2 -2
  48. package/dist/atoms/chat/suggestions.d.ts +2 -2
  49. package/dist/atoms/envive/enviveConfig.cjs +7 -4
  50. package/dist/atoms/envive/enviveConfig.d.cts +4 -2
  51. package/dist/atoms/envive/enviveConfig.d.ts +16 -14
  52. package/dist/atoms/envive/enviveConfig.js +6 -4
  53. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  54. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  55. package/dist/atoms/org/customerService.d.cts +6 -6
  56. package/dist/atoms/org/customerService.d.ts +6 -6
  57. package/dist/atoms/org/graphqlConfig.cjs +1 -1
  58. package/dist/atoms/org/graphqlConfig.d.cts +6 -6
  59. package/dist/atoms/org/graphqlConfig.d.ts +6 -6
  60. package/dist/atoms/org/graphqlConfig.js +1 -1
  61. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  62. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  63. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  64. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  65. package/dist/atoms/search/chatSearch.d.cts +17 -17
  66. package/dist/atoms/search/chatSearch.d.ts +17 -17
  67. package/dist/atoms/search/searchAPI.d.cts +13 -13
  68. package/dist/atoms/search/searchAPI.d.ts +13 -13
  69. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  70. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  71. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +6 -4
  72. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +3 -1
  73. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +3 -1
  74. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +6 -4
  75. package/dist/contexts/enviveContext/enviveContext.cjs +7 -3
  76. package/dist/contexts/enviveContext/enviveContext.d.cts +5 -1
  77. package/dist/contexts/enviveContext/enviveContext.d.ts +5 -1
  78. package/dist/contexts/enviveContext/enviveContext.js +7 -3
  79. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +2 -97
  80. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +3 -25
  81. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +3 -25
  82. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +3 -97
  83. package/dist/contexts/featureFlagServiceContext/index.cjs +2 -1
  84. package/dist/contexts/featureFlagServiceContext/index.d.cts +2 -1
  85. package/dist/contexts/featureFlagServiceContext/index.d.ts +2 -1
  86. package/dist/contexts/featureFlagServiceContext/index.js +2 -1
  87. package/dist/contexts/graphqlContext/mockV3Config.cjs +1 -1
  88. package/dist/contexts/graphqlContext/mockV3Config.js +1 -1
  89. package/dist/contexts/localStorageContext/index.cjs +2 -1
  90. package/dist/contexts/localStorageContext/index.d.cts +2 -1
  91. package/dist/contexts/localStorageContext/index.d.ts +2 -1
  92. package/dist/contexts/localStorageContext/index.js +2 -1
  93. package/dist/contexts/localStorageContext/localStorageContext.cjs +5 -11
  94. package/dist/contexts/localStorageContext/localStorageContext.d.cts +3 -7
  95. package/dist/contexts/localStorageContext/localStorageContext.d.ts +3 -7
  96. package/dist/contexts/localStorageContext/localStorageContext.js +3 -8
  97. package/dist/contexts/localStorageContext/localStorageKeys.cjs +12 -0
  98. package/dist/contexts/localStorageContext/localStorageKeys.d.cts +9 -0
  99. package/dist/contexts/localStorageContext/localStorageKeys.d.ts +9 -0
  100. package/dist/contexts/localStorageContext/localStorageKeys.js +11 -0
  101. package/dist/contexts/salesAgentContext/chatAPI.cjs +13 -2
  102. package/dist/contexts/salesAgentContext/chatAPI.d.cts +4 -1
  103. package/dist/contexts/salesAgentContext/chatAPI.d.ts +4 -1
  104. package/dist/contexts/salesAgentContext/chatAPI.js +14 -3
  105. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +12 -4
  106. package/dist/contexts/salesAgentContext/salesAgentContext.js +12 -4
  107. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  108. package/dist/contexts/types.cjs +1 -1
  109. package/dist/contexts/types.d.cts +3 -1
  110. package/dist/contexts/types.d.ts +3 -1
  111. package/dist/contexts/types.js +1 -1
  112. package/dist/contexts/typesV3.cjs +1 -1
  113. package/dist/contexts/typesV3.d.cts +11 -2
  114. package/dist/contexts/typesV3.d.ts +12 -3
  115. package/dist/contexts/typesV3.js +1 -1
  116. package/dist/hooks/AddToCart/addToCartErrorMessage.cjs +7 -0
  117. package/dist/hooks/AddToCart/addToCartErrorMessage.d.cts +5 -0
  118. package/dist/hooks/AddToCart/addToCartErrorMessage.d.ts +5 -0
  119. package/dist/hooks/AddToCart/addToCartErrorMessage.js +6 -0
  120. package/dist/hooks/AddToCart/createAddToCartUserEvent.cjs +20 -0
  121. package/dist/hooks/AddToCart/createAddToCartUserEvent.d.cts +17 -0
  122. package/dist/hooks/AddToCart/createAddToCartUserEvent.d.ts +17 -0
  123. package/dist/hooks/AddToCart/createAddToCartUserEvent.js +19 -0
  124. package/dist/hooks/AddToCart/index.cjs +9 -0
  125. package/dist/hooks/AddToCart/index.d.cts +5 -0
  126. package/dist/hooks/AddToCart/index.d.ts +5 -0
  127. package/dist/hooks/AddToCart/index.js +6 -0
  128. package/dist/hooks/AddToCart/parseAddToCartFunction.cjs +27 -0
  129. package/dist/hooks/AddToCart/parseAddToCartFunction.d.cts +13 -0
  130. package/dist/hooks/AddToCart/parseAddToCartFunction.d.ts +13 -0
  131. package/dist/hooks/AddToCart/parseAddToCartFunction.js +27 -0
  132. package/dist/hooks/AddToCart/useAddToCart.cjs +24 -0
  133. package/dist/hooks/AddToCart/useAddToCart.d.cts +14 -0
  134. package/dist/hooks/AddToCart/useAddToCart.d.ts +14 -0
  135. package/dist/hooks/AddToCart/useAddToCart.js +23 -0
  136. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  137. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +6 -5
  138. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +3 -2
  139. package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +5 -2
  140. package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +5 -2
  141. package/dist/hooks/ProductDetails/index.cjs +9 -0
  142. package/dist/hooks/ProductDetails/index.d.cts +4 -0
  143. package/dist/hooks/ProductDetails/index.d.ts +4 -0
  144. package/dist/hooks/ProductDetails/index.js +4 -0
  145. package/dist/hooks/ProductDetails/useProductDetails.cjs +53 -0
  146. package/dist/hooks/ProductDetails/useProductDetails.d.cts +20 -0
  147. package/dist/hooks/ProductDetails/useProductDetails.d.ts +20 -0
  148. package/dist/hooks/ProductDetails/useProductDetails.js +52 -0
  149. package/dist/hooks/ProductDetails/variantSelection.cjs +42 -0
  150. package/dist/hooks/ProductDetails/variantSelection.d.cts +35 -0
  151. package/dist/hooks/ProductDetails/variantSelection.d.ts +35 -0
  152. package/dist/hooks/ProductDetails/variantSelection.js +38 -0
  153. package/dist/hooks/Search/useSearch.d.cts +1 -1
  154. package/dist/hooks/Search/useSearch.d.ts +1 -1
  155. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  156. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +11 -2
  157. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -10
  158. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -10
  159. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +11 -2
  160. package/dist/hooks/WidgetInteraction/types.cjs +12 -2
  161. package/dist/hooks/WidgetInteraction/types.d.cts +28 -3
  162. package/dist/hooks/WidgetInteraction/types.d.ts +28 -3
  163. package/dist/hooks/WidgetInteraction/types.js +12 -2
  164. package/dist/hooks/utils.d.ts +1 -1
  165. package/dist/services/amplitudeService/amplitudeService.cjs +16 -10
  166. package/dist/services/amplitudeService/amplitudeService.d.cts +5 -2
  167. package/dist/services/amplitudeService/amplitudeService.d.ts +5 -2
  168. package/dist/services/amplitudeService/amplitudeService.js +14 -7
  169. package/dist/services/enviveConfigService/enviveConfigService.cjs +3 -4
  170. package/dist/services/enviveConfigService/enviveConfigService.d.cts +1 -1
  171. package/dist/services/enviveConfigService/enviveConfigService.d.ts +1 -1
  172. package/dist/services/enviveConfigService/enviveConfigService.js +2 -3
  173. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +8 -7
  174. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +8 -6
  175. package/dist/services/featureFlagService/index.cjs +101 -0
  176. package/dist/services/featureFlagService/index.d.cts +28 -0
  177. package/dist/services/featureFlagService/index.d.ts +28 -0
  178. package/dist/services/featureFlagService/index.js +101 -0
  179. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +8 -2
  180. package/dist/services/ga4ProjectionService/ga4EventSchema.js +8 -2
  181. package/dist/services/hardcopyService/hardcopyService.d.cts +1 -1
  182. package/dist/services/hardcopyService/hardcopyService.d.ts +1 -1
  183. package/dist/services/urlResolverWarmupService/index.cjs +54 -0
  184. package/dist/services/urlResolverWarmupService/index.d.cts +40 -0
  185. package/dist/services/urlResolverWarmupService/index.d.ts +40 -0
  186. package/dist/services/urlResolverWarmupService/index.js +54 -0
  187. package/dist/types/enviveConfig.d.cts +6 -2
  188. package/dist/types/enviveConfig.d.ts +6 -2
  189. package/dist/types/index.d.cts +2 -2
  190. package/dist/types/index.d.ts +2 -2
  191. package/package.json +17 -1
  192. package/src/application/__tests__/commerceApiAddToCartRehydration.test.ts +126 -0
  193. package/src/application/commerce-api.ts +142 -23
  194. package/src/application/models/api/userEvent.ts +8 -1
  195. package/src/application/models/featureGates.ts +5 -0
  196. package/src/application/models/graphql/queries/getProductOptionsQuery.ts +59 -0
  197. package/src/application/models/validators/__tests__/validateUserEvent.test.ts +41 -0
  198. package/src/application/models/validators/validateResponse.ts +1 -0
  199. package/src/application/models/validators/validateUserEvent.ts +7 -2
  200. package/src/application/utils/__tests__/messageFromAddToCartEvent.test.ts +109 -0
  201. package/src/application/utils/index.ts +1 -0
  202. package/src/application/utils/messageFromAddToCartEvent.ts +32 -0
  203. package/src/atoms/app/index.ts +1 -1
  204. package/src/atoms/envive/enviveConfig.ts +6 -1
  205. package/src/atoms/org/graphqlConfig.ts +1 -1
  206. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +5 -0
  207. package/src/contexts/enviveContext/enviveContext.tsx +10 -0
  208. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +6 -173
  209. package/src/contexts/localStorageContext/localStorageContext.tsx +2 -5
  210. package/src/contexts/localStorageContext/localStorageKeys.ts +8 -0
  211. package/src/contexts/salesAgentContext/__tests__/chatAPI.test.tsx +63 -0
  212. package/src/contexts/salesAgentContext/chatAPI.ts +20 -1
  213. package/src/contexts/salesAgentContext/salesAgentContext.tsx +10 -0
  214. package/src/contexts/types.ts +2 -0
  215. package/src/contexts/typesV3.ts +14 -0
  216. package/src/hooks/AddToCart/__tests__/parseAddToCartFunction.test.ts +31 -0
  217. package/src/hooks/AddToCart/__tests__/useAddToCart.test.tsx +204 -0
  218. package/src/hooks/AddToCart/addToCartErrorMessage.ts +2 -0
  219. package/src/hooks/AddToCart/createAddToCartUserEvent.ts +25 -0
  220. package/src/hooks/AddToCart/index.ts +4 -0
  221. package/src/hooks/AddToCart/parseAddToCartFunction.ts +31 -0
  222. package/src/hooks/AddToCart/useAddToCart.ts +35 -0
  223. package/src/hooks/PageViewedEvent/usePageViewedEvent.ts +4 -0
  224. package/src/hooks/ProductDetails/__tests__/useProductDetails.test.tsx +129 -0
  225. package/src/hooks/ProductDetails/__tests__/variantSelection.test.ts +145 -0
  226. package/src/hooks/ProductDetails/index.ts +2 -0
  227. package/src/hooks/ProductDetails/useProductDetails.ts +62 -0
  228. package/src/hooks/ProductDetails/variantSelection.ts +61 -0
  229. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +15 -0
  230. package/src/hooks/WidgetInteraction/types.ts +42 -1
  231. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +8 -8
  232. package/src/services/amplitudeService/amplitudeService.ts +42 -23
  233. package/src/services/enviveConfigService/enviveConfigService.ts +2 -2
  234. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +17 -6
  235. package/src/services/featureFlagService/index.ts +176 -0
  236. package/src/services/ga4ProjectionService/__tests__/ga4ProjectionService.test.ts +36 -0
  237. package/src/services/ga4ProjectionService/ga4EventSchema.ts +7 -0
  238. package/src/services/urlResolverWarmupService/__tests__/urlResolverWarmupService.test.ts +85 -0
  239. package/src/services/urlResolverWarmupService/index.ts +89 -0
  240. package/src/types/enviveConfig.ts +3 -0
@@ -0,0 +1,101 @@
1
+ import logger_default from "../../application/logging/logger.js";
2
+ import { FeatureGates } from "../../application/models/featureGates.js";
3
+
4
+ //#region src/services/featureFlagService/index.ts
5
+ const FEATURE_FLAGS_STORAGE_KEY = "spiffy-feature-flags";
6
+ const logger = new logger_default("featureFlagService");
7
+ var FeatureFlagService = class FeatureFlagService {
8
+ constructor(featureGates) {
9
+ this.isFeatureGateEnabled = (featureGate) => {
10
+ const gateValue = this.featureGates.find((gate) => gate.name === featureGate);
11
+ const featureFlagOverride = FeatureFlagService.getFeatureFlagOverride(featureGate);
12
+ if (featureFlagOverride !== void 0) return featureFlagOverride;
13
+ if (gateValue == null || gateValue.value == null) {
14
+ logger.logDebug(`isFeatureGateEnabled featureGate:${featureGate} value is undefined - returning false`);
15
+ return false;
16
+ }
17
+ return gateValue.value;
18
+ };
19
+ this.isClientSessionEnabled = () => this.isFeatureGateEnabled(FeatureGates.IsClientSessionEnabled);
20
+ this.getFeatureFlags = () => {
21
+ return Object.fromEntries(Object.values(FeatureGates).map((featureGate) => [featureGate, this.isFeatureGateEnabled(featureGate)]));
22
+ };
23
+ this.getFullFlagValue = (featureGate) => {
24
+ const gateValue = this.featureGates.find((gate) => gate.name === featureGate);
25
+ return {
26
+ resolved: this.isFeatureGateEnabled(featureGate),
27
+ initial: gateValue?.value,
28
+ query_param_override: FeatureFlagService.getQueryParamFeatureGateOverrides(featureGate),
29
+ window_param_override: FeatureFlagService.getWindowFeatureGateOverrides(featureGate),
30
+ stored_override: FeatureFlagService.getStoredFeatureGateOverrides(featureGate)
31
+ };
32
+ };
33
+ this.getFullFlagValues = () => {
34
+ const featureGates$1 = Object.values(FeatureGates).map((featureGate) => [featureGate, this.getFullFlagValue(featureGate)]);
35
+ return featureGates$1.length > 0 ? featureGates$1.reduce((acc, entry) => {
36
+ const [name, value] = entry;
37
+ if (name && value != null) return {
38
+ ...acc,
39
+ [`feature_gate.${name}`]: value
40
+ };
41
+ return acc;
42
+ }, {}) : {};
43
+ };
44
+ this.featureGates = featureGates;
45
+ }
46
+ static getQueryParamFeatureGateOverrides(featureGate) {
47
+ const url = window.location?.href ?? "";
48
+ if (url.includes("?")) {
49
+ const urlObj = new URL(url);
50
+ const params = new URLSearchParams(urlObj.search);
51
+ const value = Object.fromEntries(params.entries())[featureGate];
52
+ if (value != null) return value === "true";
53
+ }
54
+ }
55
+ static getWindowFeatureGateOverrides(featureGate) {
56
+ if (typeof window === "undefined") return;
57
+ const windowOverride = window;
58
+ const value = (windowOverride?._envive?.featureOverrides ?? windowOverride?._spiffy?.featureOverrides)?.[String(featureGate)];
59
+ if (value != null) return value;
60
+ }
61
+ static getStoredFeatureGateOverrides(featureGate) {
62
+ if (typeof window === "undefined" || typeof window.localStorage === "undefined") return;
63
+ try {
64
+ const featureFlags = window.localStorage.getItem(FEATURE_FLAGS_STORAGE_KEY);
65
+ if (!featureFlags) return;
66
+ return JSON.parse(featureFlags)[featureGate];
67
+ } catch (err) {
68
+ logger.logError("getStoredFeatureGateOverrides: error parsing feature flags", err);
69
+ return;
70
+ }
71
+ }
72
+ static getFeatureFlagOverride(featureGate) {
73
+ const queryOverride = FeatureFlagService.getQueryParamFeatureGateOverrides(featureGate);
74
+ if (queryOverride != null) {
75
+ logger.logDebug(`isFeatureGateEnabled featureGate:${featureGate} overridden by URL param. New value: ${queryOverride}`);
76
+ return queryOverride;
77
+ }
78
+ const windowOverride = FeatureFlagService.getWindowFeatureGateOverrides(featureGate);
79
+ if (windowOverride != null) {
80
+ logger.logDebug(`isFeatureGateEnabled featureGate:${featureGate} overridden by window param. New value: ${windowOverride}`);
81
+ return windowOverride;
82
+ }
83
+ const storedOverride = FeatureFlagService.getStoredFeatureGateOverrides(featureGate);
84
+ if (storedOverride != null) {
85
+ logger.logDebug(`isFeatureGateEnabled featureGate:${featureGate} overridden by stored value. New value: ${storedOverride}`);
86
+ return storedOverride;
87
+ }
88
+ }
89
+ static persistFeatureGateOverrides() {
90
+ if (typeof window === "undefined" || typeof window.localStorage === "undefined") return;
91
+ const overrides = Object.values(FeatureGates).map((featureGate) => [featureGate, FeatureFlagService.getFeatureFlagOverride(featureGate)]).filter(([, value]) => value !== void 0).reduce((acc, [key, value]) => ({
92
+ ...acc,
93
+ [key]: value
94
+ }), {});
95
+ window.localStorage.setItem(FEATURE_FLAGS_STORAGE_KEY, JSON.stringify(overrides));
96
+ }
97
+ };
98
+
99
+ //#endregion
100
+ export { FeatureFlagService };
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJmZWF0dXJlR2F0ZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZmVhdHVyZUZsYWdTZXJ2aWNlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0cyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5cbmNvbnN0IEZFQVRVUkVfRkxBR1NfU1RPUkFHRV9LRVkgPSAnc3BpZmZ5LWZlYXR1cmUtZmxhZ3MnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdmZWF0dXJlRmxhZ1NlcnZpY2UnKTtcblxuZXhwb3J0IGludGVyZmFjZSBGdWxsRmxhZ1ZhbHVlIHtcbiAgcmVzb2x2ZWQ6IGJvb2xlYW47XG4gIGluaXRpYWw6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHF1ZXJ5X3BhcmFtX292ZXJyaWRlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICB3aW5kb3dfcGFyYW1fb3ZlcnJpZGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHN0b3JlZF9vdmVycmlkZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cblxuLy8gS2VwdCBmcmVlIG9mIFJlYWN0IGltcG9ydHM6IHRoZSBpbmplY3Rpb24gYnVuZGxlIGNvbnN0cnVjdHMgdGhpcyBzZXJ2aWNlXG4vLyBiZWZvcmUgZGVjaWRpbmcgd2hldGhlciB0byBsb2FkIHRoZSBSZWFjdCBhcHAsIGFuZCBwdWxsaW5nIFJlYWN0IGludG9cbi8vIHRoYXQgcHJlLWNvbmZpZyBjb2RlIHBhdGggd291bGQgcHV0IGl0IG9uIHRoZSBlYWdlciBjcml0aWNhbCBjaHVuay5cbmV4cG9ydCBjbGFzcyBGZWF0dXJlRmxhZ1NlcnZpY2Uge1xuICBwcml2YXRlIGZlYXR1cmVHYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcblxuICBjb25zdHJ1Y3RvcihmZWF0dXJlR2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW10pIHtcbiAgICB0aGlzLmZlYXR1cmVHYXRlcyA9IGZlYXR1cmVHYXRlcztcbiAgfVxuXG4gIHN0YXRpYyBnZXRRdWVyeVBhcmFtRmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbj8uaHJlZiA/PyAnJztcbiAgICBpZiAodXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsT2JqLnNlYXJjaCk7XG4gICAgICBjb25zdCBwYXJhbXNPYmogPSBPYmplY3QuZnJvbUVudHJpZXMocGFyYW1zLmVudHJpZXMoKSk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtc09ialtmZWF0dXJlR2F0ZV07XG5cbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3Qgd2luZG93T3ZlcnJpZGUgPSB3aW5kb3cgYXMgV2luZG93ICYge1xuICAgICAgX2Vudml2ZT86IHsgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IH07XG4gICAgICBfc3BpZmZ5PzogeyBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gfTtcbiAgICB9O1xuICAgIGNvbnN0IGZlYXR1cmVPdmVycmlkZXMgPVxuICAgICAgd2luZG93T3ZlcnJpZGU/Ll9lbnZpdmU/LmZlYXR1cmVPdmVycmlkZXMgPz8gd2luZG93T3ZlcnJpZGU/Ll9zcGlmZnk/LmZlYXR1cmVPdmVycmlkZXM7XG4gICAgY29uc3QgdmFsdWUgPSBmZWF0dXJlT3ZlcnJpZGVzPy5bU3RyaW5nKGZlYXR1cmVHYXRlKV07XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyhmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cubG9jYWxTdG9yYWdlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFncyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShGRUFUVVJFX0ZMQUdTX1NUT1JBR0VfS0VZKTtcbiAgICAgIGlmICghZmVhdHVyZUZsYWdzKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ3NPYmogPSBKU09OLnBhcnNlKGZlYXR1cmVGbGFncykgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgICByZXR1cm4gZmVhdHVyZUZsYWdzT2JqW2ZlYXR1cmVHYXRlXTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5sb2dFcnJvcignZ2V0U3RvcmVkRmVhdHVyZUdhdGVPdmVycmlkZXM6IGVycm9yIHBhcnNpbmcgZmVhdHVyZSBmbGFncycsIGVycik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRGZWF0dXJlRmxhZ092ZXJyaWRlKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBxdWVyeU92ZXJyaWRlID0gRmVhdHVyZUZsYWdTZXJ2aWNlLmdldFF1ZXJ5UGFyYW1GZWF0dXJlR2F0ZU92ZXJyaWRlcyhmZWF0dXJlR2F0ZSk7XG4gICAgaWYgKHF1ZXJ5T3ZlcnJpZGUgIT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICBgaXNGZWF0dXJlR2F0ZUVuYWJsZWQgZmVhdHVyZUdhdGU6JHtmZWF0dXJlR2F0ZX0gb3ZlcnJpZGRlbiBieSBVUkwgcGFyYW0uIE5ldyB2YWx1ZTogJHtxdWVyeU92ZXJyaWRlfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHF1ZXJ5T3ZlcnJpZGU7XG4gICAgfVxuXG4gICAgY29uc3Qgd2luZG93T3ZlcnJpZGUgPSBGZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpO1xuICAgIGlmICh3aW5kb3dPdmVycmlkZSAhPSBudWxsKSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSBvdmVycmlkZGVuIGJ5IHdpbmRvdyBwYXJhbS4gTmV3IHZhbHVlOiAke3dpbmRvd092ZXJyaWRlfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHdpbmRvd092ZXJyaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IHN0b3JlZE92ZXJyaWRlID0gRmVhdHVyZUZsYWdTZXJ2aWNlLmdldFN0b3JlZEZlYXR1cmVHYXRlT3ZlcnJpZGVzKGZlYXR1cmVHYXRlKTtcbiAgICBpZiAoc3RvcmVkT3ZlcnJpZGUgIT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICBgaXNGZWF0dXJlR2F0ZUVuYWJsZWQgZmVhdHVyZUdhdGU6JHtmZWF0dXJlR2F0ZX0gb3ZlcnJpZGRlbiBieSBzdG9yZWQgdmFsdWUuIE5ldyB2YWx1ZTogJHtzdG9yZWRPdmVycmlkZX1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBzdG9yZWRPdmVycmlkZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaXNGZWF0dXJlR2F0ZUVuYWJsZWQgPSAoZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGdhdGVWYWx1ZSA9IHRoaXMuZmVhdHVyZUdhdGVzLmZpbmQoZ2F0ZSA9PiBnYXRlLm5hbWUgPT09IGZlYXR1cmVHYXRlKTtcblxuICAgIGNvbnN0IGZlYXR1cmVGbGFnT3ZlcnJpZGUgPSBGZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdPdmVycmlkZShmZWF0dXJlR2F0ZSk7XG4gICAgaWYgKGZlYXR1cmVGbGFnT3ZlcnJpZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZlYXR1cmVGbGFnT3ZlcnJpZGU7XG4gICAgfVxuXG4gICAgaWYgKGdhdGVWYWx1ZSA9PSBudWxsIHx8IGdhdGVWYWx1ZS52YWx1ZSA9PSBudWxsKSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSB2YWx1ZSBpcyB1bmRlZmluZWQgLSByZXR1cm5pbmcgZmFsc2VgLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGdhdGVWYWx1ZS52YWx1ZTtcbiAgfTtcblxuICAvLyBFbnN1cmUgdGhhdCBzdGFuZGFyZCBvdmVycmlkZXMgd29yayBhcyBleHBlY3RlZFxuICBpc0NsaWVudFNlc3Npb25FbmFibGVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmlzRmVhdHVyZUdhdGVFbmFibGVkKEZlYXR1cmVHYXRlcy5Jc0NsaWVudFNlc3Npb25FbmFibGVkKTtcblxuICBnZXRGZWF0dXJlRmxhZ3MgPSAoKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPT4ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKSA9PiBbXG4gICAgICAgIGZlYXR1cmVHYXRlLFxuICAgICAgICB0aGlzLmlzRmVhdHVyZUdhdGVFbmFibGVkKGZlYXR1cmVHYXRlKSxcbiAgICAgIF0pLFxuICAgICk7XG4gIH07XG5cbiAgZ2V0RnVsbEZsYWdWYWx1ZSA9IChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogRnVsbEZsYWdWYWx1ZSA9PiB7XG4gICAgY29uc3QgZ2F0ZVZhbHVlID0gdGhpcy5mZWF0dXJlR2F0ZXMuZmluZChnYXRlID0+IGdhdGUubmFtZSA9PT0gZmVhdHVyZUdhdGUpO1xuICAgIHJldHVybiB7XG4gICAgICByZXNvbHZlZDogdGhpcy5pc0ZlYXR1cmVHYXRlRW5hYmxlZChmZWF0dXJlR2F0ZSksXG4gICAgICBpbml0aWFsOiBnYXRlVmFsdWU/LnZhbHVlLFxuICAgICAgcXVlcnlfcGFyYW1fb3ZlcnJpZGU6IEZlYXR1cmVGbGFnU2VydmljZS5nZXRRdWVyeVBhcmFtRmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpLFxuICAgICAgd2luZG93X3BhcmFtX292ZXJyaWRlOiBGZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpLFxuICAgICAgc3RvcmVkX292ZXJyaWRlOiBGZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0U3RvcmVkRmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpLFxuICAgIH07XG4gIH07XG5cbiAgZ2V0RnVsbEZsYWdWYWx1ZXMgPSAoKTogUmVjb3JkPHN0cmluZywgRnVsbEZsYWdWYWx1ZT4gPT4ge1xuICAgIGNvbnN0IGZlYXR1cmVHYXRlcyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKS5tYXAoKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpID0+IFtcbiAgICAgIGZlYXR1cmVHYXRlLFxuICAgICAgdGhpcy5nZXRGdWxsRmxhZ1ZhbHVlKGZlYXR1cmVHYXRlKSxcbiAgICBdKTtcblxuICAgIHJldHVybiBmZWF0dXJlR2F0ZXMubGVuZ3RoID4gMFxuICAgICAgPyBmZWF0dXJlR2F0ZXMucmVkdWNlPFJlY29yZDxzdHJpbmcsIEZ1bGxGbGFnVmFsdWU+PigoYWNjLCBlbnRyeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBlbnRyeSBhcyBbRmVhdHVyZUdhdGVzLCBGdWxsRmxhZ1ZhbHVlXTtcbiAgICAgICAgICBpZiAobmFtZSAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtgZmVhdHVyZV9nYXRlLiR7bmFtZX1gXTogdmFsdWUgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pXG4gICAgICA6IHt9O1xuICB9O1xuXG4gIHN0YXRpYyBwZXJzaXN0RmVhdHVyZUdhdGVPdmVycmlkZXMoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cubG9jYWxTdG9yYWdlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvdmVycmlkZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcylcbiAgICAgIC5tYXAoXG4gICAgICAgIGZlYXR1cmVHYXRlID0+XG4gICAgICAgICAgW2ZlYXR1cmVHYXRlLCBGZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdPdmVycmlkZShmZWF0dXJlR2F0ZSldIGFzIGNvbnN0LFxuICAgICAgKVxuICAgICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oKGFjYywgW2tleSwgdmFsdWVdKSA9PiAoeyAuLi5hY2MsIFtrZXldOiB2YWx1ZSEgfSksIHt9KTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oRkVBVFVSRV9GTEFHU19TVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkob3ZlcnJpZGVzKSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLE1BQU0sNEJBQTRCO0FBRWxDLE1BQU0sU0FBUyxJQUFJQSxlQUFPLHFCQUFxQjtBQWEvQyxJQUFhLHFCQUFiLE1BQWEsbUJBQW1CO0NBRzlCLFlBQVksY0FBc0M7K0JBa0YxQixnQkFBdUM7R0FDN0QsTUFBTSxZQUFZLEtBQUssYUFBYSxNQUFLLFNBQVEsS0FBSyxTQUFTLFlBQVk7R0FFM0UsTUFBTSxzQkFBc0IsbUJBQW1CLHVCQUF1QixZQUFZO0FBQ2xGLE9BQUksd0JBQXdCLE9BQzFCLFFBQU87QUFHVCxPQUFJLGFBQWEsUUFBUSxVQUFVLFNBQVMsTUFBTTtBQUNoRCxXQUFPLFNBQ0wsb0NBQW9DLFlBQVksdUNBQ2pEO0FBQ0QsV0FBTzs7QUFFVCxVQUFPLFVBQVU7O3NDQUtqQixLQUFLLHFCQUFxQixhQUFhLHVCQUF1QjsrQkFFZjtBQUMvQyxVQUFPLE9BQU8sWUFDWixPQUFPLE9BQU8sYUFBYSxDQUFDLEtBQUssZ0JBQThCLENBQzdELGFBQ0EsS0FBSyxxQkFBcUIsWUFBWSxDQUN2QyxDQUFDLENBQ0g7OzJCQUdpQixnQkFBNkM7R0FDL0QsTUFBTSxZQUFZLEtBQUssYUFBYSxNQUFLLFNBQVEsS0FBSyxTQUFTLFlBQVk7QUFDM0UsVUFBTztJQUNMLFVBQVUsS0FBSyxxQkFBcUIsWUFBWTtJQUNoRCxTQUFTLFdBQVc7SUFDcEIsc0JBQXNCLG1CQUFtQixrQ0FBa0MsWUFBWTtJQUN2Rix1QkFBdUIsbUJBQW1CLDhCQUE4QixZQUFZO0lBQ3BGLGlCQUFpQixtQkFBbUIsOEJBQThCLFlBQVk7SUFDL0U7O2lDQUdzRDtHQUN2RCxNQUFNQyxpQkFBZSxPQUFPLE9BQU8sYUFBYSxDQUFDLEtBQUssZ0JBQThCLENBQ2xGLGFBQ0EsS0FBSyxpQkFBaUIsWUFBWSxDQUNuQyxDQUFDO0FBRUYsVUFBT0EsZUFBYSxTQUFTLElBQ3pCQSxlQUFhLFFBQXVDLEtBQUssVUFBVTtJQUNqRSxNQUFNLENBQUMsTUFBTSxTQUFTO0FBQ3RCLFFBQUksUUFBUSxTQUFTLEtBQ25CLFFBQU87S0FBRSxHQUFHO01BQU0sZ0JBQWdCLFNBQVM7S0FBTztBQUVwRCxXQUFPO01BQ04sRUFBRSxDQUFDLEdBQ04sRUFBRTs7QUF4SU4sT0FBSyxlQUFlOztDQUd0QixPQUFPLGtDQUFrQyxhQUFnRDtFQUN2RixNQUFNLE1BQU0sT0FBTyxVQUFVLFFBQVE7QUFDckMsTUFBSSxJQUFJLFNBQVMsSUFBSSxFQUFFO0dBQ3JCLE1BQU0sU0FBUyxJQUFJLElBQUksSUFBSTtHQUMzQixNQUFNLFNBQVMsSUFBSSxnQkFBZ0IsT0FBTyxPQUFPO0dBRWpELE1BQU0sUUFEWSxPQUFPLFlBQVksT0FBTyxTQUFTLENBQUMsQ0FDOUI7QUFFeEIsT0FBSSxTQUFTLEtBQ1gsUUFBTyxVQUFVOzs7Q0FPdkIsT0FBTyw4QkFBOEIsYUFBZ0Q7QUFDbkYsTUFBSSxPQUFPLFdBQVcsWUFDcEI7RUFFRixNQUFNLGlCQUFpQjtFQU12QixNQUFNLFNBREosZ0JBQWdCLFNBQVMsb0JBQW9CLGdCQUFnQixTQUFTLG9CQUN2QyxPQUFPLFlBQVk7QUFDcEQsTUFBSSxTQUFTLEtBQ1gsUUFBTzs7Q0FLWCxPQUFPLDhCQUE4QixhQUFnRDtBQUNuRixNQUFJLE9BQU8sV0FBVyxlQUFlLE9BQU8sT0FBTyxpQkFBaUIsWUFDbEU7QUFFRixNQUFJO0dBQ0YsTUFBTSxlQUFlLE9BQU8sYUFBYSxRQUFRLDBCQUEwQjtBQUMzRSxPQUFJLENBQUMsYUFDSDtBQUdGLFVBRHdCLEtBQUssTUFBTSxhQUFhLENBQ3pCO1dBQ2hCLEtBQUs7QUFDWixVQUFPLFNBQVMsOERBQThELElBQUk7QUFDbEY7OztDQUlKLE9BQU8sdUJBQXVCLGFBQWdEO0VBQzVFLE1BQU0sZ0JBQWdCLG1CQUFtQixrQ0FBa0MsWUFBWTtBQUN2RixNQUFJLGlCQUFpQixNQUFNO0FBQ3pCLFVBQU8sU0FDTCxvQ0FBb0MsWUFBWSx1Q0FBdUMsZ0JBQ3hGO0FBQ0QsVUFBTzs7RUFHVCxNQUFNLGlCQUFpQixtQkFBbUIsOEJBQThCLFlBQVk7QUFDcEYsTUFBSSxrQkFBa0IsTUFBTTtBQUMxQixVQUFPLFNBQ0wsb0NBQW9DLFlBQVksMENBQTBDLGlCQUMzRjtBQUNELFVBQU87O0VBR1QsTUFBTSxpQkFBaUIsbUJBQW1CLDhCQUE4QixZQUFZO0FBQ3BGLE1BQUksa0JBQWtCLE1BQU07QUFDMUIsVUFBTyxTQUNMLG9DQUFvQyxZQUFZLDBDQUEwQyxpQkFDM0Y7QUFDRCxVQUFPOzs7Q0FnRVgsT0FBTyw4QkFBb0M7QUFDekMsTUFBSSxPQUFPLFdBQVcsZUFBZSxPQUFPLE9BQU8saUJBQWlCLFlBQ2xFO0VBRUYsTUFBTSxZQUFZLE9BQU8sT0FBTyxhQUFhLENBQzFDLEtBQ0MsZ0JBQ0UsQ0FBQyxhQUFhLG1CQUFtQix1QkFBdUIsWUFBWSxDQUFDLENBQ3hFLENBQ0EsUUFBUSxHQUFHLFdBQVcsVUFBVSxPQUFVLENBQzFDLFFBQWlDLEtBQUssQ0FBQyxLQUFLLFlBQVk7R0FBRSxHQUFHO0lBQU0sTUFBTTtHQUFRLEdBQUcsRUFBRSxDQUFDO0FBQzFGLFNBQU8sYUFBYSxRQUFRLDJCQUEyQixLQUFLLFVBQVUsVUFBVSxDQUFDIn0=
@@ -26,7 +26,13 @@ const require_eventNames = require('../amplitudeService/eventNames.cjs');
26
26
  const WIDGET_INTERACTION_DATA_PROJECTIONS = {
27
27
  widget_collapsed: { interaction_collapse_source: "widget_collapsed.collapse_source" },
28
28
  product_card_clicked: { interaction_product_id: "product_card_clicked.product_id" },
29
- suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" }
29
+ suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" },
30
+ variant_selector_opened: { interaction_product_id: "variant_selector_opened.product_id" },
31
+ variant_option_selected: {
32
+ interaction_product_id: "variant_option_selected.product_id",
33
+ interaction_option_name: "variant_option_selected.option_name"
34
+ },
35
+ variant_selector_dismissed: { interaction_product_id: "variant_selector_dismissed.product_id" }
30
36
  };
31
37
  const GA4_EVENT_SCHEMA = {
32
38
  [require_eventNames.EnviveMetricsEventName.WidgetRendered]: {
@@ -110,4 +116,4 @@ const GA4_EVENT_SCHEMA = {
110
116
 
111
117
  //#endregion
112
118
  exports.GA4_EVENT_SCHEMA = GA4_EVENT_SCHEMA;
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuY2pzIiwibmFtZXMiOlsiV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlM6IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24iLCJHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNEV2ZW50U2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR0E0IEV2ZW50IFNjaGVtYSDigJQgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgRW52aXZlIOKGkiBHQTQgcHJvamVjdGlvbi5cbiAqXG4gKiBFdmVyeSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIE1VU1QgaGF2ZSBhbiBlbnRyeSBoZXJlLiBUaGUgUmVjb3JkIHR5cGUgZW5mb3JjZXNcbiAqIHRoaXMgYXQgY29tcGlsZSB0aW1lIOKAlCBhZGRpbmcgYSBuZXcgZW51bSBtZW1iZXIgd2l0aG91dCBhIHNjaGVtYSBlbnRyeSB3aWxsXG4gKiBjYXVzZSBhIFR5cGVTY3JpcHQgZXJyb3IuXG4gKlxuICogIyMgSG93IHRvIHVwZGF0ZSB0aGlzIGZpbGVcbiAqXG4gKiBXaGVuIGFkZGluZyBvciBtb2RpZnlpbmcgZXZlbnQgcHJvcGVydGllcywgZGVjaWRlIHdoZXRoZXIgdGhleSBiZWxvbmcgaW4gYGFsbG93ZWRGaWVsZHNgIHVzaW5nIHRoZXNlIGNyaXRlcmlhOlxuICogLSAqKkxvdyBjYXJkaW5hbGl0eSoqIOKAlCBhdm9pZCB1bmJvdW5kZWQgdmFsdWVzIChmcmVlIHRleHQsIElEcywgVVJMcywgdGltZXN0YW1wcykuXG4gKiAtICoqTm9uLXNlbnNpdGl2ZSoqIOKAlCBubyBQSUksIHVzZXIgaW5wdXQgdGV4dCwgb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAqIC0gKipGbGF0IHNjYWxhcioqIOKAlCBHQTQgY3VzdG9tIGRpbWVuc2lvbnMgYXJlIGZsYXQgc3RyaW5ncy9udW1iZXJzL2Jvb2xlYW5zLlxuICogICBOZXN0ZWQgb2JqZWN0cyBzaG91bGQgTk9UIGJlIGFkZGVkOyBleHRyYWN0IHNwZWNpZmljIHN1Yi1maWVsZHMgaW5zdGVhZC5cbiAqIC0gKipTbmFrZV9jYXNlIGtleSoqIOKAlCBtdXN0IGFscmVhZHkgYmUgZG90LW5vdGF0aW9uIHNuYWtlX2Nhc2UgKGUuZy4gYGNoYXQudXNlcl90eXBlZGApLlxuICogLSAqKkFuYWx5dGljYWxseSB1c2VmdWwqKiDigJQgdGhlIGZpZWxkIHNob3VsZCBlbmFibGUgbWVhbmluZ2Z1bCBmaWx0ZXJpbmcvc2VnbWVudGF0aW9uXG4gKiAgIGZvciBtZXJjaGFudHMgaW4gdGhlaXIgR0E0IGRhc2hib2FyZHMuXG4gKlxuICogSWYgZXhjbHVkZWQgZnJvbSBgYWxsb3dlZEZpZWxkc2AsIHRoZSBwcm9qZWN0aW9uIGxheWVyIHdpbGwgYXV0b21hdGljYWxseSBkcm9wIGl0LlxuICpcbiAqIElGIElOIERPVUJULCBET04nVCBIRVNJVEFURSBUTyBSRUFDSCBPVVQgVE8gVEhFIEFOQUxZVElDUyBURUFNISEhXG4gKi9cbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuXG4vKipcbiAqIERlZmluZXMgd2hpY2ggZmllbGRzIHRvIGV4dHJhY3QgZnJvbSBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YWBcbiAqIGZvciBhIGdpdmVuIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgdmFsdWUuXG4gKlxuICogS2V5OiB0aGUgdmFsdWUgb2YgYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uYCAoZS5nLiBcIndpZGdldF9jb2xsYXBzZWRcIilcbiAqIFZhbHVlOiBtYXBwaW5nIG9mIHsgZ2E0RmxhdEtleTogc291cmNlRmllbGRJbldpZGdldEludGVyYWN0aW9uRGF0YSB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24gPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGludGVyZmFjZSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBzdHJpbmc7XG4gIGFsbG93ZWRGaWVsZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICAvKipcbiAgICogV2hlbiBwcmVzZW50LCB1c2VkIGluc3RlYWQgb2YgYGFsbG93ZWRGaWVsZHNgIHRvIGJvdGggZmlsdGVyIGFuZCByZW5hbWUgZmllbGRzLlxuICAgKiBLZXk6IHRoZSBkZXNpcmVkIEdBNCBwYXJhbWV0ZXIgbmFtZS4gVmFsdWU6IHRoZSBzb3VyY2UgZG90LW5vdGF0aW9uIGtleSBpbiBldmVudFByb3BzLlxuICAgKi9cbiAgZmllbGRQcm9qZWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zPzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnIHtcbiAgZ2FFdmVudE5hbWU6IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEdBNEV2ZW50U2NoZW1hRW50cnkgPSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB8IEdBNEV4Y2x1ZGVkRXZlbnRDb25maWc7XG5cbmNvbnN0IFdJREdFVF9JTlRFUkFDVElPTl9EQVRBX1BST0pFQ1RJT05TOiBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0ge1xuICB3aWRnZXRfY29sbGFwc2VkOiB7IGludGVyYWN0aW9uX2NvbGxhcHNlX3NvdXJjZTogJ3dpZGdldF9jb2xsYXBzZWQuY29sbGFwc2Vfc291cmNlJyB9LFxuICBwcm9kdWN0X2NhcmRfY2xpY2tlZDogeyBpbnRlcmFjdGlvbl9wcm9kdWN0X2lkOiAncHJvZHVjdF9jYXJkX2NsaWNrZWQucHJvZHVjdF9pZCcgfSxcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogeyBpbnRlcmFjdGlvbl9zdWdnZXN0aW9uX2lkOiAnc3VnZ2VzdGlvbl9zY3JvbGxlZC5zdWdnZXN0aW9uX2lkJyB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiA9IHtcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0UmVuZGVyZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfd2lkZ2V0X3JlbmRlcmVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXSxcbiAgICBmaWVsZFByb2plY3Rpb25zOiB7XG4gICAgICBwYWdlX3R5cGU6ICdjb250ZXh0LnBhZ2VfdHlwZScsXG4gICAgICBwYWdlX2lkOiAnY29udGV4dC5wYWdlX2lkJyxcbiAgICAgIHN1cmZhY2U6ICdjb250ZXh0LnN1cmZhY2UnLFxuICAgICAgd2lkZ2V0OiAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgd2lkZ2V0X3JvbGU6ICd0cmlnZ2VyLndpZGdldF9yb2xlJyxcbiAgICB9LFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBzdXJmYWNlOiAnY29udGV4dC5zdXJmYWNlJyxcbiAgICAgIHdpZGdldDogJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgIGludGVyYWN0aW9uX3R5cGU6ICd0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgICBpbnRlcmFjdGlvbl9jbGFzczogJ3RyaWdnZXIuaW50ZXJhY3Rpb25fY2xhc3MnLFxuICAgICAgd2lkZ2V0X3JvbGU6ICd0cmlnZ2VyLndpZGdldF9yb2xlJyxcbiAgICB9LFxuICAgIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zOiBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUyxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9jaGF0X3JlcXVlc3QnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZScsXG4gICAgICAvLyAnY2hhdC5yZXF1ZXN0X3RleHQnLCAvLyBUaGlzIGlzIGhpZ2ggY2FyZGluYWxpdHkgYW5kIHBvdGVudGlhbGx5IFBJSSBidXQgd2UgbWlnaHQgd2FudCB0byBpbmNsdWRlIGl0IGxhdGVyXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jcmVhdGVkX2F0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pc19hbnN3ZXInLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5mb3JtX3R5cGUnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXNwb25zZScsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ3BhZ2VfdHlwZScsXG4gICAgICAncGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkIChtYXliZSBpdCBzaG91bGQnbnQgYmU/Pz8pXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9jYXJkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnLFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuRW52aXZlSW5pdGlhbGl6ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfaW5pdGlhbGl6ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdlbnZpcm9ubWVudC5zYWxlc19hZ2VudF9lbmFibGVkJyxcbiAgICAgICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgICAvLyAnZW52aXJvbm1lbnQuc2VhcmNoX2VuYWJsZWQnLCAvLyBGb3Igbm93LCBzZWFyY2ggaXMgbm90IGltcGxlbWVudGVkLiBXZSB3aWxsIGFkZCBpdCBsYXRlci5cbiAgICAgICdwZXJmb3JtYW5jZS5zdGFydF90aW1lX21zJyxcbiAgICAgICdwZXJmb3JtYW5jZS5pbml0aWFsaXplX3RpbWVfbXMnLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gVGhpcyBldmVudCBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfcGFnZV9jb250ZXh0X2V2YWx1YXRlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBjb250ZXh0X3N1cHBvcnRlZDogJ2NvbnRleHQuc3VwcG9ydGVkJyxcbiAgICAgIGNvbnRleHRfcmVhZHk6ICdjb250ZXh0LnJlYWR5JyxcbiAgICAgIGNvbnRleHRfcGFnZV92YXJpYW50X2lkOiAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnLFxuICAgICAgZW52aXJvbm1lbnRfZW52aXZlX2VuYWJsZWQ6ICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgfSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogbnVsbCxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dENsaWNrZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0RBLE1BQU1BLHNDQUF1RTtDQUMzRSxrQkFBa0IsRUFBRSw2QkFBNkIsb0NBQW9DO0NBQ3JGLHNCQUFzQixFQUFFLHdCQUF3QixtQ0FBbUM7Q0FDbkYscUJBQXFCLEVBQUUsMkJBQTJCLHFDQUFxQztDQUN4RjtBQUVELE1BQWFDLG1CQUF3RTtFQUNsRkMsMENBQXVCLGlCQUFpQjtFQUN2QyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1IsYUFBYTtHQUNkO0VBQ0Y7RUFFQUEsMENBQXVCLG9CQUFvQjtFQUMxQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixhQUFhO0dBQ2Q7RUFDRCxrQ0FBa0M7RUFDbkM7RUFFQUEsMENBQXVCLGNBQWM7RUFDcEMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUVBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQUEsMENBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBQSwwQ0FBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUVBO0dBQ0E7R0FDRDtFQUNGO0VBR0FBLDBDQUF1QixhQUFhO0VBQ25DLGFBQWE7RUFDYixlQUFlLEVBQUU7RUFDakIsa0JBQWtCO0dBQ2hCLFdBQVc7R0FDWCxTQUFTO0dBQ1QsbUJBQW1CO0dBQ25CLGVBQWU7R0FDZix5QkFBeUI7R0FDekIsNEJBQTRCO0dBQzdCO0VBQ0Y7RUFFQUEsMENBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7RUFFQUEsMENBQXVCLHFCQUFxQixFQUMzQyxhQUFhLE1BQ2Q7RUFFQUEsMENBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7Q0FDRiJ9
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuY2pzIiwibmFtZXMiOlsiV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlM6IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24iLCJHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNEV2ZW50U2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR0E0IEV2ZW50IFNjaGVtYSDigJQgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgRW52aXZlIOKGkiBHQTQgcHJvamVjdGlvbi5cbiAqXG4gKiBFdmVyeSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIE1VU1QgaGF2ZSBhbiBlbnRyeSBoZXJlLiBUaGUgUmVjb3JkIHR5cGUgZW5mb3JjZXNcbiAqIHRoaXMgYXQgY29tcGlsZSB0aW1lIOKAlCBhZGRpbmcgYSBuZXcgZW51bSBtZW1iZXIgd2l0aG91dCBhIHNjaGVtYSBlbnRyeSB3aWxsXG4gKiBjYXVzZSBhIFR5cGVTY3JpcHQgZXJyb3IuXG4gKlxuICogIyMgSG93IHRvIHVwZGF0ZSB0aGlzIGZpbGVcbiAqXG4gKiBXaGVuIGFkZGluZyBvciBtb2RpZnlpbmcgZXZlbnQgcHJvcGVydGllcywgZGVjaWRlIHdoZXRoZXIgdGhleSBiZWxvbmcgaW4gYGFsbG93ZWRGaWVsZHNgIHVzaW5nIHRoZXNlIGNyaXRlcmlhOlxuICogLSAqKkxvdyBjYXJkaW5hbGl0eSoqIOKAlCBhdm9pZCB1bmJvdW5kZWQgdmFsdWVzIChmcmVlIHRleHQsIElEcywgVVJMcywgdGltZXN0YW1wcykuXG4gKiAtICoqTm9uLXNlbnNpdGl2ZSoqIOKAlCBubyBQSUksIHVzZXIgaW5wdXQgdGV4dCwgb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAqIC0gKipGbGF0IHNjYWxhcioqIOKAlCBHQTQgY3VzdG9tIGRpbWVuc2lvbnMgYXJlIGZsYXQgc3RyaW5ncy9udW1iZXJzL2Jvb2xlYW5zLlxuICogICBOZXN0ZWQgb2JqZWN0cyBzaG91bGQgTk9UIGJlIGFkZGVkOyBleHRyYWN0IHNwZWNpZmljIHN1Yi1maWVsZHMgaW5zdGVhZC5cbiAqIC0gKipTbmFrZV9jYXNlIGtleSoqIOKAlCBtdXN0IGFscmVhZHkgYmUgZG90LW5vdGF0aW9uIHNuYWtlX2Nhc2UgKGUuZy4gYGNoYXQudXNlcl90eXBlZGApLlxuICogLSAqKkFuYWx5dGljYWxseSB1c2VmdWwqKiDigJQgdGhlIGZpZWxkIHNob3VsZCBlbmFibGUgbWVhbmluZ2Z1bCBmaWx0ZXJpbmcvc2VnbWVudGF0aW9uXG4gKiAgIGZvciBtZXJjaGFudHMgaW4gdGhlaXIgR0E0IGRhc2hib2FyZHMuXG4gKlxuICogSWYgZXhjbHVkZWQgZnJvbSBgYWxsb3dlZEZpZWxkc2AsIHRoZSBwcm9qZWN0aW9uIGxheWVyIHdpbGwgYXV0b21hdGljYWxseSBkcm9wIGl0LlxuICpcbiAqIElGIElOIERPVUJULCBET04nVCBIRVNJVEFURSBUTyBSRUFDSCBPVVQgVE8gVEhFIEFOQUxZVElDUyBURUFNISEhXG4gKi9cbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuXG4vKipcbiAqIERlZmluZXMgd2hpY2ggZmllbGRzIHRvIGV4dHJhY3QgZnJvbSBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YWBcbiAqIGZvciBhIGdpdmVuIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgdmFsdWUuXG4gKlxuICogS2V5OiB0aGUgdmFsdWUgb2YgYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uYCAoZS5nLiBcIndpZGdldF9jb2xsYXBzZWRcIilcbiAqIFZhbHVlOiBtYXBwaW5nIG9mIHsgZ2E0RmxhdEtleTogc291cmNlRmllbGRJbldpZGdldEludGVyYWN0aW9uRGF0YSB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24gPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGludGVyZmFjZSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBzdHJpbmc7XG4gIGFsbG93ZWRGaWVsZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICAvKipcbiAgICogV2hlbiBwcmVzZW50LCB1c2VkIGluc3RlYWQgb2YgYGFsbG93ZWRGaWVsZHNgIHRvIGJvdGggZmlsdGVyIGFuZCByZW5hbWUgZmllbGRzLlxuICAgKiBLZXk6IHRoZSBkZXNpcmVkIEdBNCBwYXJhbWV0ZXIgbmFtZS4gVmFsdWU6IHRoZSBzb3VyY2UgZG90LW5vdGF0aW9uIGtleSBpbiBldmVudFByb3BzLlxuICAgKi9cbiAgZmllbGRQcm9qZWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zPzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnIHtcbiAgZ2FFdmVudE5hbWU6IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEdBNEV2ZW50U2NoZW1hRW50cnkgPSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB8IEdBNEV4Y2x1ZGVkRXZlbnRDb25maWc7XG5cbmNvbnN0IFdJREdFVF9JTlRFUkFDVElPTl9EQVRBX1BST0pFQ1RJT05TOiBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0ge1xuICB3aWRnZXRfY29sbGFwc2VkOiB7IGludGVyYWN0aW9uX2NvbGxhcHNlX3NvdXJjZTogJ3dpZGdldF9jb2xsYXBzZWQuY29sbGFwc2Vfc291cmNlJyB9LFxuICBwcm9kdWN0X2NhcmRfY2xpY2tlZDogeyBpbnRlcmFjdGlvbl9wcm9kdWN0X2lkOiAncHJvZHVjdF9jYXJkX2NsaWNrZWQucHJvZHVjdF9pZCcgfSxcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogeyBpbnRlcmFjdGlvbl9zdWdnZXN0aW9uX2lkOiAnc3VnZ2VzdGlvbl9zY3JvbGxlZC5zdWdnZXN0aW9uX2lkJyB9LFxuICB2YXJpYW50X3NlbGVjdG9yX29wZW5lZDogeyBpbnRlcmFjdGlvbl9wcm9kdWN0X2lkOiAndmFyaWFudF9zZWxlY3Rvcl9vcGVuZWQucHJvZHVjdF9pZCcgfSxcbiAgLy8gb3B0aW9uX3ZhbHVlIGlzIGludGVudGlvbmFsbHkgZXhjbHVkZWQg4oCUIG1lcmNoYW50LWRlZmluZWQgdmFsdWVzIGFyZSBoaWdoIGNhcmRpbmFsaXR5XG4gIHZhcmlhbnRfb3B0aW9uX3NlbGVjdGVkOiB7XG4gICAgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3ZhcmlhbnRfb3B0aW9uX3NlbGVjdGVkLnByb2R1Y3RfaWQnLFxuICAgIGludGVyYWN0aW9uX29wdGlvbl9uYW1lOiAndmFyaWFudF9vcHRpb25fc2VsZWN0ZWQub3B0aW9uX25hbWUnLFxuICB9LFxuICB2YXJpYW50X3NlbGVjdG9yX2Rpc21pc3NlZDogeyBpbnRlcmFjdGlvbl9wcm9kdWN0X2lkOiAndmFyaWFudF9zZWxlY3Rvcl9kaXNtaXNzZWQucHJvZHVjdF9pZCcgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4gPSB7XG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFJlbmRlcmVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9yZW5kZXJlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBzdXJmYWNlOiAnY29udGV4dC5zdXJmYWNlJyxcbiAgICAgIHdpZGdldDogJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbl06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV93aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgc3VyZmFjZTogJ2NvbnRleHQuc3VyZmFjZScsXG4gICAgICB3aWRnZXQ6ICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICBpbnRlcmFjdGlvbl90eXBlOiAndHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgICAgaW50ZXJhY3Rpb25fY2xhc3M6ICd0cmlnZ2VyLmludGVyYWN0aW9uX2NsYXNzJyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uczogV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlMsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXF1ZXN0JyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAncGFnZV90eXBlJyxcbiAgICAgICdwYWdlX2lkJyxcbiAgICAgICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnLFxuICAgICAgLy8gJ2NoYXQucmVxdWVzdF90ZXh0JywgLy8gVGhpcyBpcyBoaWdoIGNhcmRpbmFsaXR5IGFuZCBwb3RlbnRpYWxseSBQSUkgYnV0IHdlIG1pZ2h0IHdhbnQgdG8gaW5jbHVkZSBpdCBsYXRlclxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jYXRlZ29yeScsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuZm9ybV90eXBlJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2NoYXRfcmVzcG9uc2UnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZCAobWF5YmUgaXQgc2hvdWxkJ250IGJlPz8/KVxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5yZXNwb25zZV90aW1lX21zJyxcbiAgICAgICdjaGF0LnByb2R1Y3RfY2FyZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9pZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucmV2aWV3X2NhcmRzX3JldHVybmVkJyxcbiAgICBdLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkVudml2ZUluaXRpYWxpemVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2luaXRpYWxpemVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnZW52aXJvbm1lbnQuc2FsZXNfYWdlbnRfZW5hYmxlZCcsXG4gICAgICAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgICAgLy8gJ2Vudmlyb25tZW50LnNlYXJjaF9lbmFibGVkJywgLy8gRm9yIG5vdywgc2VhcmNoIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2Ugd2lsbCBhZGQgaXQgbGF0ZXIuXG4gICAgICAncGVyZm9ybWFuY2Uuc3RhcnRfdGltZV9tcycsXG4gICAgICAncGVyZm9ybWFuY2UuaW5pdGlhbGl6ZV90aW1lX21zJyxcbiAgICBdLFxuICB9LFxuXG4gIC8vIFRoaXMgZXZlbnQgaXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5QYWdlVmlld2VkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3BhZ2VfY29udGV4dF9ldmFsdWF0ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgY29udGV4dF9zdXBwb3J0ZWQ6ICdjb250ZXh0LnN1cHBvcnRlZCcsXG4gICAgICBjb250ZXh0X3JlYWR5OiAnY29udGV4dC5yZWFkeScsXG4gICAgICBjb250ZXh0X3BhZ2VfdmFyaWFudF9pZDogJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJyxcbiAgICAgIGVudmlyb25tZW50X2Vudml2ZV9lbmFibGVkOiAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgIH0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRDbGlja2VkXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtEQSxNQUFNQSxzQ0FBdUU7Q0FDM0Usa0JBQWtCLEVBQUUsNkJBQTZCLG9DQUFvQztDQUNyRixzQkFBc0IsRUFBRSx3QkFBd0IsbUNBQW1DO0NBQ25GLHFCQUFxQixFQUFFLDJCQUEyQixxQ0FBcUM7Q0FDdkYseUJBQXlCLEVBQUUsd0JBQXdCLHNDQUFzQztDQUV6Rix5QkFBeUI7RUFDdkIsd0JBQXdCO0VBQ3hCLHlCQUF5QjtFQUMxQjtDQUNELDRCQUE0QixFQUFFLHdCQUF3Qix5Q0FBeUM7Q0FDaEc7QUFFRCxNQUFhQyxtQkFBd0U7RUFDbEZDLDBDQUF1QixpQkFBaUI7RUFDdkMsYUFBYTtFQUNiLGVBQWUsRUFBRTtFQUNqQixrQkFBa0I7R0FDaEIsV0FBVztHQUNYLFNBQVM7R0FDVCxTQUFTO0dBQ1QsUUFBUTtHQUNSLGFBQWE7R0FDZDtFQUNGO0VBRUFBLDBDQUF1QixvQkFBb0I7RUFDMUMsYUFBYTtFQUNiLGVBQWUsRUFBRTtFQUNqQixrQkFBa0I7R0FDaEIsV0FBVztHQUNYLFNBQVM7R0FDVCxTQUFTO0dBQ1QsUUFBUTtHQUNSLGtCQUFrQjtHQUNsQixtQkFBbUI7R0FDbkIsYUFBYTtHQUNkO0VBQ0Qsa0NBQWtDO0VBQ25DO0VBRUFBLDBDQUF1QixjQUFjO0VBQ3BDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FFQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRDtFQUNGO0VBRUFBLDBDQUF1QixlQUFlO0VBQ3JDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQUEsMENBQXVCLG9CQUFvQjtFQUMxQyxhQUFhO0VBQ2IsZUFBZTtHQUNiO0dBQ0E7R0FFQTtHQUNBO0dBQ0Q7RUFDRjtFQUdBQSwwQ0FBdUIsYUFBYTtFQUNuQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULG1CQUFtQjtHQUNuQixlQUFlO0dBQ2YseUJBQXlCO0dBQ3pCLDRCQUE0QjtHQUM3QjtFQUNGO0VBRUFBLDBDQUF1QixvQkFBb0IsRUFDMUMsYUFBYSxNQUNkO0VBRUFBLDBDQUF1QixxQkFBcUIsRUFDM0MsYUFBYSxNQUNkO0VBRUFBLDBDQUF1QixvQkFBb0IsRUFDMUMsYUFBYSxNQUNkO0NBQ0YifQ==
@@ -26,7 +26,13 @@ import { EnviveMetricsEventName } from "../amplitudeService/eventNames.js";
26
26
  const WIDGET_INTERACTION_DATA_PROJECTIONS = {
27
27
  widget_collapsed: { interaction_collapse_source: "widget_collapsed.collapse_source" },
28
28
  product_card_clicked: { interaction_product_id: "product_card_clicked.product_id" },
29
- suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" }
29
+ suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" },
30
+ variant_selector_opened: { interaction_product_id: "variant_selector_opened.product_id" },
31
+ variant_option_selected: {
32
+ interaction_product_id: "variant_option_selected.product_id",
33
+ interaction_option_name: "variant_option_selected.option_name"
34
+ },
35
+ variant_selector_dismissed: { interaction_product_id: "variant_selector_dismissed.product_id" }
30
36
  };
31
37
  const GA4_EVENT_SCHEMA = {
32
38
  [EnviveMetricsEventName.WidgetRendered]: {
@@ -110,4 +116,4 @@ const GA4_EVENT_SCHEMA = {
110
116
 
111
117
  //#endregion
112
118
  export { GA4_EVENT_SCHEMA };
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuanMiLCJuYW1lcyI6WyJXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiIsIkdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYTRQcm9qZWN0aW9uU2VydmljZS9nYTRFdmVudFNjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdBNCBFdmVudCBTY2hlbWEg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIEVudml2ZSDihpIgR0E0IHByb2plY3Rpb24uXG4gKlxuICogRXZlcnkgRW52aXZlTWV0cmljc0V2ZW50TmFtZSBNVVNUIGhhdmUgYW4gZW50cnkgaGVyZS4gVGhlIFJlY29yZCB0eXBlIGVuZm9yY2VzXG4gKiB0aGlzIGF0IGNvbXBpbGUgdGltZSDigJQgYWRkaW5nIGEgbmV3IGVudW0gbWVtYmVyIHdpdGhvdXQgYSBzY2hlbWEgZW50cnkgd2lsbFxuICogY2F1c2UgYSBUeXBlU2NyaXB0IGVycm9yLlxuICpcbiAqICMjIEhvdyB0byB1cGRhdGUgdGhpcyBmaWxlXG4gKlxuICogV2hlbiBhZGRpbmcgb3IgbW9kaWZ5aW5nIGV2ZW50IHByb3BlcnRpZXMsIGRlY2lkZSB3aGV0aGVyIHRoZXkgYmVsb25nIGluIGBhbGxvd2VkRmllbGRzYCB1c2luZyB0aGVzZSBjcml0ZXJpYTpcbiAqIC0gKipMb3cgY2FyZGluYWxpdHkqKiDigJQgYXZvaWQgdW5ib3VuZGVkIHZhbHVlcyAoZnJlZSB0ZXh0LCBJRHMsIFVSTHMsIHRpbWVzdGFtcHMpLlxuICogLSAqKk5vbi1zZW5zaXRpdmUqKiDigJQgbm8gUElJLCB1c2VyIGlucHV0IHRleHQsIG9yIGludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gKiAtICoqRmxhdCBzY2FsYXIqKiDigJQgR0E0IGN1c3RvbSBkaW1lbnNpb25zIGFyZSBmbGF0IHN0cmluZ3MvbnVtYmVycy9ib29sZWFucy5cbiAqICAgTmVzdGVkIG9iamVjdHMgc2hvdWxkIE5PVCBiZSBhZGRlZDsgZXh0cmFjdCBzcGVjaWZpYyBzdWItZmllbGRzIGluc3RlYWQuXG4gKiAtICoqU25ha2VfY2FzZSBrZXkqKiDigJQgbXVzdCBhbHJlYWR5IGJlIGRvdC1ub3RhdGlvbiBzbmFrZV9jYXNlIChlLmcuIGBjaGF0LnVzZXJfdHlwZWRgKS5cbiAqIC0gKipBbmFseXRpY2FsbHkgdXNlZnVsKiog4oCUIHRoZSBmaWVsZCBzaG91bGQgZW5hYmxlIG1lYW5pbmdmdWwgZmlsdGVyaW5nL3NlZ21lbnRhdGlvblxuICogICBmb3IgbWVyY2hhbnRzIGluIHRoZWlyIEdBNCBkYXNoYm9hcmRzLlxuICpcbiAqIElmIGV4Y2x1ZGVkIGZyb20gYGFsbG93ZWRGaWVsZHNgLCB0aGUgcHJvamVjdGlvbiBsYXllciB3aWxsIGF1dG9tYXRpY2FsbHkgZHJvcCBpdC5cbiAqXG4gKiBJRiBJTiBET1VCVCwgRE9OJ1QgSEVTSVRBVEUgVE8gUkVBQ0ggT1VUIFRPIFRIRSBBTkFMWVRJQ1MgVEVBTSEhIVxuICovXG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHdoaWNoIGZpZWxkcyB0byBleHRyYWN0IGZyb20gYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGFgXG4gKiBmb3IgYSBnaXZlbiBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25gIHZhbHVlLlxuICpcbiAqIEtleTogdGhlIHZhbHVlIG9mIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgKGUuZy4gXCJ3aWRnZXRfY29sbGFwc2VkXCIpXG4gKiBWYWx1ZTogbWFwcGluZyBvZiB7IGdhNEZsYXRLZXk6IHNvdXJjZUZpZWxkSW5XaWRnZXRJbnRlcmFjdGlvbkRhdGEgfVxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0UHJvamVjdGVkRXZlbnRDb25maWcge1xuICBnYUV2ZW50TmFtZTogc3RyaW5nO1xuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFdoZW4gcHJlc2VudCwgdXNlZCBpbnN0ZWFkIG9mIGBhbGxvd2VkRmllbGRzYCB0byBib3RoIGZpbHRlciBhbmQgcmVuYW1lIGZpZWxkcy5cbiAgICogS2V5OiB0aGUgZGVzaXJlZCBHQTQgcGFyYW1ldGVyIG5hbWUuIFZhbHVlOiB0aGUgc291cmNlIGRvdC1ub3RhdGlvbiBrZXkgaW4gZXZlbnRQcm9wcy5cbiAgICovXG4gIGZpZWxkUHJvamVjdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9ucz86IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RXhjbHVkZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBHQTRFdmVudFNjaGVtYUVudHJ5ID0gR0E0UHJvamVjdGVkRXZlbnRDb25maWcgfCBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnO1xuXG5jb25zdCBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiA9IHtcbiAgd2lkZ2V0X2NvbGxhcHNlZDogeyBpbnRlcmFjdGlvbl9jb2xsYXBzZV9zb3VyY2U6ICd3aWRnZXRfY29sbGFwc2VkLmNvbGxhcHNlX3NvdXJjZScgfSxcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IHsgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3Byb2R1Y3RfY2FyZF9jbGlja2VkLnByb2R1Y3RfaWQnIH0sXG4gIHN1Z2dlc3Rpb25fc2Nyb2xsZWQ6IHsgaW50ZXJhY3Rpb25fc3VnZ2VzdGlvbl9pZDogJ3N1Z2dlc3Rpb25fc2Nyb2xsZWQuc3VnZ2VzdGlvbl9pZCcgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4gPSB7XG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFJlbmRlcmVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9yZW5kZXJlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBzdXJmYWNlOiAnY29udGV4dC5zdXJmYWNlJyxcbiAgICAgIHdpZGdldDogJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbl06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV93aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgc3VyZmFjZTogJ2NvbnRleHQuc3VyZmFjZScsXG4gICAgICB3aWRnZXQ6ICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICBpbnRlcmFjdGlvbl90eXBlOiAndHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgICAgaW50ZXJhY3Rpb25fY2xhc3M6ICd0cmlnZ2VyLmludGVyYWN0aW9uX2NsYXNzJyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uczogV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlMsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXF1ZXN0JyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAncGFnZV90eXBlJyxcbiAgICAgICdwYWdlX2lkJyxcbiAgICAgICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnLFxuICAgICAgLy8gJ2NoYXQucmVxdWVzdF90ZXh0JywgLy8gVGhpcyBpcyBoaWdoIGNhcmRpbmFsaXR5IGFuZCBwb3RlbnRpYWxseSBQSUkgYnV0IHdlIG1pZ2h0IHdhbnQgdG8gaW5jbHVkZSBpdCBsYXRlclxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jYXRlZ29yeScsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuZm9ybV90eXBlJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2NoYXRfcmVzcG9uc2UnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZCAobWF5YmUgaXQgc2hvdWxkJ250IGJlPz8/KVxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5yZXNwb25zZV90aW1lX21zJyxcbiAgICAgICdjaGF0LnByb2R1Y3RfY2FyZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9pZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucmV2aWV3X2NhcmRzX3JldHVybmVkJyxcbiAgICBdLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkVudml2ZUluaXRpYWxpemVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2luaXRpYWxpemVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnZW52aXJvbm1lbnQuc2FsZXNfYWdlbnRfZW5hYmxlZCcsXG4gICAgICAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgICAgLy8gJ2Vudmlyb25tZW50LnNlYXJjaF9lbmFibGVkJywgLy8gRm9yIG5vdywgc2VhcmNoIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2Ugd2lsbCBhZGQgaXQgbGF0ZXIuXG4gICAgICAncGVyZm9ybWFuY2Uuc3RhcnRfdGltZV9tcycsXG4gICAgICAncGVyZm9ybWFuY2UuaW5pdGlhbGl6ZV90aW1lX21zJyxcbiAgICBdLFxuICB9LFxuXG4gIC8vIFRoaXMgZXZlbnQgaXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5QYWdlVmlld2VkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3BhZ2VfY29udGV4dF9ldmFsdWF0ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgY29udGV4dF9zdXBwb3J0ZWQ6ICdjb250ZXh0LnN1cHBvcnRlZCcsXG4gICAgICBjb250ZXh0X3JlYWR5OiAnY29udGV4dC5yZWFkeScsXG4gICAgICBjb250ZXh0X3BhZ2VfdmFyaWFudF9pZDogJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJyxcbiAgICAgIGVudmlyb25tZW50X2Vudml2ZV9lbmFibGVkOiAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgIH0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRDbGlja2VkXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtEQSxNQUFNQSxzQ0FBdUU7Q0FDM0Usa0JBQWtCLEVBQUUsNkJBQTZCLG9DQUFvQztDQUNyRixzQkFBc0IsRUFBRSx3QkFBd0IsbUNBQW1DO0NBQ25GLHFCQUFxQixFQUFFLDJCQUEyQixxQ0FBcUM7Q0FDeEY7QUFFRCxNQUFhQyxtQkFBd0U7RUFDbEYsdUJBQXVCLGlCQUFpQjtFQUN2QyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1IsYUFBYTtHQUNkO0VBQ0Y7RUFFQSx1QkFBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlLEVBQUU7RUFDakIsa0JBQWtCO0dBQ2hCLFdBQVc7R0FDWCxTQUFTO0dBQ1QsU0FBUztHQUNULFFBQVE7R0FDUixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLGFBQWE7R0FDZDtFQUNELGtDQUFrQztFQUNuQztFQUVBLHVCQUF1QixjQUFjO0VBQ3BDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FFQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRDtFQUNGO0VBRUEsdUJBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBLHVCQUF1QixvQkFBb0I7RUFDMUMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBRUE7R0FDQTtHQUNEO0VBQ0Y7RUFHQSx1QkFBdUIsYUFBYTtFQUNuQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULG1CQUFtQjtHQUNuQixlQUFlO0dBQ2YseUJBQXlCO0dBQ3pCLDRCQUE0QjtHQUM3QjtFQUNGO0VBRUEsdUJBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7RUFFQSx1QkFBdUIscUJBQXFCLEVBQzNDLGFBQWEsTUFDZDtFQUVBLHVCQUF1QixvQkFBb0IsRUFDMUMsYUFBYSxNQUNkO0NBQ0YifQ==
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuanMiLCJuYW1lcyI6WyJXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiIsIkdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYTRQcm9qZWN0aW9uU2VydmljZS9nYTRFdmVudFNjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdBNCBFdmVudCBTY2hlbWEg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIEVudml2ZSDihpIgR0E0IHByb2plY3Rpb24uXG4gKlxuICogRXZlcnkgRW52aXZlTWV0cmljc0V2ZW50TmFtZSBNVVNUIGhhdmUgYW4gZW50cnkgaGVyZS4gVGhlIFJlY29yZCB0eXBlIGVuZm9yY2VzXG4gKiB0aGlzIGF0IGNvbXBpbGUgdGltZSDigJQgYWRkaW5nIGEgbmV3IGVudW0gbWVtYmVyIHdpdGhvdXQgYSBzY2hlbWEgZW50cnkgd2lsbFxuICogY2F1c2UgYSBUeXBlU2NyaXB0IGVycm9yLlxuICpcbiAqICMjIEhvdyB0byB1cGRhdGUgdGhpcyBmaWxlXG4gKlxuICogV2hlbiBhZGRpbmcgb3IgbW9kaWZ5aW5nIGV2ZW50IHByb3BlcnRpZXMsIGRlY2lkZSB3aGV0aGVyIHRoZXkgYmVsb25nIGluIGBhbGxvd2VkRmllbGRzYCB1c2luZyB0aGVzZSBjcml0ZXJpYTpcbiAqIC0gKipMb3cgY2FyZGluYWxpdHkqKiDigJQgYXZvaWQgdW5ib3VuZGVkIHZhbHVlcyAoZnJlZSB0ZXh0LCBJRHMsIFVSTHMsIHRpbWVzdGFtcHMpLlxuICogLSAqKk5vbi1zZW5zaXRpdmUqKiDigJQgbm8gUElJLCB1c2VyIGlucHV0IHRleHQsIG9yIGludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gKiAtICoqRmxhdCBzY2FsYXIqKiDigJQgR0E0IGN1c3RvbSBkaW1lbnNpb25zIGFyZSBmbGF0IHN0cmluZ3MvbnVtYmVycy9ib29sZWFucy5cbiAqICAgTmVzdGVkIG9iamVjdHMgc2hvdWxkIE5PVCBiZSBhZGRlZDsgZXh0cmFjdCBzcGVjaWZpYyBzdWItZmllbGRzIGluc3RlYWQuXG4gKiAtICoqU25ha2VfY2FzZSBrZXkqKiDigJQgbXVzdCBhbHJlYWR5IGJlIGRvdC1ub3RhdGlvbiBzbmFrZV9jYXNlIChlLmcuIGBjaGF0LnVzZXJfdHlwZWRgKS5cbiAqIC0gKipBbmFseXRpY2FsbHkgdXNlZnVsKiog4oCUIHRoZSBmaWVsZCBzaG91bGQgZW5hYmxlIG1lYW5pbmdmdWwgZmlsdGVyaW5nL3NlZ21lbnRhdGlvblxuICogICBmb3IgbWVyY2hhbnRzIGluIHRoZWlyIEdBNCBkYXNoYm9hcmRzLlxuICpcbiAqIElmIGV4Y2x1ZGVkIGZyb20gYGFsbG93ZWRGaWVsZHNgLCB0aGUgcHJvamVjdGlvbiBsYXllciB3aWxsIGF1dG9tYXRpY2FsbHkgZHJvcCBpdC5cbiAqXG4gKiBJRiBJTiBET1VCVCwgRE9OJ1QgSEVTSVRBVEUgVE8gUkVBQ0ggT1VUIFRPIFRIRSBBTkFMWVRJQ1MgVEVBTSEhIVxuICovXG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHdoaWNoIGZpZWxkcyB0byBleHRyYWN0IGZyb20gYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGFgXG4gKiBmb3IgYSBnaXZlbiBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25gIHZhbHVlLlxuICpcbiAqIEtleTogdGhlIHZhbHVlIG9mIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgKGUuZy4gXCJ3aWRnZXRfY29sbGFwc2VkXCIpXG4gKiBWYWx1ZTogbWFwcGluZyBvZiB7IGdhNEZsYXRLZXk6IHNvdXJjZUZpZWxkSW5XaWRnZXRJbnRlcmFjdGlvbkRhdGEgfVxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0UHJvamVjdGVkRXZlbnRDb25maWcge1xuICBnYUV2ZW50TmFtZTogc3RyaW5nO1xuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFdoZW4gcHJlc2VudCwgdXNlZCBpbnN0ZWFkIG9mIGBhbGxvd2VkRmllbGRzYCB0byBib3RoIGZpbHRlciBhbmQgcmVuYW1lIGZpZWxkcy5cbiAgICogS2V5OiB0aGUgZGVzaXJlZCBHQTQgcGFyYW1ldGVyIG5hbWUuIFZhbHVlOiB0aGUgc291cmNlIGRvdC1ub3RhdGlvbiBrZXkgaW4gZXZlbnRQcm9wcy5cbiAgICovXG4gIGZpZWxkUHJvamVjdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9ucz86IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RXhjbHVkZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBHQTRFdmVudFNjaGVtYUVudHJ5ID0gR0E0UHJvamVjdGVkRXZlbnRDb25maWcgfCBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnO1xuXG5jb25zdCBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiA9IHtcbiAgd2lkZ2V0X2NvbGxhcHNlZDogeyBpbnRlcmFjdGlvbl9jb2xsYXBzZV9zb3VyY2U6ICd3aWRnZXRfY29sbGFwc2VkLmNvbGxhcHNlX3NvdXJjZScgfSxcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IHsgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3Byb2R1Y3RfY2FyZF9jbGlja2VkLnByb2R1Y3RfaWQnIH0sXG4gIHN1Z2dlc3Rpb25fc2Nyb2xsZWQ6IHsgaW50ZXJhY3Rpb25fc3VnZ2VzdGlvbl9pZDogJ3N1Z2dlc3Rpb25fc2Nyb2xsZWQuc3VnZ2VzdGlvbl9pZCcgfSxcbiAgdmFyaWFudF9zZWxlY3Rvcl9vcGVuZWQ6IHsgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3ZhcmlhbnRfc2VsZWN0b3Jfb3BlbmVkLnByb2R1Y3RfaWQnIH0sXG4gIC8vIG9wdGlvbl92YWx1ZSBpcyBpbnRlbnRpb25hbGx5IGV4Y2x1ZGVkIOKAlCBtZXJjaGFudC1kZWZpbmVkIHZhbHVlcyBhcmUgaGlnaCBjYXJkaW5hbGl0eVxuICB2YXJpYW50X29wdGlvbl9zZWxlY3RlZDoge1xuICAgIGludGVyYWN0aW9uX3Byb2R1Y3RfaWQ6ICd2YXJpYW50X29wdGlvbl9zZWxlY3RlZC5wcm9kdWN0X2lkJyxcbiAgICBpbnRlcmFjdGlvbl9vcHRpb25fbmFtZTogJ3ZhcmlhbnRfb3B0aW9uX3NlbGVjdGVkLm9wdGlvbl9uYW1lJyxcbiAgfSxcbiAgdmFyaWFudF9zZWxlY3Rvcl9kaXNtaXNzZWQ6IHsgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3ZhcmlhbnRfc2VsZWN0b3JfZGlzbWlzc2VkLnByb2R1Y3RfaWQnIH0sXG59O1xuXG5leHBvcnQgY29uc3QgR0E0X0VWRU5UX1NDSEVNQTogUmVjb3JkPEVudml2ZU1ldHJpY3NFdmVudE5hbWUsIEdBNEV2ZW50U2NoZW1hRW50cnk+ID0ge1xuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRSZW5kZXJlZF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV93aWRnZXRfcmVuZGVyZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgc3VyZmFjZTogJ2NvbnRleHQuc3VyZmFjZScsXG4gICAgICB3aWRnZXQ6ICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICB3aWRnZXRfcm9sZTogJ3RyaWdnZXIud2lkZ2V0X3JvbGUnLFxuICAgIH0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb25dOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfd2lkZ2V0X2ludGVyYWN0aW9uJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXSxcbiAgICBmaWVsZFByb2plY3Rpb25zOiB7XG4gICAgICBwYWdlX3R5cGU6ICdjb250ZXh0LnBhZ2VfdHlwZScsXG4gICAgICBwYWdlX2lkOiAnY29udGV4dC5wYWdlX2lkJyxcbiAgICAgIHN1cmZhY2U6ICdjb250ZXh0LnN1cmZhY2UnLFxuICAgICAgd2lkZ2V0OiAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgaW50ZXJhY3Rpb25fdHlwZTogJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uJyxcbiAgICAgIGludGVyYWN0aW9uX2NsYXNzOiAndHJpZ2dlci5pbnRlcmFjdGlvbl9jbGFzcycsXG4gICAgICB3aWRnZXRfcm9sZTogJ3RyaWdnZXIud2lkZ2V0X3JvbGUnLFxuICAgIH0sXG4gICAgd2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnM6IFdJREdFVF9JTlRFUkFDVElPTl9EQVRBX1BST0pFQ1RJT05TLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0XToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2NoYXRfcmVxdWVzdCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ3BhZ2VfdHlwZScsXG4gICAgICAncGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJyxcbiAgICAgIC8vICdjaGF0LnJlcXVlc3RfdGV4dCcsIC8vIFRoaXMgaXMgaGlnaCBjYXJkaW5hbGl0eSBhbmQgcG90ZW50aWFsbHkgUElJIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGluY2x1ZGUgaXQgbGF0ZXJcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnLFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pZCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY2F0ZWdvcnknLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcicsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LmZvcm1fdHlwZScsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICBdLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXNwb25zZV06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9jaGF0X3Jlc3BvbnNlJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAncGFnZV90eXBlJyxcbiAgICAgICdwYWdlX2lkJyxcbiAgICAgICd0cmlnZ2VyLndpZGdldCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgKG1heWJlIGl0IHNob3VsZCdudCBiZT8/PylcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnLFxuICAgICAgJ2NoYXQucmVzcG9uc2VfdGltZV9tcycsXG4gICAgICAnY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJyxcbiAgICAgICdjaGF0LnByb2R1Y3RfaWRzX3JldHVybmVkJyxcbiAgICAgICdjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCcsXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5FbnZpdmVJbml0aWFsaXplZF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9pbml0aWFsaXplZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ2Vudmlyb25tZW50LnNhbGVzX2FnZW50X2VuYWJsZWQnLFxuICAgICAgJ2Vudmlyb25tZW50LmVudml2ZV9lbmFibGVkJyxcbiAgICAgIC8vICdlbnZpcm9ubWVudC5zZWFyY2hfZW5hYmxlZCcsIC8vIEZvciBub3csIHNlYXJjaCBpcyBub3QgaW1wbGVtZW50ZWQuIFdlIHdpbGwgYWRkIGl0IGxhdGVyLlxuICAgICAgJ3BlcmZvcm1hbmNlLnN0YXJ0X3RpbWVfbXMnLFxuICAgICAgJ3BlcmZvcm1hbmNlLmluaXRpYWxpemVfdGltZV9tcycsXG4gICAgXSxcbiAgfSxcblxuICAvLyBUaGlzIGV2ZW50IGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9wYWdlX2NvbnRleHRfZXZhbHVhdGVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXSxcbiAgICBmaWVsZFByb2plY3Rpb25zOiB7XG4gICAgICBwYWdlX3R5cGU6ICdjb250ZXh0LnBhZ2VfdHlwZScsXG4gICAgICBwYWdlX2lkOiAnY29udGV4dC5wYWdlX2lkJyxcbiAgICAgIGNvbnRleHRfc3VwcG9ydGVkOiAnY29udGV4dC5zdXBwb3J0ZWQnLFxuICAgICAgY29udGV4dF9yZWFkeTogJ2NvbnRleHQucmVhZHknLFxuICAgICAgY29udGV4dF9wYWdlX3ZhcmlhbnRfaWQ6ICdjb250ZXh0LnBhZ2VfdmFyaWFudF9pZCcsXG4gICAgICBlbnZpcm9ubWVudF9lbnZpdmVfZW5hYmxlZDogJ2Vudmlyb25tZW50LmVudml2ZV9lbmFibGVkJyxcbiAgICB9LFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXF1ZXN0XToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXNwb25zZV06IHtcbiAgICBnYUV2ZW50TmFtZTogbnVsbCxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0Q2xpY2tlZF06IHtcbiAgICBnYUV2ZW50TmFtZTogbnVsbCxcbiAgfSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsTUFBTUEsc0NBQXVFO0NBQzNFLGtCQUFrQixFQUFFLDZCQUE2QixvQ0FBb0M7Q0FDckYsc0JBQXNCLEVBQUUsd0JBQXdCLG1DQUFtQztDQUNuRixxQkFBcUIsRUFBRSwyQkFBMkIscUNBQXFDO0NBQ3ZGLHlCQUF5QixFQUFFLHdCQUF3QixzQ0FBc0M7Q0FFekYseUJBQXlCO0VBQ3ZCLHdCQUF3QjtFQUN4Qix5QkFBeUI7RUFDMUI7Q0FDRCw0QkFBNEIsRUFBRSx3QkFBd0IseUNBQXlDO0NBQ2hHO0FBRUQsTUFBYUMsbUJBQXdFO0VBQ2xGLHVCQUF1QixpQkFBaUI7RUFDdkMsYUFBYTtFQUNiLGVBQWUsRUFBRTtFQUNqQixrQkFBa0I7R0FDaEIsV0FBVztHQUNYLFNBQVM7R0FDVCxTQUFTO0dBQ1QsUUFBUTtHQUNSLGFBQWE7R0FDZDtFQUNGO0VBRUEsdUJBQXVCLG9CQUFvQjtFQUMxQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixhQUFhO0dBQ2Q7RUFDRCxrQ0FBa0M7RUFDbkM7RUFFQSx1QkFBdUIsY0FBYztFQUNwQyxhQUFhO0VBQ2IsZUFBZTtHQUNiO0dBQ0E7R0FDQTtHQUNBO0dBRUE7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBLHVCQUF1QixlQUFlO0VBQ3JDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQSx1QkFBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUVBO0dBQ0E7R0FDRDtFQUNGO0VBR0EsdUJBQXVCLGFBQWE7RUFDbkMsYUFBYTtFQUNiLGVBQWUsRUFBRTtFQUNqQixrQkFBa0I7R0FDaEIsV0FBVztHQUNYLFNBQVM7R0FDVCxtQkFBbUI7R0FDbkIsZUFBZTtHQUNmLHlCQUF5QjtHQUN6Qiw0QkFBNEI7R0FDN0I7RUFDRjtFQUVBLHVCQUF1QixvQkFBb0IsRUFDMUMsYUFBYSxNQUNkO0VBRUEsdUJBQXVCLHFCQUFxQixFQUMzQyxhQUFhLE1BQ2Q7RUFFQSx1QkFBdUIsb0JBQW9CLEVBQzFDLGFBQWEsTUFDZDtDQUNGIn0=
@@ -1,6 +1,6 @@
1
- import { WidgetTypeV3 } from "../../contexts/typesV3.cjs";
2
1
  import { WidgetString } from "../../application/models/api/widgetText.cjs";
3
2
  import { AppDetails } from "../../atoms/app/index.cjs";
3
+ import { WidgetTypeV3 } from "../../contexts/typesV3.cjs";
4
4
  import { TrackEventParams } from "../amplitudeService/amplitudeService.cjs";
5
5
  import { UserEvent } from "../../application/models/api/userEvent.cjs";
6
6
 
@@ -1,6 +1,6 @@
1
- import { WidgetTypeV3 } from "../../contexts/typesV3.js";
2
1
  import { WidgetString } from "../../application/models/api/widgetText.js";
3
2
  import { AppDetails } from "../../atoms/app/index.js";
3
+ import { WidgetTypeV3 } from "../../contexts/typesV3.js";
4
4
  import { TrackEventParams } from "../amplitudeService/amplitudeService.js";
5
5
  import { UserEvent } from "../../application/models/api/userEvent.js";
6
6
 
@@ -0,0 +1,54 @@
1
+ const require_logger = require('../../application/logging/logger.cjs');
2
+ const require_atoms_envive_enviveConfig = require('../../atoms/envive/enviveConfig.cjs');
3
+ const require_atomStore = require('../../atoms/atomStore/atomStore.cjs');
4
+ const require_variant = require('../../atoms/app/variant.cjs');
5
+ const require_resolvedBaseConfigVersion = require('../../atoms/envive/resolvedBaseConfigVersion.cjs');
6
+ const require_graphqlConfig = require('../../atoms/org/graphqlConfig.cjs');
7
+ const require_application_commerce_api = require('../../application/commerce-api.cjs');
8
+
9
+ //#region src/services/urlResolverWarmupService/index.ts
10
+ const logger = new require_logger.default("urlResolverWarmupService");
11
+ /**
12
+ * Fires the /v1/url_resolving request as soon as the org config is available,
13
+ * instead of waiting for the React tree to mount and PageProvider's effect to
14
+ * run — that removes a full network round trip from the first-widget-paint
15
+ * critical path.
16
+ *
17
+ * Seeds the same atoms EnviveProvider/EnviveConfigProvider populate later
18
+ * (with identical values) so the request context matches the one
19
+ * PageProvider would send, then stores the response in the
20
+ * sessionStorage-backed urlResolverAtom that PageProvider consults before
21
+ * fetching. Concurrent calls for the same URL are deduped inside
22
+ * CommerceApiClient.resolveUrl.
23
+ */
24
+ const warmUrlResolver = async ({ baseUrl, apiKey, enviveServiceConfig, show, enviveOn, env, contextSource, featureFlagService }) => {
25
+ try {
26
+ const store = require_atomStore.getAtomStore();
27
+ const cleansedUrl = window.location.href.toLowerCase().trim();
28
+ if (store.get(require_variant.urlResolverAtom)[cleansedUrl]) return;
29
+ if (store.get(require_atoms_envive_enviveConfig.enviveConfigAtom) === void 0) store.set(require_atoms_envive_enviveConfig.enviveConfigAtom, {
30
+ baseUrl,
31
+ orgLevelApiKey: apiKey,
32
+ orgShortName: enviveServiceConfig.org.org.short_name,
33
+ orgId: enviveServiceConfig.org.org.id,
34
+ show,
35
+ enviveOn,
36
+ env,
37
+ contextSource
38
+ });
39
+ if (featureFlagService && store.get(require_graphqlConfig.featureFlagServiceAtom) === void 0) store.set(require_graphqlConfig.featureFlagServiceAtom, { featureFlagService });
40
+ const { baseVersion, baseVersionSource } = enviveServiceConfig.orgConfig?.resolution ?? {};
41
+ if (baseVersion && baseVersionSource && baseVersionSource !== "deployed") store.set(require_resolvedBaseConfigVersion.resolvedBaseConfigVersionAtom, baseVersion);
42
+ const response = await require_application_commerce_api.default.resolveUrl(cleansedUrl);
43
+ store.set(require_variant.urlResolverAtom, {
44
+ url: cleansedUrl,
45
+ response
46
+ });
47
+ } catch (err) {
48
+ logger.logDebug("URL resolver warm-up failed", err);
49
+ }
50
+ };
51
+
52
+ //#endregion
53
+ exports.warmUrlResolver = warmUrlResolver;
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiZ2V0QXRvbVN0b3JlIiwidXJsUmVzb2x2ZXJBdG9tIiwiZW52aXZlQ29uZmlnQXRvbSIsImZlYXR1cmVGbGFnU2VydmljZUF0b20iLCJyZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uQXRvbSIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3VybFJlc29sdmVyV2FybXVwU2VydmljZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBVcmxSZXNvbHZlclJlc3BvbnNlLCB1cmxSZXNvbHZlckF0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmUnO1xuaW1wb3J0IHsgZW52aXZlQ29uZmlnQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb25BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2Vudml2ZS9yZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uJztcbmltcG9ydCB7IGZlYXR1cmVGbGFnU2VydmljZUF0b20gfSBmcm9tICdzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWcnO1xuaW1wb3J0IHsgRW52aXZlU2VydmljZUNvbmZpZyB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2ZlYXR1cmVGbGFnU2VydmljZSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VybFJlc29sdmVyV2FybXVwU2VydmljZScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdhcm1VcmxSZXNvbHZlclBhcmFtcyB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIGVudml2ZVNlcnZpY2VDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIHNob3c/OiBib29sZWFuO1xuICBlbnZpdmVPbj86IGJvb2xlYW47XG4gIGVudj86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgZmVhdHVyZUZsYWdTZXJ2aWNlPzogRmVhdHVyZUZsYWdTZXJ2aWNlO1xufVxuXG4vKipcbiAqIEZpcmVzIHRoZSAvdjEvdXJsX3Jlc29sdmluZyByZXF1ZXN0IGFzIHNvb24gYXMgdGhlIG9yZyBjb25maWcgaXMgYXZhaWxhYmxlLFxuICogaW5zdGVhZCBvZiB3YWl0aW5nIGZvciB0aGUgUmVhY3QgdHJlZSB0byBtb3VudCBhbmQgUGFnZVByb3ZpZGVyJ3MgZWZmZWN0IHRvXG4gKiBydW4g4oCUIHRoYXQgcmVtb3ZlcyBhIGZ1bGwgbmV0d29yayByb3VuZCB0cmlwIGZyb20gdGhlIGZpcnN0LXdpZGdldC1wYWludFxuICogY3JpdGljYWwgcGF0aC5cbiAqXG4gKiBTZWVkcyB0aGUgc2FtZSBhdG9tcyBFbnZpdmVQcm92aWRlci9FbnZpdmVDb25maWdQcm92aWRlciBwb3B1bGF0ZSBsYXRlclxuICogKHdpdGggaWRlbnRpY2FsIHZhbHVlcykgc28gdGhlIHJlcXVlc3QgY29udGV4dCBtYXRjaGVzIHRoZSBvbmVcbiAqIFBhZ2VQcm92aWRlciB3b3VsZCBzZW5kLCB0aGVuIHN0b3JlcyB0aGUgcmVzcG9uc2UgaW4gdGhlXG4gKiBzZXNzaW9uU3RvcmFnZS1iYWNrZWQgdXJsUmVzb2x2ZXJBdG9tIHRoYXQgUGFnZVByb3ZpZGVyIGNvbnN1bHRzIGJlZm9yZVxuICogZmV0Y2hpbmcuIENvbmN1cnJlbnQgY2FsbHMgZm9yIHRoZSBzYW1lIFVSTCBhcmUgZGVkdXBlZCBpbnNpZGVcbiAqIENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwuXG4gKi9cbmV4cG9ydCBjb25zdCB3YXJtVXJsUmVzb2x2ZXIgPSBhc3luYyAoe1xuICBiYXNlVXJsLFxuICBhcGlLZXksXG4gIGVudml2ZVNlcnZpY2VDb25maWcsXG4gIHNob3csXG4gIGVudml2ZU9uLFxuICBlbnYsXG4gIGNvbnRleHRTb3VyY2UsXG4gIGZlYXR1cmVGbGFnU2VydmljZSxcbn06IFdhcm1VcmxSZXNvbHZlclBhcmFtcyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gICAgLy8gTXVzdCBtYXRjaCBQYWdlUHJvdmlkZXIncyBVUkwgY2xlYW5zaW5nIHNvIHRoZSBjYWNoZSBrZXkgbGluZXMgdXAuXG4gICAgY29uc3QgY2xlYW5zZWRVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICBpZiAoc3RvcmUuZ2V0KHVybFJlc29sdmVyQXRvbSlbY2xlYW5zZWRVcmxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVGhlIENvbW1lcmNlQXBpQ2xpZW50IHNpbmdsZXRvbiBjYXB0dXJlcyBiYXNlVXJsL2FwaUtleSBhdCBmaXJzdFxuICAgIC8vIGluc3RhbnRpYXRpb24sIHNvIHRoZXNlIGF0b21zIG11c3QgYmUgc2VlZGVkIGJlZm9yZSBhbnkgQVBJIGNhbGwuXG4gICAgLy8gT25seSBzZWVkIHdoZW4gdW5zZXQg4oCUIHByb3ZpZGVycyBvd24gdGhpcyBhdG9tIG9uY2UgUmVhY3QgbW91bnRzLlxuICAgIGlmIChzdG9yZS5nZXQoZW52aXZlQ29uZmlnQXRvbSkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RvcmUuc2V0KGVudml2ZUNvbmZpZ0F0b20sIHtcbiAgICAgICAgYmFzZVVybCxcbiAgICAgICAgb3JnTGV2ZWxBcGlLZXk6IGFwaUtleSxcbiAgICAgICAgb3JnU2hvcnROYW1lOiBlbnZpdmVTZXJ2aWNlQ29uZmlnLm9yZy5vcmcuc2hvcnRfbmFtZSxcbiAgICAgICAgb3JnSWQ6IGVudml2ZVNlcnZpY2VDb25maWcub3JnLm9yZy5pZCxcbiAgICAgICAgc2hvdyxcbiAgICAgICAgZW52aXZlT24sXG4gICAgICAgIGVudixcbiAgICAgICAgY29udGV4dFNvdXJjZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyByZXNvbHZlVXJsIHJlYWRzIGZlYXR1cmUgZ2F0ZXMgdGhyb3VnaCBmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tOyB3aXRob3V0XG4gICAgLy8gdGhpcyBzZWVkIHRoZSB3YXJtLXVwIHJlcXVlc3QgaXMgY29tcHV0ZWQgd2l0aCBmZWF0dXJlX2dhdGVzPXt9IGFuZFxuICAgIC8vIHRoYXQgcmVzcG9uc2UgaXMgd2hhdCBnZXRzIGNhY2hlZCBmb3IgUGFnZVByb3ZpZGVyLlxuICAgIGlmIChmZWF0dXJlRmxhZ1NlcnZpY2UgJiYgc3RvcmUuZ2V0KGZlYXR1cmVGbGFnU2VydmljZUF0b20pID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0b3JlLnNldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tLCB7IGZlYXR1cmVGbGFnU2VydmljZSB9KTtcbiAgICB9XG4gICAgLy8gTWlycm9ycyBFbnZpdmVQcm92aWRlcjogXCJkZXBsb3llZFwiIGlzIHRoZSBuby1waW4gc2VudGluZWwuXG4gICAgY29uc3QgeyBiYXNlVmVyc2lvbiwgYmFzZVZlcnNpb25Tb3VyY2UgfSA9IGVudml2ZVNlcnZpY2VDb25maWcub3JnQ29uZmlnPy5yZXNvbHV0aW9uID8/IHt9O1xuICAgIGlmIChiYXNlVmVyc2lvbiAmJiBiYXNlVmVyc2lvblNvdXJjZSAmJiBiYXNlVmVyc2lvblNvdXJjZSAhPT0gJ2RlcGxveWVkJykge1xuICAgICAgc3RvcmUuc2V0KHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb25BdG9tLCBiYXNlVmVyc2lvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQucmVzb2x2ZVVybChjbGVhbnNlZFVybCkpIGFzIFVybFJlc29sdmVyUmVzcG9uc2U7XG4gICAgc3RvcmUuc2V0KHVybFJlc29sdmVyQXRvbSwgeyB1cmw6IGNsZWFuc2VkVXJsLCByZXNwb25zZSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gRmFpbCBvcGVuOiBQYWdlUHJvdmlkZXIgaXNzdWVzIGl0cyBvd24gcmVzb2x2ZVVybCBjYWxsIHdoZW4gdGhlIGNhY2hlXG4gICAgLy8gaXMgZW1wdHksIHNvIGEgd2FybS11cCBmYWlsdXJlIG5ldmVyIGJsb2NrcyByZW5kZXJpbmcuXG4gICAgbG9nZ2VyLmxvZ0RlYnVnKCdVUkwgcmVzb2x2ZXIgd2FybS11cCBmYWlsZWQnLCBlcnIpO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sMkJBQTJCOzs7Ozs7Ozs7Ozs7OztBQTBCckQsTUFBYSxrQkFBa0IsT0FBTyxFQUNwQyxTQUNBLFFBQ0EscUJBQ0EsTUFDQSxVQUNBLEtBQ0EsZUFDQSx5QkFDMEM7QUFDMUMsS0FBSTtFQUNGLE1BQU0sUUFBUUMsZ0NBQWM7RUFFNUIsTUFBTSxjQUFjLE9BQU8sU0FBUyxLQUFLLGFBQWEsQ0FBQyxNQUFNO0FBQzdELE1BQUksTUFBTSxJQUFJQyxnQ0FBZ0IsQ0FBQyxhQUM3QjtBQU1GLE1BQUksTUFBTSxJQUFJQyxtREFBaUIsS0FBSyxPQUNsQyxPQUFNLElBQUlBLG9EQUFrQjtHQUMxQjtHQUNBLGdCQUFnQjtHQUNoQixjQUFjLG9CQUFvQixJQUFJLElBQUk7R0FDMUMsT0FBTyxvQkFBb0IsSUFBSSxJQUFJO0dBQ25DO0dBQ0E7R0FDQTtHQUNBO0dBQ0QsQ0FBQztBQUtKLE1BQUksc0JBQXNCLE1BQU0sSUFBSUMsNkNBQXVCLEtBQUssT0FDOUQsT0FBTSxJQUFJQSw4Q0FBd0IsRUFBRSxvQkFBb0IsQ0FBQztFQUczRCxNQUFNLEVBQUUsYUFBYSxzQkFBc0Isb0JBQW9CLFdBQVcsY0FBYyxFQUFFO0FBQzFGLE1BQUksZUFBZSxxQkFBcUIsc0JBQXNCLFdBQzVELE9BQU0sSUFBSUMsaUVBQStCLFlBQVk7RUFHdkQsTUFBTSxXQUFZLE1BQU1DLHlDQUFrQixXQUFXLFlBQVk7QUFDakUsUUFBTSxJQUFJSixpQ0FBaUI7R0FBRSxLQUFLO0dBQWE7R0FBVSxDQUFDO1VBQ25ELEtBQUs7QUFHWixTQUFPLFNBQVMsK0JBQStCLElBQUkifQ==
@@ -0,0 +1,40 @@
1
+ import { FeatureFlagService } from "../featureFlagService/index.cjs";
2
+ import { EnviveServiceConfig } from "../enviveConfigService/enviveConfigService.cjs";
3
+
4
+ //#region src/services/urlResolverWarmupService/index.d.ts
5
+ interface WarmUrlResolverParams {
6
+ baseUrl: string;
7
+ apiKey: string;
8
+ enviveServiceConfig: EnviveServiceConfig;
9
+ show?: boolean;
10
+ enviveOn?: boolean;
11
+ env?: string;
12
+ contextSource?: string;
13
+ featureFlagService?: FeatureFlagService;
14
+ }
15
+ /**
16
+ * Fires the /v1/url_resolving request as soon as the org config is available,
17
+ * instead of waiting for the React tree to mount and PageProvider's effect to
18
+ * run — that removes a full network round trip from the first-widget-paint
19
+ * critical path.
20
+ *
21
+ * Seeds the same atoms EnviveProvider/EnviveConfigProvider populate later
22
+ * (with identical values) so the request context matches the one
23
+ * PageProvider would send, then stores the response in the
24
+ * sessionStorage-backed urlResolverAtom that PageProvider consults before
25
+ * fetching. Concurrent calls for the same URL are deduped inside
26
+ * CommerceApiClient.resolveUrl.
27
+ */
28
+ declare const warmUrlResolver: ({
29
+ baseUrl,
30
+ apiKey,
31
+ enviveServiceConfig,
32
+ show,
33
+ enviveOn,
34
+ env,
35
+ contextSource,
36
+ featureFlagService
37
+ }: WarmUrlResolverParams) => Promise<void>;
38
+ //#endregion
39
+ export { WarmUrlResolverParams, warmUrlResolver };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3VybFJlc29sdmVyV2FybXVwU2VydmljZS9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudml2ZVNlcnZpY2VDb25maWcgfSBmcm9tICdzcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9mZWF0dXJlRmxhZ1NlcnZpY2UnO1xuZXhwb3J0IGludGVyZmFjZSBXYXJtVXJsUmVzb2x2ZXJQYXJhbXMge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICBhcGlLZXk6IHN0cmluZztcbiAgICBlbnZpdmVTZXJ2aWNlQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/OiBGZWF0dXJlRmxhZ1NlcnZpY2U7XG59XG4vKipcbiAqIEZpcmVzIHRoZSAvdjEvdXJsX3Jlc29sdmluZyByZXF1ZXN0IGFzIHNvb24gYXMgdGhlIG9yZyBjb25maWcgaXMgYXZhaWxhYmxlLFxuICogaW5zdGVhZCBvZiB3YWl0aW5nIGZvciB0aGUgUmVhY3QgdHJlZSB0byBtb3VudCBhbmQgUGFnZVByb3ZpZGVyJ3MgZWZmZWN0IHRvXG4gKiBydW4g4oCUIHRoYXQgcmVtb3ZlcyBhIGZ1bGwgbmV0d29yayByb3VuZCB0cmlwIGZyb20gdGhlIGZpcnN0LXdpZGdldC1wYWludFxuICogY3JpdGljYWwgcGF0aC5cbiAqXG4gKiBTZWVkcyB0aGUgc2FtZSBhdG9tcyBFbnZpdmVQcm92aWRlci9FbnZpdmVDb25maWdQcm92aWRlciBwb3B1bGF0ZSBsYXRlclxuICogKHdpdGggaWRlbnRpY2FsIHZhbHVlcykgc28gdGhlIHJlcXVlc3QgY29udGV4dCBtYXRjaGVzIHRoZSBvbmVcbiAqIFBhZ2VQcm92aWRlciB3b3VsZCBzZW5kLCB0aGVuIHN0b3JlcyB0aGUgcmVzcG9uc2UgaW4gdGhlXG4gKiBzZXNzaW9uU3RvcmFnZS1iYWNrZWQgdXJsUmVzb2x2ZXJBdG9tIHRoYXQgUGFnZVByb3ZpZGVyIGNvbnN1bHRzIGJlZm9yZVxuICogZmV0Y2hpbmcuIENvbmN1cnJlbnQgY2FsbHMgZm9yIHRoZSBzYW1lIFVSTCBhcmUgZGVkdXBlZCBpbnNpZGVcbiAqIENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHdhcm1VcmxSZXNvbHZlcjogKHsgYmFzZVVybCwgYXBpS2V5LCBlbnZpdmVTZXJ2aWNlQ29uZmlnLCBzaG93LCBlbnZpdmVPbiwgZW52LCBjb250ZXh0U291cmNlLCBmZWF0dXJlRmxhZ1NlcnZpY2UsIH06IFdhcm1VcmxSZXNvbHZlclBhcmFtcykgPT4gUHJvbWlzZTx2b2lkPjtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQVcsd0JBQXdCO0NBQUM7T0FBRztPQUFBO0NBQUE7QUFDdkMsSUFBVyxrQkFBUTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -0,0 +1,40 @@
1
+ import { FeatureFlagService } from "../featureFlagService/index.js";
2
+ import { EnviveServiceConfig } from "../enviveConfigService/enviveConfigService.js";
3
+
4
+ //#region src/services/urlResolverWarmupService/index.d.ts
5
+ interface WarmUrlResolverParams {
6
+ baseUrl: string;
7
+ apiKey: string;
8
+ enviveServiceConfig: EnviveServiceConfig;
9
+ show?: boolean;
10
+ enviveOn?: boolean;
11
+ env?: string;
12
+ contextSource?: string;
13
+ featureFlagService?: FeatureFlagService;
14
+ }
15
+ /**
16
+ * Fires the /v1/url_resolving request as soon as the org config is available,
17
+ * instead of waiting for the React tree to mount and PageProvider's effect to
18
+ * run — that removes a full network round trip from the first-widget-paint
19
+ * critical path.
20
+ *
21
+ * Seeds the same atoms EnviveProvider/EnviveConfigProvider populate later
22
+ * (with identical values) so the request context matches the one
23
+ * PageProvider would send, then stores the response in the
24
+ * sessionStorage-backed urlResolverAtom that PageProvider consults before
25
+ * fetching. Concurrent calls for the same URL are deduped inside
26
+ * CommerceApiClient.resolveUrl.
27
+ */
28
+ declare const warmUrlResolver: ({
29
+ baseUrl,
30
+ apiKey,
31
+ enviveServiceConfig,
32
+ show,
33
+ enviveOn,
34
+ env,
35
+ contextSource,
36
+ featureFlagService
37
+ }: WarmUrlResolverParams) => Promise<void>;
38
+ //#endregion
39
+ export { WarmUrlResolverParams, warmUrlResolver };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdXJsUmVzb2x2ZXJXYXJtdXBTZXJ2aWNlL2luZGV4LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXZlU2VydmljZUNvbmZpZyB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2ZlYXR1cmVGbGFnU2VydmljZSc7XG5leHBvcnQgaW50ZXJmYWNlIFdhcm1VcmxSZXNvbHZlclBhcmFtcyB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIGVudml2ZVNlcnZpY2VDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgZW52aXZlT24/OiBib29sZWFuO1xuICAgIGVudj86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIGZlYXR1cmVGbGFnU2VydmljZT86IEZlYXR1cmVGbGFnU2VydmljZTtcbn1cbi8qKlxuICogRmlyZXMgdGhlIC92MS91cmxfcmVzb2x2aW5nIHJlcXVlc3QgYXMgc29vbiBhcyB0aGUgb3JnIGNvbmZpZyBpcyBhdmFpbGFibGUsXG4gKiBpbnN0ZWFkIG9mIHdhaXRpbmcgZm9yIHRoZSBSZWFjdCB0cmVlIHRvIG1vdW50IGFuZCBQYWdlUHJvdmlkZXIncyBlZmZlY3QgdG9cbiAqIHJ1biDigJQgdGhhdCByZW1vdmVzIGEgZnVsbCBuZXR3b3JrIHJvdW5kIHRyaXAgZnJvbSB0aGUgZmlyc3Qtd2lkZ2V0LXBhaW50XG4gKiBjcml0aWNhbCBwYXRoLlxuICpcbiAqIFNlZWRzIHRoZSBzYW1lIGF0b21zIEVudml2ZVByb3ZpZGVyL0Vudml2ZUNvbmZpZ1Byb3ZpZGVyIHBvcHVsYXRlIGxhdGVyXG4gKiAod2l0aCBpZGVudGljYWwgdmFsdWVzKSBzbyB0aGUgcmVxdWVzdCBjb250ZXh0IG1hdGNoZXMgdGhlIG9uZVxuICogUGFnZVByb3ZpZGVyIHdvdWxkIHNlbmQsIHRoZW4gc3RvcmVzIHRoZSByZXNwb25zZSBpbiB0aGVcbiAqIHNlc3Npb25TdG9yYWdlLWJhY2tlZCB1cmxSZXNvbHZlckF0b20gdGhhdCBQYWdlUHJvdmlkZXIgY29uc3VsdHMgYmVmb3JlXG4gKiBmZXRjaGluZy4gQ29uY3VycmVudCBjYWxscyBmb3IgdGhlIHNhbWUgVVJMIGFyZSBkZWR1cGVkIGluc2lkZVxuICogQ29tbWVyY2VBcGlDbGllbnQucmVzb2x2ZVVybC5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgd2FybVVybFJlc29sdmVyOiAoeyBiYXNlVXJsLCBhcGlLZXksIGVudml2ZVNlcnZpY2VDb25maWcsIHNob3csIGVudml2ZU9uLCBlbnYsIGNvbnRleHRTb3VyY2UsIGZlYXR1cmVGbGFnU2VydmljZSwgfTogV2FybVVybFJlc29sdmVyUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsSUFBVyx3QkFBd0I7Q0FBQztPQUFHO09BQUE7Q0FBQTtBQUN2QyxJQUFXLGtCQUFRO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -0,0 +1,54 @@
1
+ import logger_default from "../../application/logging/logger.js";
2
+ import { enviveConfigAtom } from "../../atoms/envive/enviveConfig.js";
3
+ import { getAtomStore } from "../../atoms/atomStore/atomStore.js";
4
+ import { urlResolverAtom } from "../../atoms/app/variant.js";
5
+ import { resolvedBaseConfigVersionAtom } from "../../atoms/envive/resolvedBaseConfigVersion.js";
6
+ import { featureFlagServiceAtom } from "../../atoms/org/graphqlConfig.js";
7
+ import commerce_api_default from "../../application/commerce-api.js";
8
+
9
+ //#region src/services/urlResolverWarmupService/index.ts
10
+ const logger = new logger_default("urlResolverWarmupService");
11
+ /**
12
+ * Fires the /v1/url_resolving request as soon as the org config is available,
13
+ * instead of waiting for the React tree to mount and PageProvider's effect to
14
+ * run — that removes a full network round trip from the first-widget-paint
15
+ * critical path.
16
+ *
17
+ * Seeds the same atoms EnviveProvider/EnviveConfigProvider populate later
18
+ * (with identical values) so the request context matches the one
19
+ * PageProvider would send, then stores the response in the
20
+ * sessionStorage-backed urlResolverAtom that PageProvider consults before
21
+ * fetching. Concurrent calls for the same URL are deduped inside
22
+ * CommerceApiClient.resolveUrl.
23
+ */
24
+ const warmUrlResolver = async ({ baseUrl, apiKey, enviveServiceConfig, show, enviveOn, env, contextSource, featureFlagService }) => {
25
+ try {
26
+ const store = getAtomStore();
27
+ const cleansedUrl = window.location.href.toLowerCase().trim();
28
+ if (store.get(urlResolverAtom)[cleansedUrl]) return;
29
+ if (store.get(enviveConfigAtom) === void 0) store.set(enviveConfigAtom, {
30
+ baseUrl,
31
+ orgLevelApiKey: apiKey,
32
+ orgShortName: enviveServiceConfig.org.org.short_name,
33
+ orgId: enviveServiceConfig.org.org.id,
34
+ show,
35
+ enviveOn,
36
+ env,
37
+ contextSource
38
+ });
39
+ if (featureFlagService && store.get(featureFlagServiceAtom) === void 0) store.set(featureFlagServiceAtom, { featureFlagService });
40
+ const { baseVersion, baseVersionSource } = enviveServiceConfig.orgConfig?.resolution ?? {};
41
+ if (baseVersion && baseVersionSource && baseVersionSource !== "deployed") store.set(resolvedBaseConfigVersionAtom, baseVersion);
42
+ const response = await commerce_api_default.resolveUrl(cleansedUrl);
43
+ store.set(urlResolverAtom, {
44
+ url: cleansedUrl,
45
+ response
46
+ });
47
+ } catch (err) {
48
+ logger.logDebug("URL resolver warm-up failed", err);
49
+ }
50
+ };
51
+
52
+ //#endregion
53
+ export { warmUrlResolver };
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJDb21tZXJjZUFwaUNsaWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91cmxSZXNvbHZlcldhcm11cFNlcnZpY2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgVXJsUmVzb2x2ZXJSZXNwb25zZSwgdXJsUmVzb2x2ZXJBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IGdldEF0b21TdG9yZSB9IGZyb20gJ3NyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlJztcbmltcG9ydCB7IGVudml2ZUNvbmZpZ0F0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyByZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvcmVzb2x2ZWRCYXNlQ29uZmlnVmVyc2lvbic7XG5pbXBvcnQgeyBmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tIH0gZnJvbSAnc3JjL2F0b21zL29yZy9ncmFwaHFsQ29uZmlnJztcbmltcG9ydCB7IEVudml2ZVNlcnZpY2VDb25maWcgfSBmcm9tICdzcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9mZWF0dXJlRmxhZ1NlcnZpY2UnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCd1cmxSZXNvbHZlcldhcm11cFNlcnZpY2UnKTtcblxuZXhwb3J0IGludGVyZmFjZSBXYXJtVXJsUmVzb2x2ZXJQYXJhbXMge1xuICBiYXNlVXJsOiBzdHJpbmc7XG4gIGFwaUtleTogc3RyaW5nO1xuICBlbnZpdmVTZXJ2aWNlQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnO1xuICBzaG93PzogYm9vbGVhbjtcbiAgZW52aXZlT24/OiBib29sZWFuO1xuICBlbnY/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gIGZlYXR1cmVGbGFnU2VydmljZT86IEZlYXR1cmVGbGFnU2VydmljZTtcbn1cblxuLyoqXG4gKiBGaXJlcyB0aGUgL3YxL3VybF9yZXNvbHZpbmcgcmVxdWVzdCBhcyBzb29uIGFzIHRoZSBvcmcgY29uZmlnIGlzIGF2YWlsYWJsZSxcbiAqIGluc3RlYWQgb2Ygd2FpdGluZyBmb3IgdGhlIFJlYWN0IHRyZWUgdG8gbW91bnQgYW5kIFBhZ2VQcm92aWRlcidzIGVmZmVjdCB0b1xuICogcnVuIOKAlCB0aGF0IHJlbW92ZXMgYSBmdWxsIG5ldHdvcmsgcm91bmQgdHJpcCBmcm9tIHRoZSBmaXJzdC13aWRnZXQtcGFpbnRcbiAqIGNyaXRpY2FsIHBhdGguXG4gKlxuICogU2VlZHMgdGhlIHNhbWUgYXRvbXMgRW52aXZlUHJvdmlkZXIvRW52aXZlQ29uZmlnUHJvdmlkZXIgcG9wdWxhdGUgbGF0ZXJcbiAqICh3aXRoIGlkZW50aWNhbCB2YWx1ZXMpIHNvIHRoZSByZXF1ZXN0IGNvbnRleHQgbWF0Y2hlcyB0aGUgb25lXG4gKiBQYWdlUHJvdmlkZXIgd291bGQgc2VuZCwgdGhlbiBzdG9yZXMgdGhlIHJlc3BvbnNlIGluIHRoZVxuICogc2Vzc2lvblN0b3JhZ2UtYmFja2VkIHVybFJlc29sdmVyQXRvbSB0aGF0IFBhZ2VQcm92aWRlciBjb25zdWx0cyBiZWZvcmVcbiAqIGZldGNoaW5nLiBDb25jdXJyZW50IGNhbGxzIGZvciB0aGUgc2FtZSBVUkwgYXJlIGRlZHVwZWQgaW5zaWRlXG4gKiBDb21tZXJjZUFwaUNsaWVudC5yZXNvbHZlVXJsLlxuICovXG5leHBvcnQgY29uc3Qgd2FybVVybFJlc29sdmVyID0gYXN5bmMgKHtcbiAgYmFzZVVybCxcbiAgYXBpS2V5LFxuICBlbnZpdmVTZXJ2aWNlQ29uZmlnLFxuICBzaG93LFxuICBlbnZpdmVPbixcbiAgZW52LFxuICBjb250ZXh0U291cmNlLFxuICBmZWF0dXJlRmxhZ1NlcnZpY2UsXG59OiBXYXJtVXJsUmVzb2x2ZXJQYXJhbXMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICAgIC8vIE11c3QgbWF0Y2ggUGFnZVByb3ZpZGVyJ3MgVVJMIGNsZWFuc2luZyBzbyB0aGUgY2FjaGUga2V5IGxpbmVzIHVwLlxuICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgaWYgKHN0b3JlLmdldCh1cmxSZXNvbHZlckF0b20pW2NsZWFuc2VkVXJsXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoZSBDb21tZXJjZUFwaUNsaWVudCBzaW5nbGV0b24gY2FwdHVyZXMgYmFzZVVybC9hcGlLZXkgYXQgZmlyc3RcbiAgICAvLyBpbnN0YW50aWF0aW9uLCBzbyB0aGVzZSBhdG9tcyBtdXN0IGJlIHNlZWRlZCBiZWZvcmUgYW55IEFQSSBjYWxsLlxuICAgIC8vIE9ubHkgc2VlZCB3aGVuIHVuc2V0IOKAlCBwcm92aWRlcnMgb3duIHRoaXMgYXRvbSBvbmNlIFJlYWN0IG1vdW50cy5cbiAgICBpZiAoc3RvcmUuZ2V0KGVudml2ZUNvbmZpZ0F0b20pID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0b3JlLnNldChlbnZpdmVDb25maWdBdG9tLCB7XG4gICAgICAgIGJhc2VVcmwsXG4gICAgICAgIG9yZ0xldmVsQXBpS2V5OiBhcGlLZXksXG4gICAgICAgIG9yZ1Nob3J0TmFtZTogZW52aXZlU2VydmljZUNvbmZpZy5vcmcub3JnLnNob3J0X25hbWUsXG4gICAgICAgIG9yZ0lkOiBlbnZpdmVTZXJ2aWNlQ29uZmlnLm9yZy5vcmcuaWQsXG4gICAgICAgIHNob3csXG4gICAgICAgIGVudml2ZU9uLFxuICAgICAgICBlbnYsXG4gICAgICAgIGNvbnRleHRTb3VyY2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gcmVzb2x2ZVVybCByZWFkcyBmZWF0dXJlIGdhdGVzIHRocm91Z2ggZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbTsgd2l0aG91dFxuICAgIC8vIHRoaXMgc2VlZCB0aGUgd2FybS11cCByZXF1ZXN0IGlzIGNvbXB1dGVkIHdpdGggZmVhdHVyZV9nYXRlcz17fSBhbmRcbiAgICAvLyB0aGF0IHJlc3BvbnNlIGlzIHdoYXQgZ2V0cyBjYWNoZWQgZm9yIFBhZ2VQcm92aWRlci5cbiAgICBpZiAoZmVhdHVyZUZsYWdTZXJ2aWNlICYmIHN0b3JlLmdldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdG9yZS5zZXQoZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSwgeyBmZWF0dXJlRmxhZ1NlcnZpY2UgfSk7XG4gICAgfVxuICAgIC8vIE1pcnJvcnMgRW52aXZlUHJvdmlkZXI6IFwiZGVwbG95ZWRcIiBpcyB0aGUgbm8tcGluIHNlbnRpbmVsLlxuICAgIGNvbnN0IHsgYmFzZVZlcnNpb24sIGJhc2VWZXJzaW9uU291cmNlIH0gPSBlbnZpdmVTZXJ2aWNlQ29uZmlnLm9yZ0NvbmZpZz8ucmVzb2x1dGlvbiA/PyB7fTtcbiAgICBpZiAoYmFzZVZlcnNpb24gJiYgYmFzZVZlcnNpb25Tb3VyY2UgJiYgYmFzZVZlcnNpb25Tb3VyY2UgIT09ICdkZXBsb3llZCcpIHtcbiAgICAgIHN0b3JlLnNldChyZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uQXRvbSwgYmFzZVZlcnNpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlO1xuICAgIHN0b3JlLnNldCh1cmxSZXNvbHZlckF0b20sIHsgdXJsOiBjbGVhbnNlZFVybCwgcmVzcG9uc2UgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIEZhaWwgb3BlbjogUGFnZVByb3ZpZGVyIGlzc3VlcyBpdHMgb3duIHJlc29sdmVVcmwgY2FsbCB3aGVuIHRoZSBjYWNoZVxuICAgIC8vIGlzIGVtcHR5LCBzbyBhIHdhcm0tdXAgZmFpbHVyZSBuZXZlciBibG9ja3MgcmVuZGVyaW5nLlxuICAgIGxvZ2dlci5sb2dEZWJ1ZygnVVJMIHJlc29sdmVyIHdhcm0tdXAgZmFpbGVkJywgZXJyKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBVUEsTUFBTSxTQUFTLElBQUlBLGVBQU8sMkJBQTJCOzs7Ozs7Ozs7Ozs7OztBQTBCckQsTUFBYSxrQkFBa0IsT0FBTyxFQUNwQyxTQUNBLFFBQ0EscUJBQ0EsTUFDQSxVQUNBLEtBQ0EsZUFDQSx5QkFDMEM7QUFDMUMsS0FBSTtFQUNGLE1BQU0sUUFBUSxjQUFjO0VBRTVCLE1BQU0sY0FBYyxPQUFPLFNBQVMsS0FBSyxhQUFhLENBQUMsTUFBTTtBQUM3RCxNQUFJLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxhQUM3QjtBQU1GLE1BQUksTUFBTSxJQUFJLGlCQUFpQixLQUFLLE9BQ2xDLE9BQU0sSUFBSSxrQkFBa0I7R0FDMUI7R0FDQSxnQkFBZ0I7R0FDaEIsY0FBYyxvQkFBb0IsSUFBSSxJQUFJO0dBQzFDLE9BQU8sb0JBQW9CLElBQUksSUFBSTtHQUNuQztHQUNBO0dBQ0E7R0FDQTtHQUNELENBQUM7QUFLSixNQUFJLHNCQUFzQixNQUFNLElBQUksdUJBQXVCLEtBQUssT0FDOUQsT0FBTSxJQUFJLHdCQUF3QixFQUFFLG9CQUFvQixDQUFDO0VBRzNELE1BQU0sRUFBRSxhQUFhLHNCQUFzQixvQkFBb0IsV0FBVyxjQUFjLEVBQUU7QUFDMUYsTUFBSSxlQUFlLHFCQUFxQixzQkFBc0IsV0FDNUQsT0FBTSxJQUFJLCtCQUErQixZQUFZO0VBR3ZELE1BQU0sV0FBWSxNQUFNQyxxQkFBa0IsV0FBVyxZQUFZO0FBQ2pFLFFBQU0sSUFBSSxpQkFBaUI7R0FBRSxLQUFLO0dBQWE7R0FBVSxDQUFDO1VBQ25ELEtBQUs7QUFHWixTQUFPLFNBQVMsK0JBQStCLElBQUkifQ==
@@ -4,8 +4,12 @@ import { FrontendConfigOverrides } from "../application/models/frontendConfig.cj
4
4
  import { VariantInfo } from "../application/models/variantInfo/variantInfo.cjs";
5
5
 
6
6
  //#region src/types/enviveConfig.d.ts
7
+ type AddToCartCallback = (params: {
8
+ product_id: string;
9
+ }) => void | Promise<void>;
7
10
  interface EnviveConfig {
8
11
  publicKey?: string;
12
+ addToCart?: AddToCartCallback;
9
13
  userID?: string;
10
14
  env?: 'prod' | 'dev';
11
15
  clientID?: string;
@@ -28,5 +32,5 @@ declare global {
28
32
  }
29
33
  }
30
34
  //#endregion
31
- export { EnviveConfig };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9lbnZpdmVDb25maWcuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcm9udGVuZENvbmZpZ092ZXJyaWRlcywgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgSGFyZGNvcHlSZXNwb25zZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbmltcG9ydCB0eXBlIHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzVjMnO1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICB1c2VySUQ/OiBzdHJpbmc7XG4gICAgZW52PzogJ3Byb2QnIHwgJ2Rldic7XG4gICAgY2xpZW50SUQ/OiBzdHJpbmc7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBWYXJpYW50SW5mbztcbiAgICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgcGFnZVZhcmlhbnRJZE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHNlbGVjdGVkQ3VzdG9taXplT3B0aW9uPzogc3RyaW5nO1xuICAgIHJlZHVjZWRNb3Rpb25PdmVycmlkZT86IGJvb2xlYW47XG4gICAgaW5pdGlhbE9wZW5TZWFyY2hPdmVybGF5PzogYm9vbGVhbjtcbiAgICBXaWRnZXRNb3VudGluZ092ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgYW55PltdO1xuICAgIGNvbmZpZ0NoYW5nZXM/OiBGcm9udGVuZENvbmZpZ092ZXJyaWRlc1tdO1xuICAgIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgX3NwaWZmeT86IEVudml2ZUNvbmZpZztcbiAgICAgICAgX2Vudml2ZT86IEVudml2ZUNvbmZpZztcbiAgICB9XG59XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLElBQVcsZUFBZTtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzlCLElBQUksS0FBSztDQUFDO09BQVc7T0FBQztDQUFBLFdBQUEsR0FBQTtDQUFBIn0=
35
+ export { AddToCartCallback, EnviveConfig };
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9lbnZpdmVDb25maWcuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcm9udGVuZENvbmZpZ092ZXJyaWRlcywgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgSGFyZGNvcHlSZXNwb25zZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbmltcG9ydCB0eXBlIHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzVjMnO1xuZXhwb3J0IHR5cGUgQWRkVG9DYXJ0Q2FsbGJhY2sgPSAocGFyYW1zOiB7XG4gICAgcHJvZHVjdF9pZDogc3RyaW5nO1xufSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIGFkZFRvQ2FydD86IEFkZFRvQ2FydENhbGxiYWNrO1xuICAgIHVzZXJJRD86IHN0cmluZztcbiAgICBlbnY/OiAncHJvZCcgfCAnZGV2JztcbiAgICBjbGllbnRJRD86IHN0cmluZztcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudEluZm9PdmVycmlkZT86IFZhcmlhbnRJbmZvO1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICBwYWdlVmFyaWFudElkT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRDdXN0b21pemVPcHRpb24/OiBzdHJpbmc7XG4gICAgcmVkdWNlZE1vdGlvbk92ZXJyaWRlPzogYm9vbGVhbjtcbiAgICBpbml0aWFsT3BlblNlYXJjaE92ZXJsYXk/OiBib29sZWFuO1xuICAgIFdpZGdldE1vdW50aW5nT3ZlcnJpZGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+W107XG4gICAgY29uZmlnQ2hhbmdlcz86IEZyb250ZW5kQ29uZmlnT3ZlcnJpZGVzW107XG4gICAgaGFyZGNvcHlPdmVycmlkZT86IFBhcnRpYWw8UmVjb3JkPFdpZGdldFR5cGVWMywgSGFyZGNvcHlSZXNwb25zZT4+O1xufVxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBfc3BpZmZ5PzogRW52aXZlQ29uZmlnO1xuICAgICAgICBfZW52aXZlPzogRW52aXZlQ29uZmlnO1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBVyxvQkFBb0IsQ0FBQyxXQUFTLFFBQUE7QUFDekMsSUFBVyxlQUFXO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN0QixJQUFJLEtBQUs7Q0FBQztPQUFXO09BQUs7Q0FBQSxXQUFBLEdBQUE7Q0FBQSJ9
@@ -4,8 +4,12 @@ import { FrontendConfigOverrides } from "../application/models/frontendConfig.js
4
4
  import { VariantInfo } from "../application/models/variantInfo/variantInfo.js";
5
5
 
6
6
  //#region src/types/enviveConfig.d.ts
7
+ type AddToCartCallback = (params: {
8
+ product_id: string;
9
+ }) => void | Promise<void>;
7
10
  interface EnviveConfig {
8
11
  publicKey?: string;
12
+ addToCart?: AddToCartCallback;
9
13
  userID?: string;
10
14
  env?: 'prod' | 'dev';
11
15
  clientID?: string;
@@ -28,5 +32,5 @@ declare global {
28
32
  }
29
33
  }
30
34
  //#endregion
31
- export { EnviveConfig };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Vudml2ZUNvbmZpZy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyb250ZW5kQ29uZmlnT3ZlcnJpZGVzLCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBXaWRnZXRUeXBlVjMgfSBmcm9tICdzcmMvY29udGV4dHMvdHlwZXNWMyc7XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIHVzZXJJRD86IHN0cmluZztcbiAgICBlbnY/OiAncHJvZCcgfCAnZGV2JztcbiAgICBjbGllbnRJRD86IHN0cmluZztcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudEluZm9PdmVycmlkZT86IFZhcmlhbnRJbmZvO1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICBwYWdlVmFyaWFudElkT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRDdXN0b21pemVPcHRpb24/OiBzdHJpbmc7XG4gICAgcmVkdWNlZE1vdGlvbk92ZXJyaWRlPzogYm9vbGVhbjtcbiAgICBpbml0aWFsT3BlblNlYXJjaE92ZXJsYXk/OiBib29sZWFuO1xuICAgIFdpZGdldE1vdW50aW5nT3ZlcnJpZGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+W107XG4gICAgY29uZmlnQ2hhbmdlcz86IEZyb250ZW5kQ29uZmlnT3ZlcnJpZGVzW107XG4gICAgaGFyZGNvcHlPdmVycmlkZT86IFBhcnRpYWw8UmVjb3JkPFdpZGdldFR5cGVWMywgSGFyZGNvcHlSZXNwb25zZT4+O1xufVxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBfc3BpZmZ5PzogRW52aXZlQ29uZmlnO1xuICAgICAgICBfZW52aXZlPzogRW52aXZlQ29uZmlnO1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBVyxlQUFlO0NBQUM7T0FBRztPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDOUIsSUFBSSxLQUFLO0NBQUM7T0FBVztPQUFDO0NBQUEsV0FBQSxHQUFBO0NBQUEifQ==
35
+ export { AddToCartCallback, EnviveConfig };
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Vudml2ZUNvbmZpZy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZyb250ZW5kQ29uZmlnT3ZlcnJpZGVzLCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBXaWRnZXRUeXBlVjMgfSBmcm9tICdzcmMvY29udGV4dHMvdHlwZXNWMyc7XG5leHBvcnQgdHlwZSBBZGRUb0NhcnRDYWxsYmFjayA9IChwYXJhbXM6IHtcbiAgICBwcm9kdWN0X2lkOiBzdHJpbmc7XG59KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCBpbnRlcmZhY2UgRW52aXZlQ29uZmlnIHtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgYWRkVG9DYXJ0PzogQWRkVG9DYXJ0Q2FsbGJhY2s7XG4gICAgdXNlcklEPzogc3RyaW5nO1xuICAgIGVudj86ICdwcm9kJyB8ICdkZXYnO1xuICAgIGNsaWVudElEPzogc3RyaW5nO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogVmFyaWFudEluZm87XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHBhZ2VWYXJpYW50SWRPdmVycmlkZT86IHN0cmluZztcbiAgICBzZWxlY3RlZEN1c3RvbWl6ZU9wdGlvbj86IHN0cmluZztcbiAgICByZWR1Y2VkTW90aW9uT3ZlcnJpZGU/OiBib29sZWFuO1xuICAgIGluaXRpYWxPcGVuU2VhcmNoT3ZlcmxheT86IGJvb2xlYW47XG4gICAgV2lkZ2V0TW91bnRpbmdPdmVycmlkZT86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbiAgICBjb25maWdDaGFuZ2VzPzogRnJvbnRlbmRDb25maWdPdmVycmlkZXNbXTtcbiAgICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG59XG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIF9zcGlmZnk/OiBFbnZpdmVDb25maWc7XG4gICAgICAgIF9lbnZpdmU/OiBFbnZpdmVDb25maWc7XG4gICAgfVxufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxJQUFXLG9CQUFvQixDQUFDLFdBQVMsUUFBQTtBQUN6QyxJQUFXLGVBQVc7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3RCLElBQUksS0FBSztDQUFDO09BQVc7T0FBSztDQUFBLFdBQUEsR0FBQTtDQUFBIn0=
@@ -1,7 +1,7 @@
1
1
  import { ChatState, CustomerServiceOverrides, Message, OutsideHoursFormData } from "./custservice-types.cjs";
2
2
  import { SuggestionBarLocationForMetrics } from "./suggestionBarV2-types.cjs";
3
3
  import { TestProps } from "./test-types.cjs";
4
+ import { AddToCartCallback, EnviveConfig } from "./enviveConfig.cjs";
4
5
  import { CloseIconVariant, FilterFooterProps, FilterItemProps, FilterProps, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum } from "./search-filter-types.cjs";
5
6
  import { OrgInfo } from "./OrgInfo.cjs";
6
- import { EnviveConfig } from "./enviveConfig.cjs";
7
- export { ChatState, CloseIconVariant, CustomerServiceOverrides, EnviveConfig, FilterFooterProps, FilterItemProps, FilterProps, Message, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, OrgInfo, OutsideHoursFormData, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum, SuggestionBarLocationForMetrics, TestProps };
7
+ export { AddToCartCallback, ChatState, CloseIconVariant, CustomerServiceOverrides, EnviveConfig, FilterFooterProps, FilterItemProps, FilterProps, Message, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, OrgInfo, OutsideHoursFormData, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum, SuggestionBarLocationForMetrics, TestProps };
@@ -1,7 +1,7 @@
1
1
  import { ChatState, CustomerServiceOverrides, Message, OutsideHoursFormData } from "./custservice-types.js";
2
2
  import { SuggestionBarLocationForMetrics } from "./suggestionBarV2-types.js";
3
3
  import { TestProps } from "./test-types.js";
4
+ import { AddToCartCallback, EnviveConfig } from "./enviveConfig.js";
4
5
  import { CloseIconVariant, FilterFooterProps, FilterItemProps, FilterProps, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum } from "./search-filter-types.js";
5
6
  import { OrgInfo } from "./OrgInfo.js";
6
- import { EnviveConfig } from "./enviveConfig.js";
7
- export { ChatState, CloseIconVariant, CustomerServiceOverrides, EnviveConfig, FilterFooterProps, FilterItemProps, FilterProps, Message, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, OrgInfo, OutsideHoursFormData, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum, SuggestionBarLocationForMetrics, TestProps };
7
+ export { AddToCartCallback, ChatState, CloseIconVariant, CustomerServiceOverrides, EnviveConfig, FilterFooterProps, FilterItemProps, FilterProps, Message, ModalSheetCloseIconProps, ModalSheetFooterProps, ModalSheetHeaderProps, ModalSheetHeaderVariant, ModalSheetProps, OrgInfo, OutsideHoursFormData, SearchFilterDatum, SearchFilterHeaderProps, SearchFilterItemDatum, SearchFilterProps, SelectFilterItem, SelectedFilterItemDatum, SuggestionBarLocationForMetrics, TestProps };