@envive-ai/react-hooks 0.2.6-alpha-arthur-1 → 0.2.6-alpha-marlo.0

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 (674) hide show
  1. package/dist/{NewOrgConfig-CUQGpmw9.js → NewOrgConfig-BfbTlFg1.js} +2 -2
  2. package/dist/{NewOrgConfig-DD0oloeK.cjs → NewOrgConfig-DJm6_abA.cjs} +2 -2
  3. package/dist/SystemSettingsContext-6ZHzQkCE.cjs +20 -0
  4. package/dist/SystemSettingsContext-BbTKNBvJ.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-BJgNOypY.js +52 -0
  6. package/dist/TrackComponentVisibleEvent-BRC2FTp-.cjs +59 -0
  7. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  8. package/dist/amplitudeContext-CZUzMXHl.d.ts +52 -0
  9. package/dist/api-BWSsazAG.js +166 -0
  10. package/dist/api-DeW6rHj3.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 +3 -2
  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 +23 -7
  23. package/dist/application/models/index.d.cts +11 -167
  24. package/dist/application/models/index.d.ts +12 -168
  25. package/dist/application/models/index.js +11 -7
  26. package/dist/application/models/utilityTypes/index.cjs +1 -0
  27. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  28. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  29. package/dist/application/models/utilityTypes/index.js +3 -0
  30. package/dist/application/models/variantInfo/index.cjs +3 -0
  31. package/dist/application/models/variantInfo/index.d.cts +2 -0
  32. package/dist/application/models/variantInfo/index.d.ts +2 -0
  33. package/dist/application/models/variantInfo/index.js +3 -0
  34. package/dist/application/utils/index.cjs +19 -10
  35. package/dist/application/utils/index.d.cts +61 -11
  36. package/dist/application/utils/index.d.ts +63 -13
  37. package/dist/application/utils/index.js +19 -10
  38. package/dist/{atomStore-CZKe3itM.cjs → atomStore-DNji91Im.cjs} +1 -1
  39. package/dist/{atomStore-BuopbV9k.js → atomStore-DXTVqiKc.js} +1 -1
  40. package/dist/atoms/app/index.cjs +24 -22
  41. package/dist/atoms/app/index.d.cts +20 -9
  42. package/dist/atoms/app/index.d.ts +19 -8
  43. package/dist/atoms/app/index.js +19 -17
  44. package/dist/atoms/atomStore/index.cjs +1 -1
  45. package/dist/atoms/atomStore/index.d.ts +1 -1
  46. package/dist/atoms/atomStore/index.js +1 -1
  47. package/dist/atoms/chat/index.cjs +21 -20
  48. package/dist/atoms/chat/index.d.cts +45 -36
  49. package/dist/atoms/chat/index.d.ts +43 -34
  50. package/dist/atoms/chat/index.js +21 -20
  51. package/dist/atoms/globalSearch/index.cjs +2 -1
  52. package/dist/atoms/globalSearch/index.d.cts +6 -6
  53. package/dist/atoms/globalSearch/index.d.ts +5 -5
  54. package/dist/atoms/globalSearch/index.js +2 -1
  55. package/dist/atoms/org/index.cjs +11 -10
  56. package/dist/atoms/org/index.d.cts +31 -19
  57. package/dist/atoms/org/index.d.ts +31 -19
  58. package/dist/atoms/org/index.js +3 -2
  59. package/dist/atoms/search/index.cjs +47 -7
  60. package/dist/atoms/search/index.d.cts +14 -76
  61. package/dist/atoms/search/index.d.ts +14 -76
  62. package/dist/atoms/search/index.js +29 -7
  63. package/dist/atoms/search/types.cjs +5 -0
  64. package/dist/atoms/search/types.d.cts +2 -0
  65. package/dist/atoms/search/types.d.ts +2 -0
  66. package/dist/atoms/search/types.js +3 -0
  67. package/dist/atoms/search/utils.cjs +1 -1
  68. package/dist/atoms/search/utils.d.cts +1 -1
  69. package/dist/atoms/search/utils.js +1 -1
  70. package/dist/cdnContext-CEGBVVBU.js +38 -0
  71. package/dist/cdnContext-DOSIofl8.cjs +53 -0
  72. package/dist/chat-CqPuT9_V.cjs +393 -0
  73. package/dist/chat-DH70QqJp.js +257 -0
  74. package/dist/chatElementDisplayLocation-CpgV2wR1.d.ts +25 -0
  75. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  76. package/dist/chatSearch-C7Y-hb-6.js +295 -0
  77. package/dist/chatSearch-DLV4BUGA.cjs +418 -0
  78. package/dist/chatState-CcFtSqJT.cjs +120 -0
  79. package/dist/chatState-DKnNHmwe.js +34 -0
  80. package/dist/config/index.d.cts +4 -4
  81. package/dist/config/index.d.ts +4 -4
  82. package/dist/config/locators/components/chat/index.d.cts +1 -1
  83. package/dist/config/locators/components/chat/index.d.ts +1 -1
  84. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  85. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  86. package/dist/config/locators/components/common/index.d.cts +1 -1
  87. package/dist/config/locators/components/common/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.d.cts +1 -1
  89. package/dist/config/locators/components/index.d.ts +1 -1
  90. package/dist/config/locators/components/search/index.d.cts +1 -1
  91. package/dist/config/locators/components/search/index.d.ts +1 -1
  92. package/dist/config/locators/index.d.cts +4 -4
  93. package/dist/config/locators/index.d.ts +4 -4
  94. package/dist/contexts/amplitudeContext/index.cjs +22 -23
  95. package/dist/contexts/amplitudeContext/index.d.cts +2 -11
  96. package/dist/contexts/amplitudeContext/index.d.ts +2 -11
  97. package/dist/contexts/amplitudeContext/index.js +20 -22
  98. package/dist/contexts/cdnContext/index.cjs +4 -4
  99. package/dist/contexts/cdnContext/index.d.cts +6 -2
  100. package/dist/contexts/cdnContext/index.d.ts +6 -2
  101. package/dist/contexts/cdnContext/index.js +4 -4
  102. package/dist/contexts/chatContext/index.cjs +326 -0
  103. package/dist/contexts/chatContext/index.d.cts +15 -0
  104. package/dist/contexts/chatContext/index.d.ts +15 -0
  105. package/dist/contexts/chatContext/index.js +319 -0
  106. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  107. package/dist/contexts/enviveConfigContext/index.d.cts +24 -3
  108. package/dist/contexts/enviveConfigContext/index.d.ts +24 -3
  109. package/dist/contexts/enviveConfigContext/index.js +4 -4
  110. package/dist/contexts/enviveCssContext/index.cjs +19 -15
  111. package/dist/contexts/enviveCssContext/index.d.cts +5 -3
  112. package/dist/contexts/enviveCssContext/index.d.ts +5 -3
  113. package/dist/contexts/enviveCssContext/index.js +19 -15
  114. package/dist/contexts/featureFlagContext/index.cjs +10 -9
  115. package/dist/contexts/featureFlagContext/index.d.cts +11 -3
  116. package/dist/contexts/featureFlagContext/index.d.ts +11 -3
  117. package/dist/contexts/featureFlagContext/index.js +7 -6
  118. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -4
  119. package/dist/contexts/featureFlagServiceContext/index.d.cts +4 -1
  120. package/dist/contexts/featureFlagServiceContext/index.d.ts +4 -1
  121. package/dist/contexts/featureFlagServiceContext/index.js +3 -4
  122. package/dist/contexts/graphqlContext/index.cjs +13 -8
  123. package/dist/contexts/graphqlContext/index.d.cts +14 -11
  124. package/dist/contexts/graphqlContext/index.d.ts +14 -11
  125. package/dist/contexts/graphqlContext/index.js +13 -8
  126. package/dist/contexts/localStorageContext/index.cjs +3 -3
  127. package/dist/contexts/localStorageContext/index.d.cts +22 -3
  128. package/dist/contexts/localStorageContext/index.d.ts +22 -3
  129. package/dist/contexts/localStorageContext/index.js +3 -4
  130. package/dist/contexts/newOrgConfigContext/index.cjs +17 -13
  131. package/dist/contexts/newOrgConfigContext/index.d.cts +15 -12
  132. package/dist/contexts/newOrgConfigContext/index.d.ts +15 -12
  133. package/dist/contexts/newOrgConfigContext/index.js +17 -13
  134. package/dist/contexts/searchContext/index.cjs +24 -23
  135. package/dist/contexts/searchContext/index.d.cts +7 -2
  136. package/dist/contexts/searchContext/index.d.ts +7 -2
  137. package/dist/contexts/searchContext/index.js +24 -23
  138. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  139. package/dist/contexts/sessionStorageContext/index.d.cts +6 -2
  140. package/dist/contexts/sessionStorageContext/index.d.ts +6 -2
  141. package/dist/contexts/sessionStorageContext/index.js +2 -2
  142. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  143. package/dist/contexts/shopifyUrlContext/index.d.cts +11 -2
  144. package/dist/contexts/shopifyUrlContext/index.d.ts +11 -2
  145. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  146. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  147. package/dist/contexts/systemSettingsContext/index.d.cts +14 -4
  148. package/dist/contexts/systemSettingsContext/index.d.ts +16 -6
  149. package/dist/contexts/systemSettingsContext/index.js +4 -4
  150. package/dist/contexts/types.cjs +7 -0
  151. package/dist/contexts/types.d.cts +4 -0
  152. package/dist/contexts/types.d.ts +4 -0
  153. package/dist/contexts/types.js +3 -0
  154. package/dist/contexts/userIdentityContext/index.cjs +21 -19
  155. package/dist/contexts/userIdentityContext/index.d.cts +2 -11
  156. package/dist/contexts/userIdentityContext/index.d.ts +2 -11
  157. package/dist/contexts/userIdentityContext/index.js +19 -17
  158. package/dist/domObserver-Bqf3ooj8.cjs +304 -0
  159. package/dist/{domObserver-LCBj1xw4.cjs → domObserver-v9ODTyfT.js} +4 -23
  160. package/dist/enviveConfig-DZBohDpc.js +62 -0
  161. package/dist/enviveConfig-Dv9-esGV.cjs +130 -0
  162. package/dist/enviveConfigContext-D2OELZDR.cjs +60 -0
  163. package/dist/enviveConfigContext-DrDjCems.js +45 -0
  164. package/dist/events/index.cjs +3 -2
  165. package/dist/events/index.d.cts +15 -2
  166. package/dist/events/index.d.ts +15 -2
  167. package/dist/events/index.js +2 -2
  168. package/dist/events-DYY4l817.cjs +90 -0
  169. package/dist/events-DyUix-Bn.js +78 -0
  170. package/dist/featureFlagServiceContext-Be_LUbFf.d.cts +23 -0
  171. package/dist/featureFlagServiceContext-CJyYItqu.cjs +62 -0
  172. package/dist/featureFlagServiceContext-FBM6DdMJ.js +42 -0
  173. package/dist/featureFlagServiceContext-V0J-69ty.d.ts +23 -0
  174. package/dist/featureGates-KEwAL8p_.js +26 -0
  175. package/dist/featureGates-qU_ulhpC.cjs +32 -0
  176. package/dist/frontendConfig-CeWhVevA.d.ts +857 -0
  177. package/dist/frontendConfig-OWWJmuPc.d.cts +857 -0
  178. package/dist/globalSearch-B9DRBxSM.cjs +0 -0
  179. package/dist/globalSearch-BpGfkuXz.js +1 -0
  180. package/dist/{globalSearch-nmrfGLOn.js → globalSearch-Ccxq8hNF.js} +1 -1
  181. package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-FBk2epe8.cjs} +1 -1
  182. package/dist/graphql-3PxNRFOc.js +36 -0
  183. package/dist/graphql-DGYfelZp.cjs +53 -0
  184. package/dist/graphqlConfig-GHZ1UgCw.cjs +73 -0
  185. package/dist/graphqlConfig-mDg6J44N.js +24 -0
  186. package/dist/graphqlContext-BQA6gnpH.d.ts +28 -0
  187. package/dist/graphqlContext-Ci5GRAdH.js +96 -0
  188. package/dist/graphqlContext-D67VEQg3.d.cts +28 -0
  189. package/dist/graphqlContext-W0cZNBf1.cjs +111 -0
  190. package/dist/hooks/AmplitudeOperations/index.cjs +22 -23
  191. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  192. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  193. package/dist/hooks/AmplitudeOperations/index.js +21 -22
  194. package/dist/hooks/AppDetails/index.cjs +22 -20
  195. package/dist/hooks/AppDetails/index.d.cts +23 -3
  196. package/dist/hooks/AppDetails/index.d.ts +23 -3
  197. package/dist/hooks/AppDetails/index.js +22 -20
  198. package/dist/hooks/CdnOperations/index.cjs +4 -4
  199. package/dist/hooks/CdnOperations/index.js +4 -4
  200. package/dist/hooks/ChatToggle/index.cjs +25 -28
  201. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  202. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  203. package/dist/hooks/ChatToggle/index.js +22 -25
  204. package/dist/hooks/ChatToggleAnalytics/index.cjs +24 -25
  205. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  206. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  207. package/dist/hooks/ChatToggleAnalytics/index.js +23 -24
  208. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  209. package/dist/hooks/CustomerSupportHandoff/index.d.cts +1 -1
  210. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  211. package/dist/hooks/Debounce/index.cjs +2 -20
  212. package/dist/hooks/Debounce/index.d.cts +1 -1
  213. package/dist/hooks/Debounce/index.d.ts +1 -1
  214. package/dist/hooks/Debounce/index.js +2 -18
  215. package/dist/hooks/ElementObserver/index.cjs +6 -4
  216. package/dist/hooks/ElementObserver/index.d.cts +25 -4
  217. package/dist/hooks/ElementObserver/index.d.ts +25 -4
  218. package/dist/hooks/ElementObserver/index.js +6 -4
  219. package/dist/hooks/FloatingButtonVisibility/index.cjs +73 -0
  220. package/dist/hooks/FloatingButtonVisibility/index.d.cts +7 -0
  221. package/dist/hooks/FloatingButtonVisibility/index.d.ts +7 -0
  222. package/dist/hooks/FloatingButtonVisibility/index.js +69 -0
  223. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  224. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  225. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  226. package/dist/hooks/GrabAndScroll/index.js +1 -1
  227. package/dist/hooks/GraphQLConfig/index.cjs +14 -9
  228. package/dist/hooks/GraphQLConfig/index.d.cts +13 -2
  229. package/dist/hooks/GraphQLConfig/index.d.ts +13 -2
  230. package/dist/hooks/GraphQLConfig/index.js +14 -9
  231. package/dist/hooks/IdentifyUser/index.cjs +21 -19
  232. package/dist/hooks/IdentifyUser/index.js +20 -18
  233. package/dist/hooks/ImageResolver/index.cjs +29 -20
  234. package/dist/hooks/ImageResolver/index.d.ts +1 -1
  235. package/dist/hooks/ImageResolver/index.js +29 -20
  236. package/dist/hooks/Intersection/index.cjs +1 -1
  237. package/dist/hooks/Intersection/index.js +1 -1
  238. package/dist/hooks/LastInteraction/index.cjs +34 -0
  239. package/dist/hooks/LastInteraction/index.d.cts +17 -0
  240. package/dist/hooks/LastInteraction/index.d.ts +17 -0
  241. package/dist/hooks/LastInteraction/index.js +32 -0
  242. package/dist/hooks/LocalStorageOperations/index.cjs +7 -8
  243. package/dist/hooks/LocalStorageOperations/index.js +3 -4
  244. package/dist/hooks/MessageFilter/index.cjs +12 -3
  245. package/dist/hooks/MessageFilter/index.d.cts +17 -2
  246. package/dist/hooks/MessageFilter/index.d.ts +17 -2
  247. package/dist/hooks/MessageFilter/index.js +11 -2
  248. package/dist/hooks/NewOrgConfig/index.cjs +18 -14
  249. package/dist/hooks/NewOrgConfig/index.d.cts +16 -3
  250. package/dist/hooks/NewOrgConfig/index.d.ts +16 -3
  251. package/dist/hooks/NewOrgConfig/index.js +18 -14
  252. package/dist/hooks/Search/index.cjs +173 -314
  253. package/dist/hooks/Search/index.d.cts +57 -3
  254. package/dist/hooks/Search/index.d.ts +57 -3
  255. package/dist/hooks/Search/index.js +162 -302
  256. package/dist/hooks/SearchOperations/index.cjs +25 -24
  257. package/dist/hooks/SearchOperations/index.d.cts +3 -2
  258. package/dist/hooks/SearchOperations/index.d.ts +3 -2
  259. package/dist/hooks/SearchOperations/index.js +25 -24
  260. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  261. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  262. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  263. package/dist/hooks/ShopifyUrlOperations/index.d.cts +4 -2
  264. package/dist/hooks/ShopifyUrlOperations/index.d.ts +4 -2
  265. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  266. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  267. package/dist/hooks/SnapCalculator/index.d.cts +3 -4
  268. package/dist/hooks/SnapCalculator/index.d.ts +3 -4
  269. package/dist/hooks/SnapCalculator/index.js +1 -1
  270. package/dist/hooks/SystemSettingsContext/index.cjs +6 -17
  271. package/dist/hooks/SystemSettingsContext/index.d.cts +15 -5
  272. package/dist/hooks/SystemSettingsContext/index.d.ts +14 -4
  273. package/dist/hooks/SystemSettingsContext/index.js +6 -15
  274. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -23
  275. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +3 -2
  276. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +3 -2
  277. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -23
  278. package/dist/hooks/UpdateAnalyticsProps/index.cjs +24 -26
  279. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -22
  280. package/dist/hooks/utils.cjs +1 -1
  281. package/dist/hooks/utils.d.cts +13 -20
  282. package/dist/hooks/utils.d.ts +13 -20
  283. package/dist/hooks/utils.js +1 -1
  284. package/dist/{index-npqPeJ1g.d.cts → index-9NE86em3.d.cts} +1 -1
  285. package/dist/index-BeGt0Aw3.d.cts +186 -0
  286. package/dist/{index-CsmO1rDH.d.ts → index-BeYfyZ6k.d.ts} +1 -1
  287. package/dist/index-Bmub8e38.d.cts +98 -0
  288. package/dist/index-CCa4tZuO.d.ts +184 -0
  289. package/dist/index-CESxqFso.d.cts +228 -0
  290. package/dist/index-CgAfoNpB.d.ts +1 -0
  291. package/dist/index-CiWEYzXl.d.cts +184 -0
  292. package/dist/index-Cyq5HiC0.d.cts +44 -0
  293. package/dist/index-D4c-port.d.ts +676 -0
  294. package/dist/{index-jFQefHda.d.ts → index-DJTrxIFJ.d.ts} +1 -1
  295. package/dist/{index-CAJq_8bO.d.cts → index-Da1s8h5C.d.cts} +1 -1
  296. package/dist/index-DazMsEy_.d.ts +44 -0
  297. package/dist/index-Dfwnna1j.d.ts +228 -0
  298. package/dist/{index-ChiZg0yw.d.cts → index-DzbkQtaK.d.cts} +1 -1
  299. package/dist/{index-BbqT4BQv.d.cts → index-FQjyuD3D.d.cts} +1 -1
  300. package/dist/index-O33GSSRr.d.cts +676 -0
  301. package/dist/index-RcVcRKH7.d.cts +1 -0
  302. package/dist/index-bjMvkcBF.d.ts +98 -0
  303. package/dist/{index-mv7KvWDq.d.ts → index-h809JLbL.d.ts} +1 -1
  304. package/dist/{index-DtzPIcQp.d.ts → index-xHVrsrbz.d.ts} +1 -1
  305. package/dist/index-xhBQ1HBx.d.ts +186 -0
  306. package/dist/interceptors/index.cjs +3 -28
  307. package/dist/interceptors/index.d.cts +15 -4
  308. package/dist/interceptors/index.d.ts +15 -4
  309. package/dist/interceptors/index.js +3 -25
  310. package/dist/interceptors/types.cjs +1 -0
  311. package/dist/interceptors/types.d.cts +13 -0
  312. package/dist/interceptors/types.d.ts +13 -0
  313. package/dist/interceptors/types.js +3 -0
  314. package/dist/localStorageContext-BPZ82q-G.js +95 -0
  315. package/dist/localStorageContext-NRP-CdmF.cjs +115 -0
  316. package/dist/{logger-BqHq67zN.cjs → logger-TBIl4uIH.cjs} +1 -1
  317. package/dist/{logger-BMVdhQOV.js → logger-W3lqg-4b.js} +1 -1
  318. package/dist/models-D-4db7XW.cjs +1537 -0
  319. package/dist/models-c86hYW-F.js +1296 -0
  320. package/dist/{newOrgConfigAtom-CDttTiuu.cjs → newOrgConfigAtom-DxILMn2I.cjs} +1 -1
  321. package/dist/newOrgConfigAtom-sqve6LZU.js +8 -0
  322. package/dist/newOrgConfigContext-5Bw7RwT-.d.cts +16 -0
  323. package/dist/newOrgConfigContext-CS8IA5Eg.d.ts +16 -0
  324. package/dist/newOrgConfigContext-Cl4H9c3q.cjs +68 -0
  325. package/dist/newOrgConfigContext-DQiuf8nd.js +53 -0
  326. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  327. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  328. package/dist/org-DlAesvQ_.cjs +43 -0
  329. package/dist/org-vi0njpBh.js +12 -0
  330. package/dist/search-1NQLQD9d.d.ts +20 -0
  331. package/dist/search-CXXslzAO.cjs +205 -0
  332. package/dist/search-DBSMrXWv.js +126 -0
  333. package/dist/search-filter-types-BxaNSLs_.d.cts +102 -0
  334. package/dist/search-filter-types-DPgeG8FS.d.ts +102 -0
  335. package/dist/search-y-ioX5Mz.d.cts +20 -0
  336. package/dist/searchContext-DXW6xvXv.cjs +145 -0
  337. package/dist/searchContext-mvwUJncR.js +129 -0
  338. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  339. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  340. package/dist/sessionStorageContext-1Ks_d4Z0.cjs +66 -0
  341. package/dist/sessionStorageContext-CDcl7NVl.js +52 -0
  342. package/dist/shopifyUrlContext-CejRZfj7.js +61 -0
  343. package/dist/shopifyUrlContext-lnHoAOEf.cjs +75 -0
  344. package/dist/spiffyWidgets-B1uc84_g.d.ts +20 -0
  345. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  346. package/dist/systemSettingsContext-B0Kyq7nA.cjs +60 -0
  347. package/dist/systemSettingsContext-CVUxEcsU.js +39 -0
  348. package/dist/test-types-ThQiO_cc.d.cts +40 -0
  349. package/dist/test-types-y6kp-tiw.d.ts +40 -0
  350. package/dist/types/index.cjs +48 -3
  351. package/dist/types/index.d.cts +17 -2
  352. package/dist/types/index.d.ts +17 -2
  353. package/dist/types/index.js +44 -2
  354. package/dist/types-BCz-hOvv.d.ts +51 -0
  355. package/dist/types-CKMMb_gX.d.cts +51 -0
  356. package/dist/types-CKPddlfS.cjs +0 -0
  357. package/dist/types-CS0Hrzja.js +30 -0
  358. package/dist/types-CtUb63bt.js +76 -0
  359. package/dist/types-CxObxLKs.cjs +48 -0
  360. package/dist/types-Db5Eux6K.d.ts +10 -0
  361. package/dist/types-Dc6hx6ei.js +1 -0
  362. package/dist/types-UUvB6h05.cjs +106 -0
  363. package/dist/types-zQGBI-Yo.d.cts +10 -0
  364. package/dist/types.cjs +0 -0
  365. package/dist/types.d.cts +34 -0
  366. package/dist/types.d.ts +34 -0
  367. package/dist/types.js +1 -0
  368. package/dist/urlsParser-COzMdJaX.cjs +78 -0
  369. package/dist/urlsParser-DxjoLj98.js +42 -0
  370. package/dist/useAmplitudeOperations-DYs1h8a_.js +34 -0
  371. package/dist/useAmplitudeOperations-jqa7K9dH.cjs +41 -0
  372. package/dist/useAppDetails-BRUqZEyt.js +30 -0
  373. package/dist/useAppDetails-C71k0brz.cjs +38 -0
  374. package/dist/useDebounce-DZ8Cgiwc.cjs +26 -0
  375. package/dist/useDebounce-v9cezyjn.js +19 -0
  376. package/dist/useGraphQLConfig-5VwS9Q_Z.js +63 -0
  377. package/dist/useGraphQLConfig-Cj26_J9I.cjs +76 -0
  378. package/dist/{useIntersection-BkMkuJcZ.js → useIntersection-Cncgxdmy.js} +1 -1
  379. package/dist/{useIntersection-BcBCa890.cjs → useIntersection-m4PEpvG7.cjs} +1 -1
  380. package/dist/useMessageInterceptor-BjGP_uXm.js +25 -0
  381. package/dist/useMessageInterceptor-arAqUq1Q.cjs +33 -0
  382. package/dist/userIdentityContext-BVODeTlN.d.ts +20 -0
  383. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  384. package/dist/utilityTypes-B2KuRn37.js +1 -0
  385. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  386. package/dist/{utils-Buo4KU5l.cjs → utils-2SWrJ12w.cjs} +1 -1
  387. package/dist/utils-BxPPugeP.d.cts +22 -0
  388. package/dist/{utils-CiJLDPjY.cjs → utils-CDw74BCO.cjs} +1 -1
  389. package/dist/utils-CLGXsOwE.cjs +1591 -0
  390. package/dist/utils-Covisryh.d.ts +22 -0
  391. package/dist/{utils-BRNaQkCK.js → utils-CqBxIpEV.js} +1 -1
  392. package/dist/{utils-B1LVzQYK.js → utils-DIvMgPe8.js} +1 -1
  393. package/dist/utils-D_kATUj6.js +92 -0
  394. package/dist/{utils-BitIIghf.d.ts → utils-DpneNSJf.d.ts} +1 -1
  395. package/dist/utils-hYTjy7hJ.cjs +130 -0
  396. package/dist/utils-jYtD3hmA.js +1385 -0
  397. package/dist/variantInfo-BfKlkaWU.js +11 -0
  398. package/dist/variantInfo-DpLn4nHz.cjs +17 -0
  399. package/package.json +36 -9
  400. package/src/application/commerce-api.ts +37 -40
  401. package/src/application/models/api/context.ts +4 -0
  402. package/src/application/models/api/generationParams.ts +4 -0
  403. package/src/application/models/api/nextMessageRequest.ts +11 -0
  404. package/src/application/models/api/orgAnalyticsConfig.ts +19 -0
  405. package/src/application/models/api/orgConfigResults.ts +44 -0
  406. package/src/application/models/api/organizationConfig.ts +12 -0
  407. package/src/{types/ApiResponse.ts → application/models/api/response.ts} +29 -35
  408. package/src/application/models/api/responseGenerics.ts +67 -0
  409. package/src/application/models/api/search.ts +26 -0
  410. package/src/application/models/api/suggestion.ts +4 -0
  411. package/src/application/models/api/supportedEventRequest.ts +8 -0
  412. package/src/application/models/api/userEvent.ts +101 -0
  413. package/src/application/models/cachedValue.ts +8 -0
  414. package/src/application/models/chatElementDisplayLocation.ts +22 -0
  415. package/src/application/models/clientDetails.ts +18 -0
  416. package/src/application/models/colorsConfig.ts +28 -0
  417. package/src/application/models/conversationalSearchIds.ts +5 -0
  418. package/src/application/models/dataLayer.ts +45 -0
  419. package/src/application/models/events.ts +5 -0
  420. package/src/application/models/featureGates.ts +21 -0
  421. package/src/application/models/frontendConfig.ts +14 -0
  422. package/src/application/models/googleAnalyticsEvents.ts +8 -0
  423. package/src/application/models/graphql/index.ts +0 -1
  424. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +23 -1
  425. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +89 -1
  426. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  427. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  428. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +20 -2
  429. package/src/application/models/guards/api/isApiOrgConfigResults.ts +9 -3
  430. package/src/application/models/guards/api/isApiOrganizationConfig.ts +32 -8
  431. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -8
  432. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +10 -14
  433. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  434. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +4 -2
  435. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +6 -9
  436. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +4 -7
  437. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +3 -8
  438. package/src/application/models/guards/api/isApiResponse.ts +15 -22
  439. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  440. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  441. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  442. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  443. package/src/application/models/guards/isBaseEcommerceEvent.ts +2 -1
  444. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  445. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  446. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +3 -1
  447. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +3 -5
  448. package/src/application/models/guards/isVariantInfo.ts +1 -6
  449. package/src/application/models/index.ts +95 -30
  450. package/src/application/models/localStorageEventListener.ts +4 -0
  451. package/src/{types/Message.ts → application/models/message.ts} +34 -38
  452. package/src/application/models/mobilePLPChatPlacementParameter.ts +3 -0
  453. package/src/application/models/orgsEnum.ts +36 -0
  454. package/src/application/models/productExperiment.ts +5 -0
  455. package/src/application/models/spanxTakeAQuizCtaParameter.ts +4 -0
  456. package/src/application/models/spiffyWidgets.ts +16 -0
  457. package/src/application/models/utilityTypes/camelCase.ts +87 -0
  458. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +80 -0
  459. package/src/application/models/utilityTypes/delimiterCase.ts +121 -0
  460. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +98 -0
  461. package/src/application/models/utilityTypes/index.ts +1 -0
  462. package/src/application/models/utilityTypes/internal.ts +93 -0
  463. package/src/application/models/utilityTypes/primitive.ts +8 -0
  464. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +49 -0
  465. package/src/application/models/utilityTypes/splitWords.ts +76 -0
  466. package/src/application/models/utilityTypes/trim.ts +28 -0
  467. package/src/application/models/utilityTypes/unknownArray.ts +25 -0
  468. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  469. package/src/application/models/validators/validateGraphQLColorsConfig.ts +2 -6
  470. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  471. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +3 -5
  472. package/src/application/models/validators/validateOrgConfigResults.ts +5 -6
  473. package/src/application/models/validators/validateOrganizationConfig.ts +8 -11
  474. package/src/application/models/validators/validateResponse.ts +44 -66
  475. package/src/application/models/validators/validateSuggestion.ts +1 -1
  476. package/src/application/models/validators/validateUserEvent.ts +12 -23
  477. package/src/application/models/variantInfo/index.ts +1 -0
  478. package/src/application/models/variantInfo/pageVisitInfo.ts +6 -0
  479. package/src/application/models/variantInfo/plpInfo.ts +3 -0
  480. package/src/application/models/variantInfo/productInfo.ts +5 -0
  481. package/src/application/models/variantInfo/variantInfo.ts +29 -0
  482. package/src/application/utils/__tests__/divideArrays.test.ts +14 -0
  483. package/src/application/utils/analyticsUtils.ts +8 -1
  484. package/src/application/utils/cdnUtils.ts +11 -0
  485. package/src/application/utils/coreContextToApiContext.ts +1 -3
  486. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  487. package/src/application/utils/elementObserver.ts +1 -1
  488. package/src/application/utils/imageFilter.ts +2 -5
  489. package/src/application/utils/index.ts +21 -20
  490. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  491. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  492. package/src/application/utils/messageFromResponse.ts +10 -14
  493. package/src/application/utils/messageFromSuggestionEvent.ts +4 -6
  494. package/src/application/utils/mouseEventTypes.ts +1 -1
  495. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  496. package/src/application/utils/overrides.ts +49 -1
  497. package/src/application/utils/supportedEventRequestToApiRequest.ts +1 -3
  498. package/src/application/utils/urlsParser.ts +7 -1
  499. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  500. package/src/atoms/app/index.ts +25 -15
  501. package/src/atoms/app/variant.ts +1 -1
  502. package/src/atoms/chat/chatState.ts +4 -4
  503. package/src/atoms/chat/form.ts +1 -1
  504. package/src/atoms/chat/messageQueue.ts +50 -25
  505. package/src/atoms/chat/replies.ts +2 -1
  506. package/src/atoms/chat/suggestions.ts +29 -34
  507. package/src/atoms/envive/enviveConfig.ts +20 -14
  508. package/src/atoms/org/customerService.ts +8 -4
  509. package/src/atoms/org/graphqlConfig.ts +15 -7
  510. package/src/atoms/org/index.ts +6 -4
  511. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  512. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  513. package/src/atoms/search/chatSearch.ts +317 -0
  514. package/src/atoms/search/index.ts +1 -0
  515. package/src/atoms/search/productFilters.ts +52 -72
  516. package/src/atoms/search/productSorter.ts +2 -2
  517. package/src/atoms/search/searchAPI.ts +60 -42
  518. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  519. package/src/atoms/search/types.ts +55 -0
  520. package/src/config/divIds.ts +27 -0
  521. package/src/config/socialProofClasses.ts +17 -0
  522. package/src/contexts/amplitudeContext/amplitudeContext.tsx +57 -16
  523. package/src/contexts/cdnContext/cdnContext.tsx +6 -1
  524. package/src/contexts/chatContext/chatContext.tsx +509 -0
  525. package/src/contexts/chatContext/index.ts +1 -0
  526. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +26 -12
  527. package/src/contexts/enviveCssContext/enviveCssContext.tsx +12 -5
  528. package/src/contexts/featureFlagContext/featureFlagContext.tsx +48 -27
  529. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +3 -11
  530. package/src/contexts/graphqlContext/graphqlContext.tsx +95 -40
  531. package/src/contexts/localStorageContext/localStorageContext.tsx +60 -26
  532. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +22 -10
  533. package/src/contexts/searchContext/searchContext.tsx +49 -29
  534. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +33 -12
  535. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +37 -20
  536. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +21 -8
  537. package/src/contexts/types.ts +1067 -0
  538. package/src/contexts/userIdentityContext/userIdentityContext.tsx +77 -33
  539. package/src/events/event-types.ts +11 -0
  540. package/src/events/index.ts +5 -8
  541. package/src/events/registerAnalyticsListeners.ts +13 -10
  542. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +11 -6
  543. package/src/hooks/AppDetails/useAppDetails.ts +24 -10
  544. package/src/hooks/ChatToggle/useChatToggle.ts +19 -7
  545. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  546. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  547. package/src/hooks/ElementObserver/useElementObserver.ts +32 -14
  548. package/src/hooks/FloatingButtonVisibility/index.ts +1 -0
  549. package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +99 -0
  550. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +124 -125
  551. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +7 -5
  552. package/src/hooks/ImageResolver/useImageResolver.ts +31 -24
  553. package/src/hooks/LastInteraction/index.ts +1 -0
  554. package/src/hooks/LastInteraction/useLastInteraction.ts +42 -0
  555. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +19 -12
  556. package/src/hooks/MessageFilter/useMessageFilter.ts +7 -1
  557. package/src/hooks/Search/useSearch.tsx +217 -87
  558. package/src/hooks/SearchOperations/useSearchOperations.ts +12 -8
  559. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +14 -8
  560. package/src/hooks/SnapCalculator/useSnapCalculator.ts +2 -1
  561. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +11 -8
  562. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +25 -11
  563. package/src/hooks/utils.ts +29 -19
  564. package/src/interceptors/index.ts +2 -1
  565. package/src/interceptors/types.ts +6 -0
  566. package/src/interceptors/useMessageInterceptor.ts +6 -10
  567. package/src/merchants/domInsertion.ts +30 -0
  568. package/src/merchants/gridInsertion.ts +19 -0
  569. package/src/types/config-versions.ts +6 -0
  570. package/src/types/customerService.ts +31 -0
  571. package/src/types/custservice-types.ts +28 -0
  572. package/src/{exceptions → types/exceptions}/unsupportedProductExceptions.ts +2 -2
  573. package/src/types/floatingbuttonoverrides-types.ts +10 -0
  574. package/src/types/index.ts +5 -4
  575. package/src/types/search-filter-types.ts +111 -0
  576. package/src/types/suggestionBarV2-types.ts +4 -0
  577. package/src/types/test-types.ts +3 -0
  578. package/src/types.ts +27 -0
  579. package/dist/AmplitudeOperations-CXU93q_4.js +0 -34
  580. package/dist/AmplitudeOperations-_uIb5QED.cjs +0 -41
  581. package/dist/TrackComponentVisibleEvent-D-hN3owz.cjs +0 -60
  582. package/dist/TrackComponentVisibleEvent-D-pvNVOP.js +0 -53
  583. package/dist/amplitudeContext-DFXeRauX.js +0 -233
  584. package/dist/amplitudeContext-DrFGH7Q7.cjs +0 -249
  585. package/dist/amplitudeTrackEventAtom-D66l5oFp.js +0 -8
  586. package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +0 -15
  587. package/dist/api-D4HaU2Gf.js +0 -166
  588. package/dist/api-D4Xoibs9.cjs +0 -239
  589. package/dist/app-BT3g-mDp.js +0 -515
  590. package/dist/app-DxwdFQlv.cjs +0 -570
  591. package/dist/cdnContext-D-qi0lub.js +0 -38
  592. package/dist/cdnContext-DIVgBnsl.cjs +0 -53
  593. package/dist/chat-ZaY3KY-R.js +0 -226
  594. package/dist/chat-rhEjVfrd.cjs +0 -326
  595. package/dist/chatState-BbI93m6r.js +0 -33
  596. package/dist/chatState-DlJpHAsW.cjs +0 -119
  597. package/dist/dist-C38adNK1.js +0 -5923
  598. package/dist/dist-VxRI6eQv.cjs +0 -6019
  599. package/dist/domObserver-CVhsCSkS.js +0 -285
  600. package/dist/enviveConfig-CQ_8mT-g.cjs +0 -130
  601. package/dist/enviveConfig-Cwlp7-Qz.js +0 -62
  602. package/dist/enviveConfigContext-CIavPzcm.js +0 -47
  603. package/dist/enviveConfigContext-DHEs077z.cjs +0 -62
  604. package/dist/events-CgFGtanE.cjs +0 -69
  605. package/dist/events-WOOrnUAx.js +0 -63
  606. package/dist/exceptions/index.cjs +0 -4
  607. package/dist/exceptions/index.d.cts +0 -12
  608. package/dist/exceptions/index.d.ts +0 -12
  609. package/dist/exceptions/index.js +0 -3
  610. package/dist/exceptions-BjDgLzGi.cjs +0 -32
  611. package/dist/exceptions-CUGY31Ua.js +0 -20
  612. package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +0 -24
  613. package/dist/featureFlagServiceContext-CyPGEe2d.d.ts +0 -24
  614. package/dist/featureFlagServiceContext-Dr8Cw23n.js +0 -46
  615. package/dist/featureFlagServiceContext-rxZhpdEj.cjs +0 -66
  616. package/dist/graphql-CvAHWmel.js +0 -46
  617. package/dist/graphql-JaGqsToc.cjs +0 -70
  618. package/dist/graphqlContext-B8wuRZcp.cjs +0 -111
  619. package/dist/graphqlContext-CpHMbKoX.js +0 -96
  620. package/dist/index-5li6ZMDu.d.ts +0 -11
  621. package/dist/index-BVZbvpx_.d.cts +0 -11
  622. package/dist/index-CMZcE7pk.d.cts +0 -224
  623. package/dist/index-CuihhoIF.d.ts +0 -42
  624. package/dist/index-bEjLKG_Q.d.ts +0 -224
  625. package/dist/index-qOBU4GEh.d.cts +0 -42
  626. package/dist/localStorageContext-BFwvuEcf.js +0 -90
  627. package/dist/localStorageContext-CWc5xJ6U.cjs +0 -104
  628. package/dist/models-Cw0QcbQv.js +0 -1118
  629. package/dist/models-Dl0_Ujgj.cjs +0 -1305
  630. package/dist/newOrgConfigAtom-C8h3w_Ji.js +0 -8
  631. package/dist/newOrgConfigContext-BdzDnzUM.js +0 -53
  632. package/dist/newOrgConfigContext-cWeJAT6E.cjs +0 -68
  633. package/dist/nodeSelector-BAKg1h_y.d.ts +0 -28
  634. package/dist/nodeSelector-BYEAyrsj.d.cts +0 -28
  635. package/dist/org-BNs_maoW.cjs +0 -111
  636. package/dist/org-CScQqL4k.js +0 -32
  637. package/dist/search-CsXXamht.js +0 -233
  638. package/dist/search-DHhDpeQU.cjs +0 -312
  639. package/dist/searchContext-B5ZNLtvd.js +0 -129
  640. package/dist/searchContext-SFvF_Y8J.cjs +0 -145
  641. package/dist/searchServiceAdapter-BkvDIhV8.js +0 -16
  642. package/dist/searchServiceAdapter-C4zzBUl0.cjs +0 -34
  643. package/dist/sessionStorageContext-BuWrJQwc.cjs +0 -66
  644. package/dist/sessionStorageContext-DvFHbk81.js +0 -52
  645. package/dist/shopifyUrlContext-COc1eDR_.cjs +0 -75
  646. package/dist/shopifyUrlContext-CToAt_98.js +0 -61
  647. package/dist/systemSettingsContext-D9iNGz5v.js +0 -39
  648. package/dist/systemSettingsContext-DdV7Yte8.cjs +0 -60
  649. package/dist/types-1iJ_FnQQ.cjs +0 -39
  650. package/dist/types-D5du68Vp.js +0 -27
  651. package/dist/urlsParser-Dax4iVNC.cjs +0 -78
  652. package/dist/urlsParser-NAp2LwWP.js +0 -42
  653. package/dist/useAppDetails-D3T6kJY_.cjs +0 -38
  654. package/dist/useAppDetails-xPVs6fW7.js +0 -30
  655. package/dist/useGraphQLConfig-B1DaVvFx.cjs +0 -76
  656. package/dist/useGraphQLConfig-BtPxjtxw.js +0 -63
  657. package/dist/utils-BZT_oZ3n.js +0 -92
  658. package/dist/utils-D3MjNkd3.cjs +0 -716
  659. package/dist/utils-DMwh3QbT.js +0 -607
  660. package/dist/utils-qtHPLFby.cjs +0 -130
  661. package/src/atoms/search/productRetrievalAPI.ts +0 -72
  662. package/src/atoms/search/productRetrievalAdapter.ts +0 -28
  663. package/src/exceptions/index.ts +0 -2
  664. package/src/global.d.ts +0 -8
  665. package/src/hooks/Search/useRecommendedProducts.ts +0 -50
  666. package/src/hooks/Search/useSearchInput.ts +0 -237
  667. package/src/types/FilterAttribute.ts +0 -35
  668. package/src/types/Suggestion.ts +0 -6
  669. package/src/util/colorVar.ts +0 -4
  670. package/src/util/configVersion.ts +0 -4
  671. package/src/util/domInsertion.ts +0 -17
  672. /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → AmplitudeOperations-DxQnurSG.cjs} +0 -0
  673. /package/dist/{featureFlagServiceContext-CISyb90N.js → AmplitudeOperations-ni7wVevx.js} +0 -0
  674. /package/src/{exceptions → types/exceptions}/sessionExceptions.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { useNewOrgConfigContext } from "./newOrgConfigContext-BdzDnzUM.js";
