agentcss 0.0.0-stage → 0.11.3

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 (274) hide show
  1. package/01-tokens/README.md +236 -0
  2. package/01-tokens/behavior/dismissable.js +132 -0
  3. package/01-tokens/behavior/emit.js +76 -0
  4. package/01-tokens/behavior/focus-return.js +81 -0
  5. package/01-tokens/behavior/roving.js +152 -0
  6. package/01-tokens/behavior/typeahead.js +124 -0
  7. package/01-tokens/focus-ring-demo.html +133 -0
  8. package/01-tokens/focus-ring.css +102 -0
  9. package/01-tokens/page.css +244 -0
  10. package/01-tokens/polyfill.js +116 -0
  11. package/01-tokens/responsive-demo.html +171 -0
  12. package/01-tokens/scrollbar-demo.html +194 -0
  13. package/01-tokens/scrollbar.css +179 -0
  14. package/01-tokens/theme-toggle.js +103 -0
  15. package/01-tokens/tokens.css +972 -0
  16. package/01-tokens/typography.css +156 -0
  17. package/02-primitives/badge/README.md +71 -0
  18. package/02-primitives/badge/badge.css +141 -0
  19. package/02-primitives/badge/demo.html +101 -0
  20. package/02-primitives/button/README.md +99 -0
  21. package/02-primitives/button/button.css +353 -0
  22. package/02-primitives/button/demo.html +200 -0
  23. package/02-primitives/card/README.md +145 -0
  24. package/02-primitives/card/card.css +246 -0
  25. package/02-primitives/card/demo.html +170 -0
  26. package/02-primitives/choice/README.md +161 -0
  27. package/02-primitives/choice/choice.css +395 -0
  28. package/02-primitives/choice/demo.html +277 -0
  29. package/02-primitives/combobox/README.md +79 -0
  30. package/02-primitives/combobox/combobox.css +223 -0
  31. package/02-primitives/combobox/combobox.js +485 -0
  32. package/02-primitives/combobox/demo.html +109 -0
  33. package/02-primitives/date-range/README.md +100 -0
  34. package/02-primitives/date-range/date-range.css +206 -0
  35. package/02-primitives/date-range/date-range.js +301 -0
  36. package/02-primitives/date-range/demo.html +104 -0
  37. package/02-primitives/input/README.md +170 -0
  38. package/02-primitives/input/demo.html +246 -0
  39. package/02-primitives/input/input.css +239 -0
  40. package/02-primitives/popover/README.md +80 -0
  41. package/02-primitives/popover/demo.html +150 -0
  42. package/02-primitives/popover/popover.css +187 -0
  43. package/02-primitives/popover/popover.js +331 -0
  44. package/02-primitives/progress/README.md +82 -0
  45. package/02-primitives/progress/demo.html +154 -0
  46. package/02-primitives/progress/progress.css +172 -0
  47. package/02-primitives/select/README.md +95 -0
  48. package/02-primitives/select/demo.html +121 -0
  49. package/02-primitives/select/select.css +151 -0
  50. package/02-primitives/select/select.js +549 -0
  51. package/02-primitives/separator/README.md +63 -0
  52. package/02-primitives/separator/demo.html +84 -0
  53. package/02-primitives/separator/separator.css +73 -0
  54. package/02-primitives/skeleton/README.md +69 -0
  55. package/02-primitives/skeleton/demo.html +110 -0
  56. package/02-primitives/skeleton/skeleton.css +96 -0
  57. package/02-primitives/switch/README.md +65 -0
  58. package/02-primitives/switch/demo.html +115 -0
  59. package/02-primitives/switch/switch.css +370 -0
  60. package/03-patterns/accordion/README.md +121 -0
  61. package/03-patterns/accordion/accordion.css +453 -0
  62. package/03-patterns/accordion/accordion.js +369 -0
  63. package/03-patterns/accordion/demo.html +223 -0
  64. package/03-patterns/content/README.md +103 -0
  65. package/03-patterns/content/content.css +286 -0
  66. package/03-patterns/content/demo.html +88 -0
  67. package/03-patterns/drawer/README.md +79 -0
  68. package/03-patterns/drawer/demo.html +101 -0
  69. package/03-patterns/drawer/drawer.css +129 -0
  70. package/03-patterns/drawer/drawer.js +258 -0
  71. package/03-patterns/dropdown/README.md +78 -0
  72. package/03-patterns/dropdown/demo.html +101 -0
  73. package/03-patterns/dropdown/dropdown.css +135 -0
  74. package/03-patterns/dropdown/dropdown.js +451 -0
  75. package/03-patterns/form-validation/README.md +147 -0
  76. package/03-patterns/form-validation/demo.html +280 -0
  77. package/03-patterns/form-validation/form-validation.css +263 -0
  78. package/03-patterns/list/README.md +150 -0
  79. package/03-patterns/list/demo.html +225 -0
  80. package/03-patterns/list/flip.js +201 -0
  81. package/03-patterns/list/list.css +162 -0
  82. package/03-patterns/nav/README.md +225 -0
  83. package/03-patterns/nav/demo.html +131 -0
  84. package/03-patterns/nav/nav.css +314 -0
  85. package/03-patterns/nav/nav.js +430 -0
  86. package/03-patterns/nav/toc.js +111 -0
  87. package/03-patterns/overlay/README.md +196 -0
  88. package/03-patterns/overlay/demo.html +241 -0
  89. package/03-patterns/overlay/overlay.css +319 -0
  90. package/03-patterns/overlay/overlay.js +563 -0
  91. package/03-patterns/pagination/README.md +114 -0
  92. package/03-patterns/pagination/demo.html +165 -0
  93. package/03-patterns/pagination/pagination.css +195 -0
  94. package/03-patterns/pagination/pagination.js +395 -0
  95. package/03-patterns/reveal/README.md +91 -0
  96. package/03-patterns/reveal/demo.html +106 -0
  97. package/03-patterns/reveal/reveal.css +93 -0
  98. package/03-patterns/reveal/reveal.js +172 -0
  99. package/03-patterns/states/README.md +141 -0
  100. package/03-patterns/states/demo.html +240 -0
  101. package/03-patterns/states/states.css +252 -0
  102. package/03-patterns/tabs/README.md +84 -0
  103. package/03-patterns/tabs/demo.html +139 -0
  104. package/03-patterns/tabs/tabs.css +172 -0
  105. package/03-patterns/tabs/tabs.js +307 -0
  106. package/03-patterns/tooltip/README.md +96 -0
  107. package/03-patterns/tooltip/demo.html +78 -0
  108. package/03-patterns/tooltip/tooltip.css +89 -0
  109. package/03-patterns/tooltip/tooltip.js +288 -0
  110. package/03-patterns/tree/README.md +94 -0
  111. package/03-patterns/tree/demo.html +138 -0
  112. package/03-patterns/tree/tree.css +113 -0
  113. package/03-patterns/tree/tree.js +456 -0
  114. package/04-recipes/analysis-report/README.md +80 -0
  115. package/04-recipes/analysis-report/analysis-report.css +187 -0
  116. package/04-recipes/analysis-report/demo.html +274 -0
  117. package/04-recipes/data-showcase/README.md +45 -0
  118. package/04-recipes/data-showcase/demo.html +247 -0
  119. package/04-recipes/detail-page/README.md +93 -0
  120. package/04-recipes/detail-page/demo.html +55 -0
  121. package/04-recipes/detail-page/detail-page.css +190 -0
  122. package/04-recipes/detail-page/full.html +60 -0
  123. package/04-recipes/detail-page/null.html +60 -0
  124. package/04-recipes/detail-page/partial.html +60 -0
  125. package/04-recipes/detail-page/verify-skeleton.py +19 -0
  126. package/04-recipes/longform/README.md +93 -0
  127. package/04-recipes/longform/agc-memory.svg +4 -0
  128. package/04-recipes/longform/content.html +610 -0
  129. package/04-recipes/longform/content.md +51 -0
  130. package/04-recipes/longform/longform.html +627 -0
  131. package/04-recipes/report/README.md +176 -0
  132. package/04-recipes/report/demo.html +355 -0
  133. package/04-recipes/report/report.css +364 -0
  134. package/04-recipes/table/README.md +103 -0
  135. package/04-recipes/table/demo.html +455 -0
  136. package/04-recipes/table/table.css +372 -0
  137. package/04-recipes/tierA-tokens.css +189 -0
  138. package/09-assets/README.md +74 -0
  139. package/09-assets/bar/README.md +94 -0
  140. package/09-assets/bar/bar.css +166 -0
  141. package/09-assets/bar/bar.js +320 -0
  142. package/09-assets/bar/demo.html +176 -0
  143. package/09-assets/echarts-adapter/demo.html +192 -0
  144. package/09-assets/echarts-adapter/echarts-adapter.js +277 -0
  145. package/09-assets/model-viewer/README.md +155 -0
  146. package/09-assets/model-viewer/demo.html +105 -0
  147. package/09-assets/model-viewer/model-viewer.css +143 -0
  148. package/09-assets/model-viewer/model-viewer.js +423 -0
  149. package/09-assets/scientific-plot/README.md +94 -0
  150. package/09-assets/scientific-plot/demo.html +252 -0
  151. package/09-assets/scientific-plot/scientific-plot.css +141 -0
  152. package/09-assets/scientific-plot/scientific-plot.js +610 -0
  153. package/09-assets/sparkline/README.md +153 -0
  154. package/09-assets/sparkline/demo.html +163 -0
  155. package/09-assets/sparkline/sparkline.css +158 -0
  156. package/09-assets/sparkline/sparkline.js +508 -0
  157. package/API.md +332 -0
  158. package/CHANGELOG.md +3138 -0
  159. package/CODE_OF_CONDUCT.md +64 -0
  160. package/CONTRIBUTING.md +89 -0
  161. package/ERRORS.md +1658 -0
  162. package/LICENSE +21 -0
  163. package/README.md +497 -2
  164. package/SECURITY.md +72 -0
  165. package/START-HERE.md +164 -0
  166. package/SUPPORT.md +109 -0
  167. package/adapters/presentation/README.md +113 -0
  168. package/adapters/presentation/check.js +101 -0
  169. package/adapters/presentation/deck.schema.json +74 -0
  170. package/adapters/presentation/to-doc.js +138 -0
  171. package/ai/START-HERE.md +104 -0
  172. package/ai/behaviors.json +380 -0
  173. package/ai/behaviors.schema.json +61 -0
  174. package/ai/capabilities.json +56 -0
  175. package/ai/cli.js +387 -0
  176. package/ai/components.json +1944 -0
  177. package/ai/components.meta.json +168 -0
  178. package/ai/components.schema.json +220 -0
  179. package/ai/contract.schema.json +147 -0
  180. package/ai/deprecations.json +55 -0
  181. package/ai/deprecations.schema.json +85 -0
  182. package/ai/motion-policy.json +22 -0
  183. package/ai/patch.js +323 -0
  184. package/ai/patch.schema.json +63 -0
  185. package/ai/profiles.json +92 -0
  186. package/ai/tokens.audience.json +55 -0
  187. package/ai/tokens.audience.schema.json +73 -0
  188. package/ai/tokens.json +762 -0
  189. package/ai/tokens.schema.json +58 -0
  190. package/ai/tokens.tree.json +752 -0
  191. package/ai/tokens.tree.schema.json +56 -0
  192. package/ai/validate.js +383 -0
  193. package/dist/01-tokens/behavior/dismissable.js +60 -0
  194. package/dist/01-tokens/behavior/emit.js +21 -0
  195. package/dist/01-tokens/behavior/focus-return.js +31 -0
  196. package/dist/01-tokens/behavior/roving.js +77 -0
  197. package/dist/01-tokens/behavior/typeahead.js +61 -0
  198. package/dist/01-tokens/focus-ring.css +1 -0
  199. package/dist/01-tokens/page.css +1 -0
  200. package/dist/01-tokens/polyfill.js +78 -0
  201. package/dist/01-tokens/scrollbar.css +1 -0
  202. package/dist/01-tokens/theme-toggle.js +61 -0
  203. package/dist/01-tokens/tokens.css +1 -0
  204. package/dist/01-tokens/typography.css +1 -0
  205. package/dist/02-primitives/badge/badge.css +1 -0
  206. package/dist/02-primitives/button/button.css +1 -0
  207. package/dist/02-primitives/card/card.css +1 -0
  208. package/dist/02-primitives/choice/choice.css +1 -0
  209. package/dist/02-primitives/combobox/combobox.css +1 -0
  210. package/dist/02-primitives/combobox/combobox.js +439 -0
  211. package/dist/02-primitives/date-range/date-range.css +1 -0
  212. package/dist/02-primitives/date-range/date-range.js +267 -0
  213. package/dist/02-primitives/input/input.css +1 -0
  214. package/dist/02-primitives/popover/popover.css +1 -0
  215. package/dist/02-primitives/popover/popover.js +257 -0
  216. package/dist/02-primitives/progress/progress.css +1 -0
  217. package/dist/02-primitives/select/select.css +1 -0
  218. package/dist/02-primitives/select/select.js +449 -0
  219. package/dist/02-primitives/separator/separator.css +1 -0
  220. package/dist/02-primitives/skeleton/skeleton.css +1 -0
  221. package/dist/02-primitives/switch/switch.css +1 -0
  222. package/dist/03-patterns/accordion/accordion.css +1 -0
  223. package/dist/03-patterns/accordion/accordion.js +219 -0
  224. package/dist/03-patterns/content/content.css +1 -0
  225. package/dist/03-patterns/drawer/drawer.css +1 -0
  226. package/dist/03-patterns/drawer/drawer.js +229 -0
  227. package/dist/03-patterns/dropdown/dropdown.css +1 -0
  228. package/dist/03-patterns/dropdown/dropdown.js +365 -0
  229. package/dist/03-patterns/form-validation/form-validation.css +1 -0
  230. package/dist/03-patterns/list/flip.js +117 -0
  231. package/dist/03-patterns/list/list.css +1 -0
  232. package/dist/03-patterns/nav/nav.css +1 -0
  233. package/dist/03-patterns/nav/nav.js +322 -0
  234. package/dist/03-patterns/nav/toc.js +76 -0
  235. package/dist/03-patterns/overlay/overlay.css +1 -0
  236. package/dist/03-patterns/overlay/overlay.js +398 -0
  237. package/dist/03-patterns/pagination/pagination.css +1 -0
  238. package/dist/03-patterns/pagination/pagination.js +273 -0
  239. package/dist/03-patterns/reveal/reveal.css +1 -0
  240. package/dist/03-patterns/reveal/reveal.js +138 -0
  241. package/dist/03-patterns/states/states.css +1 -0
  242. package/dist/03-patterns/tabs/tabs.css +1 -0
  243. package/dist/03-patterns/tabs/tabs.js +242 -0
  244. package/dist/03-patterns/tooltip/tooltip.css +1 -0
  245. package/dist/03-patterns/tooltip/tooltip.js +213 -0
  246. package/dist/03-patterns/tree/tree.css +1 -0
  247. package/dist/03-patterns/tree/tree.js +383 -0
  248. package/dist/04-recipes/analysis-report/analysis-report.css +1 -0
  249. package/dist/04-recipes/detail-page/detail-page.css +1 -0
  250. package/dist/04-recipes/report/report.css +1 -0
  251. package/dist/04-recipes/table/table.css +1 -0
  252. package/dist/04-recipes/tierA-tokens.css +1 -0
  253. package/dist/09-assets/bar/bar.css +1 -0
  254. package/dist/09-assets/bar/bar.js +222 -0
  255. package/dist/09-assets/echarts-adapter/echarts-adapter.js +185 -0
  256. package/dist/09-assets/model-viewer/model-viewer.css +1 -0
  257. package/dist/09-assets/model-viewer/model-viewer.js +320 -0
  258. package/dist/09-assets/scientific-plot/scientific-plot.css +1 -0
  259. package/dist/09-assets/scientific-plot/scientific-plot.js +568 -0
  260. package/dist/09-assets/sparkline/sparkline.css +1 -0
  261. package/dist/09-assets/sparkline/sparkline.js +265 -0
  262. package/dist/COSTS.md +56 -0
  263. package/docs/AI-CONTRACT.md +197 -0
  264. package/docs/BACKLOG.md +127 -0
  265. package/docs/BENCHMARK.md +252 -0
  266. package/docs/GUIDANCE.md +154 -0
  267. package/docs/INVARIANT.md +372 -0
  268. package/docs/LAYER-BASELINE.md +158 -0
  269. package/docs/RELEASING.md +311 -0
  270. package/docs/RFC-THEME-SCOPE.md +141 -0
  271. package/docs/ROADMAP.md +182 -0
  272. package/index.html +82 -0
  273. package/package.json +107 -4
  274. package/types/index.d.ts +310 -0
