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

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 +36 -22
  2. package/lib/LastInteractionType.js.map +1 -1
  3. package/lib/LastInteractionType.mjs +33 -19
  4. package/lib/LastInteractionType.mjs.map +1 -1
  5. package/lib/core-types/Component.js +41 -25
  6. package/lib/core-types/Component.js.map +1 -1
  7. package/lib/core-types/Component.mjs +38 -18
  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 +205 -143
  14. package/lib/coreFactory.js.map +1 -1
  15. package/lib/coreFactory.mjs +164 -118
  16. package/lib/coreFactory.mjs.map +1 -1
  17. package/lib/decorators/propsObserver.js +64 -36
  18. package/lib/decorators/propsObserver.js.map +1 -1
  19. package/lib/decorators/propsObserver.mjs +61 -33
  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 +59 -51
  26. package/lib/enhancement/Children.js.map +1 -1
  27. package/lib/enhancement/Children.mjs +41 -47
  28. package/lib/enhancement/Children.mjs.map +1 -1
  29. package/lib/enhancement/Root.js +37 -36
  30. package/lib/enhancement/Root.js.map +1 -1
  31. package/lib/enhancement/Root.mjs +18 -28
  32. package/lib/enhancement/Root.mjs.map +1 -1
  33. package/lib/enhancement/dataName.js +8 -7
  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 +9 -6
  38. package/lib/enhancement/enhance.js.map +1 -1
  39. package/lib/enhancement/enhance.mjs +7 -5
  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 +9 -10
  48. package/lib/enhancement/i18n.mjs.map +1 -1
  49. package/lib/enhancement/inheritedName.js +8 -7
  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 +56 -47
  54. package/lib/enhancement/staticChildren.js.map +1 -1
  55. package/lib/enhancement/staticChildren.mjs +48 -43
  56. package/lib/enhancement/staticChildren.mjs.map +1 -1
  57. package/lib/enhancement/style.js +27 -29
  58. package/lib/enhancement/style.js.map +1 -1
  59. package/lib/enhancement/style.mjs +20 -26
  60. package/lib/enhancement/style.mjs.map +1 -1
  61. package/lib/enhancement/uncontrolledProps.js +65 -46
  62. package/lib/enhancement/uncontrolledProps.js.map +1 -1
  63. package/lib/enhancement/uncontrolledProps.mjs +52 -43
  64. package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
  65. package/lib/esm/LastInteractionType.mjs +33 -19
  66. package/lib/esm/core-types/Component.mjs +38 -18
  67. package/lib/esm/core-types/symbols.mjs +9 -9
  68. package/lib/esm/coreFactory.mjs +164 -118
  69. package/lib/esm/enhancement/Children.mjs +41 -47
  70. package/lib/esm/enhancement/Root.mjs +18 -28
  71. package/lib/esm/enhancement/dataName.mjs +5 -5
  72. package/lib/esm/enhancement/enhance.mjs +7 -5
  73. package/lib/esm/enhancement/functionDefaultProps.mjs +4 -4
  74. package/lib/esm/enhancement/i18n.mjs +9 -10
  75. package/lib/esm/enhancement/inheritedName.mjs +5 -5
  76. package/lib/esm/enhancement/staticChildren.mjs +48 -43
  77. package/lib/esm/enhancement/style.mjs +20 -26
  78. package/lib/esm/enhancement/uncontrolledProps.mjs +52 -43
  79. package/lib/esm/register.mjs +20 -12
  80. package/lib/esm/styled/reshadow-core.mjs +111 -98
  81. package/lib/esm/styled/sstyled.mjs +41 -31
  82. package/lib/esm/utils/assignProps.mjs +36 -32
  83. package/lib/esm/utils/enhances/WithI18n.mjs +17 -15
  84. package/lib/esm/utils/enhances/i18nEnhance.mjs +61 -47
  85. package/lib/esm/utils/logger.mjs +21 -13
  86. package/lib/esm/utils/pick.mjs +4 -4
  87. package/lib/esm/utils/ref.mjs +43 -27
  88. package/lib/esm/utils/use/useEnhancedEffect.mjs +1 -1
  89. package/lib/index.js +17 -17
  90. package/lib/register.js +24 -17
  91. package/lib/register.js.map +1 -1
  92. package/lib/register.mjs +20 -12
  93. package/lib/register.mjs.map +1 -1
  94. package/lib/styled/index.js +4 -4
  95. package/lib/styled/reshadow-core.js +104 -102
  96. package/lib/styled/reshadow-core.js.map +1 -1
  97. package/lib/styled/reshadow-core.mjs +111 -98
  98. package/lib/styled/reshadow-core.mjs.map +1 -1
  99. package/lib/styled/sstyled.js +53 -31
  100. package/lib/styled/sstyled.js.map +1 -1
  101. package/lib/styled/sstyled.mjs +41 -31
  102. package/lib/styled/sstyled.mjs.map +1 -1
  103. package/lib/theme/processor.js +222 -150
  104. package/lib/theme/processor.js.map +1 -1
  105. package/lib/theme/processor.mjs +221 -148
  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 +215 -140
  118. package/lib/theme/utils.js.map +1 -1
  119. package/lib/theme/utils.mjs +214 -135
  120. package/lib/theme/utils.mjs.map +1 -1
  121. package/lib/utils/CSSinJS.js +10 -8
  122. package/lib/utils/CSSinJS.js.map +1 -1
  123. package/lib/utils/CSSinJS.mjs +7 -6
  124. package/lib/utils/CSSinJS.mjs.map +1 -1
  125. package/lib/utils/ThemeProvider.js +51 -44
  126. package/lib/utils/ThemeProvider.js.map +1 -1
  127. package/lib/utils/ThemeProvider.mjs +47 -36
  128. package/lib/utils/ThemeProvider.mjs.map +1 -1
  129. package/lib/utils/addonText.js +7 -4
  130. package/lib/utils/addonText.js.map +1 -1
  131. package/lib/utils/addonText.mjs +5 -2
  132. package/lib/utils/addonText.mjs.map +1 -1
  133. package/lib/utils/addonTextChildren.js +21 -15
  134. package/lib/utils/addonTextChildren.js.map +1 -1
  135. package/lib/utils/addonTextChildren.mjs +13 -7
  136. package/lib/utils/addonTextChildren.mjs.map +1 -1
  137. package/lib/utils/ariaProps.js +5 -7
  138. package/lib/utils/ariaProps.js.map +1 -1
  139. package/lib/utils/ariaProps.mjs +5 -7
  140. package/lib/utils/ariaProps.mjs.map +1 -1
  141. package/lib/utils/assignProps.js +37 -33
  142. package/lib/utils/assignProps.js.map +1 -1
  143. package/lib/utils/assignProps.mjs +36 -32
  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 +95 -72
  148. package/lib/utils/color.js.map +1 -1
  149. package/lib/utils/color.mjs +94 -71
  150. package/lib/utils/color.mjs.map +1 -1
  151. package/lib/utils/compose.js +12 -3
  152. package/lib/utils/compose.js.map +1 -1
  153. package/lib/utils/compose.mjs +11 -2
  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 +4 -3
  160. package/lib/utils/cssToIntDefault.js.map +1 -1
  161. package/lib/utils/cssToIntDefault.mjs +3 -2
  162. package/lib/utils/cssToIntDefault.mjs.map +1 -1
  163. package/lib/utils/enhances/WithCSS.js +8 -10
  164. package/lib/utils/enhances/WithCSS.js.map +1 -1
  165. package/lib/utils/enhances/WithCSS.mjs +6 -7
  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 +17 -15
  170. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  171. package/lib/utils/enhances/a11yEnhance.js +39 -34
  172. package/lib/utils/enhances/a11yEnhance.js.map +1 -1
  173. package/lib/utils/enhances/a11yEnhance.mjs +36 -32
  174. package/lib/utils/enhances/a11yEnhance.mjs.map +1 -1
  175. package/lib/utils/enhances/animatedSizeEnhance.js +63 -55
  176. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  177. package/lib/utils/enhances/animatedSizeEnhance.mjs +58 -50
  178. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  179. package/lib/utils/enhances/contextEnhance.js +11 -12
  180. package/lib/utils/enhances/contextEnhance.js.map +1 -1
  181. package/lib/utils/enhances/contextEnhance.mjs +8 -9
  182. package/lib/utils/enhances/contextEnhance.mjs.map +1 -1
  183. package/lib/utils/enhances/i18nEnhance.js +67 -51
  184. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  185. package/lib/utils/enhances/i18nEnhance.mjs +61 -47
  186. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  187. package/lib/utils/enhances/resolveColorEnhance.js +10 -12
  188. package/lib/utils/enhances/resolveColorEnhance.js.map +1 -1
  189. package/lib/utils/enhances/resolveColorEnhance.mjs +6 -8
  190. package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -1
  191. package/lib/utils/eventEmitter.js +57 -30
  192. package/lib/utils/eventEmitter.js.map +1 -1
  193. package/lib/utils/eventEmitter.mjs +55 -26
  194. package/lib/utils/eventEmitter.mjs.map +1 -1
  195. package/lib/utils/findComponent.js +42 -35
  196. package/lib/utils/findComponent.js.map +1 -1
  197. package/lib/utils/findComponent.mjs +33 -26
  198. package/lib/utils/findComponent.mjs.map +1 -1
  199. package/lib/utils/fire.js +13 -7
  200. package/lib/utils/fire.js.map +1 -1
  201. package/lib/utils/fire.mjs +11 -5
  202. package/lib/utils/fire.mjs.map +1 -1
  203. package/lib/utils/focus-lock/focusBorders.js +32 -28
  204. package/lib/utils/focus-lock/focusBorders.js.map +1 -1
  205. package/lib/utils/focus-lock/focusBorders.mjs +32 -26
  206. package/lib/utils/focus-lock/focusBorders.mjs.map +1 -1
  207. package/lib/utils/focus-lock/getFocusableIn.js +6 -4
  208. package/lib/utils/focus-lock/getFocusableIn.js.map +1 -1
  209. package/lib/utils/focus-lock/getFocusableIn.mjs +6 -3
  210. package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -1
  211. package/lib/utils/focus-lock/isFocusInside.js +6 -5
  212. package/lib/utils/focus-lock/isFocusInside.js.map +1 -1
  213. package/lib/utils/focus-lock/isFocusInside.mjs +6 -4
  214. package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -1
  215. package/lib/utils/focus-lock/isFocusable.js +12 -9
  216. package/lib/utils/focus-lock/isFocusable.js.map +1 -1
  217. package/lib/utils/focus-lock/isFocusable.mjs +11 -8
  218. package/lib/utils/focus-lock/isFocusable.mjs.map +1 -1
  219. package/lib/utils/focus-lock/setFocus.js +27 -21
  220. package/lib/utils/focus-lock/setFocus.js.map +1 -1
  221. package/lib/utils/focus-lock/setFocus.mjs +25 -19
  222. package/lib/utils/focus-lock/setFocus.mjs.map +1 -1
  223. package/lib/utils/getAccessibleName.js +22 -10
  224. package/lib/utils/getAccessibleName.js.map +1 -1
  225. package/lib/utils/getAccessibleName.mjs +21 -10
  226. package/lib/utils/getAccessibleName.mjs.map +1 -1
  227. package/lib/utils/getDisplayName.js +1 -1
  228. package/lib/utils/getEventTarget.js +32 -13
  229. package/lib/utils/getEventTarget.js.map +1 -1
  230. package/lib/utils/getEventTarget.mjs +31 -12
  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 +6 -4
  236. package/lib/utils/getValue.js.map +1 -1
  237. package/lib/utils/getValue.mjs +5 -3
  238. package/lib/utils/getValue.mjs.map +1 -1
  239. package/lib/utils/hasLabels.js +27 -16
  240. package/lib/utils/hasLabels.js.map +1 -1
  241. package/lib/utils/hasLabels.mjs +24 -14
  242. package/lib/utils/hasLabels.mjs.map +1 -1
  243. package/lib/utils/hasParent.js +2 -3
  244. package/lib/utils/hasParent.js.map +1 -1
  245. package/lib/utils/hasParent.mjs +3 -2
  246. package/lib/utils/hasParent.mjs.map +1 -1
  247. package/lib/utils/ifChildren.js +4 -6
  248. package/lib/utils/ifChildren.js.map +1 -1
  249. package/lib/utils/ifChildren.mjs +2 -4
  250. package/lib/utils/ifChildren.mjs.map +1 -1
  251. package/lib/utils/injectStyle.js +13 -11
  252. package/lib/utils/injectStyle.js.map +1 -1
  253. package/lib/utils/injectStyle.mjs +10 -9
  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 +9 -7
  260. package/lib/utils/isInteractiveElement.js.map +1 -1
  261. package/lib/utils/isInteractiveElement.mjs +9 -7
  262. package/lib/utils/isInteractiveElement.mjs.map +1 -1
  263. package/lib/utils/isNode.js +5 -4
  264. package/lib/utils/isNode.js.map +1 -1
  265. package/lib/utils/isNode.mjs +2 -1
  266. package/lib/utils/isNode.mjs.map +1 -1
  267. package/lib/utils/isPromise.js +1 -1
  268. package/lib/utils/isRetina.js +2 -7
  269. package/lib/utils/isRetina.js.map +1 -1
  270. package/lib/utils/isRetina.mjs +1 -6
  271. package/lib/utils/isRetina.mjs.map +1 -1
  272. package/lib/utils/logger.js +25 -18
  273. package/lib/utils/logger.js.map +1 -1
  274. package/lib/utils/logger.mjs +21 -13
  275. package/lib/utils/logger.mjs.map +1 -1
  276. package/lib/utils/numericChecker.js +18 -11
  277. package/lib/utils/numericChecker.js.map +1 -1
  278. package/lib/utils/numericChecker.mjs +17 -10
  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 +12 -10
  289. package/lib/utils/propsForElement.js.map +1 -1
  290. package/lib/utils/propsForElement.mjs +10 -8
  291. package/lib/utils/propsForElement.mjs.map +1 -1
  292. package/lib/utils/rafTrottle.js +14 -9
  293. package/lib/utils/rafTrottle.js.map +1 -1
  294. package/lib/utils/rafTrottle.mjs +12 -7
  295. package/lib/utils/rafTrottle.mjs.map +1 -1
  296. package/lib/utils/reactToText.js +8 -5
  297. package/lib/utils/reactToText.js.map +1 -1
  298. package/lib/utils/reactToText.mjs +6 -3
  299. package/lib/utils/reactToText.mjs.map +1 -1
  300. package/lib/utils/ref.js +47 -29
  301. package/lib/utils/ref.js.map +1 -1
  302. package/lib/utils/ref.mjs +43 -27
  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 +18 -8
  311. package/lib/utils/uncontroll.js.map +1 -1
  312. package/lib/utils/uncontroll.mjs +17 -8
  313. package/lib/utils/uncontroll.mjs.map +1 -1
  314. package/lib/utils/uniqueID.js +27 -22
  315. package/lib/utils/uniqueID.js.map +1 -1
  316. package/lib/utils/uniqueID.mjs +25 -18
  317. package/lib/utils/uniqueID.mjs.map +1 -1
  318. package/lib/utils/use/useColorResolver.js +21 -20
  319. package/lib/utils/use/useColorResolver.js.map +1 -1
  320. package/lib/utils/use/useColorResolver.mjs +18 -16
  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 +10 -5
  327. package/lib/utils/use/useEventCallback.js.map +1 -1
  328. package/lib/utils/use/useEventCallback.mjs +8 -3
  329. package/lib/utils/use/useEventCallback.mjs.map +1 -1
  330. package/lib/utils/use/useEventListener.js +15 -11
  331. package/lib/utils/use/useEventListener.js.map +1 -1
  332. package/lib/utils/use/useEventListener.mjs +11 -7
  333. package/lib/utils/use/useEventListener.mjs.map +1 -1
  334. package/lib/utils/use/useFocusLock.js +94 -80
  335. package/lib/utils/use/useFocusLock.js.map +1 -1
  336. package/lib/utils/use/useFocusLock.mjs +88 -71
  337. package/lib/utils/use/useFocusLock.mjs.map +1 -1
  338. package/lib/utils/use/usePreventScroll.js +28 -26
  339. package/lib/utils/use/usePreventScroll.js.map +1 -1
  340. package/lib/utils/use/usePreventScroll.mjs +23 -21
  341. package/lib/utils/use/usePreventScroll.mjs.map +1 -1
  342. package/lib/utils/use/useScrollBarWidth.js +14 -8
  343. package/lib/utils/use/useScrollBarWidth.js.map +1 -1
  344. package/lib/utils/use/useScrollBarWidth.mjs +13 -8
  345. package/lib/utils/use/useScrollBarWidth.mjs.map +1 -1
  346. package/lib/utils/useCssVariable.js +37 -32
  347. package/lib/utils/useCssVariable.js.map +1 -1
  348. package/lib/utils/useCssVariable.mjs +34 -27
  349. package/lib/utils/useCssVariable.mjs.map +1 -1
  350. package/lib/utils/zIndexStacking.js +24 -28
  351. package/lib/utils/zIndexStacking.js.map +1 -1
  352. package/lib/utils/zIndexStacking.mjs +22 -23
  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","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
