agentcss 0.0.0-stage → 0.11.2
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.
- package/01-tokens/README.md +236 -0
- package/01-tokens/behavior/dismissable.js +132 -0
- package/01-tokens/behavior/emit.js +76 -0
- package/01-tokens/behavior/focus-return.js +81 -0
- package/01-tokens/behavior/roving.js +152 -0
- package/01-tokens/behavior/typeahead.js +124 -0
- package/01-tokens/focus-ring-demo.html +133 -0
- package/01-tokens/focus-ring.css +102 -0
- package/01-tokens/page.css +244 -0
- package/01-tokens/polyfill.js +116 -0
- package/01-tokens/responsive-demo.html +171 -0
- package/01-tokens/scrollbar-demo.html +194 -0
- package/01-tokens/scrollbar.css +179 -0
- package/01-tokens/theme-toggle.js +103 -0
- package/01-tokens/tokens.css +972 -0
- package/01-tokens/typography.css +156 -0
- package/02-primitives/badge/README.md +71 -0
- package/02-primitives/badge/badge.css +141 -0
- package/02-primitives/badge/demo.html +101 -0
- package/02-primitives/button/README.md +99 -0
- package/02-primitives/button/button.css +353 -0
- package/02-primitives/button/demo.html +200 -0
- package/02-primitives/card/README.md +145 -0
- package/02-primitives/card/card.css +246 -0
- package/02-primitives/card/demo.html +170 -0
- package/02-primitives/choice/README.md +161 -0
- package/02-primitives/choice/choice.css +395 -0
- package/02-primitives/choice/demo.html +277 -0
- package/02-primitives/combobox/README.md +79 -0
- package/02-primitives/combobox/combobox.css +223 -0
- package/02-primitives/combobox/combobox.js +485 -0
- package/02-primitives/combobox/demo.html +109 -0
- package/02-primitives/date-range/README.md +100 -0
- package/02-primitives/date-range/date-range.css +206 -0
- package/02-primitives/date-range/date-range.js +301 -0
- package/02-primitives/date-range/demo.html +104 -0
- package/02-primitives/input/README.md +170 -0
- package/02-primitives/input/demo.html +246 -0
- package/02-primitives/input/input.css +239 -0
- package/02-primitives/popover/README.md +80 -0
- package/02-primitives/popover/demo.html +150 -0
- package/02-primitives/popover/popover.css +187 -0
- package/02-primitives/popover/popover.js +331 -0
- package/02-primitives/progress/README.md +82 -0
- package/02-primitives/progress/demo.html +154 -0
- package/02-primitives/progress/progress.css +172 -0
- package/02-primitives/select/README.md +95 -0
- package/02-primitives/select/demo.html +121 -0
- package/02-primitives/select/select.css +151 -0
- package/02-primitives/select/select.js +549 -0
- package/02-primitives/separator/README.md +63 -0
- package/02-primitives/separator/demo.html +84 -0
- package/02-primitives/separator/separator.css +73 -0
- package/02-primitives/skeleton/README.md +69 -0
- package/02-primitives/skeleton/demo.html +110 -0
- package/02-primitives/skeleton/skeleton.css +96 -0
- package/02-primitives/switch/README.md +65 -0
- package/02-primitives/switch/demo.html +115 -0
- package/02-primitives/switch/switch.css +370 -0
- package/03-patterns/accordion/README.md +121 -0
- package/03-patterns/accordion/accordion.css +453 -0
- package/03-patterns/accordion/accordion.js +369 -0
- package/03-patterns/accordion/demo.html +223 -0
- package/03-patterns/content/README.md +103 -0
- package/03-patterns/content/content.css +286 -0
- package/03-patterns/content/demo.html +88 -0
- package/03-patterns/drawer/README.md +79 -0
- package/03-patterns/drawer/demo.html +101 -0
- package/03-patterns/drawer/drawer.css +129 -0
- package/03-patterns/drawer/drawer.js +258 -0
- package/03-patterns/dropdown/README.md +78 -0
- package/03-patterns/dropdown/demo.html +101 -0
- package/03-patterns/dropdown/dropdown.css +135 -0
- package/03-patterns/dropdown/dropdown.js +451 -0
- package/03-patterns/form-validation/README.md +147 -0
- package/03-patterns/form-validation/demo.html +280 -0
- package/03-patterns/form-validation/form-validation.css +263 -0
- package/03-patterns/list/README.md +150 -0
- package/03-patterns/list/demo.html +225 -0
- package/03-patterns/list/flip.js +201 -0
- package/03-patterns/list/list.css +162 -0
- package/03-patterns/nav/README.md +225 -0
- package/03-patterns/nav/demo.html +131 -0
- package/03-patterns/nav/nav.css +314 -0
- package/03-patterns/nav/nav.js +430 -0
- package/03-patterns/nav/toc.js +111 -0
- package/03-patterns/overlay/README.md +196 -0
- package/03-patterns/overlay/demo.html +241 -0
- package/03-patterns/overlay/overlay.css +319 -0
- package/03-patterns/overlay/overlay.js +563 -0
- package/03-patterns/pagination/README.md +114 -0
- package/03-patterns/pagination/demo.html +165 -0
- package/03-patterns/pagination/pagination.css +195 -0
- package/03-patterns/pagination/pagination.js +395 -0
- package/03-patterns/reveal/README.md +91 -0
- package/03-patterns/reveal/demo.html +106 -0
- package/03-patterns/reveal/reveal.css +93 -0
- package/03-patterns/reveal/reveal.js +172 -0
- package/03-patterns/states/README.md +141 -0
- package/03-patterns/states/demo.html +240 -0
- package/03-patterns/states/states.css +252 -0
- package/03-patterns/tabs/README.md +84 -0
- package/03-patterns/tabs/demo.html +139 -0
- package/03-patterns/tabs/tabs.css +172 -0
- package/03-patterns/tabs/tabs.js +307 -0
- package/03-patterns/tooltip/README.md +96 -0
- package/03-patterns/tooltip/demo.html +78 -0
- package/03-patterns/tooltip/tooltip.css +89 -0
- package/03-patterns/tooltip/tooltip.js +288 -0
- package/03-patterns/tree/README.md +94 -0
- package/03-patterns/tree/demo.html +138 -0
- package/03-patterns/tree/tree.css +113 -0
- package/03-patterns/tree/tree.js +456 -0
- package/04-recipes/analysis-report/README.md +80 -0
- package/04-recipes/analysis-report/analysis-report.css +187 -0
- package/04-recipes/analysis-report/demo.html +274 -0
- package/04-recipes/data-showcase/README.md +45 -0
- package/04-recipes/data-showcase/demo.html +247 -0
- package/04-recipes/detail-page/README.md +93 -0
- package/04-recipes/detail-page/demo.html +55 -0
- package/04-recipes/detail-page/detail-page.css +190 -0
- package/04-recipes/detail-page/full.html +60 -0
- package/04-recipes/detail-page/null.html +60 -0
- package/04-recipes/detail-page/partial.html +60 -0
- package/04-recipes/detail-page/verify-skeleton.py +19 -0
- package/04-recipes/longform/README.md +93 -0
- package/04-recipes/longform/agc-memory.svg +4 -0
- package/04-recipes/longform/content.html +610 -0
- package/04-recipes/longform/content.md +51 -0
- package/04-recipes/longform/longform.html +627 -0
- package/04-recipes/report/README.md +176 -0
- package/04-recipes/report/demo.html +355 -0
- package/04-recipes/report/report.css +364 -0
- package/04-recipes/table/README.md +103 -0
- package/04-recipes/table/demo.html +455 -0
- package/04-recipes/table/table.css +372 -0
- package/04-recipes/tierA-tokens.css +189 -0
- package/09-assets/README.md +74 -0
- package/09-assets/bar/README.md +94 -0
- package/09-assets/bar/bar.css +166 -0
- package/09-assets/bar/bar.js +320 -0
- package/09-assets/bar/demo.html +176 -0
- package/09-assets/echarts-adapter/demo.html +192 -0
- package/09-assets/echarts-adapter/echarts-adapter.js +277 -0
- package/09-assets/model-viewer/README.md +155 -0
- package/09-assets/model-viewer/demo.html +105 -0
- package/09-assets/model-viewer/model-viewer.css +143 -0
- package/09-assets/model-viewer/model-viewer.js +423 -0
- package/09-assets/scientific-plot/README.md +94 -0
- package/09-assets/scientific-plot/demo.html +252 -0
- package/09-assets/scientific-plot/scientific-plot.css +141 -0
- package/09-assets/scientific-plot/scientific-plot.js +610 -0
- package/09-assets/sparkline/README.md +153 -0
- package/09-assets/sparkline/demo.html +163 -0
- package/09-assets/sparkline/sparkline.css +158 -0
- package/09-assets/sparkline/sparkline.js +508 -0
- package/API.md +332 -0
- package/CHANGELOG.md +3116 -0
- package/CODE_OF_CONDUCT.md +64 -0
- package/CONTRIBUTING.md +89 -0
- package/ERRORS.md +1658 -0
- package/LICENSE +21 -0
- package/README.md +491 -2
- package/SECURITY.md +72 -0
- package/START-HERE.md +164 -0
- package/SUPPORT.md +109 -0
- package/adapters/presentation/README.md +113 -0
- package/adapters/presentation/check.js +101 -0
- package/adapters/presentation/deck.schema.json +74 -0
- package/adapters/presentation/to-doc.js +138 -0
- package/ai/START-HERE.md +104 -0
- package/ai/behaviors.json +380 -0
- package/ai/behaviors.schema.json +61 -0
- package/ai/capabilities.json +56 -0
- package/ai/cli.js +387 -0
- package/ai/components.json +1944 -0
- package/ai/components.meta.json +168 -0
- package/ai/components.schema.json +220 -0
- package/ai/contract.schema.json +147 -0
- package/ai/deprecations.json +55 -0
- package/ai/deprecations.schema.json +85 -0
- package/ai/motion-policy.json +22 -0
- package/ai/patch.js +323 -0
- package/ai/patch.schema.json +63 -0
- package/ai/profiles.json +92 -0
- package/ai/tokens.audience.json +55 -0
- package/ai/tokens.audience.schema.json +73 -0
- package/ai/tokens.json +762 -0
- package/ai/tokens.schema.json +58 -0
- package/ai/tokens.tree.json +752 -0
- package/ai/tokens.tree.schema.json +56 -0
- package/ai/validate.js +383 -0
- package/dist/01-tokens/behavior/dismissable.js +60 -0
- package/dist/01-tokens/behavior/emit.js +21 -0
- package/dist/01-tokens/behavior/focus-return.js +31 -0
- package/dist/01-tokens/behavior/roving.js +77 -0
- package/dist/01-tokens/behavior/typeahead.js +61 -0
- package/dist/01-tokens/focus-ring.css +1 -0
- package/dist/01-tokens/page.css +1 -0
- package/dist/01-tokens/polyfill.js +78 -0
- package/dist/01-tokens/scrollbar.css +1 -0
- package/dist/01-tokens/theme-toggle.js +61 -0
- package/dist/01-tokens/tokens.css +1 -0
- package/dist/01-tokens/typography.css +1 -0
- package/dist/02-primitives/badge/badge.css +1 -0
- package/dist/02-primitives/button/button.css +1 -0
- package/dist/02-primitives/card/card.css +1 -0
- package/dist/02-primitives/choice/choice.css +1 -0
- package/dist/02-primitives/combobox/combobox.css +1 -0
- package/dist/02-primitives/combobox/combobox.js +439 -0
- package/dist/02-primitives/date-range/date-range.css +1 -0
- package/dist/02-primitives/date-range/date-range.js +267 -0
- package/dist/02-primitives/input/input.css +1 -0
- package/dist/02-primitives/popover/popover.css +1 -0
- package/dist/02-primitives/popover/popover.js +257 -0
- package/dist/02-primitives/progress/progress.css +1 -0
- package/dist/02-primitives/select/select.css +1 -0
- package/dist/02-primitives/select/select.js +449 -0
- package/dist/02-primitives/separator/separator.css +1 -0
- package/dist/02-primitives/skeleton/skeleton.css +1 -0
- package/dist/02-primitives/switch/switch.css +1 -0
- package/dist/03-patterns/accordion/accordion.css +1 -0
- package/dist/03-patterns/accordion/accordion.js +219 -0
- package/dist/03-patterns/content/content.css +1 -0
- package/dist/03-patterns/drawer/drawer.css +1 -0
- package/dist/03-patterns/drawer/drawer.js +229 -0
- package/dist/03-patterns/dropdown/dropdown.css +1 -0
- package/dist/03-patterns/dropdown/dropdown.js +365 -0
- package/dist/03-patterns/form-validation/form-validation.css +1 -0
- package/dist/03-patterns/list/flip.js +117 -0
- package/dist/03-patterns/list/list.css +1 -0
- package/dist/03-patterns/nav/nav.css +1 -0
- package/dist/03-patterns/nav/nav.js +322 -0
- package/dist/03-patterns/nav/toc.js +76 -0
- package/dist/03-patterns/overlay/overlay.css +1 -0
- package/dist/03-patterns/overlay/overlay.js +398 -0
- package/dist/03-patterns/pagination/pagination.css +1 -0
- package/dist/03-patterns/pagination/pagination.js +273 -0
- package/dist/03-patterns/reveal/reveal.css +1 -0
- package/dist/03-patterns/reveal/reveal.js +138 -0
- package/dist/03-patterns/states/states.css +1 -0
- package/dist/03-patterns/tabs/tabs.css +1 -0
- package/dist/03-patterns/tabs/tabs.js +242 -0
- package/dist/03-patterns/tooltip/tooltip.css +1 -0
- package/dist/03-patterns/tooltip/tooltip.js +213 -0
- package/dist/03-patterns/tree/tree.css +1 -0
- package/dist/03-patterns/tree/tree.js +383 -0
- package/dist/04-recipes/analysis-report/analysis-report.css +1 -0
- package/dist/04-recipes/detail-page/detail-page.css +1 -0
- package/dist/04-recipes/report/report.css +1 -0
- package/dist/04-recipes/table/table.css +1 -0
- package/dist/04-recipes/tierA-tokens.css +1 -0
- package/dist/09-assets/bar/bar.css +1 -0
- package/dist/09-assets/bar/bar.js +222 -0
- package/dist/09-assets/echarts-adapter/echarts-adapter.js +185 -0
- package/dist/09-assets/model-viewer/model-viewer.css +1 -0
- package/dist/09-assets/model-viewer/model-viewer.js +320 -0
- package/dist/09-assets/scientific-plot/scientific-plot.css +1 -0
- package/dist/09-assets/scientific-plot/scientific-plot.js +568 -0
- package/dist/09-assets/sparkline/sparkline.css +1 -0
- package/dist/09-assets/sparkline/sparkline.js +265 -0
- package/dist/COSTS.md +56 -0
- package/docs/AI-CONTRACT.md +197 -0
- package/docs/BACKLOG.md +127 -0
- package/docs/BENCHMARK.md +252 -0
- package/docs/GUIDANCE.md +154 -0
- package/docs/INVARIANT.md +372 -0
- package/docs/LAYER-BASELINE.md +158 -0
- package/docs/RELEASING.md +275 -0
- package/docs/RFC-THEME-SCOPE.md +141 -0
- package/docs/ROADMAP.md +182 -0
- package/index.html +82 -0
- package/package.json +107 -4
- package/types/index.d.ts +310 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# 贡献者行为准则
|
|
2
|
+
|
|
3
|
+
## 我们的承诺
|
|
4
|
+
|
|
5
|
+
为了营造开放、友好的环境,我们承诺:参与本项目的每个人都不会因为
|
|
6
|
+
年龄、体型、可见或不可见的残障、族裔、性别认同与表达、经验水平、
|
|
7
|
+
教育程度、社会经济状况、国籍、个人外貌、种族、宗教、
|
|
8
|
+
或性取向与性别认同而受到骚扰。
|
|
9
|
+
|
|
10
|
+
## 我们的标准
|
|
11
|
+
|
|
12
|
+
有助于营造积极环境的行为:
|
|
13
|
+
|
|
14
|
+
- 对不同的观点与经验保持同理与尊重
|
|
15
|
+
- 给出并坦然接受**建设性的反馈**
|
|
16
|
+
- 承认错误、向受影响的人道歉,并从中学习
|
|
17
|
+
- 关注什么对整个社区最好,而不只是个人偏好
|
|
18
|
+
|
|
19
|
+
不可接受的行为:
|
|
20
|
+
|
|
21
|
+
- 性化的言语或图像,以及任何形式的性关注或挑逗
|
|
22
|
+
- 挑衅、侮辱或贬损性的评论,人身或政治攻击
|
|
23
|
+
- 公开或私下的骚扰
|
|
24
|
+
- 未经明确许可发布他人的私人信息(如住址、邮箱)
|
|
25
|
+
- 其他在专业场合下可被合理认为不当的行为
|
|
26
|
+
|
|
27
|
+
## 执行责任
|
|
28
|
+
|
|
29
|
+
维护者负责澄清并执行上述标准,会对其认为不当、威胁、冒犯或有害的
|
|
30
|
+
行为采取适当且公平的纠正措施。
|
|
31
|
+
|
|
32
|
+
维护者有权移除、编辑或拒绝不符合本准则的评论、提交、代码、issue
|
|
33
|
+
与其他贡献,并在适当时说明理由。
|
|
34
|
+
|
|
35
|
+
## 适用范围
|
|
36
|
+
|
|
37
|
+
本准则适用于所有项目空间,也适用于个人在公开场合**代表本项目**时。
|
|
38
|
+
|
|
39
|
+
## 执行
|
|
40
|
+
|
|
41
|
+
遇到辱骂、骚扰或其他不可接受的行为,请通过以下渠道报告:
|
|
42
|
+
|
|
43
|
+
- 一般行为问题:开一个 issue(若涉及具体的人,请先私下沟通)
|
|
44
|
+
- **安全相关**:走 [`SECURITY.md`](SECURITY.md) 里的私有渠道,**不要**开公开 issue
|
|
45
|
+
|
|
46
|
+
所有投诉都会被及时、公正地审阅与调查。
|
|
47
|
+
|
|
48
|
+
维护者有义务尊重事件报告者的隐私与安全。
|
|
49
|
+
|
|
50
|
+
## 执行指南
|
|
51
|
+
|
|
52
|
+
维护者按以下四档处理:
|
|
53
|
+
|
|
54
|
+
| 档 | 行为 | 处置 |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| 1 · 纠正 | 不当措辞,或被认为不专业的行为 | 私下书面警告,说明为何不当;可能要求公开道歉 |
|
|
57
|
+
| 2 · 警告 | 单次或系列违规 | 警告并**限定期限内**不得与相关人员互动 |
|
|
58
|
+
| 3 · 暂时封禁 | 严重违规,含持续不当行为 | 限定期限内禁止任何形式的互动 |
|
|
59
|
+
| 4 · 永久封禁 | 持续违规、骚扰个人、攻击某类人群 | 永久禁止参与本项目 |
|
|
60
|
+
|
|
61
|
+
## 出处
|
|
62
|
+
|
|
63
|
+
本准则改编自 [Contributor Covenant](https://www.contributor-covenant.org/)
|
|
64
|
+
2.1 版(<https://www.contributor-covenant.org/version/2/1/code_of_conduct/>)。
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# 参与贡献
|
|
2
|
+
|
|
3
|
+
## 先跑一遍门禁(这一步别跳)
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm ci # 按锁文件装(验证 lockfile 真能装)
|
|
7
|
+
npm run gate # 全量:含浏览器类
|
|
8
|
+
npm run gate:fast # 只跑静态层,不用装浏览器
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
全量是 **177 道门禁**(本机约 10 分钟)。
|
|
12
|
+
|
|
13
|
+
⚠️ 上面的数字写在**代码块外**是有意的:`doc-facts-gate` 会核对
|
|
14
|
+
「文档里的门禁数」与 `check-all.sh` 的真实注册数,而**代码块内的内容被豁免**
|
|
15
|
+
(那是示例、不是事实声明)—— 所以写在块里等于没人守它。
|
|
16
|
+
本文件那两行原来正是写在块里的(写着 135 道,而真值早已不是)⇒ 已挪出来。
|
|
17
|
+
|
|
18
|
+
三个分层用哪个、各自跳什么,见 `05-audit/check-all.sh` 的文件头说明。
|
|
19
|
+
它跑完会打一行「本轮:执行 N 道 · 按层跳过 M 道」——
|
|
20
|
+
**看到"全部通过"时先看这一行**,否则容易把"跳过一半"读成"全都过了"。
|
|
21
|
+
|
|
22
|
+
**你的改动必须让 `npm run gate` 从头绿到尾。** 不是"我改的那几个绿了"就行 ——
|
|
23
|
+
门禁是整体的,改 CSS 可能撞到体积上限、改注释可能撞到文档事实门禁。
|
|
24
|
+
|
|
25
|
+
### 为什么门禁有一百多道而不是 5 道
|
|
26
|
+
|
|
27
|
+
(这里**故意不写具体数字**:写了就成第二个真源,`doc-facts` 只能守它认得的
|
|
28
|
+
一种写法,守不住散文里的数字。真值以 `check-all.sh` 的注册数为准,
|
|
29
|
+
它每次跑完会打印「执行 N 道 · 按层跳过 M 道」。)
|
|
30
|
+
|
|
31
|
+
这个库的核心卖点之一就是"每条契约都有门禁守着"。因此:
|
|
32
|
+
|
|
33
|
+
- 改组件 ⇒ 至少跑组件自己的 `--check` 门禁 + 全量
|
|
34
|
+
- 改令牌 ⇒ `token-parse` / `token-tree` / `cascade-layer` 三道都会看
|
|
35
|
+
- 改文档 ⇒ `doc-facts` 会核对里面的数字与仓库是否一致
|
|
36
|
+
- **只跑相关的几道是不够的** —— 曾经有一批门禁在自己的调用方式下扫 0 个文件
|
|
37
|
+
仍判通过(`ERRORS.md` E41),所以现在每道门禁都有「零文件即失败」的守卫
|
|
38
|
+
|
|
39
|
+
## 提交信息怎么写
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
fix: <一句话说清改了什么、为什么>
|
|
43
|
+
|
|
44
|
+
<为什么这么做 / 踩了什么坑 / 放弃了哪个方案及其理由>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**关键是第二段**。第一段说"改了什么"(git 已经有了),第二段说
|
|
48
|
+
**为什么** —— 半年后你查这件事时,第二段才是有用的。
|
|
49
|
+
|
|
50
|
+
参考本仓库已有的提交(`git log`):
|
|
51
|
+
|
|
52
|
+
- `fix: 门禁 combobox-inst 当场抓到一个真 bug —— destroy() 漏摘微行为核`
|
|
53
|
+
- `fix: 内容组件 max-width 的 68ch 是拉丁语系那一档 ⇒ 改 var(--measure-prose)`
|
|
54
|
+
|
|
55
|
+
## 几条硬规矩
|
|
56
|
+
|
|
57
|
+
1. **一次性迁移脚本用完即删。** 别留在仓库里 ——
|
|
58
|
+
本库曾有一个 `leak-fix-paths.py`,它的正则匹配任意引号字符串,
|
|
59
|
+
一次运行把 **80 个文件**的每个字符串字面量都改了(见 `ERRORS.md` E42)。
|
|
60
|
+
2. **新增门禁必须带反向控制。** 一道不会红的门禁不算门禁。
|
|
61
|
+
写法见 `05-audit/token-parse-gate.py` 的 `selftest()`。
|
|
62
|
+
3. **同一个判定不要写两遍。** 判据分散在两个文件里必然漂移
|
|
63
|
+
(`ERRORS.md` E31)。要复用就 import,不要复制。
|
|
64
|
+
4. **修门禁前先证明它现在真的会红。** 用 `--dir <目录>` 与无参各跑一次,
|
|
65
|
+
两者的差别就是问题的形状(这正是 E41 的发现方式)。
|
|
66
|
+
5. **豁免要写清理由,并列举式。** 「这份代码的使用者控制不了它」是唯一的豁免理由;
|
|
67
|
+
新增豁免必须显式列出来,否则会被抓到 —— 宁可多报一次,也不要默默放过。
|
|
68
|
+
|
|
69
|
+
## 提 PR 之前
|
|
70
|
+
|
|
71
|
+
- [ ] `npm run gate` 全绿(或说明为什么某些门禁在你的环境跑不了)
|
|
72
|
+
- [ ] 改动涉及 UI ⇒ 在 `10-review/shots/` 里有截图对比
|
|
73
|
+
- [ ] 改了行为 ⇒ `ai/components.json` 已重新生成(`npm run ai`)
|
|
74
|
+
- [ ] 改了令牌或组件 ⇒ `npm run dist` 已重建,dist 与源码一致
|
|
75
|
+
- [ ] 有踩坑 ⇒ 写进 `ERRORS.md`(症状 / 根因 / 规则三件套)
|
|
76
|
+
|
|
77
|
+
## 代码风格
|
|
78
|
+
|
|
79
|
+
- **JS 必须过 ES5 门禁**:不用 `const` `let`、箭头函数、模板串、`class`、`async`、
|
|
80
|
+
`?.`、`??`。范围是 `01-tokens` ~ `09-assets`(`es5-gate.py` 守着)。
|
|
81
|
+
- **状态写在 DOM 属性上**,不写在 class 里(INVARIANT I-8)。
|
|
82
|
+
- **CSS 用 `@layer` 吗?** 现在不用,理由与切换判据见 `docs/GUIDANCE.md`。
|
|
83
|
+
- 注释写**为什么**,不写是什么。取舍理由、踩过的坑、放弃的方案 ——
|
|
84
|
+
这些半年后有用;`.foo { color: red }` 没有。
|
|
85
|
+
|
|
86
|
+
## 报告 bug
|
|
87
|
+
|
|
88
|
+
请附上:浏览器与版本、复现步骤、你的代码(能缩到最小最好)。
|
|
89
|
+
无障碍相关的问题请在标题里写 `a11y`,会优先处理(见 `SECURITY.md` 的理由)。
|