1
+ import { useNewOrgConfigContext } from "./newOrgConfigContext-DQiuf8nd.js";
2
2
 
3
3
  //#region src/hooks/NewOrgConfig/useNewOrgConfig.ts
4
4
  const useNewOrgConfig = () => {
@@ -7,4 +7,4 @@ const useNewOrgConfig = () => {
7
7
 
8
8
  //#endregion
9
9
  export { useNewOrgConfig };
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3T3JnQ29uZmlnLUNVUUdwbXc5LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy9OZXdPcmdDb25maWcvdXNlTmV3T3JnQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZ0NvbnRleHQgfSBmcm9tIFwic3JjL2NvbnRleHRzL25ld09yZ0NvbmZpZ0NvbnRleHQvbmV3T3JnQ29uZmlnQ29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlTmV3T3JnQ29uZmlnID0gKCkgPT4ge1xuICBjb25zdCBjb25maWcgPSB1c2VOZXdPcmdDb25maWdDb250ZXh0KCk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsd0JBQXdCO0FBR25DLFFBRmUsd0JBQXdCIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3T3JnQ29uZmlnLUJmYlRsRmcxLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy9OZXdPcmdDb25maWcvdXNlTmV3T3JnQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU5ld09yZ0NvbmZpZ0NvbnRleHQgfSBmcm9tIFwic3JjL2NvbnRleHRzL25ld09yZ0NvbmZpZ0NvbnRleHQvbmV3T3JnQ29uZmlnQ29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlTmV3T3JnQ29uZmlnID0gKCkgPT4ge1xuICBjb25zdCBjb25maWcgPSB1c2VOZXdPcmdDb25maWdDb250ZXh0KCk7XG5cbiAgcmV0dXJuIGNvbmZpZztcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsd0JBQXdCO0FBR25DLFFBRmUsd0JBQXdCIn0=
@@ -1,4 +1,4 @@
1
- const require_newOrgConfigContext = require('./newOrgConfigContext-cWeJAT6E.cjs');
1
+ const require_newOrgConfigContext = require('./newOrgConfigContext-Cl4H9c3q.cjs');
2
2
 
3
3
  //#region src/hooks/NewOrgConfig/useNewOrgConfig.ts
4
4
  const useNewOrgConfig = () => {
@@ -12,4 +12,4 @@ Object.defineProperty(exports, 'useNewOrgConfig', {
12
12
  return useNewOrgConfig;
13
13
  }
14
14
  });
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3T3JnQ29uZmlnLUREMG9sb2VLLmNqcyIsIm5hbWVzIjpbInVzZU5ld09yZ0NvbmZpZ0NvbnRleHQiXSwic291cmNlcyI6WyIuLi9zcmMvaG9va3MvTmV3T3JnQ29uZmlnL3VzZU5ld09yZ0NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VOZXdPcmdDb25maWdDb250ZXh0IH0gZnJvbSBcInNyYy9jb250ZXh0cy9uZXdPcmdDb25maWdDb250ZXh0L25ld09yZ0NvbmZpZ0NvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5ld09yZ0NvbmZpZyA9ICgpID0+IHtcbiAgY29uc3QgY29uZmlnID0gdXNlTmV3T3JnQ29uZmlnQ29udGV4dCgpO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLHdCQUF3QjtBQUduQyxRQUZlQSxvREFBd0IifQ==
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3T3JnQ29uZmlnLURKbTZfYWJBLmNqcyIsIm5hbWVzIjpbInVzZU5ld09yZ0NvbmZpZ0NvbnRleHQiXSwic291cmNlcyI6WyIuLi9zcmMvaG9va3MvTmV3T3JnQ29uZmlnL3VzZU5ld09yZ0NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VOZXdPcmdDb25maWdDb250ZXh0IH0gZnJvbSBcInNyYy9jb250ZXh0cy9uZXdPcmdDb25maWdDb250ZXh0L25ld09yZ0NvbmZpZ0NvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5ld09yZ0NvbmZpZyA9ICgpID0+IHtcbiAgY29uc3QgY29uZmlnID0gdXNlTmV3T3JnQ29uZmlnQ29udGV4dCgpO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLHdCQUF3QjtBQUduQyxRQUZlQSxvREFBd0IifQ==
@@ -0,0 +1,20 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const require_systemSettingsContext = require('./systemSettingsContext-B0Kyq7nA.cjs');
3
+ let react = require("react");
4
+ react = require_chunk.__toESM(react);
5
+
6
+ //#region src/hooks/SystemSettingsContext/useSystemSettingsContext.ts
7
+ const useSystemSettingsContext = () => {
8
+ const context = (0, react.useContext)(require_systemSettingsContext.SystemSettingsContext);
9
+ if (!context) throw new Error("useSystemSettingsContext must be used within a SystemSettingsContextProvider");
10
+ return { ...context };
11
+ };
12
+
13
+ //#endregion
14
+ Object.defineProperty(exports, 'useSystemSettingsContext', {
15
+ enumerable: true,
16
+ get: function () {
17
+ return useSystemSettingsContext;
18
+ }
19
+ });
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtU2V0dGluZ3NDb250ZXh0LTZaSHpRa0NFLmNqcyIsIm5hbWVzIjpbIlN5c3RlbVNldHRpbmdzQ29udGV4dCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy9TeXN0ZW1TZXR0aW5nc0NvbnRleHQvdXNlU3lzdGVtU2V0dGluZ3NDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN5c3RlbVNldHRpbmdzQ29udGV4dCB9IGZyb20gXCJzcmMvY29udGV4dHMvc3lzdGVtU2V0dGluZ3NDb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFN5c3RlbVNldHRpbmdzQ29udGV4dCk7XG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJ1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFN5c3RlbVNldHRpbmdzQ29udGV4dFByb3ZpZGVyXCJcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHsgLi4uY29udGV4dCB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBYSxpQ0FBaUM7Q0FDNUMsTUFBTSxnQ0FBcUJBLG9EQUFzQjtBQUVqRCxLQUFJLENBQUMsUUFDSCxPQUFNLElBQUksTUFDUiwrRUFDRDtBQUdILFFBQU8sRUFBRSxHQUFHLFNBQVMifQ==
@@ -0,0 +1,13 @@
1
+ import { SystemSettingsContext } from "./systemSettingsContext-CVUxEcsU.js";
2
+ import { useContext } from "react";
3
+
4
+ //#region src/hooks/SystemSettingsContext/useSystemSettingsContext.ts
5
+ const useSystemSettingsContext = () => {
6
+ const context = useContext(SystemSettingsContext);
7
+ if (!context) throw new Error("useSystemSettingsContext must be used within a SystemSettingsContextProvider");
8
+ return { ...context };
9
+ };
10
+
11
+ //#endregion
12
+ export { useSystemSettingsContext };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtU2V0dGluZ3NDb250ZXh0LUJiVEtOQnZKLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy9TeXN0ZW1TZXR0aW5nc0NvbnRleHQvdXNlU3lzdGVtU2V0dGluZ3NDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN5c3RlbVNldHRpbmdzQ29udGV4dCB9IGZyb20gXCJzcmMvY29udGV4dHMvc3lzdGVtU2V0dGluZ3NDb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFN5c3RlbVNldHRpbmdzQ29udGV4dCk7XG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJ1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFN5c3RlbVNldHRpbmdzQ29udGV4dFByb3ZpZGVyXCJcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHsgLi4uY29udGV4dCB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE1BQWEsaUNBQWlDO0NBQzVDLE1BQU0sVUFBVSxXQUFXLHNCQUFzQjtBQUVqRCxLQUFJLENBQUMsUUFDSCxPQUFNLElBQUksTUFDUiwrRUFDRDtBQUdILFFBQU8sRUFBRSxHQUFHLFNBQVMifQ==
@@ -0,0 +1,52 @@
1
+ import { SpiffyMetricsEventName, useAmplitude } from "./utils-jYtD3hmA.js";
2
+ import { useIntersection } from "./useIntersection-Cncgxdmy.js";
3
+ import { useEffect, useRef } from "react";
4
+
5
+ //#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts
6
+ /**
7
+ * Tracks a component and logs an event to Amplitude when the component is visible.
8
+ *
9
+ * @param component - The component to track.
10
+ * @param element - The element to track visibility of.
11
+ * @param eventProps - Additional properties to include with the event.
12
+ * @param eventName - The Amplitude event name to track (defaults to ChatComponentVisible).
13
+ */
14
+ const useTrackComponentVisibleEvent = (component, element, eventProps, eventName = SpiffyMetricsEventName.ChatComponentVisible) => {
15
+ const isVisible = useIntersection(element, "0px");
16
+ const hasTrackedEvent = useRef(false);
17
+ const { trackEvent } = useAmplitude();
18
+ const componentProps = (() => {
19
+ if (eventName === SpiffyMetricsEventName.ChatComponentVisible) return {
20
+ chat_component: component,
21
+ ...eventProps
22
+ };
23
+ if (eventName === SpiffyMetricsEventName.SearchComponentVisible) return {
24
+ search_component: component,
25
+ ...eventProps
26
+ };
27
+ return {
28
+ component,
29
+ ...eventProps
30
+ };
31
+ })();
32
+ useEffect(() => {
33
+ if (isVisible && !hasTrackedEvent.current) {
34
+ trackEvent({
35
+ eventName,
36
+ eventProps: componentProps
37
+ });
38
+ hasTrackedEvent.current = true;
39
+ }
40
+ }, [
41
+ isVisible,
42
+ component,
43
+ eventProps,
44
+ eventName,
45
+ componentProps,
46
+ trackEvent
47
+ ]);
48
+ };
49
+
50
+ //#endregion
51
+ export { useTrackComponentVisibleEvent };
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQtQkpnTk95cFkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2hvb2tzL1RyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50L3VzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNwaWZmeVdpZGdldHMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9zcGlmZnlXaWRnZXRzXCI7XG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tIFwic3JjL2hvb2tzL0ludGVyc2VjdGlvbi91c2VJbnRlcnNlY3Rpb25cIjtcbmltcG9ydCB7XG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIHVzZUFtcGxpdHVkZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuLyoqXG4gKiBUcmFja3MgYSBjb21wb25lbnQgYW5kIGxvZ3MgYW4gZXZlbnQgdG8gQW1wbGl0dWRlIHdoZW4gdGhlIGNvbXBvbmVudCBpcyB2aXNpYmxlLlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIHRyYWNrLlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byB0cmFjayB2aXNpYmlsaXR5IG9mLlxuICogQHBhcmFtIGV2ZW50UHJvcHMgLSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gaW5jbHVkZSB3aXRoIHRoZSBldmVudC5cbiAqIEBwYXJhbSBldmVudE5hbWUgLSBUaGUgQW1wbGl0dWRlIGV2ZW50IG5hbWUgdG8gdHJhY2sgKGRlZmF1bHRzIHRvIENoYXRDb21wb25lbnRWaXNpYmxlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50ID0gKFxuICBjb21wb25lbnQ6IFNwaWZmeVdpZGdldHMsXG4gIGVsZW1lbnQ6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lID0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZVxuKSA9PiB7XG4gIGNvbnN0IGlzVmlzaWJsZSA9IHVzZUludGVyc2VjdGlvbihlbGVtZW50LCBcIjBweFwiKTtcbiAgY29uc3QgaGFzVHJhY2tlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcblxuICBjb25zdCBjb21wb25lbnRQcm9wcyA9ICgoKSA9PiB7XG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2hhdF9jb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChldmVudE5hbWUgPT09IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2VhcmNoX2NvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgICAuLi5ldmVudFByb3BzLFxuICAgICAgfTtcbiAgICB9XG4gICAgLy8gRGVmYXVsdCBjYXNlIGZvciBvdGhlciBldmVudCB0eXBlc1xuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgIC4uLmV2ZW50UHJvcHMsXG4gICAgfTtcbiAgfSkoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgIWhhc1RyYWNrZWRFdmVudC5jdXJyZW50KSB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBldmVudE5hbWUsXG4gICAgICAgIGV2ZW50UHJvcHM6IGNvbXBvbmVudFByb3BzLFxuICAgICAgfSk7XG4gICAgICBoYXNUcmFja2VkRXZlbnQuY3VycmVudCA9IHRydWU7XG4gICAgfVxuICB9LCBbaXNWaXNpYmxlLCBjb21wb25lbnQsIGV2ZW50UHJvcHMsIGV2ZW50TmFtZSwgY29tcG9uZW50UHJvcHMsIHRyYWNrRXZlbnRdKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBYSxpQ0FDWCxXQUNBLFNBQ0EsWUFDQSxZQUFvQyx1QkFBdUIseUJBQ3hEO0NBQ0gsTUFBTSxZQUFZLGdCQUFnQixTQUFTLE1BQU07Q0FDakQsTUFBTSxrQkFBa0IsT0FBTyxNQUFNO0NBQ3JDLE1BQU0sRUFBRSxlQUFlLGNBQWM7Q0FFckMsTUFBTSx3QkFBd0I7QUFDNUIsTUFBSSxjQUFjLHVCQUF1QixxQkFDdkMsUUFBTztHQUNMLGdCQUFnQjtHQUNoQixHQUFHO0dBQ0o7QUFFSCxNQUFJLGNBQWMsdUJBQXVCLHVCQUN2QyxRQUFPO0dBQ0wsa0JBQWtCO0dBQ2xCLEdBQUc7R0FDSjtBQUdILFNBQU87R0FDTTtHQUNYLEdBQUc7R0FDSjtLQUNDO0FBRUosaUJBQWdCO0FBQ2QsTUFBSSxhQUFhLENBQUMsZ0JBQWdCLFNBQVM7QUFDekMsY0FBVztJQUNFO0lBQ1gsWUFBWTtJQUNiLENBQUM7QUFDRixtQkFBZ0IsVUFBVTs7SUFFM0I7RUFBQztFQUFXO0VBQVc7RUFBWTtFQUFXO0VBQWdCO0VBQVcsQ0FBQyJ9
@@ -0,0 +1,59 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const require_utils = require('./utils-CLGXsOwE.cjs');
3
+ const require_useIntersection = require('./useIntersection-m4PEpvG7.cjs');
4
+ let react = require("react");
5
+ react = require_chunk.__toESM(react);
6
+
7
+ //#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts
8
+ /**
9
+ * Tracks a component and logs an event to Amplitude when the component is visible.
10
+ *
11
+ * @param component - The component to track.
12
+ * @param element - The element to track visibility of.
13
+ * @param eventProps - Additional properties to include with the event.
14
+ * @param eventName - The Amplitude event name to track (defaults to ChatComponentVisible).
15
+ */
16
+ const useTrackComponentVisibleEvent = (component, element, eventProps, eventName = require_utils.SpiffyMetricsEventName.ChatComponentVisible) => {
17
+ const isVisible = require_useIntersection.useIntersection(element, "0px");
18
+ const hasTrackedEvent = (0, react.useRef)(false);
19
+ const { trackEvent } = require_utils.useAmplitude();
20
+ const componentProps = (() => {
21
+ if (eventName === require_utils.SpiffyMetricsEventName.ChatComponentVisible) return {
22
+ chat_component: component,
23
+ ...eventProps
24
+ };
25
+ if (eventName === require_utils.SpiffyMetricsEventName.SearchComponentVisible) return {
26
+ search_component: component,
27
+ ...eventProps
28
+ };
29
+ return {
30
+ component,
31
+ ...eventProps
32
+ };
33
+ })();
34
+ (0, react.useEffect)(() => {
35
+ if (isVisible && !hasTrackedEvent.current) {
36
+ trackEvent({
37
+ eventName,
38
+ eventProps: componentProps
39
+ });
40
+ hasTrackedEvent.current = true;
41
+ }
42
+ }, [
43
+ isVisible,
44
+ component,
45
+ eventProps,
46
+ eventName,
47
+ componentProps,
48
+ trackEvent
49
+ ]);
50
+ };
51
+
52
+ //#endregion
53
+ Object.defineProperty(exports, 'useTrackComponentVisibleEvent', {
54
+ enumerable: true,
55
+ get: function () {
56
+ return useTrackComponentVisibleEvent;
57
+ }
58
+ });
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQtQlJDMkZUcC0uY2pzIiwibmFtZXMiOlsiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsInVzZUludGVyc2VjdGlvbiIsInVzZUFtcGxpdHVkZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy9UcmFja0NvbXBvbmVudFZpc2libGVFdmVudC91c2VUcmFja0NvbXBvbmVudFZpc2libGVFdmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTcGlmZnlXaWRnZXRzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0c1wiO1xuaW1wb3J0IHsgdXNlSW50ZXJzZWN0aW9uIH0gZnJvbSBcInNyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uXCI7XG5pbXBvcnQge1xuICBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLFxuICB1c2VBbXBsaXR1ZGUsXG59IGZyb20gXCJzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0XCI7XG5cbi8qKlxuICogVHJhY2tzIGEgY29tcG9uZW50IGFuZCBsb2dzIGFuIGV2ZW50IHRvIEFtcGxpdHVkZSB3aGVuIHRoZSBjb21wb25lbnQgaXMgdmlzaWJsZS5cbiAqXG4gKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byB0cmFjay5cbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gdHJhY2sgdmlzaWJpbGl0eSBvZi5cbiAqIEBwYXJhbSBldmVudFByb3BzIC0gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGluY2x1ZGUgd2l0aCB0aGUgZXZlbnQuXG4gKiBAcGFyYW0gZXZlbnROYW1lIC0gVGhlIEFtcGxpdHVkZSBldmVudCBuYW1lIHRvIHRyYWNrIChkZWZhdWx0cyB0byBDaGF0Q29tcG9uZW50VmlzaWJsZSkuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VUcmFja0NvbXBvbmVudFZpc2libGVFdmVudCA9IChcbiAgY29tcG9uZW50OiBTcGlmZnlXaWRnZXRzLFxuICBlbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSA9IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdENvbXBvbmVudFZpc2libGVcbikgPT4ge1xuICBjb25zdCBpc1Zpc2libGUgPSB1c2VJbnRlcnNlY3Rpb24oZWxlbWVudCwgXCIwcHhcIik7XG4gIGNvbnN0IGhhc1RyYWNrZWRFdmVudCA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgY29tcG9uZW50UHJvcHMgPSAoKCkgPT4ge1xuICAgIGlmIChldmVudE5hbWUgPT09IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdENvbXBvbmVudFZpc2libGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoYXRfY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAgIC4uLmV2ZW50UHJvcHMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoZXZlbnROYW1lID09PSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaENvbXBvbmVudFZpc2libGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNlYXJjaF9jb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgIH07XG4gICAgfVxuICAgIC8vIERlZmF1bHQgY2FzZSBmb3Igb3RoZXIgZXZlbnQgdHlwZXNcbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAuLi5ldmVudFByb3BzLFxuICAgIH07XG4gIH0pKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmICFoYXNUcmFja2VkRXZlbnQuY3VycmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogZXZlbnROYW1lLFxuICAgICAgICBldmVudFByb3BzOiBjb21wb25lbnRQcm9wcyxcbiAgICAgIH0pO1xuICAgICAgaGFzVHJhY2tlZEV2ZW50LmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY29tcG9uZW50LCBldmVudFByb3BzLCBldmVudE5hbWUsIGNvbXBvbmVudFByb3BzLCB0cmFja0V2ZW50XSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBYSxpQ0FDWCxXQUNBLFNBQ0EsWUFDQSxZQUFvQ0EscUNBQXVCLHlCQUN4RDtDQUNILE1BQU0sWUFBWUMsd0NBQWdCLFNBQVMsTUFBTTtDQUNqRCxNQUFNLG9DQUF5QixNQUFNO0NBQ3JDLE1BQU0sRUFBRSxlQUFlQyw0QkFBYztDQUVyQyxNQUFNLHdCQUF3QjtBQUM1QixNQUFJLGNBQWNGLHFDQUF1QixxQkFDdkMsUUFBTztHQUNMLGdCQUFnQjtHQUNoQixHQUFHO0dBQ0o7QUFFSCxNQUFJLGNBQWNBLHFDQUF1Qix1QkFDdkMsUUFBTztHQUNMLGtCQUFrQjtHQUNsQixHQUFHO0dBQ0o7QUFHSCxTQUFPO0dBQ007R0FDWCxHQUFHO0dBQ0o7S0FDQztBQUVKLDRCQUFnQjtBQUNkLE1BQUksYUFBYSxDQUFDLGdCQUFnQixTQUFTO0FBQ3pDLGNBQVc7SUFDRTtJQUNYLFlBQVk7SUFDYixDQUFDO0FBQ0YsbUJBQWdCLFVBQVU7O0lBRTNCO0VBQUM7RUFBVztFQUFXO0VBQVk7RUFBVztFQUFnQjtFQUFXLENBQUMifQ==
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+
3
+ //#region src/contexts/amplitudeContext/amplitudeContext.d.ts
4
+ declare enum SpiffyMetricsEventName {
5
+ BundleLoaded = "Bundle Loaded",
6
+ ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
7
+ ChatFloatingButtonVisible = "Chat Floating Button Visible",
8
+ ChatComponentVisible = "Chat Component Visible",
9
+ ChatComponentExpanded = "Chat Component Expanded",
10
+ ChatComponentCollapsed = "Chat Component Collapsed",
11
+ ChatUserMessageInput = "Chat User Message Input",
12
+ ChatSuggestionClicked = "Chat Suggestion Clicked",
13
+ ChatAssistantResponse = "Chat Assistant Response",
14
+ ProductCardClicked = "Product Card Clicked",
15
+ ProductReviewCardClicked = "Product Review Card Clicked",
16
+ AddToCartClicked = "Add to Cart Clicked",
17
+ PromptCardClicked = "Prompt Card Clicked",
18
+ SupportedEvent = "Supported Event",
19
+ SearchBackToResponseClicked = "Search Back to Response Clicked",
20
+ PerformanceMetrics = "Performance Metrics",
21
+ SearchBarClicked = "Search Bar Clicked",
22
+ OrderLookupStarted = "Order Lookup Started",
23
+ OrderLookupFormSubmitted = "Order Lookup Form Submitted",
24
+ SearchComponentVisible = "Search Component Visible",
25
+ SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
26
+ // This is the scrolling list of suggestion buttons in global search
27
+ SearchInputStarted = "Search Input Started",
28
+ SearchQuerySubmitted = "Search Query Submitted",
29
+ SearchResultsViewed = "Search Results Viewed",
30
+ SearchTimeToFirstClick = "Search Time to First Click",
31
+ SearchZeroResultsRate = "Search Zero Results Rate",
32
+ SearchFilterClicked = "Search Filter Clicked",
33
+ SearchSortClicked = "Search Sort Clicked",
34
+ }
35
+ interface TrackEventParams {
36
+ eventName: SpiffyMetricsEventName;
37
+ eventProps?: Record<string, unknown>;
38
+ eventGroups?: Record<string, unknown>;
39
+ alsoSendToGoogleAnalytics?: boolean;
40
+ }
41
+ interface AmplitudeContextType {
42
+ trackEvent: (params: TrackEventParams) => Promise<void>;
43
+ isReady: boolean;
44
+ setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
45
+ }
46
+ declare const AmplitudeProvider: React.FC<{
47
+ children: React.ReactNode;
48
+ }>;
49
+ declare const useAmplitude: () => AmplitudeContextType;
50
+ //#endregion
51
+ export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1CNzN4YW1OZS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBCdW5kbGVMb2FkZWQgPSBcIkJ1bmRsZSBMb2FkZWRcIixcbiAgICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgICBDaGF0RmxvYXRpbmdCdXR0b25WaXNpYmxlID0gXCJDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudFZpc2libGUgPSBcIkNoYXQgQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gICAgQ2hhdENvbXBvbmVudENvbGxhcHNlZCA9IFwiQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkXCIsXG4gICAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSBcIkNoYXQgVXNlciBNZXNzYWdlIElucHV0XCIsXG4gICAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIENoYXRBc3Npc3RhbnRSZXNwb25zZSA9IFwiQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2VcIixcbiAgICBQcm9kdWN0Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgQ2FyZCBDbGlja2VkXCIsXG4gICAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgICBBZGRUb0NhcnRDbGlja2VkID0gXCJBZGQgdG8gQ2FydCBDbGlja2VkXCIsXG4gICAgUHJvbXB0Q2FyZENsaWNrZWQgPSBcIlByb21wdCBDYXJkIENsaWNrZWRcIixcbiAgICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gICAgU2VhcmNoQmFja1RvUmVzcG9uc2VDbGlja2VkID0gXCJTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkXCIsXG4gICAgUGVyZm9ybWFuY2VNZXRyaWNzID0gXCJQZXJmb3JtYW5jZSBNZXRyaWNzXCIsXG4gICAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gICAgT3JkZXJMb29rdXBTdGFydGVkID0gXCJPcmRlciBMb29rdXAgU3RhcnRlZFwiLFxuICAgIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9IFwiT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlU3VnZ2VzdGlvbkNsaWNrZWQgPSBcIlNlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLC8vIFRoaXMgaXMgdGhlIHNjcm9sbGluZyBsaXN0IG9mIHN1Z2dlc3Rpb24gYnV0dG9ucyBpbiBnbG9iYWwgc2VhcmNoXG4gICAgU2VhcmNoSW5wdXRTdGFydGVkID0gXCJTZWFyY2ggSW5wdXQgU3RhcnRlZFwiLFxuICAgIFNlYXJjaFF1ZXJ5U3VibWl0dGVkID0gXCJTZWFyY2ggUXVlcnkgU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoUmVzdWx0c1ZpZXdlZCA9IFwiU2VhcmNoIFJlc3VsdHMgVmlld2VkXCIsXG4gICAgU2VhcmNoVGltZVRvRmlyc3RDbGljayA9IFwiU2VhcmNoIFRpbWUgdG8gRmlyc3QgQ2xpY2tcIixcbiAgICBTZWFyY2haZXJvUmVzdWx0c1JhdGUgPSBcIlNlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZVwiLFxuICAgIFNlYXJjaEZpbHRlckNsaWNrZWQgPSBcIlNlYXJjaCBGaWx0ZXIgQ2xpY2tlZFwiLFxuICAgIFNlYXJjaFNvcnRDbGlja2VkID0gXCJTZWFyY2ggU29ydCBDbGlja2VkXCJcbn1cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gICAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQW1wbGl0dWRlQ29udGV4dFR5cGUge1xuICAgIHRyYWNrRXZlbnQ6IChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD47XG4gICAgaXNSZWFkeTogYm9vbGVhbjtcbiAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHM6IChwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBBbXBsaXR1ZGVQcm92aWRlcjogUmVhY3QuRkM8e1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUFtcGxpdHVkZTogKCkgPT4gQW1wbGl0dWRlQ29udGV4dFR5cGU7XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcseUJBQXlCLENBQUMsSUFBSTtBQUN6QyxJQUFJLG1CQUFtQjtDQUFDO09BQVU7T0FBQTtPQUFBO0NBQUE7QUFDbEMsSUFBSSx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUN2RCxJQUFXLG9CQUFvQjtDQUFDO09BQVcsTUFBTTtPQUFhLE1BQUE7Q0FBQTtBQUM5RCxJQUFXLGVBQWUsQ0FBQyxXQUFXLHFCQUFhIn0=
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+
3
+ //#region src/contexts/amplitudeContext/amplitudeContext.d.ts
4
+ declare enum SpiffyMetricsEventName {
5
+ BundleLoaded = "Bundle Loaded",
6
+ ChatLiveAgentBtnClick = "Chat Live Agent Btn Click",
7
+ ChatFloatingButtonVisible = "Chat Floating Button Visible",
8
+ ChatComponentVisible = "Chat Component Visible",
9
+ ChatComponentExpanded = "Chat Component Expanded",
10
+ ChatComponentCollapsed = "Chat Component Collapsed",
11
+ ChatUserMessageInput = "Chat User Message Input",
12
+ ChatSuggestionClicked = "Chat Suggestion Clicked",
13
+ ChatAssistantResponse = "Chat Assistant Response",
14
+ ProductCardClicked = "Product Card Clicked",
15
+ ProductReviewCardClicked = "Product Review Card Clicked",
16
+ AddToCartClicked = "Add to Cart Clicked",
17
+ PromptCardClicked = "Prompt Card Clicked",
18
+ SupportedEvent = "Supported Event",
19
+ SearchBackToResponseClicked = "Search Back to Response Clicked",
20
+ PerformanceMetrics = "Performance Metrics",
21
+ SearchBarClicked = "Search Bar Clicked",
22
+ OrderLookupStarted = "Order Lookup Started",
23
+ OrderLookupFormSubmitted = "Order Lookup Form Submitted",
24
+ SearchComponentVisible = "Search Component Visible",
25
+ SearchZeroStateSuggestionClicked = "Search Zero State Suggestion Clicked",
26
+ // This is the scrolling list of suggestion buttons in global search
27
+ SearchInputStarted = "Search Input Started",
28
+ SearchQuerySubmitted = "Search Query Submitted",
29
+ SearchResultsViewed = "Search Results Viewed",
30
+ SearchTimeToFirstClick = "Search Time to First Click",
31
+ SearchZeroResultsRate = "Search Zero Results Rate",
32
+ SearchFilterClicked = "Search Filter Clicked",
33
+ SearchSortClicked = "Search Sort Clicked",
34
+ }
35
+ interface TrackEventParams {
36
+ eventName: SpiffyMetricsEventName;
37
+ eventProps?: Record<string, unknown>;
38
+ eventGroups?: Record<string, unknown>;
39
+ alsoSendToGoogleAnalytics?: boolean;
40
+ }
41
+ interface AmplitudeContextType {
42
+ trackEvent: (params: TrackEventParams) => Promise<void>;
43
+ isReady: boolean;
44
+ setSupplementalDefaultProps: (props: Record<string, unknown>) => void;
45
+ }
46
+ declare const AmplitudeProvider: React.FC<{
47
+ children: React.ReactNode;
48
+ }>;
49
+ declare const useAmplitude: () => AmplitudeContextType;
50
+ //#endregion
51
+ export { AmplitudeProvider, SpiffyMetricsEventName, useAmplitude };
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1DWlV6TVhIbC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUge1xuICAgIEJ1bmRsZUxvYWRlZCA9IFwiQnVuZGxlIExvYWRlZFwiLFxuICAgIENoYXRMaXZlQWdlbnRCdG5DbGljayA9IFwiQ2hhdCBMaXZlIEFnZW50IEJ0biBDbGlja1wiLFxuICAgIENoYXRGbG9hdGluZ0J1dHRvblZpc2libGUgPSBcIkNoYXQgRmxvYXRpbmcgQnV0dG9uIFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50VmlzaWJsZSA9IFwiQ2hhdCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRFeHBhbmRlZCA9IFwiQ2hhdCBDb21wb25lbnQgRXhwYW5kZWRcIixcbiAgICBDaGF0Q29tcG9uZW50Q29sbGFwc2VkID0gXCJDaGF0IENvbXBvbmVudCBDb2xsYXBzZWRcIixcbiAgICBDaGF0VXNlck1lc3NhZ2VJbnB1dCA9IFwiQ2hhdCBVc2VyIE1lc3NhZ2UgSW5wdXRcIixcbiAgICBDaGF0U3VnZ2VzdGlvbkNsaWNrZWQgPSBcIkNoYXQgU3VnZ2VzdGlvbiBDbGlja2VkXCIsXG4gICAgQ2hhdEFzc2lzdGFudFJlc3BvbnNlID0gXCJDaGF0IEFzc2lzdGFudCBSZXNwb25zZVwiLFxuICAgIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBDYXJkIENsaWNrZWRcIixcbiAgICBQcm9kdWN0UmV2aWV3Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgUmV2aWV3IENhcmQgQ2xpY2tlZFwiLFxuICAgIEFkZFRvQ2FydENsaWNrZWQgPSBcIkFkZCB0byBDYXJ0IENsaWNrZWRcIixcbiAgICBQcm9tcHRDYXJkQ2xpY2tlZCA9IFwiUHJvbXB0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFN1cHBvcnRlZEV2ZW50ID0gXCJTdXBwb3J0ZWQgRXZlbnRcIixcbiAgICBTZWFyY2hCYWNrVG9SZXNwb25zZUNsaWNrZWQgPSBcIlNlYXJjaCBCYWNrIHRvIFJlc3BvbnNlIENsaWNrZWRcIixcbiAgICBQZXJmb3JtYW5jZU1ldHJpY3MgPSBcIlBlcmZvcm1hbmNlIE1ldHJpY3NcIixcbiAgICBTZWFyY2hCYXJDbGlja2VkID0gXCJTZWFyY2ggQmFyIENsaWNrZWRcIixcbiAgICBPcmRlckxvb2t1cFN0YXJ0ZWQgPSBcIk9yZGVyIExvb2t1cCBTdGFydGVkXCIsXG4gICAgT3JkZXJMb29rdXBGb3JtU3VibWl0dGVkID0gXCJPcmRlciBMb29rdXAgRm9ybSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hDb21wb25lbnRWaXNpYmxlID0gXCJTZWFyY2ggQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBTZWFyY2haZXJvU3RhdGVTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiU2VhcmNoIFplcm8gU3RhdGUgU3VnZ2VzdGlvbiBDbGlja2VkXCIsLy8gVGhpcyBpcyB0aGUgc2Nyb2xsaW5nIGxpc3Qgb2Ygc3VnZ2VzdGlvbiBidXR0b25zIGluIGdsb2JhbCBzZWFyY2hcbiAgICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSBcIlNlYXJjaCBJbnB1dCBTdGFydGVkXCIsXG4gICAgU2VhcmNoUXVlcnlTdWJtaXR0ZWQgPSBcIlNlYXJjaCBRdWVyeSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hSZXN1bHRzVmlld2VkID0gXCJTZWFyY2ggUmVzdWx0cyBWaWV3ZWRcIixcbiAgICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gXCJTZWFyY2ggVGltZSB0byBGaXJzdCBDbGlja1wiLFxuICAgIFNlYXJjaFplcm9SZXN1bHRzUmF0ZSA9IFwiU2VhcmNoIFplcm8gUmVzdWx0cyBSYXRlXCIsXG4gICAgU2VhcmNoRmlsdGVyQ2xpY2tlZCA9IFwiU2VhcmNoIEZpbHRlciBDbGlja2VkXCIsXG4gICAgU2VhcmNoU29ydENsaWNrZWQgPSBcIlNlYXJjaCBTb3J0IENsaWNrZWRcIlxufVxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZTtcbiAgICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBhbHNvU2VuZFRvR29vZ2xlQW5hbHl0aWNzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBBbXBsaXR1ZGVDb250ZXh0VHlwZSB7XG4gICAgdHJhY2tFdmVudDogKHBhcmFtczogVHJhY2tFdmVudFBhcmFtcykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBpc1JlYWR5OiBib29sZWFuO1xuICAgIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wczogKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlQW1wbGl0dWRlOiAoKSA9PiBBbXBsaXR1ZGVDb250ZXh0VHlwZTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJO0FBQ3pDLElBQUksbUJBQW1CO0NBQUM7T0FBVTtPQUFBO09BQUE7Q0FBQTtBQUNsQyxJQUFJLHVCQUF1QjtDQUFDO09BQVc7T0FBZ0I7T0FBQTtDQUFBO0FBQ3ZELElBQVcsb0JBQW9CO0NBQUM7T0FBVyxNQUFNO09BQWEsTUFBQTtDQUFBO0FBQzlELElBQVcsZUFBZSxDQUFDLFdBQVcscUJBQWEifQ==
@@ -0,0 +1,166 @@
1
+ import { hasPropertyOfType } from "./utils-DIvMgPe8.js";
2
+ import { logger_default } from "./logger-W3lqg-4b.js";
3
+ import { ResponseCategory, SuggestionCategory, UserEventCategory } from "@spiffy-ai/commerce-api-client";
4
+
5
+ //#region src/application/models/guards/api/isApiPDPEventAttributes.ts
6
+ const isApiPDPAttributes = (data) => {
7
+ if (data == null || typeof data !== "object") return false;
8
+ if (!("product_id" in data) || typeof data.product_id !== "string") return false;
9
+ if ("parent_product_id" in data && typeof data.parent_product_id !== "string") return false;
10
+ if ("url" in data && data.url != null && typeof data.url !== "string") return false;
11
+ return true;
12
+ };
13
+
14
+ //#endregion
15
+ //#region src/application/models/guards/api/isApiQueryTypedEventAttributes.ts
16
+ const isApiQueryTypedAttributes = (data) => data != null && typeof data === "object" && "query" in data && typeof data.query === "string";
17
+
18
+ //#endregion
19
+ //#region src/application/models/guards/api/isApiResponse.ts
20
+ const isApiResponse = (data) => {
21
+ if (data == null || typeof data !== "object") {
22
+ logger_default.logError("isApiResponse: data is null or not an object", void 0, { data });
23
+ return false;
24
+ }
25
+ if (!hasPropertyOfType(data, "id", "string")) {
26
+ logger_default.logError("isApiResponse: id is not a string", void 0, { data });
27
+ return false;
28
+ }
29
+ if (!hasPropertyOfType(data, "category", "string") || !Object.values(ResponseCategory).includes(data.category)) {
30
+ logger_default.logError("isApiResponse: category is not a string or not a valid response category", void 0, { data });
31
+ return false;
32
+ }
33
+ if (!hasPropertyOfType(data, "created_at", "string")) {
34
+ logger_default.logError("isApiResponse: created_at is not a string", void 0, { data });
35
+ return false;
36
+ }
37
+ if (!hasPropertyOfType(data, "attributes", "object", true)) {
38
+ logger_default.logError("isApiResponse: attributes is not an object", void 0, { data });
39
+ return false;
40
+ }
41
+ return true;
42
+ };
43
+
44
+ //#endregion
45
+ //#region src/application/models/guards/api/isApiProductResponseAttributes.ts
46
+ const isApiProductResponseAttributes = (attributes) => {
47
+ if (attributes == null || typeof attributes !== "object") {
48
+ logger_default.logError("isApiProductResponseAttributes: attributes is null or not an object", void 0, { attributes });
49
+ return false;
50
+ }
51
+ if (!hasPropertyOfType(attributes, "description", "string", true)) {
52
+ logger_default.logError("isApiProductResponseAttributes: description is not a string", void 0, { attributes });
53
+ return false;
54
+ }
55
+ if (!hasPropertyOfType(attributes, "image_url", "string", true)) {
56
+ logger_default.logError("isApiProductResponseAttributes: image_url is not a string", void 0, { attributes });
57
+ return false;
58
+ }
59
+ if (!hasPropertyOfType(attributes, "title", "string")) {
60
+ logger_default.logError("isApiProductResponseAttributes: title is not a string", void 0, { attributes });
61
+ return false;
62
+ }
63
+ if (!hasPropertyOfType(attributes, "url", "string")) {
64
+ logger_default.logError("isApiProductResponseAttributes: url is not a string", void 0, { attributes });
65
+ return false;
66
+ }
67
+ if (!hasPropertyOfType(attributes, "original_price", "number", true)) {
68
+ logger_default.logError("isApiProductResponseAttributes: original_price is not a number", void 0, { attributes });
69
+ return false;
70
+ }
71
+ if (!hasPropertyOfType(attributes, "sale_price", "number", true)) {
72
+ logger_default.logError("isApiProductResponseAttributes: sale_price is not a number", void 0, { attributes });
73
+ return false;
74
+ }
75
+ if (!hasPropertyOfType(attributes, "average_rating", "number", true)) {
76
+ logger_default.logError("isApiProductResponseAttributes: average_rating is not a number", void 0, { attributes });
77
+ return false;
78
+ }
79
+ if (!hasPropertyOfType(attributes, "number_reviews", "number", true)) {
80
+ logger_default.logError("isApiProductResponseAttributes: number_reviews is not a number", void 0, { attributes });
81
+ return false;
82
+ }
83
+ if (!hasPropertyOfType(attributes, "metadata", "array", true)) {
84
+ logger_default.logError("isApiProductResponseAttributes: metadata is not an array", void 0, { attributes });
85
+ return false;
86
+ }
87
+ return true;
88
+ };
89
+
90
+ //#endregion
91
+ //#region src/application/models/guards/api/isApiReviewRichInformation.ts
92
+ const isApiReviewRichInformation = (richInfo) => {
93
+ if (richInfo == null || typeof richInfo !== "object") return false;
94
+ if ("cons" in richInfo && (!Array.isArray(richInfo.cons) || richInfo.cons.some((con) => typeof con !== "string"))) return false;
95
+ if ("pros" in richInfo && (!Array.isArray(richInfo.pros) || richInfo.pros.some((pro) => typeof pro !== "string"))) return false;
96
+ if ("review_date" in richInfo && typeof richInfo.review_date !== "string") return false;
97
+ if ("reviewer_title" in richInfo && typeof richInfo.reviewer_title !== "string") return false;
98
+ if ("product_familiarity" in richInfo && typeof richInfo.product_familiarity !== "string") return false;
99
+ return true;
100
+ };
101
+
102
+ //#endregion
103
+ //#region src/application/models/guards/api/isApiReviewResponseAttributes.ts
104
+ const isApiReviewResponseAttributes = (obj) => {
105
+ if (obj == null || typeof obj !== "object") return false;
106
+ if ("title" in obj && obj.title != null && typeof obj.title !== "string") return false;
107
+ if ("review" in obj && typeof obj.review !== "string") return false;
108
+ if ("reviewer" in obj && typeof obj.reviewer !== "string") return false;
109
+ if ("stars" in obj && typeof obj.stars !== "number") return false;
110
+ if ("rich_information" in obj && !isApiReviewRichInformation(obj.rich_information)) return false;
111
+ return true;
112
+ };
113
+
114
+ //#endregion
115
+ //#region src/application/models/guards/api/isApiSearchEventAttributes.ts
116
+ const isApiSearchAttributes = (data) => {
117
+ if (data == null || typeof data !== "object") return false;
118
+ if (!("search_term" in data) || typeof data.search_term !== "string") return false;
119
+ if ("selected_filters" in data && !Array.isArray(data.selected_filters)) return false;
120
+ if (!!data.search_term) return true;
121
+ if (!("search_results" in data) || !Array.isArray(data.search_results) || !data.search_results.every((v) => typeof v === "string")) return false;
122
+ return true;
123
+ };
124
+
125
+ //#endregion
126
+ //#region src/application/models/guards/api/isApiSuggestion.ts
127
+ const isSuggestion = (data) => {
128
+ if (data == null || typeof data !== "object") return false;
129
+ if (!("id" in data) || typeof data.id !== "string") return false;
130
+ if (!("category" in data) || typeof data.category !== "string" || !Object.values(SuggestionCategory).includes(data.category)) return false;
131
+ if (!("created_at" in data) || typeof data.created_at !== "string") return false;
132
+ if (!("content" in data) || typeof data.content !== "string") return false;
133
+ if ("is_answer" in data && data.is_answer != null && typeof data.is_answer !== "boolean") return false;
134
+ return true;
135
+ };
136
+
137
+ //#endregion
138
+ //#region src/application/models/guards/api/isApiSuggestionClickedEventAttributes.ts
139
+ const isApiSuggestionClickedAttributes = (data) => data != null && typeof data === "object" && "suggestion_id" in data && typeof data.suggestion_id === "string";
140
+
141
+ //#endregion
142
+ //#region src/application/models/guards/api/isApiTextResponseAttributes.ts
143
+ const isApiTextResponseAttributes = (attributes) => typeof attributes === "object" && attributes != null && "content" in attributes && typeof attributes.content === "string";
144
+
145
+ //#endregion
146
+ //#region src/application/models/guards/api/isApiUserEvent.ts
147
+ const isApiUserEvent = (data) => {
148
+ if (data == null || typeof data !== "object") return false;
149
+ if (!("event_id" in data) || typeof data.event_id !== "string") return false;
150
+ if (!("created_at" in data) || typeof data.created_at !== "string") return false;
151
+ if (!("category" in data) || typeof data.category !== "string" || !Object.values(UserEventCategory).includes(data.category)) return false;
152
+ return true;
153
+ };
154
+
155
+ //#endregion
156
+ //#region src/application/models/guards/api/isApiProductSearchAttributes.ts
157
+ const isApiProductSearchResponseAttributes = (attributes) => {
158
+ if (attributes == null || typeof attributes !== "object") return false;
159
+ if ("generated_query" in attributes && typeof attributes.generated_query !== "string") return false;
160
+ if ("product_count" in attributes && attributes.product_count != null && typeof attributes.product_count !== "number") return false;
161
+ return true;
162
+ };
163
+
164
+ //#endregion
165
+ export { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion };
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLUJXU3NhekFHLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBEUEV2ZW50QXR0cmlidXRlcy50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVF1ZXJ5VHlwZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXNwb25zZS50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24udHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTZWFyY2hFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTdWdnZXN0aW9uLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpU3VnZ2VzdGlvbkNsaWNrZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpVXNlckV2ZW50LnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUHJvZHVjdFNlYXJjaEF0dHJpYnV0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUERQQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVBEUEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgUERQQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3Byb2R1Y3RfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLnByb2R1Y3RfaWQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwYXJlbnRfcHJvZHVjdF9pZCcgaW4gZGF0YSAmJiB0eXBlb2YgZGF0YS5wYXJlbnRfcHJvZHVjdF9pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3VybCcgaW4gZGF0YSAmJiBkYXRhLnVybCAhPSBudWxsICYmIHR5cGVvZiBkYXRhLnVybCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBRdWVyeVR5cGVkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ3F1ZXJ5JyBpbiBkYXRhICYmIHR5cGVvZiBkYXRhLnF1ZXJ5ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IFJlc3BvbnNlLCBSZXNwb25zZUNhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGhhc1Byb3BlcnR5T2ZUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlSZXNwb25zZSA9IChkYXRhOiB1bmtub3duKTogZGF0YSBpcyBSZXNwb25zZSA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBkYXRhIGlzIG51bGwgb3Igbm90IGFuIG9iamVjdCcsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2lkJywgJ3N0cmluZycpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBpZCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdjYXRlZ29yeScsICdzdHJpbmcnKSB8fFxuICAgICFPYmplY3QudmFsdWVzKFJlc3BvbnNlQ2F0ZWdvcnkpLmluY2x1ZGVzKGRhdGEuY2F0ZWdvcnkgYXMgUmVzcG9uc2VDYXRlZ29yeSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUmVzcG9uc2U6IGNhdGVnb3J5IGlzIG5vdCBhIHN0cmluZyBvciBub3QgYSB2YWxpZCByZXNwb25zZSBjYXRlZ29yeScsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IGRhdGEgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2NyZWF0ZWRfYXQnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUmVzcG9uc2U6IGNyZWF0ZWRfYXQgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnYXR0cmlidXRlcycsICdvYmplY3QnLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlSZXNwb25zZTogYXR0cmlidXRlcyBpcyBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBoYXNQcm9wZXJ0eU9mVHlwZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcyA9IChcbiAgYXR0cmlidXRlczogdW5rbm93bixcbik6IGF0dHJpYnV0ZXMgaXMgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyA9PiB7XG4gIGlmIChhdHRyaWJ1dGVzID09IG51bGwgfHwgdHlwZW9mIGF0dHJpYnV0ZXMgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogYXR0cmlidXRlcyBpcyBudWxsIG9yIG5vdCBhbiBvYmplY3QnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2Rlc2NyaXB0aW9uJywgJ3N0cmluZycsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGRlc2NyaXB0aW9uIGlzIG5vdCBhIHN0cmluZycsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdpbWFnZV91cmwnLCAnc3RyaW5nJywgdHJ1ZSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGltYWdlX3VybCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAndGl0bGUnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogdGl0bGUgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ3VybCcsICdzdHJpbmcnKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiB1cmwgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ29yaWdpbmFsX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IG9yaWdpbmFsX3ByaWNlIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdzYWxlX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IHNhbGVfcHJpY2UgaXMgbm90IGEgbnVtYmVyJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2F2ZXJhZ2VfcmF0aW5nJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGF2ZXJhZ2VfcmF0aW5nIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdudW1iZXJfcmV2aWV3cycsICdudW1iZXInLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBudW1iZXJfcmV2aWV3cyBpcyBub3QgYSBudW1iZXInLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAnbWV0YWRhdGEnLCAnYXJyYXknLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBtZXRhZGF0YSBpcyBub3QgYW4gYXJyYXknLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbiA9IChcbiAgcmljaEluZm86IHVua25vd24sXG4pOiByaWNoSW5mbyBpcyBBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24gPT4ge1xuICBpZiAocmljaEluZm8gPT0gbnVsbCB8fCB0eXBlb2YgcmljaEluZm8gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKFxuICAgICdjb25zJyBpbiByaWNoSW5mbyAmJlxuICAgICghQXJyYXkuaXNBcnJheShyaWNoSW5mby5jb25zKSB8fCByaWNoSW5mby5jb25zLnNvbWUoKGNvbikgPT4gdHlwZW9mIGNvbiAhPT0gJ3N0cmluZycpKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb3MnIGluIHJpY2hJbmZvICYmXG4gICAgKCFBcnJheS5pc0FycmF5KHJpY2hJbmZvLnByb3MpIHx8IHJpY2hJbmZvLnByb3Muc29tZSgocHJvKSA9PiB0eXBlb2YgcHJvICE9PSAnc3RyaW5nJykpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgncmV2aWV3X2RhdGUnIGluIHJpY2hJbmZvICYmIHR5cGVvZiByaWNoSW5mby5yZXZpZXdfZGF0ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyX3RpdGxlJyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucmV2aWV3ZXJfdGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwcm9kdWN0X2ZhbWlsaWFyaXR5JyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucHJvZHVjdF9mYW1pbGlhcml0eSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbmltcG9ydCB7IGlzQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnLi9pc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbic7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1Jlc3BvbnNlQXR0cmlidXRlcyA9IChvYmo6IHVua25vd24pOiBvYmogaXMgQXBpUmV2aWV3UmVzcG9uc2VBdHRyaWJ1dGVzID0+IHtcbiAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCd0aXRsZScgaW4gb2JqICYmIG9iai50aXRsZSAhPSBudWxsICYmIHR5cGVvZiBvYmoudGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdyZXZpZXcnIGluIG9iaiAmJiB0eXBlb2Ygb2JqLnJldmlldyAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyJyBpbiBvYmogJiYgdHlwZW9mIG9iai5yZXZpZXdlciAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3N0YXJzJyBpbiBvYmogJiYgdHlwZW9mIG9iai5zdGFycyAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3JpY2hfaW5mb3JtYXRpb24nIGluIG9iaiAmJiAhaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24ob2JqLnJpY2hfaW5mb3JtYXRpb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgU2VhcmNoQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVNlYXJjaEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgU2VhcmNoQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3NlYXJjaF90ZXJtJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5zZWFyY2hfdGVybSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCdzZWxlY3RlZF9maWx0ZXJzJyBpbiBkYXRhICYmICFBcnJheS5pc0FycmF5KGRhdGEuc2VsZWN0ZWRfZmlsdGVycykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISFkYXRhLnNlYXJjaF90ZXJtKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgISgnc2VhcmNoX3Jlc3VsdHMnIGluIGRhdGEpIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZGF0YS5zZWFyY2hfcmVzdWx0cykgfHxcbiAgICAhZGF0YS5zZWFyY2hfcmVzdWx0cy5ldmVyeSgodikgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQge1xuICBTdWdnZXN0aW9uIGFzIENvbW1lcmNlU3VnZ2VzdGlvbixcbiAgU3VnZ2VzdGlvbkNhdGVnb3J5LFxufSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNTdWdnZXN0aW9uID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIENvbW1lcmNlU3VnZ2VzdGlvbiA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2lkJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgISgnY2F0ZWdvcnknIGluIGRhdGEpIHx8XG4gICAgdHlwZW9mIGRhdGEuY2F0ZWdvcnkgIT09ICdzdHJpbmcnIHx8XG4gICAgIU9iamVjdC52YWx1ZXMoU3VnZ2VzdGlvbkNhdGVnb3J5KS5pbmNsdWRlcyhkYXRhLmNhdGVnb3J5IGFzIFN1Z2dlc3Rpb25DYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NyZWF0ZWRfYXQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNyZWF0ZWRfYXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NvbnRlbnQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNvbnRlbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdpc19hbnN3ZXInIGluIGRhdGEgJiYgZGF0YS5pc19hbnN3ZXIgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YS5pc19hbnN3ZXIgIT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiIsImltcG9ydCB7IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyA9IChcbiAgZGF0YTogdW5rbm93bixcbik6IGRhdGEgaXMgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJlxuICB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgJ3N1Z2dlc3Rpb25faWQnIGluIGRhdGEgJiZcbiAgdHlwZW9mIGRhdGEuc3VnZ2VzdGlvbl9pZCA9PT0gJ3N0cmluZyc7XG4iLCJpbXBvcnQgeyBBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIEFwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPT5cbiAgdHlwZW9mIGF0dHJpYnV0ZXMgPT09ICdvYmplY3QnICYmXG4gIGF0dHJpYnV0ZXMgIT0gbnVsbCAmJlxuICAnY29udGVudCcgaW4gYXR0cmlidXRlcyAmJlxuICB0eXBlb2YgYXR0cmlidXRlcy5jb250ZW50ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCB7IFVzZXJFdmVudCwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlVc2VyRXZlbnQgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgVXNlckV2ZW50ID0+IHtcbiAgaWYgKGRhdGEgPT0gbnVsbCB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgnZXZlbnRfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmV2ZW50X2lkICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghKCdjcmVhdGVkX2F0JyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5jcmVhdGVkX2F0ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChcbiAgICAhKCdjYXRlZ29yeScgaW4gZGF0YSkgfHxcbiAgICB0eXBlb2YgZGF0YS5jYXRlZ29yeSAhPT0gJ3N0cmluZycgfHxcbiAgICAhT2JqZWN0LnZhbHVlcyhVc2VyRXZlbnRDYXRlZ29yeSkuaW5jbHVkZXMoZGF0YS5jYXRlZ29yeSBhcyBVc2VyRXZlbnRDYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIFByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPT4ge1xuICBpZiAoYXR0cmlidXRlcyA9PSBudWxsIHx8IHR5cGVvZiBhdHRyaWJ1dGVzICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgnZ2VuZXJhdGVkX3F1ZXJ5JyBpbiBhdHRyaWJ1dGVzICYmIHR5cGVvZiBhdHRyaWJ1dGVzLmdlbmVyYXRlZF9xdWVyeSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb2R1Y3RfY291bnQnIGluIGF0dHJpYnV0ZXMgJiZcbiAgICBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT0gbnVsbCAmJlxuICAgIHR5cGVvZiBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT09ICdudW1iZXInXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFhLHNCQUFzQixTQUF5QztBQUMxRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsU0FDbEMsUUFBTztBQUdULEtBQUksRUFBRSxnQkFBZ0IsU0FBUyxPQUFPLEtBQUssZUFBZSxTQUN4RCxRQUFPO0FBR1QsS0FBSSx1QkFBdUIsUUFBUSxPQUFPLEtBQUssc0JBQXNCLFNBQ25FLFFBQU87QUFHVCxLQUFJLFNBQVMsUUFBUSxLQUFLLE9BQU8sUUFBUSxPQUFPLEtBQUssUUFBUSxTQUMzRCxRQUFPO0FBR1QsUUFBTzs7Ozs7QUNqQlQsTUFBYSw2QkFBNkIsU0FDeEMsUUFBUSxRQUFRLE9BQU8sU0FBUyxZQUFZLFdBQVcsUUFBUSxPQUFPLEtBQUssVUFBVTs7OztBQ0N2RixNQUFhLGlCQUFpQixTQUFvQztBQUNoRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUM1QyxpQkFBTyxTQUFTLGdEQUFnRCxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ3BGLFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLE1BQU0sU0FBUyxFQUFFO0FBQzVDLGlCQUFPLFNBQVMscUNBQXFDLFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDekUsU0FBTzs7QUFHVCxLQUNFLENBQUMsa0JBQWtCLE1BQU0sWUFBWSxTQUFTLElBQzlDLENBQUMsT0FBTyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsS0FBSyxTQUE2QixFQUM1RTtBQUNBLGlCQUFPLFNBQ0wsNEVBQ0EsUUFDQSxFQUFFLE1BQU0sQ0FDVDtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLGNBQWMsU0FBUyxFQUFFO0FBQ3BELGlCQUFPLFNBQVMsNkNBQTZDLFFBQVcsRUFBRSxNQUFNLENBQUM7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