@envive-ai/react-hooks 0.2.5 → 0.2.6-alpha

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 (861) hide show
  1. package/dist/AmplitudeOperations-CDe6oRn4.cjs +41 -0
  2. package/dist/AmplitudeOperations-zFjk1Mkm.js +34 -0
  3. package/dist/{NewOrgConfig-B98Y9tMb.js → NewOrgConfig-ChNJ3ZtC.js} +2 -2
  4. package/dist/{NewOrgConfig-ZbBKiByQ.cjs → NewOrgConfig-KHz61ikr.cjs} +2 -2
  5. package/dist/TrackComponentVisibleEvent-f8ahqV1g.js +53 -0
  6. package/dist/TrackComponentVisibleEvent-uEzgBXb9.cjs +60 -0
  7. package/dist/amplitudeContext-CRFxGj_x.d.ts +52 -0
  8. package/dist/amplitudeContext-ZkerrMUa.d.cts +52 -0
  9. package/dist/api-1-73JxnF.js +166 -0
  10. package/dist/api-ZNG6wObS.cjs +239 -0
  11. package/dist/application/models/graphql/index.cjs +3 -3
  12. package/dist/application/models/graphql/index.d.cts +2 -2
  13. package/dist/application/models/graphql/index.d.ts +2 -2
  14. package/dist/application/models/graphql/index.js +2 -3
  15. package/dist/application/models/guards/api/index.cjs +3 -3
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +3 -3
  19. package/dist/application/models/guards/utils.cjs +1 -1
  20. package/dist/application/models/guards/utils.d.ts +1 -1
  21. package/dist/application/models/guards/utils.js +1 -1
  22. package/dist/application/models/index.cjs +7 -23
  23. package/dist/application/models/index.d.cts +167 -11
  24. package/dist/application/models/index.d.ts +168 -12
  25. package/dist/application/models/index.js +7 -11
  26. package/dist/application/utils/index.cjs +19 -19
  27. package/dist/application/utils/index.d.cts +14 -63
  28. package/dist/application/utils/index.d.ts +16 -65
  29. package/dist/application/utils/index.js +19 -19
  30. package/dist/{atomStore-DXTVqiKc.js → atomStore-DAQvNPkh.js} +1 -1
  31. package/dist/{atomStore-DNji91Im.cjs → atomStore-DD9g7Zw2.cjs} +1 -1
  32. package/dist/atoms/app/index.cjs +19 -19
  33. package/dist/atoms/app/index.d.cts +9 -20
  34. package/dist/atoms/app/index.d.ts +8 -19
  35. package/dist/atoms/app/index.js +19 -19
  36. package/dist/atoms/atomStore/index.cjs +1 -1
  37. package/dist/atoms/atomStore/index.js +1 -1
  38. package/dist/atoms/chat/index.cjs +21 -21
  39. package/dist/atoms/chat/index.d.cts +37 -45
  40. package/dist/atoms/chat/index.d.ts +35 -43
  41. package/dist/atoms/chat/index.js +21 -21
  42. package/dist/atoms/globalSearch/index.cjs +1 -1
  43. package/dist/atoms/globalSearch/index.d.cts +1 -1
  44. package/dist/atoms/globalSearch/index.d.ts +5 -5
  45. package/dist/atoms/globalSearch/index.js +1 -1
  46. package/dist/atoms/org/index.cjs +10 -11
  47. package/dist/atoms/org/index.d.cts +19 -31
  48. package/dist/atoms/org/index.d.ts +19 -31
  49. package/dist/atoms/org/index.js +2 -3
  50. package/dist/atoms/search/index.cjs +7 -47
  51. package/dist/atoms/search/index.d.cts +76 -14
  52. package/dist/atoms/search/index.d.ts +76 -14
  53. package/dist/atoms/search/index.js +7 -29
  54. package/dist/atoms/search/utils.cjs +1 -1
  55. package/dist/atoms/search/utils.d.cts +1 -1
  56. package/dist/atoms/search/utils.d.ts +1 -1
  57. package/dist/atoms/search/utils.js +1 -1
  58. package/dist/cdnContext-BLNiW2HT.cjs +53 -0
  59. package/dist/cdnContext-DT6J5nCw.js +38 -0
  60. package/dist/chat-C0cgfkL8.js +230 -0
  61. package/dist/chat-DULmjtx1.cjs +330 -0
  62. package/dist/chatState-BrSfXIV4.cjs +120 -0
  63. package/dist/chatState-Cn8JGAlH.js +34 -0
  64. package/dist/config/index.d.cts +4 -4
  65. package/dist/config/index.d.ts +4 -4
  66. package/dist/config/locators/components/chat/index.d.cts +1 -1
  67. package/dist/config/locators/components/chat/index.d.ts +1 -1
  68. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  69. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  70. package/dist/config/locators/components/common/index.d.cts +1 -1
  71. package/dist/config/locators/components/common/index.d.ts +1 -1
  72. package/dist/config/locators/components/index.d.cts +1 -1
  73. package/dist/config/locators/components/index.d.ts +1 -1
  74. package/dist/config/locators/components/search/index.d.cts +1 -1
  75. package/dist/config/locators/components/search/index.d.ts +1 -1
  76. package/dist/config/locators/index.d.cts +4 -4
  77. package/dist/config/locators/index.d.ts +4 -4
  78. package/dist/contexts/amplitudeContext/index.cjs +19 -19
  79. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  80. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  81. package/dist/contexts/amplitudeContext/index.js +19 -19
  82. package/dist/contexts/cdnContext/index.cjs +4 -4
  83. package/dist/contexts/cdnContext/index.d.cts +2 -6
  84. package/dist/contexts/cdnContext/index.d.ts +2 -6
  85. package/dist/contexts/cdnContext/index.js +4 -4
  86. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  87. package/dist/contexts/enviveConfigContext/index.d.cts +3 -24
  88. package/dist/contexts/enviveConfigContext/index.d.ts +3 -24
  89. package/dist/contexts/enviveConfigContext/index.js +4 -4
  90. package/dist/contexts/enviveCssContext/index.cjs +15 -19
  91. package/dist/contexts/enviveCssContext/index.d.cts +3 -5
  92. package/dist/contexts/enviveCssContext/index.d.ts +3 -5
  93. package/dist/contexts/enviveCssContext/index.js +15 -19
  94. package/dist/contexts/featureFlagContext/index.cjs +9 -10
  95. package/dist/contexts/featureFlagContext/index.d.cts +3 -11
  96. package/dist/contexts/featureFlagContext/index.d.ts +3 -11
  97. package/dist/contexts/featureFlagContext/index.js +6 -7
  98. package/dist/contexts/featureFlagServiceContext/index.cjs +4 -3
  99. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  100. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  101. package/dist/contexts/featureFlagServiceContext/index.js +4 -3
  102. package/dist/contexts/graphqlContext/index.cjs +8 -13
  103. package/dist/contexts/graphqlContext/index.d.cts +11 -14
  104. package/dist/contexts/graphqlContext/index.d.ts +11 -14
  105. package/dist/contexts/graphqlContext/index.js +8 -13
  106. package/dist/contexts/localStorageContext/index.cjs +3 -3
  107. package/dist/contexts/localStorageContext/index.d.cts +3 -22
  108. package/dist/contexts/localStorageContext/index.d.ts +3 -22
  109. package/dist/contexts/localStorageContext/index.js +4 -3
  110. package/dist/contexts/newOrgConfigContext/index.cjs +13 -17
  111. package/dist/contexts/newOrgConfigContext/index.d.cts +12 -15
  112. package/dist/contexts/newOrgConfigContext/index.d.ts +12 -15
  113. package/dist/contexts/newOrgConfigContext/index.js +13 -17
  114. package/dist/contexts/searchContext/index.cjs +24 -24
  115. package/dist/contexts/searchContext/index.d.cts +2 -7
  116. package/dist/contexts/searchContext/index.d.ts +2 -7
  117. package/dist/contexts/searchContext/index.js +24 -24
  118. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  119. package/dist/contexts/sessionStorageContext/index.d.cts +2 -6
  120. package/dist/contexts/sessionStorageContext/index.d.ts +2 -6
  121. package/dist/contexts/sessionStorageContext/index.js +2 -2
  122. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  123. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -11
  124. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -11
  125. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  126. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  127. package/dist/contexts/systemSettingsContext/index.d.cts +6 -16
  128. package/dist/contexts/systemSettingsContext/index.d.ts +4 -14
  129. package/dist/contexts/systemSettingsContext/index.js +4 -4
  130. package/dist/contexts/userIdentityContext/index.cjs +19 -19
  131. package/dist/contexts/userIdentityContext/index.d.cts +11 -2
  132. package/dist/contexts/userIdentityContext/index.d.ts +11 -2
  133. package/dist/contexts/userIdentityContext/index.js +19 -19
  134. package/dist/dist-BZX_Mgfn.cjs +6019 -0
  135. package/dist/dist-CIM4YRqp.js +5923 -0
  136. package/dist/domObserver-DKcas6tl.js +285 -0
  137. package/dist/{domObserver-v9ODTyfT.js → domObserver-Do6RAJdf.cjs} +23 -4
  138. package/dist/enviveConfig-DaotBKMS.cjs +130 -0
  139. package/dist/enviveConfig-DrvYlCYG.js +62 -0
  140. package/dist/enviveConfigContext--89ejDs5.cjs +60 -0
  141. package/dist/enviveConfigContext-BCnzgk4M.js +45 -0
  142. package/dist/events/index.cjs +2 -3
  143. package/dist/events/index.d.cts +2 -15
  144. package/dist/events/index.d.ts +2 -15
  145. package/dist/events/index.js +2 -2
  146. package/dist/events-CgFGtanE.cjs +69 -0
  147. package/dist/events-WOOrnUAx.js +63 -0
  148. package/dist/exceptions/index.cjs +4 -0
  149. package/dist/exceptions/index.d.cts +12 -0
  150. package/dist/exceptions/index.d.ts +12 -0
  151. package/dist/exceptions/index.js +3 -0
  152. package/dist/exceptions-BiSWJEl2.cjs +32 -0
  153. package/dist/exceptions-DSv0ZaH0.js +20 -0
  154. package/dist/featureFlagServiceContext-B7je7VZV.d.cts +24 -0
  155. package/dist/featureFlagServiceContext-BztKnBPk.cjs +66 -0
  156. package/dist/featureFlagServiceContext-DpdlcjNb.js +46 -0
  157. package/dist/featureFlagServiceContext-ahy3jou0.d.ts +24 -0
  158. package/dist/{globalSearch-FBk2epe8.cjs → globalSearch-Cpc8egsM.cjs} +1 -1
  159. package/dist/{globalSearch-Ccxq8hNF.js → globalSearch-nmrfGLOn.js} +1 -1
  160. package/dist/graphql-CWNkUHFV.js +46 -0
  161. package/dist/graphql-DT-H-lta.cjs +70 -0
  162. package/dist/graphqlContext-B181y-sa.cjs +111 -0
  163. package/dist/graphqlContext-CWulFxxC.js +96 -0
  164. package/dist/hooks/AmplitudeOperations/index.cjs +21 -22
  165. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  166. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  167. package/dist/hooks/AmplitudeOperations/index.js +20 -21
  168. package/dist/hooks/AppDetails/index.cjs +22 -22
  169. package/dist/hooks/AppDetails/index.d.cts +3 -23
  170. package/dist/hooks/AppDetails/index.d.ts +3 -23
  171. package/dist/hooks/AppDetails/index.js +22 -22
  172. package/dist/hooks/CdnOperations/index.cjs +4 -4
  173. package/dist/hooks/CdnOperations/index.js +4 -4
  174. package/dist/hooks/ChatToggle/index.cjs +24 -24
  175. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  176. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  177. package/dist/hooks/ChatToggle/index.js +22 -22
  178. package/dist/hooks/ChatToggleAnalytics/index.cjs +23 -24
  179. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  180. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  181. package/dist/hooks/ChatToggleAnalytics/index.js +22 -23
  182. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  183. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  184. package/dist/hooks/Debounce/index.cjs +20 -2
  185. package/dist/hooks/Debounce/index.js +18 -2
  186. package/dist/hooks/ElementObserver/index.cjs +4 -6
  187. package/dist/hooks/ElementObserver/index.d.cts +4 -25
  188. package/dist/hooks/ElementObserver/index.d.ts +4 -25
  189. package/dist/hooks/ElementObserver/index.js +4 -6
  190. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  191. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  192. package/dist/hooks/GrabAndScroll/index.js +1 -1
  193. package/dist/hooks/GraphQLConfig/index.cjs +9 -14
  194. package/dist/hooks/GraphQLConfig/index.d.cts +2 -13
  195. package/dist/hooks/GraphQLConfig/index.d.ts +2 -13
  196. package/dist/hooks/GraphQLConfig/index.js +9 -14
  197. package/dist/hooks/IdentifyUser/index.cjs +19 -19
  198. package/dist/hooks/IdentifyUser/index.js +19 -19
  199. package/dist/hooks/ImageResolver/index.cjs +20 -29
  200. package/dist/hooks/ImageResolver/index.js +20 -29
  201. package/dist/hooks/Intersection/index.cjs +1 -1
  202. package/dist/hooks/Intersection/index.js +1 -1
  203. package/dist/hooks/LocalStorageOperations/index.cjs +8 -7
  204. package/dist/hooks/LocalStorageOperations/index.js +4 -3
  205. package/dist/hooks/MessageFilter/index.cjs +3 -12
  206. package/dist/hooks/MessageFilter/index.d.cts +2 -17
  207. package/dist/hooks/MessageFilter/index.d.ts +2 -17
  208. package/dist/hooks/MessageFilter/index.js +2 -11
  209. package/dist/hooks/NewOrgConfig/index.cjs +14 -18
  210. package/dist/hooks/NewOrgConfig/index.d.cts +3 -16
  211. package/dist/hooks/NewOrgConfig/index.d.ts +3 -16
  212. package/dist/hooks/NewOrgConfig/index.js +14 -18
  213. package/dist/hooks/Search/index.cjs +332 -167
  214. package/dist/hooks/Search/index.d.cts +3 -57
  215. package/dist/hooks/Search/index.d.ts +3 -57
  216. package/dist/hooks/Search/index.js +320 -156
  217. package/dist/hooks/SearchOperations/index.cjs +25 -25
  218. package/dist/hooks/SearchOperations/index.d.cts +2 -3
  219. package/dist/hooks/SearchOperations/index.d.ts +2 -3
  220. package/dist/hooks/SearchOperations/index.js +25 -25
  221. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  222. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  223. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  224. package/dist/hooks/ShopifyUrlOperations/index.d.cts +3 -5
  225. package/dist/hooks/ShopifyUrlOperations/index.d.ts +3 -5
  226. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  227. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  228. package/dist/hooks/SnapCalculator/index.d.cts +4 -3
  229. package/dist/hooks/SnapCalculator/index.d.ts +4 -3
  230. package/dist/hooks/SnapCalculator/index.js +1 -1
  231. package/dist/hooks/SystemSettingsContext/index.cjs +17 -6
  232. package/dist/hooks/SystemSettingsContext/index.d.cts +5 -15
  233. package/dist/hooks/SystemSettingsContext/index.d.ts +5 -15
  234. package/dist/hooks/SystemSettingsContext/index.js +15 -6
  235. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -21
  236. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -3
  237. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -3
  238. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -21
  239. package/dist/hooks/UpdateAnalyticsProps/index.cjs +21 -21
  240. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -20
  241. package/dist/hooks/utils.d.cts +20 -13
  242. package/dist/hooks/utils.d.ts +20 -13
  243. package/dist/{index-LTdMHOxj.d.ts → index-B4cSHxVN.d.ts} +1 -1
  244. package/dist/{index-DzbkQtaK.d.cts → index-BQpWG3Jm.d.cts} +1 -1
  245. package/dist/index-BVZbvpx_.d.cts +11 -0
  246. package/dist/index-CEmUfoZa.d.ts +42 -0
  247. package/dist/index-CMZcE7pk.d.cts +224 -0
  248. package/dist/{index-DBqgBV9N.d.ts → index-CYGpI6hE.d.ts} +1 -1
  249. package/dist/{index-9NE86em3.d.cts → index-ClVBVK15.d.cts} +1 -1
  250. package/dist/{index-nDWHlouq.d.ts → index-Clf4wYaJ.d.ts} +1 -1
  251. package/dist/index-DeQte6mb.d.ts +11 -0
  252. package/dist/index-Dzv6WwSZ.d.ts +224 -0
  253. package/dist/{index-FQjyuD3D.d.cts → index-ca7Qn8o0.d.cts} +1 -1
  254. package/dist/{index-DHgVW8ey.d.ts → index-dngXrfnT.d.ts} +1 -1
  255. package/dist/index-qOBU4GEh.d.cts +42 -0
  256. package/dist/{index-Da1s8h5C.d.cts → index-w64il54a.d.cts} +1 -1
  257. package/dist/interceptors/index.cjs +28 -3
  258. package/dist/interceptors/index.d.cts +4 -15
  259. package/dist/interceptors/index.d.ts +4 -15
  260. package/dist/interceptors/index.js +25 -3
  261. package/dist/localStorageContext-DSpmlfyr.js +90 -0
  262. package/dist/localStorageContext-DbWl7Row.cjs +104 -0
  263. package/dist/{logger-TBIl4uIH.cjs → logger-BF6iGSVd.cjs} +1 -1
  264. package/dist/{logger-W3lqg-4b.js → logger-DCs3_11o.js} +1 -1
  265. package/dist/models-158fyHt9.cjs +1305 -0
  266. package/dist/models-DEJUuKYQ.js +1118 -0
  267. package/dist/newOrgConfigAtom-BuQE_zPK.js +8 -0
  268. package/dist/{newOrgConfigAtom-A4BEeHMf.cjs → newOrgConfigAtom-rrYHmp1b.cjs} +1 -1
  269. package/dist/newOrgConfigContext-BVrzYatq.cjs +68 -0
  270. package/dist/newOrgConfigContext-C0LzIRJ7.js +53 -0
  271. package/dist/nodeSelector-CbWcUbuc.d.ts +28 -0
  272. package/dist/nodeSelector-Cj-Xl1LP.d.cts +28 -0
  273. package/dist/org-CVjyv-gv.cjs +111 -0
  274. package/dist/org-Ct9Vjv1J.js +32 -0
  275. package/dist/search-C0TAcTeY.cjs +312 -0
  276. package/dist/search-DLHzcbfP.js +233 -0
  277. package/dist/searchContext-Dmtue5QO.js +129 -0
  278. package/dist/searchContext-l_23fiuP.cjs +145 -0
  279. package/dist/searchServiceAdapter-B0h7psvh.js +16 -0
  280. package/dist/searchServiceAdapter-BclWy4fE.cjs +34 -0
  281. package/dist/sessionStorageContext-BOyr7mIM.cjs +66 -0
  282. package/dist/sessionStorageContext-ClXN9eX4.js +52 -0
  283. package/dist/shopifyUrlContext-G9eqIcsL.cjs +75 -0
  284. package/dist/shopifyUrlContext-WAm0pnPh.js +61 -0
  285. package/dist/src/application/commerce-api.js +406 -0
  286. package/dist/src/application/logging/logger.js +16 -0
  287. package/dist/src/application/models/graphql/index.js +3 -0
  288. package/dist/src/application/models/graphql/queries/getMerchantColorsQuery.js +13 -0
  289. package/dist/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +13 -0
  290. package/dist/src/application/models/graphql/queries/getMerchantOrgIdQuery.js +10 -0
  291. package/dist/src/application/models/guards/api/index.js +12 -0
  292. package/dist/src/application/models/guards/api/isApiFormResponse.js +59 -0
  293. package/dist/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +22 -0
  294. package/dist/src/application/models/guards/api/isApiOrderResponseAttributes.js +91 -0
  295. package/dist/src/application/models/guards/api/isApiOrgConfigResults.js +188 -0
  296. package/dist/src/application/models/guards/api/isApiOrganizationConfig.js +115 -0
  297. package/dist/src/application/models/guards/api/isApiPDPEventAttributes.js +16 -0
  298. package/dist/src/application/models/guards/api/isApiPLPEventAttributes.js +26 -0
  299. package/dist/src/application/models/guards/api/isApiPageResponseAttributes.js +15 -0
  300. package/dist/src/application/models/guards/api/isApiProductResponseAttributes.js +65 -0
  301. package/dist/src/application/models/guards/api/isApiProductSearchAttributes.js +15 -0
  302. package/dist/src/application/models/guards/api/isApiProductSearchFilterAttributes.js +10 -0
  303. package/dist/src/application/models/guards/api/isApiQueryTypedEventAttributes.js +4 -0
  304. package/dist/src/application/models/guards/api/isApiResponse.js +33 -0
  305. package/dist/src/application/models/guards/api/isApiReviewResponseAttributes.js +22 -0
  306. package/dist/src/application/models/guards/api/isApiReviewRichInformation.js +23 -0
  307. package/dist/src/application/models/guards/api/isApiSearchEventAttributes.js +20 -0
  308. package/dist/src/application/models/guards/api/isApiSuggestion.js +24 -0
  309. package/dist/src/application/models/guards/api/isApiSuggestionClickedEventAttributes.js +4 -0
  310. package/dist/src/application/models/guards/api/isApiTextResponseAttributes.js +4 -0
  311. package/dist/src/application/models/guards/api/isApiUserEvent.js +18 -0
  312. package/dist/src/application/models/guards/graphQL/isGraphQLColorsConfig.js +41 -0
  313. package/dist/src/application/models/guards/isBaseEcommerceEvent.js +14 -0
  314. package/dist/src/application/models/guards/isGA4EcommerceEvent.js +14 -0
  315. package/dist/src/application/models/guards/isLegacyUAEcommerceEvent.js +14 -0
  316. package/dist/src/application/models/guards/isMobilePLPChatPlacementParameter.js +4 -0
  317. package/dist/src/application/models/guards/isSpanxTakeAQuizCtaParameter.js +1 -0
  318. package/dist/src/application/models/guards/isVariantInfo.js +28 -0
  319. package/dist/src/application/models/guards/utils.js +34 -0
  320. package/dist/src/application/models/index.js +34 -0
  321. package/dist/src/application/models/utils/snakeToCamelTransformer.js +71 -0
  322. package/dist/src/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.js +65 -0
  323. package/dist/src/application/models/validators/validateGraphQLColorsConfig.js +9 -0
  324. package/dist/src/application/models/validators/validateGraphQLFrontendConfig.js +420 -0
  325. package/dist/src/application/models/validators/validateGraphQLOrgId.js +6 -0
  326. package/dist/src/application/models/validators/validateMobilePLPChatPlacementParameter.js +9 -0
  327. package/dist/src/application/models/validators/validateOrgConfigResults.js +44 -0
  328. package/dist/src/application/models/validators/validateOrganizationConfig.js +34 -0
  329. package/dist/src/application/models/validators/validateResponse.js +173 -0
  330. package/dist/src/application/models/validators/validateSuggestion.js +13 -0
  331. package/dist/src/application/models/validators/validateUserEvent.js +91 -0
  332. package/dist/src/application/utils/analyticsUtils.js +94 -0
  333. package/dist/src/application/utils/coreContextToApiContext.js +8 -0
  334. package/dist/src/application/utils/coreUserEventToApiUserEvent.js +90 -0
  335. package/dist/src/application/utils/divideArray.js +7 -0
  336. package/dist/src/application/utils/domObserver.js +85 -0
  337. package/dist/src/application/utils/elementObserver.js +186 -0
  338. package/dist/src/application/utils/imageFilter.js +11 -0
  339. package/dist/src/application/utils/index.js +21 -0
  340. package/dist/src/application/utils/merchantUtils.js +15 -0
  341. package/dist/src/application/utils/messageFromFormSubmittedEvent.js +19 -0
  342. package/dist/src/application/utils/messageFromQueryEvent.js +35 -0
  343. package/dist/src/application/utils/messageFromResponse.js +123 -0
  344. package/dist/src/application/utils/messageFromSuggestionEvent.js +27 -0
  345. package/dist/src/application/utils/mouseEventTypes.js +1 -0
  346. package/dist/src/application/utils/mutationHelper.js +33 -0
  347. package/dist/src/application/utils/nextMessageRequestToApiRequest.js +29 -0
  348. package/dist/src/application/utils/nodeSelector.js +101 -0
  349. package/dist/src/application/utils/overrides.js +144 -0
  350. package/dist/src/application/utils/stringUtils.js +47 -0
  351. package/dist/src/application/utils/supportedEventRequestToApiRequest.js +7 -0
  352. package/dist/src/application/utils/urlsParser.js +33 -0
  353. package/dist/src/application/utils/validation.js +5 -0
  354. package/dist/src/atoms/amplitude/amplitudeTrackEventAtom.js +4 -0
  355. package/dist/src/atoms/app/index.js +23 -0
  356. package/dist/src/atoms/app/variant.js +102 -0
  357. package/dist/src/atoms/atomStore/atomStore.js +28 -0
  358. package/dist/src/atoms/atomStore/index.js +1 -0
  359. package/dist/src/atoms/chat/chatState.js +33 -0
  360. package/dist/src/atoms/chat/form.js +16 -0
  361. package/dist/src/atoms/chat/index.js +23 -0
  362. package/dist/src/atoms/chat/lastMessage.js +10 -0
  363. package/dist/src/atoms/chat/messageQueue.js +68 -0
  364. package/dist/src/atoms/chat/performanceMetrics.js +70 -0
  365. package/dist/src/atoms/chat/renderedWidgetRefs.js +24 -0
  366. package/dist/src/atoms/chat/replies.js +43 -0
  367. package/dist/src/atoms/chat/suggestions.js +29 -0
  368. package/dist/src/atoms/envive/enviveConfig.js +67 -0
  369. package/dist/src/atoms/globalSearch/globalSearch.js +8 -0
  370. package/dist/src/atoms/globalSearch/index.js +1 -0
  371. package/dist/src/atoms/org/customerService.js +6 -0
  372. package/dist/src/atoms/org/graphqlConfig.js +8 -0
  373. package/dist/src/atoms/org/index.js +4 -0
  374. package/dist/src/atoms/org/newOrgConfigAtom.js +2 -0
  375. package/dist/src/atoms/org/orgAnalyticsConfig.js +8 -0
  376. package/dist/src/atoms/search/index.js +1 -0
  377. package/dist/src/atoms/search/productFilters.js +163 -0
  378. package/dist/src/atoms/search/productRetrievalAPI.js +50 -0
  379. package/dist/src/atoms/search/productRetrievalAdapter.js +14 -0
  380. package/dist/src/atoms/search/productSorter.js +13 -0
  381. package/dist/src/atoms/search/searchAPI.js +140 -0
  382. package/dist/src/atoms/search/searchServiceAdapter.js +14 -0
  383. package/dist/src/atoms/search/utils.js +15 -0
  384. package/dist/src/config/index.js +1 -0
  385. package/dist/src/config/locators/components/chat/entrypoints.js +10 -0
  386. package/dist/src/config/locators/components/chat/index.js +21 -0
  387. package/dist/src/config/locators/components/chat/preview.js +11 -0
  388. package/dist/src/config/locators/components/chat/variants/index.js +12 -0
  389. package/dist/src/config/locators/components/common/buttons.js +6 -0
  390. package/dist/src/config/locators/components/common/cards.js +17 -0
  391. package/dist/src/config/locators/components/common/index.js +4 -0
  392. package/dist/src/config/locators/components/common/links.js +1 -0
  393. package/dist/src/config/locators/components/common/tables.js +1 -0
  394. package/dist/src/config/locators/components/floating-button.js +2 -0
  395. package/dist/src/config/locators/components/index.js +3 -0
  396. package/dist/src/config/locators/components/report-issue.js +13 -0
  397. package/dist/src/config/locators/components/search/index.js +5 -0
  398. package/dist/src/config/locators/components/shadow-dom.js +1 -0
  399. package/dist/src/config/locators/embedded.js +20 -0
  400. package/dist/src/config/locators/index.js +4 -0
  401. package/dist/src/contexts/amplitudeContext/amplitudeContext.js +292 -0
  402. package/dist/src/contexts/amplitudeContext/index.js +1 -0
  403. package/dist/src/contexts/cdnContext/cdnContext.js +28 -0
  404. package/dist/src/contexts/cdnContext/index.js +1 -0
  405. package/dist/src/contexts/enviveConfigContext/enviveConfigContext.js +37 -0
  406. package/dist/src/contexts/enviveConfigContext/index.js +1 -0
  407. package/dist/src/contexts/enviveCssContext/enviveCssContext.js +31 -0
  408. package/dist/src/contexts/enviveCssContext/index.js +1 -0
  409. package/dist/src/contexts/featureFlagContext/featureFlagContext.js +109 -0
  410. package/dist/src/contexts/featureFlagContext/index.js +1 -0
  411. package/dist/src/contexts/featureFlagServiceContext/featureFlagServiceContext.js +47 -0
  412. package/dist/src/contexts/featureFlagServiceContext/index.js +1 -0
  413. package/dist/src/contexts/graphqlContext/graphqlContext.js +87 -0
  414. package/dist/src/contexts/graphqlContext/index.js +1 -0
  415. package/dist/src/contexts/localStorageContext/index.js +1 -0
  416. package/dist/src/contexts/localStorageContext/localStorageContext.js +95 -0
  417. package/dist/src/contexts/newOrgConfigContext/index.js +1 -0
  418. package/dist/src/contexts/newOrgConfigContext/newOrgConfigContext.js +33 -0
  419. package/dist/src/contexts/searchContext/index.js +1 -0
  420. package/dist/src/contexts/searchContext/searchContext.js +131 -0
  421. package/dist/src/contexts/sessionStorageContext/index.js +1 -0
  422. package/dist/src/contexts/sessionStorageContext/sessionStorageContext.js +43 -0
  423. package/dist/src/contexts/shopifyUrlContext/index.js +1 -0
  424. package/dist/src/contexts/shopifyUrlContext/shopifyUrlContext.js +62 -0
  425. package/dist/src/contexts/systemSettingsContext/index.js +1 -0
  426. package/dist/src/contexts/systemSettingsContext/systemSettingsContext.js +29 -0
  427. package/dist/src/contexts/userIdentityContext/index.js +1 -0
  428. package/dist/src/contexts/userIdentityContext/userIdentityContext.js +118 -0
  429. package/dist/src/events/index.js +51 -0
  430. package/dist/src/events/registerAnalyticsListeners.js +32 -0
  431. package/dist/src/exceptions/index.js +2 -0
  432. package/dist/src/exceptions/sessionExceptions.js +6 -0
  433. package/dist/src/exceptions/unsupportedProductExceptions.js +6 -0
  434. package/dist/src/hooks/AmplitudeOperations/index.js +1 -0
  435. package/dist/src/hooks/AmplitudeOperations/useAmplitudeOperations.js +24 -0
  436. package/dist/src/hooks/AppDetails/index.js +1 -0
  437. package/dist/src/hooks/AppDetails/useAppDetails.js +26 -0
  438. package/dist/src/hooks/BlockBackButton/index.js +1 -0
  439. package/dist/src/hooks/BlockBackButton/useBlockBackButton.js +23 -0
  440. package/dist/src/hooks/CdnOperations/index.js +1 -0
  441. package/dist/src/hooks/CdnOperations/useCdnOperations.js +13 -0
  442. package/dist/src/hooks/ChatToggle/index.js +1 -0
  443. package/dist/src/hooks/ChatToggle/useChatToggle.js +50 -0
  444. package/dist/src/hooks/ChatToggleAnalytics/index.js +1 -0
  445. package/dist/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +11 -0
  446. package/dist/src/hooks/CustomerSupportHandoff/index.js +1 -0
  447. package/dist/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +32 -0
  448. package/dist/src/hooks/Debounce/index.js +1 -0
  449. package/dist/src/hooks/Debounce/useDebounce.js +13 -0
  450. package/dist/src/hooks/ElementObserver/index.js +1 -0
  451. package/dist/src/hooks/ElementObserver/useElementObserver.js +208 -0
  452. package/dist/src/hooks/GrabAndScroll/index.js +1 -0
  453. package/dist/src/hooks/GrabAndScroll/useGrabAndScroll.js +105 -0
  454. package/dist/src/hooks/GraphQLConfig/index.js +1 -0
  455. package/dist/src/hooks/GraphQLConfig/useGraphQLConfig.js +54 -0
  456. package/dist/src/hooks/IdentifyUser/index.js +1 -0
  457. package/dist/src/hooks/IdentifyUser/useIdentifyUser.js +28 -0
  458. package/dist/src/hooks/ImageResolver/index.js +1 -0
  459. package/dist/src/hooks/ImageResolver/useImageResolver.js +45 -0
  460. package/dist/src/hooks/Intersection/index.js +1 -0
  461. package/dist/src/hooks/Intersection/useIntersection.js +20 -0
  462. package/dist/src/hooks/IsSmallScreen/index.js +1 -0
  463. package/dist/src/hooks/IsSmallScreen/useIsSmallScreen.js +16 -0
  464. package/dist/src/hooks/LocalStorageOperations/index.js +1 -0
  465. package/dist/src/hooks/LocalStorageOperations/useLocalStorageOperations.js +64 -0
  466. package/dist/src/hooks/MessageFilter/index.js +1 -0
  467. package/dist/src/hooks/MessageFilter/useMessageFilter.js +37 -0
  468. package/dist/src/hooks/MessageScrollObserver/index.js +1 -0
  469. package/dist/src/hooks/MessageScrollObserver/useMessageScrollObserver.js +35 -0
  470. package/dist/src/hooks/NewOrgConfig/index.js +1 -0
  471. package/dist/src/hooks/NewOrgConfig/useNewOrgConfig.js +5 -0
  472. package/dist/src/hooks/Search/index.js +1 -0
  473. package/dist/src/hooks/Search/useRecommendedProducts.js +35 -0
  474. package/dist/src/hooks/Search/useSearch.js +224 -0
  475. package/dist/src/hooks/Search/useSearchInput.js +183 -0
  476. package/dist/src/hooks/SearchOperations/index.js +1 -0
  477. package/dist/src/hooks/SearchOperations/useSearchOperations.js +78 -0
  478. package/dist/src/hooks/SessionStorageOperations/index.js +1 -0
  479. package/dist/src/hooks/SessionStorageOperations/useSessionStorageOperations.js +20 -0
  480. package/dist/src/hooks/ShopifyUrlOperations/index.js +1 -0
  481. package/dist/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +34 -0
  482. package/dist/src/hooks/SnapCalculator/index.js +1 -0
  483. package/dist/src/hooks/SnapCalculator/useSnapCalculator.js +22 -0
  484. package/dist/src/hooks/SystemSettingsContext/index.js +1 -0
  485. package/dist/src/hooks/SystemSettingsContext/useSystemSettingsContext.js +9 -0
  486. package/dist/src/hooks/TrackComponentVisibleEvent/index.js +1 -0
  487. package/dist/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +45 -0
  488. package/dist/src/hooks/UpdateAnalyticsProps/index.js +1 -0
  489. package/dist/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +43 -0
  490. package/dist/src/hooks/utils.js +116 -0
  491. package/dist/src/interceptors/index.js +1 -0
  492. package/dist/src/interceptors/useMessageInterceptor.js +24 -0
  493. package/dist/src/types/ApiResponse.js +1 -0
  494. package/dist/src/types/FilterAttribute.js +3 -0
  495. package/dist/src/types/Message.js +24 -0
  496. package/dist/src/types/Suggestion.js +3 -0
  497. package/dist/src/types/index.js +4 -0
  498. package/dist/src/util/colorVar.js +3 -0
  499. package/dist/src/util/configVersion.js +4 -0
  500. package/dist/src/util/domInsertion.js +16 -0
  501. package/dist/systemSettingsContext-Cb5kczBD.cjs +60 -0
  502. package/dist/systemSettingsContext-CksCdpiU.js +39 -0
  503. package/dist/types/index.cjs +3 -33
  504. package/dist/types/index.d.cts +2 -3
  505. package/dist/types/index.d.ts +2 -3
  506. package/dist/types/index.js +2 -30
  507. package/dist/types-18QXD2rd.cjs +39 -0
  508. package/dist/types-DQC1pHqD.js +27 -0
  509. package/dist/urlsParser-C-Vzs--G.cjs +78 -0
  510. package/dist/urlsParser-G7Ocwg0M.js +42 -0
  511. package/dist/useAppDetails-BJFRSYbI.js +30 -0
  512. package/dist/useAppDetails-Czn-5FzP.cjs +38 -0
  513. package/dist/useGraphQLConfig-BEtX5pDM.cjs +76 -0
  514. package/dist/useGraphQLConfig-Dkcrz1YL.js +63 -0
  515. package/dist/{useIntersection-BJRFGG0f.js → useIntersection-BWiHkpKL.js} +1 -1
  516. package/dist/{useIntersection-CYRvxtRN.cjs → useIntersection-DZHz44BY.cjs} +1 -1
  517. package/dist/{utils-DIvMgPe8.js → utils-CEKzBcN2.js} +1 -1
  518. package/dist/utils-CPvqOk0g.cjs +1546 -0
  519. package/dist/{utils-Buo4KU5l.cjs → utils-CqVRbvfN.cjs} +1 -1
  520. package/dist/{utils-CDw74BCO.cjs → utils-CsMbZmRw.cjs} +1 -1
  521. package/dist/{utils-BRNaQkCK.js → utils-DQhbbAnt.js} +1 -1
  522. package/dist/utils-D_kATUj6.js +1 -1
  523. package/dist/utils-N47VsL9W.js +1364 -0
  524. package/dist/utils-hYTjy7hJ.cjs +1 -1
  525. package/dist/{utils-DyTiotQz.d.ts → utils-wWki3L1d.d.ts} +1 -1
  526. package/package.json +7 -25
  527. package/src/application/commerce-api.ts +38 -37
  528. package/src/application/models/graphql/index.ts +1 -0
  529. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -23
  530. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -89
  531. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  532. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  533. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +2 -20
  534. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -9
  535. package/src/application/models/guards/api/isApiOrganizationConfig.ts +8 -32
  536. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +8 -5
  537. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +14 -10
  538. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  539. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +2 -4
  540. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +9 -6
  541. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +7 -4
  542. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +8 -3
  543. package/src/application/models/guards/api/isApiResponse.ts +22 -15
  544. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  545. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  546. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  547. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  548. package/src/application/models/guards/isBaseEcommerceEvent.ts +1 -2
  549. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  550. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  551. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +1 -3
  552. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +5 -3
  553. package/src/application/models/guards/isVariantInfo.ts +6 -1
  554. package/src/application/models/index.ts +30 -95
  555. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  556. package/src/application/models/validators/validateGraphQLColorsConfig.ts +6 -2
  557. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  558. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +5 -3
  559. package/src/application/models/validators/validateOrgConfigResults.ts +6 -5
  560. package/src/application/models/validators/validateOrganizationConfig.ts +11 -8
  561. package/src/application/models/validators/validateResponse.ts +66 -44
  562. package/src/application/models/validators/validateSuggestion.ts +1 -1
  563. package/src/application/models/validators/validateUserEvent.ts +23 -12
  564. package/src/application/utils/analyticsUtils.ts +16 -38
  565. package/src/application/utils/coreContextToApiContext.ts +3 -1
  566. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  567. package/src/application/utils/elementObserver.ts +1 -1
  568. package/src/application/utils/imageFilter.ts +5 -2
  569. package/src/application/utils/index.ts +20 -21
  570. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  571. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  572. package/src/application/utils/messageFromResponse.ts +14 -10
  573. package/src/application/utils/messageFromSuggestionEvent.ts +6 -4
  574. package/src/application/utils/mouseEventTypes.ts +1 -1
  575. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  576. package/src/application/utils/overrides.ts +1 -49
  577. package/src/application/utils/supportedEventRequestToApiRequest.ts +3 -1
  578. package/src/application/utils/urlsParser.ts +1 -7
  579. package/src/atoms/app/index.ts +15 -25
  580. package/src/atoms/app/variant.ts +1 -1
  581. package/src/atoms/chat/chatState.ts +9 -14
  582. package/src/atoms/chat/form.ts +1 -1
  583. package/src/atoms/chat/messageQueue.ts +25 -50
  584. package/src/atoms/chat/replies.ts +40 -43
  585. package/src/atoms/chat/suggestions.ts +34 -29
  586. package/src/atoms/envive/enviveConfig.ts +14 -20
  587. package/src/atoms/org/customerService.ts +4 -8
  588. package/src/atoms/org/graphqlConfig.ts +7 -15
  589. package/src/atoms/org/index.ts +4 -6
  590. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  591. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  592. package/src/atoms/search/index.ts +0 -1
  593. package/src/atoms/search/productFilters.ts +72 -52
  594. package/src/atoms/search/productRetrievalAPI.ts +72 -0
  595. package/src/atoms/search/productRetrievalAdapter.ts +28 -0
  596. package/src/atoms/search/productSorter.ts +2 -2
  597. package/src/atoms/search/searchAPI.ts +42 -60
  598. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  599. package/src/contexts/amplitudeContext/amplitudeContext.tsx +104 -143
  600. package/src/contexts/cdnContext/cdnContext.tsx +9 -16
  601. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +6 -27
  602. package/src/contexts/enviveCssContext/enviveCssContext.tsx +5 -12
  603. package/src/contexts/featureFlagContext/featureFlagContext.tsx +27 -48
  604. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +11 -3
  605. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -95
  606. package/src/contexts/localStorageContext/localStorageContext.tsx +26 -60
  607. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +10 -22
  608. package/src/contexts/searchContext/searchContext.tsx +29 -49
  609. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +12 -33
  610. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +20 -37
  611. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  612. package/src/contexts/userIdentityContext/userIdentityContext.tsx +33 -77
  613. package/src/events/index.ts +8 -5
  614. package/src/events/registerAnalyticsListeners.ts +10 -13
  615. package/src/exceptions/index.ts +2 -0
  616. package/src/{types/exceptions → exceptions}/unsupportedProductExceptions.ts +2 -2
  617. package/src/global.d.ts +8 -0
  618. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +6 -11
  619. package/src/hooks/AppDetails/useAppDetails.ts +10 -24
  620. package/src/hooks/ChatToggle/useChatToggle.ts +7 -19
  621. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  622. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  623. package/src/hooks/ElementObserver/useElementObserver.ts +14 -32
  624. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +125 -124
  625. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +5 -7
  626. package/src/hooks/ImageResolver/useImageResolver.ts +24 -31
  627. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  628. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -7
  629. package/src/hooks/Search/useRecommendedProducts.ts +50 -0
  630. package/src/hooks/Search/useSearch.tsx +80 -210
  631. package/src/hooks/Search/useSearchInput.ts +227 -0
  632. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  633. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  634. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -2
  635. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +8 -11
  636. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +11 -25
  637. package/src/hooks/utils.ts +19 -29
  638. package/src/interceptors/index.ts +1 -2
  639. package/src/interceptors/useMessageInterceptor.ts +10 -6
  640. package/src/{application/models/api/response.ts → types/ApiResponse.ts} +35 -29
  641. package/src/types/FilterAttribute.ts +35 -0
  642. package/src/{application/models/message.ts → types/Message.ts} +38 -34
  643. package/src/types/Suggestion.ts +6 -0
  644. package/src/types/index.ts +4 -4
  645. package/src/util/colorVar.ts +4 -0
  646. package/src/util/configVersion.ts +4 -0
  647. package/src/util/domInsertion.ts +17 -0
  648. package/dist/SystemSettingsContext-CO5c1L62.cjs +0 -20
  649. package/dist/SystemSettingsContext-CXmUlH8i.js +0 -13
  650. package/dist/TrackComponentVisibleEvent-B0WO3ArV.js +0 -52
  651. package/dist/TrackComponentVisibleEvent-LRE9MYzL.cjs +0 -59
  652. package/dist/amplitudeContext-B73xamNe.d.cts +0 -52
  653. package/dist/amplitudeContext-DXnJi0V1.d.ts +0 -52
  654. package/dist/api-BWSsazAG.js +0 -166
  655. package/dist/api-DeW6rHj3.cjs +0 -239
  656. package/dist/application/models/utilityTypes/index.cjs +0 -1
  657. package/dist/application/models/utilityTypes/index.d.cts +0 -2
  658. package/dist/application/models/utilityTypes/index.d.ts +0 -2
  659. package/dist/application/models/utilityTypes/index.js +0 -3
  660. package/dist/application/models/variantInfo/index.cjs +0 -3
  661. package/dist/application/models/variantInfo/index.d.cts +0 -2
  662. package/dist/application/models/variantInfo/index.d.ts +0 -2
  663. package/dist/application/models/variantInfo/index.js +0 -3
  664. package/dist/atoms/search/types.cjs +0 -5
  665. package/dist/atoms/search/types.d.cts +0 -2
  666. package/dist/atoms/search/types.d.ts +0 -2
  667. package/dist/atoms/search/types.js +0 -3
  668. package/dist/cdnContext-CH_-ssYa.js +0 -38
  669. package/dist/cdnContext-D7kHxOzE.cjs +0 -53
  670. package/dist/chat-CqPuT9_V.cjs +0 -393
  671. package/dist/chat-DH70QqJp.js +0 -257
  672. package/dist/chatElementDisplayLocation-BoE6DEdv.d.ts +0 -25
  673. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +0 -25
  674. package/dist/chatSearch-BQCZI8MJ.cjs +0 -418
  675. package/dist/chatSearch-D8xCWU8m.js +0 -295
  676. package/dist/chatState-CcFtSqJT.cjs +0 -120
  677. package/dist/chatState-DKnNHmwe.js +0 -34
  678. package/dist/contexts/chatContext/index.cjs +0 -326
  679. package/dist/contexts/chatContext/index.d.cts +0 -15
  680. package/dist/contexts/chatContext/index.d.ts +0 -15
  681. package/dist/contexts/chatContext/index.js +0 -319
  682. package/dist/contexts/types.cjs +0 -7
  683. package/dist/contexts/types.d.cts +0 -4
  684. package/dist/contexts/types.d.ts +0 -4
  685. package/dist/contexts/types.js +0 -3
  686. package/dist/domObserver-Bqf3ooj8.cjs +0 -304
  687. package/dist/enviveConfig-DZBohDpc.js +0 -62
  688. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  689. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  690. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  691. package/dist/events-DYY4l817.cjs +0 -90
  692. package/dist/events-DyUix-Bn.js +0 -78
  693. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  694. package/dist/featureFlagServiceContext-C_2m4wPL.d.ts +0 -23
  695. package/dist/featureFlagServiceContext-CiKWV306.d.cts +0 -23
  696. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  697. package/dist/featureGates-KEwAL8p_.js +0 -26
  698. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  699. package/dist/frontendConfig-CymUbclV.d.ts +0 -856
  700. package/dist/frontendConfig-tVg0hsWZ.d.cts +0 -856
  701. package/dist/graphql-3PxNRFOc.js +0 -36
  702. package/dist/graphql-DGYfelZp.cjs +0 -53
  703. package/dist/graphqlConfig-GHZ1UgCw.cjs +0 -73
  704. package/dist/graphqlConfig-mDg6J44N.js +0 -24
  705. package/dist/graphqlContext-BZPEAFSR.cjs +0 -111
  706. package/dist/graphqlContext-Bf3E-V2T.d.cts +0 -28
  707. package/dist/graphqlContext-CQikpV_I.d.ts +0 -28
  708. package/dist/graphqlContext-eaZPxgRE.js +0 -96
  709. package/dist/index-BVf069X-.d.ts +0 -184
  710. package/dist/index-B_KJB5L_.d.cts +0 -186
  711. package/dist/index-BkLv_fCu.d.ts +0 -186
  712. package/dist/index-Bmub8e38.d.cts +0 -98
  713. package/dist/index-C0eAp5f5.d.ts +0 -98
  714. package/dist/index-CESxqFso.d.cts +0 -228
  715. package/dist/index-CG3P8xE1.d.cts +0 -676
  716. package/dist/index-CJc7_j_v.d.ts +0 -44
  717. package/dist/index-CiWEYzXl.d.cts +0 -184
  718. package/dist/index-Cyq5HiC0.d.cts +0 -44
  719. package/dist/index-DL2ODEnw.d.ts +0 -1
  720. package/dist/index-DgjDuQl4.d.ts +0 -676
  721. package/dist/index-RcVcRKH7.d.cts +0 -1
  722. package/dist/index-vP8BKdxl.d.ts +0 -228
  723. package/dist/interceptors/types.cjs +0 -1
  724. package/dist/interceptors/types.d.cts +0 -13
  725. package/dist/interceptors/types.d.ts +0 -13
  726. package/dist/interceptors/types.js +0 -3
  727. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  728. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  729. package/dist/models-D-4db7XW.cjs +0 -1537
  730. package/dist/models-c86hYW-F.js +0 -1296
  731. package/dist/newOrgConfigAtom-OzAyrPS8.js +0 -8
  732. package/dist/newOrgConfigContext-DOdUxlOE.d.cts +0 -16
  733. package/dist/newOrgConfigContext-DX9iqIIK.cjs +0 -68
  734. package/dist/newOrgConfigContext-aqN8Tu79.js +0 -53
  735. package/dist/newOrgConfigContext-jphS5d4K.d.ts +0 -16
  736. package/dist/nodeSelector-B3bPtEjX.d.cts +0 -31
  737. package/dist/nodeSelector-Dcn3_NrZ.d.ts +0 -31
  738. package/dist/org-Bq2KsJSp.cjs +0 -43
  739. package/dist/org-gtWmGw4K.js +0 -12
  740. package/dist/search-BQPMtze5.cjs +0 -205
  741. package/dist/search-CIrqYYMI.d.ts +0 -20
  742. package/dist/search-PXzaYtZj.js +0 -126
  743. package/dist/search-filter-types-BhK20ts3.d.ts +0 -102
  744. package/dist/search-filter-types-BxaNSLs_.d.cts +0 -102
  745. package/dist/search-y-ioX5Mz.d.cts +0 -20
  746. package/dist/searchContext-CmsLR6Ka.cjs +0 -145
  747. package/dist/searchContext-NPfqMf6b.js +0 -129
  748. package/dist/searchServiceAdapter-BczodJGV.cjs +0 -34
  749. package/dist/searchServiceAdapter-BuEHFG5t.js +0 -16
  750. package/dist/sessionStorageContext-C1u04nAK.js +0 -52
  751. package/dist/sessionStorageContext-Cy8xc9-3.cjs +0 -66
  752. package/dist/shopifyUrlContext-CUyq3f27.cjs +0 -75
  753. package/dist/shopifyUrlContext-DTLlqlMj.js +0 -61
  754. package/dist/spiffyWidgets-BnkP5kXf.d.ts +0 -20
  755. package/dist/spiffyWidgets-BuS00VaQ.d.cts +0 -20
  756. package/dist/systemSettingsContext-Ba-wi2NZ.cjs +0 -60
  757. package/dist/systemSettingsContext-DumUaV0m.js +0 -39
  758. package/dist/test-types-DbrKQIqB.d.ts +0 -40
  759. package/dist/test-types-ThQiO_cc.d.cts +0 -40
  760. package/dist/types-BWzwd0Qc.js +0 -30
  761. package/dist/types-CEx2uKKS.d.ts +0 -51
  762. package/dist/types-CKMMb_gX.d.cts +0 -51
  763. package/dist/types-CKPddlfS.cjs +0 -0
  764. package/dist/types-CtUb63bt.js +0 -76
  765. package/dist/types-Cz8CaPUQ.cjs +0 -48
  766. package/dist/types-Dc6hx6ei.js +0 -1
  767. package/dist/types-Mwm0bS2l.d.ts +0 -10
  768. package/dist/types-UUvB6h05.cjs +0 -106
  769. package/dist/types-zQGBI-Yo.d.cts +0 -10
  770. package/dist/types.cjs +0 -0
  771. package/dist/types.d.cts +0 -15
  772. package/dist/types.d.ts +0 -15
  773. package/dist/types.js +0 -1
  774. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  775. package/dist/urlsParser-DxjoLj98.js +0 -42
  776. package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +0 -41
  777. package/dist/useAmplitudeOperations-Ti6phPPq.js +0 -34
  778. package/dist/useAppDetails-BgqbPlfR.cjs +0 -38
  779. package/dist/useAppDetails-DnKGYtCd.js +0 -30
  780. package/dist/useDebounce-BV7B-Jz3.js +0 -19
  781. package/dist/useDebounce-vU5iW5sa.cjs +0 -26
  782. package/dist/useGraphQLConfig-BizpCw23.cjs +0 -76
  783. package/dist/useGraphQLConfig-DFWl9Z89.js +0 -63
  784. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  785. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  786. package/dist/userIdentityContext-BvsEnQVX.d.ts +0 -20
  787. package/dist/userIdentityContext-D2oFVFzo.d.cts +0 -20
  788. package/dist/utilityTypes-B2KuRn37.js +0 -1
  789. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  790. package/dist/utils-B7PAzB_M.d.cts +0 -22
  791. package/dist/utils-CLGXsOwE.cjs +0 -1591
  792. package/dist/utils-CrQ0h9tc.d.ts +0 -22
  793. package/dist/utils-jYtD3hmA.js +0 -1385
  794. package/dist/variantInfo-BfKlkaWU.js +0 -11
  795. package/dist/variantInfo-DpLn4nHz.cjs +0 -17
  796. package/src/application/models/api/context.ts +0 -4
  797. package/src/application/models/api/generationParams.ts +0 -4
  798. package/src/application/models/api/nextMessageRequest.ts +0 -11
  799. package/src/application/models/api/orgAnalyticsConfig.ts +0 -19
  800. package/src/application/models/api/orgConfigResults.ts +0 -44
  801. package/src/application/models/api/organizationConfig.ts +0 -12
  802. package/src/application/models/api/responseGenerics.ts +0 -67
  803. package/src/application/models/api/search.ts +0 -26
  804. package/src/application/models/api/suggestion.ts +0 -4
  805. package/src/application/models/api/supportedEventRequest.ts +0 -8
  806. package/src/application/models/api/userEvent.ts +0 -101
  807. package/src/application/models/cachedValue.ts +0 -8
  808. package/src/application/models/chatElementDisplayLocation.ts +0 -22
  809. package/src/application/models/clientDetails.ts +0 -18
  810. package/src/application/models/colorsConfig.ts +0 -28
  811. package/src/application/models/conversationalSearchIds.ts +0 -5
  812. package/src/application/models/dataLayer.ts +0 -45
  813. package/src/application/models/events.ts +0 -5
  814. package/src/application/models/featureGates.ts +0 -21
  815. package/src/application/models/frontendConfig.ts +0 -14
  816. package/src/application/models/googleAnalyticsEvents.ts +0 -8
  817. package/src/application/models/localStorageEventListener.ts +0 -4
  818. package/src/application/models/mobilePLPChatPlacementParameter.ts +0 -3
  819. package/src/application/models/orgsEnum.ts +0 -36
  820. package/src/application/models/productExperiment.ts +0 -5
  821. package/src/application/models/spanxTakeAQuizCtaParameter.ts +0 -4
  822. package/src/application/models/spiffyWidgets.ts +0 -16
  823. package/src/application/models/utilityTypes/camelCase.ts +0 -87
  824. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +0 -80
  825. package/src/application/models/utilityTypes/delimiterCase.ts +0 -121
  826. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +0 -98
  827. package/src/application/models/utilityTypes/index.ts +0 -1
  828. package/src/application/models/utilityTypes/internal.ts +0 -93
  829. package/src/application/models/utilityTypes/primitive.ts +0 -8
  830. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +0 -49
  831. package/src/application/models/utilityTypes/splitWords.ts +0 -76
  832. package/src/application/models/utilityTypes/trim.ts +0 -28
  833. package/src/application/models/utilityTypes/unknownArray.ts +0 -25
  834. package/src/application/models/variantInfo/index.ts +0 -1
  835. package/src/application/models/variantInfo/pageVisitInfo.ts +0 -6
  836. package/src/application/models/variantInfo/plpInfo.ts +0 -3
  837. package/src/application/models/variantInfo/productInfo.ts +0 -5
  838. package/src/application/models/variantInfo/variantInfo.ts +0 -29
  839. package/src/application/utils/__tests__/divideArrays.test.ts +0 -14
  840. package/src/application/utils/cdnUtils.ts +0 -11
  841. package/src/atoms/search/chatSearch.ts +0 -317
  842. package/src/atoms/search/types.ts +0 -55
  843. package/src/config/divIds.ts +0 -27
  844. package/src/config/socialProofClasses.ts +0 -17
  845. package/src/contexts/chatContext/chatContext.tsx +0 -509
  846. package/src/contexts/chatContext/index.ts +0 -1
  847. package/src/contexts/types.ts +0 -1066
  848. package/src/events/event-types.ts +0 -11
  849. package/src/interceptors/types.ts +0 -6
  850. package/src/merchants/domInsertion.ts +0 -30
  851. package/src/merchants/gridInsertion.ts +0 -19
  852. package/src/types/config-versions.ts +0 -6
  853. package/src/types/customerService.ts +0 -31
  854. package/src/types/custservice-types.ts +0 -28
  855. package/src/types/search-filter-types.ts +0 -111
  856. package/src/types/suggestionBarV2-types.ts +0 -4
  857. package/src/types/test-types.ts +0 -3
  858. package/src/types.ts +0 -11
  859. /package/dist/{AmplitudeOperations-BEGeYKG5.cjs → featureFlagServiceContext-B4ash4vz.cjs} +0 -0
  860. /package/dist/{AmplitudeOperations-CWI4yjZ4.js → featureFlagServiceContext-bI7ZLz4r.js} +0 -0
  861. /package/src/{types/exceptions → exceptions}/sessionExceptions.ts +0 -0
