@q1travel/design-system 0.27.2 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/product-design/references/glossary.md +8 -0
- package/.agents/skills/product-design/references/review-component.md +1 -1
- package/.agents/skills/product-design/references/surfaces.md +2 -1
- package/README.md +2 -1
- package/contracts/button-api-compatibility.md +2 -0
- package/contracts/design.dark.md +4 -2
- package/contracts/design.md +4 -2
- package/contracts/icon-system.md +10 -1
- package/contracts/implementation-map.md +7 -1
- package/contracts/interface-guidelines.md +2 -1
- package/contracts/token-naming.md +11 -1
- package/dist-pkg/design-system.d.ts +95 -8
- package/dist-pkg/design-system.js +6235 -5923
- package/dist-pkg/style.css +631 -346
- package/dist-pkg/tokens.css +2 -34
- package/package.json +4 -3
package/dist-pkg/style.css
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/* q1travel design system — 发布样式(tokens + 字体兜底 + foundations + components + 组件独立样式)。构建产物,勿手改。 */
|
|
2
|
-
|
|
2
|
+
/* 局部主题子树:子树根元素设置 data-q1-theme="light" 或 "dark" 后,在该元素上重新声明全部 token,
|
|
3
|
+
var() 引用就地按子树主题解析,颜色、阴影与 auth 域色板整体固定为该主题,不随根元素主题切换。 */
|
|
4
|
+
:root,
|
|
5
|
+
[data-q1-theme='light'],
|
|
6
|
+
[data-q1-theme='dark'] {
|
|
3
7
|
/* color-scheme 不在此声明:tokens.css 随包发布,全局副作用交消费方应用掌管(门户侧在 global.css)。 */
|
|
4
8
|
--q1-color-background-100: #ffffff;
|
|
5
9
|
--q1-color-background-200: #fafafa;
|
|
@@ -311,7 +315,6 @@
|
|
|
311
315
|
--q1-doc-page-footer-min-height: 112px;
|
|
312
316
|
--q1-doc-page-footer-padding: 28px var(--q1-space-8) 48px;
|
|
313
317
|
--q1-doc-intro-footer-padding: 28px 48px;
|
|
314
|
-
--q1-doc-page-footer-action-min-width: 72px;
|
|
315
318
|
--q1-radius-1: 4px;
|
|
316
319
|
--q1-radius-2: 6px;
|
|
317
320
|
--q1-radius-3: 8px;
|
|
@@ -349,7 +352,8 @@
|
|
|
349
352
|
--q1-z-toast: 1400;
|
|
350
353
|
}
|
|
351
354
|
|
|
352
|
-
:root[data-theme='dark']
|
|
355
|
+
:root[data-theme='dark'],
|
|
356
|
+
[data-q1-theme='dark'] {
|
|
353
357
|
--q1-shadow-popover:
|
|
354
358
|
0 0 0 1px var(--q1-color-gray-alpha-200),
|
|
355
359
|
0 4px 8px -4px color-mix(in srgb, var(--q1-color-shadow) 12%, transparent),
|
|
@@ -549,39 +553,6 @@
|
|
|
549
553
|
--q1-color-action-text: var(--q1-color-primary-900);
|
|
550
554
|
}
|
|
551
555
|
|
|
552
|
-
/* 固定浅色子树:在任意子树根元素上设置 data-q1-theme="light",
|
|
553
|
-
子树内的 auth 域色板固定取浅色值,不随根元素主题切换;只覆盖 auth 组,中性链照常跟随主题。
|
|
554
|
-
取值与 :root 中的 auth 浅色值逐项一致,由构建与 check:token-package 校验。 */
|
|
555
|
-
[data-q1-theme='light'] {
|
|
556
|
-
--q1-color-auth-text-primary: #061b31;
|
|
557
|
-
--q1-color-auth-text-secondary: #273951;
|
|
558
|
-
--q1-color-auth-text-muted: #64748d;
|
|
559
|
-
--q1-color-auth-border-strong: #d6dde6;
|
|
560
|
-
--q1-color-auth-surface-card: #ffffff;
|
|
561
|
-
--q1-color-auth-surface-subtle: #f8fafc;
|
|
562
|
-
--q1-color-auth-surface-input: #ffffff;
|
|
563
|
-
--q1-color-auth-surface-hover: #f6f9fc;
|
|
564
|
-
--q1-color-auth-surface-disabled: #f6f9fc;
|
|
565
|
-
--q1-color-auth-surface-media: #04050a;
|
|
566
|
-
--q1-color-auth-action-hover: #4434d4;
|
|
567
|
-
--q1-color-auth-action-press: #2e2b8c;
|
|
568
|
-
--q1-color-auth-action-disabled-bg: #c7c9cc;
|
|
569
|
-
--q1-color-auth-action-disabled-border: #c7c9cc;
|
|
570
|
-
--q1-color-auth-action-disabled-text: #ffffff;
|
|
571
|
-
--q1-color-auth-focus-ring: rgba(83, 58, 253, 0.42);
|
|
572
|
-
--q1-color-auth-danger-border: #d92d20;
|
|
573
|
-
--q1-color-auth-danger-surface: #fff8f7;
|
|
574
|
-
--q1-color-auth-error-text: #be123c;
|
|
575
|
-
--q1-color-auth-field-error-text: #d32f2f;
|
|
576
|
-
--q1-color-auth-notice-border: #b9b9f9;
|
|
577
|
-
--q1-color-auth-notice-surface: #efebff;
|
|
578
|
-
--q1-color-auth-notice-text: #2e2b8c;
|
|
579
|
-
--q1-color-auth-media-overlay: rgba(4, 5, 10, 0.46);
|
|
580
|
-
--q1-color-auth-media-overlay-hover: rgba(4, 5, 10, 0.66);
|
|
581
|
-
--q1-color-auth-on-media-border: rgba(255, 255, 255, 0.22);
|
|
582
|
-
--q1-color-auth-on-media-border-hover: rgba(255, 255, 255, 0.34);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
556
|
/* 字体继承兜底(:where 零特异度,消费方自己的 body 样式可无条件覆盖)。 */
|
|
586
557
|
:where(body) {
|
|
587
558
|
font-family: var(--q1-font-sans);
|
|
@@ -925,7 +896,7 @@
|
|
|
925
896
|
|
|
926
897
|
/* Rounded:药丸形 + 柔和抬起阴影(恒黑 shadow token,暗色不泛白)。 */
|
|
927
898
|
.button--rounded {
|
|
928
|
-
border-radius:
|
|
899
|
+
border-radius: var(--q1-radius-full);
|
|
929
900
|
box-shadow:
|
|
930
901
|
0 1px 2px color-mix(in srgb, var(--q1-color-shadow) 10%, transparent),
|
|
931
902
|
0 6px 16px color-mix(in srgb, var(--q1-color-shadow) 14%, transparent);
|
|
@@ -953,7 +924,9 @@
|
|
|
953
924
|
|
|
954
925
|
/* —— 统一着色配方 tone-surface——
|
|
955
926
|
Banner/Note/ProjectBanner/状态块共享同一套,消除各自 color-mix 配方漂移;主题自适应,消费方无需 dark 块。 */
|
|
956
|
-
:root
|
|
927
|
+
:root,
|
|
928
|
+
[data-q1-theme='light'],
|
|
929
|
+
[data-q1-theme='dark'] {
|
|
957
930
|
--q1-tone-bg-info: oklch(from var(--q1-color-status-info) 0.96 0.03 h);
|
|
958
931
|
--q1-tone-border-info: oklch(from var(--q1-color-status-info) 0.86 0.06 h);
|
|
959
932
|
--q1-tone-fg-info: oklch(from var(--q1-color-status-info) 0.47 0.13 h);
|
|
@@ -968,7 +941,8 @@
|
|
|
968
941
|
--q1-tone-fg-danger: oklch(from var(--q1-color-status-danger) 0.47 0.13 h);
|
|
969
942
|
}
|
|
970
943
|
|
|
971
|
-
:root[data-theme='dark']
|
|
944
|
+
:root[data-theme='dark'],
|
|
945
|
+
[data-q1-theme='dark'] {
|
|
972
946
|
--q1-tone-bg-info: oklch(from var(--q1-color-status-info) 0.24 0.04 h);
|
|
973
947
|
--q1-tone-border-info: oklch(from var(--q1-color-status-info) 0.34 0.06 h);
|
|
974
948
|
--q1-tone-fg-info: oklch(from var(--q1-color-status-info) 0.72 0.14 h);
|
|
@@ -983,6 +957,17 @@
|
|
|
983
957
|
--q1-tone-fg-danger: oklch(from var(--q1-color-status-danger) 0.72 0.14 h);
|
|
984
958
|
}
|
|
985
959
|
|
|
960
|
+
/* 局部主题子树根元素:原生控件与继承文字色随子树主题,不沿用页面主题。 */
|
|
961
|
+
[data-q1-theme='light'] {
|
|
962
|
+
color-scheme: light;
|
|
963
|
+
color: var(--q1-color-text-primary);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
[data-q1-theme='dark'] {
|
|
967
|
+
color-scheme: dark;
|
|
968
|
+
color: var(--q1-color-text-primary);
|
|
969
|
+
}
|
|
970
|
+
|
|
986
971
|
.form-field {
|
|
987
972
|
position: relative;
|
|
988
973
|
display: grid;
|
|
@@ -1246,7 +1231,7 @@
|
|
|
1246
1231
|
|
|
1247
1232
|
/* 药丸形;双类压过 :has 尺寸档的圆角设定。 */
|
|
1248
1233
|
.input-control.input-control--rounded {
|
|
1249
|
-
border-radius:
|
|
1234
|
+
border-radius: var(--q1-radius-full);
|
|
1250
1235
|
}
|
|
1251
1236
|
|
|
1252
1237
|
|
|
@@ -1444,6 +1429,12 @@
|
|
|
1444
1429
|
min-height: 48px;
|
|
1445
1430
|
}
|
|
1446
1431
|
|
|
1432
|
+
/* Textarea 同为可编辑控件:触屏端字号不足 16px 时 iOS 聚焦会自动放大页面,与 Input 同档。 */
|
|
1433
|
+
.form-control--textarea {
|
|
1434
|
+
font-size: var(--q1-font-size-copy-16);
|
|
1435
|
+
line-height: var(--q1-line-height-heading-16);
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1447
1438
|
/* 外框内的 input 不带自身最小高度:lg 档 48px 会把外框撑到 50px,高出同档普通 Input。 */
|
|
1448
1439
|
.input-control .form-control--input {
|
|
1449
1440
|
min-height: 0;
|
|
@@ -1537,7 +1528,7 @@
|
|
|
1537
1528
|
}
|
|
1538
1529
|
|
|
1539
1530
|
.control-option__visual--radio {
|
|
1540
|
-
border-radius:
|
|
1531
|
+
border-radius: var(--q1-radius-full);
|
|
1541
1532
|
/* Radio :16px 控件、未选中环用更亮的 muted 灰。
|
|
1542
1533
|
环色过渡原为 cubic-bezier(0.4,0,1,1)(ease-in),与紧邻的 Checkbox 环色 cubic-bezier(0.4,0,0.2,1)
|
|
1543
1534
|
不一致——同一族控件不会有意分叉两条曲线,判定为笔误而非实测差异,随 token 化统一到 standard。 */
|
|
@@ -1555,7 +1546,7 @@
|
|
|
1555
1546
|
left: 3px;
|
|
1556
1547
|
width: 8px;
|
|
1557
1548
|
height: 8px;
|
|
1558
|
-
border-radius:
|
|
1549
|
+
border-radius: var(--q1-radius-full);
|
|
1559
1550
|
background: var(--q1-color-text-primary);
|
|
1560
1551
|
opacity: 0;
|
|
1561
1552
|
}
|
|
@@ -1771,6 +1762,11 @@
|
|
|
1771
1762
|
.menu__trigger-label {
|
|
1772
1763
|
display: contents;
|
|
1773
1764
|
}
|
|
1765
|
+
/* 带末尾 chevron 时结束侧收一档,抵消图标框自带空白,左右视觉留白对称。 */
|
|
1766
|
+
.menu__trigger:not(.menu__trigger--icon):has(> svg:last-child) {
|
|
1767
|
+
padding-inline-end: var(--q1-space-3-5);
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1774
1770
|
.menu__trigger:hover:not(:disabled) {
|
|
1775
1771
|
background: color-mix(in srgb, var(--q1-color-text-primary) 4%, transparent);
|
|
1776
1772
|
}
|
|
@@ -1954,15 +1950,6 @@
|
|
|
1954
1950
|
margin: var(--q1-space-1) 0;
|
|
1955
1951
|
background: var(--q1-color-border);
|
|
1956
1952
|
}
|
|
1957
|
-
.menu__shortcut {
|
|
1958
|
-
padding: 1px 6px;
|
|
1959
|
-
border-radius: var(--q1-radius-1);
|
|
1960
|
-
background: color-mix(in srgb, var(--q1-color-text-primary) 8%, transparent);
|
|
1961
|
-
color: var(--q1-color-text-secondary);
|
|
1962
|
-
font-family: var(--q1-font-mono);
|
|
1963
|
-
font-size: 11px;
|
|
1964
|
-
line-height: 1.6;
|
|
1965
|
-
}
|
|
1966
1953
|
@media (pointer: coarse) {
|
|
1967
1954
|
.menu__trigger[data-pressed='true'] {
|
|
1968
1955
|
background: color-mix(in srgb, var(--q1-color-text-primary) 8%, transparent);
|
|
@@ -2255,7 +2242,7 @@
|
|
|
2255
2242
|
margin-block-end: var(--q1-space-3);
|
|
2256
2243
|
}
|
|
2257
2244
|
|
|
2258
|
-
@media (pointer: coarse) {
|
|
2245
|
+
@media (pointer: coarse), (any-pointer: coarse) {
|
|
2259
2246
|
.table__checkbox-control,
|
|
2260
2247
|
.table__sort {
|
|
2261
2248
|
min-width: 44px;
|
|
@@ -2318,8 +2305,8 @@
|
|
|
2318
2305
|
text-transform: uppercase;
|
|
2319
2306
|
}
|
|
2320
2307
|
|
|
2321
|
-
:root[data-theme='dark'] .avatar--letter,
|
|
2322
|
-
:root[data-theme='dark'] .avatar--glyph {
|
|
2308
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .avatar--letter:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)),
|
|
2309
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .avatar--glyph:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2323
2310
|
background: var(--q1-color-gray-500);
|
|
2324
2311
|
}
|
|
2325
2312
|
|
|
@@ -2377,7 +2364,7 @@
|
|
|
2377
2364
|
z-index: 1;
|
|
2378
2365
|
}
|
|
2379
2366
|
|
|
2380
|
-
:root[data-theme='dark'] .avatar__badge {
|
|
2367
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .avatar__badge:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2381
2368
|
--q1-avatar-badge-bg: var(--q1-color-gray-500);
|
|
2382
2369
|
}
|
|
2383
2370
|
|
|
@@ -2426,7 +2413,7 @@
|
|
|
2426
2413
|
align-items: center;
|
|
2427
2414
|
gap: var(--q1-space-1);
|
|
2428
2415
|
height: 24px;
|
|
2429
|
-
border-radius:
|
|
2416
|
+
border-radius: var(--q1-radius-full);
|
|
2430
2417
|
padding: 2px var(--q1-space-3);
|
|
2431
2418
|
font-size: 12px;
|
|
2432
2419
|
font-weight: var(--q1-font-weight-medium);
|
|
@@ -2507,7 +2494,7 @@
|
|
|
2507
2494
|
color: oklch(from var(--q1-color-gray-700) 0.42 0 0);
|
|
2508
2495
|
}
|
|
2509
2496
|
|
|
2510
|
-
:root[data-theme='dark'] .badge--neutral-subtle {
|
|
2497
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--neutral-subtle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2511
2498
|
background: oklch(from var(--q1-color-gray-700) 0.26 0 0);
|
|
2512
2499
|
color: oklch(from var(--q1-color-gray-700) 0.84 0 0);
|
|
2513
2500
|
}
|
|
@@ -2533,22 +2520,22 @@
|
|
|
2533
2520
|
}
|
|
2534
2521
|
|
|
2535
2522
|
/* subtle 暗色:暗底 + 亮字(oklch L0.26 底 / L0.74 字)。 */
|
|
2536
|
-
:root[data-theme='dark'] .badge--info-subtle {
|
|
2523
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--info-subtle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2537
2524
|
background: oklch(from var(--q1-color-status-info) 0.26 0.045 h);
|
|
2538
2525
|
color: oklch(from var(--q1-color-status-info) 0.74 0.16 h);
|
|
2539
2526
|
}
|
|
2540
2527
|
|
|
2541
|
-
:root[data-theme='dark'] .badge--success-subtle {
|
|
2528
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--success-subtle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2542
2529
|
background: oklch(from var(--q1-color-status-success) 0.26 0.045 h);
|
|
2543
2530
|
color: oklch(from var(--q1-color-status-success) 0.74 0.16 h);
|
|
2544
2531
|
}
|
|
2545
2532
|
|
|
2546
|
-
:root[data-theme='dark'] .badge--warning-subtle {
|
|
2533
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--warning-subtle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2547
2534
|
background: oklch(from var(--q1-color-status-warning) 0.26 0.045 h);
|
|
2548
2535
|
color: oklch(from var(--q1-color-status-warning) 0.74 0.16 h);
|
|
2549
2536
|
}
|
|
2550
2537
|
|
|
2551
|
-
:root[data-theme='dark'] .badge--danger-subtle {
|
|
2538
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--danger-subtle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2552
2539
|
background: oklch(from var(--q1-color-status-danger) 0.26 0.045 h);
|
|
2553
2540
|
color: oklch(from var(--q1-color-status-danger) 0.74 0.16 h);
|
|
2554
2541
|
}
|
|
@@ -2573,7 +2560,7 @@
|
|
|
2573
2560
|
min-height: 32px;
|
|
2574
2561
|
}
|
|
2575
2562
|
|
|
2576
|
-
:root[data-theme='dark'] .badge--quiet {
|
|
2563
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .badge--quiet:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2577
2564
|
background: oklch(from var(--q1-color-gray-700) 0.26 0 0);
|
|
2578
2565
|
color: oklch(from var(--q1-color-gray-700) 0.84 0 0);
|
|
2579
2566
|
}
|
|
@@ -2609,7 +2596,7 @@
|
|
|
2609
2596
|
gap: var(--q1-space-1);
|
|
2610
2597
|
height: 24px;
|
|
2611
2598
|
padding: 2px var(--q1-space-3);
|
|
2612
|
-
border-radius:
|
|
2599
|
+
border-radius: var(--q1-radius-full);
|
|
2613
2600
|
background: var(--q1-color-background-200);
|
|
2614
2601
|
box-shadow: inset 0 0 0 1px var(--q1-color-border-overlay);
|
|
2615
2602
|
}
|
|
@@ -2712,9 +2699,10 @@
|
|
|
2712
2699
|
align-items: center;
|
|
2713
2700
|
gap: 6px;
|
|
2714
2701
|
height: 32px;
|
|
2715
|
-
|
|
2702
|
+
/* 末尾 chevron 一侧收一档,抵消图标框自带空白。 */
|
|
2703
|
+
padding: 0 var(--q1-space-2) 0 var(--q1-space-3);
|
|
2716
2704
|
border: 1px solid var(--q1-color-border);
|
|
2717
|
-
border-radius:
|
|
2705
|
+
border-radius: var(--q1-radius-full);
|
|
2718
2706
|
background: var(--q1-color-bg-panel);
|
|
2719
2707
|
font-size: var(--q1-font-size-label-14);
|
|
2720
2708
|
font-weight: var(--q1-font-weight-medium);
|
|
@@ -2756,7 +2744,7 @@
|
|
|
2756
2744
|
align-items: center;
|
|
2757
2745
|
height: 32px;
|
|
2758
2746
|
padding: 0 var(--q1-space-3);
|
|
2759
|
-
border-radius:
|
|
2747
|
+
border-radius: var(--q1-radius-full);
|
|
2760
2748
|
/* q1-lint-disable Q1-DS-501 页顶公告的恒深药丸:两主题同值,不参与主题翻转 */
|
|
2761
2749
|
background: oklch(0.15 0 0);
|
|
2762
2750
|
color: oklch(0.94 0 0);
|
|
@@ -2878,19 +2866,19 @@
|
|
|
2878
2866
|
.banner__progress {
|
|
2879
2867
|
overflow: hidden;
|
|
2880
2868
|
height: 6px;
|
|
2881
|
-
border-radius:
|
|
2869
|
+
border-radius: var(--q1-radius-full);
|
|
2882
2870
|
background: oklch(from var(--banner-progress-color) 0.86 0.06 h);
|
|
2883
2871
|
}
|
|
2884
2872
|
|
|
2885
2873
|
.banner__progress-bar {
|
|
2886
2874
|
width: 100%;
|
|
2887
2875
|
height: 100%;
|
|
2888
|
-
border-radius:
|
|
2876
|
+
border-radius: var(--q1-radius-full);
|
|
2889
2877
|
background: var(--banner-progress-color);
|
|
2890
2878
|
transition: transform var(--q1-duration-fast) var(--q1-ease-out);
|
|
2891
2879
|
}
|
|
2892
2880
|
|
|
2893
|
-
:root[data-theme='dark'] .banner__progress {
|
|
2881
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .banner__progress:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
2894
2882
|
background: oklch(from var(--banner-progress-color) 0.34 0.06 h);
|
|
2895
2883
|
}
|
|
2896
2884
|
|
|
@@ -3267,7 +3255,7 @@ a.breadcrumb__link:hover {
|
|
|
3267
3255
|
.browser__dot {
|
|
3268
3256
|
width: 12px;
|
|
3269
3257
|
height: 12px;
|
|
3270
|
-
border-radius:
|
|
3258
|
+
border-radius: var(--q1-radius-full);
|
|
3271
3259
|
}
|
|
3272
3260
|
|
|
3273
3261
|
/* 字面量 macOS 交通灯配色:
|
|
@@ -3305,7 +3293,7 @@ a.breadcrumb__link:hover {
|
|
|
3305
3293
|
max-width: 20rem;
|
|
3306
3294
|
padding: 4px 8px 4px 12px;
|
|
3307
3295
|
border: 1px solid var(--browser-border, var(--q1-color-border));
|
|
3308
|
-
border-radius:
|
|
3296
|
+
border-radius: var(--q1-radius-full);
|
|
3309
3297
|
background: var(--browser-surface, var(--q1-color-bg-panel));
|
|
3310
3298
|
color: var(--browser-fg, var(--q1-color-text-primary));
|
|
3311
3299
|
}
|
|
@@ -3479,14 +3467,17 @@ a.breadcrumb__link:hover {
|
|
|
3479
3467
|
双层外阴影随宽度缩放、左缘 8.2% 书脊沟线、排版=宽度线性缩放 0.0836/0.061);
|
|
3480
3468
|
只有真实链接在精细指针悬停时绕 Y 轴翻开(rotateY -20° + scale 1.066,横移按书宽等比缩放);
|
|
3481
3469
|
裸 Book 静止,触屏与减动模式不触发翻书。 */
|
|
3482
|
-
:root
|
|
3470
|
+
:root,
|
|
3471
|
+
[data-q1-theme='light'],
|
|
3472
|
+
[data-q1-theme='dark'] {
|
|
3483
3473
|
--q1-book-cover: var(--q1-color-bg-subtle);
|
|
3484
3474
|
/* q1-lint-disable-next-line Q1-DS-501 书封琥珀带:装帧用色,不是语义色,故不走 token */
|
|
3485
3475
|
--q1-book-band: oklch(0.8 0.195 73.6);
|
|
3486
3476
|
--q1-book-sheen: none;
|
|
3487
3477
|
}
|
|
3488
3478
|
|
|
3489
|
-
:root[data-theme='dark']
|
|
3479
|
+
:root[data-theme='dark'],
|
|
3480
|
+
[data-q1-theme='dark'] {
|
|
3490
3481
|
--q1-book-cover: var(--q1-color-gray-200);
|
|
3491
3482
|
/* q1-lint-disable Q1-DS-501 书封琥珀带与暗色微光:装帧用色;微光的白是光照模拟,不是前景色 */
|
|
3492
3483
|
--q1-book-band: oklch(0.75 0.174 74.5);
|
|
@@ -3733,8 +3724,13 @@ a[href]:has(> .book):focus-visible {
|
|
|
3733
3724
|
right: 36px;
|
|
3734
3725
|
}
|
|
3735
3726
|
|
|
3727
|
+
/* chevron 图标框自带空白,比文字侧内边距收一档,左右视觉留白对称。 */
|
|
3736
3728
|
.select-control__chevron {
|
|
3737
|
-
right:
|
|
3729
|
+
right: var(--q1-space-2-5);
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
.select-control:has(.form-control--xs) .select-control__chevron {
|
|
3733
|
+
right: var(--q1-space-1-5);
|
|
3738
3734
|
}
|
|
3739
3735
|
|
|
3740
3736
|
.select-control:has(.form-control--select:disabled) .select-control__prefix,
|
|
@@ -3761,8 +3757,8 @@ a[href]:has(> .book):focus-visible {
|
|
|
3761
3757
|
|
|
3762
3758
|
@media (hover: none), (pointer: coarse), (any-pointer: coarse) {
|
|
3763
3759
|
.select-control .form-control--select {
|
|
3764
|
-
min-height:
|
|
3765
|
-
font-size:
|
|
3760
|
+
min-height: var(--q1-touch-target-min);
|
|
3761
|
+
font-size: var(--q1-font-size-copy-16);
|
|
3766
3762
|
}
|
|
3767
3763
|
}
|
|
3768
3764
|
|
|
@@ -3895,11 +3891,12 @@ a[href]:has(> .book):focus-visible {
|
|
|
3895
3891
|
}
|
|
3896
3892
|
}
|
|
3897
3893
|
|
|
3894
|
+
/* 粗指针下外框与分段保持 sm32/md40/lg48 视觉尺寸,纵向命中区由共享 TouchTarget 扩到 44px。 */
|
|
3898
3895
|
@media (pointer: coarse), (any-pointer: coarse) {
|
|
3899
|
-
.switch-control { height: auto; }
|
|
3900
3896
|
.switch-control__option {
|
|
3897
|
+
position: relative;
|
|
3898
|
+
--touch-target-border-width: calc(var(--q1-space-1) * 0);
|
|
3901
3899
|
min-width: var(--q1-touch-target-min);
|
|
3902
|
-
min-height: var(--q1-touch-target-min);
|
|
3903
3900
|
}
|
|
3904
3901
|
}
|
|
3905
3902
|
|
|
@@ -4069,14 +4066,9 @@ a[href]:has(> .book):focus-visible {
|
|
|
4069
4066
|
border-bottom-color: transparent;
|
|
4070
4067
|
}
|
|
4071
4068
|
|
|
4069
|
+
/* 面板承载任意内容:文字样式继承所在页面,自身不加内边距;与标签栏的间距由 .tabs-root 的 gap 提供,左缘与标签栏对齐。 */
|
|
4072
4070
|
.tabs-control__panel {
|
|
4073
|
-
min-height: 96px;
|
|
4074
4071
|
border-radius: var(--q1-radius-3);
|
|
4075
|
-
color: var(--q1-color-text-secondary);
|
|
4076
|
-
font-size: 14px;
|
|
4077
|
-
line-height: 1.7;
|
|
4078
|
-
/* 正文左缘与标签文字左缘对齐 */
|
|
4079
|
-
padding: var(--q1-space-4) var(--q1-space-1);
|
|
4080
4072
|
}
|
|
4081
4073
|
|
|
4082
4074
|
.tabs-control__panel[hidden] {
|
|
@@ -4098,63 +4090,19 @@ a[href]:has(> .book):focus-visible {
|
|
|
4098
4090
|
}
|
|
4099
4091
|
}
|
|
4100
4092
|
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
.tabs-demo__status {
|
|
4109
|
-
margin: var(--q1-space-3) 0 0;
|
|
4110
|
-
color: var(--q1-color-text-secondary);
|
|
4111
|
-
font-size: var(--q1-font-size-label-13);
|
|
4112
|
-
line-height: var(--q1-line-height-label-13);
|
|
4113
|
-
}
|
|
4114
|
-
|
|
4115
|
-
.tabs-line-demo {
|
|
4116
|
-
display: grid;
|
|
4117
|
-
gap: var(--q1-space-4);
|
|
4118
|
-
}
|
|
4119
|
-
|
|
4120
|
-
.tabs-line-demo__header {
|
|
4121
|
-
display: grid;
|
|
4122
|
-
gap: var(--q1-space-1);
|
|
4123
|
-
}
|
|
4124
|
-
|
|
4125
|
-
.tabs-line-demo__title {
|
|
4126
|
-
margin: 0;
|
|
4127
|
-
color: var(--q1-color-text-primary);
|
|
4128
|
-
font-size: var(--q1-font-size-heading-20);
|
|
4129
|
-
font-weight: var(--q1-font-weight-heading-20);
|
|
4130
|
-
line-height: var(--q1-line-height-heading-20);
|
|
4131
|
-
}
|
|
4132
|
-
|
|
4133
|
-
.tabs-line-demo__description,
|
|
4134
|
-
.tabs-line-demo__section-body {
|
|
4135
|
-
margin: 0;
|
|
4136
|
-
color: var(--q1-color-text-secondary);
|
|
4137
|
-
font-size: var(--q1-font-size-label-14);
|
|
4138
|
-
line-height: var(--q1-line-height-label-14);
|
|
4139
|
-
}
|
|
4140
|
-
|
|
4141
|
-
.tabs-line-demo__sections {
|
|
4142
|
-
display: grid;
|
|
4143
|
-
gap: var(--q1-space-6);
|
|
4144
|
-
}
|
|
4145
|
-
|
|
4146
|
-
.tabs-line-demo__section {
|
|
4147
|
-
display: grid;
|
|
4148
|
-
gap: var(--q1-space-1);
|
|
4149
|
-
scroll-margin-top: var(--q1-space-6);
|
|
4150
|
-
}
|
|
4093
|
+
/* 粗指针按输入方式而非视口宽度补足命中区(含宽于 820px 的平板横屏):每个标签不小于触控最小尺寸,文字在标签内居中。 */
|
|
4094
|
+
@media (pointer: coarse), (any-pointer: coarse) {
|
|
4095
|
+
.tabs-control__tab {
|
|
4096
|
+
justify-content: center;
|
|
4097
|
+
min-width: var(--q1-touch-target-min);
|
|
4098
|
+
min-height: var(--q1-touch-target-min);
|
|
4099
|
+
}
|
|
4151
4100
|
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
line-height: var(--q1-line-height-heading-16);
|
|
4101
|
+
/* 次级药丸以底色表达选中,去掉透明底边占位,文字在药丸内上下居中。 */
|
|
4102
|
+
.tabs-control--secondary .tabs-control__tab {
|
|
4103
|
+
min-height: var(--q1-touch-target-min);
|
|
4104
|
+
border-bottom-width: 0;
|
|
4105
|
+
}
|
|
4158
4106
|
}
|
|
4159
4107
|
|
|
4160
4108
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -4217,7 +4165,7 @@ a[href]:has(> .book):focus-visible {
|
|
|
4217
4165
|
height: var(--cal-field-height);
|
|
4218
4166
|
display: flex;
|
|
4219
4167
|
align-items: center;
|
|
4220
|
-
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-color-border);
|
|
4168
|
+
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-input-border, var(--q1-color-border-control));
|
|
4221
4169
|
border-radius: var(--q1-radius-2);
|
|
4222
4170
|
background: var(--q1-color-bg-panel);
|
|
4223
4171
|
}
|
|
@@ -4234,17 +4182,6 @@ a[href]:has(> .book):focus-visible {
|
|
|
4234
4182
|
--cal-field-height: calc(var(--q1-control-height-default) + var(--q1-space-2));
|
|
4235
4183
|
}
|
|
4236
4184
|
|
|
4237
|
-
.cal-field__control--filled {
|
|
4238
|
-
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-color-border-strong);
|
|
4239
|
-
}
|
|
4240
|
-
|
|
4241
|
-
.cal-field__control--compact .cal-field__label {
|
|
4242
|
-
max-width: 96px;
|
|
4243
|
-
overflow: hidden;
|
|
4244
|
-
text-overflow: ellipsis;
|
|
4245
|
-
white-space: nowrap;
|
|
4246
|
-
}
|
|
4247
|
-
|
|
4248
4185
|
.cal-field__trigger {
|
|
4249
4186
|
display: inline-flex;
|
|
4250
4187
|
align-items: center;
|
|
@@ -4280,7 +4217,8 @@ a[href]:has(> .book):focus-visible {
|
|
|
4280
4217
|
}
|
|
4281
4218
|
|
|
4282
4219
|
.cal-field__caret {
|
|
4283
|
-
border-left:
|
|
4220
|
+
border-left: calc(var(--q1-space-1) / 4) solid var(--q1-input-border, var(--q1-color-border-control));
|
|
4221
|
+
border-radius: 0 var(--q1-radius-2) var(--q1-radius-2) 0;
|
|
4284
4222
|
}
|
|
4285
4223
|
|
|
4286
4224
|
.cal-field__clear:hover,
|
|
@@ -4294,14 +4232,15 @@ a[href]:has(> .book):focus-visible {
|
|
|
4294
4232
|
left: 0;
|
|
4295
4233
|
width: max-content;
|
|
4296
4234
|
display: flex;
|
|
4297
|
-
gap: var(--q1-space-
|
|
4298
|
-
padding: var(--q1-space-
|
|
4299
|
-
border-radius: var(--q1-radius-
|
|
4235
|
+
gap: var(--q1-space-3);
|
|
4236
|
+
padding: var(--q1-space-3);
|
|
4237
|
+
border-radius: var(--q1-radius-4);
|
|
4300
4238
|
background: var(--q1-color-bg-overlay);
|
|
4301
4239
|
box-shadow: var(--q1-shadow-popover);
|
|
4302
4240
|
}
|
|
4303
4241
|
|
|
4304
4242
|
.cal-popover--vertical {
|
|
4243
|
+
width: calc(4 * var(--q1-space-16) + var(--q1-space-6));
|
|
4305
4244
|
flex-direction: column;
|
|
4306
4245
|
}
|
|
4307
4246
|
|
|
@@ -4315,7 +4254,9 @@ a[href]:has(> .book):focus-visible {
|
|
|
4315
4254
|
display: flex;
|
|
4316
4255
|
flex-direction: column;
|
|
4317
4256
|
gap: var(--q1-space-3);
|
|
4318
|
-
|
|
4257
|
+
width: calc(4 * var(--q1-space-16));
|
|
4258
|
+
max-width: 100%;
|
|
4259
|
+
flex: none;
|
|
4319
4260
|
}
|
|
4320
4261
|
|
|
4321
4262
|
.cal-inputs__field {
|
|
@@ -4325,7 +4266,8 @@ a[href]:has(> .book):focus-visible {
|
|
|
4325
4266
|
}
|
|
4326
4267
|
|
|
4327
4268
|
.cal-inputs__label {
|
|
4328
|
-
font-size:
|
|
4269
|
+
font-size: var(--q1-font-size-label-12);
|
|
4270
|
+
line-height: var(--q1-line-height-label-12);
|
|
4329
4271
|
color: var(--q1-color-text-muted);
|
|
4330
4272
|
}
|
|
4331
4273
|
|
|
@@ -4334,41 +4276,8 @@ a[href]:has(> .book):focus-visible {
|
|
|
4334
4276
|
gap: var(--q1-space-2);
|
|
4335
4277
|
}
|
|
4336
4278
|
|
|
4337
|
-
.cal-inputs__value {
|
|
4338
|
-
flex: 1;
|
|
4339
|
-
padding-block: var(--q1-space-1);
|
|
4340
|
-
font-size: 13px;
|
|
4341
|
-
color: var(--q1-color-text-primary);
|
|
4342
|
-
}
|
|
4343
|
-
|
|
4344
4279
|
.cal-inputs__apply {
|
|
4345
|
-
|
|
4346
|
-
align-items: center;
|
|
4347
|
-
justify-content: center;
|
|
4348
|
-
gap: var(--q1-space-2);
|
|
4349
|
-
padding: var(--q1-space-2);
|
|
4350
|
-
border: 1px solid var(--q1-color-border);
|
|
4351
|
-
border-radius: var(--q1-radius-2);
|
|
4352
|
-
background: var(--q1-color-bg-subtle);
|
|
4353
|
-
color: var(--q1-color-text-primary);
|
|
4354
|
-
font-size: 13px;
|
|
4355
|
-
cursor: pointer;
|
|
4356
|
-
}
|
|
4357
|
-
|
|
4358
|
-
.cal-inputs__apply:hover {
|
|
4359
|
-
border-color: var(--q1-color-border-strong);
|
|
4360
|
-
}
|
|
4361
|
-
|
|
4362
|
-
.cal-inputs__apply:disabled {
|
|
4363
|
-
border-color: var(--q1-color-border);
|
|
4364
|
-
color: var(--q1-color-text-muted);
|
|
4365
|
-
cursor: not-allowed;
|
|
4366
|
-
}
|
|
4367
|
-
|
|
4368
|
-
.cal-inputs__apply kbd {
|
|
4369
|
-
font-family: var(--q1-font-mono);
|
|
4370
|
-
font-size: 11px;
|
|
4371
|
-
color: var(--q1-color-text-muted);
|
|
4280
|
+
width: 100%;
|
|
4372
4281
|
}
|
|
4373
4282
|
|
|
4374
4283
|
.cal-inputs__tz {
|
|
@@ -4379,19 +4288,20 @@ a[href]:has(> .book):focus-visible {
|
|
|
4379
4288
|
border: none;
|
|
4380
4289
|
background: transparent;
|
|
4381
4290
|
color: var(--q1-color-text-muted);
|
|
4382
|
-
font-size:
|
|
4291
|
+
font-size: var(--q1-font-size-label-12);
|
|
4292
|
+
line-height: var(--q1-line-height-label-12);
|
|
4383
4293
|
cursor: default;
|
|
4384
4294
|
}
|
|
4385
4295
|
|
|
4386
4296
|
/* —— 日历网格 —— */
|
|
4387
4297
|
.calendar--large {
|
|
4388
|
-
--cal-cell:
|
|
4389
|
-
--cal-font:
|
|
4298
|
+
--cal-cell: calc(4 * var(--q1-space-16) / 7);
|
|
4299
|
+
--cal-font: var(--q1-font-size-label-14);
|
|
4390
4300
|
}
|
|
4391
4301
|
|
|
4392
4302
|
.calendar--small {
|
|
4393
|
-
--cal-cell:
|
|
4394
|
-
--cal-font:
|
|
4303
|
+
--cal-cell: var(--q1-space-8);
|
|
4304
|
+
--cal-font: var(--q1-font-size-label-13);
|
|
4395
4305
|
}
|
|
4396
4306
|
|
|
4397
4307
|
.calendar__header {
|
|
@@ -4402,7 +4312,8 @@ a[href]:has(> .book):focus-visible {
|
|
|
4402
4312
|
}
|
|
4403
4313
|
|
|
4404
4314
|
.calendar__month {
|
|
4405
|
-
font-size: var(--
|
|
4315
|
+
font-size: var(--q1-font-size-label-14);
|
|
4316
|
+
line-height: var(--q1-line-height-label-14);
|
|
4406
4317
|
font-weight: var(--q1-font-weight-medium);
|
|
4407
4318
|
color: var(--q1-color-text-primary);
|
|
4408
4319
|
}
|
|
@@ -4443,8 +4354,9 @@ a[href]:has(> .book):focus-visible {
|
|
|
4443
4354
|
.calendar__weekday {
|
|
4444
4355
|
display: grid;
|
|
4445
4356
|
place-items: center;
|
|
4446
|
-
font-size:
|
|
4447
|
-
|
|
4357
|
+
font-size: var(--q1-font-size-label-12);
|
|
4358
|
+
line-height: var(--q1-line-height-label-12);
|
|
4359
|
+
color: var(--q1-color-text-secondary);
|
|
4448
4360
|
}
|
|
4449
4361
|
|
|
4450
4362
|
.calendar__grid {
|
|
@@ -4476,13 +4388,15 @@ a[href]:has(> .book):focus-visible {
|
|
|
4476
4388
|
position: relative;
|
|
4477
4389
|
display: grid;
|
|
4478
4390
|
place-items: center;
|
|
4479
|
-
width: calc(var(--cal-cell) -
|
|
4480
|
-
height: calc(var(--cal-cell) -
|
|
4391
|
+
width: calc(var(--cal-cell) - var(--q1-space-1-5));
|
|
4392
|
+
height: calc(var(--cal-cell) - var(--q1-space-1-5));
|
|
4481
4393
|
border: 1px solid transparent;
|
|
4482
4394
|
border-radius: var(--q1-radius-2);
|
|
4483
4395
|
background: transparent;
|
|
4484
4396
|
color: var(--q1-color-text-primary);
|
|
4485
4397
|
font-size: var(--cal-font);
|
|
4398
|
+
font-weight: var(--q1-font-weight-regular);
|
|
4399
|
+
line-height: var(--q1-line-height-label-14);
|
|
4486
4400
|
cursor: pointer;
|
|
4487
4401
|
}
|
|
4488
4402
|
|
|
@@ -4536,8 +4450,9 @@ a[href]:has(> .book):focus-visible {
|
|
|
4536
4450
|
align-items: center;
|
|
4537
4451
|
gap: var(--q1-space-2);
|
|
4538
4452
|
min-width: 180px;
|
|
4539
|
-
|
|
4540
|
-
|
|
4453
|
+
/* 末尾 chevron 一侧收一档,抵消图标框自带空白。 */
|
|
4454
|
+
padding: var(--q1-space-2) var(--q1-space-2-5) var(--q1-space-2) var(--q1-space-3);
|
|
4455
|
+
border: calc(var(--q1-space-1) / 4) solid var(--q1-input-border, var(--q1-color-border-control));
|
|
4541
4456
|
border-radius: var(--q1-radius-2);
|
|
4542
4457
|
background: var(--q1-color-bg-panel);
|
|
4543
4458
|
color: var(--q1-color-text-primary);
|
|
@@ -4760,7 +4675,7 @@ a[href]:has(> .book):focus-visible {
|
|
|
4760
4675
|
border-radius: var(--q1-radius-2);
|
|
4761
4676
|
}
|
|
4762
4677
|
|
|
4763
|
-
.skeleton--pill { border-radius:
|
|
4678
|
+
.skeleton--pill { border-radius: var(--q1-radius-full); }
|
|
4764
4679
|
.skeleton--squared { border-radius: 0; }
|
|
4765
4680
|
|
|
4766
4681
|
.skeleton::before,
|
|
@@ -5237,7 +5152,6 @@ a[href]:has(> .book):focus-visible {
|
|
|
5237
5152
|
gap: var(--q1-space-2);
|
|
5238
5153
|
/* 图标没有文字基线,以底边参与对齐;下移使 16px 图标中心落在正文光学中心(13/14px 正文 3px,15px 正文 2px)。 */
|
|
5239
5154
|
--q1-note-icon-optical-y: 3px;
|
|
5240
|
-
max-width: 560px;
|
|
5241
5155
|
padding: var(--q1-space-3) var(--q1-space-4);
|
|
5242
5156
|
border: 1px solid var(--q1-color-border);
|
|
5243
5157
|
border-radius: var(--q1-radius-2);
|
|
@@ -5666,22 +5580,6 @@ a[href]:has(> .book):focus-visible {
|
|
|
5666
5580
|
margin-top: var(--q1-space-3);
|
|
5667
5581
|
}
|
|
5668
5582
|
|
|
5669
|
-
.error-card-retry-demo {
|
|
5670
|
-
display: grid;
|
|
5671
|
-
width: 100%;
|
|
5672
|
-
gap: var(--q1-space-3);
|
|
5673
|
-
}
|
|
5674
|
-
|
|
5675
|
-
.error-card-retry-demo > .button {
|
|
5676
|
-
justify-self: center;
|
|
5677
|
-
}
|
|
5678
|
-
|
|
5679
|
-
.error-card-retry-demo:focus-visible {
|
|
5680
|
-
border-radius: var(--q1-radius-3);
|
|
5681
|
-
outline: none;
|
|
5682
|
-
box-shadow: var(--q1-shadow-focus);
|
|
5683
|
-
}
|
|
5684
|
-
|
|
5685
5583
|
.context-card-wrap {
|
|
5686
5584
|
position: relative;
|
|
5687
5585
|
display: inline-block;
|
|
@@ -6268,8 +6166,10 @@ a.context-card__trigger {
|
|
|
6268
6166
|
border-color: transparent;
|
|
6269
6167
|
}
|
|
6270
6168
|
|
|
6271
|
-
/* 聚焦型账户入口:结构固定,文案与副作用由消费方控制。
|
|
6169
|
+
/* 聚焦型账户入口:结构固定,文案与副作用由消费方控制。
|
|
6170
|
+
账户入口域:颜色只取 auth 域色板,不与中性链混用。 */
|
|
6272
6171
|
.auth-card {
|
|
6172
|
+
background: var(--q1-color-auth-surface-card);
|
|
6273
6173
|
display: grid;
|
|
6274
6174
|
gap: 0;
|
|
6275
6175
|
grid-template-rows: minmax(0, 1fr) auto;
|
|
@@ -6286,7 +6186,7 @@ a.context-card__trigger {
|
|
|
6286
6186
|
}
|
|
6287
6187
|
|
|
6288
6188
|
.auth-card__copy h1 {
|
|
6289
|
-
color: var(--q1-color-text-primary);
|
|
6189
|
+
color: var(--q1-color-auth-text-primary);
|
|
6290
6190
|
font-size: var(--q1-font-size-heading-24);
|
|
6291
6191
|
font-weight: var(--q1-font-weight-heading-24);
|
|
6292
6192
|
letter-spacing: -0.025em;
|
|
@@ -6295,7 +6195,7 @@ a.context-card__trigger {
|
|
|
6295
6195
|
}
|
|
6296
6196
|
|
|
6297
6197
|
.auth-card__copy p {
|
|
6298
|
-
color: var(--q1-color-text-secondary);
|
|
6198
|
+
color: var(--q1-color-auth-text-secondary);
|
|
6299
6199
|
font-size: var(--q1-font-size-copy-14);
|
|
6300
6200
|
line-height: 1.6;
|
|
6301
6201
|
margin-top: var(--q1-space-4);
|
|
@@ -6303,7 +6203,7 @@ a.context-card__trigger {
|
|
|
6303
6203
|
}
|
|
6304
6204
|
|
|
6305
6205
|
.auth-card__actions {
|
|
6306
|
-
border-top: 1px solid var(--q1-color-border);
|
|
6206
|
+
border-top: 1px solid var(--q1-color-auth-border-strong);
|
|
6307
6207
|
display: grid;
|
|
6308
6208
|
padding-top: var(--q1-space-6);
|
|
6309
6209
|
width: 100%;
|
|
@@ -6655,9 +6555,10 @@ a.q1-card:focus-visible {
|
|
|
6655
6555
|
align-items: center;
|
|
6656
6556
|
gap: var(--q1-space-1);
|
|
6657
6557
|
min-height: 32px;
|
|
6658
|
-
|
|
6558
|
+
/* 末尾 chevron 的 16px 图标框自带约 3px 空白,结束侧收一档,左右视觉留白对称。 */
|
|
6559
|
+
padding: 0 var(--q1-space-2-5) 0 var(--q1-space-3);
|
|
6659
6560
|
border: 1px solid var(--q1-color-border);
|
|
6660
|
-
border-radius:
|
|
6561
|
+
border-radius: var(--q1-radius-full);
|
|
6661
6562
|
background: var(--q1-color-bg-panel);
|
|
6662
6563
|
font-size: var(--q1-font-size-label-14);
|
|
6663
6564
|
font-weight: var(--q1-font-weight-medium);
|
|
@@ -6992,7 +6893,7 @@ a.q1-card:focus-visible {
|
|
|
6992
6893
|
position: relative;
|
|
6993
6894
|
flex: none;
|
|
6994
6895
|
display: inline-block;
|
|
6995
|
-
border-radius:
|
|
6896
|
+
border-radius: var(--q1-radius-full);
|
|
6996
6897
|
background: var(--q1-color-gray-400);
|
|
6997
6898
|
border: 0;
|
|
6998
6899
|
transform: scale(1);
|
|
@@ -7204,7 +7105,7 @@ a.q1-card:focus-visible {
|
|
|
7204
7105
|
color: var(--q1-color-text-muted);
|
|
7205
7106
|
text-align: center;
|
|
7206
7107
|
}
|
|
7207
|
-
@media (pointer: coarse) {
|
|
7108
|
+
@media (pointer: coarse), (any-pointer: coarse) {
|
|
7208
7109
|
.pagination__button {
|
|
7209
7110
|
min-width: 44px;
|
|
7210
7111
|
min-height: 44px;
|
|
@@ -7241,7 +7142,9 @@ a.q1-card:focus-visible {
|
|
|
7241
7142
|
display: none;
|
|
7242
7143
|
}
|
|
7243
7144
|
|
|
7244
|
-
/*
|
|
7145
|
+
/* 文档顺序导航:裸轨,无外框/背景。标签与标题行贴齐所在内容列的左右边缘:
|
|
7146
|
+
链接保留内边距承载焦点环,再以等量负外边距外挂,文字不因内边距内缩;
|
|
7147
|
+
箭头与标题同处一行,朝外一侧的图标留白以负外边距抵消,使箭头笔画与标签边缘光学对齐。 */
|
|
7245
7148
|
.docs-pagination {
|
|
7246
7149
|
display: flex;
|
|
7247
7150
|
flex-wrap: wrap;
|
|
@@ -7256,11 +7159,11 @@ a.q1-card:focus-visible {
|
|
|
7256
7159
|
text-decoration: none;
|
|
7257
7160
|
}
|
|
7258
7161
|
.docs-pagination__link--prev {
|
|
7259
|
-
|
|
7162
|
+
margin-left: calc(var(--q1-space-2) * -1);
|
|
7260
7163
|
}
|
|
7261
7164
|
.docs-pagination__link--next {
|
|
7262
|
-
padding-right: 28px;
|
|
7263
7165
|
margin-left: auto;
|
|
7166
|
+
margin-right: calc(var(--q1-space-2) * -1);
|
|
7264
7167
|
text-align: right;
|
|
7265
7168
|
}
|
|
7266
7169
|
.docs-pagination__link:focus-visible {
|
|
@@ -7277,12 +7180,13 @@ a.q1-card:focus-visible {
|
|
|
7277
7180
|
color: var(--q1-color-text-primary);
|
|
7278
7181
|
}
|
|
7279
7182
|
.docs-pagination__title-frame {
|
|
7280
|
-
|
|
7281
|
-
|
|
7183
|
+
display: inline-flex;
|
|
7184
|
+
align-items: center;
|
|
7282
7185
|
max-width: 20em;
|
|
7283
7186
|
}
|
|
7284
7187
|
.docs-pagination__title {
|
|
7285
7188
|
display: block;
|
|
7189
|
+
min-width: 0;
|
|
7286
7190
|
overflow: hidden;
|
|
7287
7191
|
white-space: nowrap;
|
|
7288
7192
|
text-overflow: ellipsis;
|
|
@@ -7292,16 +7196,17 @@ a.q1-card:focus-visible {
|
|
|
7292
7196
|
color: var(--q1-color-text-primary);
|
|
7293
7197
|
}
|
|
7294
7198
|
.docs-pagination__chevron-slot {
|
|
7295
|
-
position: absolute;
|
|
7296
|
-
top: 2px;
|
|
7297
7199
|
display: block;
|
|
7200
|
+
flex: none;
|
|
7298
7201
|
color: var(--q1-color-text-secondary);
|
|
7299
7202
|
}
|
|
7203
|
+
/* 20px 箭头图标朝外一侧约 6.7px 留白,抵消 6px 后笔画与标签边缘对齐(误差小于 1px)。 */
|
|
7300
7204
|
.docs-pagination__link--prev .docs-pagination__chevron-slot {
|
|
7301
|
-
|
|
7205
|
+
order: -1;
|
|
7206
|
+
margin-left: calc(var(--q1-space-1) * -1.5);
|
|
7302
7207
|
}
|
|
7303
7208
|
.docs-pagination__link--next .docs-pagination__chevron-slot {
|
|
7304
|
-
right: -
|
|
7209
|
+
margin-right: calc(var(--q1-space-1) * -1.5);
|
|
7305
7210
|
}
|
|
7306
7211
|
.docs-pagination__link:hover .docs-pagination__chevron-slot {
|
|
7307
7212
|
color: var(--q1-color-text-primary);
|
|
@@ -7314,6 +7219,14 @@ a.q1-card:focus-visible {
|
|
|
7314
7219
|
.docs-pagination__slot {
|
|
7315
7220
|
display: block;
|
|
7316
7221
|
}
|
|
7222
|
+
/* 中间插槽:位于上一页与下一页之间,两侧自动留白使其居中,宽度由内容决定。 */
|
|
7223
|
+
.docs-pagination__middle {
|
|
7224
|
+
align-self: center;
|
|
7225
|
+
margin-inline: auto;
|
|
7226
|
+
}
|
|
7227
|
+
.docs-pagination__middle + .docs-pagination__link--next {
|
|
7228
|
+
margin-left: 0;
|
|
7229
|
+
}
|
|
7317
7230
|
.scroller {
|
|
7318
7231
|
border: 1px solid var(--q1-color-border);
|
|
7319
7232
|
border-radius: var(--q1-radius-3);
|
|
@@ -7481,7 +7394,7 @@ a.q1-card:focus-visible {
|
|
|
7481
7394
|
margin: 0;
|
|
7482
7395
|
padding: 0;
|
|
7483
7396
|
border: 1px solid var(--q1-color-border);
|
|
7484
|
-
border-radius:
|
|
7397
|
+
border-radius: var(--q1-radius-full);
|
|
7485
7398
|
background: var(--q1-color-bg-panel);
|
|
7486
7399
|
}
|
|
7487
7400
|
.theme-switcher__option {
|
|
@@ -7489,7 +7402,7 @@ a.q1-card:focus-visible {
|
|
|
7489
7402
|
place-items: center;
|
|
7490
7403
|
width: 32px;
|
|
7491
7404
|
height: 32px;
|
|
7492
|
-
border-radius:
|
|
7405
|
+
border-radius: var(--q1-radius-full);
|
|
7493
7406
|
color: var(--q1-color-text-secondary);
|
|
7494
7407
|
cursor: pointer;
|
|
7495
7408
|
}
|
|
@@ -7557,14 +7470,14 @@ a.q1-card:focus-visible {
|
|
|
7557
7470
|
transform: translateX(-50%);
|
|
7558
7471
|
width: 30%;
|
|
7559
7472
|
height: 27px;
|
|
7560
|
-
border-radius:
|
|
7473
|
+
border-radius: var(--q1-radius-full);
|
|
7561
7474
|
background: oklch(0 0 0);
|
|
7562
7475
|
z-index: 2;
|
|
7563
7476
|
}
|
|
7564
7477
|
.phone__btn {
|
|
7565
7478
|
position: absolute;
|
|
7566
7479
|
width: 2px;
|
|
7567
|
-
border-radius:
|
|
7480
|
+
border-radius: var(--q1-radius-full);
|
|
7568
7481
|
background: oklch(0.32 0 0);
|
|
7569
7482
|
}
|
|
7570
7483
|
/* q1-lint-enable Q1-DS-501 */
|
|
@@ -7609,7 +7522,7 @@ a.q1-card:focus-visible {
|
|
|
7609
7522
|
transform: translateX(-50%);
|
|
7610
7523
|
width: 34%;
|
|
7611
7524
|
height: 4px;
|
|
7612
|
-
border-radius:
|
|
7525
|
+
border-radius: var(--q1-radius-full);
|
|
7613
7526
|
background: var(--q1-color-text-primary);
|
|
7614
7527
|
z-index: 2;
|
|
7615
7528
|
}
|
|
@@ -7942,12 +7855,12 @@ a.q1-card:focus-visible {
|
|
|
7942
7855
|
}
|
|
7943
7856
|
.slider-input::-webkit-slider-runnable-track {
|
|
7944
7857
|
height: 8px;
|
|
7945
|
-
border-radius:
|
|
7858
|
+
border-radius: var(--q1-radius-full);
|
|
7946
7859
|
background: var(--q1-color-bg-subtle);
|
|
7947
7860
|
}
|
|
7948
7861
|
.slider-input::-moz-range-track {
|
|
7949
7862
|
height: 8px;
|
|
7950
|
-
border-radius:
|
|
7863
|
+
border-radius: var(--q1-radius-full);
|
|
7951
7864
|
background: var(--q1-color-bg-subtle);
|
|
7952
7865
|
}
|
|
7953
7866
|
/* 竖条拇指:6×14 白色小竖条 + 定义环;action-on-primary 两主题恒白(拇指骑在 primary 填充上)。 */
|
|
@@ -8097,7 +8010,7 @@ a.q1-card:focus-visible {
|
|
|
8097
8010
|
left: 0;
|
|
8098
8011
|
right: 0;
|
|
8099
8012
|
height: 8px;
|
|
8100
|
-
border-radius:
|
|
8013
|
+
border-radius: var(--q1-radius-full);
|
|
8101
8014
|
background: var(--q1-color-bg-subtle);
|
|
8102
8015
|
transform: translateY(-50%);
|
|
8103
8016
|
}
|
|
@@ -8107,7 +8020,7 @@ a.q1-card:focus-visible {
|
|
|
8107
8020
|
left: var(--low);
|
|
8108
8021
|
right: calc(100% - var(--high));
|
|
8109
8022
|
height: 8px;
|
|
8110
|
-
border-radius:
|
|
8023
|
+
border-radius: var(--q1-radius-full);
|
|
8111
8024
|
background: var(--q1-color-action-primary);
|
|
8112
8025
|
transform: translateY(-50%);
|
|
8113
8026
|
}
|
|
@@ -8279,20 +8192,26 @@ a.q1-card:focus-visible {
|
|
|
8279
8192
|
.split-button__icon--loading {
|
|
8280
8193
|
visibility: hidden;
|
|
8281
8194
|
}
|
|
8282
|
-
/*
|
|
8195
|
+
/* 变体:default 是浅灰底 + border-strong 外框,分割线与外框同为 border-strong,在浅灰底上保持清晰;
|
|
8196
|
+
secondary 是面板底 + 与 Button 次要档一致的 border 外框,分割线与外框同色同粗,强调层级低于 default。 */
|
|
8283
8197
|
.split-button--default .split-button__primary,
|
|
8284
8198
|
.split-button--default .split-button__toggle {
|
|
8285
8199
|
background: var(--q1-color-bg-subtle);
|
|
8286
8200
|
}
|
|
8287
8201
|
.split-button--secondary .split-button__primary,
|
|
8288
8202
|
.split-button--secondary .split-button__toggle {
|
|
8203
|
+
border-color: var(--q1-color-border);
|
|
8289
8204
|
background: var(--q1-color-bg-panel);
|
|
8290
8205
|
}
|
|
8291
8206
|
@media (hover: hover) and (pointer: fine) {
|
|
8292
|
-
.split-button__primary:hover:not(:disabled, [aria-disabled='true']),
|
|
8293
|
-
.split-button__toggle:hover:not(:disabled, [aria-disabled='true']) {
|
|
8207
|
+
.split-button--default .split-button__primary:hover:not(:disabled, [aria-disabled='true']),
|
|
8208
|
+
.split-button--default .split-button__toggle:hover:not(:disabled, [aria-disabled='true']) {
|
|
8294
8209
|
background: color-mix(in srgb, var(--q1-color-text-primary) 7%, transparent);
|
|
8295
8210
|
}
|
|
8211
|
+
.split-button--secondary .split-button__primary:hover:not(:disabled, [aria-disabled='true']),
|
|
8212
|
+
.split-button--secondary .split-button__toggle:hover:not(:disabled, [aria-disabled='true']) {
|
|
8213
|
+
background: var(--q1-color-bg-hover);
|
|
8214
|
+
}
|
|
8296
8215
|
}
|
|
8297
8216
|
.split-button__primary:disabled,
|
|
8298
8217
|
.split-button__toggle:disabled {
|
|
@@ -8409,7 +8328,8 @@ a.q1-card:focus-visible {
|
|
|
8409
8328
|
/* md 默认 40px,与家族刻度 sm32/md40/lg48(Input/Select/Button 同体系)一致。 */
|
|
8410
8329
|
min-height: 40px;
|
|
8411
8330
|
padding: 0 var(--q1-space-3);
|
|
8412
|
-
|
|
8331
|
+
/* 与 Input(.form-control / .input-control)同走控件边界角色,同一表单里边框深浅一致。 */
|
|
8332
|
+
border: 1px solid var(--q1-color-border-control);
|
|
8413
8333
|
border-radius: var(--q1-radius-2);
|
|
8414
8334
|
background: var(--q1-color-bg-sunken);
|
|
8415
8335
|
}
|
|
@@ -8428,6 +8348,12 @@ a.q1-card:focus-visible {
|
|
|
8428
8348
|
font-size: var(--q1-font-size-copy-16);
|
|
8429
8349
|
line-height: var(--q1-line-height-heading-16);
|
|
8430
8350
|
}
|
|
8351
|
+
/* 悬停加深与 Input(.input-control:hover)同档同条件;聚焦、禁用、错误态不加深。 */
|
|
8352
|
+
.combobox__control:hover:not(:focus-within):not(:has(:disabled, [aria-invalid='true'])):not(.combobox--error .combobox__control):not(
|
|
8353
|
+
.combobox--disabled .combobox__control
|
|
8354
|
+
) {
|
|
8355
|
+
border-color: var(--q1-color-gray-800);
|
|
8356
|
+
}
|
|
8431
8357
|
.combobox__control:has(.combobox__input:focus) {
|
|
8432
8358
|
box-shadow: var(--q1-shadow-focus-input);
|
|
8433
8359
|
}
|
|
@@ -8580,8 +8506,9 @@ a.q1-card:focus-visible {
|
|
|
8580
8506
|
justify-content: space-between;
|
|
8581
8507
|
gap: var(--q1-space-3);
|
|
8582
8508
|
min-width: 200px;
|
|
8583
|
-
|
|
8584
|
-
|
|
8509
|
+
/* 末尾 chevron 一侧收一档,抵消图标框自带空白。 */
|
|
8510
|
+
padding: var(--q1-space-2) var(--q1-space-2-5) var(--q1-space-2) var(--q1-space-3);
|
|
8511
|
+
border: 1px solid var(--q1-color-border-control);
|
|
8585
8512
|
border-radius: var(--q1-radius-2);
|
|
8586
8513
|
background: var(--q1-color-bg-sunken);
|
|
8587
8514
|
color: var(--q1-color-text-primary);
|
|
@@ -8766,13 +8693,15 @@ a.q1-card:focus-visible {
|
|
|
8766
8693
|
display: flex;
|
|
8767
8694
|
align-items: flex-start;
|
|
8768
8695
|
justify-content: center;
|
|
8769
|
-
|
|
8696
|
+
/* 面板落在视口上部约 18% 处、不贴顶:上限 144px(1.5 × space-24),矮视口按比例收紧。 */
|
|
8697
|
+
--search-dialog-offset-top: min(18vh, calc(var(--q1-space-24) * 1.5));
|
|
8698
|
+
padding: var(--search-dialog-offset-top) var(--q1-space-4) var(--q1-space-4);
|
|
8770
8699
|
}
|
|
8700
|
+
/* 遮罩颜色与 Modal 同源,见 overlay-surfaces.css:浅色为白纱,暗色压暗。 */
|
|
8771
8701
|
.search-dialog__backdrop {
|
|
8772
8702
|
position: absolute;
|
|
8773
8703
|
inset: 0;
|
|
8774
8704
|
border: 0;
|
|
8775
|
-
background: color-mix(in srgb, var(--q1-color-shadow) 45%, transparent);
|
|
8776
8705
|
cursor: default;
|
|
8777
8706
|
}
|
|
8778
8707
|
.search-dialog__panel {
|
|
@@ -8780,37 +8709,33 @@ a.q1-card:focus-visible {
|
|
|
8780
8709
|
display: flex;
|
|
8781
8710
|
flex-direction: column;
|
|
8782
8711
|
width: min(640px, calc(100vw - 2 * var(--q1-space-4)));
|
|
8783
|
-
max-height: calc(100dvh -
|
|
8712
|
+
max-height: calc(100dvh - var(--search-dialog-offset-top) - var(--q1-space-4));
|
|
8784
8713
|
overflow: hidden;
|
|
8785
8714
|
border-radius: var(--q1-radius-4);
|
|
8786
8715
|
background: var(--q1-color-bg-raised);
|
|
8787
8716
|
box-shadow: var(--q1-shadow-modal);
|
|
8788
8717
|
}
|
|
8718
|
+
/* 融合式输入:输入框不加描边与焦点环,和弹层头部连成一体,下方一条分隔线;
|
|
8719
|
+
焦点由插入光标与模态弹层本身表达(打开即聚焦输入框)。 */
|
|
8789
8720
|
.search-dialog__search {
|
|
8790
8721
|
display: flex;
|
|
8791
8722
|
flex: none;
|
|
8792
8723
|
align-items: center;
|
|
8793
8724
|
gap: var(--q1-space-3);
|
|
8794
|
-
padding: var(--q1-space-3) var(--q1-space-4);
|
|
8725
|
+
padding: var(--q1-space-2) var(--q1-space-3) var(--q1-space-2) var(--q1-space-4);
|
|
8795
8726
|
border-bottom: 1px solid var(--q1-color-border);
|
|
8796
8727
|
}
|
|
8797
8728
|
.search-dialog__field {
|
|
8798
8729
|
display: flex;
|
|
8799
8730
|
min-width: 0;
|
|
8800
|
-
min-height:
|
|
8731
|
+
min-height: var(--q1-space-10);
|
|
8801
8732
|
flex: 1 1 auto;
|
|
8802
8733
|
align-items: center;
|
|
8803
|
-
gap: var(--q1-space-
|
|
8804
|
-
padding-inline: var(--q1-space-3);
|
|
8805
|
-
border-radius: var(--q1-radius-2);
|
|
8734
|
+
gap: var(--q1-space-3);
|
|
8806
8735
|
color: var(--q1-color-text-secondary);
|
|
8807
8736
|
}
|
|
8808
|
-
.search-dialog__field:focus-within {
|
|
8809
|
-
box-shadow: var(--q1-shadow-focus-input);
|
|
8810
|
-
}
|
|
8811
8737
|
.search-dialog__input {
|
|
8812
8738
|
min-width: 0;
|
|
8813
|
-
min-height: 44px;
|
|
8814
8739
|
flex: 1 1 auto;
|
|
8815
8740
|
padding: 0;
|
|
8816
8741
|
border: 0;
|
|
@@ -8823,18 +8748,20 @@ a.q1-card:focus-visible {
|
|
|
8823
8748
|
outline: none;
|
|
8824
8749
|
box-shadow: none;
|
|
8825
8750
|
}
|
|
8751
|
+
/* 关闭入口以 Esc 键帽呈现:键盘优先、视觉更轻;粗指针下由 TouchTarget 扩展到 44px 命中区。 */
|
|
8826
8752
|
.search-dialog__close {
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
height: 44px;
|
|
8753
|
+
position: relative;
|
|
8754
|
+
display: inline-flex;
|
|
8830
8755
|
flex: none;
|
|
8831
|
-
|
|
8756
|
+
align-items: center;
|
|
8757
|
+
padding: 0;
|
|
8832
8758
|
border: 0;
|
|
8833
|
-
border-radius: var(--q1-radius-
|
|
8759
|
+
border-radius: var(--q1-radius-1);
|
|
8834
8760
|
background: transparent;
|
|
8835
8761
|
color: var(--q1-color-text-secondary);
|
|
8836
8762
|
cursor: pointer;
|
|
8837
8763
|
transition: transform var(--q1-duration-press) var(--q1-ease-out);
|
|
8764
|
+
--touch-target-border-width: 0px;
|
|
8838
8765
|
}
|
|
8839
8766
|
.search-dialog__close:focus-visible,
|
|
8840
8767
|
.search-dialog__clear:focus-visible,
|
|
@@ -8865,7 +8792,7 @@ a.q1-card:focus-visible {
|
|
|
8865
8792
|
isolation: isolate;
|
|
8866
8793
|
display: flex;
|
|
8867
8794
|
width: 100%;
|
|
8868
|
-
min-height:
|
|
8795
|
+
min-height: calc(var(--q1-space-8) + var(--q1-space-1));
|
|
8869
8796
|
flex-direction: column;
|
|
8870
8797
|
justify-content: center;
|
|
8871
8798
|
gap: 0;
|
|
@@ -8896,11 +8823,10 @@ a.q1-card:focus-visible {
|
|
|
8896
8823
|
background: var(--q1-color-bg-subtle);
|
|
8897
8824
|
}
|
|
8898
8825
|
@media (hover: hover) and (pointer: fine) {
|
|
8899
|
-
.search-dialog__close:hover,
|
|
8900
8826
|
.search-dialog__clear:hover {
|
|
8901
8827
|
background: var(--q1-color-bg-subtle);
|
|
8902
8828
|
}
|
|
8903
|
-
.search-dialog__close:hover {
|
|
8829
|
+
.search-dialog__close:hover .q1-kbd {
|
|
8904
8830
|
color: var(--q1-color-text-primary);
|
|
8905
8831
|
}
|
|
8906
8832
|
.search-dialog__body[data-search-dialog-pointer-navigation='true'] .search-dialog__option:hover:not(:disabled) {
|
|
@@ -8926,6 +8852,20 @@ a.q1-card:focus-visible {
|
|
|
8926
8852
|
font-size: var(--q1-font-size-label-13);
|
|
8927
8853
|
line-height: var(--q1-line-height-label-13);
|
|
8928
8854
|
}
|
|
8855
|
+
/* 当前项:右侧勾选标记,与键盘活动项的底色高亮相互独立;标记不进入可访问名称,语义由 aria-current 提供。 */
|
|
8856
|
+
.search-dialog__option[aria-current] {
|
|
8857
|
+
padding-inline-end: calc(var(--q1-space-2) + var(--q1-space-4) + var(--q1-space-2));
|
|
8858
|
+
}
|
|
8859
|
+
.search-dialog__option-current {
|
|
8860
|
+
position: absolute;
|
|
8861
|
+
z-index: 1;
|
|
8862
|
+
top: 50%;
|
|
8863
|
+
right: var(--q1-space-2);
|
|
8864
|
+
width: var(--q1-space-4);
|
|
8865
|
+
height: var(--q1-space-4);
|
|
8866
|
+
color: var(--q1-color-text-primary);
|
|
8867
|
+
translate: 0 -50%;
|
|
8868
|
+
}
|
|
8929
8869
|
.search-dialog__empty {
|
|
8930
8870
|
display: grid;
|
|
8931
8871
|
justify-items: center;
|
|
@@ -8948,12 +8888,17 @@ a.q1-card:focus-visible {
|
|
|
8948
8888
|
cursor: pointer;
|
|
8949
8889
|
transition: transform var(--q1-duration-press) var(--q1-ease-out);
|
|
8950
8890
|
}
|
|
8891
|
+
/* 粗指针:输入行与结果行回到 44px 触控高度。 */
|
|
8892
|
+
@media (pointer: coarse), (any-pointer: coarse) {
|
|
8893
|
+
.search-dialog__field,
|
|
8894
|
+
.search-dialog__option {
|
|
8895
|
+
min-height: var(--q1-touch-target-min);
|
|
8896
|
+
}
|
|
8897
|
+
}
|
|
8898
|
+
/* 窄屏:软键盘会占去下半屏,面板贴近顶部,把高度留给结果列表。 */
|
|
8951
8899
|
@media (max-width: 480px) {
|
|
8952
8900
|
.search-dialog {
|
|
8953
|
-
|
|
8954
|
-
}
|
|
8955
|
-
.search-dialog__panel {
|
|
8956
|
-
max-height: calc(100dvh - 2 * var(--q1-space-4));
|
|
8901
|
+
--search-dialog-offset-top: var(--q1-space-4);
|
|
8957
8902
|
}
|
|
8958
8903
|
.search-dialog__trigger-control {
|
|
8959
8904
|
min-width: 44px;
|
|
@@ -9013,25 +8958,15 @@ a.q1-card:focus-visible {
|
|
|
9013
8958
|
color: var(--q1-color-text-muted);
|
|
9014
8959
|
background: transparent;
|
|
9015
8960
|
}
|
|
9016
|
-
.modal-btn--primary {
|
|
9017
|
-
border-color: var(--q1-color-action-primary);
|
|
9018
|
-
background: var(--q1-color-action-primary);
|
|
9019
|
-
color: var(--q1-color-action-on-primary);
|
|
9020
|
-
}
|
|
9021
|
-
.modal-btn--primary:hover {
|
|
9022
|
-
background: var(--q1-color-action-primary-hover, var(--q1-color-action-primary));
|
|
9023
|
-
}
|
|
9024
8961
|
/* 禁用主按钮。这是实心 CTA 按钮,
|
|
9025
8962
|
沿用 Input/Select 已建立的「底色抬灰」表单控件禁用配方,而非 Radio 的描边控件配方——
|
|
9026
8963
|
gray-500 实底配 bg-canvas 字在暗色主题对比度不足,bg-subtle + text-muted 双主题都可读。 */
|
|
9027
|
-
.modal-btn--primary:disabled,
|
|
9028
8964
|
.modal-btn--danger:disabled {
|
|
9029
8965
|
border-color: var(--q1-color-border);
|
|
9030
8966
|
background: var(--q1-color-bg-subtle);
|
|
9031
8967
|
color: var(--q1-color-text-muted);
|
|
9032
8968
|
cursor: not-allowed;
|
|
9033
8969
|
}
|
|
9034
|
-
.modal-btn--primary:disabled:hover,
|
|
9035
8970
|
.modal-btn--danger:disabled:hover {
|
|
9036
8971
|
background: var(--q1-color-bg-subtle);
|
|
9037
8972
|
}
|
|
@@ -9250,7 +9185,7 @@ a.q1-card:focus-visible {
|
|
|
9250
9185
|
.drawer__grabber {
|
|
9251
9186
|
width: 36px;
|
|
9252
9187
|
height: 4px;
|
|
9253
|
-
border-radius:
|
|
9188
|
+
border-radius: var(--q1-radius-full);
|
|
9254
9189
|
background: var(--q1-color-border-strong);
|
|
9255
9190
|
}
|
|
9256
9191
|
.drawer__title {
|
|
@@ -9847,12 +9782,14 @@ a.q1-card:focus-visible {
|
|
|
9847
9782
|
padding: 0 var(--q1-space-2);
|
|
9848
9783
|
}
|
|
9849
9784
|
|
|
9785
|
+
/* 分区标题比条目小一档、加粗,并取主文字色:条目默认为次级文字色,标题若同为次级色,
|
|
9786
|
+
层级只剩字重差,扫读时容易和条目混在一起。 */
|
|
9850
9787
|
.q1-navigation__section-heading {
|
|
9851
9788
|
flex: 1 1 auto;
|
|
9852
9789
|
min-width: 0;
|
|
9853
9790
|
overflow: hidden;
|
|
9854
9791
|
margin: 0;
|
|
9855
|
-
color: var(--q1-color-text-
|
|
9792
|
+
color: var(--q1-color-text-primary);
|
|
9856
9793
|
font-size: var(--q1-font-size-label-13);
|
|
9857
9794
|
font-weight: var(--q1-font-weight-semibold);
|
|
9858
9795
|
line-height: var(--q1-line-height-label-13);
|
|
@@ -9945,7 +9882,7 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
9945
9882
|
width: 16px;
|
|
9946
9883
|
height: 16px;
|
|
9947
9884
|
stroke: currentColor;
|
|
9948
|
-
stroke-width:
|
|
9885
|
+
stroke-width: 2;
|
|
9949
9886
|
translate: 0 var(--q1-optical-icon-shift-cjk-label);
|
|
9950
9887
|
}
|
|
9951
9888
|
|
|
@@ -10175,7 +10112,8 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
10175
10112
|
border: 1px solid var(--q1-color-border);
|
|
10176
10113
|
border-radius: var(--q1-radius-3);
|
|
10177
10114
|
background: var(--q1-color-bg-panel);
|
|
10178
|
-
|
|
10115
|
+
/* 末尾 chevron 一侧收一档,抵消图标框自带空白。 */
|
|
10116
|
+
padding: var(--q1-space-1) var(--q1-space-1) var(--q1-space-1) var(--q1-space-2);
|
|
10179
10117
|
color: var(--q1-color-text-primary);
|
|
10180
10118
|
font: inherit;
|
|
10181
10119
|
text-align: start;
|
|
@@ -10825,12 +10763,6 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
10825
10763
|
display: block;
|
|
10826
10764
|
margin-left: 0.4em;
|
|
10827
10765
|
}
|
|
10828
|
-
.json-view-boundary-stack {
|
|
10829
|
-
display: grid;
|
|
10830
|
-
min-width: 0;
|
|
10831
|
-
gap: var(--q1-space-3);
|
|
10832
|
-
}
|
|
10833
|
-
|
|
10834
10766
|
@media (pointer: coarse), (any-pointer: coarse) {
|
|
10835
10767
|
.q1-json-view__summary {
|
|
10836
10768
|
box-sizing: border-box;
|
|
@@ -11132,8 +11064,7 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11132
11064
|
.search-dialog__input:focus-visible,
|
|
11133
11065
|
.command-palette .command-palette__search input:focus,
|
|
11134
11066
|
.control-option:has(input:focus-visible) .control-option__visual,
|
|
11135
|
-
.theme-switcher__option:has(input:focus-visible)
|
|
11136
|
-
.radio-headless-card:has(input:focus-visible) {
|
|
11067
|
+
.theme-switcher__option:has(input:focus-visible) {
|
|
11137
11068
|
outline: 2px solid Highlight;
|
|
11138
11069
|
outline-offset: 2px;
|
|
11139
11070
|
}
|
|
@@ -11343,7 +11274,6 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11343
11274
|
|
|
11344
11275
|
.cal-field__clear:focus-visible,
|
|
11345
11276
|
.cal-field__caret:focus-visible,
|
|
11346
|
-
.cal-inputs__apply:focus-visible,
|
|
11347
11277
|
.cal-period__option:focus-visible {
|
|
11348
11278
|
outline: none;
|
|
11349
11279
|
box-shadow: var(--q1-shadow-focus);
|
|
@@ -11374,6 +11304,26 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11374
11304
|
font-weight: var(--q1-font-weight-medium);
|
|
11375
11305
|
}
|
|
11376
11306
|
|
|
11307
|
+
.calendar {
|
|
11308
|
+
flex: none;
|
|
11309
|
+
}
|
|
11310
|
+
|
|
11311
|
+
.cal-popover--vertical > .calendar {
|
|
11312
|
+
align-self: center;
|
|
11313
|
+
}
|
|
11314
|
+
|
|
11315
|
+
.cal-popover--vertical > .calendar--large {
|
|
11316
|
+
width: 100%;
|
|
11317
|
+
}
|
|
11318
|
+
|
|
11319
|
+
.cal-popover--vertical .calendar--large .calendar__grid {
|
|
11320
|
+
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
11321
|
+
}
|
|
11322
|
+
|
|
11323
|
+
.cal-popover--vertical .calendar--large .calendar__cell {
|
|
11324
|
+
width: 100%;
|
|
11325
|
+
}
|
|
11326
|
+
|
|
11377
11327
|
.cal-popover {
|
|
11378
11328
|
box-sizing: border-box;
|
|
11379
11329
|
max-width: calc(100vw - var(--q1-space-2));
|
|
@@ -11443,6 +11393,10 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11443
11393
|
}
|
|
11444
11394
|
|
|
11445
11395
|
@media (pointer: coarse), (any-pointer: coarse) {
|
|
11396
|
+
.cal-popover--vertical {
|
|
11397
|
+
width: calc(7 * var(--q1-touch-target-min) + 2 * var(--q1-space-3));
|
|
11398
|
+
}
|
|
11399
|
+
|
|
11446
11400
|
.cal-inputs__apply,
|
|
11447
11401
|
.cal-period__trigger,
|
|
11448
11402
|
.cal-period__option {
|
|
@@ -11467,21 +11421,94 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11467
11421
|
}
|
|
11468
11422
|
}
|
|
11469
11423
|
|
|
11470
|
-
|
|
11424
|
+
.cal-field__control:has(.cal-field__trigger[aria-invalid='true']:not(:disabled)) {
|
|
11425
|
+
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-color-status-danger);
|
|
11426
|
+
}
|
|
11427
|
+
|
|
11428
|
+
.cal-field__clear:disabled {
|
|
11429
|
+
color: var(--q1-color-text-muted);
|
|
11430
|
+
cursor: not-allowed;
|
|
11431
|
+
}
|
|
11432
|
+
|
|
11433
|
+
.sheet__panel:has(.cal-sheet) {
|
|
11434
|
+
overflow-y: auto;
|
|
11435
|
+
}
|
|
11436
|
+
|
|
11437
|
+
.sheet__panel:has(.cal-sheet) > .sheet__body {
|
|
11438
|
+
flex: none;
|
|
11439
|
+
overflow: visible;
|
|
11440
|
+
padding: var(--q1-space-2);
|
|
11441
|
+
}
|
|
11442
|
+
|
|
11443
|
+
.cal-sheet {
|
|
11444
|
+
display: flex;
|
|
11445
|
+
flex-direction: column;
|
|
11446
|
+
align-items: center;
|
|
11447
|
+
gap: var(--q1-space-4);
|
|
11448
|
+
}
|
|
11449
|
+
|
|
11450
|
+
.cal-field__control:has(.cal-field__trigger[aria-invalid='true']:not(:disabled)):focus-within {
|
|
11451
|
+
box-shadow: var(--q1-shadow-focus-input-danger);
|
|
11452
|
+
}
|
|
11453
|
+
|
|
11454
|
+
/* 日期与时间复用 Input 的 sm 档,日期填满时间框以外的行宽。 */
|
|
11471
11455
|
.cal-time-input {
|
|
11472
11456
|
flex: none;
|
|
11473
|
-
width: calc(
|
|
11457
|
+
width: calc(var(--q1-space-16) + var(--q1-space-6));
|
|
11474
11458
|
font-variant-numeric: tabular-nums;
|
|
11475
11459
|
}
|
|
11476
11460
|
@media (pointer: coarse), (any-pointer: coarse) {
|
|
11477
11461
|
.cal-time-input { min-height: var(--q1-touch-target-min); font-size: var(--q1-font-size-copy-16); }
|
|
11478
11462
|
}
|
|
11479
11463
|
|
|
11480
|
-
|
|
11464
|
+
.cal-date-input {
|
|
11465
|
+
flex: 1;
|
|
11466
|
+
min-width: 0;
|
|
11467
|
+
width: 0;
|
|
11468
|
+
font-variant-numeric: tabular-nums;
|
|
11469
|
+
}
|
|
11470
|
+
|
|
11471
|
+
.cal-inputs__error {
|
|
11472
|
+
color: var(--q1-color-status-danger);
|
|
11473
|
+
font-size: var(--q1-font-size-label-12);
|
|
11474
|
+
line-height: var(--q1-line-height-label-12);
|
|
11475
|
+
}
|
|
11476
|
+
|
|
11477
|
+
.cal-inputs__timezone .form-field {
|
|
11478
|
+
width: 100%;
|
|
11479
|
+
}
|
|
11480
|
+
|
|
11481
|
+
.cal-inputs__timezone .form-control--select {
|
|
11482
|
+
color: var(--q1-color-text-secondary);
|
|
11483
|
+
}
|
|
11484
|
+
|
|
11485
|
+
@media (pointer: coarse), (any-pointer: coarse) {
|
|
11486
|
+
.cal-date-input {
|
|
11487
|
+
min-height: var(--q1-touch-target-min);
|
|
11488
|
+
font-size: var(--q1-font-size-copy-16);
|
|
11489
|
+
}
|
|
11490
|
+
}
|
|
11491
|
+
|
|
11492
|
+
/* 与 Input 共用静息描边;宽度由现有控制高度和间距刻度组合。 */
|
|
11493
|
+
.cal-field {
|
|
11494
|
+
min-width: min(100%, calc(6 * var(--q1-control-height-default) + var(--q1-space-2)));
|
|
11495
|
+
}
|
|
11496
|
+
|
|
11497
|
+
.cal-field__control:not(.cal-field__control--filled) .cal-field__trigger {
|
|
11498
|
+
color: var(--q1-color-text-muted);
|
|
11499
|
+
}
|
|
11500
|
+
|
|
11481
11501
|
.cal-field__trigger {
|
|
11482
11502
|
min-width: 0;
|
|
11503
|
+
border-radius: inherit;
|
|
11483
11504
|
}
|
|
11484
11505
|
|
|
11506
|
+
.cal-field__control--compact .cal-field__trigger {
|
|
11507
|
+
border-start-end-radius: 0;
|
|
11508
|
+
border-end-end-radius: 0;
|
|
11509
|
+
}
|
|
11510
|
+
|
|
11511
|
+
|
|
11485
11512
|
.cal-field__label {
|
|
11486
11513
|
min-width: 0;
|
|
11487
11514
|
overflow: hidden;
|
|
@@ -11500,6 +11527,96 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
11500
11527
|
cursor: not-allowed;
|
|
11501
11528
|
}
|
|
11502
11529
|
|
|
11530
|
+
/* 复用 Input 的共用外框与内部分隔线,以及 SplitButton 的外侧圆角和焦点层级。 */
|
|
11531
|
+
.cal-field-group {
|
|
11532
|
+
display: grid;
|
|
11533
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
11534
|
+
width: calc(12 * var(--q1-control-height-default) + 2 * var(--q1-space-2));
|
|
11535
|
+
max-width: 100%;
|
|
11536
|
+
border-radius: var(--q1-radius-2);
|
|
11537
|
+
background: var(--q1-color-bg-panel);
|
|
11538
|
+
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-input-border, var(--q1-color-border-control));
|
|
11539
|
+
}
|
|
11540
|
+
|
|
11541
|
+
.cal-field-group--stacked {
|
|
11542
|
+
grid-template-columns: minmax(0, 1fr);
|
|
11543
|
+
width: calc(6 * var(--q1-control-height-default) + var(--q1-space-2));
|
|
11544
|
+
}
|
|
11545
|
+
|
|
11546
|
+
.cal-field-group > .cal-period,
|
|
11547
|
+
.cal-field-group > .cal-field {
|
|
11548
|
+
min-width: 0;
|
|
11549
|
+
}
|
|
11550
|
+
|
|
11551
|
+
.cal-field-group > .cal-period:focus-within,
|
|
11552
|
+
.cal-field-group > .cal-field:focus-within {
|
|
11553
|
+
z-index: 1;
|
|
11554
|
+
}
|
|
11555
|
+
|
|
11556
|
+
.cal-field-group > .cal-period > .cal-period__trigger {
|
|
11557
|
+
box-sizing: border-box;
|
|
11558
|
+
width: 100%;
|
|
11559
|
+
min-width: 0;
|
|
11560
|
+
height: 100%;
|
|
11561
|
+
min-height: var(--q1-control-height-default);
|
|
11562
|
+
border: 0;
|
|
11563
|
+
border-inline-end: calc(var(--q1-space-1) / 4) solid var(--q1-input-border, var(--q1-color-border-control));
|
|
11564
|
+
border-radius: var(--q1-radius-2) 0 0 var(--q1-radius-2);
|
|
11565
|
+
background: transparent;
|
|
11566
|
+
color: var(--q1-color-text-muted);
|
|
11567
|
+
}
|
|
11568
|
+
|
|
11569
|
+
.cal-field-group > .cal-field > .cal-field__control {
|
|
11570
|
+
box-shadow: none;
|
|
11571
|
+
background: transparent;
|
|
11572
|
+
border-radius: 0 var(--q1-radius-2) var(--q1-radius-2) 0;
|
|
11573
|
+
}
|
|
11574
|
+
|
|
11575
|
+
.cal-field-group--stacked > .cal-period > .cal-period__trigger {
|
|
11576
|
+
border-inline-end: 0;
|
|
11577
|
+
border-block-end: calc(var(--q1-space-1) / 4) solid var(--q1-input-border, var(--q1-color-border-control));
|
|
11578
|
+
border-radius: var(--q1-radius-2) var(--q1-radius-2) 0 0;
|
|
11579
|
+
}
|
|
11580
|
+
|
|
11581
|
+
.cal-field-group--stacked > .cal-field > .cal-field__control {
|
|
11582
|
+
border-radius: 0 0 var(--q1-radius-2) var(--q1-radius-2);
|
|
11583
|
+
}
|
|
11584
|
+
|
|
11585
|
+
.cal-field-group > .cal-field > .cal-field__control:has(:focus-visible) {
|
|
11586
|
+
box-shadow: var(--q1-shadow-focus-input);
|
|
11587
|
+
}
|
|
11588
|
+
|
|
11589
|
+
.cal-field-group .cal-field__trigger:focus-visible,
|
|
11590
|
+
.cal-field-group .cal-field__caret:focus-visible,
|
|
11591
|
+
.cal-field-group .cal-field__clear:focus-visible {
|
|
11592
|
+
box-shadow: none;
|
|
11593
|
+
border-radius: inherit;
|
|
11594
|
+
}
|
|
11595
|
+
|
|
11596
|
+
.cal-field-group .cal-field__control--compact .cal-field__trigger:focus-visible {
|
|
11597
|
+
border-start-end-radius: 0;
|
|
11598
|
+
border-end-end-radius: 0;
|
|
11599
|
+
}
|
|
11600
|
+
|
|
11601
|
+
.cal-field-group--small .cal-field__control {
|
|
11602
|
+
--cal-field-height: var(--q1-space-8);
|
|
11603
|
+
}
|
|
11604
|
+
|
|
11605
|
+
.cal-field-group--small > .cal-period > .cal-period__trigger {
|
|
11606
|
+
min-height: var(--q1-space-8);
|
|
11607
|
+
padding-block: 0;
|
|
11608
|
+
}
|
|
11609
|
+
|
|
11610
|
+
@media (hover: none), (pointer: coarse), (any-pointer: coarse) {
|
|
11611
|
+
.cal-field-group--small .cal-field__control {
|
|
11612
|
+
--cal-field-height: var(--q1-touch-target-min);
|
|
11613
|
+
}
|
|
11614
|
+
|
|
11615
|
+
.cal-field-group > .cal-period > .cal-period__trigger {
|
|
11616
|
+
min-height: var(--q1-touch-target-min);
|
|
11617
|
+
}
|
|
11618
|
+
}
|
|
11619
|
+
|
|
11503
11620
|
@media (max-width: 40rem) {
|
|
11504
11621
|
.sheet__panel.sheet__panel--mobile-fullscreen {
|
|
11505
11622
|
inset: 0;
|
|
@@ -13103,7 +13220,7 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13103
13220
|
}
|
|
13104
13221
|
|
|
13105
13222
|
@media (pointer: coarse), (any-pointer: coarse) {
|
|
13106
|
-
:where(:is(.button, .copy-button, .menu__trigger, .dots-menu__trigger, .description__hint, .description__hint-close, .
|
|
13223
|
+
:where(:is(.button, .copy-button, .menu__trigger, .dots-menu__trigger, .description__hint, .description__hint-close, .twc__copy):has(.q1-touch-target)) {
|
|
13107
13224
|
position: relative;
|
|
13108
13225
|
}
|
|
13109
13226
|
|
|
@@ -13112,7 +13229,7 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13112
13229
|
--touch-target-border-width: calc(var(--q1-space-1) / 4);
|
|
13113
13230
|
}
|
|
13114
13231
|
|
|
13115
|
-
:where(.dots-menu__trigger, .description__hint, .description__hint-close, .
|
|
13232
|
+
:where(.dots-menu__trigger, .description__hint, .description__hint-close, .twc__copy) {
|
|
13116
13233
|
--touch-target-border-width: 0px;
|
|
13117
13234
|
}
|
|
13118
13235
|
|
|
@@ -13135,6 +13252,62 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13135
13252
|
}
|
|
13136
13253
|
}
|
|
13137
13254
|
|
|
13255
|
+
.q1-corner-anchor {
|
|
13256
|
+
position: relative;
|
|
13257
|
+
display: inline-flex;
|
|
13258
|
+
vertical-align: middle;
|
|
13259
|
+
}
|
|
13260
|
+
|
|
13261
|
+
.corner-remove-button {
|
|
13262
|
+
position: absolute;
|
|
13263
|
+
top: 0;
|
|
13264
|
+
right: 0;
|
|
13265
|
+
transform: translate(50%, -50%);
|
|
13266
|
+
--touch-target-border-width: calc(var(--q1-space-1) / 4);
|
|
13267
|
+
box-sizing: border-box;
|
|
13268
|
+
display: grid;
|
|
13269
|
+
place-items: center;
|
|
13270
|
+
flex-shrink: 0;
|
|
13271
|
+
width: var(--q1-space-6);
|
|
13272
|
+
height: var(--q1-space-6);
|
|
13273
|
+
padding: 0;
|
|
13274
|
+
border: calc(var(--q1-space-1) / 4) solid var(--q1-color-border-overlay);
|
|
13275
|
+
border-radius: var(--q1-radius-full);
|
|
13276
|
+
background: var(--q1-color-bg-overlay);
|
|
13277
|
+
color: var(--q1-color-text-primary);
|
|
13278
|
+
box-shadow: var(--q1-shadow-popover);
|
|
13279
|
+
cursor: pointer;
|
|
13280
|
+
}
|
|
13281
|
+
|
|
13282
|
+
/* 圆周 45°:距外框两边均为 (1 - 1 / √2) / 2。 */
|
|
13283
|
+
.q1-corner-anchor--round > .corner-remove-button {
|
|
13284
|
+
top: calc(50% - 50% / sqrt(2));
|
|
13285
|
+
right: calc(50% - 50% / sqrt(2));
|
|
13286
|
+
}
|
|
13287
|
+
|
|
13288
|
+
.corner-remove-button > svg {
|
|
13289
|
+
width: var(--q1-space-4);
|
|
13290
|
+
height: var(--q1-space-4);
|
|
13291
|
+
pointer-events: none;
|
|
13292
|
+
}
|
|
13293
|
+
|
|
13294
|
+
.corner-remove-button:focus-visible {
|
|
13295
|
+
outline: calc(var(--q1-space-1) / 2) solid var(--q1-color-focus);
|
|
13296
|
+
outline-offset: var(--q1-space-1);
|
|
13297
|
+
box-shadow: var(--q1-shadow-focus), var(--q1-shadow-popover);
|
|
13298
|
+
}
|
|
13299
|
+
|
|
13300
|
+
@media (hover: hover) and (pointer: fine) {
|
|
13301
|
+
.corner-remove-button:hover:not(:disabled) {
|
|
13302
|
+
background: var(--q1-color-bg-hover);
|
|
13303
|
+
}
|
|
13304
|
+
}
|
|
13305
|
+
|
|
13306
|
+
.corner-remove-button:disabled {
|
|
13307
|
+
cursor: not-allowed;
|
|
13308
|
+
color: var(--q1-color-text-muted);
|
|
13309
|
+
}
|
|
13310
|
+
|
|
13138
13311
|
/* Private geometry derives from existing spacing; no new consumer token surface. */
|
|
13139
13312
|
.control-option.checkbox-circle {
|
|
13140
13313
|
--checkbox-circle-diameter: calc(var(--q1-space-4) + var(--q1-space-1) / 2);
|
|
@@ -13320,8 +13493,10 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13320
13493
|
cursor: pointer;
|
|
13321
13494
|
transition: color var(--q1-duration-fast);
|
|
13322
13495
|
}
|
|
13323
|
-
.filter-chip__clear { flex-shrink: 0; width: var(--q1-space-6); padding: 0; margin-inline-start: var(--q1-space-1); }
|
|
13496
|
+
.filter-chip__clear { flex-shrink: 0; width: var(--q1-space-6); padding: 0; margin-inline-start: var(--q1-space-1-5); }
|
|
13324
13497
|
.filter-chip__clear + .filter-chip__picker { padding-inline-start: var(--q1-space-1); }
|
|
13498
|
+
/* 已设值时末尾是 chevron:结束侧收一档,抵消图标框自带空白;起始侧的清除按钮同理多留半档。 */
|
|
13499
|
+
.filter-chip--set .filter-chip__picker { padding-inline-end: var(--q1-space-2); }
|
|
13325
13500
|
.filter-chip svg, .filter-chip__label, .filter-chip__separator { flex-shrink: 0; }
|
|
13326
13501
|
.filter-chip svg { color: var(--q1-color-text-secondary); transition: color var(--q1-duration-fast); }
|
|
13327
13502
|
.filter-chip__separator {
|
|
@@ -13366,6 +13541,7 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13366
13541
|
/* lg 高 48:短文案时横向内边距随档放宽,避免胶囊被压成近正圆。 */
|
|
13367
13542
|
.filter-chip--lg .filter-chip__picker { padding-inline: var(--q1-space-3); }
|
|
13368
13543
|
.filter-chip--lg .filter-chip__clear + .filter-chip__picker { padding-inline-start: var(--q1-space-1); }
|
|
13544
|
+
.filter-chip--lg.filter-chip--set .filter-chip__picker { padding-inline-end: var(--q1-space-2-5); }
|
|
13369
13545
|
|
|
13370
13546
|
.popover-trigger { display: inline-flex; }
|
|
13371
13547
|
.popover-panel {
|
|
@@ -13481,6 +13657,117 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13481
13657
|
.toggle-group { gap: var(--q1-space-4); padding: var(--q1-space-2); }
|
|
13482
13658
|
}
|
|
13483
13659
|
|
|
13660
|
+
/* Region Error State:区块加载失败的原地错误态。中性表面,危险色只落在图标上;标题与说明沿用正文色阶。
|
|
13661
|
+
根节点是宽度容器:inline 版在容器变窄时把重试按钮折到说明下方,按卡片实际宽度而非视口判断。 */
|
|
13662
|
+
.region-error-state {
|
|
13663
|
+
container: region-error-state / inline-size;
|
|
13664
|
+
}
|
|
13665
|
+
|
|
13666
|
+
.region-error-state__status {
|
|
13667
|
+
display: flex;
|
|
13668
|
+
min-width: 0;
|
|
13669
|
+
}
|
|
13670
|
+
|
|
13671
|
+
.region-error-state__icon {
|
|
13672
|
+
display: inline-flex;
|
|
13673
|
+
flex: none;
|
|
13674
|
+
align-items: center;
|
|
13675
|
+
justify-content: center;
|
|
13676
|
+
color: var(--q1-color-status-danger);
|
|
13677
|
+
}
|
|
13678
|
+
|
|
13679
|
+
.region-error-state__body {
|
|
13680
|
+
min-width: 0;
|
|
13681
|
+
}
|
|
13682
|
+
|
|
13683
|
+
.region-error-state__title,
|
|
13684
|
+
.region-error-state__description {
|
|
13685
|
+
margin: 0;
|
|
13686
|
+
overflow-wrap: anywhere;
|
|
13687
|
+
}
|
|
13688
|
+
|
|
13689
|
+
.region-error-state__title {
|
|
13690
|
+
color: var(--q1-color-text-primary);
|
|
13691
|
+
}
|
|
13692
|
+
|
|
13693
|
+
.region-error-state__description {
|
|
13694
|
+
font-size: var(--q1-font-size-label-14);
|
|
13695
|
+
font-weight: var(--q1-font-weight-regular);
|
|
13696
|
+
line-height: var(--q1-line-height-label-14);
|
|
13697
|
+
color: var(--q1-color-text-secondary);
|
|
13698
|
+
}
|
|
13699
|
+
|
|
13700
|
+
/* center:表格主体与大区块的居中占位。上下留白取 space-16,连同内容约等于五行表格的高度,
|
|
13701
|
+
宿主保留表头时表格不塌缩。 */
|
|
13702
|
+
.region-error-state--center {
|
|
13703
|
+
display: flex;
|
|
13704
|
+
flex-direction: column;
|
|
13705
|
+
align-items: center;
|
|
13706
|
+
gap: var(--q1-space-4);
|
|
13707
|
+
padding: var(--q1-space-16) var(--q1-space-6);
|
|
13708
|
+
text-align: center;
|
|
13709
|
+
}
|
|
13710
|
+
|
|
13711
|
+
.region-error-state--center .region-error-state__status {
|
|
13712
|
+
flex-direction: column;
|
|
13713
|
+
align-items: center;
|
|
13714
|
+
gap: var(--q1-space-3);
|
|
13715
|
+
max-width: 32em;
|
|
13716
|
+
}
|
|
13717
|
+
|
|
13718
|
+
.region-error-state--center .region-error-state__icon {
|
|
13719
|
+
width: var(--q1-space-10);
|
|
13720
|
+
height: var(--q1-space-10);
|
|
13721
|
+
border-radius: var(--q1-radius-3);
|
|
13722
|
+
background: var(--q1-color-bg-subtle);
|
|
13723
|
+
}
|
|
13724
|
+
|
|
13725
|
+
.region-error-state--center .region-error-state__title {
|
|
13726
|
+
font-size: var(--q1-font-size-heading-16);
|
|
13727
|
+
font-weight: var(--q1-font-weight-heading-16);
|
|
13728
|
+
line-height: var(--q1-line-height-heading-16);
|
|
13729
|
+
}
|
|
13730
|
+
|
|
13731
|
+
.region-error-state--center .region-error-state__description {
|
|
13732
|
+
margin-top: var(--q1-space-1);
|
|
13733
|
+
}
|
|
13734
|
+
|
|
13735
|
+
/* inline:卡片与页面分区里的紧凑行。小号图标与标题首行同高居中;重试在行尾,容器变窄时折到说明下方。 */
|
|
13736
|
+
.region-error-state--inline {
|
|
13737
|
+
display: flex;
|
|
13738
|
+
flex-wrap: wrap;
|
|
13739
|
+
align-items: center;
|
|
13740
|
+
gap: var(--q1-space-3) var(--q1-space-4);
|
|
13741
|
+
}
|
|
13742
|
+
|
|
13743
|
+
.region-error-state--inline .region-error-state__status {
|
|
13744
|
+
flex: 1 1 0;
|
|
13745
|
+
align-items: flex-start;
|
|
13746
|
+
gap: var(--q1-space-3);
|
|
13747
|
+
}
|
|
13748
|
+
|
|
13749
|
+
.region-error-state--inline .region-error-state__icon {
|
|
13750
|
+
width: var(--q1-space-4);
|
|
13751
|
+
height: var(--q1-line-height-heading-14);
|
|
13752
|
+
}
|
|
13753
|
+
|
|
13754
|
+
.region-error-state--inline .region-error-state__title {
|
|
13755
|
+
font-size: var(--q1-font-size-heading-14);
|
|
13756
|
+
font-weight: var(--q1-font-weight-heading-14);
|
|
13757
|
+
line-height: var(--q1-line-height-heading-14);
|
|
13758
|
+
}
|
|
13759
|
+
|
|
13760
|
+
.region-error-state--inline .region-error-state__actions {
|
|
13761
|
+
flex: none;
|
|
13762
|
+
}
|
|
13763
|
+
|
|
13764
|
+
@container region-error-state (max-width: 30rem) {
|
|
13765
|
+
.region-error-state--inline .region-error-state__actions {
|
|
13766
|
+
flex-basis: 100%;
|
|
13767
|
+
padding-inline-start: calc(var(--q1-space-4) + var(--q1-space-3));
|
|
13768
|
+
}
|
|
13769
|
+
}
|
|
13770
|
+
|
|
13484
13771
|
.hover-card-trigger { display: inline-flex; }
|
|
13485
13772
|
.hover-card {
|
|
13486
13773
|
max-width: min(calc(100vw - var(--q1-space-6)), calc(var(--q1-space-8) * 9));
|
|
@@ -13891,16 +14178,18 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
13891
14178
|
/* 浅色白纱保留底层可读性;暗色沿用各浮层既有压暗强度。 */
|
|
13892
14179
|
.modal__backdrop,
|
|
13893
14180
|
.drawer__backdrop,
|
|
13894
|
-
.sheet__backdrop
|
|
14181
|
+
.sheet__backdrop,
|
|
14182
|
+
.search-dialog__backdrop {
|
|
13895
14183
|
background: color-mix(in srgb, var(--q1-color-gray-100) 80%, transparent);
|
|
13896
14184
|
}
|
|
13897
14185
|
|
|
13898
|
-
[data-theme='dark'] .modal__backdrop,
|
|
13899
|
-
[data-theme='dark'] .sheet__backdrop
|
|
14186
|
+
:is([data-theme='dark'], [data-q1-theme='dark']) .modal__backdrop:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)),
|
|
14187
|
+
:is([data-theme='dark'], [data-q1-theme='dark']) .sheet__backdrop:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)),
|
|
14188
|
+
:is([data-theme='dark'], [data-q1-theme='dark']) .search-dialog__backdrop:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
13900
14189
|
background: color-mix(in srgb, var(--q1-color-shadow) 45%, transparent);
|
|
13901
14190
|
}
|
|
13902
14191
|
|
|
13903
|
-
[data-theme='dark'] .drawer__backdrop {
|
|
14192
|
+
:is([data-theme='dark'], [data-q1-theme='dark']) .drawer__backdrop:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
13904
14193
|
background: color-mix(in srgb, var(--q1-color-shadow) 28%, transparent);
|
|
13905
14194
|
}
|
|
13906
14195
|
|
|
@@ -14066,25 +14355,25 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14066
14355
|
|
|
14067
14356
|
/* Form boundaries and brand graphics: owner-approved dark/mobile audit roles.
|
|
14068
14357
|
Checkbox Circle keeps its own tone stroke (status-* / text-muted), so it is excluded here. */
|
|
14069
|
-
:root[data-theme='dark'] :is(
|
|
14358
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) :is(
|
|
14070
14359
|
.form-control:not(.input-control .form-control):not(.textarea-control .form-control):not(:disabled):not([aria-invalid='true']):not(.form-field--error .form-control),
|
|
14071
14360
|
.input-control:not(:has(:disabled, [aria-invalid='true'])):not(.form-field--error .input-control),
|
|
14072
14361
|
.textarea-control:not(:has(:disabled, [aria-invalid='true'])):not(.form-field--error .textarea-control)
|
|
14073
|
-
) {
|
|
14362
|
+
):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14074
14363
|
border-color: var(--q1-input-border, var(--q1-color-border-control));
|
|
14075
14364
|
}
|
|
14076
14365
|
|
|
14077
|
-
:root[data-theme='dark'] :is(
|
|
14366
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) :is(
|
|
14078
14367
|
.form-control:not(.input-control .form-control):not(.textarea-control .form-control):not(:disabled):not([aria-invalid='true']):not(.form-field--error .form-control):focus,
|
|
14079
14368
|
.input-control:not(:has(:disabled, [aria-invalid='true'])):not(.form-field--error .input-control):focus-within
|
|
14080
|
-
) {
|
|
14369
|
+
):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14081
14370
|
border-color: var(--q1-input-border-focus, var(--q1-input-border, var(--q1-color-border-control)));
|
|
14082
14371
|
}
|
|
14083
14372
|
|
|
14084
|
-
:root[data-theme='dark'] :is(
|
|
14373
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) :is(
|
|
14085
14374
|
.combobox__control:not(:has(:disabled, [aria-invalid='true'])),
|
|
14375
|
+
.multi-select__trigger:not(:disabled),
|
|
14086
14376
|
.composer__box:not(:has(textarea:disabled)),
|
|
14087
|
-
.cal-period__trigger,
|
|
14088
14377
|
.feedback__select:not(:disabled),
|
|
14089
14378
|
.feedback__textarea:not(:disabled),
|
|
14090
14379
|
.range-slider__number:not(:disabled),
|
|
@@ -14092,12 +14381,11 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14092
14381
|
.choicebox:not(:has(:checked, :disabled)),
|
|
14093
14382
|
.choicebox:not(:has(:checked, :disabled)) .choicebox__indicator,
|
|
14094
14383
|
.control-option:not(.checkbox-circle):has(input:not(:checked):not(:indeterminate):not(:disabled)) .control-option__visual
|
|
14095
|
-
) {
|
|
14384
|
+
):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14096
14385
|
border-color: var(--q1-color-border-control);
|
|
14097
14386
|
}
|
|
14098
14387
|
|
|
14099
|
-
/* 亮色 OTP
|
|
14100
|
-
.cal-period__trigger,
|
|
14388
|
+
/* 亮色 OTP 格子、Choicebox 未选中卡同样走控件边界角色,不再用 8% 黑分隔线。 */
|
|
14101
14389
|
.q1-verification-code:not(:has(:disabled, [aria-invalid='true'])) .q1-verification-code__slot,
|
|
14102
14390
|
.choicebox:not(:has(:checked, :disabled)) {
|
|
14103
14391
|
border-color: var(--q1-color-border-control);
|
|
@@ -14113,26 +14401,23 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14113
14401
|
.textarea-control:has(.form-control:disabled):not(:has([aria-invalid='true'])):not(.form-field--error .textarea-control),
|
|
14114
14402
|
.feedback__select:disabled,
|
|
14115
14403
|
.feedback__textarea:disabled,
|
|
14116
|
-
.range-slider__number:disabled
|
|
14404
|
+
.range-slider__number:disabled,
|
|
14405
|
+
.multi-select__trigger:disabled {
|
|
14117
14406
|
border-color: var(--q1-color-border);
|
|
14118
14407
|
}
|
|
14119
14408
|
|
|
14120
|
-
:root[data-theme='dark'] .cal-field__control {
|
|
14121
|
-
box-shadow: inset 0 0 0 calc(var(--q1-space-1) / 4) var(--q1-color-border-control);
|
|
14122
|
-
}
|
|
14123
|
-
|
|
14124
14409
|
@media (hover: hover) and (pointer: fine) {
|
|
14125
|
-
:root[data-theme='dark'] :is(
|
|
14410
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) :is(
|
|
14126
14411
|
.form-control:not(.input-control .form-control):not(.textarea-control .form-control):not(:disabled):not([aria-invalid='true']):not(.form-field--error .form-control),
|
|
14127
14412
|
.input-control:not(:has(:disabled, [aria-invalid='true'])):not(.form-field--error .input-control),
|
|
14128
14413
|
.textarea-control:not(:has(:disabled, [aria-invalid='true'])):not(.form-field--error .textarea-control),
|
|
14129
14414
|
.combobox__control:not(:has(:disabled, [aria-invalid='true'])),
|
|
14130
14415
|
.choicebox:not(:has(:checked, :disabled))
|
|
14131
|
-
):hover:not(:focus-within) {
|
|
14416
|
+
):hover:not(:focus-within):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14132
14417
|
border-color: var(--q1-color-gray-700);
|
|
14133
14418
|
}
|
|
14134
14419
|
|
|
14135
|
-
:root[data-theme='dark'] .control-option:not(.checkbox-circle):has(input:not(:checked):not(:indeterminate):not(:disabled)):hover .control-option__visual {
|
|
14420
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .control-option:not(.checkbox-circle):has(input:not(:checked):not(:indeterminate):not(:disabled)):hover .control-option__visual:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14136
14421
|
border-color: var(--q1-color-text-secondary);
|
|
14137
14422
|
}
|
|
14138
14423
|
}
|
|
@@ -14142,25 +14427,25 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14142
14427
|
}
|
|
14143
14428
|
|
|
14144
14429
|
@media (hover: hover) and (pointer: fine) {
|
|
14145
|
-
:root[data-theme='dark'] .toggle-field[aria-checked='true']:hover:not(:disabled) .toggle {
|
|
14430
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .toggle-field[aria-checked='true']:hover:not(:disabled) .toggle:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14146
14431
|
background: var(--toggle-on, var(--q1-color-primary-1000));
|
|
14147
14432
|
}
|
|
14148
14433
|
}
|
|
14149
14434
|
|
|
14150
|
-
:root[data-theme='dark'] .slider-input:not(.range-slider__thumb):not(:disabled)::-webkit-slider-runnable-track,
|
|
14151
|
-
:root[data-theme='dark'] .range-slider:not(.range-slider--disabled) .range-slider__rail {
|
|
14435
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .slider-input:not(.range-slider__thumb):not(:disabled):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *))::-webkit-slider-runnable-track,
|
|
14436
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .range-slider:not(.range-slider--disabled) .range-slider__rail:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14152
14437
|
background: var(--q1-color-border-control);
|
|
14153
14438
|
}
|
|
14154
14439
|
|
|
14155
|
-
:root[data-theme='dark'] .slider-input:not(.range-slider__thumb):not(:disabled)::-moz-range-track {
|
|
14440
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .slider-input:not(.range-slider__thumb):not(:disabled):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *))::-moz-range-track {
|
|
14156
14441
|
background: var(--q1-color-border-control);
|
|
14157
14442
|
}
|
|
14158
14443
|
|
|
14159
|
-
:root[data-theme='dark'] .slider-input--filled:not(.range-slider__thumb):not(:disabled)::-webkit-slider-runnable-track {
|
|
14444
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .slider-input--filled:not(.range-slider__thumb):not(:disabled):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *))::-webkit-slider-runnable-track {
|
|
14160
14445
|
background: linear-gradient(to right, var(--q1-color-accent-graphic) var(--slider-pct), var(--q1-color-border-control) var(--slider-pct));
|
|
14161
14446
|
}
|
|
14162
14447
|
|
|
14163
|
-
:root[data-theme='dark'] .slider-input--filled:not(.range-slider__thumb):not(:disabled)::-moz-range-track {
|
|
14448
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .slider-input--filled:not(.range-slider__thumb):not(:disabled):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *))::-moz-range-track {
|
|
14164
14449
|
background: linear-gradient(to right, var(--q1-color-accent-graphic) var(--slider-pct), var(--q1-color-border-control) var(--slider-pct));
|
|
14165
14450
|
}
|
|
14166
14451
|
|
|
@@ -14174,16 +14459,16 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14174
14459
|
}
|
|
14175
14460
|
|
|
14176
14461
|
/* 暗色表面抬升:亮色下靠恒深底色或投影成立的轮廓,暗色下与底色同色而消失。
|
|
14177
|
-
|
|
14462
|
+
只在暗色分支(页面暗色或 data-q1-theme="dark" 子树)改,亮色外观不变;统一走面板底色 + 1px hairline。 */
|
|
14178
14463
|
|
|
14179
14464
|
/* 无框卡片:亮色靠投影浮起;暗色投影不可见,补 hairline 保住卡片边界。 */
|
|
14180
|
-
:root[data-theme='dark'] .q1-card--borderless {
|
|
14465
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .q1-card--borderless:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14181
14466
|
border-color: var(--q1-color-border);
|
|
14182
14467
|
}
|
|
14183
14468
|
|
|
14184
14469
|
/* +N 收纳芯片与页顶公告药丸:恒深底色在暗色画布上与底同色,改面板底 + hairline + 主文字色。 */
|
|
14185
|
-
:root[data-theme='dark'] .avatar--overflow,
|
|
14186
|
-
:root[data-theme='dark'] .banner__cta {
|
|
14470
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .avatar--overflow:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)),
|
|
14471
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .banner__cta:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14187
14472
|
border: 1px solid var(--q1-color-border);
|
|
14188
14473
|
background: var(--q1-color-bg-panel);
|
|
14189
14474
|
color: var(--q1-color-text-primary);
|
|
@@ -14191,31 +14476,31 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14191
14476
|
|
|
14192
14477
|
@media (hover: hover) and (pointer: fine) {
|
|
14193
14478
|
/* 悬停与同族 .banner__action 一致:底色换 bg-subtle。 */
|
|
14194
|
-
:root[data-theme='dark'] .banner__cta:hover {
|
|
14479
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .banner__cta:hover:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14195
14480
|
background: var(--q1-color-bg-subtle);
|
|
14196
14481
|
}
|
|
14197
14482
|
}
|
|
14198
14483
|
|
|
14199
14484
|
/* Badge Pill:亮色 background-200 是近白浅底,暗色同一 token 翻成纯黑,在面板上成黑块;改面板底色;
|
|
14200
14485
|
:where 把特异性压回基础规则,悬停/按下态照常覆盖。 */
|
|
14201
|
-
:where(:root[data-theme='dark']) .badge__pill-visual {
|
|
14486
|
+
:where(:root[data-theme='dark'], [data-q1-theme='dark']) .badge__pill-visual:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14202
14487
|
background: var(--q1-color-bg-panel);
|
|
14203
14488
|
}
|
|
14204
14489
|
|
|
14205
14490
|
/* Filter Chip:暗色 bg-canvas 比示例面板更深,成黑块;改面板底色(同上用 :where 保留悬停态)。 */
|
|
14206
|
-
:where(:root[data-theme='dark']) .filter-chip {
|
|
14491
|
+
:where(:root[data-theme='dark'], [data-q1-theme='dark']) .filter-chip:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14207
14492
|
background: var(--q1-color-bg-panel);
|
|
14208
14493
|
}
|
|
14209
14494
|
|
|
14210
14495
|
/* 虚线占位(Filter Chip 未设值、Context Menu 触发区):暗色 border-strong 与面板仅约 1.4:1,
|
|
14211
14496
|
先用 text-muted 拉到 ≥ 3:1;border-strong 取值定案后再统一回归。 */
|
|
14212
|
-
:root[data-theme='dark'] .filter-chip:not(.filter-chip--set):not([data-disabled]),
|
|
14213
|
-
:root[data-theme='dark'] .context-menu__area {
|
|
14497
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .filter-chip:not(.filter-chip--set):not([data-disabled]):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)),
|
|
14498
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .context-menu__area:not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14214
14499
|
border-color: var(--q1-color-text-muted);
|
|
14215
14500
|
}
|
|
14216
14501
|
|
|
14217
14502
|
/* Multi Select 未选中勾选框:暗色 border-strong 落在浮层底上约 1.1:1;改控件边界角色 border-control。 */
|
|
14218
|
-
:root[data-theme='dark'] .multi-select__check:not(.multi-select__check--on) {
|
|
14503
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) .multi-select__check:not(.multi-select__check--on):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14219
14504
|
border-color: var(--q1-color-border-control);
|
|
14220
14505
|
}
|
|
14221
14506
|
|
|
@@ -14247,13 +14532,13 @@ a.q1-navigation__item[aria-disabled='true'] {
|
|
|
14247
14532
|
}
|
|
14248
14533
|
|
|
14249
14534
|
/* 暗色选中浅底:bg-subtle 在暗色是 gray-50,比面板更深,改用抬升一档的 bg-raised,覆盖上面全部选中态。 */
|
|
14250
|
-
:root[data-theme='dark'] :is(
|
|
14535
|
+
:is(:root[data-theme='dark'], [data-q1-theme='dark']) :is(
|
|
14251
14536
|
.choicebox:has(.choicebox__input:checked:not(:disabled)),
|
|
14252
14537
|
.pagination__button--current:not(:disabled, [aria-disabled='true']),
|
|
14253
14538
|
.toggle-group__item[aria-pressed='true']:not(:focus-visible),
|
|
14254
14539
|
.switch-control__option[aria-checked='true']:not(:focus-visible) .switch-control__visual,
|
|
14255
14540
|
.page-feedback__option[aria-pressed='true']:not(:focus-visible),
|
|
14256
14541
|
.q1-json-view__row--highlight
|
|
14257
|
-
) {
|
|
14542
|
+
):not(:where([data-q1-theme='light'], [data-q1-theme='light'] *)) {
|
|
14258
14543
|
background: var(--q1-color-bg-raised);
|
|
14259
14544
|
}
|