@semcore/core 2.39.4 → 16.0.0-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +2 -2
  3. package/lib/LastInteractionType.d.ts +11 -0
  4. package/lib/LastInteractionType.js +57 -0
  5. package/lib/LastInteractionType.js.map +1 -0
  6. package/lib/LastInteractionType.mjs +51 -0
  7. package/lib/LastInteractionType.mjs.map +1 -0
  8. package/lib/core-types/Component.d.ts +189 -0
  9. package/lib/core-types/Component.js +59 -0
  10. package/lib/core-types/Component.js.map +1 -0
  11. package/lib/core-types/Component.mjs +51 -0
  12. package/lib/core-types/Component.mjs.map +1 -0
  13. package/lib/core-types/UnknownProperties.d.ts +3 -0
  14. package/lib/core-types/UnknownProperties.js +2 -0
  15. package/lib/core-types/UnknownProperties.js.map +1 -0
  16. package/lib/core-types/UnknownProperties.mjs +2 -0
  17. package/lib/core-types/UnknownProperties.mjs.map +1 -0
  18. package/lib/core-types/reshadow.d.js +2 -0
  19. package/lib/core-types/reshadow.d.js.map +1 -0
  20. package/lib/core-types/reshadow.d.mjs +2 -0
  21. package/lib/core-types/reshadow.d.mjs.map +1 -0
  22. package/lib/core-types/symbols.d.ts +9 -0
  23. package/lib/core-types/symbols.js +25 -0
  24. package/lib/core-types/symbols.js.map +1 -0
  25. package/lib/core-types/symbols.mjs +20 -0
  26. package/lib/core-types/symbols.mjs.map +1 -0
  27. package/lib/coreFactory.d.ts +27 -0
  28. package/lib/coreFactory.js +352 -0
  29. package/lib/coreFactory.js.map +1 -0
  30. package/lib/coreFactory.mjs +324 -0
  31. package/lib/coreFactory.mjs.map +1 -0
  32. package/lib/enhancement/Children.d.ts +5 -0
  33. package/lib/enhancement/Children.js +119 -0
  34. package/lib/enhancement/Children.js.map +1 -0
  35. package/lib/enhancement/Children.mjs +96 -0
  36. package/lib/enhancement/Children.mjs.map +1 -0
  37. package/lib/enhancement/Root.d.ts +6 -0
  38. package/lib/enhancement/Root.js +78 -0
  39. package/lib/enhancement/Root.js.map +1 -0
  40. package/lib/enhancement/Root.mjs +56 -0
  41. package/lib/enhancement/Root.mjs.map +1 -0
  42. package/lib/enhancement/bindHandler.d.ts +5 -0
  43. package/lib/enhancement/bindHandler.js +54 -0
  44. package/lib/enhancement/bindHandler.js.map +1 -0
  45. package/lib/enhancement/bindHandler.mjs +48 -0
  46. package/lib/enhancement/bindHandler.mjs.map +1 -0
  47. package/lib/enhancement/dataName.d.ts +4 -0
  48. package/lib/enhancement/dataName.js +20 -0
  49. package/lib/enhancement/dataName.js.map +1 -0
  50. package/lib/enhancement/dataName.mjs +13 -0
  51. package/lib/enhancement/dataName.mjs.map +1 -0
  52. package/lib/enhancement/enhance.d.ts +5 -0
  53. package/lib/enhancement/enhance.js +22 -0
  54. package/lib/enhancement/enhance.js.map +1 -0
  55. package/lib/enhancement/enhance.mjs +16 -0
  56. package/lib/enhancement/enhance.mjs.map +1 -0
  57. package/lib/enhancement/functionDefaultProps.d.ts +8 -0
  58. package/lib/enhancement/functionDefaultProps.js +36 -0
  59. package/lib/enhancement/functionDefaultProps.js.map +1 -0
  60. package/lib/enhancement/functionDefaultProps.mjs +29 -0
  61. package/lib/enhancement/functionDefaultProps.mjs.map +1 -0
  62. package/lib/enhancement/hoistProps.d.ts +10 -0
  63. package/lib/enhancement/hoistProps.js +97 -0
  64. package/lib/enhancement/hoistProps.js.map +1 -0
  65. package/lib/enhancement/hoistProps.mjs +78 -0
  66. package/lib/enhancement/hoistProps.mjs.map +1 -0
  67. package/lib/enhancement/i18n.d.ts +4 -0
  68. package/lib/enhancement/i18n.js +28 -0
  69. package/lib/enhancement/i18n.js.map +1 -0
  70. package/lib/enhancement/i18n.mjs +20 -0
  71. package/lib/enhancement/i18n.mjs.map +1 -0
  72. package/lib/enhancement/inheritedName.d.ts +8 -0
  73. package/lib/enhancement/inheritedName.js +23 -0
  74. package/lib/enhancement/inheritedName.js.map +1 -0
  75. package/lib/enhancement/inheritedName.mjs +16 -0
  76. package/lib/enhancement/inheritedName.mjs.map +1 -0
  77. package/lib/enhancement/staticChildren.d.ts +13 -0
  78. package/lib/enhancement/staticChildren.js +135 -0
  79. package/lib/enhancement/staticChildren.js.map +1 -0
  80. package/lib/enhancement/staticChildren.mjs +120 -0
  81. package/lib/enhancement/staticChildren.mjs.map +1 -0
  82. package/lib/enhancement/style.d.ts +9 -0
  83. package/lib/enhancement/style.js +60 -0
  84. package/lib/enhancement/style.js.map +1 -0
  85. package/lib/enhancement/style.mjs +49 -0
  86. package/lib/enhancement/style.mjs.map +1 -0
  87. package/lib/enhancement/uncontrolledProps.d.ts +7 -0
  88. package/lib/enhancement/uncontrolledProps.js +131 -0
  89. package/lib/enhancement/uncontrolledProps.js.map +1 -0
  90. package/lib/enhancement/uncontrolledProps.mjs +107 -0
  91. package/lib/enhancement/uncontrolledProps.mjs.map +1 -0
  92. package/lib/esm/LastInteractionType.mjs +51 -0
  93. package/lib/esm/core-types/Component.mjs +51 -0
  94. package/lib/esm/core-types/symbols.mjs +20 -0
  95. package/lib/esm/coreFactory.mjs +324 -0
  96. package/lib/esm/enhancement/Children.mjs +96 -0
  97. package/lib/esm/enhancement/Root.mjs +56 -0
  98. package/lib/esm/enhancement/bindHandler.mjs +48 -0
  99. package/lib/esm/enhancement/dataName.mjs +13 -0
  100. package/lib/esm/enhancement/enhance.mjs +16 -0
  101. package/lib/esm/enhancement/functionDefaultProps.mjs +29 -0
  102. package/lib/esm/enhancement/hoistProps.mjs +78 -0
  103. package/lib/esm/enhancement/i18n.mjs +20 -0
  104. package/lib/esm/enhancement/inheritedName.mjs +16 -0
  105. package/lib/esm/enhancement/staticChildren.mjs +120 -0
  106. package/lib/esm/enhancement/style.mjs +49 -0
  107. package/lib/esm/enhancement/uncontrolledProps.mjs +107 -0
  108. package/lib/esm/index.mjs +22 -4
  109. package/lib/esm/register.mjs +31 -0
  110. package/lib/esm/styled/index.mjs +8 -0
  111. package/lib/esm/styled/reshadow-core.mjs +234 -0
  112. package/lib/esm/styled/sstyled.mjs +121 -0
  113. package/lib/esm/utils/assignProps.mjs +86 -0
  114. package/lib/esm/utils/canUseDOM.mjs +6 -0
  115. package/lib/esm/utils/capitalizeFirstLetter.mjs +6 -0
  116. package/lib/esm/utils/createHoc.mjs +44 -0
  117. package/lib/esm/utils/enhances/WithI18n.mjs +78 -0
  118. package/lib/esm/utils/enhances/i18nEnhance.mjs +91 -0
  119. package/lib/esm/utils/getDisplayName.mjs +6 -0
  120. package/lib/esm/utils/logger.mjs +35 -0
  121. package/lib/esm/utils/pick.mjs +15 -0
  122. package/lib/esm/utils/ref.mjs +87 -0
  123. package/lib/esm/utils/use/useEnhancedEffect.mjs +6 -0
  124. package/lib/index.d.ts +11 -0
  125. package/lib/index.js +103 -0
  126. package/lib/index.js.map +1 -0
  127. package/lib/index.mjs +24 -0
  128. package/lib/index.mjs.map +1 -0
  129. package/lib/register.d.ts +8 -0
  130. package/lib/register.js +37 -0
  131. package/lib/register.js.map +1 -0
  132. package/lib/register.mjs +31 -0
  133. package/lib/register.mjs.map +1 -0
  134. package/lib/styled/index.d.ts +11 -0
  135. package/lib/styled/index.js +32 -0
  136. package/lib/styled/index.js.map +1 -0
  137. package/lib/styled/index.mjs +8 -0
  138. package/lib/styled/index.mjs.map +1 -0
  139. package/lib/styled/reshadow-core.d.ts +37 -0
  140. package/lib/styled/reshadow-core.js +256 -0
  141. package/lib/styled/reshadow-core.js.map +1 -0
  142. package/lib/styled/reshadow-core.mjs +234 -0
  143. package/lib/styled/reshadow-core.mjs.map +1 -0
  144. package/lib/styled/sstyled.d.ts +17 -0
  145. package/lib/styled/sstyled.js +149 -0
  146. package/lib/styled/sstyled.js.map +1 -0
  147. package/lib/styled/sstyled.mjs +121 -0
  148. package/lib/styled/sstyled.mjs.map +1 -0
  149. package/lib/theme/dark.json +2506 -0
  150. package/lib/theme/exclude-tokens.json +10 -0
  151. package/lib/theme/light.json +2584 -0
  152. package/lib/theme/processor.d.ts +1 -0
  153. package/lib/theme/processor.js +315 -0
  154. package/lib/theme/processor.js.map +1 -0
  155. package/lib/theme/processor.mjs +307 -0
  156. package/lib/theme/processor.mjs.map +1 -0
  157. package/lib/theme/themes/auto.css +1465 -0
  158. package/lib/theme/themes/dark.css +723 -0
  159. package/lib/theme/themes/dark.d.ts +378 -0
  160. package/lib/theme/themes/dark.js +385 -0
  161. package/lib/theme/themes/dark.js.map +1 -0
  162. package/lib/theme/themes/dark.mjs +378 -0
  163. package/lib/theme/themes/dark.mjs.map +1 -0
  164. package/lib/theme/themes/default.css +742 -0
  165. package/lib/theme/themes/default.d.ts +387 -0
  166. package/lib/theme/themes/default.js +394 -0
  167. package/lib/theme/themes/default.js.map +1 -0
  168. package/lib/theme/themes/default.mjs +387 -0
  169. package/lib/theme/themes/default.mjs.map +1 -0
  170. package/lib/theme/themes/light.css +742 -0
  171. package/lib/theme/themes/light.d.ts +387 -0
  172. package/lib/theme/themes/light.js +394 -0
  173. package/lib/theme/themes/light.js.map +1 -0
  174. package/lib/theme/themes/light.mjs +387 -0
  175. package/lib/theme/themes/light.mjs.map +1 -0
  176. package/lib/theme/utils.d.ts +52 -0
  177. package/lib/theme/utils.js +297 -0
  178. package/lib/theme/utils.js.map +1 -0
  179. package/lib/theme/utils.mjs +286 -0
  180. package/lib/theme/utils.mjs.map +1 -0
  181. package/lib/utils/CSSinJS.d.ts +5 -0
  182. package/lib/utils/CSSinJS.js +36 -0
  183. package/lib/utils/CSSinJS.js.map +1 -0
  184. package/lib/utils/CSSinJS.mjs +28 -0
  185. package/lib/utils/CSSinJS.mjs.map +1 -0
  186. package/lib/utils/ScreenReaderOnly.d.ts +8 -0
  187. package/lib/utils/ScreenReaderOnly.js +31 -0
  188. package/lib/utils/ScreenReaderOnly.js.map +1 -0
  189. package/lib/utils/ScreenReaderOnly.mjs +24 -0
  190. package/lib/utils/ScreenReaderOnly.mjs.map +1 -0
  191. package/lib/utils/ThemeProvider.d.ts +15 -0
  192. package/lib/utils/ThemeProvider.js +82 -0
  193. package/lib/utils/ThemeProvider.js.map +1 -0
  194. package/lib/utils/ThemeProvider.mjs +71 -0
  195. package/lib/utils/ThemeProvider.mjs.map +1 -0
  196. package/lib/utils/addonText.d.ts +2 -0
  197. package/lib/utils/addonText.js +18 -0
  198. package/lib/utils/addonText.js.map +1 -0
  199. package/lib/utils/addonText.mjs +11 -0
  200. package/lib/utils/addonText.mjs.map +1 -0
  201. package/lib/utils/addonTextChildren.d.ts +3 -0
  202. package/lib/utils/addonTextChildren.js +45 -0
  203. package/lib/utils/addonTextChildren.js.map +1 -0
  204. package/lib/utils/addonTextChildren.mjs +37 -0
  205. package/lib/utils/addonTextChildren.mjs.map +1 -0
  206. package/lib/utils/ariaProps.d.ts +12 -0
  207. package/lib/utils/ariaProps.js +22 -0
  208. package/lib/utils/ariaProps.js.map +1 -0
  209. package/lib/utils/ariaProps.mjs +16 -0
  210. package/lib/utils/ariaProps.mjs.map +1 -0
  211. package/lib/utils/assignProps.d.ts +11 -0
  212. package/lib/utils/assignProps.js +93 -0
  213. package/lib/utils/assignProps.js.map +1 -0
  214. package/lib/utils/assignProps.mjs +86 -0
  215. package/lib/utils/assignProps.mjs.map +1 -0
  216. package/lib/utils/canUseDOM.d.ts +1 -0
  217. package/lib/utils/canUseDOM.js +10 -0
  218. package/lib/utils/canUseDOM.js.map +1 -0
  219. package/lib/utils/canUseDOM.mjs +6 -0
  220. package/lib/utils/canUseDOM.mjs.map +1 -0
  221. package/lib/utils/capitalizeFirstLetter.d.ts +1 -0
  222. package/lib/utils/capitalizeFirstLetter.js +10 -0
  223. package/lib/utils/capitalizeFirstLetter.js.map +1 -0
  224. package/lib/utils/capitalizeFirstLetter.mjs +6 -0
  225. package/lib/utils/capitalizeFirstLetter.mjs.map +1 -0
  226. package/lib/utils/color.d.ts +5 -0
  227. package/lib/utils/color.js +208 -0
  228. package/lib/utils/color.js.map +1 -0
  229. package/lib/utils/color.mjs +196 -0
  230. package/lib/utils/color.mjs.map +1 -0
  231. package/lib/utils/compose.d.ts +1 -0
  232. package/lib/utils/compose.js +21 -0
  233. package/lib/utils/compose.js.map +1 -0
  234. package/lib/utils/compose.mjs +15 -0
  235. package/lib/utils/compose.mjs.map +1 -0
  236. package/lib/utils/createHoc.d.ts +3 -0
  237. package/lib/utils/createHoc.js +55 -0
  238. package/lib/utils/createHoc.js.map +1 -0
  239. package/lib/utils/createHoc.mjs +44 -0
  240. package/lib/utils/createHoc.mjs.map +1 -0
  241. package/lib/utils/createUUID.d.ts +1 -0
  242. package/lib/utils/createUUID.js +15 -0
  243. package/lib/utils/createUUID.js.map +1 -0
  244. package/lib/utils/createUUID.mjs +9 -0
  245. package/lib/utils/createUUID.mjs.map +1 -0
  246. package/lib/utils/cssToIntDefault.d.ts +8 -0
  247. package/lib/utils/cssToIntDefault.js +22 -0
  248. package/lib/utils/cssToIntDefault.js.map +1 -0
  249. package/lib/utils/cssToIntDefault.mjs +16 -0
  250. package/lib/utils/cssToIntDefault.mjs.map +1 -0
  251. package/lib/utils/enhances/WithAutoFocus.d.ts +14 -0
  252. package/lib/utils/enhances/WithAutoFocus.js +75 -0
  253. package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
  254. package/lib/utils/enhances/WithAutoFocus.mjs +67 -0
  255. package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -0
  256. package/lib/utils/enhances/WithCSS.d.ts +41 -0
  257. package/lib/utils/enhances/WithCSS.js +93 -0
  258. package/lib/utils/enhances/WithCSS.js.map +1 -0
  259. package/lib/utils/enhances/WithCSS.mjs +79 -0
  260. package/lib/utils/enhances/WithCSS.mjs.map +1 -0
  261. package/lib/utils/enhances/WithI18n.d.ts +43 -0
  262. package/lib/utils/enhances/WithI18n.js +95 -0
  263. package/lib/utils/enhances/WithI18n.js.map +1 -0
  264. package/lib/utils/enhances/WithI18n.mjs +78 -0
  265. package/lib/utils/enhances/WithI18n.mjs.map +1 -0
  266. package/lib/utils/enhances/WithKeyboardFocus.d.ts +45 -0
  267. package/lib/utils/enhances/WithKeyboardFocus.js +93 -0
  268. package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
  269. package/lib/utils/enhances/WithKeyboardFocus.mjs +84 -0
  270. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -0
  271. package/lib/utils/enhances/WithRef.d.ts +3 -0
  272. package/lib/utils/enhances/WithRef.js +26 -0
  273. package/lib/utils/enhances/WithRef.js.map +1 -0
  274. package/lib/utils/enhances/WithRef.mjs +18 -0
  275. package/lib/utils/enhances/WithRef.mjs.map +1 -0
  276. package/lib/utils/enhances/a11yEnhance.d.ts +10 -0
  277. package/lib/utils/enhances/a11yEnhance.js +74 -0
  278. package/lib/utils/enhances/a11yEnhance.js.map +1 -0
  279. package/lib/utils/enhances/a11yEnhance.mjs +66 -0
  280. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -0
  281. package/lib/utils/enhances/animatedSizeEnhance.d.ts +12 -0
  282. package/lib/utils/enhances/animatedSizeEnhance.js +98 -0
  283. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -0
  284. package/lib/utils/enhances/animatedSizeEnhance.mjs +90 -0
  285. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -0
  286. package/lib/utils/enhances/autoFocusEnhance.d.ts +10 -0
  287. package/lib/utils/enhances/autoFocusEnhance.js +46 -0
  288. package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
  289. package/lib/utils/enhances/autoFocusEnhance.mjs +38 -0
  290. package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -0
  291. package/lib/utils/enhances/contextEnhance.d.ts +3 -0
  292. package/lib/utils/enhances/contextEnhance.js +22 -0
  293. package/lib/utils/enhances/contextEnhance.js.map +1 -0
  294. package/lib/utils/enhances/contextEnhance.mjs +14 -0
  295. package/lib/utils/enhances/contextEnhance.mjs.map +1 -0
  296. package/lib/utils/enhances/i18nEnhance.d.ts +25 -0
  297. package/lib/utils/enhances/i18nEnhance.js +101 -0
  298. package/lib/utils/enhances/i18nEnhance.js.map +1 -0
  299. package/lib/utils/enhances/i18nEnhance.mjs +91 -0
  300. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -0
  301. package/lib/utils/enhances/keyboardFocusEnhance.d.ts +27 -0
  302. package/lib/utils/enhances/keyboardFocusEnhance.js +63 -0
  303. package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
  304. package/lib/utils/enhances/keyboardFocusEnhance.mjs +57 -0
  305. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -0
  306. package/lib/utils/enhances/resolveColorEnhance.d.ts +2 -0
  307. package/lib/utils/enhances/resolveColorEnhance.js +25 -0
  308. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -0
  309. package/lib/utils/enhances/resolveColorEnhance.mjs +17 -0
  310. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -0
  311. package/lib/utils/eventEmitter.d.ts +9 -0
  312. package/lib/utils/eventEmitter.js +41 -0
  313. package/lib/utils/eventEmitter.js.map +1 -0
  314. package/lib/utils/eventEmitter.mjs +34 -0
  315. package/lib/utils/eventEmitter.mjs.map +1 -0
  316. package/lib/utils/findComponent.d.ts +12 -0
  317. package/lib/utils/findComponent.js +106 -0
  318. package/lib/utils/findComponent.js.map +1 -0
  319. package/lib/utils/findComponent.mjs +95 -0
  320. package/lib/utils/findComponent.mjs.map +1 -0
  321. package/lib/utils/fire.d.ts +2 -0
  322. package/lib/utils/fire.js +23 -0
  323. package/lib/utils/fire.js.map +1 -0
  324. package/lib/utils/fire.mjs +15 -0
  325. package/lib/utils/fire.mjs.map +1 -0
  326. package/lib/utils/focus-lock/focusBorders.d.ts +4 -0
  327. package/lib/utils/focus-lock/focusBorders.js +72 -0
  328. package/lib/utils/focus-lock/focusBorders.js.map +1 -0
  329. package/lib/utils/focus-lock/focusBorders.mjs +62 -0
  330. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -0
  331. package/lib/utils/focus-lock/getFocusableIn.d.ts +1 -0
  332. package/lib/utils/focus-lock/getFocusableIn.js +26 -0
  333. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -0
  334. package/lib/utils/focus-lock/getFocusableIn.mjs +19 -0
  335. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -0
  336. package/lib/utils/focus-lock/isFocusInside.d.ts +1 -0
  337. package/lib/utils/focus-lock/isFocusInside.js +16 -0
  338. package/lib/utils/focus-lock/isFocusInside.js.map +1 -0
  339. package/lib/utils/focus-lock/isFocusInside.mjs +9 -0
  340. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -0
  341. package/lib/utils/focus-lock/isFocusable.d.ts +1 -0
  342. package/lib/utils/focus-lock/isFocusable.js +51 -0
  343. package/lib/utils/focus-lock/isFocusable.js.map +1 -0
  344. package/lib/utils/focus-lock/isFocusable.mjs +43 -0
  345. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -0
  346. package/lib/utils/focus-lock/setFocus.d.ts +1 -0
  347. package/lib/utils/focus-lock/setFocus.js +63 -0
  348. package/lib/utils/focus-lock/setFocus.js.map +1 -0
  349. package/lib/utils/focus-lock/setFocus.mjs +55 -0
  350. package/lib/utils/focus-lock/setFocus.mjs.map +1 -0
  351. package/lib/utils/getAccessibleName.d.ts +1 -0
  352. package/lib/utils/getAccessibleName.js +56 -0
  353. package/lib/utils/getAccessibleName.js.map +1 -0
  354. package/lib/utils/getAccessibleName.mjs +49 -0
  355. package/lib/utils/getAccessibleName.mjs.map +1 -0
  356. package/lib/utils/getDisplayName.d.ts +2 -0
  357. package/lib/utils/getDisplayName.js +10 -0
  358. package/lib/utils/getDisplayName.js.map +1 -0
  359. package/lib/utils/getDisplayName.mjs +6 -0
  360. package/lib/utils/getDisplayName.mjs.map +1 -0
  361. package/lib/utils/getEventTarget.d.ts +1 -0
  362. package/lib/utils/getEventTarget.js +53 -0
  363. package/lib/utils/getEventTarget.js.map +1 -0
  364. package/lib/utils/getEventTarget.mjs +45 -0
  365. package/lib/utils/getEventTarget.mjs.map +1 -0
  366. package/lib/utils/getOriginChildren.d.ts +2 -0
  367. package/lib/utils/getOriginChildren.js +18 -0
  368. package/lib/utils/getOriginChildren.js.map +1 -0
  369. package/lib/utils/getOriginChildren.mjs +10 -0
  370. package/lib/utils/getOriginChildren.mjs.map +1 -0
  371. package/lib/utils/getRandomInt.d.ts +1 -0
  372. package/lib/utils/getRandomInt.js +11 -0
  373. package/lib/utils/getRandomInt.js.map +1 -0
  374. package/lib/utils/getRandomInt.mjs +5 -0
  375. package/lib/utils/getRandomInt.mjs.map +1 -0
  376. package/lib/utils/getValue.d.ts +1 -0
  377. package/lib/utils/getValue.js +16 -0
  378. package/lib/utils/getValue.js.map +1 -0
  379. package/lib/utils/getValue.mjs +10 -0
  380. package/lib/utils/getValue.mjs.map +1 -0
  381. package/lib/utils/hasLabels.d.ts +7 -0
  382. package/lib/utils/hasLabels.js +47 -0
  383. package/lib/utils/hasLabels.js.map +1 -0
  384. package/lib/utils/hasLabels.mjs +39 -0
  385. package/lib/utils/hasLabels.mjs.map +1 -0
  386. package/lib/utils/hasParent.d.ts +1 -0
  387. package/lib/utils/hasParent.js +14 -0
  388. package/lib/utils/hasParent.js.map +1 -0
  389. package/lib/utils/hasParent.mjs +7 -0
  390. package/lib/utils/hasParent.mjs.map +1 -0
  391. package/lib/utils/if.d.ts +11 -0
  392. package/lib/utils/if.js +16 -0
  393. package/lib/utils/if.js.map +1 -0
  394. package/lib/utils/if.mjs +9 -0
  395. package/lib/utils/if.mjs.map +1 -0
  396. package/lib/utils/ifChildren.d.ts +8 -0
  397. package/lib/utils/ifChildren.js +17 -0
  398. package/lib/utils/ifChildren.js.map +1 -0
  399. package/lib/utils/ifChildren.mjs +10 -0
  400. package/lib/utils/ifChildren.mjs.map +1 -0
  401. package/lib/utils/injectStyle.d.ts +2 -0
  402. package/lib/utils/injectStyle.js +49 -0
  403. package/lib/utils/injectStyle.js.map +1 -0
  404. package/lib/utils/injectStyle.mjs +41 -0
  405. package/lib/utils/injectStyle.mjs.map +1 -0
  406. package/lib/utils/inputProps.d.ts +2 -0
  407. package/lib/utils/inputProps.js +22 -0
  408. package/lib/utils/inputProps.js.map +1 -0
  409. package/lib/utils/inputProps.mjs +14 -0
  410. package/lib/utils/inputProps.mjs.map +1 -0
  411. package/lib/utils/isInteractiveElement.d.ts +1 -0
  412. package/lib/utils/isInteractiveElement.js +34 -0
  413. package/lib/utils/isInteractiveElement.js.map +1 -0
  414. package/lib/utils/isInteractiveElement.mjs +28 -0
  415. package/lib/utils/isInteractiveElement.mjs.map +1 -0
  416. package/lib/utils/isNode.d.ts +1 -0
  417. package/lib/utils/isNode.js +28 -0
  418. package/lib/utils/isNode.js.map +1 -0
  419. package/lib/utils/isNode.mjs +21 -0
  420. package/lib/utils/isNode.mjs.map +1 -0
  421. package/lib/utils/isPromise.d.ts +1 -0
  422. package/lib/utils/isPromise.js +10 -0
  423. package/lib/utils/isPromise.js.map +1 -0
  424. package/lib/utils/isPromise.mjs +4 -0
  425. package/lib/utils/isPromise.mjs.map +1 -0
  426. package/lib/utils/isRetina.d.ts +1 -0
  427. package/lib/utils/isRetina.js +15 -0
  428. package/lib/utils/isRetina.js.map +1 -0
  429. package/lib/utils/isRetina.mjs +9 -0
  430. package/lib/utils/isRetina.mjs.map +1 -0
  431. package/lib/utils/logger.d.ts +9 -0
  432. package/lib/utils/logger.js +40 -0
  433. package/lib/utils/logger.js.map +1 -0
  434. package/lib/utils/logger.mjs +35 -0
  435. package/lib/utils/logger.mjs.map +1 -0
  436. package/lib/utils/numericChecker.d.ts +5 -0
  437. package/lib/utils/numericChecker.js +33 -0
  438. package/lib/utils/numericChecker.js.map +1 -0
  439. package/lib/utils/numericChecker.mjs +27 -0
  440. package/lib/utils/numericChecker.mjs.map +1 -0
  441. package/lib/utils/ownerDocument.d.ts +1 -0
  442. package/lib/utils/ownerDocument.js +10 -0
  443. package/lib/utils/ownerDocument.js.map +1 -0
  444. package/lib/utils/ownerDocument.mjs +4 -0
  445. package/lib/utils/ownerDocument.mjs.map +1 -0
  446. package/lib/utils/pick.d.ts +1 -0
  447. package/lib/utils/pick.js +19 -0
  448. package/lib/utils/pick.js.map +1 -0
  449. package/lib/utils/pick.mjs +15 -0
  450. package/lib/utils/pick.mjs.map +1 -0
  451. package/lib/utils/propsForElement.d.ts +3 -0
  452. package/lib/utils/propsForElement.js +59 -0
  453. package/lib/utils/propsForElement.js.map +1 -0
  454. package/lib/utils/propsForElement.mjs +50 -0
  455. package/lib/utils/propsForElement.mjs.map +1 -0
  456. package/lib/utils/rafTrottle.d.ts +2 -0
  457. package/lib/utils/rafTrottle.js +33 -0
  458. package/lib/utils/rafTrottle.js.map +1 -0
  459. package/lib/utils/rafTrottle.mjs +26 -0
  460. package/lib/utils/rafTrottle.mjs.map +1 -0
  461. package/lib/utils/reactToText.d.ts +3 -0
  462. package/lib/utils/reactToText.js +33 -0
  463. package/lib/utils/reactToText.js.map +1 -0
  464. package/lib/utils/reactToText.mjs +26 -0
  465. package/lib/utils/reactToText.mjs.map +1 -0
  466. package/lib/utils/ref.d.ts +10 -0
  467. package/lib/utils/ref.js +96 -0
  468. package/lib/utils/ref.js.map +1 -0
  469. package/lib/utils/ref.mjs +87 -0
  470. package/lib/utils/ref.mjs.map +1 -0
  471. package/lib/utils/setRef.d.ts +2 -0
  472. package/lib/utils/setRef.js +10 -0
  473. package/lib/utils/setRef.js.map +1 -0
  474. package/lib/utils/setRef.mjs +3 -0
  475. package/lib/utils/setRef.mjs.map +1 -0
  476. package/lib/utils/syncScroll.d.ts +1 -0
  477. package/lib/utils/syncScroll.js +61 -0
  478. package/lib/utils/syncScroll.js.map +1 -0
  479. package/lib/utils/syncScroll.mjs +54 -0
  480. package/lib/utils/syncScroll.mjs.map +1 -0
  481. package/lib/utils/uncontroll.d.ts +4 -0
  482. package/lib/utils/uncontroll.js +47 -0
  483. package/lib/utils/uncontroll.js.map +1 -0
  484. package/lib/utils/uncontroll.mjs +38 -0
  485. package/lib/utils/uncontroll.mjs.map +1 -0
  486. package/lib/utils/uniqueID.d.ts +12 -0
  487. package/lib/utils/uniqueID.js +42 -0
  488. package/lib/utils/uniqueID.js.map +1 -0
  489. package/lib/utils/uniqueID.mjs +33 -0
  490. package/lib/utils/uniqueID.mjs.map +1 -0
  491. package/lib/utils/use/useColorResolver.d.ts +1 -0
  492. package/lib/utils/use/useColorResolver.js +208 -0
  493. package/lib/utils/use/useColorResolver.js.map +1 -0
  494. package/lib/utils/use/useColorResolver.mjs +200 -0
  495. package/lib/utils/use/useColorResolver.mjs.map +1 -0
  496. package/lib/utils/use/useCss.d.ts +4 -0
  497. package/lib/utils/use/useCss.js +20 -0
  498. package/lib/utils/use/useCss.js.map +1 -0
  499. package/lib/utils/use/useCss.mjs +12 -0
  500. package/lib/utils/use/useCss.mjs.map +1 -0
  501. package/lib/utils/use/useEnhancedEffect.d.ts +3 -0
  502. package/lib/utils/use/useEnhancedEffect.js +13 -0
  503. package/lib/utils/use/useEnhancedEffect.js.map +1 -0
  504. package/lib/utils/use/useEnhancedEffect.mjs +6 -0
  505. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -0
  506. package/lib/utils/use/useEventCallback.d.ts +4 -0
  507. package/lib/utils/use/useEventCallback.js +25 -0
  508. package/lib/utils/use/useEventCallback.js.map +1 -0
  509. package/lib/utils/use/useEventCallback.mjs +19 -0
  510. package/lib/utils/use/useEventCallback.mjs.map +1 -0
  511. package/lib/utils/use/useEventListener.d.ts +2 -0
  512. package/lib/utils/use/useEventListener.js +33 -0
  513. package/lib/utils/use/useEventListener.js.map +1 -0
  514. package/lib/utils/use/useEventListener.mjs +25 -0
  515. package/lib/utils/use/useEventListener.mjs.map +1 -0
  516. package/lib/utils/use/useFocusLock.d.ts +10 -0
  517. package/lib/utils/use/useFocusLock.js +289 -0
  518. package/lib/utils/use/useFocusLock.js.map +1 -0
  519. package/lib/utils/use/useFocusLock.mjs +266 -0
  520. package/lib/utils/use/useFocusLock.mjs.map +1 -0
  521. package/lib/utils/use/usePreventScroll.d.ts +2 -0
  522. package/lib/utils/use/usePreventScroll.js +78 -0
  523. package/lib/utils/use/usePreventScroll.js.map +1 -0
  524. package/lib/utils/use/usePreventScroll.mjs +70 -0
  525. package/lib/utils/use/usePreventScroll.mjs.map +1 -0
  526. package/lib/utils/useCssVariable.d.ts +8 -0
  527. package/lib/utils/useCssVariable.js +55 -0
  528. package/lib/utils/useCssVariable.js.map +1 -0
  529. package/lib/utils/useCssVariable.mjs +46 -0
  530. package/lib/utils/useCssVariable.mjs.map +1 -0
  531. package/lib/utils/zIndexStacking.d.ts +8 -0
  532. package/lib/utils/zIndexStacking.js +48 -0
  533. package/lib/utils/zIndexStacking.js.map +1 -0
  534. package/lib/utils/zIndexStacking.mjs +38 -0
  535. package/lib/utils/zIndexStacking.mjs.map +1 -0
  536. package/package.json +297 -10
  537. package/tsconfig-utils.json +4 -0
  538. package/vite.config.ts +24 -0
  539. package/lib/cjs/index.js +0 -23
  540. package/lib/cjs/index.js.map +0 -1
  541. package/lib/es6/index.js +0 -4
  542. package/lib/es6/index.js.map +0 -1
  543. package/lib/types/index.d.ts +0 -3
