@semcore/core 16.0.0 → 16.0.1

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 (403) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -31
  3. package/lib/LastInteractionType.js +3 -5
  4. package/lib/LastInteractionType.js.map +1 -1
  5. package/lib/LastInteractionType.mjs +1 -2
  6. package/lib/LastInteractionType.mjs.map +1 -1
  7. package/lib/core-types/Component.d.ts +10 -12
  8. package/lib/core-types/Component.js +51 -22
  9. package/lib/core-types/Component.js.map +1 -1
  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.map +1 -1
  13. package/lib/core-types/UnknownProperties.mjs.map +1 -1
  14. package/lib/core-types/reshadow.d.js.map +1 -1
  15. package/lib/core-types/reshadow.d.mjs.map +1 -1
  16. package/lib/core-types/symbols.js +9 -18
  17. package/lib/core-types/symbols.js.map +1 -1
  18. package/lib/core-types/symbols.mjs.map +1 -1
  19. package/lib/coreFactory.d.ts +4 -4
  20. package/lib/coreFactory.js +37 -38
  21. package/lib/coreFactory.js.map +1 -1
  22. package/lib/coreFactory.mjs +39 -34
  23. package/lib/coreFactory.mjs.map +1 -1
  24. package/lib/enhancement/Children.js +9 -10
  25. package/lib/enhancement/Children.js.map +1 -1
  26. package/lib/enhancement/Children.mjs +7 -7
  27. package/lib/enhancement/Children.mjs.map +1 -1
  28. package/lib/enhancement/Root.d.ts +1 -1
  29. package/lib/enhancement/Root.js +5 -6
  30. package/lib/enhancement/Root.js.map +1 -1
  31. package/lib/enhancement/Root.mjs +2 -2
  32. package/lib/enhancement/Root.mjs.map +1 -1
  33. package/lib/enhancement/bindHandler.d.ts +1 -1
  34. package/lib/enhancement/bindHandler.js +2 -3
  35. package/lib/enhancement/bindHandler.js.map +1 -1
  36. package/lib/enhancement/bindHandler.mjs +1 -1
  37. package/lib/enhancement/bindHandler.mjs.map +1 -1
  38. package/lib/enhancement/dataName.js +2 -3
  39. package/lib/enhancement/dataName.js.map +1 -1
  40. package/lib/enhancement/dataName.mjs.map +1 -1
  41. package/lib/enhancement/enhance.js +1 -2
  42. package/lib/enhancement/enhance.js.map +1 -1
  43. package/lib/enhancement/enhance.mjs.map +1 -1
  44. package/lib/enhancement/functionDefaultProps.js +1 -2
  45. package/lib/enhancement/functionDefaultProps.js.map +1 -1
  46. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  47. package/lib/enhancement/hoistProps.d.ts +1 -1
  48. package/lib/enhancement/hoistProps.js +5 -7
  49. package/lib/enhancement/hoistProps.js.map +1 -1
  50. package/lib/enhancement/hoistProps.mjs +2 -2
  51. package/lib/enhancement/hoistProps.mjs.map +1 -1
  52. package/lib/enhancement/i18n.js +2 -3
  53. package/lib/enhancement/i18n.js.map +1 -1
  54. package/lib/enhancement/i18n.mjs.map +1 -1
  55. package/lib/enhancement/inheritedName.js +2 -3
  56. package/lib/enhancement/inheritedName.js.map +1 -1
  57. package/lib/enhancement/inheritedName.mjs.map +1 -1
  58. package/lib/enhancement/staticChildren.js +5 -8
  59. package/lib/enhancement/staticChildren.js.map +1 -1
  60. package/lib/enhancement/staticChildren.mjs +1 -1
  61. package/lib/enhancement/staticChildren.mjs.map +1 -1
  62. package/lib/enhancement/style.js +4 -6
  63. package/lib/enhancement/style.js.map +1 -1
  64. package/lib/enhancement/style.mjs +1 -1
  65. package/lib/enhancement/style.mjs.map +1 -1
  66. package/lib/enhancement/uncontrolledProps.js +4 -6
  67. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  68. package/lib/enhancement/uncontrolledProps.mjs +2 -3
  69. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  70. package/lib/esm/LastInteractionType.mjs +1 -2
  71. package/lib/esm/core-types/Component.mjs +11 -14
  72. package/lib/esm/coreFactory.mjs +39 -34
  73. package/lib/esm/enhancement/Children.mjs +7 -7
  74. package/lib/esm/enhancement/Root.mjs +2 -2
  75. package/lib/esm/enhancement/bindHandler.mjs +1 -1
  76. package/lib/esm/enhancement/hoistProps.mjs +2 -2
  77. package/lib/esm/enhancement/staticChildren.mjs +1 -1
  78. package/lib/esm/enhancement/style.mjs +1 -1
  79. package/lib/esm/enhancement/uncontrolledProps.mjs +2 -3
  80. package/lib/esm/index.mjs +3 -3
  81. package/lib/esm/register.mjs +1 -2
  82. package/lib/esm/styled/reshadow-core.mjs +9 -9
  83. package/lib/esm/styled/sstyled.mjs +1 -1
  84. package/lib/esm/utils/assignProps.mjs +1 -1
  85. package/lib/esm/utils/createHoc.mjs +10 -7
  86. package/lib/esm/utils/enhances/WithI18n.mjs +12 -10
  87. package/lib/esm/utils/enhances/i18nEnhance.mjs +4 -4
  88. package/lib/esm/utils/logger.mjs +1 -2
  89. package/lib/index.d.ts +5 -5
  90. package/lib/index.js +4 -4
  91. package/lib/index.js.map +1 -1
  92. package/lib/index.mjs +3 -3
  93. package/lib/index.mjs.map +1 -1
  94. package/lib/register.js +4 -7
  95. package/lib/register.js.map +1 -1
  96. package/lib/register.mjs +1 -2
  97. package/lib/register.mjs.map +1 -1
  98. package/lib/styled/index.d.ts +1 -2
  99. package/lib/styled/index.js.map +1 -1
  100. package/lib/styled/index.mjs.map +1 -1
  101. package/lib/styled/reshadow-core.js +27 -50
  102. package/lib/styled/reshadow-core.js.map +1 -1
  103. package/lib/styled/reshadow-core.mjs +9 -9
  104. package/lib/styled/reshadow-core.mjs.map +1 -1
  105. package/lib/styled/sstyled.d.ts +2 -2
  106. package/lib/styled/sstyled.js +3 -3
  107. package/lib/styled/sstyled.js.map +1 -1
  108. package/lib/styled/sstyled.mjs +1 -1
  109. package/lib/styled/sstyled.mjs.map +1 -1
  110. package/lib/theme/dark.json +2 -2
  111. package/lib/theme/light.json +2 -42
  112. package/lib/theme/processor.js +61 -63
  113. package/lib/theme/processor.js.map +1 -1
  114. package/lib/theme/processor.mjs +52 -53
  115. package/lib/theme/processor.mjs.map +1 -1
  116. package/lib/theme/themes/auto.css +224 -2
  117. package/lib/theme/themes/dark.css +112 -1
  118. package/lib/theme/themes/dark.d.ts +91 -0
  119. package/lib/theme/themes/dark.js +93 -3
  120. package/lib/theme/themes/dark.js.map +1 -1
  121. package/lib/theme/themes/dark.mjs +92 -1
  122. package/lib/theme/themes/dark.mjs.map +1 -1
  123. package/lib/theme/themes/default.css +112 -1
  124. package/lib/theme/themes/default.d.ts +91 -0
  125. package/lib/theme/themes/default.js +93 -3
  126. package/lib/theme/themes/default.js.map +1 -1
  127. package/lib/theme/themes/default.mjs +92 -1
  128. package/lib/theme/themes/default.mjs.map +1 -1
  129. package/lib/theme/themes/light.css +112 -1
  130. package/lib/theme/themes/light.d.ts +91 -0
  131. package/lib/theme/themes/light.js +93 -3
  132. package/lib/theme/themes/light.js.map +1 -1
  133. package/lib/theme/themes/light.mjs +92 -1
  134. package/lib/theme/themes/light.mjs.map +1 -1
  135. package/lib/theme/utils.d.ts +2 -1
  136. package/lib/theme/utils.js +36 -32
  137. package/lib/theme/utils.js.map +1 -1
  138. package/lib/theme/utils.mjs +31 -23
  139. package/lib/theme/utils.mjs.map +1 -1
  140. package/lib/utils/CSSinJS.d.ts +1 -1
  141. package/lib/utils/CSSinJS.js +4 -5
  142. package/lib/utils/CSSinJS.js.map +1 -1
  143. package/lib/utils/CSSinJS.mjs +2 -2
  144. package/lib/utils/CSSinJS.mjs.map +1 -1
  145. package/lib/utils/ScreenReaderOnly.d.ts +1 -1
  146. package/lib/utils/ScreenReaderOnly.js +2 -3
  147. package/lib/utils/ScreenReaderOnly.js.map +1 -1
  148. package/lib/utils/ScreenReaderOnly.mjs.map +1 -1
  149. package/lib/utils/ThemeProvider.d.ts +1 -1
  150. package/lib/utils/ThemeProvider.js +5 -9
  151. package/lib/utils/ThemeProvider.js.map +1 -1
  152. package/lib/utils/ThemeProvider.mjs.map +1 -1
  153. package/lib/utils/addonText.d.ts +1 -1
  154. package/lib/utils/addonText.js +1 -1
  155. package/lib/utils/addonText.js.map +1 -1
  156. package/lib/utils/addonText.mjs.map +1 -1
  157. package/lib/utils/addonTextChildren.d.ts +1 -1
  158. package/lib/utils/addonTextChildren.js +3 -4
  159. package/lib/utils/addonTextChildren.js.map +1 -1
  160. package/lib/utils/addonTextChildren.mjs +1 -1
  161. package/lib/utils/addonTextChildren.mjs.map +1 -1
  162. package/lib/utils/ariaProps.d.ts +1 -1
  163. package/lib/utils/ariaProps.js.map +1 -1
  164. package/lib/utils/ariaProps.mjs.map +1 -1
  165. package/lib/utils/assignProps.d.ts +1 -1
  166. package/lib/utils/assignProps.js +2 -2
  167. package/lib/utils/assignProps.js.map +1 -1
  168. package/lib/utils/assignProps.mjs +1 -1
  169. package/lib/utils/assignProps.mjs.map +1 -1
  170. package/lib/utils/canUseDOM.js.map +1 -1
  171. package/lib/utils/canUseDOM.mjs.map +1 -1
  172. package/lib/utils/capitalizeFirstLetter.js.map +1 -1
  173. package/lib/utils/capitalizeFirstLetter.mjs.map +1 -1
  174. package/lib/utils/color.js +18 -18
  175. package/lib/utils/color.js.map +1 -1
  176. package/lib/utils/color.mjs +16 -15
  177. package/lib/utils/color.mjs.map +1 -1
  178. package/lib/utils/compose.js.map +1 -1
  179. package/lib/utils/compose.mjs.map +1 -1
  180. package/lib/utils/createHoc.d.ts +1 -1
  181. package/lib/utils/createHoc.js +11 -11
  182. package/lib/utils/createHoc.js.map +1 -1
  183. package/lib/utils/createHoc.mjs +10 -7
  184. package/lib/utils/createHoc.mjs.map +1 -1
  185. package/lib/utils/createUUID.js.map +1 -1
  186. package/lib/utils/createUUID.mjs.map +1 -1
  187. package/lib/utils/cssToIntDefault.d.ts +1 -1
  188. package/lib/utils/cssToIntDefault.js +2 -2
  189. package/lib/utils/cssToIntDefault.js.map +1 -1
  190. package/lib/utils/cssToIntDefault.mjs +2 -2
  191. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  192. package/lib/utils/enhances/WithAutoFocus.d.ts +3 -3
  193. package/lib/utils/enhances/WithAutoFocus.js +12 -12
  194. package/lib/utils/enhances/WithAutoFocus.js.map +1 -1
  195. package/lib/utils/enhances/WithAutoFocus.mjs +11 -9
  196. package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -1
  197. package/lib/utils/enhances/WithCSS.d.ts +4 -4
  198. package/lib/utils/enhances/WithCSS.js +15 -20
  199. package/lib/utils/enhances/WithCSS.js.map +1 -1
  200. package/lib/utils/enhances/WithCSS.mjs +8 -8
  201. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  202. package/lib/utils/enhances/WithI18n.d.ts +3 -3
  203. package/lib/utils/enhances/WithI18n.js +19 -22
  204. package/lib/utils/enhances/WithI18n.js.map +1 -1
  205. package/lib/utils/enhances/WithI18n.mjs +12 -10
  206. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  207. package/lib/utils/enhances/WithKeyboardFocus.d.ts +4 -3
  208. package/lib/utils/enhances/WithKeyboardFocus.js +28 -24
  209. package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -1
  210. package/lib/utils/enhances/WithKeyboardFocus.mjs +26 -19
  211. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -1
  212. package/lib/utils/enhances/WithRef.d.ts +1 -1
  213. package/lib/utils/enhances/WithRef.js +3 -4
  214. package/lib/utils/enhances/WithRef.js.map +1 -1
  215. package/lib/utils/enhances/WithRef.mjs +1 -1
  216. package/lib/utils/enhances/WithRef.mjs.map +1 -1
  217. package/lib/utils/enhances/a11yEnhance.js +9 -10
  218. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  219. package/lib/utils/enhances/a11yEnhance.mjs +7 -7
  220. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  221. package/lib/utils/enhances/animatedSizeEnhance.d.ts +1 -1
  222. package/lib/utils/enhances/animatedSizeEnhance.js +12 -10
  223. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  224. package/lib/utils/enhances/animatedSizeEnhance.mjs +11 -7
  225. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  226. package/lib/utils/enhances/autoFocusEnhance.d.ts +1 -1
  227. package/lib/utils/enhances/autoFocusEnhance.js +2 -3
  228. package/lib/utils/enhances/autoFocusEnhance.js.map +1 -1
  229. package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -1
  230. package/lib/utils/enhances/contextEnhance.js +2 -3
  231. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  232. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  233. package/lib/utils/enhances/i18nEnhance.d.ts +2 -2
  234. package/lib/utils/enhances/i18nEnhance.js +10 -10
  235. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  236. package/lib/utils/enhances/i18nEnhance.mjs +4 -4
  237. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  238. package/lib/utils/enhances/keyboardFocusEnhance.d.ts +1 -1
  239. package/lib/utils/enhances/keyboardFocusEnhance.js +7 -7
  240. package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -1
  241. package/lib/utils/enhances/keyboardFocusEnhance.mjs +2 -2
  242. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -1
  243. package/lib/utils/enhances/resolveColorEnhance.js +4 -5
  244. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  245. package/lib/utils/enhances/resolveColorEnhance.mjs +2 -2
  246. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  247. package/lib/utils/eventEmitter.js +2 -3
  248. package/lib/utils/eventEmitter.js.map +1 -1
  249. package/lib/utils/eventEmitter.mjs.map +1 -1
  250. package/lib/utils/findComponent.d.ts +1 -1
  251. package/lib/utils/findComponent.js +14 -15
  252. package/lib/utils/findComponent.js.map +1 -1
  253. package/lib/utils/findComponent.mjs +12 -12
  254. package/lib/utils/findComponent.mjs.map +1 -1
  255. package/lib/utils/fire.js +1 -1
  256. package/lib/utils/fire.js.map +1 -1
  257. package/lib/utils/fire.mjs.map +1 -1
  258. package/lib/utils/focus-lock/focusBorders.js +12 -16
  259. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  260. package/lib/utils/focus-lock/focusBorders.mjs +8 -8
  261. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  262. package/lib/utils/focus-lock/getFocusableIn.js +2 -3
  263. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  264. package/lib/utils/focus-lock/getFocusableIn.mjs +1 -1
  265. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  266. package/lib/utils/focus-lock/isFocusInside.js +1 -2
  267. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  268. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  269. package/lib/utils/focus-lock/isFocusable.js +2 -3
  270. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  271. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  272. package/lib/utils/focus-lock/setFocus.js +4 -5
  273. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  274. package/lib/utils/focus-lock/setFocus.mjs +2 -2
  275. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  276. package/lib/utils/getAccessibleName.js +1 -1
  277. package/lib/utils/getAccessibleName.js.map +1 -1
  278. package/lib/utils/getAccessibleName.mjs.map +1 -1
  279. package/lib/utils/getDisplayName.d.ts +1 -1
  280. package/lib/utils/getDisplayName.js.map +1 -1
  281. package/lib/utils/getDisplayName.mjs.map +1 -1
  282. package/lib/utils/getEventTarget.js +2 -3
  283. package/lib/utils/getEventTarget.js.map +1 -1
  284. package/lib/utils/getEventTarget.mjs.map +1 -1
  285. package/lib/utils/getOriginChildren.js +3 -4
  286. package/lib/utils/getOriginChildren.js.map +1 -1
  287. package/lib/utils/getOriginChildren.mjs +1 -1
  288. package/lib/utils/getOriginChildren.mjs.map +1 -1
  289. package/lib/utils/getRandomInt.js.map +1 -1
  290. package/lib/utils/getRandomInt.mjs.map +1 -1
  291. package/lib/utils/getValue.js +1 -3
  292. package/lib/utils/getValue.js.map +1 -1
  293. package/lib/utils/getValue.mjs +1 -3
  294. package/lib/utils/getValue.mjs.map +1 -1
  295. package/lib/utils/hasLabels.js +5 -6
  296. package/lib/utils/hasLabels.js.map +1 -1
  297. package/lib/utils/hasLabels.mjs +3 -3
  298. package/lib/utils/hasLabels.mjs.map +1 -1
  299. package/lib/utils/hasParent.js +2 -3
  300. package/lib/utils/hasParent.js.map +1 -1
  301. package/lib/utils/hasParent.mjs +3 -2
  302. package/lib/utils/hasParent.mjs.map +1 -1
  303. package/lib/utils/if.d.ts +2 -2
  304. package/lib/utils/if.js +1 -2
  305. package/lib/utils/if.js.map +1 -1
  306. package/lib/utils/if.mjs.map +1 -1
  307. package/lib/utils/ifChildren.d.ts +1 -1
  308. package/lib/utils/ifChildren.js +1 -2
  309. package/lib/utils/ifChildren.js.map +1 -1
  310. package/lib/utils/ifChildren.mjs.map +1 -1
  311. package/lib/utils/injectStyle.js +3 -5
  312. package/lib/utils/injectStyle.js.map +1 -1
  313. package/lib/utils/injectStyle.mjs +1 -2
  314. package/lib/utils/injectStyle.mjs.map +1 -1
  315. package/lib/utils/inputProps.js +1 -2
  316. package/lib/utils/inputProps.js.map +1 -1
  317. package/lib/utils/inputProps.mjs.map +1 -1
  318. package/lib/utils/isInteractiveElement.js.map +1 -1
  319. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  320. package/lib/utils/isNode.js +1 -1
  321. package/lib/utils/isNode.js.map +1 -1
  322. package/lib/utils/isNode.mjs.map +1 -1
  323. package/lib/utils/isPromise.js.map +1 -1
  324. package/lib/utils/isPromise.mjs.map +1 -1
  325. package/lib/utils/isRetina.js.map +1 -1
  326. package/lib/utils/isRetina.mjs.map +1 -1
  327. package/lib/utils/logger.js +4 -7
  328. package/lib/utils/logger.js.map +1 -1
  329. package/lib/utils/logger.mjs +1 -2
  330. package/lib/utils/logger.mjs.map +1 -1
  331. package/lib/utils/numericChecker.js.map +1 -1
  332. package/lib/utils/numericChecker.mjs.map +1 -1
  333. package/lib/utils/ownerDocument.js.map +1 -1
  334. package/lib/utils/ownerDocument.mjs.map +1 -1
  335. package/lib/utils/pick.js.map +1 -1
  336. package/lib/utils/pick.mjs.map +1 -1
  337. package/lib/utils/propsForElement.d.ts +1 -1
  338. package/lib/utils/propsForElement.js +2 -3
  339. package/lib/utils/propsForElement.js.map +1 -1
  340. package/lib/utils/propsForElement.mjs.map +1 -1
  341. package/lib/utils/rafTrottle.js +1 -2
  342. package/lib/utils/rafTrottle.js.map +1 -1
  343. package/lib/utils/rafTrottle.mjs.map +1 -1
  344. package/lib/utils/reactToText.d.ts +1 -1
  345. package/lib/utils/reactToText.js +1 -2
  346. package/lib/utils/reactToText.js.map +1 -1
  347. package/lib/utils/reactToText.mjs.map +1 -1
  348. package/lib/utils/ref.d.ts +1 -1
  349. package/lib/utils/ref.js +1 -1
  350. package/lib/utils/ref.js.map +1 -1
  351. package/lib/utils/ref.mjs.map +1 -1
  352. package/lib/utils/setRef.js +1 -2
  353. package/lib/utils/setRef.js.map +1 -1
  354. package/lib/utils/setRef.mjs.map +1 -1
  355. package/lib/utils/syncScroll.js +2 -2
  356. package/lib/utils/syncScroll.js.map +1 -1
  357. package/lib/utils/syncScroll.mjs +1 -1
  358. package/lib/utils/syncScroll.mjs.map +1 -1
  359. package/lib/utils/uncontroll.d.ts +1 -1
  360. package/lib/utils/uncontroll.js +1 -1
  361. package/lib/utils/uncontroll.js.map +1 -1
  362. package/lib/utils/uncontroll.mjs.map +1 -1
  363. package/lib/utils/uniqueID.d.ts +1 -1
  364. package/lib/utils/uniqueID.js +5 -5
  365. package/lib/utils/uniqueID.js.map +1 -1
  366. package/lib/utils/uniqueID.mjs +3 -0
  367. package/lib/utils/uniqueID.mjs.map +1 -1
  368. package/lib/utils/use/useColorResolver.js +7 -106
  369. package/lib/utils/use/useColorResolver.js.map +1 -1
  370. package/lib/utils/use/useColorResolver.mjs +5 -103
  371. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  372. package/lib/utils/use/useCss.d.ts +1 -1
  373. package/lib/utils/use/useCss.js +2 -3
  374. package/lib/utils/use/useCss.js.map +1 -1
  375. package/lib/utils/use/useCss.mjs.map +1 -1
  376. package/lib/utils/use/useEnhancedEffect.js +2 -3
  377. package/lib/utils/use/useEnhancedEffect.js.map +1 -1
  378. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  379. package/lib/utils/use/useEventCallback.js +1 -1
  380. package/lib/utils/use/useEventCallback.js.map +1 -1
  381. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  382. package/lib/utils/use/useEventListener.js +2 -3
  383. package/lib/utils/use/useEventListener.js.map +1 -1
  384. package/lib/utils/use/useEventListener.mjs.map +1 -1
  385. package/lib/utils/use/useFocusLock.d.ts +1 -1
  386. package/lib/utils/use/useFocusLock.js +8 -11
  387. package/lib/utils/use/useFocusLock.js.map +1 -1
  388. package/lib/utils/use/useFocusLock.mjs +4 -4
  389. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  390. package/lib/utils/use/usePreventScroll.js +2 -2
  391. package/lib/utils/use/usePreventScroll.js.map +1 -1
  392. package/lib/utils/use/usePreventScroll.mjs +1 -1
  393. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  394. package/lib/utils/useCssVariable.d.ts +2 -2
  395. package/lib/utils/useCssVariable.js +3 -5
  396. package/lib/utils/useCssVariable.js.map +1 -1
  397. package/lib/utils/useCssVariable.mjs.map +1 -1
  398. package/lib/utils/zIndexStacking.js +6 -9
  399. package/lib/utils/zIndexStacking.js.map +1 -1
  400. package/lib/utils/zIndexStacking.mjs +2 -2
  401. package/lib/utils/zIndexStacking.mjs.map +1 -1
  402. package/package.json +6 -9
  403. package/vite.config.ts +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;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_colorjs","_interopRequireDefault","require","Color","ColorJS","processTokens","base","tokens","prefix","values","modifications","types","descriptions","mixins","traverse","node","pathParts","arguments","length","undefined","key","concat","_toConsumableArray2","type","path","join","_typeof2","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","_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","name","exports","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.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":"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","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":[]}