@chenzy-design/tokens 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/dist/alias/index.d.ts +7 -2
  2. package/dist/alias/index.d.ts.map +1 -1
  3. package/dist/alias/index.js +22 -3
  4. package/dist/alias/index.js.map +1 -1
  5. package/dist/build.js +68 -1
  6. package/dist/build.js.map +1 -1
  7. package/dist/components/ai-chat-input.d.ts +225 -0
  8. package/dist/components/ai-chat-input.d.ts.map +1 -0
  9. package/dist/components/ai-chat-input.js +235 -0
  10. package/dist/components/ai-chat-input.js.map +1 -0
  11. package/dist/components/anchor.d.ts +183 -0
  12. package/dist/components/anchor.d.ts.map +1 -0
  13. package/dist/components/anchor.js +44 -0
  14. package/dist/components/anchor.js.map +1 -0
  15. package/dist/components/audio-player.d.ts +243 -0
  16. package/dist/components/audio-player.d.ts.map +1 -0
  17. package/dist/components/audio-player.js +253 -0
  18. package/dist/components/audio-player.js.map +1 -0
  19. package/dist/components/autocomplete.d.ts +105 -0
  20. package/dist/components/autocomplete.d.ts.map +1 -0
  21. package/dist/components/autocomplete.js +27 -0
  22. package/dist/components/autocomplete.js.map +1 -0
  23. package/dist/components/back-top.d.ts +18 -14
  24. package/dist/components/back-top.d.ts.map +1 -1
  25. package/dist/components/back-top.js +6 -14
  26. package/dist/components/back-top.js.map +1 -1
  27. package/dist/components/banner.d.ts +132 -22
  28. package/dist/components/banner.d.ts.map +1 -1
  29. package/dist/components/banner.js +29 -23
  30. package/dist/components/banner.js.map +1 -1
  31. package/dist/components/breadcrumb.d.ts +171 -0
  32. package/dist/components/breadcrumb.d.ts.map +1 -0
  33. package/dist/components/breadcrumb.js +41 -0
  34. package/dist/components/breadcrumb.js.map +1 -0
  35. package/dist/components/button.d.ts +1086 -17
  36. package/dist/components/button.d.ts.map +1 -1
  37. package/dist/components/button.js +211 -20
  38. package/dist/components/button.js.map +1 -1
  39. package/dist/components/calendar.d.ts +270 -20
  40. package/dist/components/calendar.d.ts.map +1 -1
  41. package/dist/components/calendar.js +97 -20
  42. package/dist/components/calendar.js.map +1 -1
  43. package/dist/components/carousel.d.ts +225 -0
  44. package/dist/components/carousel.d.ts.map +1 -0
  45. package/dist/components/carousel.js +54 -0
  46. package/dist/components/carousel.js.map +1 -0
  47. package/dist/components/cascader.d.ts +123 -0
  48. package/dist/components/cascader.d.ts.map +1 -0
  49. package/dist/components/cascader.js +31 -0
  50. package/dist/components/cascader.js.map +1 -0
  51. package/dist/components/chat.d.ts +693 -0
  52. package/dist/components/chat.d.ts.map +1 -0
  53. package/dist/components/chat.js +125 -0
  54. package/dist/components/chat.js.map +1 -0
  55. package/dist/components/checkbox.d.ts +348 -20
  56. package/dist/components/checkbox.d.ts.map +1 -1
  57. package/dist/components/checkbox.js +69 -21
  58. package/dist/components/checkbox.js.map +1 -1
  59. package/dist/components/color-picker.d.ts +144 -16
  60. package/dist/components/color-picker.d.ts.map +1 -1
  61. package/dist/components/color-picker.js +30 -16
  62. package/dist/components/color-picker.js.map +1 -1
  63. package/dist/components/cropper.d.ts +33 -0
  64. package/dist/components/cropper.d.ts.map +1 -0
  65. package/dist/components/cropper.js +33 -0
  66. package/dist/components/cropper.js.map +1 -0
  67. package/dist/components/data-display.d.ts +552 -29
  68. package/dist/components/data-display.d.ts.map +1 -1
  69. package/dist/components/data-display.js +123 -33
  70. package/dist/components/data-display.js.map +1 -1
  71. package/dist/components/date-picker.d.ts +378 -17
  72. package/dist/components/date-picker.d.ts.map +1 -1
  73. package/dist/components/date-picker.js +73 -17
  74. package/dist/components/date-picker.js.map +1 -1
  75. package/dist/components/display.d.ts +1800 -39
  76. package/dist/components/display.d.ts.map +1 -1
  77. package/dist/components/display.js +347 -43
  78. package/dist/components/display.js.map +1 -1
  79. package/dist/components/divider.d.ts +114 -7
  80. package/dist/components/divider.d.ts.map +1 -1
  81. package/dist/components/divider.js +25 -7
  82. package/dist/components/divider.js.map +1 -1
  83. package/dist/components/dropdown.d.ts +225 -0
  84. package/dist/components/dropdown.d.ts.map +1 -0
  85. package/dist/components/dropdown.js +51 -0
  86. package/dist/components/dropdown.js.map +1 -0
  87. package/dist/components/feedback.d.ts +99 -0
  88. package/dist/components/feedback.d.ts.map +1 -0
  89. package/dist/components/feedback.js +24 -0
  90. package/dist/components/feedback.js.map +1 -0
  91. package/dist/components/float-button.d.ts +219 -0
  92. package/dist/components/float-button.d.ts.map +1 -0
  93. package/dist/components/float-button.js +47 -0
  94. package/dist/components/float-button.js.map +1 -0
  95. package/dist/components/form.d.ts +252 -11
  96. package/dist/components/form.d.ts.map +1 -1
  97. package/dist/components/form.js +51 -11
  98. package/dist/components/form.js.map +1 -1
  99. package/dist/components/grid.d.ts +125 -4
  100. package/dist/components/grid.d.ts.map +1 -1
  101. package/dist/components/grid.js +22 -4
  102. package/dist/components/grid.js.map +1 -1
  103. package/dist/components/highlight.d.ts +21 -0
  104. package/dist/components/highlight.d.ts.map +1 -0
  105. package/dist/components/highlight.js +6 -0
  106. package/dist/components/highlight.js.map +1 -0
  107. package/dist/components/hotkeys.d.ts +51 -0
  108. package/dist/components/hotkeys.d.ts.map +1 -0
  109. package/dist/components/hotkeys.js +14 -0
  110. package/dist/components/hotkeys.js.map +1 -0
  111. package/dist/components/image.d.ts +201 -0
  112. package/dist/components/image.d.ts.map +1 -0
  113. package/dist/components/image.js +210 -0
  114. package/dist/components/image.js.map +1 -0
  115. package/dist/components/index.d.ts +17992 -717
  116. package/dist/components/index.d.ts.map +1 -1
  117. package/dist/components/index.js +60 -12
  118. package/dist/components/index.js.map +1 -1
  119. package/dist/components/input-number.d.ts +129 -0
  120. package/dist/components/input-number.d.ts.map +1 -0
  121. package/dist/components/input-number.js +29 -0
  122. package/dist/components/input-number.js.map +1 -0
  123. package/dist/components/input.d.ts +582 -24
  124. package/dist/components/input.d.ts.map +1 -1
  125. package/dist/components/input.js +119 -26
  126. package/dist/components/input.js.map +1 -1
  127. package/dist/components/json-viewer.d.ts +183 -0
  128. package/dist/components/json-viewer.d.ts.map +1 -0
  129. package/dist/components/json-viewer.js +41 -0
  130. package/dist/components/json-viewer.js.map +1 -0
  131. package/dist/components/list.d.ts +144 -19
  132. package/dist/components/list.d.ts.map +1 -1
  133. package/dist/components/list.js +25 -21
  134. package/dist/components/list.js.map +1 -1
  135. package/dist/components/markdown-render.d.ts +129 -0
  136. package/dist/components/markdown-render.d.ts.map +1 -0
  137. package/dist/components/markdown-render.js +28 -0
  138. package/dist/components/markdown-render.js.map +1 -0
  139. package/dist/components/modal.d.ts +270 -16
  140. package/dist/components/modal.d.ts.map +1 -1
  141. package/dist/components/modal.js +56 -16
  142. package/dist/components/modal.js.map +1 -1
  143. package/dist/components/navigation.d.ts +312 -26
  144. package/dist/components/navigation.d.ts.map +1 -1
  145. package/dist/components/navigation.js +60 -29
  146. package/dist/components/navigation.js.map +1 -1
  147. package/dist/components/notification.d.ts +210 -30
  148. package/dist/components/notification.d.ts.map +1 -1
  149. package/dist/components/notification.js +40 -32
  150. package/dist/components/notification.js.map +1 -1
  151. package/dist/components/overflow-list.d.ts +54 -10
  152. package/dist/components/overflow-list.d.ts.map +1 -1
  153. package/dist/components/overflow-list.js +9 -10
  154. package/dist/components/overflow-list.js.map +1 -1
  155. package/dist/components/pagination.d.ts +249 -0
  156. package/dist/components/pagination.d.ts.map +1 -0
  157. package/dist/components/pagination.js +49 -0
  158. package/dist/components/pagination.js.map +1 -0
  159. package/dist/components/pincode.d.ts +51 -0
  160. package/dist/components/pincode.d.ts.map +1 -0
  161. package/dist/components/pincode.js +14 -0
  162. package/dist/components/pincode.js.map +1 -0
  163. package/dist/components/popconfirm.d.ts +138 -21
  164. package/dist/components/popconfirm.d.ts.map +1 -1
  165. package/dist/components/popconfirm.js +28 -21
  166. package/dist/components/popconfirm.js.map +1 -1
  167. package/dist/components/popover.d.ts +93 -0
  168. package/dist/components/popover.d.ts.map +1 -0
  169. package/dist/components/popover.js +37 -0
  170. package/dist/components/popover.js.map +1 -0
  171. package/dist/components/progress.d.ts +114 -15
  172. package/dist/components/progress.d.ts.map +1 -1
  173. package/dist/components/progress.js +26 -15
  174. package/dist/components/progress.js.map +1 -1
  175. package/dist/components/radio.d.ts +576 -18
  176. package/dist/components/radio.d.ts.map +1 -1
  177. package/dist/components/radio.js +114 -20
  178. package/dist/components/radio.js.map +1 -1
  179. package/dist/components/rating.d.ts +90 -7
  180. package/dist/components/rating.d.ts.map +1 -1
  181. package/dist/components/rating.js +22 -8
  182. package/dist/components/rating.js.map +1 -1
  183. package/dist/components/scroll-list.d.ts +252 -13
  184. package/dist/components/scroll-list.d.ts.map +1 -1
  185. package/dist/components/scroll-list.js +49 -13
  186. package/dist/components/scroll-list.js.map +1 -1
  187. package/dist/components/select.d.ts +306 -21
  188. package/dist/components/select.d.ts.map +1 -1
  189. package/dist/components/select.js +67 -22
  190. package/dist/components/select.js.map +1 -1
  191. package/dist/components/side-sheet.d.ts +186 -23
  192. package/dist/components/side-sheet.d.ts.map +1 -1
  193. package/dist/components/side-sheet.js +37 -23
  194. package/dist/components/side-sheet.js.map +1 -1
  195. package/dist/components/sidebar.d.ts +561 -0
  196. package/dist/components/sidebar.d.ts.map +1 -0
  197. package/dist/components/sidebar.js +106 -0
  198. package/dist/components/sidebar.js.map +1 -0
  199. package/dist/components/skeleton.d.ts +102 -10
  200. package/dist/components/skeleton.d.ts.map +1 -1
  201. package/dist/components/skeleton.js +23 -10
  202. package/dist/components/skeleton.js.map +1 -1
  203. package/dist/components/slider.d.ts +180 -11
  204. package/dist/components/slider.d.ts.map +1 -1
  205. package/dist/components/slider.js +36 -11
  206. package/dist/components/slider.js.map +1 -1
  207. package/dist/components/space.d.ts +18 -4
  208. package/dist/components/space.d.ts.map +1 -1
  209. package/dist/components/space.js +4 -4
  210. package/dist/components/space.js.map +1 -1
  211. package/dist/components/spin.d.ts +42 -14
  212. package/dist/components/spin.d.ts.map +1 -1
  213. package/dist/components/spin.js +11 -14
  214. package/dist/components/spin.js.map +1 -1
  215. package/dist/components/steps.d.ts +567 -0
  216. package/dist/components/steps.d.ts.map +1 -0
  217. package/dist/components/steps.js +102 -0
  218. package/dist/components/steps.js.map +1 -0
  219. package/dist/components/switch.d.ts +312 -11
  220. package/dist/components/switch.d.ts.map +1 -1
  221. package/dist/components/switch.js +61 -11
  222. package/dist/components/switch.js.map +1 -1
  223. package/dist/components/table.d.ts +444 -18
  224. package/dist/components/table.d.ts.map +1 -1
  225. package/dist/components/table.js +78 -18
  226. package/dist/components/table.js.map +1 -1
  227. package/dist/components/tabs.d.ts +470 -26
  228. package/dist/components/tabs.d.ts.map +1 -1
  229. package/dist/components/tabs.js +97 -22
  230. package/dist/components/tabs.js.map +1 -1
  231. package/dist/components/tag-input.d.ts +273 -0
  232. package/dist/components/tag-input.d.ts.map +1 -0
  233. package/dist/components/tag-input.js +58 -0
  234. package/dist/components/tag-input.js.map +1 -0
  235. package/dist/components/tag.d.ts +264 -0
  236. package/dist/components/tag.d.ts.map +1 -0
  237. package/dist/components/tag.js +58 -0
  238. package/dist/components/tag.js.map +1 -0
  239. package/dist/components/time-picker.d.ts +81 -0
  240. package/dist/components/time-picker.d.ts.map +1 -0
  241. package/dist/components/time-picker.js +21 -0
  242. package/dist/components/time-picker.js.map +1 -0
  243. package/dist/components/toast.d.ts +210 -24
  244. package/dist/components/toast.d.ts.map +1 -1
  245. package/dist/components/toast.js +44 -25
  246. package/dist/components/toast.js.map +1 -1
  247. package/dist/components/token-def.d.ts +27 -0
  248. package/dist/components/token-def.d.ts.map +1 -0
  249. package/dist/components/token-def.js +16 -0
  250. package/dist/components/token-def.js.map +1 -0
  251. package/dist/components/tooltip.d.ts +174 -27
  252. package/dist/components/tooltip.d.ts.map +1 -1
  253. package/dist/components/tooltip.js +41 -31
  254. package/dist/components/tooltip.js.map +1 -1
  255. package/dist/components/transfer.d.ts +264 -18
  256. package/dist/components/transfer.d.ts.map +1 -1
  257. package/dist/components/transfer.js +49 -19
  258. package/dist/components/transfer.js.map +1 -1
  259. package/dist/components/tree-select.d.ts +141 -0
  260. package/dist/components/tree-select.d.ts.map +1 -0
  261. package/dist/components/tree-select.js +31 -0
  262. package/dist/components/tree-select.js.map +1 -0
  263. package/dist/components/tree.d.ts +210 -22
  264. package/dist/components/tree.d.ts.map +1 -1
  265. package/dist/components/tree.js +56 -23
  266. package/dist/components/tree.js.map +1 -1
  267. package/dist/components/typography.d.ts +462 -14
  268. package/dist/components/typography.d.ts.map +1 -1
  269. package/dist/components/typography.js +90 -14
  270. package/dist/components/typography.js.map +1 -1
  271. package/dist/components/upload.d.ts +519 -0
  272. package/dist/components/upload.d.ts.map +1 -0
  273. package/dist/components/upload.js +97 -0
  274. package/dist/components/upload.js.map +1 -0
  275. package/dist/components/user-guide.d.ts +231 -0
  276. package/dist/components/user-guide.d.ts.map +1 -0
  277. package/dist/components/user-guide.js +48 -0
  278. package/dist/components/user-guide.js.map +1 -0
  279. package/dist/components/video-player.d.ts +417 -0
  280. package/dist/components/video-player.d.ts.map +1 -0
  281. package/dist/components/video-player.js +78 -0
  282. package/dist/components/video-player.js.map +1 -0
  283. package/dist/components/virtual.d.ts +54 -10
  284. package/dist/components/virtual.d.ts.map +1 -1
  285. package/dist/components/virtual.js +11 -12
  286. package/dist/components/virtual.js.map +1 -1
  287. package/dist/contrast-check.js +25 -19
  288. package/dist/contrast-check.js.map +1 -1
  289. package/dist/global/color.d.ts +102 -0
  290. package/dist/global/color.d.ts.map +1 -1
  291. package/dist/global/color.js +114 -0
  292. package/dist/global/color.js.map +1 -1
  293. package/dist/global/scales.d.ts +9 -0
  294. package/dist/global/scales.d.ts.map +1 -1
  295. package/dist/global/scales.js +14 -0
  296. package/dist/global/scales.js.map +1 -1
  297. package/dist/manifest.d.ts +36 -0
  298. package/dist/manifest.d.ts.map +1 -0
  299. package/dist/manifest.js +276 -0
  300. package/dist/manifest.js.map +1 -0
  301. package/dist/token-manifest.json +52730 -0
  302. package/dist/tokens.css +3094 -657
  303. package/package.json +8 -2
  304. package/dist/components/drawer.d.ts +0 -26
  305. package/dist/components/drawer.d.ts.map +0 -1
  306. package/dist/components/drawer.js +0 -26
  307. package/dist/components/drawer.js.map +0 -1
  308. package/dist/components/icon.d.ts +0 -16
  309. package/dist/components/icon.d.ts.map +0 -1
  310. package/dist/components/icon.js +0 -16
  311. package/dist/components/icon.js.map +0 -1
  312. package/dist/components/layout.d.ts +0 -21
  313. package/dist/components/layout.d.ts.map +0 -1
  314. package/dist/components/layout.js +0 -21
  315. package/dist/components/layout.js.map +0 -1
  316. package/dist/components/lottie-icon.d.ts +0 -13
  317. package/dist/components/lottie-icon.d.ts.map +0 -1
  318. package/dist/components/lottie-icon.js +0 -13
  319. package/dist/components/lottie-icon.js.map +0 -1
  320. package/dist/components/menu.d.ts +0 -21
  321. package/dist/components/menu.d.ts.map +0 -1
  322. package/dist/components/menu.js +0 -25
  323. package/dist/components/menu.js.map +0 -1
  324. package/dist/components/nav.d.ts +0 -17
  325. package/dist/components/nav.d.ts.map +0 -1
  326. package/dist/components/nav.js +0 -17
  327. package/dist/components/nav.js.map +0 -1