@@ -0,0 +1,1944 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "generatedBy": "05-audit/gen-ai-contract.py",
4
+ "libraryVersion": "0.11.3",
5
+ "$comment": "机器可读的组件契约。slots = BEM 元素名(在本库里元素名就是插槽名),states.enum = 组件会在 DOM 上写出的 data-* 取值,states.legacyClass = 仍未收敛到 data 属性的历史状态类(INVARIANT I-8 未达标)。",
6
+ "maturityCriteria": {
7
+ "alpha": "缺 demo.html 或缺 05-audit 下的专属门禁 ⇒ 还没被机器验证过,不要用",
8
+ "beta": "有 demo + 专属门禁,但**下面至少有一条没过**:① 状态仍用 .is-* class 表达(违反 INVARIANT I-8);② 该收编到微行为核的行为还是**手写副本**(manual)或**根本没做**(gap) ⇒ 改一处不会全库跟着变(I-14 的病)",
9
+ "stable": "以上四条全过:有 demo + 专属门禁 + 状态全在 data-* 属性上 + 行为零欠账",
10
+ "$note": "成熟度是【计算出来的】,不是拍的。手写把某个组件改成 stable 而它还有 manual / gap ⇒ 门禁会红。",
11
+ "$whyFourth": "🔴 为什么第四条判据不能省:用前三条时多数组件会**全是 stable** ⇒ ladder 没有任何鉴别力(对标 Primer 六档阶梯,每档都有硬判据)。补上「行为欠账」这一条后:**stable 31 / beta 4**(本行由生成器算出,不要手改)。",
12
+ "$strictImpact": "⚠️ strict 档位只放行 stable ⇒ 4 个组件在 strict 下不可用:accordion / drawer / dropdown / overlay。放宽 strict 会让「未收编的手写行为」进入生产路径。(本行由生成器算出,不要手改)"
13
+ },
14
+ "summary": {
15
+ "total": 35,
16
+ "byMaturity": {
17
+ "stable": 31,
18
+ "beta": 4
19
+ },
20
+ "byTier": {
21
+ "primitive": 13,
22
+ "pattern": 14,
23
+ "recipe": 4,
24
+ "asset": 4
25
+ }
26
+ },
27
+ "components": [
28
+ {
29
+ "id": "bar",
30
+ "tier": "asset",
31
+ "purpose": "柱状图(charter 13 图表规范):堆叠/分组两种语义、超量程裁剪、图例",
32
+ "rootClass": "bar",
33
+ "maturity": "stable",
34
+ "maturityReasons": {
35
+ "hasDemo": true,
36
+ "hasDedicatedGate": true,
37
+ "statesOnDomAttributes": true,
38
+ "behaviorDebt": []
39
+ },
40
+ "gates": [
41
+ "chart-check.js"
42
+ ],
43
+ "files": {
44
+ "css": "09-assets/bar/bar.css",
45
+ "js": "09-assets/bar/bar.js",
46
+ "jsAlso": [],
47
+ "demo": "09-assets/bar/demo.html"
48
+ },
49
+ "slots": [
50
+ "bar__bar",
51
+ "bar__grid",
52
+ "bar__label",
53
+ "bar__label--clip",
54
+ "bar__label--max",
55
+ "bar__legend",
56
+ "bar__legend-item",
57
+ "bar__legend-swatch",
58
+ "bar__note",
59
+ "bar__s0",
60
+ "bar__s1",
61
+ "bar__s2",
62
+ "bar__s3",
63
+ "bar__s4",
64
+ "bar__svg",
65
+ "bar__threshold",
66
+ "bar__xlabel",
67
+ "bar__ytick"
68
+ ],
69
+ "variants": [],
70
+ "states": {
71
+ "enum": {
72
+ "clipped": [
73
+ "1"
74
+ ]
75
+ },
76
+ "boolean": [],
77
+ "legacyClass": []
78
+ },
79
+ "aria": {
80
+ "roles": [],
81
+ "attrs": []
82
+ },
83
+ "usesOtherNamespaces": [],
84
+ "global": "Bar",
85
+ "globalAlso": [],
86
+ "behaviorRef": "API.md#bar"
87
+ },
88
+ {
89
+ "id": "model-viewer",
90
+ "tier": "asset",
91
+ "purpose": "3D 模型查看器:令牌驱动样式,不含渲染库本体",
92
+ "rootClass": "mv",
93
+ "maturity": "stable",
94
+ "maturityReasons": {
95
+ "hasDemo": true,
96
+ "hasDedicatedGate": true,
97
+ "statesOnDomAttributes": true,
98
+ "behaviorDebt": []
99
+ },
100
+ "gates": [
101
+ "chart-check.js",
102
+ "model-viewer-contract.js"
103
+ ],
104
+ "files": {
105
+ "css": "09-assets/model-viewer/model-viewer.css",
106
+ "js": "09-assets/model-viewer/model-viewer.js",
107
+ "jsAlso": [],
108
+ "demo": "09-assets/model-viewer/demo.html"
109
+ },
110
+ "slots": [
111
+ "mv__btn",
112
+ "mv__cap",
113
+ "mv__err",
114
+ "mv__hint",
115
+ "mv__ph",
116
+ "mv__stage",
117
+ "mv__stage--err",
118
+ "mv__status"
119
+ ],
120
+ "variants": [],
121
+ "states": {
122
+ "enum": {},
123
+ "boolean": [],
124
+ "legacyClass": []
125
+ },
126
+ "aria": {
127
+ "roles": [],
128
+ "attrs": []
129
+ },
130
+ "usesOtherNamespaces": [],
131
+ "global": "ModelViewer",
132
+ "globalAlso": [],
133
+ "behaviorRef": "API.md#model-viewer"
134
+ },
135
+ {
136
+ "id": "scientific-plot",
137
+ "tier": "asset",
138
+ "purpose": "二维科学绘图:折线/区间带/对数轴,纯令牌驱动、零依赖",
139
+ "rootClass": "splot",
140
+ "maturity": "stable",
141
+ "maturityReasons": {
142
+ "hasDemo": true,
143
+ "hasDedicatedGate": true,
144
+ "statesOnDomAttributes": true,
145
+ "behaviorDebt": []
146
+ },
147
+ "gates": [
148
+ "scientific-plot-check.js"
149
+ ],
150
+ "files": {
151
+ "css": "09-assets/scientific-plot/scientific-plot.css",
152
+ "js": "09-assets/scientific-plot/scientific-plot.js",
153
+ "jsAlso": [],
154
+ "demo": "09-assets/scientific-plot/demo.html"
155
+ },
156
+ "slots": [
157
+ "splot__anno",
158
+ "splot__anno-dot",
159
+ "splot__axis",
160
+ "splot__axis-label",
161
+ "splot__band",
162
+ "splot__err",
163
+ "splot__grid",
164
+ "splot__legend",
165
+ "splot__legend-item",
166
+ "splot__legend-mark",
167
+ "splot__line",
168
+ "splot__note",
169
+ "splot__pt",
170
+ "splot__ref",
171
+ "splot__ref-label",
172
+ "splot__s0",
173
+ "splot__s1",
174
+ "splot__s2",
175
+ "splot__s3",
176
+ "splot__s4",
177
+ "splot__tick",
178
+ "splot__tick-label"
179
+ ],
180
+ "variants": [],
181
+ "states": {
182
+ "enum": {},
183
+ "boolean": [],
184
+ "legacyClass": []
185
+ },
186
+ "aria": {
187
+ "roles": [
188
+ "img"
189
+ ],
190
+ "attrs": [
191
+ "hidden",
192
+ "label"
193
+ ]
194
+ },
195
+ "usesOtherNamespaces": [],
196
+ "global": "ScientificPlot",
197
+ "globalAlso": [],
198
+ "behaviorRef": "API.md#scientific-plot"
199
+ },
200
+ {
201
+ "id": "sparkline",
202
+ "tier": "asset",
203
+ "purpose": "迷你趋势图:无坐标轴、纯形状,适合表格内嵌的一行走势",
204
+ "rootClass": "sparkline",
205
+ "maturity": "stable",
206
+ "maturityReasons": {
207
+ "hasDemo": true,
208
+ "hasDedicatedGate": true,
209
+ "statesOnDomAttributes": true,
210
+ "behaviorDebt": []
211
+ },
212
+ "gates": [
213
+ "chart-check.js",
214
+ "sparkline-contract.js"
215
+ ],
216
+ "files": {
217
+ "css": "09-assets/sparkline/sparkline.css",
218
+ "js": "09-assets/sparkline/sparkline.js",
219
+ "jsAlso": [],
220
+ "demo": "09-assets/sparkline/demo.html"
221
+ },
222
+ "slots": [],
223
+ "variants": [],
224
+ "states": {
225
+ "enum": {},
226
+ "boolean": [],
227
+ "legacyClass": []
228
+ },
229
+ "aria": {
230
+ "roles": [
231
+ "img"
232
+ ],
233
+ "attrs": []
234
+ },
235
+ "usesOtherNamespaces": [],
236
+ "global": "Chart",
237
+ "globalAlso": [],
238
+ "behaviorRef": "API.md#sparkline"
239
+ },
240
+ {
241
+ "id": "accordion",
242
+ "tier": "pattern",
243
+ "purpose": "可折叠分组",
244
+ "rootClass": "accordion",
245
+ "maturity": "beta",
246
+ "maturityReasons": {
247
+ "hasDemo": true,
248
+ "hasDedicatedGate": true,
249
+ "statesOnDomAttributes": true,
250
+ "behaviorDebt": [
251
+ "roving:gap"
252
+ ]
253
+ },
254
+ "gates": [
255
+ "accordion-contract.js"
256
+ ],
257
+ "files": {
258
+ "css": "03-patterns/accordion/accordion.css",
259
+ "js": "03-patterns/accordion/accordion.js",
260
+ "jsAlso": [],
261
+ "demo": "03-patterns/accordion/demo.html"
262
+ },
263
+ "slots": [
264
+ "accordion__heading",
265
+ "accordion__hint",
266
+ "accordion__item",
267
+ "accordion__label",
268
+ "accordion__marker",
269
+ "accordion__panel",
270
+ "accordion__panel-inner",
271
+ "accordion__trigger"
272
+ ],
273
+ "variants": [
274
+ "accordion--flush"
275
+ ],
276
+ "states": {
277
+ "enum": {
278
+ "state": [
279
+ "closed",
280
+ "open"
281
+ ]
282
+ },
283
+ "boolean": [],
284
+ "legacyClass": []
285
+ },
286
+ "aria": {
287
+ "roles": [
288
+ "button",
289
+ "region"
290
+ ],
291
+ "attrs": [
292
+ "disabled",
293
+ "expanded",
294
+ "hidden",
295
+ "labelledby"
296
+ ]
297
+ },
298
+ "usesOtherNamespaces": [],
299
+ "global": "Accordion",
300
+ "globalAlso": [],
301
+ "behaviorRef": "API.md#accordion"
302
+ },
303
+ {
304
+ "id": "content",
305
+ "tier": "pattern",
306
+ "purpose": "长文排版容器(标题/段落/列表/引用/代码)",
307
+ "rootClass": "prose",
308
+ "maturity": "stable",
309
+ "maturityReasons": {
310
+ "hasDemo": true,
311
+ "hasDedicatedGate": true,
312
+ "statesOnDomAttributes": true,
313
+ "behaviorDebt": []
314
+ },
315
+ "gates": [
316
+ "content-check.js"
317
+ ],
318
+ "files": {
319
+ "css": "03-patterns/content/content.css",
320
+ "js": null,
321
+ "jsAlso": [],
322
+ "demo": "03-patterns/content/demo.html"
323
+ },
324
+ "slots": [],
325
+ "variants": [],
326
+ "states": {
327
+ "enum": {},
328
+ "boolean": [],
329
+ "legacyClass": []
330
+ },
331
+ "aria": {
332
+ "roles": [],
333
+ "attrs": []
334
+ },
335
+ "usesOtherNamespaces": [],
336
+ "global": null,
337
+ "globalAlso": [],
338
+ "behaviorRef": "API.md#content"
339
+ },
340
+ {
341
+ "id": "drawer",
342
+ "tier": "pattern",
343
+ "purpose": "侧边抽屉,含遮罩",
344
+ "rootClass": "drawer",
345
+ "maturity": "beta",
346
+ "maturityReasons": {
347
+ "hasDemo": true,
348
+ "hasDedicatedGate": true,
349
+ "statesOnDomAttributes": true,
350
+ "behaviorDebt": [
351
+ "dismissable:manual"
352
+ ]
353
+ },
354
+ "gates": [
355
+ "drawer-check.js"
356
+ ],
357
+ "files": {
358
+ "css": "03-patterns/drawer/drawer.css",
359
+ "js": "03-patterns/drawer/drawer.js",
360
+ "jsAlso": [],
361
+ "demo": "03-patterns/drawer/demo.html"
362
+ },
363
+ "slots": [
364
+ "drawer__body",
365
+ "drawer__close",
366
+ "drawer__foot",
367
+ "drawer__head",
368
+ "drawer__title"
369
+ ],
370
+ "variants": [
371
+ "drawer--bottom",
372
+ "drawer--left",
373
+ "drawer--right",
374
+ "drawer--top"
375
+ ],
376
+ "states": {
377
+ "enum": {
378
+ "state": [
379
+ "leaving"
380
+ ]
381
+ },
382
+ "boolean": [],
383
+ "legacyClass": []
384
+ },
385
+ "aria": {
386
+ "roles": [],
387
+ "attrs": []
388
+ },
389
+ "usesOtherNamespaces": [],
390
+ "global": "Drawer",
391
+ "globalAlso": [],
392
+ "behaviorRef": "API.md#drawer"
393
+ },
394
+ {
395
+ "id": "dropdown",
396
+ "tier": "pattern",
397
+ "purpose": "下拉菜单",
398
+ "rootClass": "dd",
399
+ "maturity": "beta",
400
+ "maturityReasons": {
401
+ "hasDemo": true,
402
+ "hasDedicatedGate": true,
403
+ "statesOnDomAttributes": true,
404
+ "behaviorDebt": [
405
+ "typeahead:gap"
406
+ ]
407
+ },
408
+ "gates": [
409
+ "dropdown-check.js"
410
+ ],
411
+ "files": {
412
+ "css": "03-patterns/dropdown/dropdown.css",
413
+ "js": "03-patterns/dropdown/dropdown.js",
414
+ "jsAlso": [],
415
+ "demo": "03-patterns/dropdown/demo.html"
416
+ },
417
+ "slots": [
418
+ "dd__btn",
419
+ "dd__caret",
420
+ "dd__check",
421
+ "dd__item",
422
+ "dd__menu",
423
+ "dd__sep"
424
+ ],
425
+ "variants": [
426
+ "dd--end"
427
+ ],
428
+ "states": {
429
+ "enum": {
430
+ "state": [
431
+ "active"
432
+ ]
433
+ },
434
+ "boolean": [],
435
+ "legacyClass": []
436
+ },
437
+ "aria": {
438
+ "roles": [
439
+ "menu",
440
+ "menuitem",
441
+ "separator"
442
+ ],
443
+ "attrs": [
444
+ "disabled",
445
+ "expanded"
446
+ ]
447
+ },
448
+ "usesOtherNamespaces": [],
449
+ "global": "Dropdown",
450
+ "globalAlso": [],
451
+ "behaviorRef": "API.md#dropdown"
452
+ },
453
+ {
454
+ "id": "form-validation",
455
+ "tier": "pattern",
456
+ "purpose": "表单校验反馈与错误汇总",
457
+ "rootClass": "form",
458
+ "maturity": "stable",
459
+ "maturityReasons": {
460
+ "hasDemo": true,
461
+ "hasDedicatedGate": true,
462
+ "statesOnDomAttributes": true,
463
+ "behaviorDebt": []
464
+ },
465
+ "gates": [
466
+ "form-validation-check.js"
467
+ ],
468
+ "files": {
469
+ "css": "03-patterns/form-validation/form-validation.css",
470
+ "js": null,
471
+ "jsAlso": [],
472
+ "demo": "03-patterns/form-validation/demo.html"
473
+ },
474
+ "slots": [
475
+ "form__actions",
476
+ "form__notice",
477
+ "form__row",
478
+ "form__summary",
479
+ "form__summary-link",
480
+ "form__summary-title"
481
+ ],
482
+ "variants": [
483
+ "form--has-summary"
484
+ ],
485
+ "states": {
486
+ "enum": {},
487
+ "boolean": [
488
+ "dirty"
489
+ ],
490
+ "legacyClass": []
491
+ },
492
+ "aria": {
493
+ "roles": [
494
+ "alert"
495
+ ],
496
+ "attrs": [
497
+ "describedby",
498
+ "hidden"
499
+ ]
500
+ },
501
+ "usesOtherNamespaces": [
502
+ "field__checking-hint",
503
+ "field__error",
504
+ "field__input"
505
+ ],
506
+ "global": null,
507
+ "globalAlso": [],
508
+ "behaviorRef": "API.md#form-validation"
509
+ },
510
+ {
511
+ "id": "list",
512
+ "tier": "pattern",
513
+ "purpose": "键值列表/条目列表",
514
+ "rootClass": "list",
515
+ "maturity": "stable",
516
+ "maturityReasons": {
517
+ "hasDemo": true,
518
+ "hasDedicatedGate": true,
519
+ "statesOnDomAttributes": true,
520
+ "behaviorDebt": []
521
+ },
522
+ "gates": [
523
+ "list-check.js"
524
+ ],
525
+ "files": {
526
+ "css": "03-patterns/list/list.css",
527
+ "js": "03-patterns/list/flip.js",
528
+ "jsAlso": [],
529
+ "demo": "03-patterns/list/demo.html"
530
+ },
531
+ "slots": [
532
+ "list__actions",
533
+ "list__item",
534
+ "list__main",
535
+ "list__meta",
536
+ "list__note",
537
+ "list__title",
538
+ "list__value",
539
+ "list__value--down",
540
+ "list__value--up"
541
+ ],
542
+ "variants": [],
543
+ "states": {
544
+ "enum": {},
545
+ "boolean": [],
546
+ "legacyClass": []
547
+ },
548
+ "aria": {
549
+ "roles": [
550
+ "list"
551
+ ],
552
+ "attrs": [
553
+ "hidden"
554
+ ]
555
+ },
556
+ "usesOtherNamespaces": [],
557
+ "global": "FLIP",
558
+ "globalAlso": [],
559
+ "behaviorRef": "API.md#list"
560
+ },
561
+ {
562
+ "id": "nav",
563
+ "tier": "pattern",
564
+ "purpose": "顶部导航与目录",
565
+ "rootClass": "nav",
566
+ "maturity": "stable",
567
+ "maturityReasons": {
568
+ "hasDemo": true,
569
+ "hasDedicatedGate": true,
570
+ "statesOnDomAttributes": true,
571
+ "behaviorDebt": []
572
+ },
573
+ "gates": [
574
+ "nav-check.js"
575
+ ],
576
+ "files": {
577
+ "css": "03-patterns/nav/nav.css",
578
+ "js": "03-patterns/nav/nav.js",
579
+ "jsAlso": [
580
+ "03-patterns/nav/toc.js"
581
+ ],
582
+ "demo": "03-patterns/nav/demo.html"
583
+ },
584
+ "slots": [
585
+ "nav__brand",
586
+ "nav__inner",
587
+ "nav__link",
588
+ "nav__list",
589
+ "nav__scrim",
590
+ "nav__toggle"
591
+ ],
592
+ "variants": [],
593
+ "states": {
594
+ "enum": {
595
+ "state": [
596
+ "open"
597
+ ]
598
+ },
599
+ "boolean": [],
600
+ "legacyClass": []
601
+ },
602
+ "aria": {
603
+ "roles": [],
604
+ "attrs": [
605
+ "controls",
606
+ "current",
607
+ "expanded",
608
+ "label"
609
+ ]
610
+ },
611
+ "usesOtherNamespaces": [
612
+ "toc__link",
613
+ "toc__list",
614
+ "toc__title"
615
+ ],
616
+ "global": "Nav",
617
+ "globalAlso": [
618
+ {
619
+ "global": "Toc",
620
+ "js": "03-patterns/nav/toc.js"
621
+ }
622
+ ],
623
+ "behaviorRef": "API.md#nav"
624
+ },
625
+ {
626
+ "id": "overlay",
627
+ "tier": "pattern",
628
+ "purpose": "吐司提示与模态遮罩",
629
+ "rootClass": "toast",
630
+ "maturity": "beta",
631
+ "maturityReasons": {
632
+ "hasDemo": true,
633
+ "hasDedicatedGate": true,
634
+ "statesOnDomAttributes": true,
635
+ "behaviorDebt": [
636
+ "dismissable:manual"
637
+ ]
638
+ },
639
+ "gates": [
640
+ "overlay-check.js",
641
+ "overlay-host-check.js"
642
+ ],
643
+ "files": {
644
+ "css": "03-patterns/overlay/overlay.css",
645
+ "js": "03-patterns/overlay/overlay.js",
646
+ "jsAlso": [],
647
+ "demo": "03-patterns/overlay/demo.html"
648
+ },
649
+ "slots": [
650
+ "toast__body",
651
+ "toast__close",
652
+ "toast__desc",
653
+ "toast__timer",
654
+ "toast__title"
655
+ ],
656
+ "variants": [
657
+ "toast--error",
658
+ "toast--success",
659
+ "toast--warning"
660
+ ],
661
+ "states": {
662
+ "enum": {
663
+ "state": [
664
+ "leaving"
665
+ ]
666
+ },
667
+ "boolean": [
668
+ "scroll-locked"
669
+ ],
670
+ "legacyClass": []
671
+ },
672
+ "aria": {
673
+ "roles": [
674
+ "status"
675
+ ],
676
+ "attrs": [
677
+ "hidden"
678
+ ]
679
+ },
680
+ "usesOtherNamespaces": [
681
+ "dialog__actions",
682
+ "dialog__desc",
683
+ "dialog__title"
684
+ ],
685
+ "global": "Overlay",
686
+ "globalAlso": [],
687
+ "behaviorRef": "API.md#overlay"
688
+ },
689
+ {
690
+ "id": "pagination",
691
+ "tier": "pattern",
692
+ "purpose": "分页控件",
693
+ "rootClass": "pagination",
694
+ "maturity": "stable",
695
+ "maturityReasons": {
696
+ "hasDemo": true,
697
+ "hasDedicatedGate": true,
698
+ "statesOnDomAttributes": true,
699
+ "behaviorDebt": []
700
+ },
701
+ "gates": [
702
+ "pagination-check.js"
703
+ ],
704
+ "files": {
705
+ "css": "03-patterns/pagination/pagination.css",
706
+ "js": "03-patterns/pagination/pagination.js",
707
+ "jsAlso": [],
708
+ "demo": "03-patterns/pagination/demo.html"
709
+ },
710
+ "slots": [
711
+ "pagination__ellipsis",
712
+ "pagination__item",
713
+ "pagination__link",
714
+ "pagination__list",
715
+ "pagination__live",
716
+ "pagination__sr",
717
+ "pagination__status"
718
+ ],
719
+ "variants": [],
720
+ "states": {
721
+ "enum": {},
722
+ "boolean": [],
723
+ "legacyClass": []
724
+ },
725
+ "aria": {
726
+ "roles": [
727
+ "navigation",
728
+ "region"
729
+ ],
730
+ "attrs": [
731
+ "controls",
732
+ "current",
733
+ "disabled",
734
+ "label",
735
+ "live"
736
+ ]
737
+ },
738
+ "usesOtherNamespaces": [],
739
+ "global": "Pagination",
740
+ "globalAlso": [],
741
+ "behaviorRef": "API.md#pagination"
742
+ },
743
+ {
744
+ "id": "reveal",
745
+ "tier": "pattern",
746
+ "purpose": "入场动效:一个 data-reveal 属性六个方向,无 JS 时内容全可见",
747
+ "rootClass": "reveal",
748
+ "maturity": "stable",
749
+ "maturityReasons": {
750
+ "hasDemo": true,
751
+ "hasDedicatedGate": true,
752
+ "statesOnDomAttributes": true,
753
+ "behaviorDebt": []
754
+ },
755
+ "gates": [
756
+ "reveal-contract.js"
757
+ ],
758
+ "files": {
759
+ "css": "03-patterns/reveal/reveal.css",
760
+ "js": "03-patterns/reveal/reveal.js",
761
+ "jsAlso": [],
762
+ "demo": "03-patterns/reveal/demo.html"
763
+ },
764
+ "slots": [],
765
+ "variants": [],
766
+ "states": {
767
+ "enum": {
768
+ "reveal": [
769
+ "down",
770
+ "left",
771
+ "none",
772
+ "right",
773
+ "scale",
774
+ "up"
775
+ ]
776
+ },
777
+ "boolean": [
778
+ "reveal",
779
+ "reveal-children",
780
+ "reveal-done",
781
+ "reveal-ready"
782
+ ],
783
+ "legacyClass": []
784
+ },
785
+ "aria": {
786
+ "roles": [],
787
+ "attrs": []
788
+ },
789
+ "usesOtherNamespaces": [],
790
+ "global": "Reveal",
791
+ "globalAlso": [],
792
+ "behaviorRef": "API.md#reveal"
793
+ },
794
+ {
795
+ "id": "states",
796
+ "tier": "pattern",
797
+ "purpose": "空/加载/错误/成功四种整块状态",
798
+ "rootClass": "state",
799
+ "maturity": "stable",
800
+ "maturityReasons": {
801
+ "hasDemo": true,
802
+ "hasDedicatedGate": true,
803
+ "statesOnDomAttributes": true,
804
+ "behaviorDebt": []
805
+ },
806
+ "gates": [
807
+ "states-check.js"
808
+ ],
809
+ "files": {
810
+ "css": "03-patterns/states/states.css",
811
+ "js": null,
812
+ "jsAlso": [],
813
+ "demo": "03-patterns/states/demo.html"
814
+ },
815
+ "slots": [
816
+ "state__action",
817
+ "state__desc",
818
+ "state__detail",
819
+ "state__icon",
820
+ "state__title"
821
+ ],
822
+ "variants": [
823
+ "state--empty",
824
+ "state--error",
825
+ "state--loading"
826
+ ],
827
+ "states": {
828
+ "enum": {},
829
+ "boolean": [],
830
+ "legacyClass": []
831
+ },
832
+ "aria": {
833
+ "roles": [
834
+ "alert",
835
+ "group",
836
+ "status"
837
+ ],
838
+ "attrs": [
839
+ "busy",
840
+ "hidden",
841
+ "label",
842
+ "live",
843
+ "pressed"
844
+ ]
845
+ },
846
+ "usesOtherNamespaces": [],
847
+ "global": null,
848
+ "globalAlso": [],
849
+ "behaviorRef": "API.md#states"
850
+ },
851
+ {
852
+ "id": "tabs",
853
+ "tier": "pattern",
854
+ "purpose": "选项卡切换",
855
+ "rootClass": "tabs",
856
+ "maturity": "stable",
857
+ "maturityReasons": {
858
+ "hasDemo": true,
859
+ "hasDedicatedGate": true,
860
+ "statesOnDomAttributes": true,
861
+ "behaviorDebt": []
862
+ },
863
+ "gates": [
864
+ "tabs-contract.js"
865
+ ],
866
+ "files": {
867
+ "css": "03-patterns/tabs/tabs.css",
868
+ "js": "03-patterns/tabs/tabs.js",
869
+ "jsAlso": [],
870
+ "demo": "03-patterns/tabs/demo.html"
871
+ },
872
+ "slots": [
873
+ "tabs__list",
874
+ "tabs__panel",
875
+ "tabs__panel--enter",
876
+ "tabs__tab"
877
+ ],
878
+ "variants": [
879
+ "tabs--manual",
880
+ "tabs--vertical"
881
+ ],
882
+ "states": {
883
+ "enum": {},
884
+ "boolean": [],
885
+ "legacyClass": []
886
+ },
887
+ "aria": {
888
+ "roles": [
889
+ "tab",
890
+ "tablist",
891
+ "tabpanel"
892
+ ],
893
+ "attrs": [
894
+ "controls",
895
+ "disabled",
896
+ "label",
897
+ "labelledby",
898
+ "orientation",
899
+ "selected"
900
+ ]
901
+ },
902
+ "usesOtherNamespaces": [],
903
+ "global": "Tabs",
904
+ "globalAlso": [],
905
+ "behaviorRef": "API.md#tabs"
906
+ },
907
+ {
908
+ "id": "tooltip",
909
+ "tier": "pattern",
910
+ "purpose": "悬停/聚焦提示",
911
+ "rootClass": "tooltip",
912
+ "maturity": "stable",
913
+ "maturityReasons": {
914
+ "hasDemo": true,
915
+ "hasDedicatedGate": true,
916
+ "statesOnDomAttributes": true,
917
+ "behaviorDebt": []
918
+ },
919
+ "gates": [
920
+ "tooltip-check.js"
921
+ ],
922
+ "files": {
923
+ "css": "03-patterns/tooltip/tooltip.css",
924
+ "js": "03-patterns/tooltip/tooltip.js",
925
+ "jsAlso": [],
926
+ "demo": "03-patterns/tooltip/demo.html"
927
+ },
928
+ "slots": [],
929
+ "variants": [
930
+ "tooltip--bottom",
931
+ "tooltip--inset-inline-end",
932
+ "tooltip--inset-inline-start",
933
+ "tooltip--top"
934
+ ],
935
+ "states": {
936
+ "enum": {
937
+ "state": [
938
+ "open"
939
+ ]
940
+ },
941
+ "boolean": [
942
+ "tooltip"
943
+ ],
944
+ "legacyClass": []
945
+ },
946
+ "aria": {
947
+ "roles": [
948
+ "tooltip"
949
+ ],
950
+ "attrs": []
951
+ },
952
+ "usesOtherNamespaces": [],
953
+ "global": "Tooltip",
954
+ "globalAlso": [],
955
+ "behaviorRef": "API.md#tooltip"
956
+ },
957
+ {
958
+ "id": "tree",
959
+ "tier": "pattern",
960
+ "purpose": "可展开树形结构",
961
+ "rootClass": "tree",
962
+ "maturity": "stable",
963
+ "maturityReasons": {
964
+ "hasDemo": true,
965
+ "hasDedicatedGate": true,
966
+ "statesOnDomAttributes": true,
967
+ "behaviorDebt": []
968
+ },
969
+ "gates": [
970
+ "tree-check.js"
971
+ ],
972
+ "files": {
973
+ "css": "03-patterns/tree/tree.css",
974
+ "js": "03-patterns/tree/tree.js",
975
+ "jsAlso": [],
976
+ "demo": "03-patterns/tree/demo.html"
977
+ },
978
+ "slots": [
979
+ "tree__count",
980
+ "tree__item",
981
+ "tree__label",
982
+ "tree__marker",
983
+ "tree__node"
984
+ ],
985
+ "variants": [],
986
+ "states": {
987
+ "enum": {},
988
+ "boolean": [],
989
+ "legacyClass": []
990
+ },
991
+ "aria": {
992
+ "roles": [
993
+ "group"
994
+ ],
995
+ "attrs": [
996
+ "expanded",
997
+ "selected"
998
+ ]
999
+ },
1000
+ "usesOtherNamespaces": [],
1001
+ "global": "Tree",
1002
+ "globalAlso": [],
1003
+ "behaviorRef": "API.md#tree"
1004
+ },
1005
+ {
1006
+ "id": "badge",
1007
+ "tier": "primitive",
1008
+ "purpose": "状态标签:计数、分类、结果标记",
1009
+ "rootClass": "badge",
1010
+ "maturity": "stable",
1011
+ "maturityReasons": {
1012
+ "hasDemo": true,
1013
+ "hasDedicatedGate": true,
1014
+ "statesOnDomAttributes": true,
1015
+ "behaviorDebt": []
1016
+ },
1017
+ "gates": [
1018
+ "badge-check.js"
1019
+ ],
1020
+ "files": {
1021
+ "css": "02-primitives/badge/badge.css",
1022
+ "js": null,
1023
+ "jsAlso": [],
1024
+ "demo": "02-primitives/badge/demo.html"
1025
+ },
1026
+ "slots": [],
1027
+ "variants": [
1028
+ "badge--clickable",
1029
+ "badge--danger",
1030
+ "badge--info",
1031
+ "badge--lg",
1032
+ "badge--neutral",
1033
+ "badge--solid-danger",
1034
+ "badge--solid-success",
1035
+ "badge--solid-warning",
1036
+ "badge--success",
1037
+ "badge--warning"
1038
+ ],
1039
+ "states": {
1040
+ "enum": {},
1041
+ "boolean": [],
1042
+ "legacyClass": []
1043
+ },
1044
+ "aria": {
1045
+ "roles": [],
1046
+ "attrs": []
1047
+ },
1048
+ "usesOtherNamespaces": [],
1049
+ "global": null,
1050
+ "globalAlso": [],
1051
+ "behaviorRef": "API.md#badge"
1052
+ },
1053
+ {
1054
+ "id": "button",
1055
+ "tier": "primitive",
1056
+ "purpose": "动作触发:主/次/危险/纯文字四档",
1057
+ "rootClass": "btn",
1058
+ "maturity": "stable",
1059
+ "maturityReasons": {
1060
+ "hasDemo": true,
1061
+ "hasDedicatedGate": true,
1062
+ "statesOnDomAttributes": true,
1063
+ "behaviorDebt": []
1064
+ },
1065
+ "gates": [
1066
+ "button-check.js"
1067
+ ],
1068
+ "files": {
1069
+ "css": "02-primitives/button/button.css",
1070
+ "js": null,
1071
+ "jsAlso": [],
1072
+ "demo": "02-primitives/button/demo.html"
1073
+ },
1074
+ "slots": [
1075
+ "btn__label",
1076
+ "btn__spinner"
1077
+ ],
1078
+ "variants": [
1079
+ "btn--block",
1080
+ "btn--danger",
1081
+ "btn--ghost",
1082
+ "btn--icon",
1083
+ "btn--lg",
1084
+ "btn--md",
1085
+ "btn--primary",
1086
+ "btn--secondary",
1087
+ "btn--sm"
1088
+ ],
1089
+ "states": {
1090
+ "enum": {
1091
+ "state": [
1092
+ "success"
1093
+ ]
1094
+ },
1095
+ "boolean": [],
1096
+ "legacyClass": []
1097
+ },
1098
+ "aria": {
1099
+ "roles": [],
1100
+ "attrs": [
1101
+ "busy",
1102
+ "disabled"
1103
+ ]
1104
+ },
1105
+ "usesOtherNamespaces": [],
1106
+ "global": null,
1107
+ "globalAlso": [],
1108
+ "behaviorRef": "API.md#button"
1109
+ },
1110
+ {
1111
+ "id": "card",
1112
+ "tier": "primitive",
1113
+ "purpose": "内容容器:媒体+正文+操作区三段",
1114
+ "rootClass": "card",
1115
+ "maturity": "stable",
1116
+ "maturityReasons": {
1117
+ "hasDemo": true,
1118
+ "hasDedicatedGate": true,
1119
+ "statesOnDomAttributes": true,
1120
+ "behaviorDebt": []
1121
+ },
1122
+ "gates": [
1123
+ "card-check.js"
1124
+ ],
1125
+ "files": {
1126
+ "css": "02-primitives/card/card.css",
1127
+ "js": null,
1128
+ "jsAlso": [],
1129
+ "demo": "02-primitives/card/demo.html"
1130
+ },
1131
+ "slots": [
1132
+ "card__body",
1133
+ "card__desc",
1134
+ "card__footer",
1135
+ "card__link",
1136
+ "card__media",
1137
+ "card__title"
1138
+ ],
1139
+ "variants": [
1140
+ "card--compact",
1141
+ "card--elevated",
1142
+ "card--flat",
1143
+ "card--interactive",
1144
+ "card--linked",
1145
+ "card--row",
1146
+ "card--selected"
1147
+ ],
1148
+ "states": {
1149
+ "enum": {},
1150
+ "boolean": [],
1151
+ "legacyClass": []
1152
+ },
1153
+ "aria": {
1154
+ "roles": [
1155
+ "button",
1156
+ "checkbox",
1157
+ "switch"
1158
+ ],
1159
+ "attrs": []
1160
+ },
1161
+ "usesOtherNamespaces": [],
1162
+ "global": null,
1163
+ "globalAlso": [],
1164
+ "behaviorRef": "API.md#card"
1165
+ },
1166
+ {
1167
+ "id": "choice",
1168
+ "tier": "primitive",
1169
+ "purpose": "单选/多选/原生 select 外观的统一控件",
1170
+ "rootClass": "choice",
1171
+ "maturity": "stable",
1172
+ "maturityReasons": {
1173
+ "hasDemo": true,
1174
+ "hasDedicatedGate": true,
1175
+ "statesOnDomAttributes": true,
1176
+ "behaviorDebt": []
1177
+ },
1178
+ "gates": [
1179
+ "choice-check.js"
1180
+ ],
1181
+ "files": {
1182
+ "css": "02-primitives/choice/choice.css",
1183
+ "js": null,
1184
+ "jsAlso": [],
1185
+ "demo": "02-primitives/choice/demo.html"
1186
+ },
1187
+ "slots": [
1188
+ "choice__group",
1189
+ "choice__hint",
1190
+ "choice__input",
1191
+ "choice__label",
1192
+ "choice__legend",
1193
+ "choice__mark",
1194
+ "choice__options"
1195
+ ],
1196
+ "variants": [
1197
+ "choice--checkbox",
1198
+ "choice--radio"
1199
+ ],
1200
+ "states": {
1201
+ "enum": {},
1202
+ "boolean": [],
1203
+ "legacyClass": []
1204
+ },
1205
+ "aria": {
1206
+ "roles": [],
1207
+ "attrs": [
1208
+ "describedby",
1209
+ "hidden"
1210
+ ]
1211
+ },
1212
+ "usesOtherNamespaces": [
1213
+ "select__arrow",
1214
+ "select__control",
1215
+ "select__control--auto"
1216
+ ],
1217
+ "global": null,
1218
+ "globalAlso": [],
1219
+ "behaviorRef": "API.md#choice"
1220
+ },
1221
+ {
1222
+ "id": "combobox",
1223
+ "tier": "primitive",
1224
+ "purpose": "可搜索 + 可多选标签的输入控件",
1225
+ "rootClass": "combo",
1226
+ "maturity": "stable",
1227
+ "maturityReasons": {
1228
+ "hasDemo": true,
1229
+ "hasDedicatedGate": true,
1230
+ "statesOnDomAttributes": true,
1231
+ "behaviorDebt": []
1232
+ },
1233
+ "gates": [
1234
+ "combobox-check.js",
1235
+ "combobox-instance-check.js"
1236
+ ],
1237
+ "files": {
1238
+ "css": "02-primitives/combobox/combobox.css",
1239
+ "js": "02-primitives/combobox/combobox.js",
1240
+ "jsAlso": [],
1241
+ "demo": "02-primitives/combobox/demo.html"
1242
+ },
1243
+ "slots": [
1244
+ "combo__empty",
1245
+ "combo__field",
1246
+ "combo__input",
1247
+ "combo__list",
1248
+ "combo__opt",
1249
+ "combo__tag",
1250
+ "combo__tag-del",
1251
+ "combo__tag-text",
1252
+ "combo__tags"
1253
+ ],
1254
+ "variants": [],
1255
+ "states": {
1256
+ "enum": {
1257
+ "state": [
1258
+ "active",
1259
+ "disabled"
1260
+ ]
1261
+ },
1262
+ "boolean": [],
1263
+ "legacyClass": []
1264
+ },
1265
+ "aria": {
1266
+ "roles": [
1267
+ "option",
1268
+ "presentation"
1269
+ ],
1270
+ "attrs": [
1271
+ "disabled",
1272
+ "label",
1273
+ "selected"
1274
+ ]
1275
+ },
1276
+ "usesOtherNamespaces": [],
1277
+ "global": "Combobox",
1278
+ "globalAlso": [],
1279
+ "behaviorRef": "API.md#combobox"
1280
+ },
1281
+ {
1282
+ "id": "date-range",
1283
+ "tier": "primitive",
1284
+ "purpose": "日期区间选择,含预设快捷范围",
1285
+ "rootClass": "drange",
1286
+ "maturity": "stable",
1287
+ "maturityReasons": {
1288
+ "hasDemo": true,
1289
+ "hasDedicatedGate": true,
1290
+ "statesOnDomAttributes": true,
1291
+ "behaviorDebt": []
1292
+ },
1293
+ "gates": [
1294
+ "date-range-check.js"
1295
+ ],
1296
+ "files": {
1297
+ "css": "02-primitives/date-range/date-range.css",
1298
+ "js": "02-primitives/date-range/date-range.js",
1299
+ "jsAlso": [],
1300
+ "demo": "02-primitives/date-range/demo.html"
1301
+ },
1302
+ "slots": [
1303
+ "drange__clear",
1304
+ "drange__error",
1305
+ "drange__field",
1306
+ "drange__input",
1307
+ "drange__label",
1308
+ "drange__preset",
1309
+ "drange__presets",
1310
+ "drange__sep",
1311
+ "drange__summary"
1312
+ ],
1313
+ "variants": [
1314
+ "drange--disabled"
1315
+ ],
1316
+ "states": {
1317
+ "enum": {},
1318
+ "boolean": [],
1319
+ "legacyClass": []
1320
+ },
1321
+ "aria": {
1322
+ "roles": [
1323
+ "alert"
1324
+ ],
1325
+ "attrs": [
1326
+ "hidden",
1327
+ "invalid",
1328
+ "live",
1329
+ "pressed"
1330
+ ]
1331
+ },
1332
+ "usesOtherNamespaces": [],
1333
+ "global": "DateRange",
1334
+ "globalAlso": [],
1335
+ "behaviorRef": "API.md#date-range"
1336
+ },
1337
+ {
1338
+ "id": "input",
1339
+ "tier": "primitive",
1340
+ "purpose": "文本输入及其标签/帮助/错误三件套",
1341
+ "rootClass": "field",
1342
+ "maturity": "stable",
1343
+ "maturityReasons": {
1344
+ "hasDemo": true,
1345
+ "hasDedicatedGate": true,
1346
+ "statesOnDomAttributes": true,
1347
+ "behaviorDebt": []
1348
+ },
1349
+ "gates": [
1350
+ "input-check.js"
1351
+ ],
1352
+ "files": {
1353
+ "css": "02-primitives/input/input.css",
1354
+ "js": null,
1355
+ "jsAlso": [],
1356
+ "demo": "02-primitives/input/demo.html"
1357
+ },
1358
+ "slots": [
1359
+ "field__error",
1360
+ "field__hint",
1361
+ "field__input",
1362
+ "field__input--sm",
1363
+ "field__input--textarea",
1364
+ "field__label",
1365
+ "field__req"
1366
+ ],
1367
+ "variants": [
1368
+ "field--row"
1369
+ ],
1370
+ "states": {
1371
+ "enum": {
1372
+ "state": [
1373
+ "valid"
1374
+ ]
1375
+ },
1376
+ "boolean": [],
1377
+ "legacyClass": []
1378
+ },
1379
+ "aria": {
1380
+ "roles": [
1381
+ "alert"
1382
+ ],
1383
+ "attrs": [
1384
+ "describedby",
1385
+ "hidden",
1386
+ "invalid"
1387
+ ]
1388
+ },
1389
+ "usesOtherNamespaces": [],
1390
+ "global": null,
1391
+ "globalAlso": [],
1392
+ "behaviorRef": "API.md#input"
1393
+ },
1394
+ {
1395
+ "id": "popover",
1396
+ "tier": "primitive",
1397
+ "purpose": "锚定到触发元素的浮层",
1398
+ "rootClass": "popover",
1399
+ "maturity": "stable",
1400
+ "maturityReasons": {
1401
+ "hasDemo": true,
1402
+ "hasDedicatedGate": true,
1403
+ "statesOnDomAttributes": true,
1404
+ "behaviorDebt": []
1405
+ },
1406
+ "gates": [
1407
+ "popover-check.js"
1408
+ ],
1409
+ "files": {
1410
+ "css": "02-primitives/popover/popover.css",
1411
+ "js": "02-primitives/popover/popover.js",
1412
+ "jsAlso": [],
1413
+ "demo": "02-primitives/popover/demo.html"
1414
+ },
1415
+ "slots": [
1416
+ "popover__arrow",
1417
+ "popover__desc",
1418
+ "popover__footer",
1419
+ "popover__title"
1420
+ ],
1421
+ "variants": [
1422
+ "popover--bottom",
1423
+ "popover--end",
1424
+ "popover--start",
1425
+ "popover--top"
1426
+ ],
1427
+ "states": {
1428
+ "enum": {
1429
+ "open": [
1430
+ "true"
1431
+ ]
1432
+ },
1433
+ "boolean": [],
1434
+ "legacyClass": []
1435
+ },
1436
+ "aria": {
1437
+ "roles": [
1438
+ "main"
1439
+ ],
1440
+ "attrs": [
1441
+ "hidden"
1442
+ ]
1443
+ },
1444
+ "usesOtherNamespaces": [],
1445
+ "global": "Popover",
1446
+ "globalAlso": [],
1447
+ "behaviorRef": "API.md#popover"
1448
+ },
1449
+ {
1450
+ "id": "progress",
1451
+ "tier": "primitive",
1452
+ "purpose": "进度条与进度环",
1453
+ "rootClass": "progress",
1454
+ "maturity": "stable",
1455
+ "maturityReasons": {
1456
+ "hasDemo": true,
1457
+ "hasDedicatedGate": true,
1458
+ "statesOnDomAttributes": true,
1459
+ "behaviorDebt": []
1460
+ },
1461
+ "gates": [
1462
+ "progress-check.js"
1463
+ ],
1464
+ "files": {
1465
+ "css": "02-primitives/progress/progress.css",
1466
+ "js": null,
1467
+ "jsAlso": [],
1468
+ "demo": "02-primitives/progress/demo.html"
1469
+ },
1470
+ "slots": [
1471
+ "progress__bar"
1472
+ ],
1473
+ "variants": [
1474
+ "progress--danger",
1475
+ "progress--indeterminate",
1476
+ "progress--lg",
1477
+ "progress--sm",
1478
+ "progress--success",
1479
+ "progress--warning"
1480
+ ],
1481
+ "states": {
1482
+ "enum": {},
1483
+ "boolean": [],
1484
+ "legacyClass": []
1485
+ },
1486
+ "aria": {
1487
+ "roles": [
1488
+ "main",
1489
+ "progressbar"
1490
+ ],
1491
+ "attrs": [
1492
+ "busy",
1493
+ "hidden",
1494
+ "label",
1495
+ "valuemax",
1496
+ "valuemin",
1497
+ "valuenow"
1498
+ ]
1499
+ },
1500
+ "usesOtherNamespaces": [
1501
+ "progress-ring__label",
1502
+ "progress-steps__seg",
1503
+ "progress-steps__seg--current",
1504
+ "progress-steps__seg--done"
1505
+ ],
1506
+ "global": null,
1507
+ "globalAlso": [],
1508
+ "behaviorRef": "API.md#progress"
1509
+ },
1510
+ {
1511
+ "id": "select",
1512
+ "tier": "primitive",
1513
+ "purpose": "自定义下拉选择(非原生)",
1514
+ "rootClass": "select",
1515
+ "maturity": "stable",
1516
+ "maturityReasons": {
1517
+ "hasDemo": true,
1518
+ "hasDedicatedGate": true,
1519
+ "statesOnDomAttributes": true,
1520
+ "behaviorDebt": []
1521
+ },
1522
+ "gates": [
1523
+ "select-check.js"
1524
+ ],
1525
+ "files": {
1526
+ "css": "02-primitives/select/select.css",
1527
+ "js": "02-primitives/select/select.js",
1528
+ "jsAlso": [],
1529
+ "demo": "02-primitives/select/demo.html"
1530
+ },
1531
+ "slots": [
1532
+ "select__btn",
1533
+ "select__caret",
1534
+ "select__check",
1535
+ "select__list",
1536
+ "select__opt",
1537
+ "select__opt-text",
1538
+ "select__value",
1539
+ "select__value--placeholder"
1540
+ ],
1541
+ "variants": [
1542
+ "select--block",
1543
+ "select--end"
1544
+ ],
1545
+ "states": {
1546
+ "enum": {
1547
+ "state": [
1548
+ "active"
1549
+ ]
1550
+ },
1551
+ "boolean": [],
1552
+ "legacyClass": []
1553
+ },
1554
+ "aria": {
1555
+ "roles": [
1556
+ "option"
1557
+ ],
1558
+ "attrs": [
1559
+ "disabled",
1560
+ "expanded",
1561
+ "selected"
1562
+ ]
1563
+ },
1564
+ "usesOtherNamespaces": [],
1565
+ "global": "Select",
1566
+ "globalAlso": [],
1567
+ "behaviorRef": "API.md#select"
1568
+ },
1569
+ {
1570
+ "id": "separator",
1571
+ "tier": "primitive",
1572
+ "purpose": "分隔线,可带中间文字",
1573
+ "rootClass": "separator",
1574
+ "maturity": "stable",
1575
+ "maturityReasons": {
1576
+ "hasDemo": true,
1577
+ "hasDedicatedGate": true,
1578
+ "statesOnDomAttributes": true,
1579
+ "behaviorDebt": []
1580
+ },
1581
+ "gates": [
1582
+ "separator-check.js"
1583
+ ],
1584
+ "files": {
1585
+ "css": "02-primitives/separator/separator.css",
1586
+ "js": null,
1587
+ "jsAlso": [],
1588
+ "demo": "02-primitives/separator/demo.html"
1589
+ },
1590
+ "slots": [],
1591
+ "variants": [
1592
+ "separator--both",
1593
+ "separator--label",
1594
+ "separator--tight"
1595
+ ],
1596
+ "states": {
1597
+ "enum": {},
1598
+ "boolean": [],
1599
+ "legacyClass": []
1600
+ },
1601
+ "aria": {
1602
+ "roles": [
1603
+ "separator"
1604
+ ],
1605
+ "attrs": [
1606
+ "label"
1607
+ ]
1608
+ },
1609
+ "usesOtherNamespaces": [],
1610
+ "global": null,
1611
+ "globalAlso": [],
1612
+ "behaviorRef": "API.md#separator"
1613
+ },
1614
+ {
1615
+ "id": "skeleton",
1616
+ "tier": "primitive",
1617
+ "purpose": "加载占位骨架",
1618
+ "rootClass": "skeleton",
1619
+ "maturity": "stable",
1620
+ "maturityReasons": {
1621
+ "hasDemo": true,
1622
+ "hasDedicatedGate": true,
1623
+ "statesOnDomAttributes": true,
1624
+ "behaviorDebt": []
1625
+ },
1626
+ "gates": [
1627
+ "skeleton-check.js",
1628
+ "skeleton-lever-check.js"
1629
+ ],
1630
+ "files": {
1631
+ "css": "02-primitives/skeleton/skeleton.css",
1632
+ "js": null,
1633
+ "jsAlso": [],
1634
+ "demo": "02-primitives/skeleton/demo.html"
1635
+ },
1636
+ "slots": [],
1637
+ "variants": [
1638
+ "skeleton--block",
1639
+ "skeleton--circle",
1640
+ "skeleton--text"
1641
+ ],
1642
+ "states": {
1643
+ "enum": {},
1644
+ "boolean": [],
1645
+ "legacyClass": []
1646
+ },
1647
+ "aria": {
1648
+ "roles": [
1649
+ "main"
1650
+ ],
1651
+ "attrs": [
1652
+ "busy",
1653
+ "hidden"
1654
+ ]
1655
+ },
1656
+ "usesOtherNamespaces": [
1657
+ "skeleton-list__row"
1658
+ ],
1659
+ "global": null,
1660
+ "globalAlso": [],
1661
+ "behaviorRef": "API.md#skeleton"
1662
+ },
1663
+ {
1664
+ "id": "switch",
1665
+ "tier": "primitive",
1666
+ "purpose": "开关切换",
1667
+ "rootClass": "switch",
1668
+ "maturity": "stable",
1669
+ "maturityReasons": {
1670
+ "hasDemo": true,
1671
+ "hasDedicatedGate": true,
1672
+ "statesOnDomAttributes": true,
1673
+ "behaviorDebt": []
1674
+ },
1675
+ "gates": [
1676
+ "switch-contract.js",
1677
+ "switch-geometry.js"
1678
+ ],
1679
+ "files": {
1680
+ "css": "02-primitives/switch/switch.css",
1681
+ "js": null,
1682
+ "jsAlso": [],
1683
+ "demo": "02-primitives/switch/demo.html"
1684
+ },
1685
+ "slots": [
1686
+ "switch__input",
1687
+ "switch__label",
1688
+ "switch__label--sr",
1689
+ "switch__thumb",
1690
+ "switch__track"
1691
+ ],
1692
+ "variants": [
1693
+ "switch--disabled",
1694
+ "switch--lg"
1695
+ ],
1696
+ "states": {
1697
+ "enum": {},
1698
+ "boolean": [],
1699
+ "legacyClass": []
1700
+ },
1701
+ "aria": {
1702
+ "roles": [
1703
+ "switch"
1704
+ ],
1705
+ "attrs": []
1706
+ },
1707
+ "usesOtherNamespaces": [],
1708
+ "global": null,
1709
+ "globalAlso": [],
1710
+ "behaviorRef": "API.md#switch"
1711
+ },
1712
+ {
1713
+ "id": "analysis-report",
1714
+ "tier": "recipe",
1715
+ "purpose": "组合型研究报告页面:正文与辅助栏并排,窄屏自然退回单栏",
1716
+ "rootClass": "report",
1717
+ "maturity": "stable",
1718
+ "maturityReasons": {
1719
+ "hasDemo": true,
1720
+ "hasDedicatedGate": true,
1721
+ "statesOnDomAttributes": true,
1722
+ "behaviorDebt": []
1723
+ },
1724
+ "gates": [
1725
+ "analysis-report-check.js"
1726
+ ],
1727
+ "files": {
1728
+ "css": "04-recipes/analysis-report/analysis-report.css",
1729
+ "js": null,
1730
+ "jsAlso": [],
1731
+ "demo": "04-recipes/analysis-report/demo.html"
1732
+ },
1733
+ "slots": [
1734
+ "report__aside",
1735
+ "report__body",
1736
+ "report__code",
1737
+ "report__fig",
1738
+ "report__foot",
1739
+ "report__kicker",
1740
+ "report__main",
1741
+ "report__meta",
1742
+ "report__quote"
1743
+ ],
1744
+ "variants": [],
1745
+ "states": {
1746
+ "enum": {},
1747
+ "boolean": [],
1748
+ "legacyClass": []
1749
+ },
1750
+ "aria": {
1751
+ "roles": [
1752
+ "region"
1753
+ ],
1754
+ "attrs": [
1755
+ "label"
1756
+ ]
1757
+ },
1758
+ "usesOtherNamespaces": [
1759
+ "card__title",
1760
+ "kf__title"
1761
+ ],
1762
+ "global": null,
1763
+ "globalAlso": [],
1764
+ "behaviorRef": "API.md#analysis-report"
1765
+ },
1766
+ {
1767
+ "id": "detail-page",
1768
+ "tier": "recipe",
1769
+ "purpose": "实体详情页骨架:字段齐全 / 部分缺失 / 无数据三种状态同构,无数据是一等状态",
1770
+ "rootClass": "detail-page",
1771
+ "maturity": "stable",
1772
+ "maturityReasons": {
1773
+ "hasDemo": true,
1774
+ "hasDedicatedGate": true,
1775
+ "statesOnDomAttributes": true,
1776
+ "behaviorDebt": []
1777
+ },
1778
+ "gates": [
1779
+ "detail-page-contract.py"
1780
+ ],
1781
+ "files": {
1782
+ "css": "04-recipes/detail-page/detail-page.css",
1783
+ "js": null,
1784
+ "jsAlso": [],
1785
+ "demo": "04-recipes/detail-page/demo.html"
1786
+ },
1787
+ "slots": [],
1788
+ "variants": [],
1789
+ "states": {
1790
+ "enum": {},
1791
+ "boolean": [],
1792
+ "legacyClass": []
1793
+ },
1794
+ "aria": {
1795
+ "roles": [],
1796
+ "attrs": []
1797
+ },
1798
+ "usesOtherNamespaces": [
1799
+ "detail-body__heading",
1800
+ "detail-body__section",
1801
+ "detail-body__text",
1802
+ "detail-hero__body",
1803
+ "detail-hero__deco",
1804
+ "detail-hero__eyebrow",
1805
+ "detail-hero__meta",
1806
+ "detail-hero__title",
1807
+ "detail-kpi__delta",
1808
+ "detail-kpi__label",
1809
+ "detail-kpi__value",
1810
+ "detail-kpi__value--missing",
1811
+ "detail-null__reason",
1812
+ "detail-null__title"
1813
+ ],
1814
+ "global": null,
1815
+ "globalAlso": [],
1816
+ "behaviorRef": "API.md#detail-page"
1817
+ },
1818
+ {
1819
+ "id": "report",
1820
+ "tier": "recipe",
1821
+ "purpose": "报告版式系统 v1:共享基础 + 三套版式(杂志/科研技术/金融研究),只换一个 rep--* 类即可切换取舍",
1822
+ "rootClass": "rep",
1823
+ "maturity": "stable",
1824
+ "maturityReasons": {
1825
+ "hasDemo": true,
1826
+ "hasDedicatedGate": true,
1827
+ "statesOnDomAttributes": true,
1828
+ "behaviorDebt": []
1829
+ },
1830
+ "gates": [
1831
+ "report-check.js"
1832
+ ],
1833
+ "files": {
1834
+ "css": "04-recipes/report/report.css",
1835
+ "js": null,
1836
+ "jsAlso": [],
1837
+ "demo": "04-recipes/report/demo.html"
1838
+ },
1839
+ "slots": [
1840
+ "rep__aside",
1841
+ "rep__body",
1842
+ "rep__cap",
1843
+ "rep__cap--table",
1844
+ "rep__fig",
1845
+ "rep__fig--wide",
1846
+ "rep__grid",
1847
+ "rep__keyline",
1848
+ "rep__kicker",
1849
+ "rep__lede",
1850
+ "rep__meta",
1851
+ "rep__note",
1852
+ "rep__pull",
1853
+ "rep__risk",
1854
+ "rep__sec",
1855
+ "rep__source",
1856
+ "rep__sources",
1857
+ "rep__standfirst",
1858
+ "rep__title",
1859
+ "rep__wide"
1860
+ ],
1861
+ "variants": [
1862
+ "rep--finance",
1863
+ "rep--magazine",
1864
+ "rep--technical"
1865
+ ],
1866
+ "states": {
1867
+ "enum": {},
1868
+ "boolean": [],
1869
+ "legacyClass": []
1870
+ },
1871
+ "aria": {
1872
+ "roles": [],
1873
+ "attrs": []
1874
+ },
1875
+ "usesOtherNamespaces": [],
1876
+ "global": null,
1877
+ "globalAlso": [],
1878
+ "behaviorRef": "API.md#report"
1879
+ },
1880
+ {
1881
+ "id": "table",
1882
+ "tier": "recipe",
1883
+ "purpose": "数据表格:排序/加载/空/错误四态;三种用途预设(财务/学术/统计)",
1884
+ "rootClass": "table",
1885
+ "maturity": "stable",
1886
+ "maturityReasons": {
1887
+ "hasDemo": true,
1888
+ "hasDedicatedGate": true,
1889
+ "statesOnDomAttributes": true,
1890
+ "behaviorDebt": []
1891
+ },
1892
+ "gates": [
1893
+ "table-check.js"
1894
+ ],
1895
+ "files": {
1896
+ "css": "04-recipes/table/table.css",
1897
+ "js": null,
1898
+ "jsAlso": [],
1899
+ "demo": "04-recipes/table/demo.html"
1900
+ },
1901
+ "slots": [
1902
+ "table__bar",
1903
+ "table__cap",
1904
+ "table__empty",
1905
+ "table__error",
1906
+ "table__foot",
1907
+ "table__loading",
1908
+ "table__sort",
1909
+ "table__unit"
1910
+ ],
1911
+ "variants": [
1912
+ "table--academic",
1913
+ "table--compact",
1914
+ "table--financial",
1915
+ "table--stats"
1916
+ ],
1917
+ "states": {
1918
+ "enum": {},
1919
+ "boolean": [],
1920
+ "legacyClass": []
1921
+ },
1922
+ "aria": {
1923
+ "roles": [
1924
+ "alert",
1925
+ "status"
1926
+ ],
1927
+ "attrs": [
1928
+ "label",
1929
+ "live",
1930
+ "sort"
1931
+ ]
1932
+ },
1933
+ "usesOtherNamespaces": [
1934
+ "stat__ci",
1935
+ "stat__p",
1936
+ "stat__p--sig",
1937
+ "stat__se"
1938
+ ],
1939
+ "global": null,
1940
+ "globalAlso": [],
1941
+ "behaviorRef": "API.md#table"
1942
+ }
1943
+ ]
1944
+ }