+ {"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,3 +1,7 @@
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";
1
5
  import { execSync } from 'node:child_process';
2
6
  import fs from 'node:fs/promises';
3
7
  import { resolve as resolvePath } from 'node:path';
@@ -6,146 +10,197 @@ import glob from 'fast-glob';
6
10
  import postcss from 'postcss';
7
11
  import valuesParser from 'postcss-value-parser';
8
12
  import { processTokens, tokensToCss, tokensToJs } from "./utils.mjs";
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));
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));
44
69
  if (highlightsTokens.length > 0) {
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));
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));
47
72
  }
48
73
  autoTheme[theme] = processedTokens;
49
- const usages = {};
74
+ var usages = {};
50
75
  if (theme === defaultTheme) {
51
76
  await writeIfChanged('./semcore/core/src/theme/themes/default.css', tokensToCss(processedTokens));
52
77
  await writeIfChanged('./semcore/core/src/theme/themes/default.ts', tokensToJs(processedTokens));
53
- const projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
78
+ var projectCssPaths = (await glob('./semcore/*/src/**/*.shadow.css', {
54
79
  ignore: ['node_modules', 'lib']
55
- })).filter(path => {
56
- if (path.split('/').some(pathPart => ['chart', 'email', 'table'].includes(pathPart))) {
80
+ })).filter(function (path) {
81
+ if (path.split('/').some(function (pathPart) {
82
+ return ['chart', 'email', 'table'].includes(pathPart);
83
+ })) {
57
84
  return false;
58
85
  }
59
86
  return true;
60
87
  });
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
- });
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();
98
177
  }
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]);
178
+ };
179
+ _traverseValueAst(valueAst.nodes, null);
180
+ node.value = valueAst.toString();
133
181
  }