@@ -0,0 +1,276 @@
1
+ /**
2
+ * DSM token manifest 生成器:从 TS token 源结构化产出 dist/token-manifest.json,
3
+ * 供 DSM 可视化编辑器消费。见 specs/00-foundation/dsm.spec.md §地基1。
4
+ *
5
+ * 相对 docs/scripts/build-tokens-detail.ts(事后正则解析 CSS)的优势:
6
+ * 直接从类型化 TS 源产出,category/label/引用链准确,且带反向依赖图 + 明暗双值。
7
+ */
8
+ import { tokenMeta } from './components/token-def.js';
9
+ const PREFIX = '--cd-';
10
+ /** 从值里提取引用的 --cd-* 变量名(可能多个)。 */
11
+ function refsOf(value) {
12
+ const out = [];
13
+ const re = /var\((--cd-[a-z0-9-]+)/g;
14
+ let m;
15
+ while ((m = re.exec(value))) {
16
+ if (m[1])
17
+ out.push(m[1]);
18
+ }
19
+ return out;
20
+ }
21
+ /** 按名/值推断分类(TokenDef 未显式给出时兜底)。 */
22
+ function inferCategory(name, value) {
23
+ const n = name.toLowerCase();
24
+ if (/transition|motion|duration|ease|delay|animation/.test(n))
25
+ return 'animation';
26
+ if (/radius|rounded/.test(n))
27
+ return 'radius';
28
+ if (/font|line-height|weight/.test(n))
29
+ return 'font';
30
+ if (/height/.test(n))
31
+ return 'height';
32
+ if (/width|thickness/.test(n))
33
+ return 'width';
34
+ if (/spacing|padding|margin|gap/.test(n))
35
+ return 'spacing';
36
+ if (/color|bg|fill|border|text|shadow/.test(n) || /#|rgb|hsl/.test(value))
37
+ return 'color';
38
+ return 'other';
39
+ }
40
+ /**
41
+ * 变量名分词 → 中文用法说明的兜底词典。
42
+ * 仅在 token 未显式提供 usage/label 时使用(TokenDef 元数据优先)。
43
+ * 相比 docs 旧 build-tokens-detail.ts 的词典大幅扩充,消除大面积英文词根拼接。
44
+ */
45
+ const DICT = {
46
+ // 属性
47
+ bg: '背景色', fg: '前景色', color: '颜色', text: '文字', border: '边框',
48
+ fill: '填充', shadow: '阴影', radius: '圆角', outline: '轮廓',
49
+ padding: '内边距', margin: '外边距', gap: '间距', spacing: '间距',
50
+ size: '尺寸', height: '高度', width: '宽度', thickness: '粗细',
51
+ font: '字体', weight: '字重', line: '行', lineheight: '行高',
52
+ paddingleft: '左内边距', paddingright: '右内边距',
53
+ paddingtop: '上内边距', paddingbottom: '下内边距',
54
+ marginleft: '左外边距', marginright: '右外边距',
55
+ // 状态
56
+ hover: '悬浮态', active: '按下态', focus: '聚焦态', disabled: '禁用态',
57
+ selected: '选中态', checked: '勾选态', default: '默认', visited: '已访问',
58
+ // 尺寸档
59
+ small: '小尺寸', large: '大尺寸', mini: '迷你', regular: '常规',
60
+ min: '最小', max: '最大', base: '基础', tight: '紧凑', loose: '宽松',
61
+ extra: '特', super: '超', mid: '中', fast: '快', slow: '慢',
62
+ // 语义色
63
+ primary: '主要', secondary: '次要', tertiary: '第三', success: '成功',
64
+ warning: '警告', danger: '危险', info: '信息', link: '链接',
65
+ inverse: '反相', header: '标题', overlay: '遮罩', mask: '蒙层',
66
+ // 部件
67
+ icon: '图标', title: '标题', desc: '描述', footer: '底部', item: '项',
68
+ dot: '圆点', close: '关闭', cell: '单元格', range: '范围', edge: '边缘',
69
+ divider: '分割线', handle: '手柄', track: '轨道', thumb: '滑块',
70
+ bar: '条', arrow: '箭头', panel: '面板', popup: '浮层', trigger: '触发器',
71
+ placeholder: '占位符', count: '计数', group: '组', wrap: '容器',
72
+ content: '内容', label: '标签', input: '输入', control: '控件',
73
+ indicator: '指示器', separator: '分隔符', scrollbar: '滚动条',
74
+ // 主题/模式
75
+ solid: '实心', light: '浅色', borderless: '无边框', colorful: '多彩',
76
+ iconOnly: '纯图标', icononly: '纯图标', split: '分裂',
77
+ // 动效
78
+ transition: '过渡', duration: '时长', ease: '缓动', delay: '延迟',
79
+ motion: '动效', animation: '动画', loading: '加载', spin: '旋转',
80
+ transform: '变换', scale: '缩放',
81
+ // 色板/断点
82
+ blue: '蓝', green: '绿', grey: '灰', red: '红', orange: '橙', yellow: '黄',
83
+ breakpoint: '断点', sm: '小屏', md: '中屏', lg: '大屏', xl: '特大屏', xxl: '超大屏',
84
+ // 其它
85
+ z: '层级', x: '水平', y: '垂直', elevated: '悬浮', standard: '标准',
86
+ first: '首个', last: '末尾', topleft: '左上', topright: '右上',
87
+ bottomleft: '左下', bottomright: '右下', customicon: '自定义图标',
88
+ splitbuttongroup: '分裂按钮组',
89
+ };
90
+ /** 无显式 usage 时按名分词推断中文说明。 */
91
+ function describe(name, component) {
92
+ let segs = name.replace(/^--cd-/, '').split('-');
93
+ // 去掉与组件名重复的段,避免「button · button背景色」
94
+ if (component)
95
+ segs = segs.filter((s) => s !== component);
96
+ const words = segs.map((s) => DICT[s] ?? s).join('');
97
+ return `${component ?? '全局'} · ${words || '基础值'}`;
98
+ }
99
+ const GLOBAL_SEGMENTS = new Set([
100
+ 'color', 'spacing', 'radius', 'font', 'shadow', 'motion', 'z', 'breakpoint',
101
+ 'line', 'focus', 'border', 'text', 'fill', 'bg', 'primary', 'success', 'warning',
102
+ 'danger', 'link', 'control', 'width', 'nav', 'overlay', 'disabled', 'secondary',
103
+ 'tertiary', 'info',
104
+ // 色板(--cd-color-<hue>-N 剥掉 color 后的第二段)
105
+ 'blue', 'green', 'grey', 'red', 'orange', 'yellow',
106
+ 'amber', 'cyan', 'indigo', 'lime', 'pink', 'purple', 'teal', 'violet',
107
+ // 复合色系(--cd-color-light-blue-N / --cd-color-light-green-N 剥 color 后首段是 light)
108
+ 'light',
109
+ // 间距相关全局段(保留段名,避免以 space 起始的 token 被误归组件)
110
+ 'space',
111
+ // z-index 阶名(--cd-z-sticky / --cd-z-affix / --cd-z-drag,均非组件;
112
+ // 组件名的 z 阶如 --cd-z-modal 归各自组件,故此处只列无同名组件的阶)
113
+ 'sticky', 'affix', 'drag',
114
+ // scale 修饰词(--cd-spacing-base-tight / --cd-font-size-* / --cd-shadow-elevated 等的第二段)
115
+ 'base', 'tight', 'loose', 'extra', 'super', 'none', 'elevated', 'thickness',
116
+ 'size', 'height', 'weight', 'duration', 'ease', 'delay',
117
+ // motion 档位/缓动名(--cd-motion-duration-fast / --cd-motion-ease-standard /
118
+ // --cd-motion-ease-in 循环剥后的段)
119
+ 'fast', 'slow', 'mid', 'standard', 'spring', 'linear', 'in', 'out', 'rotate',
120
+ // 尺寸/形状档位(--cd-border-radius-small / --cd-line-height-header-N 循环剥后的段)
121
+ 'small', 'large', 'medium', 'regular', 'circle', 'full', 'header',
122
+ // 断点名(--cd-breakpoint-* 剥掉 breakpoint 后)
123
+ 'sm', 'md', 'lg', 'xl', 'xxl',
124
+ ]);
125
+ // category 段(token 名可能以 <category>-<component>-... 组织,如 color-button-...)。
126
+ const CATEGORY_SEGMENTS = new Set([
127
+ 'color', 'spacing', 'radius', 'font', 'height', 'width', 'animation',
128
+ 'border', 'line', 'shadow', 'motion', 'transform', 'transition', 'z', 'breakpoint',
129
+ // opacity 作 category(--cd-opacity-spin-children 对齐 Semi $opacity-spin_children)
130
+ 'opacity',
131
+ ]);
132
+ // category 之后还可能跟的修饰段(--cd-animation-duration-button-* 的 duration、
133
+ // --cd-transform-scale-button-* 的 scale)。
134
+ const CATEGORY_MODIFIERS = new Set(['duration', 'delay', 'ease', 'function', 'scale']);
135
+ // 多段组件名(连字符组件名)。剥掉 category 前缀后,优先在剩余段开头做最长匹配,
136
+ // 命中则整体作为组件归属,避免 --cd-color-date-picker-* 被误判成组件 `date`。
137
+ // 注意 scroll-list / scrolllist、side-sheet / sidesheet 是同组件的两套并存命名,
138
+ // 归一到连字符形态(scroll-list / side-sheet)统一归属。
139
+ const MULTI_SEGMENT_COMPONENTS = [
140
+ ['date', 'picker'],
141
+ ['time', 'picker'],
142
+ ['color', 'picker'],
143
+ ['scroll', 'list'],
144
+ ['side', 'sheet'],
145
+ ['overflow', 'list'],
146
+ ['virtual', 'list'],
147
+ ['code', 'highlight'],
148
+ ['video', 'player'],
149
+ ['audio', 'player'],
150
+ ['json', 'viewer'],
151
+ // tag-input 与 tag 是两个不同组件;不含此项则 --cd-tag-input-* 首段 tag 会误归给 Tag。
152
+ ['tag', 'input'],
153
+ ];
154
+ // 无连字符别名 → 规范组件名(同组件的另一套命名收归同一归属)。
155
+ const COMPONENT_ALIASES = {
156
+ scrolllist: 'scroll-list',
157
+ sidesheet: 'side-sheet',
158
+ };
159
+ /**
160
+ * 取组件归属。token 名可能的组织:
161
+ * --cd-tag-colorful-from → 首段即组件
162
+ * --cd-color-button-primary-bg-hover → category + 组件
163
+ * --cd-animation-duration-button-icon-loading → category + 修饰段 + 组件
164
+ * 循环剥掉 category/修饰前缀后取组件段;落在全局语义段或纯数字则视为无组件归属。
165
+ */
166
+ function componentOf(name) {
167
+ const segs = name.replace(/^--cd-/, '').split('-');
168
+ // 剥 category/修饰前缀。每剥一步前先尝试多段组件名匹配——因为组件名首段
169
+ // 可能与 category 同名(如 color-picker 的 color 也是 category),贪婪剥壳
170
+ // 会把组件名的 color 当 category 剥掉,故须在剥之前就地探测。
171
+ let i = 0;
172
+ const tryMulti = (from) => {
173
+ for (const parts of MULTI_SEGMENT_COMPONENTS) {
174
+ if (parts.every((p, k) => segs[from + k] === p))
175
+ return parts.join('-');
176
+ }
177
+ return null;
178
+ };
179
+ while (i < segs.length - 1 && (CATEGORY_SEGMENTS.has(segs[i]) || CATEGORY_MODIFIERS.has(segs[i]))) {
180
+ // 当前位置起若已是完整多段组件名(如 rest=[color,picker,...]),停止剥壳并归属。
181
+ const hit = tryMulti(i);
182
+ if (hit)
183
+ return hit;
184
+ i++;
185
+ }
186
+ const hit = tryMulti(i);
187
+ if (hit)
188
+ return hit;
189
+ const seg = segs[i];
190
+ if (!seg)
191
+ return null;
192
+ if (/^\d+$/.test(seg))
193
+ return null; // 纯数字段(如 z 阶、断点值)非组件
194
+ if (GLOBAL_SEGMENTS.has(seg))
195
+ return null;
196
+ return COMPONENT_ALIASES[seg] ?? seg; // 无连字符别名收归规范组件名
197
+ }
198
+ export function buildManifest(input) {
199
+ const raw = [];
200
+ for (const [name, value] of Object.entries(input.global)) {
201
+ raw.push({ name, value, scope: 'global' });
202
+ }
203
+ for (const [name, value] of Object.entries(input.aliasLight)) {
204
+ raw.push({ name, value, scope: 'alias' });
205
+ }
206
+ for (const [key, def] of Object.entries(input.component)) {
207
+ const meta = tokenMeta(def);
208
+ const entry = { name: `${PREFIX}${key}`, value: meta.value, scope: 'component' };
209
+ if (meta.category !== undefined)
210
+ entry.category = meta.category;
211
+ if (meta.label !== undefined)
212
+ entry.label = meta.label;
213
+ if (meta.usage !== undefined)
214
+ entry.usage = meta.usage;
215
+ if (meta.editable !== undefined)
216
+ entry.editable = meta.editable;
217
+ raw.push(entry);
218
+ }
219
+ // light/dark 字面量映射:alias dark 覆盖同名 alias light。
220
+ const litLight = new Map();
221
+ const litDark = new Map();
222
+ for (const e of raw) {
223
+ litLight.set(e.name, e.value);
224
+ litDark.set(e.name, e.value);
225
+ }
226
+ for (const [name, value] of Object.entries(input.aliasDark)) {
227
+ litDark.set(name, value); // dark 只覆盖 alias 层
228
+ }
229
+ // 递归解析 var() 到字面量(防环,最多 10 跳)。
230
+ function resolve(name, table, depth = 0) {
231
+ const v = table.get(name);
232
+ if (v === undefined)
233
+ return `var(${name})`;
234
+ if (depth > 10)
235
+ return v;
236
+ const refs = refsOf(v);
237
+ if (refs.length === 0)
238
+ return v;
239
+ let out = v;
240
+ for (const r of refs) {
241
+ const resolved = resolve(r, table, depth + 1);
242
+ out = out.replace(new RegExp(`var\\(${r}(,[^)]*)?\\)`), resolved);
243
+ }
244
+ return out;
245
+ }
246
+ // 反向依赖图。
247
+ const referencedBy = new Map();
248
+ for (const e of raw) {
249
+ for (const r of refsOf(e.value)) {
250
+ const arr = referencedBy.get(r) ?? [];
251
+ arr.push(e.name);
252
+ referencedBy.set(r, arr);
253
+ }
254
+ }
255
+ const tokens = raw.map((e) => {
256
+ const component = componentOf(e.name);
257
+ return {
258
+ name: e.name,
259
+ value: e.value,
260
+ resolvedLight: resolve(e.name, litLight),
261
+ resolvedDark: resolve(e.name, litDark),
262
+ category: e.category ?? inferCategory(e.name, e.value),
263
+ component,
264
+ label: e.label ?? '',
265
+ // TokenDef 显式 usage 优先;缺省时按名分词推断中文说明(兜底)。
266
+ usage: e.usage ?? describe(e.name, component),
267
+ references: refsOf(e.value),
268
+ referencedBy: referencedBy.get(e.name) ?? [],
269
+ editable: e.editable ?? e.scope !== 'global', // global 原子默认不直接编辑
270
+ scope: e.scope,
271
+ };
272
+ });
273
+ tokens.sort((a, b) => a.name.localeCompare(b.name));
274
+ return { count: tokens.length, tokens };
275
+ }
276
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}