@envive-ai/react-hooks 0.2.3 → 0.2.4

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 (441) hide show
  1. package/README.md +35 -0
  2. package/dist/AmplitudeOperations-CEwp7tPJ.cjs +0 -0
  3. package/dist/AmplitudeOperations-uF2zIi_1.js +1 -0
  4. package/dist/NewOrgConfig-B_1A1d9q.cjs +15 -0
  5. package/dist/NewOrgConfig-xNlcpcF_.js +10 -0
  6. package/dist/SystemSettingsContext-CCuS3kWH.js +13 -0
  7. package/dist/SystemSettingsContext-Dh_35fES.cjs +20 -0
  8. package/dist/TrackComponentVisibleEvent-B828giM-.js +52 -0
  9. package/dist/TrackComponentVisibleEvent-DsTIH7Yt.cjs +59 -0
  10. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  11. package/dist/amplitudeContext-BfRDG5CX.d.ts +52 -0
  12. package/dist/api-Bc3_julZ.cjs +239 -0
  13. package/dist/api-D9gmGNAV.js +166 -0
  14. package/dist/application/models/graphql/index.cjs +5 -0
  15. package/dist/application/models/graphql/index.d.cts +2 -0
  16. package/dist/application/models/graphql/index.d.ts +2 -0
  17. package/dist/application/models/graphql/index.js +4 -0
  18. package/dist/application/models/guards/api/index.cjs +16 -0
  19. package/dist/application/models/guards/api/index.d.cts +3 -0
  20. package/dist/application/models/guards/api/index.d.ts +3 -0
  21. package/dist/application/models/guards/api/index.js +5 -0
  22. package/dist/application/models/guards/utils.cjs +3 -0
  23. package/dist/application/models/guards/utils.d.cts +2 -0
  24. package/dist/application/models/guards/utils.d.ts +2 -0
  25. package/dist/application/models/guards/utils.js +3 -0
  26. package/dist/application/models/index.cjs +70 -0
  27. package/dist/application/models/index.d.cts +12 -0
  28. package/dist/application/models/index.d.ts +12 -0
  29. package/dist/application/models/index.js +12 -0
  30. package/dist/application/models/utilityTypes/index.cjs +1 -0
  31. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  32. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  33. package/dist/application/models/utilityTypes/index.js +3 -0
  34. package/dist/application/models/variantInfo/index.cjs +3 -0
  35. package/dist/application/models/variantInfo/index.d.cts +2 -0
  36. package/dist/application/models/variantInfo/index.d.ts +2 -0
  37. package/dist/application/models/variantInfo/index.js +3 -0
  38. package/dist/application/utils/index.cjs +47 -0
  39. package/dist/application/utils/index.d.cts +263 -0
  40. package/dist/application/utils/index.d.ts +263 -0
  41. package/dist/application/utils/index.js +21 -0
  42. package/dist/atomStore-8ppNkJ_n.cjs +58 -0
  43. package/dist/atomStore-BLYJ2ZoQ.js +32 -0
  44. package/dist/atoms/app/index.cjs +25 -0
  45. package/dist/atoms/app/index.d.cts +39 -0
  46. package/dist/atoms/app/index.d.ts +39 -0
  47. package/dist/atoms/app/index.js +21 -0
  48. package/dist/atoms/atomStore/index.cjs +6 -0
  49. package/dist/atoms/atomStore/index.d.cts +24 -0
  50. package/dist/atoms/atomStore/index.d.ts +24 -0
  51. package/dist/atoms/atomStore/index.js +3 -0
  52. package/dist/atoms/chat/index.cjs +52 -0
  53. package/dist/atoms/chat/index.d.cts +163 -0
  54. package/dist/atoms/chat/index.d.ts +163 -0
  55. package/dist/atoms/chat/index.js +23 -0
  56. package/dist/atoms/globalSearch/index.cjs +6 -0
  57. package/dist/atoms/globalSearch/index.d.cts +24 -0
  58. package/dist/atoms/globalSearch/index.d.ts +24 -0
  59. package/dist/atoms/globalSearch/index.js +3 -0
  60. package/dist/atoms/org/index.cjs +18 -0
  61. package/dist/atoms/org/index.d.cts +59 -0
  62. package/dist/atoms/org/index.d.ts +59 -0
  63. package/dist/atoms/org/index.js +5 -0
  64. package/dist/atoms/search/index.cjs +60 -0
  65. package/dist/atoms/search/index.d.cts +14 -0
  66. package/dist/atoms/search/index.d.ts +14 -0
  67. package/dist/atoms/search/index.js +30 -0
  68. package/dist/atoms/search/types.cjs +5 -0
  69. package/dist/atoms/search/types.d.cts +2 -0
  70. package/dist/atoms/search/types.d.ts +2 -0
  71. package/dist/atoms/search/types.js +3 -0
  72. package/dist/atoms/search/utils.cjs +3 -0
  73. package/dist/atoms/search/utils.d.cts +5 -0
  74. package/dist/atoms/search/utils.d.ts +5 -0
  75. package/dist/atoms/search/utils.js +3 -0
  76. package/dist/cdnContext-BlRI74F-.cjs +53 -0
  77. package/dist/cdnContext-D26C8Y4H.js +38 -0
  78. package/dist/chat-2NGrmU_Z.cjs +393 -0
  79. package/dist/chat-Bg3wEfNd.js +257 -0
  80. package/dist/chat-pXCsesuS.js +25 -0
  81. package/dist/chat-sCX7aTrz.cjs +145 -0
  82. package/dist/chatElementDisplayLocation-D6oLuQS4.d.ts +25 -0
  83. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  84. package/dist/chatSearch-B4dsxGth.cjs +418 -0
  85. package/dist/chatSearch-Cvc_eBFV.js +295 -0
  86. package/dist/chatState-2bMtvPgG.js +34 -0
  87. package/dist/chatState-fP1r34CN.cjs +120 -0
  88. package/dist/chunk-CUT6urMc.cjs +30 -0
  89. package/dist/common-4xhjcUbt.cjs +189 -0
  90. package/dist/common-DhKoZ6jN.js +39 -0
  91. package/dist/components-BUisjl4v.js +11 -0
  92. package/dist/components-DVaYBroL.cjs +29 -0
  93. package/dist/config/locators/components/chat/index.cjs +22 -0
  94. package/dist/config/locators/components/chat/index.d.cts +2 -0
  95. package/dist/config/locators/components/chat/index.d.ts +2 -0
  96. package/dist/config/locators/components/chat/index.js +3 -0
  97. package/dist/config/locators/components/chat/variants/index.cjs +29 -0
  98. package/dist/config/locators/components/chat/variants/index.d.cts +16 -0
  99. package/dist/config/locators/components/chat/variants/index.d.ts +16 -0
  100. package/dist/config/locators/components/chat/variants/index.js +17 -0
  101. package/dist/config/locators/components/common/index.cjs +27 -0
  102. package/dist/config/locators/components/common/index.d.cts +2 -0
  103. package/dist/config/locators/components/common/index.d.ts +2 -0
  104. package/dist/config/locators/components/common/index.js +3 -0
  105. package/dist/config/locators/components/index.cjs +5 -0
  106. package/dist/config/locators/components/index.d.cts +2 -0
  107. package/dist/config/locators/components/index.d.ts +2 -0
  108. package/dist/config/locators/components/index.js +3 -0
  109. package/dist/config/locators/components/search/index.cjs +13 -0
  110. package/dist/config/locators/components/search/index.d.cts +8 -0
  111. package/dist/config/locators/components/search/index.d.ts +8 -0
  112. package/dist/config/locators/components/search/index.js +9 -0
  113. package/dist/config/locators/index.cjs +92 -0
  114. package/dist/config/locators/index.d.cts +26 -0
  115. package/dist/config/locators/index.d.ts +26 -0
  116. package/dist/config/locators/index.js +27 -0
  117. package/dist/contexts/amplitudeContext/index.cjs +23 -0
  118. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  119. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  120. package/dist/contexts/amplitudeContext/index.js +21 -0
  121. package/dist/contexts/cdnContext/index.cjs +7 -0
  122. package/dist/contexts/cdnContext/index.d.cts +15 -0
  123. package/dist/contexts/cdnContext/index.d.ts +15 -0
  124. package/dist/contexts/cdnContext/index.js +6 -0
  125. package/dist/contexts/chatContext/index.cjs +326 -0
  126. package/dist/contexts/chatContext/index.d.cts +15 -0
  127. package/dist/contexts/chatContext/index.d.ts +15 -0
  128. package/dist/contexts/chatContext/index.js +319 -0
  129. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  130. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  131. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  132. package/dist/contexts/enviveConfigContext/index.js +6 -0
  133. package/dist/contexts/enviveCssContext/index.cjs +66 -0
  134. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  135. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  136. package/dist/contexts/enviveCssContext/index.js +63 -0
  137. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  138. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  139. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  140. package/dist/contexts/featureFlagContext/index.js +103 -0
  141. package/dist/contexts/featureFlagServiceContext/index.cjs +7 -0
  142. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  143. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  144. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  145. package/dist/contexts/graphqlContext/index.cjs +16 -0
  146. package/dist/contexts/graphqlContext/index.d.cts +14 -0
  147. package/dist/contexts/graphqlContext/index.d.ts +14 -0
  148. package/dist/contexts/graphqlContext/index.js +15 -0
  149. package/dist/contexts/localStorageContext/index.cjs +6 -0
  150. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  151. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  152. package/dist/contexts/localStorageContext/index.js +4 -0
  153. package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
  154. package/dist/contexts/newOrgConfigContext/index.d.cts +15 -0
  155. package/dist/contexts/newOrgConfigContext/index.d.ts +15 -0
  156. package/dist/contexts/newOrgConfigContext/index.js +19 -0
  157. package/dist/contexts/searchContext/index.cjs +27 -0
  158. package/dist/contexts/searchContext/index.d.cts +16 -0
  159. package/dist/contexts/searchContext/index.d.ts +16 -0
  160. package/dist/contexts/searchContext/index.js +26 -0
  161. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  162. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  163. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  164. package/dist/contexts/sessionStorageContext/index.js +4 -0
  165. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  166. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  167. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  168. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  169. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  170. package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
  171. package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
  172. package/dist/contexts/systemSettingsContext/index.js +6 -0
  173. package/dist/contexts/types.cjs +7 -0
  174. package/dist/contexts/types.d.cts +4 -0
  175. package/dist/contexts/types.d.ts +4 -0
  176. package/dist/contexts/types.js +3 -0
  177. package/dist/contexts/userIdentityContext/index.cjs +22 -0
  178. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  179. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  180. package/dist/contexts/userIdentityContext/index.js +21 -0
  181. package/dist/domObserver-DKcas6tl.js +285 -0
  182. package/dist/domObserver-Do6RAJdf.cjs +304 -0
  183. package/dist/enviveConfig-BSfyz_pm.js +62 -0
  184. package/dist/enviveConfig-D8vcVPWD.cjs +130 -0
  185. package/dist/enviveConfigContext-C8cCcdKU.cjs +60 -0
  186. package/dist/enviveConfigContext-CJqpRSKu.js +45 -0
  187. package/dist/events/index.cjs +4 -0
  188. package/dist/events/index.d.cts +46 -0
  189. package/dist/events/index.d.ts +46 -0
  190. package/dist/events/index.js +3 -0
  191. package/dist/events-BHJJjPDN.js +78 -0
  192. package/dist/events-B_fJZf9E.cjs +90 -0
  193. package/dist/featureFlagServiceContext-C2Yj-Uyh.d.ts +23 -0
  194. package/dist/featureFlagServiceContext-CiKWV306.d.cts +23 -0
  195. package/dist/featureFlagServiceContext-DFb-uLHN.cjs +62 -0
  196. package/dist/featureFlagServiceContext-Dd_Hbq6e.js +42 -0
  197. package/dist/featureGates-BdvOVv8N.cjs +32 -0
  198. package/dist/featureGates-DhoJq4io.js +26 -0
  199. package/dist/frontendConfig-CbyjUXZW.d.ts +856 -0
  200. package/dist/frontendConfig-tVg0hsWZ.d.cts +856 -0
  201. package/dist/globalSearch-B_v9qfCT.js +14 -0
  202. package/dist/globalSearch-OiF96VLG.cjs +39 -0
  203. package/dist/graphql-B9HhDXYt.cjs +53 -0
  204. package/dist/graphql-W7GMIHUu.js +36 -0
  205. package/dist/graphqlConfig-DZHeFKDY.cjs +73 -0
  206. package/dist/graphqlConfig-Xk--JbPl.js +24 -0
  207. package/dist/graphqlContext-BotK7KCg.d.ts +28 -0
  208. package/dist/graphqlContext-CMav2igl.d.cts +28 -0
  209. package/dist/graphqlContext-CSVwhCnP.js +96 -0
  210. package/dist/graphqlContext-aaOOb79d.cjs +111 -0
  211. package/dist/hooks/AmplitudeOperations/index.cjs +23 -0
  212. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  213. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  214. package/dist/hooks/AmplitudeOperations/index.js +23 -0
  215. package/dist/hooks/AppDetails/index.cjs +24 -0
  216. package/dist/hooks/AppDetails/index.d.cts +27 -0
  217. package/dist/hooks/AppDetails/index.d.ts +27 -0
  218. package/dist/hooks/AppDetails/index.js +24 -0
  219. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  220. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  221. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  222. package/dist/hooks/BlockBackButton/index.js +27 -0
  223. package/dist/hooks/CdnOperations/index.cjs +24 -0
  224. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  225. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  226. package/dist/hooks/CdnOperations/index.js +22 -0
  227. package/dist/hooks/ChatToggle/index.cjs +64 -0
  228. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  229. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  230. package/dist/hooks/ChatToggle/index.js +62 -0
  231. package/dist/hooks/ChatToggleAnalytics/index.cjs +39 -0
  232. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  233. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  234. package/dist/hooks/ChatToggleAnalytics/index.js +37 -0
  235. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  236. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  237. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  238. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  239. package/dist/hooks/Debounce/index.cjs +3 -0
  240. package/dist/hooks/Debounce/index.d.cts +5 -0
  241. package/dist/hooks/Debounce/index.d.ts +5 -0
  242. package/dist/hooks/Debounce/index.js +3 -0
  243. package/dist/hooks/ElementObserver/index.cjs +179 -0
  244. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  245. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  246. package/dist/hooks/ElementObserver/index.js +177 -0
  247. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  248. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  249. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  250. package/dist/hooks/GrabAndScroll/index.js +97 -0
  251. package/dist/hooks/GraphQLConfig/index.cjs +17 -0
  252. package/dist/hooks/GraphQLConfig/index.d.cts +28 -0
  253. package/dist/hooks/GraphQLConfig/index.d.ts +28 -0
  254. package/dist/hooks/GraphQLConfig/index.js +16 -0
  255. package/dist/hooks/IdentifyUser/index.cjs +55 -0
  256. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  257. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  258. package/dist/hooks/IdentifyUser/index.js +53 -0
  259. package/dist/hooks/ImageResolver/index.cjs +55 -0
  260. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  261. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  262. package/dist/hooks/ImageResolver/index.js +53 -0
  263. package/dist/hooks/Intersection/index.cjs +3 -0
  264. package/dist/hooks/Intersection/index.d.cts +7 -0
  265. package/dist/hooks/Intersection/index.d.ts +7 -0
  266. package/dist/hooks/Intersection/index.js +3 -0
  267. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  268. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  269. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  270. package/dist/hooks/IsSmallScreen/index.js +20 -0
  271. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  272. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  273. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  274. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  275. package/dist/hooks/MessageFilter/index.cjs +54 -0
  276. package/dist/hooks/MessageFilter/index.d.cts +30 -0
  277. package/dist/hooks/MessageFilter/index.d.ts +30 -0
  278. package/dist/hooks/MessageFilter/index.js +54 -0
  279. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  280. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  281. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  282. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  283. package/dist/hooks/NewOrgConfig/index.cjs +20 -0
  284. package/dist/hooks/NewOrgConfig/index.d.cts +20 -0
  285. package/dist/hooks/NewOrgConfig/index.d.ts +20 -0
  286. package/dist/hooks/NewOrgConfig/index.js +20 -0
  287. package/dist/hooks/Search/index.cjs +325 -0
  288. package/dist/hooks/Search/index.d.cts +61 -0
  289. package/dist/hooks/Search/index.d.ts +61 -0
  290. package/dist/hooks/Search/index.js +322 -0
  291. package/dist/hooks/SearchOperations/index.cjs +105 -0
  292. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  293. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  294. package/dist/hooks/SearchOperations/index.js +102 -0
  295. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  296. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  297. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  298. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  299. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  300. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  301. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  302. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  303. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  304. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  305. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  306. package/dist/hooks/SnapCalculator/index.js +27 -0
  307. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  308. package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
  309. package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
  310. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  311. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +23 -0
  312. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  313. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  314. package/dist/hooks/TrackComponentVisibleEvent/index.js +23 -0
  315. package/dist/hooks/UpdateAnalyticsProps/index.cjs +63 -0
  316. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  317. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  318. package/dist/hooks/UpdateAnalyticsProps/index.js +60 -0
  319. package/dist/hooks/utils.cjs +8 -0
  320. package/dist/hooks/utils.d.cts +13 -0
  321. package/dist/hooks/utils.d.ts +13 -0
  322. package/dist/hooks/utils.js +3 -0
  323. package/dist/index-7VOYQNo5.d.ts +184 -0
  324. package/dist/index-9NE86em3.d.cts +35 -0
  325. package/dist/index-Bmub8e38.d.cts +98 -0
  326. package/dist/index-C1nwLU6Q.d.ts +35 -0
  327. package/dist/index-CESxqFso.d.cts +228 -0
  328. package/dist/index-CG3P8xE1.d.cts +676 -0
  329. package/dist/index-CalyvQj_.d.ts +1 -0
  330. package/dist/index-CiWEYzXl.d.cts +184 -0
  331. package/dist/index-Cyq5HiC0.d.cts +44 -0
  332. package/dist/index-D9SzePCE.d.cts +186 -0
  333. package/dist/index-DDZmV951.d.ts +186 -0
  334. package/dist/index-Da1s8h5C.d.cts +9 -0
  335. package/dist/index-Dy22w7kg.d.ts +24 -0
  336. package/dist/index-DzbkQtaK.d.cts +24 -0
  337. package/dist/index-DzzKdrcZ.d.ts +9 -0
  338. package/dist/index-L7SEpDLz.d.ts +228 -0
  339. package/dist/index-RcVcRKH7.d.cts +1 -0
  340. package/dist/index-YrhxAGtH.d.ts +676 -0
  341. package/dist/index-exSzn3SP.d.ts +44 -0
  342. package/dist/index-hebsV7fc.d.ts +98 -0
  343. package/dist/interceptors/index.cjs +4 -0
  344. package/dist/interceptors/index.d.cts +20 -0
  345. package/dist/interceptors/index.d.ts +20 -0
  346. package/dist/interceptors/index.js +4 -0
  347. package/dist/interceptors/types.cjs +1 -0
  348. package/dist/interceptors/types.d.cts +13 -0
  349. package/dist/interceptors/types.d.ts +13 -0
  350. package/dist/interceptors/types.js +3 -0
  351. package/dist/localStorageContext-Dwgto93_.js +95 -0
  352. package/dist/localStorageContext-cnMYDllE.cjs +115 -0
  353. package/dist/logger-Cp7J4YJT.cjs +26 -0
  354. package/dist/logger-oAgZx2-m.js +20 -0
  355. package/dist/models-B1P-dSCW.cjs +1537 -0
  356. package/dist/models-CgvSM2fW.js +1296 -0
  357. package/dist/newOrgConfigAtom-B9FW3fDc.cjs +15 -0
  358. package/dist/newOrgConfigAtom-CMeY5c6t.js +8 -0
  359. package/dist/newOrgConfigContext-1uwWWCPa.js +53 -0
  360. package/dist/newOrgConfigContext-B0v1q3dk.cjs +68 -0
  361. package/dist/newOrgConfigContext-C8wBmK3q.d.cts +16 -0
  362. package/dist/newOrgConfigContext-D180PO0t.d.ts +16 -0
  363. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  364. package/dist/nodeSelector-DQicm08Y.d.ts +31 -0
  365. package/dist/org-DU3Wck0R.cjs +43 -0
  366. package/dist/org-DptftvB6.js +12 -0
  367. package/dist/search-BtYKpiNB.js +126 -0
  368. package/dist/search-DYVQuYti.d.ts +20 -0
  369. package/dist/search-Du6HZpO6.cjs +205 -0
  370. package/dist/search-filter-types-B5xcaEit.d.ts +102 -0
  371. package/dist/search-filter-types-DZPTzUK9.d.cts +102 -0
  372. package/dist/search-y-ioX5Mz.d.cts +20 -0
  373. package/dist/searchContext-BK43ArCs.cjs +145 -0
  374. package/dist/searchContext-JjZZhDCe.js +129 -0
  375. package/dist/searchServiceAdapter-BSPZOg1r.js +16 -0
  376. package/dist/searchServiceAdapter-DrjFCiw8.cjs +34 -0
  377. package/dist/sessionStorageContext-BQY9r8zz.js +52 -0
  378. package/dist/sessionStorageContext-R2yUAkd9.cjs +66 -0
  379. package/dist/shopifyUrlContext-Bon8_SUJ.js +61 -0
  380. package/dist/shopifyUrlContext-DUdw1xUH.cjs +75 -0
  381. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  382. package/dist/spiffyWidgets-DZqG5plz.d.ts +20 -0
  383. package/dist/systemSettingsContext-BjbhIz6y.js +39 -0
  384. package/dist/systemSettingsContext-Dv9EmjmZ.cjs +60 -0
  385. package/dist/test-types-Dl5puRHC.d.ts +40 -0
  386. package/dist/test-types-ThQiO_cc.d.cts +40 -0
  387. package/dist/types/index.cjs +34 -0
  388. package/dist/types/index.d.cts +3 -0
  389. package/dist/types/index.d.ts +3 -0
  390. package/dist/types/index.js +31 -0
  391. package/dist/types-BwNrLPSZ.cjs +106 -0
  392. package/dist/types-CKMMb_gX.d.cts +51 -0
  393. package/dist/types-Csgpt7EV.d.ts +51 -0
  394. package/dist/types-D3uOF0Oy.js +76 -0
  395. package/dist/types-DIk0FLwd.js +30 -0
  396. package/dist/types-DNLkuGWZ.cjs +48 -0
  397. package/dist/types-DSW9XODe.d.cts +10 -0
  398. package/dist/types-DtTnp0o0.js +1 -0
  399. package/dist/types-a8gm_IaQ.cjs +0 -0
  400. package/dist/types-oSg-AkO5.d.ts +10 -0
  401. package/dist/types.cjs +0 -0
  402. package/dist/types.d.cts +15 -0
  403. package/dist/types.d.ts +15 -0
  404. package/dist/types.js +1 -0
  405. package/dist/urlsParser-BV5yF8sa.cjs +78 -0
  406. package/dist/urlsParser-DUgV_Qy9.js +42 -0
  407. package/dist/useAmplitudeOperations-C9o_wDU6.cjs +41 -0
  408. package/dist/useAmplitudeOperations-COq3L1no.js +34 -0
  409. package/dist/useAppDetails-C4GTLEIR.cjs +38 -0
  410. package/dist/useAppDetails-CEksA88Q.js +30 -0
  411. package/dist/useDebounce--rPGMuE7.js +19 -0
  412. package/dist/useDebounce-DECHWSTn.cjs +26 -0
  413. package/dist/useGraphQLConfig-DQoMmpNM.js +63 -0
  414. package/dist/useGraphQLConfig-DzH1nVBh.cjs +76 -0
  415. package/dist/useIntersection-UEO0Cezc.js +21 -0
  416. package/dist/useIntersection-rV0Q8mBH.cjs +28 -0
  417. package/dist/useMessageInterceptor-CstX10ih.cjs +33 -0
  418. package/dist/useMessageInterceptor-D5oAekXn.js +25 -0
  419. package/dist/userIdentityContext-8kfKQRFx.d.ts +20 -0
  420. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  421. package/dist/utilityTypes-DynzxjK3.js +1 -0
  422. package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
  423. package/dist/utils-ARmpTh1O.js +27 -0
  424. package/dist/utils-B3x_9JTY.d.cts +15 -0
  425. package/dist/utils-B8rATLoc.d.ts +22 -0
  426. package/dist/utils-BLe5oreh.d.ts +15 -0
  427. package/dist/utils-Bcz5kAgP.js +92 -0
  428. package/dist/utils-CMqFfqZx.cjs +130 -0
  429. package/dist/utils-Cavu4XiM.cjs +33 -0
  430. package/dist/utils-CqVRbvfN.cjs +29 -0
  431. package/dist/utils-DQhbbAnt.js +23 -0
  432. package/dist/utils-EDgzCG3Q.d.cts +22 -0
  433. package/dist/utils-V1YTUQng.js +1385 -0
  434. package/dist/utils-VI19AC8S.cjs +1591 -0
  435. package/dist/variantInfo-BRmDpamJ.cjs +17 -0
  436. package/dist/variantInfo-BwBBEWSA.js +11 -0
  437. package/package.json +3 -2
  438. package/src/config/locators/components/chat/index.ts +0 -1
  439. package/src/config/locators/components/chat/preview.ts +0 -1
  440. package/src/config/locators/components/common/index.ts +4 -0
  441. package/src/config/locators/index.ts +1 -0
