@envive-ai/react-hooks 0.2.10-arthur-3 → 0.2.11

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 (1295) hide show
  1. package/README.md +0 -33
  2. package/dist/{chunk-CUT6urMc.cjs → _virtual/rolldown_runtime.cjs} +11 -12
  3. package/dist/application/commerce-api.cjs +319 -0
  4. package/dist/application/commerce-api.js +318 -0
  5. package/dist/application/logging/logger.cjs +21 -0
  6. package/dist/application/logging/logger.js +20 -0
  7. package/dist/application/models/api/context.d.cts +8 -0
  8. package/dist/application/models/api/context.d.ts +8 -0
  9. package/dist/application/models/api/generationParams.d.cts +8 -0
  10. package/dist/application/models/api/generationParams.d.ts +8 -0
  11. package/dist/application/models/api/nextMessageRequest.d.cts +15 -0
  12. package/dist/application/models/api/nextMessageRequest.d.ts +15 -0
  13. package/dist/application/models/api/orgAnalyticsConfig.d.cts +20 -0
  14. package/dist/application/models/api/orgAnalyticsConfig.d.ts +20 -0
  15. package/dist/application/models/api/orgConfigResults.d.cts +43 -0
  16. package/dist/application/models/api/orgConfigResults.d.ts +43 -0
  17. package/dist/application/models/api/organizationConfig.d.cts +16 -0
  18. package/dist/application/models/api/organizationConfig.d.ts +16 -0
  19. package/dist/application/models/api/response.d.cts +94 -0
  20. package/dist/application/models/api/response.d.ts +94 -0
  21. package/dist/application/models/api/responseGenerics.d.cts +60 -0
  22. package/dist/application/models/api/responseGenerics.d.ts +60 -0
  23. package/dist/{search-6RrxBXD6.d.cts → application/models/api/search.d.cts} +2 -2
  24. package/dist/{search-DrJiCT7d.d.ts → application/models/api/search.d.ts} +2 -2
  25. package/dist/application/models/api/suggestion.d.cts +8 -0
  26. package/dist/application/models/api/suggestion.d.ts +8 -0
  27. package/dist/application/models/api/supportedEventRequest.d.cts +12 -0
  28. package/dist/application/models/api/supportedEventRequest.d.ts +12 -0
  29. package/dist/application/models/api/userEvent.d.cts +57 -0
  30. package/dist/application/models/api/userEvent.d.ts +57 -0
  31. package/dist/application/models/cachedValue.d.cts +8 -0
  32. package/dist/application/models/cachedValue.d.ts +8 -0
  33. package/dist/application/models/chatElementDisplayLocation.cjs +29 -0
  34. package/dist/application/models/chatElementDisplayLocation.d.cts +26 -0
  35. package/dist/application/models/chatElementDisplayLocation.d.ts +26 -0
  36. package/dist/application/models/chatElementDisplayLocation.js +28 -0
  37. package/dist/application/models/clientDetails.d.cts +18 -0
  38. package/dist/application/models/clientDetails.d.ts +18 -0
  39. package/dist/application/models/colorsConfig.cjs +29 -0
  40. package/dist/application/models/colorsConfig.d.cts +26 -0
  41. package/dist/application/models/colorsConfig.d.ts +26 -0
  42. package/dist/application/models/colorsConfig.js +27 -0
  43. package/dist/application/models/conversationalSearchIds.d.cts +9 -0
  44. package/dist/application/models/conversationalSearchIds.d.ts +9 -0
  45. package/dist/application/models/dataLayer.d.cts +45 -0
  46. package/dist/application/models/dataLayer.d.ts +45 -0
  47. package/dist/application/models/events.cjs +11 -0
  48. package/dist/application/models/events.d.cts +8 -0
  49. package/dist/application/models/events.d.ts +8 -0
  50. package/dist/application/models/events.js +10 -0
  51. package/dist/application/models/featureGates.cjs +27 -0
  52. package/dist/application/models/featureGates.d.cts +24 -0
  53. package/dist/application/models/featureGates.d.ts +24 -0
  54. package/dist/application/models/featureGates.js +26 -0
  55. package/dist/application/models/frontendConfig.d.cts +13 -0
  56. package/dist/application/models/frontendConfig.d.ts +13 -0
  57. package/dist/application/models/googleAnalyticsEvents.cjs +11 -0
  58. package/dist/application/models/googleAnalyticsEvents.d.cts +8 -0
  59. package/dist/application/models/googleAnalyticsEvents.d.ts +8 -0
  60. package/dist/application/models/googleAnalyticsEvents.js +10 -0
  61. package/dist/application/models/graphql/index.cjs +6 -5
  62. package/dist/application/models/graphql/index.d.cts +3 -1
  63. package/dist/application/models/graphql/index.d.ts +3 -1
  64. package/dist/application/models/graphql/index.js +3 -2
  65. package/dist/application/models/graphql/queries/getMerchantColorsQuery.cjs +18 -0
  66. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.cts +25 -0
  67. package/dist/application/models/graphql/queries/getMerchantColorsQuery.d.ts +25 -0
  68. package/dist/application/models/graphql/queries/getMerchantColorsQuery.js +18 -0
  69. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.cjs +18 -0
  70. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.cts +75 -0
  71. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.d.ts +75 -0
  72. package/dist/application/models/graphql/queries/getMerchantFrontendConfigQuery.js +18 -0
  73. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.cjs +15 -0
  74. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.d.cts +5 -0
  75. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.d.ts +5 -0
  76. package/dist/application/models/graphql/queries/getMerchantOrgIdQuery.js +14 -0
  77. package/dist/application/models/guards/api/index.cjs +24 -15
  78. package/dist/application/models/guards/api/index.d.cts +12 -3
  79. package/dist/application/models/guards/api/index.d.ts +12 -3
  80. package/dist/application/models/guards/api/index.js +12 -3
  81. package/dist/application/models/guards/api/isApiFormResponse.cjs +51 -0
  82. package/dist/application/models/guards/api/isApiFormResponse.d.cts +16 -0
  83. package/dist/application/models/guards/api/isApiFormResponse.d.ts +16 -0
  84. package/dist/application/models/guards/api/isApiFormResponse.js +50 -0
  85. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +29 -0
  86. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.d.cts +7 -0
  87. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.d.ts +7 -0
  88. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +28 -0
  89. package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +82 -0
  90. package/dist/application/models/guards/api/isApiOrderResponseAttributes.d.cts +17 -0
  91. package/dist/application/models/guards/api/isApiOrderResponseAttributes.d.ts +17 -0
  92. package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +82 -0
  93. package/dist/application/models/guards/api/isApiOrgConfigResults.cjs +130 -0
  94. package/dist/application/models/guards/api/isApiOrgConfigResults.d.cts +19 -0
  95. package/dist/application/models/guards/api/isApiOrgConfigResults.d.ts +19 -0
  96. package/dist/application/models/guards/api/isApiOrgConfigResults.js +129 -0
  97. package/dist/application/models/guards/api/isApiOrganizationConfig.cjs +116 -0
  98. package/dist/application/models/guards/api/isApiOrganizationConfig.d.cts +31 -0
  99. package/dist/application/models/guards/api/isApiOrganizationConfig.d.ts +31 -0
  100. package/dist/application/models/guards/api/isApiOrganizationConfig.js +116 -0
  101. package/dist/application/models/guards/api/isApiPDPEventAttributes.cjs +13 -0
  102. package/dist/application/models/guards/api/isApiPDPEventAttributes.d.cts +7 -0
  103. package/dist/application/models/guards/api/isApiPDPEventAttributes.d.ts +7 -0
  104. package/dist/application/models/guards/api/isApiPDPEventAttributes.js +12 -0
  105. package/dist/application/models/guards/api/isApiPLPEventAttributes.cjs +20 -0
  106. package/dist/application/models/guards/api/isApiPLPEventAttributes.d.cts +8 -0
  107. package/dist/application/models/guards/api/isApiPLPEventAttributes.d.ts +8 -0
  108. package/dist/application/models/guards/api/isApiPLPEventAttributes.js +18 -0
  109. package/dist/application/models/guards/api/isApiPageResponseAttributes.cjs +13 -0
  110. package/dist/application/models/guards/api/isApiPageResponseAttributes.d.cts +7 -0
  111. package/dist/application/models/guards/api/isApiPageResponseAttributes.d.ts +7 -0
  112. package/dist/application/models/guards/api/isApiPageResponseAttributes.js +12 -0
  113. package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +51 -0
  114. package/dist/application/models/guards/api/isApiProductResponseAttributes.d.cts +7 -0
  115. package/dist/application/models/guards/api/isApiProductResponseAttributes.d.ts +7 -0
  116. package/dist/application/models/guards/api/isApiProductResponseAttributes.js +51 -0
  117. package/dist/application/models/guards/api/isApiProductSearchAttributes.cjs +12 -0
  118. package/dist/application/models/guards/api/isApiProductSearchAttributes.d.cts +7 -0
  119. package/dist/application/models/guards/api/isApiProductSearchAttributes.d.ts +7 -0
  120. package/dist/application/models/guards/api/isApiProductSearchAttributes.js +11 -0
  121. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.cjs +11 -0
  122. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.d.cts +7 -0
  123. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.d.ts +7 -0
  124. package/dist/application/models/guards/api/isApiProductSearchFilterAttributes.js +10 -0
  125. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.cjs +7 -0
  126. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.d.cts +7 -0
  127. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.d.ts +7 -0
  128. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.js +6 -0
  129. package/dist/application/models/guards/api/isApiResponse.cjs +33 -0
  130. package/dist/application/models/guards/api/isApiResponse.d.cts +7 -0
  131. package/dist/application/models/guards/api/isApiResponse.d.ts +7 -0
  132. package/dist/application/models/guards/api/isApiResponse.js +32 -0
  133. package/dist/application/models/guards/api/isApiReviewResponseAttributes.cjs +16 -0
  134. package/dist/application/models/guards/api/isApiReviewResponseAttributes.d.cts +7 -0
  135. package/dist/application/models/guards/api/isApiReviewResponseAttributes.d.ts +7 -0
  136. package/dist/application/models/guards/api/isApiReviewResponseAttributes.js +16 -0
  137. package/dist/application/models/guards/api/isApiReviewRichInformation.cjs +15 -0
  138. package/dist/application/models/guards/api/isApiReviewRichInformation.d.cts +7 -0
  139. package/dist/application/models/guards/api/isApiReviewRichInformation.d.ts +7 -0
  140. package/dist/application/models/guards/api/isApiReviewRichInformation.js +14 -0
  141. package/dist/application/models/guards/api/isApiSearchEventAttributes.cjs +14 -0
  142. package/dist/application/models/guards/api/isApiSearchEventAttributes.d.cts +7 -0
  143. package/dist/application/models/guards/api/isApiSearchEventAttributes.d.ts +7 -0
  144. package/dist/application/models/guards/api/isApiSearchEventAttributes.js +13 -0
  145. package/dist/application/models/guards/api/isApiSuggestion.cjs +17 -0
  146. package/dist/application/models/guards/api/isApiSuggestion.d.cts +7 -0
  147. package/dist/application/models/guards/api/isApiSuggestion.d.ts +7 -0
  148. package/dist/application/models/guards/api/isApiSuggestion.js +16 -0
  149. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.cjs +7 -0
  150. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.d.cts +7 -0
  151. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.d.ts +7 -0
  152. package/dist/application/models/guards/api/isApiSuggestionClickedEventAttributes.js +6 -0
  153. package/dist/application/models/guards/api/isApiTextResponseAttributes.cjs +7 -0
  154. package/dist/application/models/guards/api/isApiTextResponseAttributes.d.cts +7 -0
  155. package/dist/application/models/guards/api/isApiTextResponseAttributes.d.ts +7 -0
  156. package/dist/application/models/guards/api/isApiTextResponseAttributes.js +6 -0
  157. package/dist/application/models/guards/api/isApiUserEvent.cjs +15 -0
  158. package/dist/application/models/guards/api/isApiUserEvent.d.cts +7 -0
  159. package/dist/application/models/guards/api/isApiUserEvent.d.ts +7 -0
  160. package/dist/application/models/guards/api/isApiUserEvent.js +14 -0
  161. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.cjs +46 -0
  162. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.d.cts +7 -0
  163. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.d.ts +7 -0
  164. package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.js +46 -0
  165. package/dist/application/models/guards/isBaseEcommerceEvent.cjs +14 -0
  166. package/dist/application/models/guards/isBaseEcommerceEvent.d.cts +15 -0
  167. package/dist/application/models/guards/isBaseEcommerceEvent.d.ts +15 -0
  168. package/dist/application/models/guards/isBaseEcommerceEvent.js +13 -0
  169. package/dist/application/models/guards/isGA4EcommerceEvent.cjs +14 -0
  170. package/dist/application/models/guards/isGA4EcommerceEvent.d.cts +15 -0
  171. package/dist/application/models/guards/isGA4EcommerceEvent.d.ts +15 -0
  172. package/dist/application/models/guards/isGA4EcommerceEvent.js +13 -0
  173. package/dist/application/models/guards/isLegacyUAEcommerceEvent.cjs +14 -0
  174. package/dist/application/models/guards/isLegacyUAEcommerceEvent.d.cts +15 -0
  175. package/dist/application/models/guards/isLegacyUAEcommerceEvent.d.ts +15 -0
  176. package/dist/application/models/guards/isLegacyUAEcommerceEvent.js +13 -0
  177. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.cjs +7 -0
  178. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.d.cts +8 -0
  179. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.d.ts +8 -0
  180. package/dist/application/models/guards/isMobilePLPChatPlacementParameter.js +6 -0
  181. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.cjs +7 -0
  182. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.d.cts +7 -0
  183. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.d.ts +7 -0
  184. package/dist/application/models/guards/isSpanxTakeAQuizCtaParameter.js +6 -0
  185. package/dist/application/models/guards/isVariantInfo.cjs +19 -0
  186. package/dist/application/models/guards/isVariantInfo.d.cts +15 -0
  187. package/dist/application/models/guards/isVariantInfo.d.ts +15 -0
  188. package/dist/application/models/guards/isVariantInfo.js +18 -0
  189. package/dist/application/models/guards/utils.cjs +27 -2
  190. package/dist/application/models/guards/utils.d.cts +15 -2
  191. package/dist/application/models/guards/utils.d.ts +15 -2
  192. package/dist/application/models/guards/utils.js +26 -2
  193. package/dist/application/models/index.cjs +111 -67
  194. package/dist/application/models/index.d.cts +84 -12
  195. package/dist/application/models/index.d.ts +84 -12
  196. package/dist/application/models/index.js +54 -10
  197. package/dist/application/models/localStorageEventListener.d.cts +8 -0
  198. package/dist/application/models/localStorageEventListener.d.ts +8 -0
  199. package/dist/application/models/message.cjs +29 -0
  200. package/dist/application/models/message.d.cts +107 -0
  201. package/dist/application/models/message.d.ts +107 -0
  202. package/dist/application/models/message.js +27 -0
  203. package/dist/application/models/mobilePLPChatPlacementParameter.d.cts +7 -0
  204. package/dist/application/models/mobilePLPChatPlacementParameter.d.ts +7 -0
  205. package/dist/application/models/orgsEnum.cjs +41 -0
  206. package/dist/application/models/orgsEnum.d.cts +39 -0
  207. package/dist/application/models/orgsEnum.d.ts +39 -0
  208. package/dist/application/models/orgsEnum.js +40 -0
  209. package/dist/application/models/productExperiment.cjs +10 -0
  210. package/dist/application/models/productExperiment.d.cts +7 -0
  211. package/dist/application/models/productExperiment.d.ts +7 -0
  212. package/dist/application/models/productExperiment.js +9 -0
  213. package/dist/application/models/spanxTakeAQuizCtaParameter.d.cts +8 -0
  214. package/dist/application/models/spanxTakeAQuizCtaParameter.d.ts +8 -0
  215. package/dist/application/models/spiffyWidgets.cjs +24 -0
  216. package/dist/application/models/spiffyWidgets.d.cts +21 -0
  217. package/dist/application/models/spiffyWidgets.d.ts +21 -0
  218. package/dist/application/models/spiffyWidgets.js +23 -0
  219. package/dist/application/models/utilityTypes/camelCase.d.cts +70 -0
  220. package/dist/application/models/utilityTypes/camelCase.d.ts +70 -0
  221. package/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.cts +56 -0
  222. package/dist/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts +56 -0
  223. package/dist/application/models/utilityTypes/delimiterCase.d.cts +67 -0
  224. package/dist/application/models/utilityTypes/delimiterCase.d.ts +67 -0
  225. package/dist/application/models/utilityTypes/delimiterCasedPropertiesDeep.d.cts +55 -0
  226. package/dist/application/models/utilityTypes/delimiterCasedPropertiesDeep.d.ts +55 -0
  227. package/dist/application/models/utilityTypes/index.cjs +0 -1
  228. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  229. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  230. package/dist/application/models/utilityTypes/index.js +0 -2
  231. package/dist/application/models/utilityTypes/internal.d.cts +33 -0
  232. package/dist/application/models/utilityTypes/internal.d.ts +33 -0
  233. package/dist/application/models/utilityTypes/primitive.d.cts +10 -0
  234. package/dist/application/models/utilityTypes/primitive.d.ts +10 -0
  235. package/dist/application/models/utilityTypes/snakeCasedPropertiesDeep.d.cts +52 -0
  236. package/dist/application/models/utilityTypes/snakeCasedPropertiesDeep.d.ts +52 -0
  237. package/dist/application/models/utilityTypes/splitWords.d.cts +29 -0
  238. package/dist/application/models/utilityTypes/splitWords.d.ts +29 -0
  239. package/dist/application/models/utilityTypes/trim.d.cts +29 -0
  240. package/dist/application/models/utilityTypes/trim.d.ts +29 -0
  241. package/dist/application/models/utilityTypes/unknownArray.d.cts +29 -0
  242. package/dist/application/models/utilityTypes/unknownArray.d.ts +29 -0
  243. package/dist/application/models/utils/snakeToCamelTransformer.cjs +66 -0
  244. package/dist/application/models/utils/snakeToCamelTransformer.d.cts +16 -0
  245. package/dist/application/models/utils/snakeToCamelTransformer.d.ts +16 -0
  246. package/dist/application/models/utils/snakeToCamelTransformer.js +64 -0
  247. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.cjs +46 -0
  248. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.d.cts +16 -0
  249. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.d.ts +16 -0
  250. package/dist/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.js +45 -0
  251. package/dist/application/models/validators/validateGraphQLColorsConfig.cjs +10 -0
  252. package/dist/application/models/validators/validateGraphQLColorsConfig.d.cts +7 -0
  253. package/dist/application/models/validators/validateGraphQLColorsConfig.d.ts +7 -0
  254. package/dist/application/models/validators/validateGraphQLColorsConfig.js +10 -0
  255. package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +231 -0
  256. package/dist/application/models/validators/validateGraphQLFrontendConfig.d.cts +11 -0
  257. package/dist/application/models/validators/validateGraphQLFrontendConfig.d.ts +11 -0
  258. package/dist/application/models/validators/validateGraphQLFrontendConfig.js +228 -0
  259. package/dist/application/models/validators/validateGraphQLOrgId.cjs +10 -0
  260. package/dist/application/models/validators/validateGraphQLOrgId.d.cts +5 -0
  261. package/dist/application/models/validators/validateGraphQLOrgId.d.ts +5 -0
  262. package/dist/application/models/validators/validateGraphQLOrgId.js +9 -0
  263. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.cjs +11 -0
  264. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.d.cts +7 -0
  265. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.d.ts +7 -0
  266. package/dist/application/models/validators/validateMobilePLPChatPlacementParameter.js +11 -0
  267. package/dist/application/models/validators/validateOrgConfigResults.cjs +44 -0
  268. package/dist/application/models/validators/validateOrgConfigResults.d.cts +13 -0
  269. package/dist/application/models/validators/validateOrgConfigResults.d.ts +13 -0
  270. package/dist/application/models/validators/validateOrgConfigResults.js +44 -0
  271. package/dist/application/models/validators/validateOrganizationConfig.cjs +28 -0
  272. package/dist/application/models/validators/validateOrganizationConfig.d.cts +7 -0
  273. package/dist/application/models/validators/validateOrganizationConfig.d.ts +7 -0
  274. package/dist/application/models/validators/validateOrganizationConfig.js +28 -0
  275. package/dist/application/models/validators/validateResponse.cjs +136 -0
  276. package/dist/application/models/validators/validateResponse.d.cts +7 -0
  277. package/dist/application/models/validators/validateResponse.d.ts +7 -0
  278. package/dist/application/models/validators/validateResponse.js +135 -0
  279. package/dist/application/models/validators/validateSuggestion.cjs +17 -0
  280. package/dist/application/models/validators/validateSuggestion.d.cts +7 -0
  281. package/dist/application/models/validators/validateSuggestion.d.ts +7 -0
  282. package/dist/application/models/validators/validateSuggestion.js +17 -0
  283. package/dist/application/models/validators/validateUserEvent.cjs +75 -0
  284. package/dist/application/models/validators/validateUserEvent.d.cts +7 -0
  285. package/dist/application/models/validators/validateUserEvent.d.ts +7 -0
  286. package/dist/application/models/validators/validateUserEvent.js +74 -0
  287. package/dist/application/models/variantInfo/index.cjs +1 -1
  288. package/dist/application/models/variantInfo/index.d.cts +1 -1
  289. package/dist/application/models/variantInfo/index.d.ts +1 -1
  290. package/dist/application/models/variantInfo/index.js +1 -1
  291. package/dist/application/models/variantInfo/pageVisitInfo.d.cts +10 -0
  292. package/dist/application/models/variantInfo/pageVisitInfo.d.ts +10 -0
  293. package/dist/application/models/variantInfo/plpInfo.d.cts +7 -0
  294. package/dist/application/models/variantInfo/plpInfo.d.ts +7 -0
  295. package/dist/application/models/variantInfo/productInfo.d.cts +9 -0
  296. package/dist/application/models/variantInfo/productInfo.d.ts +9 -0
  297. package/dist/{variantInfo-DpLn4nHz.cjs → application/models/variantInfo/variantInfo.cjs} +2 -7
  298. package/dist/application/models/variantInfo/variantInfo.d.cts +28 -0
  299. package/dist/application/models/variantInfo/variantInfo.d.ts +28 -0
  300. package/dist/{variantInfo-BfKlkaWU.js → application/models/variantInfo/variantInfo.js} +1 -1
  301. package/dist/application/utils/analyticsUtils.cjs +88 -0
  302. package/dist/application/utils/analyticsUtils.d.cts +17 -0
  303. package/dist/application/utils/analyticsUtils.d.ts +17 -0
  304. package/dist/application/utils/analyticsUtils.js +87 -0
  305. package/dist/application/utils/coreContextToApiContext.cjs +14 -0
  306. package/dist/application/utils/coreContextToApiContext.d.cts +8 -0
  307. package/dist/application/utils/coreContextToApiContext.d.ts +8 -0
  308. package/dist/application/utils/coreContextToApiContext.js +13 -0
  309. package/dist/application/utils/coreUserEventToApiUserEvent.cjs +74 -0
  310. package/dist/application/utils/coreUserEventToApiUserEvent.d.cts +8 -0
  311. package/dist/application/utils/coreUserEventToApiUserEvent.d.ts +8 -0
  312. package/dist/application/utils/coreUserEventToApiUserEvent.js +73 -0
  313. package/dist/application/utils/divideArray.cjs +11 -0
  314. package/dist/application/utils/divideArray.d.cts +5 -0
  315. package/dist/application/utils/divideArray.d.ts +5 -0
  316. package/dist/application/utils/divideArray.js +10 -0
  317. package/dist/application/utils/domObserver.cjs +87 -0
  318. package/dist/application/utils/domObserver.d.cts +39 -0
  319. package/dist/application/utils/domObserver.d.ts +39 -0
  320. package/dist/application/utils/domObserver.js +87 -0
  321. package/dist/application/utils/elementObserver.cjs +176 -0
  322. package/dist/application/utils/elementObserver.d.cts +68 -0
  323. package/dist/application/utils/elementObserver.d.ts +68 -0
  324. package/dist/application/utils/elementObserver.js +175 -0
  325. package/dist/application/utils/imageFilter.cjs +12 -0
  326. package/dist/application/utils/imageFilter.d.cts +7 -0
  327. package/dist/application/utils/imageFilter.d.ts +7 -0
  328. package/dist/application/utils/imageFilter.js +12 -0
  329. package/dist/application/utils/index.cjs +40 -41
  330. package/dist/application/utils/index.d.cts +22 -264
  331. package/dist/application/utils/index.d.ts +22 -264
  332. package/dist/application/utils/index.js +20 -21
  333. package/dist/application/utils/merchantUtils.cjs +18 -0
  334. package/dist/application/utils/merchantUtils.d.cts +5 -0
  335. package/dist/application/utils/merchantUtils.d.ts +5 -0
  336. package/dist/application/utils/merchantUtils.js +17 -0
  337. package/dist/application/utils/messageFromFormSubmittedEvent.cjs +21 -0
  338. package/dist/application/utils/messageFromFormSubmittedEvent.d.cts +9 -0
  339. package/dist/application/utils/messageFromFormSubmittedEvent.d.ts +9 -0
  340. package/dist/application/utils/messageFromFormSubmittedEvent.js +20 -0
  341. package/dist/application/utils/messageFromQueryEvent.cjs +36 -0
  342. package/dist/application/utils/messageFromQueryEvent.d.cts +16 -0
  343. package/dist/application/utils/messageFromQueryEvent.d.ts +16 -0
  344. package/dist/application/utils/messageFromQueryEvent.js +35 -0
  345. package/dist/application/utils/messageFromResponse.cjs +97 -0
  346. package/dist/application/utils/messageFromResponse.d.cts +16 -0
  347. package/dist/application/utils/messageFromResponse.d.ts +16 -0
  348. package/dist/application/utils/messageFromResponse.js +96 -0
  349. package/dist/application/utils/messageFromSuggestionEvent.cjs +33 -0
  350. package/dist/application/utils/messageFromSuggestionEvent.d.cts +18 -0
  351. package/dist/application/utils/messageFromSuggestionEvent.d.ts +18 -0
  352. package/dist/application/utils/messageFromSuggestionEvent.js +32 -0
  353. package/dist/application/utils/mouseEventTypes.d.cts +5 -0
  354. package/dist/application/utils/mouseEventTypes.d.ts +5 -0
  355. package/dist/application/utils/mutationHelper.cjs +31 -0
  356. package/dist/application/utils/mutationHelper.d.cts +12 -0
  357. package/dist/application/utils/mutationHelper.d.ts +12 -0
  358. package/dist/application/utils/mutationHelper.js +30 -0
  359. package/dist/application/utils/nextMessageRequestToApiRequest.cjs +32 -0
  360. package/dist/application/utils/nextMessageRequestToApiRequest.d.cts +8 -0
  361. package/dist/application/utils/nextMessageRequestToApiRequest.d.ts +8 -0
  362. package/dist/application/utils/nextMessageRequestToApiRequest.js +32 -0
  363. package/dist/application/utils/nodeSelector.cjs +92 -0
  364. package/dist/application/utils/nodeSelector.d.cts +28 -0
  365. package/dist/application/utils/nodeSelector.d.ts +28 -0
  366. package/dist/application/utils/nodeSelector.js +90 -0
  367. package/dist/application/utils/overrides.cjs +95 -0
  368. package/dist/application/utils/overrides.d.cts +37 -0
  369. package/dist/application/utils/overrides.d.ts +37 -0
  370. package/dist/application/utils/overrides.js +94 -0
  371. package/dist/application/utils/stringUtils.cjs +35 -0
  372. package/dist/application/utils/stringUtils.d.cts +18 -0
  373. package/dist/application/utils/stringUtils.d.ts +18 -0
  374. package/dist/application/utils/stringUtils.js +34 -0
  375. package/dist/application/utils/supportedEventRequestToApiRequest.cjs +13 -0
  376. package/dist/application/utils/supportedEventRequestToApiRequest.d.cts +8 -0
  377. package/dist/application/utils/supportedEventRequestToApiRequest.d.ts +8 -0
  378. package/dist/application/utils/supportedEventRequestToApiRequest.js +13 -0
  379. package/dist/application/utils/urlsParser.cjs +47 -0
  380. package/dist/application/utils/urlsParser.d.cts +23 -0
  381. package/dist/application/utils/urlsParser.d.ts +23 -0
  382. package/dist/application/utils/urlsParser.js +41 -0
  383. package/dist/application/utils/validation.cjs +7 -0
  384. package/dist/application/utils/validation.d.cts +5 -0
  385. package/dist/application/utils/validation.d.ts +5 -0
  386. package/dist/application/utils/validation.js +6 -0
  387. package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +9 -0
  388. package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +8 -0
  389. package/dist/atoms/app/index.cjs +27 -19
  390. package/dist/atoms/app/index.d.cts +10 -24
  391. package/dist/atoms/app/index.d.ts +10 -24
  392. package/dist/atoms/app/index.js +22 -15
  393. package/dist/atoms/app/variant.cjs +98 -0
  394. package/dist/atoms/app/variant.d.cts +10 -0
  395. package/dist/atoms/app/variant.d.ts +10 -0
  396. package/dist/atoms/app/variant.js +95 -0
  397. package/dist/atoms/atomStore/atomStore.cjs +36 -0
  398. package/dist/atoms/atomStore/atomStore.d.cts +24 -0
  399. package/dist/atoms/atomStore/atomStore.d.ts +24 -0
  400. package/dist/atoms/atomStore/atomStore.js +32 -0
  401. package/dist/atoms/atomStore/index.cjs +1 -1
  402. package/dist/atoms/atomStore/index.d.cts +2 -24
  403. package/dist/atoms/atomStore/index.d.ts +2 -24
  404. package/dist/atoms/atomStore/index.js +1 -1
  405. package/dist/atoms/chat/chatState.cjs +48 -0
  406. package/dist/atoms/chat/chatState.d.cts +54 -0
  407. package/dist/atoms/chat/chatState.d.ts +54 -0
  408. package/dist/atoms/chat/chatState.js +34 -0
  409. package/dist/atoms/chat/form.cjs +23 -0
  410. package/dist/atoms/chat/form.d.cts +10 -0
  411. package/dist/atoms/chat/form.d.ts +10 -0
  412. package/dist/atoms/chat/form.js +22 -0
  413. package/dist/atoms/chat/index.cjs +43 -38
  414. package/dist/atoms/chat/index.d.cts +13 -146
  415. package/dist/atoms/chat/index.d.ts +13 -146
  416. package/dist/atoms/chat/index.js +27 -23
  417. package/dist/atoms/chat/lastMessage.cjs +16 -0
  418. package/dist/atoms/chat/lastMessage.d.cts +8 -0
  419. package/dist/atoms/chat/lastMessage.d.ts +8 -0
  420. package/dist/atoms/chat/lastMessage.js +15 -0
  421. package/dist/atoms/chat/messageQueue.cjs +75 -0
  422. package/dist/atoms/chat/messageQueue.js +69 -0
  423. package/dist/atoms/chat/performanceMetrics.cjs +74 -0
  424. package/dist/atoms/chat/performanceMetrics.d.cts +50 -0
  425. package/dist/atoms/chat/performanceMetrics.d.ts +50 -0
  426. package/dist/atoms/chat/performanceMetrics.js +65 -0
  427. package/dist/atoms/chat/renderedWidgetRefs.cjs +32 -0
  428. package/dist/atoms/chat/renderedWidgetRefs.d.cts +21 -0
  429. package/dist/atoms/chat/renderedWidgetRefs.d.ts +21 -0
  430. package/dist/atoms/chat/renderedWidgetRefs.js +30 -0
  431. package/dist/atoms/chat/replies.cjs +45 -0
  432. package/dist/atoms/chat/replies.d.cts +14 -0
  433. package/dist/atoms/chat/replies.d.ts +14 -0
  434. package/dist/atoms/chat/replies.js +44 -0
  435. package/dist/atoms/chat/suggestions.cjs +36 -0
  436. package/dist/atoms/chat/suggestions.d.cts +10 -0
  437. package/dist/atoms/chat/suggestions.d.ts +10 -0
  438. package/dist/atoms/chat/suggestions.js +35 -0
  439. package/dist/atoms/envive/enviveConfig.cjs +74 -0
  440. package/dist/atoms/envive/enviveConfig.js +63 -0
  441. package/dist/atoms/globalSearch/globalSearch.cjs +18 -0
  442. package/dist/atoms/globalSearch/globalSearch.d.cts +24 -0
  443. package/dist/atoms/globalSearch/globalSearch.d.ts +24 -0
  444. package/dist/atoms/globalSearch/globalSearch.js +14 -0
  445. package/dist/atoms/globalSearch/index.cjs +1 -1
  446. package/dist/atoms/globalSearch/index.d.cts +2 -24
  447. package/dist/atoms/globalSearch/index.d.ts +2 -24
  448. package/dist/atoms/globalSearch/index.js +1 -1
  449. package/dist/atoms/org/customerService.cjs +17 -0
  450. package/dist/atoms/org/customerService.d.cts +23 -0
  451. package/dist/atoms/org/customerService.d.ts +23 -0
  452. package/dist/atoms/org/customerService.js +12 -0
  453. package/dist/atoms/org/graphqlConfig.cjs +18 -0
  454. package/dist/atoms/org/graphqlConfig.d.cts +19 -0
  455. package/dist/atoms/org/graphqlConfig.d.ts +19 -0
  456. package/dist/atoms/org/graphqlConfig.js +14 -0
  457. package/dist/atoms/org/index.cjs +9 -9
  458. package/dist/atoms/org/index.d.cts +5 -60
  459. package/dist/atoms/org/index.d.ts +5 -60
  460. package/dist/atoms/org/index.js +4 -4
  461. package/dist/atoms/org/newOrgConfigAtom.cjs +9 -0
  462. package/dist/atoms/org/newOrgConfigAtom.d.cts +10 -0
  463. package/dist/atoms/org/newOrgConfigAtom.d.ts +10 -0
  464. package/dist/atoms/org/newOrgConfigAtom.js +8 -0
  465. package/dist/atoms/org/orgAnalyticsConfig.cjs +18 -0
  466. package/dist/atoms/org/orgAnalyticsConfig.d.cts +11 -0
  467. package/dist/atoms/org/orgAnalyticsConfig.d.ts +11 -0
  468. package/dist/atoms/org/orgAnalyticsConfig.js +14 -0
  469. package/dist/atoms/search/chatSearch.cjs +208 -0
  470. package/dist/atoms/search/chatSearch.d.cts +115 -0
  471. package/dist/atoms/search/chatSearch.d.ts +115 -0
  472. package/dist/atoms/search/chatSearch.js +190 -0
  473. package/dist/atoms/search/index.cjs +15 -42
  474. package/dist/atoms/search/index.d.cts +2 -14
  475. package/dist/atoms/search/index.d.ts +2 -14
  476. package/dist/atoms/search/index.js +2 -29
  477. package/dist/atoms/search/productFilters.cjs +99 -0
  478. package/dist/atoms/search/productFilters.js +99 -0
  479. package/dist/atoms/search/productRetrievalAPI.cjs +50 -0
  480. package/dist/atoms/search/productRetrievalAPI.js +47 -0
  481. package/dist/atoms/search/productRetrievalAdapter.cjs +11 -0
  482. package/dist/atoms/search/productRetrievalAdapter.js +10 -0
  483. package/dist/atoms/search/productSorter.cjs +16 -0
  484. package/dist/atoms/search/productSorter.js +16 -0
  485. package/dist/atoms/search/searchAPI.cjs +135 -0
  486. package/dist/atoms/search/searchAPI.d.cts +76 -0
  487. package/dist/atoms/search/searchAPI.d.ts +76 -0
  488. package/dist/atoms/search/searchAPI.js +122 -0
  489. package/dist/atoms/search/searchServiceAdapter.cjs +19 -0
  490. package/dist/atoms/search/searchServiceAdapter.js +16 -0
  491. package/dist/atoms/search/types.cjs +32 -4
  492. package/dist/atoms/search/types.d.cts +60 -4
  493. package/dist/atoms/search/types.d.ts +60 -4
  494. package/dist/atoms/search/types.js +29 -2
  495. package/dist/atoms/search/utils.cjs +23 -2
  496. package/dist/atoms/search/utils.js +22 -2
  497. package/dist/config/index.cjs +74 -70
  498. package/dist/config/index.d.cts +8 -4
  499. package/dist/config/index.d.ts +8 -4
  500. package/dist/config/index.js +8 -4
  501. package/dist/config/locators/components/chat/index.cjs +44 -21
  502. package/dist/config/locators/components/chat/index.d.cts +24 -2
  503. package/dist/config/locators/components/chat/index.d.ts +24 -2
  504. package/dist/config/locators/components/chat/index.js +24 -2
  505. package/dist/config/locators/components/chat/variants/index.cjs +1 -1
  506. package/dist/config/locators/components/chat/variants/index.js +1 -1
  507. package/dist/config/locators/components/common/buttons.cjs +17 -0
  508. package/dist/config/locators/components/common/buttons.d.cts +10 -0
  509. package/dist/config/locators/components/common/buttons.d.ts +10 -0
  510. package/dist/config/locators/components/common/buttons.js +11 -0
  511. package/dist/config/locators/components/common/cards.cjs +39 -0
  512. package/dist/config/locators/components/common/cards.d.cts +21 -0
  513. package/dist/config/locators/components/common/cards.d.ts +21 -0
  514. package/dist/config/locators/components/common/cards.js +22 -0
  515. package/dist/config/locators/components/common/index.cjs +29 -26
  516. package/dist/config/locators/components/common/index.d.cts +4 -1
  517. package/dist/config/locators/components/common/index.d.ts +4 -1
  518. package/dist/config/locators/components/common/index.js +4 -1
  519. package/dist/config/locators/components/common/links.cjs +7 -0
  520. package/dist/config/locators/components/common/links.d.cts +5 -0
  521. package/dist/config/locators/components/common/links.d.ts +5 -0
  522. package/dist/config/locators/components/common/links.js +6 -0
  523. package/dist/config/locators/components/common/tables.cjs +7 -0
  524. package/dist/config/locators/components/common/tables.d.cts +5 -0
  525. package/dist/config/locators/components/common/tables.d.ts +5 -0
  526. package/dist/config/locators/components/common/tables.js +6 -0
  527. package/dist/config/locators/components/floating-button.cjs +9 -0
  528. package/dist/config/locators/components/floating-button.d.cts +6 -0
  529. package/dist/config/locators/components/floating-button.d.ts +6 -0
  530. package/dist/config/locators/components/floating-button.js +7 -0
  531. package/dist/config/locators/components/index.cjs +5 -4
  532. package/dist/config/locators/components/index.d.cts +2 -1
  533. package/dist/config/locators/components/index.d.ts +2 -1
  534. package/dist/config/locators/components/index.js +2 -1
  535. package/dist/config/locators/components/shadow-dom.cjs +7 -0
  536. package/dist/config/locators/components/shadow-dom.d.cts +5 -0
  537. package/dist/config/locators/components/shadow-dom.d.ts +5 -0
  538. package/dist/config/locators/components/shadow-dom.js +6 -0
  539. package/dist/config/locators/embedded.cjs +41 -0
  540. package/dist/{index-COXkY78t.d.cts → config/locators/embedded.d.cts} +1 -1
  541. package/dist/{index-BKvFVPUX.d.ts → config/locators/embedded.d.ts} +1 -1
  542. package/dist/{locators-BMQGmGLq.js → config/locators/embedded.js} +1 -1
  543. package/dist/config/locators/index.cjs +74 -70
  544. package/dist/config/locators/index.d.cts +8 -4
  545. package/dist/config/locators/index.d.ts +8 -4
  546. package/dist/config/locators/index.js +8 -4
  547. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +275 -0
  548. package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +52 -0
  549. package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +52 -0
  550. package/dist/contexts/amplitudeContext/amplitudeContext.js +271 -0
  551. package/dist/contexts/amplitudeContext/index.cjs +1 -20
  552. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  553. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  554. package/dist/contexts/amplitudeContext/index.js +1 -20
  555. package/dist/contexts/cdnContext/cdnContext.cjs +41 -0
  556. package/dist/contexts/cdnContext/cdnContext.d.cts +15 -0
  557. package/dist/contexts/cdnContext/cdnContext.d.ts +15 -0
  558. package/dist/contexts/cdnContext/cdnContext.js +38 -0
  559. package/dist/contexts/cdnContext/index.cjs +1 -4
  560. package/dist/contexts/cdnContext/index.d.cts +2 -15
  561. package/dist/contexts/cdnContext/index.d.ts +2 -15
  562. package/dist/contexts/cdnContext/index.js +1 -4
  563. package/dist/contexts/chatContext/chatContext.cjs +306 -0
  564. package/dist/contexts/chatContext/chatContext.d.cts +15 -0
  565. package/dist/contexts/chatContext/chatContext.d.ts +15 -0
  566. package/dist/contexts/chatContext/chatContext.js +304 -0
  567. package/dist/contexts/chatContext/index.cjs +3 -330
  568. package/dist/contexts/chatContext/index.d.cts +2 -15
  569. package/dist/contexts/chatContext/index.d.ts +2 -15
  570. package/dist/contexts/chatContext/index.js +2 -323
  571. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +48 -0
  572. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +29 -0
  573. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +29 -0
  574. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +45 -0
  575. package/dist/contexts/enviveConfigContext/index.cjs +1 -4
  576. package/dist/contexts/enviveConfigContext/index.d.cts +2 -30
  577. package/dist/contexts/enviveConfigContext/index.d.ts +2 -30
  578. package/dist/contexts/enviveConfigContext/index.js +1 -4
  579. package/dist/contexts/enviveCssContext/enviveCssContext.cjs +49 -0
  580. package/dist/contexts/enviveCssContext/enviveCssContext.d.cts +10 -0
  581. package/dist/contexts/enviveCssContext/enviveCssContext.d.ts +10 -0
  582. package/dist/contexts/enviveCssContext/enviveCssContext.js +47 -0
  583. package/dist/contexts/enviveCssContext/index.cjs +2 -65
  584. package/dist/contexts/enviveCssContext/index.d.cts +2 -10
  585. package/dist/contexts/enviveCssContext/index.d.ts +2 -10
  586. package/dist/contexts/enviveCssContext/index.js +2 -62
  587. package/dist/contexts/featureFlagContext/featureFlagContext.cjs +105 -0
  588. package/dist/contexts/featureFlagContext/featureFlagContext.d.cts +19 -0
  589. package/dist/contexts/featureFlagContext/featureFlagContext.d.ts +19 -0
  590. package/dist/contexts/featureFlagContext/featureFlagContext.js +102 -0
  591. package/dist/contexts/featureFlagContext/index.cjs +3 -106
  592. package/dist/contexts/featureFlagContext/index.d.cts +2 -20
  593. package/dist/contexts/featureFlagContext/index.d.ts +2 -20
  594. package/dist/contexts/featureFlagContext/index.js +2 -102
  595. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +46 -0
  596. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +24 -0
  597. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +24 -0
  598. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +42 -0
  599. package/dist/contexts/featureFlagServiceContext/index.cjs +1 -3
  600. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  601. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  602. package/dist/contexts/featureFlagServiceContext/index.js +1 -3
  603. package/dist/contexts/graphqlContext/graphqlContext.cjs +99 -0
  604. package/dist/contexts/graphqlContext/graphqlContext.d.cts +29 -0
  605. package/dist/contexts/graphqlContext/graphqlContext.d.ts +29 -0
  606. package/dist/contexts/graphqlContext/graphqlContext.js +96 -0
  607. package/dist/contexts/graphqlContext/index.cjs +1 -13
  608. package/dist/contexts/graphqlContext/index.d.cts +1 -14
  609. package/dist/contexts/graphqlContext/index.d.ts +1 -14
  610. package/dist/contexts/graphqlContext/index.js +1 -13
  611. package/dist/contexts/localStorageContext/index.cjs +1 -2
  612. package/dist/contexts/localStorageContext/index.d.cts +2 -30
  613. package/dist/contexts/localStorageContext/index.d.ts +2 -30
  614. package/dist/contexts/localStorageContext/index.js +1 -2
  615. package/dist/contexts/localStorageContext/localStorageContext.cjs +99 -0
  616. package/dist/contexts/localStorageContext/localStorageContext.d.cts +25 -0
  617. package/dist/contexts/localStorageContext/localStorageContext.d.ts +25 -0
  618. package/dist/contexts/localStorageContext/localStorageContext.js +95 -0
  619. package/dist/contexts/newOrgConfigContext/index.cjs +1 -17
  620. package/dist/contexts/newOrgConfigContext/index.d.cts +1 -15
  621. package/dist/contexts/newOrgConfigContext/index.d.ts +1 -15
  622. package/dist/contexts/newOrgConfigContext/index.js +1 -17
  623. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +56 -0
  624. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.cts +16 -0
  625. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.d.ts +16 -0
  626. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +53 -0
  627. package/dist/contexts/searchContext/index.cjs +1 -21
  628. package/dist/contexts/searchContext/index.d.cts +2 -16
  629. package/dist/contexts/searchContext/index.d.ts +2 -16
  630. package/dist/contexts/searchContext/index.js +1 -21
  631. package/dist/contexts/searchContext/searchContext.cjs +132 -0
  632. package/dist/contexts/searchContext/searchContext.d.cts +15 -0
  633. package/dist/contexts/searchContext/searchContext.d.ts +15 -0
  634. package/dist/contexts/searchContext/searchContext.js +129 -0
  635. package/dist/contexts/sessionStorageContext/index.cjs +1 -2
  636. package/dist/contexts/sessionStorageContext/index.d.cts +2 -15
  637. package/dist/contexts/sessionStorageContext/index.d.ts +2 -15
  638. package/dist/contexts/sessionStorageContext/index.js +1 -2
  639. package/dist/contexts/sessionStorageContext/sessionStorageContext.cjs +55 -0
  640. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.cts +15 -0
  641. package/dist/contexts/sessionStorageContext/sessionStorageContext.d.ts +15 -0
  642. package/dist/contexts/sessionStorageContext/sessionStorageContext.js +52 -0
  643. package/dist/contexts/shopifyUrlContext/index.cjs +1 -2
  644. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -20
  645. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -20
  646. package/dist/contexts/shopifyUrlContext/index.js +1 -2
  647. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.cjs +64 -0
  648. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.cts +18 -0
  649. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.d.ts +18 -0
  650. package/dist/contexts/shopifyUrlContext/shopifyUrlContext.js +61 -0
  651. package/dist/contexts/systemSettingsContext/index.cjs +1 -4
  652. package/dist/contexts/systemSettingsContext/index.d.cts +2 -38
  653. package/dist/contexts/systemSettingsContext/index.d.ts +2 -38
  654. package/dist/contexts/systemSettingsContext/index.js +1 -4
  655. package/dist/contexts/systemSettingsContext/systemSettingsContext.cjs +42 -0
  656. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +27 -0
  657. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +27 -0
  658. package/dist/contexts/systemSettingsContext/systemSettingsContext.js +39 -0
  659. package/dist/contexts/types.cjs +56 -6
  660. package/dist/contexts/types.d.cts +696 -4
  661. package/dist/contexts/types.d.ts +696 -4
  662. package/dist/contexts/types.js +52 -2
  663. package/dist/contexts/userIdentityContext/index.cjs +1 -25
  664. package/dist/contexts/userIdentityContext/index.d.cts +1 -1
  665. package/dist/contexts/userIdentityContext/index.d.ts +1 -1
  666. package/dist/contexts/userIdentityContext/index.js +1 -25
  667. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +131 -0
  668. package/dist/contexts/userIdentityContext/userIdentityContext.d.cts +20 -0
  669. package/dist/contexts/userIdentityContext/userIdentityContext.d.ts +20 -0
  670. package/dist/contexts/userIdentityContext/userIdentityContext.js +127 -0
  671. package/dist/events/event-types.cjs +18 -0
  672. package/dist/events/event-types.d.cts +15 -0
  673. package/dist/events/event-types.d.ts +15 -0
  674. package/dist/events/event-types.js +17 -0
  675. package/dist/events/index.cjs +65 -3
  676. package/dist/events/index.d.cts +4 -14
  677. package/dist/events/index.d.ts +4 -14
  678. package/dist/events/index.js +64 -2
  679. package/dist/hooks/AmplitudeOperations/index.cjs +1 -21
  680. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -12
  681. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -12
  682. package/dist/hooks/AmplitudeOperations/index.js +1 -21
  683. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.cjs +35 -0
  684. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +12 -0
  685. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +12 -0
  686. package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.js +34 -0
  687. package/dist/hooks/AppDetails/index.cjs +1 -17
  688. package/dist/hooks/AppDetails/index.d.cts +2 -28
  689. package/dist/hooks/AppDetails/index.d.ts +2 -28
  690. package/dist/hooks/AppDetails/index.js +1 -17
  691. package/dist/hooks/AppDetails/useAppDetails.cjs +25 -0
  692. package/dist/hooks/AppDetails/useAppDetails.d.cts +17 -0
  693. package/dist/hooks/AppDetails/useAppDetails.d.ts +17 -0
  694. package/dist/hooks/AppDetails/useAppDetails.js +24 -0
  695. package/dist/hooks/BlockBackButton/index.cjs +2 -28
  696. package/dist/hooks/BlockBackButton/index.d.cts +2 -5
  697. package/dist/hooks/BlockBackButton/index.d.ts +2 -5
  698. package/dist/hooks/BlockBackButton/index.js +2 -26
  699. package/dist/hooks/BlockBackButton/useBlockBackButton.cjs +28 -0
  700. package/dist/hooks/BlockBackButton/useBlockBackButton.d.cts +5 -0
  701. package/dist/hooks/BlockBackButton/useBlockBackButton.d.ts +5 -0
  702. package/dist/hooks/BlockBackButton/useBlockBackButton.js +27 -0
  703. package/dist/hooks/CdnOperations/index.cjs +4 -23
  704. package/dist/hooks/CdnOperations/index.d.cts +2 -7
  705. package/dist/hooks/CdnOperations/index.d.ts +2 -7
  706. package/dist/hooks/CdnOperations/index.js +2 -21
  707. package/dist/hooks/CdnOperations/useCdnOperations.cjs +22 -0
  708. package/dist/hooks/CdnOperations/useCdnOperations.d.cts +7 -0
  709. package/dist/hooks/CdnOperations/useCdnOperations.d.ts +7 -0
  710. package/dist/hooks/CdnOperations/useCdnOperations.js +20 -0
  711. package/dist/hooks/ChatToggle/index.cjs +2 -64
  712. package/dist/hooks/ChatToggle/index.d.cts +2 -12
  713. package/dist/hooks/ChatToggle/index.d.ts +2 -12
  714. package/dist/hooks/ChatToggle/index.js +2 -62
  715. package/dist/hooks/ChatToggle/useChatToggle.cjs +45 -0
  716. package/dist/hooks/ChatToggle/useChatToggle.d.cts +12 -0
  717. package/dist/hooks/ChatToggle/useChatToggle.d.ts +12 -0
  718. package/dist/hooks/ChatToggle/useChatToggle.js +44 -0
  719. package/dist/hooks/ChatToggleAnalytics/index.cjs +2 -38
  720. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -9
  721. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -9
  722. package/dist/hooks/ChatToggleAnalytics/index.js +2 -36
  723. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +19 -0
  724. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.cts +9 -0
  725. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.d.ts +9 -0
  726. package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.js +18 -0
  727. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -35
  728. package/dist/hooks/CustomerSupportHandoff/index.d.cts +2 -16
  729. package/dist/hooks/CustomerSupportHandoff/index.d.ts +2 -16
  730. package/dist/hooks/CustomerSupportHandoff/index.js +2 -33
  731. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.cjs +35 -0
  732. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.cts +16 -0
  733. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.ts +16 -0
  734. package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +34 -0
  735. package/dist/hooks/Debounce/index.cjs +2 -20
  736. package/dist/hooks/Debounce/index.d.cts +2 -5
  737. package/dist/hooks/Debounce/index.d.ts +2 -5
  738. package/dist/hooks/Debounce/index.js +2 -18
  739. package/dist/hooks/Debounce/useDebounce.cjs +20 -0
  740. package/dist/hooks/Debounce/useDebounce.d.cts +5 -0
  741. package/dist/hooks/Debounce/useDebounce.d.ts +5 -0
  742. package/dist/hooks/Debounce/useDebounce.js +19 -0
  743. package/dist/hooks/ElementObserver/index.cjs +2 -178
  744. package/dist/hooks/ElementObserver/index.d.cts +2 -29
  745. package/dist/hooks/ElementObserver/index.d.ts +2 -29
  746. package/dist/hooks/ElementObserver/index.js +2 -176
  747. package/dist/hooks/ElementObserver/useElementObserver.cjs +178 -0
  748. package/dist/hooks/ElementObserver/useElementObserver.d.cts +30 -0
  749. package/dist/hooks/ElementObserver/useElementObserver.d.ts +30 -0
  750. package/dist/hooks/ElementObserver/useElementObserver.js +177 -0
  751. package/dist/hooks/GrabAndScroll/index.cjs +2 -98
  752. package/dist/hooks/GrabAndScroll/index.d.cts +2 -14
  753. package/dist/hooks/GrabAndScroll/index.d.ts +2 -14
  754. package/dist/hooks/GrabAndScroll/index.js +2 -96
  755. package/dist/hooks/GrabAndScroll/useGrabAndScroll.cjs +96 -0
  756. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +14 -0
  757. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +14 -0
  758. package/dist/hooks/GrabAndScroll/useGrabAndScroll.js +95 -0
  759. package/dist/hooks/GraphQLConfig/index.cjs +1 -14
  760. package/dist/hooks/GraphQLConfig/index.d.cts +2 -29
  761. package/dist/hooks/GraphQLConfig/index.d.ts +2 -29
  762. package/dist/hooks/GraphQLConfig/index.js +1 -14
  763. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +63 -0
  764. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +17 -0
  765. package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +17 -0
  766. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +61 -0
  767. package/dist/hooks/IdentifyUser/index.cjs +2 -60
  768. package/dist/hooks/IdentifyUser/index.d.cts +2 -10
  769. package/dist/hooks/IdentifyUser/index.d.ts +2 -10
  770. package/dist/hooks/IdentifyUser/index.js +2 -58
  771. package/dist/hooks/IdentifyUser/useIdentifyUser.cjs +35 -0
  772. package/dist/hooks/IdentifyUser/useIdentifyUser.d.cts +10 -0
  773. package/dist/hooks/IdentifyUser/useIdentifyUser.d.ts +10 -0
  774. package/dist/hooks/IdentifyUser/useIdentifyUser.js +34 -0
  775. package/dist/hooks/ImageResolver/index.cjs +2 -54
  776. package/dist/hooks/ImageResolver/index.d.cts +2 -7
  777. package/dist/hooks/ImageResolver/index.d.ts +2 -7
  778. package/dist/hooks/ImageResolver/index.js +2 -52
  779. package/dist/hooks/ImageResolver/useImageResolver.cjs +45 -0
  780. package/dist/hooks/ImageResolver/useImageResolver.d.cts +7 -0
  781. package/dist/hooks/ImageResolver/useImageResolver.d.ts +7 -0
  782. package/dist/hooks/ImageResolver/useImageResolver.js +44 -0
  783. package/dist/hooks/Intersection/index.cjs +1 -1
  784. package/dist/hooks/Intersection/index.d.cts +2 -7
  785. package/dist/hooks/Intersection/index.d.ts +2 -7
  786. package/dist/hooks/Intersection/index.js +1 -1
  787. package/dist/hooks/Intersection/useIntersection.cjs +22 -0
  788. package/dist/hooks/Intersection/useIntersection.d.cts +7 -0
  789. package/dist/hooks/Intersection/useIntersection.d.ts +7 -0
  790. package/dist/hooks/Intersection/useIntersection.js +21 -0
  791. package/dist/hooks/IsSmallScreen/index.cjs +2 -21
  792. package/dist/hooks/IsSmallScreen/index.d.cts +2 -5
  793. package/dist/hooks/IsSmallScreen/index.d.ts +2 -5
  794. package/dist/hooks/IsSmallScreen/index.js +2 -19
  795. package/dist/hooks/IsSmallScreen/useIsSmallScreen.cjs +21 -0
  796. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.cts +5 -0
  797. package/dist/hooks/IsSmallScreen/useIsSmallScreen.d.ts +5 -0
  798. package/dist/hooks/IsSmallScreen/useIsSmallScreen.js +20 -0
  799. package/dist/hooks/LocalStorageOperations/index.cjs +5 -78
  800. package/dist/hooks/LocalStorageOperations/index.d.cts +2 -17
  801. package/dist/hooks/LocalStorageOperations/index.d.ts +2 -17
  802. package/dist/hooks/LocalStorageOperations/index.js +2 -73
  803. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +77 -0
  804. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.cts +17 -0
  805. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.d.ts +17 -0
  806. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +73 -0
  807. package/dist/hooks/MessageFilter/index.cjs +2 -53
  808. package/dist/hooks/MessageFilter/index.d.cts +2 -31
  809. package/dist/hooks/MessageFilter/index.d.ts +2 -31
  810. package/dist/hooks/MessageFilter/index.js +2 -53
  811. package/dist/hooks/MessageFilter/useMessageFilter.cjs +43 -0
  812. package/dist/hooks/MessageFilter/useMessageFilter.d.cts +20 -0
  813. package/dist/hooks/MessageFilter/useMessageFilter.d.ts +20 -0
  814. package/dist/hooks/MessageFilter/useMessageFilter.js +43 -0
  815. package/dist/hooks/MessageScrollObserver/index.cjs +2 -35
  816. package/dist/hooks/MessageScrollObserver/index.d.cts +2 -5
  817. package/dist/hooks/MessageScrollObserver/index.d.ts +2 -5
  818. package/dist/hooks/MessageScrollObserver/index.js +2 -33
  819. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.cjs +33 -0
  820. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.cts +5 -0
  821. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.d.ts +5 -0
  822. package/dist/hooks/MessageScrollObserver/useMessageScrollObserver.js +32 -0
  823. package/dist/hooks/NewOrgConfig/index.cjs +2 -19
  824. package/dist/hooks/NewOrgConfig/index.d.cts +2 -21
  825. package/dist/hooks/NewOrgConfig/index.d.ts +2 -21
  826. package/dist/hooks/NewOrgConfig/index.js +1 -18
  827. package/dist/hooks/NewOrgConfig/useNewOrgConfig.cjs +10 -0
  828. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.cts +7 -0
  829. package/dist/hooks/NewOrgConfig/useNewOrgConfig.d.ts +7 -0
  830. package/dist/hooks/NewOrgConfig/useNewOrgConfig.js +10 -0
  831. package/dist/hooks/Search/index.cjs +2 -503
  832. package/dist/hooks/Search/index.d.cts +2 -72
  833. package/dist/hooks/Search/index.d.ts +2 -72
  834. package/dist/hooks/Search/index.js +2 -499
  835. package/dist/hooks/Search/useRecommendedProducts.cjs +41 -0
  836. package/dist/hooks/Search/useRecommendedProducts.js +40 -0
  837. package/dist/hooks/Search/useSearch.cjs +232 -0
  838. package/dist/hooks/Search/useSearch.d.cts +62 -0
  839. package/dist/hooks/Search/useSearch.d.ts +62 -0
  840. package/dist/hooks/Search/useSearch.js +231 -0
  841. package/dist/hooks/Search/useSearchInput.cjs +173 -0
  842. package/dist/hooks/Search/useSearchInput.js +171 -0
  843. package/dist/hooks/SearchOperations/index.cjs +3 -101
  844. package/dist/hooks/SearchOperations/index.d.cts +2 -22
  845. package/dist/hooks/SearchOperations/index.d.ts +2 -22
  846. package/dist/hooks/SearchOperations/index.js +2 -98
  847. package/dist/hooks/SearchOperations/useSearchOperations.cjs +77 -0
  848. package/dist/hooks/SearchOperations/useSearchOperations.d.cts +21 -0
  849. package/dist/hooks/SearchOperations/useSearchOperations.d.ts +21 -0
  850. package/dist/hooks/SearchOperations/useSearchOperations.js +75 -0
  851. package/dist/hooks/SessionStorageOperations/index.cjs +2 -29
  852. package/dist/hooks/SessionStorageOperations/index.d.cts +2 -8
  853. package/dist/hooks/SessionStorageOperations/index.d.ts +2 -8
  854. package/dist/hooks/SessionStorageOperations/index.js +2 -27
  855. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.cjs +28 -0
  856. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.cts +8 -0
  857. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.d.ts +8 -0
  858. package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.js +27 -0
  859. package/dist/hooks/ShopifyUrlOperations/index.cjs +4 -52
  860. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -23
  861. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -23
  862. package/dist/hooks/ShopifyUrlOperations/index.js +2 -48
  863. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.cjs +51 -0
  864. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +21 -0
  865. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +21 -0
  866. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.js +48 -0
  867. package/dist/hooks/SnapCalculator/index.cjs +2 -28
  868. package/dist/hooks/SnapCalculator/index.d.cts +2 -12
  869. package/dist/hooks/SnapCalculator/index.d.ts +2 -12
  870. package/dist/hooks/SnapCalculator/index.js +2 -26
  871. package/dist/hooks/SnapCalculator/useSnapCalculator.cjs +28 -0
  872. package/dist/hooks/SnapCalculator/useSnapCalculator.d.cts +12 -0
  873. package/dist/hooks/SnapCalculator/useSnapCalculator.d.ts +12 -0
  874. package/dist/hooks/SnapCalculator/useSnapCalculator.js +27 -0
  875. package/dist/hooks/SystemSettingsContext/index.cjs +2 -6
  876. package/dist/hooks/SystemSettingsContext/index.d.cts +2 -24
  877. package/dist/hooks/SystemSettingsContext/index.d.ts +2 -24
  878. package/dist/hooks/SystemSettingsContext/index.js +1 -5
  879. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.cjs +15 -0
  880. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +13 -0
  881. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +13 -0
  882. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.js +14 -0
  883. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +2 -22
  884. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -18
  885. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -18
  886. package/dist/hooks/TrackComponentVisibleEvent/index.js +1 -21
  887. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +53 -0
  888. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +18 -0
  889. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +18 -0
  890. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +52 -0
  891. package/dist/hooks/UpdateAnalyticsProps/index.cjs +2 -62
  892. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +2 -9
  893. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +2 -9
  894. package/dist/hooks/UpdateAnalyticsProps/index.js +2 -59
  895. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +44 -0
  896. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.cts +9 -0
  897. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.d.ts +9 -0
  898. package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +43 -0
  899. package/dist/hooks/utils.cjs +97 -7
  900. package/dist/hooks/utils.d.cts +22 -14
  901. package/dist/hooks/utils.d.ts +22 -14
  902. package/dist/hooks/utils.js +91 -2
  903. package/dist/interceptors/index.cjs +1 -2
  904. package/dist/interceptors/index.d.cts +3 -21
  905. package/dist/interceptors/index.d.ts +3 -21
  906. package/dist/interceptors/index.js +1 -2
  907. package/dist/interceptors/types.cjs +0 -1
  908. package/dist/interceptors/types.d.cts +10 -14
  909. package/dist/interceptors/types.d.ts +10 -14
  910. package/dist/interceptors/types.js +0 -2
  911. package/dist/interceptors/useMessageInterceptor.cjs +26 -0
  912. package/dist/interceptors/useMessageInterceptor.d.cts +9 -0
  913. package/dist/interceptors/useMessageInterceptor.d.ts +9 -0
  914. package/dist/interceptors/useMessageInterceptor.js +25 -0
  915. package/dist/merchants/domInsertion.cjs +17 -0
  916. package/dist/merchants/domInsertion.d.cts +14 -0
  917. package/dist/merchants/domInsertion.d.ts +14 -0
  918. package/dist/merchants/domInsertion.js +16 -0
  919. package/dist/merchants/gridInsertion.cjs +24 -0
  920. package/dist/merchants/gridInsertion.d.cts +21 -0
  921. package/dist/merchants/gridInsertion.d.ts +21 -0
  922. package/dist/merchants/gridInsertion.js +23 -0
  923. package/dist/types/OrgInfo.d.cts +13 -0
  924. package/dist/types/OrgInfo.d.ts +13 -0
  925. package/dist/types/config-versions.cjs +8 -0
  926. package/dist/types/config-versions.js +8 -0
  927. package/dist/types/customerService.d.cts +22 -0
  928. package/dist/types/customerService.d.ts +24 -0
  929. package/dist/types/custservice-types.cjs +25 -0
  930. package/dist/types/custservice-types.d.cts +29 -0
  931. package/dist/types/custservice-types.d.ts +29 -0
  932. package/dist/types/custservice-types.js +23 -0
  933. package/dist/types/exceptions/sessionExceptions.cjs +12 -0
  934. package/dist/types/exceptions/sessionExceptions.js +11 -0
  935. package/dist/types/exceptions/unsupportedProductExceptions.cjs +12 -0
  936. package/dist/types/exceptions/unsupportedProductExceptions.js +11 -0
  937. package/dist/types/index.cjs +5 -33
  938. package/dist/types/index.d.cts +6 -3
  939. package/dist/types/index.d.ts +6 -3
  940. package/dist/types/index.js +3 -30
  941. package/dist/types/search-filter-types.d.cts +102 -0
  942. package/dist/types/search-filter-types.d.ts +102 -0
  943. package/dist/types/suggestionBarV2-types.cjs +11 -0
  944. package/dist/types/suggestionBarV2-types.d.cts +8 -0
  945. package/dist/types/suggestionBarV2-types.d.ts +8 -0
  946. package/dist/types/suggestionBarV2-types.js +10 -0
  947. package/dist/types/test-types.d.cts +7 -0
  948. package/dist/types/test-types.d.ts +7 -0
  949. package/package.json +4 -5
  950. package/src/application/commerce-api.ts +123 -176
  951. package/src/application/logging/logger.ts +2 -10
  952. package/src/application/models/api/orgConfigResults.ts +4 -4
  953. package/src/application/models/cachedValue.ts +1 -3
  954. package/src/application/models/clientDetails.ts +1 -3
  955. package/src/application/models/colorsConfig.ts +18 -18
  956. package/src/application/models/frontendConfig.ts +2 -2
  957. package/src/application/models/googleAnalyticsEvents.ts +1 -3
  958. package/src/application/models/graphql/index.ts +1 -1
  959. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  960. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  961. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -3
  962. package/src/application/models/guards/api/isApiOrganizationConfig.ts +1 -4
  963. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +1 -3
  964. package/src/application/models/guards/api/isApiReviewRichInformation.ts +2 -2
  965. package/src/application/models/guards/api/isApiSearchEventAttributes.ts +1 -1
  966. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  967. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +1 -1
  968. package/src/application/models/index.ts +87 -87
  969. package/src/application/models/spanxTakeAQuizCtaParameter.ts +1 -1
  970. package/src/application/models/spiffyWidgets.ts +0 -1
  971. package/src/application/models/utils/snakeToCamelTransformer.ts +10 -10
  972. package/src/application/models/validators/validateGraphQLColorsConfig.ts +3 -5
  973. package/src/application/models/validators/validateOrgConfigResults.ts +3 -3
  974. package/src/application/models/validators/validateResponse.ts +1 -1
  975. package/src/application/utils/analyticsUtils.ts +17 -33
  976. package/src/application/utils/cdnUtils.ts +4 -7
  977. package/src/application/utils/domObserver.ts +8 -8
  978. package/src/application/utils/elementObserver.ts +3 -3
  979. package/src/application/utils/imageFilter.ts +9 -6
  980. package/src/application/utils/index.ts +21 -21
  981. package/src/application/utils/merchantUtils.ts +8 -8
  982. package/src/application/utils/messageFromSuggestionEvent.ts +1 -1
  983. package/src/application/utils/mutationHelper.ts +3 -3
  984. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  985. package/src/application/utils/stringUtils.ts +0 -2
  986. package/src/application/utils/urlsParser.ts +1 -1
  987. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +5 -5
  988. package/src/atoms/app/index.ts +21 -26
  989. package/src/atoms/app/variant.ts +8 -8
  990. package/src/atoms/atomStore/index.ts +1 -1
  991. package/src/atoms/chat/chatState.ts +9 -19
  992. package/src/atoms/chat/index.ts +1 -1
  993. package/src/atoms/chat/lastMessage.ts +1 -1
  994. package/src/atoms/chat/messageQueue.ts +27 -52
  995. package/src/atoms/chat/performanceMetrics.ts +38 -51
  996. package/src/atoms/chat/renderedWidgetRefs.ts +3 -3
  997. package/src/atoms/chat/replies.ts +40 -43
  998. package/src/atoms/envive/enviveConfig.ts +27 -32
  999. package/src/atoms/globalSearch/index.ts +1 -1
  1000. package/src/atoms/org/customerService.ts +4 -8
  1001. package/src/atoms/org/graphqlConfig.ts +10 -16
  1002. package/src/atoms/org/index.ts +4 -4
  1003. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  1004. package/src/atoms/org/orgAnalyticsConfig.ts +4 -4
  1005. package/src/atoms/search/chatSearch.ts +74 -101
  1006. package/src/atoms/search/productFilters.ts +15 -15
  1007. package/src/atoms/search/productRetrievalAPI.ts +9 -11
  1008. package/src/atoms/search/productRetrievalAdapter.ts +4 -4
  1009. package/src/atoms/search/searchAPI.ts +46 -64
  1010. package/src/atoms/search/searchServiceAdapter.ts +4 -8
  1011. package/src/atoms/search/types.ts +2 -2
  1012. package/src/atoms/search/utils.ts +1 -1
  1013. package/src/config/divIds.ts +8 -4
  1014. package/src/config/index.ts +1 -1
  1015. package/src/config/locators/components/chat/variants/index.ts +12 -13
  1016. package/src/config/locators/components/floating-button.ts +2 -2
  1017. package/src/config/locators/components/shadow-dom.ts +1 -1
  1018. package/src/config/locators/embedded.ts +2 -1
  1019. package/src/config/socialProofClasses.ts +9 -14
  1020. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +107 -122
  1021. package/src/contexts/amplitudeContext/amplitudeContext.tsx +112 -143
  1022. package/src/contexts/amplitudeContext/index.ts +1 -1
  1023. package/src/contexts/cdnContext/cdnContext.tsx +8 -10
  1024. package/src/contexts/cdnContext/index.ts +1 -1
  1025. package/src/contexts/chatContext/chatContext.tsx +77 -123
  1026. package/src/contexts/chatContext/index.ts +1 -1
  1027. package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +125 -153
  1028. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +7 -7
  1029. package/src/contexts/enviveConfigContext/index.ts +1 -1
  1030. package/src/contexts/enviveCssContext/enviveCssContext.tsx +4 -8
  1031. package/src/contexts/enviveCssContext/index.ts +1 -1
  1032. package/src/contexts/featureFlagContext/featureFlagContext.tsx +28 -41
  1033. package/src/contexts/featureFlagContext/index.ts +1 -1
  1034. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +15 -25
  1035. package/src/contexts/featureFlagServiceContext/index.ts +1 -1
  1036. package/src/contexts/graphqlContext/__tests__/graphqlContext.test.tsx +142 -170
  1037. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -60
  1038. package/src/contexts/graphqlContext/index.ts +1 -1
  1039. package/src/contexts/localStorageContext/__tests__/localStorageContext.test.tsx +155 -161
  1040. package/src/contexts/localStorageContext/index.ts +1 -1
  1041. package/src/contexts/localStorageContext/localStorageContext.tsx +25 -47
  1042. package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +119 -153
  1043. package/src/contexts/newOrgConfigContext/index.ts +1 -1
  1044. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +11 -17
  1045. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +290 -227
  1046. package/src/contexts/searchContext/index.ts +1 -1
  1047. package/src/contexts/searchContext/searchContext.tsx +31 -45
  1048. package/src/contexts/sessionStorageContext/index.ts +1 -1
  1049. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +11 -27
  1050. package/src/contexts/shopifyUrlContext/index.ts +1 -1
  1051. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +21 -30
  1052. package/src/contexts/systemSettingsContext/__tests__/systemSettingsContext.test.tsx +130 -133
  1053. package/src/contexts/systemSettingsContext/index.ts +1 -1
  1054. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  1055. package/src/contexts/types.ts +166 -221
  1056. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +116 -130
  1057. package/src/contexts/userIdentityContext/index.ts +1 -1
  1058. package/src/contexts/userIdentityContext/userIdentityContext.tsx +29 -64
  1059. package/src/events/index.ts +7 -3
  1060. package/src/events/registerAnalyticsListeners.ts +10 -13
  1061. package/src/hooks/AmplitudeOperations/index.ts +1 -1
  1062. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +5 -8
  1063. package/src/hooks/AppDetails/index.ts +1 -1
  1064. package/src/hooks/AppDetails/useAppDetails.ts +10 -14
  1065. package/src/hooks/BlockBackButton/index.ts +1 -1
  1066. package/src/hooks/BlockBackButton/useBlockBackButton.ts +10 -13
  1067. package/src/hooks/CdnOperations/index.ts +1 -1
  1068. package/src/hooks/CdnOperations/useCdnOperations.ts +1 -1
  1069. package/src/hooks/ChatToggle/index.ts +1 -1
  1070. package/src/hooks/ChatToggle/useChatToggle.ts +7 -16
  1071. package/src/hooks/ChatToggleAnalytics/index.ts +1 -1
  1072. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  1073. package/src/hooks/CustomerSupportHandoff/index.ts +1 -1
  1074. package/src/hooks/Debounce/index.ts +1 -1
  1075. package/src/hooks/ElementObserver/index.ts +1 -1
  1076. package/src/hooks/GrabAndScroll/index.ts +1 -1
  1077. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +131 -119
  1078. package/src/hooks/GraphQLConfig/index.ts +1 -1
  1079. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +4 -7
  1080. package/src/hooks/IdentifyUser/index.ts +1 -1
  1081. package/src/hooks/IdentifyUser/useIdentifyUser.ts +4 -8
  1082. package/src/hooks/ImageResolver/index.ts +1 -1
  1083. package/src/hooks/ImageResolver/useImageResolver.ts +7 -16
  1084. package/src/hooks/Intersection/index.ts +1 -1
  1085. package/src/hooks/IsSmallScreen/index.ts +1 -1
  1086. package/src/hooks/LocalStorageOperations/index.ts +1 -1
  1087. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  1088. package/src/hooks/MessageFilter/index.ts +1 -1
  1089. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -1
  1090. package/src/hooks/MessageScrollObserver/index.ts +1 -1
  1091. package/src/hooks/MessageScrollObserver/useMessageScrollObserver.ts +35 -37
  1092. package/src/hooks/NewOrgConfig/index.ts +1 -1
  1093. package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +1 -1
  1094. package/src/hooks/Search/__tests__/useSearch.test.tsx +214 -247
  1095. package/src/hooks/Search/index.ts +1 -1
  1096. package/src/hooks/Search/useRecommendedProducts.ts +27 -33
  1097. package/src/hooks/Search/useSearch.tsx +65 -53
  1098. package/src/hooks/Search/useSearchInput.ts +23 -34
  1099. package/src/hooks/SearchOperations/index.ts +1 -1
  1100. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  1101. package/src/hooks/SessionStorageOperations/index.ts +1 -1
  1102. package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +5 -5
  1103. package/src/hooks/ShopifyUrlOperations/index.ts +1 -1
  1104. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  1105. package/src/hooks/SnapCalculator/index.ts +1 -1
  1106. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -1
  1107. package/src/hooks/SystemSettingsContext/index.ts +1 -1
  1108. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +3 -5
  1109. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -1
  1110. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +6 -6
  1111. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -1
  1112. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +10 -22
  1113. package/src/hooks/utils.ts +20 -29
  1114. package/src/interceptors/index.ts +2 -2
  1115. package/src/interceptors/useMessageInterceptor.ts +4 -4
  1116. package/src/merchants/domInsertion.ts +13 -15
  1117. package/src/merchants/gridInsertion.ts +15 -15
  1118. package/src/types/FilterAttribute.ts +7 -10
  1119. package/src/{types.ts → types/OrgInfo.ts} +1 -3
  1120. package/src/types/config-versions.ts +2 -4
  1121. package/src/types/customerService.ts +15 -15
  1122. package/src/types/custservice-types.ts +2 -2
  1123. package/src/types/exceptions/unsupportedProductExceptions.ts +1 -1
  1124. package/src/types/index.ts +5 -4
  1125. package/src/types/search-filter-types.ts +2 -2
  1126. package/src/types/suggestionBarV2-types.ts +3 -3
  1127. package/dist/AmplitudeOperations-ChZWcSsc.js +0 -1
  1128. package/dist/AmplitudeOperations-JggIc1zD.cjs +0 -0
  1129. package/dist/NewOrgConfig-BYo4V8-u.cjs +0 -15
  1130. package/dist/NewOrgConfig-kYrS59aR.js +0 -10
  1131. package/dist/SystemSettingsContext-BY1BFgAQ.js +0 -13
  1132. package/dist/SystemSettingsContext-EDpRMMt2.cjs +0 -20
  1133. package/dist/TrackComponentVisibleEvent-BHVBHQhu.js +0 -52
  1134. package/dist/TrackComponentVisibleEvent-B_2kXqvV.cjs +0 -59
  1135. package/dist/amplitudeContext-BItT9HmT.js +0 -1
  1136. package/dist/amplitudeContext-CCVyp5RU.d.cts +0 -52
  1137. package/dist/amplitudeContext-CjkMpI_a.cjs +0 -290
  1138. package/dist/amplitudeContext-D58WY1aS.js +0 -268
  1139. package/dist/amplitudeContext-DPtyVv3Q.cjs +0 -0
  1140. package/dist/amplitudeContext-DcRur97Z.d.ts +0 -52
  1141. package/dist/api-BWSsazAG.js +0 -166
  1142. package/dist/api-DeW6rHj3.cjs +0 -239
  1143. package/dist/app-BbPSHefQ.cjs +0 -156
  1144. package/dist/app-CflxT_xI.js +0 -110
  1145. package/dist/atomStore-CmZbgQHc.cjs +0 -58
  1146. package/dist/atomStore-DEcDhiLp.js +0 -32
  1147. package/dist/cdnContext-CaDyQ_5p.cjs +0 -53
  1148. package/dist/cdnContext-CtrIlAqX.js +0 -38
  1149. package/dist/chat-CLo8FBCb.cjs +0 -400
  1150. package/dist/chat-ClvJ9xEj.js +0 -25
  1151. package/dist/chat-DCGriB7h.cjs +0 -145
  1152. package/dist/chat-Qkx5llOV.js +0 -258
  1153. package/dist/chatElementDisplayLocation-BO3fY4hq.d.ts +0 -26
  1154. package/dist/chatElementDisplayLocation-Igta1TL1.d.cts +0 -26
  1155. package/dist/chatSearch-CP7QtVyA.cjs +0 -418
  1156. package/dist/chatSearch-CjMcB3fG.js +0 -295
  1157. package/dist/chatState-BUN8ehpy.js +0 -34
  1158. package/dist/chatState-BUlDJ4NK.cjs +0 -120
  1159. package/dist/commerce-api-CxnUXpTq.js +0 -312
  1160. package/dist/commerce-api-DNnrOYWX.cjs +0 -319
  1161. package/dist/common-DQPvV_S_.cjs +0 -189
  1162. package/dist/common-c_4eX0qn.js +0 -39
  1163. package/dist/components-CDpaMUjK.js +0 -11
  1164. package/dist/components-DKwVHIjq.cjs +0 -29
  1165. package/dist/domObserver-COKvTfZV.cjs +0 -304
  1166. package/dist/domObserver-DEiUh0qg.js +0 -285
  1167. package/dist/enviveConfig-DZBohDpc.js +0 -62
  1168. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  1169. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  1170. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  1171. package/dist/events-DYY4l817.cjs +0 -90
  1172. package/dist/events-DyUix-Bn.js +0 -78
  1173. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  1174. package/dist/featureFlagServiceContext-CPqbnfe3.d.cts +0 -23
  1175. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  1176. package/dist/featureFlagServiceContext-mFEI_SIk.d.ts +0 -23
  1177. package/dist/featureGates-KEwAL8p_.js +0 -26
  1178. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  1179. package/dist/frontendConfig-DPpzM5cz.d.cts +0 -860
  1180. package/dist/frontendConfig-msK69LYN.d.ts +0 -860
  1181. package/dist/globalSearch-BOG3wmck.cjs +0 -39
  1182. package/dist/globalSearch-BQEX-2Ml.js +0 -14
  1183. package/dist/graphql-CkxgqsXP.js +0 -48
  1184. package/dist/graphql-i3dtpVTl.cjs +0 -71
  1185. package/dist/graphqlConfig-BnfE0ql5.cjs +0 -39
  1186. package/dist/graphqlConfig-CZGjJ8hP.js +0 -14
  1187. package/dist/graphqlContext-1BkFjchL.d.cts +0 -28
  1188. package/dist/graphqlContext-B1vmNkWT.d.ts +0 -28
  1189. package/dist/graphqlContext-C0hG5Uer.js +0 -96
  1190. package/dist/graphqlContext-Dddy7mr7.cjs +0 -111
  1191. package/dist/index--9_c4tze.d.ts +0 -9
  1192. package/dist/index-A0HvA68Y.d.cts +0 -1
  1193. package/dist/index-BEpDGqnz.d.cts +0 -41
  1194. package/dist/index-BNHIIgYk.d.ts +0 -24
  1195. package/dist/index-Bb3zXP0P.d.ts +0 -673
  1196. package/dist/index-Bq0xKgFw.d.cts +0 -186
  1197. package/dist/index-CCboEuTO.d.cts +0 -24
  1198. package/dist/index-CESxqFso.d.cts +0 -228
  1199. package/dist/index-D7htGSQC.d.ts +0 -44
  1200. package/dist/index-DM_5fh8c.d.ts +0 -101
  1201. package/dist/index-DNVvRcKu.d.ts +0 -1
  1202. package/dist/index-DU7uw0ba.d.cts +0 -101
  1203. package/dist/index-DXTWZLEm.d.cts +0 -673
  1204. package/dist/index-DZtnHhlr.d.cts +0 -9
  1205. package/dist/index-DeLfV7w5.d.ts +0 -186
  1206. package/dist/index-Dtw-hJdt.d.ts +0 -35
  1207. package/dist/index-Dxpscrvz.d.ts +0 -228
  1208. package/dist/index-ErVcwUnR.d.ts +0 -41
  1209. package/dist/index-OkKEOL6H.d.cts +0 -44
  1210. package/dist/index-hAqp0oYb.d.cts +0 -35
  1211. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  1212. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  1213. package/dist/locators-DxYdak1F.cjs +0 -131
  1214. package/dist/logger-TBIl4uIH.cjs +0 -26
  1215. package/dist/logger-W3lqg-4b.js +0 -20
  1216. package/dist/models-CE5YjbzE.js +0 -1286
  1217. package/dist/models-CJy0mOoW.cjs +0 -1521
  1218. package/dist/newOrgConfigAtom-CPA6Gp6n.cjs +0 -15
  1219. package/dist/newOrgConfigAtom-DEUj6H-p.js +0 -8
  1220. package/dist/newOrgConfigContext-CmQ-7Trc.d.ts +0 -16
  1221. package/dist/newOrgConfigContext-Deofb8_o.d.cts +0 -16
  1222. package/dist/newOrgConfigContext-Dg2gtrwB.cjs +0 -68
  1223. package/dist/newOrgConfigContext-P4xkie1E.js +0 -53
  1224. package/dist/nodeSelector-B5NfnUHv.d.ts +0 -31
  1225. package/dist/nodeSelector-vKB44CDB.d.cts +0 -31
  1226. package/dist/org-B_cWn2bt.cjs +0 -43
  1227. package/dist/org-h32_LSEb.js +0 -12
  1228. package/dist/orgAnalyticsConfig-Bm23fw4s.cjs +0 -39
  1229. package/dist/orgAnalyticsConfig-CpBmga08.js +0 -14
  1230. package/dist/responseGenerics-D9bS-Dd6.d.ts +0 -148
  1231. package/dist/responseGenerics-DWLV09cQ.d.cts +0 -148
  1232. package/dist/search-BRBqhum7.js +0 -126
  1233. package/dist/search-Bpd_wxaK.cjs +0 -205
  1234. package/dist/search-filter-types-BItKtezf.d.cts +0 -102
  1235. package/dist/search-filter-types-CGFhksO3.d.ts +0 -102
  1236. package/dist/searchContext-CitUyTLP.js +0 -129
  1237. package/dist/searchContext-D5_iwZ0f.cjs +0 -145
  1238. package/dist/searchServiceAdapter-BGlvoZFE.cjs +0 -34
  1239. package/dist/searchServiceAdapter-Db6jEcJs.js +0 -16
  1240. package/dist/sessionStorageContext-B6FsNKjj.cjs +0 -66
  1241. package/dist/sessionStorageContext-CLYCm83p.js +0 -52
  1242. package/dist/shopifyUrlContext-CxjV3qvH.cjs +0 -75
  1243. package/dist/shopifyUrlContext-D2btP_lY.js +0 -61
  1244. package/dist/spiffyWidgets-DK7Ekcy7.d.cts +0 -21
  1245. package/dist/spiffyWidgets-MTUAQq_u.d.ts +0 -21
  1246. package/dist/systemSettingsContext-DF0jSq9m.js +0 -39
  1247. package/dist/systemSettingsContext-dmE1v6w8.cjs +0 -60
  1248. package/dist/test-types-BEml_bm3.d.ts +0 -40
  1249. package/dist/test-types-Dsu8RJZu.d.cts +0 -40
  1250. package/dist/types-4LQ7LUCk.d.ts +0 -10
  1251. package/dist/types-BegmH0S1.d.ts +0 -60
  1252. package/dist/types-BuvXXGxE.cjs +0 -48
  1253. package/dist/types-CKPddlfS.cjs +0 -0
  1254. package/dist/types-CtUb63bt.js +0 -76
  1255. package/dist/types-DFsSqmWx.d.cts +0 -10
  1256. package/dist/types-DWorwfS-.d.cts +0 -60
  1257. package/dist/types-DXnG1tV0.js +0 -30
  1258. package/dist/types-Dc6hx6ei.js +0 -1
  1259. package/dist/types-UUvB6h05.cjs +0 -106
  1260. package/dist/types.cjs +0 -0
  1261. package/dist/types.d.cts +0 -15
  1262. package/dist/types.d.ts +0 -15
  1263. package/dist/types.js +0 -1
  1264. package/dist/unsupportedProductExceptions-DGENUnEA.cjs +0 -32
  1265. package/dist/unsupportedProductExceptions-uQuuelOs.js +0 -20
  1266. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  1267. package/dist/urlsParser-DxjoLj98.js +0 -42
  1268. package/dist/useAmplitudeOperations-Cr03Hlk6.js +0 -34
  1269. package/dist/useAmplitudeOperations-DzFMBUU_.cjs +0 -41
  1270. package/dist/useAppDetails-BCvirEDu.cjs +0 -38
  1271. package/dist/useAppDetails-CiBg_ni5.js +0 -30
  1272. package/dist/useGraphQLConfig-8oeOwWRP.js +0 -63
  1273. package/dist/useGraphQLConfig-CO9lCk8b.cjs +0 -76
  1274. package/dist/useIntersection-CZSEBUbv.js +0 -21
  1275. package/dist/useIntersection-DSDREfj6.cjs +0 -28
  1276. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  1277. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  1278. package/dist/userIdentityContext-BgbcZ_P2.js +0 -126
  1279. package/dist/userIdentityContext-C6kApbuk.d.ts +0 -20
  1280. package/dist/userIdentityContext-CrWUNCrF.cjs +0 -143
  1281. package/dist/userIdentityContext-kU1PIo8K.d.cts +0 -20
  1282. package/dist/utilityTypes-B2KuRn37.js +0 -1
  1283. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  1284. package/dist/utils-BRkGP1eb.d.ts +0 -15
  1285. package/dist/utils-BXfzt6tu.cjs +0 -715
  1286. package/dist/utils-C2HshI4X.d.cts +0 -22
  1287. package/dist/utils-CDw74BCO.cjs +0 -33
  1288. package/dist/utils-Cv772xzd.js +0 -606
  1289. package/dist/utils-CvLmSsUj.cjs +0 -29
  1290. package/dist/utils-D82gfbgU.js +0 -23
  1291. package/dist/utils-DCrwX6FT.d.cts +0 -15
  1292. package/dist/utils-DIvMgPe8.js +0 -27
  1293. package/dist/utils-D_kATUj6.js +0 -92
  1294. package/dist/utils-aa1jK0Xe.d.ts +0 -22
  1295. package/dist/utils-hYTjy7hJ.cjs +0 -130
