@semcore/core 17.0.0-prerelease.19 → 17.0.0-prerelease.20-prerelease.20

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 (355) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/lib/LastInteractionType.js +36 -22
  3. package/lib/LastInteractionType.js.map +1 -1
  4. package/lib/LastInteractionType.mjs +33 -19
  5. package/lib/LastInteractionType.mjs.map +1 -1
  6. package/lib/core-types/Component.js +41 -25
  7. package/lib/core-types/Component.js.map +1 -1
  8. package/lib/core-types/Component.mjs +38 -18
  9. package/lib/core-types/Component.mjs.map +1 -1
  10. package/lib/core-types/symbols.js +9 -9
  11. package/lib/core-types/symbols.js.map +1 -1
  12. package/lib/core-types/symbols.mjs +9 -9
  13. package/lib/core-types/symbols.mjs.map +1 -1
  14. package/lib/coreFactory.js +205 -143
  15. package/lib/coreFactory.js.map +1 -1
  16. package/lib/coreFactory.mjs +164 -118
  17. package/lib/coreFactory.mjs.map +1 -1
  18. package/lib/decorators/propsObserver.js +64 -36
  19. package/lib/decorators/propsObserver.js.map +1 -1
  20. package/lib/decorators/propsObserver.mjs +61 -33
  21. package/lib/decorators/propsObserver.mjs.map +1 -1
  22. package/lib/decorators/reactive.js +17 -17
  23. package/lib/decorators/reactive.js.map +1 -1
  24. package/lib/decorators/reactive.mjs +15 -15
  25. package/lib/decorators/reactive.mjs.map +1 -1
  26. package/lib/enhancement/Children.js +59 -51
  27. package/lib/enhancement/Children.js.map +1 -1
  28. package/lib/enhancement/Children.mjs +41 -47
  29. package/lib/enhancement/Children.mjs.map +1 -1
  30. package/lib/enhancement/Root.js +37 -36
  31. package/lib/enhancement/Root.js.map +1 -1
  32. package/lib/enhancement/Root.mjs +18 -28
  33. package/lib/enhancement/Root.mjs.map +1 -1
  34. package/lib/enhancement/dataName.js +8 -7
  35. package/lib/enhancement/dataName.js.map +1 -1
  36. package/lib/enhancement/dataName.mjs +5 -5
  37. package/lib/enhancement/dataName.mjs.map +1 -1
  38. package/lib/enhancement/enhance.js +9 -6
  39. package/lib/enhancement/enhance.js.map +1 -1
  40. package/lib/enhancement/enhance.mjs +7 -5
  41. package/lib/enhancement/enhance.mjs.map +1 -1
  42. package/lib/enhancement/functionDefaultProps.js +6 -6
  43. package/lib/enhancement/functionDefaultProps.js.map +1 -1
  44. package/lib/enhancement/functionDefaultProps.mjs +4 -4
  45. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  46. package/lib/enhancement/i18n.js +13 -13
  47. package/lib/enhancement/i18n.js.map +1 -1
  48. package/lib/enhancement/i18n.mjs +9 -10
  49. package/lib/enhancement/i18n.mjs.map +1 -1
  50. package/lib/enhancement/inheritedName.js +8 -7
  51. package/lib/enhancement/inheritedName.js.map +1 -1
  52. package/lib/enhancement/inheritedName.mjs +5 -5
  53. package/lib/enhancement/inheritedName.mjs.map +1 -1
  54. package/lib/enhancement/staticChildren.js +56 -47
  55. package/lib/enhancement/staticChildren.js.map +1 -1
  56. package/lib/enhancement/staticChildren.mjs +48 -43
  57. package/lib/enhancement/staticChildren.mjs.map +1 -1
  58. package/lib/enhancement/style.js +27 -29
  59. package/lib/enhancement/style.js.map +1 -1
  60. package/lib/enhancement/style.mjs +20 -26
  61. package/lib/enhancement/style.mjs.map +1 -1
  62. package/lib/enhancement/uncontrolledProps.js +65 -46
  63. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  64. package/lib/enhancement/uncontrolledProps.mjs +52 -43
  65. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  66. package/lib/esm/LastInteractionType.mjs +33 -19
  67. package/lib/esm/core-types/Component.mjs +38 -18
  68. package/lib/esm/core-types/symbols.mjs +9 -9
  69. package/lib/esm/coreFactory.mjs +164 -118
  70. package/lib/esm/enhancement/Children.mjs +41 -47
  71. package/lib/esm/enhancement/Root.mjs +18 -28
  72. package/lib/esm/enhancement/dataName.mjs +5 -5
  73. package/lib/esm/enhancement/enhance.mjs +7 -5
  74. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  75. package/lib/esm/enhancement/i18n.mjs +9 -10
  76. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  77. package/lib/esm/enhancement/staticChildren.mjs +48 -43
  78. package/lib/esm/enhancement/style.mjs +20 -26
  79. package/lib/esm/enhancement/uncontrolledProps.mjs +52 -43
  80. package/lib/esm/register.mjs +20 -12
  81. package/lib/esm/styled/reshadow-core.mjs +111 -98
  82. package/lib/esm/styled/sstyled.mjs +41 -31
  83. package/lib/esm/utils/assignProps.mjs +36 -32
  84. package/lib/esm/utils/enhances/WithI18n.mjs +17 -15
  85. package/lib/esm/utils/enhances/i18nEnhance.mjs +61 -47
  86. package/lib/esm/utils/logger.mjs +21 -13
  87. package/lib/esm/utils/pick.mjs +4 -4
  88. package/lib/esm/utils/ref.mjs +43 -27
  89. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  90. package/lib/index.js +17 -17
  91. package/lib/register.js +24 -17
  92. package/lib/register.js.map +1 -1
  93. package/lib/register.mjs +20 -12
  94. package/lib/register.mjs.map +1 -1
  95. package/lib/styled/index.js +4 -4
  96. package/lib/styled/reshadow-core.js +104 -102
  97. package/lib/styled/reshadow-core.js.map +1 -1
  98. package/lib/styled/reshadow-core.mjs +111 -98
  99. package/lib/styled/reshadow-core.mjs.map +1 -1
  100. package/lib/styled/sstyled.js +53 -31
  101. package/lib/styled/sstyled.js.map +1 -1
  102. package/lib/styled/sstyled.mjs +41 -31
  103. package/lib/styled/sstyled.mjs.map +1 -1
  104. package/lib/theme/processor.js +222 -150
  105. package/lib/theme/processor.js.map +1 -1
  106. package/lib/theme/processor.mjs +221 -148
  107. package/lib/theme/processor.mjs.map +1 -1
  108. package/lib/theme/themes/dark.js +2 -2
  109. package/lib/theme/themes/dark.js.map +1 -1
  110. package/lib/theme/themes/default.js +2 -2
  111. package/lib/theme/themes/default.js.map +1 -1
  112. package/lib/theme/themes/highlights-dark.js +2 -2
  113. package/lib/theme/themes/highlights-dark.js.map +1 -1
  114. package/lib/theme/themes/highlights-light.js +2 -2
  115. package/lib/theme/themes/highlights-light.js.map +1 -1
  116. package/lib/theme/themes/light.js +2 -2
  117. package/lib/theme/themes/light.js.map +1 -1
  118. package/lib/theme/utils.js +215 -140
  119. package/lib/theme/utils.js.map +1 -1
  120. package/lib/theme/utils.mjs +214 -135
  121. package/lib/theme/utils.mjs.map +1 -1
  122. package/lib/utils/CSSinJS.js +10 -8
  123. package/lib/utils/CSSinJS.js.map +1 -1
  124. package/lib/utils/CSSinJS.mjs +7 -6
  125. package/lib/utils/CSSinJS.mjs.map +1 -1
  126. package/lib/utils/ThemeProvider.js +51 -44
  127. package/lib/utils/ThemeProvider.js.map +1 -1
  128. package/lib/utils/ThemeProvider.mjs +47 -36
  129. package/lib/utils/ThemeProvider.mjs.map +1 -1
  130. package/lib/utils/addonText.js +7 -4
  131. package/lib/utils/addonText.js.map +1 -1
  132. package/lib/utils/addonText.mjs +5 -2
  133. package/lib/utils/addonText.mjs.map +1 -1
  134. package/lib/utils/addonTextChildren.js +21 -15
  135. package/lib/utils/addonTextChildren.js.map +1 -1
  136. package/lib/utils/addonTextChildren.mjs +13 -7
  137. package/lib/utils/addonTextChildren.mjs.map +1 -1
  138. package/lib/utils/ariaProps.js +5 -7
  139. package/lib/utils/ariaProps.js.map +1 -1
  140. package/lib/utils/ariaProps.mjs +5 -7
  141. package/lib/utils/ariaProps.mjs.map +1 -1
  142. package/lib/utils/assignProps.js +37 -33
  143. package/lib/utils/assignProps.js.map +1 -1
  144. package/lib/utils/assignProps.mjs +36 -32
  145. package/lib/utils/assignProps.mjs.map +1 -1
  146. package/lib/utils/canUseDOM.js +1 -1
  147. package/lib/utils/capitalizeFirstLetter.js +1 -1
  148. package/lib/utils/color.js +95 -72
  149. package/lib/utils/color.js.map +1 -1
  150. package/lib/utils/color.mjs +94 -71
  151. package/lib/utils/color.mjs.map +1 -1
  152. package/lib/utils/compose.js +12 -3
  153. package/lib/utils/compose.js.map +1 -1
  154. package/lib/utils/compose.mjs +11 -2
  155. package/lib/utils/compose.mjs.map +1 -1
  156. package/lib/utils/createUUID.js +5 -5
  157. package/lib/utils/createUUID.js.map +1 -1
  158. package/lib/utils/createUUID.mjs +4 -4
  159. package/lib/utils/createUUID.mjs.map +1 -1
  160. package/lib/utils/cssToIntDefault.js +4 -3
  161. package/lib/utils/cssToIntDefault.js.map +1 -1
  162. package/lib/utils/cssToIntDefault.mjs +3 -2
  163. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  164. package/lib/utils/enhances/WithCSS.js +8 -10
  165. package/lib/utils/enhances/WithCSS.js.map +1 -1
  166. package/lib/utils/enhances/WithCSS.mjs +6 -7
  167. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  168. package/lib/utils/enhances/WithI18n.js +19 -19
  169. package/lib/utils/enhances/WithI18n.js.map +1 -1
  170. package/lib/utils/enhances/WithI18n.mjs +17 -15
  171. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  172. package/lib/utils/enhances/a11yEnhance.js +39 -34
  173. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  174. package/lib/utils/enhances/a11yEnhance.mjs +36 -32
  175. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  176. package/lib/utils/enhances/animatedSizeEnhance.js +63 -55
  177. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  178. package/lib/utils/enhances/animatedSizeEnhance.mjs +58 -50
  179. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  180. package/lib/utils/enhances/contextEnhance.js +11 -12
  181. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  182. package/lib/utils/enhances/contextEnhance.mjs +8 -9
  183. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  184. package/lib/utils/enhances/i18nEnhance.js +67 -51
  185. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  186. package/lib/utils/enhances/i18nEnhance.mjs +61 -47
  187. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  188. package/lib/utils/enhances/resolveColorEnhance.js +10 -12
  189. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  190. package/lib/utils/enhances/resolveColorEnhance.mjs +6 -8
  191. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  192. package/lib/utils/eventEmitter.js +57 -30
  193. package/lib/utils/eventEmitter.js.map +1 -1
  194. package/lib/utils/eventEmitter.mjs +55 -26
  195. package/lib/utils/eventEmitter.mjs.map +1 -1
  196. package/lib/utils/findComponent.js +42 -35
  197. package/lib/utils/findComponent.js.map +1 -1
  198. package/lib/utils/findComponent.mjs +33 -26
  199. package/lib/utils/findComponent.mjs.map +1 -1
  200. package/lib/utils/fire.js +13 -7
  201. package/lib/utils/fire.js.map +1 -1
  202. package/lib/utils/fire.mjs +11 -5
  203. package/lib/utils/fire.mjs.map +1 -1
  204. package/lib/utils/focus-lock/focusBorders.js +32 -28
  205. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  206. package/lib/utils/focus-lock/focusBorders.mjs +32 -26
  207. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  208. package/lib/utils/focus-lock/getFocusableIn.js +6 -4
  209. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  210. package/lib/utils/focus-lock/getFocusableIn.mjs +6 -3
  211. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  212. package/lib/utils/focus-lock/isFocusInside.js +6 -5
  213. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  214. package/lib/utils/focus-lock/isFocusInside.mjs +6 -4
  215. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  216. package/lib/utils/focus-lock/isFocusable.js +12 -9
  217. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  218. package/lib/utils/focus-lock/isFocusable.mjs +11 -8
  219. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  220. package/lib/utils/focus-lock/setFocus.js +27 -21
  221. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  222. package/lib/utils/focus-lock/setFocus.mjs +25 -19
  223. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  224. package/lib/utils/getAccessibleName.js +22 -10
  225. package/lib/utils/getAccessibleName.js.map +1 -1
  226. package/lib/utils/getAccessibleName.mjs +21 -10
  227. package/lib/utils/getAccessibleName.mjs.map +1 -1
  228. package/lib/utils/getDisplayName.js +1 -1
  229. package/lib/utils/getEventTarget.js +32 -13
  230. package/lib/utils/getEventTarget.js.map +1 -1
  231. package/lib/utils/getEventTarget.mjs +31 -12
  232. package/lib/utils/getEventTarget.mjs.map +1 -1
  233. package/lib/utils/getOriginChildren.js +4 -4
  234. package/lib/utils/getOriginChildren.js.map +1 -1
  235. package/lib/utils/getRandomInt.js +1 -1
  236. package/lib/utils/getValue.js +6 -4
  237. package/lib/utils/getValue.js.map +1 -1
  238. package/lib/utils/getValue.mjs +5 -3
  239. package/lib/utils/getValue.mjs.map +1 -1
  240. package/lib/utils/hasLabels.js +27 -16
  241. package/lib/utils/hasLabels.js.map +1 -1
  242. package/lib/utils/hasLabels.mjs +24 -14
  243. package/lib/utils/hasLabels.mjs.map +1 -1
  244. package/lib/utils/hasParent.js +2 -3
  245. package/lib/utils/hasParent.js.map +1 -1
  246. package/lib/utils/hasParent.mjs +3 -2
  247. package/lib/utils/hasParent.mjs.map +1 -1
  248. package/lib/utils/ifChildren.js +4 -6
  249. package/lib/utils/ifChildren.js.map +1 -1
  250. package/lib/utils/ifChildren.mjs +2 -4
  251. package/lib/utils/ifChildren.mjs.map +1 -1
  252. package/lib/utils/injectStyle.js +13 -11
  253. package/lib/utils/injectStyle.js.map +1 -1
  254. package/lib/utils/injectStyle.mjs +10 -9
  255. package/lib/utils/injectStyle.mjs.map +1 -1
  256. package/lib/utils/inputProps.js +5 -5
  257. package/lib/utils/inputProps.js.map +1 -1
  258. package/lib/utils/inputProps.mjs +4 -4
  259. package/lib/utils/inputProps.mjs.map +1 -1
  260. package/lib/utils/isInteractiveElement.js +9 -7
  261. package/lib/utils/isInteractiveElement.js.map +1 -1
  262. package/lib/utils/isInteractiveElement.mjs +9 -7
  263. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  264. package/lib/utils/isNode.js +5 -4
  265. package/lib/utils/isNode.js.map +1 -1
  266. package/lib/utils/isNode.mjs +2 -1
  267. package/lib/utils/isNode.mjs.map +1 -1
  268. package/lib/utils/isPromise.js +1 -1
  269. package/lib/utils/isRetina.js +2 -7
  270. package/lib/utils/isRetina.js.map +1 -1
  271. package/lib/utils/isRetina.mjs +1 -6
  272. package/lib/utils/isRetina.mjs.map +1 -1
  273. package/lib/utils/logger.js +25 -18
  274. package/lib/utils/logger.js.map +1 -1
  275. package/lib/utils/logger.mjs +21 -13
  276. package/lib/utils/logger.mjs.map +1 -1
  277. package/lib/utils/numericChecker.js +18 -11
  278. package/lib/utils/numericChecker.js.map +1 -1
  279. package/lib/utils/numericChecker.mjs +17 -10
  280. package/lib/utils/numericChecker.mjs.map +1 -1
  281. package/lib/utils/ownerDocument.js +2 -2
  282. package/lib/utils/ownerDocument.js.map +1 -1
  283. package/lib/utils/ownerDocument.mjs +1 -1
  284. package/lib/utils/ownerDocument.mjs.map +1 -1
  285. package/lib/utils/pick.js +5 -5
  286. package/lib/utils/pick.js.map +1 -1
  287. package/lib/utils/pick.mjs +4 -4
  288. package/lib/utils/pick.mjs.map +1 -1
  289. package/lib/utils/propsForElement.js +12 -10
  290. package/lib/utils/propsForElement.js.map +1 -1
  291. package/lib/utils/propsForElement.mjs +10 -8
  292. package/lib/utils/propsForElement.mjs.map +1 -1
  293. package/lib/utils/rafTrottle.js +14 -9
  294. package/lib/utils/rafTrottle.js.map +1 -1
  295. package/lib/utils/rafTrottle.mjs +12 -7
  296. package/lib/utils/rafTrottle.mjs.map +1 -1
  297. package/lib/utils/reactToText.js +8 -5
  298. package/lib/utils/reactToText.js.map +1 -1
  299. package/lib/utils/reactToText.mjs +6 -3
  300. package/lib/utils/reactToText.mjs.map +1 -1
  301. package/lib/utils/ref.js +47 -29
  302. package/lib/utils/ref.js.map +1 -1
  303. package/lib/utils/ref.mjs +43 -27
  304. package/lib/utils/ref.mjs.map +1 -1
  305. package/lib/utils/setRef.js +2 -2
  306. package/lib/utils/setRef.js.map +1 -1
  307. package/lib/utils/syncScroll.js +24 -24
  308. package/lib/utils/syncScroll.js.map +1 -1
  309. package/lib/utils/syncScroll.mjs +21 -21
  310. package/lib/utils/syncScroll.mjs.map +1 -1
  311. package/lib/utils/uncontroll.js +18 -8
  312. package/lib/utils/uncontroll.js.map +1 -1
  313. package/lib/utils/uncontroll.mjs +17 -8
  314. package/lib/utils/uncontroll.mjs.map +1 -1
  315. package/lib/utils/uniqueID.js +27 -22
  316. package/lib/utils/uniqueID.js.map +1 -1
  317. package/lib/utils/uniqueID.mjs +25 -18
  318. package/lib/utils/uniqueID.mjs.map +1 -1
  319. package/lib/utils/use/useColorResolver.js +21 -20
  320. package/lib/utils/use/useColorResolver.js.map +1 -1
  321. package/lib/utils/use/useColorResolver.mjs +18 -16
  322. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  323. package/lib/utils/use/useEnhancedEffect.js +4 -4
  324. package/lib/utils/use/useEnhancedEffect.js.map +1 -1
  325. package/lib/utils/use/useEnhancedEffect.mjs +1 -1
  326. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  327. package/lib/utils/use/useEventCallback.js +10 -5
  328. package/lib/utils/use/useEventCallback.js.map +1 -1
  329. package/lib/utils/use/useEventCallback.mjs +8 -3
  330. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  331. package/lib/utils/use/useEventListener.js +15 -11
  332. package/lib/utils/use/useEventListener.js.map +1 -1
  333. package/lib/utils/use/useEventListener.mjs +11 -7
  334. package/lib/utils/use/useEventListener.mjs.map +1 -1
  335. package/lib/utils/use/useFocusLock.js +94 -80
  336. package/lib/utils/use/useFocusLock.js.map +1 -1
  337. package/lib/utils/use/useFocusLock.mjs +88 -71
  338. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  339. package/lib/utils/use/usePreventScroll.js +28 -26
  340. package/lib/utils/use/usePreventScroll.js.map +1 -1
  341. package/lib/utils/use/usePreventScroll.mjs +23 -21
  342. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  343. package/lib/utils/use/useScrollBarWidth.js +14 -8
  344. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  345. package/lib/utils/use/useScrollBarWidth.mjs +13 -8
  346. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  347. package/lib/utils/useCssVariable.js +37 -32
  348. package/lib/utils/useCssVariable.js.map +1 -1
  349. package/lib/utils/useCssVariable.mjs +34 -27
  350. package/lib/utils/useCssVariable.mjs.map +1 -1
  351. package/lib/utils/zIndexStacking.js +24 -28
  352. package/lib/utils/zIndexStacking.js.map +1 -1
  353. package/lib/utils/zIndexStacking.mjs +22 -23
  354. package/lib/utils/zIndexStacking.mjs.map +1 -1
  355. package/package.json +1 -1
