@envive-ai/react-hooks 0.3.2 → 0.3.4

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 (502) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +2 -0
  2. package/dist/_virtual/rolldown_runtime.js +29 -0
  3. package/dist/application/commerce-api.cjs +15 -5
  4. package/dist/application/commerce-api.js +14 -4
  5. package/dist/application/models/api/nextMessageRequest.d.cts +3 -1
  6. package/dist/application/models/api/nextMessageRequest.d.ts +3 -1
  7. package/dist/application/models/api/userEvent.d.cts +4 -2
  8. package/dist/application/models/api/userEvent.d.ts +4 -2
  9. package/dist/application/models/chatElementDisplayLocationV3.cjs +18 -0
  10. package/dist/application/models/chatElementDisplayLocationV3.d.cts +15 -0
  11. package/dist/application/models/chatElementDisplayLocationV3.d.ts +15 -0
  12. package/dist/application/models/chatElementDisplayLocationV3.js +17 -0
  13. package/dist/application/models/colorsConfigV3.cjs +26 -0
  14. package/dist/application/models/colorsConfigV3.d.cts +22 -0
  15. package/dist/application/models/colorsConfigV3.d.ts +22 -0
  16. package/dist/application/models/colorsConfigV3.js +24 -0
  17. package/dist/application/models/featureGates.cjs +2 -1
  18. package/dist/application/models/featureGates.d.cts +2 -1
  19. package/dist/application/models/featureGates.d.ts +2 -1
  20. package/dist/application/models/featureGates.js +2 -1
  21. package/dist/application/models/frontendConfig.d.cts +4 -2
  22. package/dist/application/models/frontendConfig.d.ts +4 -2
  23. package/dist/application/models/frontendConfigV3.d.cts +14 -0
  24. package/dist/application/models/frontendConfigV3.d.ts +14 -0
  25. package/dist/application/models/index.cjs +3 -0
  26. package/dist/application/models/index.d.cts +4 -3
  27. package/dist/application/models/index.d.ts +4 -3
  28. package/dist/application/models/index.js +3 -2
  29. package/dist/application/models/utils/snakeToCamelTransformer.cjs +2 -1
  30. package/dist/application/models/utils/snakeToCamelTransformer.d.cts +7 -2
  31. package/dist/application/models/utils/snakeToCamelTransformer.d.ts +7 -2
  32. package/dist/application/models/utils/snakeToCamelTransformer.js +2 -2
  33. package/dist/application/models/variantInfo/variantInfo.cjs +4 -1
  34. package/dist/application/models/variantInfo/variantInfo.d.cts +4 -1
  35. package/dist/application/models/variantInfo/variantInfo.d.ts +4 -1
  36. package/dist/application/models/variantInfo/variantInfo.js +4 -1
  37. package/dist/application/utils/analyticsUtils.cjs +5 -4
  38. package/dist/application/utils/analyticsUtils.d.cts +1 -1
  39. package/dist/application/utils/analyticsUtils.d.ts +1 -1
  40. package/dist/application/utils/analyticsUtils.js +3 -2
  41. package/dist/application/utils/elementObserver.cjs +1 -1
  42. package/dist/application/utils/elementObserver.d.cts +2 -2
  43. package/dist/application/utils/elementObserver.d.ts +2 -2
  44. package/dist/application/utils/elementObserver.js +1 -1
  45. package/dist/application/utils/index.d.cts +1 -1
  46. package/dist/application/utils/index.d.ts +1 -1
  47. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +14 -0
  48. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +13 -0
  49. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +30 -0
  50. package/dist/application/utils/widgetTextRequestToApiRequest.js +29 -0
  51. package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +1 -1
  52. package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +1 -1
  53. package/dist/atoms/app/index.cjs +13 -1
  54. package/dist/atoms/app/index.d.cts +4 -3
  55. package/dist/atoms/app/index.d.ts +9 -8
  56. package/dist/atoms/app/index.js +13 -4
  57. package/dist/atoms/app/variant.cjs +6 -2
  58. package/dist/atoms/app/variant.d.cts +76 -5
  59. package/dist/atoms/app/variant.d.ts +76 -5
  60. package/dist/atoms/app/variant.js +4 -2
  61. package/dist/atoms/chat/chatState.cjs +9 -4
  62. package/dist/atoms/chat/chatState.d.cts +25 -18
  63. package/dist/atoms/chat/chatState.d.ts +25 -18
  64. package/dist/atoms/chat/chatState.js +6 -3
  65. package/dist/atoms/chat/form.cjs +4 -4
  66. package/dist/atoms/chat/form.d.cts +2 -2
  67. package/dist/atoms/chat/form.d.ts +2 -2
  68. package/dist/atoms/chat/index.cjs +32 -30
  69. package/dist/atoms/chat/index.d.cts +4 -4
  70. package/dist/atoms/chat/index.d.ts +3 -3
  71. package/dist/atoms/chat/index.js +2 -2
  72. package/dist/atoms/chat/lastMessage.cjs +4 -4
  73. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  74. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  75. package/dist/atoms/chat/messageQueue.cjs +1 -35
  76. package/dist/atoms/chat/messageQueue.js +2 -34
  77. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  78. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  79. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  80. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  81. package/dist/atoms/chat/replies.cjs +9 -8
  82. package/dist/atoms/chat/replies.d.cts +3 -3
  83. package/dist/atoms/chat/replies.d.ts +3 -3
  84. package/dist/atoms/chat/replies.js +3 -2
  85. package/dist/atoms/chat/suggestions.cjs +6 -6
  86. package/dist/atoms/chat/suggestions.d.cts +2 -2
  87. package/dist/atoms/chat/suggestions.d.ts +2 -2
  88. package/dist/atoms/envive/enviveConfig.cjs +5 -2
  89. package/dist/atoms/envive/enviveConfig.js +5 -2
  90. package/dist/atoms/globalSearch/globalSearch.cjs +1 -3
  91. package/dist/atoms/globalSearch/globalSearch.d.cts +7 -10
  92. package/dist/atoms/globalSearch/globalSearch.d.ts +7 -10
  93. package/dist/atoms/globalSearch/globalSearch.js +2 -3
  94. package/dist/atoms/globalSearch/index.cjs +0 -1
  95. package/dist/atoms/globalSearch/index.d.cts +2 -2
  96. package/dist/atoms/globalSearch/index.d.ts +2 -2
  97. package/dist/atoms/globalSearch/index.js +2 -2
  98. package/dist/atoms/org/customerService.d.cts +6 -6
  99. package/dist/atoms/org/customerService.d.ts +6 -6
  100. package/dist/atoms/org/graphqlConfig.cjs +1 -3
  101. package/dist/atoms/org/graphqlConfig.d.cts +6 -9
  102. package/dist/atoms/org/graphqlConfig.d.ts +6 -9
  103. package/dist/atoms/org/graphqlConfig.js +2 -3
  104. package/dist/atoms/org/index.cjs +2 -3
  105. package/dist/atoms/org/index.d.cts +2 -2
  106. package/dist/atoms/org/index.d.ts +2 -2
  107. package/dist/atoms/org/index.js +2 -2
  108. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  109. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  110. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  111. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  112. package/dist/atoms/search/chatSearch.cjs +7 -7
  113. package/dist/atoms/search/chatSearch.d.cts +20 -18
  114. package/dist/atoms/search/chatSearch.d.ts +20 -18
  115. package/dist/atoms/search/searchAPI.d.cts +15 -14
  116. package/dist/atoms/search/searchAPI.d.ts +15 -14
  117. package/dist/atoms/search/utils.d.cts +1 -1
  118. package/dist/atoms/widget/chatPreviewLoading.cjs +23 -0
  119. package/dist/atoms/widget/chatPreviewLoading.d.cts +26 -0
  120. package/dist/atoms/widget/chatPreviewLoading.d.ts +26 -0
  121. package/dist/atoms/widget/chatPreviewLoading.js +22 -0
  122. package/dist/atoms/widget/index.cjs +3 -0
  123. package/dist/atoms/widget/index.d.cts +2 -0
  124. package/dist/atoms/widget/index.d.ts +2 -0
  125. package/dist/atoms/widget/index.js +3 -0
  126. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +41 -228
  127. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +4 -39
  128. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +4 -39
  129. package/dist/contexts/amplitudeContext/amplitudeContext.js +45 -231
  130. package/dist/contexts/amplitudeContext/index.cjs +2 -1
  131. package/dist/contexts/amplitudeContext/index.d.cts +2 -1
  132. package/dist/contexts/amplitudeContext/index.d.ts +2 -1
  133. package/dist/contexts/amplitudeContext/index.js +2 -1
  134. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +3 -2
  135. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
  136. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
  137. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
  138. package/dist/contexts/enviveContext/enviveContext.cjs +73 -18
  139. package/dist/contexts/enviveContext/enviveContext.d.cts +9 -1
  140. package/dist/contexts/enviveContext/enviveContext.d.ts +9 -1
  141. package/dist/contexts/enviveContext/enviveContext.js +75 -20
  142. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +96 -24
  143. package/dist/contexts/enviveCssContext/enviveCssContext.js +96 -24
  144. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +5 -7
  145. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +2 -2
  146. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -2
  147. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +5 -7
  148. package/dist/contexts/graphqlContext/graphqlContext.cjs +70 -8
  149. package/dist/contexts/graphqlContext/graphqlContext.d.cts +17 -5
  150. package/dist/contexts/graphqlContext/graphqlContext.d.ts +17 -5
  151. package/dist/contexts/graphqlContext/graphqlContext.js +70 -8
  152. package/dist/contexts/graphqlContext/index.d.cts +2 -2
  153. package/dist/contexts/graphqlContext/index.d.ts +2 -2
  154. package/dist/contexts/graphqlContext/mockV3Config.cjs +208 -0
  155. package/dist/contexts/graphqlContext/mockV3Config.js +207 -0
  156. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +169 -0
  157. package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +24 -0
  158. package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +24 -0
  159. package/dist/contexts/hardcopyContext/hardcopyContext.js +167 -0
  160. package/dist/contexts/hardcopyContext/index.cjs +4 -0
  161. package/dist/contexts/hardcopyContext/index.d.cts +2 -0
  162. package/dist/contexts/hardcopyContext/index.d.ts +2 -0
  163. package/dist/contexts/hardcopyContext/index.js +3 -0
  164. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +7 -8
  165. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +8 -9
  166. package/dist/contexts/pageContext/index.cjs +6 -0
  167. package/dist/contexts/pageContext/index.d.cts +3 -0
  168. package/dist/contexts/pageContext/index.d.ts +3 -0
  169. package/dist/contexts/pageContext/index.js +4 -0
  170. package/dist/contexts/pageContext/mapping.cjs +29 -0
  171. package/dist/contexts/pageContext/mapping.d.cts +8 -0
  172. package/dist/contexts/pageContext/mapping.d.ts +8 -0
  173. package/dist/contexts/pageContext/mapping.js +29 -0
  174. package/dist/contexts/pageContext/pageContext.cjs +86 -0
  175. package/dist/contexts/pageContext/pageContext.d.cts +14 -0
  176. package/dist/contexts/pageContext/pageContext.d.ts +14 -0
  177. package/dist/contexts/pageContext/pageContext.js +84 -0
  178. package/dist/contexts/pageContext/types.cjs +0 -0
  179. package/dist/contexts/pageContext/types.d.cts +31 -0
  180. package/dist/contexts/pageContext/types.d.ts +31 -0
  181. package/dist/contexts/pageContext/types.js +1 -0
  182. package/dist/contexts/salesAgentContext/chatAPI.cjs +48 -0
  183. package/dist/contexts/salesAgentContext/chatAPI.d.cts +35 -0
  184. package/dist/contexts/salesAgentContext/chatAPI.d.ts +35 -0
  185. package/dist/contexts/salesAgentContext/chatAPI.js +47 -0
  186. package/dist/contexts/salesAgentContext/index.cjs +20 -0
  187. package/dist/contexts/salesAgentContext/index.d.cts +4 -0
  188. package/dist/contexts/salesAgentContext/index.d.ts +4 -0
  189. package/dist/contexts/salesAgentContext/index.js +5 -0
  190. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +130 -0
  191. package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +22 -0
  192. package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +22 -0
  193. package/dist/contexts/salesAgentContext/salesAgentContext.js +128 -0
  194. package/dist/contexts/salesAgentContext/salesAgentService.cjs +135 -0
  195. package/dist/contexts/salesAgentContext/salesAgentService.js +134 -0
  196. package/dist/contexts/salesAgentContext/statusCodeError.cjs +14 -0
  197. package/dist/contexts/salesAgentContext/statusCodeError.js +13 -0
  198. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  199. package/dist/contexts/types.cjs +2 -3
  200. package/dist/contexts/types.d.cts +12 -8
  201. package/dist/contexts/types.d.ts +12 -8
  202. package/dist/contexts/types.js +2 -3
  203. package/dist/contexts/typesV3.cjs +125 -0
  204. package/dist/contexts/typesV3.d.cts +246 -0
  205. package/dist/contexts/typesV3.d.ts +246 -0
  206. package/dist/contexts/typesV3.js +113 -0
  207. package/dist/contexts/uiConfigContext/index.cjs +4 -0
  208. package/dist/contexts/uiConfigContext/index.d.cts +2 -0
  209. package/dist/contexts/uiConfigContext/index.d.ts +2 -0
  210. package/dist/contexts/uiConfigContext/index.js +3 -0
  211. package/dist/contexts/uiConfigContext/uiConfigContext.cjs +44 -0
  212. package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +15 -0
  213. package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +15 -0
  214. package/dist/contexts/uiConfigContext/uiConfigContext.js +42 -0
  215. package/dist/contexts/widgetConfigContext/index.cjs +4 -0
  216. package/dist/contexts/widgetConfigContext/index.d.cts +2 -0
  217. package/dist/contexts/widgetConfigContext/index.d.ts +2 -0
  218. package/dist/contexts/widgetConfigContext/index.js +3 -0
  219. package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +67 -0
  220. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.cts +19 -0
  221. package/dist/contexts/widgetConfigContext/widgetConfigContext.d.ts +19 -0
  222. package/dist/contexts/widgetConfigContext/widgetConfigContext.js +65 -0
  223. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +1 -1
  224. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +1 -1
  225. package/dist/hooks/AppDetails/useAppDetails.cjs +2 -4
  226. package/dist/hooks/AppDetails/useAppDetails.js +3 -5
  227. package/dist/hooks/ChatToggle/useChatToggle.cjs +6 -5
  228. package/dist/hooks/ChatToggle/useChatToggle.js +3 -2
  229. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +3 -3
  230. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +3 -3
  231. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  232. package/dist/hooks/GraphQLConfig/index.cjs +1 -1
  233. package/dist/hooks/GraphQLConfig/index.d.cts +2 -2
  234. package/dist/hooks/GraphQLConfig/index.d.ts +2 -2
  235. package/dist/hooks/GraphQLConfig/index.js +2 -2
  236. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +30 -21
  237. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +5 -4
  238. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +5 -4
  239. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +30 -21
  240. package/dist/hooks/ImageResolver/useImageResolver.cjs +1 -1
  241. package/dist/hooks/ImageResolver/useImageResolver.js +1 -1
  242. package/dist/hooks/Search/useSearch.cjs +10 -12
  243. package/dist/hooks/Search/useSearch.d.cts +1 -3
  244. package/dist/hooks/Search/useSearch.d.ts +1 -3
  245. package/dist/hooks/Search/useSearch.js +7 -9
  246. package/dist/hooks/Search/useSearchInput.cjs +4 -4
  247. package/dist/hooks/Search/useSearchInput.js +1 -1
  248. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +5 -4
  249. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -1
  250. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -1
  251. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +3 -2
  252. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +3 -2
  253. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +3 -2
  254. package/dist/hooks/utils.d.ts +1 -1
  255. package/dist/node_modules/classnames/index.cjs +52 -0
  256. package/dist/node_modules/classnames/index.js +49 -0
  257. package/dist/packages/components-v3/dist/Container/Container.cjs +11 -0
  258. package/dist/packages/components-v3/dist/Container/Container.js +12 -0
  259. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +1 -0
  260. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +3 -0
  261. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +1 -0
  262. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +3 -0
  263. package/dist/packages/components-v3/dist/Container/index.cjs +1 -0
  264. package/dist/packages/components-v3/dist/Container/index.js +3 -0
  265. package/dist/packages/components-v3/dist/Image/Image.cjs +16 -0
  266. package/dist/packages/components-v3/dist/Image/Image.js +17 -0
  267. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +1 -0
  268. package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +3 -0
  269. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +1 -0
  270. package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +3 -0
  271. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +1 -0
  272. package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +3 -0
  273. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +1 -0
  274. package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +3 -0
  275. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +1 -0
  276. package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +3 -0
  277. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +1 -0
  278. package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +3 -0
  279. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +1 -0
  280. package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +3 -0
  281. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +2 -0
  282. package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +4 -0
  283. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +2 -0
  284. package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +4 -0
  285. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +15 -0
  286. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +16 -0
  287. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +4 -0
  288. package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +4 -0
  289. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +1 -0
  290. package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +3 -0
  291. package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +4 -0
  292. package/dist/packages/components-v3/dist/ImageGallery/components/index.js +6 -0
  293. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +1 -0
  294. package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +3 -0
  295. package/dist/packages/components-v3/dist/ImageGallery/index.cjs +2 -0
  296. package/dist/packages/components-v3/dist/ImageGallery/index.js +4 -0
  297. package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +13 -0
  298. package/dist/packages/components-v3/dist/ImageGallery/types/types.js +12 -0
  299. package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +12 -0
  300. package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +13 -0
  301. package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +1 -0
  302. package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +3 -0
  303. package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +3 -0
  304. package/dist/packages/components-v3/dist/PromptButton/components/Label.js +5 -0
  305. package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +12 -0
  306. package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +13 -0
  307. package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +9 -0
  308. package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +10 -0
  309. package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +4 -0
  310. package/dist/packages/components-v3/dist/PromptButton/components/index.js +6 -0
  311. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +1 -0
  312. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +3 -0
  313. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +8 -0
  314. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -0
  315. package/dist/packages/components-v3/dist/PromptButton/index.cjs +2 -0
  316. package/dist/packages/components-v3/dist/PromptButton/index.js +4 -0
  317. package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +13 -0
  318. package/dist/packages/components-v3/dist/PromptButton/types/index.js +12 -0
  319. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +12 -0
  320. package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +14 -0
  321. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +9 -0
  322. package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +10 -0
  323. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +11 -0
  324. package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +12 -0
  325. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +4 -0
  326. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +6 -0
  327. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +4 -0
  328. package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +6 -0
  329. package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +3 -0
  330. package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +5 -0
  331. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +5 -0
  332. package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +7 -0
  333. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +1 -0
  334. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +3 -0
  335. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +3 -0
  336. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +5 -0
  337. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +1 -0
  338. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -0
  339. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -0
  340. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +3 -0
  341. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +1 -0
  342. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +3 -0
  343. package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +2 -0
  344. package/dist/packages/components-v3/dist/PromptCarousel/index.js +4 -0
  345. package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +19 -0
  346. package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +17 -0
  347. package/dist/packages/components-v3/dist/Stack/Stack.cjs +36 -0
  348. package/dist/packages/components-v3/dist/Stack/Stack.js +36 -0
  349. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +27 -0
  350. package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +26 -0
  351. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +20 -0
  352. package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +19 -0
  353. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +19 -0
  354. package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +18 -0
  355. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +16 -0
  356. package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +15 -0
  357. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +21 -0
  358. package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +20 -0
  359. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +38 -0
  360. package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +38 -0
  361. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +13 -0
  362. package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +12 -0
  363. package/dist/packages/components-v3/dist/Stack/index.cjs +1 -0
  364. package/dist/packages/components-v3/dist/Stack/index.js +3 -0
  365. package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +42 -0
  366. package/dist/packages/components-v3/dist/Stack/utils/constants.js +41 -0
  367. package/dist/packages/components-v3/dist/Typography/Typography.cjs +15 -0
  368. package/dist/packages/components-v3/dist/Typography/Typography.js +16 -0
  369. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +1 -0
  370. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +3 -0
  371. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +1 -0
  372. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +3 -0
  373. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +1 -0
  374. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +3 -0
  375. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +1 -0
  376. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +3 -0
  377. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +1 -0
  378. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +3 -0
  379. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +1 -0
  380. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +3 -0
  381. package/dist/packages/components-v3/dist/Typography/index.cjs +1 -0
  382. package/dist/packages/components-v3/dist/Typography/index.js +3 -0
  383. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +12 -0
  384. package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +13 -0
  385. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -0
  386. package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +3 -0
  387. package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +2 -0
  388. package/dist/packages/components-v3/dist/WidgetWrapper/index.js +4 -0
  389. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +13 -0
  390. package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +12 -0
  391. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.cjs +25 -0
  392. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.js +23 -0
  393. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +1 -0
  394. package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +3 -0
  395. package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +57 -0
  396. package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +56 -0
  397. package/dist/packages/icons/dist/FourPointStar.cjs +8 -0
  398. package/dist/packages/icons/dist/FourPointStar.js +9 -0
  399. package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +28 -0
  400. package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +26 -0
  401. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +697 -0
  402. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +697 -0
  403. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +44 -0
  404. package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
  405. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +1529 -0
  406. package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +1529 -0
  407. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +330 -0
  408. package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +330 -0
  409. package/dist/packages/icons/dist/node_modules/react/index.cjs +14 -0
  410. package/dist/packages/icons/dist/node_modules/react/index.js +14 -0
  411. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +14 -0
  412. package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +14 -0
  413. package/dist/services/amplitudeService/amplitudeService.cjs +204 -0
  414. package/dist/services/amplitudeService/amplitudeService.d.cts +75 -0
  415. package/dist/services/amplitudeService/amplitudeService.d.ts +75 -0
  416. package/dist/services/amplitudeService/amplitudeService.js +202 -0
  417. package/dist/services/amplitudeService/index.cjs +4 -0
  418. package/dist/services/amplitudeService/index.d.cts +2 -0
  419. package/dist/services/amplitudeService/index.d.ts +2 -0
  420. package/dist/services/amplitudeService/index.js +3 -0
  421. package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -0
  422. package/dist/services/enviveConfigService/enviveConfigService.d.cts +43 -0
  423. package/dist/services/enviveConfigService/enviveConfigService.d.ts +43 -0
  424. package/dist/services/enviveConfigService/enviveConfigService.js +36 -0
  425. package/dist/services/enviveConfigService/index.cjs +3 -0
  426. package/dist/services/enviveConfigService/index.d.cts +2 -0
  427. package/dist/services/enviveConfigService/index.d.ts +2 -0
  428. package/dist/services/enviveConfigService/index.js +3 -0
  429. package/dist/types/enviveConfig.d.cts +29 -0
  430. package/dist/types/enviveConfig.d.ts +29 -0
  431. package/dist/types/index.d.cts +2 -1
  432. package/dist/types/index.d.ts +2 -1
  433. package/package.json +40 -4
  434. package/src/application/commerce-api.ts +14 -1
  435. package/src/application/models/api/userEvent.ts +3 -1
  436. package/src/application/models/api/widgetText.ts +9 -0
  437. package/src/application/models/api/widgetTextRequest.ts +10 -0
  438. package/src/application/models/chatElementDisplayLocationV3.ts +12 -0
  439. package/src/application/models/colorsConfigV3.ts +26 -0
  440. package/src/application/models/featureGates.ts +1 -0
  441. package/src/application/models/frontendConfig.ts +5 -0
  442. package/src/application/models/frontendConfigV3.ts +10 -0
  443. package/src/application/models/index.ts +1 -0
  444. package/src/application/models/utils/snakeToCamelTransformer.ts +1 -1
  445. package/src/application/utils/elementObserver.ts +2 -2
  446. package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +30 -0
  447. package/src/application/utils/widgetTextRequestToApiRequest.ts +45 -0
  448. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -8
  449. package/src/atoms/app/index.ts +3 -3
  450. package/src/atoms/app/variant.ts +5 -0
  451. package/src/atoms/chat/chatState.ts +10 -2
  452. package/src/atoms/envive/enviveConfig.ts +5 -0
  453. package/src/atoms/org/graphqlConfig.ts +0 -1
  454. package/src/atoms/widget/chatPreviewLoading.ts +36 -0
  455. package/src/atoms/widget/index.ts +1 -0
  456. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +197 -187
  457. package/src/contexts/amplitudeContext/amplitudeContext.tsx +56 -334
  458. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
  459. package/src/contexts/enviveContext/enviveContext.tsx +101 -27
  460. package/src/contexts/enviveCssContext/enviveCssContext.tsx +121 -22
  461. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +12 -11
  462. package/src/contexts/graphqlContext/graphqlContext.tsx +131 -13
  463. package/src/contexts/graphqlContext/mockV3Config.ts +209 -0
  464. package/src/contexts/hardcopyContext/hardcopyContext.tsx +136 -14
  465. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +6 -6
  466. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +5 -13
  467. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +24 -8
  468. package/src/contexts/pageContext/mapping.ts +4 -0
  469. package/src/contexts/pageContext/pageContext.tsx +41 -12
  470. package/src/contexts/pageContext/types.ts +4 -0
  471. package/src/contexts/salesAgentContext/chatAPI.ts +1 -0
  472. package/src/contexts/salesAgentContext/salesAgentContext.tsx +94 -42
  473. package/src/contexts/salesAgentContext/salesAgentService.ts +78 -3
  474. package/src/contexts/salesAgentContext/statusCodeError.ts +10 -0
  475. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +8 -2
  476. package/src/contexts/types.ts +15 -19
  477. package/src/contexts/typesV3.ts +316 -0
  478. package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +321 -0
  479. package/src/contexts/uiConfigContext/index.ts +1 -0
  480. package/src/contexts/uiConfigContext/uiConfigContext.tsx +44 -0
  481. package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +512 -0
  482. package/src/contexts/widgetConfigContext/index.ts +1 -0
  483. package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +84 -0
  484. package/src/hooks/AppDetails/useAppDetails.ts +2 -2
  485. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +22 -21
  486. package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -6
  487. package/src/hooks/Search/useSearch.tsx +6 -5
  488. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +558 -0
  489. package/src/services/amplitudeService/amplitudeService.ts +324 -0
  490. package/src/services/amplitudeService/index.ts +1 -0
  491. package/src/services/enviveConfigService/enviveConfigService.ts +72 -0
  492. package/src/services/enviveConfigService/index.ts +1 -0
  493. package/src/types/enviveConfig.ts +27 -0
  494. package/src/types/index.ts +1 -0
  495. package/dist/contexts/chatContext/chatContext.cjs +0 -306
  496. package/dist/contexts/chatContext/chatContext.d.cts +0 -15
  497. package/dist/contexts/chatContext/chatContext.d.ts +0 -15
  498. package/dist/contexts/chatContext/chatContext.js +0 -304
  499. package/dist/contexts/chatContext/index.cjs +0 -4
  500. package/dist/contexts/chatContext/index.d.cts +0 -2
  501. package/dist/contexts/chatContext/index.d.ts +0 -2
  502. package/dist/contexts/chatContext/index.js +0 -3
