@semcore/core 17.0.0-prerelease.43 → 17.0.1-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/CHANGELOG.md +3 -111
  2. package/README.md +35 -5
  3. package/lib/LastInteractionType.js +36 -22
  4. package/lib/LastInteractionType.js.map +1 -1
  5. package/lib/LastInteractionType.mjs +33 -19
  6. package/lib/LastInteractionType.mjs.map +1 -1
  7. package/lib/core-types/Component.js +41 -25
  8. package/lib/core-types/Component.js.map +1 -1
  9. package/lib/core-types/Component.mjs +38 -18
  10. package/lib/core-types/Component.mjs.map +1 -1
  11. package/lib/core-types/symbols.js +9 -9
  12. package/lib/core-types/symbols.js.map +1 -1
  13. package/lib/core-types/symbols.mjs +9 -9
  14. package/lib/core-types/symbols.mjs.map +1 -1
  15. package/lib/coreFactory.js +238 -158
  16. package/lib/coreFactory.js.map +1 -1
  17. package/lib/coreFactory.mjs +189 -133
  18. package/lib/coreFactory.mjs.map +1 -1
  19. package/lib/decorators/propsObserver.js +64 -36
  20. package/lib/decorators/propsObserver.js.map +1 -1
  21. package/lib/decorators/propsObserver.mjs +61 -33
  22. package/lib/decorators/propsObserver.mjs.map +1 -1
  23. package/lib/decorators/reactive.js +17 -17
  24. package/lib/decorators/reactive.js.map +1 -1
  25. package/lib/decorators/reactive.mjs +15 -15
  26. package/lib/decorators/reactive.mjs.map +1 -1
  27. package/lib/enhancement/Children.js +59 -51
  28. package/lib/enhancement/Children.js.map +1 -1
  29. package/lib/enhancement/Children.mjs +41 -47
  30. package/lib/enhancement/Children.mjs.map +1 -1
  31. package/lib/enhancement/Root.js +37 -36
  32. package/lib/enhancement/Root.js.map +1 -1
  33. package/lib/enhancement/Root.mjs +18 -28
  34. package/lib/enhancement/Root.mjs.map +1 -1
  35. package/lib/enhancement/dataName.js +8 -7
  36. package/lib/enhancement/dataName.js.map +1 -1
  37. package/lib/enhancement/dataName.mjs +5 -5
  38. package/lib/enhancement/dataName.mjs.map +1 -1
  39. package/lib/enhancement/enhance.js +9 -6
  40. package/lib/enhancement/enhance.js.map +1 -1
  41. package/lib/enhancement/enhance.mjs +7 -4
  42. package/lib/enhancement/enhance.mjs.map +1 -1
  43. package/lib/enhancement/functionDefaultProps.js +6 -6
  44. package/lib/enhancement/functionDefaultProps.js.map +1 -1
  45. package/lib/enhancement/functionDefaultProps.mjs +4 -4
  46. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  47. package/lib/enhancement/i18n.js +13 -13
  48. package/lib/enhancement/i18n.js.map +1 -1
  49. package/lib/enhancement/i18n.mjs +9 -10
  50. package/lib/enhancement/i18n.mjs.map +1 -1
  51. package/lib/enhancement/inheritedName.js +8 -7
  52. package/lib/enhancement/inheritedName.js.map +1 -1
  53. package/lib/enhancement/inheritedName.mjs +5 -5
  54. package/lib/enhancement/inheritedName.mjs.map +1 -1
  55. package/lib/enhancement/staticChildren.js +56 -47
  56. package/lib/enhancement/staticChildren.js.map +1 -1
  57. package/lib/enhancement/staticChildren.mjs +48 -43
  58. package/lib/enhancement/staticChildren.mjs.map +1 -1
  59. package/lib/enhancement/style.js +27 -29
  60. package/lib/enhancement/style.js.map +1 -1
  61. package/lib/enhancement/style.mjs +20 -26
  62. package/lib/enhancement/style.mjs.map +1 -1
  63. package/lib/enhancement/uncontrolledProps.js +65 -46
  64. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  65. package/lib/enhancement/uncontrolledProps.mjs +52 -43
  66. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  67. package/lib/esm/LastInteractionType.mjs +33 -19
  68. package/lib/esm/core-types/Component.mjs +38 -18
  69. package/lib/esm/core-types/symbols.mjs +9 -9
  70. package/lib/esm/coreFactory.mjs +189 -133
  71. package/lib/esm/enhancement/Children.mjs +41 -47
  72. package/lib/esm/enhancement/Root.mjs +18 -28
  73. package/lib/esm/enhancement/dataName.mjs +5 -5
  74. package/lib/esm/enhancement/enhance.mjs +7 -4
  75. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  76. package/lib/esm/enhancement/i18n.mjs +9 -10
  77. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  78. package/lib/esm/enhancement/staticChildren.mjs +48 -43
  79. package/lib/esm/enhancement/style.mjs +20 -26
  80. package/lib/esm/enhancement/uncontrolledProps.mjs +52 -43
  81. package/lib/esm/register.mjs +20 -12
  82. package/lib/esm/styled/reshadow-core.mjs +111 -98
  83. package/lib/esm/styled/sstyled.mjs +41 -31
  84. package/lib/esm/utils/assignProps.mjs +36 -32
  85. package/lib/esm/utils/enhances/WithI18n.mjs +17 -15
  86. package/lib/esm/utils/enhances/i18nEnhance.mjs +61 -47
  87. package/lib/esm/utils/logger.mjs +21 -13
  88. package/lib/esm/utils/pick.mjs +4 -4
  89. package/lib/esm/utils/ref.mjs +43 -27
  90. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  91. package/lib/index.js +17 -17
  92. package/lib/register.js +24 -17
  93. package/lib/register.js.map +1 -1
  94. package/lib/register.mjs +20 -12
  95. package/lib/register.mjs.map +1 -1
  96. package/lib/styled/index.js +4 -4
  97. package/lib/styled/reshadow-core.js +104 -102
  98. package/lib/styled/reshadow-core.js.map +1 -1
  99. package/lib/styled/reshadow-core.mjs +111 -98
  100. package/lib/styled/reshadow-core.mjs.map +1 -1
  101. package/lib/styled/sstyled.js +53 -31
  102. package/lib/styled/sstyled.js.map +1 -1
  103. package/lib/styled/sstyled.mjs +41 -31
  104. package/lib/styled/sstyled.mjs.map +1 -1
  105. package/lib/theme/themes/dark.js +2 -2
  106. package/lib/theme/themes/dark.js.map +1 -1
  107. package/lib/theme/themes/default.js +2 -2
  108. package/lib/theme/themes/default.js.map +1 -1
  109. package/lib/theme/themes/highlights-dark.js +2 -2
  110. package/lib/theme/themes/highlights-dark.js.map +1 -1
  111. package/lib/theme/themes/highlights-light.js +2 -2
  112. package/lib/theme/themes/highlights-light.js.map +1 -1
  113. package/lib/theme/themes/light.js +2 -2
  114. package/lib/theme/themes/light.js.map +1 -1
  115. package/lib/utils/CSSinJS.js +10 -8
  116. package/lib/utils/CSSinJS.js.map +1 -1
  117. package/lib/utils/CSSinJS.mjs +7 -6
  118. package/lib/utils/CSSinJS.mjs.map +1 -1
  119. package/lib/utils/ThemeProvider.js +51 -44
  120. package/lib/utils/ThemeProvider.js.map +1 -1
  121. package/lib/utils/ThemeProvider.mjs +47 -36
  122. package/lib/utils/ThemeProvider.mjs.map +1 -1
  123. package/lib/utils/addonText.js +7 -4
  124. package/lib/utils/addonText.js.map +1 -1
  125. package/lib/utils/addonText.mjs +5 -2
  126. package/lib/utils/addonText.mjs.map +1 -1
  127. package/lib/utils/addonTextChildren.js +21 -15
  128. package/lib/utils/addonTextChildren.js.map +1 -1
  129. package/lib/utils/addonTextChildren.mjs +13 -7
  130. package/lib/utils/addonTextChildren.mjs.map +1 -1
  131. package/lib/utils/ariaProps.js +5 -7
  132. package/lib/utils/ariaProps.js.map +1 -1
  133. package/lib/utils/ariaProps.mjs +5 -7
  134. package/lib/utils/ariaProps.mjs.map +1 -1
  135. package/lib/utils/assignProps.js +37 -33
  136. package/lib/utils/assignProps.js.map +1 -1
  137. package/lib/utils/assignProps.mjs +36 -32
  138. package/lib/utils/assignProps.mjs.map +1 -1
  139. package/lib/utils/canUseDOM.js +1 -1
  140. package/lib/utils/capitalizeFirstLetter.js +1 -1
  141. package/lib/utils/color.js +95 -72
  142. package/lib/utils/color.js.map +1 -1
  143. package/lib/utils/color.mjs +94 -71
  144. package/lib/utils/color.mjs.map +1 -1
  145. package/lib/utils/compose.js +12 -3
  146. package/lib/utils/compose.js.map +1 -1
  147. package/lib/utils/compose.mjs +11 -2
  148. package/lib/utils/compose.mjs.map +1 -1
  149. package/lib/utils/createUUID.js +5 -5
  150. package/lib/utils/createUUID.js.map +1 -1
  151. package/lib/utils/createUUID.mjs +4 -4
  152. package/lib/utils/createUUID.mjs.map +1 -1
  153. package/lib/utils/cssToIntDefault.js +4 -3
  154. package/lib/utils/cssToIntDefault.js.map +1 -1
  155. package/lib/utils/cssToIntDefault.mjs +3 -2
  156. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  157. package/lib/utils/enhances/WithCSS.js +8 -10
  158. package/lib/utils/enhances/WithCSS.js.map +1 -1
  159. package/lib/utils/enhances/WithCSS.mjs +6 -7
  160. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  161. package/lib/utils/enhances/WithI18n.js +19 -19
  162. package/lib/utils/enhances/WithI18n.js.map +1 -1
  163. package/lib/utils/enhances/WithI18n.mjs +17 -15
  164. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  165. package/lib/utils/enhances/a11yEnhance.js +39 -34
  166. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  167. package/lib/utils/enhances/a11yEnhance.mjs +36 -32
  168. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  169. package/lib/utils/enhances/animatedSizeEnhance.js +63 -55
  170. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  171. package/lib/utils/enhances/animatedSizeEnhance.mjs +58 -50
  172. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  173. package/lib/utils/enhances/contextEnhance.js +11 -12
  174. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  175. package/lib/utils/enhances/contextEnhance.mjs +8 -9
  176. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  177. package/lib/utils/enhances/i18nEnhance.js +67 -51
  178. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  179. package/lib/utils/enhances/i18nEnhance.mjs +61 -47
  180. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  181. package/lib/utils/enhances/resolveColorEnhance.js +10 -12
  182. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  183. package/lib/utils/enhances/resolveColorEnhance.mjs +6 -8
  184. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  185. package/lib/utils/eventEmitter.js +57 -30
  186. package/lib/utils/eventEmitter.js.map +1 -1
  187. package/lib/utils/eventEmitter.mjs +55 -26
  188. package/lib/utils/eventEmitter.mjs.map +1 -1
  189. package/lib/utils/findComponent.js +42 -35
  190. package/lib/utils/findComponent.js.map +1 -1
  191. package/lib/utils/findComponent.mjs +33 -26
  192. package/lib/utils/findComponent.mjs.map +1 -1
  193. package/lib/utils/fire.js +13 -7
  194. package/lib/utils/fire.js.map +1 -1
  195. package/lib/utils/fire.mjs +11 -5
  196. package/lib/utils/fire.mjs.map +1 -1
  197. package/lib/utils/focus-lock/focusBorders.js +32 -28
  198. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  199. package/lib/utils/focus-lock/focusBorders.mjs +32 -26
  200. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  201. package/lib/utils/focus-lock/getFocusableIn.js +6 -4
  202. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  203. package/lib/utils/focus-lock/getFocusableIn.mjs +6 -3
  204. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  205. package/lib/utils/focus-lock/isFocusInside.js +6 -5
  206. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  207. package/lib/utils/focus-lock/isFocusInside.mjs +6 -4
  208. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  209. package/lib/utils/focus-lock/isFocusable.js +12 -9
  210. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  211. package/lib/utils/focus-lock/isFocusable.mjs +11 -8
  212. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  213. package/lib/utils/focus-lock/setFocus.js +27 -21
  214. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  215. package/lib/utils/focus-lock/setFocus.mjs +25 -19
  216. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  217. package/lib/utils/getAccessibleName.js +22 -10
  218. package/lib/utils/getAccessibleName.js.map +1 -1
  219. package/lib/utils/getAccessibleName.mjs +21 -10
  220. package/lib/utils/getAccessibleName.mjs.map +1 -1
  221. package/lib/utils/getDisplayName.js +1 -1
  222. package/lib/utils/getEventTarget.js +32 -13
  223. package/lib/utils/getEventTarget.js.map +1 -1
  224. package/lib/utils/getEventTarget.mjs +31 -12
  225. package/lib/utils/getEventTarget.mjs.map +1 -1
  226. package/lib/utils/getOriginChildren.js +4 -4
  227. package/lib/utils/getOriginChildren.js.map +1 -1
  228. package/lib/utils/getRandomInt.js +1 -1
  229. package/lib/utils/getValue.js +6 -4
  230. package/lib/utils/getValue.js.map +1 -1
  231. package/lib/utils/getValue.mjs +5 -3
  232. package/lib/utils/getValue.mjs.map +1 -1
  233. package/lib/utils/hasLabels.js +27 -16
  234. package/lib/utils/hasLabels.js.map +1 -1
  235. package/lib/utils/hasLabels.mjs +24 -14
  236. package/lib/utils/hasLabels.mjs.map +1 -1
  237. package/lib/utils/hasParent.js +2 -3
  238. package/lib/utils/hasParent.js.map +1 -1
  239. package/lib/utils/hasParent.mjs +3 -2
  240. package/lib/utils/hasParent.mjs.map +1 -1
  241. package/lib/utils/ifChildren.js +4 -6
  242. package/lib/utils/ifChildren.js.map +1 -1
  243. package/lib/utils/ifChildren.mjs +2 -4
  244. package/lib/utils/ifChildren.mjs.map +1 -1
  245. package/lib/utils/indentStyles.js +10 -5
  246. package/lib/utils/indentStyles.js.map +1 -1
  247. package/lib/utils/indentStyles.mjs +9 -5
  248. package/lib/utils/indentStyles.mjs.map +1 -1
  249. package/lib/utils/injectStyle.js +13 -11
  250. package/lib/utils/injectStyle.js.map +1 -1
  251. package/lib/utils/injectStyle.mjs +10 -9
  252. package/lib/utils/injectStyle.mjs.map +1 -1
  253. package/lib/utils/inputProps.js +5 -5
  254. package/lib/utils/inputProps.js.map +1 -1
  255. package/lib/utils/inputProps.mjs +4 -4
  256. package/lib/utils/inputProps.mjs.map +1 -1
  257. package/lib/utils/isInteractiveElement.js +9 -7
  258. package/lib/utils/isInteractiveElement.js.map +1 -1
  259. package/lib/utils/isInteractiveElement.mjs +9 -7
  260. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  261. package/lib/utils/isNode.js +5 -4
  262. package/lib/utils/isNode.js.map +1 -1
  263. package/lib/utils/isNode.mjs +2 -1
  264. package/lib/utils/isNode.mjs.map +1 -1
  265. package/lib/utils/isPromise.js +1 -1
  266. package/lib/utils/isRetina.js +2 -7
  267. package/lib/utils/isRetina.js.map +1 -1
  268. package/lib/utils/isRetina.mjs +1 -6
  269. package/lib/utils/isRetina.mjs.map +1 -1
  270. package/lib/utils/logger.js +25 -18
  271. package/lib/utils/logger.js.map +1 -1
  272. package/lib/utils/logger.mjs +21 -13
  273. package/lib/utils/logger.mjs.map +1 -1
  274. package/lib/utils/numericChecker.js +18 -11
  275. package/lib/utils/numericChecker.js.map +1 -1
  276. package/lib/utils/numericChecker.mjs +17 -10
  277. package/lib/utils/numericChecker.mjs.map +1 -1
  278. package/lib/utils/ownerDocument.js +2 -2
  279. package/lib/utils/ownerDocument.js.map +1 -1
  280. package/lib/utils/ownerDocument.mjs +1 -1
  281. package/lib/utils/ownerDocument.mjs.map +1 -1
  282. package/lib/utils/pick.js +5 -5
  283. package/lib/utils/pick.js.map +1 -1
  284. package/lib/utils/pick.mjs +4 -4
  285. package/lib/utils/pick.mjs.map +1 -1
  286. package/lib/utils/propsForElement.js +12 -10
  287. package/lib/utils/propsForElement.js.map +1 -1
  288. package/lib/utils/propsForElement.mjs +10 -8
  289. package/lib/utils/propsForElement.mjs.map +1 -1
  290. package/lib/utils/rafTrottle.js +14 -9
  291. package/lib/utils/rafTrottle.js.map +1 -1
  292. package/lib/utils/rafTrottle.mjs +12 -7
  293. package/lib/utils/rafTrottle.mjs.map +1 -1
  294. package/lib/utils/reactToText.js +8 -5
  295. package/lib/utils/reactToText.js.map +1 -1
  296. package/lib/utils/reactToText.mjs +6 -3
  297. package/lib/utils/reactToText.mjs.map +1 -1
  298. package/lib/utils/ref.js +47 -29
  299. package/lib/utils/ref.js.map +1 -1
  300. package/lib/utils/ref.mjs +43 -27
  301. package/lib/utils/ref.mjs.map +1 -1
  302. package/lib/utils/setRef.js +2 -2
  303. package/lib/utils/setRef.js.map +1 -1
  304. package/lib/utils/syncScroll.js +24 -24
  305. package/lib/utils/syncScroll.js.map +1 -1
  306. package/lib/utils/syncScroll.mjs +21 -21
  307. package/lib/utils/syncScroll.mjs.map +1 -1
  308. package/lib/utils/uncontroll.js +18 -8
  309. package/lib/utils/uncontroll.js.map +1 -1
  310. package/lib/utils/uncontroll.mjs +17 -8
  311. package/lib/utils/uncontroll.mjs.map +1 -1
  312. package/lib/utils/uniqueID.js +27 -22
  313. package/lib/utils/uniqueID.js.map +1 -1
  314. package/lib/utils/uniqueID.mjs +25 -18
  315. package/lib/utils/uniqueID.mjs.map +1 -1
  316. package/lib/utils/use/useColorResolver.js +22 -21
  317. package/lib/utils/use/useColorResolver.js.map +1 -1
  318. package/lib/utils/use/useColorResolver.mjs +19 -17
  319. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  320. package/lib/utils/use/useEnhancedEffect.js +4 -4
  321. package/lib/utils/use/useEnhancedEffect.js.map +1 -1
  322. package/lib/utils/use/useEnhancedEffect.mjs +1 -1
  323. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  324. package/lib/utils/use/useEventCallback.js +10 -5
  325. package/lib/utils/use/useEventCallback.js.map +1 -1
  326. package/lib/utils/use/useEventCallback.mjs +8 -3
  327. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  328. package/lib/utils/use/useEventListener.js +15 -11
  329. package/lib/utils/use/useEventListener.js.map +1 -1
  330. package/lib/utils/use/useEventListener.mjs +11 -7
  331. package/lib/utils/use/useEventListener.mjs.map +1 -1
  332. package/lib/utils/use/useFocusLock.js +94 -80
  333. package/lib/utils/use/useFocusLock.js.map +1 -1
  334. package/lib/utils/use/useFocusLock.mjs +88 -71
  335. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  336. package/lib/utils/use/usePreventScroll.js +26 -24
  337. package/lib/utils/use/usePreventScroll.js.map +1 -1
  338. package/lib/utils/use/usePreventScroll.mjs +21 -19
  339. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  340. package/lib/utils/use/useScrollBarWidth.js +14 -8
  341. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  342. package/lib/utils/use/useScrollBarWidth.mjs +13 -8
  343. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  344. package/lib/utils/useCssVariable.js +37 -32
  345. package/lib/utils/useCssVariable.js.map +1 -1
  346. package/lib/utils/useCssVariable.mjs +34 -27
  347. package/lib/utils/useCssVariable.mjs.map +1 -1
  348. package/lib/utils/zIndexStacking.js +24 -28
  349. package/lib/utils/zIndexStacking.js.map +1 -1
  350. package/lib/utils/zIndexStacking.mjs +22 -23
  351. package/lib/utils/zIndexStacking.mjs.map +1 -1
  352. package/package.json +12 -316
  353. package/vite.config.ts +0 -22
  354. package/tsconfig-utils.json +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"reactToText.mjs","names":["reactToText","node","Number","isNaN","toString","Array","isArray","map","entry","join","props","children","typeOrigin","type","origin"],"sources":["../../src/utils/reactToText.ts"],"sourcesContent":["import type React from 'react';\n\nfunction reactToText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'boolean') {\n if (Number.isNaN(node)) return '';\n return node.toString();\n }\n if (!node) {\n return '';\n }\n if (Array.isArray(node)) {\n return node.map((entry) => reactToText(entry)).join('');\n }\n\n const props: { children?: React.ReactNode } = (node as any).props ? (node as any).props : {};\n\n if (!props || !props.children) {\n const typeOrigin = (node as any).type?.origin;\n if (typeof typeOrigin === 'string') {\n return typeOrigin;\n }\n\n return '';\n }\n\n return reactToText(props.children);\n}\n\nexport default reactToText;\n"],"mappings":"AAEA,SAASA,WAAWA,CAACC,IAAqB,EAAU;EAClD,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE;IACrF,IAAIC,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,EAAE;IACjC,OAAOA,IAAI,CAACG,QAAQ,CAAC,CAAC;EACxB;EACA,IAAI,CAACH,IAAI,EAAE;IACT,OAAO,EAAE;EACX;EACA,IAAII,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI,CAACM,GAAG,CAAEC,KAAK,IAAKR,WAAW,CAACQ,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EACzD;EAEA,MAAMC,KAAqC,GAAIT,IAAI,CAASS,KAAK,GAAIT,IAAI,CAASS,KAAK,GAAG,CAAC,CAAC;EAE5F,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,QAAQ,EAAE;IAC7B,MAAMC,UAAU,GAAIX,IAAI,CAASY,IAAI,EAAEC,MAAM;IAC7C,IAAI,OAAOF,UAAU,KAAK,QAAQ,EAAE;MAClC,OAAOA,UAAU;IACnB;IAEA,OAAO,EAAE;EACX;EAEA,OAAOZ,WAAW,CAACU,KAAK,CAACC,QAAQ,CAAC;AACpC;AAEA,eAAeX,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"reactToText.mjs","names":["reactToText","node","Number","isNaN","toString","Array","isArray","map","entry","join","props","children","_type","typeOrigin","type","origin"],"sources":["../../src/utils/reactToText.ts"],"sourcesContent":["import type React from 'react';\n\nfunction reactToText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'boolean') {\n if (Number.isNaN(node)) return '';\n return node.toString();\n }\n if (!node) {\n return '';\n }\n if (Array.isArray(node)) {\n return node.map((entry) => reactToText(entry)).join('');\n }\n\n const props: { children?: React.ReactNode } = (node as any).props ? (node as any).props : {};\n\n if (!props || !props.children) {\n const typeOrigin = (node as any).type?.origin;\n if (typeof typeOrigin === 'string') {\n return typeOrigin;\n }\n\n return '';\n }\n\n return reactToText(props.children);\n}\n\nexport default reactToText;\n"],"mappings":"AAEA,SAASA,WAAWA,CAACC,IAAqB,EAAU;EAClD,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE;IACrF,IAAIC,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,EAAE;IACjC,OAAOA,IAAI,CAACG,QAAQ,CAAC,CAAC;EACxB;EACA,IAAI,CAACH,IAAI,EAAE;IACT,OAAO,EAAE;EACX;EACA,IAAII,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IACvB,OAAOA,IAAI,CAACM,GAAG,CAAC,UAACC,KAAK;MAAA,OAAKR,WAAW,CAACQ,KAAK,CAAC;IAAA,EAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EACzD;EAEA,IAAMC,KAAqC,GAAIT,IAAI,CAASS,KAAK,GAAIT,IAAI,CAASS,KAAK,GAAG,CAAC,CAAC;EAE5F,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,QAAQ,EAAE;IAAA,IAAAC,KAAA;IAC7B,IAAMC,UAAU,IAAAD,KAAA,GAAIX,IAAI,CAASa,IAAI,cAAAF,KAAA,uBAAlBA,KAAA,CAAoBG,MAAM;IAC7C,IAAI,OAAOF,UAAU,KAAK,QAAQ,EAAE;MAClC,OAAOA,UAAU;IACnB;IAEA,OAAO,EAAE;EACX;EAEA,OAAOb,WAAW,CAACU,KAAK,CAACC,QAAQ,CAAC;AACpC;AAEA,eAAeX,WAAW","ignoreList":[]}