@@ -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 == null ? void 0 : 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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uncontroll.mjs","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":"AAEA,OAAO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEA,OAAO,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;AAEA,OAAO,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.mjs","names":["isControlled","self","prop","props","undefined","getState","state","arguments","length","Object","entries","reduce","combinedState","_ref","_ref2","_slicedToArray","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":";AAEA,OAAO,SAASA,YAAYA,CAI1BC,IAAO,EAAEC,IAAa,EAAE;EACxB,OAAOD,IAAI,CAACE,KAAK,CAACD,IAAI,CAAC,KAAKE,SAAS;AACvC;AAEA,OAAO,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,GAAAC,cAAA,CAAAF,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;AAEA,OAAO,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,GAAAX,cAAA,CAAAU,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,35 +1,40 @@
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.useUID = exports.default = void 0;
7
+ exports.useUID = exports["default"] = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
  var _register = _interopRequireDefault(require("../register"));
10
12
  var _useEnhancedEffect = _interopRequireDefault(require("./use/useEnhancedEffect"));
11
- const createSource = (prefix = 'ui-kit-') => ({
12
- value: 1,
13
- prefix
14
- });
15
- const useUID = prefix => {
16
- const context = _register.default.get('uid-context', createSource(prefix));
17
- const [uid] = _react.default.useId ? [_react.default.useId()] : _react.default.useState(context.value++);
18
- const trimmedUid = String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;
19
- (0, _useEnhancedEffect.default)(() => {
20
- _register.default.set('uid-context', context);
13
+ var createSource = function createSource() {
14
+ var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ui-kit-';
15
+ return {
16
+ value: 1,
17
+ prefix: prefix
18
+ };
19
+ };
20
+ var useUID = exports.useUID = function useUID(prefix) {
21
+ var _context$prefix;
22
+ var context = _register["default"].get('uid-context', createSource(prefix));
23
+ var _ref = _react["default"].useId ? [_react["default"].useId()] : _react["default"].useState(context.value++),
24
+ _ref2 = (0, _slicedToArray2["default"])(_ref, 1),
25
+ uid = _ref2[0];
26
+ var trimmedUid = String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;
27
+ (0, _useEnhancedEffect["default"])(function () {
28
+ _register["default"].set('uid-context', context);
21
29
  }, [trimmedUid]);
22
- return (context.prefix ?? '') + trimmedUid;
30
+ return ((_context$prefix = context.prefix) !== null && _context$prefix !== void 0 ? _context$prefix : '') + trimmedUid;
23
31
  };
24
- exports.useUID = useUID;
25
- var _default = prefix => {
26
- return props => {
27
- const uid = useUID(prefix);
28
- return {
29
- uid,
30
- ...props
31
- };
32
+ var _default = exports["default"] = function _default(prefix) {
33
+ return function (props) {
34
+ var uid = useUID(prefix);
35
+ return (0, _objectSpread2["default"])({
36
+ uid: uid
37
+ }, props);
32
38
  };
33
39
  };
34
- exports.default = _default;
35
40
  //# sourceMappingURL=uniqueID.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","value","useUID","context","register","get","uid","React","useId","useState","trimmedUid","String","startsWith","endsWith","slice","useEnhancedEffect","set","exports","_default","props","default"],"sources":["../../src/utils/uniqueID.ts"],"sourcesContent":["import React from 'react';\n\nimport register from '../register';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype ContextType = {\n prefix?: string;\n value: number;\n};\n\nexport type UniqueIDProps = {\n /* Unique ID */\n uid?: string;\n};\n\nconst createSource = (prefix = 'ui-kit-'): ContextType => ({ value: 1, prefix });\n\nexport const useUID = (prefix?: string): string => {\n const context = register.get<ContextType>('uid-context', createSource(prefix));\n const [uid] = React.useId ? [React.useId()] : React.useState<number>(context.value++);\n const trimmedUid =\n String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;\n\n useEnhancedEffect(() => {\n register.set<ContextType>('uid-context', context);\n }, [trimmedUid]);\n\n return (context.prefix ?? '') + trimmedUid;\n};\n\nexport default (prefix?: string) => {\n return (props: any): { uid: ReturnType<typeof useUID> } => {\n const uid = useUID(prefix);\n return {\n uid,\n ...props,\n };\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAYA,MAAMG,YAAY,GAAGA,CAACC,MAAM,GAAG,SAAS,MAAmB;EAAEC,KAAK,EAAE,CAAC;EAAED;AAAO,CAAC,CAAC;AAEzE,MAAME,MAAM,GAAIF,MAAe,IAAa;EACjD,MAAMG,OAAO,GAAGC,iBAAQ,CAACC,GAAG,CAAc,aAAa,EAAEN,YAAY,CAACC,MAAM,CAAC,CAAC;EAC9E,MAAM,CAACM,GAAG,CAAC,GAAGC,cAAK,CAACC,KAAK,GAAG,CAACD,cAAK,CAACC,KAAK,CAAC,CAAC,CAAC,GAAGD,cAAK,CAACE,QAAQ,CAASN,OAAO,CAACF,KAAK,EAAE,CAAC;EACrF,MAAMS,UAAU,GACdC,MAAM,CAACL,GAAG,CAAC,CAACM,UAAU,CAAC,GAAG,CAAC,IAAID,MAAM,CAACL,GAAG,CAAC,CAACO,QAAQ,CAAC,GAAG,CAAC,GAAGF,MAAM,CAACL,GAAG,CAAC,CAACQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGR,GAAG;EAE3F,IAAAS,0BAAiB,EAAC,MAAM;IACtBX,iBAAQ,CAACY,GAAG,CAAc,aAAa,EAAEb,OAAO,CAAC;EACnD,CAAC,EAAE,CAACO,UAAU,CAAC,CAAC;EAEhB,OAAO,CAACP,OAAO,CAACH,MAAM,IAAI,EAAE,IAAIU,UAAU;AAC5C,CAAC;AAACO,OAAA,CAAAf,MAAA,GAAAA,MAAA;AAAA,IAAAgB,QAAA,GAEclB,MAAe,IAAK;EAClC,OAAQmB,KAAU,IAAyC;IACzD,MAAMb,GAAG,GAAGJ,MAAM,CAACF,MAAM,CAAC;IAC1B,OAAO;MACLM,GAAG;MACH,GAAGa;IACL,CAAC;EACH,CAAC;AACH,CAAC;AAAAF,OAAA,CAAAG,OAAA,GAAAF,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"uniqueID.js","names":["_react","_interopRequireDefault","require","_register","_useEnhancedEffect","createSource","prefix","arguments","length","undefined","value","useUID","exports","_context$prefix","context","register","get","_ref","React","useId","useState","_ref2","_slicedToArray2","uid","trimmedUid","String","startsWith","endsWith","slice","useEnhancedEffect","set","_default","props","_objectSpread2"],"sources":["../../src/utils/uniqueID.ts"],"sourcesContent":["import React from 'react';\n\nimport register from '../register';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype ContextType = {\n prefix?: string;\n value: number;\n};\n\nexport type UniqueIDProps = {\n /* Unique ID */\n uid?: string;\n};\n\nconst createSource = (prefix = 'ui-kit-'): ContextType => ({ value: 1, prefix });\n\nexport const useUID = (prefix?: string): string => {\n const context = register.get<ContextType>('uid-context', createSource(prefix));\n const [uid] = React.useId ? [React.useId()] : React.useState<number>(context.value++);\n const trimmedUid =\n String(uid).startsWith(':') && String(uid).endsWith(':') ? String(uid).slice(1, -1) : uid;\n\n useEnhancedEffect(() => {\n register.set<ContextType>('uid-context', context);\n }, [trimmedUid]);\n\n return (context.prefix ?? '') + trimmedUid;\n};\n\nexport default (prefix?: string) => {\n return (props: any): { uid: ReturnType<typeof useUID> } => {\n const uid = useUID(prefix);\n return {\n uid,\n ...props,\n };\n };\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAYA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAA;EAAA,IAAIC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,OAAmB;IAAEG,KAAK,EAAE,CAAC;IAAEJ,MAAM,EAANA;EAAO,CAAC;AAAA,CAAC;AAEzE,IAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,SAATA,MAAMA,CAAIL,MAAe,EAAa;EAAA,IAAAO,eAAA;EACjD,IAAMC,OAAO,GAAGC,oBAAQ,CAACC,GAAG,CAAc,aAAa,EAAEX,YAAY,CAACC,MAAM,CAAC,CAAC;EAC9E,IAAAW,IAAA,GAAcC,iBAAK,CAACC,KAAK,GAAG,CAACD,iBAAK,CAACC,KAAK,CAAC,CAAC,CAAC,GAAGD,iBAAK,CAACE,QAAQ,CAASN,OAAO,CAACJ,KAAK,EAAE,CAAC;IAAAW,KAAA,OAAAC,eAAA,aAAAL,IAAA;IAA9EM,GAAG,GAAAF,KAAA;EACV,IAAMG,UAAU,GACdC,MAAM,CAACF,GAAG,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC,IAAID,MAAM,CAACF,GAAG,CAAC,CAACI,QAAQ,CAAC,GAAG,CAAC,GAAGF,MAAM,CAACF,GAAG,CAAC,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGL,GAAG;EAE3F,IAAAM,6BAAiB,EAAC,YAAM;IACtBd,oBAAQ,CAACe,GAAG,CAAc,aAAa,EAAEhB,OAAO,CAAC;EACnD,CAAC,EAAE,CAACU,UAAU,CAAC,CAAC;EAEhB,OAAO,EAAAX,eAAA,GAACC,OAAO,CAACR,MAAM,cAAAO,eAAA,cAAAA,eAAA,GAAI,EAAE,IAAIW,UAAU;AAC5C,CAAC;AAAC,IAAAO,QAAA,GAAAnB,OAAA,cAEa,SAAAmB,SAACzB,MAAe,EAAK;EAClC,OAAO,UAAC0B,KAAU,EAAyC;IACzD,IAAMT,GAAG,GAAGZ,MAAM,CAACL,MAAM,CAAC;IAC1B,WAAA2B,cAAA;MACEV,GAAG,EAAHA;IAAG,GACAS,KAAK;EAEZ,CAAC;AACH,CAAC","ignoreList":[]}