dsh-plugin-core-demo 0.1.3 → 0.2.0
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/README.md +2 -2
- package/dist/client.js +591 -615
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -32,84 +32,84 @@ var import_react31 = require("react");
|
|
|
32
32
|
var TOKENS_CSS_TEMPLATE = `
|
|
33
33
|
/* \u2500\u2500 \u6587\u5B57\uFF08\u5BBF\u4E3B label \u56DB\u6863 + \u53CD\u8272\u9762\u7528\u5B57\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
34
34
|
body{
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
--
|
|
39
|
-
--
|
|
35
|
+
--dshpc-fg:var(--dsw-alias-label-primary,#1f2328);
|
|
36
|
+
--dshpc-fg-2:var(--dsw-alias-label-secondary,#5c6370);
|
|
37
|
+
--dshpc-fg-3:var(--dsw-alias-label-tertiary,#767d87);
|
|
38
|
+
--dshpc-fg-4:var(--dsw-alias-label-caption,#9aa1ab);
|
|
39
|
+
--dshpc-fg-dim:var(--dsw-alias-label-dimmed,#b9bfc7);
|
|
40
40
|
/* \u53CD\u8272\u9762\u4E0A\u7684\u5B57\uFF08\u5B9E\u5FC3\u94AE / \u89D2\u6807\uFF09\uFF1A\u6697\u8272\u4E0B\u662F bluish-1000\uFF0C\u6545\u7528 -foreground \u800C\u975E -inverted */
|
|
41
|
-
--
|
|
41
|
+
--dshpc-fg-inverse:var(--dsw-alias-label-primary-foreground,#fff);
|
|
42
42
|
|
|
43
43
|
/* \u2500\u2500 \u9762\uFF08\u5BBF\u4E3B bg-layer \u4E09\u6863 + \u4E0B\u6C89\u8F68\u9053\u5E95\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
44
|
-
--
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
/* \u300C\u9009\u4E2D\u4EAE\u7247\u300D\u7684\u5E95\u76D8\u8272\uFF08\u914D --
|
|
48
|
-
--
|
|
44
|
+
--dshpc-surface-1:var(--dsw-alias-bg-layer-1,#fff);
|
|
45
|
+
--dshpc-surface-2:var(--dsw-alias-bg-layer-2,#fff);
|
|
46
|
+
--dshpc-surface-3:var(--dsw-alias-bg-layer-3,#fff);
|
|
47
|
+
/* \u300C\u9009\u4E2D\u4EAE\u7247\u300D\u7684\u5E95\u76D8\u8272\uFF08\u914D --dshpc-shadow-raised \u7528\uFF09 */
|
|
48
|
+
--dshpc-surface-raised:var(--dsw-alias-bg-layer-1,#fff);
|
|
49
49
|
/* \u8F68\u9053 / \u4E0B\u6C89\u5E95\uFF08\u5B98\u65B9\u5206\u6BB5\u63A7\u4EF6\u8F68\u9053\u7528\u7684\u5C31\u662F\u8FD9\u6761\uFF09 */
|
|
50
|
-
--
|
|
50
|
+
--dshpc-surface-sunken:var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06));
|
|
51
51
|
/* \u6574\u9875 / \u7F16\u8F91\u5668\u5E95\uFF08bg-base\uFF09 */
|
|
52
|
-
--
|
|
52
|
+
--dshpc-surface-base:var(--dsw-alias-bg-base,#fff);
|
|
53
53
|
/* \u81EA\u7ED8\u6D6E\u5C42 / \u83DC\u5355\u5361\u7684\u4E0D\u900F\u660E\u5E95\uFF08= base\uFF1B\u4E0D\u8981\u7528\u534A\u900F\u660E\u7684 specific-menu\uFF09 */
|
|
54
|
-
--
|
|
54
|
+
--dshpc-surface-menu:var(--dshpc-surface-base);
|
|
55
55
|
/* markdown \u4EE3\u7801\u5757\u9762 / \u5B57\u4F53\uFF08\u4F1A\u8BDD\u955C\u50CF\u91CC\u7528\u5230\uFF09 */
|
|
56
|
-
--
|
|
57
|
-
--
|
|
56
|
+
--dshpc-code-surface:var(--dsw-alias-markdown-code-block,rgba(128,128,128,.10));
|
|
57
|
+
--dshpc-code-font:var(--dsw-font-markdown-code-block-small,12px/18px var(--ds-font-family-code,monospace));
|
|
58
58
|
/* \u8B66\u544A\u6587\u5B57\u8272\uFF08\u5BBF\u4E3B state-warn-label\uFF09 */
|
|
59
|
-
--
|
|
59
|
+
--dshpc-warning-label:var(--dsw-alias-state-warn-label,#f5a623);
|
|
60
60
|
/* \u56FA\u5B9A\u4E2D\u6027\u5B9E\u9762\uFF08\u81EA\u7ED8\u6D6E\u5C42\u3001\u6DF1\u8272\u4E3B\u9898\u4E0B\u5FC5\u987B\u81EA\u5DF1\u53D8\u7684\u90A3\u51E0\u4E2A\uFF09\u2014\u2014\u53EA\u6709\u5B83\u9700\u8981\u6697\u8272\u8986\u76D6 */
|
|
61
|
-
--
|
|
62
|
-
--
|
|
61
|
+
--dshpc-solid:var(--dsw-static-neutral-00,#fff);
|
|
62
|
+
--dshpc-on-solid:var(--dsw-alias-label-primary,#1f2328);
|
|
63
63
|
/* \u4EA4\u4ED8\u6587\u4EF6\u5361\u90A3\u79CD\u300C\u6D45\u5E95\u76D8 + hover \u52A0\u6DF1\u300D\u4E24\u62CD */
|
|
64
|
-
--
|
|
65
|
-
--
|
|
64
|
+
--dshpc-plate:var(--dsw-static-neutral-50,#fafafa);
|
|
65
|
+
--dshpc-plate-hover:var(--dsw-static-neutral-100,#f5f5f5);
|
|
66
66
|
/* \u65E7\u5185\u6838\u56DE\u9000\uFF08Chrome <111 \u4E0D\u8BA4 color-mix \u21D2 \u8FD9\u6761\u751F\u6548\uFF1B\u65B0\u5185\u6838\u88AB\u4E0B\u9762\u90A3\u6761\u8986\u76D6\uFF09\u3002
|
|
67
67
|
\u8FD9\u51E0\u4E2A\u662F**\u56FA\u5B9A\u4E2D\u6027\u9762**\u3001\u4E0D\u9760\u8DDF\u968F\u5BBF\u4E3B\u4E3B\u9898\u8272\uFF0C\u6545\u53EF\u4EE5\u65E0\u635F\u5730\u7ED9\u660E\u6587\u56DE\u9000\u3002 */
|
|
68
|
-
--
|
|
69
|
-
--
|
|
70
|
-
/* \u8868\u5934\u5E95\uFF1A\u6D45\u8272\u4E3B\u9898**\u504F\u6DF1**\uFF0C\u4E14\u5FC5\u987B**\u6BD4\u6591\u9A6C\u7EB9\uFF08--
|
|
68
|
+
--dshpc-icon-plate:rgba(255,255,255,.5);
|
|
69
|
+
--dshpc-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 50%,transparent);
|
|
70
|
+
/* \u8868\u5934\u5E95\uFF1A\u6D45\u8272\u4E3B\u9898**\u504F\u6DF1**\uFF0C\u4E14\u5FC5\u987B**\u6BD4\u6591\u9A6C\u7EB9\uFF08--dshpc-plate\uFF09\u518D\u6DF1\u4E00\u6863**\u2014\u2014
|
|
71
71
|
\u4E24\u8005\u4E0D\u80FD\u649E\u8272\uFF08\u7528\u6237 2026-10-02\uFF1A\u8868\u5934\u8DDF\u6591\u9A6C\u7EB9\u4E00\u6A21\u4E00\u6837\uFF09\u3002 */
|
|
72
|
-
--
|
|
72
|
+
--dshpc-head-bg:var(--dsw-static-neutral-100,#f5f5f5);
|
|
73
73
|
/* \u56FE\u6807\u5C0F\u5E95\u677F\uFF08\u4EA7\u51FA\u7269\uFF09\uFF1A\u6D45\u8272\u4E0B\u8981**\u770B\u5F97\u89C1**\uFF08\u539F\u5148\u53D6 plate \u21D2 \u5728\u767D\u5E95\u4E0A\u7B49\u4E8E\u6CA1\u6709\uFF09\uFF1Bhover \u52A0\u500D\u3002 */
|
|
74
|
-
--
|
|
75
|
-
--
|
|
76
|
-
--
|
|
77
|
-
--
|
|
74
|
+
--dshpc-chip-bg:rgba(15,15,15,.07);
|
|
75
|
+
--dshpc-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 7%,transparent);
|
|
76
|
+
--dshpc-chip-bg-hover:rgba(15,15,15,.14);
|
|
77
|
+
--dshpc-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 14%,transparent);
|
|
78
78
|
/* \u5C55\u5F00\u884C\uFF1A**\u5E26\u900F\u660E\u5EA6\u7684\u84DD**\u2014\u2014\u4E0D\u662F\u7070\u3001\u4E5F\u4E0D\u662F\u7EAF\u8272\uFF0C\u900F\u51FA\u5361\u7247\u5E95\u8272\uFF0C\u4E00\u773C\u770B\u51FA\u300C\u8FD9\u662F\u5C55\u5F00\u7684\u300D
|
|
79
79
|
\uFF08\u7528\u6237 2026-10-02\uFF1A\u7070\u8272\u8DDF\u6591\u9A6C\u7EB9\u5206\u4E0D\u51FA\u6765\uFF09\u3002\u5185\u5BB9\u533A\u518D\u6DE1\u4E00\u6863\uFF0C\u5F62\u6210\u300C\u884C\u6DF1 / \u5185\u5BB9\u6D45\u300D\u7684\u533A\u9694\u3002 */
|
|
80
|
-
--
|
|
81
|
-
--
|
|
82
|
-
--
|
|
80
|
+
--dshpc-open-bg:rgba(37,99,235,.10);
|
|
81
|
+
--dshpc-open-bg-soft:rgba(37,99,235,.05);
|
|
82
|
+
--dshpc-card-hover:rgba(37,99,235,.07);
|
|
83
83
|
|
|
84
84
|
/* \u2500\u2500 \u63CF\u8FB9\u56DB\u6863\uFF08\u5BBF\u4E3B\u771F\u503C\uFF1Al1 4% / l2 10% / l3 12% / l4 16%\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
85
|
-
--
|
|
86
|
-
--
|
|
87
|
-
--
|
|
88
|
-
--
|
|
85
|
+
--dshpc-border-faint:var(--dsw-alias-border-l1,#0000000a);
|
|
86
|
+
--dshpc-border:var(--dsw-alias-border-l2,#0000001a);
|
|
87
|
+
--dshpc-border-strong:var(--dsw-alias-border-l3,#0000001f);
|
|
88
|
+
--dshpc-border-heavy:var(--dsw-alias-border-l4,#00000029);
|
|
89
89
|
|
|
90
90
|
/* \u2500\u2500 \u54C1\u724C / \u8BED\u4E49\u8272 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
91
91
|
/* \u54C1\u724C\u300C\u9762\u300D\u8272\uFF1A\u660E\u8272\u8FD1\u9ED1\u3001\u6697\u8272\u8FD1\u767D\uFF08\u5B98\u65B9 Switch \u9009\u4E2D\u6001\u5373\u6B64\uFF09\uFF0C**\u4E0D\u662F\u84DD\u8272** */
|
|
92
|
-
--
|
|
92
|
+
--dshpc-accent:var(--dsw-alias-brand-primary,#0f1115);
|
|
93
93
|
/* \u84DD\u8272\uFF1A\u5F3A\u8C03 / \u9009\u4E2D / \u7126\u70B9\uFF0C\u4E00\u5F8B\u8D70\u8FD9\u6761 */
|
|
94
|
-
--
|
|
95
|
-
--
|
|
94
|
+
--dshpc-business:var(--dsw-alias-state-business-primary,#3b5bdb);
|
|
95
|
+
--dshpc-success:var(--dsw-alias-state-success-primary,#22c55e);
|
|
96
96
|
/* \u26A0\uFE0F \u662F state-warn\uFF08\u4E0D\u662F state-warning\uFF0C\u540E\u8005\u5BBF\u4E3B\u65E0\u6B64\u5B9A\u4E49\uFF09 */
|
|
97
|
-
--
|
|
98
|
-
--
|
|
99
|
-
--
|
|
97
|
+
--dshpc-warning:var(--dsw-alias-state-warn-primary,#f59e0b);
|
|
98
|
+
--dshpc-danger:var(--dsw-alias-state-error-primary,#ec1313);
|
|
99
|
+
--dshpc-link:var(--dsw-alias-link,#3b5bdb);
|
|
100
100
|
/* \u8BED\u4E49\u8272**\u5B9E\u9762**\u4E0A\u7684\u5B57\uFF08\u89D2\u6807 / \u5B9E\u5FC3\u63D0\u793A\uFF09\uFF1A\u5BBF\u4E3B\u7EA2\u7EFF\u9EC4\u4E09\u8272\u90FD\u662F\u4E2D\u8C03 \u21D2 \u767D\u5B57\u4E24\u4E2A\u4E3B\u9898\u90FD\u53EF\u8BFB\uFF0C
|
|
101
|
-
\u6545\u8FD9\u662F\u4E00\u6761\u4E0E\u4E3B\u9898\u65E0\u5173\u7684\u5E38\u91CF\uFF1B\u4E0D\u8981\u62FF --
|
|
102
|
-
--
|
|
101
|
+
\u6545\u8FD9\u662F\u4E00\u6761\u4E0E\u4E3B\u9898\u65E0\u5173\u7684\u5E38\u91CF\uFF1B\u4E0D\u8981\u62FF --dshpc-fg-inverse \u9876\u2014\u2014\u5B83\u5728\u6697\u8272\u4E0B\u662F\u8FD1\u9ED1\uFF0C\u538B\u5728\u7EA2\u5E95\u4E0A\u770B\u4E0D\u6E05\u3002 */
|
|
102
|
+
--dshpc-on-signal:#fff;
|
|
103
103
|
/* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF1A\u72B6\u6001\u8272\u7CFB\u7684\u300C\u4E00\u5757\u5E95\u8272\u300D\u2014\u2014\u6267\u884C\u8BB0\u5F55\u9875\u6BCF\u6761\u6D41\u6C34\u8D26\u7684\u5757\u5E95\u5C31\u662F\u5B83
|
|
104
104
|
\uFF08\u7528\u6237 2026-10-04\uFF1A\u6B63\u5E38\u6001\u7ED9\u540C\u8272\u7CFB\u5F88\u6D45\u7684\u900F\u660E\u5E95\u3001\u5931\u8D25\u7528\u7EA2\u5E95\u900F\u51FA\u6765\uFF09\u3002
|
|
105
105
|
\u7528 \u300Ccolor-mix\u300D \u73B0\u7B97\u800C\u4E0D\u5199\u6B7B rgba\uFF1A\u72B6\u6001\u8272\u672C\u8EAB\u8DDF\u968F\u5BBF\u4E3B alias\uFF0C\u4E3B\u9898\u4E00\u6362\u81EA\u52A8\u6210\u7ACB\u3002
|
|
106
106
|
\u26A0\uFE0F **\u6DF1\u8272\u4E0B\u8981\u66F4\u6DE1**\uFF1A\u7528\u6237 2026-10-04\u300C\u6DF1\u8272\u98CE\u683C\u7684\u7EFF\u8272\u548C\u7EA2\u8272\u597D\u50CF\u90FD\u6709\u70B9\u6DF1\u300D\u21D2 dark \u6BB5
|
|
107
107
|
\u628A\u8FD9\u56DB\u6761\u538B\u5230 5%\uFF08\u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF09\uFF1B\u6D45\u8272\u6BB5\u7EF4\u6301 8%\u3002\u4E24\u7AEF\u5404\u81EA\u7ED9\u503C\uFF0C\u4E0D\u5171\u7528\u4E00\u6761\u66F2\u7EBF\u3002
|
|
108
|
-
\u547D\u540D\u6536\u5728 tokens.ts \u5355\u70B9\uFF08\u672C\u4ED3\u786C\u89C4\u77E9\uFF1A\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u81EA\u9020 --
|
|
109
|
-
--
|
|
110
|
-
--
|
|
111
|
-
--
|
|
112
|
-
--
|
|
108
|
+
\u547D\u540D\u6536\u5728 tokens.ts \u5355\u70B9\uFF08\u672C\u4ED3\u786C\u89C4\u77E9\uFF1A\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u81EA\u9020 --dshpc-*\uFF09\u3002 */
|
|
109
|
+
--dshpc-success-soft:color-mix(in srgb,var(--dshpc-success) 8%,transparent);
|
|
110
|
+
--dshpc-warning-soft:color-mix(in srgb,var(--dshpc-warning) 8%,transparent);
|
|
111
|
+
--dshpc-danger-soft:color-mix(in srgb,var(--dshpc-danger) 8%,transparent);
|
|
112
|
+
--dshpc-business-soft:color-mix(in srgb,var(--dshpc-business) 8%,transparent);
|
|
113
113
|
|
|
114
114
|
/* \u26A0\uFE0F 2026-10-18 \u7528\u6237\u62CD\u677F\uFF1A\u5BBF\u4E3B alias \u7684 hover\uFF08\u6697\u8272\u767D 8% / \u4EAE\u8272 6%\uFF09**\u592A\u5F31**\uFF0C
|
|
115
115
|
\u300C\u79FB\u4E0A\u53BB\u8981\u4ED4\u7EC6\u770B\u624D\u770B\u5F97\u51FA\u6765\u300D\u21D2 \u4E0D\u518D\u59D4\u6258\u5BBF\u4E3B hover \u522B\u540D\uFF0C\u6539\u4E3A\u81EA\u63BA\u4E2D\u6027\u8272\u5E76\u52A0\u91CD\uFF1A
|
|
@@ -117,91 +117,91 @@ body{
|
|
|
117
117
|
\u26A0\uFE0F \u5FC5\u987B\u4FDD\u7559 rgba \u515C\u5E95\u884C\u5728\u524D\uFF08\u672C\u6587\u4EF6\u60EF\u4F8B\uFF0C\u89C1 icon-plate \u6CE8\u91CA\uFF09\uFF1A\u63BA\u7684\u662F**\u56FA\u5B9A\u4E2D\u6027\u8272**
|
|
118
118
|
\uFF08neutral-900=#0f0f0f / neutral-00=#fff\uFF09\uFF0C\u9884\u8BA1\u7B97\u65E0\u635F\uFF1B\u65E7\u5185\u6838\u4E0D\u8BA4 color-mix \u65F6\u8D70\u515C\u5E95\uFF0C
|
|
119
119
|
\u5426\u5219\u6574\u6761 background:var(--seg-track) \u4F5C\u5E9F \u21D2 \u5206\u6BB5\u8F68\u9053\u900F\u660E\uFF08\u771F\u8E29\u8FC7\uFF1A\u9884\u89C8\u7AD9\u8F68\u9053\u6D88\u5931\uFF09\u3002 */
|
|
120
|
-
--
|
|
121
|
-
--
|
|
122
|
-
--
|
|
123
|
-
--
|
|
124
|
-
--
|
|
120
|
+
--dshpc-hover:rgba(15,15,15,.10);
|
|
121
|
+
--dshpc-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 10%,transparent);
|
|
122
|
+
--dshpc-active:rgba(15,15,15,.18);
|
|
123
|
+
--dshpc-active:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 18%,transparent);
|
|
124
|
+
--dshpc-mask:var(--dsw-alias-bg-mask-1,#0000003d);
|
|
125
125
|
/* \u300C\u9009\u4E2D\u9762\u300D\uFF082026-10-06\uFF0C\u4EFB\u52A1\u65E5\u7A0B\u9875\u9996\u521B\uFF09= \u5F53\u524D\u5E95\u8272**\u671D\u66F4\u6DF1\u63BA 12% \u6587\u5B57\u8272**\uFF1A
|
|
126
126
|
\u6D45\u8272\u4E3B\u9898\u4E0B\u6587\u5B57\u8272\u662F\u9ED1 \u21D2 \u9009\u4E2D\u9762\u6BD4\u5E38\u6001\u5E95\u8272**\u6DF1\u4E00\u6863**\u3002\u6DF1\u8272\u5206\u652F\u89C1 body[data-ds-dark-theme]\uFF08\u671D\u80CC\u666F\u8272\u63BA\uFF09\u3002
|
|
127
127
|
\u8BED\u4E49\uFF1A\u6807\u8BB0\u300C\u6B63\u5728\u770B\u7684\u4E1C\u897F\u300D\uFF0C\u6BD4\u5E38\u6001\u660E\u663E\u3001\u53C8\u4E0D\u8BB8\u76D6\u4F4F\u5185\u5BB9\uFF08\u4E0D\u8BB8\u7528\u534A\u900F\u660E\u53E0\u72B6\u6001\u8272\uFF09\u3002 */
|
|
128
|
-
--
|
|
128
|
+
--dshpc-selected-bg:color-mix(in srgb,var(--dshpc-surface-1) 88%,var(--dshpc-fg));
|
|
129
129
|
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u9ED8\u8BA4\u5E95\uFF082026-10-06 \u2192 \u7EED2\uFF09\uFF1A\u6D45\u8272\u4E0B\u7ED9**\u6DE1\u84DD**\uFF08business 8% \u900F\u767D\u5E95\uFF09\u2014\u2014
|
|
130
130
|
\u53C2\u7167\u7528\u6237\u53C2\u8003\u7A3F\u91CC\u672A\u9009\u4E2D\u65E5\u7A0B\u5757 / Tuesday \u5217\u7684\u90A3\u79CD\u84DD\u3001\u518D\u6D45\u4E00\u70B9\u70B9\uFF1B
|
|
131
|
-
\u76F8\u90BB\u6708\u8865\u4F4D\u683C\u4ECD\u8D70 --
|
|
131
|
+
\u76F8\u90BB\u6708\u8865\u4F4D\u683C\u4ECD\u8D70 --dshpc-surface-2\uFF08\u66F4\u7070\uFF09\uFF0C\u4E0D\u53D7\u5F71\u54CD\u3002
|
|
132
132
|
\u6DF1\u8272\u6BB5\u7EF4\u6301 #23262e\uFF08\u7528\u6237\uFF1A\u6DF1\u8272 UI \u5DF2\u5DEE\u4E0D\u591A\uFF0C\u4E0D\u52A8\uFF09\u3002 */
|
|
133
|
-
--
|
|
133
|
+
--dshpc-cal-cell-bg:color-mix(in srgb,var(--dshpc-business) 8%,var(--dshpc-surface-1));
|
|
134
134
|
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u300C\u70B9\u5F00\u67D0\u5929\u300D\u5C55\u5F00\u7684\u9762\u677F\u5E95\uFF082026-10-06 \u7EED\uFF09\uFF1A\u6D45\u8272\u4E0B**\u65E0\u9650\u63A5\u8FD1\u767D\u3001\u53EA\u5E26\u4E00\u4E01\u70B9\u7070**
|
|
135
135
|
\uFF08neutral-50 = #fafafa\uFF09\u2014\u2014\u9762\u677F\u91CC\u88C5\u534A\u900F\u660E\u6267\u884C\u8BB0\u5F55\u5217\u8868\uFF0C\u5E95\u518D\u6DF1\u6574\u7247\u5C31\u53D1\u7CCA\u53D1\u7070\uFF1B
|
|
136
136
|
\u6DF1\u8272\u6BB5\u6CBF\u7528\u539F selected-bg \u6697\u503C\uFF0C\u4FDD\u6301\u4E0D\u52A8\u3002 */
|
|
137
|
-
--
|
|
137
|
+
--dshpc-cal-panel-bg:var(--dsw-static-neutral-50,#fafafa);
|
|
138
138
|
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6D45\u8272\u6BB5\uFF0C2026-10-06 \u7EED3\uFF09\uFF1A\u4E0D\u518D\u8D70\u7070\u8272\u901A\u7528\u4EA4\u4E92\u5E95\u2014\u2014
|
|
139
139
|
\u9F20\u6807\u79FB\u4E0A\u53BB\u5E94\u662F\u300C\u66F4\u4EAE\u4E00\u70B9\u70B9\u7684\u84DD\u300D\uFF08\u4E0E\u6DF1\u8272\u6BB5\u540C\u8BED\u4E49\uFF1Ahover = \u63D0\u4EAE\u7684\u84DD\uFF0C\u4E0D\u662F\u7070\u4E0B\u53BB\uFF09\u3002
|
|
140
140
|
\u6D53\u5EA6**\u4ECB\u4E8E**\u8868\u5934\u84DD\uFF0814%\uFF09\u4E0E\u672A\u9009\u4E2D\u683C\u84DD\uFF088%\uFF09\u4E4B\u95F4\u3001\u7565\u504F\u8868\u5934\u4E00\u4FA7\uFF1Abusiness 12% \u900F\u767D\u5E95
|
|
141
141
|
\uFF08\u6BD4\u8868\u5934\u6D45\u4E00\u70B9\u3001\u6BD4\u672A\u9009\u4E2D\u683C\u6DF1\u4E00\u70B9\uFF09\u3002 */
|
|
142
|
-
--
|
|
142
|
+
--dshpc-cal-cell-hover:color-mix(in srgb,var(--dshpc-business) 12%,var(--dshpc-surface-1));
|
|
143
143
|
|
|
144
144
|
/* \u2500\u2500 \u6295\u5F71 / \u7126\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
145
|
-
--
|
|
146
|
-
/* \u4EAE\u7247\u81EA\u5E26\u7684\u6D6E\u8D77\u611F\uFF08\u9009\u4E2D\u6001\u7528\uFF1B\u4E0E --
|
|
147
|
-
--
|
|
148
|
-
--
|
|
145
|
+
--dshpc-shadow-1:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);
|
|
146
|
+
/* \u4EAE\u7247\u81EA\u5E26\u7684\u6D6E\u8D77\u611F\uFF08\u9009\u4E2D\u6001\u7528\uFF1B\u4E0E --dshpc-surface-raised \u914D\u5BF9\uFF09 */
|
|
147
|
+
--dshpc-shadow-raised:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);
|
|
148
|
+
--dshpc-shadow-2:var(--dsw-shadow-lv3,0 12px 32px 0 #00000014);
|
|
149
149
|
/* \u952E\u76D8\u7126\u70B9\u73AF\u3002\u26A0\uFE0F \u4E0D\u7528\u5BBF\u4E3B --dsw-focus-ring-color\uFF1A\u5B83\u9ED8\u8BA4\u503C\u662F transparent\uFF08\u515C\u5E95\u4E0D\u751F\u6548\u3001\u4F1A\u9690\u8EAB\uFF09 */
|
|
150
|
-
--
|
|
150
|
+
--dshpc-focus:var(--dsw-alias-state-business-primary,#3b5bdb);
|
|
151
151
|
|
|
152
152
|
/* \u2500\u2500 \u5706\u89D2\uFF08\u5BBF\u4E3B\u771F\u503C 4 / 8 / 12 / 16 / 20 / 28\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
153
|
-
--
|
|
154
|
-
--
|
|
155
|
-
--
|
|
156
|
-
--
|
|
157
|
-
--
|
|
158
|
-
--
|
|
153
|
+
--dshpc-radius-xs:var(--dsw-radius-xs,4px);
|
|
154
|
+
--dshpc-radius-sm:var(--dsw-radius-sm,8px);
|
|
155
|
+
--dshpc-radius-md:var(--dsw-radius-md,12px);
|
|
156
|
+
--dshpc-radius-lg:var(--dsw-radius-lg,16px);
|
|
157
|
+
--dshpc-radius-xl:var(--dsw-radius-xl,20px);
|
|
158
|
+
--dshpc-radius-panel:var(--dsw-radius-panel,28px);
|
|
159
159
|
/* \u5168\u5706\uFF08\u80F6\u56CA\u6807\u7B7E\uFF09\uFF1A\u5BBF\u4E3B\u7684 radius \u6863\u6700\u5927\u53EA\u6709 28px\uFF0C\u6491\u4E0D\u6EE1 24px \u9AD8\u7684 chip */
|
|
160
|
-
--
|
|
160
|
+
--dshpc-radius-pill:999px;
|
|
161
161
|
|
|
162
162
|
/* \u2500\u2500 \u95F4\u8DDD\u56DB\u62CD\uFF08\u53EA\u8BB8\u7528\u8FD9\u56DB\u6863\uFF0C\u4E0D\u8BB8\u51FA\u73B0 5 / 7 / 9px\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
163
|
-
--
|
|
164
|
-
--
|
|
165
|
-
--
|
|
166
|
-
--
|
|
163
|
+
--dshpc-space-1:4px;
|
|
164
|
+
--dshpc-space-2:8px;
|
|
165
|
+
--dshpc-space-3:12px;
|
|
166
|
+
--dshpc-space-4:16px;
|
|
167
167
|
|
|
168
168
|
/* \u2500\u2500 \u63A7\u4EF6\u9AD8\u5EA6\uFF1A\u79BB\u6563\u4E09\u6863\uFF08\u63A7\u4EF6\u7528 size="sm|md|lg" \u9009\uFF1B\u8C03\u7528\u70B9\u4E0D\u8BB8\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C
|
|
169
|
-
\u771F\u4E0D\u591F\u7528\u624D\u5141\u8BB8\u5728\u8C03\u7528\u70B9\u672C\u5730\u8986\u76D6 --
|
|
170
|
-
--
|
|
171
|
-
--
|
|
172
|
-
--
|
|
169
|
+
\u771F\u4E0D\u591F\u7528\u624D\u5141\u8BB8\u5728\u8C03\u7528\u70B9\u672C\u5730\u8986\u76D6 --dshpc-control-h-*\uFF0C\u5C5E\u4F8B\u5916\u800C\u975E\u5E38\u6001\uFF09\u2500\u2500 */
|
|
170
|
+
--dshpc-control-h-sm:24px;
|
|
171
|
+
--dshpc-control-h-md:28px;
|
|
172
|
+
--dshpc-control-h-lg:32px;
|
|
173
173
|
|
|
174
174
|
/* \u2500\u2500 \u5B57\u53F7 / \u884C\u9AD8\uFF1A\u76F4\u7ED1\u5BBF\u4E3B\u5B57\u53F7\u65CF\uFF08\u5BBF\u4E3B\u771F\u503C 11 / 12 / 13 / 14 / 16\uFF09\u2500\u2500\u2500\u2500\u2500 */
|
|
175
|
-
--
|
|
176
|
-
--
|
|
177
|
-
--
|
|
178
|
-
--
|
|
179
|
-
--
|
|
180
|
-
--
|
|
181
|
-
--
|
|
182
|
-
--
|
|
183
|
-
--
|
|
184
|
-
--
|
|
185
|
-
--
|
|
175
|
+
--dshpc-font-xs:var(--dsw-font-xxxs-11-font-size,11px);
|
|
176
|
+
--dshpc-font-sm:var(--dsw-font-xxs-12-font-size,12px);
|
|
177
|
+
--dshpc-font-md:var(--dsw-font-xs-13-font-size,13px);
|
|
178
|
+
--dshpc-font-lg:var(--dsw-font-s-14-font-size,14px);
|
|
179
|
+
--dshpc-font-xl:var(--dsw-font-base-16-font-size,16px);
|
|
180
|
+
--dshpc-line-xs:var(--dsw-font-xxxs-11-line-height,14px);
|
|
181
|
+
--dshpc-line-sm:var(--dsw-font-xxs-12-line-height,18px);
|
|
182
|
+
--dshpc-line-md:var(--dsw-font-xs-13-line-height,20px);
|
|
183
|
+
--dshpc-line-lg:var(--dsw-font-s-14-line-height,22px);
|
|
184
|
+
--dshpc-line-xl:var(--dsw-font-base-16-line-height,24px);
|
|
185
|
+
--dshpc-font-mono:var(--ds-font-family-code,monospace);
|
|
186
186
|
|
|
187
187
|
/* \u2500\u2500 \u5C42\u7EA7\u9636\u68AF\uFF08\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u518D\u5199\u88F8 z-index\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
188
188
|
/* \u9875\u9762\u7EA7\u9884\u89C8\u5206\u680F \u2192 \u62BD\u5C49\uFF08\u65B0\u5EFA/\u7F16\u8F91\uFF09\u2192 \u5F39\u7A97/\u786E\u8BA4\u6846 \u2192 \u6D6E\u5C42\u83DC\u5355 \u2192 \u6D6E\u5C42\u63D0\u793A */
|
|
189
189
|
/* \u5185\u5BB9\u5C42\u5438\u9876\uFF08\u5929\u6807\u7B7E / \u8868\u5934\u8FD9\u7C7B\u300C\u8DDF\u7740\u6EDA\u4F46\u538B\u4F4F\u540C\u5C42\u5185\u5BB9\u300D\u7684\u5143\u7D20\uFF09\uFF1A\u53EA\u538B\u540C\u5C42\u5144\u5F1F\uFF0C
|
|
190
190
|
\u5FC5\u987B\u4F4E\u4E8E\u4E0B\u9762\u6240\u6709\u6D6E\u5C42\u6863 \u2014\u2014 \u6240\u4EE5\u5B83\u4E0D\u662F\u300C\u5F00\u65B0\u6D6E\u5C42\u6863\u300D\uFF0C\u800C\u662F\u5185\u5BB9\u5C42\u5185\u90E8\u7684\u6392\u5E8F\u4F4D\u3002 */
|
|
191
|
-
--
|
|
192
|
-
--
|
|
193
|
-
--
|
|
194
|
-
--
|
|
195
|
-
--
|
|
196
|
-
--
|
|
191
|
+
--dshpc-z-sticky:10;
|
|
192
|
+
--dshpc-z-dock:1030;
|
|
193
|
+
--dshpc-z-drawer:1040;
|
|
194
|
+
--dshpc-z-modal:1070;
|
|
195
|
+
--dshpc-z-menu:1100;
|
|
196
|
+
--dshpc-z-tip:1200;
|
|
197
197
|
|
|
198
198
|
/* \u2500\u2500 \u52A8\u6548 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
199
|
-
--
|
|
200
|
-
--
|
|
201
|
-
--
|
|
199
|
+
--dshpc-dur:var(--ds-transition-duration,.2s);
|
|
200
|
+
--dshpc-dur-fast:var(--ds-transition-duration-fast,.12s);
|
|
201
|
+
--dshpc-ease:var(--ds-ease-in-out,cubic-bezier(.4,0,.2,1));
|
|
202
202
|
/* \u8FD0\u884C\u4E2D\u72B6\u6001\u7684\u8109\u52A8\u65F6\u957F\uFF082026-10-06 \u7EDF\u4E00\u524D\u540E\u4E24\u7AEF\uFF1A\u4EFB\u52A1\u914D\u7F6E\u91CC\u7684\u7EFF\u547C\u5438 \u2192 \u84DD\u3001\u653E\u6162\uFF1B
|
|
203
203
|
\u6267\u884C\u8BB0\u5F55\u91CC\u7684\u84DD\u95EA \u2192 \u653E\u6162\u4E00\u70B9\u3002\u4E24\u8005\u7528\u540C\u4E00\u4E2A\u503C\uFF0C\u52A8\u753B\u5F62\u72B6\u672C\u5C31\u4E00\u81F4\uFF09\u3002 */
|
|
204
|
-
--
|
|
204
|
+
--dshpc-dur-run:500ms;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
/* \u2500\u2500 \u660E\u6697\u5DEE\u5F02\u7684**\u552F\u4E00**\u843D\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
@@ -209,72 +209,61 @@ body{
|
|
|
209
209
|
\u552F\u4E00\u660E\u6697\u5224\u636E\uFF1B\u63D2\u4EF6\u7981\u6B62\u7528 prefers-color-scheme \u2014\u2014 \u5B83\u8DDF\u7684\u662F\u7CFB\u7EDF\u3001\u4E0D\u662F\u7528\u6237\u5728\u5BBF\u4E3B\u91CC\u7684\u9009\u62E9\uFF09\u3002
|
|
210
210
|
\u4E0B\u9762\u53EA\u653E alias \u8868\u8FBE\u4E0D\u4E86\u7684\u300C\u56FA\u5B9A\u4E2D\u6027\u9762\u300D\uFF1B\u989C\u8272\u82E5\u80FD\u9760 alias \u81EA\u52A8\u8DDF\u968F\uFF0C\u4E00\u5F8B\u4E0D\u8981\u5199\u5728\u8FD9\u91CC\u3002 */
|
|
211
211
|
body[data-ds-dark-theme]{
|
|
212
|
-
--
|
|
213
|
-
--
|
|
212
|
+
--dshpc-solid:var(--dsw-static-neutral-900,#0f0f0f);
|
|
213
|
+
--dshpc-on-solid:var(--dsw-static-neutral-00,#fff);
|
|
214
214
|
/* \u6697\u8272 hover \u63BA\u767D 14% / active 24%\uFF08\u5BF9\u9F50\u4E0A\u9762 2026-10-18 \u7684\u52A0\u91CD\u62CD\u677F\uFF09\u3002rgba \u515C\u5E95\u884C\u540C\u4E0A\u3002 */
|
|
215
|
-
--
|
|
216
|
-
--
|
|
217
|
-
--
|
|
218
|
-
--
|
|
219
|
-
--
|
|
220
|
-
--
|
|
221
|
-
--
|
|
222
|
-
--
|
|
215
|
+
--dshpc-hover:rgba(255,255,255,.14);
|
|
216
|
+
--dshpc-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 14%,transparent);
|
|
217
|
+
--dshpc-active:rgba(255,255,255,.24);
|
|
218
|
+
--dshpc-active:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 24%,transparent);
|
|
219
|
+
--dshpc-plate:var(--dsw-static-neutral-850,#212123);
|
|
220
|
+
--dshpc-plate-hover:var(--dsw-static-neutral-800,#292929);
|
|
221
|
+
--dshpc-icon-plate:rgba(255,255,255,.05);
|
|
222
|
+
--dshpc-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 5%,transparent);
|
|
223
223
|
/* \u6697\u8272\u4E3B\u9898**\u53CD\u8FC7\u6765**\uFF1A\u8868\u5934\u8981\u6BD4\u5361\u7247\u9762**\u4EAE**\u3001\u6BD4\u6591\u9A6C\u7EB9\u518D**\u6D45\u4E00\u6863**\uFF08\u7528\u6237\uFF1A\u7EAF\u9ED1\u80CC\u666F\u6CA1\u6CD5\u770B\uFF09\u3002 */
|
|
224
|
-
--
|
|
224
|
+
--dshpc-head-bg:var(--dshpc-surface-2);
|
|
225
225
|
/* \u6697\u8272\u5E95\u677F**\u5FAE\u4EAE**\uFF1Bhover **\u66F4\u4EAE**\uFF08\u539F\u5148 hover \u53D6 plate-hover \u53CD\u800C\u66F4\u6DE1 \u21D2 \u9F20\u6807\u79FB\u4E0A\u53BB\u5C31\u6CA1\u4E86\uFF09\u3002 */
|
|
226
|
-
--
|
|
227
|
-
--
|
|
228
|
-
--
|
|
229
|
-
--
|
|
226
|
+
--dshpc-chip-bg:rgba(255,255,255,.08);
|
|
227
|
+
--dshpc-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 8%,transparent);
|
|
228
|
+
--dshpc-chip-bg-hover:rgba(255,255,255,.16);
|
|
229
|
+
--dshpc-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 16%,transparent);
|
|
230
230
|
/* \u6697\u8272\u4E0B\u84DD\u8272\u8981\u66F4\u4EAE\u3001\u900F\u660E\u5EA6\u7565\u9AD8\u624D\u538B\u5F97\u4F4F\u6DF1\u5E95\u3002 */
|
|
231
|
-
--
|
|
232
|
-
--
|
|
233
|
-
--
|
|
231
|
+
--dshpc-open-bg:rgba(96,165,250,.18);
|
|
232
|
+
--dshpc-open-bg-soft:rgba(96,165,250,.08);
|
|
233
|
+
--dshpc-card-hover:rgba(96,165,250,.13);
|
|
234
234
|
/* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF08\u6DF1\u8272\u7248\uFF09\uFF1A\u7528\u6237\u5ACC\u6DF1\u8272\u7684\u7EFF / \u7EA2\u300C\u6709\u70B9\u6DF1\u300D\u21D2 \u538B\u5230 **5%**\uFF08\u6D45\u8272\u6BB5\u662F 8%\uFF09\uFF0C
|
|
235
235
|
\u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u8272\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF1B\u5757\u5E95\u4E0E\u72B6\u6001\u8272\u7AD6\u6761\u4ECD\u540C\u6E90\uFF08\u7AD6\u6761\u662F\u5B9E\u8272\uFF0C\u4E0D\u53D7\u8FD9\u6761\u5F71\u54CD\uFF09\u3002 */
|
|
236
|
-
--
|
|
237
|
-
--
|
|
238
|
-
--
|
|
239
|
-
--
|
|
240
|
-
/* \u300C\u9009\u4E2D\u9762\u300D\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u63BA **~40% \u80CC\u666F\u8272**\uFF08--
|
|
236
|
+
--dshpc-success-soft:color-mix(in srgb,var(--dshpc-success) 5%,transparent);
|
|
237
|
+
--dshpc-warning-soft:color-mix(in srgb,var(--dshpc-warning) 5%,transparent);
|
|
238
|
+
--dshpc-danger-soft:color-mix(in srgb,var(--dshpc-danger) 5%,transparent);
|
|
239
|
+
--dshpc-business-soft:color-mix(in srgb,var(--dshpc-business) 5%,transparent);
|
|
240
|
+
/* \u300C\u9009\u4E2D\u9762\u300D\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u63BA **~40% \u80CC\u666F\u8272**\uFF08--dshpc-surface-base\uFF09\u21D2 \u65E0\u9650\u63A5\u8FD1\u9875\u9762\u80CC\u666F\u7684\u9ED1\u3001
|
|
241
241
|
\u53EA\u6BD4\u80CC\u666F\u7565\u6DF1\u4E00\u70B9\u70B9\uFF08\u7528\u6237\uFF1A\u6DF1\u8272\u4E0B\u5C55\u5F00\u533A\u538B\u7740\u4EFB\u52A1\u900F\u660E\u7EFF\u4F1A\u53D1\u7070\uFF0C\u5E95\u8272\u8981\u5C3D\u91CF\u8D34\u8FD1\u80CC\u666F\u624D\u4E0D\u663E\u7070\uFF09\u3002
|
|
242
242
|
\u26A0\uFE0F \u6DF1\u8272\u4E0B\u4E0D\u80FD\u63BA\u6587\u5B57\u8272 \u2014\u2014 \u90A3\u662F\u767D\uFF0C\u4F1A\u53D8\u4EAE\uFF0C\u9009\u4E2D\u53CD\u800C\u6BD4\u672C\u6708\u65E5\u671F\u6D45\u3002 */
|
|
243
|
-
--
|
|
243
|
+
--dshpc-selected-bg:color-mix(in srgb,var(--dshpc-surface-1) 60%,var(--dshpc-surface-base));
|
|
244
244
|
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u7684\u9ED8\u8BA4\u5E95\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u6DF1\u7684\u3001\u5E26\u70B9\u7070\u84DD\u7684\u6697\u8272\uFF08\u7528\u6237\u7ED9\u7684\u53C2\u8003\u56FE \u2248 #23262e\uFF09\uFF0C
|
|
245
|
-
\u6BD4\u539F\u6765\u7684\u5361\u7247\u9762\u66F4\u6C89\u3001\u66F4\u504F\u84DD\u7070\uFF1B\u9009\u4E2D\u683C\u4ECD\u8D70 --
|
|
246
|
-
--
|
|
247
|
-
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06\uFF09\uFF1A\u539F\u5148\u8D70 --
|
|
245
|
+
\u6BD4\u539F\u6765\u7684\u5361\u7247\u9762\u66F4\u6C89\u3001\u66F4\u504F\u84DD\u7070\uFF1B\u9009\u4E2D\u683C\u4ECD\u8D70 --dshpc-selected-bg\uFF08\u66F4\u6697\u4E00\u6863\uFF09\uFF0C\u5C42\u7EA7\u4E0D\u53D8\u3002 */
|
|
246
|
+
--dshpc-cal-cell-bg:#23262e;
|
|
247
|
+
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06\uFF09\uFF1A\u539F\u5148\u8D70 --dshpc-hover\uFF08\u5BBF\u4E3B\u6D45\u8272\u53E0\u52A0\uFF09\u5728\u6DF1\u5E95\u4E0A\u663E\u5F97
|
|
248
248
|
\u300C\u7070\u53D1\u4EAE\u300D\uFF0C\u4E0D\u597D\u770B \u21D2 \u6362\u6210\u66F4\u8D34\u5E95\u7684\u84DD\u8C03\u5FAE\u4EAE\uFF08\u4E0E open-bg-soft \u540C\u65CF\uFF09\uFF0Chover \u65F6\u4E0D\u523A\u773C\u3001\u53C8\u6709\u53CD\u9988\u3002 */
|
|
249
|
-
--
|
|
249
|
+
--dshpc-cal-cell-hover:rgba(96,165,250,.12);
|
|
250
250
|
/* \u4EFB\u52A1\u65E5\u7A0B\u9875\u5C55\u5F00\u9762\u677F\u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06 \u7EED\uFF09\uFF1A\u4E0E\u539F selected-bg \u6697\u503C\u4E00\u81F4\uFF0C\u6DF1\u8272 UI \u4E0D\u52A8 */
|
|
251
|
-
--
|
|
251
|
+
--dshpc-cal-panel-bg:color-mix(in srgb,var(--dshpc-surface-1) 60%,var(--dshpc-surface-base));
|
|
252
252
|
}
|
|
253
253
|
\``;
|
|
254
254
|
|
|
255
255
|
// dist/design/style-kit.js
|
|
256
|
-
var
|
|
256
|
+
var CSS_PREFIX = "dshpc";
|
|
257
257
|
var TOKENS_DOMAIN = "tokens";
|
|
258
|
-
var PREFIX_RE = /^[a-zA-Z][a-zA-Z0-9-]*$/;
|
|
259
|
-
function buildTokensCss(prefix) {
|
|
260
|
-
assertPrefix(prefix);
|
|
261
|
-
return TOKENS_CSS_TEMPLATE.split(SOURCE_PREFIX).join(`--${prefix}-`);
|
|
262
|
-
}
|
|
263
|
-
function assertPrefix(prefix) {
|
|
264
|
-
if (!PREFIX_RE.test(prefix)) {
|
|
265
|
-
throw new Error(`dsh-plugin-core/design: prefix \u5FC5\u987B\u662F\u5B57\u6BCD\u5F00\u5934\u3001\u53EA\u542B\u5B57\u6BCD\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF0C\u6536\u5230 ${JSON.stringify(prefix)}`);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
258
|
function createStyleKit(options) {
|
|
269
|
-
const { id
|
|
270
|
-
assertPrefix(prefix);
|
|
259
|
+
const { id } = options;
|
|
271
260
|
if (id === "")
|
|
272
261
|
throw new Error("dsh-plugin-core/design: id \u4E0D\u80FD\u4E3A\u7A7A");
|
|
273
|
-
const tokensCss =
|
|
262
|
+
const tokensCss = TOKENS_CSS_TEMPLATE;
|
|
274
263
|
const domains = /* @__PURE__ */ new Map();
|
|
275
264
|
let tag = null;
|
|
276
265
|
let dirty = true;
|
|
277
|
-
const
|
|
266
|
+
const composeCss = () => {
|
|
278
267
|
const entries = [...domains.entries()];
|
|
279
268
|
entries.sort((a, b) => a[0] === TOKENS_DOMAIN ? -1 : b[0] === TOKENS_DOMAIN ? 1 : 0);
|
|
280
269
|
return entries.map(([, css]) => css).join("\n");
|
|
@@ -282,7 +271,7 @@ function createStyleKit(options) {
|
|
|
282
271
|
const flush = () => {
|
|
283
272
|
if (tag === null)
|
|
284
273
|
return;
|
|
285
|
-
tag.textContent =
|
|
274
|
+
tag.textContent = composeCss();
|
|
286
275
|
dirty = false;
|
|
287
276
|
};
|
|
288
277
|
const ensureStyles = () => {
|
|
@@ -311,11 +300,11 @@ function createStyleKit(options) {
|
|
|
311
300
|
return;
|
|
312
301
|
domains.set(domain, css);
|
|
313
302
|
dirty = true;
|
|
314
|
-
if (tag
|
|
303
|
+
if (tag?.isConnected === true)
|
|
315
304
|
flush();
|
|
316
305
|
};
|
|
317
306
|
const dispose = () => {
|
|
318
|
-
if (tag
|
|
307
|
+
if (tag?.isConnected === true)
|
|
319
308
|
tag.remove();
|
|
320
309
|
tag = null;
|
|
321
310
|
domains.clear();
|
|
@@ -323,9 +312,8 @@ function createStyleKit(options) {
|
|
|
323
312
|
};
|
|
324
313
|
return {
|
|
325
314
|
id,
|
|
326
|
-
prefix,
|
|
327
315
|
tokensCss,
|
|
328
|
-
cssVar: (name) => `--${
|
|
316
|
+
cssVar: (name) => `--${CSS_PREFIX}-${name}`,
|
|
329
317
|
registerStyle,
|
|
330
318
|
ensureStyles,
|
|
331
319
|
dispose,
|
|
@@ -349,104 +337,104 @@ var SEGMENTED_CSS = `
|
|
|
349
337
|
\u51E0\u4F55 = \u6BB5\u9AD8 = token \u2212 6px\uFF08\u4E0A\u4E0B\u5404 2px padding + 1px \u8FB9\u6846\uFF09\uFF1Bdefault \u771F\u8FB9\u6846 1px + padding 2px\uFF0C
|
|
350
338
|
inset \u65E0\u8FB9\u6846\u6545 padding \u6536 3px \u628A\u7F3A\u7684 1px \u8865\u56DE\uFF0C\u4E24\u79CD\u5916\u89C2\u603B\u9AD8\u90FD == token\uFF0824/28/32\uFF09\uFF0C\u4E0D\u518D\u591A +2px\u3002
|
|
351
339
|
\u4EE5\u540E Button / Input \u7684\u6709\u8FB9 / \u65E0\u8FB9\u540C\u6B64\u89C4\u5219\u3002 */
|
|
352
|
-
.
|
|
353
|
-
/* \u9009\u4E2D\u7247 = --
|
|
340
|
+
.dshpc-seg{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--dshpc-radius-md);background:var(--seg-track);}
|
|
341
|
+
/* \u9009\u4E2D\u7247 = --dshpc-solid\uFF08\u4EAE=\u767D\u7247 / \u6697=\u9ED1\u7247\uFF0C2026-10-18 \u5BF9\u9F50\u771F\u5B9E\u63D2\u4EF6\u622A\u56FE\uFF09\u3002
|
|
354
342
|
\u539F\u5148\u53D6 surface-raised \u21D2 \u4E0E\u5361\u7247\u5E95\uFF08\u540C\u4E3A bg-layer-1\uFF09\u540C\u8272\uFF0C\u9009\u4E2D\u7247\u5728\u5361\u4E0A\u9690\u5F62\u3001\u53EA\u5269\u9634\u5F71\u5708\u3002 */
|
|
355
|
-
.
|
|
356
|
-
.
|
|
343
|
+
.dshpc-seg--default{--seg-track:var(--dshpc-surface-2);--seg-thumb:var(--dshpc-solid);border:1px solid var(--dshpc-border);}
|
|
344
|
+
.dshpc-seg--inset{--seg-track:var(--dshpc-hover);--seg-thumb:var(--dshpc-solid);border:0;padding:3px;}
|
|
357
345
|
|
|
358
|
-
.
|
|
359
|
-
height:calc(var(--
|
|
360
|
-
background:transparent;color:var(--
|
|
346
|
+
.dshpc-seg__item{appearance:none;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;
|
|
347
|
+
height:calc(var(--dshpc-control-h-sm) - 6px);padding:0 12px;border:0;border-radius:var(--dshpc-radius-sm);
|
|
348
|
+
background:transparent;color:var(--dshpc-fg-2);font-family:inherit;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);
|
|
361
349
|
font-weight:400;white-space:nowrap;cursor:pointer;
|
|
362
|
-
transition:color var(--
|
|
363
|
-
.
|
|
364
|
-
.
|
|
365
|
-
.
|
|
366
|
-
.
|
|
367
|
-
.
|
|
368
|
-
.
|
|
350
|
+
transition:color var(--dshpc-dur-fast) var(--dshpc-ease),background-color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
351
|
+
.dshpc-seg--md .dshpc-seg__item{height:calc(var(--dshpc-control-h-md) - 6px);}
|
|
352
|
+
.dshpc-seg--lg .dshpc-seg__item{height:calc(var(--dshpc-control-h-lg) - 6px);}
|
|
353
|
+
.dshpc-seg__item:hover:not([aria-pressed='true']):not(:disabled){color:var(--dshpc-fg);}
|
|
354
|
+
.dshpc-seg__item[aria-pressed='true']{background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);color:var(--dshpc-fg);font-weight:600;}
|
|
355
|
+
.dshpc-seg__item:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}
|
|
356
|
+
.dshpc-seg__item:disabled{cursor:default;opacity:.4;}
|
|
369
357
|
|
|
370
358
|
/* \u6BB5\u5185\u89D2\u6807\uFF08\u5982\u300C\u5F02\u5E38\u300D\u7684\u6570\u91CF\uFF09\uFF1A\u8BED\u4E49\u8272\u5B9E\u9762 + \u53CD\u767D\u5B57\uFF0C0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002
|
|
371
359
|
\u26A0\uFE0F **\u5FC5\u987B\u662F\u6B63\u5706**\uFF08\u7528\u6237 2026-10-03\uFF1A\u300C\u591A\u4F4D\u6570\u7ED9\u5B83\u6491\u5F00\u4E86\uFF0C\u90A3\u4E0D\u662F\u5706\u7684\u5C31\u6CA1\u529E\u6CD5\u4E86\u300D\uFF09\uFF1A
|
|
372
360
|
\u56FA\u5B9A 16\xD716 + border-radius:50% + padding:0 + overflow:hidden \u21D2 \u4E00\u4F4D\u6570 / \u4E24\u4F4D\u6570\u90FD\u662F\u540C\u4E00\u4E2A\u5706\uFF0C
|
|
373
361
|
\u6570\u5B57\u7F29\u5230 10px \u585E\u5F97\u4E0B\uFF1B\u4E0D\u518D\u7528 min-width + \u5DE6\u53F3 padding\uFF08\u90A3\u4F1A\u8BA9\u5BBD\u5EA6\u968F\u4F4D\u6570\u589E\u957F\u53D8\u692D\u5706\uFF09\u3002 */
|
|
374
|
-
.
|
|
362
|
+
.dshpc-seg__badge{display:inline-flex;align-items:center;justify-content:center;flex:none;
|
|
375
363
|
width:16px;height:16px;padding:0;overflow:hidden;
|
|
376
|
-
border-radius:50%;background:var(--
|
|
364
|
+
border-radius:50%;background:var(--dshpc-danger);color:var(--dshpc-on-signal);
|
|
377
365
|
font-size:10px;line-height:16px;font-weight:500;font-variant-numeric:tabular-nums;}
|
|
378
366
|
|
|
379
367
|
/* \u6BB5\u5185\u4E2D\u6027\u8BA1\u6570\uFF08\u5982\u7B5B\u9009\u6761\u300C\u5168\u90E8 11\u300D\uFF09\uFF1A**\u7EAF\u6587\u5B57\uFF0C\u65E0\u5E95\u3001\u65E0\u8FB9\u3001\u65E0\u5706\u89D2**\uFF08\u5BF9\u9F50 task-ledger 2026-10-18
|
|
380
368
|
\u62CD\u677F\u7684 .dtl-seg__num\uFF1A\u5706\u5708\u53D6\u4E86\u3001\u5B57\u518D\u5C0F\u70B9\uFF09\uFF1B0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002danger \u89D2\u6807\u4ECD\u8D70 __badge\u3002 */
|
|
381
|
-
.
|
|
382
|
-
background:none;color:var(--
|
|
369
|
+
.dshpc-seg__count{display:inline;flex:none;margin-left:3px;padding:0;border:0;border-radius:0;
|
|
370
|
+
background:none;color:var(--dshpc-fg-3);font-size:10px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;}
|
|
383
371
|
|
|
384
372
|
/* block\uFF1A\u6491\u6EE1\u7236\u5BBD\uFF08\u8868\u5355\u884C\u7528\uFF09\uFF0C\u5404\u6BB5\u7B49\u5206 */
|
|
385
|
-
.
|
|
386
|
-
.
|
|
373
|
+
.dshpc-seg--block{display:flex;width:100%;}
|
|
374
|
+
.dshpc-seg--block .dshpc-seg__item{flex:1 1 auto;justify-content:center;}
|
|
387
375
|
|
|
388
376
|
/* weekday\uFF1A\u661F\u671F\u591A\u9009\u65B9\u5757\uFF08\u4EFB\u52A1\u65B0\u589E / \u7F16\u8F91\u9875\uFF09\u3002\u57FA\u7840\u63D2\u4EF6\u7684\u7279\u6B8A\u5316\u5B9A\u5236\uFF08\u7528\u6237 2026-10-01 \u660E\u786E\u8981\u6C42\uFF1A
|
|
389
377
|
\u539F WeekdayPicker \u5373\u300C\u84DD\u5E95 + \u8FD1\u4F3C\u65B9\u5F62\u300D\uFF0C\u7EDF\u4E00\u5230 Segmented \u540E\u7531\u8FD9\u4E00\u4FEE\u9970\u7C7B\u8865\u56DE\u4E24\u5904\u5DEE\u5F02\uFF09\uFF1A
|
|
390
378
|
- \u6BCF\u683C\u505A\u6210\u6B63\u65B9\u5F62\uFF08\u5BBD = \u6BB5\u9AD8\uFF09\uFF1B
|
|
391
|
-
- \u9009\u4E2D\u6001\u7528\u54C1\u724C\u84DD\uFF08--
|
|
392
|
-
\u76AE\u80A4\u96C6\u4E2D\u5728\u6B64\u3001\u4E0D\u5185\u8054\uFF1B\u8C03\u7528\u70B9\u53EA\u6302 .
|
|
379
|
+
- \u9009\u4E2D\u6001\u7528\u54C1\u724C\u84DD\uFF08--dshpc-business\uFF09\u3001\u53CD\u767D\u5B57\uFF0C\u8F68\u9053\u7528 hover \u7070\uFF08\u4E0E\u539F\u81EA\u7ED8\u8F68\u9053\u4E00\u81F4\uFF09\u3002
|
|
380
|
+
\u76AE\u80A4\u96C6\u4E2D\u5728\u6B64\u3001\u4E0D\u5185\u8054\uFF1B\u8C03\u7528\u70B9\u53EA\u6302 .dshpc-seg--weekday \u4E00\u4E2A\u4FEE\u9970\u7C7B\uFF0C\u7B26\u5408\u300C\u76AE\u80A4\u53EA\u5728 controls-css\u300D\u7684\u89C4\u77E9\u3002 */
|
|
393
381
|
/* weekday\uFF1A\u661F\u671F\u591A\u9009\u65B9\u5757\uFF08\u4EFB\u52A1\u65B0\u589E / \u7F16\u8F91\u9875\uFF09\u3002\u57FA\u7840\u63D2\u4EF6\u7684\u7279\u6B8A\u5316\u5B9A\u5236\uFF08\u7528\u6237 2026-10-01 \u660E\u786E\u8981\u6C42\uFF1A
|
|
394
382
|
\u539F WeekdayPicker \u5373\u300C\u84DD\u5E95 + \u8FD1\u4F3C\u65B9\u5F62\u300D\uFF0C\u7EDF\u4E00\u5230 Segmented \u540E\u7531\u8FD9\u4E00\u4FEE\u9970\u7C7B\u8865\u56DE\u4E24\u5904\u5DEE\u5F02\uFF09\uFF1A
|
|
395
383
|
- \u6BCF\u683C\u505A\u6210\u6B63\u65B9\u5F62\uFF08\u5BBD = \u6BB5\u9AD8\uFF09\uFF1B
|
|
396
|
-
- \u9009\u4E2D\u6001\u7528\u54C1\u724C\u84DD\uFF08--
|
|
384
|
+
- \u9009\u4E2D\u6001\u7528\u54C1\u724C\u84DD\uFF08--dshpc-business\uFF09\u3001\u53CD\u767D\u5B57\uFF0C\u8F68\u9053\u7528 hover \u7070\uFF08\u4E0E\u539F\u81EA\u7ED8\u8F68\u9053\u4E00\u81F4\uFF09\u3002
|
|
397
385
|
2026-10-18 \u7528\u6237\u91CD\u7533\uFF08\u5BF9\u9F50\u771F\u5B9E\u622A\u56FE\uFF09\uFF1A**\u65E0\u5916\u63CF\u8FB9**\uFF08\u4E0D\u7BA1\u6302\u54EA\u4E2A variant\uFF0C\u8FD9\u91CC\u4E00\u5F8B\u64A4\u8FB9\uFF09\uFF0C
|
|
398
386
|
\u4E14\u65B9\u5757\u4E4B\u95F4\u8981\u6709\u95F4\u8DDD\uFF08gap 6px\uFF0C\u4E0D\u518D 2px \u6324\u6210\u4E00\u5768\uFF09\u3002 */
|
|
399
|
-
.
|
|
400
|
-
.
|
|
401
|
-
.
|
|
387
|
+
.dshpc-seg--weekday{--seg-track:var(--dshpc-hover);gap:6px;border:0;padding:3px;}
|
|
388
|
+
.dshpc-seg--weekday .dshpc-seg__item{width:calc(var(--dshpc-control-h-lg) - 6px);padding:0;justify-content:center;}
|
|
389
|
+
.dshpc-seg--weekday .dshpc-seg__item[aria-pressed='true']{background:var(--dshpc-business);color:var(--dshpc-fg-inverse);box-shadow:var(--dshpc-shadow-raised);}
|
|
402
390
|
|
|
403
|
-
@media (prefers-reduced-motion: reduce){.
|
|
391
|
+
@media (prefers-reduced-motion: reduce){.dshpc-seg__item{transition:none;}}
|
|
404
392
|
`;
|
|
405
393
|
var BUTTON_CSS = `
|
|
406
394
|
/* \u2500\u2500 \u6309\u94AE / \u56FE\u6807\u94AE P2 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
407
|
-
\u4E0E Segmented \u540C\u4E00\u6761\u9AD8\u5EA6\u7EAA\u5F8B\uFF1A--
|
|
395
|
+
\u4E0E Segmented \u540C\u4E00\u6761\u9AD8\u5EA6\u7EAA\u5F8B\uFF1A--dshpc-control-h-sm(24) / -md(28) / -lg(32)\uFF0C
|
|
408
396
|
\u6709\u8FB9\u6846\u7684 variant \u7528 1px \u771F\u8FB9\u6846 + \u5185\u90E8 padding \u8865\u56DE\uFF0C**\u6709\u8FB9 / \u65E0\u8FB9\u540C\u9AD8**\u3002
|
|
409
397
|
variant \u53EA\u6362\u989C\u8272\uFF0C\u7ED3\u6784 / \u5C3A\u5BF8 / \u4EA4\u4E92\u53EA\u6B64\u4E00\u4EFD\u3002 */
|
|
410
|
-
.
|
|
411
|
-
box-sizing:border-box;border:1px solid transparent;border-radius:var(--
|
|
412
|
-
background:transparent;color:var(--
|
|
413
|
-
transition:background-color var(--
|
|
414
|
-
.
|
|
415
|
-
.
|
|
416
|
-
.
|
|
417
|
-
.
|
|
418
|
-
|
|
419
|
-
.
|
|
420
|
-
.
|
|
421
|
-
.
|
|
422
|
-
.
|
|
423
|
-
.
|
|
424
|
-
.
|
|
425
|
-
.
|
|
426
|
-
.
|
|
398
|
+
.dshpc-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--dshpc-space-1);
|
|
399
|
+
box-sizing:border-box;border:1px solid transparent;border-radius:var(--dshpc-radius-md);
|
|
400
|
+
background:transparent;color:var(--dshpc-fg);font-family:inherit;font-weight:500;white-space:nowrap;cursor:pointer;
|
|
401
|
+
transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),border-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease),opacity var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
402
|
+
.dshpc-btn--sm{height:var(--dshpc-control-h-sm);padding:0 10px;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);}
|
|
403
|
+
.dshpc-btn--md{height:var(--dshpc-control-h-md);padding:0 12px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
404
|
+
.dshpc-btn--lg{height:var(--dshpc-control-h-lg);padding:0 14px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
405
|
+
.dshpc-btn__icon{display:inline-flex;align-items:center;flex:none;}
|
|
406
|
+
|
|
407
|
+
.dshpc-btn--primary{background:var(--dshpc-accent);color:var(--dshpc-fg-inverse);}
|
|
408
|
+
.dshpc-btn--primary:hover:not(:disabled){opacity:.9;}
|
|
409
|
+
.dshpc-btn--outline{background:var(--dshpc-surface-1);border-color:var(--dshpc-border-strong);color:var(--dshpc-fg);}
|
|
410
|
+
.dshpc-btn--outline:hover:not(:disabled){background:var(--dshpc-hover);}
|
|
411
|
+
.dshpc-btn--ghost{color:var(--dshpc-fg-2);}
|
|
412
|
+
.dshpc-btn--ghost:hover:not(:disabled){background:var(--dshpc-hover);color:var(--dshpc-fg);}
|
|
413
|
+
.dshpc-btn--danger{background:var(--dshpc-danger);color:var(--dshpc-on-signal);}
|
|
414
|
+
.dshpc-btn--danger:hover:not(:disabled){opacity:.9;}
|
|
427
415
|
/* danger-ink\uFF1A\u7EA2\u5B57\u63CF\u8FB9\uFF08\u7834\u574F\u6027\u6B21\u8981\u64CD\u4F5C\uFF0C\u5982\u5361\u7247\u4E0A\u7684\u300C\u5220\u9664\u300D\uFF09\uFF0C\u6302\u4E0E outline \u7EC4\u5408\u7684\u4FEE\u9970\u7C7B */
|
|
428
|
-
.
|
|
429
|
-
.
|
|
416
|
+
.dshpc-btn--danger-ink{border-color:var(--dshpc-danger);color:var(--dshpc-danger);}
|
|
417
|
+
.dshpc-btn--danger-ink:hover:not(:disabled){background:color-mix(in srgb,var(--dshpc-danger) 10%,transparent);color:var(--dshpc-danger);}
|
|
430
418
|
/* link\uFF1A\u884C\u5185\u6587\u5B57\u94FE\u63A5\u578B\uFF08\u4F1A\u8BDD / \u4EA7\u51FA\u6587\u4EF6\u540D\uFF09\uFF0C\u65E0\u5E95\u65E0\u8FB9\u3001\u54C1\u724C\u84DD\u3001hover \u4E0B\u5212\u7EBF */
|
|
431
|
-
.
|
|
432
|
-
.
|
|
433
|
-
.
|
|
434
|
-
.
|
|
419
|
+
.dshpc-btn--link{height:auto;padding:0;border:0;background:none;color:var(--dshpc-link);font-weight:400;text-align:left;}
|
|
420
|
+
.dshpc-btn--link:hover:not(:disabled){background:none;color:var(--dshpc-link);text-decoration:underline;}
|
|
421
|
+
.dshpc-btn:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}
|
|
422
|
+
.dshpc-btn:disabled{cursor:default;opacity:.5;}
|
|
435
423
|
|
|
436
|
-
.
|
|
437
|
-
border:1px solid transparent;border-radius:var(--
|
|
424
|
+
.dshpc-iconbtn{appearance:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
|
|
425
|
+
border:1px solid transparent;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);
|
|
438
426
|
font-family:inherit;cursor:pointer;flex:none;
|
|
439
|
-
transition:background-color var(--
|
|
440
|
-
.
|
|
441
|
-
.
|
|
442
|
-
.
|
|
443
|
-
.
|
|
444
|
-
.
|
|
445
|
-
.
|
|
446
|
-
.
|
|
447
|
-
.
|
|
448
|
-
.
|
|
449
|
-
.
|
|
427
|
+
transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),border-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease),opacity var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
428
|
+
.dshpc-iconbtn--sm{width:var(--dshpc-control-h-sm);height:var(--dshpc-control-h-sm);font-size:var(--dshpc-font-sm);}
|
|
429
|
+
.dshpc-iconbtn--md{width:var(--dshpc-control-h-md);height:var(--dshpc-control-h-md);font-size:var(--dshpc-font-md);}
|
|
430
|
+
.dshpc-iconbtn--lg{width:var(--dshpc-control-h-lg);height:var(--dshpc-control-h-lg);font-size:var(--dshpc-font-md);}
|
|
431
|
+
.dshpc-iconbtn--plain{color:var(--dshpc-fg-2);}
|
|
432
|
+
.dshpc-iconbtn--outline{background:var(--dshpc-surface-1);border-color:var(--dshpc-border);color:var(--dshpc-fg-2);}
|
|
433
|
+
.dshpc-iconbtn--danger{color:var(--dshpc-danger);}
|
|
434
|
+
.dshpc-iconbtn:hover:not(:disabled){background:var(--dshpc-hover);color:var(--dshpc-fg);}
|
|
435
|
+
.dshpc-iconbtn--danger:hover:not(:disabled){background:var(--dshpc-hover);color:var(--dshpc-danger);}
|
|
436
|
+
.dshpc-iconbtn:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}
|
|
437
|
+
.dshpc-iconbtn:disabled{cursor:default;opacity:.4;}
|
|
450
438
|
|
|
451
439
|
/* \u2500\u2500 \u884C\u5F0F\u6587\u4EF6\u6309\u94AE\uFF08\u56FE\u6807 + \u6587\u4EF6\u540D\uFF09P2\uFF1A**\u5168\u7AD9\u552F\u4E00\u5B9E\u73B0**\uFF082026-10-04 \u6536\u7F16\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
452
440
|
\u7528\u9014\uFF1A\u300C\u4EA7\u51FA\u7269 / \u9644\u4EF6\u300D\u90A3\u79CD**\u4E00\u884C\u4E00\u4E2A\u6587\u4EF6**\u7684\u6E05\u5355\u9879\uFF08\u57FA\u7840\u4FE1\u606F\u53F3\u680F\u4EA7\u51FA\u7269\u6E05\u5355\u3001\u9644\u4EF6\u533A\u3001
|
|
@@ -454,425 +442,422 @@ var BUTTON_CSS = `
|
|
|
454
442
|
\u4E24\u4E2A\u5F62\u6001\u4FEE\u9970\u7C7B\uFF1A
|
|
455
443
|
--block \u6491\u6EE1\u7236\u5BBD\uFF08\u6E05\u5355\u91CC\u4E00\u9879\u4E00\u884C\uFF09
|
|
456
444
|
--inline \u5185\u5BB9\u5BBD\uFF08\u8DDF\u5728\u6587\u5B57\u540E\u5934\uFF0C\u5982\u9644\u4EF6\u884C\uFF09
|
|
457
|
-
\u6536\u7F16\u539F\u56E0\uFF1A\u8FD9\u4EFD\u76AE\u80A4\u6B64\u524D\u53EA\u5199\u5728 task-list.tsx \u7684 TASK_LIST_CSS \u91CC\uFF08\u65E7\u540D .
|
|
445
|
+
\u6536\u7F16\u539F\u56E0\uFF1A\u8FD9\u4EFD\u76AE\u80A4\u6B64\u524D\u53EA\u5199\u5728 task-list.tsx \u7684 TASK_LIST_CSS \u91CC\uFF08\u65E7\u540D .dshpc-info-out\uFF09\uFF0C
|
|
458
446
|
\u6267\u884C\u8BB0\u5F55\u9875\u5C55\u5F00\u533A\u8981\u7528\u540C\u4E00\u79CD\u89C2\u611F \u21D2 \u4E0A\u63D0\u57FA\u7840\u5C42\uFF0C\u907F\u514D\u518D\u51FA\u73B0\u300C\u5404\u5199\u4E00\u4EFD\u5916\u89C2\u300D\uFF08\u540C\u540D\u4E0D\u540C\u76AE\u7684\u5751\u521A\u8E29\u8FC7\uFF09\u3002 */
|
|
459
|
-
.
|
|
460
|
-
background:transparent;color:var(--
|
|
461
|
-
transition:background-color var(--
|
|
462
|
-
.
|
|
463
|
-
.
|
|
464
|
-
.
|
|
465
|
-
.
|
|
466
|
-
padding:4px 6px;font-size:var(--
|
|
467
|
-
.
|
|
468
|
-
|
|
469
|
-
@media (prefers-reduced-motion: reduce){.
|
|
447
|
+
.dshpc-filechip{appearance:none;-webkit-appearance:none;border:0;border-radius:var(--dshpc-radius-xs);
|
|
448
|
+
background:transparent;color:var(--dshpc-fg);font:inherit;text-align:left;cursor:pointer;min-width:0;
|
|
449
|
+
transition:background-color var(--dshpc-dur) var(--dshpc-ease);}
|
|
450
|
+
.dshpc-filechip:hover:not(:disabled){background:var(--dshpc-chip-bg);}
|
|
451
|
+
.dshpc-filechip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px;}
|
|
452
|
+
.dshpc-filechip:disabled{cursor:default;background:transparent;color:var(--dshpc-fg-3);}
|
|
453
|
+
.dshpc-filechip--block{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;
|
|
454
|
+
padding:4px 6px;font-size:var(--dshpc-font-xs);}
|
|
455
|
+
.dshpc-filechip--inline{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:var(--dshpc-font-sm);}
|
|
456
|
+
|
|
457
|
+
@media (prefers-reduced-motion: reduce){.dshpc-btn,.dshpc-iconbtn,.dshpc-filechip{transition:none;}}
|
|
470
458
|
`;
|
|
471
459
|
var FIELD_CSS = `
|
|
472
460
|
/* \u2500\u2500 \u8F93\u5165\u7C7B P3 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
473
|
-
.
|
|
474
|
-
background:var(--
|
|
475
|
-
transition:border-color var(--
|
|
476
|
-
.
|
|
477
|
-
.
|
|
478
|
-
.
|
|
479
|
-
.
|
|
480
|
-
.
|
|
481
|
-
.
|
|
482
|
-
.
|
|
483
|
-
|
|
484
|
-
.
|
|
485
|
-
border:1px solid var(--
|
|
486
|
-
.
|
|
487
|
-
.
|
|
488
|
-
.
|
|
461
|
+
.dshpc-input{box-sizing:border-box;border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);
|
|
462
|
+
background:var(--dshpc-surface-1);color:var(--dshpc-fg);font-family:inherit;outline:none;
|
|
463
|
+
transition:border-color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
464
|
+
.dshpc-input--sm{height:var(--dshpc-control-h-sm);padding:0 8px;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);}
|
|
465
|
+
.dshpc-input--md{height:var(--dshpc-control-h-md);padding:0 10px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
466
|
+
.dshpc-input--lg{height:var(--dshpc-control-h-lg);padding:0 12px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
467
|
+
.dshpc-input::placeholder{color:var(--dshpc-fg-dim);}
|
|
468
|
+
.dshpc-input:focus{border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}
|
|
469
|
+
.dshpc-input--error{border-color:var(--dshpc-danger);}
|
|
470
|
+
.dshpc-input:disabled{cursor:default;opacity:.5;}
|
|
471
|
+
|
|
472
|
+
.dshpc-pfx{display:inline-flex;align-items:center;box-sizing:border-box;overflow:hidden;
|
|
473
|
+
border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);color:var(--dshpc-fg);}
|
|
474
|
+
.dshpc-pfx--sm{height:var(--dshpc-control-h-sm);}
|
|
475
|
+
.dshpc-pfx--md{height:var(--dshpc-control-h-md);}
|
|
476
|
+
.dshpc-pfx--lg{height:var(--dshpc-control-h-lg);}
|
|
489
477
|
/* md / lg \u6863\u5B57\u53F7\u8DDF\u6863\u8D70\uFF08\u4E0E\u540C\u6863\u4E0B\u62C9\u540C\u5B57\u53F7\uFF09\uFF1A\u6B64\u524D\u5199\u6B7B sm(12px)\uFF0C\u540C\u6392\u4E0B\u62C9\u662F 13px \u21D2 \u663E\u5F97\u300Cinput \u5B57\u5C0F\u300D\u3002 */
|
|
490
|
-
.
|
|
491
|
-
.
|
|
492
|
-
.
|
|
493
|
-
.
|
|
494
|
-
.
|
|
495
|
-
.
|
|
496
|
-
font-family:inherit;font-size:var(--
|
|
497
|
-
.
|
|
498
|
-
|
|
499
|
-
.
|
|
500
|
-
border:1px solid var(--
|
|
478
|
+
.dshpc-pfx--md .dshpc-pfx__label,.dshpc-pfx--lg .dshpc-pfx__label{font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
479
|
+
.dshpc-pfx--md .dshpc-pfx__input,.dshpc-pfx--lg .dshpc-pfx__input{font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
480
|
+
.dshpc-pfx--error{border-color:var(--dshpc-danger);}
|
|
481
|
+
.dshpc-pfx:focus-within{border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}
|
|
482
|
+
.dshpc-pfx__label{padding:0 8px;color:var(--dshpc-fg-2);font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);white-space:nowrap;border-right:1px solid var(--dshpc-border);}
|
|
483
|
+
.dshpc-pfx__input{flex:1 1 auto;min-width:0;height:100%;padding:0 8px;border:0;background:transparent;color:var(--dshpc-fg);
|
|
484
|
+
font-family:inherit;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);outline:none;}
|
|
485
|
+
.dshpc-pfx__input::placeholder{color:var(--dshpc-fg-dim);}
|
|
486
|
+
|
|
487
|
+
.dshpc-num{display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;overflow:hidden;
|
|
488
|
+
border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);color:var(--dshpc-fg);}
|
|
501
489
|
/* \u4E2D\u6BB5\uFF1A\u6570\u5B57 + \u540E\u7F00\u6210\u7EC4\u5C45\u4E2D\uFF1B\u5BB9\u5668\u88AB\u6D88\u8D39\u7AEF\u62C9\u5BBD\u65F6\u5403\u6389\u5168\u90E8\u4F59\u91CF\uFF0C\u4E24\u7AEF \u2212 / + \u56E0\u6B64\u9489\u6B7B\u5728\u5DE6\u53F3\u8FB9\u7F18\u3002 */
|
|
502
|
-
.
|
|
503
|
-
.
|
|
504
|
-
.
|
|
505
|
-
.
|
|
506
|
-
.
|
|
507
|
-
.
|
|
508
|
-
.
|
|
509
|
-
.
|
|
510
|
-
font-family:inherit;font-size:var(--
|
|
511
|
-
.
|
|
512
|
-
.
|
|
490
|
+
.dshpc-num__mid{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;}
|
|
491
|
+
.dshpc-num--sm{height:var(--dshpc-control-h-sm);}
|
|
492
|
+
.dshpc-num--md{height:var(--dshpc-control-h-md);}
|
|
493
|
+
.dshpc-num--lg{height:var(--dshpc-control-h-lg);}
|
|
494
|
+
.dshpc-num--md .dshpc-num__input,.dshpc-num--lg .dshpc-num__input{font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
495
|
+
.dshpc-num--md .dshpc-num__suffix,.dshpc-num--lg .dshpc-num__suffix{font-size:var(--dshpc-font-md);}
|
|
496
|
+
.dshpc-num--disabled{opacity:.5;}
|
|
497
|
+
.dshpc-num__input{width:36px;height:100%;padding:0 2px;border:0;background:transparent;color:var(--dshpc-fg);
|
|
498
|
+
font-family:inherit;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);text-align:center;outline:none;}
|
|
499
|
+
.dshpc-num__suffix{padding:0 6px;color:var(--dshpc-fg-2);font-size:var(--dshpc-font-sm);white-space:nowrap;}
|
|
500
|
+
.dshpc-num .dshpc-iconbtn{border-radius:0;color:var(--dshpc-fg-2);flex:none;}
|
|
513
501
|
|
|
514
502
|
/* \u5B98\u65B9 Switch \u5305\u88C5\u7EDF\u4E00\uFF1A\u9009\u4E2D = success \u7EFF\u3002
|
|
515
503
|
\uFF08\u5408\u5E76\u539F\u5148 task-editor-css / task-list \u4E24\u5904\u5C31\u5730\u8986\u76D6\uFF1B\u9009\u62E9\u5668\u5E26\u5305\u88C5\u7C7B + role\uFF0C\u7279\u5F02\u6027\u9AD8\u4E8E\u5B98\u65B9\u3002\uFF09 */
|
|
516
|
-
.
|
|
504
|
+
.dshpc-switch button[role='switch'][aria-checked='true']{background:var(--dshpc-success);}
|
|
517
505
|
|
|
518
506
|
/* \u591A\u884C\u6587\u672C\u8F93\u5165\uFF08\u63D0\u793A\u8BCD\u7B49\uFF0CP3\uFF09\uFF1A\u5361\u5185\u65E0\u8FB9\u6846\uFF08\u89C6\u89C9\u91CD\u5FC3\u5728\u6574\u5F20\u5361\u4E0A\uFF09\uFF0C\u5360\u4F4D\u8272\u8D70 dimmed\uFF1B\u6821\u9A8C\u4E0D\u901A\u8FC7\u63CF\u7EA2\u76D2\u3002
|
|
519
|
-
\uFF08\u4ECE task-editor-css \u7684 .
|
|
520
|
-
.
|
|
521
|
-
.
|
|
522
|
-
.
|
|
507
|
+
\uFF08\u4ECE task-editor-css \u7684 .dshpc-ed-prompt \u4E0A\u63D0\u800C\u6765\uFF1B\u4E1A\u52A1\u6587\u4EF6\u4E0D\u518D\u81EA\u5199 textarea \u76AE\u80A4\u3002\uFF09 */
|
|
508
|
+
.dshpc-textarea{display:block;width:100%;box-sizing:border-box;min-height:132px;padding:2px;border:none;outline:none;background:0 0;color:var(--dshpc-fg);font:inherit;font-size:var(--dshpc-font-lg);line-height:1.6;resize:vertical;}
|
|
509
|
+
.dshpc-textarea::placeholder{color:var(--dshpc-fg-dim);}
|
|
510
|
+
.dshpc-textarea--error{box-shadow:0 0 0 1px var(--dshpc-danger);}
|
|
523
511
|
|
|
524
512
|
/* \u62D6\u62FD\u5206\u9694\u6761\uFF08\u7F16\u8F91\u5206\u680F / \u9884\u89C8 dock \u5171\u7528\uFF0CU20 #3\uFF09\uFF1A6px \u547D\u4E2D\u533A\uFF0Ccol-resize\uFF0C\u4E0D\u753B\u7EBF\uFF0Chover/\u6309\u4E0B\u6D6E\u51FA\u6D45\u5E26\u3002
|
|
525
|
-
\u5177\u4F53 z-index \u7531 .
|
|
526
|
-
.
|
|
527
|
-
.
|
|
513
|
+
\u5177\u4F53 z-index \u7531 .dshpc-ed-resizer / .dshpc-sv-resizer \u5404\u81EA\u8865\u3002 */
|
|
514
|
+
.dshpc-resizer{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:col-resize;background:0 0;touch-action:none;user-select:none;}
|
|
515
|
+
.dshpc-resizer:hover,.dshpc-resizer:active{background:var(--dshpc-hover,rgba(38,49,72,.06));}
|
|
528
516
|
|
|
529
|
-
@media (prefers-reduced-motion: reduce){.
|
|
517
|
+
@media (prefers-reduced-motion: reduce){.dshpc-input,.dshpc-pfx{transition:none;}}
|
|
530
518
|
`;
|
|
531
519
|
var DATETIME_CSS = `
|
|
532
520
|
/* \u2500\u2500 \u65E5\u671F / \u65F6\u95F4 P4 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
533
|
-
.
|
|
534
|
-
/* \u26A0\uFE0F \u8FB9\u6846\u7C97\u7EC6 / \u5706\u89D2\u5FC5\u987B\u4E0E\u4E0B\u62C9\u951A\u70B9\
|
|
521
|
+
.dshpc-dtf-wrap{display:inline-flex;position:relative;min-width:0;}
|
|
522
|
+
/* \u26A0\uFE0F \u8FB9\u6846\u7C97\u7EC6 / \u5706\u89D2\u5FC5\u987B\u4E0E\u4E0B\u62C9\u951A\u70B9\uFF08dshpc-ed-field \u7684 fieldButtonStyle\uFF09\u5B8C\u5168\u4E00\u81F4
|
|
535
523
|
\uFF08\u7528\u6237 2026-10-02 \u70B9\u540D\uFF1A\u540C\u6392\u7684\u65E5\u671F\u6846\u4E0E\u4E0B\u62C9\u6846\u770B\u7740\u4E0D\u662F\u4E00\u5957\uFF09\u21D2 \u8FD9\u91CC\u4E5F\u662F 0.5px + radius-md\u3002 */
|
|
536
|
-
.
|
|
537
|
-
min-width:0;max-width:100%;padding:0 8px;border:0.5px solid var(--
|
|
538
|
-
background:var(--
|
|
539
|
-
cursor:pointer;transition:background-color var(--
|
|
524
|
+
.dshpc-dtf{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:var(--dshpc-control-h-lg);
|
|
525
|
+
min-width:0;max-width:100%;padding:0 8px;border:0.5px solid var(--dshpc-border-heavy);border-radius:var(--dshpc-radius-md);
|
|
526
|
+
background:var(--dshpc-surface-1);color:var(--dshpc-fg);font:inherit;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);
|
|
527
|
+
cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),border-color var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
540
528
|
/* \u65E5\u671F / \u65F6\u95F4\u951A\u70B9\uFF1A\u4E09\u6863\u9AD8\u5EA6\uFF08\u9ED8\u8BA4 lg=32\uFF09\u3002base \u5DF2\u542B lg \u9AD8\u5EA6\u4F5C\u515C\u5E95\uFF0C\u4E0B\u9762\u4E09\u6863\u6309 size \u8986\u76D6\u3002 */
|
|
541
|
-
.
|
|
542
|
-
.
|
|
543
|
-
.
|
|
544
|
-
.
|
|
545
|
-
.
|
|
546
|
-
.
|
|
547
|
-
.
|
|
548
|
-
.
|
|
549
|
-
.
|
|
550
|
-
|
|
551
|
-
.
|
|
552
|
-
box-shadow:var(--
|
|
553
|
-
|
|
554
|
-
.
|
|
555
|
-
.
|
|
556
|
-
.
|
|
557
|
-
.
|
|
558
|
-
.
|
|
559
|
-
border:1px solid transparent;border-radius:var(--
|
|
560
|
-
font:inherit;font-size:var(--
|
|
561
|
-
transition:background-color var(--
|
|
562
|
-
.
|
|
563
|
-
.
|
|
564
|
-
.
|
|
565
|
-
.
|
|
566
|
-
.
|
|
567
|
-
|
|
568
|
-
.
|
|
569
|
-
.
|
|
570
|
-
.
|
|
571
|
-
font:inherit;font-size:var(--
|
|
572
|
-
.
|
|
573
|
-
.
|
|
574
|
-
|
|
575
|
-
@media (prefers-reduced-motion: reduce){.
|
|
529
|
+
.dshpc-dtf--sm{height:var(--dshpc-control-h-sm);padding:0 6px;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);}
|
|
530
|
+
.dshpc-dtf--md{height:var(--dshpc-control-h-md);padding:0 8px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
531
|
+
.dshpc-dtf--lg{height:var(--dshpc-control-h-lg);padding:0 8px;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}
|
|
532
|
+
.dshpc-dtf:hover:not(:disabled){background:var(--dshpc-hover);}
|
|
533
|
+
.dshpc-dtf:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}
|
|
534
|
+
.dshpc-dtf:disabled{cursor:not-allowed;opacity:.6;}
|
|
535
|
+
.dshpc-dtf__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}
|
|
536
|
+
.dshpc-dtf__label--ph{color:var(--dshpc-fg-dim);}
|
|
537
|
+
.dshpc-dtf__icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;flex:none;color:var(--dshpc-fg-3);}
|
|
538
|
+
|
|
539
|
+
.dshpc-layer{position:fixed;z-index:var(--dshpc-z-menu);box-sizing:border-box;padding:8px;background:var(--dshpc-surface-1);
|
|
540
|
+
box-shadow:var(--dshpc-shadow-2);border-radius:var(--dshpc-radius-md);color:var(--dshpc-fg);font-size:var(--dshpc-font-md);}
|
|
541
|
+
|
|
542
|
+
.dshpc-cal__head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px;}
|
|
543
|
+
.dshpc-cal__title{flex:1 1 auto;text-align:center;font-size:var(--dshpc-font-md);font-weight:600;color:var(--dshpc-fg);}
|
|
544
|
+
.dshpc-cal__grid{display:grid;grid-template-columns:repeat(7,32px);gap:2px;}
|
|
545
|
+
.dshpc-cal__weekday{height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--dshpc-font-sm);color:var(--dshpc-fg-3);}
|
|
546
|
+
.dshpc-cal__cell{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;
|
|
547
|
+
border:1px solid transparent;border-radius:var(--dshpc-radius-md);background:transparent;color:var(--dshpc-fg);
|
|
548
|
+
font:inherit;font-size:var(--dshpc-font-md);cursor:pointer;
|
|
549
|
+
transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
550
|
+
.dshpc-cal__cell--hover{background:var(--dshpc-hover);}
|
|
551
|
+
.dshpc-cal__cell--out{color:var(--dshpc-fg-dim);}
|
|
552
|
+
.dshpc-cal__cell--today{border-color:var(--dshpc-business);}
|
|
553
|
+
.dshpc-cal__cell[aria-pressed='true']{background:var(--dshpc-accent);color:var(--dshpc-fg-inverse);}
|
|
554
|
+
.dshpc-cal__foot{margin-top:6px;padding-top:6px;border-top:1px solid var(--dshpc-border);}
|
|
555
|
+
|
|
556
|
+
.dshpc-time__cols{display:flex;gap:4px;}
|
|
557
|
+
.dshpc-time__list{width:56px;max-height:196px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
|
|
558
|
+
.dshpc-time__opt{padding:5px 0;border:0;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);
|
|
559
|
+
font:inherit;font-size:var(--dshpc-font-md);cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
560
|
+
.dshpc-time__opt[aria-selected='true']{background:var(--dshpc-hover);color:var(--dshpc-fg);font-weight:600;}
|
|
561
|
+
.dshpc-time__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--dshpc-border);}
|
|
562
|
+
|
|
563
|
+
@media (prefers-reduced-motion: reduce){.dshpc-dtf,.dshpc-cal__cell,.dshpc-time__opt{transition:none;}}
|
|
576
564
|
`;
|
|
577
565
|
var SELECT_CSS = `
|
|
578
566
|
/* \u4E0B\u62C9 / \u65E5\u5386 / \u65F6\u5206\u951A\u70B9\uFF1A\u952E\u76D8\u53EF\u8FBE\u6027\u63CF\u8FB9 + \u6821\u9A8C\u63CF\u7EA2\uFF08\u7C7B\u540D\u4ECE\u4E1A\u52A1\u5C42\u6CBF\u7528\uFF0C\u76AE\u80A4\u5F52\u4F4D\u57FA\u7840\u5C42\uFF09 */
|
|
579
|
-
.
|
|
580
|
-
.
|
|
567
|
+
.dshpc-ed-field:focus-visible{outline:2px solid var(--dshpc-business);outline-offset:1px;}
|
|
568
|
+
.dshpc-ed-field--error{border-color:var(--dshpc-danger)!important;box-shadow:0 0 0 1px var(--dshpc-danger);}
|
|
581
569
|
/* \u6574\u884C\u4E0B\u62C9\uFF1A\u5B98\u65B9 Menu \u7684\u5305\u88C5 span \u662F inline-flex\uFF08shrink-to-fit\uFF09\uFF0C\u8981\u8FDE\u5B83\u4E00\u8D77\u6491\u6EE1 */
|
|
582
|
-
.
|
|
570
|
+
.dshpc-ed-selectwrap{width:100%;}
|
|
583
571
|
|
|
584
572
|
/* \u7701\u7565\u53F7\u4E09\u4EF6\u5957\uFF08ui-style-guide \xA7\u4E09\u300C\u5F85\u62BD\u8C61 #1\u300D\u7684\u6536\u655B\u70B9\uFF09\uFF1A**\u65B0\u4EE3\u7801\u4E00\u5F8B\u6302\u8FD9\u4E2A\u7C7B**\uFF0C\u4E0D\u518D\u5404\u5199\u4E00\u904D\u3002
|
|
585
573
|
\u26A0\uFE0F \u5DF2\u6709 19 \u5904\u65E7\u5199\u6CD5\u5F85\u9010\u6B65\u6536\u7F16\uFF082026-10-04 \u8D77\u65B0\u589E\u7684\u8C03\u7528\u70B9\u4E0D\u8BB8\u518D\u624B\u5199\u8FD9\u4E09\u6761\u5C5E\u6027\uFF09\u3002 */
|
|
586
|
-
.
|
|
574
|
+
.dshpc-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
587
575
|
|
|
588
576
|
/* \u8DD1\u9A6C\u706F\u6587\u672C\uFF08MarqueeText\uFF09\uFF1A\u53CC\u5C42\u2014\u2014\u5916\u5C42\u53EA\u88C1\u526A\uFF0C\u5185\u5C42\u624D transform \u6EDA\u52A8\uFF1B\u975E hover \u5185\u5C42\u81EA\u5E26\u7701\u7565\u53F7 */
|
|
589
|
-
.
|
|
590
|
-
.
|
|
577
|
+
.dshpc-mq{display:block;overflow:hidden;white-space:nowrap;}
|
|
578
|
+
.dshpc-mq .dshpc-mq-in{display:inline-block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top;}
|
|
591
579
|
/* \u26A0\uFE0F \u8DD1\u6CD5\uFF08\u7528\u6237 2026-10-03 \u62CD\u677F\uFF09\uFF1A**\u8DD1\u4E00\u904D\u3001\u505C\u5728\u5C3E\u5B57**\uFF08\u64AD\u653E 1 \u6B21 + forwards\uFF09\uFF0C\u4E0D\u6765\u56DE\u5F39\u3001\u4E0D\u65E0\u9650\u8DD1\u3002
|
|
592
580
|
\u6EDA\u8DDD = \u7CBE\u786E\u6EA2\u51FA\u91CF \u21D2 \u505C\u4E0B\u65F6\u6700\u540E\u4E00\u4E2A\u5B57\u6B63\u597D\u8D34\u53F3\u7F18\uFF0C**\u4E0D\u4F1A\u8DD1\u8FDB\u9ED1\u5757**\uFF08\u9ED1\u5757\u662F\u65E7\u624B\u5199\u7248\u628A
|
|
593
581
|
\u5185\u5C42\u76D2\u5B50\u88C1\u4E86\u3001\u6309\u300C\u534A\u622A\u6587\u672C\u300D\u5E73\u79FB\u5BFC\u81F4\u7684\uFF09\u3002\u9F20\u6807\u79FB\u5F00 \u21D2 :hover \u5931\u6548 \u21D2 \u81EA\u52A8\u590D\u4F4D\u56DE\u7701\u7565\u53F7\u6001\u3002 */
|
|
594
|
-
.
|
|
595
|
-
@keyframes
|
|
582
|
+
.dshpc-mq-run:hover .dshpc-mq-in{max-width:none;overflow:visible;animation:dshpc-mq-scroll var(--dshpc-mq-dur,6s) linear .4s 1 forwards;}
|
|
583
|
+
@keyframes dshpc-mq-scroll{from{transform:translateX(0)}to{transform:translateX(var(--dshpc-mq-dist,-40px))}}
|
|
596
584
|
`;
|
|
597
585
|
var LOADING_CSS = `
|
|
598
586
|
/* \u8FD0\u884C\u4E2D / loading \u7684\u6D3B\u52A8\u6307\u793A\uFF1A\u4E09\u4E2A\u5C0F\u65B9\u5757\u4F9D\u6B21\u8109\u52A8\u3002 */
|
|
599
|
-
@keyframes
|
|
600
|
-
.
|
|
601
|
-
.
|
|
602
|
-
.
|
|
603
|
-
.
|
|
604
|
-
@media (prefers-reduced-motion: reduce) { .
|
|
587
|
+
@keyframes dshpc-run-block { 0%, 80%, 100% { opacity: 0.25; transform: scale(0.8) } 40% { opacity: 1; transform: scale(1) } }
|
|
588
|
+
.dshpc-run-blocks { display: inline-flex; align-items: center; gap: 3px; }
|
|
589
|
+
.dshpc-run-blocks > i { width: 5px; height: 5px; border-radius: 1px; background: currentColor; animation: dshpc-run-block 1.2s ease-in-out infinite; }
|
|
590
|
+
.dshpc-run-blocks > i:nth-child(2) { animation-delay: 0.15s; }
|
|
591
|
+
.dshpc-run-blocks > i:nth-child(3) { animation-delay: 0.3s; }
|
|
592
|
+
@media (prefers-reduced-motion: reduce) { .dshpc-run-blocks > i { animation: none; opacity: 1; } }
|
|
605
593
|
`;
|
|
606
594
|
var BACK_TO_TOP_CSS = `
|
|
607
595
|
/* \u56DE\u5230\u9876\u90E8\u60AC\u6D6E\u94AE\uFF1A\u5706\u94AE\u3001\u5B9E\u9762\u3001\u6295\u5F71\uFF1B\u9ED8\u8BA4\u9690\u8EAB\uFF0C\u6EDA\u8FC7\u9608\u503C\u52A0 .is-visible \u624D\u663E\u5F62\u3002
|
|
608
596
|
\u6A2A\u5411 left \u7531\u7EC4\u4EF6\u6309\u4E3B\u5185\u5BB9\u5217\u53F3\u7F18\u5B9E\u65F6\u7B97\u51FA\uFF08\u8D34\u5728\u5176\u53F3\u4FA7\u5916\u4FA7\uFF09\uFF0C\u4E0D\u5199\u6B7B\u3002 */
|
|
609
|
-
.
|
|
597
|
+
.dshpc-backtotop{
|
|
610
598
|
position:fixed;
|
|
611
|
-
bottom:var(--
|
|
612
|
-
z-index:var(--
|
|
599
|
+
bottom:var(--dshpc-space-4);
|
|
600
|
+
z-index:var(--dshpc-z-dock);
|
|
613
601
|
width:44px;height:44px;
|
|
614
602
|
display:inline-flex;align-items:center;justify-content:center;
|
|
615
603
|
padding:0;margin:0;
|
|
616
604
|
box-sizing:border-box;
|
|
617
|
-
border:1px solid var(--
|
|
605
|
+
border:1px solid var(--dshpc-border);
|
|
618
606
|
border-radius:50%;
|
|
619
|
-
background:var(--
|
|
620
|
-
color:var(--
|
|
621
|
-
box-shadow:var(--
|
|
607
|
+
background:var(--dshpc-solid);
|
|
608
|
+
color:var(--dshpc-on-solid);
|
|
609
|
+
box-shadow:var(--dshpc-shadow-2);
|
|
622
610
|
cursor:pointer;
|
|
623
611
|
opacity:0;
|
|
624
612
|
transform:translateY(8px) scale(.92);
|
|
625
|
-
transition:opacity var(--
|
|
626
|
-
transform var(--
|
|
627
|
-
background-color var(--
|
|
613
|
+
transition:opacity var(--dshpc-dur) var(--dshpc-ease),
|
|
614
|
+
transform var(--dshpc-dur) var(--dshpc-ease),
|
|
615
|
+
background-color var(--dshpc-dur-fast) var(--dshpc-ease);
|
|
628
616
|
pointer-events:none;
|
|
629
617
|
}
|
|
630
|
-
.
|
|
631
|
-
.
|
|
632
|
-
.
|
|
633
|
-
.
|
|
618
|
+
.dshpc-backtotop.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
|
|
619
|
+
.dshpc-backtotop:hover{background:var(--dshpc-hover);}
|
|
620
|
+
.dshpc-backtotop:active{background:var(--dshpc-active);}
|
|
621
|
+
.dshpc-backtotop:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}
|
|
634
622
|
@media (prefers-reduced-motion: reduce){
|
|
635
|
-
.
|
|
623
|
+
.dshpc-backtotop{transition:opacity var(--dshpc-dur-fast) linear;transform:none;}
|
|
636
624
|
}
|
|
637
625
|
`;
|
|
638
626
|
var HINT_CSS = `
|
|
639
627
|
/* \u2500\u2500 \u95EE\u53F7\u63D0\u793A P4\uFF08\u7528\u6237 2026-10-18\uFF1A\u5BF9\u9F50\u771F\u5B9E\u63D2\u4EF6 HelpButton\u2014\u2014**\u5E26\u5708\u7684\u95EE\u53F7\u56FE\u6807**\uFF09\u2500\u2500
|
|
640
|
-
\u672C\u4F53 16px \u7EC6\u5708 + \u5708\u5185 ?\uFF0C\u989C\u8272 fg-3\u3001hover \u53EA\u63D0\u4EAE\u4E0D\u52A0\u5E95\uFF08\u4E0E
|
|
628
|
+
\u672C\u4F53 16px \u7EC6\u5708 + \u5708\u5185 ?\uFF0C\u989C\u8272 fg-3\u3001hover \u53EA\u63D0\u4EAE\u4E0D\u52A0\u5E95\uFF08\u4E0E dshpc-ed-help \u540C\u89C4\u77E9\uFF09\u3002
|
|
641
629
|
\u7EAF CSS tooltip\uFF1Ahover / \u952E\u76D8\u805A\u7126\u6D6E\u51FA\u6C14\u6CE1\uFF0C\u96F6 JS\u3002\u72EC\u7ACB\u7EC4\u4EF6\uFF0C\u6807\u9898\u540E\u3001\u884C\u5C3E\u968F\u5904\u53EF\u6302\u3002 */
|
|
642
|
-
.
|
|
630
|
+
.dshpc-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;
|
|
643
631
|
box-sizing:border-box;width:14px;height:14px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;
|
|
644
|
-
color:var(--
|
|
645
|
-
transition:color var(--
|
|
646
|
-
.
|
|
647
|
-
.
|
|
648
|
-
.
|
|
632
|
+
color:var(--dshpc-fg-3);font-family:inherit;font-size:8px;font-weight:600;line-height:12px;cursor:help;vertical-align:middle;
|
|
633
|
+
transition:color var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
634
|
+
.dshpc-hint:hover,.dshpc-hint:focus-visible{color:var(--dshpc-fg);background:0 0;}
|
|
635
|
+
.dshpc-hint:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px;}
|
|
636
|
+
.dshpc-hint__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
|
|
649
637
|
box-sizing:border-box;width:max-content;max-width:280px;padding:8px 10px;
|
|
650
|
-
border-radius:var(--
|
|
651
|
-
font-size:var(--
|
|
652
|
-
box-shadow:var(--
|
|
638
|
+
border-radius:var(--dshpc-radius-sm);background:var(--dshpc-solid);color:var(--dshpc-on-solid);
|
|
639
|
+
font-size:var(--dshpc-font-xs);line-height:1.7;text-align:left;white-space:normal;
|
|
640
|
+
box-shadow:var(--dshpc-shadow-2);z-index:var(--dshpc-z-menu);
|
|
653
641
|
opacity:0;visibility:hidden;pointer-events:none;
|
|
654
|
-
transition:opacity var(--
|
|
655
|
-
.
|
|
642
|
+
transition:opacity var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
643
|
+
.dshpc-hint:hover .dshpc-hint__bubble,.dshpc-hint:focus-visible .dshpc-hint__bubble{opacity:1;visibility:visible;}
|
|
656
644
|
`;
|
|
657
645
|
|
|
658
646
|
// dist/ui/picker-css.js
|
|
659
647
|
var PICKER_CSS = `
|
|
660
|
-
.
|
|
661
|
-
.
|
|
648
|
+
.dshpc-picker{position:relative;display:inline-block;font-size:13px;line-height:20px}
|
|
649
|
+
.dshpc-picker__trigger{
|
|
662
650
|
display:inline-flex;align-items:center;justify-content:space-between;gap:6px;
|
|
663
651
|
min-width:120px;max-width:100%;height:28px;padding:0 8px;
|
|
664
|
-
color:var(--
|
|
665
|
-
border:1px solid var(--
|
|
652
|
+
color:var(--dshpc-fg);background:var(--dshpc-surface-1);
|
|
653
|
+
border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);cursor:pointer;
|
|
666
654
|
}
|
|
667
|
-
.
|
|
668
|
-
.
|
|
669
|
-
.
|
|
655
|
+
.dshpc-picker__trigger:disabled{color:var(--dshpc-fg-dim);cursor:not-allowed;opacity:.7}
|
|
656
|
+
.dshpc-picker__caret{color:var(--dshpc-fg-3);font-size:10px}
|
|
657
|
+
.dshpc-picker__menu{
|
|
670
658
|
position:absolute;z-index:60;top:calc(100% + 4px);left:0;min-width:100%;
|
|
671
659
|
max-height:280px;overflow:auto;padding:4px;
|
|
672
|
-
background:var(--
|
|
673
|
-
border-radius:var(--
|
|
660
|
+
background:var(--dshpc-surface-menu);border:1px solid var(--dshpc-border);
|
|
661
|
+
border-radius:var(--dshpc-radius-md);box-shadow:0 8px 24px rgba(15,23,42,.12);
|
|
674
662
|
}
|
|
675
663
|
/* \u5411\u4E0A\u5C55\u5F00\uFF08\u89E6\u53D1\u5668\u9760\u8FD1\u89C6\u53E3\u5E95\u90E8\u65F6\u7528 placement="up"\uFF09\u3002 */
|
|
676
|
-
.
|
|
664
|
+
.dshpc-picker__menu--up{top:auto;bottom:calc(100% + 4px)}
|
|
677
665
|
/* \u5C3A\u5BF8\u6863\uFF08\u4E0E Field \u7684 sm/md/lg \u5BF9\u5E94\uFF09\u3002 */
|
|
678
|
-
.
|
|
679
|
-
.
|
|
666
|
+
.dshpc-picker__trigger--sm{height:24px;font-size:12px}
|
|
667
|
+
.dshpc-picker__trigger--lg{height:32px}
|
|
680
668
|
/* \u952E\u76D8\u6E38\u6807\u6240\u5728\u9879\uFF08\u65E0 hover \u4E5F\u8981\u770B\u5F97\u89C1\uFF09\u3002 */
|
|
681
|
-
.
|
|
682
|
-
.
|
|
683
|
-
.
|
|
669
|
+
.dshpc-picker__option[data-active='true']{background:var(--dshpc-surface-sunken);outline:1px solid var(--dshpc-border)}
|
|
670
|
+
.dshpc-picker__option--clear{color:var(--dshpc-fg-3)}
|
|
671
|
+
.dshpc-picker__search{
|
|
684
672
|
width:100%;height:28px;margin-bottom:4px;padding:0 8px;box-sizing:border-box;
|
|
685
|
-
color:var(--
|
|
686
|
-
border:1px solid var(--
|
|
687
|
-
}
|
|
688
|
-
.
|
|
689
|
-
padding:6px 8px 2px;color:var(--
|
|
690
|
-
}
|
|
691
|
-
.
|
|
692
|
-
display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--
|
|
693
|
-
color:var(--
|
|
694
|
-
}
|
|
695
|
-
.
|
|
696
|
-
.
|
|
697
|
-
.
|
|
698
|
-
.
|
|
699
|
-
.
|
|
700
|
-
.
|
|
701
|
-
padding:6px 8px;margin-bottom:4px;border-radius:var(--
|
|
702
|
-
color:var(--
|
|
673
|
+
color:var(--dshpc-fg);background:var(--dshpc-surface-sunken);
|
|
674
|
+
border:1px solid var(--dshpc-border-faint);border-radius:var(--dshpc-radius-md);outline:none;
|
|
675
|
+
}
|
|
676
|
+
.dshpc-picker__group-label{
|
|
677
|
+
padding:6px 8px 2px;color:var(--dshpc-fg-3);font-size:11px;
|
|
678
|
+
}
|
|
679
|
+
.dshpc-picker__option{
|
|
680
|
+
display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--dshpc-radius-sm);cursor:pointer;
|
|
681
|
+
color:var(--dshpc-fg);white-space:nowrap;
|
|
682
|
+
}
|
|
683
|
+
.dshpc-picker__option:hover{background:var(--dshpc-surface-sunken)}
|
|
684
|
+
.dshpc-picker__option--active{background:var(--dshpc-open-bg);color:var(--dshpc-business)}
|
|
685
|
+
.dshpc-picker__option--disabled{color:var(--dshpc-fg-dim);cursor:not-allowed}
|
|
686
|
+
.dshpc-picker__tick{width:12px;color:var(--dshpc-business)}
|
|
687
|
+
.dshpc-picker__empty{padding:8px;color:var(--dshpc-fg-3);text-align:center}
|
|
688
|
+
.dshpc-picker__degraded{
|
|
689
|
+
padding:6px 8px;margin-bottom:4px;border-radius:var(--dshpc-radius-sm);
|
|
690
|
+
color:var(--dshpc-warning-label);background:color-mix(in srgb,var(--dshpc-warning) 12%,transparent);
|
|
703
691
|
font-size:11px;
|
|
704
692
|
}
|
|
705
|
-
.
|
|
693
|
+
.dshpc-picker__row{display:flex;align-items:center;gap:8px}
|
|
706
694
|
`;
|
|
707
695
|
|
|
708
696
|
// dist/ui/feedback-css.js
|
|
709
697
|
var FEEDBACK_CSS = `
|
|
710
|
-
.
|
|
698
|
+
.dshpc-modal-mask{
|
|
711
699
|
position:fixed;inset:0;z-index:1070;display:flex;align-items:center;justify-content:center;
|
|
712
700
|
background:rgba(15,23,42,.45);
|
|
713
701
|
}
|
|
714
|
-
.
|
|
702
|
+
.dshpc-modal{
|
|
715
703
|
display:flex;flex-direction:column;max-width:min(960px,92vw);max-height:86vh;
|
|
716
|
-
background:var(--
|
|
704
|
+
background:var(--dshpc-surface-base);border:1px solid var(--dshpc-border);
|
|
717
705
|
border-radius:10px;box-shadow:0 16px 48px rgba(15,23,42,.24);overflow:hidden;
|
|
718
706
|
}
|
|
719
|
-
.
|
|
707
|
+
.dshpc-modal__head{
|
|
720
708
|
display:flex;align-items:center;gap:8px;padding:12px 14px;
|
|
721
|
-
border-bottom:1px solid var(--
|
|
709
|
+
border-bottom:1px solid var(--dshpc-border-faint);color:var(--dshpc-fg);font-size:14px;
|
|
722
710
|
}
|
|
723
|
-
.
|
|
711
|
+
.dshpc-modal__title{flex:1;min-width:0}
|
|
724
712
|
/* \u5173\u95ED\u6309\u94AE\uFF1A24\xD724 \u65B9\u89D2\u56FE\u6807\u4F4D\uFF0C\u4E0D\u501F\u7528 Picker \u7684\u89E6\u53D1\u5668\u76AE\u80A4\uFF08\u90A3\u4EFD\u5E26 min-width:120px\uFF09\u3002 */
|
|
725
|
-
.
|
|
713
|
+
.dshpc-modal__close{
|
|
726
714
|
display:inline-flex;align-items:center;justify-content:center;flex:none;
|
|
727
|
-
width:24px;height:24px;padding:0;border:none;border-radius:var(--
|
|
728
|
-
background:transparent;color:var(--
|
|
729
|
-
transition:background-color var(--
|
|
730
|
-
}
|
|
731
|
-
.
|
|
732
|
-
.
|
|
733
|
-
.
|
|
734
|
-
.
|
|
715
|
+
width:24px;height:24px;padding:0;border:none;border-radius:var(--dshpc-radius-sm);
|
|
716
|
+
background:transparent;color:var(--dshpc-fg-3);font-family:inherit;font-size:12px;line-height:1;cursor:pointer;
|
|
717
|
+
transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease);
|
|
718
|
+
}
|
|
719
|
+
.dshpc-modal__close:hover{background:var(--dshpc-hover);color:var(--dshpc-fg)}
|
|
720
|
+
.dshpc-modal__close:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}
|
|
721
|
+
.dshpc-modal__body{flex:1;min-height:0;overflow:auto;padding:12px 14px}
|
|
722
|
+
.dshpc-modal__foot{
|
|
735
723
|
display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;
|
|
736
|
-
border-top:1px solid var(--
|
|
724
|
+
border-top:1px solid var(--dshpc-border-faint);
|
|
737
725
|
}
|
|
738
|
-
.
|
|
726
|
+
.dshpc-toast-host{
|
|
739
727
|
position:fixed;z-index:1090;left:50%;bottom:32px;transform:translateX(-50%);
|
|
740
728
|
display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;
|
|
741
729
|
}
|
|
742
|
-
.
|
|
743
|
-
padding:8px 14px;border-radius:8px;font-size:13px;color:var(--
|
|
744
|
-
background:var(--
|
|
730
|
+
.dshpc-toast{
|
|
731
|
+
padding:8px 14px;border-radius:8px;font-size:13px;color:var(--dshpc-fg);
|
|
732
|
+
background:var(--dshpc-surface-menu);border:1px solid var(--dshpc-border);
|
|
745
733
|
box-shadow:0 8px 24px rgba(15,23,42,.16);
|
|
746
734
|
}
|
|
747
|
-
.
|
|
748
|
-
.
|
|
749
|
-
.
|
|
735
|
+
.dshpc-toast--success{color:var(--dshpc-success);border-color:color-mix(in srgb,var(--dshpc-success) 40%,transparent)}
|
|
736
|
+
.dshpc-toast--error{color:var(--dshpc-danger);border-color:color-mix(in srgb,var(--dshpc-danger) 40%,transparent)}
|
|
737
|
+
.dshpc-empty{
|
|
750
738
|
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
|
|
751
|
-
padding:24px;color:var(--
|
|
739
|
+
padding:24px;color:var(--dshpc-fg-3);font-size:13px;text-align:center;
|
|
752
740
|
}
|
|
753
|
-
.
|
|
741
|
+
.dshpc-error{
|
|
754
742
|
padding:12px 14px;border-radius:8px;font-size:13px;
|
|
755
|
-
color:var(--
|
|
756
|
-
border:1px solid color-mix(in srgb,var(--
|
|
743
|
+
color:var(--dshpc-danger);background:color-mix(in srgb,var(--dshpc-danger) 10%,transparent);
|
|
744
|
+
border:1px solid color-mix(in srgb,var(--dshpc-danger) 30%,transparent);
|
|
757
745
|
}
|
|
758
|
-
.
|
|
759
|
-
margin-top:8px;color:var(--
|
|
746
|
+
.dshpc-error__retry{
|
|
747
|
+
margin-top:8px;color:var(--dshpc-link);cursor:pointer;background:none;border:none;padding:0;
|
|
760
748
|
}
|
|
761
749
|
`;
|
|
762
750
|
|
|
763
751
|
// dist/ui/card-css.js
|
|
764
752
|
var CARD_CSS = `
|
|
765
|
-
.
|
|
766
|
-
position:relative;padding:12px 14px;background:var(--
|
|
767
|
-
--card-accent:var(--
|
|
753
|
+
.dshpc-card{
|
|
754
|
+
position:relative;padding:12px 14px;background:var(--dshpc-surface-1);
|
|
755
|
+
--card-accent:var(--dshpc-business);
|
|
768
756
|
}
|
|
769
757
|
/* \u6863\u4F4D \u2192 token\uFF08\u7167 records-timeline \u7684 tone \u6A21\u5F0F\uFF1A\u4E00\u4E2A\u53D8\u91CF\u5207\u6863\uFF0C\u4E0D\u5199 5 \u5957\u89C4\u5219\uFF09\u3002 */
|
|
770
|
-
.
|
|
771
|
-
.
|
|
772
|
-
.
|
|
773
|
-
.
|
|
758
|
+
.dshpc-card--success{--card-accent:var(--dshpc-success)}
|
|
759
|
+
.dshpc-card--warning{--card-accent:var(--dshpc-warning)}
|
|
760
|
+
.dshpc-card--danger{--card-accent:var(--dshpc-danger)}
|
|
761
|
+
.dshpc-card--neutral{--card-accent:var(--dshpc-fg-4)}
|
|
774
762
|
|
|
775
763
|
/* \u5916\u89C2\u4E00\uFF1A\u5706\u89D2 + 1px \u8FB9\u6846\uFF0C\u8272\u6761\u4E0A\u4E0B\u7559\u8DDD\uFF08\u77ED\u6761\uFF09\u3002 */
|
|
776
|
-
.
|
|
777
|
-
.
|
|
764
|
+
.dshpc-card--bordered{border-radius:8px;border:1px solid var(--dshpc-border)}
|
|
765
|
+
.dshpc-card--bordered .dshpc-card__bar{top:8px;bottom:8px;border-radius:2px}
|
|
778
766
|
|
|
779
767
|
/* \u5916\u89C2\u4E8C\uFF1A\u65E0\u5706\u89D2\u65E0\u8FB9\u6846\uFF0C\u8272\u6761\u901A\u9AD8\u3002 */
|
|
780
|
-
.
|
|
781
|
-
.
|
|
768
|
+
.dshpc-card--strip{border-radius:0;border:none}
|
|
769
|
+
.dshpc-card--strip .dshpc-card__bar{top:0;bottom:0;border-radius:0}
|
|
782
770
|
|
|
783
771
|
/* \u8272\u6761\uFF1A\u7EDD\u5BF9\u5B9A\u4F4D + top/bottom \u21D2 \u8DDF\u7740\u5185\u5BB9\u9AD8\u5EA6\u81EA\u9002\u5E94\uFF1B\u4E0A\u4E0B\u662F\u5426\u7559\u8DDD\u7531\u5916\u89C2\u51B3\u5B9A\u3002 */
|
|
784
|
-
.
|
|
772
|
+
.dshpc-card__bar{position:absolute;left:0;width:3px;background:var(--card-accent)}
|
|
785
773
|
|
|
786
|
-
.
|
|
787
|
-
.
|
|
788
|
-
.
|
|
789
|
-
.
|
|
774
|
+
.dshpc-card__head{display:flex;align-items:flex-start;gap:8px;min-width:0}
|
|
775
|
+
.dshpc-card__main{flex:1;min-width:0}
|
|
776
|
+
.dshpc-card__side{display:flex;align-items:center;gap:6px;flex:none}
|
|
777
|
+
.dshpc-card__toggle{
|
|
790
778
|
display:inline-flex;align-items:center;justify-content:center;
|
|
791
779
|
width:24px;height:24px;padding:0;background:none;border:none;border-radius:6px;
|
|
792
|
-
color:var(--
|
|
780
|
+
color:var(--dshpc-fg-3);cursor:pointer;
|
|
793
781
|
}
|
|
794
|
-
.
|
|
795
|
-
.
|
|
796
|
-
.
|
|
797
|
-
.
|
|
782
|
+
.dshpc-card__toggle:hover{background:var(--dshpc-surface-sunken);color:var(--dshpc-fg)}
|
|
783
|
+
.dshpc-card__caret{display:inline-block;font-size:10px;transition:transform .15s ease}
|
|
784
|
+
.dshpc-card__caret.is-open{transform:rotate(180deg)}
|
|
785
|
+
.dshpc-card__panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--dshpc-border-faint)}
|
|
798
786
|
`;
|
|
799
787
|
|
|
800
788
|
// dist/ui/chip-css.js
|
|
801
789
|
var CHIP_CSS = `
|
|
802
|
-
.
|
|
790
|
+
.dshpc-chip{
|
|
803
791
|
display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;
|
|
804
|
-
box-sizing:border-box;border-radius:var(--
|
|
805
|
-
background:var(--
|
|
792
|
+
box-sizing:border-box;border-radius:var(--dshpc-radius-pill,999px);border:none;
|
|
793
|
+
background:var(--dshpc-chip-bg);color:var(--dshpc-fg);
|
|
806
794
|
font-family:inherit;font-size:11px;line-height:18px;margin:0;
|
|
807
795
|
/* 2026-10-18\uFF1Achip \u662F flex \u884C\u91CC\u7684\u5E38\u7528\u9879\uFF0C\u7981\u6B62\u88AB\u538B\u7F29\u6362\u884C\uFF08\u9884\u89C8\u7AD9\u51FA\u73B0\u8FC7\u6587\u5B57\u7AD6\u6392\u3001\u4E92\u76F8\u53E0\u538B\u7684\u6324\u538B\uFF09\u3002 */
|
|
808
796
|
white-space:nowrap;flex:none;
|
|
809
797
|
appearance:none;-webkit-appearance:none;
|
|
810
798
|
}
|
|
811
799
|
/* \u53EF\u70B9\u6001\uFF1Abutton \u6E32\u67D3\uFF08\u89C1 Chip.ts\uFF09\uFF0C\u5149\u6807 + hover \u52A0\u6DF1\u3002 */
|
|
812
|
-
.
|
|
813
|
-
.
|
|
814
|
-
.
|
|
815
|
-
.
|
|
816
|
-
@media (prefers-reduced-motion: reduce){.
|
|
800
|
+
.dshpc-chip--clickable{cursor:pointer;transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease);}
|
|
801
|
+
.dshpc-chip--clickable:hover:not(:disabled){background:var(--dshpc-chip-bg-hover)}
|
|
802
|
+
.dshpc-chip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px}
|
|
803
|
+
.dshpc-chip:disabled{cursor:default;color:var(--dshpc-fg-3)}
|
|
804
|
+
@media (prefers-reduced-motion: reduce){.dshpc-chip{transition:none}}
|
|
817
805
|
`;
|
|
818
806
|
|
|
819
807
|
// dist/explorer/explorer-css.js
|
|
820
808
|
var EXPLORER_CSS = `
|
|
821
|
-
.
|
|
822
|
-
.
|
|
809
|
+
.dshpc-exp{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--dshpc-fg);font-size:13px}
|
|
810
|
+
.dshpc-exp__crumbs{
|
|
823
811
|
display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;
|
|
824
|
-
border-bottom:1px solid var(--
|
|
812
|
+
border-bottom:1px solid var(--dshpc-border-faint);
|
|
825
813
|
}
|
|
826
|
-
.
|
|
814
|
+
.dshpc-exp__crumb{
|
|
827
815
|
background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;
|
|
828
|
-
color:var(--
|
|
829
|
-
}
|
|
830
|
-
.
|
|
831
|
-
.
|
|
832
|
-
.
|
|
833
|
-
.
|
|
834
|
-
.
|
|
835
|
-
.
|
|
816
|
+
color:var(--dshpc-link);font:inherit;
|
|
817
|
+
}
|
|
818
|
+
.dshpc-exp__crumb--current{color:var(--dshpc-fg);font-weight:600;cursor:default}
|
|
819
|
+
.dshpc-exp__sep{color:var(--dshpc-fg-4)}
|
|
820
|
+
.dshpc-exp__tools{display:flex;gap:6px;margin-left:auto}
|
|
821
|
+
.dshpc-exp__body{display:flex;flex:1;min-height:0}
|
|
822
|
+
.dshpc-exp__tree{width:220px;flex:none;overflow:auto;border-right:1px solid var(--dshpc-border-faint)}
|
|
823
|
+
.dshpc-exp__item{
|
|
836
824
|
display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;
|
|
837
825
|
}
|
|
838
|
-
.
|
|
839
|
-
.
|
|
840
|
-
.
|
|
841
|
-
.
|
|
842
|
-
.
|
|
843
|
-
.
|
|
844
|
-
.
|
|
845
|
-
.
|
|
846
|
-
margin:0;padding:8px;border-radius:6px;background:var(--
|
|
847
|
-
font:var(--
|
|
848
|
-
}
|
|
849
|
-
.
|
|
826
|
+
.dshpc-exp__item:hover{background:var(--dshpc-surface-sunken)}
|
|
827
|
+
.dshpc-exp__item--active{background:var(--dshpc-open-bg)}
|
|
828
|
+
.dshpc-exp__icon{width:14px;flex:none;color:var(--dshpc-fg-3)}
|
|
829
|
+
.dshpc-exp__name{overflow:hidden;text-overflow:ellipsis}
|
|
830
|
+
.dshpc-exp__size{margin-left:auto;color:var(--dshpc-fg-4);font-size:11px}
|
|
831
|
+
.dshpc-exp__preview{flex:1;min-width:0;overflow:auto;padding:8px}
|
|
832
|
+
.dshpc-exp__note{padding:6px 8px;color:var(--dshpc-fg-3);font-size:11px}
|
|
833
|
+
.dshpc-exp__text{
|
|
834
|
+
margin:0;padding:8px;border-radius:6px;background:var(--dshpc-code-surface);
|
|
835
|
+
font:var(--dshpc-code-font);white-space:pre-wrap;word-break:break-all;
|
|
836
|
+
}
|
|
837
|
+
.dshpc-exp__image{max-width:100%;border-radius:6px;border:1px solid var(--dshpc-border-faint)}
|
|
850
838
|
`;
|
|
851
839
|
|
|
852
840
|
// dist/session/session-css.js
|
|
853
841
|
var SESSION_CSS = `
|
|
854
|
-
.
|
|
855
|
-
.
|
|
856
|
-
.
|
|
857
|
-
.
|
|
858
|
-
.
|
|
859
|
-
.
|
|
860
|
-
.
|
|
861
|
-
.
|
|
862
|
-
.
|
|
863
|
-
.
|
|
842
|
+
.dshpc-ses{display:flex;flex-direction:column;min-height:0;color:var(--dshpc-fg);font-size:13px}
|
|
843
|
+
.dshpc-ses--sidebar{height:100%;border-left:1px solid var(--dshpc-border-faint);background:var(--dshpc-surface-base)}
|
|
844
|
+
.dshpc-ses--page{height:100%;background:var(--dshpc-surface-base)}
|
|
845
|
+
.dshpc-ses__list{flex:1;min-height:0;overflow:auto;padding:8px 12px;display:flex;flex-direction:column;gap:10px}
|
|
846
|
+
.dshpc-ses__msg{padding:8px 10px;border-radius:8px;background:var(--dshpc-surface-2);border:1px solid var(--dshpc-border-faint)}
|
|
847
|
+
.dshpc-ses__msg--user{background:var(--dshpc-open-bg-soft)}
|
|
848
|
+
.dshpc-ses__head{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:var(--dshpc-fg-3);font-size:11px}
|
|
849
|
+
.dshpc-ses__text{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.6}
|
|
850
|
+
.dshpc-ses__atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
|
|
851
|
+
.dshpc-ses__att{
|
|
864
852
|
display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;
|
|
865
|
-
background:var(--
|
|
853
|
+
background:var(--dshpc-chip-bg);color:var(--dshpc-fg);cursor:pointer;border:none;font:inherit;font-size:12px;
|
|
866
854
|
}
|
|
867
|
-
.
|
|
868
|
-
.
|
|
855
|
+
.dshpc-ses__att:hover{background:var(--dshpc-chip-bg-hover)}
|
|
856
|
+
.dshpc-ses__note{padding:12px;color:var(--dshpc-fg-3);text-align:center}
|
|
869
857
|
`;
|
|
870
858
|
|
|
871
859
|
// dist/ui/css.js
|
|
872
860
|
var CONTROLS_DOMAIN = "controls";
|
|
873
|
-
function buildCss(template, prefix) {
|
|
874
|
-
return template.split("--tdt-").join(`--${prefix}-`);
|
|
875
|
-
}
|
|
876
861
|
var CONTROLS_CSS = [
|
|
877
862
|
SEGMENTED_CSS,
|
|
878
863
|
BUTTON_CSS,
|
|
@@ -889,13 +874,13 @@ var CONTROLS_CSS = [
|
|
|
889
874
|
CARD_CSS,
|
|
890
875
|
CHIP_CSS
|
|
891
876
|
].join("\n");
|
|
892
|
-
var current = createStyleKit({ id: "dsh-plugin-core-ui"
|
|
877
|
+
var current = createStyleKit({ id: "dsh-plugin-core-ui" });
|
|
893
878
|
function setStyleKit(kit) {
|
|
894
879
|
current = kit;
|
|
895
880
|
}
|
|
896
881
|
function ensureControls(kit = current) {
|
|
897
882
|
kit.registerStyle("tokens", kit.tokensCss);
|
|
898
|
-
kit.applyStyle(CONTROLS_DOMAIN,
|
|
883
|
+
kit.applyStyle(CONTROLS_DOMAIN, CONTROLS_CSS);
|
|
899
884
|
}
|
|
900
885
|
|
|
901
886
|
// dist/ui/picker-logic.js
|
|
@@ -1142,37 +1127,37 @@ function Picker(props) {
|
|
|
1142
1127
|
}
|
|
1143
1128
|
};
|
|
1144
1129
|
return (0, import_react.createElement)("div", {
|
|
1145
|
-
className: `
|
|
1130
|
+
className: `dshpc-picker${props.className === void 0 ? "" : ` ${props.className}`}`,
|
|
1146
1131
|
ref: rootRef,
|
|
1147
1132
|
onKeyDown
|
|
1148
1133
|
}, (0, import_react.createElement)("button", {
|
|
1149
1134
|
type: "button",
|
|
1150
1135
|
"aria-label": props.ariaLabel,
|
|
1151
1136
|
"aria-expanded": open,
|
|
1152
|
-
className: `
|
|
1137
|
+
className: `dshpc-picker__trigger dshpc-picker__trigger--${size}`,
|
|
1153
1138
|
disabled: props.disabled === true,
|
|
1154
1139
|
onClick: () => {
|
|
1155
1140
|
if (props.disabled !== true)
|
|
1156
1141
|
setOpen(!open);
|
|
1157
1142
|
}
|
|
1158
|
-
}, (0, import_react.createElement)("span", null, summary), (0, import_react.createElement)("span", { className: "
|
|
1159
|
-
className: placement === "up" ? "
|
|
1160
|
-
}, props.degraded === true ? (0, import_react.createElement)("div", { className: "
|
|
1161
|
-
className: "
|
|
1143
|
+
}, (0, import_react.createElement)("span", null, summary), (0, import_react.createElement)("span", { className: "dshpc-picker__caret" }, "\u25BE")), open ? (0, import_react.createElement)("div", {
|
|
1144
|
+
className: placement === "up" ? "dshpc-picker__menu dshpc-picker__menu--up" : "dshpc-picker__menu"
|
|
1145
|
+
}, props.degraded === true ? (0, import_react.createElement)("div", { className: "dshpc-picker__degraded" }, tt("pickerDegraded")) : null, atMax ? (0, import_react.createElement)("div", { className: "dshpc-picker__degraded" }, tt("pickerMaxReached", { n: props.max ?? 0 })) : null, props.searchable === true ? (0, import_react.createElement)("input", {
|
|
1146
|
+
className: "dshpc-picker__search",
|
|
1162
1147
|
placeholder: tt("pickerSearch"),
|
|
1163
1148
|
value: query,
|
|
1164
1149
|
onChange: (e) => setQuery(e.target.value)
|
|
1165
|
-
}) : null, flat.length === 0 && groups.length === 0 ? (0, import_react.createElement)("div", { className: "
|
|
1150
|
+
}) : null, flat.length === 0 && groups.length === 0 ? (0, import_react.createElement)("div", { className: "dshpc-picker__empty" }, tt("pickerEmpty")) : flat.length === 0 ? (0, import_react.createElement)("div", { className: "dshpc-picker__empty" }, tt("pickerNoMatch")) : [
|
|
1166
1151
|
clearable && mode === "single" && selected.length > 0 ? (0, import_react.createElement)("div", {
|
|
1167
1152
|
key: "__clear__",
|
|
1168
|
-
className: "
|
|
1153
|
+
className: "dshpc-picker__option dshpc-picker__option--clear",
|
|
1169
1154
|
onClick: clear
|
|
1170
1155
|
}, tt("pickerClear")) : null,
|
|
1171
|
-
...shown.map((g) => (0, import_react.createElement)("div", { key: g.value || "_" }, g.label === "" ? null : (0, import_react.createElement)("div", { className: "
|
|
1156
|
+
...shown.map((g) => (0, import_react.createElement)("div", { key: g.value || "_" }, g.label === "" ? null : (0, import_react.createElement)("div", { className: "dshpc-picker__group-label" }, g.label), g.options.map((o) => {
|
|
1172
1157
|
const activeCls = [
|
|
1173
|
-
"
|
|
1174
|
-
selected.includes(o.value) ? "
|
|
1175
|
-
o.disabled === true || atMax ? "
|
|
1158
|
+
"dshpc-picker__option",
|
|
1159
|
+
selected.includes(o.value) ? "dshpc-picker__option--active" : "",
|
|
1160
|
+
o.disabled === true || atMax ? "dshpc-picker__option--disabled" : ""
|
|
1176
1161
|
].filter((s) => s !== "").join(" ");
|
|
1177
1162
|
const idx = flat.indexOf(o);
|
|
1178
1163
|
return (0, import_react.createElement)("div", {
|
|
@@ -1183,7 +1168,7 @@ function Picker(props) {
|
|
|
1183
1168
|
if (o.disabled !== true && !atMax)
|
|
1184
1169
|
pick(o.value);
|
|
1185
1170
|
}
|
|
1186
|
-
}, mode === "multiple" ? (0, import_react.createElement)("span", { className: "
|
|
1171
|
+
}, mode === "multiple" ? (0, import_react.createElement)("span", { className: "dshpc-picker__tick" }, selected.includes(o.value) ? "\u2713" : "") : null, (0, import_react.createElement)("span", null, o.label));
|
|
1187
1172
|
})))
|
|
1188
1173
|
]) : null);
|
|
1189
1174
|
}
|
|
@@ -1219,7 +1204,7 @@ function ModelPicker(props) {
|
|
|
1219
1204
|
}
|
|
1220
1205
|
const group = groupOf(props.groups, cur);
|
|
1221
1206
|
const provider = group?.value ?? "";
|
|
1222
|
-
return (0, import_react2.createElement)("div", { className: "
|
|
1207
|
+
return (0, import_react2.createElement)("div", { className: "dshpc-picker__row" }, (0, import_react2.createElement)(Picker, {
|
|
1223
1208
|
options: props.groups.map((g) => ({ value: g.value, label: g.label })),
|
|
1224
1209
|
value: provider === "" ? void 0 : provider,
|
|
1225
1210
|
placeholder: tt("modelProvider"),
|
|
@@ -1301,21 +1286,21 @@ function Modal(props) {
|
|
|
1301
1286
|
return () => document.removeEventListener("keydown", onKey);
|
|
1302
1287
|
}, [escClose, props.onClose]);
|
|
1303
1288
|
return (0, import_react4.createElement)("div", {
|
|
1304
|
-
className: "
|
|
1289
|
+
className: "dshpc-modal-mask",
|
|
1305
1290
|
onClick: () => {
|
|
1306
1291
|
if (closeOnMask)
|
|
1307
1292
|
props.onClose?.();
|
|
1308
1293
|
}
|
|
1309
1294
|
}, (0, import_react4.createElement)("div", {
|
|
1310
|
-
className: "
|
|
1295
|
+
className: "dshpc-modal",
|
|
1311
1296
|
style: props.maxWidth === void 0 ? void 0 : { maxWidth: props.maxWidth },
|
|
1312
1297
|
onClick: (e) => e.stopPropagation()
|
|
1313
|
-
}, props.hideHeader === true || props.title === void 0 && props.onClose === void 0 ? null : (0, import_react4.createElement)("div", { className: "
|
|
1298
|
+
}, props.hideHeader === true || props.title === void 0 && props.onClose === void 0 ? null : (0, import_react4.createElement)("div", { className: "dshpc-modal__head" }, (0, import_react4.createElement)("div", { className: "dshpc-modal__title" }, props.title ?? ""), props.onClose === void 0 ? null : (0, import_react4.createElement)("button", {
|
|
1314
1299
|
type: "button",
|
|
1315
|
-
className: "
|
|
1300
|
+
className: "dshpc-modal__close",
|
|
1316
1301
|
"aria-label": tt("modalClose"),
|
|
1317
1302
|
onClick: () => props.onClose?.()
|
|
1318
|
-
}, "\u2715")), (0, import_react4.createElement)("div", { className: "
|
|
1303
|
+
}, "\u2715")), (0, import_react4.createElement)("div", { className: "dshpc-modal__body" }, props.children ?? null), props.footer === void 0 ? null : (0, import_react4.createElement)("div", { className: "dshpc-modal__foot" }, props.footer)));
|
|
1319
1304
|
}
|
|
1320
1305
|
|
|
1321
1306
|
// dist/ui/Card.js
|
|
@@ -1327,19 +1312,19 @@ function CardShell(kind, props) {
|
|
|
1327
1312
|
const accent = props.accent ?? "business";
|
|
1328
1313
|
const isPreset = CARD_ACCENTS.includes(accent);
|
|
1329
1314
|
const classes = [
|
|
1330
|
-
"
|
|
1331
|
-
kind === "strip" ? "
|
|
1332
|
-
isPreset ? `
|
|
1315
|
+
"dshpc-card",
|
|
1316
|
+
kind === "strip" ? "dshpc-card--strip" : "dshpc-card--bordered",
|
|
1317
|
+
isPreset ? `dshpc-card--${accent}` : "",
|
|
1333
1318
|
props.className ?? ""
|
|
1334
1319
|
].filter((s) => s !== "").join(" ");
|
|
1335
1320
|
const style = isPreset ? props.style : { ...props.style, ["--card-accent"]: accent };
|
|
1336
|
-
return (0, import_react5.createElement)("div", { className: classes, style }, (0, import_react5.createElement)("span", { className: "
|
|
1321
|
+
return (0, import_react5.createElement)("div", { className: classes, style }, (0, import_react5.createElement)("span", { className: "dshpc-card__bar", "aria-hidden": true }), (0, import_react5.createElement)("div", { className: "dshpc-card__head" }, (0, import_react5.createElement)("div", { className: "dshpc-card__main" }, props.children ?? null), props.action === void 0 && props.onToggle === void 0 ? null : (0, import_react5.createElement)("div", { className: "dshpc-card__side" }, props.action ?? null, props.onToggle === void 0 ? null : (0, import_react5.createElement)("button", {
|
|
1337
1322
|
type: "button",
|
|
1338
|
-
className: "
|
|
1323
|
+
className: "dshpc-card__toggle",
|
|
1339
1324
|
"aria-label": tt("cardToggle"),
|
|
1340
1325
|
"aria-expanded": props.expanded === true,
|
|
1341
1326
|
onClick: props.onToggle
|
|
1342
|
-
}, (0, import_react5.createElement)("span", { className: props.expanded === true ? "
|
|
1327
|
+
}, (0, import_react5.createElement)("span", { className: props.expanded === true ? "dshpc-card__caret is-open" : "dshpc-card__caret" }, "\u25BE")))), props.panel === void 0 || props.expanded !== true ? null : (0, import_react5.createElement)("div", { className: "dshpc-card__panel" }, props.panel));
|
|
1343
1328
|
}
|
|
1344
1329
|
function Card(props) {
|
|
1345
1330
|
return CardShell("bordered", props);
|
|
@@ -1355,13 +1340,13 @@ function Chip(props) {
|
|
|
1355
1340
|
const clickable = props.onClick !== void 0;
|
|
1356
1341
|
return (0, import_react6.createElement)(clickable ? "button" : "span", {
|
|
1357
1342
|
type: clickable ? "button" : void 0,
|
|
1358
|
-
className: `
|
|
1343
|
+
className: `dshpc-chip${clickable ? " dshpc-chip--clickable" : ""}${props.className === void 0 ? "" : ` ${props.className}`}`,
|
|
1359
1344
|
onClick: props.onClick
|
|
1360
1345
|
}, props.children ?? null);
|
|
1361
1346
|
}
|
|
1362
1347
|
|
|
1363
1348
|
// dist/ui/Toast.js
|
|
1364
|
-
var HOST_ID = "
|
|
1349
|
+
var HOST_ID = "dshpc-toast-host";
|
|
1365
1350
|
var DEFAULT_MS = 2600;
|
|
1366
1351
|
function showToast(message, opts) {
|
|
1367
1352
|
if (typeof document === "undefined")
|
|
@@ -1370,7 +1355,7 @@ function showToast(message, opts) {
|
|
|
1370
1355
|
const variant = opts?.variant ?? "info";
|
|
1371
1356
|
const host = ensureHost();
|
|
1372
1357
|
const el = document.createElement("div");
|
|
1373
|
-
el.className = `
|
|
1358
|
+
el.className = `dshpc-toast${variant === "info" ? "" : ` dshpc-toast--${variant}`}`;
|
|
1374
1359
|
el.textContent = message;
|
|
1375
1360
|
host.appendChild(el);
|
|
1376
1361
|
setTimeout(() => {
|
|
@@ -1385,7 +1370,7 @@ function ensureHost() {
|
|
|
1385
1370
|
return found;
|
|
1386
1371
|
const host = document.createElement("div");
|
|
1387
1372
|
host.id = HOST_ID;
|
|
1388
|
-
host.className = "
|
|
1373
|
+
host.className = "dshpc-toast-host";
|
|
1389
1374
|
document.body.appendChild(host);
|
|
1390
1375
|
return host;
|
|
1391
1376
|
}
|
|
@@ -1395,7 +1380,7 @@ var import_react7 = require("react");
|
|
|
1395
1380
|
function EmptyState(props) {
|
|
1396
1381
|
ensureControls();
|
|
1397
1382
|
const tt = props.translate ?? t;
|
|
1398
|
-
return (0, import_react7.createElement)("div", { className: "
|
|
1383
|
+
return (0, import_react7.createElement)("div", { className: "dshpc-empty" }, props.icon ?? null, (0, import_react7.createElement)("div", null, props.text ?? tt("emptyText")), props.action ?? null);
|
|
1399
1384
|
}
|
|
1400
1385
|
|
|
1401
1386
|
// dist/ui/ErrorBoundary.js
|
|
@@ -1422,14 +1407,14 @@ var ErrorBoundary = class extends import_react8.Component {
|
|
|
1422
1407
|
if (this.props.fallback !== void 0)
|
|
1423
1408
|
return this.props.fallback(err, this.retry);
|
|
1424
1409
|
const tt = this.props.translate ?? t;
|
|
1425
|
-
return (0, import_react8.createElement)("div", { className: "
|
|
1410
|
+
return (0, import_react8.createElement)("div", { className: "dshpc-error" }, (0, import_react8.createElement)("div", null, `${tt("errorTitle")}\uFF1A${err.message}`), (0, import_react8.createElement)("button", { type: "button", className: "dshpc-error__retry", onClick: this.retry }, tt("errorRetry")));
|
|
1426
1411
|
}
|
|
1427
1412
|
};
|
|
1428
1413
|
|
|
1429
1414
|
// dist/ui/Button.js
|
|
1430
1415
|
var import_react9 = require("react");
|
|
1431
1416
|
function buttonClass(variant, size, extra) {
|
|
1432
|
-
return `
|
|
1417
|
+
return `dshpc-btn dshpc-btn--${variant} dshpc-btn--${size}${extra !== void 0 && extra !== "" ? ` ${extra}` : ""}`;
|
|
1433
1418
|
}
|
|
1434
1419
|
function Button(props) {
|
|
1435
1420
|
ensureControls();
|
|
@@ -1440,7 +1425,7 @@ function Button(props) {
|
|
|
1440
1425
|
className: buttonClass(variant, size, className),
|
|
1441
1426
|
style
|
|
1442
1427
|
};
|
|
1443
|
-
return (0, import_react9.createElement)("button", attrs, icon !== void 0 && icon !== null ? (0, import_react9.createElement)("span", { className: "
|
|
1428
|
+
return (0, import_react9.createElement)("button", attrs, icon !== void 0 && icon !== null ? (0, import_react9.createElement)("span", { className: "dshpc-btn__icon" }, icon) : null, children);
|
|
1444
1429
|
}
|
|
1445
1430
|
function IconButton(props) {
|
|
1446
1431
|
ensureControls();
|
|
@@ -1450,7 +1435,7 @@ function IconButton(props) {
|
|
|
1450
1435
|
type: rest.type ?? "button",
|
|
1451
1436
|
title: rest.title ?? label,
|
|
1452
1437
|
"aria-label": rest["aria-label"] ?? label,
|
|
1453
|
-
className: `
|
|
1438
|
+
className: `dshpc-iconbtn dshpc-iconbtn--${variant} dshpc-iconbtn--${size}${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
|
|
1454
1439
|
style
|
|
1455
1440
|
};
|
|
1456
1441
|
return (0, import_react9.createElement)("button", attrs, icon);
|
|
@@ -1471,7 +1456,7 @@ function Segmented(props) {
|
|
|
1471
1456
|
"aria-label": props.label,
|
|
1472
1457
|
id: props.id,
|
|
1473
1458
|
// 结构一套、皮肤只在 controls-css 里;此处只拼「轴」类名,不写任何颜色 / 尺寸字面值。
|
|
1474
|
-
className: `
|
|
1459
|
+
className: `dshpc-seg dshpc-seg--${variant} dshpc-seg--${size}${props.block === true ? " dshpc-seg--block" : ""}${props.className !== void 0 ? ` ${props.className}` : ""}`,
|
|
1475
1460
|
style: props.style
|
|
1476
1461
|
}, props.items.map((item) => {
|
|
1477
1462
|
const on = multiple ? value.includes(item.value) : value === item.value;
|
|
@@ -1491,12 +1476,12 @@ function Segmented(props) {
|
|
|
1491
1476
|
return (0, import_react10.createElement)("button", {
|
|
1492
1477
|
key: item.value,
|
|
1493
1478
|
type: "button",
|
|
1494
|
-
className: "
|
|
1479
|
+
className: "dshpc-seg__item",
|
|
1495
1480
|
// 选中态用 aria-pressed 表达 ⇒ 读屏可读,皮肤也只认这一个选择器
|
|
1496
1481
|
"aria-pressed": on,
|
|
1497
1482
|
disabled,
|
|
1498
1483
|
onClick: handle
|
|
1499
|
-
}, item.label, item.count !== void 0 && item.count > 0 ? (0, import_react10.createElement)("span", { className: "
|
|
1484
|
+
}, item.label, item.count !== void 0 && item.count > 0 ? (0, import_react10.createElement)("span", { className: "dshpc-seg__count" }, String(item.count)) : null, item.badge !== void 0 && item.badge > 0 ? (0, import_react10.createElement)("span", { className: "dshpc-seg__badge" }, String(item.badge)) : null);
|
|
1500
1485
|
}));
|
|
1501
1486
|
}
|
|
1502
1487
|
|
|
@@ -1513,7 +1498,7 @@ function Textarea(props) {
|
|
|
1513
1498
|
disabled,
|
|
1514
1499
|
spellCheck: spellCheck === true,
|
|
1515
1500
|
"aria-label": props["aria-label"],
|
|
1516
|
-
className: `
|
|
1501
|
+
className: `dshpc-textarea${error === true ? " dshpc-textarea--error" : ""}${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
|
|
1517
1502
|
style,
|
|
1518
1503
|
onChange: (event) => {
|
|
1519
1504
|
onChange(event.target.value);
|
|
@@ -1526,13 +1511,13 @@ var import_react12 = require("react");
|
|
|
1526
1511
|
function Checkbox(props) {
|
|
1527
1512
|
const { checked, onChange, label, accentColor, disabled, className } = props;
|
|
1528
1513
|
return (0, import_react12.createElement)("label", {
|
|
1529
|
-
className: `
|
|
1514
|
+
className: `dshpc-checkbox${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
|
|
1530
1515
|
style: {
|
|
1531
1516
|
display: "flex",
|
|
1532
1517
|
alignItems: "flex-start",
|
|
1533
1518
|
gap: "8px",
|
|
1534
|
-
fontSize: "var(--
|
|
1535
|
-
lineHeight: "var(--
|
|
1519
|
+
fontSize: "var(--dshpc-font-md)",
|
|
1520
|
+
lineHeight: "var(--dshpc-line-md)",
|
|
1536
1521
|
cursor: disabled === true ? "default" : "pointer"
|
|
1537
1522
|
}
|
|
1538
1523
|
}, (0, import_react12.createElement)("input", {
|
|
@@ -1542,7 +1527,7 @@ function Checkbox(props) {
|
|
|
1542
1527
|
style: {
|
|
1543
1528
|
flex: "none",
|
|
1544
1529
|
margin: "2px 0 0",
|
|
1545
|
-
accentColor: accentColor ?? "var(--
|
|
1530
|
+
accentColor: accentColor ?? "var(--dshpc-business)",
|
|
1546
1531
|
width: "14px",
|
|
1547
1532
|
height: "14px",
|
|
1548
1533
|
cursor: disabled === true ? "default" : "pointer"
|
|
@@ -1583,14 +1568,14 @@ function MarqueeText(props) {
|
|
|
1583
1568
|
const run = dist > 0;
|
|
1584
1569
|
return (0, import_react13.createElement)("span", {
|
|
1585
1570
|
ref: outerRef,
|
|
1586
|
-
className: (run ? "
|
|
1571
|
+
className: (run ? "dshpc-mq dshpc-mq-run" : "dshpc-mq") + (props.className === void 0 ? "" : ` ${props.className}`),
|
|
1587
1572
|
title: props.title,
|
|
1588
1573
|
style: props.style
|
|
1589
1574
|
}, (0, import_react13.createElement)("span", {
|
|
1590
1575
|
ref: innerRef,
|
|
1591
|
-
className: "
|
|
1576
|
+
className: "dshpc-mq-in",
|
|
1592
1577
|
style: {
|
|
1593
|
-
...run ? { "--
|
|
1578
|
+
...run ? { "--dshpc-mq-dist": `${-dist}px`, "--dshpc-mq-dur": `${Math.max(3, Math.round(dist / 30))}s` } : null
|
|
1594
1579
|
}
|
|
1595
1580
|
}, props.text));
|
|
1596
1581
|
}
|
|
@@ -1599,8 +1584,8 @@ function MarqueeText(props) {
|
|
|
1599
1584
|
var import_react14 = require("react");
|
|
1600
1585
|
function SectionHead(props) {
|
|
1601
1586
|
return (0, import_react14.createElement)("div", {
|
|
1602
|
-
style: { display: "flex", alignItems: "center", gap: "var(--
|
|
1603
|
-
}, (0, import_react14.createElement)("span", { style: { display: "inline-flex", alignItems: "center", flex: "none", color: "var(--
|
|
1587
|
+
style: { display: "flex", alignItems: "center", gap: "var(--dshpc-space-2)", marginBottom: "var(--dshpc-space-3)" }
|
|
1588
|
+
}, (0, import_react14.createElement)("span", { style: { display: "inline-flex", alignItems: "center", flex: "none", color: "var(--dshpc-fg-3)" } }, props.icon), (0, import_react14.createElement)("span", { style: { fontSize: "var(--dshpc-font-lg)", lineHeight: "var(--dshpc-line-lg)", fontWeight: 600, color: "var(--dshpc-fg)", flex: "none" } }, props.title), props.right === void 0 ? null : (0, import_react14.createElement)("div", { style: { marginLeft: "auto", display: "flex", alignItems: "center", gap: "var(--dshpc-space-2)", minWidth: 0 } }, props.right));
|
|
1604
1589
|
}
|
|
1605
1590
|
|
|
1606
1591
|
// dist/ui/FieldHint.js
|
|
@@ -1608,12 +1593,12 @@ var import_react15 = require("react");
|
|
|
1608
1593
|
function FieldHint(props) {
|
|
1609
1594
|
ensureControls();
|
|
1610
1595
|
return (0, import_react15.createElement)("span", {
|
|
1611
|
-
className: `
|
|
1596
|
+
className: `dshpc-hint${props.className !== void 0 && props.className !== "" ? ` ${props.className}` : ""}`,
|
|
1612
1597
|
style: props.style,
|
|
1613
1598
|
tabIndex: 0,
|
|
1614
1599
|
role: "note",
|
|
1615
1600
|
"aria-label": props.text
|
|
1616
|
-
}, "?", (0, import_react15.createElement)("span", { className: "
|
|
1601
|
+
}, "?", (0, import_react15.createElement)("span", { className: "dshpc-hint__bubble", role: "tooltip" }, props.text));
|
|
1617
1602
|
}
|
|
1618
1603
|
|
|
1619
1604
|
// dist/ui/LiveText.js
|
|
@@ -1674,7 +1659,7 @@ function Input(props) {
|
|
|
1674
1659
|
disabled,
|
|
1675
1660
|
"aria-label": props["aria-label"],
|
|
1676
1661
|
title: props.title,
|
|
1677
|
-
className: `
|
|
1662
|
+
className: `dshpc-input dshpc-input${sizeClass(size)}${error === true ? " dshpc-input--error" : ""}${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
|
|
1678
1663
|
style,
|
|
1679
1664
|
onChange: (event) => {
|
|
1680
1665
|
onChange(event.target.value);
|
|
@@ -1716,7 +1701,7 @@ function NumberInput(props) {
|
|
|
1716
1701
|
return (0, import_react18.createElement)(
|
|
1717
1702
|
"div",
|
|
1718
1703
|
{
|
|
1719
|
-
className: `
|
|
1704
|
+
className: `dshpc-num dshpc-num${sizeClass(size)}${disabled === true ? " dshpc-num--disabled" : ""}${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
|
|
1720
1705
|
style
|
|
1721
1706
|
},
|
|
1722
1707
|
(0, import_react18.createElement)(IconButton, { variant: "plain", size, icon: "\u2212", label: decreaseLabel, disabled, onClick: () => {
|
|
@@ -1724,8 +1709,8 @@ function NumberInput(props) {
|
|
|
1724
1709
|
} }),
|
|
1725
1710
|
// 中段(数字 + 后缀)成组居中:消费端把宽度拉大时,「−」钉最左、「+」钉最右、数字组始终居中
|
|
1726
1711
|
// (用户 2026-10-18:加减号必须在最左 / 最右,宽度由消费端调)。
|
|
1727
|
-
(0, import_react18.createElement)("span", { className: "
|
|
1728
|
-
className: "
|
|
1712
|
+
(0, import_react18.createElement)("span", { className: "dshpc-num__mid" }, (0, import_react18.createElement)("input", {
|
|
1713
|
+
className: "dshpc-num__input",
|
|
1729
1714
|
...inputWidth === void 0 ? {} : { style: { width: `${inputWidth}px` } },
|
|
1730
1715
|
value: text,
|
|
1731
1716
|
disabled,
|
|
@@ -1741,7 +1726,7 @@ function NumberInput(props) {
|
|
|
1741
1726
|
if (event.key === "Enter")
|
|
1742
1727
|
commit(text);
|
|
1743
1728
|
}
|
|
1744
|
-
}), suffix !== void 0 ? (0, import_react18.createElement)("span", { className: "
|
|
1729
|
+
}), suffix !== void 0 ? (0, import_react18.createElement)("span", { className: "dshpc-num__suffix" }, suffix) : null),
|
|
1745
1730
|
(0, import_react18.createElement)(IconButton, { variant: "plain", size, icon: "+", label: increaseLabel, disabled, onClick: () => {
|
|
1746
1731
|
bump(1);
|
|
1747
1732
|
} })
|
|
@@ -1923,7 +1908,7 @@ var DICT2 = {
|
|
|
1923
1908
|
designTokenHint: "\u989C\u8272\u5168\u90E8\u6765\u81EA design \u7684 token\uFF1B\u5207\u6362\u53F3\u4E0A\u89D2\u660E\u6697\uFF0C\u4E0B\u9762\u4F1A\u8DDF\u7740\u53D8",
|
|
1924
1909
|
designInjectHint: "\u63A7\u4EF6\u6E32\u67D3\u524D\u8C03\u4E00\u6B21 setStyleKit + ensureControls\uFF0Ctoken \u4E0E\u63A7\u4EF6 CSS \u7531 kit \u6CE8\u5165 <head>",
|
|
1925
1910
|
fieldHintDate: "\u4EFB\u52A1\u81EA\u8BE5\u65E5\u8D77\u5F00\u59CB\u6267\u884C\u3002\u53EF\u63D0\u524D\u521B\u5EFA\u4EFB\u52A1\uFF0C\u81F3\u8BE5\u65E5\u81EA\u52A8\u5F00\u8DD1\uFF1B\u300C\u6BCF N \u5468\u300D\u4EA6\u81EA\u8BE5\u65E5\u8D77\u7B97\u9996\u5468\u3002",
|
|
1926
|
-
loadingNote: "Loading \u662F\u8D34\u5230\u4E3B\u5BB9\u5668\u53F3\u4E0B\u89D2\u7684\u6307\u793A\u5668\uFF08anchorId \u9ED8\u8BA4
|
|
1911
|
+
loadingNote: "Loading \u662F\u8D34\u5230\u4E3B\u5BB9\u5668\u53F3\u4E0B\u89D2\u7684\u6307\u793A\u5668\uFF08anchorId \u9ED8\u8BA4 dshpc-main\uFF09\uFF0C\u6B64\u5904\u4E0D\u6E32\u67D3\u4EE5\u514D\u906E\u6321\u3002",
|
|
1927
1912
|
secDesign: "\u8BBE\u8BA1\u57FA\u7840",
|
|
1928
1913
|
secButtons: "\u6309\u94AE\u4E0E\u8F93\u5165",
|
|
1929
1914
|
secPickers: "\u9009\u62E9\u5668",
|
|
@@ -1961,7 +1946,7 @@ var DICT2 = {
|
|
|
1961
1946
|
designTokenHint: "All colors come from design tokens; switch light/dark at top-right and these update with it",
|
|
1962
1947
|
designInjectHint: "Call setStyleKit + ensureControls once before controls render; the kit injects tokens and control CSS into <head>",
|
|
1963
1948
|
fieldHintDate: 'The task runs starting from this date. You can create it ahead of time and it auto-starts on that day; "every N weeks" also counts its first week from this date.',
|
|
1964
|
-
loadingNote: "Loading is an indicator pinned to the bottom-right of the main container (anchorId defaults to
|
|
1949
|
+
loadingNote: "Loading is an indicator pinned to the bottom-right of the main container (anchorId defaults to dshpc-main); not rendered here to avoid covering content.",
|
|
1965
1950
|
secDesign: "Design basics",
|
|
1966
1951
|
secButtons: "Buttons & inputs",
|
|
1967
1952
|
secPickers: "Pickers",
|
|
@@ -1998,17 +1983,17 @@ function t2(key, vars) {
|
|
|
1998
1983
|
|
|
1999
1984
|
// packages/demo/src/sections/design.tsx
|
|
2000
1985
|
var TOKENS = [
|
|
2001
|
-
{ label: "business", cssVar: "--
|
|
2002
|
-
{ label: "success", cssVar: "--
|
|
2003
|
-
{ label: "warning", cssVar: "--
|
|
2004
|
-
{ label: "danger", cssVar: "--
|
|
2005
|
-
{ label: "surface-1", cssVar: "--
|
|
2006
|
-
{ label: "surface-2", cssVar: "--
|
|
2007
|
-
{ label: "surface-sunken", cssVar: "--
|
|
2008
|
-
{ label: "border", cssVar: "--
|
|
2009
|
-
{ label: "fg", cssVar: "--
|
|
2010
|
-
{ label: "fg-3", cssVar: "--
|
|
2011
|
-
{ label: "fg-4", cssVar: "--
|
|
1986
|
+
{ label: "business", cssVar: "--dshpc-business" },
|
|
1987
|
+
{ label: "success", cssVar: "--dshpc-success" },
|
|
1988
|
+
{ label: "warning", cssVar: "--dshpc-warning" },
|
|
1989
|
+
{ label: "danger", cssVar: "--dshpc-danger" },
|
|
1990
|
+
{ label: "surface-1", cssVar: "--dshpc-surface-1" },
|
|
1991
|
+
{ label: "surface-2", cssVar: "--dshpc-surface-2" },
|
|
1992
|
+
{ label: "surface-sunken", cssVar: "--dshpc-surface-sunken" },
|
|
1993
|
+
{ label: "border", cssVar: "--dshpc-border" },
|
|
1994
|
+
{ label: "fg", cssVar: "--dshpc-fg" },
|
|
1995
|
+
{ label: "fg-3", cssVar: "--dshpc-fg-3" },
|
|
1996
|
+
{ label: "fg-4", cssVar: "--dshpc-fg-4" }
|
|
2012
1997
|
];
|
|
2013
1998
|
function DesignSection() {
|
|
2014
1999
|
return (0, import_react19.createElement)(
|
|
@@ -2029,11 +2014,11 @@ function DesignSection() {
|
|
|
2029
2014
|
height: "40px",
|
|
2030
2015
|
borderRadius: "6px",
|
|
2031
2016
|
background: `var(${t3.cssVar})`,
|
|
2032
|
-
border: "1px solid var(--
|
|
2017
|
+
border: "1px solid var(--dshpc-border-faint)"
|
|
2033
2018
|
}
|
|
2034
2019
|
}),
|
|
2035
2020
|
(0, import_react19.createElement)("div", { style: { fontSize: "11px", marginTop: "4px" } }, t3.label),
|
|
2036
|
-
(0, import_react19.createElement)("div", { style: { fontSize: "10px", color: "var(--
|
|
2021
|
+
(0, import_react19.createElement)("div", { style: { fontSize: "10px", color: "var(--dshpc-fg-4)" } }, t3.cssVar)
|
|
2037
2022
|
)
|
|
2038
2023
|
)
|
|
2039
2024
|
)
|
|
@@ -2046,12 +2031,12 @@ function DesignSection() {
|
|
|
2046
2031
|
code: `import { createStyleKit } from 'dsh-plugin-core/design'
|
|
2047
2032
|
import { ensureControls, setStyleKit } from 'dsh-plugin-core/ui'
|
|
2048
2033
|
|
|
2049
|
-
setStyleKit(createStyleKit({ id: '
|
|
2034
|
+
setStyleKit(createStyleKit({ id: 'dsh-plugin-core-demo-ui' }))
|
|
2050
2035
|
ensureControls()`
|
|
2051
2036
|
},
|
|
2052
2037
|
(0, import_react19.createElement)(
|
|
2053
2038
|
"div",
|
|
2054
|
-
{ style: { color: "var(--
|
|
2039
|
+
{ style: { color: "var(--dshpc-fg-3)", fontSize: "12px" } },
|
|
2055
2040
|
t2("designInjectNote")
|
|
2056
2041
|
)
|
|
2057
2042
|
)
|
|
@@ -2094,7 +2079,7 @@ function ButtonsSection() {
|
|
|
2094
2079
|
(0, import_react20.createElement)(
|
|
2095
2080
|
"div",
|
|
2096
2081
|
{ style: { display: "flex", alignItems: "center", gap: "6px" } },
|
|
2097
|
-
(0, import_react20.createElement)("span", { style: { color: "var(--
|
|
2082
|
+
(0, import_react20.createElement)("span", { style: { color: "var(--dshpc-fg-2)", fontSize: "13px", flex: "none" } }, "\u5F00\u59CB\u65F6\u95F4"),
|
|
2098
2083
|
(0, import_react20.createElement)(Input, { value: text, onChange: setText, placeholder: "\u9009\u62E9\u65E5\u671F" }),
|
|
2099
2084
|
(0, import_react20.createElement)(FieldHint, { text: t2("fieldHintDate") })
|
|
2100
2085
|
),
|
|
@@ -2152,7 +2137,7 @@ function ButtonsSection() {
|
|
|
2152
2137
|
// 星期多选方块(蓝底选中、近似方形)
|
|
2153
2138
|
(0, import_react20.createElement)(Segmented, {
|
|
2154
2139
|
multiple: true,
|
|
2155
|
-
className: "
|
|
2140
|
+
className: "dshpc-seg--weekday",
|
|
2156
2141
|
label: "\u661F\u671F",
|
|
2157
2142
|
items: [
|
|
2158
2143
|
{ value: "1", label: "\u4E00" },
|
|
@@ -2326,12 +2311,12 @@ function FeedbackSection() {
|
|
|
2326
2311
|
(0, import_react22.createElement)(EmptyState, { text: "\u6682\u65E0\u6570\u636E" }),
|
|
2327
2312
|
(0, import_react22.createElement)(
|
|
2328
2313
|
"div",
|
|
2329
|
-
{ style: { border: "1px solid var(--
|
|
2314
|
+
{ style: { border: "1px solid var(--dshpc-border-faint)", borderRadius: "8px", padding: "10px" } },
|
|
2330
2315
|
boom ? (0, import_react22.createElement)(ErrorBoundary, null, (0, import_react22.createElement)(Boom, null)) : (0, import_react22.createElement)(Button, { variant: "danger", onClick: () => setBoom(true) }, "\u70B9\u6211\u629B\u9519\uFF08\u770B\u8FB9\u754C\u515C\u5E95\uFF09")
|
|
2331
2316
|
),
|
|
2332
2317
|
(0, import_react22.createElement)(
|
|
2333
2318
|
"div",
|
|
2334
|
-
{ style: { color: "var(--
|
|
2319
|
+
{ style: { color: "var(--dshpc-fg-3)", fontSize: "12px" } },
|
|
2335
2320
|
t2("loadingNote")
|
|
2336
2321
|
)
|
|
2337
2322
|
)
|
|
@@ -2361,10 +2346,10 @@ function DisplaySection() {
|
|
|
2361
2346
|
{ style: { display: "flex", alignItems: "baseline", gap: "8px" } },
|
|
2362
2347
|
(0, import_react23.createElement)(
|
|
2363
2348
|
"div",
|
|
2364
|
-
{ style: { fontWeight: 600, flex: "1 1 auto", minWidth: 0, fontSize: "var(--
|
|
2349
|
+
{ style: { fontWeight: 600, flex: "1 1 auto", minWidth: 0, fontSize: "var(--dshpc-font-md)" } },
|
|
2365
2350
|
"\u5C06 OpenSSH \u4E0A\u6240\u6709 NPM \u5B89\u88C5\u8FC1\u79FB\u5230 PNPM"
|
|
2366
2351
|
),
|
|
2367
|
-
(0, import_react23.createElement)("div", { style: { color: "var(--
|
|
2352
|
+
(0, import_react23.createElement)("div", { style: { color: "var(--dshpc-fg-3)", fontSize: "var(--dshpc-font-xs)", flex: "none" } }, "2026-10-18 \u521B\u5EFA")
|
|
2368
2353
|
),
|
|
2369
2354
|
(0, import_react23.createElement)(
|
|
2370
2355
|
"div",
|
|
@@ -2384,7 +2369,7 @@ function DisplaySection() {
|
|
|
2384
2369
|
(a) => (0, import_react23.createElement)(
|
|
2385
2370
|
Card,
|
|
2386
2371
|
{ key: a, accent: a, style: { padding: "8px 12px" } },
|
|
2387
|
-
(0, import_react23.createElement)("div", { style: { fontSize: "var(--
|
|
2372
|
+
(0, import_react23.createElement)("div", { style: { fontSize: "var(--dshpc-font-sm)", color: "var(--dshpc-fg-2)" } }, `accent="${a}"`)
|
|
2388
2373
|
)
|
|
2389
2374
|
)
|
|
2390
2375
|
)
|
|
@@ -2395,21 +2380,21 @@ function DisplaySection() {
|
|
|
2395
2380
|
{ title: t2("demoStripTitle"), hint: t2("displayStripHint") },
|
|
2396
2381
|
(0, import_react23.createElement)(
|
|
2397
2382
|
"div",
|
|
2398
|
-
{ style: { maxWidth: "640px", background: "var(--
|
|
2383
|
+
{ style: { maxWidth: "640px", background: "var(--dshpc-surface-sunken)", borderRadius: "8px", overflow: "hidden" } },
|
|
2399
2384
|
(0, import_react23.createElement)(
|
|
2400
2385
|
StripCard,
|
|
2401
2386
|
{
|
|
2402
2387
|
accent: "business",
|
|
2403
|
-
action: (0, import_react23.createElement)("span", { style: { color: "var(--
|
|
2388
|
+
action: (0, import_react23.createElement)("span", { style: { color: "var(--dshpc-fg-3)", fontSize: "var(--dshpc-font-xs)", flex: "none" } }, "2026-10-18 \u5F00\u59CB \xB7 \u4ECA\u5929")
|
|
2404
2389
|
},
|
|
2405
|
-
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--
|
|
2390
|
+
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--dshpc-font-md)" } }, "DAY:1 - Docker \u955C\u50CF\u7248\u672C\u68C0\u67E5\u5668"),
|
|
2406
2391
|
(0, import_react23.createElement)(
|
|
2407
2392
|
"div",
|
|
2408
2393
|
{ style: { display: "flex", alignItems: "center", gap: "6px", marginTop: "4px", flexWrap: "wrap" } },
|
|
2409
2394
|
(0, import_react23.createElement)(Chip, null, "NAS-Docker"),
|
|
2410
2395
|
(0, import_react23.createElement)(
|
|
2411
2396
|
"span",
|
|
2412
|
-
{ style: { color: "var(--
|
|
2397
|
+
{ style: { color: "var(--dshpc-fg-3)", fontSize: "var(--dshpc-font-xs)" } },
|
|
2413
2398
|
"\u8BA1\u5212 02:00 \xB7 \u5B9E\u9645 02:00 \xB7 \u65F6\u957F 04:02 \xB7 2.4M"
|
|
2414
2399
|
)
|
|
2415
2400
|
)
|
|
@@ -2417,8 +2402,8 @@ function DisplaySection() {
|
|
|
2417
2402
|
(0, import_react23.createElement)(
|
|
2418
2403
|
StripCard,
|
|
2419
2404
|
{ accent: "success" },
|
|
2420
|
-
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--
|
|
2421
|
-
(0, import_react23.createElement)("div", { style: { color: "var(--
|
|
2405
|
+
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--dshpc-font-md)" } }, "\u6267\u884C\u6210\u529F"),
|
|
2406
|
+
(0, import_react23.createElement)("div", { style: { color: "var(--dshpc-fg-3)", fontSize: "var(--dshpc-font-xs)", marginTop: "4px" } }, "\u8017\u65F6 12s \xB7 3 \u4E2A\u6587\u4EF6\u53D8\u66F4")
|
|
2422
2407
|
),
|
|
2423
2408
|
(0, import_react23.createElement)(
|
|
2424
2409
|
StripCard,
|
|
@@ -2427,10 +2412,10 @@ function DisplaySection() {
|
|
|
2427
2412
|
expanded: open,
|
|
2428
2413
|
onToggle: () => setOpen(!open),
|
|
2429
2414
|
action: (0, import_react23.createElement)(Button, { size: "sm", variant: "ghost" }, "\u67E5\u770B\u4F1A\u8BDD"),
|
|
2430
|
-
panel: (0, import_react23.createElement)("div", { style: { fontSize: "12px", color: "var(--
|
|
2415
|
+
panel: (0, import_react23.createElement)("div", { style: { fontSize: "12px", color: "var(--dshpc-fg-3)" } }, "\u5C55\u5F00\u540E\u7684\u8BE6\u60C5\u9762\u677F")
|
|
2431
2416
|
},
|
|
2432
|
-
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--
|
|
2433
|
-
(0, import_react23.createElement)("div", { style: { color: "var(--
|
|
2417
|
+
(0, import_react23.createElement)("div", { style: { fontWeight: 600, fontSize: "var(--dshpc-font-md)" } }, "\u6709\u8B66\u544A\uFF08\u53EF\u6298\u53E0\uFF0C\u70B9\u53F3\u4FA7\u7BAD\u5934\uFF09"),
|
|
2418
|
+
(0, import_react23.createElement)("div", { style: { color: "var(--dshpc-fg-3)", fontSize: "var(--dshpc-font-xs)", marginTop: "4px" } }, "\u8017\u65F6 8s \xB7 1 \u4E2A\u8B66\u544A")
|
|
2434
2419
|
)
|
|
2435
2420
|
)
|
|
2436
2421
|
),
|
|
@@ -2508,8 +2493,8 @@ function UtilsSection() {
|
|
|
2508
2493
|
)
|
|
2509
2494
|
);
|
|
2510
2495
|
}
|
|
2511
|
-
var th = { textAlign: "left", padding: "6px 14px 6px 0", color: "var(--
|
|
2512
|
-
var td = { padding: "5px 14px 5px 0", borderTop: "1px solid var(--
|
|
2496
|
+
var th = { textAlign: "left", padding: "6px 14px 6px 0", color: "var(--dshpc-fg-3)" };
|
|
2497
|
+
var td = { padding: "5px 14px 5px 0", borderTop: "1px solid var(--dshpc-border-faint)" };
|
|
2513
2498
|
|
|
2514
2499
|
// packages/demo/src/sections/explorer.tsx
|
|
2515
2500
|
var import_react27 = require("react");
|
|
@@ -2608,9 +2593,9 @@ function FilePreview(props) {
|
|
|
2608
2593
|
if (failed)
|
|
2609
2594
|
return (0, import_react25.createElement)(EmptyState, { text: tt("explorerFailed"), translate: tt });
|
|
2610
2595
|
if (kind === "image") {
|
|
2611
|
-
return imageUrl === null ? (0, import_react25.createElement)("div", { className: "
|
|
2596
|
+
return imageUrl === null ? (0, import_react25.createElement)("div", { className: "dshpc-exp__note" }, tt("explorerLoading")) : (0, import_react25.createElement)("img", { className: "dshpc-exp__image", src: imageUrl, alt: props.path });
|
|
2612
2597
|
}
|
|
2613
|
-
return text === null ? (0, import_react25.createElement)("div", { className: "
|
|
2598
|
+
return text === null ? (0, import_react25.createElement)("div", { className: "dshpc-exp__note" }, tt("explorerLoading")) : (0, import_react25.createElement)("pre", { className: "dshpc-exp__text" }, text);
|
|
2614
2599
|
}
|
|
2615
2600
|
|
|
2616
2601
|
// dist/explorer/ExplorerPanel.js
|
|
@@ -2651,21 +2636,21 @@ function ExplorerPanel(props) {
|
|
|
2651
2636
|
props.onSelect?.(null);
|
|
2652
2637
|
setDir(next);
|
|
2653
2638
|
};
|
|
2654
|
-
const crumbBar = (0, import_react26.createElement)("div", { className: "
|
|
2639
|
+
const crumbBar = (0, import_react26.createElement)("div", { className: "dshpc-exp__crumbs" }, (0, import_react26.createElement)("button", { type: "button", className: "dshpc-exp__crumb", onClick: () => goto("") }, tt("explorerRoot")), crumbs.map((c, i) => {
|
|
2655
2640
|
const isLast = i === crumbs.length - 1;
|
|
2656
2641
|
const upto = crumbs.slice(0, i + 1).join("/");
|
|
2657
|
-
return (0, import_react26.createElement)("span", { key: upto }, (0, import_react26.createElement)("span", { className: "
|
|
2642
|
+
return (0, import_react26.createElement)("span", { key: upto }, (0, import_react26.createElement)("span", { className: "dshpc-exp__sep" }, " / "), (0, import_react26.createElement)("button", {
|
|
2658
2643
|
type: "button",
|
|
2659
|
-
className: `
|
|
2644
|
+
className: `dshpc-exp__crumb${isLast ? " dshpc-exp__crumb--current" : ""}`,
|
|
2660
2645
|
onClick: () => goto(upto)
|
|
2661
2646
|
}, c));
|
|
2662
|
-
}), (0, import_react26.createElement)("span", { className: "
|
|
2647
|
+
}), (0, import_react26.createElement)("span", { className: "dshpc-exp__tools" }, (0, import_react26.createElement)("button", {
|
|
2663
2648
|
type: "button",
|
|
2664
|
-
className: "
|
|
2649
|
+
className: "dshpc-exp__crumb",
|
|
2665
2650
|
disabled: dir === "",
|
|
2666
2651
|
onClick: () => goto(parentOf(dir))
|
|
2667
|
-
}, tt("explorerUp")), (0, import_react26.createElement)("button", { type: "button", className: "
|
|
2668
|
-
const tree = loading ? (0, import_react26.createElement)("div", { className: "
|
|
2652
|
+
}, tt("explorerUp")), (0, import_react26.createElement)("button", { type: "button", className: "dshpc-exp__crumb", onClick: () => setNonce(nonce + 1) }, tt("explorerRefresh"))));
|
|
2653
|
+
const tree = loading ? (0, import_react26.createElement)("div", { className: "dshpc-exp__note" }, tt("explorerLoading")) : failed ? (0, import_react26.createElement)(EmptyState, { text: tt("explorerFailed"), translate: tt }) : entries.length === 0 ? (0, import_react26.createElement)("div", { className: "dshpc-exp__note" }, props.emptyText ?? tt("explorerEmptyDir")) : (0, import_react26.createElement)("div", { className: "dshpc-exp__tree" }, [...entries].sort((a, b) => {
|
|
2669
2654
|
if (a.type !== b.type)
|
|
2670
2655
|
return a.type === "directory" ? -1 : 1;
|
|
2671
2656
|
return a.name.localeCompare(b.name);
|
|
@@ -2674,7 +2659,7 @@ function ExplorerPanel(props) {
|
|
|
2674
2659
|
const isDir = e.type === "directory";
|
|
2675
2660
|
return (0, import_react26.createElement)("div", {
|
|
2676
2661
|
key: full,
|
|
2677
|
-
className: `
|
|
2662
|
+
className: `dshpc-exp__item${selected === full ? " dshpc-exp__item--active" : ""}`,
|
|
2678
2663
|
onClick: () => {
|
|
2679
2664
|
if (isDir)
|
|
2680
2665
|
goto(full);
|
|
@@ -2684,9 +2669,9 @@ function ExplorerPanel(props) {
|
|
|
2684
2669
|
props.onOpenFile?.(full);
|
|
2685
2670
|
}
|
|
2686
2671
|
}
|
|
2687
|
-
}, (0, import_react26.createElement)("span", { className: "
|
|
2688
|
-
}), truncated ? (0, import_react26.createElement)("div", { className: "
|
|
2689
|
-
return (0, import_react26.createElement)("div", { className: "
|
|
2672
|
+
}, (0, import_react26.createElement)("span", { className: "dshpc-exp__icon" }, isDir ? "\u25B8" : "\xB7"), (0, import_react26.createElement)("span", { className: "dshpc-exp__name" }, e.name), e.size === void 0 ? null : (0, import_react26.createElement)("span", { className: "dshpc-exp__size" }, formatBytes(e.size)));
|
|
2673
|
+
}), truncated ? (0, import_react26.createElement)("div", { className: "dshpc-exp__note" }, tt("explorerTruncated")) : null);
|
|
2674
|
+
return (0, import_react26.createElement)("div", { className: "dshpc-exp" }, crumbBar, (0, import_react26.createElement)("div", { className: "dshpc-exp__body" }, tree, (0, import_react26.createElement)("div", { className: "dshpc-exp__preview" }, selected === null ? null : (0, import_react26.createElement)(FilePreview, {
|
|
2690
2675
|
workspaceFiles: props.workspaceFiles,
|
|
2691
2676
|
sessionId: props.sessionId,
|
|
2692
2677
|
path: selected,
|
|
@@ -2848,7 +2833,7 @@ function ExplorerSection() {
|
|
|
2848
2833
|
width: "520px",
|
|
2849
2834
|
height: "380px",
|
|
2850
2835
|
overflow: "hidden",
|
|
2851
|
-
border: "1px solid var(--
|
|
2836
|
+
border: "1px solid var(--dshpc-border)",
|
|
2852
2837
|
borderRadius: "8px"
|
|
2853
2838
|
}
|
|
2854
2839
|
},
|
|
@@ -2861,7 +2846,7 @@ function ExplorerSection() {
|
|
|
2861
2846
|
),
|
|
2862
2847
|
(0, import_react27.createElement)(
|
|
2863
2848
|
"div",
|
|
2864
|
-
{ style: { fontSize: "12px", color: "var(--
|
|
2849
|
+
{ style: { fontSize: "12px", color: "var(--dshpc-fg-3)", alignSelf: "center" } },
|
|
2865
2850
|
selected === null ? "\u70B9\u5DE6\u4FA7\u6587\u4EF6\u8BD5\u8BD5" : `\u5DF2\u9009\u4E2D\uFF1A${selected}`
|
|
2866
2851
|
)
|
|
2867
2852
|
)
|
|
@@ -2911,24 +2896,24 @@ function SessionPreview(props) {
|
|
|
2911
2896
|
alive = false;
|
|
2912
2897
|
};
|
|
2913
2898
|
}, [props.sessionId, props.source, nonce]);
|
|
2914
|
-
const body = loading ? (0, import_react28.createElement)("div", { className: "
|
|
2899
|
+
const body = loading ? (0, import_react28.createElement)("div", { className: "dshpc-ses__note" }, tt("sessionLoading")) : failed ? (0, import_react28.createElement)(EmptyState, {
|
|
2915
2900
|
text: tt("sessionFailed"),
|
|
2916
2901
|
translate: tt,
|
|
2917
|
-
action: (0, import_react28.createElement)("button", { type: "button", className: "
|
|
2918
|
-
}) : messages.length === 0 ? (0, import_react28.createElement)(EmptyState, { text: tt("sessionEmpty"), translate: tt }) : (0, import_react28.createElement)("div", { className: "
|
|
2902
|
+
action: (0, import_react28.createElement)("button", { type: "button", className: "dshpc-error__retry", onClick: () => setNonce(nonce + 1) }, tt("errorRetry"))
|
|
2903
|
+
}) : messages.length === 0 ? (0, import_react28.createElement)(EmptyState, { text: tt("sessionEmpty"), translate: tt }) : (0, import_react28.createElement)("div", { className: "dshpc-ses__list" }, messages.map((m) => props.renderMessage !== void 0 ? (0, import_react28.createElement)("div", { key: m.id }, props.renderMessage(m)) : (0, import_react28.createElement)("div", { key: m.id, className: `dshpc-ses__msg dshpc-ses__msg--${m.role}` }, (0, import_react28.createElement)("div", { className: "dshpc-ses__head" }, tt(ROLE_LABEL_KEY[m.role])), (0, import_react28.createElement)("pre", { className: "dshpc-ses__text" }, m.text), (m.attachments ?? []).length === 0 ? null : (0, import_react28.createElement)("div", { className: "dshpc-ses__atts" }, (m.attachments ?? []).map((a) => (0, import_react28.createElement)("button", {
|
|
2919
2904
|
key: a.path,
|
|
2920
2905
|
type: "button",
|
|
2921
|
-
className: "
|
|
2906
|
+
className: "dshpc-ses__att",
|
|
2922
2907
|
onClick: () => props.onOpenFile?.(a.path)
|
|
2923
2908
|
}, a.name, a.bytes === void 0 ? null : ` ${formatBytes(a.bytes)}`))))));
|
|
2924
2909
|
if (variant === "modal") {
|
|
2925
2910
|
return (0, import_react28.createElement)(Modal, {
|
|
2926
2911
|
title: props.title ?? props.sessionId,
|
|
2927
2912
|
onClose: props.onClose,
|
|
2928
|
-
children: (0, import_react28.createElement)("div", { className: "
|
|
2913
|
+
children: (0, import_react28.createElement)("div", { className: "dshpc-ses", style: { minWidth: "min(720px, 88vw)" } }, body)
|
|
2929
2914
|
});
|
|
2930
2915
|
}
|
|
2931
|
-
return (0, import_react28.createElement)("div", { className: `
|
|
2916
|
+
return (0, import_react28.createElement)("div", { className: `dshpc-ses dshpc-ses--${variant}` }, props.onClose === void 0 ? null : (0, import_react28.createElement)("div", { className: "dshpc-ses__head" }, (0, import_react28.createElement)("button", { type: "button", className: "dshpc-exp__crumb", onClick: props.onClose }, "\u2715")), body);
|
|
2932
2917
|
}
|
|
2933
2918
|
|
|
2934
2919
|
// packages/demo/src/sections/session.tsx
|
|
@@ -2968,13 +2953,13 @@ function Demo(props) {
|
|
|
2968
2953
|
style: {
|
|
2969
2954
|
marginBottom: "28px",
|
|
2970
2955
|
padding: "16px 18px",
|
|
2971
|
-
border: "1px solid var(--
|
|
2956
|
+
border: "1px solid var(--dshpc-border-faint)",
|
|
2972
2957
|
borderRadius: "8px",
|
|
2973
|
-
background: "var(--
|
|
2958
|
+
background: "var(--dshpc-surface-1)"
|
|
2974
2959
|
}
|
|
2975
2960
|
},
|
|
2976
2961
|
(0, import_react30.createElement)("h3", { style: { margin: "0 0 2px", fontSize: "15px" } }, props.title),
|
|
2977
|
-
props.hint === void 0 ? null : (0, import_react30.createElement)("div", { style: { color: "var(--
|
|
2962
|
+
props.hint === void 0 ? null : (0, import_react30.createElement)("div", { style: { color: "var(--dshpc-fg-3)", fontSize: "12px", marginBottom: "12px" } }, props.hint),
|
|
2978
2963
|
(0, import_react30.createElement)("div", { style: { marginBottom: props.code === void 0 ? 0 : "12px" } }, props.children ?? null),
|
|
2979
2964
|
props.code === void 0 ? null : (0, import_react30.createElement)(
|
|
2980
2965
|
"pre",
|
|
@@ -2984,9 +2969,9 @@ function Demo(props) {
|
|
|
2984
2969
|
padding: "10px 12px",
|
|
2985
2970
|
borderRadius: "6px",
|
|
2986
2971
|
overflowX: "auto",
|
|
2987
|
-
background: "var(--
|
|
2988
|
-
color: "var(--
|
|
2989
|
-
font: "var(--
|
|
2972
|
+
background: "var(--dshpc-code-surface)",
|
|
2973
|
+
color: "var(--dshpc-fg)",
|
|
2974
|
+
font: "var(--dshpc-code-font)",
|
|
2990
2975
|
fontSize: "12px"
|
|
2991
2976
|
}
|
|
2992
2977
|
},
|
|
@@ -2999,7 +2984,7 @@ function SectionHead2(props) {
|
|
|
2999
2984
|
"div",
|
|
3000
2985
|
{ id: `sec-${props.id}`, style: { margin: "28px 0 14px" } },
|
|
3001
2986
|
(0, import_react30.createElement)("h2", { style: { margin: 0, fontSize: "20px" } }, props.title),
|
|
3002
|
-
(0, import_react30.createElement)("div", { style: { height: "3px", width: "36px", background: "var(--
|
|
2987
|
+
(0, import_react30.createElement)("div", { style: { height: "3px", width: "36px", background: "var(--dshpc-business)", borderRadius: "2px", marginTop: "6px" } })
|
|
3003
2988
|
);
|
|
3004
2989
|
}
|
|
3005
2990
|
var ALL_SECTIONS = [
|
|
@@ -3022,12 +3007,8 @@ function Sections(props) {
|
|
|
3022
3007
|
);
|
|
3023
3008
|
}
|
|
3024
3009
|
|
|
3025
|
-
// packages/demo/src/client/token-alias.ts
|
|
3026
|
-
var ALIAS_TOKEN_NAMES = ["accent", "active", "border", "border-faint", "border-heavy", "border-strong", "business", "chip-bg", "chip-bg-hover", "code-font", "code-surface", "control-h-lg", "control-h-md", "control-h-sm", "danger", "dur", "dur-fast", "ease", "fg", "fg-2", "fg-3", "fg-4", "fg-dim", "fg-inverse", "focus", "font-lg", "font-md", "font-mono", "font-sm", "font-xs", "hover", "line-lg", "line-md", "line-sm", "link", "on-signal", "on-solid", "open-bg", "open-bg-soft", "radius-md", "radius-sm", "radius-xs", "shadow-1", "shadow-2", "shadow-raised", "solid", "space-1", "space-2", "space-3", "space-4", "success", "surface-1", "surface-2", "surface-base", "surface-menu", "surface-sunken", "warning", "warning-label", "z-dock", "z-menu"];
|
|
3027
|
-
|
|
3028
3010
|
// packages/demo/src/client/index.tsx
|
|
3029
3011
|
var PANEL_ID = "dsh-plugin-core-demo";
|
|
3030
|
-
var PREFIX = "dshpc";
|
|
3031
3012
|
var localeRuntime;
|
|
3032
3013
|
function useLocaleTick() {
|
|
3033
3014
|
const [, setTick] = (0, import_react31.useState)(0);
|
|
@@ -3039,10 +3020,6 @@ function useLocaleTick() {
|
|
|
3039
3020
|
});
|
|
3040
3021
|
}, []);
|
|
3041
3022
|
}
|
|
3042
|
-
function aliasCss() {
|
|
3043
|
-
const decls = ALIAS_TOKEN_NAMES.map((n) => `--tdt-${n}:var(--${PREFIX}-${n})`);
|
|
3044
|
-
return `body{${decls.join(";")}}`;
|
|
3045
|
-
}
|
|
3046
3023
|
function DemoPage() {
|
|
3047
3024
|
useLocaleTick();
|
|
3048
3025
|
const [active, setActive] = (0, import_react31.useState)(ALL_SECTIONS[0].id);
|
|
@@ -3135,10 +3112,9 @@ function PanelIcon() {
|
|
|
3135
3112
|
);
|
|
3136
3113
|
}
|
|
3137
3114
|
function apply(ctx) {
|
|
3138
|
-
const kit = createStyleKit({ id: "dsh-plugin-core-plugin"
|
|
3115
|
+
const kit = createStyleKit({ id: "dsh-plugin-core-plugin" });
|
|
3139
3116
|
setStyleKit(kit);
|
|
3140
3117
|
ensureControls(kit);
|
|
3141
|
-
kit.registerStyle("tdt-alias", aliasCss());
|
|
3142
3118
|
kit.ensureStyles();
|
|
3143
3119
|
let jump = () => {
|
|
3144
3120
|
};
|