package/lib/utils/ref.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -9,11 +9,13 @@ exports.getRef = getRef;
9
9
  exports.setRef = setRef;
10
10
  exports.useCallbackRef = useCallbackRef;
11
11
  exports.useForkRef = useForkRef;
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
14
  var _react = _interopRequireDefault(require("react"));
13
15
  function setRef(ref, value) {
14
16
  if (typeof ref === 'function') {
15
17
  ref(value);
16
- } else if (ref?.hasOwnProperty('current')) {
18
+ } else if (ref !== null && ref !== void 0 && ref.hasOwnProperty('current')) {
17
19
  // @ts-ignore
18
20
  ref['current'] = value;
19
21
  }
@@ -23,42 +25,58 @@ function getRef(ref) {
23
25
  return 'current' in ref ? ref.current : ref;
24
26
  }
25
27
  function useCallbackRef(initialValue, callback) {
26
- const [ref] = _react.default.useState(() => ({
27
- // value
28
- value: initialValue,
29
- // last callback
30
- callback,
31
- // "memoized" public interface
32
- facade: {
33
- get current() {
34
- return ref.value;
35
- },
36
- set current(value) {
37
- const last = ref.value;
38
- if (last !== value) {
39
- ref.value = value;
40
- ref.callback(value, last);
28
+ var _React$useState = _react["default"].useState(function () {
29
+ return {
30
+ // value
31
+ value: initialValue,
32
+ // last callback
33
+ callback: callback,
34
+ // "memoized" public interface
35
+ facade: {
36
+ get current() {
37
+ return ref.value;
38
+ },
39
+ set current(value) {
40
+ var last = ref.value;
41
+ if (last !== value) {
42
+ ref.value = value;
43
+ ref.callback(value, last);
44
+ }
45
+ }
41
46
  }
42
- }
43
- }
44
- }));
47
+ };
48
+ }),
49
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 1),
50
+ ref = _React$useState2[0];
45
51
  // update callback
46
52
  ref.callback = callback;
47
53
  return ref.facade;
48
54
  }
49
- function useForkRef(...refs) {
50
- return _react.default.useCallback(refValue => {
51
- const uniqueRefs = [...new Set(refs)];
52
- uniqueRefs.forEach(ref => setRef(ref, refValue));
55
+ function useForkRef() {
56
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
57
+ refs[_key] = arguments[_key];
58
+ }
59
+ return _react["default"].useCallback(function (refValue) {
60
+ var uniqueRefs = (0, _toConsumableArray2["default"])(new Set(refs));
61
+ uniqueRefs.forEach(function (ref) {
62
+ return setRef(ref, refValue);
63
+ });
53
64
  }, refs);
54
65
  }
55
- function forkRef(...refs) {
56
- if (refs.every(ref => ref == null)) {
66
+ function forkRef() {
67
+ for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
68
+ refs[_key2] = arguments[_key2];
69
+ }
70
+ if (refs.every(function (ref) {
71
+ return ref == null;
72
+ })) {
57
73
  return null;
58
74
  }
59
- return refValue => {
60
- const uniqueRefs = [...new Set(refs)];
61
- uniqueRefs.forEach(ref => setRef(ref, refValue));
75
+ return function (refValue) {
76
+ var uniqueRefs = (0, _toConsumableArray2["default"])(new Set(refs));
77
+ uniqueRefs.forEach(function (ref) {
78
+ return setRef(ref, refValue);
79
+ });
62
80
  };
63
81
  }
64
82
  //# sourceMappingURL=ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","names":["_react","_interopRequireDefault","require","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","React","useState","facade","last","useForkRef","refs","useCallback","refValue","uniqueRefs","Set","forEach","forkRef","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,EAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,MAAM,CAACP,GAAG,CAAC,GAAGQ,cAAK,CAACC,QAAQ,CAAC,OAAO;IAClC;IACAR,KAAK,EAAEK,YAAY;IACnB;IACAC,QAAQ;IACR;IACAG,MAAM,EAAE;MACN,IAAIN,OAAOA,CAAA,EAAG;QACZ,OAAOJ,GAAG,CAACC,KAAK;MAClB,CAAC;MACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;QACjB,MAAMU,IAAI,GAAGX,GAAG,CAACC,KAAK;QACtB,IAAIU,IAAI,KAAKV,KAAK,EAAE;UAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;UACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEU,IAAI,CAAC;QAC3B;MACF;IACF;EACF,CAAC,CAAC,CAAC;EACH;EACAX,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACU,MAAM;AACnB;AAEO,SAASE,UAAUA,CAAI,GAAGC,IAAc,EAAU;EACvD,OAAOL,cAAK,CAACM,WAAW,CAAEC,QAAa,IAAK;IAC1C,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAElB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEe,QAAQ,CAAC,CAAC;EACpD,CAAC,EAAEF,IAAI,CAAC;AACV;AAEO,SAASM,OAAOA,CAAI,GAAGN,IAAc,EAAU;EACpD,IAAIA,IAAI,CAACO,KAAK,CAAEpB,GAAG,IAAKA,GAAG,IAAI,IAAI,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAQe,QAAQ,IAAK;IACnB,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAElB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEe,QAAQ,CAAC,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"ref.js","names":["_react","_interopRequireDefault","require","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","_React$useState","React","useState","facade","last","_React$useState2","_slicedToArray2","useForkRef","_len","arguments","length","refs","Array","_key","useCallback","refValue","uniqueRefs","_toConsumableArray2","Set","forEach","forkRef","_len2","_key2","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,IAAAC,eAAA,GAAcC,iBAAK,CAACC,QAAQ,CAAC;MAAA,OAAO;QAClC;QACAT,KAAK,EAAEK,YAAY;QACnB;QACAC,QAAQ,EAARA,QAAQ;QACR;QACAI,MAAM,EAAE;UACN,IAAIP,OAAOA,CAAA,EAAG;YACZ,OAAOJ,GAAG,CAACC,KAAK;UAClB,CAAC;UACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;YACjB,IAAMW,IAAI,GAAGZ,GAAG,CAACC,KAAK;YACtB,IAAIW,IAAI,KAAKX,KAAK,EAAE;cAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;cACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEW,IAAI,CAAC;YAC3B;UACF;QACF;MACF,CAAC;IAAA,CAAC,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAN,eAAA;IAlBIR,GAAG,GAAAa,gBAAA;EAmBV;EACAb,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACW,MAAM;AACnB;AAEO,SAASI,UAAUA,CAAA,EAA+B;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EACnC,OAAOZ,iBAAK,CAACa,WAAW,CAAC,UAACC,QAAa,EAAK;IAC1C,IAAMC,UAAU,OAAAC,mBAAA,aAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC3B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEuB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC,EAAEJ,IAAI,CAAC;AACV;AAEO,SAASS,OAAOA,CAAA,EAA+B;EAAA,SAAAC,KAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAS,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJX,IAAI,CAAAW,KAAA,IAAAb,SAAA,CAAAa,KAAA;EAAA;EAChC,IAAIX,IAAI,CAACY,KAAK,CAAC,UAAC/B,GAAG;IAAA,OAAKA,GAAG,IAAI,IAAI;EAAA,EAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAO,UAACuB,QAAQ,EAAK;IACnB,IAAMC,UAAU,OAAAC,mBAAA,aAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC3B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEuB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC;AACH","ignoreList":[]}
package/lib/utils/ref.mjs CHANGED
@@ -1,8 +1,10 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
3
  import React from "react";
2
4
  function setRef(ref, value) {
3
5
  if (typeof ref === "function") {
4
6
  ref(value);
5
- } else if (ref?.hasOwnProperty("current")) {
7
+ } else if (ref !== null && ref !== void 0 && ref.hasOwnProperty("current")) {
6
8
  ref["current"] = value;
7
9
  }
8
10
  }
@@ -11,41 +13,55 @@ function getRef(ref) {
11
13
  return "current" in ref ? ref.current : ref;
12
14
  }
13
15
  function useCallbackRef(initialValue, callback) {
14
- const [ref] = React.useState(() => ({
15
- // value
16
- value: initialValue,
17
- // last callback
18
- callback,
19
- // "memoized" public interface
20
- facade: {
21
- get current() {
22
- return ref.value;
23
- },
24
- set current(value) {
25
- const last = ref.value;
26
- if (last !== value) {
27
- ref.value = value;
28
- ref.callback(value, last);
16
+ var _React$useState = React.useState(function() {
17
+ return {
18
+ // value
19
+ value: initialValue,
20
+ // last callback
21
+ callback,
22
+ // "memoized" public interface
23
+ facade: {
24
+ get current() {
25
+ return ref.value;
26
+ },
27
+ set current(value) {
28
+ var last = ref.value;
29
+ if (last !== value) {
30
+ ref.value = value;
31
+ ref.callback(value, last);
32
+ }
29
33
  }
30
34
  }
31
- }
32
- }));
35
+ };
36
+ }), _React$useState2 = _slicedToArray(_React$useState, 1), ref = _React$useState2[0];
33
37
  ref.callback = callback;
34
38
  return ref.facade;
35
39
  }
36
- function useForkRef(...refs) {
37
- return React.useCallback((refValue) => {
38
- const uniqueRefs = [...new Set(refs)];
39
- uniqueRefs.forEach((ref) => setRef(ref, refValue));
40
+ function useForkRef() {
41
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
42
+ refs[_key] = arguments[_key];
43
+ }
44
+ return React.useCallback(function(refValue) {
45
+ var uniqueRefs = _toConsumableArray(new Set(refs));
46
+ uniqueRefs.forEach(function(ref) {
47
+ return setRef(ref, refValue);
48
+ });
40
49
  }, refs);
41
50
  }
42
- function forkRef(...refs) {
43
- if (refs.every((ref) => ref == null)) {
51
+ function forkRef() {
52
+ for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
53
+ refs[_key2] = arguments[_key2];
54
+ }
55
+ if (refs.every(function(ref) {
56
+ return ref == null;
57
+ })) {
44
58
  return null;
45
59
  }
46
- return (refValue) => {
47
- const uniqueRefs = [...new Set(refs)];
48
- uniqueRefs.forEach((ref) => setRef(ref, refValue));
60
+ return function(refValue) {
61
+ var uniqueRefs = _toConsumableArray(new Set(refs));
62
+ uniqueRefs.forEach(function(ref) {
63
+ return setRef(ref, refValue);
64
+ });
49
65
  };
50
66
  }
51
67
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"ref.mjs","names":["React","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","useState","facade","last","useForkRef","refs","useCallback","refValue","uniqueRefs","Set","forEach","forkRef","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAA2C,OAAO;AAE9D,OAAO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,EAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIA,OAAO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEA,OAAO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,MAAM,CAACP,GAAG,CAAC,GAAGF,KAAK,CAACU,QAAQ,CAAC,OAAO;IAClC;IACAP,KAAK,EAAEK,YAAY;IACnB;IACAC,QAAQ;IACR;IACAE,MAAM,EAAE;MACN,IAAIL,OAAOA,CAAA,EAAG;QACZ,OAAOJ,GAAG,CAACC,KAAK;MAClB,CAAC;MACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;QACjB,MAAMS,IAAI,GAAGV,GAAG,CAACC,KAAK;QACtB,IAAIS,IAAI,KAAKT,KAAK,EAAE;UAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;UACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAES,IAAI,CAAC;QAC3B;MACF;IACF;EACF,CAAC,CAAC,CAAC;EACH;EACAV,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACS,MAAM;AACnB;AAEA,OAAO,SAASE,UAAUA,CAAI,GAAGC,IAAc,EAAU;EACvD,OAAOd,KAAK,CAACe,WAAW,CAAEC,QAAa,IAAK;IAC1C,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAEjB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEc,QAAQ,CAAC,CAAC;EACpD,CAAC,EAAEF,IAAI,CAAC;AACV;AAEA,OAAO,SAASM,OAAOA,CAAI,GAAGN,IAAc,EAAU;EACpD,IAAIA,IAAI,CAACO,KAAK,CAAEnB,GAAG,IAAKA,GAAG,IAAI,IAAI,CAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAQc,QAAQ,IAAK;IACnB,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC;IACrCG,UAAU,CAACE,OAAO,CAAEjB,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEc,QAAQ,CAAC,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"ref.mjs","names":["React","setRef","ref","value","hasOwnProperty","getRef","current","useCallbackRef","initialValue","callback","_React$useState","useState","facade","last","_React$useState2","_slicedToArray","useForkRef","_len","arguments","length","refs","Array","_key","useCallback","refValue","uniqueRefs","_toConsumableArray","Set","forEach","forkRef","_len2","_key2","every"],"sources":["../../src/utils/ref.ts"],"sourcesContent":["import React, { type MutableRefObject, type Ref } from 'react';\n\nexport function setRef<T>(ref: Ref<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref?.hasOwnProperty('current')) {\n // @ts-ignore\n ref['current'] = value;\n }\n}\n\ntype Refs = React.ReactInstance | React.RefObject<React.ReactInstance>;\n\nexport function getRef(ref: Refs): React.ReactInstance | null {\n if (!ref) return null;\n return 'current' in ref ? ref.current : ref;\n}\n\nexport function useCallbackRef<T>(\n initialValue: T | null,\n callback: (newValue: T | null, lastValue: T | null) => void,\n): MutableRefObject<T | null> {\n const [ref] = React.useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n\n return ref.facade;\n}\n\nexport function useForkRef<T>(...refs: Ref<T>[]): Ref<T> {\n return React.useCallback((refValue: any) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n }, refs);\n}\n\nexport function forkRef<T>(...refs: Ref<T>[]): Ref<T> {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n return (refValue) => {\n const uniqueRefs = [...new Set(refs)];\n uniqueRefs.forEach((ref) => setRef(ref, refValue));\n };\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAA2C,OAAO;AAE9D,OAAO,SAASC,MAAMA,CAAIC,GAAW,EAAEC,KAAQ,EAAE;EAC/C,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEE,cAAc,CAAC,SAAS,CAAC,EAAE;IACzC;IACAF,GAAG,CAAC,SAAS,CAAC,GAAGC,KAAK;EACxB;AACF;AAIA,OAAO,SAASE,MAAMA,CAACH,GAAS,EAA8B;EAC5D,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;EACrB,OAAO,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACI,OAAO,GAAGJ,GAAG;AAC7C;AAEA,OAAO,SAASK,cAAcA,CAC5BC,YAAsB,EACtBC,QAA2D,EAC/B;EAC5B,IAAAC,eAAA,GAAcV,KAAK,CAACW,QAAQ,CAAC;MAAA,OAAO;QAClC;QACAR,KAAK,EAAEK,YAAY;QACnB;QACAC,QAAQ,EAARA,QAAQ;QACR;QACAG,MAAM,EAAE;UACN,IAAIN,OAAOA,CAAA,EAAG;YACZ,OAAOJ,GAAG,CAACC,KAAK;UAClB,CAAC;UACD,IAAIG,OAAOA,CAACH,KAAK,EAAE;YACjB,IAAMU,IAAI,GAAGX,GAAG,CAACC,KAAK;YACtB,IAAIU,IAAI,KAAKV,KAAK,EAAE;cAClBD,GAAG,CAACC,KAAK,GAAGA,KAAK;cACjBD,GAAG,CAACO,QAAQ,CAACN,KAAK,EAAEU,IAAI,CAAC;YAC3B;UACF;QACF;MACF,CAAC;IAAA,CAAC,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAL,eAAA;IAlBIR,GAAG,GAAAY,gBAAA;EAmBV;EACAZ,GAAG,CAACO,QAAQ,GAAGA,QAAQ;EAEvB,OAAOP,GAAG,CAACU,MAAM;AACnB;AAEA,OAAO,SAASI,UAAUA,CAAA,EAA+B;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EACnC,OAAOtB,KAAK,CAACuB,WAAW,CAAC,UAACC,QAAa,EAAK;IAC1C,IAAMC,UAAU,GAAAC,kBAAA,CAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC1B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEsB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC,EAAEJ,IAAI,CAAC;AACV;AAEA,OAAO,SAASS,OAAOA,CAAA,EAA+B;EAAA,SAAAC,KAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAxBC,IAAI,OAAAC,KAAA,CAAAS,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJX,IAAI,CAAAW,KAAA,IAAAb,SAAA,CAAAa,KAAA;EAAA;EAChC,IAAIX,IAAI,CAACY,KAAK,CAAC,UAAC9B,GAAG;IAAA,OAAKA,GAAG,IAAI,IAAI;EAAA,EAAC,EAAE;IACpC,OAAO,IAAI;EACb;EACA,OAAO,UAACsB,QAAQ,EAAK;IACnB,IAAMC,UAAU,GAAAC,kBAAA,CAAO,IAAIC,GAAG,CAACP,IAAI,CAAC,CAAC;IACrCK,UAAU,CAACG,OAAO,CAAC,UAAC1B,GAAG;MAAA,OAAKD,MAAM,CAACC,GAAG,EAAEsB,QAAQ,CAAC;IAAA,EAAC;EACpD,CAAC;AACH","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports["default"] = void 0;
7
7
  var _ref = require("./ref");
8
- var _default = exports.default = _ref.setRef;
8
+ var _default = exports["default"] = _ref.setRef;
9
9
  //# sourceMappingURL=setRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setRef.js","names":["_ref","require","_default","exports","default","setRef"],"sources":["../../src/utils/setRef.ts"],"sourcesContent":["import { setRef } from './ref';\n\nexport default setRef;\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAA+B,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhBC,WAAM","ignoreList":[]}
1
+ {"version":3,"file":"setRef.js","names":["_ref","require","_default","exports","setRef"],"sources":["../../src/utils/setRef.ts"],"sourcesContent":["import { setRef } from './ref';\n\nexport default setRef;\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAA+B,IAAAC,QAAA,GAAAC,OAAA,cAEhBC,WAAM","ignoreList":[]}
@@ -1,22 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = syncScroll;
7
+ exports["default"] = syncScroll;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _canUseDOM = _interopRequireDefault(require("./canUseDOM"));
9
10
  function syncScroll() {
10
- const refs = new Map();
11
+ var refs = new Map();
11
12
  function handlerScroll(event) {
12
- const scrolledNode = event.currentTarget;
13
- if (!(0, _canUseDOM.default)()) return;
14
- window.requestAnimationFrame(() => {
15
- refs.forEach(node => {
13
+ var scrolledNode = event.currentTarget;
14
+ if (!(0, _canUseDOM["default"])()) return;
15
+ window.requestAnimationFrame(function () {
16
+ refs.forEach(function (node) {
16
17
  if (scrolledNode !== node && node) {
17
18
  node.removeEventListener('scroll', handlerScroll);
18
19
  syncScrollPosition(scrolledNode, node);
19
- window.requestAnimationFrame(() => {
20
+ window.requestAnimationFrame(function () {
20
21
  node.addEventListener('scroll', handlerScroll);
21
22
  });
22
23
  }
@@ -24,18 +25,16 @@ function syncScroll() {
24
25
  });
25
26
  }
26
27
  function syncScrollPosition(scrolledNode, node) {
27
- const {
28
- scrollTop,
29
- scrollHeight,
30
- clientHeight,
31
- scrollLeft,
32
- scrollWidth,
33
- clientWidth
34
- } = scrolledNode;
35
- const scrollTopOffset = scrollHeight - clientHeight;
36
- const scrollLeftOffset = scrollWidth - clientWidth;
37
- const nodeHeight = node.scrollHeight - clientHeight;
38
- const nodeWidth = node.scrollWidth - clientWidth;
28
+ var scrollTop = scrolledNode.scrollTop,
29
+ scrollHeight = scrolledNode.scrollHeight,
30
+ clientHeight = scrolledNode.clientHeight,
31
+ scrollLeft = scrolledNode.scrollLeft,
32
+ scrollWidth = scrolledNode.scrollWidth,
33
+ clientWidth = scrolledNode.clientWidth;
34
+ var scrollTopOffset = scrollHeight - clientHeight;
35
+ var scrollLeftOffset = scrollWidth - clientWidth;
36
+ var nodeHeight = node.scrollHeight - clientHeight;
37
+ var nodeWidth = node.scrollWidth - clientWidth;
39
38
  if (scrollTopOffset > 0) {
40
39
  node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
41
40
  }
@@ -43,14 +42,15 @@ function syncScroll() {
43
42
  node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
44
43
  }
45
44
  }
46
- return name => {
45
+ return function (name) {
47
46
  refs.set(name, null);
48
- return ref => {
49
- refs.get(name)?.removeEventListener('scroll', handlerScroll);
47
+ return function (ref) {
48
+ var _refs$get;
49
+ (_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
50
50
  refs.set(name, ref);
51
51
  if (ref) {
52
52
  ref.addEventListener('scroll', handlerScroll);
53
- const scrolledNode = [...refs.values()][0];
53
+ var scrolledNode = (0, _toConsumableArray2["default"])(refs.values())[0];
54
54
  if (scrolledNode) {
55
55
  syncScrollPosition(scrolledNode, ref);
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncScroll.js","names":["_canUseDOM","_interopRequireDefault","require","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","canUseDOM","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","get","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,MAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAAC,IAAAC,kBAAS,EAAC,CAAC,EAAE;IAClBC,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCR,IAAI,CAACS,OAAO,CAAEC,IAAI,IAAK;QACrB,IAAIN,YAAY,KAAKM,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;UACjDU,kBAAkB,CAACR,YAAY,EAAEM,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,MAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASU,kBAAkBA,CAACR,YAAyB,EAAEM,IAAiB,EAAE;IACxE,MAAM;MAAEI,SAAS;MAAEC,YAAY;MAAEC,YAAY;MAAEC,UAAU;MAAEC,WAAW;MAAEC;IAAY,CAAC,GACnFf,YAAY;IAEd,MAAMgB,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,MAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,MAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,MAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAQG,IAAY,IAAK;IACvBxB,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAQE,GAAQ,IAAK;MACnB1B,IAAI,CAAC2B,GAAG,CAACH,IAAI,CAAC,EAAEb,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;MAC5DF,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;QAC7C,MAAME,YAAY,GAAG,CAAC,GAAGJ,IAAI,CAAC4B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAIxB,YAAY,EAAE;UAChBQ,kBAAkB,CAACR,YAAY,EAAEsB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"syncScroll.js","names":["_canUseDOM","_interopRequireDefault","require","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","canUseDOM","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","_refs$get","get","_toConsumableArray2","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEe,SAASC,UAAUA,CAAA,EAAG;EACnC,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,IAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAAC,IAAAC,qBAAS,EAAC,CAAC,EAAE;IAClBC,MAAM,CAACC,qBAAqB,CAAC,YAAM;MACjCR,IAAI,CAACS,OAAO,CAAC,UAACC,IAAI,EAAK;QACrB,IAAIN,YAAY,KAAKM,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;UACjDU,kBAAkB,CAACR,YAAY,EAAEM,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,YAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASU,kBAAkBA,CAACR,YAAyB,EAAEM,IAAiB,EAAE;IACxE,IAAQI,SAAS,GACfV,YAAY,CADNU,SAAS;MAAEC,YAAY,GAC7BX,YAAY,CADKW,YAAY;MAAEC,YAAY,GAC3CZ,YAAY,CADmBY,YAAY;MAAEC,UAAU,GACvDb,YAAY,CADiCa,UAAU;MAAEC,WAAW,GACpEd,YAAY,CAD6Cc,WAAW;MAAEC,WAAW,GACjFf,YAAY,CAD0De,WAAW;IAGnF,IAAMC,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,IAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,IAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,IAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAO,UAACG,IAAY,EAAK;IACvBxB,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,UAACE,GAAQ,EAAK;MAAA,IAAAC,SAAA;MACnB,CAAAA,SAAA,GAAA3B,IAAI,CAAC4B,GAAG,CAACJ,IAAI,CAAC,cAAAG,SAAA,eAAdA,SAAA,CAAgBhB,mBAAmB,CAAC,QAAQ,EAAET,aAAa,CAAC;MAC5DF,IAAI,CAACyB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEX,aAAa,CAAC;QAC7C,IAAME,YAAY,GAAG,IAAAyB,mBAAA,aAAI7B,IAAI,CAAC8B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI1B,YAAY,EAAE;UAChBQ,kBAAkB,CAACR,YAAY,EAAEsB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -1,15 +1,16 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import canUseDOM from "./canUseDOM.mjs";
2
3
  export default function syncScroll() {
3
- const refs = new Map();
4
+ var refs = new Map();
4
5
  function handlerScroll(event) {
5
- const scrolledNode = event.currentTarget;
6
+ var scrolledNode = event.currentTarget;
6
7
  if (!canUseDOM()) return;
7
- window.requestAnimationFrame(() => {
8
- refs.forEach(node => {
8
+ window.requestAnimationFrame(function () {
9
+ refs.forEach(function (node) {
9
10
  if (scrolledNode !== node && node) {
10
11
  node.removeEventListener('scroll', handlerScroll);
11
12
  syncScrollPosition(scrolledNode, node);
12
- window.requestAnimationFrame(() => {
13
+ window.requestAnimationFrame(function () {
13
14
  node.addEventListener('scroll', handlerScroll);
14
15
  });
15
16
  }
@@ -17,18 +18,16 @@ export default function syncScroll() {
17
18
  });
18
19
  }
19
20
  function syncScrollPosition(scrolledNode, node) {
20
- const {
21
- scrollTop,
22
- scrollHeight,
23
- clientHeight,
24
- scrollLeft,
25
- scrollWidth,
26
- clientWidth
27
- } = scrolledNode;
28
- const scrollTopOffset = scrollHeight - clientHeight;
29
- const scrollLeftOffset = scrollWidth - clientWidth;
30
- const nodeHeight = node.scrollHeight - clientHeight;
31
- const nodeWidth = node.scrollWidth - clientWidth;
21
+ var scrollTop = scrolledNode.scrollTop,
22
+ scrollHeight = scrolledNode.scrollHeight,
23
+ clientHeight = scrolledNode.clientHeight,
24
+ scrollLeft = scrolledNode.scrollLeft,
25
+ scrollWidth = scrolledNode.scrollWidth,
26
+ clientWidth = scrolledNode.clientWidth;
27
+ var scrollTopOffset = scrollHeight - clientHeight;
28
+ var scrollLeftOffset = scrollWidth - clientWidth;
29
+ var nodeHeight = node.scrollHeight - clientHeight;
30
+ var nodeWidth = node.scrollWidth - clientWidth;
32
31
  if (scrollTopOffset > 0) {
33
32
  node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
34
33
  }
@@ -36,14 +35,15 @@ export default function syncScroll() {
36
35
  node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
37
36
  }
38
37
  }
39
- return name => {
38
+ return function (name) {
40
39
  refs.set(name, null);
41
- return ref => {
42
- refs.get(name)?.removeEventListener('scroll', handlerScroll);
40
+ return function (ref) {
41
+ var _refs$get;
42
+ (_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
43
43
  refs.set(name, ref);
44
44
  if (ref) {
45
45
  ref.addEventListener('scroll', handlerScroll);
46
- const scrolledNode = [...refs.values()][0];
46
+ var scrolledNode = _toConsumableArray(refs.values())[0];
47
47
  if (scrolledNode) {
48
48
  syncScrollPosition(scrolledNode, ref);
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncScroll.mjs","names":["canUseDOM","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","get","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,iBAAa;AAEnC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,MAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAACP,SAAS,CAAC,CAAC,EAAE;IAClBQ,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCP,IAAI,CAACQ,OAAO,CAAEC,IAAI,IAAK;QACrB,IAAIL,YAAY,KAAKK,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;UACjDS,kBAAkB,CAACP,YAAY,EAAEK,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,MAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASS,kBAAkBA,CAACP,YAAyB,EAAEK,IAAiB,EAAE;IACxE,MAAM;MAAEI,SAAS;MAAEC,YAAY;MAAEC,YAAY;MAAEC,UAAU;MAAEC,WAAW;MAAEC;IAAY,CAAC,GACnFd,YAAY;IAEd,MAAMe,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,MAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,MAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,MAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAQG,IAAY,IAAK;IACvBvB,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAQE,GAAQ,IAAK;MACnBzB,IAAI,CAAC0B,GAAG,CAACH,IAAI,CAAC,EAAEb,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;MAC5DF,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;QAC7C,MAAME,YAAY,GAAG,CAAC,GAAGJ,IAAI,CAAC2B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAIvB,YAAY,EAAE;UAChBO,kBAAkB,CAACP,YAAY,EAAEqB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"syncScroll.mjs","names":["canUseDOM","syncScroll","refs","Map","handlerScroll","event","scrolledNode","currentTarget","window","requestAnimationFrame","forEach","node","removeEventListener","syncScrollPosition","addEventListener","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","nodeHeight","nodeWidth","name","set","ref","_refs$get","get","_toConsumableArray","values"],"sources":["../../src/utils/syncScroll.ts"],"sourcesContent":["import canUseDOM from './canUseDOM';\n\nexport default function syncScroll() {\n const refs = new Map<string, null | HTMLElement>();\n\n function handlerScroll(event: any) {\n const scrolledNode = event.currentTarget;\n if (!canUseDOM()) return;\n window.requestAnimationFrame(() => {\n refs.forEach((node) => {\n if (scrolledNode !== node && node) {\n node.removeEventListener('scroll', handlerScroll);\n syncScrollPosition(scrolledNode, node);\n window.requestAnimationFrame(() => {\n node.addEventListener('scroll', handlerScroll);\n });\n }\n });\n });\n }\n\n function syncScrollPosition(scrolledNode: HTMLElement, node: HTMLElement) {\n const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth } =\n scrolledNode;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const nodeHeight = node.scrollHeight - clientHeight;\n const nodeWidth = node.scrollWidth - clientWidth;\n\n if (scrollTopOffset > 0) {\n node.scrollTop = (nodeHeight * scrollTop) / scrollTopOffset;\n }\n if (scrollLeftOffset > 0) {\n node.scrollLeft = (nodeWidth * scrollLeft) / scrollLeftOffset;\n }\n }\n\n return (name: string) => {\n refs.set(name, null);\n return (ref: any) => {\n refs.get(name)?.removeEventListener('scroll', handlerScroll);\n refs.set(name, ref);\n if (ref) {\n ref.addEventListener('scroll', handlerScroll);\n const scrolledNode = [...refs.values()][0];\n if (scrolledNode) {\n syncScrollPosition(scrolledNode, ref);\n }\n }\n };\n };\n}\n"],"mappings":";AAAA,OAAOA,SAAS,MAAM,iBAAa;AAEnC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAA6B,CAAC;EAElD,SAASC,aAAaA,CAACC,KAAU,EAAE;IACjC,IAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa;IACxC,IAAI,CAACP,SAAS,CAAC,CAAC,EAAE;IAClBQ,MAAM,CAACC,qBAAqB,CAAC,YAAM;MACjCP,IAAI,CAACQ,OAAO,CAAC,UAACC,IAAI,EAAK;QACrB,IAAIL,YAAY,KAAKK,IAAI,IAAIA,IAAI,EAAE;UACjCA,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;UACjDS,kBAAkB,CAACP,YAAY,EAAEK,IAAI,CAAC;UACtCH,MAAM,CAACC,qBAAqB,CAAC,YAAM;YACjCE,IAAI,CAACG,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEA,SAASS,kBAAkBA,CAACP,YAAyB,EAAEK,IAAiB,EAAE;IACxE,IAAQI,SAAS,GACfT,YAAY,CADNS,SAAS;MAAEC,YAAY,GAC7BV,YAAY,CADKU,YAAY;MAAEC,YAAY,GAC3CX,YAAY,CADmBW,YAAY;MAAEC,UAAU,GACvDZ,YAAY,CADiCY,UAAU;MAAEC,WAAW,GACpEb,YAAY,CAD6Ca,WAAW;MAAEC,WAAW,GACjFd,YAAY,CAD0Dc,WAAW;IAGnF,IAAMC,eAAe,GAAGL,YAAY,GAAGC,YAAY;IACnD,IAAMK,gBAAgB,GAAGH,WAAW,GAAGC,WAAW;IAElD,IAAMG,UAAU,GAAGZ,IAAI,CAACK,YAAY,GAAGC,YAAY;IACnD,IAAMO,SAAS,GAAGb,IAAI,CAACQ,WAAW,GAAGC,WAAW;IAEhD,IAAIC,eAAe,GAAG,CAAC,EAAE;MACvBV,IAAI,CAACI,SAAS,GAAIQ,UAAU,GAAGR,SAAS,GAAIM,eAAe;IAC7D;IACA,IAAIC,gBAAgB,GAAG,CAAC,EAAE;MACxBX,IAAI,CAACO,UAAU,GAAIM,SAAS,GAAGN,UAAU,GAAII,gBAAgB;IAC/D;EACF;EAEA,OAAO,UAACG,IAAY,EAAK;IACvBvB,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,UAACE,GAAQ,EAAK;MAAA,IAAAC,SAAA;MACnB,CAAAA,SAAA,GAAA1B,IAAI,CAAC2B,GAAG,CAACJ,IAAI,CAAC,cAAAG,SAAA,eAAdA,SAAA,CAAgBhB,mBAAmB,CAAC,QAAQ,EAAER,aAAa,CAAC;MAC5DF,IAAI,CAACwB,GAAG,CAACD,IAAI,EAAEE,GAAG,CAAC;MACnB,IAAIA,GAAG,EAAE;QACPA,GAAG,CAACb,gBAAgB,CAAC,QAAQ,EAAEV,aAAa,CAAC;QAC7C,IAAME,YAAY,GAAGwB,kBAAA,CAAI5B,IAAI,CAAC6B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAIzB,YAAY,EAAE;UAChBO,kBAAkB,CAACP,YAAY,EAAEqB,GAAG,CAAC;QACvC;MACF;IACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -1,16 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.getState = getState;
7
8
  exports.internalSetState = internalSetState;
8
9
  exports.isControlled = isControlled;
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
11
  function isControlled(self, prop) {
10
12
  return self.props[prop] !== undefined;
11
13
  }
12
- function getState(self, state = self.state) {
13
- return Object.entries(state).reduce((combinedState, [key, value]) => {
14
+ function getState(self) {
15
+ var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : self.state;
16
+ return Object.entries(state).reduce(function (combinedState, _ref) {
17
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
18
+ key = _ref2[0],
19
+ value = _ref2[1];
14
20
  if (isControlled(self, key)) {
15
21
  combinedState[key] = self.props[key];
16
22
  } else {
@@ -19,18 +25,22 @@ function getState(self, state = self.state) {
19
25
  return combinedState;
20
26
  }, {});
21
27
  }
22
- function internalSetState(self, changes, callback = () => {}) {
23
- self.setState(state => {
24
- const combinedState = getState(self, state);
25
- const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
26
- const nonControlledChanges = Object.entries(changesObject).reduce((newChanges, [key, value]) => {
28
+ function internalSetState(self, changes) {
29
+ var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
30
+ self.setState(function (state) {
31
+ var combinedState = getState(self, state);
32
+ var changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
33
+ var nonControlledChanges = Object.entries(changesObject).reduce(function (newChanges, _ref3) {
34
+ var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
35
+ key = _ref4[0],
36
+ value = _ref4[1];
27
37
  if (!isControlled(self, key)) {
28
38
  newChanges[key] = value;
29
39
  }
30
40
  return newChanges;
31
41
  }, {});
32
42
  return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
33
- }, () => {
43
+ }, function () {
34
44
  callback();
35
45
  });
36
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uncontroll.js","names":["isControlled","self","prop","props","undefined","getState","state","Object","entries","reduce","combinedState","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","keys","length"],"sources":["../../src/utils/uncontroll.ts"],"sourcesContent":["import type { Component, PureComponent } from 'react';\n\nexport function isControlled<\n P extends {},\n S extends {},\n C extends Component<P, S> | PureComponent<P, S>,\n>(self: C, prop: keyof P) {\n return self.props[prop] !== undefined;\n}\n\nexport function getState<C extends Component | PureComponent>(\n self: C,\n state: C['state'] = self.state,\n) {\n return Object.entries(state).reduce((combinedState: any, [key, value]) => {\n if (isControlled(self, key)) {\n combinedState[key] = (self as any).props[key];\n } else {\n combinedState[key] = value;\n }\n return combinedState;\n }, {} as Partial<C['state']>);\n}\n\nexport function internalSetState<T, C extends Component<any, T> | PureComponent<any, T>>(\n self: C,\n changes: Partial<T> | ((combinedState: Partial<T>) => Partial<T>),\n callback: () => void = () => {},\n) {\n self.setState(\n (state) => {\n const combinedState = getState(self, state);\n const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;\n\n const nonControlledChanges = Object.entries(changesObject).reduce(\n (newChanges, [key, value]) => {\n if (!isControlled(self, key)) {\n newChanges[key] = value;\n }\n return newChanges;\n },\n {} as any,\n );\n\n return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};\n },\n () => {\n callback();\n },\n );\n}\n"],"mappings":";;;;;;;;AAEO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEO,SAASC,QAAQA,CACtBJ,IAAO,EACPK,KAAiB,GAAGL,IAAI,CAACK,KAAK,EAC9B;EACA,OAAOC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,aAAkB,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IACxE,IAAIZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;MAC3BD,aAAa,CAACC,GAAG,CAAC,GAAIV,IAAI,CAASE,KAAK,CAACQ,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLD,aAAa,CAACC,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOF,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEO,SAASG,gBAAgBA,CAC9BZ,IAAO,EACPa,OAAiE,EACjEC,QAAoB,GAAGA,CAAA,KAAM,CAAC,CAAC,EAC/B;EACAd,IAAI,CAACe,QAAQ,CACVV,KAAK,IAAK;IACT,MAAMI,aAAa,GAAGL,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,MAAMW,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACJ,aAAa,CAAC,GAAGI,OAAO;IAEtF,MAAMI,oBAAoB,GAAGX,MAAM,CAACC,OAAO,CAACS,aAAa,CAAC,CAACR,MAAM,CAC/D,CAACU,UAAU,EAAE,CAACR,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC5B,IAAI,CAACZ,YAAY,CAACC,IAAI,EAAEU,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOZ,MAAM,CAACa,IAAI,CAACF,oBAAoB,CAAC,CAACG,MAAM,GAAGH,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,MAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"uncontroll.js","names":["isControlled","self","prop","props","undefined","getState","state","arguments","length","Object","entries","reduce","combinedState","_ref","_ref2","_slicedToArray2","key","value","internalSetState","changes","callback","setState","changesObject","nonControlledChanges","newChanges","_ref3","_ref4","keys"],"sources":["../../src/utils/uncontroll.ts"],"sourcesContent":["import type { Component, PureComponent } from 'react';\n\nexport function isControlled<\n P extends {},\n S extends {},\n C extends Component<P, S> | PureComponent<P, S>,\n>(self: C, prop: keyof P) {\n return self.props[prop] !== undefined;\n}\n\nexport function getState<C extends Component | PureComponent>(\n self: C,\n state: C['state'] = self.state,\n) {\n return Object.entries(state).reduce((combinedState: any, [key, value]) => {\n if (isControlled(self, key)) {\n combinedState[key] = (self as any).props[key];\n } else {\n combinedState[key] = value;\n }\n return combinedState;\n }, {} as Partial<C['state']>);\n}\n\nexport function internalSetState<T, C extends Component<any, T> | PureComponent<any, T>>(\n self: C,\n changes: Partial<T> | ((combinedState: Partial<T>) => Partial<T>),\n callback: () => void = () => {},\n) {\n self.setState(\n (state) => {\n const combinedState = getState(self, state);\n const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;\n\n const nonControlledChanges = Object.entries(changesObject).reduce(\n (newChanges, [key, value]) => {\n if (!isControlled(self, key)) {\n newChanges[key] = value;\n }\n return newChanges;\n },\n {} as any,\n );\n\n return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};\n },\n () => {\n callback();\n },\n );\n}\n"],"mappings":";;;;;;;;;;AAEO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEO,SAASC,QAAQA,CACtBJ,IAAO,EAEP;EAAA,IADAK,KAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGN,IAAI,CAACK,KAAK;EAE9B,OAAOG,MAAM,CAACC,OAAO,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAC,UAACC,aAAkB,EAAAC,IAAA,EAAmB;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,IAAA;MAAhBG,GAAG,GAAAF,KAAA;MAAEG,KAAK,GAAAH,KAAA;IAClE,IAAId,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;MAC3BJ,aAAa,CAACI,GAAG,CAAC,GAAIf,IAAI,CAASE,KAAK,CAACa,GAAG,CAAC;IAC/C,CAAC,MAAM;MACLJ,aAAa,CAACI,GAAG,CAAC,GAAGC,KAAK;IAC5B;IACA,OAAOL,aAAa;EACtB,CAAC,EAAE,CAAC,CAAwB,CAAC;AAC/B;AAEO,SAASM,gBAAgBA,CAC9BjB,IAAO,EACPkB,OAAiE,EAEjE;EAAA,IADAC,QAAoB,GAAAb,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAG,YAAM,CAAC,CAAC;EAE/BN,IAAI,CAACoB,QAAQ,CACX,UAACf,KAAK,EAAK;IACT,IAAMM,aAAa,GAAGP,QAAQ,CAACJ,IAAI,EAAEK,KAAK,CAAC;IAC3C,IAAMgB,aAAa,GAAG,OAAOH,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACP,aAAa,CAAC,GAAGO,OAAO;IAEtF,IAAMI,oBAAoB,GAAGd,MAAM,CAACC,OAAO,CAACY,aAAa,CAAC,CAACX,MAAM,CAC/D,UAACa,UAAU,EAAAC,KAAA,EAAmB;MAAA,IAAAC,KAAA,OAAAX,eAAA,aAAAU,KAAA;QAAhBT,GAAG,GAAAU,KAAA;QAAET,KAAK,GAAAS,KAAA;MACtB,IAAI,CAAC1B,YAAY,CAACC,IAAI,EAAEe,GAAG,CAAC,EAAE;QAC5BQ,UAAU,CAACR,GAAG,CAAC,GAAGC,KAAK;MACzB;MACA,OAAOO,UAAU;IACnB,CAAC,EACD,CAAC,CACH,CAAC;IAED,OAAOf,MAAM,CAACkB,IAAI,CAACJ,oBAAoB,CAAC,CAACf,MAAM,GAAGe,oBAAoB,GAAG,CAAC,CAAC;EAC7E,CAAC,EACD,YAAM;IACJH,QAAQ,CAAC,CAAC;EACZ,CACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,13 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
2
  export function isControlled(self, prop) {
2
3
  return self.props[prop] !== undefined;
3
4
  }
4
- export function getState(self, state = self.state) {
5
- return Object.entries(state).reduce((combinedState, [key, value]) => {
5
+ export function getState(self) {
6
+ var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : self.state;
7
+ return Object.entries(state).reduce(function (combinedState, _ref) {
8
+ var _ref2 = _slicedToArray(_ref, 2),
9
+ key = _ref2[0],
10
+ value = _ref2[1];
6
11
  if (isControlled(self, key)) {
7
12
  combinedState[key] = self.props[key];
8
13
  } else {
@@ -11,18 +16,22 @@ export function getState(self, state = self.state) {
11
16
  return combinedState;
12
17
  }, {});
13
18
  }
14
- export function internalSetState(self, changes, callback = () => {}) {
15
- self.setState(state => {
16
- const combinedState = getState(self, state);
17
- const changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
18
- const nonControlledChanges = Object.entries(changesObject).reduce((newChanges, [key, value]) => {
19
+ export function internalSetState(self, changes) {
20
+ var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
21
+ self.setState(function (state) {
22
+ var combinedState = getState(self, state);
23
+ var changesObject = typeof changes === 'function' ? changes(combinedState) : changes;
24
+ var nonControlledChanges = Object.entries(changesObject).reduce(function (newChanges, _ref3) {
25
+ var _ref4 = _slicedToArray(_ref3, 2),
26
+ key = _ref4[0],
27
+ value = _ref4[1];
19
28
  if (!isControlled(self, key)) {
20
29
  newChanges[key] = value;
21
30
  }
22
31
  return newChanges;
23
32
  }, {});
24
33
  return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
25
- }, () => {
34
+ }, function () {
26
35
  callback();
27
36
  });
28
37
  }