@@ -0,0 +1,231 @@
1
+ import { SearchResultsState, getSearchResultsState } from "../utils.js";
2
+ import { SpiffyWidgets } from "../../application/models/spiffyWidgets.js";
3
+ import { orgShortNameAtom } from "../../atoms/envive/enviveConfig.js";
4
+ import { SpiffyMetricsEventName, useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
5
+ import { isFilterOpenAtom } from "../../atoms/globalSearch/globalSearch.js";
6
+ import { formatFilterDisplayName } from "../../atoms/search/utils.js";
7
+ import { ProductSorting } from "../../atoms/search/types.js";
8
+ import { addSearchFilterAtom, clearSearchFiltersAtom, createFilterOption, filteredSearchProductsAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom } from "../../atoms/search/searchAPI.js";
9
+ import "../../atoms/search/index.js";
10
+ import { useNewOrgConfig } from "../NewOrgConfig/useNewOrgConfig.js";
11
+ import "../NewOrgConfig/index.js";
12
+ import { useTrackComponentVisibleEvent } from "../TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js";
13
+ import "../TrackComponentVisibleEvent/index.js";
14
+ import { useSearchInput } from "./useSearchInput.js";
15
+ import { useRecommendedProducts } from "./useRecommendedProducts.js";
16
+ import { useCallback, useEffect, useMemo, useRef } from "react";
17
+ import { useAtom, useAtomValue, useSetAtom } from "jotai";
18
+
19
+ //#region src/hooks/Search/useSearch.tsx
20
+ const useSearch = ({ allowRedirect = false } = {}) => {
21
+ const config = useNewOrgConfig();
22
+ const orgShortName = useAtomValue(orgShortNameAtom);
23
+ const { data: searchData, loading: isLoadingSearch } = useAtomValue(searchAtom);
24
+ const productList = useAtomValue(filteredSearchProductsAtom);
25
+ const performSearch = useSetAtom(performSearchAtom);
26
+ const [{ query }] = useAtom(searchParamsAtom);
27
+ const [isFilterOpen, setIsFilterOpen] = useAtom(isFilterOpenAtom);
28
+ const [selectedFilterOptions] = useAtom(searchSelectedFiltersAtom);
29
+ const addFilter = useSetAtom(addSearchFilterAtom);
30
+ const removeFilter = useSetAtom(removeSearchFilterAtom);
31
+ const [productSorting, setProductSorting] = useAtom(searchProductSortingAtom);
32
+ const clearFilters = useSetAtom(clearSearchFiltersAtom);
33
+ const searchFilters = useAtomValue(searchFiltersAtom);
34
+ const recommendedProducts = useRecommendedProducts();
35
+ const searchResultsRef = useRef(null);
36
+ const scrollToTop = useCallback(() => {
37
+ const container = searchResultsRef.current;
38
+ if (container) container.scrollTo({
39
+ top: 0,
40
+ behavior: "smooth"
41
+ });
42
+ else window.scrollTo({
43
+ top: 0,
44
+ behavior: "smooth"
45
+ });
46
+ }, []);
47
+ const { searchText, focusedIndex, focusedOptionId, autocompleteResults, shouldShowAutocomplete, handleSearchInputChange, handleSearchInputFocus, handleSearchInputBlur, handleKeyDown, handleAutocompleteSelect, handleSubmitSearch, setSearchText, resetSearch } = useSearchInput({
48
+ initialSearchText: "",
49
+ searchOrigin: SpiffyWidgets.SearchResults,
50
+ onSearchSubmit: (searchQuery) => {
51
+ performSearch({ query: searchQuery }, allowRedirect);
52
+ }
53
+ });
54
+ const searchResultsState = getSearchResultsState(isLoadingSearch, searchData);
55
+ const dynamicFilters = searchData?.filters || [];
56
+ const safeProductCardConfig = config?.frontendConfig?.uiConfigs?.productCardConfig || {
57
+ variant: "minimal",
58
+ hoverVariant: "none",
59
+ layoutVariant: "square"
60
+ };
61
+ const safeMerchantShortName = orgShortName || "";
62
+ const searchConfig = config?.frontendConfig?.uiConfigs?.searchConfig;
63
+ const safeRecommendedProductsHeading = searchConfig?.recommendedProductsHeading || "Suggested Products";
64
+ const safeSearchOverlayHeading = searchConfig?.searchOverlayHeading ?? "What can I help you find?";
65
+ const availableDynamicFilters = useMemo(() => {
66
+ return dynamicFilters.filter((dynamicFilterName) => !selectedFilterOptions.some((option) => option.id === `dynamic:${dynamicFilterName}`)).map((dynamicFilterName) => ({
67
+ name: dynamicFilterName,
68
+ displayName: formatFilterDisplayName(dynamicFilterName)
69
+ }));
70
+ }, [dynamicFilters, selectedFilterOptions]);
71
+ const filters = useMemo(() => {
72
+ return [{
73
+ filterId: "sort",
74
+ displayName: "SORT",
75
+ items: [
76
+ {
77
+ filterItemId: String(ProductSorting.FEATURED),
78
+ displayName: "Relevance",
79
+ productCount: 0,
80
+ isSelected: productSorting === ProductSorting.FEATURED
81
+ },
82
+ {
83
+ filterItemId: String(ProductSorting.PRICE_ASC),
84
+ displayName: "Price: Low to High",
85
+ productCount: 0,
86
+ isSelected: productSorting === ProductSorting.PRICE_ASC
87
+ },
88
+ {
89
+ filterItemId: String(ProductSorting.PRICE_DESC),
90
+ displayName: "Price: High to Low",
91
+ productCount: 0,
92
+ isSelected: productSorting === ProductSorting.PRICE_DESC
93
+ }
94
+ ]
95
+ }, ...searchFilters];
96
+ }, [productSorting, searchFilters]);
97
+ const filterButtonText = useMemo(() => {
98
+ const selectedCount = filters.reduce((acc, filter) => {
99
+ if (filter.filterId === "sort") return acc;
100
+ return acc + filter.items.filter((item) => item.isSelected).length;
101
+ }, 0);
102
+ if (selectedCount === 0) return "Filter & Sort";
103
+ return `Filter & Sort (${selectedCount})`;
104
+ }, [filters]);
105
+ const { trackEvent } = useAmplitude();
106
+ const handleToggleDynamicFilter = useCallback(({ filter, dynamicFilterDisplayName }) => {
107
+ trackEvent({
108
+ eventName: SpiffyMetricsEventName.SearchFilterClicked,
109
+ eventProps: {
110
+ filterType: "Dynamic",
111
+ filterValue: filter,
112
+ queryText: searchText
113
+ }
114
+ });
115
+ addFilter(createFilterOption("dynamic", filter, dynamicFilterDisplayName));
116
+ scrollToTop();
117
+ }, [
118
+ addFilter,
119
+ searchText,
120
+ scrollToTop
121
+ ]);
122
+ const handleRemoveFilter = useCallback((filter) => {
123
+ removeFilter(filter.id);
124
+ scrollToTop();
125
+ }, [removeFilter, scrollToTop]);
126
+ const handleSelectFilterItem = useCallback(({ filterId, filterItemId, isSelected, displayName }) => {
127
+ if (filterId === "sort") {
128
+ const newSort = filterItemId;
129
+ trackEvent({
130
+ eventName: SpiffyMetricsEventName.SearchSortClicked,
131
+ eventProps: {
132
+ sortType: newSort,
133
+ queryText: searchText
134
+ }
135
+ });
136
+ setProductSorting(newSort);
137
+ scrollToTop();
138
+ } else if (!isSelected) {
139
+ removeFilter(`${filterId}:${filterItemId}`);
140
+ scrollToTop();
141
+ } else {
142
+ trackEvent({
143
+ eventName: SpiffyMetricsEventName.SearchFilterClicked,
144
+ eventProps: {
145
+ filterType: "Static",
146
+ filterCategory: filterId,
147
+ filterValue: filterItemId,
148
+ queryText: searchText
149
+ }
150
+ });
151
+ addFilter(createFilterOption(filterId, filterItemId, displayName));
152
+ scrollToTop();
153
+ }
154
+ }, [
155
+ addFilter,
156
+ removeFilter,
157
+ setProductSorting,
158
+ searchText,
159
+ scrollToTop
160
+ ]);
161
+ const handleClearAllFilters = useCallback(() => {
162
+ setProductSorting(ProductSorting.FEATURED);
163
+ clearFilters();
164
+ scrollToTop();
165
+ }, [
166
+ setProductSorting,
167
+ clearFilters,
168
+ scrollToTop
169
+ ]);
170
+ useTrackComponentVisibleEvent(SpiffyWidgets.SearchResults, searchResultsRef, {}, SpiffyMetricsEventName.SearchComponentVisible);
171
+ useEffect(() => {
172
+ if (searchResultsState === SearchResultsState.Results || searchResultsState === SearchResultsState.NoResults) trackEvent({
173
+ eventName: SpiffyMetricsEventName.SearchResultsViewed,
174
+ eventProps: {
175
+ queryText: searchText,
176
+ resultsCount: productList.length
177
+ }
178
+ });
179
+ }, [productList.length, searchResultsState]);
180
+ useEffect(() => {
181
+ if (query && query !== searchText) {
182
+ const esq = new URLSearchParams(window.location.search).get("esq");
183
+ setSearchText(query);
184
+ performSearch({ query: esq ?? query });
185
+ }
186
+ }, [
187
+ performSearch,
188
+ query,
189
+ setSearchText
190
+ ]);
191
+ return {
192
+ searchData,
193
+ searchResponseId: searchData?.searchResponseId ?? "",
194
+ merchantShortName: safeMerchantShortName,
195
+ recommendedProductsHeading: safeRecommendedProductsHeading,
196
+ searchOverlayHeading: safeSearchOverlayHeading,
197
+ productCardConfig: safeProductCardConfig,
198
+ productList,
199
+ recommendedProducts,
200
+ autocompleteResults,
201
+ searchFilters: filters,
202
+ availableDynamicFilters,
203
+ selectedFilterOptions,
204
+ searchText,
205
+ query: query || "",
206
+ searchResultsState,
207
+ isLoadingSearch,
208
+ isFilterOpen,
209
+ shouldShowAutocomplete,
210
+ focusedIndex,
211
+ focusedOptionId,
212
+ filterButtonText,
213
+ onSearchInputChange: handleSearchInputChange,
214
+ onSubmitSearch: handleSubmitSearch,
215
+ onAutocompleteSelect: handleAutocompleteSelect,
216
+ onKeyDown: handleKeyDown,
217
+ onSearchInputFocus: handleSearchInputFocus,
218
+ onSearchInputBlur: handleSearchInputBlur,
219
+ onToggleDynamicFilter: handleToggleDynamicFilter,
220
+ onSelectFilterItem: handleSelectFilterItem,
221
+ onRemoveFilter: handleRemoveFilter,
222
+ onClearAllFilters: handleClearAllFilters,
223
+ setIsFilterOpen,
224
+ resetSearch,
225
+ searchResultsRef
226
+ };
227
+ };
228
+
229
+ //#endregion
230
+ export { useSearch };
231
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoLmpzIiwibmFtZXMiOlsiaGFuZGxlU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIFNlbGVjdGVkRmlsdGVyT3B0aW9uLFxuICBhZGRTZWFyY2hGaWx0ZXJBdG9tLFxuICBjbGVhclNlYXJjaEZpbHRlcnNBdG9tLFxuICBjcmVhdGVGaWx0ZXJPcHRpb24sXG4gIGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tLFxuICBwZXJmb3JtU2VhcmNoQXRvbSxcbiAgcmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSxcbiAgc2VhcmNoQXRvbSxcbiAgc2VhcmNoRmlsdGVyc0F0b20sXG4gIHNlYXJjaFBhcmFtc0F0b20sXG4gIHNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSxcbiAgc2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL3NlYXJjaCc7XG5pbXBvcnQgeyBpc0ZpbHRlck9wZW5BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2dsb2JhbFNlYXJjaC9nbG9iYWxTZWFyY2gnO1xuaW1wb3J0IHsgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUgfSBmcm9tICdzcmMvYXRvbXMvc2VhcmNoL3V0aWxzJztcbmltcG9ydCB7IFByb2R1Y3RTb3J0aW5nIH0gZnJvbSAnc3JjL2F0b21zL3NlYXJjaC90eXBlcyc7XG5pbXBvcnQge1xuICBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLFxuICB1c2VBbXBsaXR1ZGUsXG59IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgU3BpZmZ5V2lkZ2V0cyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cyc7XG5pbXBvcnQgeyBQcm9kdWN0Q2FyZENvbmZpZyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFNlYXJjaEZpbHRlckRhdHVtLCBTZWxlY3RGaWx0ZXJJdGVtIH0gZnJvbSAnc3JjL3R5cGVzL3NlYXJjaC1maWx0ZXItdHlwZXMnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNTdGF0ZSwgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQgfSBmcm9tICcuLi9UcmFja0NvbXBvbmVudFZpc2libGVFdmVudCc7XG5pbXBvcnQgeyB1c2VTZWFyY2hJbnB1dCB9IGZyb20gJy4vdXNlU2VhcmNoSW5wdXQnO1xuaW1wb3J0IHsgdXNlTmV3T3JnQ29uZmlnIH0gZnJvbSAnLi4vTmV3T3JnQ29uZmlnJztcbmltcG9ydCB7IHVzZVJlY29tbWVuZGVkUHJvZHVjdHMgfSBmcm9tICcuL3VzZVJlY29tbWVuZGVkUHJvZHVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNIb2NQcm9wcyB7XG4gIC8vIERhdGFcbiAgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbDtcbiAgc2VhcmNoUmVzcG9uc2VJZDogc3RyaW5nO1xuICBtZXJjaGFudFNob3J0TmFtZTogc3RyaW5nO1xuICBwcm9kdWN0Q2FyZENvbmZpZzogUHJvZHVjdENhcmRDb25maWc7XG4gIHByb2R1Y3RMaXN0OiBTZWFyY2hSZXNwb25zZVByb2R1Y3RbXTtcbiAgYXV0b2NvbXBsZXRlUmVzdWx0czogc3RyaW5nW107XG4gIHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckRhdHVtW107XG4gIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzOiB7IG5hbWU6IHN0cmluZzsgZGlzcGxheU5hbWU6IHN0cmluZyB9W107XG4gIHNlbGVjdGVkRmlsdGVyT3B0aW9uczogU2VsZWN0ZWRGaWx0ZXJPcHRpb25bXTtcbiAgcmVjb21tZW5kZWRQcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzdHJpbmc7XG4gIHNlYXJjaE92ZXJsYXlIZWFkaW5nOiBzdHJpbmc7XG5cbiAgLy8gU3RhdGVcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBxdWVyeTogc3RyaW5nO1xuICBzZWFyY2hSZXN1bHRzU3RhdGU6IFNlYXJjaFJlc3VsdHNTdGF0ZTtcbiAgaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuO1xuICBpc0ZpbHRlck9wZW46IGJvb2xlYW47XG4gIHNob3VsZFNob3dBdXRvY29tcGxldGU6IGJvb2xlYW47XG4gIGZvY3VzZWRJbmRleDogbnVtYmVyO1xuICBmb2N1c2VkT3B0aW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvLyBVSVxuICBmaWx0ZXJCdXR0b25UZXh0OiBzdHJpbmc7XG5cbiAgLy8gRXZlbnQgSGFuZGxlcnNcbiAgb25TZWFyY2hJbnB1dENoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uU3VibWl0U2VhcmNoOiAoKSA9PiB2b2lkO1xuICBvbkF1dG9jb21wbGV0ZVNlbGVjdDogKHN1Z2dlc3Rpb246IHN0cmluZykgPT4gdm9pZDtcbiAgb25LZXlEb3duOiAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWQ7XG4gIG9uU2VhcmNoSW5wdXRGb2N1czogKCkgPT4gdm9pZDtcbiAgb25TZWFyY2hJbnB1dEJsdXI6ICgpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogKHtcbiAgICBmaWx0ZXIsXG4gICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lLFxuICB9OiB7XG4gICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgZHluYW1pY0ZpbHRlckRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIH0pID0+IHZvaWQ7XG4gIG9uU2VsZWN0RmlsdGVySXRlbTogU2VsZWN0RmlsdGVySXRlbTtcbiAgb25SZW1vdmVGaWx0ZXI6IChmaWx0ZXI6IFNlbGVjdGVkRmlsdGVyT3B0aW9uKSA9PiB2b2lkO1xuICBvbkNsZWFyQWxsRmlsdGVyczogKCkgPT4gdm9pZDtcbiAgc2V0SXNGaWx0ZXJPcGVuOiAoaXNGaWx0ZXJPcGVuOiBib29sZWFuKSA9PiB2b2lkO1xuICByZXNldFNlYXJjaDogKCkgPT4gdm9pZDtcbiAgLy8gUmVmc1xuICBzZWFyY2hSZXN1bHRzUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2VhcmNoID0gKHtcbiAgYWxsb3dSZWRpcmVjdCA9IGZhbHNlLFxufTogeyBhbGxvd1JlZGlyZWN0PzogYm9vbGVhbiB9ID0ge30pOiBTZWFyY2hSZXN1bHRzSG9jUHJvcHMgPT4ge1xuICAvLyBBdG9tc1xuICBjb25zdCBjb25maWcgPSB1c2VOZXdPcmdDb25maWcoKTtcbiAgY29uc3Qgb3JnU2hvcnROYW1lID0gdXNlQXRvbVZhbHVlKG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGlzTG9hZGluZ1NlYXJjaCB9ID0gdXNlQXRvbVZhbHVlKHNlYXJjaEF0b20pO1xuICBjb25zdCBwcm9kdWN0TGlzdCA9IHVzZUF0b21WYWx1ZShmaWx0ZXJlZFNlYXJjaFByb2R1Y3RzQXRvbSk7XG4gIGNvbnN0IHBlcmZvcm1TZWFyY2ggPSB1c2VTZXRBdG9tKHBlcmZvcm1TZWFyY2hBdG9tKTtcbiAgY29uc3QgW3sgcXVlcnkgfV0gPSB1c2VBdG9tKHNlYXJjaFBhcmFtc0F0b20pO1xuICBjb25zdCBbaXNGaWx0ZXJPcGVuLCBzZXRJc0ZpbHRlck9wZW5dID0gdXNlQXRvbShpc0ZpbHRlck9wZW5BdG9tKTtcbiAgY29uc3QgW3NlbGVjdGVkRmlsdGVyT3B0aW9uc10gPSB1c2VBdG9tKHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20pO1xuICBjb25zdCBhZGRGaWx0ZXIgPSB1c2VTZXRBdG9tKGFkZFNlYXJjaEZpbHRlckF0b20pO1xuICBjb25zdCByZW1vdmVGaWx0ZXIgPSB1c2VTZXRBdG9tKHJlbW92ZVNlYXJjaEZpbHRlckF0b20pO1xuICBjb25zdCBbcHJvZHVjdFNvcnRpbmcsIHNldFByb2R1Y3RTb3J0aW5nXSA9IHVzZUF0b20oc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tKTtcbiAgY29uc3QgY2xlYXJGaWx0ZXJzID0gdXNlU2V0QXRvbShjbGVhclNlYXJjaEZpbHRlcnNBdG9tKTtcbiAgY29uc3Qgc2VhcmNoRmlsdGVycyA9IHVzZUF0b21WYWx1ZShzZWFyY2hGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IHJlY29tbWVuZGVkUHJvZHVjdHMgPSB1c2VSZWNvbW1lbmRlZFByb2R1Y3RzKCk7XG5cbiAgLy8gUmVmc1xuICBjb25zdCBzZWFyY2hSZXN1bHRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICAvLyBVdGlsaXRpZXNcbiAgY29uc3Qgc2Nyb2xsVG9Ub3AgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc2VhcmNoUmVzdWx0c1JlZi5jdXJyZW50O1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICAvLyBTZWFyY2ggSW5wdXQgSG9va1xuICBjb25zdCBzZWFyY2hJbnB1dCA9IHVzZVNlYXJjaElucHV0KHtcbiAgICBpbml0aWFsU2VhcmNoVGV4dDogJycsXG4gICAgc2VhcmNoT3JpZ2luOiBTcGlmZnlXaWRnZXRzLlNlYXJjaFJlc3VsdHMsXG4gICAgb25TZWFyY2hTdWJtaXQ6IHNlYXJjaFF1ZXJ5ID0+IHtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogc2VhcmNoUXVlcnkgfSwgYWxsb3dSZWRpcmVjdCk7XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3Qge1xuICAgIHNlYXJjaFRleHQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgaGFuZGxlS2V5RG93bixcbiAgICBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIHNldFNlYXJjaFRleHQsXG4gICAgcmVzZXRTZWFyY2gsXG4gIH0gPSBzZWFyY2hJbnB1dDtcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1N0YXRlID0gZ2V0U2VhcmNoUmVzdWx0c1N0YXRlKGlzTG9hZGluZ1NlYXJjaCwgc2VhcmNoRGF0YSk7XG5cbiAgY29uc3QgZHluYW1pY0ZpbHRlcnMgPSBzZWFyY2hEYXRhPy5maWx0ZXJzIHx8IFtdO1xuXG4gIC8vIFByb3ZpZGUgZmFsbGJhY2sgdmFsdWVzIHdoZW4gb3JnVUlDb25maWcgaXMgbm90IHlldCBhdmFpbGFibGVcbiAgY29uc3Qgc2FmZVByb2R1Y3RDYXJkQ29uZmlnID0gY29uZmlnPy5mcm9udGVuZENvbmZpZz8udWlDb25maWdzPy5wcm9kdWN0Q2FyZENvbmZpZyB8fCB7XG4gICAgdmFyaWFudDogJ21pbmltYWwnLFxuICAgIGhvdmVyVmFyaWFudDogJ25vbmUnLFxuICAgIGxheW91dFZhcmlhbnQ6ICdzcXVhcmUnLFxuICB9O1xuICBjb25zdCBzYWZlTWVyY2hhbnRTaG9ydE5hbWUgPSBvcmdTaG9ydE5hbWUgfHwgJyc7XG4gIGNvbnN0IHNlYXJjaENvbmZpZyA9IGNvbmZpZz8uZnJvbnRlbmRDb25maWc/LnVpQ29uZmlncz8uc2VhcmNoQ29uZmlnO1xuICBjb25zdCBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgPVxuICAgIHNlYXJjaENvbmZpZz8ucmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcgfHwgJ1N1Z2dlc3RlZCBQcm9kdWN0cyc7XG4gIGNvbnN0IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyA9XG4gICAgc2VhcmNoQ29uZmlnPy5zZWFyY2hPdmVybGF5SGVhZGluZyA/PyAnV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kPyc7XG4gIGNvbnN0IGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGR5bmFtaWNGaWx0ZXJzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBkeW5hbWljRmlsdGVyTmFtZSA9PlxuICAgICAgICAgICFzZWxlY3RlZEZpbHRlck9wdGlvbnMuc29tZShvcHRpb24gPT4gb3B0aW9uLmlkID09PSBgZHluYW1pYzoke2R5bmFtaWNGaWx0ZXJOYW1lfWApLFxuICAgICAgKVxuICAgICAgLm1hcChkeW5hbWljRmlsdGVyTmFtZSA9PiAoe1xuICAgICAgICBuYW1lOiBkeW5hbWljRmlsdGVyTmFtZSxcbiAgICAgICAgZGlzcGxheU5hbWU6IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lKGR5bmFtaWNGaWx0ZXJOYW1lKSxcbiAgICAgIH0pKTtcbiAgfSwgW2R5bmFtaWNGaWx0ZXJzLCBzZWxlY3RlZEZpbHRlck9wdGlvbnNdKTtcblxuICBjb25zdCBmaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc29ydE9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKSxcbiAgICAgICAgZGlzcGxheU5hbWU6ICdSZWxldmFuY2UnLFxuICAgICAgICBwcm9kdWN0Q291bnQ6IDAsXG4gICAgICAgIGlzU2VsZWN0ZWQ6IHByb2R1Y3RTb3J0aW5nID09PSBQcm9kdWN0U29ydGluZy5GRUFUVVJFRCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IExvdyB0byBIaWdoJyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyksXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnUHJpY2U6IEhpZ2ggdG8gTG93JyxcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBbXG4gICAgICB7IGZpbHRlcklkOiAnc29ydCcsIGRpc3BsYXlOYW1lOiAnU09SVCcsIGl0ZW1zOiBzb3J0T3B0aW9ucyB9LFxuICAgICAgLi4uc2VhcmNoRmlsdGVycyxcbiAgICBdIGFzIFNlYXJjaEZpbHRlckRhdHVtW107XG4gIH0sIFtwcm9kdWN0U29ydGluZywgc2VhcmNoRmlsdGVyc10pO1xuXG4gIGNvbnN0IGZpbHRlckJ1dHRvblRleHQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gZmlsdGVycy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBmaWx0ZXIpID0+IHtcbiAgICAgIGlmIChmaWx0ZXIuZmlsdGVySWQgPT09ICdzb3J0Jykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGZpbHRlci5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzU2VsZWN0ZWQpLmxlbmd0aDtcbiAgICB9LCAwKTtcbiAgICBpZiAoc2VsZWN0ZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdGaWx0ZXIgJiBTb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIGBGaWx0ZXIgJiBTb3J0ICgke3NlbGVjdGVkQ291bnR9KWA7XG4gIH0sIFtmaWx0ZXJzXSk7XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlciA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBmaWx0ZXIsXG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVyOiBzdHJpbmc7XG4gICAgICBkeW5hbWljRmlsdGVyRGlzcGxheU5hbWU6IHN0cmluZztcbiAgICB9KSA9PiB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaEZpbHRlckNsaWNrZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBmaWx0ZXJUeXBlOiAnRHluYW1pYycsXG4gICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlcixcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGFkZEZpbHRlcihjcmVhdGVGaWx0ZXJPcHRpb24oJ2R5bmFtaWMnLCBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSkpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFthZGRGaWx0ZXIsIHNlYXJjaFRleHQsIHNjcm9sbFRvVG9wXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVSZW1vdmVGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbikgPT4ge1xuICAgICAgcmVtb3ZlRmlsdGVyKGZpbHRlci5pZCk7XG4gICAgICBzY3JvbGxUb1RvcCgpO1xuICAgIH0sXG4gICAgW3JlbW92ZUZpbHRlciwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSAnc29ydCcpIHtcbiAgICAgICAgY29uc3QgbmV3U29ydCA9IGZpbHRlckl0ZW1JZCBhcyBQcm9kdWN0U29ydGluZztcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaFNvcnRDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHNvcnRUeXBlOiBuZXdTb3J0LFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQcm9kdWN0U29ydGluZyhuZXdTb3J0KTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcmVtb3ZlRmlsdGVyKGAke2ZpbHRlcklkfToke2ZpbHRlckl0ZW1JZH1gKTtcbiAgICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTdGF0aWMnLFxuICAgICAgICAgICAgZmlsdGVyQ2F0ZWdvcnk6IGZpbHRlcklkLFxuICAgICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlckl0ZW1JZCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgYWRkRmlsdGVyKGNyZWF0ZUZpbHRlck9wdGlvbihmaWx0ZXJJZCwgZmlsdGVySXRlbUlkLCBkaXNwbGF5TmFtZSkpO1xuICAgICAgICBzY3JvbGxUb1RvcCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgcmVtb3ZlRmlsdGVyLCBzZXRQcm9kdWN0U29ydGluZywgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3BdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyQWxsRmlsdGVycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQcm9kdWN0U29ydGluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCk7XG4gICAgY2xlYXJGaWx0ZXJzKCk7XG4gICAgc2Nyb2xsVG9Ub3AoKTtcbiAgfSwgW3NldFByb2R1Y3RTb3J0aW5nLCBjbGVhckZpbHRlcnMsIHNjcm9sbFRvVG9wXSk7XG5cbiAgLy8gU2lkZSBFZmZlY3RzXG4gIHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50KFxuICAgIFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICAgIHt9LFxuICAgIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLlJlc3VsdHMgfHxcbiAgICAgIHNlYXJjaFJlc3VsdHNTdGF0ZSA9PT0gU2VhcmNoUmVzdWx0c1N0YXRlLk5vUmVzdWx0c1xuICAgICkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hSZXN1bHRzVmlld2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIHJlc3VsdHNDb3VudDogcHJvZHVjdExpc3QubGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvZHVjdExpc3QubGVuZ3RoLCBzZWFyY2hSZXN1bHRzU3RhdGVdKTtcblxuICAvLyBUaGlzIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgc2VhcmNoIHRleHQgdHJpZ2dlcmluZyBhIHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChxdWVyeSAmJiBxdWVyeSAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgY29uc3QgZXNxID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoJ2VzcScpO1xuICAgICAgc2V0U2VhcmNoVGV4dChxdWVyeSk7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IGVzcSA/PyBxdWVyeSB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyAnJyxcbiAgICBtZXJjaGFudFNob3J0TmFtZTogc2FmZU1lcmNoYW50U2hvcnROYW1lLFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nOiBzYWZlUmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmcsXG4gICAgc2VhcmNoT3ZlcmxheUhlYWRpbmc6IHNhZmVTZWFyY2hPdmVybGF5SGVhZGluZyxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzogc2FmZVByb2R1Y3RDYXJkQ29uZmlnLFxuICAgIHByb2R1Y3RMaXN0LFxuICAgIHJlY29tbWVuZGVkUHJvZHVjdHMsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzZWFyY2hGaWx0ZXJzOiBmaWx0ZXJzLFxuICAgIGF2YWlsYWJsZUR5bmFtaWNGaWx0ZXJzLFxuICAgIHNlbGVjdGVkRmlsdGVyT3B0aW9ucyxcbiAgICBzZWFyY2hUZXh0LFxuICAgIHF1ZXJ5OiBxdWVyeSB8fCAnJyxcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzRmlsdGVyT3BlbixcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgZmlsdGVyQnV0dG9uVGV4dCxcbiAgICBvblNlYXJjaElucHV0Q2hhbmdlOiBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBvblN1Ym1pdFNlYXJjaDogaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIG9uQXV0b2NvbXBsZXRlU2VsZWN0OiBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLFxuICAgIG9uU2VhcmNoSW5wdXRGb2N1czogaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBvblNlYXJjaElucHV0Qmx1cjogaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIG9uVG9nZ2xlRHluYW1pY0ZpbHRlcjogaGFuZGxlVG9nZ2xlRHluYW1pY0ZpbHRlcixcbiAgICBvblNlbGVjdEZpbHRlckl0ZW06IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW0sXG4gICAgb25SZW1vdmVGaWx0ZXI6IGhhbmRsZVJlbW92ZUZpbHRlcixcbiAgICBvbkNsZWFyQWxsRmlsdGVyczogaGFuZGxlQ2xlYXJBbGxGaWx0ZXJzLFxuICAgIHNldElzRmlsdGVyT3BlbixcbiAgICByZXNldFNlYXJjaCxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdGQSxNQUFhLGFBQWEsRUFDeEIsZ0JBQWdCLFVBQ2UsRUFBRSxLQUE0QjtDQUU3RCxNQUFNLFNBQVMsaUJBQWlCO0NBQ2hDLE1BQU0sZUFBZSxhQUFhLGlCQUFpQjtDQUNuRCxNQUFNLEVBQUUsTUFBTSxZQUFZLFNBQVMsb0JBQW9CLGFBQWEsV0FBVztDQUMvRSxNQUFNLGNBQWMsYUFBYSwyQkFBMkI7Q0FDNUQsTUFBTSxnQkFBZ0IsV0FBVyxrQkFBa0I7Q0FDbkQsTUFBTSxDQUFDLEVBQUUsV0FBVyxRQUFRLGlCQUFpQjtDQUM3QyxNQUFNLENBQUMsY0FBYyxtQkFBbUIsUUFBUSxpQkFBaUI7Q0FDakUsTUFBTSxDQUFDLHlCQUF5QixRQUFRLDBCQUEw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
@@ -0,0 +1,173 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_amplitudeContext = require('../../contexts/amplitudeContext/amplitudeContext.cjs');
3
+ const require_amplitudeTrackEventAtom = require('../../atoms/amplitude/amplitudeTrackEventAtom.cjs');
4
+ const require_globalSearch = require('../../atoms/globalSearch/globalSearch.cjs');
5
+ require('../../atoms/globalSearch/index.cjs');
6
+ require('../../contexts/amplitudeContext/index.cjs');
7
+ let react = require("react");
8
+ let jotai = require("jotai");
9
+ let fuse_js = require("fuse.js");
10
+ fuse_js = require_rolldown_runtime.__toESM(fuse_js);
11
+
12
+ //#region src/hooks/Search/useSearchInput.ts
13
+ const useSearchInput = ({ initialSearchText = "", searchOrigin, onSearchSubmit }) => {
14
+ const track = (0, jotai.useAtomValue)(require_amplitudeTrackEventAtom.amplitudeTrackEventAtom);
15
+ const [searchText, setSearchText] = (0, react.useState)(initialSearchText);
16
+ const [hasText, setHasText] = (0, react.useState)(initialSearchText.trim().length > 0);
17
+ const [isFocused, setIsFocused] = (0, react.useState)(false);
18
+ const [focusedIndex, setFocusedIndex] = (0, react.useState)(-1);
19
+ const [focusedOptionId, setFocusedOptionId] = (0, react.useState)(void 0);
20
+ const globalAutocompleteResults = (0, jotai.useAtomValue)(require_globalSearch.autocompleteStateAtom).results;
21
+ const isAutocompleteEnabled = globalAutocompleteResults.length > 0;
22
+ const isSelectingAutocomplete = (0, react.useRef)(false);
23
+ const shouldShowAutocomplete = hasText && isFocused && isAutocompleteEnabled;
24
+ const autocompleteResultsLimit = 5;
25
+ const fuseOptions = (0, react.useMemo)(() => ({
26
+ includeScore: true,
27
+ includeMatches: true,
28
+ threshold: .3,
29
+ location: 0,
30
+ distance: 4,
31
+ minMatchCharLength: 1,
32
+ keys: [],
33
+ useExtendedSearch: false,
34
+ ignoreLocation: false
35
+ }), []);
36
+ const fuse = (0, react.useMemo)(() => {
37
+ if (!globalAutocompleteResults.length) return null;
38
+ return new fuse_js.default(globalAutocompleteResults, fuseOptions);
39
+ }, [globalAutocompleteResults, fuseOptions]);
40
+ const autocompleteResults = (0, react.useMemo)(() => {
41
+ if (!isAutocompleteEnabled || !fuse) return [];
42
+ if (!searchText.trim()) return [];
43
+ return fuse.search(searchText).slice(0, autocompleteResultsLimit).map((result) => result.item);
44
+ }, [
45
+ isAutocompleteEnabled,
46
+ fuse,
47
+ searchText,
48
+ autocompleteResultsLimit
49
+ ]);
50
+ const handleSearchInputChange = (0, react.useCallback)((newValue) => {
51
+ if (newValue !== searchText) setIsFocused(true);
52
+ if (newValue.length === 1) track?.({
53
+ eventName: require_amplitudeContext.SpiffyMetricsEventName.SearchInputStarted,
54
+ eventProps: { searchOrigin }
55
+ });
56
+ setSearchText(newValue);
57
+ setHasText(newValue.trim().length > 0);
58
+ setFocusedIndex(-1);
59
+ setFocusedOptionId(void 0);
60
+ }, [
61
+ searchOrigin,
62
+ searchText,
63
+ track
64
+ ]);
65
+ const handleSearchInputFocus = (0, react.useCallback)(() => {
66
+ setIsFocused(true);
67
+ }, []);
68
+ const handleSearchInputBlur = (0, react.useCallback)(() => {
69
+ setTimeout(() => {
70
+ if (!isSelectingAutocomplete.current) {
71
+ setIsFocused(false);
72
+ setFocusedIndex(-1);
73
+ setFocusedOptionId(void 0);
74
+ }
75
+ }, 150);
76
+ }, []);
77
+ const handleSubmitSearch = (0, react.useCallback)(() => {
78
+ setIsFocused(false);
79
+ if (searchText.trim() && onSearchSubmit) {
80
+ track?.({
81
+ eventName: require_amplitudeContext.SpiffyMetricsEventName.SearchQuerySubmitted,
82
+ eventProps: {
83
+ searchOrigin,
84
+ queryText: searchText.trim()
85
+ },
86
+ alsoSendToGoogleAnalytics: true
87
+ });
88
+ onSearchSubmit(searchText.trim());
89
+ }
90
+ }, [
91
+ searchText,
92
+ onSearchSubmit,
93
+ searchOrigin,
94
+ track
95
+ ]);
96
+ const handleAutocompleteSelect = (0, react.useCallback)((suggestion, rankPosition) => {
97
+ isSelectingAutocomplete.current = true;
98
+ setSearchText(suggestion);
99
+ setHasText(suggestion.trim().length > 0);
100
+ setIsFocused(false);
101
+ track?.({
102
+ eventName: require_amplitudeContext.SpiffyMetricsEventName.SearchInputStarted,
103
+ eventProps: { searchOrigin }
104
+ });
105
+ if (onSearchSubmit) onSearchSubmit(suggestion.trim());
106
+ setTimeout(() => {
107
+ isSelectingAutocomplete.current = false;
108
+ }, 100);
109
+ }, [
110
+ onSearchSubmit,
111
+ searchOrigin,
112
+ track
113
+ ]);
114
+ return {
115
+ searchText,
116
+ hasText,
117
+ isFocused,
118
+ focusedIndex,
119
+ focusedOptionId,
120
+ autocompleteResults,
121
+ shouldShowAutocomplete,
122
+ handleSearchInputChange,
123
+ handleSearchInputFocus,
124
+ handleSearchInputBlur,
125
+ handleKeyDown: (0, react.useCallback)((event) => {
126
+ if (event.key === "ArrowDown") {
127
+ event.preventDefault();
128
+ const newIndex = (focusedIndex + 1) % autocompleteResults.length;
129
+ setFocusedIndex(newIndex);
130
+ setFocusedOptionId(`option-${newIndex}`);
131
+ } else if (event.key === "ArrowUp") {
132
+ event.preventDefault();
133
+ const newIndex = (focusedIndex - 1 + autocompleteResults.length) % autocompleteResults.length;
134
+ setFocusedIndex(newIndex);
135
+ setFocusedOptionId(`option-${newIndex}`);
136
+ } else if (event.key === "Enter") if (focusedIndex === -1) {
137
+ event.preventDefault();
138
+ handleSubmitSearch();
139
+ } else {
140
+ event.preventDefault();
141
+ const suggestionText = autocompleteResults[focusedIndex];
142
+ handleAutocompleteSelect(suggestionText, focusedIndex);
143
+ }
144
+ else if (event.key === "Escape") {
145
+ event.preventDefault();
146
+ setFocusedIndex(-1);
147
+ setFocusedOptionId(void 0);
148
+ }
149
+ }, [
150
+ autocompleteResults,
151
+ focusedIndex,
152
+ handleAutocompleteSelect,
153
+ handleSubmitSearch
154
+ ]),
155
+ handleAutocompleteSelect,
156
+ handleSubmitSearch,
157
+ setSearchText: (0, react.useCallback)((text) => {
158
+ setSearchText(text);
159
+ setHasText(text.trim().length > 0);
160
+ }, []),
161
+ resetSearch: (0, react.useCallback)(() => {
162
+ setSearchText("");
163
+ setHasText(false);
164
+ setIsFocused(false);
165
+ setFocusedIndex(-1);
166
+ setFocusedOptionId(void 0);
167
+ }, [])
168
+ };
169
+ };
170
+
171
+ //#endregion
172
+ exports.useSearchInput = useSearchInput;
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2VhcmNoSW5wdXQuY2pzIiwibmFtZXMiOlsiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20iLCJhdXRvY29tcGxldGVTdGF0ZUF0b20iLCJGdXNlIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoSW5wdXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgRnVzZSBmcm9tICdmdXNlLmpzJztcblxuaW1wb3J0IHsgYXV0b2NvbXBsZXRlU3RhdGVBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2dsb2JhbFNlYXJjaCc7XG5pbXBvcnQgeyBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20nO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IFNwaWZmeVdpZGdldHMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3NwaWZmeVdpZGdldHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZVNlYXJjaElucHV0UHJvcHMge1xuICBpbml0aWFsU2VhcmNoVGV4dD86IHN0cmluZztcbiAgc2VhcmNoT3JpZ2luOiBTcGlmZnlXaWRnZXRzO1xuICBvblNlYXJjaFN1Ym1pdD86IChxdWVyeTogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZVNlYXJjaElucHV0UmV0dXJuIHtcbiAgLy8gU3RhdGVcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBoYXNUZXh0OiBib29sZWFuO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGZvY3VzZWRJbmRleDogbnVtYmVyO1xuICBmb2N1c2VkT3B0aW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgYXV0b2NvbXBsZXRlUmVzdWx0czogc3RyaW5nW107XG4gIHNob3VsZFNob3dBdXRvY29tcGxldGU6IGJvb2xlYW47XG5cbiAgLy8gSGFuZGxlcnNcbiAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzOiAoKSA9PiB2b2lkO1xuICBoYW5kbGVTZWFyY2hJbnB1dEJsdXI6ICgpID0+IHZvaWQ7XG4gIGhhbmRsZUtleURvd246IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4gdm9pZDtcbiAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0OiAoc3VnZ2VzdGlvbjogc3RyaW5nLCByYW5rUG9zaXRpb24/OiBudW1iZXIpID0+IHZvaWQ7XG4gIGhhbmRsZVN1Ym1pdFNlYXJjaDogKCkgPT4gdm9pZDtcblxuICAvLyBVdGlsaXRpZXNcbiAgc2V0U2VhcmNoVGV4dDogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgcmVzZXRTZWFyY2g6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCB1c2VTZWFyY2hJbnB1dCA9ICh7XG4gIGluaXRpYWxTZWFyY2hUZXh0ID0gJycsXG4gIHNlYXJjaE9yaWdpbixcbiAgb25TZWFyY2hTdWJtaXQsXG59OiBVc2VTZWFyY2hJbnB1dFByb3BzKTogVXNlU2VhcmNoSW5wdXRSZXR1cm4gPT4ge1xuICBjb25zdCB0cmFjayA9IHVzZUF0b21WYWx1ZShhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG5cbiAgLy8gU3RhdGVcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoaW5pdGlhbFNlYXJjaFRleHQpO1xuICBjb25zdCBbaGFzVGV4dCwgc2V0SGFzVGV4dF0gPSB1c2VTdGF0ZShpbml0aWFsU2VhcmNoVGV4dC50cmltKCkubGVuZ3RoID4gMCk7XG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtmb2N1c2VkSW5kZXgsIHNldEZvY3VzZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gIGNvbnN0IFtmb2N1c2VkT3B0aW9uSWQsIHNldEZvY3VzZWRPcHRpb25JZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IGF1dG9jb21wbGV0ZVN0YXRlID0gdXNlQXRvbVZhbHVlKGF1dG9jb21wbGV0ZVN0YXRlQXRvbSk7XG4gIGNvbnN0IGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMgPSBhdXRvY29tcGxldGVTdGF0ZS5yZXN1bHRzO1xuICBjb25zdCBpc0F1dG9jb21wbGV0ZUVuYWJsZWQgPSBnbG9iYWxBdXRvY29tcGxldGVSZXN1bHRzLmxlbmd0aCA+IDA7XG5cbiAgLy8gUmVmc1xuICBjb25zdCBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZSA9IHVzZVJlZihmYWxzZSk7XG5cbiAgLy8gQ29tcHV0ZWRcbiAgY29uc3Qgc2hvdWxkU2hvd0F1dG9jb21wbGV0ZSA9IGhhc1RleHQgJiYgaXNGb2N1c2VkICYmIGlzQXV0b2NvbXBsZXRlRW5hYmxlZDtcblxuICBjb25zdCBhdXRvY29tcGxldGVSZXN1bHRzTGltaXQgPSA1O1xuXG4gIC8vIENvbmZpZ3VyZSBGdXNlLmpzIGZvciBmdXp6eSBzZWFyY2ggd2l0aCBjdXN0b20gc2NvcmluZ1xuICBjb25zdCBmdXNlT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGluY2x1ZGVTY29yZTogdHJ1ZSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgLy8gRnV6enkgbWF0Y2hpbmcgdGhyZXNob2xkICgwLjAgPSBwZXJmZWN0IG1hdGNoLCAxLjAgPSBtYXRjaCBhbnl0aGluZylcbiAgICAgIHRocmVzaG9sZDogMC4zLFxuICAgICAgLy8gTG9jYXRpb24gd2hlcmUgbWF0Y2ggaXMgZXhwZWN0ZWQgKDAgPSBiZWdpbm5pbmcpXG4gICAgICBsb2NhdGlvbjogMCxcbiAgICAgIC8vIERpc3RhbmNlIGZyb20gbG9jYXRpb24gd2hlcmUgbWF0Y2ggY2FuIGJlIGZvdW5kIC0gc21hbGxlciBmb3IgcHJlZml4IHByZWZlcmVuY2VcbiAgICAgIGRpc3RhbmNlOiA0LFxuICAgICAgLy8gTWluaW11bSBjaGFyYWN0ZXIgbGVuZ3RoIGJlZm9yZSBmdXp6eSBtYXRjaGluZyBzdGFydHNcbiAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aDogMSxcbiAgICAgIC8vIEtleXMgdG8gc2VhcmNoICh3ZSdyZSBzZWFyY2hpbmcgc3RyaW5ncyBkaXJlY3RseSwgc28gbm8ga2V5cyBuZWVkZWQpXG4gICAgICBrZXlzOiBbXSxcbiAgICAgIC8vIFVzZSBleHRlbmRlZCBzZWFyY2ggZm9yIGV4YWN0IG1hdGNoZXMgYW5kIHByZWZpeCBtYXRjaGluZ1xuICAgICAgdXNlRXh0ZW5kZWRTZWFyY2g6IGZhbHNlLFxuICAgICAgLy8gRG9uJ3QgaWdub3JlIGxvY2F0aW9uIC0gdGhpcyBoZWxwcyBwcmlvcml0aXplIG1hdGNoZXMgYXQgdGhlIGJlZ2lubmluZ1xuICAgICAgaWdub3JlTG9jYXRpb246IGZhbHNlLFxuICAgIH0pLFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IGZ1c2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gbmV3IEZ1c2UoZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cywgZnVzZU9wdGlvbnMpO1xuICB9LCBbZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cywgZnVzZU9wdGlvbnNdKTtcblxuICAvLyBBdXRvY29tcGxldGUgZnV6enkgc2VhcmNoIHVzaW5nIEZ1c2UuanNcbiAgY29uc3QgYXV0b2NvbXBsZXRlUmVzdWx0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghaXNBdXRvY29tcGxldGVFbmFibGVkIHx8ICFmdXNlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKCFzZWFyY2hUZXh0LnRyaW0oKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1c2VSZXN1bHRzID0gZnVzZS5zZWFyY2goc2VhcmNoVGV4dCk7XG5cbiAgICAvLyBVc2Ugb25seSBGdXNlLmpzIHNjb3JpbmcgKHJlc3VsdHMgYXJlIGFscmVhZHkgc29ydGVkIGJ5IHJlbGV2YW5jZSlcbiAgICByZXR1cm4gZnVzZVJlc3VsdHMuc2xpY2UoMCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0KS5tYXAocmVzdWx0ID0+IHJlc3VsdC5pdGVtKTtcbiAgfSwgW2lzQXV0b2NvbXBsZXRlRW5hYmxlZCwgZnVzZSwgc2VhcmNoVGV4dCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0XSk7XG5cbiAgLy8gSGFuZGxlcnNcbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgY2hhbmdpbmcgdGV4dCwgdGhleSBtdXN0IGJlIGludGVyYWN0aW5nIHdpdGggdGhlIGlucHV0XG4gICAgICAvLyBTbyB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGV5J3JlIGZvY3VzZWRcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdWYWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdHJhY2s/Lih7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLlNlYXJjaElucHV0U3RhcnRlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBzZXRTZWFyY2hUZXh0KG5ld1ZhbHVlKTtcbiAgICAgIHNldEhhc1RleHQobmV3VmFsdWUudHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgW3NlYXJjaE9yaWdpbiwgc2VhcmNoVGV4dCwgdHJhY2tdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50KSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgJiYgb25TZWFyY2hTdWJtaXQpIHtcbiAgICAgIHRyYWNrPy4oe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoUXVlcnlTdWJtaXR0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgb25TZWFyY2hTdWJtaXQoc2VhcmNoVGV4dC50cmltKCkpO1xuICAgIH1cbiAgfSwgW3NlYXJjaFRleHQsIG9uU2VhcmNoU3VibWl0LCBzZWFyY2hPcmlnaW4sIHRyYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IHN0cmluZywgcmFua1Bvc2l0aW9uPzogbnVtYmVyKSA9PiB7XG4gICAgICBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHNldFNlYXJjaFRleHQoc3VnZ2VzdGlvbik7XG4gICAgICBzZXRIYXNUZXh0KHN1Z2dlc3Rpb24udHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcblxuICAgICAgdHJhY2s/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9uU2VhcmNoU3VibWl0KSB7XG4gICAgICAgIG9uU2VhcmNoU3VibWl0KHN1Z2dlc3Rpb24udHJpbSgpKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSxcbiAgICBbb25TZWFyY2hTdWJtaXQsIHNlYXJjaE9yaWdpbiwgdHJhY2tdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID0gKGZvY3VzZWRJbmRleCArIDEpICUgYXV0b2NvbXBsZXRlUmVzdWx0cy5sZW5ndGg7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleChuZXdJbmRleCk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZChgb3B0aW9uLSR7bmV3SW5kZXh9YCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID1cbiAgICAgICAgICAoZm9jdXNlZEluZGV4IC0gMSArIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSAlIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoO1xuICAgICAgICBzZXRGb2N1c2VkSW5kZXgobmV3SW5kZXgpO1xuICAgICAgICBzZXRGb2N1c2VkT3B0aW9uSWQoYG9wdGlvbi0ke25ld0luZGV4fWApO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGhhbmRsZVN1Ym1pdFNlYXJjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY29uc3Qgc3VnZ2VzdGlvblRleHQgPSBhdXRvY29tcGxldGVSZXN1bHRzW2ZvY3VzZWRJbmRleF07XG4gICAgICAgICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0KHN1Z2dlc3Rpb25UZXh0LCBmb2N1c2VkSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgICAgc2V0Rm9jdXNlZE9wdGlvbklkKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbYXV0b2NvbXBsZXRlUmVzdWx0cywgZm9jdXNlZEluZGV4LCBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsIGhhbmRsZVN1Ym1pdFNlYXJjaF0sXG4gICk7XG5cbiAgY29uc3Qgc2V0U2VhcmNoVGV4dFV0aWxpdHkgPSB1c2VDYWxsYmFjaygodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgc2V0U2VhcmNoVGV4dCh0ZXh0KTtcbiAgICBzZXRIYXNUZXh0KHRleHQudHJpbSgpLmxlbmd0aCA+IDApO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVzZXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2VhcmNoVGV4dCgnJyk7XG4gICAgc2V0SGFzVGV4dChmYWxzZSk7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBzZXRGb2N1c2VkSW5kZXgoLTEpO1xuICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBTdGF0ZVxuICAgIHNlYXJjaFRleHQsXG4gICAgaGFzVGV4dCxcbiAgICBpc0ZvY3VzZWQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG5cbiAgICAvLyBIYW5kbGVyc1xuICAgIGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Rm9jdXMsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRCbHVyLFxuICAgIGhhbmRsZUtleURvd24sXG4gICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgIGhhbmRsZVN1Ym1pdFNlYXJjaCxcblxuICAgIC8vIFV0aWxpdGllc1xuICAgIHNldFNlYXJjaFRleHQ6IHNldFNlYXJjaFRleHRVdGlsaXR5LFxuICAgIHJlc2V0U2VhcmNoLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBc0NBLE1BQWEsa0JBQWtCLEVBQzdCLG9CQUFvQixJQUNwQixjQUNBLHFCQUMrQztDQUMvQyxNQUFNLGdDQUFxQkEsd0RBQXdCO0NBR25ELE1BQU0sQ0FBQyxZQUFZLHFDQUEwQixrQkFBa0I7Q0FDL0QsTUFBTSxDQUFDLFNBQVMsa0NBQXVCLGtCQUFrQixNQUFNLENBQUMsU0FBUyxFQUFFO0NBQzNFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxjQUFjLHVDQUE0QixHQUFHO0NBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsMENBQW1ELE9BQVU7Q0FFckYsTUFBTSxvREFEaUNDLDJDQUFzQixDQUNUO0NBQ3BELE1BQU0sd0JBQXdCLDBCQUEwQixTQUFTO0NBR2pFLE1BQU0sNENBQWlDLE1BQU07Q0FHN0MsTUFBTSx5QkFBeUIsV0FBVyxhQUFhO0NBRXZELE1BQU0sMkJBQTJCO0NBR2pDLE1BQU0sd0NBQ0c7RUFDTCxjQUFjO0VBQ2QsZ0JBQWdCO0VBRWhCLFdBQVc7RUFFWCxVQUFVO0VBRVYsVUFBVTtFQUVWLG9CQUFvQjtFQUVwQixNQUFNLEVBQUU7RUFFUixtQkFBbUI7RUFFbkIsZ0JBQWdCO0VBQ2pCLEdBQ0QsRUFBRSxDQUNIO0NBRUQsTUFBTSxnQ0FBcUI7QUFDekIsTUFBSSxDQUFDLDBCQUEwQixPQUFRLFFBQU87QUFDOUMsU0FBTyxJQUFJQyxnQkFBSywyQkFBMkIsWUFBWTtJQUN0RCxDQUFDLDJCQUEyQixZQUFZLENBQUM7Q0FHNUMsTUFBTSwrQ0FBb0M7QUFDeEMsTUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQzdCLFFBQU8sRUFBRTtBQUdYLE1BQUksQ0FBQyxXQUFXLE1BQU0sQ0FDcEIsUUFBTyxFQUFFO0FBTVgsU0FIb0IsS0FBSyxPQUFPLFdBQVcsQ0FHeEIsTUFBTSxHQUFHLHlCQUF5QixDQUFDLEtBQUksV0FBVSxPQUFPLEtBQUs7SUFDL0U7RUFBQztFQUF1QjtFQUFNO0VBQVk7RUFBeUIsQ0FBQztDQUd2RSxNQUFNLGtEQUNILGFBQXFCO0FBR3BCLE1BQUksYUFBYSxXQUNmLGNBQWEsS0FBSztBQUdwQixNQUFJLFNBQVMsV0FBVyxFQUN0QixTQUFRO0dBQ04sV0FBV0MsZ0RBQXVCO0dBQ2xDLFlBQVksRUFDVixjQUNEO0dBQ0YsQ0FBQztBQUVKLGdCQUFjLFNBQVM7QUFDdkIsYUFBVyxTQUFTLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDdEMsa0JBQWdCLEdBQUc7QUFDbkIscUJBQW1CLE9BQVU7SUFFL0I7RUFBQztFQUFjO0VBQVk7RUFBTSxDQUNsQztDQUVELE1BQU0sc0RBQTJDO0FBQy9DLGVBQWEsS0FBSztJQUNqQixFQUFFLENBQUM7Q0FFTixNQUFNLHFEQUEwQztBQUM5QyxtQkFBaUI7QUFDZixPQUFJLENBQUMsd0JBQXdCLFNBQVM7QUFDcEMsaUJBQWEsTUFBTTtBQUNuQixvQkFBZ0IsR0FBRztBQUNuQix1QkFBbUIsT0FBVTs7S0FFOUIsSUFBSTtJQUNOLEVBQUUsQ0FBQztDQUVOLE1BQU0sa0RBQXVDO0FBQzNDLGVBQWEsTUFBTTtBQUNuQixNQUFJLFdBQVcsTUFBTSxJQUFJLGdCQUFnQjtBQUN2QyxXQUFRO0lBQ04sV0FBV0EsZ0RBQXVCO0lBQ2xDLFlBQVk7S0FDVjtLQUNBLFdBQVcsV0FBVyxNQUFNO0tBQzdCO0lBQ0QsMkJBQTJCO0lBQzVCLENBQUM7QUFDRixrQkFBZSxXQUFXLE1BQU0sQ0FBQzs7SUFFbEM7RUFBQztFQUFZO0VBQWdCO0VBQWM7RUFBTSxDQUFDO0NBRXJELE1BQU0sbURBQ0gsWUFBb0IsaUJBQTBCO0FBQzdDLDBCQUF3QixVQUFVO0FBQ2xDLGdCQUFjLFdBQVc7QUFDekIsYUFBVyxXQUFXLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDeEMsZUFBYSxNQUFNO0FBRW5CLFVBQVE7R0FDTixXQUFXQSxnREFBdUI7R0FDbEMsWUFBWSxFQUNWLGNBQ0Q7R0FDRixDQUFDO0FBRUYsTUFBSSxlQUNGLGdCQUFlLFdBQVcsTUFBTSxDQUFDO0FBR25DLG1CQUFpQjtBQUNmLDJCQUF3QixVQUFVO0tBQ2pDLElBQUk7SUFFVDtFQUFDO0VBQWdCO0VBQWM7RUFBTSxDQUN0QztBQThDRCxRQUFPO0VBRUw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQSx1Q0F6REMsVUFBaUQ7QUFDaEQsT0FBSSxNQUFNLFFBQVEsYUFBYTtBQUM3QixVQUFNLGdCQUFnQjtJQUN0QixNQUFNLFlBQVksZUFBZSxLQUFLLG9CQUFvQjtBQUMxRCxvQkFBZ0IsU0FBUztBQUN6Qix1QkFBbUIsVUFBVSxXQUFXO2NBQy9CLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFVBQU0sZ0JBQWdCO0lBQ3RCLE1BQU0sWUFDSCxlQUFlLElBQUksb0JBQW9CLFVBQVUsb0JBQW9CO0FBQ3hFLG9CQUFnQixTQUFTO0FBQ3pCLHVCQUFtQixVQUFVLFdBQVc7Y0FDL0IsTUFBTSxRQUFRLFFBQ3ZCLEtBQUksaUJBQWlCLElBQUk7QUFDdkIsVUFBTSxnQkFBZ0I7QUFDdEIsd0JBQW9CO1VBQ2Y7QUFDTCxVQUFNLGdCQUFnQjtJQUN0QixNQUFNLGlCQUFpQixvQkFBb0I7QUFDM0MsNkJBQXlCLGdCQUFnQixhQUFhOztZQUUvQyxNQUFNLFFBQVEsVUFBVTtBQUNqQyxVQUFNLGdCQUFnQjtBQUN0QixvQkFBZ0IsR0FBRztBQUNuQix1QkFBbUIsT0FBVTs7S0FHakM7R0FBQztHQUFxQjtHQUFjO0dBQTBCO0dBQW1CLENBQ2xGO0VBOEJDO0VBQ0E7RUFHQSx1Q0FoQ3dDLFNBQWlCO0FBQ3pELGlCQUFjLEtBQUs7QUFDbkIsY0FBVyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUU7S0FDakMsRUFBRSxDQUFDO0VBOEJKLDBDQTVCb0M7QUFDcEMsaUJBQWMsR0FBRztBQUNqQixjQUFXLE1BQU07QUFDakIsZ0JBQWEsTUFBTTtBQUNuQixtQkFBZ0IsR0FBRztBQUNuQixzQkFBbUIsT0FBVTtLQUM1QixFQUFFLENBQUM7RUF1QkwifQ==