@semcore/core 17.0.1-prerelease.0 → 17.1.0-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 +123 -3
  2. package/README.md +5 -35
  3. package/lib/LastInteractionType.js +22 -36
  4. package/lib/LastInteractionType.js.map +1 -1
  5. package/lib/LastInteractionType.mjs +19 -33
  6. package/lib/LastInteractionType.mjs.map +1 -1
  7. package/lib/core-types/Component.js +25 -41
  8. package/lib/core-types/Component.js.map +1 -1
  9. package/lib/core-types/Component.mjs +18 -38
  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 +158 -238
  16. package/lib/coreFactory.js.map +1 -1
  17. package/lib/coreFactory.mjs +133 -189
  18. package/lib/coreFactory.mjs.map +1 -1
  19. package/lib/decorators/propsObserver.js +36 -64
  20. package/lib/decorators/propsObserver.js.map +1 -1
  21. package/lib/decorators/propsObserver.mjs +33 -61
  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 +51 -59
  28. package/lib/enhancement/Children.js.map +1 -1
  29. package/lib/enhancement/Children.mjs +47 -41
  30. package/lib/enhancement/Children.mjs.map +1 -1
  31. package/lib/enhancement/Root.js +36 -37
  32. package/lib/enhancement/Root.js.map +1 -1
  33. package/lib/enhancement/Root.mjs +28 -18
  34. package/lib/enhancement/Root.mjs.map +1 -1
  35. package/lib/enhancement/dataName.js +7 -8
  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 +6 -9
  40. package/lib/enhancement/enhance.js.map +1 -1
  41. package/lib/enhancement/enhance.mjs +4 -7
  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 +10 -9
  50. package/lib/enhancement/i18n.mjs.map +1 -1
  51. package/lib/enhancement/inheritedName.js +7 -8
  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 +47 -56
  56. package/lib/enhancement/staticChildren.js.map +1 -1
  57. package/lib/enhancement/staticChildren.mjs +43 -48
  58. package/lib/enhancement/staticChildren.mjs.map +1 -1
  59. package/lib/enhancement/style.js +29 -27
  60. package/lib/enhancement/style.js.map +1 -1
  61. package/lib/enhancement/style.mjs +26 -20
  62. package/lib/enhancement/style.mjs.map +1 -1
  63. package/lib/enhancement/uncontrolledProps.js +46 -65
  64. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  65. package/lib/enhancement/uncontrolledProps.mjs +43 -52
  66. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  67. package/lib/esm/LastInteractionType.mjs +19 -33
  68. package/lib/esm/core-types/Component.mjs +18 -38
  69. package/lib/esm/core-types/symbols.mjs +9 -9
  70. package/lib/esm/coreFactory.mjs +133 -189
  71. package/lib/esm/enhancement/Children.mjs +47 -41
  72. package/lib/esm/enhancement/Root.mjs +28 -18
  73. package/lib/esm/enhancement/dataName.mjs +5 -5
  74. package/lib/esm/enhancement/enhance.mjs +4 -7
  75. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  76. package/lib/esm/enhancement/i18n.mjs +10 -9
  77. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  78. package/lib/esm/enhancement/staticChildren.mjs +43 -48
  79. package/lib/esm/enhancement/style.mjs +26 -20
  80. package/lib/esm/enhancement/uncontrolledProps.mjs +43 -52
  81. package/lib/esm/register.mjs +12 -20
  82. package/lib/esm/styled/reshadow-core.mjs +98 -111
  83. package/lib/esm/styled/sstyled.mjs +31 -41
  84. package/lib/esm/utils/assignProps.mjs +32 -36
  85. package/lib/esm/utils/enhances/WithI18n.mjs +15 -17
  86. package/lib/esm/utils/enhances/i18nEnhance.mjs +47 -61
  87. package/lib/esm/utils/logger.mjs +13 -21
  88. package/lib/esm/utils/pick.mjs +4 -4
  89. package/lib/esm/utils/ref.mjs +27 -43
  90. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  91. package/lib/index.js +17 -17
  92. package/lib/register.js +17 -24
  93. package/lib/register.js.map +1 -1
  94. package/lib/register.mjs +12 -20
  95. package/lib/register.mjs.map +1 -1
  96. package/lib/styled/index.js +4 -4
  97. package/lib/styled/reshadow-core.js +102 -104
  98. package/lib/styled/reshadow-core.js.map +1 -1
  99. package/lib/styled/reshadow-core.mjs +98 -111
  100. package/lib/styled/reshadow-core.mjs.map +1 -1
  101. package/lib/styled/sstyled.js +31 -53
  102. package/lib/styled/sstyled.js.map +1 -1
  103. package/lib/styled/sstyled.mjs +31 -41
  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 +8 -10
  116. package/lib/utils/CSSinJS.js.map +1 -1
  117. package/lib/utils/CSSinJS.mjs +6 -7
  118. package/lib/utils/CSSinJS.mjs.map +1 -1
  119. package/lib/utils/ThemeProvider.js +44 -51
  120. package/lib/utils/ThemeProvider.js.map +1 -1
  121. package/lib/utils/ThemeProvider.mjs +36 -47
  122. package/lib/utils/ThemeProvider.mjs.map +1 -1
  123. package/lib/utils/addonText.js +4 -7
  124. package/lib/utils/addonText.js.map +1 -1
  125. package/lib/utils/addonText.mjs +2 -5
  126. package/lib/utils/addonText.mjs.map +1 -1
  127. package/lib/utils/addonTextChildren.js +15 -21
  128. package/lib/utils/addonTextChildren.js.map +1 -1
  129. package/lib/utils/addonTextChildren.mjs +7 -13
  130. package/lib/utils/addonTextChildren.mjs.map +1 -1
  131. package/lib/utils/ariaProps.js +7 -5
  132. package/lib/utils/ariaProps.js.map +1 -1
  133. package/lib/utils/ariaProps.mjs +7 -5
  134. package/lib/utils/ariaProps.mjs.map +1 -1
  135. package/lib/utils/assignProps.js +33 -37
  136. package/lib/utils/assignProps.js.map +1 -1
  137. package/lib/utils/assignProps.mjs +32 -36
  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 +72 -95
  142. package/lib/utils/color.js.map +1 -1
  143. package/lib/utils/color.mjs +71 -94
  144. package/lib/utils/color.mjs.map +1 -1
  145. package/lib/utils/compose.js +3 -12
  146. package/lib/utils/compose.js.map +1 -1
  147. package/lib/utils/compose.mjs +2 -11
  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 +3 -4
  154. package/lib/utils/cssToIntDefault.js.map +1 -1
  155. package/lib/utils/cssToIntDefault.mjs +2 -3
  156. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  157. package/lib/utils/enhances/WithCSS.js +10 -8
  158. package/lib/utils/enhances/WithCSS.js.map +1 -1
  159. package/lib/utils/enhances/WithCSS.mjs +7 -6
  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 +15 -17
  164. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  165. package/lib/utils/enhances/a11yEnhance.js +34 -39
  166. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  167. package/lib/utils/enhances/a11yEnhance.mjs +32 -36
  168. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  169. package/lib/utils/enhances/animatedSizeEnhance.js +55 -63
  170. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  171. package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -58
  172. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  173. package/lib/utils/enhances/contextEnhance.js +12 -11
  174. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  175. package/lib/utils/enhances/contextEnhance.mjs +9 -8
  176. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  177. package/lib/utils/enhances/i18nEnhance.js +51 -67
  178. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  179. package/lib/utils/enhances/i18nEnhance.mjs +47 -61
  180. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  181. package/lib/utils/enhances/resolveColorEnhance.js +12 -10
  182. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  183. package/lib/utils/enhances/resolveColorEnhance.mjs +8 -6
  184. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  185. package/lib/utils/eventEmitter.js +30 -57
  186. package/lib/utils/eventEmitter.js.map +1 -1
  187. package/lib/utils/eventEmitter.mjs +26 -55
  188. package/lib/utils/eventEmitter.mjs.map +1 -1
  189. package/lib/utils/findComponent.js +35 -42
  190. package/lib/utils/findComponent.js.map +1 -1
  191. package/lib/utils/findComponent.mjs +26 -33
  192. package/lib/utils/findComponent.mjs.map +1 -1
  193. package/lib/utils/fire.js +7 -13
  194. package/lib/utils/fire.js.map +1 -1
  195. package/lib/utils/fire.mjs +5 -11
  196. package/lib/utils/fire.mjs.map +1 -1
  197. package/lib/utils/focus-lock/focusBorders.js +28 -32
  198. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  199. package/lib/utils/focus-lock/focusBorders.mjs +26 -32
  200. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  201. package/lib/utils/focus-lock/getFocusableIn.js +4 -6
  202. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  203. package/lib/utils/focus-lock/getFocusableIn.mjs +3 -6
  204. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  205. package/lib/utils/focus-lock/isFocusInside.js +5 -6
  206. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  207. package/lib/utils/focus-lock/isFocusInside.mjs +4 -6
  208. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  209. package/lib/utils/focus-lock/isFocusable.js +9 -12
  210. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  211. package/lib/utils/focus-lock/isFocusable.mjs +8 -11
  212. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  213. package/lib/utils/focus-lock/setFocus.js +21 -27
  214. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  215. package/lib/utils/focus-lock/setFocus.mjs +19 -25
  216. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  217. package/lib/utils/getAccessibleName.js +10 -22
  218. package/lib/utils/getAccessibleName.js.map +1 -1
  219. package/lib/utils/getAccessibleName.mjs +10 -21
  220. package/lib/utils/getAccessibleName.mjs.map +1 -1
  221. package/lib/utils/getDisplayName.js +1 -1
  222. package/lib/utils/getEventTarget.js +13 -32
  223. package/lib/utils/getEventTarget.js.map +1 -1
  224. package/lib/utils/getEventTarget.mjs +12 -31
  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 +4 -6
  230. package/lib/utils/getValue.js.map +1 -1
  231. package/lib/utils/getValue.mjs +3 -5
  232. package/lib/utils/getValue.mjs.map +1 -1
  233. package/lib/utils/hasLabels.js +16 -27
  234. package/lib/utils/hasLabels.js.map +1 -1
  235. package/lib/utils/hasLabels.mjs +14 -24
  236. package/lib/utils/hasLabels.mjs.map +1 -1
  237. package/lib/utils/hasParent.js +3 -2
  238. package/lib/utils/hasParent.js.map +1 -1
  239. package/lib/utils/hasParent.mjs +2 -3
  240. package/lib/utils/hasParent.mjs.map +1 -1
  241. package/lib/utils/ifChildren.js +6 -4
  242. package/lib/utils/ifChildren.js.map +1 -1
  243. package/lib/utils/ifChildren.mjs +4 -2
  244. package/lib/utils/ifChildren.mjs.map +1 -1
  245. package/lib/utils/indentStyles.js +5 -10
  246. package/lib/utils/indentStyles.js.map +1 -1
  247. package/lib/utils/indentStyles.mjs +5 -9
  248. package/lib/utils/indentStyles.mjs.map +1 -1
  249. package/lib/utils/injectStyle.js +11 -13
  250. package/lib/utils/injectStyle.js.map +1 -1
  251. package/lib/utils/injectStyle.mjs +9 -10
  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 +7 -9
  258. package/lib/utils/isInteractiveElement.js.map +1 -1
  259. package/lib/utils/isInteractiveElement.mjs +7 -9
  260. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  261. package/lib/utils/isNode.js +4 -5
  262. package/lib/utils/isNode.js.map +1 -1
  263. package/lib/utils/isNode.mjs +1 -2
  264. package/lib/utils/isNode.mjs.map +1 -1
  265. package/lib/utils/isPromise.js +1 -1
  266. package/lib/utils/isRetina.js +7 -2
  267. package/lib/utils/isRetina.js.map +1 -1
  268. package/lib/utils/isRetina.mjs +6 -1
  269. package/lib/utils/isRetina.mjs.map +1 -1
  270. package/lib/utils/logger.js +18 -25
  271. package/lib/utils/logger.js.map +1 -1
  272. package/lib/utils/logger.mjs +13 -21
  273. package/lib/utils/logger.mjs.map +1 -1
  274. package/lib/utils/numericChecker.js +11 -18
  275. package/lib/utils/numericChecker.js.map +1 -1
  276. package/lib/utils/numericChecker.mjs +10 -17
  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 +10 -12
  287. package/lib/utils/propsForElement.js.map +1 -1
  288. package/lib/utils/propsForElement.mjs +8 -10
  289. package/lib/utils/propsForElement.mjs.map +1 -1
  290. package/lib/utils/rafTrottle.js +9 -14
  291. package/lib/utils/rafTrottle.js.map +1 -1
  292. package/lib/utils/rafTrottle.mjs +7 -12
  293. package/lib/utils/rafTrottle.mjs.map +1 -1
  294. package/lib/utils/reactToText.js +5 -8
  295. package/lib/utils/reactToText.js.map +1 -1
  296. package/lib/utils/reactToText.mjs +3 -6
  297. package/lib/utils/reactToText.mjs.map +1 -1
  298. package/lib/utils/ref.js +29 -47
  299. package/lib/utils/ref.js.map +1 -1
  300. package/lib/utils/ref.mjs +27 -43
  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 +8 -18
  309. package/lib/utils/uncontroll.js.map +1 -1
  310. package/lib/utils/uncontroll.mjs +8 -17
  311. package/lib/utils/uncontroll.mjs.map +1 -1
  312. package/lib/utils/uniqueID.js +22 -27
  313. package/lib/utils/uniqueID.js.map +1 -1
  314. package/lib/utils/uniqueID.mjs +18 -25
  315. package/lib/utils/uniqueID.mjs.map +1 -1
  316. package/lib/utils/use/useColorResolver.js +20 -21
  317. package/lib/utils/use/useColorResolver.js.map +1 -1
  318. package/lib/utils/use/useColorResolver.mjs +16 -18
  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 +5 -10
  325. package/lib/utils/use/useEventCallback.js.map +1 -1
  326. package/lib/utils/use/useEventCallback.mjs +3 -8
  327. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  328. package/lib/utils/use/useEventListener.js +11 -15
  329. package/lib/utils/use/useEventListener.js.map +1 -1
  330. package/lib/utils/use/useEventListener.mjs +7 -11
  331. package/lib/utils/use/useEventListener.mjs.map +1 -1
  332. package/lib/utils/use/useFocusLock.js +80 -94
  333. package/lib/utils/use/useFocusLock.js.map +1 -1
  334. package/lib/utils/use/useFocusLock.mjs +71 -88
  335. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  336. package/lib/utils/use/usePreventScroll.js +24 -26
  337. package/lib/utils/use/usePreventScroll.js.map +1 -1
  338. package/lib/utils/use/usePreventScroll.mjs +19 -21
  339. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  340. package/lib/utils/use/useScrollBarWidth.js +8 -14
  341. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  342. package/lib/utils/use/useScrollBarWidth.mjs +8 -13
  343. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  344. package/lib/utils/useCssVariable.js +32 -37
  345. package/lib/utils/useCssVariable.js.map +1 -1
  346. package/lib/utils/useCssVariable.mjs +27 -34
  347. package/lib/utils/useCssVariable.mjs.map +1 -1
  348. package/lib/utils/zIndexStacking.js +28 -24
  349. package/lib/utils/zIndexStacking.js.map +1 -1
  350. package/lib/utils/zIndexStacking.mjs +23 -22
  351. package/lib/utils/zIndexStacking.mjs.map +1 -1
  352. package/package.json +316 -13
  353. package/tsconfig-utils.json +4 -0
  354. package/vite.config.ts +22 -0