@@ -1 +0,0 @@
1
- export {};
@@ -1,228 +0,0 @@
1
- //#region src/application/models/utilityTypes/primitive.d.ts
2
- /**
3
- * Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive).
4
- *
5
- * @category Type
6
- */
7
- type Primitive = null | undefined | string | number | boolean | symbol | bigint;
8
- //#endregion
9
- //#region src/application/models/utilityTypes/trim.d.ts
10
- /**
11
- * Remove spaces from the left side.
12
- */
13
- type TrimLeft<V extends string> = V extends `${Whitespace}${infer R}` ? TrimLeft<R> : V;
14
- /**
15
- * Remove spaces from the right side.
16
- */
17
- type TrimRight<V extends string> = V extends `${infer R}${Whitespace}` ? TrimRight<R> : V;
18
- /**
19
- * Remove leading and trailing spaces from a string.
20
- * @example
21
- * ```
22
- * import type {Trim} from 'type-fest';
23
- *
24
- * Trim<' foo '>
25
- * //=> 'foo'
26
- * ```
27
- *
28
- * @category String
29
- * @category Template literal
30
- */
31
- type Trim<V extends string> = TrimLeft<TrimRight<V>>;
32
- //#endregion
33
- //#region src/application/models/utilityTypes/internal.d.ts
34
- /**
35
- * Matches any primitive, `void`, `Date`, or `RegExp` value.
36
- */
37
- type BuiltIns = Primitive | void | Date | RegExp;
38
- /**
39
- * Matches non-recursive types.
40
- */
41
- type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
42
- /**
43
- * Returns a boolean for whether the string is numeric.
44
- *
45
- * This type is a workaround for [Microsoft/TypeScript#46109](https://github.com/microsoft/TypeScript/issues/46109#issuecomment-930307987).
46
- */
47
- type IsNumeric<T extends string> = T extends `${number}` ? Trim<T> extends T ? true : false : false;
48
- /**
49
- * Returns a boolean for whether the string is lowercased.
50
- */
51
- type IsLowerCase<T extends string> = T extends Lowercase<T> ? true : false;
52
- /**
53
- * Returns a boolean for whether the string is upper-cased.
54
- */
55
- type IsUpperCase<T extends string> = T extends Uppercase<T> ? true : false;
56
- type WordSeparators = '-' | '_' | Whitespace;
57
- type Whitespace = '\u{9}' | '\u{A}' | '\u{B}' | '\u{C}' | '\u{D}' | '\u{20}' | '\u{85}' | '\u{A0}' | '\u{1680}' | '\u{2000}' | '\u{2001}' | '\u{2002}' | '\u{2003}' | '\u{2004}' | '\u{2005}' | '\u{2006}' | '\u{2007}' | '\u{2008}' | '\u{2009}' | '\u{200A}' | '\u{2028}' | '\u{2029}' | '\u{202F}' | '\u{205F}' | '\u{3000}' | '\u{FEFF}';
58
- type UpperCaseCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
59
- //#endregion
60
- //#region src/application/models/utilityTypes/splitWords.d.ts
61
- type SkipEmptyWord<Word extends string> = Word extends '' ? [] : [Word];
62
- type RemoveLastCharacter<Sentence extends string, Character extends string> = Sentence extends `${infer LeftSide}${Character}` ? SkipEmptyWord<LeftSide> : never;
63
- /**
64
- * Split a string (almost) like Lodash's `_.words()` function.
65
- *
66
- * - Split on each word that begins with a capital letter.
67
- * - Split on each {@link WordSeparators}.
68
- * - Split on numeric sequence.
69
- *
70
- * @example
71
- * ```
72
- * type Words0 = SplitWords<'helloWorld'>; // ['hello', 'World']
73
- * type Words1 = SplitWords<'helloWORLD'>; // ['hello', 'WORLD']
74
- * type Words2 = SplitWords<'hello-world'>; // ['hello', 'world']
75
- * type Words3 = SplitWords<'--hello the_world'>; // ['hello', 'the', 'world']
76
- * type Words4 = SplitWords<'lifeIs42'>; // ['life', 'Is', '42']
77
- * ```
78
- *
79
- * @internal
80
- * @category Change case
81
- * @category Template literal
82
- */
83
- type SplitWords<Sentence extends string, LastCharacter extends string = '', CurrentWord extends string = ''> = Sentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters>] : LastCharacter extends '' ? SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter> : [false, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, false] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [true, true] extends [IsLowerCase<LastCharacter>, IsUpperCase<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsUpperCase<LastCharacter>, IsLowerCase<FirstCharacter>] ? [...RemoveLastCharacter<CurrentWord, LastCharacter>, ...SplitWords<RemainingCharacters, FirstCharacter, `${LastCharacter}${FirstCharacter}`>] : SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [...SkipEmptyWord<CurrentWord>];
84
- //#endregion
85
- //#region src/application/models/utilityTypes/camelCase.d.ts
86
- /**
87
- * CamelCase options.
88
- *
89
- * @see {@link CamelCase}
90
- */
91
- type CamelCaseOptions = {
92
- /**
93
- * Whether to preserved consecutive uppercase letter.
94
- *
95
- * @default true
96
- */
97
- preserveConsecutiveUppercase?: boolean;
98
- };
99
- /**
100
- * Convert an array of words to camel-case.
101
- */
102
- type CamelCaseFromArray<Words extends string[], Options extends CamelCaseOptions, OutputString extends string = ''> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Options['preserveConsecutiveUppercase'] extends true ? `${Capitalize<FirstWord>}${CamelCaseFromArray<RemainingWords, Options>}` : `${Capitalize<Lowercase<FirstWord>>}${CamelCaseFromArray<RemainingWords, Options>}` : OutputString;
103
- /**
104
- * Convert a string literal to camel-case.
105
- *
106
- * This can be useful when, for example, converting some kebab-cased command-line flags or a snake-cased database result.
107
- *
108
- * By default, consecutive uppercase letter are preserved. See {@link CamelCaseOptions.preserveConsecutiveUppercase preserveConsecutiveUppercase} option to change this behaviour.
109
- *
110
- * @example
111
- * ```
112
- * import type {CamelCase} from 'type-fest';
113
- *
114
- * // Simple
115
- *
116
- * const someVariable: CamelCase<'foo-bar'> = 'fooBar';
117
- *
118
- * // Advanced
119
- *
120
- * type CamelCasedProperties<T> = {
121
- * [K in keyof T as CamelCase<K>]: T[K]
122
- * };
123
- *
124
- * interface RawOptions {
125
- * 'dry-run': boolean;
126
- * 'full_family_name': string;
127
- * foo: number;
128
- * BAR: string;
129
- * QUZ_QUX: number;
130
- * 'OTHER-FIELD': boolean;
131
- * }
132
- *
133
- * const dbResult: CamelCasedProperties<RawOptions> = {
134
- * dryRun: true,
135
- * fullFamilyName: 'bar.js',
136
- * foo: 123,
137
- * bar: 'foo',
138
- * quzQux: 6,
139
- * otherField: false
140
- * };
141
- * ```
142
- *
143
- * @category Change case
144
- * @category Template literal
145
- */
146
- type CamelCase<Type, Options extends CamelCaseOptions = {
147
- preserveConsecutiveUppercase: true;
148
- }> = Type extends string ? string extends Type ? Type : Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>> : Type;
149
- //#endregion
150
- //#region src/application/models/utilityTypes/unknownArray.d.ts
151
- /**
152
- * Represents an array with `unknown` value.
153
- *
154
- * Use case: You want a type that all arrays can be assigned to, but you don't care about the value.
155
- *
156
- * @example
157
- * ```
158
- * import type {UnknownArray} from 'type-fest';
159
- *
160
- * type IsArray<T> = T extends UnknownArray ? true : false;
161
- *
162
- * type A = IsArray<['foo']>;
163
- * //=> true
164
- *
165
- * type B = IsArray<readonly number[]>;
166
- * //=> true
167
- *
168
- * type C = IsArray<string>;
169
- * //=> false
170
- * ```
171
- *
172
- * @category Type
173
- * @category Array
174
- */
175
- type UnknownArray = readonly unknown[];
176
- //#endregion
177
- //#region src/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
178
- /**
179
- * Convert object properties to camel case recursively.
180
- *
181
- * This can be useful when, for example, converting some API types from a different style.
182
- *
183
- * @see CamelCasedProperties
184
- * @see CamelCase
185
- *
186
- * @example
187
- * ```
188
- * import type {CamelCasedPropertiesDeep} from 'type-fest';
189
- *
190
- * interface User {
191
- * UserId: number;
192
- * UserName: string;
193
- * }
194
- *
195
- * interface UserWithFriends {
196
- * UserInfo: User;
197
- * UserFriends: User[];
198
- * }
199
- *
200
- * const result: CamelCasedPropertiesDeep<UserWithFriends> = {
201
- * userInfo: {
202
- * userId: 1,
203
- * userName: 'Tom',
204
- * },
205
- * userFriends: [
206
- * {
207
- * userId: 2,
208
- * userName: 'Jerry',
209
- * },
210
- * {
211
- * userId: 3,
212
- * userName: 'Spike',
213
- * },
214
- * ],
215
- * };
216
- * ```
217
- *
218
- * @category Change case
219
- * @category Template literal
220
- * @category Object
221
- */
222
- type CamelCasedPropertiesDeep<Value, Options extends CamelCaseOptions = {
223
- preserveConsecutiveUppercase: true;
224
- }> = Value extends Function ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value> : Value extends Set<infer U> ? Set<CamelCasedPropertiesDeep<U, Options>> : { [K in keyof Value as CamelCase<K, Options>]: CamelCasedPropertiesDeep<Value[K], Options> };
225
- type CamelCasedPropertiesArrayDeep<Value extends UnknownArray> = Value extends [] ? [] : Value extends [infer U, ...infer V] ? [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [infer U, ...infer V] ? readonly [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? readonly [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends Array<infer U> ? Array<CamelCasedPropertiesDeep<U>> : Value extends ReadonlyArray<infer U> ? ReadonlyArray<CamelCasedPropertiesDeep<U>> : never;
226
- //#endregion
227
- export { BuiltIns, CamelCase, CamelCaseOptions, CamelCasedPropertiesDeep, IsLowerCase, IsNumeric, IsUpperCase, NonRecursiveType, Primitive, SplitWords, Trim, UnknownArray, UpperCaseCharacters, Whitespace, WordSeparators };
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtdlA4QktkeGwuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9wcmltaXRpdmUuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3RyaW0uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2ludGVybmFsLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9zcGxpdFdvcmRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9jYW1lbENhc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3Vua25vd25BcnJheS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvY2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYXRjaGVzIGFueSBbcHJpbWl0aXZlIHZhbHVlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0dsb3NzYXJ5L1ByaW1pdGl2ZSkuXG4gKlxuICogQGNhdGVnb3J5IFR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlID0gbnVsbCB8IHVuZGVmaW5lZCB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBzeW1ib2wgfCBiaWdpbnQ7XG4iLCJpbXBvcnQgdHlwZSB7IFdoaXRlc3BhY2UgfSBmcm9tICcuL2ludGVybmFsJztcbi8qKlxuICogUmVtb3ZlIHNwYWNlcyBmcm9tIHRoZSBsZWZ0IHNpZGUuXG4gKi9cbnR5cGUgVHJpbUxlZnQ8ViBleHRlbmRzIHN0cmluZz4gPSBWIGV4dGVuZHMgYCR7V2hpdGVzcGFjZX0ke2luZmVyIFJ9YCA/IFRyaW1MZWZ0PFI+IDogVjtcbi8qKlxuICogUmVtb3ZlIHNwYWNlcyBmcm9tIHRoZSByaWdodCBzaWRlLlxuICovXG50eXBlIFRyaW1SaWdodDxWIGV4dGVuZHMgc3RyaW5nPiA9IFYgZXh0ZW5kcyBgJHtpbmZlciBSfSR7V2hpdGVzcGFjZX1gID8gVHJpbVJpZ2h0PFI+IDogVjtcbi8qKlxuICogUmVtb3ZlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlcyBmcm9tIGEgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1RyaW19IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogVHJpbTwnIGZvbyAnPlxuICogLy89PiAnZm9vJ1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgVHJpbTxWIGV4dGVuZHMgc3RyaW5nPiA9IFRyaW1MZWZ0PFRyaW1SaWdodDxWPj47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICcuL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyBUcmltIH0gZnJvbSAnLi90cmltJztcbi8qKlxuICogTWF0Y2hlcyBhbnkgcHJpbWl0aXZlLCBgdm9pZGAsIGBEYXRlYCwgb3IgYFJlZ0V4cGAgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIEJ1aWx0SW5zID0gUHJpbWl0aXZlIHwgdm9pZCB8IERhdGUgfCBSZWdFeHA7XG4vKipcbiAqIE1hdGNoZXMgbm9uLXJlY3Vyc2l2ZSB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgTm9uUmVjdXJzaXZlVHlwZSA9IEJ1aWx0SW5zIHwgRnVuY3Rpb24gfCAobmV3ICguLi5hcmd1bWVudHNfOiBhbnlbXSkgPT4gdW5rbm93bik7XG4vKipcbiAqIFJldHVybnMgYSBib29sZWFuIGZvciB3aGV0aGVyIHRoZSBzdHJpbmcgaXMgbnVtZXJpYy5cbiAqXG4gKiBUaGlzIHR5cGUgaXMgYSB3b3JrYXJvdW5kIGZvciBbTWljcm9zb2Z0L1R5cGVTY3JpcHQjNDYxMDldKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNDYxMDkjaXNzdWVjb21tZW50LTkzMDMwNzk4NykuXG4gKi9cbmV4cG9ydCB0eXBlIElzTnVtZXJpYzxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBgJHtudW1iZXJ9YCA/IFRyaW08VD4gZXh0ZW5kcyBUID8gdHJ1ZSA6IGZhbHNlIDogZmFsc2U7XG4vKipcbiAqIFJldHVybnMgYSBib29sZWFuIGZvciB3aGV0aGVyIHRoZSBzdHJpbmcgaXMgbG93ZXJjYXNlZC5cbiAqL1xuZXhwb3J0IHR5cGUgSXNMb3dlckNhc2U8VCBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgTG93ZXJjYXNlPFQ+ID8gdHJ1ZSA6IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm5zIGEgYm9vbGVhbiBmb3Igd2hldGhlciB0aGUgc3RyaW5nIGlzIHVwcGVyLWNhc2VkLlxuICovXG5leHBvcnQgdHlwZSBJc1VwcGVyQ2FzZTxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBVcHBlcmNhc2U8VD4gPyB0cnVlIDogZmFsc2U7XG5leHBvcnQgdHlwZSBXb3JkU2VwYXJhdG9ycyA9ICctJyB8ICdfJyB8IFdoaXRlc3BhY2U7XG5leHBvcnQgdHlwZSBXaGl0ZXNwYWNlID0gJ1xcdXs5fScgfCAnXFx1e0F9JyB8ICdcXHV7Qn0nIHwgJ1xcdXtDfScgfCAnXFx1e0R9JyB8ICdcXHV7MjB9JyB8ICdcXHV7ODV9JyB8ICdcXHV7QTB9JyB8ICdcXHV7MTY4MH0nIHwgJ1xcdXsyMDAwfScgfCAnXFx1ezIwMDF9JyB8ICdcXHV7MjAwMn0nIHwgJ1xcdXsyMDAzfScgfCAnXFx1ezIwMDR9JyB8ICdcXHV7MjAwNX0nIHwgJ1xcdXsyMDA2fScgfCAnXFx1ezIwMDd9JyB8ICdcXHV7MjAwOH0nIHwgJ1xcdXsyMDA5fScgfCAnXFx1ezIwMEF9JyB8ICdcXHV7MjAyOH0nIHwgJ1xcdXsyMDI5fScgfCAnXFx1ezIwMkZ9JyB8ICdcXHV7MjA1Rn0nIHwgJ1xcdXszMDAwfScgfCAnXFx1e0ZFRkZ9JztcbmV4cG9ydCB0eXBlIFVwcGVyQ2FzZUNoYXJhY3RlcnMgPSAnQScgfCAnQicgfCAnQycgfCAnRCcgfCAnRScgfCAnRicgfCAnRycgfCAnSCcgfCAnSScgfCAnSicgfCAnSycgfCAnTCcgfCAnTScgfCAnTicgfCAnTycgfCAnUCcgfCAnUScgfCAnUicgfCAnUycgfCAnVCcgfCAnVScgfCAnVicgfCAnVycgfCAnWCcgfCAnWScgfCAnWic7XG4iLCJpbXBvcnQgdHlwZSB7IElzTG93ZXJDYXNlLCBJc051bWVyaWMsIElzVXBwZXJDYXNlLCBXb3JkU2VwYXJhdG9ycyB9IGZyb20gJy4vaW50ZXJuYWwnO1xudHlwZSBTa2lwRW1wdHlXb3JkPFdvcmQgZXh0ZW5kcyBzdHJpbmc+ID0gV29yZCBleHRlbmRzICcnID8gW10gOiBbV29yZF07XG50eXBlIFJlbW92ZUxhc3RDaGFyYWN0ZXI8U2VudGVuY2UgZXh0ZW5kcyBzdHJpbmcsIENoYXJhY3RlciBleHRlbmRzIHN0cmluZz4gPSBTZW50ZW5jZSBleHRlbmRzIGAke2luZmVyIExlZnRTaWRlfSR7Q2hhcmFjdGVyfWAgPyBTa2lwRW1wdHlXb3JkPExlZnRTaWRlPiA6IG5ldmVyO1xuLyoqXG4gKiBTcGxpdCBhIHN0cmluZyAoYWxtb3N0KSBsaWtlIExvZGFzaCdzIGBfLndvcmRzKClgIGZ1bmN0aW9uLlxuICpcbiAqIC0gU3BsaXQgb24gZWFjaCB3b3JkIHRoYXQgYmVnaW5zIHdpdGggYSBjYXBpdGFsIGxldHRlci5cbiAqIC0gU3BsaXQgb24gZWFjaCB7QGxpbmsgV29yZFNlcGFyYXRvcnN9LlxuICogLSBTcGxpdCBvbiBudW1lcmljIHNlcXVlbmNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIHR5cGUgV29yZHMwID0gU3BsaXRXb3JkczwnaGVsbG9Xb3JsZCc+OyAvLyBbJ2hlbGxvJywgJ1dvcmxkJ11cbiAqIHR5cGUgV29yZHMxID0gU3BsaXRXb3JkczwnaGVsbG9XT1JMRCc+OyAvLyBbJ2hlbGxvJywgJ1dPUkxEJ11cbiAqIHR5cGUgV29yZHMyID0gU3BsaXRXb3JkczwnaGVsbG8td29ybGQnPjsgLy8gWydoZWxsbycsICd3b3JsZCddXG4gKiB0eXBlIFdvcmRzMyA9IFNwbGl0V29yZHM8Jy0taGVsbG8gdGhlX3dvcmxkJz47IC8vIFsnaGVsbG8nLCAndGhlJywgJ3dvcmxkJ11cbiAqIHR5cGUgV29yZHM0ID0gU3BsaXRXb3JkczwnbGlmZUlzNDInPjsgLy8gWydsaWZlJywgJ0lzJywgJzQyJ11cbiAqIGBgYFxuICpcbiAqIEBpbnRlcm5hbFxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBTcGxpdFdvcmRzPFNlbnRlbmNlIGV4dGVuZHMgc3RyaW5nLCBMYXN0Q2hhcmFjdGVyIGV4dGVuZHMgc3RyaW5nID0gJycsIEN1cnJlbnRXb3JkIGV4dGVuZHMgc3RyaW5nID0gJyc+ID0gU2VudGVuY2UgZXh0ZW5kcyBgJHtpbmZlciBGaXJzdENoYXJhY3Rlcn0ke2luZmVyIFJlbWFpbmluZ0NoYXJhY3RlcnN9YCA/IEZpcnN0Q2hhcmFjdGVyIGV4dGVuZHMgV29yZFNlcGFyYXRvcnMgPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzPlxuXSA6IExhc3RDaGFyYWN0ZXIgZXh0ZW5kcyAnJyA/IFNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIEZpcnN0Q2hhcmFjdGVyPiA6IFtcbiAgICBmYWxzZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzTnVtZXJpYzxMYXN0Q2hhcmFjdGVyPiwgSXNOdW1lcmljPEZpcnN0Q2hhcmFjdGVyPl0gPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzLCBGaXJzdENoYXJhY3RlciwgRmlyc3RDaGFyYWN0ZXI+XG5dIDogW1xuICAgIHRydWUsXG4gICAgZmFsc2Vcbl0gZXh0ZW5kcyBbSXNOdW1lcmljPExhc3RDaGFyYWN0ZXI+LCBJc051bWVyaWM8Rmlyc3RDaGFyYWN0ZXI+XSA/IFtcbiAgICAuLi5Ta2lwRW1wdHlXb3JkPEN1cnJlbnRXb3JkPixcbiAgICAuLi5TcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBGaXJzdENoYXJhY3Rlcj5cbl0gOiBbXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzTnVtZXJpYzxMYXN0Q2hhcmFjdGVyPiwgSXNOdW1lcmljPEZpcnN0Q2hhcmFjdGVyPl0gPyBTcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBgJHtDdXJyZW50V29yZH0ke0ZpcnN0Q2hhcmFjdGVyfWA+IDogW1xuICAgIHRydWUsXG4gICAgdHJ1ZVxuXSBleHRlbmRzIFtJc0xvd2VyQ2FzZTxMYXN0Q2hhcmFjdGVyPiwgSXNVcHBlckNhc2U8Rmlyc3RDaGFyYWN0ZXI+XSA/IFtcbiAgICAuLi5Ta2lwRW1wdHlXb3JkPEN1cnJlbnRXb3JkPixcbiAgICAuLi5TcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBGaXJzdENoYXJhY3Rlcj5cbl0gOiBbXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzVXBwZXJDYXNlPExhc3RDaGFyYWN0ZXI+LCBJc0xvd2VyQ2FzZTxGaXJzdENoYXJhY3Rlcj5dID8gW1xuICAgIC4uLlJlbW92ZUxhc3RDaGFyYWN0ZXI8Q3VycmVudFdvcmQsIExhc3RDaGFyYWN0ZXI+LFxuICAgIC4uLlNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIGAke0xhc3RDaGFyYWN0ZXJ9JHtGaXJzdENoYXJhY3Rlcn1gPlxuXSA6IFNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIGAke0N1cnJlbnRXb3JkfSR7Rmlyc3RDaGFyYWN0ZXJ9YD4gOiBbLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD5dO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3BsaXRXb3JkcyB9IGZyb20gJy4vc3BsaXRXb3Jkcyc7XG4vKipcbiAqIENhbWVsQ2FzZSBvcHRpb25zLlxuICpcbiAqIEBzZWUge0BsaW5rIENhbWVsQ2FzZX1cbiAqL1xuZXhwb3J0IHR5cGUgQ2FtZWxDYXNlT3B0aW9ucyA9IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHByZXNlcnZlZCBjb25zZWN1dGl2ZSB1cHBlcmNhc2UgbGV0dGVyLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2U/OiBib29sZWFuO1xufTtcbi8qKlxuICogQ29udmVydCBhbiBhcnJheSBvZiB3b3JkcyB0byBjYW1lbC1jYXNlLlxuICovXG50eXBlIENhbWVsQ2FzZUZyb21BcnJheTxXb3JkcyBleHRlbmRzIHN0cmluZ1tdLCBPcHRpb25zIGV4dGVuZHMgQ2FtZWxDYXNlT3B0aW9ucywgT3V0cHV0U3RyaW5nIGV4dGVuZHMgc3RyaW5nID0gJyc+ID0gV29yZHMgZXh0ZW5kcyBbaW5mZXIgRmlyc3RXb3JkIGV4dGVuZHMgc3RyaW5nLCAuLi5pbmZlciBSZW1haW5pbmdXb3JkcyBleHRlbmRzIHN0cmluZ1tdXSA/IE9wdGlvbnNbJ3ByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2UnXSBleHRlbmRzIHRydWUgPyBgJHtDYXBpdGFsaXplPEZpcnN0V29yZD59JHtDYW1lbENhc2VGcm9tQXJyYXk8UmVtYWluaW5nV29yZHMsIE9wdGlvbnM+fWAgOiBgJHtDYXBpdGFsaXplPExvd2VyY2FzZTxGaXJzdFdvcmQ+Pn0ke0NhbWVsQ2FzZUZyb21BcnJheTxSZW1haW5pbmdXb3JkcywgT3B0aW9ucz59YCA6IE91dHB1dFN0cmluZztcbi8qKlxuICogQ29udmVydCBhIHN0cmluZyBsaXRlcmFsIHRvIGNhbWVsLWNhc2UuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUga2ViYWItY2FzZWQgY29tbWFuZC1saW5lIGZsYWdzIG9yIGEgc25ha2UtY2FzZWQgZGF0YWJhc2UgcmVzdWx0LlxuICpcbiAqIEJ5IGRlZmF1bHQsIGNvbnNlY3V0aXZlIHVwcGVyY2FzZSBsZXR0ZXIgYXJlIHByZXNlcnZlZC4gU2VlIHtAbGluayBDYW1lbENhc2VPcHRpb25zLnByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2UgcHJlc2VydmVDb25zZWN1dGl2ZVVwcGVyY2FzZX0gb3B0aW9uIHRvIGNoYW5nZSB0aGlzIGJlaGF2aW91ci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7Q2FtZWxDYXNlfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIC8vIFNpbXBsZVxuICpcbiAqIGNvbnN0IHNvbWVWYXJpYWJsZTogQ2FtZWxDYXNlPCdmb28tYmFyJz4gPSAnZm9vQmFyJztcbiAqXG4gKiAvLyBBZHZhbmNlZFxuICpcbiAqIHR5cGUgQ2FtZWxDYXNlZFByb3BlcnRpZXM8VD4gPSB7XG4gKiBcdFtLIGluIGtleW9mIFQgYXMgQ2FtZWxDYXNlPEs+XTogVFtLXVxuICogfTtcbiAqXG4gKiBpbnRlcmZhY2UgUmF3T3B0aW9ucyB7XG4gKiBcdCdkcnktcnVuJzogYm9vbGVhbjtcbiAqIFx0J2Z1bGxfZmFtaWx5X25hbWUnOiBzdHJpbmc7XG4gKiBcdGZvbzogbnVtYmVyO1xuICogXHRCQVI6IHN0cmluZztcbiAqIFx0UVVaX1FVWDogbnVtYmVyO1xuICogXHQnT1RIRVItRklFTEQnOiBib29sZWFuO1xuICogfVxuICpcbiAqIGNvbnN0IGRiUmVzdWx0OiBDYW1lbENhc2VkUHJvcGVydGllczxSYXdPcHRpb25zPiA9IHtcbiAqIFx0ZHJ5UnVuOiB0cnVlLFxuICogXHRmdWxsRmFtaWx5TmFtZTogJ2Jhci5qcycsXG4gKiBcdGZvbzogMTIzLFxuICogXHRiYXI6ICdmb28nLFxuICogXHRxdXpRdXg6IDYsXG4gKiBcdG90aGVyRmllbGQ6IGZhbHNlXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBDYW1lbENhc2U8VHlwZSwgT3B0aW9ucyBleHRlbmRzIENhbWVsQ2FzZU9wdGlvbnMgPSB7XG4gICAgcHJlc2VydmVDb25zZWN1dGl2ZVVwcGVyY2FzZTogdHJ1ZTtcbn0+ID0gVHlwZSBleHRlbmRzIHN0cmluZyA/IHN0cmluZyBleHRlbmRzIFR5cGUgPyBUeXBlIDogVW5jYXBpdGFsaXplPENhbWVsQ2FzZUZyb21BcnJheTxTcGxpdFdvcmRzPFR5cGUgZXh0ZW5kcyBVcHBlcmNhc2U8VHlwZT4gPyBMb3dlcmNhc2U8VHlwZT4gOiBUeXBlPiwgT3B0aW9ucz4+IDogVHlwZTtcbmV4cG9ydCB7fTtcbiIsIi8qKlxuICogUmVwcmVzZW50cyBhbiBhcnJheSB3aXRoIGB1bmtub3duYCB2YWx1ZS5cbiAqXG4gKiBVc2UgY2FzZTogWW91IHdhbnQgYSB0eXBlIHRoYXQgYWxsIGFycmF5cyBjYW4gYmUgYXNzaWduZWQgdG8sIGJ1dCB5b3UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1Vua25vd25BcnJheX0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiB0eXBlIElzQXJyYXk8VD4gPSBUIGV4dGVuZHMgVW5rbm93bkFycmF5ID8gdHJ1ZSA6IGZhbHNlO1xuICpcbiAqIHR5cGUgQSA9IElzQXJyYXk8Wydmb28nXT47XG4gKiAvLz0+IHRydWVcbiAqXG4gKiB0eXBlIEIgPSBJc0FycmF5PHJlYWRvbmx5IG51bWJlcltdPjtcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIHR5cGUgQyA9IElzQXJyYXk8c3RyaW5nPjtcbiAqIC8vPT4gZmFsc2VcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBUeXBlXG4gKiBAY2F0ZWdvcnkgQXJyYXlcbiAqL1xuZXhwb3J0IHR5cGUgVW5rbm93bkFycmF5ID0gcmVhZG9ubHkgdW5rbm93bltdO1xuIiwiaW1wb3J0IHsgQ2FtZWxDYXNlLCBDYW1lbENhc2VPcHRpb25zIH0gZnJvbSAnLi9jYW1lbENhc2UnO1xuaW1wb3J0IHsgVW5rbm93bkFycmF5IH0gZnJvbSAnLi91bmtub3duQXJyYXknO1xuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCBwcm9wZXJ0aWVzIHRvIGNhbWVsIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBDYW1lbENhc2VkUHJvcGVydGllc1xuICogQHNlZSBDYW1lbENhc2VcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7Q2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0VXNlcklkOiBudW1iZXI7XG4gKiBcdFVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdFVzZXJJbmZvOiBVc2VyO1xuICogXHRVc2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcz4gPSB7XG4gKiBcdHVzZXJJbmZvOiB7XG4gKiBcdFx0dXNlcklkOiAxLFxuICogXHRcdHVzZXJOYW1lOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0dXNlckZyaWVuZHM6IFtcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VySWQ6IDIsXG4gKiBcdFx0XHR1c2VyTmFtZTogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJJZDogMyxcbiAqIFx0XHRcdHVzZXJOYW1lOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VmFsdWUsIE9wdGlvbnMgZXh0ZW5kcyBDYW1lbENhc2VPcHRpb25zID0ge1xuICAgIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2U6IHRydWU7XG59PiA9IFZhbHVlIGV4dGVuZHMgRnVuY3Rpb24gPyBWYWx1ZSA6IFZhbHVlIGV4dGVuZHMgVW5rbm93bkFycmF5ID8gQ2FtZWxDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWU+IDogVmFsdWUgZXh0ZW5kcyBTZXQ8aW5mZXIgVT4gPyBTZXQ8Q2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFUsIE9wdGlvbnM+PiA6IHtcbiAgICBbSyBpbiBrZXlvZiBWYWx1ZSBhcyBDYW1lbENhc2U8SywgT3B0aW9ucz5dOiBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VmFsdWVbS10sIE9wdGlvbnM+O1xufTtcbnR5cGUgQ2FtZWxDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXk+ID0gVmFsdWUgZXh0ZW5kcyBbXSA/IFtdIDogVmFsdWUgZXh0ZW5kcyBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyBbQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCAuLi5DYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyByZWFkb25seSBbQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCAuLi5DYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyBbLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyByZWFkb25seSBbLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IEFycmF5PENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPj4gOiBWYWx1ZSBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPj4gOiBuZXZlcjtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUsWUFBQSxDQUFBLElBQUE7Ozs7QUNDRixJQUFFLFdBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksWUFBWTtDQUFDO09BQVc7T0FBTztPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25DLElBQUUsT0FBQTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7Ozs7QUNERixJQUFFLFdBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxtQkFBbUI7Q0FBQztPQUFXO09BQWdCO0NBQUM7QUFDM0QsSUFBRSxZQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxjQUFjO0NBQUM7T0FBVztPQUFTO09BQVM7Q0FBQTtBQUN2RCxJQUFFLGNBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxpQkFBaUIsQ0FBQyxXQUFDLFdBQUE7QUFDOUIsSUFBRSxhQUFBLENBQUEsSUFBQTtBQUNGLElBQVcsc0JBQXNCLENBQUMsSUFBSTs7OztBQ1J0QyxJQUFJLGdCQUFnQjtDQUFDO09BQVc7T0FBWTtDQUFLO0FBQ2pELElBQUksc0JBQXNCO0NBQUM7T0FBVztPQUFnQjtPQUFpQjtPQUFnQjtDQUFjO0FBQ3JHLElBQUUsYUFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTs7OztBQ0ZGLElBQUUsbUJBQUEsQ0FBQSxJQUFBO0FBQ0YsSUFBSSxxQkFBZ0I7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3BCLElBQUMsWUFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7Ozs7QUNIRCxJQUFFLGVBQUEsQ0FBQSxJQUFBOzs7O0FDRUYsSUFBRSwyQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksZ0NBQWdDO0NBQUM7T0FBVztPQUFNO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
@@ -1 +0,0 @@
1
- require('../types-CKPddlfS.cjs');
@@ -1,13 +0,0 @@
1
- import "../index-Bmub8e38.cjs";
2
- import "../index-CiWEYzXl.cjs";
3
- import "../index-CESxqFso.cjs";
4
- import "../utils-B3x_9JTY.cjs";
5
- import "../index-CG3P8xE1.cjs";
6
- import "../chatElementDisplayLocation-DWmfNX_u.cjs";
7
- import "../frontendConfig-tVg0hsWZ.cjs";
8
- import "../test-types-ThQiO_cc.cjs";
9
- import "../spiffyWidgets-BuS00VaQ.cjs";
10
- import "../search-y-ioX5Mz.cjs";
11
- import "../index-Cyq5HiC0.cjs";
12
- import { MessageInterceptor } from "../types-zQGBI-Yo.cjs";
13
- export { MessageInterceptor };
@@ -1,13 +0,0 @@
1
- import "../index-C0eAp5f5.js";
2
- import "../index-BVf069X-.js";
3
- import "../index-vP8BKdxl.js";
4
- import "../utils-DyTiotQz.js";
5
- import "../index-DgjDuQl4.js";
6
- import "../chatElementDisplayLocation-BoE6DEdv.js";
7
- import "../frontendConfig-CymUbclV.js";
8
- import "../test-types-DbrKQIqB.js";
9
- import "../spiffyWidgets-BnkP5kXf.js";
10
- import "../search-CIrqYYMI.js";
11
- import "../index-CJc7_j_v.js";
12
- import { MessageInterceptor } from "../types-Mwm0bS2l.js";
13
- export { MessageInterceptor };
@@ -1,3 +0,0 @@
1
- import "../types-Dc6hx6ei.js";
2
-
3
- export { };
@@ -1,95 +0,0 @@
1
- import { logger_default } from "./logger-W3lqg-4b.js";
2
- import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/contexts/localStorageContext/localStorageContext.tsx
6
- let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
7
- LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
8
- LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
9
- LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
10
- return LocalStorageKeys$1;
11
- }({});
12
- const LocalStorageContext = createContext(null);
13
- const LocalStorageProvider = ({ children }) => {
14
- const isAvailable = useMemo(() => {
15
- try {
16
- return typeof window !== "undefined" && !!window.localStorage;
17
- } catch {
18
- return false;
19
- }
20
- }, []);
21
- useEffect(() => {
22
- if (!isAvailable) logger_default.logError("localStorage is not available", void 0);
23
- }, [isAvailable]);
24
- const setItem = useCallback((key, value$1) => {
25
- if (!isAvailable) return;
26
- localStorage.setItem(key, value$1);
27
- window.dispatchEvent(new StorageEvent("storage", {
28
- key,
29
- newValue: value$1
30
- }));
31
- }, [isAvailable]);
32
- const getItem = useCallback((key) => {
33
- if (!isAvailable) return null;
34
- return localStorage.getItem(key);
35
- }, [isAvailable]);
36
- const setSpiffyOnFeatureFlag = useCallback((value$1) => {
37
- if (!isAvailable) return;
38
- if (value$1 === true) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
39
- else if (value$1 === false) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
40
- }, [isAvailable]);
41
- const getSpiffyOnFeatureFlag = useCallback(() => {
42
- if (!isAvailable) return null;
43
- return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
44
- }, [isAvailable]);
45
- const listenersCache = useMemo(() => /* @__PURE__ */ new Map(), []);
46
- const listenerForKey = useCallback((listener) => {
47
- if (!listenersCache.has(listener.storageKey)) {
48
- const handler = (event) => {
49
- if (event.key !== listener.storageKey) return;
50
- logger_default.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
51
- listener.listener(event);
52
- };
53
- listenersCache.set(listener.storageKey, handler);
54
- }
55
- return listenersCache.get(listener.storageKey);
56
- }, [listenersCache]);
57
- const attachListener = useCallback((listener) => {
58
- if (!isAvailable) return;
59
- window.addEventListener("storage", listenerForKey(listener));
60
- }, [isAvailable, listenerForKey]);
61
- const detachListener = useCallback((listener) => {
62
- if (!isAvailable) return;
63
- window.removeEventListener("storage", listenerForKey(listener));
64
- }, [isAvailable, listenerForKey]);
65
- const value = useMemo(() => ({
66
- setItem,
67
- getItem,
68
- setSpiffyOnFeatureFlag,
69
- getSpiffyOnFeatureFlag,
70
- attachListener,
71
- detachListener,
72
- isAvailable
73
- }), [
74
- setItem,
75
- getItem,
76
- setSpiffyOnFeatureFlag,
77
- getSpiffyOnFeatureFlag,
78
- attachListener,
79
- detachListener,
80
- isAvailable
81
- ]);
82
- return /* @__PURE__ */ jsx(LocalStorageContext.Provider, {
83
- value,
84
- children
85
- });
86
- };
87
- const useLocalStorage = () => {
88
- const context = useContext(LocalStorageContext);
89
- if (!context) throw new Error("useLocalStorage must be used within a LocalStorageProvider");
90
- return context;
91
- };
92
-
93
- //#endregion
94
- export { LocalStorageKeys, LocalStorageProvider, useLocalStorage };
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlQ29udGV4dC1CUFo4MnEtRy5qcyIsIm5hbWVzIjpbIkxvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0L2xvY2FsU3RvcmFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlTWVtbyxcbiAgdXNlRWZmZWN0LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lciB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2xvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXJcIjtcblxuZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIENoYXRJZCA9IFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICBTcGlmZnlPbk92ZXJyaWRlID0gXCJzcGlmZnlfb25cIixcbiAgRW52aXZlT25PdmVycmlkZSA9IFwiZW52aXZlX29uXCIsXG59XG5cbmludGVyZmFjZSBMb2NhbFN0b3JhZ2VDb250ZXh0VHlwZSB7XG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xuICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAodmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAoKSA9PiBzdHJpbmcgfCBudWxsO1xuICBhdHRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBkZXRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBpc0F2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgTG9jYWxTdG9yYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9jYWxTdG9yYWdlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgaXNBdmFpbGFibGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgISF3aW5kb3cubG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwibG9jYWxTdG9yYWdlIGlzIG5vdCBhdmFpbGFibGVcIiwgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBTdG9yYWdlRXZlbnQoXCJzdG9yYWdlXCIsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdXG4gICk7XG5cbiAgY29uc3QgZ2V0SXRlbSA9IHVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZV1cbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgXCJ0cnVlXCIpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlS2V5cy5TcGlmZnlPbk92ZXJyaWRlLCBcImZhbHNlXCIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXVxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgICBgW3NwaWZmeS1haV0gU3RvcmFnZSBldmVudCBrZXk9JHtldmVudC5rZXl9LCB2YWx1ZT1gLFxuICAgICAgICAgICAgZXZlbnQubmV3VmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdXG4gICk7XG5cbiAgY29uc3QgYXR0YWNoTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV1cbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdG9yYWdlXCIsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XVxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0SXRlbSxcbiAgICAgIGdldEl0ZW0sXG4gICAgICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGF0dGFjaExpc3RlbmVyLFxuICAgICAgZGV0YWNoTGlzdGVuZXIsXG4gICAgICBpc0F2YWlsYWJsZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvY2FsU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTG9jYWxTdG9yYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwidXNlTG9jYWxTdG9yYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBMb2NhbFN0b3JhZ2VQcm92aWRlclwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBYUYsTUFBTSxzQkFBc0IsY0FBOEMsS0FBSztBQUUvRSxNQUFhQSx3QkFBaUUsRUFDNUUsZUFDSTtDQUNKLE1BQU0sY0FBYyxjQUFjO0FBQ2hDLE1BQUk7QUFDRixVQUFPLE9BQU8sV0FBVyxlQUFlLENBQUMsQ0FBQyxPQUFPO1VBQzNDO0FBQ04sVUFBTzs7SUFFUixFQUFFLENBQUM7QUFFTixpQkFBZ0I7QUFDZCxNQUFJLENBQUMsWUFDSCxnQkFBTyxTQUFTLGlDQUFpQyxPQUFVO0lBRTVELENBQUMsWUFBWSxDQUFDO0NBRWpCLE1BQU0sVUFBVSxhQUNiLEtBQWEsWUFBa0I7QUFDOUIsTUFBSSxDQUFDLFlBQWE7QUFDbEIsZUFBYSxRQUFRLEtBQUtDLFFBQU07QUFDaEMsU0FBTyxjQUNMLElBQUksYUFBYSxXQUFXO0dBQUU7R0FBSyxVQUFVQTtHQUFPLENBQUMsQ0FDdEQ7SUFFSCxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0sVUFBVSxhQUNiLFFBQWdCO0FBQ2YsTUFBSSxDQUFDLFlBQWEsUUFBTztBQUN6QixTQUFPLGFBQWEsUUFBUSxJQUFJO0lBRWxDLENBQUMsWUFBWSxDQUNkO0NBRUQsTUFBTSx5QkFBeUIsYUFDNUIsWUFBZ0M7QUFDL0IsTUFBSSxDQUFDLFlBQWE7QUFDbEIsTUFBSUEsWUFBVSxLQUNaLGNBQWEsUUFBUSxpQkFBaUIsa0JBQWtCLE9BQU87V0FDdERBLFlBQVUsTUFDbkIsY0FBYSxRQUFRLGlCQUFpQixrQkFBa0IsUUFBUTtJQUdwRSxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0seUJBQXlCLGtCQUFpQztBQUM5RCxNQUFJLENBQUMsWUFBYSxRQUFPO0FBQ3pCLFNBQU8sYUFBYSxRQUFRLGlCQUFpQixpQkFBaUI7SUFDN0QsQ0FBQyxZQUFZLENBQUM7Q0FFakIsTUFBTSxpQkFBaUIsOEJBQ2YsSUFBSSxLQUE0QyxFQUN0RCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGlCQUFpQixhQUNwQixhQUF5RTtBQUN4RSxNQUFJLENBQUMsZUFBZSxJQUFJLFNBQVMsV0FBVyxFQUFFO0dBQzVDLE1BQU0sV0FBVyxVQUF3QjtBQUN2QyxRQUFJLE1BQU0sUUFBUSxTQUFTLFdBQ3pCO0FBRUYsbUJBQU8sU0FDTCxpQ0FBaUMsTUFBTSxJQUFJLFdBQzNDLE1BQU0sU0FDUDtBQUNELGFBQVMsU0FBUyxNQUFNOztBQUUxQixrQkFBZSxJQUFJLFNBQVMsWUFBWSxRQUFROztBQUVsRCxTQUFPLGVBQWUsSUFBSSxTQUFTLFdBQVc7SUFFaEQsQ0FBQyxlQUFlLENBQ2pCO0NBRUQsTUFBTSxpQkFBaUIsYUFDcEIsYUFBOEM7QUFDN0MsTUFBSSxDQUFDLFlBQWE7QUFDbEIsU0FBTyxpQkFBaUIsV0FBVyxlQUFlLFNBQVMsQ0FBQztJQUU5RCxDQUFDLGFBQWEsZUFBZSxDQUM5QjtDQUVELE1BQU0saUJBQWlCLGFBQ3BCLGFBQThDO0FBQzdDLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLFNBQU8sb0JBQW9CLFdBQVcsZUFBZSxTQUFTLENBQUM7SUFFakUsQ0FBQyxhQUFhLGVBQWUsQ0FDOUI7Q0FFRCxNQUFNLFFBQVEsZUFDTDtFQUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsR0FDRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FDRjtBQUVELFFBQ0Usb0JBQUMsb0JBQW9CO0VBQWdCO0VBQ2xDO0dBQzRCOztBQUluQyxNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLFVBQVUsV0FBVyxvQkFBb0I7QUFDL0MsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQ1IsNkRBQ0Q7QUFFSCxRQUFPIn0=
@@ -1,115 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_logger = require('./logger-TBIl4uIH.cjs');
3
- let react = require("react");
4
- react = require_chunk.__toESM(react);
5
- let react_jsx_runtime = require("react/jsx-runtime");
6
- react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
7
-
8
- //#region src/contexts/localStorageContext/localStorageContext.tsx
9
- let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
10
- LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
11
- LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
12
- LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
13
- return LocalStorageKeys$1;
14
- }({});
15
- const LocalStorageContext = (0, react.createContext)(null);
16
- const LocalStorageProvider = ({ children }) => {
17
- const isAvailable = (0, react.useMemo)(() => {
18
- try {
19
- return typeof window !== "undefined" && !!window.localStorage;
20
- } catch {
21
- return false;
22
- }
23
- }, []);
24
- (0, react.useEffect)(() => {
25
- if (!isAvailable) require_logger.logger_default.logError("localStorage is not available", void 0);
26
- }, [isAvailable]);
27
- const setItem = (0, react.useCallback)((key, value$1) => {
28
- if (!isAvailable) return;
29
- localStorage.setItem(key, value$1);
30
- window.dispatchEvent(new StorageEvent("storage", {
31
- key,
32
- newValue: value$1
33
- }));
34
- }, [isAvailable]);
35
- const getItem = (0, react.useCallback)((key) => {
36
- if (!isAvailable) return null;
37
- return localStorage.getItem(key);
38
- }, [isAvailable]);
39
- const setSpiffyOnFeatureFlag = (0, react.useCallback)((value$1) => {
40
- if (!isAvailable) return;
41
- if (value$1 === true) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
42
- else if (value$1 === false) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
43
- }, [isAvailable]);
44
- const getSpiffyOnFeatureFlag = (0, react.useCallback)(() => {
45
- if (!isAvailable) return null;
46
- return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
47
- }, [isAvailable]);
48
- const listenersCache = (0, react.useMemo)(() => /* @__PURE__ */ new Map(), []);
49
- const listenerForKey = (0, react.useCallback)((listener) => {
50
- if (!listenersCache.has(listener.storageKey)) {
51
- const handler = (event) => {
52
- if (event.key !== listener.storageKey) return;
53
- require_logger.logger_default.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
54
- listener.listener(event);
55
- };
56
- listenersCache.set(listener.storageKey, handler);
57
- }
58
- return listenersCache.get(listener.storageKey);
59
- }, [listenersCache]);
60
- const attachListener = (0, react.useCallback)((listener) => {
61
- if (!isAvailable) return;
62
- window.addEventListener("storage", listenerForKey(listener));
63
- }, [isAvailable, listenerForKey]);
64
- const detachListener = (0, react.useCallback)((listener) => {
65
- if (!isAvailable) return;
66
- window.removeEventListener("storage", listenerForKey(listener));
67
- }, [isAvailable, listenerForKey]);
68
- const value = (0, react.useMemo)(() => ({
69
- setItem,
70
- getItem,
71
- setSpiffyOnFeatureFlag,
72
- getSpiffyOnFeatureFlag,
73
- attachListener,
74
- detachListener,
75
- isAvailable
76
- }), [
77
- setItem,
78
- getItem,
79
- setSpiffyOnFeatureFlag,
80
- getSpiffyOnFeatureFlag,
81
- attachListener,
82
- detachListener,
83
- isAvailable
84
- ]);
85
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalStorageContext.Provider, {
86
- value,
87
- children
88
- });
89
- };
90
- const useLocalStorage = () => {
91
- const context = (0, react.useContext)(LocalStorageContext);
92
- if (!context) throw new Error("useLocalStorage must be used within a LocalStorageProvider");
93
- return context;
94
- };
95
-
96
- //#endregion
97
- Object.defineProperty(exports, 'LocalStorageKeys', {
98
- enumerable: true,
99
- get: function () {
100
- return LocalStorageKeys;
101
- }
102
- });
103
- Object.defineProperty(exports, 'LocalStorageProvider', {
104
- enumerable: true,
105
- get: function () {
106
- return LocalStorageProvider;
107
- }
108
- });
109
- Object.defineProperty(exports, 'useLocalStorage', {
110
- enumerable: true,
111
- get: function () {
112
- return useLocalStorage;
113
- }
114
- });
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlQ29udGV4dC1OUlAtQ2RtRi5janMiLCJuYW1lcyI6WyJMb2NhbFN0b3JhZ2VQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+IiwidmFsdWUiXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dC9sb2NhbFN0b3JhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZUVmZmVjdCxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgTG9nZ2VyIGZyb20gXCJzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXJcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9sb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyXCI7XG5cbmV4cG9ydCBlbnVtIExvY2FsU3RvcmFnZUtleXMge1xuICBDaGF0SWQgPSBcInYxLXNwaWZmeS1jaGF0LXNlc3Npb24taWRcIixcbiAgU3BpZmZ5T25PdmVycmlkZSA9IFwic3BpZmZ5X29uXCIsXG4gIEVudml2ZU9uT3ZlcnJpZGUgPSBcImVudml2ZV9vblwiLFxufVxuXG5pbnRlcmZhY2UgTG9jYWxTdG9yYWdlQ29udGV4dFR5cGUge1xuICBzZXRJdGVtOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKHZhbHVlOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKCkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgYXR0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgZGV0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgaXNBdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbmNvbnN0IExvY2FsU3RvcmFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PExvY2FsU3RvcmFnZUNvbnRleHRUeXBlIHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBMb2NhbFN0b3JhZ2VQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHtcbiAgY2hpbGRyZW4sXG59KSA9PiB7XG4gIGNvbnN0IGlzQXZhaWxhYmxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmICEhd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNBdmFpbGFibGUpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcihcImxvY2FsU3RvcmFnZSBpcyBub3QgYXZhaWxhYmxlXCIsIHVuZGVmaW5lZCk7XG4gICAgfVxuICB9LCBbaXNBdmFpbGFibGVdKTtcblxuICBjb25zdCBzZXRJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm47XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgU3RvcmFnZUV2ZW50KFwic3RvcmFnZVwiLCB7IGtleSwgbmV3VmFsdWU6IHZhbHVlIH0pXG4gICAgICApO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXVxuICApO1xuXG4gIGNvbnN0IGdldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdXG4gICk7XG5cbiAgY29uc3Qgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZyA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZTogYm9vbGVhbiB8IG51bGwpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMb2NhbFN0b3JhZ2VLZXlzLlNwaWZmeU9uT3ZlcnJpZGUsIFwidHJ1ZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgXCJmYWxzZVwiKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZV1cbiAgKTtcblxuICBjb25zdCBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soKCk6IHN0cmluZyB8IG51bGwgPT4ge1xuICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybiBudWxsO1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VLZXlzLlNwaWZmeU9uT3ZlcnJpZGUpO1xuICB9LCBbaXNBdmFpbGFibGVdKTtcblxuICBjb25zdCBsaXN0ZW5lcnNDYWNoZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gbmV3IE1hcDxzdHJpbmcsIChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB2b2lkPigpLFxuICAgIFtdXG4gICk7XG5cbiAgY29uc3QgbGlzdGVuZXJGb3JLZXkgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiAoKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQpID0+IHtcbiAgICAgIGlmICghbGlzdGVuZXJzQ2FjaGUuaGFzKGxpc3RlbmVyLnN0b3JhZ2VLZXkpKSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgIT09IGxpc3RlbmVyLnN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgICAgYFtzcGlmZnktYWldIFN0b3JhZ2UgZXZlbnQga2V5PSR7ZXZlbnQua2V5fSwgdmFsdWU9YCxcbiAgICAgICAgICAgIGV2ZW50Lm5ld1ZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBsaXN0ZW5lci5saXN0ZW5lcihldmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGxpc3RlbmVyc0NhY2hlLnNldChsaXN0ZW5lci5zdG9yYWdlS2V5LCBoYW5kbGVyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0ZW5lcnNDYWNoZS5nZXQobGlzdGVuZXIuc3RvcmFnZUtleSkhO1xuICAgIH0sXG4gICAgW2xpc3RlbmVyc0NhY2hlXVxuICApO1xuXG4gIGNvbnN0IGF0dGFjaExpc3RlbmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm47XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInN0b3JhZ2VcIiwgbGlzdGVuZXJGb3JLZXkobGlzdGVuZXIpKTtcbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZSwgbGlzdGVuZXJGb3JLZXldXG4gICk7XG5cbiAgY29uc3QgZGV0YWNoTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV1cbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNldEl0ZW0sXG4gICAgICBnZXRJdGVtLFxuICAgICAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGdldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBhdHRhY2hMaXN0ZW5lcixcbiAgICAgIGRldGFjaExpc3RlbmVyLFxuICAgICAgaXNBdmFpbGFibGUsXG4gICAgfSksXG4gICAgW1xuICAgICAgc2V0SXRlbSxcbiAgICAgIGdldEl0ZW0sXG4gICAgICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGF0dGFjaExpc3RlbmVyLFxuICAgICAgZGV0YWNoTGlzdGVuZXIsXG4gICAgICBpc0F2YWlsYWJsZSxcbiAgICBdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TG9jYWxTdG9yYWdlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTG9jYWxTdG9yYWdlQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KExvY2FsU3RvcmFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcInVzZUxvY2FsU3RvcmFnZSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTG9jYWxTdG9yYWdlUHJvdmlkZXJcIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVVBLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQWFGLE1BQU0sK0NBQW9FLEtBQUs7QUFFL0UsTUFBYUEsd0JBQWlFLEVBQzVFLGVBQ0k7Q0FDSixNQUFNLHVDQUE0QjtBQUNoQyxNQUFJO0FBQ0YsVUFBTyxPQUFPLFdBQVcsZUFBZSxDQUFDLENBQUMsT0FBTztVQUMzQztBQUNOLFVBQU87O0lBRVIsRUFBRSxDQUFDO0FBRU4sNEJBQWdCO0FBQ2QsTUFBSSxDQUFDLFlBQ0gsK0JBQU8sU0FBUyxpQ0FBaUMsT0FBVTtJQUU1RCxDQUFDLFlBQVksQ0FBQztDQUVqQixNQUFNLGtDQUNILEtBQWEsWUFBa0I7QUFDOUIsTUFBSSxDQUFDLFlBQWE7QUFDbEIsZUFBYSxRQUFRLEtBQUtDLFFBQU07QUFDaEMsU0FBTyxjQUNMLElBQUksYUFBYSxXQUFXO0dBQUU7R0FBSyxVQUFVQTtHQUFPLENBQUMsQ0FDdEQ7SUFFSCxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0sa0NBQ0gsUUFBZ0I7QUFDZixNQUFJLENBQUMsWUFBYSxRQUFPO0FBQ3pCLFNBQU8sYUFBYSxRQUFRLElBQUk7SUFFbEMsQ0FBQyxZQUFZLENBQ2Q7Q0FFRCxNQUFNLGlEQUNILFlBQWdDO0FBQy9CLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLE1BQUlBLFlBQVUsS0FDWixjQUFhLFFBQVEsaUJBQWlCLGtCQUFrQixPQUFPO1dBQ3REQSxZQUFVLE1BQ25CLGNBQWEsUUFBUSxpQkFBaUIsa0JBQWtCLFFBQVE7SUFHcEUsQ0FBQyxZQUFZLENBQ2Q7Q0FFRCxNQUFNLHNEQUEwRDtBQUM5RCxNQUFJLENBQUMsWUFBYSxRQUFPO0FBQ3pCLFNBQU8sYUFBYSxRQUFRLGlCQUFpQixpQkFBaUI7SUFDN0QsQ0FBQyxZQUFZLENBQUM7Q0FFakIsTUFBTSwwREFDRSxJQUFJLEtBQTRDLEVBQ3RELEVBQUUsQ0FDSDtDQUVELE1BQU0seUNBQ0gsYUFBeUU7QUFDeEUsTUFBSSxDQUFDLGVBQWUsSUFBSSxTQUFTLFdBQVcsRUFBRTtHQUM1QyxNQUFNLFdBQVcsVUFBd0I7QUFDdkMsUUFBSSxNQUFNLFFBQVEsU0FBUyxXQUN6QjtBQUVGLGtDQUFPLFNBQ0wsaUNBQWlDLE1BQU0sSUFBSSxXQUMzQyxNQUFNLFNBQ1A7QUFDRCxhQUFTLFNBQVMsTUFBTTs7QUFFMUIsa0JBQWUsSUFBSSxTQUFTLFlBQVksUUFBUTs7QUFFbEQsU0FBTyxlQUFlLElBQUksU0FBUyxXQUFXO0lBRWhELENBQUMsZUFBZSxDQUNqQjtDQUVELE1BQU0seUNBQ0gsYUFBOEM7QUFDN0MsTUFBSSxDQUFDLFlBQWE7QUFDbEIsU0FBTyxpQkFBaUIsV0FBVyxlQUFlLFNBQVMsQ0FBQztJQUU5RCxDQUFDLGFBQWEsZUFBZSxDQUM5QjtDQUVELE1BQU0seUNBQ0gsYUFBOEM7QUFDN0MsTUFBSSxDQUFDLFlBQWE7QUFDbEIsU0FBTyxvQkFBb0IsV0FBVyxlQUFlLFNBQVMsQ0FBQztJQUVqRSxDQUFDLGFBQWEsZUFBZSxDQUM5QjtDQUVELE1BQU0sa0NBQ0c7RUFDTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELEdBQ0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQ0Y7QUFFRCxRQUNFLDJDQUFDLG9CQUFvQjtFQUFnQjtFQUNsQztHQUM0Qjs7QUFJbkMsTUFBYSx3QkFBd0I7Q0FDbkMsTUFBTSxnQ0FBcUIsb0JBQW9CO0FBQy9DLEtBQUksQ0FBQyxRQUNILE9BQU0sSUFBSSxNQUNSLDZEQUNEO0FBRUgsUUFBTyJ9