@envive-ai/react-hooks 0.2.10 → 0.3.0

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