@@ -1 +1 @@
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":[]}
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":[]}
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,13 +9,11 @@ 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"));
14
12
  var _react = _interopRequireDefault(require("react"));
15
13
  function setRef(ref, value) {
16
14
  if (typeof ref === 'function') {
17
15
  ref(value);
18
- } else if (ref !== null && ref !== void 0 && ref.hasOwnProperty('current')) {
16
+ } else if (ref?.hasOwnProperty('current')) {
19
17
  // @ts-ignore
20
18
  ref['current'] = value;
21
19
  }
@@ -25,58 +23,42 @@ function getRef(ref) {
25
23
  return 'current' in ref ? ref.current : ref;
26
24
  }
27
25
  function useCallbackRef(initialValue, callback) {
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
- }
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);
46
41
  }
47
- };
48
- }),
49
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 1),
50
- ref = _React$useState2[0];
42
+ }
43
+ }
44
+ }));
51
45
  // update callback
52
46
  ref.callback = callback;
53
47
  return ref.facade;
54
48
  }
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
- });
49
+ function useForkRef(...refs) {
50
+ return _react.default.useCallback(refValue => {
51
+ const uniqueRefs = [...new Set(refs)];
52
+ uniqueRefs.forEach(ref => setRef(ref, refValue));
64
53
  }, refs);
65
54
  }
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
- })) {
55
+ function forkRef(...refs) {
56
+ if (refs.every(ref => ref == null)) {
73
57
  return null;
74
58
  }
75
- return function (refValue) {
76
- var uniqueRefs = (0, _toConsumableArray2["default"])(new Set(refs));
77
- uniqueRefs.forEach(function (ref) {
78
- return setRef(ref, refValue);
79
- });
59
+ return refValue => {
60
+ const uniqueRefs = [...new Set(refs)];
61
+ uniqueRefs.forEach(ref => setRef(ref, refValue));
80
62
  };
81
63
  }
82
64
  //# 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","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":[]}
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":[]}
package/lib/utils/ref.mjs CHANGED
@@ -1,10 +1,8 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
1
  import React from "react";
4
2
  function setRef(ref, value) {
5
3
  if (typeof ref === "function") {
6
4
  ref(value);
7
- } else if (ref !== null && ref !== void 0 && ref.hasOwnProperty("current")) {
5
+ } else if (ref?.hasOwnProperty("current")) {
8
6
  ref["current"] = value;
9
7
  }
10
8
  }
@@ -13,55 +11,41 @@ function getRef(ref) {
13
11
  return "current" in ref ? ref.current : ref;
14
12
  }
15
13
  function useCallbackRef(initialValue, callback) {
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
- }
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);
33
29
  }