@@ -1,29 +1,41 @@
1
1
  import { CamelCasedPropertiesDeep } from "../../application/models/utilityTypes/camelCasedPropertiesDeep.js";
2
2
  import { ColorMapping } from "../../application/models/colorsConfig.js";
3
+ import { OrgPageConfig } from "../types.js";
3
4
  import { FrontendConfig } from "../../application/models/frontendConfig.js";
5
+ import { FrontendConfigV3 } from "../../application/models/frontendConfigV3.js";
6
+ import { ColorMappingV3 } from "../../application/models/colorsConfigV3.js";
4
7
  import { ReactNode } from "react";
5
8
  import * as react_jsx_runtime0 from "react/jsx-runtime";
6
9
 
7
10
  //#region src/contexts/graphqlContext/graphqlContext.d.ts
8
11
  type ColorsConfigResponse = CamelCasedPropertiesDeep<ColorMapping>;
9
12
  type FrontendConfigResponse = CamelCasedPropertiesDeep<FrontendConfig>;
13
+ type ColorsConfigV3Response = CamelCasedPropertiesDeep<ColorMappingV3>;
14
+ type FrontendConfigV3Response = CamelCasedPropertiesDeep<FrontendConfigV3>;
10
15
  type GraphQlConfigValues = {
11
- colorsConfig?: ColorsConfigResponse;
12
- frontendConfig?: CamelCasedPropertiesDeep<FrontendConfig>;
16
+ colorsConfig?: ColorsConfigResponse | ColorsConfigV3Response;
17
+ frontendConfig?: CamelCasedPropertiesDeep<FrontendConfig | FrontendConfigV3>;
18
+ orgPageConfig?: OrgPageConfig;
13
19
  };