@@ -0,0 +1,324 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _get from "@babel/runtime/helpers/esm/get";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
5
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
6
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
7
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
8
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
9
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
10
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
+ import _extends from "@babel/runtime/helpers/esm/extends";
12
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
13
+ import React from "react";
14
+ import hoistNonReactStatics from "hoist-non-react-statics";
15
+ import { useForkRef } from "./utils/ref.mjs";
16
+ import useEnhancedEffect from "./utils/use/useEnhancedEffect.mjs";
17
+ import assignProps$1 from "./utils/assignProps.mjs";
18
+ import { Component } from "./core-types/Component.mjs";
19
+ import Enhancement$1 from "./enhancement/Children.mjs";
20
+ import Enhancement$2 from "./enhancement/Root.mjs";
21
+ import Enhancement$3 from "./enhancement/uncontrolledProps.mjs";
22
+ import Enhancement$5 from "./enhancement/functionDefaultProps.mjs";
23
+ import Enhancement$4, { ROOT_COMPONENT, getterMethodNameByDisplayName, STATIC_COMPONENT } from "./enhancement/staticChildren.mjs";
24
+ import Enhancement$6 from "./enhancement/inheritedName.mjs";
25
+ import Enhancement$a from "./enhancement/hoistProps.mjs";
26
+ import Enhancement$7 from "./enhancement/dataName.mjs";
27
+ import Enhancement$8 from "./enhancement/enhance.mjs";
28
+ import Enhancement$9 from "./enhancement/style.mjs";
29
+ import Enhancement from "./enhancement/bindHandler.mjs";
30
+ import i18nAppLocaleEnhance from "./enhancement/i18n.mjs";
31
+ import { CORE_AS_PROPS, CORE_INSTANCE, CORE_INIT, CORE_COMPONENT, PARENT_COMPONENTS, CONTEXT_COMPONENT, CREATE_COMPONENT } from "./core-types/symbols.mjs";
32
+ var _excluded = ["forwardRef"], _excluded2 = ["forwardRef", "__WRAPPER_PROPS_BIND__"], _excluded3 = ["ref"];
33
+ function isEmptyObject(obj) {
34
+ return Object.getOwnPropertyNames(obj).length === 0 && Object.getOwnPropertySymbols && // For IE 11
35
+ Object.getOwnPropertySymbols(obj).length === 0 && Object.getPrototypeOf(obj) === Object.prototype;
36
+ }
37
+ function createGetField(enhancements, Component2, isFunction) {
38
+ return function getField(key) {
39
+ return enhancements.filter(function(enhancement) {
40
+ if (!enhancement.condition) {
41
+ return true;
42
+ }
43
+ return enhancement.condition(Component2, isFunction);
44
+ }).reduce(function(acc, item) {
45
+ if (item[key]) {
46
+ acc.push(item[key]);
47
+ }
48
+ return acc;
49
+ }, []);
50
+ };
51
+ }
52
+ function createForwardWrapper(Component2, wrapperProps, statics, isFunction) {
53
+ var RootComponent = Component2[ROOT_COMPONENT];
54
+ var getterMethodName = getterMethodNameByDisplayName(Component2 === null || Component2 === void 0 ? void 0 : Component2.displayName);
55
+ var getterMethod = RootComponent !== null && RootComponent !== void 0 && RootComponent.prototype ? RootComponent.prototype[getterMethodName] : void 0;
56
+ var useGetterIndex = (getterMethod === null || getterMethod === void 0 ? void 0 : getterMethod.length) >= 2;
57
+ function WrapperForwardRefWithBind(_ref, ref) {
58
+ var _ref$forwardRef = _ref.forwardRef, forwardRef = _ref$forwardRef === void 0 ? null : _ref$forwardRef, other = _objectWithoutProperties(_ref, _excluded);
59
+ return /* @__PURE__ */ React.createElement(BindingWrapper, _extends({}, other, {
60
+ forwardRef: useForkRef(ref, forwardRef)
61
+ }));
62
+ }
63
+ function WrapperForwardRef(_ref2, ref) {
64
+ var _ref2$forwardRef = _ref2.forwardRef, forwardRef = _ref2$forwardRef === void 0 ? null : _ref2$forwardRef, __WRAPPER_PROPS_BIND__ = _ref2.__WRAPPER_PROPS_BIND__, other = _objectWithoutProperties(_ref2, _excluded2);
65
+ var _reduce = (__WRAPPER_PROPS_BIND__ || wrapperProps).reduce(function(acc, enhancement) {
66
+ return enhancement(acc, WrapperComponent, isFunction);
67
+ }, other), _reduce$ref = _reduce.ref, enhancementRef = _reduce$ref === void 0 ? null : _reduce$ref, props = _objectWithoutProperties(_reduce, _excluded3);
68
+ return /* @__PURE__ */ React.createElement(Component2, _extends({}, props, {
69
+ forwardRef: useForkRef(enhancementRef, ref, forwardRef)
70
+ }));
71
+ }
72
+ var BindingWrapper = /* @__PURE__ */ function(_React$Component) {
73
+ _inherits(BindingWrapper2, _React$Component);
74
+ var _super = _createSuper(BindingWrapper2);
75
+ function BindingWrapper2() {
76
+ var _this;
77
+ _classCallCheck(this, BindingWrapper2);
78
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ args[_key] = arguments[_key];
80
+ }
81
+ _this = _super.call.apply(_super, [this].concat(args));
82
+ _defineProperty(_assertThisInitialized(_this), "index", -1);
83
+ return _this;
84
+ }
85
+ _createClass(BindingWrapper2, [{
86
+ key: "render",
87
+ value: function render() {
88
+ var _this2 = this;
89
+ return /* @__PURE__ */ React.createElement(WrapperForwardRef, _extends({}, this.props, {
90
+ __WRAPPER_PROPS_BIND__: wrapperProps.map(function(fn) {
91
+ return fn.bind(_this2);
92
+ })
93
+ }));
94
+ }
95
+ }]);
96
+ return BindingWrapper2;
97
+ }(React.Component);
98
+ var WrapperComponent = /* @__PURE__ */ React.forwardRef(useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef);
99
+ hoistNonReactStatics(WrapperComponent, Component2);
100
+ WrapperComponent.displayName = Component2.displayName;
101
+ WrapperComponent.defaultProps = Component2.defaultProps;
102
+ statics.forEach(function(enhancement) {
103
+ return Object.assign(WrapperComponent, enhancement(WrapperComponent, Component2, isFunction));
104
+ });
105
+ return WrapperComponent;
106
+ }
107
+ function wrapClass(OriginComponent, enhancements, Context) {
108
+ var getField = createGetField(enhancements, OriginComponent, false);
109
+ var inits = getField("init");
110
+ var props = getField("asProps");
111
+ var renders = getField("render");
112
+ var statics = getField("static");
113
+ var wrapperProps = getField("wrapperProps");
114
+ var contexts = getField("context");
115
+ var Component2 = /* @__PURE__ */ function(_OriginComponent2) {
116
+ _inherits(Component3, _OriginComponent2);
117
+ var _super2 = _createSuper(Component3);
118
+ function Component3(props2, context) {
119
+ var _this3;
120
+ _classCallCheck(this, Component3);
121
+ _this3 = _super2.call(this, props2, context);
122
+ _defineProperty(_assertThisInitialized(_this3), CORE_AS_PROPS, null);
123
+ _defineProperty(_assertThisInitialized(_this3), CORE_INSTANCE, WrapperComponent);
124
+ _defineProperty(_assertThisInitialized(_this3), CORE_INIT, false);
125
+ inits.forEach(function(enhancement) {
126
+ return enhancement.call(_assertThisInitialized(_this3), props2, WrapperComponent, false);
127
+ });
128
+ _this3[CORE_INIT] = true;
129
+ return _this3;
130
+ }
131
+ _createClass(Component3, [{
132
+ key: "asProps",
133
+ get: function get() {
134
+ var _this4 = this;
135
+ if (!this[CORE_INIT]) {
136
+ throw new Error("Can not call asProps in constructor");
137
+ }
138
+ if (!this[CORE_AS_PROPS]) {
139
+ this[CORE_AS_PROPS] = props.reduce(function(acc, enhancement) {
140
+ return enhancement.call(_this4, acc, WrapperComponent, false);
141
+ }, this.props);
142
+ }
143
+ return this[CORE_AS_PROPS];
144
+ }
145
+ }, {
146
+ key: "setContext",
147
+ value: function setContext() {
148
+ var _this5 = this;
149
+ var contextProps = _get(_getPrototypeOf(Component3.prototype), "setContext", this) ? _get(_getPrototypeOf(Component3.prototype), "setContext", this).call(this) : {};
150
+ return contexts.reduce(function(acc, enhancement) {
151
+ return enhancement.call(_this5, acc, WrapperComponent, false);
152
+ }, contextProps);
153
+ }
154
+ }, {
155
+ key: "render",
156
+ value: function render() {
157
+ var _this6 = this;
158
+ this[CORE_AS_PROPS] = null;
159
+ if (!_get(_getPrototypeOf(Component3.prototype), "render", this)) {
160
+ throw new Error("Component `render` method is not defined");
161
+ }
162
+ var asProps = this.asProps;
163
+ var ctx = this.setContext();
164
+ var render2 = renders.reduce(function(acc, enhancement) {
165
+ return enhancement.call(_this6, acc, asProps, WrapperComponent, false);
166
+ }, _get(_getPrototypeOf(Component3.prototype), "render", this).call(this));
167
+ if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {
168
+ return /* @__PURE__ */ React.createElement(Context.Provider, {
169
+ value: _objectSpread(_objectSpread({}, asProps), ctx)
170
+ }, render2);
171
+ } else {
172
+ return render2;
173
+ }
174
+ }
175
+ }]);
176
+ return Component3;
177
+ }(OriginComponent);
178
+ var WrapperComponent = createForwardWrapper(Component2, wrapperProps, statics, false);
179
+ return WrapperComponent;
180
+ }
181
+ function wrapFunction(OriginComponent, enhancements, Context) {
182
+ var getField = createGetField(enhancements, OriginComponent, true);
183
+ var inits = getField("init");
184
+ var props = getField("asProps");
185
+ var renders = getField("render");
186
+ var statics = getField("static");
187
+ var wrapperProps = getField("wrapperProps");
188
+ var contexts = getField("context");
189
+ var Component2 = /* @__PURE__ */ React.memo(function FunctionMemoComponent(other) {
190
+ var selfRef = React.useRef({});
191
+ var firstRender = React.useRef(true);
192
+ useEnhancedEffect(function() {
193
+ firstRender.current = false;
194
+ }, []);
195
+ if (firstRender.current) {
196
+ inits.forEach(function(enhancement) {
197
+ return enhancement.call(selfRef.current, other, WrapperComponent, true);
198
+ });
199
+ }
200
+ var asProps = props.reduce(function(acc, enhancement) {
201
+ return enhancement.call(selfRef.current, acc, WrapperComponent, true);
202
+ }, other);
203
+ var ctx = contexts.reduce(function(acc, enhancement) {
204
+ return enhancement.call(selfRef.current, acc, WrapperComponent, true);
205
+ }, {});
206
+ var render = renders.reduce(function(acc, enhancement) {
207
+ return enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true);
208
+ }, /* @__PURE__ */ React.createElement(OriginComponent, asProps));
209
+ if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {
210
+ return /* @__PURE__ */ React.createElement(Context.Provider, {
211
+ value: _objectSpread(_objectSpread({}, asProps), ctx)
212
+ }, render);
213
+ } else {
214
+ return render;
215
+ }
216
+ });
217
+ Object.assign(Component2, OriginComponent);
218
+ var WrapperComponent = createForwardWrapper(Component2, wrapperProps, statics, true);
219
+ return WrapperComponent;
220
+ }
221
+ function wrapCore(OriginComponent, enhancements, Context) {
222
+ var Component2 = function Component3(_ref3) {
223
+ var Root = _ref3.Root;
224
+ var defaultProps = OriginComponent.defaultProps || {};
225
+ return /* @__PURE__ */ React.createElement(Root, _extends({}, defaultProps, {
226
+ render: OriginComponent
227
+ }));
228
+ };
229
+ hoistNonReactStatics(Component2, OriginComponent);
230
+ Component2.displayName = OriginComponent.displayName;
231
+ return wrapFunction(Component2, enhancements, Context);
232
+ }
233
+ function createComposeComponent(OriginComponent, Context, enhancements) {
234
+ if (React.PureComponent.isPrototypeOf(OriginComponent) || React.Component.isPrototypeOf(OriginComponent)) {
235
+ if (OriginComponent.prototype instanceof Component) {
236
+ return wrapClass(OriginComponent, enhancements, Context);
237
+ } else {
238
+ throw new Error("Must inherit from our component");
239
+ }
240
+ } else if (typeof OriginComponent === "function") {
241
+ return wrapFunction(OriginComponent, enhancements, Context);
242
+ } else if (OriginComponent[CORE_COMPONENT]) {
243
+ return wrapCore(OriginComponent, enhancements, Context);
244
+ } else {
245
+ throw new Error("Must be a React component");
246
+ }
247
+ }
248
+ function assignProps(p1, p2) {
249
+ return assignProps$1(p2, p1);
250
+ }
251
+ function createComponent(OriginComponent) {
252
+ var childComponents = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
253
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
254
+ var _options$context = options.context, context = _options$context === void 0 ? /* @__PURE__ */ React.createContext({}) : _options$context, _options$parent = options.parent, parent = _options$parent === void 0 ? [] : _options$parent, _options$enhancements = options.enhancements, enhancements = _options$enhancements === void 0 ? [] : _options$enhancements;
255
+ var parents = Array.isArray(parent) ? parent : [parent];
256
+ if (parents.length) {
257
+ var wholeFamily = parents.reduce(function(acc, parent2) {
258
+ if (parent2[PARENT_COMPONENTS]) {
259
+ acc = [].concat(_toConsumableArray(parent2[PARENT_COMPONENTS]), _toConsumableArray(acc));
260
+ }
261
+ return acc;
262
+ }, parents);
263
+ OriginComponent[PARENT_COMPONENTS] = wholeFamily;
264
+ parents = wholeFamily;
265
+ }
266
+ if (OriginComponent[CORE_COMPONENT]) {
267
+ parents.push(OriginComponent);
268
+ }
269
+ var Component2 = createComposeComponent(OriginComponent, context, [].concat(_toConsumableArray(enhancements.map(function(f) {
270
+ return f(context, parents, createComponent, childComponents);
271
+ })), [
272
+ i18nAppLocaleEnhance(),
273
+ Enhancement(),
274
+ Enhancement$1(context, parents),
275
+ // root must be under the children
276
+ Enhancement$2(),
277
+ Enhancement$3(),
278
+ Enhancement$4(childComponents, createComponent, {
279
+ context,
280
+ parent,
281
+ enhancements
282
+ }),
283
+ // functionDefaultProps must be under the staticChild
284
+ Enhancement$5(),
285
+ // inheritedName must be under the staticChild
286
+ Enhancement$6(),
287
+ // dataName must be under the staticChild
288
+ Enhancement$7(),
289
+ // enhanceEnhancement must be under the functionDefaultPropsEnhancement
290
+ Enhancement$8(),
291
+ Enhancement$9(childComponents, context),
292
+ // must be the last one so any properties can be raised
293
+ Enhancement$a(childComponents, context)
294
+ ]));
295
+ Component2[CONTEXT_COMPONENT] = context;
296
+ Component2._______childrenComponents = childComponents;
297
+ Component2[CREATE_COMPONENT] = function() {
298
+ var _OriginComponent = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : OriginComponent;
299
+ var _childComponents = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : childComponents;
300
+ var _options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : options;
301
+ return createComponent(_OriginComponent, _childComponents, _options);
302
+ };
303
+ Component2[CORE_COMPONENT] = true;
304
+ return Component2;
305
+ }
306
+ function createBaseComponent(OriginComponent) {
307
+ var Component2 = null;
308
+ if (!React.PureComponent.isPrototypeOf(OriginComponent) && !React.Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === "function") {
309
+ Component2 = /* @__PURE__ */ React.forwardRef(OriginComponent);
310
+ Component2.displayName = OriginComponent.displayName;
311
+ Component2.defaultProps = _objectSpread({
312
+ "data-ui-name": OriginComponent.displayName
313
+ }, OriginComponent.defaultProps);
314
+ Component2[CORE_COMPONENT] = true;
315
+ } else {
316
+ throw new Error("createBaseComponent accepts only functional component");
317
+ }
318
+ return Component2;
319
+ }
320
+ export {
321
+ assignProps,
322
+ createBaseComponent,
323
+ createComponent
324
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coreFactory.mjs","names":["React","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","ROOT_COMPONENT","getterMethodNameByDisplayName","inheritedNameEnhancement","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","i18nAppLocaleEnhance","CORE_AS_PROPS","CORE_INIT","PARENT_COMPONENTS","CORE_INSTANCE","CORE_COMPONENT","CREATE_COMPONENT","CONTEXT_COMPONENT","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","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","get","_this4","Error","setContext","_this5","contextProps","_get","_getPrototypeOf","_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","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\nimport _assignProps from './utils/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './core-types/Component';\n\nimport childrenEnhancement from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport {\n CORE_AS_PROPS,\n CORE_INIT,\n PARENT_COMPONENTS,\n CORE_INSTANCE,\n CORE_COMPONENT,\n CREATE_COMPONENT,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n} from './core-types/symbols';\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<Props> {\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<any>\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[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":"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"}
@@ -0,0 +1,5 @@
1
+ declare function Enhancement(this: any, Context: any, parent: any): {
2
+ init: (this: any) => void;
3
+ asProps: (this: any, props: any) => any;
4
+ };
5
+ export default Enhancement;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
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"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ 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$/;
18
+ 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];
23
+ if (GETTER_REG.exec(key) === null) {
24
+ acc.props[key] = value;
25
+ } else {
26
+ acc.getters[key] = value;
27
+ }
28
+ return acc;
29
+ }, {
30
+ props: {},
31
+ getters: {}
32
+ });
33
+ }
34
+ function getterToArray(getter) {
35
+ if (!Array.isArray(getter)) {
36
+ return typeof getter === 'function' ? [getter] : [];
37
+ }
38
+ return getter;
39
+ }
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) {
45
+ a[key] = getterToArray(a[key]);
46
+ b[key] = getterToArray(b[key]);
47
+ acc[key] = [].concat((0, _toConsumableArray2["default"])(a[key]), (0, _toConsumableArray2["default"])(b[key]));
48
+ return acc;
49
+ }, {});
50
+ }
51
+ function assignGettersChain(getters) {
52
+ return function () {
53
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
+ return getters.reduce(function (acc, getter) {
55
+ return getter(acc);
56
+ }, props);
57
+ };
58
+ }
59
+ function createChildren(Context, contexts) {
60
+ var Children = function Children() {
61
+ var children = Children.origin;
62
+ 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];
84
+ acc[key] = assignGettersChain(value);
85
+ return acc;
86
+ }, {});
87
+ return children((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), mergedGetters), handlers);
88
+ } else if (children === undefined) {
89
+ return null;
90
+ }
91
+ return children;
92
+ };
93
+ Children.origin = null;
94
+ Children.props = {};
95
+ Children[_symbols.CHILDREN_COMPONENT] = true;
96
+ return Children;
97
+ }
98
+ function Enhancement(Context, parent) {
99
+ 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);
104
+ this[CHILDREN_SELF] = createChildren(Context, contexts);
105
+ },
106
+ asProps: function asProps(props) {
107
+ // TODO: learn the reason what it was used for (by lsroman)
108
+ // this[CHILDREN_SELF].origin = _Children ? _Children.origin : children;
109
+ this[CHILDREN_SELF].origin = props.children;
110
+ this[CHILDREN_SELF].props = props;
111
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
112
+ Children: this[CHILDREN_SELF]
113
+ });
114
+ }
115
+ };
116
+ }
117
+ var _default = Enhancement;
118
+ exports["default"] = _default;
119
+ //# sourceMappingURL=Children.js.map
@@ -0,0 +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';\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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"}
@@ -0,0 +1,96 @@
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
+ import React from "react";
6
+ 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$/;
10
+ function splitPropsAndGetters(props) {
11
+ return Object.entries(props).reduce(function(acc, _ref) {
12
+ var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];
13
+ if (GETTER_REG.exec(key) === null) {
14
+ acc.props[key] = value;
15
+ } else {
16
+ acc.getters[key] = value;
17
+ }
18
+ return acc;
19
+ }, {
20
+ props: {},
21
+ getters: {}
22
+ });
23
+ }
24
+ function getterToArray(getter) {
25
+ if (!Array.isArray(getter)) {
26
+ return typeof getter === "function" ? [getter] : [];
27
+ }
28
+ return getter;
29
+ }
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) {
35
+ a[key] = getterToArray(a[key]);
36
+ b[key] = getterToArray(b[key]);
37
+ acc[key] = [].concat(_toConsumableArray(a[key]), _toConsumableArray(b[key]));
38
+ return acc;
39
+ }, {});
40
+ }
41
+ 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) {
45
+ return getter(acc);
46
+ }, props);
47
+ };
48
+ }
49
+ function createChildren(Context, contexts) {
50
+ var Children = function Children2() {
51
+ var children = Children2.origin;
52
+ 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({
57
+ handlers: Object.assign({}, acc.handlers, handlers2),
58
+ getters: mergeObjects(acc.getters, getters2)
59
+ }, props2));
60
+ }, Children2.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];
63
+ acc[key] = assignGettersChain(value);
64
+ return acc;
65
+ }, {});
66
+ return children(_objectSpread(_objectSpread({}, props), mergedGetters), handlers);
67
+ } else if (children === void 0) {
68
+ return null;
69
+ }
70
+ return children;
71
+ };
72
+ Children.origin = null;
73
+ Children.props = {};
74
+ Children[CHILDREN_COMPONENT] = true;
75
+ return Children;
76
+ }
77
+ function Enhancement(Context, parent) {
78
+ return {
79
+ init: function init() {
80
+ var contexts = (Array.isArray(parent) ? parent : [parent]).map(function(component) {
81
+ return component[CONTEXT_COMPONENT];
82
+ }).filter(Boolean);
83
+ this[CHILDREN_SELF] = createChildren(Context, contexts);
84
+ },
85
+ asProps: function asProps(props) {
86
+ this[CHILDREN_SELF].origin = props.children;
87
+ this[CHILDREN_SELF].props = props;
88
+ return _objectSpread(_objectSpread({}, props), {}, {
89
+ Children: this[CHILDREN_SELF]
90
+ });
91
+ }
92
+ };
93
+ }
94
+ export {
95
+ Enhancement as default
96
+ };