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

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