@@ -0,0 +1,16 @@
1
+ //#region src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.d.ts
2
+ /**
3
+ * Hook to call the `click` method of the merchant's customer support chat widget.
4
+ *
5
+ * @param onSwitchToAgent a function to override the function returned by the hook. This is mainly to
6
+ * preserve backward compatibility for merchants not using Kustomer and will be removed when all
7
+ * CS integrations are handled.
8
+ *
9
+ * @returns a function that searches for the customer support chat widget and calls the `click` method.
10
+ */
11
+ declare const useCustomerSupportHandoff: (onSwitchToAgent?: () => void) => {
12
+ onSwitch: () => void;
13
+ };
14
+ //#endregion
15
+ export { useCustomerSupportHandoff };
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvQ3VzdG9tZXJTdXBwb3J0SGFuZG9mZi91c2VDdXN0b21lclN1cHBvcnRIYW5kb2ZmLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIb29rIHRvIGNhbGwgdGhlIGBjbGlja2AgbWV0aG9kIG9mIHRoZSBtZXJjaGFudCdzIGN1c3RvbWVyIHN1cHBvcnQgY2hhdCB3aWRnZXQuXG4gKlxuICogQHBhcmFtIG9uU3dpdGNoVG9BZ2VudCBhIGZ1bmN0aW9uIHRvIG92ZXJyaWRlIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSB0aGUgaG9vay4gVGhpcyBpcyBtYWlubHkgdG9cbiAqIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lcmNoYW50cyBub3QgdXNpbmcgS3VzdG9tZXIgYW5kIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIGFsbFxuICogQ1MgaW50ZWdyYXRpb25zIGFyZSBoYW5kbGVkLlxuICpcbiAqIEByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBzZWFyY2hlcyBmb3IgdGhlIGN1c3RvbWVyIHN1cHBvcnQgY2hhdCB3aWRnZXQgYW5kIGNhbGxzIHRoZSBgY2xpY2tgIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlQ3VzdG9tZXJTdXBwb3J0SGFuZG9mZjogKG9uU3dpdGNoVG9BZ2VudD86ICgpID0+IHZvaWQpID0+IHtcbiAgICBvblN3aXRjaDogKCkgPT4gdm9pZDtcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFFLDRCQUFBLENBQUEsSUFBQSJ9
@@ -0,0 +1,34 @@
1
+ import { logger_default } from "../../logger-oAgZx2-m.js";
2
+ import { useCallback } from "react";
3
+
4
+ //#region src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts
5
+ /**
6
+ * Hook to call the `click` method of the merchant's customer support chat widget.
7
+ *
8
+ * @param onSwitchToAgent a function to override the function returned by the hook. This is mainly to
9
+ * preserve backward compatibility for merchants not using Kustomer and will be removed when all
10
+ * CS integrations are handled.
11
+ *
12
+ * @returns a function that searches for the customer support chat widget and calls the `click` method.
13
+ */
14
+ const useCustomerSupportHandoff = (onSwitchToAgent) => {
15
+ const onKustomerSwitch = useCallback(() => {
16
+ const kustomerElement = document.getElementById("kustomer-ui-sdk-iframe");
17
+ if (kustomerElement == null || !(kustomerElement instanceof HTMLIFrameElement)) {
18
+ logger_default.logError("[spiffy-ai] Kustomer iFrame element not found", void 0);
19
+ return;
20
+ }
21
+ const kustomerButton = kustomerElement.contentWindow?.document?.getElementById("rootChatIcon");
22
+ if (kustomerButton == null) {
23
+ logger_default.logError("[spiffy-ai] Kustomer button not found", void 0);
24
+ return;
25
+ }
26
+ kustomerButton.click();
27
+ }, []);
28
+ if (onSwitchToAgent != null) return { onSwitch: onSwitchToAgent };
29
+ return { onSwitch: onKustomerSwitch };
30
+ };
31
+
32
+ //#endregion
33
+ export { useCustomerSupportHandoff };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0N1c3RvbWVyU3VwcG9ydEhhbmRvZmYvdXNlQ3VzdG9tZXJTdXBwb3J0SGFuZG9mZi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuLyoqXG4gKiBIb29rIHRvIGNhbGwgdGhlIGBjbGlja2AgbWV0aG9kIG9mIHRoZSBtZXJjaGFudCdzIGN1c3RvbWVyIHN1cHBvcnQgY2hhdCB3aWRnZXQuXG4gKlxuICogQHBhcmFtIG9uU3dpdGNoVG9BZ2VudCBhIGZ1bmN0aW9uIHRvIG92ZXJyaWRlIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSB0aGUgaG9vay4gVGhpcyBpcyBtYWlubHkgdG9cbiAqIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lcmNoYW50cyBub3QgdXNpbmcgS3VzdG9tZXIgYW5kIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIGFsbFxuICogQ1MgaW50ZWdyYXRpb25zIGFyZSBoYW5kbGVkLlxuICpcbiAqIEByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBzZWFyY2hlcyBmb3IgdGhlIGN1c3RvbWVyIHN1cHBvcnQgY2hhdCB3aWRnZXQgYW5kIGNhbGxzIHRoZSBgY2xpY2tgIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUN1c3RvbWVyU3VwcG9ydEhhbmRvZmYgPSAob25Td2l0Y2hUb0FnZW50PzogKCkgPT4gdm9pZCkgPT4ge1xuICAvLyBUT0RPIGhhbmRsZSBHb3JnaWFzXG5cbiAgY29uc3Qgb25LdXN0b21lclN3aXRjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBrdXN0b21lckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3VzdG9tZXItdWktc2RrLWlmcmFtZScpO1xuXG4gICAgaWYgKGt1c3RvbWVyRWxlbWVudCA9PSBudWxsIHx8ICEoa3VzdG9tZXJFbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQpKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoJ1tzcGlmZnktYWldIEt1c3RvbWVyIGlGcmFtZSBlbGVtZW50IG5vdCBmb3VuZCcsIHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga3VzdG9tZXJCdXR0b24gPSBrdXN0b21lckVsZW1lbnQuY29udGVudFdpbmRvdz8uZG9jdW1lbnQ/LmdldEVsZW1lbnRCeUlkKCdyb290Q2hhdEljb24nKTtcblxuICAgIGlmIChrdXN0b21lckJ1dHRvbiA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoJ1tzcGlmZnktYWldIEt1c3RvbWVyIGJ1dHRvbiBub3QgZm91bmQnLCB1bmRlZmluZWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGt1c3RvbWVyQnV0dG9uLmNsaWNrKCk7XG4gIH0sIFtdKTtcblxuICBpZiAob25Td2l0Y2hUb0FnZW50ICE9IG51bGwpIHtcbiAgICByZXR1cm4geyBvblN3aXRjaDogb25Td2l0Y2hUb0FnZW50IH07XG4gIH1cblxuICByZXR1cm4geyBvblN3aXRjaDogb25LdXN0b21lclN3aXRjaCB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVlBLE1BQWEsNkJBQTZCLG9CQUFpQztDQUd6RSxNQUFNLG1CQUFtQixrQkFBa0I7RUFDekMsTUFBTSxrQkFBa0IsU0FBUyxlQUFlLHlCQUF5QjtBQUV6RSxNQUFJLG1CQUFtQixRQUFRLEVBQUUsMkJBQTJCLG9CQUFvQjtBQUM5RSxrQkFBTyxTQUFTLGlEQUFpRCxPQUFVO0FBQzNFOztFQUdGLE1BQU0saUJBQWlCLGdCQUFnQixlQUFlLFVBQVUsZUFBZSxlQUFlO0FBRTlGLE1BQUksa0JBQWtCLE1BQU07QUFDMUIsa0JBQU8sU0FBUyx5Q0FBeUMsT0FBVTtBQUNuRTs7QUFHRixpQkFBZSxPQUFPO0lBQ3JCLEVBQUUsQ0FBQztBQUVOLEtBQUksbUJBQW1CLEtBQ3JCLFFBQU8sRUFBRSxVQUFVLGlCQUFpQjtBQUd0QyxRQUFPLEVBQUUsVUFBVSxrQkFBa0IifQ==
@@ -0,0 +1,3 @@
1
+ const require_useDebounce = require('../../useDebounce-DECHWSTn.cjs');
2
+
3
+ exports.useDebounce = require_useDebounce.useDebounce;
@@ -0,0 +1,5 @@
1
+ //#region src/hooks/Debounce/useDebounce.d.ts
2
+ declare function useDebounce<T>(value: T, delay: number): T;
3
+ //#endregion
4
+ export { useDebounce };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0RlYm91bmNlL3VzZURlYm91bmNlLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdXNlRGVib3VuY2U8VD4odmFsdWU6IFQsIGRlbGF5OiBudW1iZXIpOiBUO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxjQUFjO0NBQUM7T0FBVztPQUFTO0NBQUUifQ==
@@ -0,0 +1,5 @@
1
+ //#region src/hooks/Debounce/useDebounce.d.ts
2
+ declare function useDebounce<T>(value: T, delay: number): T;
3
+ //#endregion
4
+ export { useDebounce };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvRGVib3VuY2UvdXNlRGVib3VuY2UuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1c2VEZWJvdW5jZTxUPih2YWx1ZTogVCwgZGVsYXk6IG51bWJlcik6IFQ7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGNBQWM7Q0FBQztPQUFXO09BQVM7Q0FBRSJ9
@@ -0,0 +1,3 @@
1
+ import { useDebounce } from "../../useDebounce--rPGMuE7.js";
2
+
3
+ export { useDebounce };
@@ -0,0 +1,179 @@
1
+ const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
+ const require_domObserver = require('../../domObserver-Do6RAJdf.cjs');
3
+ let react = require("react");
4
+ react = require_chunk.__toESM(react);
5
+
6
+ //#region src/hooks/ElementObserver/useElementObserver.ts
7
+ const useElementObserver = (selector) => {
8
+ const INITIAL_RENDER_STATE = true;
9
+ const eoRef = (0, react.useRef)(require_domObserver.DOMObserver.add(selector));
10
+ const [renderBlocked, setRenderBlocked] = (0, react.useState)(INITIAL_RENDER_STATE);
11
+ /**
12
+ * Fired every time the HTML element changes.
13
+ *
14
+ * @param fn
15
+ */
16
+ const onChange = (fn) => {
17
+ eoRef.current?.registerOnChange(fn);
18
+ };
19
+ /**
20
+ * Fired when the HTML element is added to the DOM.
21
+ *
22
+ * @param fn
23
+ */
24
+ const onAdd = (fn) => {
25
+ eoRef.current?.registerOnAdd(fn);
26
+ };
27
+ /**
28
+ * Fired when the HTML element is removed from the DOM.
29
+ *
30
+ * @param fn
31
+ */
32
+ const onRemove = (fn) => {
33
+ eoRef.current?.registerOnRemove(fn);
34
+ };
35
+ /**
36
+ * Fired when the class of the HTML element changes.
37
+ *
38
+ * @param fn
39
+ */
40
+ const onClassChange = (fn) => {
41
+ eoRef.current?.registerOnclassChange(fn);
42
+ };
43
+ /**
44
+ * Fired when a class is added to the HTML element.
45
+ *
46
+ * @param className
47
+ * @param fn
48
+ */
49
+ const onClassAdded = (className, fn) => {
50
+ eoRef.current?.registerOnClassAdded(className, fn);
51
+ };
52
+ /**
53
+ * Fired when a class is removed from the HTML element.
54
+ *
55
+ * @param className
56
+ * @param fn
57
+ */
58
+ const onClassRemoved = (className, fn) => {
59
+ eoRef.current?.registerOnClassRemoved(className, fn);
60
+ };
61
+ /**
62
+ * Fired when a child element is added to the HTML element.
63
+ *
64
+ * @param fn
65
+ */
66
+ const onAddChild = (fn) => {
67
+ eoRef.current?.registerOnAddChild(fn);
68
+ };
69
+ /**
70
+ * Fired when a child element is removed from the HTML element.
71
+ *
72
+ * @param fn
73
+ */
74
+ const onRemoveChild = (fn) => {
75
+ eoRef.current?.registerOnRemoveChild(fn);
76
+ };
77
+ /**
78
+ * Allows hooking event listeners to the HTML element, such as `focus`, `blur`, etc.
79
+ *
80
+ * @param event
81
+ * @param fn
82
+ */
83
+ const onEvent = (event, fn) => {
84
+ eoRef.current.registerEvent(event, fn);
85
+ };
86
+ /**
87
+ * Useful when rendering a React.js component inside the HTML element.
88
+ *
89
+ * @param fn
90
+ * @returns
91
+ */
92
+ const render = (fn) => {
93
+ if (!renderBlocked) return eoRef.current.render(fn);
94
+ };
95
+ /**
96
+ * Checks if the element exists in the DOM.
97
+ *
98
+ * @returns
99
+ */
100
+ const exists = () => !!eoRef.current.getNode();
101
+ /**
102
+ * Checks if rendering is unblocked.
103
+ *
104
+ * @returns
105
+ */
106
+ const isRendered = () => !renderBlocked;
107
+ /**
108
+ * Triggers an event for the HTML element.
109
+ *
110
+ * @param event
111
+ */
112
+ const fire = (event) => {
113
+ eoRef.current.fire(event);
114
+ };
115
+ /**
116
+ * Shows the HTML element.
117
+ *
118
+ * @returns
119
+ */
120
+ const show = () => eoRef.current.show();
121
+ /**
122
+ * Hides the HTML element.
123
+ *
124
+ * @returns
125
+ */
126
+ const hide = () => eoRef.current.hide();
127
+ /**
128
+ * Blocks the rendering of elements.
129
+ *
130
+ * @returns
131
+ */
132
+ const blockRendering = () => setRenderBlocked(true);
133
+ /**
134
+ * Unblocks the rendering of elements.
135
+ *
136
+ * @returns
137
+ */
138
+ const unblockRendering = () => setRenderBlocked(false);
139
+ /**
140
+ * Applies CSS styles to the HTML element.
141
+ *
142
+ * @param styles
143
+ */
144
+ const applyStyle = (styles) => {
145
+ const node = eoRef?.current?.getNode();
146
+ node && Object.assign(node.style, styles);
147
+ };
148
+ (0, react.useEffect)(() => {
149
+ eoRef.current.init();
150
+ eoRef.current.registerOnReset(() => setRenderBlocked(INITIAL_RENDER_STATE));
151
+ require_domObserver.DOMObserver.observe();
152
+ return () => require_domObserver.DOMObserver.remove(selector);
153
+ }, [selector.getPattern()]);
154
+ return {
155
+ targetNode: eoRef.current.getNode(),
156
+ onChange,
157
+ onAdd,
158
+ onRemove,
159
+ onClassChange,
160
+ onClassAdded,
161
+ onClassRemoved,
162
+ onAddChild,
163
+ onRemoveChild,
164
+ onEvent,
165
+ blockRendering,
166
+ unblockRendering,
167
+ exists,
168
+ isRendered,
169
+ render,
170
+ fire,
171
+ show,
172
+ hide,
173
+ applyStyle
174
+ };
175
+ };
176
+
177
+ //#endregion
178
+ exports.useElementObserver = useElementObserver;
179
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsiRE9NT2JzZXJ2ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvRWxlbWVudE9ic2VydmVyL3VzZUVsZW1lbnRPYnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdEVsZW1lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IERPTU9ic2VydmVyIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL3V0aWxzL2RvbU9ic2VydmVyJztcbmltcG9ydCB7IEVsZW1lbnRPYnNlcnZlciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy9lbGVtZW50T2JzZXJ2ZXInO1xuaW1wb3J0IHsgTW91c2VFdmVudFR5cGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL3V0aWxzL21vdXNlRXZlbnRUeXBlcyc7XG5pbXBvcnQgeyBOb2RlU2VsZWN0b3IgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMvbm9kZVNlbGVjdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50T2JzZXJ2ZXJVdGlsaXR5IHtcbiAgb25DaGFuZ2U6IChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9uQWRkOiAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvblJlbW92ZTogKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25DbGFzc0NoYW5nZTogKGZuOiAoY2xhc3Nlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25DbGFzc0FkZGVkOiAoY2xhc3NOYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvbkNsYXNzUmVtb3ZlZDogKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25BZGRDaGlsZDogKGZuOiAobm9kZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9uUmVtb3ZlQ2hpbGQ6IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvbkV2ZW50OiA8SyBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50RXZlbnRNYXA+KFxuICAgIGV2ZW50OiBLLFxuICAgIGZuOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICApID0+IHZvaWQ7XG4gIGJsb2NrUmVuZGVyaW5nOiAoKSA9PiB2b2lkO1xuICB1bmJsb2NrUmVuZGVyaW5nOiAoKSA9PiB2b2lkO1xuICBleGlzdHM6ICgpID0+IGJvb2xlYW47XG4gIGlzUmVuZGVyZWQ6ICgpID0+IGJvb2xlYW47XG4gIHJlbmRlcjogKGZuOiAoKSA9PiBSZWFjdEVsZW1lbnQpID0+IFJlYWN0RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgZmlyZTogKGV2ZW50OiBNb3VzZUV2ZW50VHlwZXMpID0+IHZvaWQ7XG4gIHNob3c6ICgpID0+IHZvaWQ7XG4gIGhpZGU6ICgpID0+IHZvaWQ7XG4gIGFwcGx5U3R5bGU6IChzdHlsZXM6IFJlYWN0LkNTU1Byb3BlcnRpZXMpID0+IHZvaWQ7XG4gIHRhcmdldE5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbDtcbn1cblxuLypcbiAqIFRoaXMgaG9vayBlbmFibGVzIHRoZSBjb25uZWN0aW9uIGJldHdlZW4gYSBgTXV0YXRpb25PYnNlcnZlcmAgYW5kIGEgUmVhY3QuanMgY29tcG9uZW50LlxuICogSXQgYWJzdHJhY3RzIGFsbCB0aGUgbmVjZXNzYXJ5IHZhbGlkYXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMgdG8gbW9kaWZ5IEhUTUwgZWxlbWVudHMsXG4gKiBtb25pdG9yIHRoZWlyIGNoYW5nZXMsIGFuZCBpbnRlcmFjdCB3aXRoIHRoZW0uIFRoZSBvbmx5IHJlcXVpcmVkIGlucHV0IGlzIHRoZSBlbGVtZW50J3Mgc2VsZWN0b3IuXG4gKlxuICogSG93IHRvIHVzZSBpdDpcbiAqXG4gKiBMZXQncyBhc3N1bWUgd2Ugd2FudCB0byBpbnRlcmFjdCB3aXRoIHRoZSBmb2xsb3dpbmcgZWxlbWVudDpcbiAqIGA8ZGl2IGlkPVwiYXdlc29tZS1jb250ZW50XCI+PGNvbnRlbnQgLz48L2Rpdj5gXG4gKlxuICogVG8gaG9vayBpbnRvIHRoYXQgZWxlbWVudCwgc2ltcGx5IGRvIHRoZSBmb2xsb3dpbmc6XG4gKiBgY29uc3QgZWxlbWVudCA9IHVzZUVsZW1lbnRPYnNlcnZlcihTZWxlY3RvckZhY3RvcnkuaWQoXCJhd2Vzb21lLWNvbnRlbnRcIikpYFxuICpcbiAqIFdpdGggdGhlIGBFbGVtZW50T2JzZXJ2ZXJgIGluc3RhbmNlIGluIGhhbmQsIHdlIGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBIVE1MIGVsZW1lbnQgd2l0aG91dCBoYXZpbmdcbiAqIHRvIG1hbmFnZSBpdHMgcHJlc2VuY2UgaW4gdGhlIERPTS4gVGhlIGBvbkFkZGAgYW5kIGBvblJlbW92ZWAgZnVuY3Rpb25zIGNhbiBiZSB1c2VkIHRvIGRldGVybWluZVxuICogd2hldGhlciB0aGUgZWxlbWVudCBpcyBwcmVzZW50IGluIHRoZSBET00gb3Igbm90LCBhbmQgdG8gZW5zdXJlIGludGVyYWN0aW9uIG9jY3VycyBvbmx5IHdoZW4gbmVjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSBzZWxlY3RvclxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUVsZW1lbnRPYnNlcnZlciA9IChzZWxlY3RvcjogTm9kZVNlbGVjdG9yKTogRWxlbWVudE9ic2VydmVyVXRpbGl0eSA9PiB7XG4gIGNvbnN0IElOSVRJQUxfUkVOREVSX1NUQVRFID0gdHJ1ZTtcbiAgY29uc3QgZW9SZWYgPSB1c2VSZWY8RWxlbWVudE9ic2VydmVyPihET01PYnNlcnZlci5hZGQoc2VsZWN0b3IpKTtcbiAgY29uc3QgW3JlbmRlckJsb2NrZWQsIHNldFJlbmRlckJsb2NrZWRdID0gdXNlU3RhdGUoSU5JVElBTF9SRU5ERVJfU1RBVEUpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCBldmVyeSB0aW1lIHRoZSBIVE1MIGVsZW1lbnQgY2hhbmdlcy5cbiAgICpcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvbkNoYW5nZSA9IChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpID0+IHtcbiAgICBlb1JlZi5jdXJyZW50Py5yZWdpc3Rlck9uQ2hhbmdlKGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgSFRNTCBlbGVtZW50IGlzIGFkZGVkIHRvIHRoZSBET00uXG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25BZGQgPSAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPbkFkZChmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIEhUTUwgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICpcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvblJlbW92ZSA9IChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpID0+IHtcbiAgICBlb1JlZi5jdXJyZW50Py5yZWdpc3Rlck9uUmVtb3ZlKGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgY2xhc3Mgb2YgdGhlIEhUTUwgZWxlbWVudCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uQ2xhc3NDaGFuZ2UgPSAoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPbmNsYXNzQ2hhbmdlKGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiBhIGNsYXNzIGlzIGFkZGVkIHRvIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWVcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvbkNsYXNzQWRkZWQgPSAoY2xhc3NOYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPbkNsYXNzQWRkZWQoY2xhc3NOYW1lLCBmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gYSBjbGFzcyBpcyByZW1vdmVkIGZyb20gdGhlIEhUTUwgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZVxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uQ2xhc3NSZW1vdmVkID0gKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25DbGFzc1JlbW92ZWQoY2xhc3NOYW1lLCBmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gYSBjaGlsZCBlbGVtZW50IGlzIGFkZGVkIHRvIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25BZGRDaGlsZCA9IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPbkFkZENoaWxkKGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiBhIGNoaWxkIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25SZW1vdmVDaGlsZCA9IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPblJlbW92ZUNoaWxkKGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogQWxsb3dzIGhvb2tpbmcgZXZlbnQgbGlzdGVuZXJzIHRvIHRoZSBIVE1MIGVsZW1lbnQsIHN1Y2ggYXMgYGZvY3VzYCwgYGJsdXJgLCBldGMuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uRXZlbnQgPSA8SyBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50RXZlbnRNYXA+KFxuICAgIGV2ZW50OiBLLFxuICAgIGZuOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICApID0+IHtcbiAgICBlb1JlZi5jdXJyZW50LnJlZ2lzdGVyRXZlbnQoZXZlbnQsIGZuKTtcbiAgfTtcblxuICAvKipcbiAgICogVXNlZnVsIHdoZW4gcmVuZGVyaW5nIGEgUmVhY3QuanMgY29tcG9uZW50IGluc2lkZSB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICogQHJldHVybnNcbiAgICovXG4gIGNvbnN0IHJlbmRlciA9IChmbjogKCkgPT4gUmVhY3RFbGVtZW50KSA9PiB7XG4gICAgaWYgKCFyZW5kZXJCbG9ja2VkKSB7XG4gICAgICByZXR1cm4gZW9SZWYuY3VycmVudC5yZW5kZXIoZm4pO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBlbGVtZW50IGV4aXN0cyBpbiB0aGUgRE9NLlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3QgZXhpc3RzID0gKCkgPT4gISFlb1JlZi5jdXJyZW50LmdldE5vZGUoKTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHJlbmRlcmluZyBpcyB1bmJsb2NrZWQuXG4gICAqXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjb25zdCBpc1JlbmRlcmVkID0gKCkgPT4gIXJlbmRlckJsb2NrZWQ7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIGFuIGV2ZW50IGZvciB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIGNvbnN0IGZpcmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnRUeXBlcykgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQuZmlyZShldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFNob3dzIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjb25zdCBzaG93ID0gKCkgPT4gZW9SZWYuY3VycmVudC5zaG93KCk7XG5cbiAgLyoqXG4gICAqIEhpZGVzIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjb25zdCBoaWRlID0gKCkgPT4gZW9SZWYuY3VycmVudC5oaWRlKCk7XG5cbiAgLyoqXG4gICAqIEJsb2NrcyB0aGUgcmVuZGVyaW5nIG9mIGVsZW1lbnRzLlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3QgYmxvY2tSZW5kZXJpbmcgPSAoKSA9PiBzZXRSZW5kZXJCbG9ja2VkKHRydWUpO1xuXG4gIC8qKlxuICAgKiBVbmJsb2NrcyB0aGUgcmVuZGVyaW5nIG9mIGVsZW1lbnRzLlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3QgdW5ibG9ja1JlbmRlcmluZyA9ICgpID0+IHNldFJlbmRlckJsb2NrZWQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBBcHBsaWVzIENTUyBzdHlsZXMgdG8gdGhlIEhUTUwgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIHN0eWxlc1xuICAgKi9cbiAgY29uc3QgYXBwbHlTdHlsZSA9IChzdHlsZXM6IFJlYWN0LkNTU1Byb3BlcnRpZXMpID0+IHtcbiAgICBjb25zdCBub2RlID0gZW9SZWY/LmN1cnJlbnQ/LmdldE5vZGUoKTtcbiAgICBub2RlICYmIE9iamVjdC5hc3NpZ24obm9kZS5zdHlsZSwgc3R5bGVzKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQuaW5pdCgpO1xuICAgIGVvUmVmLmN1cnJlbnQucmVnaXN0ZXJPblJlc2V0KCgpID0+IHNldFJlbmRlckJsb2NrZWQoSU5JVElBTF9SRU5ERVJfU1RBVEUpKTtcbiAgICBET01PYnNlcnZlci5vYnNlcnZlKCk7XG4gICAgcmV0dXJuICgpID0+IERPTU9ic2VydmVyLnJlbW92ZShzZWxlY3Rvcik7XG4gIH0sIFtzZWxlY3Rvci5nZXRQYXR0ZXJuKCldKTtcblxuICByZXR1cm4ge1xuICAgIHRhcmdldE5vZGU6IGVvUmVmLmN1cnJlbnQuZ2V0Tm9kZSgpLFxuICAgIG9uQ2hhbmdlLFxuICAgIG9uQWRkLFxuICAgIG9uUmVtb3ZlLFxuICAgIG9uQ2xhc3NDaGFuZ2UsXG4gICAgb25DbGFzc0FkZGVkLFxuICAgIG9uQ2xhc3NSZW1vdmVkLFxuICAgIG9uQWRkQ2hpbGQsXG4gICAgb25SZW1vdmVDaGlsZCxcbiAgICBvbkV2ZW50LFxuICAgIGJsb2NrUmVuZGVyaW5nLFxuICAgIHVuYmxvY2tSZW5kZXJpbmcsXG4gICAgZXhpc3RzLFxuICAgIGlzUmVuZGVyZWQsXG4gICAgcmVuZGVyLFxuICAgIGZpcmUsXG4gICAgc2hvdyxcbiAgICBoaWRlLFxuICAgIGFwcGx5U3R5bGUsXG4gIH0gc2F0aXNmaWVzIEVsZW1lbnRPYnNlcnZlclV0aWxpdHk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFtREEsTUFBYSxzQkFBc0IsYUFBbUQ7Q0FDcEYsTUFBTSx1QkFBdUI7Q0FDN0IsTUFBTSwwQkFBZ0NBLGdDQUFZLElBQUksU0FBUyxDQUFDO0NBQ2hFLE1BQU0sQ0FBQyxlQUFlLHdDQUE2QixxQkFBcUI7Ozs7OztDQU94RSxNQUFNLFlBQVksT0FBeUM7QUFDekQsUUFBTSxTQUFTLGlCQUFpQixHQUFHOzs7Ozs7O0NBUXJDLE1BQU0sU0FBUyxPQUF5QztBQUN0RCxRQUFNLFNBQVMsY0FBYyxHQUFHOzs7Ozs7O0NBUWxDLE1BQU0sWUFBWSxPQUF5QztBQUN6RCxRQUFNLFNBQVMsaUJBQWlCLEdBQUc7Ozs7Ozs7Q0FRckMsTUFBTSxpQkFBaUIsT0FBeUM7QUFDOUQsUUFBTSxTQUFTLHNCQUFzQixHQUFHOzs7Ozs7OztDQVMxQyxNQUFNLGdCQUFnQixXQUFtQixPQUFtQjtBQUMxRCxRQUFNLFNBQVMscUJBQXFCLFdBQVcsR0FBRzs7Ozs7Ozs7Q0FTcEQsTUFBTSxrQkFBa0IsV0FBbUIsT0FBbUI7QUFDNUQsUUFBTSxTQUFTLHVCQUF1QixXQUFXLEdBQUc7Ozs7Ozs7Q0FRdEQsTUFBTSxjQUFjLE9BQXVDO0FBQ3pELFFBQU0sU0FBUyxtQkFBbUIsR0FBRzs7Ozs7OztDQVF2QyxNQUFNLGlCQUFpQixPQUF1QztBQUM1RCxRQUFNLFNBQVMsc0JBQXNCLEdBQUc7Ozs7Ozs7O0NBUzFDLE1BQU0sV0FDSixPQUNBLE9BQ0c7QUFDSCxRQUFNLFFBQVEsY0FBYyxPQUFPLEdBQUc7Ozs7Ozs7O0NBU3hDLE1BQU0sVUFBVSxPQUEyQjtBQUN6QyxNQUFJLENBQUMsY0FDSCxRQUFPLE1BQU0sUUFBUSxPQUFPLEdBQUc7Ozs7Ozs7Q0FTbkMsTUFBTSxlQUFlLENBQUMsQ0FBQyxNQUFNLFFBQVEsU0FBUzs7Ozs7O0NBTzlDLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztDQU8xQixNQUFNLFFBQVEsVUFBMkI7QUFDdkMsUUFBTSxRQUFRLEtBQUssTUFBTTs7Ozs7OztDQVEzQixNQUFNLGFBQWEsTUFBTSxRQUFRLE1BQU07Ozs7OztDQU92QyxNQUFNLGFBQWEsTUFBTSxRQUFRLE1BQU07Ozs7OztDQU92QyxNQUFNLHVCQUF1QixpQkFBaUIsS0FBSzs7Ozs7O0NBT25ELE1BQU0seUJBQXlCLGlCQUFpQixNQUFNOzs7Ozs7Q0FPdEQsTUFBTSxjQUFjLFdBQWdDO0VBQ2xELE1BQU0sT0FBTyxPQUFPLFNBQVMsU0FBUztBQUN0QyxVQUFRLE9BQU8sT0FBTyxLQUFLLE9BQU8sT0FBTzs7QUFHM0MsNEJBQWdCO0FBQ2QsUUFBTSxRQUFRLE1BQU07QUFDcEIsUUFBTSxRQUFRLHNCQUFzQixpQkFBaUIscUJBQXFCLENBQUM7QUFDM0Usa0NBQVksU0FBUztBQUNyQixlQUFhQSxnQ0FBWSxPQUFPLFNBQVM7SUFDeEMsQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUFDO0FBRTNCLFFBQU87RUFDTCxZQUFZLE1BQU0sUUFBUSxTQUFTO0VBQ25DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNEIn0=
@@ -0,0 +1,29 @@
1
+ import { MouseEventTypes, NodeSelector } from "../../nodeSelector-B3bPtEjX.cjs";
2
+ import { ReactElement } from "react";
3
+
4
+ //#region src/hooks/ElementObserver/useElementObserver.d.ts
5
+ interface ElementObserverUtility {
6
+ onChange: (fn: (el: HTMLElement | null) => void) => void;
7
+ onAdd: (fn: (el: HTMLElement | null) => void) => void;
8
+ onRemove: (fn: (el: HTMLElement | null) => void) => void;
9
+ onClassChange: (fn: (classes?: DOMTokenList) => void) => void;
10
+ onClassAdded: (className: string, fn: () => void) => void;
11
+ onClassRemoved: (className: string, fn: () => void) => void;
12
+ onAddChild: (fn: (nodes?: DOMTokenList) => void) => void;
13
+ onRemoveChild: (fn: (nodes?: DOMTokenList) => void) => void;
14
+ onEvent: <K extends keyof HTMLElementEventMap>(event: K, fn: EventListenerOrEventListenerObject) => void;
15
+ blockRendering: () => void;
16
+ unblockRendering: () => void;
17
+ exists: () => boolean;
18
+ isRendered: () => boolean;
19
+ render: (fn: () => ReactElement) => ReactElement | undefined;
20
+ fire: (event: MouseEventTypes) => void;
21
+ show: () => void;
22
+ hide: () => void;
23
+ applyStyle: (styles: React.CSSProperties) => void;
24
+ targetNode: HTMLElement | null;
25
+ }
26
+ declare const useElementObserver: (selector: NodeSelector) => ElementObserverUtility;
27
+ //#endregion
28
+ export { ElementObserverUtility, useElementObserver };
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0VsZW1lbnRPYnNlcnZlci91c2VFbGVtZW50T2JzZXJ2ZXIuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNb3VzZUV2ZW50VHlwZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMvbW91c2VFdmVudFR5cGVzJztcbmltcG9ydCB7IE5vZGVTZWxlY3RvciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy9ub2RlU2VsZWN0b3InO1xuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50T2JzZXJ2ZXJVdGlsaXR5IHtcbiAgICBvbkNoYW5nZTogKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvbkFkZDogKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvblJlbW92ZTogKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvbkNsYXNzQ2hhbmdlOiAoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uQ2xhc3NBZGRlZDogKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvbkNsYXNzUmVtb3ZlZDogKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvbkFkZENoaWxkOiAoZm46IChub2Rlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvblJlbW92ZUNoaWxkOiAoZm46IChub2Rlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBvbkV2ZW50OiA8SyBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50RXZlbnRNYXA+KGV2ZW50OiBLLCBmbjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCkgPT4gdm9pZDtcbiAgICBibG9ja1JlbmRlcmluZzogKCkgPT4gdm9pZDtcbiAgICB1bmJsb2NrUmVuZGVyaW5nOiAoKSA9PiB2b2lkO1xuICAgIGV4aXN0czogKCkgPT4gYm9vbGVhbjtcbiAgICBpc1JlbmRlcmVkOiAoKSA9PiBib29sZWFuO1xuICAgIHJlbmRlcjogKGZuOiAoKSA9PiBSZWFjdEVsZW1lbnQpID0+IFJlYWN0RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBmaXJlOiAoZXZlbnQ6IE1vdXNlRXZlbnRUeXBlcykgPT4gdm9pZDtcbiAgICBzaG93OiAoKSA9PiB2b2lkO1xuICAgIGhpZGU6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlTdHlsZTogKHN0eWxlczogUmVhY3QuQ1NTUHJvcGVydGllcykgPT4gdm9pZDtcbiAgICB0YXJnZXROb2RlOiBIVE1MRWxlbWVudCB8IG51bGw7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VFbGVtZW50T2JzZXJ2ZXI6IChzZWxlY3RvcjogTm9kZVNlbGVjdG9yKSA9PiBFbGVtZW50T2JzZXJ2ZXJVdGlsaXR5O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBR0EsSUFBVyx5QkFBeUI7Q0FBQztPQUFHO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQTtDQUFBO0FBQ3hDLElBQVcscUJBQXFCO0NBQUM7T0FBVztPQUFnQjtDQUFBIn0=
@@ -0,0 +1,29 @@
1
+ import { MouseEventTypes, NodeSelector } from "../../nodeSelector-DQicm08Y.js";
2
+ import { ReactElement } from "react";
3
+
4
+ //#region src/hooks/ElementObserver/useElementObserver.d.ts
5
+ interface ElementObserverUtility {
6
+ onChange: (fn: (el: HTMLElement | null) => void) => void;
7
+ onAdd: (fn: (el: HTMLElement | null) => void) => void;
8
+ onRemove: (fn: (el: HTMLElement | null) => void) => void;
9
+ onClassChange: (fn: (classes?: DOMTokenList) => void) => void;
10
+ onClassAdded: (className: string, fn: () => void) => void;
11
+ onClassRemoved: (className: string, fn: () => void) => void;
12
+ onAddChild: (fn: (nodes?: DOMTokenList) => void) => void;
13
+ onRemoveChild: (fn: (nodes?: DOMTokenList) => void) => void;
14
+ onEvent: <K extends keyof HTMLElementEventMap>(event: K, fn: EventListenerOrEventListenerObject) => void;
15
+ blockRendering: () => void;
16
+ unblockRendering: () => void;
17
+ exists: () => boolean;
18
+ isRendered: () => boolean;
19
+ render: (fn: () => ReactElement) => ReactElement | undefined;
20
+ fire: (event: MouseEventTypes) => void;
21
+ show: () => void;
22
+ hide: () => void;
23
+ applyStyle: (styles: React.CSSProperties) => void;
24
+ targetNode: HTMLElement | null;
25
+ }
26
+ declare const useElementObserver: (selector: NodeSelector) => ElementObserverUtility;
27
+ //#endregion
28
+ export { ElementObserverUtility, useElementObserver };
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvRWxlbWVudE9ic2VydmVyL3VzZUVsZW1lbnRPYnNlcnZlci5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0RWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1vdXNlRXZlbnRUeXBlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy9tb3VzZUV2ZW50VHlwZXMnO1xuaW1wb3J0IHsgTm9kZVNlbGVjdG9yIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL3V0aWxzL25vZGVTZWxlY3Rvcic7XG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRPYnNlcnZlclV0aWxpdHkge1xuICAgIG9uQ2hhbmdlOiAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uQWRkOiAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uUmVtb3ZlOiAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uQ2xhc3NDaGFuZ2U6IChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgb25DbGFzc0FkZGVkOiAoY2xhc3NOYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uQ2xhc3NSZW1vdmVkOiAoY2xhc3NOYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uQWRkQ2hpbGQ6IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uUmVtb3ZlQ2hpbGQ6IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIG9uRXZlbnQ6IDxLIGV4dGVuZHMga2V5b2YgSFRNTEVsZW1lbnRFdmVudE1hcD4oZXZlbnQ6IEssIGZuOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0KSA9PiB2b2lkO1xuICAgIGJsb2NrUmVuZGVyaW5nOiAoKSA9PiB2b2lkO1xuICAgIHVuYmxvY2tSZW5kZXJpbmc6ICgpID0+IHZvaWQ7XG4gICAgZXhpc3RzOiAoKSA9PiBib29sZWFuO1xuICAgIGlzUmVuZGVyZWQ6ICgpID0+IGJvb2xlYW47XG4gICAgcmVuZGVyOiAoZm46ICgpID0+IFJlYWN0RWxlbWVudCkgPT4gUmVhY3RFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGZpcmU6IChldmVudDogTW91c2VFdmVudFR5cGVzKSA9PiB2b2lkO1xuICAgIHNob3c6ICgpID0+IHZvaWQ7XG4gICAgaGlkZTogKCkgPT4gdm9pZDtcbiAgICBhcHBseVN0eWxlOiAoc3R5bGVzOiBSZWFjdC5DU1NQcm9wZXJ0aWVzKSA9PiB2b2lkO1xuICAgIHRhcmdldE5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUVsZW1lbnRPYnNlcnZlcjogKHNlbGVjdG9yOiBOb2RlU2VsZWN0b3IpID0+IEVsZW1lbnRPYnNlcnZlclV0aWxpdHk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxJQUFXLHlCQUF5QjtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUEsTUFBQTtPQUFBO0NBQUE7QUFDeEMsSUFBVyxxQkFBcUI7Q0FBQztPQUFXO09BQWdCO0NBQUEifQ==
@@ -0,0 +1,177 @@
1
+ import { DOMObserver } from "../../domObserver-DKcas6tl.js";
2
+ import { useEffect, useRef, useState } from "react";
3
+
4
+ //#region src/hooks/ElementObserver/useElementObserver.ts
5
+ const useElementObserver = (selector) => {
6
+ const INITIAL_RENDER_STATE = true;
7
+ const eoRef = useRef(DOMObserver.add(selector));
8
+ const [renderBlocked, setRenderBlocked] = useState(INITIAL_RENDER_STATE);
9
+ /**
10
+ * Fired every time the HTML element changes.
11
+ *
12
+ * @param fn
13
+ */
14
+ const onChange = (fn) => {
15
+ eoRef.current?.registerOnChange(fn);
16
+ };
17
+ /**
18
+ * Fired when the HTML element is added to the DOM.
19
+ *
20
+ * @param fn
21
+ */
22
+ const onAdd = (fn) => {
23
+ eoRef.current?.registerOnAdd(fn);
24
+ };
25
+ /**
26
+ * Fired when the HTML element is removed from the DOM.
27
+ *
28
+ * @param fn
29
+ */
30
+ const onRemove = (fn) => {
31
+ eoRef.current?.registerOnRemove(fn);
32
+ };
33
+ /**
34
+ * Fired when the class of the HTML element changes.
35
+ *
36
+ * @param fn
37
+ */
38
+ const onClassChange = (fn) => {
39
+ eoRef.current?.registerOnclassChange(fn);
40
+ };
41
+ /**
42
+ * Fired when a class is added to the HTML element.
43
+ *
44
+ * @param className
45
+ * @param fn
46
+ */
47
+ const onClassAdded = (className, fn) => {
48
+ eoRef.current?.registerOnClassAdded(className, fn);
49
+ };
50
+ /**
51
+ * Fired when a class is removed from the HTML element.
52
+ *
53
+ * @param className
54
+ * @param fn
55
+ */
56
+ const onClassRemoved = (className, fn) => {
57
+ eoRef.current?.registerOnClassRemoved(className, fn);
58
+ };
59
+ /**
60
+ * Fired when a child element is added to the HTML element.
61
+ *
62
+ * @param fn
63
+ */
64
+ const onAddChild = (fn) => {
65
+ eoRef.current?.registerOnAddChild(fn);
66
+ };
67
+ /**
68
+ * Fired when a child element is removed from the HTML element.
69
+ *
70
+ * @param fn
71
+ */
72
+ const onRemoveChild = (fn) => {
73
+ eoRef.current?.registerOnRemoveChild(fn);
74
+ };
75
+ /**
76
+ * Allows hooking event listeners to the HTML element, such as `focus`, `blur`, etc.
77
+ *
78
+ * @param event
79
+ * @param fn
80
+ */
81
+ const onEvent = (event, fn) => {
82
+ eoRef.current.registerEvent(event, fn);
83
+ };
84
+ /**
85
+ * Useful when rendering a React.js component inside the HTML element.
86
+ *
87
+ * @param fn
88
+ * @returns
89
+ */
90
+ const render = (fn) => {
91
+ if (!renderBlocked) return eoRef.current.render(fn);
92
+ };
93
+ /**
94
+ * Checks if the element exists in the DOM.
95
+ *
96
+ * @returns
97
+ */
98
+ const exists = () => !!eoRef.current.getNode();
99
+ /**
100
+ * Checks if rendering is unblocked.
101
+ *
102
+ * @returns
103
+ */
104
+ const isRendered = () => !renderBlocked;
105
+ /**
106
+ * Triggers an event for the HTML element.
107
+ *
108
+ * @param event
109
+ */
110
+ const fire = (event) => {
111
+ eoRef.current.fire(event);
112
+ };
113
+ /**
114
+ * Shows the HTML element.
115
+ *
116
+ * @returns
117
+ */
118
+ const show = () => eoRef.current.show();
119
+ /**
120
+ * Hides the HTML element.
121
+ *
122
+ * @returns
123
+ */
124
+ const hide = () => eoRef.current.hide();
125
+ /**
126
+ * Blocks the rendering of elements.
127
+ *
128
+ * @returns
129
+ */
130
+ const blockRendering = () => setRenderBlocked(true);
131
+ /**
132
+ * Unblocks the rendering of elements.
133
+ *
134
+ * @returns
135
+ */
136
+ const unblockRendering = () => setRenderBlocked(false);
137
+ /**
138
+ * Applies CSS styles to the HTML element.
139
+ *
140
+ * @param styles
141
+ */
142
+ const applyStyle = (styles) => {
143
+ const node = eoRef?.current?.getNode();
144
+ node && Object.assign(node.style, styles);
145
+ };
146
+ useEffect(() => {
147
+ eoRef.current.init();
148
+ eoRef.current.registerOnReset(() => setRenderBlocked(INITIAL_RENDER_STATE));
149
+ DOMObserver.observe();
150
+ return () => DOMObserver.remove(selector);
151
+ }, [selector.getPattern()]);
152
+ return {
153
+ targetNode: eoRef.current.getNode(),
154
+ onChange,
155
+ onAdd,
156
+ onRemove,
157
+ onClassChange,
158
+ onClassAdded,
159
+ onClassRemoved,
160
+ onAddChild,
161
+ onRemoveChild,
162
+ onEvent,
163
+ blockRendering,
164
+ unblockRendering,
165
+ exists,
166
+ isRendered,
167
+ render,
168
+ fire,
169
+ show,
170
+ hide,
171
+ applyStyle
172
+ };
173
+ };
174
+
175
+ //#endregion
176
+ export { useElementObserver };
177
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0VsZW1lbnRPYnNlcnZlci91c2VFbGVtZW50T2JzZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3RFbGVtZW50LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBET01PYnNlcnZlciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy9kb21PYnNlcnZlcic7XG5pbXBvcnQgeyBFbGVtZW50T2JzZXJ2ZXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMvZWxlbWVudE9ic2VydmVyJztcbmltcG9ydCB7IE1vdXNlRXZlbnRUeXBlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscy9tb3VzZUV2ZW50VHlwZXMnO1xuaW1wb3J0IHsgTm9kZVNlbGVjdG9yIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL3V0aWxzL25vZGVTZWxlY3Rvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE9ic2VydmVyVXRpbGl0eSB7XG4gIG9uQ2hhbmdlOiAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvbkFkZDogKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25SZW1vdmU6IChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9uQ2xhc3NDaGFuZ2U6IChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9uQ2xhc3NBZGRlZDogKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25DbGFzc1JlbW92ZWQ6IChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIG9uQWRkQ2hpbGQ6IChmbjogKG5vZGVzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSA9PiB2b2lkO1xuICBvblJlbW92ZUNoaWxkOiAoZm46IChub2Rlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgb25FdmVudDogPEsgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwPihcbiAgICBldmVudDogSyxcbiAgICBmbjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgKSA9PiB2b2lkO1xuICBibG9ja1JlbmRlcmluZzogKCkgPT4gdm9pZDtcbiAgdW5ibG9ja1JlbmRlcmluZzogKCkgPT4gdm9pZDtcbiAgZXhpc3RzOiAoKSA9PiBib29sZWFuO1xuICBpc1JlbmRlcmVkOiAoKSA9PiBib29sZWFuO1xuICByZW5kZXI6IChmbjogKCkgPT4gUmVhY3RFbGVtZW50KSA9PiBSZWFjdEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGZpcmU6IChldmVudDogTW91c2VFdmVudFR5cGVzKSA9PiB2b2lkO1xuICBzaG93OiAoKSA9PiB2b2lkO1xuICBoaWRlOiAoKSA9PiB2b2lkO1xuICBhcHBseVN0eWxlOiAoc3R5bGVzOiBSZWFjdC5DU1NQcm9wZXJ0aWVzKSA9PiB2b2lkO1xuICB0YXJnZXROb2RlOiBIVE1MRWxlbWVudCB8IG51bGw7XG59XG5cbi8qXG4gKiBUaGlzIGhvb2sgZW5hYmxlcyB0aGUgY29ubmVjdGlvbiBiZXR3ZWVuIGEgYE11dGF0aW9uT2JzZXJ2ZXJgIGFuZCBhIFJlYWN0LmpzIGNvbXBvbmVudC5cbiAqIEl0IGFic3RyYWN0cyBhbGwgdGhlIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucyBhbmQgaW1wbGVtZW50YXRpb25zIHRvIG1vZGlmeSBIVE1MIGVsZW1lbnRzLFxuICogbW9uaXRvciB0aGVpciBjaGFuZ2VzLCBhbmQgaW50ZXJhY3Qgd2l0aCB0aGVtLiBUaGUgb25seSByZXF1aXJlZCBpbnB1dCBpcyB0aGUgZWxlbWVudCdzIHNlbGVjdG9yLlxuICpcbiAqIEhvdyB0byB1c2UgaXQ6XG4gKlxuICogTGV0J3MgYXNzdW1lIHdlIHdhbnQgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgZm9sbG93aW5nIGVsZW1lbnQ6XG4gKiBgPGRpdiBpZD1cImF3ZXNvbWUtY29udGVudFwiPjxjb250ZW50IC8+PC9kaXY+YFxuICpcbiAqIFRvIGhvb2sgaW50byB0aGF0IGVsZW1lbnQsIHNpbXBseSBkbyB0aGUgZm9sbG93aW5nOlxuICogYGNvbnN0IGVsZW1lbnQgPSB1c2VFbGVtZW50T2JzZXJ2ZXIoU2VsZWN0b3JGYWN0b3J5LmlkKFwiYXdlc29tZS1jb250ZW50XCIpKWBcbiAqXG4gKiBXaXRoIHRoZSBgRWxlbWVudE9ic2VydmVyYCBpbnN0YW5jZSBpbiBoYW5kLCB3ZSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgSFRNTCBlbGVtZW50IHdpdGhvdXQgaGF2aW5nXG4gKiB0byBtYW5hZ2UgaXRzIHByZXNlbmNlIGluIHRoZSBET00uIFRoZSBgb25BZGRgIGFuZCBgb25SZW1vdmVgIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmVcbiAqIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgcHJlc2VudCBpbiB0aGUgRE9NIG9yIG5vdCwgYW5kIHRvIGVuc3VyZSBpbnRlcmFjdGlvbiBvY2N1cnMgb25seSB3aGVuIG5lY2Vzc2FyeS5cbiAqXG4gKiBAcGFyYW0gc2VsZWN0b3JcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VFbGVtZW50T2JzZXJ2ZXIgPSAoc2VsZWN0b3I6IE5vZGVTZWxlY3Rvcik6IEVsZW1lbnRPYnNlcnZlclV0aWxpdHkgPT4ge1xuICBjb25zdCBJTklUSUFMX1JFTkRFUl9TVEFURSA9IHRydWU7XG4gIGNvbnN0IGVvUmVmID0gdXNlUmVmPEVsZW1lbnRPYnNlcnZlcj4oRE9NT2JzZXJ2ZXIuYWRkKHNlbGVjdG9yKSk7XG4gIGNvbnN0IFtyZW5kZXJCbG9ja2VkLCBzZXRSZW5kZXJCbG9ja2VkXSA9IHVzZVN0YXRlKElOSVRJQUxfUkVOREVSX1NUQVRFKTtcblxuICAvKipcbiAgICogRmlyZWQgZXZlcnkgdGltZSB0aGUgSFRNTCBlbGVtZW50IGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25DaGFuZ2UgPSAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPbkNoYW5nZShmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIEhUTUwgZWxlbWVudCBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uQWRkID0gKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25BZGQoZm4pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBIVE1MIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00uXG4gICAqXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25SZW1vdmUgPSAoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudD8ucmVnaXN0ZXJPblJlbW92ZShmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGNsYXNzIG9mIHRoZSBIVE1MIGVsZW1lbnQgY2hhbmdlcy5cbiAgICpcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvbkNsYXNzQ2hhbmdlID0gKGZuOiAoY2xhc3Nlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25jbGFzc0NoYW5nZShmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gYSBjbGFzcyBpcyBhZGRlZCB0byB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY2xhc3NOYW1lXG4gICAqIEBwYXJhbSBmblxuICAgKi9cbiAgY29uc3Qgb25DbGFzc0FkZGVkID0gKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25DbGFzc0FkZGVkKGNsYXNzTmFtZSwgZm4pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIGEgY2xhc3MgaXMgcmVtb3ZlZCBmcm9tIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWVcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvbkNsYXNzUmVtb3ZlZCA9IChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpID0+IHtcbiAgICBlb1JlZi5jdXJyZW50Py5yZWdpc3Rlck9uQ2xhc3NSZW1vdmVkKGNsYXNzTmFtZSwgZm4pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIGEgY2hpbGQgZWxlbWVudCBpcyBhZGRlZCB0byB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uQWRkQ2hpbGQgPSAoZm46IChub2Rlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25BZGRDaGlsZChmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gYSBjaGlsZCBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZm5cbiAgICovXG4gIGNvbnN0IG9uUmVtb3ZlQ2hpbGQgPSAoZm46IChub2Rlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZCkgPT4ge1xuICAgIGVvUmVmLmN1cnJlbnQ/LnJlZ2lzdGVyT25SZW1vdmVDaGlsZChmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIEFsbG93cyBob29raW5nIGV2ZW50IGxpc3RlbmVycyB0byB0aGUgSFRNTCBlbGVtZW50LCBzdWNoIGFzIGBmb2N1c2AsIGBibHVyYCwgZXRjLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGZuXG4gICAqL1xuICBjb25zdCBvbkV2ZW50ID0gPEsgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwPihcbiAgICBldmVudDogSyxcbiAgICBmbjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgKSA9PiB7XG4gICAgZW9SZWYuY3VycmVudC5yZWdpc3RlckV2ZW50KGV2ZW50LCBmbik7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVzZWZ1bCB3aGVuIHJlbmRlcmluZyBhIFJlYWN0LmpzIGNvbXBvbmVudCBpbnNpZGUgdGhlIEhUTUwgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGZuXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjb25zdCByZW5kZXIgPSAoZm46ICgpID0+IFJlYWN0RWxlbWVudCkgPT4ge1xuICAgIGlmICghcmVuZGVyQmxvY2tlZCkge1xuICAgICAgcmV0dXJuIGVvUmVmLmN1cnJlbnQucmVuZGVyKGZuKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZWxlbWVudCBleGlzdHMgaW4gdGhlIERPTS5cbiAgICpcbiAgICogQHJldHVybnNcbiAgICovXG4gIGNvbnN0IGV4aXN0cyA9ICgpID0+ICEhZW9SZWYuY3VycmVudC5nZXROb2RlKCk7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiByZW5kZXJpbmcgaXMgdW5ibG9ja2VkLlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3QgaXNSZW5kZXJlZCA9ICgpID0+ICFyZW5kZXJCbG9ja2VkO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyBhbiBldmVudCBmb3IgdGhlIEhUTUwgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICBjb25zdCBmaXJlID0gKGV2ZW50OiBNb3VzZUV2ZW50VHlwZXMpID0+IHtcbiAgICBlb1JlZi5jdXJyZW50LmZpcmUoZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTaG93cyB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3Qgc2hvdyA9ICgpID0+IGVvUmVmLmN1cnJlbnQuc2hvdygpO1xuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgSFRNTCBlbGVtZW50LlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY29uc3QgaGlkZSA9ICgpID0+IGVvUmVmLmN1cnJlbnQuaGlkZSgpO1xuXG4gIC8qKlxuICAgKiBCbG9ja3MgdGhlIHJlbmRlcmluZyBvZiBlbGVtZW50cy5cbiAgICpcbiAgICogQHJldHVybnNcbiAgICovXG4gIGNvbnN0IGJsb2NrUmVuZGVyaW5nID0gKCkgPT4gc2V0UmVuZGVyQmxvY2tlZCh0cnVlKTtcblxuICAvKipcbiAgICogVW5ibG9ja3MgdGhlIHJlbmRlcmluZyBvZiBlbGVtZW50cy5cbiAgICpcbiAgICogQHJldHVybnNcbiAgICovXG4gIGNvbnN0IHVuYmxvY2tSZW5kZXJpbmcgPSAoKSA9PiBzZXRSZW5kZXJCbG9ja2VkKGZhbHNlKTtcblxuICAvKipcbiAgICogQXBwbGllcyBDU1Mgc3R5bGVzIHRvIHRoZSBIVE1MIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzdHlsZXNcbiAgICovXG4gIGNvbnN0IGFwcGx5U3R5bGUgPSAoc3R5bGVzOiBSZWFjdC5DU1NQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGVvUmVmPy5jdXJyZW50Py5nZXROb2RlKCk7XG4gICAgbm9kZSAmJiBPYmplY3QuYXNzaWduKG5vZGUuc3R5bGUsIHN0eWxlcyk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlb1JlZi5jdXJyZW50LmluaXQoKTtcbiAgICBlb1JlZi5jdXJyZW50LnJlZ2lzdGVyT25SZXNldCgoKSA9PiBzZXRSZW5kZXJCbG9ja2VkKElOSVRJQUxfUkVOREVSX1NUQVRFKSk7XG4gICAgRE9NT2JzZXJ2ZXIub2JzZXJ2ZSgpO1xuICAgIHJldHVybiAoKSA9PiBET01PYnNlcnZlci5yZW1vdmUoc2VsZWN0b3IpO1xuICB9LCBbc2VsZWN0b3IuZ2V0UGF0dGVybigpXSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0YXJnZXROb2RlOiBlb1JlZi5jdXJyZW50LmdldE5vZGUoKSxcbiAgICBvbkNoYW5nZSxcbiAgICBvbkFkZCxcbiAgICBvblJlbW92ZSxcbiAgICBvbkNsYXNzQ2hhbmdlLFxuICAgIG9uQ2xhc3NBZGRlZCxcbiAgICBvbkNsYXNzUmVtb3ZlZCxcbiAgICBvbkFkZENoaWxkLFxuICAgIG9uUmVtb3ZlQ2hpbGQsXG4gICAgb25FdmVudCxcbiAgICBibG9ja1JlbmRlcmluZyxcbiAgICB1bmJsb2NrUmVuZGVyaW5nLFxuICAgIGV4aXN0cyxcbiAgICBpc1JlbmRlcmVkLFxuICAgIHJlbmRlcixcbiAgICBmaXJlLFxuICAgIHNob3csXG4gICAgaGlkZSxcbiAgICBhcHBseVN0eWxlLFxuICB9IHNhdGlzZmllcyBFbGVtZW50T2JzZXJ2ZXJVdGlsaXR5O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQW1EQSxNQUFhLHNCQUFzQixhQUFtRDtDQUNwRixNQUFNLHVCQUF1QjtDQUM3QixNQUFNLFFBQVEsT0FBd0IsWUFBWSxJQUFJLFNBQVMsQ0FBQztDQUNoRSxNQUFNLENBQUMsZUFBZSxvQkFBb0IsU0FBUyxxQkFBcUI7Ozs7OztDQU94RSxNQUFNLFlBQVksT0FBeUM7QUFDekQsUUFBTSxTQUFTLGlCQUFpQixHQUFHOzs7Ozs7O0NBUXJDLE1BQU0sU0FBUyxPQUF5QztBQUN0RCxRQUFNLFNBQVMsY0FBYyxHQUFHOzs7Ozs7O0NBUWxDLE1BQU0sWUFBWSxPQUF5QztBQUN6RCxRQUFNLFNBQVMsaUJBQWlCLEdBQUc7Ozs7Ozs7Q0FRckMsTUFBTSxpQkFBaUIsT0FBeUM7QUFDOUQsUUFBTSxTQUFTLHNCQUFzQixHQUFHOzs7Ozs7OztDQVMxQyxNQUFNLGdCQUFnQixXQUFtQixPQUFtQjtBQUMxRCxRQUFNLFNBQVMscUJBQXFCLFdBQVcsR0FBRzs7Ozs7Ozs7Q0FTcEQsTUFBTSxrQkFBa0IsV0FBbUIsT0FBbUI7QUFDNUQsUUFBTSxTQUFTLHVCQUF1QixXQUFXLEdBQUc7Ozs7Ozs7Q0FRdEQsTUFBTSxjQUFjLE9BQXVDO0FBQ3pELFFBQU0sU0FBUyxtQkFBbUIsR0FBRzs7Ozs7OztDQVF2QyxNQUFNLGlCQUFpQixPQUF1QztBQUM1RCxRQUFNLFNBQVMsc0JBQXNCLEdBQUc7Ozs7Ozs7O0NBUzFDLE1BQU0sV0FDSixPQUNBLE9BQ0c7QUFDSCxRQUFNLFFBQVEsY0FBYyxPQUFPLEdBQUc7Ozs7Ozs7O0NBU3hDLE1BQU0sVUFBVSxPQUEyQjtBQUN6QyxNQUFJLENBQUMsY0FDSCxRQUFPLE1BQU0sUUFBUSxPQUFPLEdBQUc7Ozs7Ozs7Q0FTbkMsTUFBTSxlQUFlLENBQUMsQ0FBQyxNQUFNLFFBQVEsU0FBUzs7Ozs7O0NBTzlDLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztDQU8xQixNQUFNLFFBQVEsVUFBMkI7QUFDdkMsUUFBTSxRQUFRLEtBQUssTUFBTTs7Ozs7OztDQVEzQixNQUFNLGFBQWEsTUFBTSxRQUFRLE1BQU07Ozs7OztDQU92QyxNQUFNLGFBQWEsTUFBTSxRQUFRLE1BQU07Ozs7OztDQU92QyxNQUFNLHVCQUF1QixpQkFBaUIsS0FBSzs7Ozs7O0NBT25ELE1BQU0seUJBQXlCLGlCQUFpQixNQUFNOzs7Ozs7Q0FPdEQsTUFBTSxjQUFjLFdBQWdDO0VBQ2xELE1BQU0sT0FBTyxPQUFPLFNBQVMsU0FBUztBQUN0QyxVQUFRLE9BQU8sT0FBTyxLQUFLLE9BQU8sT0FBTzs7QUFHM0MsaUJBQWdCO0FBQ2QsUUFBTSxRQUFRLE1BQU07QUFDcEIsUUFBTSxRQUFRLHNCQUFzQixpQkFBaUIscUJBQXFCLENBQUM7QUFDM0UsY0FBWSxTQUFTO0FBQ3JCLGVBQWEsWUFBWSxPQUFPLFNBQVM7SUFDeEMsQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUFDO0FBRTNCLFFBQU87RUFDTCxZQUFZLE1BQU0sUUFBUSxTQUFTO0VBQ25DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNEIn0=
@@ -0,0 +1,99 @@
1
+ const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
+ let react = require("react");
3
+ react = require_chunk.__toESM(react);
4
+
5
+ //#region src/hooks/GrabAndScroll/useGrabAndScroll.ts
6
+ const animateHorizontalScroll = ({ element, duration, targetScroll, multiply = 1, direction, callback, offset = 0 }) => {
7
+ const start = element.scrollLeft;
8
+ const distance = (targetScroll - start) * multiply;
9
+ const startTime = performance.now();
10
+ function easeOutSine(x) {
11
+ return Math.sin(x * Math.PI / 2);
12
+ }
13
+ function scrollStep(currentTime) {
14
+ const timeElapsed = currentTime - startTime;
15
+ const progress = Math.min(timeElapsed / duration, 1);
16
+ const easing = easeOutSine(progress);
17
+ const step = start + distance * easing;
18
+ const canScroll = (direction === "rt" ? element.scrollLeft < step : element.scrollLeft > step) || !direction;
19
+ if (step > 0 && canScroll) element.scrollTo(step, 0);
20
+ if (timeElapsed < duration) requestAnimationFrame(scrollStep);
21
+ else if (element.scrollLeft + offset === element.scrollWidth) callback?.("rt");
22
+ else if (element.scrollLeft <= 1) callback?.("lt");
23
+ else callback?.("ct");
24
+ }
25
+ requestAnimationFrame(scrollStep);
26
+ };
27
+ const useGrabAndScroll = (enabled, chunkWidth, speed = 400, offset = 0) => {
28
+ const containerRef = (0, react.useRef)(null);
29
+ const [leftArrow, setLeftArrow] = (0, react.useState)(false);
30
+ const [rightArrow, setRightArrow] = (0, react.useState)(true);
31
+ const handleArrows = (position) => {
32
+ switch (position) {
33
+ case "lt":
34
+ setLeftArrow(false);
35
+ setRightArrow(true);
36
+ break;
37
+ case "rt":
38
+ setLeftArrow(true);
39
+ setRightArrow(false);
40
+ break;
41
+ default:
42
+ setLeftArrow(true);
43
+ setRightArrow(true);
44
+ }
45
+ };
46
+ const animationTrigger = () => {
47
+ if (enabled && containerRef.current) {
48
+ const dist = (containerRef?.current?.scrollLeft || 0) / chunkWidth;
49
+ const targetScroll = chunkWidth * (Math.floor(dist) + (dist % 1 > .5 ? 1 : 0));
50
+ animateHorizontalScroll({
51
+ element: containerRef.current,
52
+ targetScroll,
53
+ duration: speed,
54
+ offset,
55
+ callback: handleArrows
56
+ });
57
+ }
58
+ };
59
+ const onNext = (cardsToSlide) => {
60
+ if (containerRef.current) {
61
+ const targetScroll = containerRef.current.scrollLeft + chunkWidth;
62
+ animateHorizontalScroll({
63
+ element: containerRef.current,
64
+ targetScroll,
65
+ duration: speed,
66
+ direction: "rt",
67
+ multiply: cardsToSlide,
68
+ offset,
69
+ callback: handleArrows
70
+ });
71
+ }
72
+ };
73
+ const onPrevious = (cardsToSlide) => {
74
+ if (containerRef.current) {
75
+ const targetScroll = containerRef.current.scrollLeft - chunkWidth;
76
+ animateHorizontalScroll({
77
+ element: containerRef.current,
78
+ targetScroll,
79
+ duration: speed,
80
+ direction: "lt",
81
+ multiply: cardsToSlide,
82
+ offset,
83
+ callback: handleArrows
84
+ });
85
+ }
86
+ };
87
+ return {
88
+ containerRef,
89
+ leftArrow,
90
+ rightArrow,
91
+ animationTrigger,
92
+ onNext,
93
+ onPrevious
94
+ };
95
+ };
96
+
97
+ //#endregion
98
+ exports.useGrabAndScroll = useGrabAndScroll;
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9HcmFiQW5kU2Nyb2xsL3VzZUdyYWJBbmRTY3JvbGwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG50eXBlIEFycm93UG9zaXRpb24gPSAnbHQnIHwgJ2N0JyB8ICdydCdcblxuaW50ZXJmYWNlIEFuaW1hdGlvblByb3BzIHtcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudFxuICAgIHRhcmdldFNjcm9sbDogbnVtYmVyIFxuICAgIGR1cmF0aW9uOiBudW1iZXIgXG4gICAgZGlyZWN0aW9uPzogJ2x0JyB8ICdydCcgXG4gICAgbXVsdGlwbHk/OiBudW1iZXIgXG4gICAgb2Zmc2V0PzogbnVtYmVyXG4gICAgY2FsbGJhY2s/OiAocG9zaXRpb246IEFycm93UG9zaXRpb24pID0+IHZvaWRcbn1cblxuY29uc3QgYW5pbWF0ZUhvcml6b250YWxTY3JvbGwgPSAoeyBlbGVtZW50LCBkdXJhdGlvbiwgdGFyZ2V0U2Nyb2xsLCBtdWx0aXBseSA9IDEsIGRpcmVjdGlvbiwgY2FsbGJhY2ssIG9mZnNldCA9IDAgfTogQW5pbWF0aW9uUHJvcHMpID0+IHtcbiAgICBjb25zdCBzdGFydCA9IGVsZW1lbnQuc2Nyb2xsTGVmdFxuICAgIGNvbnN0IGRpc3RhbmNlID0gKHRhcmdldFNjcm9sbCAtIHN0YXJ0KSAqIG11bHRpcGx5O1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgZnVuY3Rpb24gZWFzZU91dFNpbmUoeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiBNYXRoLnNpbigoeCAqIE1hdGguUEkpIC8gMik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2Nyb2xsU3RlcChjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRpbWVFbGFwc2VkID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWU7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4odGltZUVsYXBzZWQgLyBkdXJhdGlvbiwgMSk7XG4gICAgICAgIGNvbnN0IGVhc2luZyA9IGVhc2VPdXRTaW5lKHByb2dyZXNzKTtcbiAgICAgICAgY29uc3Qgc3RlcCA9IHN0YXJ0ICsgKGRpc3RhbmNlICogZWFzaW5nKVxuICAgICAgICBjb25zdCBjYW5TY3JvbGwgPSAoZGlyZWN0aW9uID09PSAncnQnID8gKGVsZW1lbnQuc2Nyb2xsTGVmdCA8IHN0ZXApIDogKGVsZW1lbnQuc2Nyb2xsTGVmdCA+IHN0ZXApKSB8fCAhZGlyZWN0aW9uXG4gICAgICAgIFxuICAgICAgICBpZiAoc3RlcCA+IDAgJiYgY2FuU2Nyb2xsKSB7XG4gICAgICAgICAgZWxlbWVudC5zY3JvbGxUbyhzdGVwLCAwKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRpbWVFbGFwc2VkIDwgZHVyYXRpb24pIHtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzY3JvbGxTdGVwKTtcbiAgICAgICAgfSBcblxuICAgICAgICAvLyBFbmQgb2Ygc2Nyb2xsaW5nIGNvbnRhaW5lclxuICAgICAgICBlbHNlIGlmICgoZWxlbWVudC5zY3JvbGxMZWZ0ICsgb2Zmc2V0KSA9PT0gZWxlbWVudC5zY3JvbGxXaWR0aCkge1xuICAgICAgICAgICAgY2FsbGJhY2s/LigncnQnKVxuICAgICAgICB9IFxuICAgICAgICAvLyBCZWdpbiBvZiBzY3JvbGxpbmcgY29udGFpbmVyXG4gICAgICAgIGVsc2UgaWYgKGVsZW1lbnQuc2Nyb2xsTGVmdCA8PSAxKSB7XG4gICAgICAgICAgICBjYWxsYmFjaz8uKCdsdCcpXG4gICAgICAgIH1cbiAgICAgICAgLy8gU29tZXdoZXJlIGluIHRoZSBtaWRkbGVcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjYWxsYmFjaz8uKCdjdCcpXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzY3JvbGxTdGVwKTtcbn1cblxuXG5leHBvcnQgY29uc3QgdXNlR3JhYkFuZFNjcm9sbCA9IChlbmFibGVkOiBib29sZWFuLCBjaHVua1dpZHRoOiBudW1iZXIsIHNwZWVkOiBudW1iZXIgPSA0MDAsIG9mZnNldDogbnVtYmVyID0gMCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgICBjb25zdCBbIGxlZnRBcnJvdywgc2V0TGVmdEFycm93IF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCBbIHJpZ2h0QXJyb3csIHNldFJpZ2h0QXJyb3cgXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgICBjb25zdCBoYW5kbGVBcnJvd3MgPSAocG9zaXRpb246IEFycm93UG9zaXRpb24pID0+IHtcbiAgICAgICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnbHQnOlxuICAgICAgICAgICAgICAgIHNldExlZnRBcnJvdyhmYWxzZSlcbiAgICAgICAgICAgICAgICBzZXRSaWdodEFycm93KHRydWUpXG4gICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgY2FzZSAncnQnOlxuICAgICAgICAgICAgICAgIHNldExlZnRBcnJvdyh0cnVlKVxuICAgICAgICAgICAgICAgIHNldFJpZ2h0QXJyb3coZmFsc2UpXG4gICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzZXRMZWZ0QXJyb3codHJ1ZSlcbiAgICAgICAgICAgICAgICBzZXRSaWdodEFycm93KHRydWUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhbmltYXRpb25UcmlnZ2VyID0gKCkgPT4ge1xuICAgICAgICBpZiAoZW5hYmxlZCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgZGlzdCA9IChjb250YWluZXJSZWY/LmN1cnJlbnQ/LnNjcm9sbExlZnQgfHwgMCkgLyBjaHVua1dpZHRoXG4gICAgICAgICAgICBjb25zdCB0YXJnZXRTY3JvbGwgPSBjaHVua1dpZHRoICogKE1hdGguZmxvb3IoZGlzdCkgKyAoZGlzdCAlIDEgPiAwLjUgPyAxIDogMCkpXG4gICAgICAgICAgICBhbmltYXRlSG9yaXpvbnRhbFNjcm9sbCh7XG4gICAgICAgICAgICAgICAgZWxlbWVudDogY29udGFpbmVyUmVmLmN1cnJlbnQsIFxuICAgICAgICAgICAgICAgIHRhcmdldFNjcm9sbCwgXG4gICAgICAgICAgICAgICAgZHVyYXRpb246IHNwZWVkLFxuICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogaGFuZGxlQXJyb3dzXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb25OZXh0ID0gKGNhcmRzVG9TbGlkZTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsID0gY29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsTGVmdCArIGNodW5rV2lkdGhcbiAgICAgICAgICAgIGFuaW1hdGVIb3Jpem9udGFsU2Nyb2xsKHtcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBjb250YWluZXJSZWYuY3VycmVudCwgXG4gICAgICAgICAgICAgICAgdGFyZ2V0U2Nyb2xsLCBcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogc3BlZWQsIFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3J0JywgXG4gICAgICAgICAgICAgICAgbXVsdGlwbHk6IGNhcmRzVG9TbGlkZSxcbiAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGhhbmRsZUFycm93c1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBjb25zdCBvblByZXZpb3VzID0gKGNhcmRzVG9TbGlkZTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0U2Nyb2xsID0gY29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsTGVmdCAtIGNodW5rV2lkdGhcbiAgICAgICAgICAgIGFuaW1hdGVIb3Jpem9udGFsU2Nyb2xsKHtcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBjb250YWluZXJSZWYuY3VycmVudCwgXG4gICAgICAgICAgICAgICAgdGFyZ2V0U2Nyb2xsLCBcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogc3BlZWQsIFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ2x0JywgXG4gICAgICAgICAgICAgICAgbXVsdGlwbHk6IGNhcmRzVG9TbGlkZSxcbiAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGhhbmRsZUFycm93c1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgICAgbGVmdEFycm93LFxuICAgICAgICByaWdodEFycm93LFxuICAgICAgICBhbmltYXRpb25UcmlnZ2VyLFxuICAgICAgICBvbk5leHQsXG4gICAgICAgIG9uUHJldmlvdXNcbiAgICB9XG59Il0sIm1hcHBpbmdzIjoiOzs7OztBQWNBLE1BQU0sMkJBQTJCLEVBQUUsU0FBUyxVQUFVLGNBQWMsV0FBVyxHQUFHLFdBQVcsVUFBVSxTQUFTLFFBQXdCO0NBQ3BJLE1BQU0sUUFBUSxRQUFRO0NBQ3RCLE1BQU0sWUFBWSxlQUFlLFNBQVM7Q0FDMUMsTUFBTSxZQUFZLFlBQVksS0FBSztDQUVuQyxTQUFTLFlBQVksR0FBbUI7QUFDdEMsU0FBTyxLQUFLLElBQUssSUFBSSxLQUFLLEtBQU0sRUFBRTs7Q0FHcEMsU0FBUyxXQUFXLGFBQTJCO0VBQzNDLE1BQU0sY0FBYyxjQUFjO0VBQ2xDLE1BQU0sV0FBVyxLQUFLLElBQUksY0FBYyxVQUFVLEVBQUU7RUFDcEQsTUFBTSxTQUFTLFlBQVksU0FBUztFQUNwQyxNQUFNLE9BQU8sUUFBUyxXQUFXO0VBQ2pDLE1BQU0sYUFBYSxjQUFjLE9BQVEsUUFBUSxhQUFhLE9BQVMsUUFBUSxhQUFhLFNBQVUsQ0FBQztBQUV2RyxNQUFJLE9BQU8sS0FBSyxVQUNkLFNBQVEsU0FBUyxNQUFNLEVBQUU7QUFHM0IsTUFBSSxjQUFjLFNBQ2QsdUJBQXNCLFdBQVc7V0FJM0IsUUFBUSxhQUFhLFdBQVksUUFBUSxZQUMvQyxZQUFXLEtBQUs7V0FHWCxRQUFRLGNBQWMsRUFDM0IsWUFBVyxLQUFLO01BSWhCLFlBQVcsS0FBSzs7QUFLeEIsdUJBQXNCLFdBQVc7O0FBSXJDLE1BQWEsb0JBQW9CLFNBQWtCLFlBQW9CLFFBQWdCLEtBQUssU0FBaUIsTUFBTTtDQUMvRyxNQUFNLGlDQUFzQyxLQUFLO0NBQ2pELE1BQU0sQ0FBRSxXQUFXLG9DQUEwQixNQUFNO0NBQ25ELE1BQU0sQ0FBRSxZQUFZLHFDQUEyQixLQUFLO0NBRXBELE1BQU0sZ0JBQWdCLGFBQTRCO0FBQzlDLFVBQVEsVUFBUjtHQUNJLEtBQUs7QUFDRCxpQkFBYSxNQUFNO0FBQ25CLGtCQUFjLEtBQUs7QUFDbkI7R0FFSixLQUFLO0FBQ0QsaUJBQWEsS0FBSztBQUNsQixrQkFBYyxNQUFNO0FBQ3BCO0dBRUo7QUFDSSxpQkFBYSxLQUFLO0FBQ2xCLGtCQUFjLEtBQUs7OztDQUkvQixNQUFNLHlCQUF5QjtBQUMzQixNQUFJLFdBQVcsYUFBYSxTQUFTO0dBQ2pDLE1BQU0sUUFBUSxjQUFjLFNBQVMsY0FBYyxLQUFLO0dBQ3hELE1BQU0sZUFBZSxjQUFjLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxJQUFJLEtBQU0sSUFBSTtBQUM1RSwyQkFBd0I7SUFDcEIsU0FBUyxhQUFhO0lBQ3RCO0lBQ0EsVUFBVTtJQUNWO0lBQ0EsVUFBVTtJQUNiLENBQUM7OztDQUlWLE1BQU0sVUFBVSxpQkFBeUI7QUFDckMsTUFBSSxhQUFhLFNBQVM7R0FDdEIsTUFBTSxlQUFlLGFBQWEsUUFBUSxhQUFhO0FBQ3ZELDJCQUF3QjtJQUNwQixTQUFTLGFBQWE7SUFDdEI7SUFDQSxVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7SUFDVjtJQUNBLFVBQVU7SUFDYixDQUFDOzs7Q0FJVixNQUFNLGNBQWMsaUJBQXlCO0FBQ3pDLE1BQUksYUFBYSxTQUFTO0dBQ3RCLE1BQU0sZUFBZSxhQUFhLFFBQVEsYUFBYTtBQUN2RCwyQkFBd0I7SUFDcEIsU0FBUyxhQUFhO0lBQ3RCO0lBQ0EsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0lBQ1Y7SUFDQSxVQUFVO0lBQ2IsQ0FBQzs7O0FBSVYsUUFBTztFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNIIn0=