@semcore/core 16.0.0-prerelease.9 → 16.0.1-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 (530) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +1 -31
  3. package/lib/{LastInteractionType.cjs → LastInteractionType.js} +4 -6
  4. package/lib/LastInteractionType.js.map +1 -0
  5. package/lib/LastInteractionType.mjs +1 -2
  6. package/lib/LastInteractionType.mjs.map +1 -1
  7. package/lib/core-types/Component.d.ts +11 -13
  8. package/lib/core-types/Component.js +88 -0
  9. package/lib/core-types/Component.js.map +1 -0
  10. package/lib/core-types/Component.mjs +11 -14
  11. package/lib/core-types/Component.mjs.map +1 -1
  12. package/lib/core-types/UnknownProperties.js +2 -0
  13. package/lib/core-types/UnknownProperties.js.map +1 -0
  14. package/lib/core-types/UnknownProperties.mjs.map +1 -1
  15. package/lib/core-types/reshadow.d.js +2 -0
  16. package/lib/core-types/reshadow.d.js.map +1 -0
  17. package/lib/core-types/reshadow.d.mjs.map +1 -1
  18. package/lib/core-types/symbols.js +16 -0
  19. package/lib/core-types/symbols.js.map +1 -0
  20. package/lib/core-types/symbols.mjs.map +1 -1
  21. package/lib/coreFactory.d.ts +4 -4
  22. package/lib/{coreFactory.cjs → coreFactory.js} +38 -39
  23. package/lib/coreFactory.js.map +1 -0
  24. package/lib/coreFactory.mjs +39 -34
  25. package/lib/coreFactory.mjs.map +1 -1
  26. package/lib/enhancement/{Children.cjs → Children.js} +10 -11
  27. package/lib/enhancement/Children.js.map +1 -0
  28. package/lib/enhancement/Children.mjs +8 -8
  29. package/lib/enhancement/Children.mjs.map +1 -1
  30. package/lib/enhancement/Root.d.ts +1 -1
  31. package/lib/enhancement/{Root.cjs → Root.js} +6 -7
  32. package/lib/enhancement/Root.js.map +1 -0
  33. package/lib/enhancement/Root.mjs +2 -6
  34. package/lib/enhancement/Root.mjs.map +1 -1
  35. package/lib/enhancement/bindHandler.d.ts +1 -1
  36. package/lib/enhancement/{bindHandler.cjs → bindHandler.js} +3 -4
  37. package/lib/enhancement/bindHandler.js.map +1 -0
  38. package/lib/enhancement/bindHandler.mjs +1 -1
  39. package/lib/enhancement/bindHandler.mjs.map +1 -1
  40. package/lib/enhancement/{dataName.cjs → dataName.js} +3 -4
  41. package/lib/enhancement/dataName.js.map +1 -0
  42. package/lib/enhancement/dataName.mjs.map +1 -1
  43. package/lib/enhancement/{enhance.cjs → enhance.js} +2 -3
  44. package/lib/enhancement/enhance.js.map +1 -0
  45. package/lib/enhancement/enhance.mjs.map +1 -1
  46. package/lib/enhancement/{functionDefaultProps.cjs → functionDefaultProps.js} +2 -3
  47. package/lib/enhancement/functionDefaultProps.js.map +1 -0
  48. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  49. package/lib/enhancement/hoistProps.d.ts +1 -1
  50. package/lib/enhancement/{hoistProps.cjs → hoistProps.js} +6 -8
  51. package/lib/enhancement/hoistProps.js.map +1 -0
  52. package/lib/enhancement/hoistProps.mjs +2 -2
  53. package/lib/enhancement/hoistProps.mjs.map +1 -1
  54. package/lib/enhancement/{i18n.cjs → i18n.js} +3 -4
  55. package/lib/enhancement/i18n.js.map +1 -0
  56. package/lib/enhancement/i18n.mjs.map +1 -1
  57. package/lib/enhancement/{inheritedName.cjs → inheritedName.js} +3 -4
  58. package/lib/enhancement/inheritedName.js.map +1 -0
  59. package/lib/enhancement/inheritedName.mjs.map +1 -1
  60. package/lib/enhancement/{staticChildren.cjs → staticChildren.js} +6 -9
  61. package/lib/enhancement/staticChildren.js.map +1 -0
  62. package/lib/enhancement/staticChildren.mjs +1 -1
  63. package/lib/enhancement/staticChildren.mjs.map +1 -1
  64. package/lib/enhancement/{style.cjs → style.js} +5 -7
  65. package/lib/enhancement/style.js.map +1 -0
  66. package/lib/enhancement/style.mjs +2 -3
  67. package/lib/enhancement/style.mjs.map +1 -1
  68. package/lib/enhancement/{uncontrolledProps.cjs → uncontrolledProps.js} +5 -7
  69. package/lib/enhancement/uncontrolledProps.js.map +1 -0
  70. package/lib/enhancement/uncontrolledProps.mjs +2 -3
  71. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  72. package/lib/esm/LastInteractionType.mjs +1 -2
  73. package/lib/esm/core-types/Component.mjs +11 -14
  74. package/lib/esm/coreFactory.mjs +39 -34
  75. package/lib/esm/enhancement/Children.mjs +8 -8
  76. package/lib/esm/enhancement/Root.mjs +2 -6
  77. package/lib/esm/enhancement/bindHandler.mjs +1 -1
  78. package/lib/esm/enhancement/hoistProps.mjs +2 -2
  79. package/lib/esm/enhancement/staticChildren.mjs +1 -1
  80. package/lib/esm/enhancement/style.mjs +2 -3
  81. package/lib/esm/enhancement/uncontrolledProps.mjs +2 -3
  82. package/lib/esm/index.mjs +3 -2
  83. package/lib/esm/register.mjs +1 -2
  84. package/lib/esm/styled/index.mjs +8 -0
  85. package/lib/esm/styled/reshadow-core.mjs +219 -3
  86. package/lib/esm/styled/sstyled.mjs +1 -1
  87. package/lib/esm/utils/assignProps.mjs +10 -0
  88. package/lib/esm/utils/createHoc.mjs +47 -0
  89. package/lib/esm/utils/enhances/WithI18n.mjs +41 -15
  90. package/lib/esm/utils/enhances/i18nEnhance.mjs +91 -0
  91. package/lib/esm/utils/getDisplayName.mjs +6 -0
  92. package/lib/esm/utils/logger.mjs +1 -2
  93. package/lib/esm/utils/ref.mjs +46 -2
  94. package/lib/index.d.ts +5 -5
  95. package/lib/{index.cjs → index.js} +5 -5
  96. package/lib/index.js.map +1 -0
  97. package/lib/index.mjs +3 -2
  98. package/lib/index.mjs.map +1 -1
  99. package/lib/{register.cjs → register.js} +5 -8
  100. package/lib/register.js.map +1 -0
  101. package/lib/register.mjs +1 -2
  102. package/lib/register.mjs.map +1 -1
  103. package/lib/styled/index.d.ts +1 -2
  104. package/lib/styled/{index.cjs → index.js} +1 -1
  105. package/lib/styled/index.js.map +1 -0
  106. package/lib/styled/index.mjs +8 -6
  107. package/lib/styled/index.mjs.map +1 -1
  108. package/lib/styled/{reshadow-core.cjs → reshadow-core.js} +28 -51
  109. package/lib/styled/reshadow-core.js.map +1 -0
  110. package/lib/styled/reshadow-core.mjs +219 -3
  111. package/lib/styled/reshadow-core.mjs.map +1 -1
  112. package/lib/styled/sstyled.d.ts +2 -2
  113. package/lib/styled/{sstyled.cjs → sstyled.js} +4 -4
  114. package/lib/styled/sstyled.js.map +1 -0
  115. package/lib/styled/sstyled.mjs +1 -1
  116. package/lib/styled/sstyled.mjs.map +1 -1
  117. package/lib/theme/dark.json +4 -4
  118. package/lib/theme/light.json +4 -44
  119. package/lib/theme/{processor.cjs → processor.js} +62 -64
  120. package/lib/theme/processor.js.map +1 -0
  121. package/lib/theme/processor.mjs +52 -53
  122. package/lib/theme/processor.mjs.map +1 -1
  123. package/lib/theme/themes/auto.css +228 -6
  124. package/lib/theme/themes/dark.css +114 -3
  125. package/lib/theme/themes/dark.d.ts +92 -1
  126. package/lib/theme/themes/{dark.cjs → dark.js} +95 -5
  127. package/lib/theme/themes/dark.js.map +1 -0
  128. package/lib/theme/themes/dark.mjs +93 -2
  129. package/lib/theme/themes/dark.mjs.map +1 -1
  130. package/lib/theme/themes/default.css +114 -3
  131. package/lib/theme/themes/default.d.ts +92 -1
  132. package/lib/theme/themes/{light.cjs → default.js} +95 -5
  133. package/lib/theme/themes/default.js.map +1 -0
  134. package/lib/theme/themes/default.mjs +93 -2
  135. package/lib/theme/themes/default.mjs.map +1 -1
  136. package/lib/theme/themes/light.css +114 -3
  137. package/lib/theme/themes/light.d.ts +92 -1
  138. package/lib/theme/themes/{default.cjs → light.js} +95 -5
  139. package/lib/theme/themes/light.js.map +1 -0
  140. package/lib/theme/themes/light.mjs +93 -2
  141. package/lib/theme/themes/light.mjs.map +1 -1
  142. package/lib/theme/utils.d.ts +2 -1
  143. package/lib/theme/{utils.cjs → utils.js} +37 -33
  144. package/lib/theme/utils.js.map +1 -0
  145. package/lib/theme/utils.mjs +31 -23
  146. package/lib/theme/utils.mjs.map +1 -1
  147. package/lib/utils/CSSinJS.d.ts +1 -1
  148. package/lib/utils/{CSSinJS.cjs → CSSinJS.js} +5 -6
  149. package/lib/utils/CSSinJS.js.map +1 -0
  150. package/lib/utils/CSSinJS.mjs +2 -2
  151. package/lib/utils/CSSinJS.mjs.map +1 -1
  152. package/lib/utils/ScreenReaderOnly.d.ts +1 -1
  153. package/lib/utils/{ScreenReaderOnly.cjs → ScreenReaderOnly.js} +3 -4
  154. package/lib/utils/ScreenReaderOnly.js.map +1 -0
  155. package/lib/utils/ScreenReaderOnly.mjs.map +1 -1
  156. package/lib/utils/ThemeProvider.d.ts +1 -1
  157. package/lib/utils/{ThemeProvider.cjs → ThemeProvider.js} +6 -10
  158. package/lib/utils/ThemeProvider.js.map +1 -0
  159. package/lib/utils/ThemeProvider.mjs.map +1 -1
  160. package/lib/utils/addonText.d.ts +1 -1
  161. package/lib/utils/{addonText.cjs → addonText.js} +2 -2
  162. package/lib/utils/addonText.js.map +1 -0
  163. package/lib/utils/addonText.mjs.map +1 -1
  164. package/lib/utils/addonTextChildren.d.ts +1 -1
  165. package/lib/utils/{addonTextChildren.cjs → addonTextChildren.js} +4 -5
  166. package/lib/utils/addonTextChildren.js.map +1 -0
  167. package/lib/utils/addonTextChildren.mjs +1 -1
  168. package/lib/utils/addonTextChildren.mjs.map +1 -1
  169. package/lib/utils/ariaProps.d.ts +1 -1
  170. package/lib/utils/{ariaProps.cjs → ariaProps.js} +1 -1
  171. package/lib/utils/ariaProps.js.map +1 -0
  172. package/lib/utils/ariaProps.mjs.map +1 -1
  173. package/lib/utils/assignProps.d.ts +1 -1
  174. package/lib/utils/{assignProps.cjs → assignProps.js} +3 -3
  175. package/lib/utils/assignProps.js.map +1 -0
  176. package/lib/utils/assignProps.mjs +10 -0
  177. package/lib/utils/assignProps.mjs.map +1 -1
  178. package/lib/utils/{canUseDOM.cjs → canUseDOM.js} +1 -1
  179. package/lib/utils/canUseDOM.js.map +1 -0
  180. package/lib/utils/canUseDOM.mjs.map +1 -1
  181. package/lib/utils/{capitalizeFirstLetter.cjs → capitalizeFirstLetter.js} +1 -1
  182. package/lib/utils/capitalizeFirstLetter.js.map +1 -0
  183. package/lib/utils/capitalizeFirstLetter.mjs.map +1 -1
  184. package/lib/utils/{color.cjs → color.js} +19 -19
  185. package/lib/utils/color.js.map +1 -0
  186. package/lib/utils/color.mjs +16 -15
  187. package/lib/utils/color.mjs.map +1 -1
  188. package/lib/utils/{compose.cjs → compose.js} +1 -1
  189. package/lib/utils/compose.js.map +1 -0
  190. package/lib/utils/compose.mjs.map +1 -1
  191. package/lib/utils/createHoc.d.ts +1 -1
  192. package/lib/utils/{createHoc.cjs → createHoc.js} +12 -12
  193. package/lib/utils/createHoc.js.map +1 -0
  194. package/lib/utils/createHoc.mjs +24 -23
  195. package/lib/utils/createHoc.mjs.map +1 -1
  196. package/lib/utils/{createUUID.cjs → createUUID.js} +1 -1
  197. package/lib/utils/createUUID.js.map +1 -0
  198. package/lib/utils/createUUID.mjs.map +1 -1
  199. package/lib/utils/cssToIntDefault.d.ts +1 -1
  200. package/lib/utils/{cssToIntDefault.cjs → cssToIntDefault.js} +3 -3
  201. package/lib/utils/cssToIntDefault.js.map +1 -0
  202. package/lib/utils/cssToIntDefault.mjs +2 -2
  203. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  204. package/lib/utils/enhances/WithAutoFocus.d.ts +3 -3
  205. package/lib/utils/enhances/{WithAutoFocus.cjs → WithAutoFocus.js} +13 -13
  206. package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
  207. package/lib/utils/enhances/WithAutoFocus.mjs +11 -9
  208. package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -1
  209. package/lib/utils/enhances/WithCSS.d.ts +4 -4
  210. package/lib/utils/enhances/{WithCSS.cjs → WithCSS.js} +16 -21
  211. package/lib/utils/enhances/WithCSS.js.map +1 -0
  212. package/lib/utils/enhances/WithCSS.mjs +8 -8
  213. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  214. package/lib/utils/enhances/WithI18n.d.ts +3 -3
  215. package/lib/utils/enhances/{WithI18n.cjs → WithI18n.js} +20 -23
  216. package/lib/utils/enhances/WithI18n.js.map +1 -0
  217. package/lib/utils/enhances/WithI18n.mjs +41 -15
  218. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  219. package/lib/utils/enhances/WithKeyboardFocus.d.ts +4 -3
  220. package/lib/utils/enhances/{WithKeyboardFocus.cjs → WithKeyboardFocus.js} +29 -25
  221. package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
  222. package/lib/utils/enhances/WithKeyboardFocus.mjs +26 -19
  223. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -1
  224. package/lib/utils/enhances/WithRef.d.ts +1 -1
  225. package/lib/utils/enhances/{WithRef.cjs → WithRef.js} +4 -5
  226. package/lib/utils/enhances/WithRef.js.map +1 -0
  227. package/lib/utils/enhances/WithRef.mjs +1 -1
  228. package/lib/utils/enhances/WithRef.mjs.map +1 -1
  229. package/lib/utils/enhances/{a11yEnhance.cjs → a11yEnhance.js} +10 -11
  230. package/lib/utils/enhances/a11yEnhance.js.map +1 -0
  231. package/lib/utils/enhances/a11yEnhance.mjs +7 -7
  232. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  233. package/lib/utils/enhances/animatedSizeEnhance.d.ts +1 -1
  234. package/lib/utils/enhances/{animatedSizeEnhance.cjs → animatedSizeEnhance.js} +13 -11
  235. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -0
  236. package/lib/utils/enhances/animatedSizeEnhance.mjs +11 -7
  237. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  238. package/lib/utils/enhances/autoFocusEnhance.d.ts +1 -1
  239. package/lib/utils/enhances/{autoFocusEnhance.cjs → autoFocusEnhance.js} +3 -4
  240. package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
  241. package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -1
  242. package/lib/utils/enhances/{contextEnhance.cjs → contextEnhance.js} +3 -4
  243. package/lib/utils/enhances/contextEnhance.js.map +1 -0
  244. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  245. package/lib/utils/enhances/i18nEnhance.d.ts +2 -2
  246. package/lib/utils/enhances/{i18nEnhance.cjs → i18nEnhance.js} +11 -11
  247. package/lib/utils/enhances/i18nEnhance.js.map +1 -0
  248. package/lib/utils/enhances/i18nEnhance.mjs +36 -37
  249. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  250. package/lib/utils/enhances/keyboardFocusEnhance.d.ts +1 -1
  251. package/lib/utils/enhances/{keyboardFocusEnhance.cjs → keyboardFocusEnhance.js} +8 -8
  252. package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
  253. package/lib/utils/enhances/keyboardFocusEnhance.mjs +2 -2
  254. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -1
  255. package/lib/utils/enhances/{resolveColorEnhance.cjs → resolveColorEnhance.js} +5 -6
  256. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -0
  257. package/lib/utils/enhances/resolveColorEnhance.mjs +2 -2
  258. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  259. package/lib/utils/{eventEmitter.cjs → eventEmitter.js} +3 -4
  260. package/lib/utils/eventEmitter.js.map +1 -0
  261. package/lib/utils/eventEmitter.mjs.map +1 -1
  262. package/lib/utils/findComponent.d.ts +2 -2
  263. package/lib/utils/{findComponent.cjs → findComponent.js} +15 -16
  264. package/lib/utils/findComponent.js.map +1 -0
  265. package/lib/utils/findComponent.mjs +12 -12
  266. package/lib/utils/findComponent.mjs.map +1 -1
  267. package/lib/utils/{fire.cjs → fire.js} +2 -2
  268. package/lib/utils/fire.js.map +1 -0
  269. package/lib/utils/fire.mjs.map +1 -1
  270. package/lib/utils/focus-lock/{focusBorders.cjs → focusBorders.js} +13 -17
  271. package/lib/utils/focus-lock/focusBorders.js.map +1 -0
  272. package/lib/utils/focus-lock/focusBorders.mjs +8 -8
  273. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  274. package/lib/utils/focus-lock/{getFocusableIn.cjs → getFocusableIn.js} +3 -4
  275. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -0
  276. package/lib/utils/focus-lock/getFocusableIn.mjs +1 -1
  277. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  278. package/lib/utils/focus-lock/{isFocusInside.cjs → isFocusInside.js} +2 -3
  279. package/lib/utils/focus-lock/isFocusInside.js.map +1 -0
  280. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  281. package/lib/utils/focus-lock/{isFocusable.cjs → isFocusable.js} +3 -4
  282. package/lib/utils/focus-lock/isFocusable.js.map +1 -0
  283. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  284. package/lib/utils/focus-lock/{setFocus.cjs → setFocus.js} +5 -6
  285. package/lib/utils/focus-lock/setFocus.js.map +1 -0
  286. package/lib/utils/focus-lock/setFocus.mjs +2 -2
  287. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  288. package/lib/utils/{getAccessibleName.cjs → getAccessibleName.js} +2 -2
  289. package/lib/utils/getAccessibleName.js.map +1 -0
  290. package/lib/utils/getAccessibleName.mjs.map +1 -1
  291. package/lib/utils/getDisplayName.d.ts +1 -1
  292. package/lib/utils/{getDisplayName.cjs → getDisplayName.js} +1 -1
  293. package/lib/utils/getDisplayName.js.map +1 -0
  294. package/lib/utils/getDisplayName.mjs +5 -3
  295. package/lib/utils/getDisplayName.mjs.map +1 -1
  296. package/lib/utils/{getEventTarget.cjs → getEventTarget.js} +3 -4
  297. package/lib/utils/getEventTarget.js.map +1 -0
  298. package/lib/utils/getEventTarget.mjs.map +1 -1
  299. package/lib/utils/{getOriginChildren.cjs → getOriginChildren.js} +4 -5
  300. package/lib/utils/getOriginChildren.js.map +1 -0
  301. package/lib/utils/getOriginChildren.mjs +1 -1
  302. package/lib/utils/getOriginChildren.mjs.map +1 -1
  303. package/lib/utils/{getRandomInt.cjs → getRandomInt.js} +1 -1
  304. package/lib/utils/getRandomInt.js.map +1 -0
  305. package/lib/utils/getRandomInt.mjs.map +1 -1
  306. package/lib/utils/{getValue.cjs → getValue.js} +2 -4
  307. package/lib/utils/getValue.js.map +1 -0
  308. package/lib/utils/getValue.mjs +1 -3
  309. package/lib/utils/getValue.mjs.map +1 -1
  310. package/lib/utils/{hasLabels.cjs → hasLabels.js} +6 -7
  311. package/lib/utils/hasLabels.js.map +1 -0
  312. package/lib/utils/hasLabels.mjs +3 -3
  313. package/lib/utils/hasLabels.mjs.map +1 -1
  314. package/lib/utils/{hasParent.cjs → hasParent.js} +3 -4
  315. package/lib/utils/hasParent.js.map +1 -0
  316. package/lib/utils/hasParent.mjs +3 -2
  317. package/lib/utils/hasParent.mjs.map +1 -1
  318. package/lib/utils/if.d.ts +2 -2
  319. package/lib/utils/{if.cjs → if.js} +2 -3
  320. package/lib/utils/if.js.map +1 -0
  321. package/lib/utils/if.mjs.map +1 -1
  322. package/lib/utils/ifChildren.d.ts +1 -1
  323. package/lib/utils/{ifChildren.cjs → ifChildren.js} +2 -3
  324. package/lib/utils/ifChildren.js.map +1 -0
  325. package/lib/utils/ifChildren.mjs.map +1 -1
  326. package/lib/utils/{injectStyle.cjs → injectStyle.js} +4 -6
  327. package/lib/utils/injectStyle.js.map +1 -0
  328. package/lib/utils/injectStyle.mjs +1 -2
  329. package/lib/utils/injectStyle.mjs.map +1 -1
  330. package/lib/utils/{inputProps.cjs → inputProps.js} +2 -3
  331. package/lib/utils/inputProps.js.map +1 -0
  332. package/lib/utils/inputProps.mjs.map +1 -1
  333. package/lib/utils/isInteractiveElement.d.ts +1 -0
  334. package/lib/utils/isInteractiveElement.js +34 -0
  335. package/lib/utils/isInteractiveElement.js.map +1 -0
  336. package/lib/utils/isInteractiveElement.mjs +28 -0
  337. package/lib/utils/isInteractiveElement.mjs.map +1 -0
  338. package/lib/utils/{isNode.cjs → isNode.js} +2 -2
  339. package/lib/utils/isNode.js.map +1 -0
  340. package/lib/utils/isNode.mjs.map +1 -1
  341. package/lib/utils/{isPromise.cjs → isPromise.js} +1 -1
  342. package/lib/utils/isPromise.js.map +1 -0
  343. package/lib/utils/isPromise.mjs.map +1 -1
  344. package/lib/utils/{isRetina.cjs → isRetina.js} +1 -1
  345. package/lib/utils/isRetina.js.map +1 -0
  346. package/lib/utils/isRetina.mjs.map +1 -1
  347. package/lib/utils/{logger.cjs → logger.js} +5 -8
  348. package/lib/utils/logger.js.map +1 -0
  349. package/lib/utils/logger.mjs +1 -2
  350. package/lib/utils/logger.mjs.map +1 -1
  351. package/lib/utils/{numericChecker.cjs → numericChecker.js} +1 -1
  352. package/lib/utils/numericChecker.js.map +1 -0
  353. package/lib/utils/numericChecker.mjs.map +1 -1
  354. package/lib/utils/{ownerDocument.cjs → ownerDocument.js} +1 -1
  355. package/lib/utils/ownerDocument.js.map +1 -0
  356. package/lib/utils/ownerDocument.mjs.map +1 -1
  357. package/lib/utils/{pick.cjs → pick.js} +1 -1
  358. package/lib/utils/pick.js.map +1 -0
  359. package/lib/utils/pick.mjs.map +1 -1
  360. package/lib/utils/propsForElement.d.ts +1 -1
  361. package/lib/utils/{propsForElement.cjs → propsForElement.js} +3 -4
  362. package/lib/utils/propsForElement.js.map +1 -0
  363. package/lib/utils/propsForElement.mjs.map +1 -1
  364. package/lib/utils/{rafTrottle.cjs → rafTrottle.js} +2 -3
  365. package/lib/utils/rafTrottle.js.map +1 -0
  366. package/lib/utils/rafTrottle.mjs.map +1 -1
  367. package/lib/utils/reactToText.d.ts +1 -1
  368. package/lib/utils/{reactToText.cjs → reactToText.js} +2 -3
  369. package/lib/utils/reactToText.js.map +1 -0
  370. package/lib/utils/reactToText.mjs.map +1 -1
  371. package/lib/utils/ref.d.ts +4 -2
  372. package/lib/utils/{ref.cjs → ref.js} +4 -3
  373. package/lib/utils/ref.js.map +1 -0
  374. package/lib/utils/ref.mjs +46 -2
  375. package/lib/utils/ref.mjs.map +1 -1
  376. package/lib/utils/{setRef.cjs → setRef.js} +2 -3
  377. package/lib/utils/setRef.js.map +1 -0
  378. package/lib/utils/setRef.mjs.map +1 -1
  379. package/lib/utils/{syncScroll.cjs → syncScroll.js} +3 -3
  380. package/lib/utils/syncScroll.js.map +1 -0
  381. package/lib/utils/syncScroll.mjs +1 -1
  382. package/lib/utils/syncScroll.mjs.map +1 -1
  383. package/lib/utils/uncontroll.d.ts +1 -1
  384. package/lib/utils/{uncontroll.cjs → uncontroll.js} +2 -2
  385. package/lib/utils/uncontroll.js.map +1 -0
  386. package/lib/utils/uncontroll.mjs.map +1 -1
  387. package/lib/utils/uniqueID.d.ts +1 -1
  388. package/lib/utils/{uniqueID.cjs → uniqueID.js} +6 -6
  389. package/lib/utils/uniqueID.js.map +1 -0
  390. package/lib/utils/uniqueID.mjs +3 -0
  391. package/lib/utils/uniqueID.mjs.map +1 -1
  392. package/lib/utils/use/{useColorResolver.cjs → useColorResolver.js} +8 -107
  393. package/lib/utils/use/useColorResolver.js.map +1 -0
  394. package/lib/utils/use/useColorResolver.mjs +5 -103
  395. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  396. package/lib/utils/use/useCss.d.ts +1 -1
  397. package/lib/utils/use/{useCss.cjs → useCss.js} +3 -4
  398. package/lib/utils/use/useCss.js.map +1 -0
  399. package/lib/utils/use/useCss.mjs.map +1 -1
  400. package/lib/utils/use/{useEnhancedEffect.cjs → useEnhancedEffect.js} +3 -4
  401. package/lib/utils/use/useEnhancedEffect.js.map +1 -0
  402. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  403. package/lib/utils/use/{useEventCallback.cjs → useEventCallback.js} +2 -2
  404. package/lib/utils/use/useEventCallback.js.map +1 -0
  405. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  406. package/lib/utils/use/{useEventListener.cjs → useEventListener.js} +4 -5
  407. package/lib/utils/use/useEventListener.js.map +1 -0
  408. package/lib/utils/use/useEventListener.mjs +1 -1
  409. package/lib/utils/use/useEventListener.mjs.map +1 -1
  410. package/lib/utils/use/useFocusLock.d.ts +1 -1
  411. package/lib/utils/use/{useFocusLock.cjs → useFocusLock.js} +9 -12
  412. package/lib/utils/use/useFocusLock.js.map +1 -0
  413. package/lib/utils/use/useFocusLock.mjs +4 -4
  414. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  415. package/lib/utils/use/{usePreventScroll.cjs → usePreventScroll.js} +3 -3
  416. package/lib/utils/use/usePreventScroll.js.map +1 -0
  417. package/lib/utils/use/usePreventScroll.mjs +1 -1
  418. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  419. package/lib/utils/useCssVariable.d.ts +2 -2
  420. package/lib/utils/{useCssVariable.cjs → useCssVariable.js} +4 -6
  421. package/lib/utils/useCssVariable.js.map +1 -0
  422. package/lib/utils/useCssVariable.mjs.map +1 -1
  423. package/lib/utils/{zIndexStacking.cjs → zIndexStacking.js} +7 -10
  424. package/lib/utils/zIndexStacking.js.map +1 -0
  425. package/lib/utils/zIndexStacking.mjs +2 -2
  426. package/lib/utils/zIndexStacking.mjs.map +1 -1
  427. package/package.json +45 -23
  428. package/vite.config.ts +1 -1
  429. package/lib/LastInteractionType.cjs.map +0 -1
  430. package/lib/core-types/Component.cjs +0 -59
  431. package/lib/core-types/Component.cjs.map +0 -1
  432. package/lib/core-types/UnknownProperties.cjs +0 -2
  433. package/lib/core-types/UnknownProperties.cjs.map +0 -1
  434. package/lib/core-types/reshadow.d.cjs +0 -2
  435. package/lib/core-types/reshadow.d.cjs.map +0 -1
  436. package/lib/core-types/symbols.cjs +0 -25
  437. package/lib/core-types/symbols.cjs.map +0 -1
  438. package/lib/coreFactory.cjs.map +0 -1
  439. package/lib/enhancement/Children.cjs.map +0 -1
  440. package/lib/enhancement/Root.cjs.map +0 -1
  441. package/lib/enhancement/bindHandler.cjs.map +0 -1
  442. package/lib/enhancement/dataName.cjs.map +0 -1
  443. package/lib/enhancement/enhance.cjs.map +0 -1
  444. package/lib/enhancement/functionDefaultProps.cjs.map +0 -1
  445. package/lib/enhancement/hoistProps.cjs.map +0 -1
  446. package/lib/enhancement/i18n.cjs.map +0 -1
  447. package/lib/enhancement/inheritedName.cjs.map +0 -1
  448. package/lib/enhancement/staticChildren.cjs.map +0 -1
  449. package/lib/enhancement/style.cjs.map +0 -1
  450. package/lib/enhancement/uncontrolledProps.cjs.map +0 -1
  451. package/lib/index.cjs.map +0 -1
  452. package/lib/register.cjs.map +0 -1
  453. package/lib/styled/index.cjs.map +0 -1
  454. package/lib/styled/reshadow-core.cjs.map +0 -1
  455. package/lib/styled/sstyled.cjs.map +0 -1
  456. package/lib/theme/processor.cjs.map +0 -1
  457. package/lib/theme/themes/dark.cjs.map +0 -1
  458. package/lib/theme/themes/default.cjs.map +0 -1
  459. package/lib/theme/themes/light.cjs.map +0 -1
  460. package/lib/theme/utils.cjs.map +0 -1
  461. package/lib/utils/CSSinJS.cjs.map +0 -1
  462. package/lib/utils/ScreenReaderOnly.cjs.map +0 -1
  463. package/lib/utils/ThemeProvider.cjs.map +0 -1
  464. package/lib/utils/addonText.cjs.map +0 -1
  465. package/lib/utils/addonTextChildren.cjs.map +0 -1
  466. package/lib/utils/ariaProps.cjs.map +0 -1
  467. package/lib/utils/assignProps.cjs.map +0 -1
  468. package/lib/utils/canUseDOM.cjs.map +0 -1
  469. package/lib/utils/capitalizeFirstLetter.cjs.map +0 -1
  470. package/lib/utils/color.cjs.map +0 -1
  471. package/lib/utils/compose.cjs.map +0 -1
  472. package/lib/utils/createHoc.cjs.map +0 -1
  473. package/lib/utils/createUUID.cjs.map +0 -1
  474. package/lib/utils/cssToIntDefault.cjs.map +0 -1
  475. package/lib/utils/enhances/WithAutoFocus.cjs.map +0 -1
  476. package/lib/utils/enhances/WithCSS.cjs.map +0 -1
  477. package/lib/utils/enhances/WithI18n.cjs.map +0 -1
  478. package/lib/utils/enhances/WithKeyboardFocus.cjs.map +0 -1
  479. package/lib/utils/enhances/WithRef.cjs.map +0 -1
  480. package/lib/utils/enhances/a11yEnhance.cjs.map +0 -1
  481. package/lib/utils/enhances/animatedSizeEnhance.cjs.map +0 -1
  482. package/lib/utils/enhances/autoFocusEnhance.cjs.map +0 -1
  483. package/lib/utils/enhances/contextEnhance.cjs.map +0 -1
  484. package/lib/utils/enhances/i18nEnhance.cjs.map +0 -1
  485. package/lib/utils/enhances/keyboardFocusEnhance.cjs.map +0 -1
  486. package/lib/utils/enhances/resolveColorEnhance.cjs.map +0 -1
  487. package/lib/utils/eventEmitter.cjs.map +0 -1
  488. package/lib/utils/findComponent.cjs.map +0 -1
  489. package/lib/utils/fire.cjs.map +0 -1
  490. package/lib/utils/focus-lock/focusBorders.cjs.map +0 -1
  491. package/lib/utils/focus-lock/getFocusableIn.cjs.map +0 -1
  492. package/lib/utils/focus-lock/isFocusInside.cjs.map +0 -1
  493. package/lib/utils/focus-lock/isFocusable.cjs.map +0 -1
  494. package/lib/utils/focus-lock/setFocus.cjs.map +0 -1
  495. package/lib/utils/getAccessibleName.cjs.map +0 -1
  496. package/lib/utils/getDisplayName.cjs.map +0 -1
  497. package/lib/utils/getEventTarget.cjs.map +0 -1
  498. package/lib/utils/getOriginChildren.cjs.map +0 -1
  499. package/lib/utils/getRandomInt.cjs.map +0 -1
  500. package/lib/utils/getValue.cjs.map +0 -1
  501. package/lib/utils/hasLabels.cjs.map +0 -1
  502. package/lib/utils/hasParent.cjs.map +0 -1
  503. package/lib/utils/if.cjs.map +0 -1
  504. package/lib/utils/ifChildren.cjs.map +0 -1
  505. package/lib/utils/injectStyle.cjs.map +0 -1
  506. package/lib/utils/inputProps.cjs.map +0 -1
  507. package/lib/utils/isNode.cjs.map +0 -1
  508. package/lib/utils/isPromise.cjs.map +0 -1
  509. package/lib/utils/isRetina.cjs.map +0 -1
  510. package/lib/utils/logger.cjs.map +0 -1
  511. package/lib/utils/numericChecker.cjs.map +0 -1
  512. package/lib/utils/ownerDocument.cjs.map +0 -1
  513. package/lib/utils/pick.cjs.map +0 -1
  514. package/lib/utils/propsForElement.cjs.map +0 -1
  515. package/lib/utils/rafTrottle.cjs.map +0 -1
  516. package/lib/utils/reactToText.cjs.map +0 -1
  517. package/lib/utils/ref.cjs.map +0 -1
  518. package/lib/utils/setRef.cjs.map +0 -1
  519. package/lib/utils/syncScroll.cjs.map +0 -1
  520. package/lib/utils/uncontroll.cjs.map +0 -1
  521. package/lib/utils/uniqueID.cjs.map +0 -1
  522. package/lib/utils/use/useColorResolver.cjs.map +0 -1
  523. package/lib/utils/use/useCss.cjs.map +0 -1
  524. package/lib/utils/use/useEnhancedEffect.cjs.map +0 -1
  525. package/lib/utils/use/useEventCallback.cjs.map +0 -1
  526. package/lib/utils/use/useEventListener.cjs.map +0 -1
  527. package/lib/utils/use/useFocusLock.cjs.map +0 -1
  528. package/lib/utils/use/usePreventScroll.cjs.map +0 -1
  529. package/lib/utils/useCssVariable.cjs.map +0 -1
  530. package/lib/utils/zIndexStacking.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -12,20 +12,22 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
  var _colorjs = _interopRequireDefault(require("colorjs.io"));
