@semcore/core 17.0.0-prerelease.20-prerelease.20 → 17.0.0-prerelease.22

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 (354) hide show
  1. package/lib/LastInteractionType.js +22 -36
  2. package/lib/LastInteractionType.js.map +1 -1
  3. package/lib/LastInteractionType.mjs +19 -33
  4. package/lib/LastInteractionType.mjs.map +1 -1
  5. package/lib/core-types/Component.js +25 -41
  6. package/lib/core-types/Component.js.map +1 -1
  7. package/lib/core-types/Component.mjs +18 -38
  8. package/lib/core-types/Component.mjs.map +1 -1
  9. package/lib/core-types/symbols.js +9 -9
  10. package/lib/core-types/symbols.js.map +1 -1
  11. package/lib/core-types/symbols.mjs +9 -9
  12. package/lib/core-types/symbols.mjs.map +1 -1
  13. package/lib/coreFactory.js +143 -205
  14. package/lib/coreFactory.js.map +1 -1
  15. package/lib/coreFactory.mjs +118 -164
  16. package/lib/coreFactory.mjs.map +1 -1
  17. package/lib/decorators/propsObserver.js +36 -64
  18. package/lib/decorators/propsObserver.js.map +1 -1
  19. package/lib/decorators/propsObserver.mjs +33 -61
  20. package/lib/decorators/propsObserver.mjs.map +1 -1
  21. package/lib/decorators/reactive.js +17 -17
  22. package/lib/decorators/reactive.js.map +1 -1
  23. package/lib/decorators/reactive.mjs +15 -15
  24. package/lib/decorators/reactive.mjs.map +1 -1
  25. package/lib/enhancement/Children.js +51 -59
  26. package/lib/enhancement/Children.js.map +1 -1
  27. package/lib/enhancement/Children.mjs +47 -41
  28. package/lib/enhancement/Children.mjs.map +1 -1
  29. package/lib/enhancement/Root.js +36 -37
  30. package/lib/enhancement/Root.js.map +1 -1
  31. package/lib/enhancement/Root.mjs +28 -18
  32. package/lib/enhancement/Root.mjs.map +1 -1
  33. package/lib/enhancement/dataName.js +7 -8
  34. package/lib/enhancement/dataName.js.map +1 -1
  35. package/lib/enhancement/dataName.mjs +5 -5
  36. package/lib/enhancement/dataName.mjs.map +1 -1
  37. package/lib/enhancement/enhance.js +6 -9
  38. package/lib/enhancement/enhance.js.map +1 -1
  39. package/lib/enhancement/enhance.mjs +5 -7
  40. package/lib/enhancement/enhance.mjs.map +1 -1
  41. package/lib/enhancement/functionDefaultProps.js +6 -6
  42. package/lib/enhancement/functionDefaultProps.js.map +1 -1
  43. package/lib/enhancement/functionDefaultProps.mjs +4 -4
  44. package/lib/enhancement/functionDefaultProps.mjs.map +1 -1
  45. package/lib/enhancement/i18n.js +13 -13
  46. package/lib/enhancement/i18n.js.map +1 -1
  47. package/lib/enhancement/i18n.mjs +10 -9
  48. package/lib/enhancement/i18n.mjs.map +1 -1
  49. package/lib/enhancement/inheritedName.js +7 -8
  50. package/lib/enhancement/inheritedName.js.map +1 -1
  51. package/lib/enhancement/inheritedName.mjs +5 -5
  52. package/lib/enhancement/inheritedName.mjs.map +1 -1
  53. package/lib/enhancement/staticChildren.js +47 -56
  54. package/lib/enhancement/staticChildren.js.map +1 -1
  55. package/lib/enhancement/staticChildren.mjs +43 -48
  56. package/lib/enhancement/staticChildren.mjs.map +1 -1
  57. package/lib/enhancement/style.js +29 -27
  58. package/lib/enhancement/style.js.map +1 -1
  59. package/lib/enhancement/style.mjs +26 -20
  60. package/lib/enhancement/style.mjs.map +1 -1
  61. package/lib/enhancement/uncontrolledProps.js +46 -65
  62. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  63. package/lib/enhancement/uncontrolledProps.mjs +43 -52
  64. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  65. package/lib/esm/LastInteractionType.mjs +19 -33
  66. package/lib/esm/core-types/Component.mjs +18 -38
  67. package/lib/esm/core-types/symbols.mjs +9 -9
  68. package/lib/esm/coreFactory.mjs +118 -164
  69. package/lib/esm/enhancement/Children.mjs +47 -41
  70. package/lib/esm/enhancement/Root.mjs +28 -18
  71. package/lib/esm/enhancement/dataName.mjs +5 -5
  72. package/lib/esm/enhancement/enhance.mjs +5 -7
  73. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  74. package/lib/esm/enhancement/i18n.mjs +10 -9
  75. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  76. package/lib/esm/enhancement/staticChildren.mjs +43 -48
  77. package/lib/esm/enhancement/style.mjs +26 -20
  78. package/lib/esm/enhancement/uncontrolledProps.mjs +43 -52
  79. package/lib/esm/register.mjs +12 -20
  80. package/lib/esm/styled/reshadow-core.mjs +98 -111
  81. package/lib/esm/styled/sstyled.mjs +31 -41
  82. package/lib/esm/utils/assignProps.mjs +32 -36
  83. package/lib/esm/utils/enhances/WithI18n.mjs +15 -17
  84. package/lib/esm/utils/enhances/i18nEnhance.mjs +47 -61
  85. package/lib/esm/utils/logger.mjs +13 -21
  86. package/lib/esm/utils/pick.mjs +4 -4
  87. package/lib/esm/utils/ref.mjs +27 -43
  88. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  89. package/lib/index.js +17 -17
  90. package/lib/register.js +17 -24
  91. package/lib/register.js.map +1 -1
  92. package/lib/register.mjs +12 -20
  93. package/lib/register.mjs.map +1 -1
  94. package/lib/styled/index.js +4 -4
  95. package/lib/styled/reshadow-core.js +102 -104
  96. package/lib/styled/reshadow-core.js.map +1 -1
  97. package/lib/styled/reshadow-core.mjs +98 -111
  98. package/lib/styled/reshadow-core.mjs.map +1 -1
  99. package/lib/styled/sstyled.js +31 -53
  100. package/lib/styled/sstyled.js.map +1 -1
  101. package/lib/styled/sstyled.mjs +31 -41
  102. package/lib/styled/sstyled.mjs.map +1 -1
  103. package/lib/theme/processor.js +150 -222
  104. package/lib/theme/processor.js.map +1 -1
  105. package/lib/theme/processor.mjs +148 -221
  106. package/lib/theme/processor.mjs.map +1 -1
  107. package/lib/theme/themes/dark.js +2 -2
  108. package/lib/theme/themes/dark.js.map +1 -1
  109. package/lib/theme/themes/default.js +2 -2
  110. package/lib/theme/themes/default.js.map +1 -1
  111. package/lib/theme/themes/highlights-dark.js +2 -2
  112. package/lib/theme/themes/highlights-dark.js.map +1 -1
  113. package/lib/theme/themes/highlights-light.js +2 -2
  114. package/lib/theme/themes/highlights-light.js.map +1 -1
  115. package/lib/theme/themes/light.js +2 -2
  116. package/lib/theme/themes/light.js.map +1 -1
  117. package/lib/theme/utils.js +140 -215
  118. package/lib/theme/utils.js.map +1 -1
  119. package/lib/theme/utils.mjs +135 -214
  120. package/lib/theme/utils.mjs.map +1 -1
  121. package/lib/utils/CSSinJS.js +8 -10
  122. package/lib/utils/CSSinJS.js.map +1 -1
  123. package/lib/utils/CSSinJS.mjs +6 -7
  124. package/lib/utils/CSSinJS.mjs.map +1 -1
  125. package/lib/utils/ThemeProvider.js +44 -51
  126. package/lib/utils/ThemeProvider.js.map +1 -1
  127. package/lib/utils/ThemeProvider.mjs +36 -47
  128. package/lib/utils/ThemeProvider.mjs.map +1 -1
  129. package/lib/utils/addonText.js +4 -7
  130. package/lib/utils/addonText.js.map +1 -1
  131. package/lib/utils/addonText.mjs +2 -5
  132. package/lib/utils/addonText.mjs.map +1 -1
  133. package/lib/utils/addonTextChildren.js +15 -21
  134. package/lib/utils/addonTextChildren.js.map +1 -1
  135. package/lib/utils/addonTextChildren.mjs +7 -13
  136. package/lib/utils/addonTextChildren.mjs.map +1 -1
  137. package/lib/utils/ariaProps.js +7 -5
  138. package/lib/utils/ariaProps.js.map +1 -1
  139. package/lib/utils/ariaProps.mjs +7 -5
  140. package/lib/utils/ariaProps.mjs.map +1 -1
  141. package/lib/utils/assignProps.js +33 -37
  142. package/lib/utils/assignProps.js.map +1 -1
  143. package/lib/utils/assignProps.mjs +32 -36
  144. package/lib/utils/assignProps.mjs.map +1 -1
  145. package/lib/utils/canUseDOM.js +1 -1
  146. package/lib/utils/capitalizeFirstLetter.js +1 -1
  147. package/lib/utils/color.js +72 -95
  148. package/lib/utils/color.js.map +1 -1
  149. package/lib/utils/color.mjs +71 -94
  150. package/lib/utils/color.mjs.map +1 -1
  151. package/lib/utils/compose.js +3 -12
  152. package/lib/utils/compose.js.map +1 -1
  153. package/lib/utils/compose.mjs +2 -11
  154. package/lib/utils/compose.mjs.map +1 -1
  155. package/lib/utils/createUUID.js +5 -5
  156. package/lib/utils/createUUID.js.map +1 -1
  157. package/lib/utils/createUUID.mjs +4 -4
  158. package/lib/utils/createUUID.mjs.map +1 -1
  159. package/lib/utils/cssToIntDefault.js +3 -4
  160. package/lib/utils/cssToIntDefault.js.map +1 -1
  161. package/lib/utils/cssToIntDefault.mjs +2 -3
  162. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  163. package/lib/utils/enhances/WithCSS.js +10 -8
  164. package/lib/utils/enhances/WithCSS.js.map +1 -1
  165. package/lib/utils/enhances/WithCSS.mjs +7 -6
  166. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  167. package/lib/utils/enhances/WithI18n.js +19 -19
  168. package/lib/utils/enhances/WithI18n.js.map +1 -1
  169. package/lib/utils/enhances/WithI18n.mjs +15 -17
  170. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  171. package/lib/utils/enhances/a11yEnhance.js +34 -39
  172. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  173. package/lib/utils/enhances/a11yEnhance.mjs +32 -36
  174. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  175. package/lib/utils/enhances/animatedSizeEnhance.js +55 -63
  176. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  177. package/lib/utils/enhances/animatedSizeEnhance.mjs +50 -58
  178. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  179. package/lib/utils/enhances/contextEnhance.js +12 -11
  180. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  181. package/lib/utils/enhances/contextEnhance.mjs +9 -8
  182. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  183. package/lib/utils/enhances/i18nEnhance.js +51 -67
  184. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  185. package/lib/utils/enhances/i18nEnhance.mjs +47 -61
  186. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  187. package/lib/utils/enhances/resolveColorEnhance.js +12 -10
  188. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  189. package/lib/utils/enhances/resolveColorEnhance.mjs +8 -6
  190. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  191. package/lib/utils/eventEmitter.js +30 -57
  192. package/lib/utils/eventEmitter.js.map +1 -1
  193. package/lib/utils/eventEmitter.mjs +26 -55
  194. package/lib/utils/eventEmitter.mjs.map +1 -1
  195. package/lib/utils/findComponent.js +35 -42
  196. package/lib/utils/findComponent.js.map +1 -1
  197. package/lib/utils/findComponent.mjs +26 -33
  198. package/lib/utils/findComponent.mjs.map +1 -1
  199. package/lib/utils/fire.js +7 -13
  200. package/lib/utils/fire.js.map +1 -1
  201. package/lib/utils/fire.mjs +5 -11
  202. package/lib/utils/fire.mjs.map +1 -1
  203. package/lib/utils/focus-lock/focusBorders.js +28 -32
  204. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  205. package/lib/utils/focus-lock/focusBorders.mjs +26 -32
  206. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  207. package/lib/utils/focus-lock/getFocusableIn.js +4 -6
  208. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  209. package/lib/utils/focus-lock/getFocusableIn.mjs +3 -6
  210. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  211. package/lib/utils/focus-lock/isFocusInside.js +5 -6
  212. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  213. package/lib/utils/focus-lock/isFocusInside.mjs +4 -6
  214. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  215. package/lib/utils/focus-lock/isFocusable.js +9 -12
  216. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  217. package/lib/utils/focus-lock/isFocusable.mjs +8 -11
  218. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  219. package/lib/utils/focus-lock/setFocus.js +21 -27
  220. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  221. package/lib/utils/focus-lock/setFocus.mjs +19 -25
  222. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  223. package/lib/utils/getAccessibleName.js +10 -22
  224. package/lib/utils/getAccessibleName.js.map +1 -1
  225. package/lib/utils/getAccessibleName.mjs +10 -21
  226. package/lib/utils/getAccessibleName.mjs.map +1 -1
  227. package/lib/utils/getDisplayName.js +1 -1
  228. package/lib/utils/getEventTarget.js +13 -32
  229. package/lib/utils/getEventTarget.js.map +1 -1
  230. package/lib/utils/getEventTarget.mjs +12 -31
  231. package/lib/utils/getEventTarget.mjs.map +1 -1
  232. package/lib/utils/getOriginChildren.js +4 -4
  233. package/lib/utils/getOriginChildren.js.map +1 -1
  234. package/lib/utils/getRandomInt.js +1 -1
  235. package/lib/utils/getValue.js +4 -6
  236. package/lib/utils/getValue.js.map +1 -1
  237. package/lib/utils/getValue.mjs +3 -5
  238. package/lib/utils/getValue.mjs.map +1 -1
  239. package/lib/utils/hasLabels.js +16 -27
  240. package/lib/utils/hasLabels.js.map +1 -1
  241. package/lib/utils/hasLabels.mjs +14 -24
  242. package/lib/utils/hasLabels.mjs.map +1 -1
  243. package/lib/utils/hasParent.js +3 -2
  244. package/lib/utils/hasParent.js.map +1 -1
  245. package/lib/utils/hasParent.mjs +2 -3
  246. package/lib/utils/hasParent.mjs.map +1 -1
  247. package/lib/utils/ifChildren.js +6 -4
  248. package/lib/utils/ifChildren.js.map +1 -1
  249. package/lib/utils/ifChildren.mjs +4 -2
  250. package/lib/utils/ifChildren.mjs.map +1 -1
  251. package/lib/utils/injectStyle.js +11 -13
  252. package/lib/utils/injectStyle.js.map +1 -1
  253. package/lib/utils/injectStyle.mjs +9 -10
  254. package/lib/utils/injectStyle.mjs.map +1 -1
  255. package/lib/utils/inputProps.js +5 -5
  256. package/lib/utils/inputProps.js.map +1 -1
  257. package/lib/utils/inputProps.mjs +4 -4
  258. package/lib/utils/inputProps.mjs.map +1 -1
  259. package/lib/utils/isInteractiveElement.js +7 -9
  260. package/lib/utils/isInteractiveElement.js.map +1 -1
  261. package/lib/utils/isInteractiveElement.mjs +7 -9
  262. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  263. package/lib/utils/isNode.js +4 -5
  264. package/lib/utils/isNode.js.map +1 -1
  265. package/lib/utils/isNode.mjs +1 -2
  266. package/lib/utils/isNode.mjs.map +1 -1
  267. package/lib/utils/isPromise.js +1 -1
  268. package/lib/utils/isRetina.js +7 -2
  269. package/lib/utils/isRetina.js.map +1 -1
  270. package/lib/utils/isRetina.mjs +6 -1
  271. package/lib/utils/isRetina.mjs.map +1 -1
  272. package/lib/utils/logger.js +18 -25
  273. package/lib/utils/logger.js.map +1 -1
  274. package/lib/utils/logger.mjs +13 -21
  275. package/lib/utils/logger.mjs.map +1 -1
  276. package/lib/utils/numericChecker.js +11 -18
  277. package/lib/utils/numericChecker.js.map +1 -1
  278. package/lib/utils/numericChecker.mjs +10 -17
  279. package/lib/utils/numericChecker.mjs.map +1 -1
  280. package/lib/utils/ownerDocument.js +2 -2
  281. package/lib/utils/ownerDocument.js.map +1 -1
  282. package/lib/utils/ownerDocument.mjs +1 -1
  283. package/lib/utils/ownerDocument.mjs.map +1 -1
  284. package/lib/utils/pick.js +5 -5
  285. package/lib/utils/pick.js.map +1 -1
  286. package/lib/utils/pick.mjs +4 -4
  287. package/lib/utils/pick.mjs.map +1 -1
  288. package/lib/utils/propsForElement.js +10 -12
  289. package/lib/utils/propsForElement.js.map +1 -1
  290. package/lib/utils/propsForElement.mjs +8 -10
  291. package/lib/utils/propsForElement.mjs.map +1 -1
  292. package/lib/utils/rafTrottle.js +9 -14
  293. package/lib/utils/rafTrottle.js.map +1 -1
  294. package/lib/utils/rafTrottle.mjs +7 -12
  295. package/lib/utils/rafTrottle.mjs.map +1 -1
  296. package/lib/utils/reactToText.js +5 -8
  297. package/lib/utils/reactToText.js.map +1 -1
  298. package/lib/utils/reactToText.mjs +3 -6
  299. package/lib/utils/reactToText.mjs.map +1 -1
  300. package/lib/utils/ref.js +29 -47
  301. package/lib/utils/ref.js.map +1 -1
  302. package/lib/utils/ref.mjs +27 -43
  303. package/lib/utils/ref.mjs.map +1 -1
  304. package/lib/utils/setRef.js +2 -2
  305. package/lib/utils/setRef.js.map +1 -1
  306. package/lib/utils/syncScroll.js +24 -24
  307. package/lib/utils/syncScroll.js.map +1 -1
  308. package/lib/utils/syncScroll.mjs +21 -21
  309. package/lib/utils/syncScroll.mjs.map +1 -1
  310. package/lib/utils/uncontroll.js +8 -18
  311. package/lib/utils/uncontroll.js.map +1 -1
  312. package/lib/utils/uncontroll.mjs +8 -17
  313. package/lib/utils/uncontroll.mjs.map +1 -1
  314. package/lib/utils/uniqueID.js +22 -27
  315. package/lib/utils/uniqueID.js.map +1 -1
  316. package/lib/utils/uniqueID.mjs +18 -25
  317. package/lib/utils/uniqueID.mjs.map +1 -1
  318. package/lib/utils/use/useColorResolver.js +20 -21
  319. package/lib/utils/use/useColorResolver.js.map +1 -1
  320. package/lib/utils/use/useColorResolver.mjs +16 -18
  321. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  322. package/lib/utils/use/useEnhancedEffect.js +4 -4
  323. package/lib/utils/use/useEnhancedEffect.js.map +1 -1
  324. package/lib/utils/use/useEnhancedEffect.mjs +1 -1
  325. package/lib/utils/use/useEnhancedEffect.mjs.map +1 -1
  326. package/lib/utils/use/useEventCallback.js +5 -10
  327. package/lib/utils/use/useEventCallback.js.map +1 -1
  328. package/lib/utils/use/useEventCallback.mjs +3 -8
  329. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  330. package/lib/utils/use/useEventListener.js +11 -15
  331. package/lib/utils/use/useEventListener.js.map +1 -1
  332. package/lib/utils/use/useEventListener.mjs +7 -11
  333. package/lib/utils/use/useEventListener.mjs.map +1 -1
  334. package/lib/utils/use/useFocusLock.js +80 -94
  335. package/lib/utils/use/useFocusLock.js.map +1 -1
  336. package/lib/utils/use/useFocusLock.mjs +71 -88
  337. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  338. package/lib/utils/use/usePreventScroll.js +26 -28
  339. package/lib/utils/use/usePreventScroll.js.map +1 -1
  340. package/lib/utils/use/usePreventScroll.mjs +21 -23
  341. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  342. package/lib/utils/use/useScrollBarWidth.js +8 -14
  343. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  344. package/lib/utils/use/useScrollBarWidth.mjs +8 -13
  345. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  346. package/lib/utils/useCssVariable.js +32 -37
  347. package/lib/utils/useCssVariable.js.map +1 -1
  348. package/lib/utils/useCssVariable.mjs +27 -34
  349. package/lib/utils/useCssVariable.mjs.map +1 -1
  350. package/lib/utils/zIndexStacking.js +28 -24
  351. package/lib/utils/zIndexStacking.js.map +1 -1
  352. package/lib/utils/zIndexStacking.mjs +23 -22
  353. package/lib/utils/zIndexStacking.mjs.map +1 -1
  354. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","exports","_ref","_asyncToGenerator2","_regenerator2","m","_callee","path","content","originalContent","_t","w","_context","p","n","fs","readFile","v","replace","a","writeFile","_x","_x2","apply","arguments","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","autoTheme","_loop","theme","_themes","_i","prefix","_JSON$parse","JSON","parse","concat","base","tokens","featureHighlight","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","tokensToCss","tokensToJs","length","usages","projectCssPaths","glob","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","_iterator","_createForOfIteratorHelper2","_step","_loop2","node","value","valueAst","valuesParser","traverseValueAst","parent","_iterator2","_step2","s","done","_usages$withoutPrefix","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","push","name","endsWith","prop","variableName","hasDefault","sourceIndex","before","after","withoutPrefix","substring","err","e","f","toString","root","from","undefined","index","css","unusedVariables","variable","console","log","join","_iterator3","_step3","literal","designTokensDocumentation","token","has","_usages$token","components","_toConsumableArray2","Set","cssPath","sort","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","_data$key$description","stringify","autoThemeLines","selector","execSync","encoding","cwd","stdio"],"sources":["../../src/theme/processor.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport { resolve as resolvePath } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport glob from 'fast-glob';\nimport postcss from 'postcss';\nimport valuesParser from 'postcss-value-parser';\n\nimport { processTokens, tokensToCss, tokensToJs, tokensToJson } from './utils';\n\ntype Token = {\n name: string;\n value: string;\n description?: string;\n};\n\nexport const writeIfChanged = async (path: string, content: string) => {\n try {\n const originalContent = await fs.readFile(path, 'utf-8');\n if (originalContent.replace(/[\\s\\n]/g, '') === content.replace(/[\\s\\n]/g, '')) {\n return;\n }\n } catch {}\n await fs.writeFile(path, content);\n};\n\nconst defaultTheme = 'light';\nconst themes = ['light', 'dark'];\n\nconst warning = !process.argv.includes('--no-warning');\n\nconst dirname = resolvePath(fileURLToPath(import.meta.url), '..');\n\nconst autoTheme: Record<string, { name: string; value: string; description: string }[]> = {};\n\nfor (const theme of themes) {\n const prefix = 'intergalactic';\n const { base, tokens, featureHighlight } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n featureHighlight,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens, highlightsTokens } = processed;\n const { processedTokens } = processed;\n\n await writeIfChanged(\n `./semcore/core/src/theme/themes/${theme}.css`,\n tokensToCss(processedTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));\n\n if (highlightsTokens.length > 0) {\n await writeIfChanged(\n `./semcore/core/src/theme/themes/highlights-${theme}.css`,\n tokensToCss(highlightsTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));\n }\n\n autoTheme[theme] = processedTokens;\n\n const usages: { [tokenName: string]: string[] } = {};\n if (theme === defaultTheme) {\n await writeIfChanged(\n './semcore/core/src/theme/themes/default.css',\n tokensToCss(processedTokens),\n );\n await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));\n\n const projectCssPaths = (\n await glob('./semcore/*/src/**/*.shadow.css', {\n ignore: ['node_modules', 'lib'],\n })\n ).filter((path) => {\n if (path.split('/').some((pathPart) => ['chart', 'email', 'table'].includes(pathPart))) {\n return false;\n }\n return true;\n });\n\n const projectCssContents = await Promise.all(\n projectCssPaths.map((path) => fs.readFile(path, 'utf-8')),\n );\n\n const usedVariables: any = {};\n\n const colorLiterals: { path: string; name: string }[] = [];\n\n const processedCss = await Promise.all(\n projectCssContents.map((cssContent, fileIndex) =>\n postcss([\n {\n postcssPlugin: 'variables-explored',\n prepare: (result) => {\n const traverseAst = (nodes: any[]) => {\n for (const node of nodes) {\n if (node.nodes) {\n traverseAst(node.nodes);\n }\n if (node.value) {\n const valueAst = valuesParser(node.value);\n const traverseValueAst = (nodes: any[], parent: any) => {\n for (const valueNode of nodes) {\n if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);\n if (valueNode.type === 'function' && valueNode.value === 'color-mod') {\n throw new Error(\n `Found restricted function color-mod in ${projectCssPaths[fileIndex]}`,\n );\n }\n\n const parentIsVariable =\n parent?.type === 'function' && parent?.value === 'var';\n if (!parentIsVariable) {\n const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];\n const skipNode =\n prevNode?.type === 'comment' &&\n prevNode.text.trim() === 'disable-tokens-validator';\n if (skipNode) continue;\n\n if (\n valueNode.type === 'word' &&\n (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n if (\n valueNode.type === 'word' &&\n valueNode.value.endsWith('px') &&\n (node.prop.includes('padding') ||\n node.prop.includes('margin') ||\n node.prop.includes('radius') ||\n node.prop.includes('font-size'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n }\n if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;\n const variableName = valueNode.nodes[0].value;\n if (!variableName.startsWith(`--${prefix}`)) {\n // if (legacyCssVariables[variableName] !== undefined) {\n // legacyCssVariables[variableName]++;\n // }\n continue;\n }\n const hasDefault = valueNode.nodes.length === 3;\n if (!hasDefault) {\n valueNode.nodes.push(\n {\n type: 'div',\n sourceIndex: -1,\n value: ',',\n before: '',\n after: ' ',\n },\n {\n type: 'word',\n sourceIndex: -1,\n value: '',\n },\n );\n }\n const withoutPrefix = variableName.substring(`--${prefix}-`.length);\n usedVariables[withoutPrefix] = true;\n if (!values[withoutPrefix]) {\n throw new Error(\n `Variable ${variableName} is used in project but not presented in design tokens list`,\n );\n }\n valueNode.nodes[2].type = 'word';\n valueNode.nodes[2].value = values[withoutPrefix];\n valueNode.nodes[2].nodes = [];\n valueNode.nodes.length = 3;\n usages[withoutPrefix] = usages[withoutPrefix] ?? [];\n usages[withoutPrefix].push(projectCssPaths[fileIndex]);\n }\n };\n traverseValueAst(valueAst.nodes, null);\n node.value = valueAst.toString();\n }\n }\n };\n traverseAst(result.root.nodes);\n return {};\n },\n },\n ]).process(cssContent, {\n from: undefined,\n }),\n ),\n );\n await Promise.all(\n projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)),\n );\n\n const unusedVariables: string[] = [];\n for (const variable in values) {\n if (!usedVariables[variable]) {\n unusedVariables.push(variable);\n }\n }\n\n if (warning) {\n if (unusedVariables.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unused design tokens:');\n // eslint-disable-next-line no-console\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\n // eslint-disable-next-line no-console\n console.log(`${literal.name} in ${literal.path}`);\n }\n }\n }\n\n const designTokensDocumentation: {\n name: string;\n type: string;\n rawValue: string;\n computedValue: string;\n description: string;\n components: string[];\n }[] = [];\n\n for (const token in values) {\n if (!basicTokens.has(token)) {\n const components = [\n ...new Set((usages[token] ?? []).map((cssPath) => cssPath.split('/')[2])),\n ];\n components.sort((a, b) => a.localeCompare(b));\n\n designTokensDocumentation.push({\n name: `--${prefix}-${token}`,\n type: types[token],\n rawValue: rawValues[token],\n computedValue: values[token],\n description: descriptions[token],\n components,\n });\n }\n }\n\n const baseTokensDocumentation: Token[] = [];\n\n const processGroup = (group: string, data: any) => {\n for (const key in data) {\n if (data[key].value) {\n const token: Token = {\n name: `--${group}-${key}`,\n value: data[key].value,\n };\n\n if (data[key].description?.trim()) {\n token.description = data[key].description;\n }\n\n baseTokensDocumentation.push(token);\n } else {\n processGroup(`${group}-${key}`, data[key]);\n }\n }\n };\n\n for (const group in base) {\n processGroup(group, base[group]);\n }\n\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'),\n JSON.stringify(designTokensDocumentation, null, 2) + '\\n',\n );\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'),\n JSON.stringify(baseTokensDocumentation, null, 2) + '\\n',\n );\n }\n}\n\nconst autoThemeLines: string[] = [];\nfor (const theme in autoTheme) {\n const selector = theme === defaultTheme ? ':root' : `.${theme}`;\n autoThemeLines.push(tokensToCss(autoTheme[theme], selector));\n}\n\nawait writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\\n'));\n\nexecSync('pnpm lint:css --fix', {\n encoding: 'utf-8',\n cwd: resolvePath(dirname, '../../../../'),\n stdio: ['inherit', 'inherit', 'inherit'],\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"processor.js","names":["_nodeChild_process","require","_promises","_interopRequireDefault","_nodePath","_nodeUrl","_fastGlob","_postcss","_postcssValueParser","_utils","writeIfChanged","path","content","originalContent","fs","readFile","replace","writeFile","exports","defaultTheme","themes","warning","process","argv","includes","dirname","resolvePath","fileURLToPath","import","meta","url","autoTheme","theme","prefix","base","tokens","featureHighlight","JSON","parse","processed","processTokens","values","types","rawValues","descriptions","basicTokens","highlightsTokens","processedTokens","tokensToCss","tokensToJs","length","usages","projectCssPaths","glob","ignore","filter","split","some","pathPart","projectCssContents","Promise","all","map","usedVariables","colorLiterals","processedCss","cssContent","fileIndex","postcss","postcssPlugin","prepare","result","traverseAst","nodes","node","value","valueAst","valuesParser","traverseValueAst","parent","valueNode","type","Error","parentIsVariable","prevNode","indexOf","skipNode","text","trim","startsWith","location","source","start","line","offset","push","name","endsWith","prop","variableName","hasDefault","sourceIndex","before","after","withoutPrefix","substring","toString","root","from","undefined","index","css","unusedVariables","variable","console","log","join","literal","designTokensDocumentation","token","has","components","Set","cssPath","sort","a","b","localeCompare","rawValue","computedValue","description","baseTokensDocumentation","processGroup","group","data","key","stringify","autoThemeLines","selector","execSync","encoding","cwd","stdio"],"sources":["../../src/theme/processor.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport { resolve as resolvePath } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport glob from 'fast-glob';\nimport postcss from 'postcss';\nimport valuesParser from 'postcss-value-parser';\n\nimport { processTokens, tokensToCss, tokensToJs, tokensToJson } from './utils';\n\ntype Token = {\n name: string;\n value: string;\n description?: string;\n};\n\nexport const writeIfChanged = async (path: string, content: string) => {\n try {\n const originalContent = await fs.readFile(path, 'utf-8');\n if (originalContent.replace(/[\\s\\n]/g, '') === content.replace(/[\\s\\n]/g, '')) {\n return;\n }\n } catch {}\n await fs.writeFile(path, content);\n};\n\nconst defaultTheme = 'light';\nconst themes = ['light', 'dark'];\n\nconst warning = !process.argv.includes('--no-warning');\n\nconst dirname = resolvePath(fileURLToPath(import.meta.url), '..');\n\nconst autoTheme: Record<string, { name: string; value: string; description: string }[]> = {};\n\nfor (const theme of themes) {\n const prefix = 'intergalactic';\n const { base, tokens, featureHighlight } = JSON.parse(\n await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'),\n );\n const processed = processTokens(\n base,\n tokens,\n featureHighlight,\n prefix,\n );\n const { values, types, rawValues, descriptions, basicTokens, highlightsTokens } = processed;\n const { processedTokens } = processed;\n\n await writeIfChanged(\n `./semcore/core/src/theme/themes/${theme}.css`,\n tokensToCss(processedTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));\n\n if (highlightsTokens.length > 0) {\n await writeIfChanged(\n `./semcore/core/src/theme/themes/highlights-${theme}.css`,\n tokensToCss(highlightsTokens),\n );\n await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));\n }\n\n autoTheme[theme] = processedTokens;\n\n const usages: { [tokenName: string]: string[] } = {};\n if (theme === defaultTheme) {\n await writeIfChanged(\n './semcore/core/src/theme/themes/default.css',\n tokensToCss(processedTokens),\n );\n await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));\n\n const projectCssPaths = (\n await glob('./semcore/*/src/**/*.shadow.css', {\n ignore: ['node_modules', 'lib'],\n })\n ).filter((path) => {\n if (path.split('/').some((pathPart) => ['chart', 'email', 'table'].includes(pathPart))) {\n return false;\n }\n return true;\n });\n\n const projectCssContents = await Promise.all(\n projectCssPaths.map((path) => fs.readFile(path, 'utf-8')),\n );\n\n const usedVariables: any = {};\n\n const colorLiterals: { path: string; name: string }[] = [];\n\n const processedCss = await Promise.all(\n projectCssContents.map((cssContent, fileIndex) =>\n postcss([\n {\n postcssPlugin: 'variables-explored',\n prepare: (result) => {\n const traverseAst = (nodes: any[]) => {\n for (const node of nodes) {\n if (node.nodes) {\n traverseAst(node.nodes);\n }\n if (node.value) {\n const valueAst = valuesParser(node.value);\n const traverseValueAst = (nodes: any[], parent: any) => {\n for (const valueNode of nodes) {\n if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);\n if (valueNode.type === 'function' && valueNode.value === 'color-mod') {\n throw new Error(\n `Found restricted function color-mod in ${projectCssPaths[fileIndex]}`,\n );\n }\n\n const parentIsVariable =\n parent?.type === 'function' && parent?.value === 'var';\n if (!parentIsVariable) {\n const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];\n const skipNode =\n prevNode?.type === 'comment' &&\n prevNode.text.trim() === 'disable-tokens-validator';\n if (skipNode) continue;\n\n if (\n valueNode.type === 'word' &&\n (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n if (\n valueNode.type === 'word' &&\n valueNode.value.endsWith('px') &&\n (node.prop.includes('padding') ||\n node.prop.includes('margin') ||\n node.prop.includes('radius') ||\n node.prop.includes('font-size'))\n ) {\n const location = `${node.source.start.line}:${node.source.start.offset}`;\n colorLiterals.push({\n path: `${projectCssPaths[fileIndex]}:${location}`,\n name: valueNode.value,\n });\n }\n }\n if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;\n const variableName = valueNode.nodes[0].value;\n if (!variableName.startsWith(`--${prefix}`)) {\n // if (legacyCssVariables[variableName] !== undefined) {\n // legacyCssVariables[variableName]++;\n // }\n continue;\n }\n const hasDefault = valueNode.nodes.length === 3;\n if (!hasDefault) {\n valueNode.nodes.push(\n {\n type: 'div',\n sourceIndex: -1,\n value: ',',\n before: '',\n after: ' ',\n },\n {\n type: 'word',\n sourceIndex: -1,\n value: '',\n },\n );\n }\n const withoutPrefix = variableName.substring(`--${prefix}-`.length);\n usedVariables[withoutPrefix] = true;\n if (!values[withoutPrefix]) {\n throw new Error(\n `Variable ${variableName} is used in project but not presented in design tokens list`,\n );\n }\n valueNode.nodes[2].type = 'word';\n valueNode.nodes[2].value = values[withoutPrefix];\n valueNode.nodes[2].nodes = [];\n valueNode.nodes.length = 3;\n usages[withoutPrefix] = usages[withoutPrefix] ?? [];\n usages[withoutPrefix].push(projectCssPaths[fileIndex]);\n }\n };\n traverseValueAst(valueAst.nodes, null);\n node.value = valueAst.toString();\n }\n }\n };\n traverseAst(result.root.nodes);\n return {};\n },\n },\n ]).process(cssContent, {\n from: undefined,\n }),\n ),\n );\n await Promise.all(\n projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)),\n );\n\n const unusedVariables: string[] = [];\n for (const variable in values) {\n if (!usedVariables[variable]) {\n unusedVariables.push(variable);\n }\n }\n\n if (warning) {\n if (unusedVariables.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unused design tokens:');\n // eslint-disable-next-line no-console\n console.log(unusedVariables.join('\\n'));\n }\n if (colorLiterals.length > 0) {\n // eslint-disable-next-line no-console\n console.log('Unexpected color literals:');\n for (const literal of colorLiterals) {\n // eslint-disable-next-line no-console\n console.log(`${literal.name} in ${literal.path}`);\n }\n }\n }\n\n const designTokensDocumentation: {\n name: string;\n type: string;\n rawValue: string;\n computedValue: string;\n description: string;\n components: string[];\n }[] = [];\n\n for (const token in values) {\n if (!basicTokens.has(token)) {\n const components = [\n ...new Set((usages[token] ?? []).map((cssPath) => cssPath.split('/')[2])),\n ];\n components.sort((a, b) => a.localeCompare(b));\n\n designTokensDocumentation.push({\n name: `--${prefix}-${token}`,\n type: types[token],\n rawValue: rawValues[token],\n computedValue: values[token],\n description: descriptions[token],\n components,\n });\n }\n }\n\n const baseTokensDocumentation: Token[] = [];\n\n const processGroup = (group: string, data: any) => {\n for (const key in data) {\n if (data[key].value) {\n const token: Token = {\n name: `--${group}-${key}`,\n value: data[key].value,\n };\n\n if (data[key].description?.trim()) {\n token.description = data[key].description;\n }\n\n baseTokensDocumentation.push(token);\n } else {\n processGroup(`${group}-${key}`, data[key]);\n }\n }\n };\n\n for (const group in base) {\n processGroup(group, base[group]);\n }\n\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'),\n JSON.stringify(designTokensDocumentation, null, 2) + '\\n',\n );\n await writeIfChanged(\n resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'),\n JSON.stringify(baseTokensDocumentation, null, 2) + '\\n',\n );\n }\n}\n\nconst autoThemeLines: string[] = [];\nfor (const theme in autoTheme) {\n const selector = theme === defaultTheme ? ':root' : `.${theme}`;\n autoThemeLines.push(tokensToCss(autoTheme[theme], selector));\n}\n\nawait writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\\n'));\n\nexecSync('pnpm lint:css --fix', {\n encoding: 'utf-8',\n cwd: resolvePath(dirname, '../../../../'),\n stdio: ['inherit', 'inherit', 'inherit'],\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,3 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
3
- import _regenerator from "@babel/runtime/helpers/esm/regenerator";
4
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
1
  import { execSync } from 'node:child_process';
6
2
  import fs from 'node:fs/promises';
7
3
  import { resolve as resolvePath } from 'node:path';
@@ -10,197 +6,146 @@ import glob from 'fast-glob';
10
6
  import postcss from 'postcss';
11
7
  import valuesParser from 'postcss-value-parser';
12
8
  import { processTokens, tokensToCss, tokensToJs } from "./utils.mjs";
13
- export var writeIfChanged = /*#__PURE__*/function () {
14
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(path, content) {
15
- var originalContent, _t;
16
- return _regenerator().w(function (_context) {
17
- while (1) switch (_context.p = _context.n) {
18
- case 0:
19
- _context.p = 0;
20
- _context.n = 1;
21
- return fs.readFile(path, 'utf-8');
22
- case 1:
23
- originalContent = _context.v;
24
- if (!(originalContent.replace(/[\s\n]/g, '') === content.replace(/[\s\n]/g, ''))) {
25
- _context.n = 2;
26
- break;
27
- }
28
- return _context.a(2);
29
- case 2:
30
- _context.n = 4;
31
- break;
32
- case 3:
33
- _context.p = 3;
34
- _t = _context.v;
35
- case 4:
36
- _context.n = 5;
37
- return fs.writeFile(path, content);
38
- case 5:
39
- return _context.a(2);
40
- }
41
- }, _callee, null, [[0, 3]]);
42
- }));
43
- return function writeIfChanged(_x, _x2) {
44
- return _ref.apply(this, arguments);
45
- };
46
- }();
47
- var defaultTheme = 'light';
48
- var themes = ['light', 'dark'];
49
- var warning = !process.argv.includes('--no-warning');
50
- var dirname = resolvePath(fileURLToPath(import.meta.url), '..');
51
- var autoTheme = {};
52
- var _loop = function _loop() {
53
- var theme = _themes[_i];
54
- var prefix = 'intergalactic';
55
- var _JSON$parse = JSON.parse(await fs.readFile(resolvePath(dirname, "./".concat(theme, ".json")), 'utf-8')),
56
- base = _JSON$parse.base,
57
- tokens = _JSON$parse.tokens,
58
- featureHighlight = _JSON$parse.featureHighlight;
59
- var processed = processTokens(base, tokens, featureHighlight, prefix);
60
- var values = processed.values,
61
- types = processed.types,
62
- rawValues = processed.rawValues,
63
- descriptions = processed.descriptions,
64
- basicTokens = processed.basicTokens,
65
- highlightsTokens = processed.highlightsTokens;
66
- var processedTokens = processed.processedTokens;
67
- await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".css"), tokensToCss(processedTokens));
68
- await writeIfChanged("./semcore/core/src/theme/themes/".concat(theme, ".ts"), tokensToJs(processedTokens));
9
+ export const writeIfChanged = async (path, content) => {
10
+ try {
11
+ const originalContent = await fs.readFile(path, 'utf-8');
12
+ if (originalContent.replace(/[\s\n]/g, '') === content.replace(/[\s\n]/g, '')) {
13
+ return;
14
+ }
15
+ } catch {}
16
+ await fs.writeFile(path, content);
17
+ };
18
+ const defaultTheme = 'light';
19
+ const themes = ['light', 'dark'];
20
+ const warning = !process.argv.includes('--no-warning');
21
+ const dirname = resolvePath(fileURLToPath(import.meta.url), '..');
22
+ const autoTheme = {};
23
+ for (const theme of themes) {
24
+ const prefix = 'intergalactic';
25
+ const {
26
+ base,
27
+ tokens,
28
+ featureHighlight
29
+ } = JSON.parse(await fs.readFile(resolvePath(dirname, `./${theme}.json`), 'utf-8'));
30
+ const processed = processTokens(base, tokens, featureHighlight, prefix);
31
+ const {
32
+ values,
33
+ types,
34
+ rawValues,
35
+ descriptions,
36
+ basicTokens,
37
+ highlightsTokens
38
+ } = processed;
39
+ const {
40
+ processedTokens
41
+ } = processed;
42
+ await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.css`, tokensToCss(processedTokens));
43
+ await writeIfChanged(`./semcore/core/src/theme/themes/${theme}.ts`, tokensToJs(processedTokens));
69
44
  if (highlightsTokens.length > 0) {
70
- await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".css"), tokensToCss(highlightsTokens));
71
- await writeIfChanged("./semcore/core/src/theme/themes/highlights-".concat(theme, ".ts"), tokensToJs(highlightsTokens));
45
+ await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.css`, tokensToCss(highlightsTokens));
46
+ await writeIfChanged(`./semcore/core/src/theme/themes/highlights-${theme}.ts`, tokensToJs(highlightsTokens));
72
47
  }
73
48
  autoTheme[theme] = processedTokens;
74
- var usages = {};
49
+ const usages = {};
75
50
  if (theme === defaultTheme) {
76
51
  await writeIfChanged('./semcore/core/src/theme/themes/default.css', tokensToCss(processedTokens));
77
52
  await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));
78
- var projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
53
+ const projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
79
54
  ignore: ['node_modules', 'lib']
80
- })).filter(function (path) {
81
- if (path.split('/').some(function (pathPart) {
82
- return ['chart', 'email', 'table'].includes(pathPart);
83
- })) {
55
+ })).filter(path => {
56
+ if (path.split('/').some(pathPart => ['chart', 'email', 'table'].includes(pathPart))) {
84
57
  return false;
85
58
  }
86
59
  return true;
87
60
  });
88
- var projectCssContents = await Promise.all(projectCssPaths.map(function (path) {
89
- return fs.readFile(path, 'utf-8');
90
- }));
91
- var usedVariables = {};
92
- var colorLiterals = [];
93
- var processedCss = await Promise.all(projectCssContents.map(function (cssContent, fileIndex) {
94
- return postcss([{
95
- postcssPlugin: 'variables-explored',
96
- prepare: function prepare(result) {
97
- var _traverseAst = function traverseAst(nodes) {
98
- var _iterator = _createForOfIteratorHelper(nodes),
99
- _step;
100
- try {
101
- var _loop2 = function _loop2() {
102
- var node = _step.value;
103
- if (node.nodes) {
104
- _traverseAst(node.nodes);
105
- }
106
- if (node.value) {
107
- var valueAst = valuesParser(node.value);
108
- var _traverseValueAst = function traverseValueAst(nodes, parent) {
109
- var _iterator2 = _createForOfIteratorHelper(nodes),
110
- _step2;
111
- try {
112
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
113
- var _usages$withoutPrefix;
114
- var valueNode = _step2.value;
115
- if (valueNode.nodes) _traverseValueAst(valueNode.nodes, valueNode);
116
- if (valueNode.type === 'function' && valueNode.value === 'color-mod') {
117
- throw new Error("Found restricted function color-mod in ".concat(projectCssPaths[fileIndex]));
118
- }
119
- var parentIsVariable = (parent === null || parent === void 0 ? void 0 : parent.type) === 'function' && (parent === null || parent === void 0 ? void 0 : parent.value) === 'var';
120
- if (!parentIsVariable) {
121
- var prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];
122
- var skipNode = (prevNode === null || prevNode === void 0 ? void 0 : prevNode.type) === 'comment' && prevNode.text.trim() === 'disable-tokens-validator';
123
- if (skipNode) continue;
124
- if (valueNode.type === 'word' && (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))) {
125
- var location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
126
- colorLiterals.push({
127
- path: "".concat(projectCssPaths[fileIndex], ":").concat(location),
128
- name: valueNode.value
129
- });
130
- }
131
- if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
132
- var _location = "".concat(node.source.start.line, ":").concat(node.source.start.offset);
133
- colorLiterals.push({
134
- path: "".concat(projectCssPaths[fileIndex], ":").concat(_location),
135
- name: valueNode.value
136
- });
137
- }
138
- }
139
- if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
140
- var variableName = valueNode.nodes[0].value;
141
- if (!variableName.startsWith("--".concat(prefix))) {
142
- // if (legacyCssVariables[variableName] !== undefined) {
143
- // legacyCssVariables[variableName]++;
144
- // }
145
- continue;
146
- }
147
- var hasDefault = valueNode.nodes.length === 3;
148
- if (!hasDefault) {
149
- valueNode.nodes.push({
150
- type: 'div',
151
- sourceIndex: -1,
152
- value: ',',
153
- before: '',
154
- after: ' '
155
- }, {
156
- type: 'word',
157
- sourceIndex: -1,
158
- value: ''
159
- });
160
- }
161
- var withoutPrefix = variableName.substring("--".concat(prefix, "-").length);
162
- usedVariables[withoutPrefix] = true;
163
- if (!values[withoutPrefix]) {
164
- throw new Error("Variable ".concat(variableName, " is used in project but not presented in design tokens list"));
165
- }
166
- valueNode.nodes[2].type = 'word';
167
- valueNode.nodes[2].value = values[withoutPrefix];
168
- valueNode.nodes[2].nodes = [];
169
- valueNode.nodes.length = 3;
170
- usages[withoutPrefix] = (_usages$withoutPrefix = usages[withoutPrefix]) !== null && _usages$withoutPrefix !== void 0 ? _usages$withoutPrefix : [];
171
- usages[withoutPrefix].push(projectCssPaths[fileIndex]);
172
- }
173
- } catch (err) {
174
- _iterator2.e(err);
175
- } finally {
176
- _iterator2.f();
61
+ const projectCssContents = await Promise.all(projectCssPaths.map(path => fs.readFile(path, 'utf-8')));
62
+ const usedVariables = {};
63
+ const colorLiterals = [];
64
+ const processedCss = await Promise.all(projectCssContents.map((cssContent, fileIndex) => postcss([{
65
+ postcssPlugin: 'variables-explored',
66
+ prepare: result => {
67
+ const traverseAst = nodes => {
68
+ for (const node of nodes) {
69
+ if (node.nodes) {
70
+ traverseAst(node.nodes);
71
+ }
72
+ if (node.value) {
73
+ const valueAst = valuesParser(node.value);
74
+ const traverseValueAst = (nodes, parent) => {
75
+ for (const valueNode of nodes) {
76
+ if (valueNode.nodes) traverseValueAst(valueNode.nodes, valueNode);
77
+ if (valueNode.type === 'function' && valueNode.value === 'color-mod') {
78
+ throw new Error(`Found restricted function color-mod in ${projectCssPaths[fileIndex]}`);
79
+ }
80
+ const parentIsVariable = parent?.type === 'function' && parent?.value === 'var';
81
+ if (!parentIsVariable) {
82
+ const prevNode = node.parent.nodes[node.parent.nodes.indexOf(node) - 1];
83
+ const skipNode = prevNode?.type === 'comment' && prevNode.text.trim() === 'disable-tokens-validator';
84
+ if (skipNode) continue;
85
+ if (valueNode.type === 'word' && (valueNode.value.startsWith('#') || valueNode.value.startsWith('rgb'))) {
86
+ const location = `${node.source.start.line}:${node.source.start.offset}`;
87
+ colorLiterals.push({
88
+ path: `${projectCssPaths[fileIndex]}:${location}`,
89
+ name: valueNode.value
90
+ });
91
+ }
92
+ if (valueNode.type === 'word' && valueNode.value.endsWith('px') && (node.prop.includes('padding') || node.prop.includes('margin') || node.prop.includes('radius') || node.prop.includes('font-size'))) {
93
+ const location = `${node.source.start.line}:${node.source.start.offset}`;
94
+ colorLiterals.push({
95
+ path: `${projectCssPaths[fileIndex]}:${location}`,
96
+ name: valueNode.value
97
+ });
177
98
  }
178
- };
179
- _traverseValueAst(valueAst.nodes, null);
180
- node.value = valueAst.toString();
99
+ }
100
+ if (valueNode.type !== 'function' || valueNode.value !== 'var') continue;
101
+ const variableName = valueNode.nodes[0].value;
102
+ if (!variableName.startsWith(`--${prefix}`)) {
103
+ // if (legacyCssVariables[variableName] !== undefined) {
104
+ // legacyCssVariables[variableName]++;
105
+ // }
106
+ continue;
107
+ }
108
+ const hasDefault = valueNode.nodes.length === 3;
109
+ if (!hasDefault) {
110
+ valueNode.nodes.push({
111
+ type: 'div',
112
+ sourceIndex: -1,
113
+ value: ',',
114
+ before: '',
115
+ after: ' '
116
+ }, {
117
+ type: 'word',
118
+ sourceIndex: -1,
119
+ value: ''
120
+ });
121
+ }
122
+ const withoutPrefix = variableName.substring(`--${prefix}-`.length);
123
+ usedVariables[withoutPrefix] = true;
124
+ if (!values[withoutPrefix]) {
125
+ throw new Error(`Variable ${variableName} is used in project but not presented in design tokens list`);
126
+ }
127
+ valueNode.nodes[2].type = 'word';
128
+ valueNode.nodes[2].value = values[withoutPrefix];
129
+ valueNode.nodes[2].nodes = [];
130
+ valueNode.nodes.length = 3;
131
+ usages[withoutPrefix] = usages[withoutPrefix] ?? [];
132
+ usages[withoutPrefix].push(projectCssPaths[fileIndex]);
181
133
  }
182
134
  };
183
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
184
- _loop2();
185
- }
186
- } catch (err) {
187
- _iterator.e(err);
188
- } finally {
189
- _iterator.f();
135
+ traverseValueAst(valueAst.nodes, null);
136
+ node.value = valueAst.toString();
190
137
  }
191
- };
192
- _traverseAst(result.root.nodes);
193
- return {};
194
- }
195
- }]).process(cssContent, {
196
- from: undefined
197
- });
198
- }));
199
- await Promise.all(projectCssPaths.map(function (path, index) {
200
- return writeIfChanged(path, processedCss[index].css);
201
- }));
202
- var unusedVariables = [];
203
- for (var variable in values) {
138
+ }
139
+ };
140
+ traverseAst(result.root.nodes);
141
+ return {};
142
+ }
143
+ }]).process(cssContent, {
144
+ from: undefined
145
+ })));
146
+ await Promise.all(projectCssPaths.map((path, index) => writeIfChanged(path, processedCss[index].css)));
147
+ const unusedVariables = [];
148
+ for (const variable in values) {
204
149
  if (!usedVariables[variable]) {
205
150
  unusedVariables.push(variable);
206
151
  }
@@ -215,72 +160,54 @@ var _loop = function _loop() {
215
160
  if (colorLiterals.length > 0) {
216
161
  // eslint-disable-next-line no-console
217
162
  console.log('Unexpected color literals:');
218
- var _iterator3 = _createForOfIteratorHelper(colorLiterals),
219
- _step3;
220
- try {
221
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
222
- var literal = _step3.value;
223
- // eslint-disable-next-line no-console
224
- console.log("".concat(literal.name, " in ").concat(literal.path));
225
- }
226
- } catch (err) {
227
- _iterator3.e(err);
228
- } finally {
229
- _iterator3.f();
163
+ for (const literal of colorLiterals) {
164
+ // eslint-disable-next-line no-console
165
+ console.log(`${literal.name} in ${literal.path}`);
230
166
  }
231
167
  }
232
168
  }
233
- var designTokensDocumentation = [];
234
- for (var token in values) {
169
+ const designTokensDocumentation = [];
170
+ for (const token in values) {
235
171
  if (!basicTokens.has(token)) {
236
- var _usages$token;
237
- var components = _toConsumableArray(new Set(((_usages$token = usages[token]) !== null && _usages$token !== void 0 ? _usages$token : []).map(function (cssPath) {
238
- return cssPath.split('/')[2];
239
- })));
240
- components.sort(function (a, b) {
241
- return a.localeCompare(b);
242
- });
172
+ const components = [...new Set((usages[token] ?? []).map(cssPath => cssPath.split('/')[2]))];
173
+ components.sort((a, b) => a.localeCompare(b));
243
174
  designTokensDocumentation.push({
244
- name: "--".concat(prefix, "-").concat(token),
175
+ name: `--${prefix}-${token}`,
245
176
  type: types[token],
246
177
  rawValue: rawValues[token],
247
178
  computedValue: values[token],
248
179
  description: descriptions[token],
249
- components: components
180
+ components
250
181
  });
251
182
  }
252
183
  }
253
- var baseTokensDocumentation = [];
254
- var _processGroup = function processGroup(group, data) {
255
- for (var key in data) {
184
+ const baseTokensDocumentation = [];
185
+ const processGroup = (group, data) => {
186
+ for (const key in data) {
256
187
  if (data[key].value) {
257
- var _data$key$description;
258
- var _token = {
259
- name: "--".concat(group, "-").concat(key),
188
+ const token = {
189
+ name: `--${group}-${key}`,
260
190
  value: data[key].value
261
191
  };
262
- if ((_data$key$description = data[key].description) !== null && _data$key$description !== void 0 && _data$key$description.trim()) {
263
- _token.description = data[key].description;
192
+ if (data[key].description?.trim()) {
193
+ token.description = data[key].description;
264
194
  }
265
- baseTokensDocumentation.push(_token);
195
+ baseTokensDocumentation.push(token);
266
196
  } else {
267
- _processGroup("".concat(group, "-").concat(key), data[key]);
197
+ processGroup(`${group}-${key}`, data[key]);
268
198
  }
269
199
  }
270
200
  };
271
- for (var group in base) {
272
- _processGroup(group, base[group]);
201
+ for (const group in base) {
202
+ processGroup(group, base[group]);
273
203
  }
274
204
  await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'), JSON.stringify(designTokensDocumentation, null, 2) + '\n');
275
205
  await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'), JSON.stringify(baseTokensDocumentation, null, 2) + '\n');
276
206
  }
277
- };
278
- for (var _i = 0, _themes = themes; _i < _themes.length; _i++) {
279
- _loop();
280
207
  }
281
- var autoThemeLines = [];
282
- for (var theme in autoTheme) {
283
- var selector = theme === defaultTheme ? ':root' : ".".concat(theme);
208
+ const autoThemeLines = [];
209
+ for (const theme in autoTheme) {
210
+ const selector = theme === defaultTheme ? ':root' : `.${theme}`;
284
211
  autoThemeLines.push(tokensToCss(autoTheme[theme], selector));
285
212
  }
286
213
  await writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\n'));