134
182
  };
135
- traverseValueAst(valueAst.nodes, null);
136
- node.value = valueAst.toString();
183
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
184
+ _loop2();
185
+ }
186
+ } catch (err) {
187
+ _iterator.e(err);
188
+ } finally {
189
+ _iterator.f();
137
190
  }
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) {
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) {
149
204
  if (!usedVariables[variable]) {
150
205
  unusedVariables.push(variable);
151
206
  }
@@ -160,54 +215,72 @@ for (const theme of themes) {
160
215
  if (colorLiterals.length > 0) {
161
216
  // eslint-disable-next-line no-console
162
217
  console.log('Unexpected color literals:');
163
- for (const literal of colorLiterals) {
164
- // eslint-disable-next-line no-console
165
- console.log(`${literal.name} in ${literal.path}`);
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();
166
230
  }
167
231
  }
168
232
  }
169
- const designTokensDocumentation = [];
170
- for (const token in values) {
233
+ var designTokensDocumentation = [];
234
+ for (var token in values) {
171
235
  if (!basicTokens.has(token)) {
172
- const components = [...new Set((usages[token] ?? []).map(cssPath => cssPath.split('/')[2]))];
173
- components.sort((a, b) => a.localeCompare(b));
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
+ });
174
243
  designTokensDocumentation.push({
175
- name: `--${prefix}-${token}`,
244
+ name: "--".concat(prefix, "-").concat(token),
176
245
  type: types[token],
177
246
  rawValue: rawValues[token],
178
247
  computedValue: values[token],
179
248
  description: descriptions[token],
180
- components
249
+ components: components
181
250
  });
182
251
  }
183
252
  }
