@semcore/core 16.5.1 → 17.0.0-prerelease.17

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 (427) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/README.md +4 -4
  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.d.ts +26 -79
  8. package/lib/core-types/Component.js +24 -72
  9. package/lib/core-types/Component.js.map +1 -1
  10. package/lib/core-types/Component.mjs +18 -34
  11. package/lib/core-types/Component.mjs.map +1 -1
  12. package/lib/core-types/symbols.js +9 -9
  13. package/lib/core-types/symbols.js.map +1 -1
  14. package/lib/core-types/symbols.mjs +9 -9
  15. package/lib/core-types/symbols.mjs.map +1 -1
  16. package/lib/coreFactory.d.ts +6 -23
  17. package/lib/coreFactory.js +150 -217
  18. package/lib/coreFactory.js.map +1 -1
  19. package/lib/coreFactory.mjs +139 -194
  20. package/lib/coreFactory.mjs.map +1 -1
  21. package/lib/decorators/propsObserver.d.ts +11 -0
  22. package/lib/decorators/reactive.d.ts +11 -0
  23. package/lib/enhancement/Children.js +51 -59
  24. package/lib/enhancement/Children.js.map +1 -1
  25. package/lib/enhancement/Children.mjs +47 -41
  26. package/lib/enhancement/Children.mjs.map +1 -1
  27. package/lib/enhancement/Root.js +36 -37
  28. package/lib/enhancement/Root.js.map +1 -1
  29. package/lib/enhancement/Root.mjs +28 -18
  30. package/lib/enhancement/Root.mjs.map +1 -1
  31. package/lib/enhancement/dataName.js +7 -8
  32. package/lib/enhancement/dataName.js.map +1 -1
  33. package/lib/enhancement/dataName.mjs +5 -5
  34. package/lib/enhancement/dataName.mjs.map +1 -1
  35. package/lib/enhancement/enhance.js +6 -9
  36. package/lib/enhancement/enhance.js.map +1 -1
  37. package/lib/enhancement/enhance.mjs +5 -7
  38. package/lib/enhancement/enhance.mjs.map +1 -1
  39. package/lib/enhancement/functionDefaultProps.js +6 -6
  40. package/lib/enhancement/functionDefaultProps.js.map +1 -1
  41. package/lib/enhancement/functionDefaultProps.mjs +4 -4
  42. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  43. package/lib/enhancement/i18n.js +13 -13
  44. package/lib/enhancement/i18n.js.map +1 -1
  45. package/lib/enhancement/i18n.mjs +10 -9
  46. package/lib/enhancement/i18n.mjs.map +1 -1
  47. package/lib/enhancement/inheritedName.js +7 -8
  48. package/lib/enhancement/inheritedName.js.map +1 -1
  49. package/lib/enhancement/inheritedName.mjs +5 -5
  50. package/lib/enhancement/inheritedName.mjs.map +1 -1
  51. package/lib/enhancement/staticChildren.js +47 -56
  52. package/lib/enhancement/staticChildren.js.map +1 -1
  53. package/lib/enhancement/staticChildren.mjs +43 -48
  54. package/lib/enhancement/staticChildren.mjs.map +1 -1
  55. package/lib/enhancement/style.js +29 -27
  56. package/lib/enhancement/style.js.map +1 -1
  57. package/lib/enhancement/style.mjs +26 -20
  58. package/lib/enhancement/style.mjs.map +1 -1
  59. package/lib/enhancement/uncontrolledProps.js +46 -64
  60. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  61. package/lib/enhancement/uncontrolledProps.mjs +43 -51
  62. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  63. package/lib/esm/LastInteractionType.mjs +19 -33
  64. package/lib/esm/core-types/Component.mjs +18 -34
  65. package/lib/esm/core-types/symbols.mjs +9 -9
  66. package/lib/esm/coreFactory.mjs +139 -194
  67. package/lib/esm/enhancement/Children.mjs +47 -41
  68. package/lib/esm/enhancement/Root.mjs +28 -18
  69. package/lib/esm/enhancement/dataName.mjs +5 -5
  70. package/lib/esm/enhancement/enhance.mjs +5 -7
  71. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  72. package/lib/esm/enhancement/i18n.mjs +10 -9
  73. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  74. package/lib/esm/enhancement/staticChildren.mjs +43 -48
  75. package/lib/esm/enhancement/style.mjs +26 -20
  76. package/lib/esm/enhancement/uncontrolledProps.mjs +43 -51
  77. package/lib/esm/register.mjs +12 -20
  78. package/lib/esm/styled/reshadow-core.mjs +98 -111
  79. package/lib/esm/styled/sstyled.mjs +31 -41
  80. package/lib/esm/utils/assignProps.mjs +32 -36
  81. package/lib/esm/utils/enhances/WithI18n.mjs +16 -63
  82. package/lib/esm/utils/enhances/i18nEnhance.mjs +47 -61
  83. package/lib/esm/utils/logger.mjs +13 -21
  84. package/lib/esm/utils/pick.mjs +4 -4
  85. package/lib/esm/utils/ref.mjs +27 -57
  86. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  87. package/lib/index.d.ts +3 -3
  88. package/lib/index.js +17 -17
  89. package/lib/index.js.map +1 -1
  90. package/lib/index.mjs.map +1 -1
  91. package/lib/register.js +17 -24
  92. package/lib/register.js.map +1 -1
  93. package/lib/register.mjs +12 -20
  94. package/lib/register.mjs.map +1 -1
  95. package/lib/styled/index.d.ts +1 -5
  96. package/lib/styled/index.js +4 -4
  97. package/lib/styled/index.js.map +1 -1
  98. package/lib/styled/index.mjs.map +1 -1
  99. package/lib/styled/reshadow-core.js +102 -104
  100. package/lib/styled/reshadow-core.js.map +1 -1
  101. package/lib/styled/reshadow-core.mjs +98 -111
  102. package/lib/styled/reshadow-core.mjs.map +1 -1
  103. package/lib/styled/sstyled.js +31 -53
  104. package/lib/styled/sstyled.js.map +1 -1
  105. package/lib/styled/sstyled.mjs +31 -41
  106. package/lib/styled/sstyled.mjs.map +1 -1
  107. package/lib/theme/processor.js +150 -222
  108. package/lib/theme/processor.js.map +1 -1
  109. package/lib/theme/processor.mjs +148 -221
  110. package/lib/theme/processor.mjs.map +1 -1
  111. package/lib/theme/themes/dark.js +2 -2
  112. package/lib/theme/themes/dark.js.map +1 -1
  113. package/lib/theme/themes/default.js +2 -2
  114. package/lib/theme/themes/default.js.map +1 -1
  115. package/lib/theme/themes/highlights-dark.js +2 -2
  116. package/lib/theme/themes/highlights-dark.js.map +1 -1
  117. package/lib/theme/themes/highlights-light.js +2 -2
  118. package/lib/theme/themes/highlights-light.js.map +1 -1
  119. package/lib/theme/themes/light.js +2 -2
  120. package/lib/theme/themes/light.js.map +1 -1
  121. package/lib/theme/utils.js +140 -215
  122. package/lib/theme/utils.js.map +1 -1
  123. package/lib/theme/utils.mjs +135 -214
  124. package/lib/theme/utils.mjs.map +1 -1
  125. package/lib/utils/CSSinJS.js +8 -10
  126. package/lib/utils/CSSinJS.js.map +1 -1
  127. package/lib/utils/CSSinJS.mjs +6 -7
  128. package/lib/utils/CSSinJS.mjs.map +1 -1
  129. package/lib/utils/ThemeProvider.js +44 -51
  130. package/lib/utils/ThemeProvider.js.map +1 -1
  131. package/lib/utils/ThemeProvider.mjs +36 -47
  132. package/lib/utils/ThemeProvider.mjs.map +1 -1
  133. package/lib/utils/addonText.js +4 -7
  134. package/lib/utils/addonText.js.map +1 -1
  135. package/lib/utils/addonText.mjs +2 -5
  136. package/lib/utils/addonText.mjs.map +1 -1
  137. package/lib/utils/addonTextChildren.js +15 -21
  138. package/lib/utils/addonTextChildren.js.map +1 -1
  139. package/lib/utils/addonTextChildren.mjs +7 -13
  140. package/lib/utils/addonTextChildren.mjs.map +1 -1
  141. package/lib/utils/ariaProps.js +7 -5
  142. package/lib/utils/ariaProps.js.map +1 -1
  143. package/lib/utils/ariaProps.mjs +7 -5
  144. package/lib/utils/ariaProps.mjs.map +1 -1
  145. package/lib/utils/assignProps.js +33 -37
  146. package/lib/utils/assignProps.js.map +1 -1
  147. package/lib/utils/assignProps.mjs +32 -36
  148. package/lib/utils/assignProps.mjs.map +1 -1
  149. package/lib/utils/canUseDOM.js +1 -1
  150. package/lib/utils/capitalizeFirstLetter.js +1 -1
  151. package/lib/utils/color.js +72 -95
  152. package/lib/utils/color.js.map +1 -1
  153. package/lib/utils/color.mjs +71 -94
  154. package/lib/utils/color.mjs.map +1 -1
  155. package/lib/utils/compose.js +3 -12
  156. package/lib/utils/compose.js.map +1 -1
  157. package/lib/utils/compose.mjs +2 -11
  158. package/lib/utils/compose.mjs.map +1 -1
  159. package/lib/utils/createUUID.js +5 -5
  160. package/lib/utils/createUUID.js.map +1 -1
  161. package/lib/utils/createUUID.mjs +4 -4
  162. package/lib/utils/createUUID.mjs.map +1 -1
  163. package/lib/utils/cssToIntDefault.js +3 -4
  164. package/lib/utils/cssToIntDefault.js.map +1 -1
  165. package/lib/utils/cssToIntDefault.mjs +2 -3
  166. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  167. package/lib/utils/enhances/WithCSS.d.ts +2 -30
  168. package/lib/utils/enhances/WithCSS.js +13 -64
  169. package/lib/utils/enhances/WithCSS.js.map +1 -1
  170. package/lib/utils/enhances/WithCSS.mjs +9 -59
  171. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  172. package/lib/utils/enhances/WithI18n.d.ts +1 -30
  173. package/lib/utils/enhances/WithI18n.js +20 -76
  174. package/lib/utils/enhances/WithI18n.js.map +1 -1
  175. package/lib/utils/enhances/WithI18n.mjs +16 -63
  176. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  177. package/lib/utils/enhances/a11yEnhance.js +34 -39
  178. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  179. package/lib/utils/enhances/a11yEnhance.mjs +32 -36
  180. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  181. package/lib/utils/enhances/animatedSizeEnhance.d.ts +0 -4
  182. package/lib/utils/enhances/animatedSizeEnhance.js +55 -65
  183. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  184. package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -61
  185. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  186. package/lib/utils/enhances/contextEnhance.js +12 -11
  187. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  188. package/lib/utils/enhances/contextEnhance.mjs +9 -8
  189. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  190. package/lib/utils/enhances/i18nEnhance.d.ts +0 -4
  191. package/lib/utils/enhances/i18nEnhance.js +51 -69
  192. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  193. package/lib/utils/enhances/i18nEnhance.mjs +47 -61
  194. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  195. package/lib/utils/enhances/resolveColorEnhance.js +12 -10
  196. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  197. package/lib/utils/enhances/resolveColorEnhance.mjs +8 -6
  198. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  199. package/lib/utils/eventEmitter.d.ts +10 -6
  200. package/lib/utils/eventEmitter.js +33 -32
  201. package/lib/utils/eventEmitter.js.map +1 -1
  202. package/lib/utils/eventEmitter.mjs +30 -31
  203. package/lib/utils/eventEmitter.mjs.map +1 -1
  204. package/lib/utils/findComponent.js +35 -42
  205. package/lib/utils/findComponent.js.map +1 -1
  206. package/lib/utils/findComponent.mjs +26 -33
  207. package/lib/utils/findComponent.mjs.map +1 -1
  208. package/lib/utils/fire.js +7 -13
  209. package/lib/utils/fire.js.map +1 -1
  210. package/lib/utils/fire.mjs +5 -11
  211. package/lib/utils/fire.mjs.map +1 -1
  212. package/lib/utils/focus-lock/focusBorders.js +28 -32
  213. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  214. package/lib/utils/focus-lock/focusBorders.mjs +26 -32
  215. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  216. package/lib/utils/focus-lock/getFocusableIn.js +4 -6
  217. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  218. package/lib/utils/focus-lock/getFocusableIn.mjs +3 -6
  219. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  220. package/lib/utils/focus-lock/isFocusInside.js +5 -6
  221. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  222. package/lib/utils/focus-lock/isFocusInside.mjs +4 -6
  223. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  224. package/lib/utils/focus-lock/isFocusable.js +9 -12
  225. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  226. package/lib/utils/focus-lock/isFocusable.mjs +8 -11
  227. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  228. package/lib/utils/focus-lock/setFocus.js +21 -27
  229. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  230. package/lib/utils/focus-lock/setFocus.mjs +19 -25
  231. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  232. package/lib/utils/getAccessibleName.js +10 -22
  233. package/lib/utils/getAccessibleName.js.map +1 -1
  234. package/lib/utils/getAccessibleName.mjs +10 -21
  235. package/lib/utils/getAccessibleName.mjs.map +1 -1
  236. package/lib/utils/getDisplayName.js +1 -1
  237. package/lib/utils/getDisplayName.mjs +3 -5
  238. package/lib/utils/getEventTarget.js +13 -32
  239. package/lib/utils/getEventTarget.js.map +1 -1
  240. package/lib/utils/getEventTarget.mjs +12 -31
  241. package/lib/utils/getEventTarget.mjs.map +1 -1
  242. package/lib/utils/getOriginChildren.js +4 -4
  243. package/lib/utils/getOriginChildren.js.map +1 -1
  244. package/lib/utils/getRandomInt.js +1 -1
  245. package/lib/utils/getValue.js +4 -6
  246. package/lib/utils/getValue.js.map +1 -1
  247. package/lib/utils/getValue.mjs +3 -5
  248. package/lib/utils/getValue.mjs.map +1 -1
  249. package/lib/utils/hasLabels.js +16 -27
  250. package/lib/utils/hasLabels.js.map +1 -1
  251. package/lib/utils/hasLabels.mjs +14 -24
  252. package/lib/utils/hasLabels.mjs.map +1 -1
  253. package/lib/utils/hasParent.js +3 -2
  254. package/lib/utils/hasParent.js.map +1 -1
  255. package/lib/utils/hasParent.mjs +2 -3
  256. package/lib/utils/hasParent.mjs.map +1 -1
  257. package/lib/utils/ifChildren.js +6 -4
  258. package/lib/utils/ifChildren.js.map +1 -1
  259. package/lib/utils/ifChildren.mjs +4 -2
  260. package/lib/utils/ifChildren.mjs.map +1 -1
  261. package/lib/utils/injectStyle.js +11 -13
  262. package/lib/utils/injectStyle.js.map +1 -1
  263. package/lib/utils/injectStyle.mjs +9 -10
  264. package/lib/utils/injectStyle.mjs.map +1 -1
  265. package/lib/utils/inputProps.js +5 -5
  266. package/lib/utils/inputProps.js.map +1 -1
  267. package/lib/utils/inputProps.mjs +4 -4
  268. package/lib/utils/inputProps.mjs.map +1 -1
  269. package/lib/utils/isInteractiveElement.js +7 -9
  270. package/lib/utils/isInteractiveElement.js.map +1 -1
  271. package/lib/utils/isInteractiveElement.mjs +7 -9
  272. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  273. package/lib/utils/isNode.js +4 -5
  274. package/lib/utils/isNode.js.map +1 -1
  275. package/lib/utils/isNode.mjs +1 -2
  276. package/lib/utils/isNode.mjs.map +1 -1
  277. package/lib/utils/isPromise.js +1 -1
  278. package/lib/utils/isRetina.js +7 -2
  279. package/lib/utils/isRetina.js.map +1 -1
  280. package/lib/utils/isRetina.mjs +6 -1
  281. package/lib/utils/isRetina.mjs.map +1 -1
  282. package/lib/utils/logger.js +18 -25
  283. package/lib/utils/logger.js.map +1 -1
  284. package/lib/utils/logger.mjs +13 -21
  285. package/lib/utils/logger.mjs.map +1 -1
  286. package/lib/utils/numericChecker.js +11 -18
  287. package/lib/utils/numericChecker.js.map +1 -1
  288. package/lib/utils/numericChecker.mjs +10 -17
  289. package/lib/utils/numericChecker.mjs.map +1 -1
  290. package/lib/utils/ownerDocument.js +2 -2
  291. package/lib/utils/ownerDocument.js.map +1 -1
  292. package/lib/utils/ownerDocument.mjs +1 -1
  293. package/lib/utils/ownerDocument.mjs.map +1 -1
  294. package/lib/utils/pick.js +5 -5
  295. package/lib/utils/pick.js.map +1 -1
  296. package/lib/utils/pick.mjs +4 -4
  297. package/lib/utils/pick.mjs.map +1 -1
  298. package/lib/utils/propsForElement.js +10 -12
  299. package/lib/utils/propsForElement.js.map +1 -1
  300. package/lib/utils/propsForElement.mjs +8 -10
  301. package/lib/utils/propsForElement.mjs.map +1 -1
  302. package/lib/utils/rafTrottle.js +9 -14
  303. package/lib/utils/rafTrottle.js.map +1 -1
  304. package/lib/utils/rafTrottle.mjs +7 -12
  305. package/lib/utils/rafTrottle.mjs.map +1 -1
  306. package/lib/utils/reactToText.js +5 -8
  307. package/lib/utils/reactToText.js.map +1 -1
  308. package/lib/utils/reactToText.mjs +3 -6
  309. package/lib/utils/reactToText.mjs.map +1 -1
  310. package/lib/utils/ref.d.ts +1 -3
  311. package/lib/utils/ref.js +29 -61
  312. package/lib/utils/ref.js.map +1 -1
  313. package/lib/utils/ref.mjs +27 -57
  314. package/lib/utils/ref.mjs.map +1 -1
  315. package/lib/utils/setRef.js +2 -2
  316. package/lib/utils/setRef.js.map +1 -1
  317. package/lib/utils/syncScroll.js +24 -24
  318. package/lib/utils/syncScroll.js.map +1 -1
  319. package/lib/utils/syncScroll.mjs +21 -21
  320. package/lib/utils/syncScroll.mjs.map +1 -1
  321. package/lib/utils/uncontroll.js +8 -18
  322. package/lib/utils/uncontroll.js.map +1 -1
  323. package/lib/utils/uncontroll.mjs +8 -17
  324. package/lib/utils/uncontroll.mjs.map +1 -1
  325. package/lib/utils/uniqueID.d.ts +0 -4
  326. package/lib/utils/uniqueID.js +23 -30
  327. package/lib/utils/uniqueID.js.map +1 -1
  328. package/lib/utils/uniqueID.mjs +19 -29
  329. package/lib/utils/uniqueID.mjs.map +1 -1
  330. package/lib/utils/use/useColorResolver.js +20 -21
  331. package/lib/utils/use/useColorResolver.js.map +1 -1
  332. package/lib/utils/use/useColorResolver.mjs +16 -18
  333. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  334. package/lib/utils/use/useEnhancedEffect.d.ts +1 -1
  335. package/lib/utils/use/useEnhancedEffect.js +4 -4
  336. package/lib/utils/use/useEnhancedEffect.js.map +1 -1
  337. package/lib/utils/use/useEnhancedEffect.mjs +1 -1
  338. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  339. package/lib/utils/use/useEventCallback.js +5 -10
  340. package/lib/utils/use/useEventCallback.js.map +1 -1
  341. package/lib/utils/use/useEventCallback.mjs +3 -8
  342. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  343. package/lib/utils/use/useEventListener.js +11 -15
  344. package/lib/utils/use/useEventListener.js.map +1 -1
  345. package/lib/utils/use/useEventListener.mjs +7 -11
  346. package/lib/utils/use/useEventListener.mjs.map +1 -1
  347. package/lib/utils/use/useFocusLock.js +80 -94
  348. package/lib/utils/use/useFocusLock.js.map +1 -1
  349. package/lib/utils/use/useFocusLock.mjs +71 -88
  350. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  351. package/lib/utils/use/usePreventScroll.js +26 -28
  352. package/lib/utils/use/usePreventScroll.js.map +1 -1
  353. package/lib/utils/use/usePreventScroll.mjs +21 -23
  354. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  355. package/lib/utils/use/useScrollBarWidth.js +8 -14
  356. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  357. package/lib/utils/use/useScrollBarWidth.mjs +8 -13
  358. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  359. package/lib/utils/useCssVariable.js +32 -37
  360. package/lib/utils/useCssVariable.js.map +1 -1
  361. package/lib/utils/useCssVariable.mjs +27 -34
  362. package/lib/utils/useCssVariable.mjs.map +1 -1
  363. package/lib/utils/zIndexStacking.d.ts +3 -1
  364. package/lib/utils/zIndexStacking.js +28 -24
  365. package/lib/utils/zIndexStacking.js.map +1 -1
  366. package/lib/utils/zIndexStacking.mjs +23 -22
  367. package/lib/utils/zIndexStacking.mjs.map +1 -1
  368. package/package.json +129 -129
  369. package/lib/enhancement/bindHandler.d.ts +0 -5
  370. package/lib/enhancement/bindHandler.js +0 -53
  371. package/lib/enhancement/bindHandler.js.map +0 -1
  372. package/lib/enhancement/bindHandler.mjs +0 -48
  373. package/lib/enhancement/bindHandler.mjs.map +0 -1
  374. package/lib/enhancement/hoistProps.d.ts +0 -10
  375. package/lib/enhancement/hoistProps.js +0 -95
  376. package/lib/enhancement/hoistProps.js.map +0 -1
  377. package/lib/enhancement/hoistProps.mjs +0 -78
  378. package/lib/enhancement/hoistProps.mjs.map +0 -1
  379. package/lib/esm/enhancement/bindHandler.mjs +0 -48
  380. package/lib/esm/enhancement/hoistProps.mjs +0 -78
  381. package/lib/esm/utils/createHoc.mjs +0 -42
  382. package/lib/esm/utils/getDisplayName.mjs +0 -6
  383. package/lib/utils/ScreenReaderOnly.d.ts +0 -8
  384. package/lib/utils/ScreenReaderOnly.js +0 -30
  385. package/lib/utils/ScreenReaderOnly.js.map +0 -1
  386. package/lib/utils/ScreenReaderOnly.mjs +0 -24
  387. package/lib/utils/ScreenReaderOnly.mjs.map +0 -1
  388. package/lib/utils/createHoc.d.ts +0 -3
  389. package/lib/utils/createHoc.js +0 -52
  390. package/lib/utils/createHoc.js.map +0 -1
  391. package/lib/utils/createHoc.mjs +0 -42
  392. package/lib/utils/createHoc.mjs.map +0 -1
  393. package/lib/utils/enhances/WithAutoFocus.d.ts +0 -14
  394. package/lib/utils/enhances/WithAutoFocus.js +0 -72
  395. package/lib/utils/enhances/WithAutoFocus.js.map +0 -1
  396. package/lib/utils/enhances/WithAutoFocus.mjs +0 -66
  397. package/lib/utils/enhances/WithAutoFocus.mjs.map +0 -1
  398. package/lib/utils/enhances/WithKeyboardFocus.d.ts +0 -46
  399. package/lib/utils/enhances/WithKeyboardFocus.js +0 -94
  400. package/lib/utils/enhances/WithKeyboardFocus.js.map +0 -1
  401. package/lib/utils/enhances/WithKeyboardFocus.mjs +0 -88
  402. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +0 -1
  403. package/lib/utils/enhances/WithRef.d.ts +0 -3
  404. package/lib/utils/enhances/WithRef.js +0 -25
  405. package/lib/utils/enhances/WithRef.js.map +0 -1
  406. package/lib/utils/enhances/WithRef.mjs +0 -18
  407. package/lib/utils/enhances/WithRef.mjs.map +0 -1
  408. package/lib/utils/enhances/autoFocusEnhance.d.ts +0 -10
  409. package/lib/utils/enhances/autoFocusEnhance.js +0 -45
  410. package/lib/utils/enhances/autoFocusEnhance.js.map +0 -1
  411. package/lib/utils/enhances/autoFocusEnhance.mjs +0 -38
  412. package/lib/utils/enhances/autoFocusEnhance.mjs.map +0 -1
  413. package/lib/utils/enhances/keyboardFocusEnhance.d.ts +0 -27
  414. package/lib/utils/enhances/keyboardFocusEnhance.js +0 -63
  415. package/lib/utils/enhances/keyboardFocusEnhance.js.map +0 -1
  416. package/lib/utils/enhances/keyboardFocusEnhance.mjs +0 -57
  417. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +0 -1
  418. package/lib/utils/if.d.ts +0 -11
  419. package/lib/utils/if.js +0 -15
  420. package/lib/utils/if.js.map +0 -1
  421. package/lib/utils/if.mjs +0 -9
  422. package/lib/utils/if.mjs.map +0 -1
  423. package/lib/utils/use/useCss.d.ts +0 -4
  424. package/lib/utils/use/useCss.js +0 -19
  425. package/lib/utils/use/useCss.js.map +0 -1
  426. package/lib/utils/use/useCss.mjs +0 -12
  427. package/lib/utils/use/useCss.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","bindHandlerEnhancement","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","hoistPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties","_excluded","createElement","BindingWrapper","_extends","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_excluded2","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_excluded3","_React$Component","_this","_classCallCheck","_len","arguments","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","context","_this3","call","get","_this4","Error","setContext","_this5","contextProps","_superPropGet","_this6","asProps","ctx","Provider","_objectSpread","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React, { type ForwardRefExoticComponent, type RefAttributes } from 'react';\n\nimport { Component, type PropsWithRenderFnChildren } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n } & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n };\n\ninterface ClassWithUncontrolledProps {\n uncontrolledProps(): unknown;\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n > {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n bindHandlerEnhancement(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n // must be the last one so any properties can be raised\n hoistPropsEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,oBAAoB,MAAM,yBAAyB;AAC1D,OAAOC,KAAK,MAA8D,OAAO;AAEjF,SAASC,SAAS,QAAwC,4BAAwB;AAClF,SACEC,iBAAiB,EACjBC,aAAa,EACbC,cAAc,EACdC,SAAS,EACTC,aAAa,EACbC,gBAAgB,EAChBC,iBAAiB,QACZ,0BAAsB;AAC7B,OAAOC,sBAAsB,MAAM,+BAA2B;AAC9D,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,mBAAmB,MAAM,4BAAwB;AACxD,OAAOC,kBAAkB,MAAM,2BAAuB;AACtD,OAAOC,+BAA+B,MAAM,wCAAoC;AAChF,OAAOC,qBAAqB,MAAM,8BAA0B;AAC5D,OAAOC,oBAAoB,MAAM,wBAAoB;AACrD,OAAOC,wBAAwB,MAAM,iCAA6B;AAClE,OAAOC,eAAe,MAAM,wBAAoB;AAChD,OAAOC,yBAAyB,IAC9BC,6BAA6B,EAC7BC,cAAc,EACdC,gBAAgB,QACX,kCAA8B;AACrC,OAAOC,gBAAgB,MAAM,yBAAqB;AAClD,OAAOC,4BAA4B,MAAM,qCAAiC;AAC1E,OAAOC,YAAY,MAAM,yBAAqB;AAC9C,SAASC,UAAU,QAAQ,iBAAa;AACxC,OAAOC,iBAAiB,MAAM,mCAA+B;AAE7D,SAASC,aAAaA,CAACC,GAAQ,EAAE;EAC/B,OACEC,MAAM,CAACC,mBAAmB,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC5CF,MAAM,CAACG,qBAAqB;EAAI;EAChCH,MAAM,CAACG,qBAAqB,CAACJ,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC9CF,MAAM,CAACI,cAAc,CAACL,GAAG,CAAC,KAAKC,MAAM,CAACK,SAAS;AAEnD;AAEA,SAASC,cAAcA,CAACC,YAAiB,EAAEnC,SAAc,EAAEoC,UAAmB,EAAE;EAC9E,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAE;IACpC,OAAOH,YAAY,CAChBI,MAAM,CAAC,UAACC,WAAgB,EAAK;MAC5B,IAAI,CAACA,WAAW,CAACC,SAAS,EAAE;QAC1B,OAAO,IAAI;MACb;MACA,OAAOD,WAAW,CAACC,SAAS,CAACzC,SAAS,EAAEoC,UAAU,CAAC;IACrD,CAAC,CAAC,CACDM,MAAM,CAAC,UAACC,GAAQ,EAAEC,IAAS,EAAK;MAC/B,IAAIA,IAAI,CAACN,GAAG,CAAC,EAAE;QACbK,GAAG,CAACE,IAAI,CAACD,IAAI,CAACN,GAAG,CAAC,CAAC;MACrB;MACA,OAAOK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAAC9C,SAAc,EAAE+C,YAAiB,EAAEC,OAAY,EAAEZ,UAAe,EAAE;EAC9F,IAAMa,aAAa,GAAGjD,SAAS,CAACmB,cAAc,CAAC;EAC/C,IAAM+B,gBAAgB,GAAGhC,6BAA6B,CAAClB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEmD,WAAW,CAAC;EAC9E,IAAMC,YAAY,GAAGH,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEhB,SAAS,GACzCgB,aAAa,CAAChB,SAAS,CAACiB,gBAAgB,CAAC,GACzCG,SAAS;EACb,IAAMC,cAAc,GAAG,CAAAF,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEtB,MAAM,KAAI,CAAC;EAEhD,SAASyB,yBAAyBA,CAAAC,IAAA,EAAkCC,GAAQ,EAAE;IAAA,IAAAC,eAAA,GAAAF,IAAA,CAAzCG,UAAU;MAAVA,UAAU,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;MAAKE,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;IAC9D,oBAAO/D,KAAA,CAAAgE,aAAA,CAACC,cAAc,EAAAC,QAAA,KAAKL,KAAK;MAAED,UAAU,EAAEnC,UAAU,CAACiC,GAAG,EAAEE,UAAU;IAAE,EAAE,CAAC;EAC/E;EAEA,SAASO,iBAAiBA,CAAAC,KAAA,EAExBV,GAAQ,EACR;IAAA,IAAAW,gBAAA,GAAAD,KAAA,CAFER,UAAU;MAAVA,UAAU,GAAAS,gBAAA,cAAG,IAAI,GAAAA,gBAAA;MAAEC,sBAAsB,GAAAF,KAAA,CAAtBE,sBAAsB;MAAKT,KAAK,GAAAC,wBAAA,CAAAM,KAAA,EAAAG,UAAA;IAGrD,IAAAC,OAAA,GAAiD,CAC/CF,sBAAsB,IAAItB,YAAY,EACtCL,MAAM,CAAC,UAACC,GAAQ,EAAEH,WAAgB;QAAA,OAAKA,WAAW,CAACG,GAAG,EAAE6B,gBAAgB,EAAEpC,UAAU,CAAC;MAAA,GAAEwB,KAAK,CAAC;MAAAa,WAAA,GAAAF,OAAA,CAFvFd,GAAG;MAAEiB,cAAc,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;MAAKE,KAAK,GAAAd,wBAAA,CAAAU,OAAA,EAAAK,UAAA;IAG5C,oBAAO7E,KAAA,CAAAgE,aAAA,CAAC/D,SAAS,EAAAiE,QAAA,KAAKU,KAAK;MAAEhB,UAAU,EAAEnC,UAAU,CAACkD,cAAc,EAAEjB,GAAG,EAAEE,UAAU;IAAE,EAAE,CAAC;EAC1F;EAAC,IAEKK,cAAc,0BAAAa,gBAAA;IAAA,SAAAb,eAAA;MAAA,IAAAc,KAAA;MAAAC,eAAA,OAAAf,cAAA;MAAA,SAAAgB,IAAA,GAAAC,SAAA,CAAAnD,MAAA,EAAAoD,IAAA,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;QAAAF,IAAA,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;MAAA;MAAAN,KAAA,GAAAO,UAAA,OAAArB,cAAA,KAAAsB,MAAA,CAAAJ,IAAA;MAAAK,eAAA,CAAAT,KAAA,WACV,CAAC,CAAC;MAAA,OAAAA,KAAA;IAAA;IAAAU,SAAA,CAAAxB,cAAA,EAAAa,gBAAA;IAAA,OAAAY,YAAA,CAAAzB,cAAA;MAAA1B,GAAA;MAAAoD,KAAA,EACV,SAAAC,MAAMA,CAAA,EAAG;QAAA,IAAAC,MAAA;QACP,oBACE7F,KAAA,CAAAgE,aAAA,CAACG,iBAAiB,EAAAD,QAAA,KACZ,IAAI,CAACU,KAAK;UACdN,sBAAsB,EAAEtB,YAAY,CAAC8C,GAAG,CAAC,UAACC,EAAO;YAAA,OAAKA,EAAE,CAACC,IAAI,CAACH,MAAI,CAAC;UAAA;QAAE,EACtE,CAAC;MAEN;IAAC;EAAA,EAT0B7F,KAAK,CAACC,SAAS;EAY5C,IAAMwE,gBAAgB,gBAAGzE,KAAK,CAAC4D,UAAU,CACvCL,cAAc,GAAGC,yBAAyB,GAAGW,iBAC/C,CAAC;EAEDpE,oBAAoB,CAAC0E,gBAAgB,EAAExE,SAAS,CAAC;EAEjDwE,gBAAgB,CAACrB,WAAW,GAAGnD,SAAS,CAACmD,WAAW;EACpD;EACAqB,gBAAgB,CAACwB,YAAY,GAAGhG,SAAS,CAACgG,YAAY;EACtD;EACAhD,OAAO,CAACiD,OAAO,CAAC,UAACzD,WAAgB;IAAA,OAC/BZ,MAAM,CAACsE,MAAM,CAAC1B,gBAAgB,EAAEhC,WAAW,CAACgC,gBAAgB,EAAExE,SAAS,EAAEoC,UAAU,CAAC,CAAC;EAAA,CACvF,CAAC;EAED,OAAOoC,gBAAgB;AACzB;AAEA,SAAS2B,SAASA,CAACC,eAAoB,EAAEjE,YAAiB,EAAEkE,OAAY,EAAE;EACxE,IAAMhE,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAEiE,eAAe,EAAE,KAAK,CAAC;EAErE,IAAME,KAAK,GAAGjE,QAAQ,CAAC,MAAM,CAAC;EAC9B,IAAMsC,KAAK,GAAGtC,QAAQ,CAAC,SAAS,CAAC;EACjC,IAAMkE,OAAO,GAAGlE,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,IAAMmE,QAAQ,GAAGnE,QAAQ,CAAC,SAAS,CAAC;EAAC,IAE/BrC,SAAS,0BAAAyG,iBAAA;IAKb,SAAAzG,UAAY2E,KAAU,EAAE+B,OAAY,EAAE;MAAA,IAAAC,MAAA;MAAA5B,eAAA,OAAA/E,SAAA;MACpC2G,MAAA,GAAAtB,UAAA,OAAArF,SAAA,GAAM2E,KAAK,EAAE+B,OAAO;MACpB;MAAAnB,eAAA,CAAAoB,MAAA,EANDzG,aAAa,EAAI,IAAI;MAAAqF,eAAA,CAAAoB,MAAA,EACrBtG,aAAa,EAAImE,gBAAgB;MAAAe,eAAA,CAAAoB,MAAA,EACjCvG,SAAS,EAAI,KAAK;MAKjBkG,KAAK,CAACL,OAAO,CAAC,UAACzD,WAAgB;QAAA,OAAKA,WAAW,CAACoE,IAAI,CAAAD,MAAA,EAAOhC,KAAK,EAAEH,gBAAgB,EAAE,KAAK,CAAC;MAAA,EAAC;MAC3FmC,MAAA,CAAKvG,SAAS,CAAC,GAAG,IAAI;MAAC,OAAAuG,MAAA;IACzB;IAACnB,SAAA,CAAAxF,SAAA,EAAAyG,iBAAA;IAAA,OAAAhB,YAAA,CAAAzF,SAAA;MAAAsC,GAAA;MAAAuE,GAAA,EAED,SAAAA,IAAA,EAAc;QAAA,IAAAC,MAAA;QACZ;QACA,IAAI,CAAC,IAAI,CAAC1G,SAAS,CAAC,EAAE;UACpB,MAAM,IAAI2G,KAAK,CAAC,qCAAqC,CAAC;QACxD;QACA,IAAI,CAAC,IAAI,CAAC7G,aAAa,CAAC,EAAE;UACxB;UACA,IAAI,CAACA,aAAa,CAAC,GAAGyE,KAAK,CAACjC,MAAM,CAChC,UAACC,GAAQ,EAAEH,WAAgB;YAAA,OAAKA,WAAW,CAACoE,IAAI,CAACE,MAAI,EAAEnE,GAAG,EAAE6B,gBAAgB,EAAE,KAAK,CAAC;UAAA,GACpF,IAAI,CAACG,KACP,CAAC;QACH;QACA,OAAO,IAAI,CAACzE,aAAa,CAAC;MAC5B;IAAC;MAAAoC,GAAA;MAAAoD,KAAA,EAED,SAAAsB,UAAUA,CAAA,EAAG;QAAA,IAAAC,MAAA;QACX,IAAMC,YAAY,GAAGC,aAAA,CAAAnH,SAAA,2BAAAmH,aAAA,CAAAnH,SAAA,+BAAwC,CAAC,CAAC;QAC/D;QACA,OAAOwG,QAAQ,CAAC9D,MAAM,CACpB,UAACC,GAAQ,EAAEH,WAAgB;UAAA,OAAKA,WAAW,CAACoE,IAAI,CAACK,MAAI,EAAEtE,GAAG,EAAE6B,gBAAgB,EAAE,KAAK,CAAC;QAAA,GACpF0C,YACF,CAAC;MACH;IAAC;MAAA5E,GAAA;MAAAoD,KAAA,EAED,SAAAC,MAAMA,CAAA,EAAG;QAAA,IAAAyB,MAAA;QACP,IAAI,CAAClH,aAAa,CAAC,GAAG,IAAI;QAC1B;QACA,IAAI,CAAAiH,aAAA,CAAAnH,SAAA,oBAAa,EAAE;UACjB,MAAM,IAAI+G,KAAK,CAAC,0CAA0C,CAAC;QAC7D;QACA,IAAMM,OAAY,GAAG,IAAI,CAACA,OAAO;QACjC,IAAMC,GAAG,GAAG,IAAI,CAACN,UAAU,CAAC,CAAC;QAC7B;QACA,IAAMrB,MAAM,GAAGY,OAAO,CAAC7D,MAAM,CAC3B,UAACC,GAAQ,EAAEH,WAAgB;UAAA,OACzBA,WAAW,CAACoE,IAAI,CAACQ,MAAI,EAAEzE,GAAG,EAAE0E,OAAO,EAAE7C,gBAAgB,EAAE,KAAK,CAAC;QAAA,GAAA2C,aAAA,CAAAnH,SAAA,wBAEjE,CAAC;QACD,IAAI,CAACwE,gBAAgB,CAACpD,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAAC4F,GAAG,CAAC,EAAE;UAC9D,oBAAOvH,KAAA,CAAAgE,aAAA,CAACsC,OAAO,CAACkB,QAAQ;YAAC7B,KAAK,EAAA8B,aAAA,CAAAA,aAAA,KAAOH,OAAO,GAAKC,GAAG;UAAG,GAAE3B,MAAyB,CAAC;QACrF,CAAC,MAAM;UACL,OAAOA,MAAM;QACf;MACF;IAAC;EAAA,EAvDqBS,eAAe;EA0DvC,IAAM5B,gBAAqB,GAAG1B,oBAAoB,CAAC9C,SAAS,EAAE+C,YAAY,EAAEC,OAAO,EAAE,KAAK,CAAC;EAC3F,OAAOwB,gBAAgB;AACzB;AAEA,SAASiD,YAAYA,CAACrB,eAAoB,EAAEjE,YAAiB,EAAEkE,OAAY,EAAE;EAC3E,IAAMhE,QAAQ,GAAGH,cAAc,CAACC,YAAY,EAAEiE,eAAe,EAAE,IAAI,CAAC;EAEpE,IAAME,KAAK,GAAGjE,QAAQ,CAAC,MAAM,CAAC;EAC9B,IAAMsC,KAAK,GAAGtC,QAAQ,CAAC,SAAS,CAAC;EACjC,IAAMkE,OAAO,GAAGlE,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,IAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,IAAMmE,QAAQ,GAAGnE,QAAQ,CAAC,SAAS,CAAC;EAEpC,IAAMrC,SAAS,gBAAGD,KAAK,CAAC2H,IAAI,CAAC,SAASC,qBAAqBA,CAAC/D,KAAK,EAAE;IACjE,IAAMgE,OAAO,GAAG7H,KAAK,CAAC8H,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,IAAMC,WAAW,GAAG/H,KAAK,CAAC8H,MAAM,CAAC,IAAI,CAAC;IACtCpG,iBAAiB,CAAC,YAAM;MACtBqG,WAAW,CAACC,OAAO,GAAG,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,IAAID,WAAW,CAACC,OAAO,EAAE;MACvB;MACAzB,KAAK,CAACL,OAAO,CAAC,UAACzD,WAAgB;QAAA,OAC7BA,WAAW,CAACoE,IAAI,CAACgB,OAAO,CAACG,OAAO,EAAEnE,KAAK,EAAEY,gBAAgB,EAAE,IAAI,CAAC;MAAA,CAClE,CAAC;IACH;IACA;IACA,IAAM6C,OAAO,GAAG1C,KAAK,CAACjC,MAAM,CAC1B,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACoE,IAAI,CAACgB,OAAO,CAACG,OAAO,EAAEpF,GAAG,EAAE6B,gBAAgB,EAAE,IAAI,CAAC;IAAA,GAChEZ,KACF,CAAC;IACD;IACA,IAAM0D,GAAG,GAAGd,QAAQ,CAAC9D,MAAM,CACzB,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACoE,IAAI,CAACgB,OAAO,CAACG,OAAO,EAAEpF,GAAG,EAAE6B,gBAAgB,EAAE,IAAI,CAAC;IAAA,GAChE,CAAC,CACH,CAAC;;IAED;IACA,IAAMmB,MAAM,GAAGY,OAAO,CAAC7D,MAAM,CAC3B,UAACC,GAAQ,EAAEH,WAAgB;MAAA,OACzBA,WAAW,CAACoE,IAAI,CAACgB,OAAO,CAACG,OAAO,EAAEpF,GAAG,EAAE0E,OAAO,EAAE7C,gBAAgB,EAAE,IAAI,CAAC;IAAA,gBACzEzE,KAAA,CAAAgE,aAAA,CAACqC,eAAe,EAAKiB,OAAU,CACjC,CAAC;IAED,IAAI,CAAC7C,gBAAgB,CAACpD,gBAAgB,CAAC,IAAI,CAACM,aAAa,CAAC4F,GAAG,CAAC,EAAE;MAC9D,oBAAOvH,KAAA,CAAAgE,aAAA,CAACsC,OAAO,CAACkB,QAAQ;QAAC7B,KAAK,EAAA8B,aAAA,CAAAA,aAAA,KAAOH,OAAO,GAAKC,GAAG;MAAG,GAAE3B,MAAyB,CAAC;IACrF,CAAC,MAAM;MACL,OAAOA,MAAM;IACf;EACF,CAAC,CAAC;EACF/D,MAAM,CAACsE,MAAM,CAAClG,SAAS,EAAEoG,eAAe,CAAC;EACzC,IAAM5B,gBAAqB,GAAG1B,oBAAoB,CAAC9C,SAAS,EAAE+C,YAAY,EAAEC,OAAO,EAAE,IAAI,CAAC;EAC1F,OAAOwB,gBAAgB;AACzB;AAEA,SAASwD,QAAQA,CAAC5B,eAAoB,EAAEjE,YAAiB,EAAEkE,OAAY,EAAE;EACvE,IAAMrG,SAAS,GAAG,SAAZA,SAASA,CAAAiI,KAAA,EAA4B;IAAA,IAAbC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAChC,IAAMlC,YAAY,GAAGI,eAAe,CAACJ,YAAY,IAAI,CAAC,CAAC;IACvD,oBAAOjG,KAAA,CAAAgE,aAAA,CAACmE,IAAI,EAAAjE,QAAA,KAAK+B,YAAY;MAAEL,MAAM,EAAES;IAAgB,EAAE,CAAC;EAC5D,CAAC;EACDtG,oBAAoB,CAACE,SAAS,EAAEoG,eAAe,CAAC;EAChDpG,SAAS,CAACmD,WAAW,GAAGiD,eAAe,CAACjD,WAAW;EACnD,OAAOsE,YAAY,CAACzH,SAAS,EAAEmC,YAAY,EAAEkE,OAAO,CAAC;AACvD;AAEA,SAAS8B,sBAAsBA,CAAC/B,eAAoB,EAAEC,OAAY,EAAElE,YAAiB,EAAO;EAC1F,IACEpC,KAAK,CAACqI,aAAa,CAACC,aAAa,CAACjC,eAAe,CAAC,IAClDrG,KAAK,CAACC,SAAS,CAACqI,aAAa,CAACjC,eAAe,CAAC,EAC9C;IACA,IAAIA,eAAe,CAACnE,SAAS,YAAYjC,SAAS,EAAE;MAClD,OAAOmG,SAAS,CAACC,eAAe,EAAEjE,YAAY,EAAEkE,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,MAAM,IAAIU,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,MAAM,IAAI,OAAOX,eAAe,KAAK,UAAU,EAAE;IAChD,OAAOqB,YAAY,CAACrB,eAAe,EAAEjE,YAAY,EAAEkE,OAAO,CAAC;EAC7D,CAAC,MAAM,IAAID,eAAe,CAACjG,cAAc,CAAC,EAAE;IAC1C,OAAO6H,QAAQ,CAAC5B,eAAe,EAAEjE,YAAY,EAAEkE,OAAO,CAAC;EACzD,CAAC,MAAM;IACL,MAAM,IAAIU,KAAK,CAAC,2BAA2B,CAAC;EAC9C;AACF;AAmCA,OAAO,SAASuB,WAAWA,CAACC,EAAO,EAAEC,EAAO,EAAE;EAC5C,OAAOjH,YAAY,CAACiH,EAAE,EAAED,EAAE,CAAC;AAC7B;AAEA,SAASE,eAAeA,CACtBrC,eAAoB,EAelB;EAAA,IAdFsC,eAAoB,GAAAzD,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAG,CAAC,CAAC;EAAA,IACzB0D,OAIC,GAAA1D,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAG,CAAC,CAAC;EAUN,IAAA2D,gBAAA,GAIID,OAAO,CAHTjC,OAAO;IAAPA,OAAO,GAAAkC,gBAAA,2BAAG7I,KAAK,CAAC8I,aAAa,CAAc,CAAC,CAAgB,CAAC,GAAAD,gBAAA;IAAAE,eAAA,GAG3DH,OAAO,CAFTI,MAAM;IAANA,MAAM,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAAE,qBAAA,GAETL,OAAO,CADTxG,YAAY;IAAZA,YAAY,GAAA6G,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAEnB,IAAIC,OAAO,GAAG9D,KAAK,CAAC+D,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EACvD,IAAIE,OAAO,CAACnH,MAAM,EAAE;IAClB,IAAMqH,WAAW,GAAGF,OAAO,CAACvG,MAAM,CAAC,UAACC,GAAQ,EAAEoG,MAAW,EAAK;MAC5D,IAAIA,MAAM,CAACxI,iBAAiB,CAAC,EAAE;QAC7BoC,GAAG,MAAA2C,MAAA,CAAA8D,kBAAA,CAAOL,MAAM,CAACxI,iBAAiB,CAAC,GAAA6I,kBAAA,CAAKzG,GAAG,EAAC;MAC9C;MACA,OAAOA,GAAG;IACZ,CAAC,EAAEsG,OAAO,CAAC;IACX7C,eAAe,CAAC7F,iBAAiB,CAAC,GAAG4I,WAAW;IAChDF,OAAO,GAAGE,WAAW;EACvB;EACA,IAAI/C,eAAe,CAACjG,cAAc,CAAC,EAAE;IACnC8I,OAAO,CAACpG,IAAI,CAACuD,eAAe,CAAC;EAC/B;EACA,IAAMpG,SAAS,GAAGmI,sBAAsB,CAAC/B,eAAe,EAAEM,OAAO,KAAApB,MAAA,CAAA8D,kBAAA,CAE5DjH,YAAY,CAAC0D,GAAG,CAAC,UAACwD,CAAC;IAAA,OAAKA,CAAC,CAAC3C,OAAO,EAAEuC,OAAO,EAAER,eAAe,EAAEC,eAAe,CAAC;EAAA,EAAC,IACjF5H,oBAAoB,CAAC,CAAC,EACtBN,sBAAsB,CAAC,CAAC,EACxBC,mBAAmB,CAACiG,OAAO,EAAEuC,OAAO,CAAC;EACrC;EACAjI,eAAe,CAAC,CAAC,EACjBM,4BAA4B,CAAC,CAAC,EAC9BL,yBAAyB,CAACyH,eAAe,EAAED,eAAe,EAAE;IAC1D/B,OAAO,EAAPA,OAAO;IACPqC,MAAM,EAANA,MAAM;IACN5G,YAAY,EAAZA;EACF,CAAC,CAAC;EACF;EACAvB,+BAA+B,CAAC,CAAC;EACjC;EACAG,wBAAwB,CAAC,CAAC;EAC1B;EACAL,mBAAmB,CAAC,CAAC;EACrB;EACAC,kBAAkB,CAAC,CAAC,EACpBU,gBAAgB,CAACqH,eAAe,EAAEhC,OAAO,CAAC;EAC1C;EACA7F,qBAAqB,CAAC6H,eAAe,EAAEhC,OAAO,CAAC,EAChD,CAAC;EACF1G,SAAS,CAACC,iBAAiB,CAAC,GAAGyG,OAAO;EACtC1G,SAAS,CAACsJ,yBAAyB,GAAGZ,eAAe;EACrD1I,SAAS,CAACM,gBAAgB,CAAC,GAAG,YAI5B;IAAA,IAHAiJ,gBAAgB,GAAAtE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAGmB,eAAe;IAAA,IAClCoD,gBAAgB,GAAAvE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAGyD,eAAe;IAAA,IAClCe,QAAQ,GAAAxE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAG0D,OAAO;IAElB,OAAOF,eAAe,CAACc,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACDzJ,SAAS,CAAC0J,WAAW,GAAG,YAItB;IAAA,IAHMH,gBAAgB,GAAAtE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAGmB,eAAe;IAAA,IAClCoD,gBAAgB,GAAAvE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAGyD,eAAe;IAAA,IAClCe,QAAQ,GAAAxE,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAA5B,SAAA,GAAA4B,SAAA,MAAG0D,OAAO;IAExB,OAAOF,eAAe,CAACc,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EACtE,CAAC;EACDzJ,SAAS,CAACG,cAAc,CAAC,GAAG,IAAI;EAChC,OAAOH,SAAS;AAClB;AAEA,SAAS2J,mBAAmBA,CAAiBvD,eAAoB,EAAiC;EAChG,IAAIpG,SAAS,GAAG,IAAI;EACpB,IACE,CAACD,KAAK,CAACqI,aAAa,CAACC,aAAa,CAACjC,eAAe,CAAC,IACnD,CAACrG,KAAK,CAACC,SAAS,CAACqI,aAAa,CAACjC,eAAe,CAAC,IAC/C,OAAOA,eAAe,KAAK,UAAU,EACrC;IACApG,SAAS,gBAAGD,KAAK,CAAC4D,UAAU,CAACyC,eAAe,CAAC;IAC7CpG,SAAS,CAACmD,WAAW,GAAGiD,eAAe,CAACjD,WAAW;IACnDnD,SAAS,CAACgG,YAAY,GAAAwB,aAAA;MACpB,cAAc,EAAEpB,eAAe,CAACjD;IAAW,GACxCiD,eAAe,CAACJ,YAAY,CAChC;IACAhG,SAAS,CAASG,cAAc,CAAC,GAAG,IAAI;EAC3C,CAAC,MAAM;IACL,MAAM,IAAI4G,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EACA,OAAO/G,SAAS;AAClB;AAEA,SAASyI,eAAe,EAAEkB,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","createElement","BindingWrapper","_extends","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","constructor","args","_defineProperty","render","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","asProps","Error","setContext","contextProps","ctx","Provider","value","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\n );\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ type WatchedProps<Props> = {
2
+ [key in keyof Props]?: unknown;
3
+ };
4
+ type Constructor<Props> = new (...args: any[]) => {
5
+ props: Props;
6
+ onPropsChange(changedProps: WatchedProps<Props>): void;
7
+ render(): React.ReactNode;
8
+ componentWillUnmount?(): void;
9
+ };
10
+ declare function propsObserver<P extends Record<string, any>, C extends Constructor<P>>(propsToWatch: Array<keyof P>): (Class: C) => C & Constructor<P>;
11
+ export default propsObserver;
@@ -0,0 +1,11 @@
1
+ type Primitive = string | number | boolean | symbol | bigint | null | undefined;
2
+ type IsReadonly<This, Property extends keyof This> = (<F>() => F extends {
3
+ [P in Property]: This[Property];
4
+ } ? 1 : 2) extends (<F>() => F extends {
5
+ -readonly [P in Property]: This[Property];
6
+ } ? 1 : 2) ? false : true;
7
+ type Callback<This> = (this: This, field: string | symbol, newValue: unknown) => void;
8
+ type ReturnType<This, Property extends keyof This = keyof This> = IsReadonly<This, Property> extends true ? (_: undefined, ctx: ClassFieldDecoratorContext<This, This[Property]>) => void : This[Property] extends Primitive ? (_: undefined, ctx: ClassFieldDecoratorContext<This, This[Property]>) => void : never;
9
+ declare function reactive<This, Property extends keyof This, Value = This[Property]>(cb: Value extends Primitive ? Callback<This> : never): ReturnType<This>;
10
+ declare function reactive<This, Property extends keyof This, Value = This[Property]>(watchedFields: Value extends Primitive ? never : Array<keyof Value>, cb: Callback<This>): ReturnType<This>;
11
+ export default reactive;
@@ -1,25 +1,16 @@
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"] = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
+ exports.default = void 0;
12
8
  var _react = _interopRequireDefault(require("react"));
13
9
  var _symbols = require("../core-types/symbols");
14
- var _excluded = ["handlers", "getters"],
15
- _excluded2 = ["handlers"];
16
- var CHILDREN_SELF = Symbol('CHILDREN_SELF');
17
- var GETTER_REG = /^get[\w]+Props$/;
10
+ const CHILDREN_SELF = Symbol('CHILDREN_SELF');
11
+ const GETTER_REG = /^get[\w]+Props$/;
18
12
  function splitPropsAndGetters(props) {
19
- return Object.entries(props).reduce(function (acc, _ref) {
20
- var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
21
- key = _ref2[0],
22
- value = _ref2[1];
13
+ return Object.entries(props).reduce((acc, [key, value]) => {
23
14
  if (GETTER_REG.exec(key) === null) {
24
15
  acc.props[key] = value;
25
16
  } else {
@@ -37,82 +28,83 @@ function getterToArray(getter) {
37
28
  }
38
29
  return getter;
39
30
  }
40
- function mergeObjects() {
41
- var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
42
- var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43
- var core = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, a), b);
44
- return Object.keys(core).reduce(function (acc, key) {
31
+ function mergeObjects(a = {}, b = {}) {
32
+ const core = {
33
+ ...a,
34
+ ...b
35
+ };
36
+ return Object.keys(core).reduce((acc, key) => {
45
37
  a[key] = getterToArray(a[key]);
46
38
  b[key] = getterToArray(b[key]);
47
- acc[key] = [].concat((0, _toConsumableArray2["default"])(a[key]), (0, _toConsumableArray2["default"])(b[key]));
39
+ acc[key] = [...a[key], ...b[key]];
48
40
  return acc;
49
41
  }, {});
50
42
  }
51
43
  function assignGettersChain(getters) {
52
- return function () {
53
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
- return getters.reduce(function (acc, getter) {
44
+ return function (props = {}) {
45
+ return getters.reduce((acc, getter) => {
55
46
  return getter(acc);
56
47
  }, props);
57
48
  };
58
49
  }
59
50
  function createChildren(Context, contexts) {
60
- var _Children = function Children() {
61
- var children = _Children.origin;
51
+ const Children = function () {
52
+ const children = Children.origin;
62
53
  if (typeof children === 'function') {
63
- var _reduce = [].concat((0, _toConsumableArray2["default"])(contexts), [Context]).reduce(function (acc, ctx) {
64
- var _ref3 = _react["default"].useContext(ctx),
65
- handlers = _ref3.handlers,
66
- propsAndGetters = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
67
- var _splitPropsAndGetters = splitPropsAndGetters(propsAndGetters),
68
- props = _splitPropsAndGetters.props,
69
- getters = _splitPropsAndGetters.getters;
70
- return Object.assign({}, acc, (0, _objectSpread2["default"])({
71
- handlers: Object.assign({}, acc.handlers, handlers),
72
- getters: mergeObjects(acc.getters, getters)
73
- }, props));
74
- }, _Children.props),
75
- _reduce$handlers = _reduce.handlers,
76
- handlers = _reduce$handlers === void 0 ? {} : _reduce$handlers,
77
- _reduce$getters = _reduce.getters,
78
- getters = _reduce$getters === void 0 ? {} : _reduce$getters,
79
- props = (0, _objectWithoutProperties2["default"])(_reduce, _excluded);
80
- var mergedGetters = Object.entries(getters).reduce(function (acc, _ref4) {
81
- var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
82
- key = _ref5[0],
83
- value = _ref5[1];
54
+ const {
55
+ handlers = {},
56
+ getters = {},
57
+ ...props
58
+ } = [...contexts, Context].reduce((acc, ctx) => {
59
+ const {
60
+ handlers,
61
+ ...propsAndGetters
62
+ } = _react.default.useContext(ctx);
63
+ const {
64
+ props,
65
+ getters
66
+ } = splitPropsAndGetters(propsAndGetters);
67
+ return Object.assign({}, acc, {
68
+ handlers: Object.assign({}, acc.handlers, handlers),
69
+ getters: mergeObjects(acc.getters, getters),
70
+ ...props
71
+ });
72
+ }, Children.props);
73
+ const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {
84
74
  acc[key] = assignGettersChain(value);
85
75
  return acc;
86
76
  }, {});
87
- return children((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), mergedGetters), handlers);
77
+ return children({
78
+ ...props,
79
+ ...mergedGetters
80
+ }, handlers);
88
81
  } else if (children === undefined) {
89
82
  return null;
90
83
  }
91
84
  return children;
92
85
  };
93
- _Children.origin = null;
94
- _Children.props = {};
95
- _Children[_symbols.CHILDREN_COMPONENT] = true;
96
- return _Children;
86
+ Children.origin = null;
87
+ Children.props = {};
88
+ Children[_symbols.CHILDREN_COMPONENT] = true;
89
+ return Children;
97
90
  }
98
91
  function Enhancement(Context, parent) {
99
92
  return {
100
- init: function init() {
101
- var contexts = (Array.isArray(parent) ? parent : [parent]).map(function (component) {
102
- return component[_symbols.CONTEXT_COMPONENT];
103
- }).filter(Boolean);
93
+ init: function () {
94
+ const contexts = (Array.isArray(parent) ? parent : [parent]).map(component => component[_symbols.CONTEXT_COMPONENT]).filter(Boolean);
104
95
  this[CHILDREN_SELF] = createChildren(Context, contexts);
105
96
  },
106
- asProps: function asProps(props) {
97
+ asProps: function (props) {
107
98
  // TODO: learn the reason what it was used for (by lsroman)
108
99
  // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;
109
100
  this[CHILDREN_SELF].origin = props.children;
110
101
  this[CHILDREN_SELF].props = props;
111
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
102
+ return {
103
+ ...props,
112
104
  Children: this[CHILDREN_SELF]
113
- });
105
+ };
114
106
  }
115
107
  };
116
108
  }
117
- var _default = exports["default"] = Enhancement;
109
+ var _default = exports.default = Enhancement;
118
110
  //# sourceMappingURL=Children.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Children.js","names":["_react","_interopRequireDefault","require","_symbols","_excluded","_excluded2","CHILDREN_SELF","Symbol","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray2","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","arguments","length","undefined","b","core","_objectSpread2","keys","concat","_toConsumableArray2","assignGettersChain","createChildren","Context","contexts","Children","children","origin","_reduce","ctx","_ref3","React","useContext","handlers","propsAndGetters","_objectWithoutProperties2","_splitPropsAndGetters","assign","_reduce$handlers","_reduce$getters","mergedGetters","_ref4","_ref5","CHILDREN_COMPONENT","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps","_default","exports"],"sources":["../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CONTEXT_COMPONENT, CHILDREN_COMPONENT } from '../core-types/symbols';\n\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Children.js","names":["_react","_interopRequireDefault","require","_symbols","CHILDREN_SELF","Symbol","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","handlers","ctx","propsAndGetters","React","useContext","assign","mergedGetters","undefined","CHILDREN_COMPONENT","Enhancement","parent","init","map","component","CONTEXT_COMPONENT","filter","Boolean","asProps","_default","exports","default"],"sources":["../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CONTEXT_COMPONENT, CHILDREN_COMPONENT } from '../core-types/symbols';\n\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,9 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
1
  import React from "react";
6
2
  import { CHILDREN_COMPONENT, CONTEXT_COMPONENT } from "../core-types/symbols.mjs";
7
- var _excluded = ["handlers", "getters"], _excluded2 = ["handlers"];
8
- var CHILDREN_SELF = Symbol("CHILDREN_SELF");
9
- var GETTER_REG = /^get[\w]+Props$/;
3
+ const CHILDREN_SELF = Symbol("CHILDREN_SELF");
4
+ const GETTER_REG = /^get[\w]+Props$/;
10
5
  function splitPropsAndGetters(props) {
11
- return Object.entries(props).reduce(function(acc, _ref) {
12
- var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];
6
+ return Object.entries(props).reduce((acc, [key, value]) => {
13
7
  if (GETTER_REG.exec(key) === null) {
14
8
  acc.props[key] = value;
15
9
  } else {
@@ -27,67 +21,79 @@ function getterToArray(getter) {
27
21
  }
28
22
  return getter;
29
23
  }
30
- function mergeObjects() {
31
- var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
32
- var b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
33
- var core = _objectSpread(_objectSpread({}, a), b);
34
- return Object.keys(core).reduce(function(acc, key) {
24
+ function mergeObjects(a = {}, b = {}) {
25
+ const core = {
26
+ ...a,
27
+ ...b
28
+ };
29
+ return Object.keys(core).reduce((acc, key) => {
35
30
  a[key] = getterToArray(a[key]);
36
31
  b[key] = getterToArray(b[key]);
37
- acc[key] = [].concat(_toConsumableArray(a[key]), _toConsumableArray(b[key]));
32
+ acc[key] = [...a[key], ...b[key]];
38
33
  return acc;
39
34
  }, {});
40
35
  }
41
36
  function assignGettersChain(getters) {
42
- return function() {
43
- var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
44
- return getters.reduce(function(acc, getter) {
37
+ return function(props = {}) {
38
+ return getters.reduce((acc, getter) => {
45
39
  return getter(acc);
46
40
  }, props);
47
41
  };
48
42
  }
49
43
  function createChildren(Context, contexts) {
50
- var _Children = function Children() {
51
- var children = _Children.origin;
44
+ const Children = function() {
45
+ const children = Children.origin;
52
46
  if (typeof children === "function") {
53
- var _reduce = [].concat(_toConsumableArray(contexts), [Context]).reduce(function(acc, ctx) {
54
- var _ref3 = React.useContext(ctx), handlers2 = _ref3.handlers, propsAndGetters = _objectWithoutProperties(_ref3, _excluded2);
55
- var _splitPropsAndGetters = splitPropsAndGetters(propsAndGetters), props2 = _splitPropsAndGetters.props, getters2 = _splitPropsAndGetters.getters;
56
- return Object.assign({}, acc, _objectSpread({
47
+ const {
48
+ handlers = {},
49
+ getters = {},
50
+ ...props
51
+ } = [...contexts, Context].reduce((acc, ctx) => {
52
+ const {
53
+ handlers: handlers2,
54
+ ...propsAndGetters
55
+ } = React.useContext(ctx);
56
+ const {
57
+ props: props2,
58
+ getters: getters2
59
+ } = splitPropsAndGetters(propsAndGetters);
60
+ return Object.assign({}, acc, {
57
61
  handlers: Object.assign({}, acc.handlers, handlers2),
58
- getters: mergeObjects(acc.getters, getters2)
59
- }, props2));
60
- }, _Children.props), _reduce$handlers = _reduce.handlers, handlers = _reduce$handlers === void 0 ? {} : _reduce$handlers, _reduce$getters = _reduce.getters, getters = _reduce$getters === void 0 ? {} : _reduce$getters, props = _objectWithoutProperties(_reduce, _excluded);
61
- var mergedGetters = Object.entries(getters).reduce(function(acc, _ref4) {
62
- var _ref5 = _slicedToArray(_ref4, 2), key = _ref5[0], value = _ref5[1];
62
+ getters: mergeObjects(acc.getters, getters2),
63
+ ...props2
64
+ });
65
+ }, Children.props);
66
+ const mergedGetters = Object.entries(getters).reduce((acc, [key, value]) => {
63
67
  acc[key] = assignGettersChain(value);
64
68
  return acc;
65
69
  }, {});
66
- return children(_objectSpread(_objectSpread({}, props), mergedGetters), handlers);
70
+ return children({
71
+ ...props,
72
+ ...mergedGetters
73
+ }, handlers);
67
74
  } else if (children === void 0) {
68
75
  return null;
69
76
  }
70
77
  return children;
71
78
  };
72
- _Children.origin = null;
73
- _Children.props = {};
74
- _Children[CHILDREN_COMPONENT] = true;
75
- return _Children;
79
+ Children.origin = null;
80
+ Children.props = {};
81
+ Children[CHILDREN_COMPONENT] = true;
82
+ return Children;
76
83
  }
77
84
  function Enhancement(Context, parent) {
78
85
  return {
79
- init: function init() {
80
- var contexts = (Array.isArray(parent) ? parent : [parent]).map(function(component) {
81
- return component[CONTEXT_COMPONENT];
82
- }).filter(Boolean);
86
+ init: function() {
87
+ const contexts = (Array.isArray(parent) ? parent : [parent]).map((component) => component[CONTEXT_COMPONENT]).filter(Boolean);
83
88
  this[CHILDREN_SELF] = createChildren(Context, contexts);
84
89
  },
85
- asProps: function asProps(props) {
90
+ asProps: function(props) {
86
91
  this[CHILDREN_SELF].origin = props.children;
87
92
  this[CHILDREN_SELF].props = props;
88
- return _objectSpread(_objectSpread({}, props), {}, {
93
+ return {
94
+ ...props,
89
95
  Children: this[CHILDREN_SELF]
90
- });
96
+ };
91
97
  }
92
98
  };
93
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Children.mjs","names":["React","CONTEXT_COMPONENT","CHILDREN_COMPONENT","CHILDREN_SELF","Symbol","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","arguments","length","undefined","b","core","_objectSpread","keys","concat","_toConsumableArray","assignGettersChain","createChildren","Context","contexts","Children","children","origin","_reduce","ctx","_ref3","useContext","handlers","propsAndGetters","_objectWithoutProperties","_excluded2","_splitPropsAndGetters","assign","_reduce$handlers","_reduce$getters","_excluded","mergedGetters","_ref4","_ref5","Enhancement","parent","init","map","component","filter","Boolean","asProps"],"sources":["../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CONTEXT_COMPONENT, CHILDREN_COMPONENT } from '../core-types/symbols';\n\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Children.mjs","names":["React","CONTEXT_COMPONENT","CHILDREN_COMPONENT","CHILDREN_SELF","Symbol","GETTER_REG","splitPropsAndGetters","props","Object","entries","reduce","acc","key","value","exec","getters","getterToArray","getter","Array","isArray","mergeObjects","a","b","core","keys","assignGettersChain","createChildren","Context","contexts","Children","children","origin","handlers","ctx","propsAndGetters","useContext","assign","mergedGetters","undefined","Enhancement","parent","init","map","component","filter","Boolean","asProps"],"sources":["../../src/enhancement/Children.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CONTEXT_COMPONENT, CHILDREN_COMPONENT } from '../core-types/symbols';\n\nconst CHILDREN_SELF = Symbol('CHILDREN_SELF');\n\nconst GETTER_REG = /^get[\\w]+Props$/;\n\nfunction splitPropsAndGetters(props: any) {\n return Object.entries(props).reduce(\n (acc: any, [key, value]) => {\n if (GETTER_REG.exec(key) === null) {\n acc.props[key] = value;\n } else {\n acc.getters[key] = value;\n }\n return acc;\n },\n { props: {}, getters: {} },\n );\n}\n\nfunction getterToArray(getter: any) {\n if (!Array.isArray(getter)) {\n return typeof getter === 'function' ? [getter] : [];\n }\n return getter;\n}\n\nfunction mergeObjects(a: any = {}, b: any = {}) {\n const core = { ...a, ...b };\n return Object.keys(core).reduce((acc: any, key) => {\n a[key] = getterToArray(a[key]);\n b[key] = getterToArray(b[key]);\n acc[key] = [...a[key], ...b[key]];\n return acc;\n }, {});\n}\n\nfunction assignGettersChain(getters: Array<Function>) {\n return function (props = {}) {\n return getters.reduce((acc, getter) => {\n return getter(acc);\n }, props);\n };\n}\n\nfunction createChildren(Context: any, contexts: any) {\n const Children: any = function () {\n const children = Children.origin;\n if (typeof children === 'function') {\n const {\n handlers = {},\n getters = {},\n ...props\n } = [...contexts, Context].reduce((acc, ctx) => {\n const { handlers, ...propsAndGetters } = React.useContext(ctx) as any;\n const { props, getters } = splitPropsAndGetters(propsAndGetters);\n return Object.assign({}, acc, {\n handlers: Object.assign({}, acc.handlers, handlers),\n getters: mergeObjects(acc.getters, getters),\n ...props,\n });\n }, Children.props);\n\n const mergedGetters = Object.entries(getters).reduce((acc: any, [key, value]) => {\n acc[key] = assignGettersChain(value as []);\n return acc;\n }, {});\n\n return children({ ...props, ...mergedGetters }, handlers);\n } else if (children === undefined) {\n return null;\n }\n return children;\n };\n Children.origin = null;\n Children.props = {};\n Children[CHILDREN_COMPONENT] = true;\n return Children;\n}\n\nfunction Enhancement(this: any, Context: any, parent: any) {\n return {\n init: function (this: any) {\n const contexts = (Array.isArray(parent) ? parent : [parent])\n .map((component) => component[CONTEXT_COMPONENT])\n .filter(Boolean);\n this[CHILDREN_SELF] = createChildren(Context, contexts);\n },\n asProps: function (this: any, props: any) {\n // TODO: learn the reason what it was used for (by lsroman)\n // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;\n this[CHILDREN_SELF].origin = props.children;\n this[CHILDREN_SELF].props = props;\n return {\n ...props,\n Children: this[CHILDREN_SELF],\n };\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}