@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 @@
1
+ {"version":3,"file":"utils.mjs","names":["ColorJS","Color","processTokens","base","tokens","prefix","values","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","key","concat","_toConsumableArray","type","path","join","_typeof","value","push","Error","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","parseFloat","substring","Number","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray","r","g","b","a","_getByPath$value","_getByPath","getByPath","_getByPath$value2","_getByPath2","resolveToken","token","_token$split","_token$split2","factor","resolvedValue","reference","indexOf","replace","resolvedToken","str","result","i","start","rawValues","_objectSpread","_modifications$token","_iterator","_createForOfIteratorHelper","_step","s","n","done","modification","space","lightness","hsl","l","difference","set","Math","min","to","round","toString","format","err","e","f","processedTokens","name","tokensToCss","selector","cssLines","_iterator2","_step2","tokensToJson","themeFile","_iterator3","_step3","JSON","stringify","tokensToJs","jsLines","_iterator4","_step4","obj","parts","_iterator5","_step5","_result","part"],"sources":["../../src/theme/utils.ts"],"sourcesContent":["import ColorJS from 'colorjs.io';\nconst Color = ColorJS as any;\n\ntype ExtensionsInput = {\n 'studio.tokens': {\n modify: {\n type: string;\n value: number;\n space: string;\n };\n };\n};\n\ntype TokensInput = {\n [nestedKey: string]:\n | TokensInput\n | {\n value: string;\n type: string;\n description: string;\n $extensions?: ExtensionsInput;\n };\n};\n\nexport const processTokens = (base: TokensInput, tokens: TokensInput, prefix: string) => {\n const values: { [tokenName: string]: string } = {};\n const modifications: {\n [tokenName: string]: {\n type: 'lighten' | 'darken' | 'alpha';\n value: number;\n space: 'lch' | 'srgb' | 'p3' | 'hsl';\n }[];\n } = {};\n const types: { [tokenName: string]: string } = {};\n const descriptions: { [tokenName: string]: string } = {};\n const mixins: string[] = [];\n type ColorPattern =\n | `{${string}.${string}}`\n | `{${string}.${string}}, ${number}`\n | `#${string}`\n | `{${string}.${string}}, ${number}`;\n type DesignTokenNode =\n | {\n type: string;\n value:\n | string\n | { [subTokens: string]: `{${string}}` }\n | ColorPattern\n | `{${string}}`\n | `{${string}*${number}}`\n | `${ColorPattern}; ${ColorPattern}`;\n\n description?: string;\n $extensions?: ExtensionsInput;\n }\n | DesignTokenTree;\n type DesignTokenTree = { [childrenNodeName: string]: DesignTokenNode };\n const traverse = (node: DesignTokenNode, pathParts: string[] = []) => {\n for (const key in node) {\n if (key === 'type') continue;\n if (key === 'value') continue;\n if (key === 'description') continue;\n if (key === '$extensions') continue;\n traverse((node as any)[key], [...pathParts, key]);\n }\n if ('type' in node && typeof node.type === 'string') {\n const path = pathParts.join('-');\n types[path] = node.type;\n if (typeof node.value === 'object') {\n mixins.push(path);\n return;\n }\n if (values[path]) {\n throw new Error(`Duplicated design token \"${path}\"`);\n }\n values[path] = node.value;\n if (typeof node.description === 'string') descriptions[path] = node.description;\n if (node.$extensions) {\n for (const extension in node.$extensions) {\n if (extension === 'studio.tokens') {\n modifications[path] ??= [];\n modifications[path].push((node.$extensions as any)['studio.tokens'].modify);\n } else {\n throw new Error(`Unsupported extension \"${extension}\" for design token \"${path}\"`);\n }\n }\n }\n }\n };\n\n traverse(tokens);\n\n const resolveColor = (color: string): string => {\n if (color.includes('linear-gradient')) {\n return replaceColors(color);\n }\n if (color.startsWith('rgba(') && color.endsWith(')')) {\n const lastComa = color.lastIndexOf(',');\n const alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));\n if (Number.isNaN(alpha)) {\n throw new Error(`Unable to parse rgba of ${color}`);\n }\n let resolvedColor = color.substring('rgba('.length, lastComa);\n if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);\n if (resolvedColor.startsWith('#')) {\n if (resolvedColor.length === 1 + 3) {\n resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]]\n .map((hex) => parseInt(hex, 16))\n .join(', ');\n } else if (resolvedColor.length === 1 + 6) {\n resolvedColor = [\n resolvedColor.substring(1, 3),\n resolvedColor.substring(3, 5),\n resolvedColor.substring(5, 7),\n ]\n .map((hex) => parseInt(hex, 16))\n .join(', ');\n } else {\n throw new Error(\n `Unable to convert hex ${resolveColor} to rgb list of colors (processing ${color})`,\n );\n }\n }\n\n if (!resolvedColor || resolvedColor.split(',').length !== 3) {\n throw new Error(`Unable to produce rgba of ${color} (input format is not supported yet)`);\n }\n\n return `rgba(${resolvedColor}, ${alpha})`;\n }\n if (color.split(', ').length === 2) {\n const baseColor = resolveColor(color.split(', ')[0]);\n const [r, g, b] = (\n baseColor.length === 4\n ? [baseColor[1], baseColor[2], baseColor[3]]\n : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]\n ).map((chunk) => parseInt(chunk, 16));\n const a = parseFloat(color.split(', ')[1]);\n\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {\n const path = color.substring(1, color.length - 1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found in base palette`);\n }\n return resolvedColor;\n }\n if (color.startsWith('$') && color.split('.').length > 0) {\n const path = color.substring(1);\n const resolvedColor =\n getByPath(base as any, path)?.value ?? values[path.split('.').join('-')];\n if (!resolvedColor) {\n throw new Error(`Color ${color} was not found`);\n }\n return resolvedColor;\n }\n if (color.startsWith('#')) {\n return color;\n }\n throw new Error(`Unable to process color ${color}`);\n };\n const resolveToken = (token: string): string => {\n if (token.includes('*')) {\n const [value, factor] = token.split('*');\n const resolvedValue = resolveToken(value);\n if (!resolvedValue.endsWith('px')) {\n throw new Error(`Unsupported expression ${token}`);\n }\n return `${parseFloat(resolvedValue) * parseFloat(factor)}px`;\n } else if (token.includes('{') && token.includes('}')) {\n const reference = token\n .substring(token.indexOf('{') + 1, token.indexOf('}'))\n .replace(/\\./g, '-');\n const resolvedToken =\n token.substring(0, token.indexOf('{')) +\n values[reference] +\n token.substring(token.indexOf('}') + 1);\n if (!resolvedToken || resolvedToken.includes('{')) {\n throw new Error(`On moment of resolving ${token}, ${resolvedToken} was not resolved yet`);\n }\n return resolvedToken;\n } else {\n return token;\n }\n };\n const replaceColors = (str: string) => {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str.substring(i, i + 'rgba('.length) === 'rgba(') {\n const start = i;\n while (str[i] !== undefined && str[i] !== ')') i++;\n result += resolveColor(str.substring(start, i + 1));\n } else {\n result += str[i];\n }\n }\n\n return result;\n };\n\n const rawValues = { ...values };\n\n for (const token in values) {\n if (types[token] === 'color') {\n values[token] = resolveColor(values[token]);\n } else if (types[token] === 'boxShadow') {\n values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));\n } else if (\n types[token] === 'sizing' ||\n types[token] === 'spacing' ||\n types[token] === 'borderRadius' ||\n types[token] === 'other'\n ) {\n values[token] = resolveToken(values[token]);\n }\n for (const modification of modifications[token] ?? []) {\n // refer to https://docs.tokens.studio/tokens/color-modifiers and https://github.com/tokens-studio/figma-plugin/tree/main/src/utils/color if extention is needed\n let color = new Color(values[token]);\n\n if (modification.space === 'hsl') {\n if (modification.type === 'lighten') {\n const lightness = color.hsl.l;\n const difference = 100 - lightness;\n color.set('hsl.l', Math.min(100, lightness + difference * modification.value));\n rawValues[token] = `${rawValues[token]} / lighten(${modification.value}) / hsl`;\n } else {\n throw new Error(`Unsupported color modification ${modification.type} of token ${token}`);\n }\n } else {\n throw new Error(`Unsupported color space ${modification.space} of token ${token}`);\n }\n\n color = color.to('sRGB');\n\n if (color.alpha !== 1) {\n const r = Math.round(color.r * 255);\n const g = Math.round(color.g * 255);\n const b = Math.round(color.b * 255);\n const a = color.alpha;\n values[token] = `rgba(${r}, ${g}, ${b}, ${a})`;\n } else {\n values[token] = color.toString({ format: 'hex' });\n }\n }\n }\n\n const processedTokens: { name: string; value: string; description: string }[] = [];\n for (const token in values) {\n processedTokens.push({\n name: `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions };\n};\n\nexport const tokensToCss = (\n tokens: { name: string; value: string; description: string }[],\n selector = ':root',\n) => {\n const cssLines: string[] = [];\n cssLines.push(`${selector} {`);\n for (const token of tokens) {\n if (token.description) cssLines.push(` /* ${token.description} */`);\n cssLines.push(` ${token.name}: ${token.value};`);\n }\n cssLines.push('}');\n return cssLines.join('\\n');\n};\nexport const tokensToJson = (tokens: { name: string; value: string; description: string }[]) => {\n const themeFile: Record<string, string> = {};\n for (const token of tokens) {\n themeFile[token.name] = token.value;\n }\n return JSON.stringify(themeFile, null, 2) + '\\n';\n};\nexport const tokensToJs = (tokens: { name: string; value: string; description: string }[]) => {\n const jsLines: string[] = [];\n jsLines.push('export default {');\n for (const token of tokens) {\n jsLines.push(` '${token.name}': '${token.value}',`);\n }\n jsLines.push('}\\n');\n return jsLines.join('\\n');\n};\n\nconst getByPath = (obj: any, path: string) => {\n const parts = path.split('.');\n let result = obj;\n for (const part of parts) {\n result = result?.[part];\n }\n return result;\n};\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { NanoOptions, NanoRenderer } from '@phytonmk/nano-css';
2
+ declare function style(opt?: NanoOptions): NanoRenderer;
3
+ declare function createStyle(opt?: NanoOptions): NanoRenderer;
4
+ export { createStyle };
5
+ export default style;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createStyle = createStyle;
8
+ exports["default"] = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _nanoCss = require("@phytonmk/nano-css");
11
+ var _rule = require("@phytonmk/nano-css/addon/rule");
12
+ var _cache = require("@phytonmk/nano-css/addon/cache");
13
+ var _prefixer = require("@phytonmk/nano-css/addon/prefixer");
14
+ var _hydrate = require("@phytonmk/nano-css/addon/hydrate");
15
+ var _nano = null;
16
+ function style(opt) {
17
+ if (!_nano) {
18
+ _nano = createStyle(opt);
19
+ }
20
+ return _nano;
21
+ }
22
+ function createStyle() {
23
+ var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
+ var nano = (0, _nanoCss.create)((0, _objectSpread2["default"])({
25
+ pfx: 'css',
26
+ verbose: true
27
+ }, opt));
28
+ (0, _cache.addon)(nano);
29
+ (0, _rule.addon)(nano);
30
+ (0, _prefixer.addon)(nano);
31
+ (0, _hydrate.addon)(nano);
32
+ return nano;
33
+ }
34
+ var _default = style;
35
+ exports["default"] = _default;
36
+ //# sourceMappingURL=CSSinJS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSinJS.js","names":["_nanoCss","require","_rule","_cache","_prefixer","_hydrate","_nano","style","opt","createStyle","arguments","length","undefined","nano","create","_objectSpread2","pfx","verbose","addonCache","addonRule","addonPrefixer","addonHydrate","_default","exports"],"sources":["../../src/utils/CSSinJS.ts"],"sourcesContent":["import { create, NanoOptions, NanoRenderer } from '@phytonmk/nano-css';\nimport { addon as addonRule } from '@phytonmk/nano-css/addon/rule';\nimport { addon as addonCache } from '@phytonmk/nano-css/addon/cache';\nimport { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';\nimport { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';\n\nlet _nano: any = null;\n\nfunction style(opt?: NanoOptions): NanoRenderer {\n if (!_nano) {\n _nano = createStyle(opt);\n }\n return _nano;\n}\n\nfunction createStyle(opt: NanoOptions = {}): NanoRenderer {\n const nano = create({ pfx: 'css', verbose: true, ...opt });\n\n addonCache(nano);\n addonRule(nano);\n addonPrefixer(nano);\n addonHydrate(nano);\n\n return nano;\n}\n\nexport { createStyle };\n\nexport default style;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,IAAIK,KAAU,GAAG,IAAI;AAErB,SAASC,KAAKA,CAACC,GAAiB,EAAgB;EAC9C,IAAI,CAACF,KAAK,EAAE;IACVA,KAAK,GAAGG,WAAW,CAACD,GAAG,CAAC;EAC1B;EACA,OAAOF,KAAK;AACd;AAEA,SAASG,WAAWA,CAAA,EAAsC;EAAA,IAArCD,GAAgB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxC,IAAMG,IAAI,GAAG,IAAAC,eAAM,MAAAC,cAAA;IAAGC,GAAG,EAAE,KAAK;IAAEC,OAAO,EAAE;EAAI,GAAKT,GAAG,EAAG;EAE1D,IAAAU,YAAU,EAACL,IAAI,CAAC;EAChB,IAAAM,WAAS,EAACN,IAAI,CAAC;EACf,IAAAO,eAAa,EAACP,IAAI,CAAC;EACnB,IAAAQ,cAAY,EAACR,IAAI,CAAC;EAElB,OAAOA,IAAI;AACb;AAAC,IAAAS,QAAA,GAIcf,KAAK;AAAAgB,OAAA,cAAAD,QAAA"}
@@ -0,0 +1,28 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import { create } from '@phytonmk/nano-css';
3
+ import { addon as addonRule } from '@phytonmk/nano-css/addon/rule';
4
+ import { addon as addonCache } from '@phytonmk/nano-css/addon/cache';
5
+ import { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';
6
+ import { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';
7
+ var _nano = null;
8
+ function style(opt) {
9
+ if (!_nano) {
10
+ _nano = createStyle(opt);
11
+ }
12
+ return _nano;
13
+ }
14
+ function createStyle() {
15
+ var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
+ var nano = create(_objectSpread({
17
+ pfx: 'css',
18
+ verbose: true
19
+ }, opt));
20
+ addonCache(nano);
21
+ addonRule(nano);
22
+ addonPrefixer(nano);
23
+ addonHydrate(nano);
24
+ return nano;
25
+ }
26
+ export { createStyle };
27
+ export default style;
28
+ //# sourceMappingURL=CSSinJS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSinJS.mjs","names":["create","addon","addonRule","addonCache","addonPrefixer","addonHydrate","_nano","style","opt","createStyle","arguments","length","undefined","nano","_objectSpread","pfx","verbose"],"sources":["../../src/utils/CSSinJS.ts"],"sourcesContent":["import { create, NanoOptions, NanoRenderer } from '@phytonmk/nano-css';\nimport { addon as addonRule } from '@phytonmk/nano-css/addon/rule';\nimport { addon as addonCache } from '@phytonmk/nano-css/addon/cache';\nimport { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';\nimport { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';\n\nlet _nano: any = null;\n\nfunction style(opt?: NanoOptions): NanoRenderer {\n if (!_nano) {\n _nano = createStyle(opt);\n }\n return _nano;\n}\n\nfunction createStyle(opt: NanoOptions = {}): NanoRenderer {\n const nano = create({ pfx: 'css', verbose: true, ...opt });\n\n addonCache(nano);\n addonRule(nano);\n addonPrefixer(nano);\n addonHydrate(nano);\n\n return nano;\n}\n\nexport { createStyle };\n\nexport default style;\n"],"mappings":";AAAA,SAASA,MAAM,QAAmC,oBAAoB;AACtE,SAASC,KAAK,IAAIC,SAAS,QAAQ,+BAA+B;AAClE,SAASD,KAAK,IAAIE,UAAU,QAAQ,gCAAgC;AACpE,SAASF,KAAK,IAAIG,aAAa,QAAQ,mCAAmC;AAC1E,SAASH,KAAK,IAAII,YAAY,QAAQ,kCAAkC;AAExE,IAAIC,KAAU,GAAG,IAAI;AAErB,SAASC,KAAKA,CAACC,GAAiB,EAAgB;EAC9C,IAAI,CAACF,KAAK,EAAE;IACVA,KAAK,GAAGG,WAAW,CAACD,GAAG,CAAC;EAC1B;EACA,OAAOF,KAAK;AACd;AAEA,SAASG,WAAWA,CAAA,EAAsC;EAAA,IAArCD,GAAgB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxC,IAAMG,IAAI,GAAGb,MAAM,CAAAc,aAAA;IAAGC,GAAG,EAAE,KAAK;IAAEC,OAAO,EAAE;EAAI,GAAKR,GAAG,EAAG;EAE1DL,UAAU,CAACU,IAAI,CAAC;EAChBX,SAAS,CAACW,IAAI,CAAC;EACfT,aAAa,CAACS,IAAI,CAAC;EACnBR,YAAY,CAACQ,IAAI,CAAC;EAElB,OAAOA,IAAI;AACb;AAEA,SAASJ,WAAW;AAEpB,eAAeF,KAAK"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ /**
3
+ * @deprecated Use ScreenReaderOnly from 'flex-box' component
4
+ */
5
+ export declare const ScreenReaderOnly: {
6
+ (props: React.HTMLAttributes<HTMLSpanElement>): JSX.Element;
7
+ displayName: string;
8
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ScreenReaderOnly = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ /**
11
+ * @deprecated Use ScreenReaderOnly from 'flex-box' component
12
+ */
13
+ var ScreenReaderOnly = function ScreenReaderOnly(props) {
14
+ return /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({}, props, {
15
+ style: {
16
+ position: 'absolute',
17
+ width: 1,
18
+ height: 1,
19
+ padding: 0,
20
+ margin: -1,
21
+ overflow: 'hidden',
22
+ whiteSpace: 'nowrap',
23
+ borderWidth: 0,
24
+ left: -1,
25
+ top: -1
26
+ }
27
+ }));
28
+ };
29
+ exports.ScreenReaderOnly = ScreenReaderOnly;
30
+ ScreenReaderOnly.displayName = 'ScreenReaderOnlyRoot';
31
+ //# sourceMappingURL=ScreenReaderOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenReaderOnly.js","names":["_react","_interopRequireDefault","require","ScreenReaderOnly","props","createElement","_extends2","style","position","width","height","padding","margin","overflow","whiteSpace","borderWidth","left","top","exports","displayName"],"sources":["../../src/utils/ScreenReaderOnly.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * @deprecated Use ScreenReaderOnly from 'flex-box' component\n */\nexport const ScreenReaderOnly = (props: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n {...props}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n left: -1,\n top: -1,\n }}\n />\n );\n};\nScreenReaderOnly.displayName = 'ScreenReaderOnlyRoot';\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAA4C,EAAK;EAChF,oBACEJ,MAAA,YAAAK,aAAA,aAAAC,SAAA,iBACMF,KAAK;IACTG,KAAK,EAAE;MACLC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,CAAC;MACVC,MAAM,EAAE,CAAC,CAAC;MACVC,QAAQ,EAAE,QAAQ;MAClBC,UAAU,EAAE,QAAQ;MACpBC,WAAW,EAAE,CAAC;MACdC,IAAI,EAAE,CAAC,CAAC;MACRC,GAAG,EAAE,CAAC;IACR;EAAE,GACF;AAEN,CAAC;AAACC,OAAA,CAAAf,gBAAA,GAAAA,gBAAA;AACFA,gBAAgB,CAACgB,WAAW,GAAG,sBAAsB"}
@@ -0,0 +1,24 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React from 'react';
3
+
4
+ /**
5
+ * @deprecated Use ScreenReaderOnly from 'flex-box' component
6
+ */
7
+ export var ScreenReaderOnly = function ScreenReaderOnly(props) {
8
+ return /*#__PURE__*/React.createElement("span", _extends({}, props, {
9
+ style: {
10
+ position: 'absolute',
11
+ width: 1,
12
+ height: 1,
13
+ padding: 0,
14
+ margin: -1,
15
+ overflow: 'hidden',
16
+ whiteSpace: 'nowrap',
17
+ borderWidth: 0,
18
+ left: -1,
19
+ top: -1
20
+ }
21
+ }));
22
+ };
23
+ ScreenReaderOnly.displayName = 'ScreenReaderOnlyRoot';
24
+ //# sourceMappingURL=ScreenReaderOnly.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenReaderOnly.mjs","names":["React","ScreenReaderOnly","props","createElement","_extends","style","position","width","height","padding","margin","overflow","whiteSpace","borderWidth","left","top","displayName"],"sources":["../../src/utils/ScreenReaderOnly.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * @deprecated Use ScreenReaderOnly from 'flex-box' component\n */\nexport const ScreenReaderOnly = (props: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n {...props}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n left: -1,\n top: -1,\n }}\n />\n );\n};\nScreenReaderOnly.displayName = 'ScreenReaderOnlyRoot';\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA;AACA;AACA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAA4C,EAAK;EAChF,oBACEF,KAAA,CAAAG,aAAA,SAAAC,QAAA,KACMF,KAAK;IACTG,KAAK,EAAE;MACLC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,CAAC;MACVC,MAAM,EAAE,CAAC,CAAC;MACVC,QAAQ,EAAE,QAAQ;MAClBC,UAAU,EAAE,QAAQ;MACpBC,WAAW,EAAE,CAAC;MACdC,IAAI,EAAE,CAAC,CAAC;MACRC,GAAG,EAAE,CAAC;IACR;EAAE,GACF;AAEN,CAAC;AACDd,gBAAgB,CAACe,WAAW,GAAG,sBAAsB"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ type Tokens = {
3
+ [tokenName: string]: string;
4
+ };
5
+ export type ThemeProviderProps = JSX.IntrinsicElements['div'] & {
6
+ tokens: Tokens;
7
+ children: React.ReactNode;
8
+ };
9
+ export declare const useContextTokens: () => Tokens | null;
10
+ export declare const useContextTheme: (ref: React.RefObject<HTMLElement>, available?: boolean) => void;
11
+ export declare const contextThemeEnhance: <T extends Record<string, any> = {}>(getAvailable?: ((props: T) => boolean | undefined) | undefined) => (props: T) => T & {
12
+ ref: React.Ref<unknown>;
13
+ };
14
+ export declare const ThemeProvider: (props: ThemeProviderProps) => React.ReactElement;
15
+ export {};
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useContextTokens = exports.useContextTheme = exports.contextThemeEnhance = exports.ThemeProvider = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
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 _ref3 = require("./ref");
14
+ var _useEnhancedEffect = _interopRequireDefault(require("./use/useEnhancedEffect"));
15
+ var _excluded = ["tokens", "children", "style"];
16
+ var useContextTokens = function useContextTokens() {
17
+ return _react["default"].useContext(themeContext);
18
+ };
19
+ exports.useContextTokens = useContextTokens;
20
+ var useContextTheme = function useContextTheme(ref, available) {
21
+ var tokens = useContextTokens();
22
+ var tokensKey = _react["default"].useMemo(function () {
23
+ if (!tokens) return '';
24
+ return Object.entries(tokens).map(function (_ref) {
25
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
26
+ key = _ref2[0],
27
+ value = _ref2[1];
28
+ return "".concat(key, "-").concat(value);
29
+ }).join('/');
30
+ }, [tokens]);
31
+ (0, _useEnhancedEffect["default"])(function () {
32
+ if (available !== undefined && !available) return;
33
+ if (!ref.current || !ref.current.style || !ref.current.style.setProperty) return;
34
+ for (var token in tokens) {
35
+ ref.current.style.setProperty(token, tokens[token]);
36
+ }
37
+ }, [tokensKey, available]);
38
+ };
39
+ exports.useContextTheme = useContextTheme;
40
+ var contextThemeEnhance = function contextThemeEnhance(getAvailable) {
41
+ return function (props) {
42
+ var existingRef = props.ref;
43
+ var available = _react["default"].useMemo(function () {
44
+ return getAvailable === null || getAvailable === void 0 ? void 0 : getAvailable(props);
45
+ }, Object.values(props));
46
+ var enhanceRef = _react["default"].useRef();
47
+ var refArr = _react["default"].useMemo(function () {
48
+ return existingRef ? [existingRef, enhanceRef] : [enhanceRef];
49
+ }, [existingRef, enhanceRef]);
50
+ var ref = (0, _ref3.useForkRef)(refArr);
51
+ useContextTheme(enhanceRef, available);
52
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
53
+ ref: ref
54
+ });
55
+ };
56
+ };
57
+ exports.contextThemeEnhance = contextThemeEnhance;
58
+ var themeContext = /*#__PURE__*/_react["default"].createContext(null);
59
+ var ThemeProvider = function ThemeProvider(props) {
60
+ var _props$tokens = props.tokens,
61
+ providedTokens = _props$tokens === void 0 ? {} : _props$tokens,
62
+ children = props.children,
63
+ _props$style = props.style,
64
+ providedStyle = _props$style === void 0 ? {} : _props$style,
65
+ restProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
66
+ var contextTokens = _react["default"].useContext(themeContext);
67
+ var tokens = _react["default"].useMemo(function () {
68
+ return contextTokens === null ? providedTokens : (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, contextTokens), providedTokens);
69
+ }, [contextTokens, providedTokens]);
70
+ var style = _react["default"].useMemo(function () {
71
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
72
+ display: 'contents'
73
+ }, tokens), providedStyle);
74
+ }, [tokens, providedStyle]);
75
+ return /*#__PURE__*/_react["default"].createElement(themeContext.Provider, {
76
+ value: tokens
77
+ }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, restProps, {
78
+ style: style
79
+ }), children));
80
+ };
81
+ exports.ThemeProvider = ThemeProvider;
82
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.js","names":["_react","_interopRequireDefault","require","_ref3","_useEnhancedEffect","_excluded","useContextTokens","React","useContext","themeContext","exports","useContextTheme","ref","available","tokens","tokensKey","useMemo","Object","entries","map","_ref","_ref2","_slicedToArray2","key","value","concat","join","useEnhancedEffect","undefined","current","style","setProperty","token","contextThemeEnhance","getAvailable","props","existingRef","values","enhanceRef","useRef","refArr","useForkRef","_objectSpread2","createContext","ThemeProvider","_props$tokens","providedTokens","children","_props$style","providedStyle","restProps","_objectWithoutProperties2","contextTokens","display","createElement","Provider","_extends2"],"sources":["../../src/utils/ThemeProvider.tsx"],"sourcesContent":["import React from 'react';\nimport { useForkRef } from './ref';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype Tokens = { [tokenName: string]: string };\nexport type ThemeProviderProps = JSX.IntrinsicElements['div'] & {\n tokens: Tokens;\n children: React.ReactNode;\n};\n\nexport const useContextTokens = () => React.useContext(themeContext);\n\nexport const useContextTheme = (ref: React.RefObject<HTMLElement>, available?: boolean) => {\n const tokens = useContextTokens();\n const tokensKey = React.useMemo(() => {\n if (!tokens) return '';\n return Object.entries(tokens)\n .map(([key, value]) => `${key}-${value}`)\n .join('/');\n }, [tokens]);\n useEnhancedEffect(() => {\n if (available !== undefined && !available) return;\n if (!ref.current || !ref.current.style || !ref.current.style.setProperty) return;\n for (const token in tokens) {\n ref.current.style.setProperty(token, tokens[token]);\n }\n }, [tokensKey, available]);\n};\nexport const contextThemeEnhance = <T extends Record<string, any> = {}>(\n getAvailable?: (props: T) => boolean | undefined,\n) => {\n return (props: T) => {\n const existingRef = props.ref;\n const available = React.useMemo(() => getAvailable?.(props), Object.values(props));\n const enhanceRef: any = React.useRef();\n const refArr: any = React.useMemo(\n () => (existingRef ? [existingRef, enhanceRef] : [enhanceRef]),\n [existingRef, enhanceRef],\n );\n const ref = useForkRef(refArr);\n useContextTheme(enhanceRef, available);\n\n return { ...props, ref };\n };\n};\n\nconst themeContext = React.createContext<Tokens | null>(null);\n\nexport const ThemeProvider = (props: ThemeProviderProps): React.ReactElement => {\n const { tokens: providedTokens = {}, children, style: providedStyle = {}, ...restProps } = props;\n const contextTokens = React.useContext(themeContext);\n const tokens = React.useMemo(\n () => (contextTokens === null ? providedTokens : { ...contextTokens, ...providedTokens }),\n [contextTokens, providedTokens],\n );\n const style: React.CSSProperties = React.useMemo(() => {\n return {\n display: 'contents',\n ...tokens,\n ...providedStyle,\n };\n }, [tokens, providedStyle]);\n\n return (\n <themeContext.Provider value={tokens}>\n <div {...restProps} style={style}>\n {children}\n </div>\n </themeContext.Provider>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ var _excluded = ["tokens", "children", "style"];
6
+ import React from 'react';
7
+ import { useForkRef } from "./ref.mjs";
8
+ import useEnhancedEffect from "./use/useEnhancedEffect.mjs";
9
+ export var useContextTokens = function useContextTokens() {
10
+ return React.useContext(themeContext);
11
+ };
12
+ export var useContextTheme = function useContextTheme(ref, available) {
13
+ var tokens = useContextTokens();
14
+ var tokensKey = React.useMemo(function () {
15
+ if (!tokens) return '';
16
+ return Object.entries(tokens).map(function (_ref) {
17
+ var _ref2 = _slicedToArray(_ref, 2),
18
+ key = _ref2[0],
19
+ value = _ref2[1];
20
+ return "".concat(key, "-").concat(value);
21
+ }).join('/');
22
+ }, [tokens]);
23
+ useEnhancedEffect(function () {
24
+ if (available !== undefined && !available) return;
25
+ if (!ref.current || !ref.current.style || !ref.current.style.setProperty) return;
26
+ for (var token in tokens) {
27
+ ref.current.style.setProperty(token, tokens[token]);
28
+ }
29
+ }, [tokensKey, available]);
30
+ };
31
+ export var contextThemeEnhance = function contextThemeEnhance(getAvailable) {
32
+ return function (props) {
33
+ var existingRef = props.ref;
34
+ var available = React.useMemo(function () {
35
+ return getAvailable === null || getAvailable === void 0 ? void 0 : getAvailable(props);
36
+ }, Object.values(props));
37
+ var enhanceRef = React.useRef();
38
+ var refArr = React.useMemo(function () {
39
+ return existingRef ? [existingRef, enhanceRef] : [enhanceRef];
40
+ }, [existingRef, enhanceRef]);
41
+ var ref = useForkRef(refArr);
42
+ useContextTheme(enhanceRef, available);
43
+ return _objectSpread(_objectSpread({}, props), {}, {
44
+ ref: ref
45
+ });
46
+ };
47
+ };
48
+ var themeContext = /*#__PURE__*/React.createContext(null);
49
+ export var ThemeProvider = function ThemeProvider(props) {
50
+ var _props$tokens = props.tokens,
51
+ providedTokens = _props$tokens === void 0 ? {} : _props$tokens,
52
+ children = props.children,
53
+ _props$style = props.style,
54
+ providedStyle = _props$style === void 0 ? {} : _props$style,
55
+ restProps = _objectWithoutProperties(props, _excluded);
56
+ var contextTokens = React.useContext(themeContext);
57
+ var tokens = React.useMemo(function () {
58
+ return contextTokens === null ? providedTokens : _objectSpread(_objectSpread({}, contextTokens), providedTokens);
59
+ }, [contextTokens, providedTokens]);
60
+ var style = React.useMemo(function () {
61
+ return _objectSpread(_objectSpread({
62
+ display: 'contents'
63
+ }, tokens), providedStyle);
64
+ }, [tokens, providedStyle]);
65
+ return /*#__PURE__*/React.createElement(themeContext.Provider, {
66
+ value: tokens
67
+ }, /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
68
+ style: style
69
+ }), children));
70
+ };
71
+ //# sourceMappingURL=ThemeProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.mjs","names":["React","useForkRef","useEnhancedEffect","useContextTokens","useContext","themeContext","useContextTheme","ref","available","tokens","tokensKey","useMemo","Object","entries","map","_ref","_ref2","_slicedToArray","key","value","concat","join","undefined","current","style","setProperty","token","contextThemeEnhance","getAvailable","props","existingRef","values","enhanceRef","useRef","refArr","_objectSpread","createContext","ThemeProvider","_props$tokens","providedTokens","children","_props$style","providedStyle","restProps","_objectWithoutProperties","_excluded","contextTokens","display","createElement","Provider","_extends"],"sources":["../../src/utils/ThemeProvider.tsx"],"sourcesContent":["import React from 'react';\nimport { useForkRef } from './ref';\nimport useEnhancedEffect from './use/useEnhancedEffect';\n\ntype Tokens = { [tokenName: string]: string };\nexport type ThemeProviderProps = JSX.IntrinsicElements['div'] & {\n tokens: Tokens;\n children: React.ReactNode;\n};\n\nexport const useContextTokens = () => React.useContext(themeContext);\n\nexport const useContextTheme = (ref: React.RefObject<HTMLElement>, available?: boolean) => {\n const tokens = useContextTokens();\n const tokensKey = React.useMemo(() => {\n if (!tokens) return '';\n return Object.entries(tokens)\n .map(([key, value]) => `${key}-${value}`)\n .join('/');\n }, [tokens]);\n useEnhancedEffect(() => {\n if (available !== undefined && !available) return;\n if (!ref.current || !ref.current.style || !ref.current.style.setProperty) return;\n for (const token in tokens) {\n ref.current.style.setProperty(token, tokens[token]);\n }\n }, [tokensKey, available]);\n};\nexport const contextThemeEnhance = <T extends Record<string, any> = {}>(\n getAvailable?: (props: T) => boolean | undefined,\n) => {\n return (props: T) => {\n const existingRef = props.ref;\n const available = React.useMemo(() => getAvailable?.(props), Object.values(props));\n const enhanceRef: any = React.useRef();\n const refArr: any = React.useMemo(\n () => (existingRef ? [existingRef, enhanceRef] : [enhanceRef]),\n [existingRef, enhanceRef],\n );\n const ref = useForkRef(refArr);\n useContextTheme(enhanceRef, available);\n\n return { ...props, ref };\n };\n};\n\nconst themeContext = React.createContext<Tokens | null>(null);\n\nexport const ThemeProvider = (props: ThemeProviderProps): React.ReactElement => {\n const { tokens: providedTokens = {}, children, style: providedStyle = {}, ...restProps } = props;\n const contextTokens = React.useContext(themeContext);\n const tokens = React.useMemo(\n () => (contextTokens === null ? providedTokens : { ...contextTokens, ...providedTokens }),\n [contextTokens, providedTokens],\n );\n const style: React.CSSProperties = React.useMemo(() => {\n return {\n display: 'contents',\n ...tokens,\n ...providedStyle,\n };\n }, [tokens, providedStyle]);\n\n return (\n <themeContext.Provider value={tokens}>\n <div {...restProps} style={style}>\n {children}\n </div>\n </themeContext.Provider>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export default function addonText(children: React.ReactNode, Text: React.ComponentType<any>, Addon: React.ComponentType, isTextWrapIfEmptyChildren?: boolean): string | number | boolean | React.ReactFragment | JSX.Element | null | undefined;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = addonText;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function addonText(children, Text, Addon) {
10
+ var isTextWrapIfEmptyChildren = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
11
+ if (!isTextWrapIfEmptyChildren && !children) {
12
+ return false;
13
+ }
14
+ return _react["default"].Children.toArray(children).some(function (element) {
15
+ return /*#__PURE__*/_react["default"].isValidElement(element) && (element.type === _react["default"].Fragment || element.type['displayName'] === Text.displayName || element.type['displayName'] === Addon.displayName);
16
+ }) ? children : /*#__PURE__*/_react["default"].createElement(Text, null, children);
17
+ }
18
+ //# sourceMappingURL=addonText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addonText.js","names":["_react","_interopRequireDefault","require","addonText","children","Text","Addon","isTextWrapIfEmptyChildren","arguments","length","undefined","React","Children","toArray","some","element","isValidElement","type","Fragment","displayName","createElement"],"sources":["../../src/utils/addonText.tsx"],"sourcesContent":["import React from 'react';\n\nexport default function addonText(\n children: React.ReactNode,\n Text: React.ComponentType<any>,\n Addon: React.ComponentType,\n isTextWrapIfEmptyChildren = false,\n) {\n if (!isTextWrapIfEmptyChildren && !children) {\n return false;\n }\n return React.Children.toArray(children).some(\n (element) =>\n React.isValidElement(element) &&\n (element.type === React.Fragment ||\n (element.type as any)['displayName'] === Text.displayName ||\n (element.type as any)['displayName'] === Addon.displayName),\n ) ? (\n children\n ) : (\n <Text>{children}</Text>\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEe,SAASC,SAASA,CAC/BC,QAAyB,EACzBC,IAA8B,EAC9BC,KAA0B,EAE1B;EAAA,IADAC,yBAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjC,IAAI,CAACD,yBAAyB,IAAI,CAACH,QAAQ,EAAE;IAC3C,OAAO,KAAK;EACd;EACA,OAAOO,iBAAK,CAACC,QAAQ,CAACC,OAAO,CAACT,QAAQ,CAAC,CAACU,IAAI,CAC1C,UAACC,OAAO;IAAA,OACN,aAAAJ,iBAAK,CAACK,cAAc,CAACD,OAAO,CAAC,KAC5BA,OAAO,CAACE,IAAI,KAAKN,iBAAK,CAACO,QAAQ,IAC7BH,OAAO,CAACE,IAAI,CAAS,aAAa,CAAC,KAAKZ,IAAI,CAACc,WAAW,IACxDJ,OAAO,CAACE,IAAI,CAAS,aAAa,CAAC,KAAKX,KAAK,CAACa,WAAW,CAAC;EAAA,EAChE,GACCf,QAAQ,gBAERJ,MAAA,YAAAoB,aAAA,CAACf,IAAI,QAAED,QAAQ,CAChB;AACH"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export default function addonText(children, Text, Addon) {
3
+ var isTextWrapIfEmptyChildren = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
4
+ if (!isTextWrapIfEmptyChildren && !children) {
5
+ return false;
6
+ }
7
+ return React.Children.toArray(children).some(function (element) {
8
+ return /*#__PURE__*/React.isValidElement(element) && (element.type === React.Fragment || element.type['displayName'] === Text.displayName || element.type['displayName'] === Addon.displayName);
9
+ }) ? children : /*#__PURE__*/React.createElement(Text, null, children);
10
+ }
11
+ //# sourceMappingURL=addonText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addonText.mjs","names":["React","addonText","children","Text","Addon","isTextWrapIfEmptyChildren","arguments","length","undefined","Children","toArray","some","element","isValidElement","type","Fragment","displayName","createElement"],"sources":["../../src/utils/addonText.tsx"],"sourcesContent":["import React from 'react';\n\nexport default function addonText(\n children: React.ReactNode,\n Text: React.ComponentType<any>,\n Addon: React.ComponentType,\n isTextWrapIfEmptyChildren = false,\n) {\n if (!isTextWrapIfEmptyChildren && !children) {\n return false;\n }\n return React.Children.toArray(children).some(\n (element) =>\n React.isValidElement(element) &&\n (element.type === React.Fragment ||\n (element.type as any)['displayName'] === Text.displayName ||\n (element.type as any)['displayName'] === Addon.displayName),\n ) ? (\n children\n ) : (\n <Text>{children}</Text>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,eAAe,SAASC,SAASA,CAC/BC,QAAyB,EACzBC,IAA8B,EAC9BC,KAA0B,EAE1B;EAAA,IADAC,yBAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjC,IAAI,CAACD,yBAAyB,IAAI,CAACH,QAAQ,EAAE;IAC3C,OAAO,KAAK;EACd;EACA,OAAOF,KAAK,CAACS,QAAQ,CAACC,OAAO,CAACR,QAAQ,CAAC,CAACS,IAAI,CAC1C,UAACC,OAAO;IAAA,OACN,aAAAZ,KAAK,CAACa,cAAc,CAACD,OAAO,CAAC,KAC5BA,OAAO,CAACE,IAAI,KAAKd,KAAK,CAACe,QAAQ,IAC7BH,OAAO,CAACE,IAAI,CAAS,aAAa,CAAC,KAAKX,IAAI,CAACa,WAAW,IACxDJ,OAAO,CAACE,IAAI,CAAS,aAAa,CAAC,KAAKV,KAAK,CAACY,WAAW,CAAC;EAAA,EAChE,GACCd,QAAQ,gBAERF,KAAA,CAAAiB,aAAA,CAACd,IAAI,QAAED,QAAQ,CAChB;AACH"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare function addonTextChildren(Children: any, Text: React.ComponentType<any>, Addon: React.ComponentType | React.ComponentType[], isTextWrapIfEmptyChildren?: boolean): JSX.Element | null;
3
+ export default addonTextChildren;
@@ -0,0 +1,45 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _symbols = require("../core-types/symbols");
11
+ var _getOriginChildren = _interopRequireDefault(require("./getOriginChildren"));
12
+ var _isNode = _interopRequireDefault(require("./isNode"));
13
+ function addonTextChildren(Children, Text, Addon) {
14
+ var isTextWrapIfEmptyChildren = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
15
+ var children = (0, _getOriginChildren["default"])(Children);
16
+ if (typeof children === 'function') {
17
+ return /*#__PURE__*/_react["default"].createElement(Children, null);
18
+ }
19
+ if (!isTextWrapIfEmptyChildren && !(0, _isNode["default"])(children)) {
20
+ return null;
21
+ }
22
+ return _react["default"].Children.toArray(children).some(function (element) {
23
+ if (! /*#__PURE__*/_react["default"].isValidElement(element)) return false;
24
+ if (element.type === _react["default"].Fragment) return true;
25
+ if (element.type[_symbols.CHILDREN_COMPONENT]) {
26
+ var wrapChildren = addonTextChildren(element.type, Text, Addon);
27
+ if (wrapChildren.type[_symbols.CHILDREN_COMPONENT]) {
28
+ return true;
29
+ } else {
30
+ element = wrapChildren;
31
+ }
32
+ }
33
+ // @ts-ignore
34
+ var inheritedNames = element.type[_symbols.INHERITED_NAME] || [element.type.displayName];
35
+ var addonNames = Array.isArray(Addon) ? Addon.map(function (Component) {
36
+ return Component.displayName;
37
+ }) : [Addon.displayName];
38
+ return [Text.displayName].concat((0, _toConsumableArray2["default"])(addonNames)).find(function (name) {
39
+ return inheritedNames.includes(name);
40
+ });
41
+ }) ? /*#__PURE__*/_react["default"].createElement(Children, null) : /*#__PURE__*/_react["default"].createElement(Text, null, /*#__PURE__*/_react["default"].createElement(Children, null));
42
+ }
43
+ var _default = addonTextChildren;
44
+ exports["default"] = _default;
45
+ //# sourceMappingURL=addonTextChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addonTextChildren.js","names":["_react","_interopRequireDefault","require","_symbols","_getOriginChildren","_isNode","addonTextChildren","Children","Text","Addon","isTextWrapIfEmptyChildren","arguments","length","undefined","children","getOriginChildren","createElement","isNode","React","toArray","some","element","isValidElement","type","Fragment","CHILDREN_COMPONENT","wrapChildren","inheritedNames","INHERITED_NAME","displayName","addonNames","Array","isArray","map","Component","concat","_toConsumableArray2","find","name","includes","_default","exports"],"sources":["../../src/utils/addonTextChildren.tsx"],"sourcesContent":["import React from 'react';\nimport { CHILDREN_COMPONENT, INHERITED_NAME } from '../core-types/symbols';\nimport getOriginChildren from './getOriginChildren';\nimport isNode from './isNode';\n\nfunction addonTextChildren(\n Children: any,\n Text: React.ComponentType<any>,\n Addon: React.ComponentType | React.ComponentType[],\n isTextWrapIfEmptyChildren = false,\n) {\n const children = getOriginChildren(Children);\n if (typeof children === 'function') {\n return <Children />;\n }\n\n if (!isTextWrapIfEmptyChildren && !isNode(children)) {\n return null;\n }\n return React.Children.toArray(children).some((element: any) => {\n if (!React.isValidElement(element)) return false;\n if (element.type === React.Fragment) return true;\n if ((element.type as any)[CHILDREN_COMPONENT]) {\n const wrapChildren: any = addonTextChildren(element.type, Text, Addon);\n if (wrapChildren.type[CHILDREN_COMPONENT]) {\n return true;\n } else {\n element = wrapChildren;\n }\n }\n // @ts-ignore\n const inheritedNames = element.type[INHERITED_NAME] || [element.type.displayName];\n const addonNames = Array.isArray(Addon)\n ? Addon.map((Component) => Component.displayName)\n : [Addon.displayName];\n return [Text.displayName, ...addonNames].find((name) => inheritedNames.includes(name));\n }) ? (\n <Children />\n ) : (\n <Text>\n <Children />\n </Text>\n );\n}\n\nexport default addonTextChildren;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,SAASI,iBAAiBA,CACxBC,QAAa,EACbC,IAA8B,EAC9BC,KAAkD,EAElD;EAAA,IADAC,yBAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjC,IAAMG,QAAQ,GAAG,IAAAC,6BAAiB,EAACR,QAAQ,CAAC;EAC5C,IAAI,OAAOO,QAAQ,KAAK,UAAU,EAAE;IAClC,oBAAOd,MAAA,YAAAgB,aAAA,CAACT,QAAQ,OAAG;EACrB;EAEA,IAAI,CAACG,yBAAyB,IAAI,CAAC,IAAAO,kBAAM,EAACH,QAAQ,CAAC,EAAE;IACnD,OAAO,IAAI;EACb;EACA,OAAOI,iBAAK,CAACX,QAAQ,CAACY,OAAO,CAACL,QAAQ,CAAC,CAACM,IAAI,CAAC,UAACC,OAAY,EAAK;IAC7D,IAAI,eAACH,iBAAK,CAACI,cAAc,CAACD,OAAO,CAAC,EAAE,OAAO,KAAK;IAChD,IAAIA,OAAO,CAACE,IAAI,KAAKL,iBAAK,CAACM,QAAQ,EAAE,OAAO,IAAI;IAChD,IAAKH,OAAO,CAACE,IAAI,CAASE,2BAAkB,CAAC,EAAE;MAC7C,IAAMC,YAAiB,GAAGpB,iBAAiB,CAACe,OAAO,CAACE,IAAI,EAAEf,IAAI,EAAEC,KAAK,CAAC;MACtE,IAAIiB,YAAY,CAACH,IAAI,CAACE,2BAAkB,CAAC,EAAE;QACzC,OAAO,IAAI;MACb,CAAC,MAAM;QACLJ,OAAO,GAAGK,YAAY;MACxB;IACF;IACA;IACA,IAAMC,cAAc,GAAGN,OAAO,CAACE,IAAI,CAACK,uBAAc,CAAC,IAAI,CAACP,OAAO,CAACE,IAAI,CAACM,WAAW,CAAC;IACjF,IAAMC,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACvB,KAAK,CAAC,GACnCA,KAAK,CAACwB,GAAG,CAAC,UAACC,SAAS;MAAA,OAAKA,SAAS,CAACL,WAAW;IAAA,EAAC,GAC/C,CAACpB,KAAK,CAACoB,WAAW,CAAC;IACvB,OAAO,CAACrB,IAAI,CAACqB,WAAW,EAAAM,MAAA,KAAAC,mBAAA,aAAKN,UAAU,GAAEO,IAAI,CAAC,UAACC,IAAI;MAAA,OAAKX,cAAc,CAACY,QAAQ,CAACD,IAAI,CAAC;IAAA,EAAC;EACxF,CAAC,CAAC,gBACAtC,MAAA,YAAAgB,aAAA,CAACT,QAAQ,OAAG,gBAEZP,MAAA,YAAAgB,aAAA,CAACR,IAAI,qBACHR,MAAA,YAAAgB,aAAA,CAACT,QAAQ,OAAG,CAEf;AACH;AAAC,IAAAiC,QAAA,GAEclC,iBAAiB;AAAAmC,OAAA,cAAAD,QAAA"}
@@ -0,0 +1,37 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import React from 'react';
3
+ import { CHILDREN_COMPONENT, INHERITED_NAME } from "../core-types/symbols.mjs";
4
+ import getOriginChildren from "./getOriginChildren.mjs";
5
+ import isNode from "./isNode.mjs";
6
+ function addonTextChildren(Children, Text, Addon) {
7
+ var isTextWrapIfEmptyChildren = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
8
+ var children = getOriginChildren(Children);
9
+ if (typeof children === 'function') {
10
+ return /*#__PURE__*/React.createElement(Children, null);
11
+ }
12
+ if (!isTextWrapIfEmptyChildren && !isNode(children)) {
13
+ return null;
14
+ }
15
+ return React.Children.toArray(children).some(function (element) {
16
+ if (! /*#__PURE__*/React.isValidElement(element)) return false;
17
+ if (element.type === React.Fragment) return true;
18
+ if (element.type[CHILDREN_COMPONENT]) {
19
+ var wrapChildren = addonTextChildren(element.type, Text, Addon);
20
+ if (wrapChildren.type[CHILDREN_COMPONENT]) {
21
+ return true;
22
+ } else {
23
+ element = wrapChildren;
24
+ }
25
+ }
26
+ // @ts-ignore
27
+ var inheritedNames = element.type[INHERITED_NAME] || [element.type.displayName];
28
+ var addonNames = Array.isArray(Addon) ? Addon.map(function (Component) {
29
+ return Component.displayName;
30
+ }) : [Addon.displayName];
31
+ return [Text.displayName].concat(_toConsumableArray(addonNames)).find(function (name) {
32
+ return inheritedNames.includes(name);
33
+ });
34
+ }) ? /*#__PURE__*/React.createElement(Children, null) : /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(Children, null));
35
+ }
36
+ export default addonTextChildren;
37
+ //# sourceMappingURL=addonTextChildren.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addonTextChildren.mjs","names":["React","CHILDREN_COMPONENT","INHERITED_NAME","getOriginChildren","isNode","addonTextChildren","Children","Text","Addon","isTextWrapIfEmptyChildren","arguments","length","undefined","children","createElement","toArray","some","element","isValidElement","type","Fragment","wrapChildren","inheritedNames","displayName","addonNames","Array","isArray","map","Component","concat","_toConsumableArray","find","name","includes"],"sources":["../../src/utils/addonTextChildren.tsx"],"sourcesContent":["import React from 'react';\nimport { CHILDREN_COMPONENT, INHERITED_NAME } from '../core-types/symbols';\nimport getOriginChildren from './getOriginChildren';\nimport isNode from './isNode';\n\nfunction addonTextChildren(\n Children: any,\n Text: React.ComponentType<any>,\n Addon: React.ComponentType | React.ComponentType[],\n isTextWrapIfEmptyChildren = false,\n) {\n const children = getOriginChildren(Children);\n if (typeof children === 'function') {\n return <Children />;\n }\n\n if (!isTextWrapIfEmptyChildren && !isNode(children)) {\n return null;\n }\n return React.Children.toArray(children).some((element: any) => {\n if (!React.isValidElement(element)) return false;\n if (element.type === React.Fragment) return true;\n if ((element.type as any)[CHILDREN_COMPONENT]) {\n const wrapChildren: any = addonTextChildren(element.type, Text, Addon);\n if (wrapChildren.type[CHILDREN_COMPONENT]) {\n return true;\n } else {\n element = wrapChildren;\n }\n }\n // @ts-ignore\n const inheritedNames = element.type[INHERITED_NAME] || [element.type.displayName];\n const addonNames = Array.isArray(Addon)\n ? Addon.map((Component) => Component.displayName)\n : [Addon.displayName];\n return [Text.displayName, ...addonNames].find((name) => inheritedNames.includes(name));\n }) ? (\n <Children />\n ) : (\n <Text>\n <Children />\n </Text>\n );\n}\n\nexport default addonTextChildren;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,2BAAuB;AAC1E,OAAOC,iBAAiB,MAAM,yBAAqB;AACnD,OAAOC,MAAM,MAAM,cAAU;AAE7B,SAASC,iBAAiBA,CACxBC,QAAa,EACbC,IAA8B,EAC9BC,KAAkD,EAElD;EAAA,IADAC,yBAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjC,IAAMG,QAAQ,GAAGV,iBAAiB,CAACG,QAAQ,CAAC;EAC5C,IAAI,OAAOO,QAAQ,KAAK,UAAU,EAAE;IAClC,oBAAOb,KAAA,CAAAc,aAAA,CAACR,QAAQ,OAAG;EACrB;EAEA,IAAI,CAACG,yBAAyB,IAAI,CAACL,MAAM,CAACS,QAAQ,CAAC,EAAE;IACnD,OAAO,IAAI;EACb;EACA,OAAOb,KAAK,CAACM,QAAQ,CAACS,OAAO,CAACF,QAAQ,CAAC,CAACG,IAAI,CAAC,UAACC,OAAY,EAAK;IAC7D,IAAI,eAACjB,KAAK,CAACkB,cAAc,CAACD,OAAO,CAAC,EAAE,OAAO,KAAK;IAChD,IAAIA,OAAO,CAACE,IAAI,KAAKnB,KAAK,CAACoB,QAAQ,EAAE,OAAO,IAAI;IAChD,IAAKH,OAAO,CAACE,IAAI,CAASlB,kBAAkB,CAAC,EAAE;MAC7C,IAAMoB,YAAiB,GAAGhB,iBAAiB,CAACY,OAAO,CAACE,IAAI,EAAEZ,IAAI,EAAEC,KAAK,CAAC;MACtE,IAAIa,YAAY,CAACF,IAAI,CAAClB,kBAAkB,CAAC,EAAE;QACzC,OAAO,IAAI;MACb,CAAC,MAAM;QACLgB,OAAO,GAAGI,YAAY;MACxB;IACF;IACA;IACA,IAAMC,cAAc,GAAGL,OAAO,CAACE,IAAI,CAACjB,cAAc,CAAC,IAAI,CAACe,OAAO,CAACE,IAAI,CAACI,WAAW,CAAC;IACjF,IAAMC,UAAU,GAAGC,KAAK,CAACC,OAAO,CAAClB,KAAK,CAAC,GACnCA,KAAK,CAACmB,GAAG,CAAC,UAACC,SAAS;MAAA,OAAKA,SAAS,CAACL,WAAW;IAAA,EAAC,GAC/C,CAACf,KAAK,CAACe,WAAW,CAAC;IACvB,OAAO,CAAChB,IAAI,CAACgB,WAAW,EAAAM,MAAA,CAAAC,kBAAA,CAAKN,UAAU,GAAEO,IAAI,CAAC,UAACC,IAAI;MAAA,OAAKV,cAAc,CAACW,QAAQ,CAACD,IAAI,CAAC;IAAA,EAAC;EACxF,CAAC,CAAC,gBACAhC,KAAA,CAAAc,aAAA,CAACR,QAAQ,OAAG,gBAEZN,KAAA,CAAAc,aAAA,CAACP,IAAI,qBACHP,KAAA,CAAAc,aAAA,CAACR,QAAQ,OAAG,CAEf;AACH;AAEA,eAAeD,iBAAiB"}
@@ -0,0 +1,12 @@
1
+ type AriaProps = {
2
+ title?: string;
3
+ 'aria-label'?: string;
4
+ 'aria-labelledby'?: string;
5
+ 'aria-describedby'?: string;
6
+ };
7
+ type ExtractorAriaPropsReturn = {
8
+ __excludeProps: ['title', 'aria-label', 'aria-labelledby', 'aria-describedby'];
9
+ extractedAriaProps: AriaProps;
10
+ };
11
+ export declare function extractAriaProps(props: any): ExtractorAriaPropsReturn;
12
+ export {};