@autional-cn/tokens 0.1.0-rc
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/dist/antd-theme.d.mts +8 -0
- package/dist/antd-theme.d.ts +6 -0
- package/dist/antd-theme.js +34 -0
- package/dist/antd-theme.mjs +39 -0
- package/dist/chart.d.ts +7 -0
- package/dist/chart.js +32 -0
- package/dist/index.d.ts +508 -0
- package/dist/index.js +3 -0
- package/dist/tokens.json +527 -0
- package/fonts/LICENSE-Inter-OFL.txt +93 -0
- package/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/package.json +37 -0
- package/primitives.css +525 -0
- package/profiles/developer.css +48 -0
- package/profiles/docs.css +48 -0
- package/tokens.css +384 -0
package/primitives.css
ADDED
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autional canonical primitives — hand-maintained (not generated).
|
|
3
|
+
*
|
|
4
|
+
* Content-site brand surfaces and documentation patterns, consolidated from
|
|
5
|
+
* legacy/styles/{website,docs-site,developer-site}-global.css.
|
|
6
|
+
* Consumes only CSS variables from @autional-cn/tokens, so the visual result
|
|
7
|
+
* follows whichever profile stylesheet is loaded (docs / developer / marketing).
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
@layer base {
|
|
11
|
+
html {
|
|
12
|
+
scroll-behavior: smooth;
|
|
13
|
+
text-rendering: optimizeLegibility;
|
|
14
|
+
-webkit-text-size-adjust: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Full-page wash. Sits on top of the body background-color set by tokens.css,
|
|
18
|
+
so the dark variant needs only .dark — no per-profile override. */
|
|
19
|
+
body {
|
|
20
|
+
background-image: var(--image-page-light);
|
|
21
|
+
font-size: var(--font-size-body-md);
|
|
22
|
+
line-height: var(--line-height-body-md);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dark body {
|
|
26
|
+
background-image: var(--image-page-dark);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
::selection {
|
|
30
|
+
background: color-mix(in srgb, var(--color-sky-500) 35%, transparent);
|
|
31
|
+
color: var(--color-text-primary);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@layer components {
|
|
36
|
+
/* ── 页面模式层(P6)────────────────────────────────────────────────────────
|
|
37
|
+
U66 的**根因项**:「canonical 只到 primitives ⇒ 10 个内容站各自重写一遍 =
|
|
38
|
+
漂移重新长出」。参考站的美全手写在 sites/web/src/pages/index.astro 里
|
|
39
|
+
(hero 版式 / 产品框 / 统计带 / 收尾 CTA),而 primitives 在此之前只有
|
|
40
|
+
按钮、卡片这类**零件**,没有「一页长什么样」。
|
|
41
|
+
|
|
42
|
+
零件统一了、页面没统一,各站就会用同样的零件搭出不同的页面——这正是
|
|
43
|
+
「看起来不像同一个产品」在最上层的原因。
|
|
44
|
+
|
|
45
|
+
这里给出页面级的三件事:节奏、hero 版式、三类文字角色。
|
|
46
|
+
只吃令牌,所以跟着 profile 与主题走。 */
|
|
47
|
+
/* 用 margin-block-start 而不是 padding-block:
|
|
48
|
+
第一版写成 padding-block,结果是**相邻两节各留 48px = 96px**,
|
|
49
|
+
而各站原来的写法是 mt-16(64px 的间隙)。令牌的名字就叫 section-**gap**
|
|
50
|
+
——它是「两节之间留多少」,不是「每节上下各留多少」。写成 padding 等于
|
|
51
|
+
把语义理解错了一次,而且方向是**变松**,与收敛的意图相反。
|
|
52
|
+
:first-child 清零,避免首节前面平白多一段。 */
|
|
53
|
+
.page-section {
|
|
54
|
+
margin-block-start: var(--space-section-gap);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.page-section:first-child {
|
|
58
|
+
margin-block-start: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* 眉标**不在这里重复定义**:primitives 已有 .brand-kicker(胶囊徽标,带边框与底色),
|
|
62
|
+
各站的小节眉标用的就是它。我一开始顺手加了个 .page-eyebrow,写完才发现它与
|
|
63
|
+
.brand-kicker 是同一个角色——只是少了胶囊外壳。这正是我一路在批评的
|
|
64
|
+
「同一个东西两种说法」,所以删掉自己刚加的那个,而不是留下两个。
|
|
65
|
+
真需要「无外壳的眉标」时再加,那时它会有实际使用场景。 */
|
|
66
|
+
|
|
67
|
+
/* 小节标题。实测 developer 一个站就手写了 6 遍
|
|
68
|
+
`mt-4 text-3xl font-bold tracking-[...] text-primary-900` —— 这正是
|
|
69
|
+
「canonical 只到 primitives,各站自己重写一遍」的样子。
|
|
70
|
+
heading-lg 是设计系统里为此准备的档位(30px / 1.35 / 700 / -0.01em)。 */
|
|
71
|
+
.page-heading {
|
|
72
|
+
font-size: var(--font-size-heading-lg);
|
|
73
|
+
line-height: var(--line-height-heading-lg);
|
|
74
|
+
font-weight: 700;
|
|
75
|
+
letter-spacing: var(--letter-spacing-heading-lg);
|
|
76
|
+
color: var(--color-text-primary);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* .page-hero 与 .page-title 已删除 —— 它们是**没有落地过**的定义。
|
|
80
|
+
按我自己定的标准(「定义了一个类不等于统一了页面」),没有采用者就该删掉,
|
|
81
|
+
而不是留着等哪天有人误用。
|
|
82
|
+
|
|
83
|
+
删之前查了证据,不是凭感觉:
|
|
84
|
+
· .page-title 用 display-lg(40px),而全舰队 h1 实际是 text-5xl(48px) +
|
|
85
|
+
sm:text-6xl(60px)——**没有任何站点用 40px 做 h1**。而且 60px 这一档
|
|
86
|
+
设计系统里根本没有(只有 48 和 72),要匹配得先补一档,那是另一个决定。
|
|
87
|
+
· .page-hero 设 padding-block,而 developer 的 hero 本来就不带上下内边距
|
|
88
|
+
(间距由布局给)。同样是凭空造的。
|
|
89
|
+
|
|
90
|
+
.page-lead 保留但**改了颜色**:原写 --color-text-secondary(= primary-600,偏蓝),
|
|
91
|
+
而全舰队 lead 段落用的是 text-neutral-600(灰)。设计系统里有 --color-text-muted
|
|
92
|
+
(#64748d),与站点在用的 neutral-600 (#64748b) 几乎同色——按「把舰队已收敛的事实
|
|
93
|
+
定义下来」的原则,用后者。 */
|
|
94
|
+
/* 刻意**不设 max-width**:第一版设成了 prose-width(768px),结果采用它的那个
|
|
95
|
+
引导段落从 max-w-2xl(672px) 被撑宽到 768px,整段重排,视觉回归差 8.385%。
|
|
96
|
+
而我在提交里把这次改动描述成「颜色肉眼看不出差」——**描述与事实不符**。
|
|
97
|
+
一个类该管排版(字号/行高/颜色),不该顺手替调用方决定行宽:
|
|
98
|
+
引导段落的行宽是编辑决策(短引导用更窄的行更易读),不是排版令牌能定的。
|
|
99
|
+
现在调用方自己带 max-w-*。 */
|
|
100
|
+
.page-lead {
|
|
101
|
+
font-size: var(--font-size-body-lg);
|
|
102
|
+
line-height: var(--line-height-body-lg);
|
|
103
|
+
color: var(--color-text-muted);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* ── 站点顶栏(P5.4)────────────────────────────────────────────────────────
|
|
107
|
+
14 个门户此前各写各的顶栏。实测:高度跨度 48–117px、position 分 static/sticky
|
|
108
|
+
两派、品牌标有三种形态(logo-mark.svg / 内联 svg / status 拿一枚 lucide 的
|
|
109
|
+
activity 状态图标当 logo)。
|
|
110
|
+
|
|
111
|
+
顶栏是每个页面都出现的第一条水平线——高度、位置、品牌标不一致,是最容易被
|
|
112
|
+
一眼看穿的「不像同一个产品」。图标套件已经统一(第 12 道闸门守住),顶栏是
|
|
113
|
+
紧接着的第二条。
|
|
114
|
+
|
|
115
|
+
这里统一的是**高度 / 位置 / 底边 / 品牌标尺寸**,不是内容:控制台的租户切换器
|
|
116
|
+
与文档站的导航链接本来就该不同,强行统一内容反而是错的。消费方挂 class 即可,
|
|
117
|
+
不要再各写 height 与 position。 */
|
|
118
|
+
.site-header {
|
|
119
|
+
position: sticky;
|
|
120
|
+
top: 0;
|
|
121
|
+
z-index: var(--z-sticky);
|
|
122
|
+
height: var(--layout-header-height);
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
background-color: var(--color-bg-surface);
|
|
126
|
+
border-bottom: 1px solid var(--color-border-subtle);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.site-header__inner {
|
|
130
|
+
display: flex;
|
|
131
|
+
align-items: center;
|
|
132
|
+
gap: var(--space-6);
|
|
133
|
+
width: 100%;
|
|
134
|
+
max-width: var(--layout-max-width);
|
|
135
|
+
height: 100%;
|
|
136
|
+
margin-inline: auto;
|
|
137
|
+
padding-inline: var(--space-6);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* 品牌标:唯一允许的形态是 logo-mark 资产。status 此前用 lucide 的 activity
|
|
141
|
+
图标充当 logo——那是状态图标,不是品牌标。 */
|
|
142
|
+
.site-header__brand {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
gap: var(--space-3);
|
|
146
|
+
height: 100%;
|
|
147
|
+
flex-shrink: 0;
|
|
148
|
+
text-decoration: none;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.site-header__brand img,
|
|
152
|
+
.site-header__brand > svg {
|
|
153
|
+
height: 32px;
|
|
154
|
+
width: auto;
|
|
155
|
+
display: block;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.site-header__title {
|
|
159
|
+
font-size: var(--font-size-body-md);
|
|
160
|
+
font-weight: 700;
|
|
161
|
+
letter-spacing: -0.02em;
|
|
162
|
+
line-height: 1.2;
|
|
163
|
+
color: var(--color-text-primary);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.site-header__nav {
|
|
167
|
+
display: flex;
|
|
168
|
+
align-items: center;
|
|
169
|
+
gap: var(--space-5);
|
|
170
|
+
height: 100%;
|
|
171
|
+
margin-inline-start: auto;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* 半透明毛玻璃变体:营销与文档站此前各写 bg-white/80 + backdrop-blur-xl。
|
|
175
|
+
观感保留,但底色与模糊量改由令牌给,不再每站手填。 */
|
|
176
|
+
.site-header--translucent {
|
|
177
|
+
background-color: color-mix(in srgb, var(--color-bg-surface) 80%, transparent);
|
|
178
|
+
-webkit-backdrop-filter: blur(20px);
|
|
179
|
+
backdrop-filter: blur(20px);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
@media (max-width: 767px) {
|
|
183
|
+
.site-header { height: var(--layout-header-height-compact); }
|
|
184
|
+
.site-header__inner { padding-inline: var(--space-4); }
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* ── Shared brand surfaces ── */
|
|
188
|
+
.brand-shell {
|
|
189
|
+
border-radius: var(--radius-xl);
|
|
190
|
+
border: 1px solid rgba(255, 255, 255, 0.7);
|
|
191
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
192
|
+
box-shadow: var(--shadow-brand);
|
|
193
|
+
-webkit-backdrop-filter: blur(24px);
|
|
194
|
+
backdrop-filter: blur(24px);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.dark .brand-shell {
|
|
198
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
199
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.brand-card {
|
|
203
|
+
border-radius: var(--radius-lg);
|
|
204
|
+
border: 1px solid color-mix(in srgb, var(--color-primary-100) 90%, transparent);
|
|
205
|
+
background-color: rgba(255, 255, 255, 0.95);
|
|
206
|
+
box-shadow: var(--shadow-card);
|
|
207
|
+
-webkit-backdrop-filter: blur(4px);
|
|
208
|
+
backdrop-filter: blur(4px);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.dark .brand-card {
|
|
212
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
213
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.brand-button-primary {
|
|
217
|
+
display: inline-flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
justify-content: center;
|
|
220
|
+
gap: var(--space-2);
|
|
221
|
+
border-radius: var(--radius-full);
|
|
222
|
+
background-color: var(--color-primary-700);
|
|
223
|
+
padding: 12px 24px;
|
|
224
|
+
min-height: var(--a11y-touch-target);
|
|
225
|
+
font-size: var(--font-size-sm);
|
|
226
|
+
line-height: var(--line-height-sm);
|
|
227
|
+
font-weight: 600;
|
|
228
|
+
color: #ffffff;
|
|
229
|
+
box-shadow: var(--shadow-soft);
|
|
230
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform;
|
|
231
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
232
|
+
transition-duration: var(--motion-duration-fast);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.brand-button-primary:hover {
|
|
236
|
+
transform: translateY(-2px);
|
|
237
|
+
background-color: var(--color-primary-600);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.brand-button-secondary {
|
|
241
|
+
display: inline-flex;
|
|
242
|
+
align-items: center;
|
|
243
|
+
justify-content: center;
|
|
244
|
+
gap: var(--space-2);
|
|
245
|
+
border-radius: var(--radius-full);
|
|
246
|
+
border: 1px solid var(--color-primary-200);
|
|
247
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
248
|
+
padding: 12px 24px;
|
|
249
|
+
font-size: var(--font-size-sm);
|
|
250
|
+
line-height: var(--line-height-sm);
|
|
251
|
+
font-weight: 600;
|
|
252
|
+
color: var(--color-primary-700);
|
|
253
|
+
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform;
|
|
254
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
255
|
+
transition-duration: var(--motion-duration-fast);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.brand-button-secondary:hover {
|
|
259
|
+
transform: translateY(-2px);
|
|
260
|
+
border-color: var(--color-primary-300);
|
|
261
|
+
background-color: var(--color-sky-50);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.dark .brand-button-secondary {
|
|
265
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
266
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
267
|
+
color: #ffffff;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.dark .brand-button-secondary:hover {
|
|
271
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.brand-kicker {
|
|
275
|
+
display: inline-flex;
|
|
276
|
+
align-items: center;
|
|
277
|
+
gap: var(--space-2);
|
|
278
|
+
border-radius: var(--radius-full);
|
|
279
|
+
border: 1px solid var(--color-primary-100);
|
|
280
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
281
|
+
padding: 6px 16px;
|
|
282
|
+
font-size: var(--font-size-xs);
|
|
283
|
+
line-height: var(--line-height-xs);
|
|
284
|
+
font-weight: 600;
|
|
285
|
+
text-transform: uppercase;
|
|
286
|
+
letter-spacing: var(--letter-spacing-label-caps);
|
|
287
|
+
color: var(--color-primary-700);
|
|
288
|
+
box-shadow: var(--shadow-soft);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.dark .brand-kicker {
|
|
292
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
293
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
294
|
+
color: var(--color-sky-200);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.brand-grid {
|
|
298
|
+
background-image: var(--image-brand-grid);
|
|
299
|
+
background-position: center;
|
|
300
|
+
background-size: 28px 28px;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.dark .brand-grid {
|
|
304
|
+
background-image:
|
|
305
|
+
linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
|
|
306
|
+
linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/* ── Documentation ──
|
|
310
|
+
Ported from the docs-site global sheet. These classes assume a light surface
|
|
311
|
+
(docs/reference/wiki ship light-only), so heading/link colors go through the
|
|
312
|
+
semantic text tokens — identical values in light, and they follow `.dark`. */
|
|
313
|
+
.docs-nav-link {
|
|
314
|
+
display: block;
|
|
315
|
+
border-radius: var(--radius-md);
|
|
316
|
+
padding: 12px 16px;
|
|
317
|
+
font-size: var(--font-size-sm);
|
|
318
|
+
line-height: var(--line-height-sm);
|
|
319
|
+
font-weight: 500;
|
|
320
|
+
color: var(--color-neutral-600);
|
|
321
|
+
transition-property: color, background-color, border-color;
|
|
322
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
323
|
+
transition-duration: 150ms;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.docs-nav-link:hover {
|
|
327
|
+
background-color: var(--color-primary-50);
|
|
328
|
+
color: var(--color-primary-700);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.docs-nav-link[data-active='true'] {
|
|
332
|
+
background-color: var(--color-primary-700);
|
|
333
|
+
color: #ffffff;
|
|
334
|
+
box-shadow: var(--shadow-soft);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.docs-prose > :first-child {
|
|
338
|
+
margin-top: 0;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.docs-prose {
|
|
342
|
+
max-width: var(--layout-prose-width);
|
|
343
|
+
color: var(--color-text-primary);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.docs-prose h1 {
|
|
347
|
+
margin-top: 0;
|
|
348
|
+
margin-bottom: 24px;
|
|
349
|
+
font-size: var(--font-size-4xl);
|
|
350
|
+
line-height: var(--line-height-display-lg);
|
|
351
|
+
font-weight: 800;
|
|
352
|
+
letter-spacing: var(--letter-spacing-display-xl);
|
|
353
|
+
color: var(--color-text-primary);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
@media (min-width: 640px) {
|
|
357
|
+
.docs-prose h1 {
|
|
358
|
+
font-size: var(--font-size-display-xl);
|
|
359
|
+
line-height: var(--line-height-display-xl);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.docs-prose h2 {
|
|
364
|
+
margin-top: 48px;
|
|
365
|
+
margin-bottom: 16px;
|
|
366
|
+
font-size: var(--font-size-2xl);
|
|
367
|
+
line-height: var(--line-height-2xl);
|
|
368
|
+
font-weight: 700;
|
|
369
|
+
letter-spacing: var(--letter-spacing-heading-lg);
|
|
370
|
+
color: var(--color-text-primary);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.docs-prose h3 {
|
|
374
|
+
margin-top: 36px;
|
|
375
|
+
margin-bottom: 12px;
|
|
376
|
+
font-size: var(--font-size-xl);
|
|
377
|
+
line-height: var(--line-height-xl);
|
|
378
|
+
font-weight: 600;
|
|
379
|
+
color: var(--color-text-primary);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.docs-prose p {
|
|
383
|
+
margin-top: 20px;
|
|
384
|
+
margin-bottom: 0;
|
|
385
|
+
font-size: var(--font-size-body-md);
|
|
386
|
+
line-height: var(--line-height-body-md);
|
|
387
|
+
color: var(--color-neutral-600);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.docs-prose ul,
|
|
391
|
+
.docs-prose ol {
|
|
392
|
+
margin-top: 16px;
|
|
393
|
+
padding-left: 24px;
|
|
394
|
+
font-size: var(--font-size-body-md);
|
|
395
|
+
line-height: var(--line-height-body-md);
|
|
396
|
+
color: var(--color-neutral-600);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.docs-prose li + li {
|
|
400
|
+
margin-top: 8px;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
.docs-prose li::marker {
|
|
404
|
+
color: var(--color-primary-500);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.docs-prose a {
|
|
408
|
+
font-weight: 500;
|
|
409
|
+
color: var(--color-brand);
|
|
410
|
+
text-decoration-line: underline;
|
|
411
|
+
text-decoration-color: var(--color-primary-200);
|
|
412
|
+
text-underline-offset: 4px;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.docs-prose pre {
|
|
416
|
+
margin-top: 20px;
|
|
417
|
+
overflow-x: auto;
|
|
418
|
+
border-radius: var(--radius-lg);
|
|
419
|
+
background-color: var(--color-bg-developer);
|
|
420
|
+
padding: 16px 20px;
|
|
421
|
+
font-size: var(--font-size-code-md);
|
|
422
|
+
line-height: var(--line-height-code-md);
|
|
423
|
+
color: var(--color-text-inverse);
|
|
424
|
+
box-shadow: var(--shadow-code);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.docs-prose code:not(pre code) {
|
|
428
|
+
border-radius: var(--radius-sm);
|
|
429
|
+
background-color: var(--color-primary-50);
|
|
430
|
+
padding: 2px 6px;
|
|
431
|
+
font-size: 0.92em;
|
|
432
|
+
color: var(--color-primary-800);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.docs-prose table {
|
|
436
|
+
margin-top: 20px;
|
|
437
|
+
width: 100%;
|
|
438
|
+
overflow: hidden;
|
|
439
|
+
border-radius: var(--radius-lg);
|
|
440
|
+
border: 1px solid var(--color-primary-100);
|
|
441
|
+
background-color: #ffffff;
|
|
442
|
+
text-align: left;
|
|
443
|
+
font-size: var(--font-size-sm);
|
|
444
|
+
line-height: var(--line-height-sm);
|
|
445
|
+
box-shadow: var(--shadow-soft);
|
|
446
|
+
border-collapse: separate;
|
|
447
|
+
border-spacing: 0;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.docs-prose thead tr {
|
|
451
|
+
background-color: var(--color-primary-900);
|
|
452
|
+
color: #ffffff;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.docs-prose th,
|
|
456
|
+
.docs-prose td {
|
|
457
|
+
border-bottom: 1px solid var(--color-primary-100);
|
|
458
|
+
padding: 12px 16px;
|
|
459
|
+
vertical-align: top;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.docs-prose tbody tr:last-child td {
|
|
463
|
+
border-bottom: none;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.docs-prose blockquote {
|
|
467
|
+
margin-top: 20px;
|
|
468
|
+
border-radius: var(--radius-md);
|
|
469
|
+
border: 1px solid var(--color-sky-100);
|
|
470
|
+
background-color: color-mix(in srgb, var(--color-sky-50) 80%, transparent);
|
|
471
|
+
padding: 16px 20px;
|
|
472
|
+
font-size: var(--font-size-body-sm);
|
|
473
|
+
line-height: var(--line-height-lg);
|
|
474
|
+
color: var(--color-neutral-700);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/* ── Developer portal ── */
|
|
478
|
+
.developer-panel {
|
|
479
|
+
border-radius: var(--radius-xxl);
|
|
480
|
+
border: 1px solid color-mix(in srgb, var(--color-bg-developer) 90%, transparent);
|
|
481
|
+
background-color: var(--color-bg-developer);
|
|
482
|
+
color: var(--color-text-inverse);
|
|
483
|
+
box-shadow: var(--shadow-deep);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.developer-code {
|
|
487
|
+
display: block;
|
|
488
|
+
overflow-x: auto;
|
|
489
|
+
border-radius: var(--radius-md);
|
|
490
|
+
background-color: var(--color-bg-developer);
|
|
491
|
+
padding: 16px 20px;
|
|
492
|
+
font-family: var(--font-mono);
|
|
493
|
+
font-size: var(--font-size-code-md);
|
|
494
|
+
line-height: var(--line-height-lg);
|
|
495
|
+
color: var(--color-text-inverse);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.developer-chip {
|
|
499
|
+
display: inline-flex;
|
|
500
|
+
align-items: center;
|
|
501
|
+
border-radius: var(--radius-full);
|
|
502
|
+
border: 1px solid var(--color-primary-100);
|
|
503
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
504
|
+
padding: 4px 12px;
|
|
505
|
+
font-size: var(--font-size-xs);
|
|
506
|
+
line-height: var(--line-height-xs);
|
|
507
|
+
font-weight: 500;
|
|
508
|
+
color: var(--color-neutral-600);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
.developer-nav-link {
|
|
512
|
+
font-size: var(--font-size-sm);
|
|
513
|
+
line-height: var(--line-height-sm);
|
|
514
|
+
font-weight: 500;
|
|
515
|
+
color: var(--color-neutral-500);
|
|
516
|
+
transition-property: color;
|
|
517
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
518
|
+
transition-duration: 150ms;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.developer-nav-link:hover,
|
|
522
|
+
.developer-nav-link[data-active='true'] {
|
|
523
|
+
color: var(--color-primary-700);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autional profile: developer — GENERATED FILE — DO NOT EDIT. Source: tokens/tokens.json · Regenerate: pnpm gen · v0.1.0-rc
|
|
3
|
+
* Load AFTER @autional-cn/tokens/tokens.css.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* ── color ── */
|
|
8
|
+
--color-primary-50: #e9f3f9;
|
|
9
|
+
--color-primary-100: #d1e5f2;
|
|
10
|
+
--color-primary-200: #9ec2db;
|
|
11
|
+
--color-primary-300: #6a9fbe;
|
|
12
|
+
--color-primary-400: #3c779a;
|
|
13
|
+
--color-primary-500: #235f84;
|
|
14
|
+
--color-primary-600: #124b70;
|
|
15
|
+
--color-primary-700: #003153;
|
|
16
|
+
--color-primary-800: #032845;
|
|
17
|
+
--color-primary-900: #021c31;
|
|
18
|
+
--color-sky-50: #eef9fd;
|
|
19
|
+
--color-sky-100: #d6f0fa;
|
|
20
|
+
--color-sky-200: #b4e3f6;
|
|
21
|
+
--color-sky-300: #87ceeb;
|
|
22
|
+
--color-sky-400: #59bcde;
|
|
23
|
+
--color-sky-500: #3094b8;
|
|
24
|
+
--color-sky-600: #24778f;
|
|
25
|
+
--color-sky-700: #1f6173;
|
|
26
|
+
--color-sky-800: #1d505f;
|
|
27
|
+
--color-sky-900: #1d434f;
|
|
28
|
+
--color-amber-50: #fff8e6;
|
|
29
|
+
--color-amber-100: #ffefbf;
|
|
30
|
+
--color-amber-200: #ffdf80;
|
|
31
|
+
--color-amber-300: #ffcf40;
|
|
32
|
+
--color-amber-400: #ffc71a;
|
|
33
|
+
--color-amber-500: #ffbf00;
|
|
34
|
+
--color-amber-600: #d69f00;
|
|
35
|
+
--color-amber-700: #a67800;
|
|
36
|
+
--color-amber-800: #755400;
|
|
37
|
+
--color-amber-900: #4a3500;
|
|
38
|
+
|
|
39
|
+
/* ── shadow ── */
|
|
40
|
+
--shadow-soft: 0 16px 40px rgba(0, 49, 83, 0.10);
|
|
41
|
+
--shadow-card: 0 20px 60px rgba(3, 20, 37, 0.08);
|
|
42
|
+
--shadow-brand: 0 32px 100px rgba(3, 20, 37, 0.12);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:root:not(.dark):not([data-theme="dark"]):not([data-theme="authenticator"]) {
|
|
46
|
+
/* ── color ── */
|
|
47
|
+
--color-border-subtle: var(--color-primary-100);
|
|
48
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autional profile: docs — GENERATED FILE — DO NOT EDIT. Source: tokens/tokens.json · Regenerate: pnpm gen · v0.1.0-rc
|
|
3
|
+
* Load AFTER @autional-cn/tokens/tokens.css.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* ── color ── */
|
|
8
|
+
--color-primary-50: #e9f3f9;
|
|
9
|
+
--color-primary-100: #d1e5f2;
|
|
10
|
+
--color-primary-200: #9ec2db;
|
|
11
|
+
--color-primary-300: #6a9fbe;
|
|
12
|
+
--color-primary-400: #3c779a;
|
|
13
|
+
--color-primary-500: #235f84;
|
|
14
|
+
--color-primary-600: #124b70;
|
|
15
|
+
--color-primary-700: #003153;
|
|
16
|
+
--color-primary-800: #032845;
|
|
17
|
+
--color-primary-900: #021c31;
|
|
18
|
+
--color-sky-50: #eef9fd;
|
|
19
|
+
--color-sky-100: #d6f0fa;
|
|
20
|
+
--color-sky-200: #b4e3f6;
|
|
21
|
+
--color-sky-300: #87ceeb;
|
|
22
|
+
--color-sky-400: #59bcde;
|
|
23
|
+
--color-sky-500: #3094b8;
|
|
24
|
+
--color-sky-600: #24778f;
|
|
25
|
+
--color-sky-700: #1f6173;
|
|
26
|
+
--color-sky-800: #1d505f;
|
|
27
|
+
--color-sky-900: #1d434f;
|
|
28
|
+
--color-amber-50: #fff8e6;
|
|
29
|
+
--color-amber-100: #ffefbf;
|
|
30
|
+
--color-amber-200: #ffdf80;
|
|
31
|
+
--color-amber-300: #ffcf40;
|
|
32
|
+
--color-amber-400: #ffc71a;
|
|
33
|
+
--color-amber-500: #ffbf00;
|
|
34
|
+
--color-amber-600: #d69f00;
|
|
35
|
+
--color-amber-700: #a67800;
|
|
36
|
+
--color-amber-800: #755400;
|
|
37
|
+
--color-amber-900: #4a3500;
|
|
38
|
+
|
|
39
|
+
/* ── shadow ── */
|
|
40
|
+
--shadow-soft: 0 16px 40px rgba(0, 49, 83, 0.10);
|
|
41
|
+
--shadow-card: 0 20px 60px rgba(3, 20, 37, 0.08);
|
|
42
|
+
--shadow-brand: 0 32px 100px rgba(3, 20, 37, 0.12);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:root:not(.dark):not([data-theme="dark"]):not([data-theme="authenticator"]) {
|
|
46
|
+
/* ── color ── */
|
|
47
|
+
--color-border-subtle: var(--color-primary-100);
|
|
48
|
+
}
|