14
14
  var Color = _colorjs["default"];
15
- var processTokens = function processTokens(base, tokens, prefix) {
15
+ var processTokens = exports.processTokens = function processTokens(base, tokens, prefix) {
16
16
  var values = {};
17
+ var basicTokens = new Set();
17
18
  var modifications = {};
18
19
  var types = {};
19
20
  var descriptions = {};
20
21
  var mixins = [];
21
- var traverse = function traverse(node) {
22
+ var _traverse = function traverse(node) {
22
23
  var pathParts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
24
+ var isBasic = arguments.length > 2 ? arguments[2] : undefined;
23
25
  for (var key in node) {
24
26
  if (key === 'type') continue;
25
27
  if (key === 'value') continue;
26
28
  if (key === 'description') continue;
27
29
  if (key === '$extensions') continue;
28
- traverse(node[key], [].concat((0, _toConsumableArray2["default"])(pathParts), [key]));
30
+ _traverse(node[key], [].concat((0, _toConsumableArray2["default"])(pathParts), [key]), isBasic);
29
31
  }
30
32
  if ('type' in node && typeof node.type === 'string') {
31
33
  var path = pathParts.join('-');
@@ -38,6 +40,9 @@ var processTokens = function processTokens(base, tokens, prefix) {
38
40
  throw new Error("Duplicated design token \"".concat(path, "\""));
39
41
  }
40
42
  values[path] = node.value;
43
+ if (isBasic) {
44
+ basicTokens.add(path);
45
+ }
41
46
  if (typeof node.description === 'string') descriptions[path] = node.description;
42
47
  if (node.$extensions) {
43
48
  for (var extension in node.$extensions) {
@@ -52,31 +57,32 @@ var processTokens = function processTokens(base, tokens, prefix) {
52
57
  }
53
58
  }
54
59
  };
55
- traverse(tokens);
56
- var resolveColor = function resolveColor(color) {
60
+ _traverse(base, [], true);
61
+ _traverse(tokens);
62
+ var _resolveColor = function resolveColor(color) {
57
63
  if (color.includes('linear-gradient')) {
58
64
  return replaceColors(color);
59
65
  }
60
66
  if (color.startsWith('rgba(') && color.endsWith(')')) {
61
67
  var lastComa = color.lastIndexOf(',');
62
- var alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));
68
+ var alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));
63
69
  if (Number.isNaN(alpha)) {
64
70
  throw new Error("Unable to parse rgba of ".concat(color));
65
71
  }
66
72
  var resolvedColor = color.substring('rgba('.length, lastComa);
67
- if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);
68
- if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);
73
+ if (resolvedColor.startsWith('{')) resolvedColor = _resolveColor(resolvedColor);
74
+ if (resolvedColor.startsWith('$')) resolvedColor = _resolveColor(resolvedColor);
69
75
  if (resolvedColor.startsWith('#')) {
70
76
  if (resolvedColor.length === 1 + 3) {
71
77
  resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]].map(function (hex) {
72
- return parseInt(hex, 16);
78
+ return Number.parseInt(hex, 16);
73
79
  }).join(', ');
74
80
  } else if (resolvedColor.length === 1 + 6) {
75
81
  resolvedColor = [resolvedColor.substring(1, 3), resolvedColor.substring(3, 5), resolvedColor.substring(5, 7)].map(function (hex) {
76
- return parseInt(hex, 16);
82
+ return Number.parseInt(hex, 16);
77
83
  }).join(', ');
78
84
  } else {
79
- throw new Error("Unable to convert hex ".concat(resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
85
+ throw new Error("Unable to convert hex ".concat(_resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
80
86
  }
81
87
  }
82
88
  if (!resolvedColor || resolvedColor.split(',').length !== 3) {
@@ -85,15 +91,15 @@ var processTokens = function processTokens(base, tokens, prefix) {
85
91
  return "rgba(".concat(resolvedColor, ", ").concat(alpha, ")");
86
92
  }
87
93
  if (color.split(', ').length === 2) {
88
- var baseColor = resolveColor(color.split(', ')[0]);
94
+ var baseColor = _resolveColor(color.split(', ')[0]);
89
95
  var _map = (baseColor.length === 4 ? [baseColor[1], baseColor[2], baseColor[3]] : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]).map(function (chunk) {
90
- return parseInt(chunk, 16);
96
+ return Number.parseInt(chunk, 16);
91
97
  }),
92
98
  _map2 = (0, _slicedToArray2["default"])(_map, 3),
93
99
  r = _map2[0],
94
100
  g = _map2[1],
95
101
  b = _map2[2];
96
- var a = parseFloat(color.split(', ')[1]);
102
+ var a = Number.parseFloat(color.split(', ')[1]);
97
103
  return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
98
104
  }
99
105
  if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {
@@ -119,17 +125,17 @@ var processTokens = function processTokens(base, tokens, prefix) {
119
125
  }
120
126
  throw new Error("Unable to process color ".concat(color));
121
127
  };
122
- var resolveToken = function resolveToken(token) {
128
+ var _resolveToken = function resolveToken(token) {
123
129
  if (token.includes('*')) {
124
130
  var _token$split = token.split('*'),
125
131
  _token$split2 = (0, _slicedToArray2["default"])(_token$split, 2),
126
132
  value = _token$split2[0],
127
133
  factor = _token$split2[1];
128
- var resolvedValue = resolveToken(value);
134
+ var resolvedValue = _resolveToken(value);
129
135
  if (!resolvedValue.endsWith('px')) {
130
136
  throw new Error("Unsupported expression ".concat(token));
131
137
  }
132
- return "".concat(parseFloat(resolvedValue) * parseFloat(factor), "px");
138
+ return "".concat(Number.parseFloat(resolvedValue) * Number.parseFloat(factor), "px");
133
139
  } else if (token.includes('{') && token.includes('}')) {
134
140
  var reference = token.substring(token.indexOf('{') + 1, token.indexOf('}')).replace(/\./g, '-');
135
141
  var resolvedToken = token.substring(0, token.indexOf('{')) + values[reference] + token.substring(token.indexOf('}') + 1);
@@ -147,7 +153,7 @@ var processTokens = function processTokens(base, tokens, prefix) {
147
153
  if (str.substring(i, i + 'rgba('.length) === 'rgba(') {
148
154
  var start = i;
149
155
  while (str[i] !== undefined && str[i] !== ')') i++;
150
- result += resolveColor(str.substring(start, i + 1));
156
+ result += _resolveColor(str.substring(start, i + 1));
151
157
  } else {
152
158
  result += str[i];
153
159
  }
@@ -158,11 +164,11 @@ var processTokens = function processTokens(base, tokens, prefix) {
158
164
  for (var token in values) {
159
165
  var _modifications$token;
160
166
  if (types[token] === 'color') {
161
- values[token] = resolveColor(values[token]);
167
+ values[token] = _resolveColor(values[token]);
162
168
  } else if (types[token] === 'boxShadow') {
163
- values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));
169
+ values[token] = _resolveToken(values[token].split('; ').map(replaceColors).join(', '));
164
170
  } else if (types[token] === 'sizing' || types[token] === 'spacing' || types[token] === 'borderRadius' || types[token] === 'other') {
165
- values[token] = resolveToken(values[token]);
171
+ values[token] = _resolveToken(values[token]);
166
172
  }
167
173
  var _iterator = (0, _createForOfIteratorHelper2["default"])((_modifications$token = modifications[token]) !== null && _modifications$token !== void 0 ? _modifications$token : []),
168
174
  _step;
@@ -204,8 +210,9 @@ var processTokens = function processTokens(base, tokens, prefix) {
204
210
  }
205
211
  var processedTokens = [];
206
212
  for (var _token in values) {
213
+ var isBase = basicTokens.has(_token);
207
214
  processedTokens.push({
208
- name: "--".concat(prefix, "-").concat(_token),
215
+ name: isBase ? "--".concat(_token) : "--".concat(prefix, "-").concat(_token),
209
216
  description: descriptions[_token],
210
217
  value: values[_token]
211
218
  });
@@ -215,11 +222,11 @@ var processTokens = function processTokens(base, tokens, prefix) {
215
222
  values: values,
216
223
  types: types,
217
224
  rawValues: rawValues,
218
- descriptions: descriptions
225
+ descriptions: descriptions,
226
+ basicTokens: basicTokens
219
227
  };
220
228
  };
221
- exports.processTokens = processTokens;
222
- var tokensToCss = function tokensToCss(tokens) {
229
+ var tokensToCss = exports.tokensToCss = function tokensToCss(tokens) {
223
230
  var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ':root';
224
231
  var cssLines = [];
225
232
  cssLines.push("".concat(selector, " {"));
@@ -239,8 +246,7 @@ var tokensToCss = function tokensToCss(tokens) {
239
246
  cssLines.push('}');
240
247
  return cssLines.join('\n');
241
248
  };
242
- exports.tokensToCss = tokensToCss;
243
- var tokensToJson = function tokensToJson(tokens) {
249
+ var tokensToJson = exports.tokensToJson = function tokensToJson(tokens) {
244
250
  var themeFile = {};
245
251
  var _iterator3 = (0, _createForOfIteratorHelper2["default"])(tokens),
246
252
  _step3;
@@ -256,8 +262,7 @@ var tokensToJson = function tokensToJson(tokens) {
256
262
  }
257
263
  return JSON.stringify(themeFile, null, 2) + '\n';
258
264
  };
259
- exports.tokensToJson = tokensToJson;
260
- var tokensToJs = function tokensToJs(tokens) {
265
+ var tokensToJs = exports.tokensToJs = function tokensToJs(tokens) {
261
266
  var jsLines = [];
262
267
  jsLines.push('export default {');
263
268
  var _iterator4 = (0, _createForOfIteratorHelper2["default"])(tokens),
@@ -272,10 +277,9 @@ var tokensToJs = function tokensToJs(tokens) {
272
277
  } finally {
273
278
  _iterator4.f();
274
279
  }
275
- jsLines.push('}\n');
280
+ jsLines.push('};\n');
276
281
  return jsLines.join('\n');
277
282
  };
278
- exports.tokensToJs = tokensToJs;
279
283
  var getByPath = function getByPath(obj, path) {
280
284
  var parts = path.split('.');
281
285
  var result = obj;
@@ -294,4 +298,4 @@ var getByPath = function getByPath(obj, path) {
294
298
  }
295
299
  return result;
296
300
  };
297
- //# sourceMappingURL=utils.cjs.map
301
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["_colorjs","_interopRequireDefault","require","Color","ColorJS","processTokens","exports","base","tokens","prefix","values","basicTokens","Set","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","isBasic","key","concat","_toConsumableArray2","type","path","join","_typeof2","value","push","Error","add","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","Number","parseFloat","substring","isNaN","resolvedColor","map","hex","parseInt","split","baseColor","_map","chunk","_map2","_slicedToArray2","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","_objectSpread2","_modifications$token","_iterator","_createForOfIteratorHelper2","_step","s","n","done","modification","space","lightness","hsl","l","difference","set","Math","min","to","round","toString","format","err","e","f","processedTokens","isBase","has","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 basicTokens = new Set<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[] = [], isBasic?: boolean) => {\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], isBasic);\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 (isBasic) {\n basicTokens.add(path);\n }\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(base, [], true);\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 = Number.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) => Number.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) => Number.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) => Number.parseInt(chunk, 16));\n const a = Number.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 `${Number.parseFloat(resolvedValue) * Number.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 const isBase = basicTokens.has(token);\n processedTokens.push({\n name: isBase ? `--${token}` : `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions, basicTokens };\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":";;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAMC,KAAK,GAAGC,mBAAc;AAuBrB,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAIE,IAAiB,EAAEC,MAAmB,EAAEC,MAAc,EAAK;EACvF,IAAMC,MAAuC,GAAG,CAAC,CAAC;EAClD,IAAMC,WAAW,GAAG,IAAIC,GAAG,CAAS,CAAC;EACrC,IAAMC,aAML,GAAG,CAAC,CAAC;EACN,IAAMC,KAAsC,GAAG,CAAC,CAAC;EACjD,IAAMC,YAA6C,GAAG,CAAC,CAAC;EACxD,IAAMC,MAAgB,GAAG,EAAE;EAsB3B,IAAMC,SAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAqB,EAAkD;IAAA,IAAhDC,SAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IAAEG,OAAiB,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAClF,KAAK,IAAME,GAAG,IAAIN,IAAI,EAAE;MACtB,IAAIM,GAAG,KAAK,MAAM,EAAE;MACpB,IAAIA,GAAG,KAAK,OAAO,EAAE;MACrB,IAAIA,GAAG,KAAK,aAAa,EAAE;MAC3B,IAAIA,GAAG,KAAK,aAAa,EAAE;MAC3BP,SAAQ,CAAEC,IAAI,CAASM,GAAG,CAAC,KAAAC,MAAA,KAAAC,mBAAA,aAAMP,SAAS,IAAEK,GAAG,IAAGD,OAAO,CAAC;IAC5D;IACA,IAAI,MAAM,IAAIL,IAAI,IAAI,OAAOA,IAAI,CAACS,IAAI,KAAK,QAAQ,EAAE;MACnD,IAAMC,IAAI,GAAGT,SAAS,CAACU,IAAI,CAAC,GAAG,CAAC;MAChCf,KAAK,CAACc,IAAI,CAAC,GAAGV,IAAI,CAACS,IAAI;MACvB,IAAI,IAAAG,QAAA,aAAOZ,IAAI,CAACa,KAAK,MAAK,QAAQ,EAAE;QAClCf,MAAM,CAACgB,IAAI,CAACJ,IAAI,CAAC;QACjB;MACF;MACA,IAAIlB,MAAM,CAACkB,IAAI,CAAC,EAAE;QAChB,MAAM,IAAIK,KAAK,8BAAAR,MAAA,CAA6BG,IAAI,OAAG,CAAC;MACtD;MACAlB,MAAM,CAACkB,IAAI,CAAC,GAAGV,IAAI,CAACa,KAAK;MACzB,IAAIR,OAAO,EAAE;QACXZ,WAAW,CAACuB,GAAG,CAACN,IAAI,CAAC;MACvB;MACA,IAAI,OAAOV,IAAI,CAACiB,WAAW,KAAK,QAAQ,EAAEpB,YAAY,CAACa,IAAI,CAAC,GAAGV,IAAI,CAACiB,WAAW;MAC/E,IAAIjB,IAAI,CAACkB,WAAW,EAAE;QACpB,KAAK,IAAMC,SAAS,IAAInB,IAAI,CAACkB,WAAW,EAAE;UACxC,IAAIC,SAAS,KAAK,eAAe,EAAE;YAAA,IAAAC,mBAAA;YACjC,CAAAA,mBAAA,GAAAzB,aAAa,CAACe,IAAI,CAAC,cAAAU,mBAAA,cAAAA,mBAAA,GAAnBzB,aAAa,CAACe,IAAI,CAAC,GAAK,EAAE;YAC1Bf,aAAa,CAACe,IAAI,CAAC,CAACI,IAAI,CAAEd,IAAI,CAACkB,WAAW,CAAS,eAAe,CAAC,CAACG,MAAM,CAAC;UAC7E,CAAC,MAAM;YACL,MAAM,IAAIN,KAAK,4BAAAR,MAAA,CAA2BY,SAAS,4BAAAZ,MAAA,CAAuBG,IAAI,OAAG,CAAC;UACpF;QACF;MACF;IACF;EACF,CAAC;EAEDX,SAAQ,CAACV,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;EACxBU,SAAQ,CAACT,MAAM,CAAC;EAEhB,IAAMgC,aAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAa,EAAa;IAC9C,IAAIA,KAAK,CAACC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;MACrC,OAAOC,aAAa,CAACF,KAAK,CAAC;IAC7B;IACA,IAAIA,KAAK,CAACG,UAAU,CAAC,OAAO,CAAC,IAAIH,KAAK,CAACI,QAAQ,CAAC,GAAG,CAAC,EAAE;MACpD,IAAMC,QAAQ,GAAGL,KAAK,CAACM,WAAW,CAAC,GAAG,CAAC;MACvC,IAAMC,KAAK,GAAGC,MAAM,CAACC,UAAU,CAACT,KAAK,CAACU,SAAS,CAACL,QAAQ,GAAG,CAAC,EAAEL,KAAK,CAACpB,MAAM,GAAG,CAAC,CAAC,CAAC;MAChF,IAAI4B,MAAM,CAACG,KAAK,CAACJ,KAAK,CAAC,EAAE;QACvB,MAAM,IAAIf,KAAK,4BAAAR,MAAA,CAA4BgB,KAAK,CAAE,CAAC;MACrD;MACA,IAAIY,aAAa,GAAGZ,KAAK,CAACU,SAAS,CAAC,OAAO,CAAC9B,MAAM,EAAEyB,QAAQ,CAAC;MAC7D,IAAIO,aAAa,CAACT,UAAU,CAAC,GAAG,CAAC,EAAES,aAAa,GAAGb,aAAY,CAACa,aAAa,CAAC;MAC9E,IAAIA,aAAa,CAACT,UAAU,CAAC,GAAG,CAAC,EAAES,aAAa,GAAGb,aAAY,CAACa,aAAa,CAAC;MAC9E,IAAIA,aAAa,CAACT,UAAU,CAAC,GAAG,CAAC,EAAE;QACjC,IAAIS,aAAa,CAAChC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;UAClCgC,aAAa,GAAG,CAACA,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAAC,CAAC,CAAC,EAAEA,aAAa,CAAC,CAAC,CAAC,CAAC,CACnEC,GAAG,CAAC,UAACC,GAAG;YAAA,OAAKN,MAAM,CAACO,QAAQ,CAACD,GAAG,EAAE,EAAE,CAAC;UAAA,EAAC,CACtC1B,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,MAAM,IAAIwB,aAAa,CAAChC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;UACzCgC,aAAa,GAAG,CACdA,aAAa,CAACF,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7BE,aAAa,CAACF,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7BE,aAAa,CAACF,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9B,CACEG,GAAG,CAAC,UAACC,GAAG;YAAA,OAAKN,MAAM,CAACO,QAAQ,CAACD,GAAG,EAAE,EAAE,CAAC;UAAA,EAAC,CACtC1B,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,MAAM;UACL,MAAM,IAAII,KAAK,0BAAAR,MAAA,CACYe,aAAY,yCAAAf,MAAA,CAAsCgB,KAAK,MAClF,CAAC;QACH;MACF;MAEA,IAAI,CAACY,aAAa,IAAIA,aAAa,CAACI,KAAK,CAAC,GAAG,CAAC,CAACpC,MAAM,KAAK,CAAC,EAAE;QAC3D,MAAM,IAAIY,KAAK,8BAAAR,MAAA,CAA8BgB,KAAK,yCAAsC,CAAC;MAC3F;MAEA,eAAAhB,MAAA,CAAe4B,aAAa,QAAA5B,MAAA,CAAKuB,KAAK;IACxC;IACA,IAAIP,KAAK,CAACgB,KAAK,CAAC,IAAI,CAAC,CAACpC,MAAM,KAAK,CAAC,EAAE;MAClC,IAAMqC,SAAS,GAAGlB,aAAY,CAACC,KAAK,CAACgB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;MACpD,IAAAE,IAAA,GAAkB,CAChBD,SAAS,CAACrC,MAAM,KAAK,CAAC,GAClB,CAACqC,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,GAC1C,CAACA,SAAS,CAACP,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEO,SAAS,CAACP,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEO,SAAS,CAACP,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACrFG,GAAG,CAAC,UAACM,KAAK;UAAA,OAAKX,MAAM,CAACO,QAAQ,CAACI,KAAK,EAAE,EAAE,CAAC;QAAA,EAAC;QAAAC,KAAA,OAAAC,eAAA,aAAAH,IAAA;QAJrCI,CAAC,GAAAF,KAAA;QAAEG,CAAC,GAAAH,KAAA;QAAEI,CAAC,GAAAJ,KAAA;MAKd,IAAMK,CAAC,GAAGjB,MAAM,CAACC,UAAU,CAACT,KAAK,CAACgB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;MAEjD,eAAAhC,MAAA,CAAesC,CAAC,QAAAtC,MAAA,CAAKuC,CAAC,QAAAvC,MAAA,CAAKwC,CAAC,QAAAxC,MAAA,CAAKyC,CAAC;IACpC;IACA,IAAIzB,KAAK,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,KAAK,CAACgB,KAAK,CAAC,GAAG,CAAC,CAACpC,MAAM,GAAG,CAAC,IAAIoB,KAAK,CAACI,QAAQ,CAAC,GAAG,CAAC,EAAE;MAAA,IAAAsB,gBAAA,EAAAC,UAAA;MAC/E,IAAMxC,IAAI,GAAGa,KAAK,CAACU,SAAS,CAAC,CAAC,EAAEV,KAAK,CAACpB,MAAM,GAAG,CAAC,CAAC;MACjD,IAAMgC,cAAa,IAAAc,gBAAA,IAAAC,UAAA,GACjBC,SAAS,CAAC9D,IAAI,EAASqB,IAAI,CAAC,cAAAwC,UAAA,uBAA5BA,UAAA,CAA8BrC,KAAK,cAAAoC,gBAAA,cAAAA,gBAAA,GAAIzD,MAAM,CAACkB,IAAI,CAAC6B,KAAK,CAAC,GAAG,CAAC,CAAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;MAC1E,IAAI,CAACwB,cAAa,EAAE;QAClB,MAAM,IAAIpB,KAAK,UAAAR,MAAA,CAAUgB,KAAK,mCAAgC,CAAC;MACjE;MACA,OAAOY,cAAa;IACtB;IACA,IAAIZ,KAAK,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,KAAK,CAACgB,KAAK,CAAC,GAAG,CAAC,CAACpC,MAAM,GAAG,CAAC,EAAE;MAAA,IAAAiD,iBAAA,EAAAC,WAAA;MACxD,IAAM3C,KAAI,GAAGa,KAAK,CAACU,SAAS,CAAC,CAAC,CAAC;MAC/B,IAAME,eAAa,IAAAiB,iBAAA,IAAAC,WAAA,GACjBF,SAAS,CAAC9D,IAAI,EAASqB,KAAI,CAAC,cAAA2C,WAAA,uBAA5BA,WAAA,CAA8BxC,KAAK,cAAAuC,iBAAA,cAAAA,iBAAA,GAAI5D,MAAM,CAACkB,KAAI,CAAC6B,KAAK,CAAC,GAAG,CAAC,CAAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;MAC1E,IAAI,CAACwB,eAAa,EAAE;QAClB,MAAM,IAAIpB,KAAK,UAAAR,MAAA,CAAUgB,KAAK,mBAAgB,CAAC;MACjD;MACA,OAAOY,eAAa;IACtB;IACA,IAAIZ,KAAK,CAACG,UAAU,CAAC,GAAG,CAAC,EAAE;MACzB,OAAOH,KAAK;IACd;IACA,MAAM,IAAIR,KAAK,4BAAAR,MAAA,CAA4BgB,KAAK,CAAE,CAAC;EACrD,CAAC;EACD,IAAM+B,aAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAa,EAAa;IAC9C,IAAIA,KAAK,CAAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE;MACvB,IAAAgC,YAAA,GAAwBD,KAAK,CAAChB,KAAK,CAAC,GAAG,CAAC;QAAAkB,aAAA,OAAAb,eAAA,aAAAY,YAAA;QAAjC3C,KAAK,GAAA4C,aAAA;QAAEC,MAAM,GAAAD,aAAA;MACpB,IAAME,aAAa,GAAGL,aAAY,CAACzC,KAAK,CAAC;MACzC,IAAI,CAAC8C,aAAa,CAAChC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACjC,MAAM,IAAIZ,KAAK,2BAAAR,MAAA,CAA2BgD,KAAK,CAAE,CAAC;MACpD;MACA,UAAAhD,MAAA,CAAUwB,MAAM,CAACC,UAAU,CAAC2B,aAAa,CAAC,GAAG5B,MAAM,CAACC,UAAU,CAAC0B,MAAM,CAAC;IACxE,CAAC,MAAM,IAAIH,KAAK,CAAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI+B,KAAK,CAAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE;MACrD,IAAMoC,SAAS,GAAGL,KAAK,CACpBtB,SAAS,CAACsB,KAAK,CAACM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAEN,KAAK,CAACM,OAAO,CAAC,GAAG,CAAC,CAAC,CACrDC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;MACtB,IAAMC,aAAa,GACjBR,KAAK,CAACtB,SAAS,CAAC,CAAC,EAAEsB,KAAK,CAACM,OAAO,CAAC,GAAG,CAAC,CAAC,GACtCrE,MAAM,CAACoE,SAAS,CAAC,GACjBL,KAAK,CAACtB,SAAS,CAACsB,KAAK,CAACM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MACzC,IAAI,CAACE,aAAa,IAAIA,aAAa,CAACvC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACjD,MAAM,IAAIT,KAAK,2BAAAR,MAAA,CAA2BgD,KAAK,QAAAhD,MAAA,CAAKwD,aAAa,0BAAuB,CAAC;MAC3F;MACA,OAAOA,aAAa;IACtB,CAAC,MAAM;MACL,OAAOR,KAAK;IACd;EACF,CAAC;EACD,IAAM9B,aAAa,GAAG,SAAhBA,aAAaA,CAAIuC,GAAW,EAAK;IACrC,IAAIC,MAAM,GAAG,EAAE;IACf,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAAC7D,MAAM,EAAE+D,CAAC,EAAE,EAAE;MACnC,IAAIF,GAAG,CAAC/B,SAAS,CAACiC,CAAC,EAAEA,CAAC,GAAG,OAAO,CAAC/D,MAAM,CAAC,KAAK,OAAO,EAAE;QACpD,IAAMgE,KAAK,GAAGD,CAAC;QACf,OAAOF,GAAG,CAACE,CAAC,CAAC,KAAK9D,SAAS,IAAI4D,GAAG,CAACE,CAAC,CAAC,KAAK,GAAG,EAAEA,CAAC,EAAE;QAClDD,MAAM,IAAI3C,aAAY,CAAC0C,GAAG,CAAC/B,SAAS,CAACkC,KAAK,EAAED,CAAC,GAAG,CAAC,CAAC,CAAC;MACrD,CAAC,MAAM;QACLD,MAAM,IAAID,GAAG,CAACE,CAAC,CAAC;MAClB;IACF;IAEA,OAAOD,MAAM;EACf,CAAC;EAED,IAAMG,SAAS,OAAAC,cAAA,iBAAQ7E,MAAM,CAAE;EAE/B,KAAK,IAAM+D,KAAK,IAAI/D,MAAM,EAAE;IAAA,IAAA8E,oBAAA;IAC1B,IAAI1E,KAAK,CAAC2D,KAAK,CAAC,KAAK,OAAO,EAAE;MAC5B/D,MAAM,CAAC+D,KAAK,CAAC,GAAGjC,aAAY,CAAC9B,MAAM,CAAC+D,KAAK,CAAC,CAAC;IAC7C,CAAC,MAAM,IAAI3D,KAAK,CAAC2D,KAAK,CAAC,KAAK,WAAW,EAAE;MACvC/D,MAAM,CAAC+D,KAAK,CAAC,GAAGD,aAAY,CAAC9D,MAAM,CAAC+D,KAAK,CAAC,CAAChB,KAAK,CAAC,IAAI,CAAC,CAACH,GAAG,CAACX,aAAa,CAAC,CAACd,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC,MAAM,IACLf,KAAK,CAAC2D,KAAK,CAAC,KAAK,QAAQ,IACzB3D,KAAK,CAAC2D,KAAK,CAAC,KAAK,SAAS,IAC1B3D,KAAK,CAAC2D,KAAK,CAAC,KAAK,cAAc,IAC/B3D,KAAK,CAAC2D,KAAK,CAAC,KAAK,OAAO,EACxB;MACA/D,MAAM,CAAC+D,KAAK,CAAC,GAAGD,aAAY,CAAC9D,MAAM,CAAC+D,KAAK,CAAC,CAAC;IAC7C;IAAC,IAAAgB,SAAA,OAAAC,2BAAA,cAAAF,oBAAA,GAC0B3E,aAAa,CAAC4D,KAAK,CAAC,cAAAe,oBAAA,cAAAA,oBAAA,GAAI,EAAE;MAAAG,KAAA;IAAA;MAArD,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAuD;QAAA,IAA5CC,YAAY,GAAAJ,KAAA,CAAA5D,KAAA;QACrB;QACA,IAAIU,KAAK,GAAG,IAAItC,KAAK,CAACO,MAAM,CAAC+D,KAAK,CAAC,CAAC;QAEpC,IAAIsB,YAAY,CAACC,KAAK,KAAK,KAAK,EAAE;UAChC,IAAID,YAAY,CAACpE,IAAI,KAAK,SAAS,EAAE;YACnC,IAAMsE,SAAS,GAAGxD,KAAK,CAACyD,GAAG,CAACC,CAAC;YAC7B,IAAMC,UAAU,GAAG,GAAG,GAAGH,SAAS;YAClCxD,KAAK,CAAC4D,GAAG,CAAC,OAAO,EAAEC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAEN,SAAS,GAAGG,UAAU,GAAGL,YAAY,CAAChE,KAAK,CAAC,CAAC;YAC9EuD,SAAS,CAACb,KAAK,CAAC,MAAAhD,MAAA,CAAM6D,SAAS,CAACb,KAAK,CAAC,iBAAAhD,MAAA,CAAcsE,YAAY,CAAChE,KAAK,YAAS;UACjF,CAAC,MAAM;YACL,MAAM,IAAIE,KAAK,mCAAAR,MAAA,CAAmCsE,YAAY,CAACpE,IAAI,gBAAAF,MAAA,CAAagD,KAAK,CAAE,CAAC;UAC1F;QACF,CAAC,MAAM;UACL,MAAM,IAAIxC,KAAK,4BAAAR,MAAA,CAA4BsE,YAAY,CAACC,KAAK,gBAAAvE,MAAA,CAAagD,KAAK,CAAE,CAAC;QACpF;QAEAhC,KAAK,GAAGA,KAAK,CAAC+D,EAAE,CAAC,MAAM,CAAC;QAExB,IAAI/D,KAAK,CAACO,KAAK,KAAK,CAAC,EAAE;UACrB,IAAMe,CAAC,GAAGuC,IAAI,CAACG,KAAK,CAAChE,KAAK,CAACsB,CAAC,GAAG,GAAG,CAAC;UACnC,IAAMC,CAAC,GAAGsC,IAAI,CAACG,KAAK,CAAChE,KAAK,CAACuB,CAAC,GAAG,GAAG,CAAC;UACnC,IAAMC,CAAC,GAAGqC,IAAI,CAACG,KAAK,CAAChE,KAAK,CAACwB,CAAC,GAAG,GAAG,CAAC;UACnC,IAAMC,CAAC,GAAGzB,KAAK,CAACO,KAAK;UACrBtC,MAAM,CAAC+D,KAAK,CAAC,WAAAhD,MAAA,CAAWsC,CAAC,QAAAtC,MAAA,CAAKuC,CAAC,QAAAvC,MAAA,CAAKwC,CAAC,QAAAxC,MAAA,CAAKyC,CAAC,MAAG;QAChD,CAAC,MAAM;UACLxD,MAAM,CAAC+D,KAAK,CAAC,GAAGhC,KAAK,CAACiE,QAAQ,CAAC;YAAEC,MAAM,EAAE;UAAM,CAAC,CAAC;QACnD;MACF;IAAC,SAAAC,GAAA;MAAAnB,SAAA,CAAAoB,CAAA,CAAAD,GAAA;IAAA;MAAAnB,SAAA,CAAAqB,CAAA;IAAA;EACH;EAEA,IAAMC,eAAuE,GAAG,EAAE;EAClF,KAAK,IAAMtC,MAAK,IAAI/D,MAAM,EAAE;IAC1B,IAAMsG,MAAM,GAAGrG,WAAW,CAACsG,GAAG,CAACxC,MAAK,CAAC;IACrCsC,eAAe,CAAC/E,IAAI,CAAC;MACnBkF,IAAI,EAAEF,MAAM,QAAAvF,MAAA,CAAQgD,MAAK,SAAAhD,MAAA,CAAUhB,MAAM,OAAAgB,MAAA,CAAIgD,MAAK,CAAE;MACpDtC,WAAW,EAAEpB,YAAY,CAAC0D,MAAK,CAAC;MAChC1C,KAAK,EAAErB,MAAM,CAAC+D,MAAK;IACrB,CAAC,CAAC;EACJ;EAEA,OAAO;IAAEsC,eAAe,EAAfA,eAAe;IAAErG,MAAM,EAANA,MAAM;IAAEI,KAAK,EAALA,KAAK;IAAEwE,SAAS,EAATA,SAAS;IAAEvE,YAAY,EAAZA,YAAY;IAAEJ,WAAW,EAAXA;EAAY,CAAC;AACjF,CAAC;AAEM,IAAMwG,WAAW,GAAA7G,OAAA,CAAA6G,WAAA,GAAG,SAAdA,WAAWA,CACtB3G,MAA8D,EAE3D;EAAA,IADH4G,QAAQ,GAAAhG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAElB,IAAMiG,QAAkB,GAAG,EAAE;EAC7BA,QAAQ,CAACrF,IAAI,IAAAP,MAAA,CAAI2F,QAAQ,OAAI,CAAC;EAAC,IAAAE,UAAA,OAAA5B,2BAAA,aACXlF,MAAM;IAAA+G,MAAA;EAAA;IAA1B,KAAAD,UAAA,CAAA1B,CAAA,MAAA2B,MAAA,GAAAD,UAAA,CAAAzB,CAAA,IAAAC,IAAA,GAA4B;MAAA,IAAjBrB,KAAK,GAAA8C,MAAA,CAAAxF,KAAA;MACd,IAAI0C,KAAK,CAACtC,WAAW,EAAEkF,QAAQ,CAACrF,IAAI,SAAAP,MAAA,CAASgD,KAAK,CAACtC,WAAW,QAAK,CAAC;MACpEkF,QAAQ,CAACrF,IAAI,MAAAP,MAAA,CAAMgD,KAAK,CAACyC,IAAI,QAAAzF,MAAA,CAAKgD,KAAK,CAAC1C,KAAK,MAAG,CAAC;IACnD;EAAC,SAAA6E,GAAA;IAAAU,UAAA,CAAAT,CAAA,CAAAD,GAAA;EAAA;IAAAU,UAAA,CAAAR,CAAA;EAAA;EACDO,QAAQ,CAACrF,IAAI,CAAC,GAAG,CAAC;EAClB,OAAOqF,QAAQ,CAACxF,IAAI,CAAC,IAAI,CAAC;AAC5B,CAAC;AACM,IAAM2F,YAAY,GAAAlH,OAAA,CAAAkH,YAAA,GAAG,SAAfA,YAAYA,CAAIhH,MAA8D,EAAK;EAC9F,IAAMiH,SAAiC,GAAG,CAAC,CAAC;EAAC,IAAAC,UAAA,OAAAhC,2BAAA,aACzBlF,MAAM;IAAAmH,MAAA;EAAA;IAA1B,KAAAD,UAAA,CAAA9B,CAAA,MAAA+B,MAAA,GAAAD,UAAA,CAAA7B,CAAA,IAAAC,IAAA,GAA4B;MAAA,IAAjBrB,KAAK,GAAAkD,MAAA,CAAA5F,KAAA;MACd0F,SAAS,CAAChD,KAAK,CAACyC,IAAI,CAAC,GAAGzC,KAAK,CAAC1C,KAAK;IACrC;EAAC,SAAA6E,GAAA;IAAAc,UAAA,CAAAb,CAAA,CAAAD,GAAA;EAAA;IAAAc,UAAA,CAAAZ,CAAA;EAAA;EACD,OAAOc,IAAI,CAACC,SAAS,CAACJ,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;AAClD,CAAC;AACM,IAAMK,UAAU,GAAAxH,OAAA,CAAAwH,UAAA,GAAG,SAAbA,UAAUA,CAAItH,MAA8D,EAAK;EAC5F,IAAMuH,OAAiB,GAAG,EAAE;EAC5BA,OAAO,CAAC/F,IAAI,CAAC,kBAAkB,CAAC;EAAC,IAAAgG,UAAA,OAAAtC,2BAAA,aACblF,MAAM;IAAAyH,MAAA;EAAA;IAA1B,KAAAD,UAAA,CAAApC,CAAA,MAAAqC,MAAA,GAAAD,UAAA,CAAAnC,CAAA,IAAAC,IAAA,GAA4B;MAAA,IAAjBrB,KAAK,GAAAwD,MAAA,CAAAlG,KAAA;MACdgG,OAAO,CAAC/F,IAAI,OAAAP,MAAA,CAAOgD,KAAK,CAACyC,IAAI,UAAAzF,MAAA,CAAOgD,KAAK,CAAC1C,KAAK,OAAI,CAAC;IACtD;EAAC,SAAA6E,GAAA;IAAAoB,UAAA,CAAAnB,CAAA,CAAAD,GAAA;EAAA;IAAAoB,UAAA,CAAAlB,CAAA;EAAA;EACDiB,OAAO,CAAC/F,IAAI,CAAC,MAAM,CAAC;EACpB,OAAO+F,OAAO,CAAClG,IAAI,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,IAAMwC,SAAS,GAAG,SAAZA,SAASA,CAAI6D,GAAQ,EAAEtG,IAAY,EAAK;EAC5C,IAAMuG,KAAK,GAAGvG,IAAI,CAAC6B,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAI0B,MAAM,GAAG+C,GAAG;EAAC,IAAAE,UAAA,OAAA1C,2BAAA,aACEyC,KAAK;IAAAE,MAAA;EAAA;IAAxB,KAAAD,UAAA,CAAAxC,CAAA,MAAAyC,MAAA,GAAAD,UAAA,CAAAvC,CAAA,IAAAC,IAAA,GAA0B;MAAA,IAAAwC,OAAA;MAAA,IAAfC,IAAI,GAAAF,MAAA,CAAAtG,KAAA;MACboD,MAAM,IAAAmD,OAAA,GAAGnD,MAAM,cAAAmD,OAAA,uBAANA,OAAA,CAASC,IAAI,CAAC;IACzB;EAAC,SAAA3B,GAAA;IAAAwB,UAAA,CAAAvB,CAAA,CAAAD,GAAA;EAAA;IAAAwB,UAAA,CAAAtB,CAAA;EAAA;EACD,OAAO3B,MAAM;AACf,CAAC","ignoreList":[]}
@@ -7,18 +7,20 @@ import ColorJS from 'colorjs.io';
7
7
  var Color = ColorJS;
8
8
  export var processTokens = function processTokens(base, tokens, prefix) {
9
9
  var values = {};
10
+ var basicTokens = new Set();
10
11
  var modifications = {};
11
12
  var types = {};
12
13
  var descriptions = {};
13
14
  var mixins = [];
14
- var traverse = function traverse(node) {
15
+ var _traverse = function traverse(node) {
15
16
  var pathParts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
17
+ var isBasic = arguments.length > 2 ? arguments[2] : undefined;
16
18
  for (var key in node) {
17
19
  if (key === 'type') continue;
18
20
  if (key === 'value') continue;
19
21
  if (key === 'description') continue;
20
22
  if (key === '$extensions') continue;
21
- traverse(node[key], [].concat(_toConsumableArray(pathParts), [key]));
23
+ _traverse(node[key], [].concat(_toConsumableArray(pathParts), [key]), isBasic);
22
24
  }
23
25
  if ('type' in node && typeof node.type === 'string') {
24
26
  var path = pathParts.join('-');
@@ -31,6 +33,9 @@ export var processTokens = function processTokens(base, tokens, prefix) {
31
33
  throw new Error("Duplicated design token \"".concat(path, "\""));
32
34
  }
33
35
  values[path] = node.value;
36
+ if (isBasic) {
37
+ basicTokens.add(path);
38
+ }
34
39
  if (typeof node.description === 'string') descriptions[path] = node.description;
35
40
  if (node.$extensions) {
36
41
  for (var extension in node.$extensions) {
@@ -45,31 +50,32 @@ export var processTokens = function processTokens(base, tokens, prefix) {
45
50
  }
46
51
  }
47
52
  };
48
- traverse(tokens);
49
- var resolveColor = function resolveColor(color) {
53
+ _traverse(base, [], true);
54
+ _traverse(tokens);
55
+ var _resolveColor = function resolveColor(color) {
50
56
  if (color.includes('linear-gradient')) {
51
57
  return replaceColors(color);
52
58
  }
53
59
  if (color.startsWith('rgba(') && color.endsWith(')')) {
54
60
  var lastComa = color.lastIndexOf(',');
55
- var alpha = parseFloat(color.substring(lastComa + 1, color.length - 1));
61
+ var alpha = Number.parseFloat(color.substring(lastComa + 1, color.length - 1));
56
62
  if (Number.isNaN(alpha)) {
57
63
  throw new Error("Unable to parse rgba of ".concat(color));
58
64
  }
59
65
  var resolvedColor = color.substring('rgba('.length, lastComa);
60
- if (resolvedColor.startsWith('{')) resolvedColor = resolveColor(resolvedColor);
61
- if (resolvedColor.startsWith('$')) resolvedColor = resolveColor(resolvedColor);
66
+ if (resolvedColor.startsWith('{')) resolvedColor = _resolveColor(resolvedColor);
67
+ if (resolvedColor.startsWith('$')) resolvedColor = _resolveColor(resolvedColor);
62
68
  if (resolvedColor.startsWith('#')) {
63
69
  if (resolvedColor.length === 1 + 3) {
64
70
  resolvedColor = [resolvedColor[1], resolvedColor[2], resolvedColor[3]].map(function (hex) {
65
- return parseInt(hex, 16);
71
+ return Number.parseInt(hex, 16);
66
72
  }).join(', ');
67
73
  } else if (resolvedColor.length === 1 + 6) {
68
74
  resolvedColor = [resolvedColor.substring(1, 3), resolvedColor.substring(3, 5), resolvedColor.substring(5, 7)].map(function (hex) {
69
- return parseInt(hex, 16);
75
+ return Number.parseInt(hex, 16);
70
76
  }).join(', ');
71
77
  } else {
72
- throw new Error("Unable to convert hex ".concat(resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
78
+ throw new Error("Unable to convert hex ".concat(_resolveColor, " to rgb list of colors (processing ").concat(color, ")"));
73
79
  }
74
80
  }
75
81
  if (!resolvedColor || resolvedColor.split(',').length !== 3) {
@@ -78,15 +84,15 @@ export var processTokens = function processTokens(base, tokens, prefix) {
78
84
  return "rgba(".concat(resolvedColor, ", ").concat(alpha, ")");
79
85
  }
80
86
  if (color.split(', ').length === 2) {
81
- var baseColor = resolveColor(color.split(', ')[0]);
87
+ var baseColor = _resolveColor(color.split(', ')[0]);
82
88
  var _map = (baseColor.length === 4 ? [baseColor[1], baseColor[2], baseColor[3]] : [baseColor.substring(1, 3), baseColor.substring(3, 5), baseColor.substring(5, 7)]).map(function (chunk) {
83
- return parseInt(chunk, 16);
89
+ return Number.parseInt(chunk, 16);
84
90
  }),
85
91
  _map2 = _slicedToArray(_map, 3),
86
92
  r = _map2[0],
87
93
  g = _map2[1],
88
94
  b = _map2[2];
89
- var a = parseFloat(color.split(', ')[1]);
95
+ var a = Number.parseFloat(color.split(', ')[1]);
90
96
  return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
91
97
  }
92
98
  if (color.startsWith('{') && color.split('.').length > 0 && color.endsWith('}')) {
@@ -112,17 +118,17 @@ export var processTokens = function processTokens(base, tokens, prefix) {
112
118
  }
113
119
  throw new Error("Unable to process color ".concat(color));
114
120
  };
115
- var resolveToken = function resolveToken(token) {
121
+ var _resolveToken = function resolveToken(token) {
116
122
  if (token.includes('*')) {
117
123
  var _token$split = token.split('*'),
118
124
  _token$split2 = _slicedToArray(_token$split, 2),
119
125
  value = _token$split2[0],
120
126
  factor = _token$split2[1];
121
- var resolvedValue = resolveToken(value);
127
+ var resolvedValue = _resolveToken(value);
122
128
  if (!resolvedValue.endsWith('px')) {
123
129
  throw new Error("Unsupported expression ".concat(token));
124
130
  }
125
- return "".concat(parseFloat(resolvedValue) * parseFloat(factor), "px");
131
+ return "".concat(Number.parseFloat(resolvedValue) * Number.parseFloat(factor), "px");
126
132
  } else if (token.includes('{') && token.includes('}')) {
127
133
  var reference = token.substring(token.indexOf('{') + 1, token.indexOf('}')).replace(/\./g, '-');
128
134
  var resolvedToken = token.substring(0, token.indexOf('{')) + values[reference] + token.substring(token.indexOf('}') + 1);
@@ -140,7 +146,7 @@ export var processTokens = function processTokens(base, tokens, prefix) {
140
146
  if (str.substring(i, i + 'rgba('.length) === 'rgba(') {
141
147
  var start = i;
142
148
  while (str[i] !== undefined && str[i] !== ')') i++;
143
- result += resolveColor(str.substring(start, i + 1));
149
+ result += _resolveColor(str.substring(start, i + 1));
144
150
  } else {
145
151
  result += str[i];
146
152
  }
@@ -151,11 +157,11 @@ export var processTokens = function processTokens(base, tokens, prefix) {
151
157
  for (var token in values) {
152
158
  var _modifications$token;
153
159
  if (types[token] === 'color') {
154
- values[token] = resolveColor(values[token]);
160
+ values[token] = _resolveColor(values[token]);
155
161
  } else if (types[token] === 'boxShadow') {
156
- values[token] = resolveToken(values[token].split('; ').map(replaceColors).join(', '));
162
+ values[token] = _resolveToken(values[token].split('; ').map(replaceColors).join(', '));
157
163
  } else if (types[token] === 'sizing' || types[token] === 'spacing' || types[token] === 'borderRadius' || types[token] === 'other') {
158
- values[token] = resolveToken(values[token]);
164
+ values[token] = _resolveToken(values[token]);
159
165
  }
160
166
  var _iterator = _createForOfIteratorHelper((_modifications$token = modifications[token]) !== null && _modifications$token !== void 0 ? _modifications$token : []),
161
167
  _step;
@@ -197,8 +203,9 @@ export var processTokens = function processTokens(base, tokens, prefix) {
197
203
  }
198
204
  var processedTokens = [];
199
205
  for (var _token in values) {
206
+ var isBase = basicTokens.has(_token);
200
207
  processedTokens.push({
201
- name: "--".concat(prefix, "-").concat(_token),
208
+ name: isBase ? "--".concat(_token) : "--".concat(prefix, "-").concat(_token),
202
209
  description: descriptions[_token],
203
210
  value: values[_token]
204
211
  });
@@ -208,7 +215,8 @@ export var processTokens = function processTokens(base, tokens, prefix) {
208
215
  values: values,
209
216
  types: types,
210
217
  rawValues: rawValues,
211
- descriptions: descriptions
218
+ descriptions: descriptions,
219
+ basicTokens: basicTokens
212
220
  };
213
221
  };
214
222
  export var tokensToCss = function tokensToCss(tokens) {
@@ -262,7 +270,7 @@ export var tokensToJs = function tokensToJs(tokens) {
262
270
  } finally {
263
271
  _iterator4.f();
264
272
  }
265
- jsLines.push('}\n');
273
+ jsLines.push('};\n');
266
274
  return jsLines.join('\n');
267
275
  };
268
276
  var getByPath = function getByPath(obj, path) {
@@ -1 +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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"}
1
+ {"version":3,"file":"utils.mjs","names":["ColorJS","Color","processTokens","base","tokens","prefix","values","basicTokens","Set","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","isBasic","key","concat","_toConsumableArray","type","path","join","_typeof","value","push","Error","add","description","$extensions","extension","_modifications$path","modify","resolveColor","color","includes","replaceColors","startsWith","endsWith","lastComa","lastIndexOf","alpha","Number","parseFloat","substring","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","isBase","has","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 basicTokens = new Set<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[] = [], isBasic?: boolean) => {\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], isBasic);\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 (isBasic) {\n basicTokens.add(path);\n }\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(base, [], true);\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 = Number.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) => Number.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) => Number.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) => Number.parseInt(chunk, 16));\n const a = Number.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 `${Number.parseFloat(resolvedValue) * Number.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 const isBase = basicTokens.has(token);\n processedTokens.push({\n name: isBase ? `--${token}` : `--${prefix}-${token}`,\n description: descriptions[token],\n value: values[token],\n });\n }\n\n return { processedTokens, values, types, rawValues, descriptions, basicTokens };\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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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { NanoOptions, NanoRenderer } from '@phytonmk/nano-css';
1
+ import { type NanoOptions, type NanoRenderer } from '@phytonmk/nano-css';
2
2
  declare function style(opt?: NanoOptions): NanoRenderer;
3
3
  declare function createStyle(opt?: NanoOptions): NanoRenderer;
4
4
  export { createStyle };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -8,10 +8,10 @@ exports.createStyle = createStyle;
8
8
  exports["default"] = void 0;
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _nanoCss = require("@phytonmk/nano-css");
11
- var _rule = require("@phytonmk/nano-css/addon/rule");
12
11
  var _cache = require("@phytonmk/nano-css/addon/cache");
13
- var _prefixer = require("@phytonmk/nano-css/addon/prefixer");
14
12
  var _hydrate = require("@phytonmk/nano-css/addon/hydrate");
13
+ var _prefixer = require("@phytonmk/nano-css/addon/prefixer");
14
+ var _rule = require("@phytonmk/nano-css/addon/rule");
15
15
  var _nano = null;
16
16
  function style(opt) {
17
17
  if (!_nano) {
@@ -31,6 +31,5 @@ function createStyle() {
31
31
  (0, _hydrate.addon)(nano);
32
32
  return nano;
33
33
  }
34
- var _default = style;
35
- exports["default"] = _default;
36
- //# sourceMappingURL=CSSinJS.cjs.map
34
+ var _default = exports["default"] = style;
35
+ //# sourceMappingURL=CSSinJS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSinJS.js","names":["_nanoCss","require","_cache","_hydrate","_prefixer","_rule","_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, type NanoOptions, type NanoRenderer } from '@phytonmk/nano-css';\nimport { addon as addonCache } from '@phytonmk/nano-css/addon/cache';\nimport { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';\nimport { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';\nimport { addon as addonRule } from '@phytonmk/nano-css/addon/rule';\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,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,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,CAAE,CAAC;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,GAAAC,OAAA,cAIchB,KAAK","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import { create } from '@phytonmk/nano-css';
3
- import { addon as addonRule } from '@phytonmk/nano-css/addon/rule';
4
3
  import { addon as addonCache } from '@phytonmk/nano-css/addon/cache';
5
- import { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';
6
4
  import { addon as addonHydrate } from '@phytonmk/nano-css/addon/hydrate';
5
+ import { addon as addonPrefixer } from '@phytonmk/nano-css/addon/prefixer';
6
+ import { addon as addonRule } from '@phytonmk/nano-css/addon/rule';
7
7
  var _nano = null;
8
8
  function style(opt) {
9
9
  if (!_nano) {