34
30
  }
35
- };
36
- }), _React$useState2 = _slicedToArray(_React$useState, 1), ref = _React$useState2[0];
31
+ }
32
+ }));
37
33
  ref.callback = callback;
38
34
  return ref.facade;
39
35
  }
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
- });
36
+ function useForkRef(...refs) {
37
+ return React.useCallback((refValue) => {
38
+ const uniqueRefs = [...new Set(refs)];
39
+ uniqueRefs.forEach((ref) => setRef(ref, refValue));
49
40
  }, refs);
50
41
  }
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
- })) {
42
+ function forkRef(...refs) {
43
+ if (refs.every((ref) => ref == null)) {
58
44
  return null;
59
45
  }
60
- return function(refValue) {
61
- var uniqueRefs = _toConsumableArray(new Set(refs));
62
- uniqueRefs.forEach(function(ref) {
63
- return setRef(ref, refValue);
64
- });
46
+ return (refValue) => {
47
+ const uniqueRefs = [...new Set(refs)];
48
+ uniqueRefs.forEach((ref) => setRef(ref, refValue));
65
49
  };
66
50
  }
67
51
  export {
@@ -1 +1 @@
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":[]}
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":[]}
@@ -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","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
+ {"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,23 +1,22 @@
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;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
+ exports.default = syncScroll;
9
8
  var _canUseDOM = _interopRequireDefault(require("./canUseDOM"));
10
9
  function syncScroll() {
11
- var refs = new Map();
10
+ const refs = new Map();
12
11
  function handlerScroll(event) {
13
- var scrolledNode = event.currentTarget;
14
- if (!(0, _canUseDOM["default"])()) return;
15
- window.requestAnimationFrame(function () {
16
- refs.forEach(function (node) {
12
+ const scrolledNode = event.currentTarget;
13
+ if (!(0, _canUseDOM.default)()) return;
14
+ window.requestAnimationFrame(() => {
15
+ refs.forEach(node => {
17
16
  if (scrolledNode !== node && node) {
18
17
  node.removeEventListener('scroll', handlerScroll);
19
18
  syncScrollPosition(scrolledNode, node);
20
- window.requestAnimationFrame(function () {
19
+ window.requestAnimationFrame(() => {
21
20
  node.addEventListener('scroll', handlerScroll);
22
21
  });
23
22
  }
@@ -25,16 +24,18 @@ function syncScroll() {
25
24
  });
26
25
  }
27
26
  function syncScrollPosition(scrolledNode, node) {
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;
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;
38
39
  if (scrollTopOffset > 0) {
39
40
  node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
40
41
  }
@@ -42,15 +43,14 @@ function syncScroll() {
42
43
  node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
43
44
  }
44
45
  }
45
- return function (name) {
46
+ return name => {
46
47
  refs.set(name, null);
47
- return function (ref) {
48
- var _refs$get;
49
- (_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
48
+ return ref => {
49
+ refs.get(name)?.removeEventListener('scroll', handlerScroll);
50
50
  refs.set(name, ref);
51
51
  if (ref) {
52
52
  ref.addEventListener('scroll', handlerScroll);
53
- var scrolledNode = (0, _toConsumableArray2["default"])(refs.values())[0];
53
+ const scrolledNode = [...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","_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
+ {"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,16 +1,15 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import canUseDOM from "./canUseDOM.mjs";
3
2
  export default function syncScroll() {
4
- var refs = new Map();
3
+ const refs = new Map();
5
4
  function handlerScroll(event) {
6
- var scrolledNode = event.currentTarget;
5
+ const scrolledNode = event.currentTarget;
7
6
  if (!canUseDOM()) return;
8
- window.requestAnimationFrame(function () {
9
- refs.forEach(function (node) {
7
+ window.requestAnimationFrame(() => {
8
+ refs.forEach(node => {
10
9
  if (scrolledNode !== node && node) {
11
10
  node.removeEventListener('scroll', handlerScroll);
12
11
  syncScrollPosition(scrolledNode, node);
13
- window.requestAnimationFrame(function () {
12
+ window.requestAnimationFrame(() => {
14
13
  node.addEventListener('scroll', handlerScroll);
15
14
  });
16
15
  }
@@ -18,16 +17,18 @@ export default function syncScroll() {
18
17
  });
19
18
  }
20
19
  function syncScrollPosition(scrolledNode, node) {
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;
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;
31
32
  if (scrollTopOffset > 0) {
32
33
  node.scrollTop = nodeHeight * scrollTop / scrollTopOffset;
33
34
  }
@@ -35,15 +36,14 @@ export default function syncScroll() {
35
36
  node.scrollLeft = nodeWidth * scrollLeft / scrollLeftOffset;
36
37
  }
37
38
  }
38
- return function (name) {
39
+ return name => {
39
40
  refs.set(name, null);
40
- return function (ref) {
41
- var _refs$get;
42
- (_refs$get = refs.get(name)) === null || _refs$get === void 0 || _refs$get.removeEventListener('scroll', handlerScroll);
41
+ return ref => {
42
+ refs.get(name)?.removeEventListener('scroll', handlerScroll);
43
43
  refs.set(name, ref);
44
44
  if (ref) {
45
45
  ref.addEventListener('scroll', handlerScroll);
46
- var scrolledNode = _toConsumableArray(refs.values())[0];
46
+ const scrolledNode = [...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","_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
+ {"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,22 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.getState = getState;
8
7
  exports.internalSetState = internalSetState;
9
8
  exports.isControlled = isControlled;
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
9
  function isControlled(self, prop) {
12
10
  return self.props[prop] !== undefined;
13
11
  }
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];
12
+ function getState(self, state = self.state) {
13
+ return Object.entries(state).reduce((combinedState, [key, value]) => {
20
14
  if (isControlled(self, key)) {
21
15
  combinedState[key] = self.props[key];
22
16
  } else {
@@ -25,22 +19,18 @@ function getState(self) {
25
19
  return combinedState;
26
20
  }, {});
27
21
  }
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];
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]) => {
37
27
  if (!isControlled(self, key)) {
38
28
  newChanges[key] = value;
39
29
  }
40
30
  return newChanges;
41
31
  }, {});
42
32
  return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
43
- }, function () {
33
+ }, () => {
44
34
  callback();
45
35
  });
46
36
  }
@@ -1 +1 @@
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
+ {"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,13 +1,8 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  export function isControlled(self, prop) {
3
2
  return self.props[prop] !== undefined;
4
3
  }
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];
4
+ export function getState(self, state = self.state) {
5
+ return Object.entries(state).reduce((combinedState, [key, value]) => {
11
6
  if (isControlled(self, key)) {
12
7
  combinedState[key] = self.props[key];
13
8
  } else {
@@ -16,22 +11,18 @@ export function getState(self) {
16
11
  return combinedState;
17
12
  }, {});
18
13
  }
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];
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]) => {
28
19
  if (!isControlled(self, key)) {
29
20
  newChanges[key] = value;
30
21
  }
31
22
  return newChanges;
32
23
  }, {});
33
24
  return Object.keys(nonControlledChanges).length ? nonControlledChanges : {};
34
- }, function () {
25
+ }, () => {
35
26
  callback();
36
27
  });
37
28
  }