agentcss 0.25.3 → 0.25.5
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/base.reset.css +99 -0
- package/01-tokens/tokens.core.css +954 -0
- package/02-primitives/combobox/combobox.js +3 -0
- package/02-primitives/date-range/date-range.js +10 -1
- package/02-primitives/popover/popover.js +2 -0
- package/03-patterns/drawer/drawer.js +2 -0
- package/04-recipes/app-shell/shell-nav.js +1 -0
- package/09-assets/model-viewer/model-viewer.js +11 -2
- package/09-assets/scientific-plot/scientific-plot.js +1 -0
- package/CHANGELOG.md +137 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +18 -1
- package/README.zh-CN.md +39 -14
- package/SECURITY.md +28 -9
- package/START-HERE.md +7 -7
- package/ai/cli.js +5 -1
- package/ai/components.json +1 -1
- package/dist/01-tokens/base.reset.css +1 -0
- package/dist/01-tokens/tokens.core.css +1 -0
- package/dist/02-primitives/combobox/combobox.js +3 -0
- package/dist/02-primitives/date-range/date-range.js +9 -1
- package/dist/02-primitives/popover/popover.js +1 -0
- package/dist/03-patterns/drawer/drawer.js +1 -0
- package/dist/04-recipes/app-shell/shell-nav.js +1 -0
- package/dist/09-assets/model-viewer/model-viewer.js +9 -2
- package/dist/09-assets/scientific-plot/scientific-plot.js +1 -0
- package/dist/COSTS.md +6 -6
- package/docs/ACCESSIBILITY.md +2 -2
- package/docs/CONVENTIONS.md +18 -6
- package/index.html +1 -1
- package/llms-full.txt +1 -1
- package/package.json +3 -1
- package/types/index.d.ts +126 -2
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/* ============================================================================
|
|
2
|
+
* base.reset.css —— 底座层:会改**整个宿主文档**的那几条规则
|
|
3
|
+
* ============================================================================
|
|
4
|
+
*
|
|
5
|
+
* 🔴 这个文件里的每一条都作用于宿主页面本身,而不只是本库的组件:
|
|
6
|
+
* · `:focus-visible` —— 宿主所有可聚焦元素的焦点环
|
|
7
|
+
* · `a, button, label, …` —— 宿主的点按高亮被关掉
|
|
8
|
+
* · `prefers-reduced-motion` —— 对 `*` 压掉动效(带 !important)
|
|
9
|
+
*
|
|
10
|
+
* 所以它**默认不该被引入**:先用 `tokens.core.css`,确认要这套底座再加它。
|
|
11
|
+
* 从零搭页面的人用 `tokens.css`(= core + reset,一条引入搞定)。
|
|
12
|
+
*
|
|
13
|
+
* ⚠️ 本文件是**生成物**,由 `05-audit/split-tokens.py --write` 切出来。
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/* ============================================================================
|
|
20
|
+
无障碍兜底 —— 这一段必须随 token 一起走,不许删
|
|
21
|
+
========================================================================= */
|
|
22
|
+
|
|
23
|
+
/* 尊重系统的"减少动效"设置。评委、无障碍用户、晕动症人群会开这个。
|
|
24
|
+
不写这段,前面所有动效在那些机器上就是灾难。
|
|
25
|
+
|
|
26
|
+
🔴 这是**兜底**,不是全部策略(0.9.1 起):
|
|
27
|
+
① 位移 / 缩放 / 旋转 —— 关掉(前庭不适的主要来源)
|
|
28
|
+
② 真实进度(spinner / 加载中)—— **保留**,见 ai/motion-policy.json。
|
|
29
|
+
停掉进度指示会让用户以为页面卡死,比有动画更糟。
|
|
30
|
+
③ 颜色 / 透明度 —— 允许保留但缩短到 --dur-fast(不强制,也无判据)
|
|
31
|
+
默认关、例外要写理由并由 `motion.py --reduced-audit` 核对:
|
|
32
|
+
声明了却没实现 ⇒ 红;实现了却没声明 ⇒ 也红。
|
|
33
|
+
本段的 `*` 规则必须保留 —— 它是①②③共同的底线,
|
|
34
|
+
组件要保留动画时用**更高优先级 + !important** 覆盖它(库里三处都这么做)。 */
|
|
35
|
+
@media (prefers-reduced-motion: reduce) {
|
|
36
|
+
*,
|
|
37
|
+
*::before,
|
|
38
|
+
*::after {
|
|
39
|
+
animation-duration: 0.01ms !important;
|
|
40
|
+
animation-iteration-count: 1 !important;
|
|
41
|
+
transition-duration: 0.01ms !important;
|
|
42
|
+
scroll-behavior: auto !important;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
/* 键盘焦点环。用 :focus-visible 而不是 :focus ——
|
|
48
|
+
前者只在键盘导航时显示,鼠标点击不会冒出难看的框。
|
|
49
|
+
🔴 只写 outline: none 而不给替代焦点指示,是无障碍事故。 */
|
|
50
|
+
:focus-visible {
|
|
51
|
+
outline: 2px solid var(--accent);
|
|
52
|
+
outline-offset: 2px;
|
|
53
|
+
border-radius: var(--r-sm);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
/* ============================================================================
|
|
59
|
+
🔴 修 iOS 实机报的「点击时出现奇怪的灰黑纺锤形闪动」
|
|
60
|
+
----------------------------------------------------------------------------
|
|
61
|
+
原始反馈:「点击单选和复选的选项的时候会出现非常奇怪的阴影残留,
|
|
62
|
+
那个阴影居然是**纺锤形**的,或者是极快的那个**灰黑色的底色闪动**」。
|
|
63
|
+
|
|
64
|
+
⭐ 真因(**iOS Safari 的默认行为**,不是我们的布局错):
|
|
65
|
+
iOS Safari 会给**被点击的元素**加一层半透明灰黑遮罩
|
|
66
|
+
(约 rgba(0,0,0,0.18)),这层遮罩**跟着元素的形状与圆角** ——
|
|
67
|
+
我们的 `.choice__mark` 是**圆角方块** ⇒ 遮罩就成了「纺锤形」。
|
|
68
|
+
|
|
69
|
+
⚠️ 而且真正被点的不是那个 mark,是**铺满整个 `.choice` 的
|
|
70
|
+
透明 input**(`opacity:0; inset:0`)⇒ 遮罩画在这个 input 上,
|
|
71
|
+
iOS 按它的圆角裁切 ⇒ 形状更怪、闪烁更明显。
|
|
72
|
+
|
|
73
|
+
⇒ 修法(业界标准做法):**关掉 tap highlight**。
|
|
74
|
+
本库每个控件都有自己的 `:active` / `:checked` 反馈,
|
|
75
|
+
不需要 iOS 那层系统遮罩 —— 它既不统一又难看。
|
|
76
|
+
|
|
77
|
+
⚠️ 只在**可点元素**上关,**不要全局 `*`**
|
|
78
|
+
—— 那会把链接与按钮的原生反馈一起干掉。 */
|
|
79
|
+
a,
|
|
80
|
+
button,
|
|
81
|
+
label,
|
|
82
|
+
summary,
|
|
83
|
+
input[type="checkbox"],
|
|
84
|
+
input[type="radio"],
|
|
85
|
+
input[type="button"],
|
|
86
|
+
input[type="submit"],
|
|
87
|
+
[role="button"],
|
|
88
|
+
[role="switch"],
|
|
89
|
+
[role="tab"],
|
|
90
|
+
[role="option"],
|
|
91
|
+
.choice,
|
|
92
|
+
.switch,
|
|
93
|
+
.btn,
|
|
94
|
+
.accordion__trigger,
|
|
95
|
+
.tabs__tab,
|
|
96
|
+
.card,
|
|
97
|
+
.list__row {
|
|
98
|
+
-webkit-tap-highlight-color: transparent;
|
|
99
|
+
}
|