184
- const baseTokensDocumentation = [];
185
- const processGroup = (group, data) => {
186
- for (const key in data) {
253
+ var baseTokensDocumentation = [];
254
+ var _processGroup = function processGroup(group, data) {
255
+ for (var key in data) {
187
256
  if (data[key].value) {
188
- const token = {
189
- name: `--${group}-${key}`,
257
+ var _data$key$description;
258
+ var _token = {
259
+ name: "--".concat(group, "-").concat(key),
190
260
  value: data[key].value
191
261
  };
192
- if (data[key].description?.trim()) {
193
- token.description = data[key].description;
262
+ if ((_data$key$description = data[key].description) !== null && _data$key$description !== void 0 && _data$key$description.trim()) {
263
+ _token.description = data[key].description;
194
264
  }
195
- baseTokensDocumentation.push(token);
265
+ baseTokensDocumentation.push(_token);
196
266
  } else {
197
- processGroup(`${group}-${key}`, data[key]);
267
+ _processGroup("".concat(group, "-").concat(key), data[key]);
198
268
  }
199
269
  }
200
270
  };
201
- for (const group in base) {
202
- processGroup(group, base[group]);
271
+ for (var group in base) {
272
+ _processGroup(group, base[group]);
203
273
  }
204
274
  await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/design-tokens.json'), JSON.stringify(designTokensDocumentation, null, 2) + '\n');
205
275
  await writeIfChanged(resolvePath(dirname, '../../../../website/docs/style/design-tokens/base-tokens.json'), JSON.stringify(baseTokensDocumentation, null, 2) + '\n');
206
276
  }
277
+ };
278
+ for (var _i = 0, _themes = themes; _i < _themes.length; _i++) {
279
+ _loop();
207
280
  }
208
- const autoThemeLines = [];
209
- for (const theme in autoTheme) {
210
- const selector = theme === defaultTheme ? ':root' : `.${theme}`;
281
+ var autoThemeLines = [];
282
+ for (var theme in autoTheme) {
283
+ var selector = theme === defaultTheme ? ':root' : ".".concat(theme);
211
284
  autoThemeLines.push(tokensToCss(autoTheme[theme], selector));
212
285
  }
213
286
  await writeIfChanged('./semcore/core/src/theme/themes/auto.css', autoThemeLines.join('\n'));