14
20
  interface GraphQLContextValue {
15
21
  executeQuery: <T>(query: string, variables?: Record<string, unknown>) => Promise<T>;
16
22
  getOrgId: () => Promise<string | undefined>;
17
23
  getColorsAndFrontendConfig: () => Promise<GraphQlConfigValues>;
24
+ getV3Config: () => Promise<GraphQlConfigValues>;
25
+ getConfig: () => Promise<GraphQlConfigValues>;
18
26
  isReady: boolean;
19
27
  }
20
28
  type GraphQLProviderProps = {
21
29
  children: ReactNode;
30
+ requestV3Config?: boolean;
31
+ mockV3ConfigToDeprecatedConfig?: boolean;
22
32
  };
23
33
  declare const GraphQLProvider: ({
24
- children
34
+ children,
35
+ requestV3Config,
36
+ mockV3ConfigToDeprecatedConfig
25
37
  }: GraphQLProviderProps) => react_jsx_runtime0.JSX.Element;
26
38
  declare const useGraphQLClient: () => GraphQLContextValue;
27
39
  //#endregion
28
- export { ColorsConfigResponse, FrontendConfigResponse, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbnRleHQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQvZ3JhcGhxbENvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5leHBvcnQgdHlwZSBDb2xvcnNDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxDb2xvck1hcHBpbmc+O1xuZXhwb3J0IHR5cGUgRnJvbnRlbmRDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZz47XG5leHBvcnQgdHlwZSBHcmFwaFFsQ29uZmlnVmFsdWVzID0ge1xuICAgIGNvbG9yc0NvbmZpZz86IENvbG9yc0NvbmZpZ1Jlc3BvbnNlO1xuICAgIGZyb250ZW5kQ29uZmlnPzogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEZyb250ZW5kQ29uZmlnPjtcbn07XG5pbnRlcmZhY2UgR3JhcGhRTENvbnRleHRWYWx1ZSB7XG4gICAgZXhlY3V0ZVF1ZXJ5OiA8VD4ocXVlcnk6IHN0cmluZywgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8VD47XG4gICAgZ2V0T3JnSWQ6ICgpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgICBnZXRDb2xvcnNBbmRGcm9udGVuZENvbmZpZzogKCkgPT4gUHJvbWlzZTxHcmFwaFFsQ29uZmlnVmFsdWVzPjtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xufVxudHlwZSBHcmFwaFFMUHJvdmlkZXJQcm9wcyA9IHtcbiAgICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEdyYXBoUUxQcm92aWRlcjogKHsgY2hpbGRyZW4gfTogR3JhcGhRTFByb3ZpZGVyUHJvcHMpID0+IGltcG9ydChcInJlYWN0L2pzeC1ydW50aW1lXCIpLkpTWC5FbGVtZW50O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlR3JhcGhRTENsaWVudDogKCkgPT4gR3JhcGhRTENvbnRleHRWYWx1ZTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUtBLElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFvQjtDQUFXO0FBQzdFLElBQVcseUJBQXVCO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEMsSUFBVyxzQkFBc0I7Q0FBQztPQUFLO09BQUE7T0FBQTtDQUFBO0FBQ3ZDLElBQUksc0JBQXNCO0NBQUM7T0FBVztPQUFjO09BQVM7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUM3RCxJQUFDLHVCQUFBLENBQUEsV0FBQSxVQUFBO0FBQ0QsSUFBVyxrQkFBa0I7Q0FBQztPQUFBO09BQUE7T0FBQSxtQkFBQSxJQUFBO0NBQUE7QUFDOUIsSUFBVyxtQkFBbUIsQ0FBQyxXQUFXLG9CQUFvQiJ9
40
+ export { ColorsConfigResponse, ColorsConfigV3Response, FrontendConfigResponse, FrontendConfigV3Response, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbnRleHQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQvZ3JhcGhxbENvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZ1YzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mcm9udGVuZENvbmZpZ1YzJztcbmltcG9ydCB7IENvbG9yTWFwcGluZ1YzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdWMyc7XG5pbXBvcnQgeyBPcmdQYWdlQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IHR5cGUgQ29sb3JzQ29uZmlnUmVzcG9uc2UgPSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Q29sb3JNYXBwaW5nPjtcbmV4cG9ydCB0eXBlIEZyb250ZW5kQ29uZmlnUmVzcG9uc2UgPSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8RnJvbnRlbmRDb25maWc+O1xuZXhwb3J0IHR5cGUgQ29sb3JzQ29uZmlnVjNSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxDb2xvck1hcHBpbmdWMz47XG5leHBvcnQgdHlwZSBGcm9udGVuZENvbmZpZ1YzUmVzcG9uc2UgPSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8RnJvbnRlbmRDb25maWdWMz47XG5leHBvcnQgdHlwZSBHcmFwaFFsQ29uZmlnVmFsdWVzID0ge1xuICAgIGNvbG9yc0NvbmZpZz86IENvbG9yc0NvbmZpZ1Jlc3BvbnNlIHwgQ29sb3JzQ29uZmlnVjNSZXNwb25zZTtcbiAgICBmcm9udGVuZENvbmZpZz86IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZyB8IEZyb250ZW5kQ29uZmlnVjM+O1xuICAgIG9yZ1BhZ2VDb25maWc/OiBPcmdQYWdlQ29uZmlnO1xufTtcbmludGVyZmFjZSBHcmFwaFFMQ29udGV4dFZhbHVlIHtcbiAgICBleGVjdXRlUXVlcnk6IDxUPihxdWVyeTogc3RyaW5nLCB2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTxUPjtcbiAgICBnZXRPcmdJZDogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICAgIGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnOiAoKSA9PiBQcm9taXNlPEdyYXBoUWxDb25maWdWYWx1ZXM+O1xuICAgIGdldFYzQ29uZmlnOiAoKSA9PiBQcm9taXNlPEdyYXBoUWxDb25maWdWYWx1ZXM+O1xuICAgIGdldENvbmZpZzogKCkgPT4gUHJvbWlzZTxHcmFwaFFsQ29uZmlnVmFsdWVzPjtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xufVxudHlwZSBHcmFwaFFMUHJvdmlkZXJQcm9wcyA9IHtcbiAgICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAgIHJlcXVlc3RWM0NvbmZpZz86IGJvb2xlYW47XG4gICAgbW9ja1YzQ29uZmlnVG9EZXByZWNhdGVkQ29uZmlnPzogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBHcmFwaFFMUHJvdmlkZXI6ICh7IGNoaWxkcmVuLCByZXF1ZXN0VjNDb25maWcsIG1vY2tWM0NvbmZpZ1RvRGVwcmVjYXRlZENvbmZpZywgfTogR3JhcGhRTFByb3ZpZGVyUHJvcHMpID0+IGltcG9ydChcInJlYWN0L2pzeC1ydW50aW1lXCIpLkpTWC5FbGVtZW50O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlR3JhcGhRTENsaWVudDogKCkgPT4gR3JhcGhRTENvbnRleHRWYWx1ZTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVFBLElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFvQjtDQUFXO0FBQzdFLElBQVcseUJBQXlCO0NBQUM7T0FBVztPQUFzQjtDQUFPO0FBQzdFLElBQVcseUJBQXlCO0NBQUM7T0FBVztPQUFzQjtDQUFXO0FBQ2pGLElBQVcsMkJBQXVCO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEMsSUFBVyxzQkFBc0I7Q0FBQztPQUFXO09BQW1CO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoRSxJQUFJLHNCQUFzQjtDQUFDO09BQVc7T0FBYztPQUFTO09BQWU7T0FBSTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoRixJQUFJLHVCQUF1QixDQUFDLFdBQUssVUFBQTtBQUNqQyxJQUFDLGtCQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBLG1CQUFBLElBQUE7Q0FBQTtBQUNELElBQVcsbUJBQW1CLENBQUEsV0FBQSxvQkFBQSJ9
@@ -1,10 +1,13 @@
1
+ import { ConfigVersionEnum } from "../typesV3.js";
1
2
  import logger_default from "../../application/logging/logger.js";
2
- import { baseUrlAtom, orgLevelApiKeyAtom } from "../../atoms/envive/enviveConfig.js";
3
3
  import { configVersion } from "../../types/config-versions.js";
4
4
  import { getMerchantOrgIdQuery } from "../../application/models/graphql/queries/getMerchantOrgIdQuery.js";
5
5
  import { transformSnakeToCamel } from "../../application/models/utils/snakeToCamelTransformer.js";
6
+ import { validateAndTransformMountingConfig, validateAndTransformPageVariants } from "../../application/models/validators/validateGraphQLFrontendConfig.js";
6
7
  import { validateGraphQLOrgId } from "../../application/models/validators/validateGraphQLOrgId.js";
7
8
  import "../../application/models/index.js";
9
+ import { baseUrlAtom, orgLevelApiKeyAtom } from "../../atoms/envive/enviveConfig.js";
10
+ import { mockV3ColorsConfig, mockV3FrontendConfig } from "./mockV3Config.js";
8
11
  import React, { createContext, useCallback, useContext, useMemo } from "react";
9
12
  import { useAtomValue } from "jotai";
10
13
  import { jsx } from "react/jsx-runtime";
@@ -21,10 +24,10 @@ const colorsAndFrontendConfigQuery = () => `
21
24
  }
22
25
  }
23
26
  `;
24
- const GraphQLProvider = ({ children }) => {
27
+ const GraphQLProvider = ({ children, requestV3Config = false, mockV3ConfigToDeprecatedConfig = false }) => {
25
28
  const apiKey = useAtomValue(orgLevelApiKeyAtom);
26
29
  const baseUrl = useAtomValue(baseUrlAtom);
27
- const isReady = Boolean(apiKey && baseUrl);
30
+ const isReady = useMemo(() => Boolean(apiKey && baseUrl), [apiKey, baseUrl]);
28
31
  const executeQuery = useCallback(async (query, variables) => {
29
32
  if (!isReady) throw new Error("GraphQL client not ready - missing apiKey or baseUrl");
30
33
  const response = await fetch(`${baseUrl}/v1/graphql`, {
@@ -50,16 +53,62 @@ const GraphQLProvider = ({ children }) => {
50
53
  const getOrgId = useCallback(async () => {
51
54
  return validateGraphQLOrgId((await executeQuery(getMerchantOrgIdQuery)).me.org?.id);
52
55
  }, [executeQuery]);
56
+ const getV3Config = useCallback(async () => {
57
+ try {
58
+ const query = await colorsAndFrontendConfigQuery();
59
+ if (!query) throw new Error("Colors and frontend config query is not defined");
60
+ const v3RootConfig = (await executeQuery(query)).me.getProductsConfigByVersion?.frontend?.values?.ui_configs?.v_three_config;
61
+ const v3FrontendConfig = transformSnakeToCamel(v3RootConfig);
62
+ const v3MountingConfigs = (transformSnakeToCamel(v3RootConfig?.mounting_configs) ?? []).reduce((acc, { key, config }) => {
63
+ acc[key] = validateAndTransformMountingConfig(config, key);
64
+ return acc;
65
+ }, {});
66
+ const v3widgetConfigsArray = transformSnakeToCamel(v3RootConfig?.widget_configs) ?? [];
67
+ const v3WidgetConfigs = Object.fromEntries(v3widgetConfigsArray?.map(({ widgetConfigId, ...rest }) => [widgetConfigId, {
68
+ widgetConfigId,
69
+ ...rest
70
+ }]));
71
+ const v3pageVariants = v3RootConfig?.page_variants.map(validateAndTransformPageVariants);
72
+ const v3ColorsConfig = transformSnakeToCamel(v3RootConfig?.colors?.values);
73
+ if (!v3RootConfig && mockV3ConfigToDeprecatedConfig) return {
74
+ colorsConfig: !window.location.href.includes("globals=merchant") ? mockV3ColorsConfig : v3ColorsConfig,
75
+ frontendConfig: mockV3FrontendConfig
76
+ };
77
+ return {
78
+ colorsConfig: v3ColorsConfig,
79
+ frontendConfig: v3FrontendConfig,
80
+ orgPageConfig: {
81
+ pageVariants: v3pageVariants,
82
+ widgetConfigs: v3WidgetConfigs,
83
+ mountingConfigs: v3MountingConfigs
84
+ }
85
+ };
86
+ } catch (err) {
87
+ logger_default.logError("Error fetching graphql colors and frontend config", err);
88
+ return {
89
+ colorsConfig: void 0,
90
+ frontendConfig: void 0
91
+ };
92
+ }
93
+ }, [executeQuery, mockV3ConfigToDeprecatedConfig]);
53
94
  const getColorsAndFrontendConfig = useCallback(async () => {
54
95
  try {
55
96
  const query = await colorsAndFrontendConfigQuery();
56
97
  if (!query) throw new Error("Colors and frontend config query is not defined");
57
98
  const response = await executeQuery(query);
58
- const colorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
59
- const frontendConfig = response.me.getProductsConfigByVersion?.frontend?.values;
99
+ if (response.me.getProductsConfigByVersion?.version !== ConfigVersionEnum.V3 && !mockV3ConfigToDeprecatedConfig) {
100
+ const colorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
101
+ const frontendConfig = response.me.getProductsConfigByVersion?.frontend?.values;
102
+ return {
103
+ colorsConfig: transformSnakeToCamel(colorsConfig),
104
+ frontendConfig: transformSnakeToCamel(frontendConfig)
105
+ };
106
+ }
107
+ const merchantColorsConfig = response.me.getProductsConfigByVersion?.colors?.values;
108
+ const transformedMerchantColorConfig = transformSnakeToCamel(merchantColorsConfig);
60
109
  return {
61
- colorsConfig: transformSnakeToCamel(colorsConfig),
62
- frontendConfig: transformSnakeToCamel(frontendConfig)
110
+ colorsConfig: !window.location.href.includes("globals=merchant") ? mockV3ColorsConfig : transformedMerchantColorConfig,
111
+ frontendConfig: mockV3FrontendConfig
63
112
  };
64
113
  } catch (err) {
65
114
  logger_default.logError("Error fetching graphql colors and frontend config", err);
@@ -69,15 +118,28 @@ const GraphQLProvider = ({ children }) => {
69
118
  };
70
119
  }
71
120
  }, [executeQuery]);
121
+ const getConfig = useCallback(async () => {
122
+ console.log("GraphQLProvider: getConfig: requestV3Config", requestV3Config);
123
+ if (requestV3Config) return getV3Config();
124
+ return getColorsAndFrontendConfig();
125
+ }, [
126
+ getColorsAndFrontendConfig,
127
+ getV3Config,
128
+ requestV3Config
129
+ ]);
72
130
  const value = useMemo(() => ({
73
131
  executeQuery,
74
132
  getOrgId,
75
133
  getColorsAndFrontendConfig,
134
+ getV3Config,
135
+ getConfig,
76
136
  isReady
77
137
  }), [
78
138
  executeQuery,
79
139
  getOrgId,
80
140
  getColorsAndFrontendConfig,
141
+ getV3Config,
142
+ getConfig,
81
143
  isReady
82
144
  ]);
83
145
  return /* @__PURE__ */ jsx(GraphQLContext.Provider, {
@@ -93,4 +155,4 @@ const useGraphQLClient = () => {
93
155
 
94
156
  //#endregion
95
157
  export { GraphQLProvider, useGraphQLClient };
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbnRleHQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0L2dyYXBocWxDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IGJhc2VVcmxBdG9tLCBvcmdMZXZlbEFwaUtleUF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBnZXRNZXJjaGFudE9yZ0lkUXVlcnkgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2dyYXBocWwvcXVlcmllcy9nZXRNZXJjaGFudE9yZ0lkUXVlcnknO1xuaW1wb3J0IHsgdmFsaWRhdGVHcmFwaFFMT3JnSWQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMT3JnSWQnO1xuaW1wb3J0IHtcbiAgR2V0TWVyY2hhbnRDb2xvcnNRdWVyeURhdGEsXG4gIEdldE1lcmNoYW50RnJvbnRlbmRDb25maWdRdWVyeURhdGEsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3JhcGhxbCc7XG5pbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbiB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwLCB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWwgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcblxuaW50ZXJmYWNlIEJhc2VNZUNvbmZpZ1F1ZXJ5UmVzcG9uc2Uge1xuICBtZToge1xuICAgIG9yZz86IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBnZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj86IHtcbiAgICAgIGZyb250ZW5kPzoge1xuICAgICAgICB2YWx1ZXM6IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxHZXRNZXJjaGFudEZyb250ZW5kQ29uZmlnUXVlcnlEYXRhPjtcbiAgICAgIH07XG4gICAgICBjb2xvcnM/OiB7IHZhbHVlczogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhPiB9O1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgdHlwZSBDb2xvcnNDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxDb2xvck1hcHBpbmc+O1xuZXhwb3J0IHR5cGUgRnJvbnRlbmRDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZz47XG5cbmV4cG9ydCB0eXBlIEdyYXBoUWxDb25maWdWYWx1ZXMgPSB7XG4gIGNvbG9yc0NvbmZpZz86IENvbG9yc0NvbmZpZ1Jlc3BvbnNlO1xuICBmcm9udGVuZENvbmZpZz86IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZz47XG59O1xuXG5pbnRlcmZhY2UgR3JhcGhRTENvbnRleHRWYWx1ZSB7XG4gIGV4ZWN1dGVRdWVyeTogPFQ+KHF1ZXJ5OiBzdHJpbmcsIHZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBQcm9taXNlPFQ+O1xuICBnZXRPcmdJZDogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBnZXRDb2xvcnNBbmRGcm9udGVuZENvbmZpZzogKCkgPT4gUHJvbWlzZTxHcmFwaFFsQ29uZmlnVmFsdWVzPjtcbiAgaXNSZWFkeTogYm9vbGVhbjtcbn1cblxuY29uc3QgR3JhcGhRTENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEdyYXBoUUxDb250ZXh0VmFsdWUgfCBudWxsPihudWxsKTtcblxuY29uc3QgY29sb3JzQW5kRnJvbnRlbmRDb25maWdRdWVyeSA9ICgpID0+IGBcbiAgcXVlcnkgKCR2ZXJzaW9uOiBTdHJpbmcgPSBcIiR7Y29uZmlnVmVyc2lvbigpfVwiKSB7XG4gICAgbWUge1xuICAgICAgZ2V0UHJvZHVjdHNDb25maWdCeVZlcnNpb24odmVyc2lvbjogJHZlcnNpb24pIHtcbiAgICAgICAgZnJvbnRlbmQgeyB2YWx1ZXMgfVxuICAgICAgICBjb2xvcnMgeyB2YWx1ZXMgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxudHlwZSBHcmFwaFFMUHJvdmlkZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBjb25zdCBHcmFwaFFMUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBHcmFwaFFMUHJvdmlkZXJQcm9wcykgPT4ge1xuICBjb25zdCBhcGlLZXkgPSB1c2VBdG9tVmFsdWUob3JnTGV2ZWxBcGlLZXlBdG9tKTtcbiAgY29uc3QgYmFzZVVybCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG5cbiAgY29uc3QgaXNSZWFkeSA9IEJvb2xlYW4oYXBpS2V5ICYmIGJhc2VVcmwpO1xuXG4gIGNvbnN0IGV4ZWN1dGVRdWVyeSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChxdWVyeTogc3RyaW5nLCB2YXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignR3JhcGhRTCBjbGllbnQgbm90IHJlYWR5IC0gbWlzc2luZyBhcGlLZXkgb3IgYmFzZVVybCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2Jhc2VVcmx9L3YxL2dyYXBocWxgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7YXBpS2V5fWAsXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnksIHZhcmlhYmxlcyB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgR3JhcGhRTCByZXF1ZXN0IGZhaWxlZDogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICBpZiAocmVzdWx0LmVycm9ycykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdyYXBoUUwgZXJyb3JzOiAke0pTT04uc3RyaW5naWZ5KHJlc3VsdC5lcnJvcnMpfWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfSxcbiAgICBbYXBpS2V5LCBiYXNlVXJsLCBpc1JlYWR5XSxcbiAgKTtcblxuICBjb25zdCBnZXRPcmdJZCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGV4ZWN1dGVRdWVyeShnZXRNZXJjaGFudE9yZ0lkUXVlcnkpO1xuICAgIHJldHVybiB2YWxpZGF0ZUdyYXBoUUxPcmdJZChyZXNwb25zZS5tZS5vcmc/LmlkKTtcbiAgfSwgW2V4ZWN1dGVRdWVyeV0pO1xuXG4gIGNvbnN0IGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnID0gdXNlQ2FsbGJhY2soYXN5bmMgKCk6IFByb21pc2U8R3JhcGhRbENvbmZpZ1ZhbHVlcz4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeSA9IGF3YWl0IGNvbG9yc0FuZEZyb250ZW5kQ29uZmlnUXVlcnkoKTtcbiAgICAgIGlmICghcXVlcnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb2xvcnMgYW5kIGZyb250ZW5kIGNvbmZpZyBxdWVyeSBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBleGVjdXRlUXVlcnkocXVlcnkpO1xuICAgICAgY29uc3QgY29sb3JzQ29uZmlnID0gcmVzcG9uc2UubWUuZ2V0UHJvZHVjdHNDb25maWdCeVZlcnNpb24/LmNvbG9ycz8udmFsdWVzO1xuICAgICAgY29uc3QgZnJvbnRlbmRDb25maWcgPSByZXNwb25zZS5tZS5nZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj8uZnJvbnRlbmQ/LnZhbHVlcztcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkQ29sb3JDb25maWcgPSB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWwoY29sb3JzQ29uZmlnKTtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRnJvbnRlbmRDb25maWcgPSB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWwoZnJvbnRlbmRDb25maWcpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3JzQ29uZmlnOiB0cmFuc2Zvcm1lZENvbG9yQ29uZmlnIGFzIENvbG9yc0NvbmZpZ1Jlc3BvbnNlLFxuICAgICAgICBmcm9udGVuZENvbmZpZzogdHJhbnNmb3JtZWRGcm9udGVuZENvbmZpZyBhcyBGcm9udGVuZENvbmZpZ1Jlc3BvbnNlLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcignRXJyb3IgZmV0Y2hpbmcgZ3JhcGhxbCBjb2xvcnMgYW5kIGZyb250ZW5kIGNvbmZpZycsIGVycik7XG4gICAgICByZXR1cm4geyBjb2xvcnNDb25maWc6IHVuZGVmaW5lZCwgZnJvbnRlbmRDb25maWc6IHVuZGVmaW5lZCB9O1xuICAgIH1cbiAgfSwgW2V4ZWN1dGVRdWVyeV0pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZXhlY3V0ZVF1ZXJ5LFxuICAgICAgZ2V0T3JnSWQsXG4gICAgICBnZXRDb2xvcnNBbmRGcm9udGVuZENvbmZpZyxcbiAgICAgIGlzUmVhZHksXG4gICAgfSksXG4gICAgW2V4ZWN1dGVRdWVyeSwgZ2V0T3JnSWQsIGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnLCBpc1JlYWR5XSxcbiAgKTtcblxuICByZXR1cm4gPEdyYXBoUUxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvR3JhcGhRTENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUdyYXBoUUxDbGllbnQgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdyYXBoUUxDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VHcmFwaFFMQ2xpZW50IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBHcmFwaFFMUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQTJDQSxNQUFNLGlCQUFpQixjQUEwQyxLQUFLO0FBRXRFLE1BQU0scUNBQXFDOytCQUNaLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBYy9DLE1BQWEsbUJBQW1CLEVBQUUsZUFBcUM7Q0FDckUsTUFBTSxTQUFTLGFBQWEsbUJBQW1CO0NBQy9DLE1BQU0sVUFBVSxhQUFhLFlBQVk7Q0FFekMsTUFBTSxVQUFVLFFBQVEsVUFBVSxRQUFRO0NBRTFDLE1BQU0sZUFBZSxZQUNuQixPQUFPLE9BQWUsY0FBd0M7QUFDNUQsTUFBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sdURBQXVEO0VBR3pFLE1BQU0sV0FBVyxNQUFNLE1BQU0sR0FBRyxRQUFRLGNBQWM7R0FDcEQsUUFBUTtHQUNSLFNBQVM7SUFDUCxnQkFBZ0I7SUFDaEIsZUFBZSxVQUFVO0lBQzFCO0dBQ0QsTUFBTSxLQUFLLFVBQVU7SUFBRTtJQUFPO0lBQVcsQ0FBQztHQUMzQyxDQUFDO0FBRUYsTUFBSSxDQUFDLFNBQVMsR0FDWixPQUFNLElBQUksTUFBTSwyQkFBMkIsU0FBUyxhQUFhO0VBR25FLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTTtBQUNwQyxNQUFJLE9BQU8sT0FDVCxPQUFNLElBQUksTUFBTSxtQkFBbUIsS0FBSyxVQUFVLE9BQU8sT0FBTyxHQUFHO0FBR3JFLFNBQU8sT0FBTztJQUVoQjtFQUFDO0VBQVE7RUFBUztFQUFRLENBQzNCO0NBRUQsTUFBTSxXQUFXLFlBQVksWUFBWTtBQUV2QyxTQUFPLHNCQURVLE1BQU0sYUFBYSxzQkFBc0IsRUFDckIsR0FBRyxLQUFLLEdBQUc7SUFDL0MsQ0FBQyxhQUFhLENBQUM7Q0FFbEIsTUFBTSw2QkFBNkIsWUFBWSxZQUEwQztBQUN2RixNQUFJO0dBQ0YsTUFBTSxRQUFRLE1BQU0sOEJBQThCO0FBQ2xELE9BQUksQ0FBQyxNQUNILE9BQU0sSUFBSSxNQUFNLGtEQUFrRDtHQUVwRSxNQUFNLFdBQVcsTUFBTSxhQUFhLE1BQU07R0FDMUMsTUFBTSxlQUFlLFNBQVMsR0FBRyw0QkFBNEIsUUFBUTtHQUNyRSxNQUFNLGlCQUFpQixTQUFTLEdBQUcsNEJBQTRCLFVBQVU7QUFHekUsVUFBTztJQUNMLGNBSDZCLHNCQUFzQixhQUFhO0lBSWhFLGdCQUhnQyxzQkFBc0IsZUFBZTtJQUl0RTtXQUNNLEtBQUs7QUFDWixrQkFBTyxTQUFTLHFEQUFxRCxJQUFJO0FBQ3pFLFVBQU87SUFBRSxjQUFjO0lBQVcsZ0JBQWdCO0lBQVc7O0lBRTlELENBQUMsYUFBYSxDQUFDO0NBRWxCLE1BQU0sUUFBUSxlQUNMO0VBQ0w7RUFDQTtFQUNBO0VBQ0E7RUFDRCxHQUNEO0VBQUM7RUFBYztFQUFVO0VBQTRCO0VBQVEsQ0FDOUQ7QUFFRCxRQUFPLG9CQUFDLGVBQWU7RUFBZ0I7RUFBUTtHQUFtQzs7QUFHcEYsTUFBYSx5QkFBeUI7Q0FDcEMsTUFBTSxVQUFVLFdBQVcsZUFBZTtBQUMxQyxLQUFJLENBQUMsUUFDSCxPQUFNLElBQUksTUFBTSx5REFBeUQ7QUFFM0UsUUFBTyJ9
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbENvbnRleHQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0L2dyYXBocWxDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IGJhc2VVcmxBdG9tLCBvcmdMZXZlbEFwaUtleUF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBnZXRNZXJjaGFudE9yZ0lkUXVlcnkgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2dyYXBocWwvcXVlcmllcy9nZXRNZXJjaGFudE9yZ0lkUXVlcnknO1xuaW1wb3J0IHsgdmFsaWRhdGVHcmFwaFFMT3JnSWQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMT3JnSWQnO1xuaW1wb3J0IHtcbiAgR2V0TWVyY2hhbnRDb2xvcnNRdWVyeURhdGEsXG4gIEdldE1lcmNoYW50RnJvbnRlbmRDb25maWdRdWVyeURhdGEsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3JhcGhxbCc7XG5pbXBvcnQgeyBDb2xvck1hcHBpbmcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGcm9udGVuZENvbmZpZyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWcnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbiB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHtcbiAgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwLFxuICB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWwsXG4gIHZhbGlkYXRlQW5kVHJhbnNmb3JtTW91bnRpbmdDb25maWcsXG4gIHZhbGlkYXRlQW5kVHJhbnNmb3JtUGFnZVZhcmlhbnRzLFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IEZyb250ZW5kQ29uZmlnVjMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2Zyb250ZW5kQ29uZmlnVjMnO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nVjMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZ1YzJztcbmltcG9ydCB7IG1vY2tWM0NvbG9yc0NvbmZpZywgbW9ja1YzRnJvbnRlbmRDb25maWcgfSBmcm9tICcuL21vY2tWM0NvbmZpZyc7XG5pbXBvcnQgeyBDb25maWdWZXJzaW9uRW51bSwgV2lkZ2V0Q29uZmlnVjMgfSBmcm9tICcuLi90eXBlc1YzJztcbmltcG9ydCB7IE9yZ1BhZ2VDb25maWcsIFBhZ2VWYXJpYW50Q29uZmlnLCBXaWRnZXRNb3VudGluZ0NvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcblxuaW50ZXJmYWNlIEJhc2VNZUNvbmZpZ1F1ZXJ5UmVzcG9uc2Uge1xuICBtZToge1xuICAgIG9yZz86IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBnZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj86IHtcbiAgICAgIGZyb250ZW5kPzoge1xuICAgICAgICB2YWx1ZXM6IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxHZXRNZXJjaGFudEZyb250ZW5kQ29uZmlnUXVlcnlEYXRhPjtcbiAgICAgIH07XG4gICAgICBjb2xvcnM/OiB7IHZhbHVlczogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEdldE1lcmNoYW50Q29sb3JzUXVlcnlEYXRhPiB9O1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgdHlwZSBDb2xvcnNDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxDb2xvck1hcHBpbmc+O1xuZXhwb3J0IHR5cGUgRnJvbnRlbmRDb25maWdSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZz47XG5leHBvcnQgdHlwZSBDb2xvcnNDb25maWdWM1Jlc3BvbnNlID0gQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPENvbG9yTWFwcGluZ1YzPjtcbmV4cG9ydCB0eXBlIEZyb250ZW5kQ29uZmlnVjNSZXNwb25zZSA9IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZ1YzPjtcblxuZXhwb3J0IHR5cGUgR3JhcGhRbENvbmZpZ1ZhbHVlcyA9IHtcbiAgY29sb3JzQ29uZmlnPzogQ29sb3JzQ29uZmlnUmVzcG9uc2UgfCBDb2xvcnNDb25maWdWM1Jlc3BvbnNlO1xuICBmcm9udGVuZENvbmZpZz86IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxGcm9udGVuZENvbmZpZyB8IEZyb250ZW5kQ29uZmlnVjM+O1xuICBvcmdQYWdlQ29uZmlnPzogT3JnUGFnZUNvbmZpZztcbn07XG5cbmludGVyZmFjZSBHcmFwaFFMQ29udGV4dFZhbHVlIHtcbiAgZXhlY3V0ZVF1ZXJ5OiA8VD4ocXVlcnk6IHN0cmluZywgdmFyaWFibGVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFByb21pc2U8VD47XG4gIGdldE9yZ0lkOiAoKSA9PiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnOiAoKSA9PiBQcm9taXNlPEdyYXBoUWxDb25maWdWYWx1ZXM+O1xuICBnZXRWM0NvbmZpZzogKCkgPT4gUHJvbWlzZTxHcmFwaFFsQ29uZmlnVmFsdWVzPjtcbiAgZ2V0Q29uZmlnOiAoKSA9PiBQcm9taXNlPEdyYXBoUWxDb25maWdWYWx1ZXM+O1xuICBpc1JlYWR5OiBib29sZWFuO1xufVxuXG5jb25zdCBHcmFwaFFMQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8R3JhcGhRTENvbnRleHRWYWx1ZSB8IG51bGw+KG51bGwpO1xuXG5jb25zdCBjb2xvcnNBbmRGcm9udGVuZENvbmZpZ1F1ZXJ5ID0gKCkgPT4gYFxuICBxdWVyeSAoJHZlcnNpb246IFN0cmluZyA9IFwiJHtjb25maWdWZXJzaW9uKCl9XCIpIHtcbiAgICBtZSB7XG4gICAgICBnZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbih2ZXJzaW9uOiAkdmVyc2lvbikge1xuICAgICAgICBmcm9udGVuZCB7IHZhbHVlcyB9XG4gICAgICAgIGNvbG9ycyB7IHZhbHVlcyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG50eXBlIEdyYXBoUUxQcm92aWRlclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICByZXF1ZXN0VjNDb25maWc/OiBib29sZWFuO1xuICBtb2NrVjNDb25maWdUb0RlcHJlY2F0ZWRDb25maWc/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IEdyYXBoUUxQcm92aWRlciA9ICh7XG4gIGNoaWxkcmVuLFxuICByZXF1ZXN0VjNDb25maWcgPSBmYWxzZSxcbiAgbW9ja1YzQ29uZmlnVG9EZXByZWNhdGVkQ29uZmlnID0gZmFsc2UsXG59OiBHcmFwaFFMUHJvdmlkZXJQcm9wcykgPT4ge1xuICBjb25zdCBhcGlLZXkgPSB1c2VBdG9tVmFsdWUob3JnTGV2ZWxBcGlLZXlBdG9tKTtcbiAgY29uc3QgYmFzZVVybCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG4gIGNvbnN0IGlzUmVhZHkgPSB1c2VNZW1vKCgpID0+IEJvb2xlYW4oYXBpS2V5ICYmIGJhc2VVcmwpLCBbYXBpS2V5LCBiYXNlVXJsXSk7XG5cbiAgY29uc3QgZXhlY3V0ZVF1ZXJ5ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHF1ZXJ5OiBzdHJpbmcsIHZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICBpZiAoIWlzUmVhZHkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdHcmFwaFFMIGNsaWVudCBub3QgcmVhZHkgLSBtaXNzaW5nIGFwaUtleSBvciBiYXNlVXJsJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vdjEvZ3JhcGhxbGAsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHthcGlLZXl9YCxcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxdWVyeSwgdmFyaWFibGVzIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHcmFwaFFMIHJlcXVlc3QgZmFpbGVkOiAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgR3JhcGhRTCBlcnJvcnM6ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0LmVycm9ycyl9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICB9LFxuICAgIFthcGlLZXksIGJhc2VVcmwsIGlzUmVhZHldLFxuICApO1xuXG4gIGNvbnN0IGdldE9yZ0lkID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZXhlY3V0ZVF1ZXJ5KGdldE1lcmNoYW50T3JnSWRRdWVyeSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlR3JhcGhRTE9yZ0lkKHJlc3BvbnNlLm1lLm9yZz8uaWQpO1xuICB9LCBbZXhlY3V0ZVF1ZXJ5XSk7XG5cbiAgY29uc3QgZ2V0VjNDb25maWcgPSB1c2VDYWxsYmFjayhhc3luYyAoKTogUHJvbWlzZTxHcmFwaFFsQ29uZmlnVmFsdWVzPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gYXdhaXQgY29sb3JzQW5kRnJvbnRlbmRDb25maWdRdWVyeSgpO1xuICAgICAgaWYgKCFxdWVyeSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbG9ycyBhbmQgZnJvbnRlbmQgY29uZmlnIHF1ZXJ5IGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGV4ZWN1dGVRdWVyeShxdWVyeSk7XG5cbiAgICAgIC8vIFdlIG1heSB1cGRhdGUgdGhpcyByb290IGNvbmZpZyBsb2NhdGlvbiBpbiB0aGUgZnV0dXJlXG4gICAgICBjb25zdCB2M1Jvb3RDb25maWcgPVxuICAgICAgICByZXNwb25zZS5tZS5nZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj8uZnJvbnRlbmQ/LnZhbHVlcz8udWlfY29uZmlncz8udl90aHJlZV9jb25maWc7XG5cbiAgICAgIGNvbnN0IHYzRnJvbnRlbmRDb25maWcgPSB0cmFuc2Zvcm1TbmFrZVRvQ2FtZWwodjNSb290Q29uZmlnKSBhcyBGcm9udGVuZENvbmZpZ1YzUmVzcG9uc2U7XG5cbiAgICAgIGNvbnN0IHYzTW91bnRpbmdDb25maWdzQXJyYXkgPSAodHJhbnNmb3JtU25ha2VUb0NhbWVsKHYzUm9vdENvbmZpZz8ubW91bnRpbmdfY29uZmlncykgPz9cbiAgICAgICAgW10pIGFzIHVua25vd24gYXMgeyBrZXk6IHN0cmluZzsgY29uZmlnOiBXaWRnZXRNb3VudGluZ0NvbmZpZyB9W107XG5cbiAgICAgIGNvbnN0IHYzTW91bnRpbmdDb25maWdzID0gdjNNb3VudGluZ0NvbmZpZ3NBcnJheS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIHsga2V5LCBjb25maWcgfSkgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gdmFsaWRhdGVBbmRUcmFuc2Zvcm1Nb3VudGluZ0NvbmZpZyhjb25maWcsIGtleSk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+LFxuICAgICAgKTtcblxuICAgICAgY29uc3QgdjN3aWRnZXRDb25maWdzQXJyYXkgPSAodHJhbnNmb3JtU25ha2VUb0NhbWVsKHYzUm9vdENvbmZpZz8ud2lkZ2V0X2NvbmZpZ3MpID8/XG4gICAgICAgIFtdKSBhcyB1bmtub3duIGFzIFdpZGdldENvbmZpZ1YzW107XG4gICAgICBjb25zdCB2M1dpZGdldENvbmZpZ3MgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIHYzd2lkZ2V0Q29uZmlnc0FycmF5Py5tYXAoKHsgd2lkZ2V0Q29uZmlnSWQsIC4uLnJlc3QgfTogV2lkZ2V0Q29uZmlnVjMpID0+IFtcbiAgICAgICAgICB3aWRnZXRDb25maWdJZCxcbiAgICAgICAgICB7IHdpZGdldENvbmZpZ0lkLCAuLi5yZXN0IH0gYXMgV2lkZ2V0Q29uZmlnVjMsXG4gICAgICAgIF0pLFxuICAgICAgKSBhcyBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgICBjb25zdCB2M3BhZ2VWYXJpYW50cyA9IHYzUm9vdENvbmZpZz8ucGFnZV92YXJpYW50cy5tYXAoXG4gICAgICAgIHZhbGlkYXRlQW5kVHJhbnNmb3JtUGFnZVZhcmlhbnRzLFxuICAgICAgKSBhcyBQYWdlVmFyaWFudENvbmZpZ1tdO1xuXG4gICAgICBjb25zdCB2M0NvbG9yc0NvbmZpZyA9IHRyYW5zZm9ybVNuYWtlVG9DYW1lbCh2M1Jvb3RDb25maWc/LmNvbG9ycz8udmFsdWVzKTtcblxuICAgICAgLy8gSWYgdGhlIHYzIHJvb3QgY29uZmlnIGlzIG5vdCBmb3VuZCBhbmQgd2UgYXJlIGNvbmZpZ3VyZWQgdG8gcmV0dXJuIHRoZSBkZXByZWNhdGVkIGNvbmZpZywgd2Ugd2lsbCByZXR1cm4gdGhlIG1vY2tlZCBjb25maWdcbiAgICAgIGlmICghdjNSb290Q29uZmlnICYmIG1vY2tWM0NvbmZpZ1RvRGVwcmVjYXRlZENvbmZpZykge1xuICAgICAgICBjb25zdCBpc1NlbWFudGljQ29sb3JzID0gIXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCdnbG9iYWxzPW1lcmNoYW50Jyk7XG4gICAgICAgIGNvbnN0IGNvbG9yc0NvbmZpZyA9IG1vY2tWM0NvbG9yc0NvbmZpZztcbiAgICAgICAgY29uc3QgZnJvbnRlbmRDb25maWcgPSBtb2NrVjNGcm9udGVuZENvbmZpZztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb2xvcnNDb25maWc6IGlzU2VtYW50aWNDb2xvcnNcbiAgICAgICAgICAgID8gKGNvbG9yc0NvbmZpZyBhcyBDb2xvcnNDb25maWdWM1Jlc3BvbnNlKVxuICAgICAgICAgICAgOiAodjNDb2xvcnNDb25maWcgYXMgQ29sb3JzQ29uZmlnVjNSZXNwb25zZSksXG4gICAgICAgICAgZnJvbnRlbmRDb25maWc6IGZyb250ZW5kQ29uZmlnIGFzIEZyb250ZW5kQ29uZmlnVjNSZXNwb25zZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3JzQ29uZmlnOiB2M0NvbG9yc0NvbmZpZyBhcyBDb2xvcnNDb25maWdWM1Jlc3BvbnNlLFxuICAgICAgICBmcm9udGVuZENvbmZpZzogdjNGcm9udGVuZENvbmZpZyBhcyBGcm9udGVuZENvbmZpZ1YzUmVzcG9uc2UsXG4gICAgICAgIG9yZ1BhZ2VDb25maWc6IHtcbiAgICAgICAgICBwYWdlVmFyaWFudHM6IHYzcGFnZVZhcmlhbnRzLFxuICAgICAgICAgIHdpZGdldENvbmZpZ3M6IHYzV2lkZ2V0Q29uZmlncyxcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ3M6IHYzTW91bnRpbmdDb25maWdzLFxuICAgICAgICB9LFxuICAgICAgICAvLyBUT0RPOiBBZGQgd2lkZ2V0cyBhbmQgb3RoZXIgY29uZmlnIGhlcmVcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoJ0Vycm9yIGZldGNoaW5nIGdyYXBocWwgY29sb3JzIGFuZCBmcm9udGVuZCBjb25maWcnLCBlcnIpO1xuICAgICAgcmV0dXJuIHsgY29sb3JzQ29uZmlnOiB1bmRlZmluZWQsIGZyb250ZW5kQ29uZmlnOiB1bmRlZmluZWQgfTtcbiAgICB9XG4gIH0sIFtleGVjdXRlUXVlcnksIG1vY2tWM0NvbmZpZ1RvRGVwcmVjYXRlZENvbmZpZ10pO1xuXG4gIGNvbnN0IGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnID0gdXNlQ2FsbGJhY2soYXN5bmMgKCk6IFByb21pc2U8R3JhcGhRbENvbmZpZ1ZhbHVlcz4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeSA9IGF3YWl0IGNvbG9yc0FuZEZyb250ZW5kQ29uZmlnUXVlcnkoKTtcbiAgICAgIGlmICghcXVlcnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb2xvcnMgYW5kIGZyb250ZW5kIGNvbmZpZyBxdWVyeSBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBleGVjdXRlUXVlcnkocXVlcnkpO1xuICAgICAgaWYgKFxuICAgICAgICByZXNwb25zZS5tZS5nZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj8udmVyc2lvbiAhPT0gQ29uZmlnVmVyc2lvbkVudW0uVjMgJiZcbiAgICAgICAgIW1vY2tWM0NvbmZpZ1RvRGVwcmVjYXRlZENvbmZpZ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGNvbG9yc0NvbmZpZyA9IHJlc3BvbnNlLm1lLmdldFByb2R1Y3RzQ29uZmlnQnlWZXJzaW9uPy5jb2xvcnM/LnZhbHVlcztcbiAgICAgICAgY29uc3QgZnJvbnRlbmRDb25maWcgPSByZXNwb25zZS5tZS5nZXRQcm9kdWN0c0NvbmZpZ0J5VmVyc2lvbj8uZnJvbnRlbmQ/LnZhbHVlcztcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRDb2xvckNvbmZpZyA9IHRyYW5zZm9ybVNuYWtlVG9DYW1lbChjb2xvcnNDb25maWcpO1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZEZyb250ZW5kQ29uZmlnID0gdHJhbnNmb3JtU25ha2VUb0NhbWVsKGZyb250ZW5kQ29uZmlnKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb2xvcnNDb25maWc6IHRyYW5zZm9ybWVkQ29sb3JDb25maWcgYXMgQ29sb3JzQ29uZmlnUmVzcG9uc2UsXG4gICAgICAgICAgZnJvbnRlbmRDb25maWc6IHRyYW5zZm9ybWVkRnJvbnRlbmRDb25maWcgYXMgRnJvbnRlbmRDb25maWdSZXNwb25zZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IFJFTU9WRSBNT0NLRUQgQ09ORklHIE9OQ0UgV0UgSEFWRSBUSEUgTkVXIENPTkZJRyBJTVBMRU1FTlRFRCBPTiBCQUNLRU5EXG4gICAgICBjb25zdCBtZXJjaGFudENvbG9yc0NvbmZpZyA9IHJlc3BvbnNlLm1lLmdldFByb2R1Y3RzQ29uZmlnQnlWZXJzaW9uPy5jb2xvcnM/LnZhbHVlcztcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVkTWVyY2hhbnRDb2xvckNvbmZpZyA9IHRyYW5zZm9ybVNuYWtlVG9DYW1lbChtZXJjaGFudENvbG9yc0NvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGlzU2VtYW50aWNDb2xvcnMgPSAhd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJ2dsb2JhbHM9bWVyY2hhbnQnKTtcblxuICAgICAgY29uc3QgY29sb3JzQ29uZmlnID0gbW9ja1YzQ29sb3JzQ29uZmlnO1xuICAgICAgY29uc3QgZnJvbnRlbmRDb25maWcgPSBtb2NrVjNGcm9udGVuZENvbmZpZztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3JzQ29uZmlnOiBpc1NlbWFudGljQ29sb3JzXG4gICAgICAgICAgPyAoY29sb3JzQ29uZmlnIGFzIENvbG9yc0NvbmZpZ1YzUmVzcG9uc2UpXG4gICAgICAgICAgOiAodHJhbnNmb3JtZWRNZXJjaGFudENvbG9yQ29uZmlnIGFzIENvbG9yc0NvbmZpZ1YzUmVzcG9uc2UpLFxuICAgICAgICBmcm9udGVuZENvbmZpZzogZnJvbnRlbmRDb25maWcgYXMgRnJvbnRlbmRDb25maWdWM1Jlc3BvbnNlLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcignRXJyb3IgZmV0Y2hpbmcgZ3JhcGhxbCBjb2xvcnMgYW5kIGZyb250ZW5kIGNvbmZpZycsIGVycik7XG4gICAgICByZXR1cm4geyBjb2xvcnNDb25maWc6IHVuZGVmaW5lZCwgZnJvbnRlbmRDb25maWc6IHVuZGVmaW5lZCB9O1xuICAgIH1cbiAgfSwgW2V4ZWN1dGVRdWVyeV0pO1xuXG4gIGNvbnN0IGdldENvbmZpZyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpOiBQcm9taXNlPEdyYXBoUWxDb25maWdWYWx1ZXM+ID0+IHtcbiAgICBjb25zb2xlLmxvZygnR3JhcGhRTFByb3ZpZGVyOiBnZXRDb25maWc6IHJlcXVlc3RWM0NvbmZpZycsIHJlcXVlc3RWM0NvbmZpZyk7XG4gICAgaWYgKHJlcXVlc3RWM0NvbmZpZykge1xuICAgICAgcmV0dXJuIGdldFYzQ29uZmlnKCk7XG4gICAgfVxuICAgIHJldHVybiBnZXRDb2xvcnNBbmRGcm9udGVuZENvbmZpZygpO1xuICB9LCBbZ2V0Q29sb3JzQW5kRnJvbnRlbmRDb25maWcsIGdldFYzQ29uZmlnLCByZXF1ZXN0VjNDb25maWddKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGV4ZWN1dGVRdWVyeSxcbiAgICAgIGdldE9yZ0lkLFxuICAgICAgZ2V0Q29sb3JzQW5kRnJvbnRlbmRDb25maWcsXG4gICAgICBnZXRWM0NvbmZpZyxcbiAgICAgIGdldENvbmZpZyxcbiAgICAgIGlzUmVhZHksXG4gICAgfSksXG4gICAgW2V4ZWN1dGVRdWVyeSwgZ2V0T3JnSWQsIGdldENvbG9yc0FuZEZyb250ZW5kQ29uZmlnLCBnZXRWM0NvbmZpZywgZ2V0Q29uZmlnLCBpc1JlYWR5XSxcbiAgKTtcblxuICByZXR1cm4gPEdyYXBoUUxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvR3JhcGhRTENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUdyYXBoUUxDbGllbnQgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdyYXBoUUxDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VHcmFwaFFMQ2xpZW50IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBHcmFwaFFMUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQTBEQSxNQUFNLGlCQUFpQixjQUEwQyxLQUFLO0FBRXRFLE1BQU0scUNBQXFDOytCQUNaLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBZ0IvQyxNQUFhLG1CQUFtQixFQUM5QixVQUNBLGtCQUFrQixPQUNsQixpQ0FBaUMsWUFDUDtDQUMxQixNQUFNLFNBQVMsYUFBYSxtQkFBbUI7Q0FDL0MsTUFBTSxVQUFVLGFBQWEsWUFBWTtDQUN6QyxNQUFNLFVBQVUsY0FBYyxRQUFRLFVBQVUsUUFBUSxFQUFFLENBQUMsUUFBUSxRQUFRLENBQUM7Q0FFNUUsTUFBTSxlQUFlLFlBQ25CLE9BQU8sT0FBZSxjQUF3QztBQUM1RCxNQUFJLENBQUMsUUFDSCxPQUFNLElBQUksTUFBTSx1REFBdUQ7RUFHekUsTUFBTSxXQUFXLE1BQU0sTUFBTSxHQUFHLFFBQVEsY0FBYztHQUNwRCxRQUFRO0dBQ1IsU0FBUztJQUNQLGdCQUFnQjtJQUNoQixlQUFlLFVB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
@@ -1,2 +1,2 @@
1
- import { ColorsConfigResponse, FrontendConfigResponse, GraphQLProvider, GraphQlConfigValues, useGraphQLClient } from "./graphqlContext.cjs";
2
- export { ColorsConfigResponse, FrontendConfigResponse, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
1
+ import { ColorsConfigResponse, ColorsConfigV3Response, FrontendConfigResponse, FrontendConfigV3Response, GraphQLProvider, GraphQlConfigValues, useGraphQLClient } from "./graphqlContext.cjs";
2
+ export { ColorsConfigResponse, ColorsConfigV3Response, FrontendConfigResponse, FrontendConfigV3Response, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
@@ -1,2 +1,2 @@
1
- import { ColorsConfigResponse, FrontendConfigResponse, GraphQLProvider, GraphQlConfigValues, useGraphQLClient } from "./graphqlContext.js";
2
- export { ColorsConfigResponse, FrontendConfigResponse, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
1
+ import { ColorsConfigResponse, ColorsConfigV3Response, FrontendConfigResponse, FrontendConfigV3Response, GraphQLProvider, GraphQlConfigValues, useGraphQLClient } from "./graphqlContext.js";
2
+ export { ColorsConfigResponse, ColorsConfigV3Response, FrontendConfigResponse, FrontendConfigV3Response, GraphQLProvider, GraphQlConfigValues, useGraphQLClient };
@@ -0,0 +1,208 @@
1
+ const require_contexts_typesV3 = require('../typesV3.cjs');
2
+ const require_colorsConfigV3 = require('../../application/models/colorsConfigV3.cjs');
3
+ const require_types = require('../../packages/components-v3/dist/ImageGallery/types/types.cjs');
4
+ require('../../packages/components-v3/dist/ImageGallery/index.cjs');
5
+ const require_index$1 = require('../../packages/components-v3/dist/PromptButton/types/index.cjs');
6
+ require('../../packages/components-v3/dist/PromptButton/index.cjs');
7
+ const require_types$1 = require('../../packages/components-v3/dist/PromptCarousel/types/types.cjs');
8
+ require('../../packages/components-v3/dist/PromptCarousel/index.cjs');
9
+ const require_types$2 = require('../../packages/components-v3/dist/WidgetWrapper/types/types.cjs');
10
+ require('../../packages/components-v3/dist/WidgetWrapper/index.cjs');
11
+
12
+ //#region src/contexts/graphqlContext/mockV3Config.ts
13
+ const mockImages = [
14
+ {
15
+ src: "https://picsum.photos/400/600",
16
+ alt: "Image 1"
17
+ },
18
+ {
19
+ src: "https://picsum.photos/400/600",
20
+ alt: "Image 2"
21
+ },
22
+ {
23
+ src: "https://picsum.photos/400/600",
24
+ alt: "Image 3"
25
+ },
26
+ {
27
+ src: "https://picsum.photos/400/600",
28
+ alt: "Image 4"
29
+ }
30
+ ];
31
+ const mockV3ColorsConfig = {
32
+ textPrimary: "#021414",
33
+ textSecondary: "#666666",
34
+ textAccent: "#478D87",
35
+ textLink: "#042E2C",
36
+ textLight: "#FFFFFF",
37
+ backgroundPrimary: "#1F5F51",
38
+ backgroundSecondary: "#F9F6EA",
39
+ backgroundTertiary: "#EEECDD",
40
+ backgroundDark: "#021414",
41
+ backgroundLight: "#FFFFFF",
42
+ borderLight: "#E6E7E7",
43
+ borderMedium: "#B3B8B8",
44
+ borderDark: "#021414",
45
+ accentPrimary: "#1F5F51",
46
+ accentSecondary: "#AE8659"
47
+ };
48
+ const mockV3FrontendConfig = {
49
+ uiConfigs: {
50
+ version: require_contexts_typesV3.ConfigVersionEnum.V3,
51
+ shortName: "Envive AI",
52
+ lookAndFeel: {
53
+ theme: "standard",
54
+ agentName: "Envive AI",
55
+ chatHeaderLogoSrc: "https://cdn.spiffy.ai/other/assets/envive-ai/Envive_Logo_Lt.svg",
56
+ widgetLogoSrc: "https://cdn.spiffy.ai/other/assets/envive-ai/Envive_Logo_DK.svg",
57
+ hideWidgetLogo: false,
58
+ elementRadius: 8,
59
+ imageAspectRatio: "3/4",
60
+ buttonColors: {
61
+ lightButtonBackgroundColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.BackgroundSecondary),
62
+ lightButtonIconColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.AccentPrimary),
63
+ darkButtonBackgroundColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.BackgroundDark),
64
+ darkButtonIconColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.AccentPrimary)
65
+ },
66
+ typography: {
67
+ titleFontFamily: "Poppins",
68
+ headerFontFamily: "Poppins",
69
+ bodyFontFamily: "Inter Variable",
70
+ fontSize: {
71
+ t1: "32px",
72
+ t2: "28px",
73
+ t3: "24px",
74
+ h1: "20px",
75
+ h2: "16px",
76
+ h3: "14px",
77
+ b1: "20px",
78
+ b2: "16px",
79
+ b3: "14px",
80
+ b4: "12px",
81
+ b5: "10px",
82
+ l1: "14px",
83
+ l2: "12px"
84
+ },
85
+ fontWeight: {
86
+ rg: "400",
87
+ md: "500",
88
+ sb: "600"
89
+ },
90
+ letterSpacing: {
91
+ "0": "0em",
92
+ "wide-1": "1px"
93
+ },
94
+ lineHeight: {
95
+ "124": 1.24,
96
+ "120": 1.2,
97
+ "118": 1.18,
98
+ "116": 1.16,
99
+ "114": 1.14,
100
+ "148": 1.48,
101
+ "140": 1.4,
102
+ "128": 1.28,
103
+ "130": 1.3,
104
+ "133": 1.33
105
+ }
106
+ }
107
+ },
108
+ floatingButton: {
109
+ position: "bottom-right",
110
+ backgroundColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.BackgroundPrimary),
111
+ mode: "light",
112
+ showOption: "always",
113
+ style: "attached",
114
+ iconSVGSrc: ""
115
+ },
116
+ floatingChat: {
117
+ headerBackgroundColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.BackgroundPrimary),
118
+ headerMode: "dark",
119
+ welcomeMessageIconColor: require_colorsConfigV3.colorVar(require_colorsConfigV3.ColorNames.AccentPrimary),
120
+ showVerifiedBuyer: false,
121
+ userCanEditQueries: true,
122
+ showEnviveLogo: true,
123
+ ignoreFirstModelResponse: false,
124
+ neverShowSingleProductCards: false
125
+ }
126
+ },
127
+ pageVariants: [],
128
+ mountingConfigs: {},
129
+ widgetConfigs: {
130
+ "prompt-carousel-test-light-widget": {
131
+ widgetConfigId: "prompt-carousel-test-light-widget",
132
+ contentId: "prompt-carousel-test-light-widget",
133
+ type: require_contexts_typesV3.WidgetTypeV3.PromptCarouselV3,
134
+ promptButtonType: require_index$1.PromptButtonVariant.LIGHT,
135
+ boldFirstButton: false,
136
+ promptCarouselRows: require_types$1.PromptCarouselRows.ALWAYS_ONE,
137
+ animationSpeed: require_types$1.AnimationSpeed.FAST
138
+ },
139
+ "prompt-carousel-test-dark-widget": {
140
+ widgetConfigId: "prompt-carousel-test-dark-widget",
141
+ contentId: "prompt-carousel-test-dark-widget",
142
+ type: require_contexts_typesV3.WidgetTypeV3.PromptCarouselV3,
143
+ promptButtonType: require_index$1.PromptButtonVariant.DARK,
144
+ boldFirstButton: false,
145
+ promptCarouselRows: require_types$1.PromptCarouselRows.ALWAYS_ONE,
146
+ animationSpeed: require_types$1.AnimationSpeed.FAST
147
+ },
148
+ "titled-prompt-carousel-test-light-widget": {
149
+ widgetConfigId: "titled-prompt-carousel-test-light-widget",
150
+ contentId: "titled-prompt-carousel-test-light-widget",
151
+ type: require_contexts_typesV3.WidgetTypeV3.TitledPromptCarouselV3,
152
+ promptButtonType: require_index$1.PromptButtonVariant.LIGHT,
153
+ boldFirstButton: false,
154
+ promptCarouselRows: require_types$1.PromptCarouselRows.ALWAYS_ONE,
155
+ animationSpeed: require_types$1.AnimationSpeed.FAST
156
+ },
157
+ "titled-prompt-carousel-test-dark-widget": {
158
+ widgetConfigId: "titled-prompt-carousel-test-dark-widget",
159
+ contentId: "titled-prompt-carousel-test-dark-widget",
160
+ type: require_contexts_typesV3.WidgetTypeV3.TitledPromptCarouselV3,
161
+ promptButtonType: require_index$1.PromptButtonVariant.DARK,
162
+ boldFirstButton: false,
163
+ promptCarouselRows: require_types$1.PromptCarouselRows.ALWAYS_ONE,
164
+ animationSpeed: require_types$1.AnimationSpeed.FAST
165
+ },
166
+ "social-proof-test-widget-four-grid": {
167
+ widgetConfigId: "social-proof-test-widget-four-grid",
168
+ contentId: "social-proof-test-widget-four-grid",
169
+ type: require_contexts_typesV3.WidgetTypeV3.SocialProofV3,
170
+ imageGalleryLayout: require_types.ImageGalleryLayout.FOUR_GRID,
171
+ kind: require_contexts_typesV3.SocialProofWidgetKind.STATIC,
172
+ variant: require_types$2.WidgetWrapperVariant.INLINE_WITH_BORDER,
173
+ promptCarouselRows: require_types$1.PromptCarouselRows.TWO_ON_MOBILE_ONE_ON_DESKTOP,
174
+ primaryButtonVariant: require_index$1.PromptButtonVariant.DARK,
175
+ secondaryButtonVariant: require_index$1.PromptButtonVariant.LIGHT,
176
+ images: mockImages
177
+ },
178
+ "social-proof-test-widget-single": {
179
+ widgetConfigId: "social-proof-test-widget-single",
180
+ contentId: "social-proof-test-widget-single",
181
+ type: require_contexts_typesV3.WidgetTypeV3.SocialProofV3,
182
+ imageGalleryLayout: require_types.ImageGalleryLayout.SINGLE,
183
+ kind: require_contexts_typesV3.SocialProofWidgetKind.STATIC,
184
+ variant: require_types$2.WidgetWrapperVariant.CARD_NO_BORDER,
185
+ promptCarouselRows: require_types$1.PromptCarouselRows.TWO_ON_MOBILE_ONE_ON_DESKTOP,
186
+ primaryButtonVariant: require_index$1.PromptButtonVariant.DARK,
187
+ secondaryButtonVariant: require_index$1.PromptButtonVariant.LIGHT,
188
+ images: mockImages
189
+ },
190
+ "social-proof-test-widget-four-horizontal": {
191
+ widgetConfigId: "social-proof-test-widget-four-horizontal",
192
+ contentId: "social-proof-test-widget-four-horizontal",
193
+ type: require_contexts_typesV3.WidgetTypeV3.SocialProofV3,
194
+ imageGalleryLayout: require_types.ImageGalleryLayout.FOUR_HORIZONTAL,
195
+ kind: require_contexts_typesV3.SocialProofWidgetKind.STATIC,
196
+ variant: require_types$2.WidgetWrapperVariant.CARD_WITH_BORDER,
197
+ promptCarouselRows: require_types$1.PromptCarouselRows.TWO_ON_MOBILE_ONE_ON_DESKTOP,
198
+ primaryButtonVariant: require_index$1.PromptButtonVariant.DARK,
199
+ secondaryButtonVariant: require_index$1.PromptButtonVariant.LIGHT,
200
+ images: mockImages
201
+ }
202
+ }
203
+ };
204
+
205
+ //#endregion
206
+ exports.mockV3ColorsConfig = mockV3ColorsConfig;
207
+ exports.mockV3FrontendConfig = mockV3FrontendConfig;
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja1YzQ29uZmlnLmNqcyIsIm5hbWVzIjpbIm1vY2tWM0NvbG9yc0NvbmZpZzogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPENvbG9yTWFwcGluZ1YzPiIsIm1vY2tWM0Zyb250ZW5kQ29uZmlnOiBGcm9udGVuZENvbmZpZ1YzIiwiQ29uZmlnVmVyc2lvbkVudW0iLCJjb2xvclZhciIsIkNvbG9yTmFtZXMiLCJXaWRnZXRUeXBlVjMiLCJQcm9tcHRCdXR0b25WYXJpYW50IiwiUHJvbXB0Q2Fyb3VzZWxSb3dzIiwiQW5pbWF0aW9uU3BlZWQiLCJJbWFnZUdhbGxlcnlMYXlvdXQiLCJTb2NpYWxQcm9vZldpZGdldEtpbmQiLCJXaWRnZXRXcmFwcGVyVmFyaWFudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dC9tb2NrVjNDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJvbnRlbmRDb25maWdWMyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZnJvbnRlbmRDb25maWdWMyc7XG5pbXBvcnQgeyBDb2xvck1hcHBpbmdWMywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZ1YzJztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgSW1hZ2VHYWxsZXJ5TGF5b3V0IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL0ltYWdlR2FsbGVyeSc7XG5pbXBvcnQgeyBQcm9tcHRCdXR0b25WYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdEJ1dHRvbic7XG5pbXBvcnQgeyBQcm9tcHRDYXJvdXNlbFJvd3MsIEFuaW1hdGlvblNwZWVkIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdENhcm91c2VsJztcbmltcG9ydCB7IFdpZGdldFdyYXBwZXJWYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1dpZGdldFdyYXBwZXInO1xuaW1wb3J0IHsgQ29uZmlnVmVyc2lvbkVudW0sIFNvY2lhbFByb29mV2lkZ2V0S2luZCwgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnLi4vdHlwZXNWMyc7XG5cbmNvbnN0IG1vY2tJbWFnZXMgPSBbXG4gIHtcbiAgICBzcmM6ICdodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzYwMCcsXG4gICAgYWx0OiAnSW1hZ2UgMScsXG4gIH0sXG4gIHtcbiAgICBzcmM6ICdodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzYwMCcsXG4gICAgYWx0OiAnSW1hZ2UgMicsXG4gIH0sXG4gIHtcbiAgICBzcmM6ICdodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzYwMCcsXG4gICAgYWx0OiAnSW1hZ2UgMycsXG4gIH0sXG4gIHtcbiAgICBzcmM6ICdodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzYwMCcsXG4gICAgYWx0OiAnSW1hZ2UgNCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbW9ja1YzQ29sb3JzQ29uZmlnOiBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Q29sb3JNYXBwaW5nVjM+ID0ge1xuICB0ZXh0UHJpbWFyeTogJyMwMjE0MTQnLFxuICB0ZXh0U2Vjb25kYXJ5OiAnIzY2NjY2NicsXG4gIHRleHRBY2NlbnQ6ICcjNDc4RDg3JyxcbiAgdGV4dExpbms6ICcjMDQyRTJDJyxcbiAgdGV4dExpZ2h0OiAnI0ZGRkZGRicsXG4gIGJhY2tncm91bmRQcmltYXJ5OiAnIzFGNUY1MScsXG4gIGJhY2tncm91bmRTZWNvbmRhcnk6ICcjRjlGNkVBJyxcbiAgYmFja2dyb3VuZFRlcnRpYXJ5OiAnI0VFRUNERCcsXG4gIGJhY2tncm91bmREYXJrOiAnIzAyMTQxNCcsXG4gIGJhY2tncm91bmRMaWdodDogJyNGRkZGRkYnLFxuICBib3JkZXJMaWdodDogJyNFNkU3RTcnLFxuICBib3JkZXJNZWRpdW06ICcjQjNCOEI4JyxcbiAgYm9yZGVyRGFyazogJyMwMjE0MTQnLFxuICBhY2NlbnRQcmltYXJ5OiAnIzFGNUY1MScsXG4gIGFjY2VudFNlY29uZGFyeTogJyNBRTg2NTknLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tWM0Zyb250ZW5kQ29uZmlnOiBGcm9udGVuZENvbmZpZ1YzID0ge1xuICB1aUNvbmZpZ3M6IHtcbiAgICB2ZXJzaW9uOiBDb25maWdWZXJzaW9uRW51bS5WMyxcbiAgICBzaG9ydE5hbWU6ICdFbnZpdmUgQUknLFxuICAgIGxvb2tBbmRGZWVsOiB7XG4gICAgICB0aGVtZTogJ3N0YW5kYXJkJyxcbiAgICAgIGFnZW50TmFtZTogJ0Vudml2ZSBBSScsXG4gICAgICBjaGF0SGVhZGVyTG9nb1NyYzogJ2h0dHBzOi8vY2RuLnNwaWZmeS5haS9vdGhlci9hc3NldHMvZW52aXZlLWFpL0Vudml2ZV9Mb2dvX0x0LnN2ZycsXG4gICAgICB3aWRnZXRMb2dvU3JjOiAnaHR0cHM6Ly9jZG4uc3BpZmZ5LmFpL290aGVyL2Fzc2V0cy9lbnZpdmUtYWkvRW52aXZlX0xvZ29fREsuc3ZnJyxcbiAgICAgIGhpZGVXaWRnZXRMb2dvOiBmYWxzZSxcbiAgICAgIGVsZW1lbnRSYWRpdXM6IDgsXG4gICAgICBpbWFnZUFzcGVjdFJhdGlvOiAnMy80JyxcbiAgICAgIGJ1dHRvbkNvbG9yczoge1xuICAgICAgICBsaWdodEJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5KSxcbiAgICAgICAgbGlnaHRCdXR0b25JY29uQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQWNjZW50UHJpbWFyeSksXG4gICAgICAgIGRhcmtCdXR0b25CYWNrZ3JvdW5kQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZERhcmspLFxuICAgICAgICBkYXJrQnV0dG9uSWNvbkNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkFjY2VudFByaW1hcnkpLFxuICAgICAgfSxcbiAgICAgIHR5cG9ncmFwaHk6IHtcbiAgICAgICAgdGl0bGVGb250RmFtaWx5OiAnUG9wcGlucycsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6ICdQb3BwaW5zJyxcbiAgICAgICAgYm9keUZvbnRGYW1pbHk6ICdJbnRlciBWYXJpYWJsZScsXG4gICAgICAgIGZvbnRTaXplOiB7XG4gICAgICAgICAgdDE6ICczMnB4JyxcbiAgICAgICAgICB0MjogJzI4cHgnLFxuICAgICAgICAgIHQzOiAnMjRweCcsXG4gICAgICAgICAgaDE6ICcyMHB4JyxcbiAgICAgICAgICBoMjogJzE2cHgnLFxuICAgICAgICAgIGgzOiAnMTRweCcsXG4gICAgICAgICAgYjE6ICcyMHB4JyxcbiAgICAgICAgICBiMjogJzE2cHgnLFxuICAgICAgICAgIGIzOiAnMTRweCcsXG4gICAgICAgICAgYjQ6ICcxMnB4JyxcbiAgICAgICAgICBiNTogJzEwcHgnLFxuICAgICAgICAgIGwxOiAnMTRweCcsXG4gICAgICAgICAgbDI6ICcxMnB4JyxcbiAgICAgICAgfSxcbiAgICAgICAgZm9udFdlaWdodDoge1xuICAgICAgICAgIHJnOiAnNDAwJyxcbiAgICAgICAgICBtZDogJzUwMCcsXG4gICAgICAgICAgc2I6ICc2MDAnLFxuICAgICAgICB9LFxuICAgICAgICBsZXR0ZXJTcGFjaW5nOiB7XG4gICAgICAgICAgJzAnOiAnMGVtJyxcbiAgICAgICAgICAnd2lkZS0xJzogJzFweCcsXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmVIZWlnaHQ6IHtcbiAgICAgICAgICAnMTI0JzogMS4yNCxcbiAgICAgICAgICAnMTIwJzogMS4yLFxuICAgICAgICAgICcxMTgnOiAxLjE4LFxuICAgICAgICAgICcxMTYnOiAxLjE2LFxuICAgICAgICAgICcxMTQnOiAxLjE0LFxuICAgICAgICAgICcxNDgnOiAxLjQ4LFxuICAgICAgICAgICcxNDAnOiAxLjQsXG4gICAgICAgICAgJzEyOCc6IDEuMjgsXG4gICAgICAgICAgJzEzMCc6IDEuMyxcbiAgICAgICAgICAnMTMzJzogMS4zMyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0J1dHRvbjoge1xuICAgICAgcG9zaXRpb246ICdib3R0b20tcmlnaHQnLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5KSxcbiAgICAgIG1vZGU6ICdsaWdodCcsXG4gICAgICBzaG93T3B0aW9uOiAnYWx3YXlzJyxcbiAgICAgIHN0eWxlOiAnYXR0YWNoZWQnLFxuICAgICAgaWNvblNWR1NyYzogJycsXG4gICAgfSxcbiAgICBmbG9hdGluZ0NoYXQ6IHtcbiAgICAgIGhlYWRlckJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeSksXG4gICAgICBoZWFkZXJNb2RlOiAnZGFyaycsXG4gICAgICB3ZWxjb21lTWVzc2FnZUljb25Db2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5BY2NlbnRQcmltYXJ5KSxcbiAgICAgIHNob3dWZXJpZmllZEJ1eWVyOiBmYWxzZSxcbiAgICAgIHVzZXJDYW5FZGl0UXVlcmllczogdHJ1ZSxcbiAgICAgIHNob3dFbnZpdmVMb2dvOiB0cnVlLFxuICAgICAgaWdub3JlRmlyc3RNb2RlbFJlc3BvbnNlOiBmYWxzZSxcbiAgICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkczogZmFsc2UsXG4gICAgfSxcbiAgfSxcbiAgcGFnZVZhcmlhbnRzOiBbXSxcbiAgbW91bnRpbmdDb25maWdzOiB7fSxcbiAgd2lkZ2V0Q29uZmlnczoge1xuICAgICdwcm9tcHQtY2Fyb3VzZWwtdGVzdC1saWdodC13aWRnZXQnOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogJ3Byb21wdC1jYXJvdXNlbC10ZXN0LWxpZ2h0LXdpZGdldCcsXG4gICAgICBjb250ZW50SWQ6ICdwcm9tcHQtY2Fyb3VzZWwtdGVzdC1saWdodC13aWRnZXQnLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZVYzLlByb21wdENhcm91c2VsVjMsXG5cbiAgICAgIHByb21wdEJ1dHRvblR5cGU6IFByb21wdEJ1dHRvblZhcmlhbnQuTElHSFQsXG4gICAgICBib2xkRmlyc3RCdXR0b246IGZhbHNlLFxuICAgICAgcHJvbXB0Q2Fyb3VzZWxSb3dzOiBQcm9tcHRDYXJvdXNlbFJvd3MuQUxXQVlTX09ORSxcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBBbmltYXRpb25TcGVlZC5GQVNULFxuICAgIH0sXG4gICAgJ3Byb21wdC1jYXJvdXNlbC10ZXN0LWRhcmstd2lkZ2V0Jzoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6ICdwcm9tcHQtY2Fyb3VzZWwtdGVzdC1kYXJrLXdpZGdldCcsXG4gICAgICBjb250ZW50SWQ6ICdwcm9tcHQtY2Fyb3VzZWwtdGVzdC1kYXJrLXdpZGdldCcsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlVjMuUHJvbXB0Q2Fyb3VzZWxWMyxcblxuICAgICAgcHJvbXB0QnV0dG9uVHlwZTogUHJvbXB0QnV0dG9uVmFyaWFudC5EQVJLLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiBmYWxzZSxcbiAgICAgIHByb21wdENhcm91c2VsUm93czogUHJvbXB0Q2Fyb3VzZWxSb3dzLkFMV0FZU19PTkUsXG4gICAgICBhbmltYXRpb25TcGVlZDogQW5pbWF0aW9uU3BlZWQuRkFTVCxcbiAgICB9LFxuICAgICd0aXRsZWQtcHJvbXB0LWNhcm91c2VsLXRlc3QtbGlnaHQtd2lkZ2V0Jzoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6ICd0aXRsZWQtcHJvbXB0LWNhcm91c2VsLXRlc3QtbGlnaHQtd2lkZ2V0JyxcbiAgICAgIGNvbnRlbnRJZDogJ3RpdGxlZC1wcm9tcHQtY2Fyb3VzZWwtdGVzdC1saWdodC13aWRnZXQnLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjMsXG5cbiAgICAgIHByb21wdEJ1dHRvblR5cGU6IFByb21wdEJ1dHRvblZhcmlhbnQuTElHSFQsXG4gICAgICBib2xkRmlyc3RCdXR0b246IGZhbHNlLFxuICAgICAgcHJvbXB0Q2Fyb3VzZWxSb3dzOiBQcm9tcHRDYXJvdXNlbFJvd3MuQUxXQVlTX09ORSxcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBBbmltYXRpb25TcGVlZC5GQVNULFxuICAgIH0sXG4gICAgJ3RpdGxlZC1wcm9tcHQtY2Fyb3VzZWwtdGVzdC1kYXJrLXdpZGdldCc6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiAndGl0bGVkLXByb21wdC1jYXJvdXNlbC10ZXN0LWRhcmstd2lkZ2V0JyxcbiAgICAgIGNvbnRlbnRJZDogJ3RpdGxlZC1wcm9tcHQtY2Fyb3VzZWwtdGVzdC1kYXJrLXdpZGdldCcsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlVjMuVGl0bGVkUHJvbXB0Q2Fyb3VzZWxWMyxcblxuICAgICAgcHJvbXB0QnV0dG9uVHlwZTogUHJvbXB0QnV0dG9uVmFyaWFudC5EQVJLLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiBmYWxzZSxcbiAgICAgIHByb21wdENhcm91c2VsUm93czogUHJvbXB0Q2Fyb3VzZWxSb3dzLkFMV0FZU19PTkUsXG4gICAgICBhbmltYXRpb25TcGVlZDogQW5pbWF0aW9uU3BlZWQuRkFTVCxcbiAgICB9LFxuICAgICdzb2NpYWwtcHJvb2YtdGVzdC13aWRnZXQtZm91ci1ncmlkJzoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6ICdzb2NpYWwtcHJvb2YtdGVzdC13aWRnZXQtZm91ci1ncmlkJyxcbiAgICAgIGNvbnRlbnRJZDogJ3NvY2lhbC1wcm9vZi10ZXN0LXdpZGdldC1mb3VyLWdyaWQnLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZVYzLlNvY2lhbFByb29mVjMsXG5cbiAgICAgIGltYWdlR2FsbGVyeUxheW91dDogSW1hZ2VHYWxsZXJ5TGF5b3V0LkZPVVJfR1JJRCxcbiAgICAgIGtpbmQ6IFNvY2lhbFByb29mV2lkZ2V0S2luZC5TVEFUSUMsXG4gICAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudC5JTkxJTkVfV0lUSF9CT1JERVIsXG4gICAgICBwcm9tcHRDYXJvdXNlbFJvd3M6IFByb21wdENhcm91c2VsUm93cy5UV09fT05fTU9CSUxFX09ORV9PTl9ERVNLVE9QLFxuICAgICAgcHJpbWFyeUJ1dHRvblZhcmlhbnQ6IFByb21wdEJ1dHRvblZhcmlhbnQuREFSSyxcbiAgICAgIHNlY29uZGFyeUJ1dHRvblZhcmlhbnQ6IFByb21wdEJ1dHRvblZhcmlhbnQuTElHSFQsXG4gICAgICBpbWFnZXM6IG1vY2tJbWFnZXMsXG4gICAgfSxcbiAgICAnc29jaWFsLXByb29mLXRlc3Qtd2lkZ2V0LXNpbmdsZSc6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiAnc29jaWFsLXByb29mLXRlc3Qtd2lkZ2V0LXNpbmdsZScsXG4gICAgICBjb250ZW50SWQ6ICdzb2NpYWwtcHJvb2YtdGVzdC13aWRnZXQtc2luZ2xlJyxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzLFxuXG4gICAgICBpbWFnZUdhbGxlcnlMYXlvdXQ6IEltYWdlR2FsbGVyeUxheW91dC5TSU5HTEUsXG4gICAgICBraW5kOiBTb2NpYWxQcm9vZldpZGdldEtpbmQuU1RBVElDLFxuICAgICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQuQ0FSRF9OT19CT1JERVIsXG4gICAgICBwcm9tcHRDYXJvdXNlbFJvd3M6IFByb21wdENhcm91c2VsUm93cy5UV09fT05fTU9CSUxFX09ORV9PTl9ERVNLVE9QLFxuICAgICAgcHJpbWFyeUJ1dHRvblZhcmlhbnQ6IFByb21wdEJ1dHRvblZhcmlhbnQuREFSSyxcbiAgICAgIHNlY29uZGFyeUJ1dHRvblZhcmlhbnQ6IFByb21wdEJ1dHRvblZhcmlhbnQuTElHSFQsXG4gICAgICBpbWFnZXM6IG1vY2tJbWFnZXMsXG4gICAgfSxcbiAgICAnc29jaWFsLXByb29mLXRlc3Qtd2lkZ2V0LWZvdXItaG9yaXpvbnRhbCc6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiAnc29jaWFsLXByb29mLXRlc3Qtd2lkZ2V0LWZvdXItaG9yaXpvbnRhbCcsXG4gICAgICBjb250ZW50SWQ6ICdzb2NpYWwtcHJvb2YtdGVzdC13aWRnZXQtZm91ci1ob3Jpem9udGFsJyxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzLFxuXG4gICAgICBpbWFnZUdhbGxlcnlMYXlvdXQ6IEltYWdlR2FsbGVyeUxheW91dC5GT1VSX0hPUklaT05UQUwsXG4gICAgICBraW5kOiBTb2NpYWxQcm9vZldpZGdldEtpbmQuU1RBVElDLFxuICAgICAgdmFyaWFudDogV2lkZ2V0V3JhcHBlclZhcmlhbnQuQ0FSRF9XSVRIX0JPUkRFUixcbiAgICAgIHByb21wdENhcm91c2VsUm93czogUHJvbXB0Q2Fyb3VzZWxSb3dzLlRXT19PTl9NT0JJTEVfT05FX09OX0RFU0tUT1AsXG4gICAgICBwcmltYXJ5QnV0dG9uVmFyaWFudDogUHJvbXB0QnV0dG9uVmFyaWFudC5EQVJLLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uVmFyaWFudDogUHJvbXB0QnV0dG9uVmFyaWFudC5MSUdIVCxcbiAgICAgIGltYWdlczogbW9ja0ltYWdlcyxcbiAgICB9LFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBU0EsTUFBTSxhQUFhO0NBQ2pCO0VBQ0UsS0FBSztFQUNMLEtBQUs7RUFDTjtDQUNEO0VBQ0UsS0FBSztFQUNMLEtBQUs7RUFDTjtDQUNEO0VBQ0UsS0FBSztFQUNMLEtBQUs7RUFDTjtDQUNEO0VBQ0UsS0FBSztFQUNMLEtBQUs7RUFDTjtDQUNGO0FBRUQsTUFBYUEscUJBQStEO0NBQzFFLGFBQWE7Q0FDYixlQUFlO0NBQ2YsWUFBWTtDQUNaLFVBQVU7Q0FDVixXQUFXO0NBQ1gsbUJBQW1CO0NBQ25CLHFCQUFxQjtDQUNyQixvQkFBb0I7Q0FDcEIsZ0JBQWdCO0NBQ2hCLGlCQUFpQjtDQUNqQixhQUFhO0NBQ2IsY0FB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