@seekbuddy/dsh-ui 0.2.0-beta.0 → 0.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +1 -1
  3. package/README.zh.md +1 -1
  4. package/THIRD_PARTY_NOTICES.md +1 -1
  5. package/UPSTREAM.md +7 -4
  6. package/dist/blocks.js +170 -135
  7. package/dist/chunks/{chunk-VIH56PDF.js → chunk-6SGSJ5KW.js} +2 -2
  8. package/dist/chunks/{chunk-QJKAQ6PO.js → chunk-7NH2UOZO.js} +2 -2
  9. package/dist/chunks/{chunk-KETGFAOH.js → chunk-7SKW4S35.js} +2 -2
  10. package/dist/chunks/chunk-ENKPNYOB.js +26 -0
  11. package/dist/chunks/{chunk-WUL523OW.js → chunk-EWAZFWLW.js} +1 -1
  12. package/dist/chunks/{chunk-5JXG4BHW.js → chunk-FFJ6TCCF.js} +1 -1
  13. package/dist/chunks/{chunk-R6AUJQ3G.js → chunk-FZXK4LTI.js} +1 -1
  14. package/dist/chunks/chunk-JA3XDLIA.js +1115 -0
  15. package/dist/chunks/{chunk-TUK6UGXM.js → chunk-L7XALG4J.js} +1 -1
  16. package/dist/chunks/{chunk-AY44MQMD.js → chunk-OCAQFVT3.js} +180 -60
  17. package/dist/chunks/{chunk-CI73NXA5.js → chunk-RAXDA2PT.js} +4 -4
  18. package/dist/chunks/{chunk-5XDVPALS.js → chunk-SN6RSUWC.js} +1 -1
  19. package/dist/chunks/{chunk-CTQPGUZP.js → chunk-SNVSQWCU.js} +1 -1
  20. package/dist/chunks/{chunk-ZZNL5PWF.js → chunk-SO3DCAWG.js} +2 -2
  21. package/dist/chunks/{chunk-IOBKTEKP.js → chunk-UAEFKTV3.js} +1 -1
  22. package/dist/chunks/{chunk-NE62SYOZ.js → chunk-UGEORMLD.js} +2 -2
  23. package/dist/chunks/{chunk-TQU54HSM.js → chunk-W6FLI3AK.js} +1 -1
  24. package/dist/chunks/{chunk-TZ7HRE6D.js → chunk-WX46TSKP.js} +1 -1
  25. package/dist/chunks/{chunk-XX6MSZLS.js → chunk-XL33IPCV.js} +1 -1
  26. package/dist/chunks/chunk-XW4L4ZGL.js +967 -0
  27. package/dist/chunks/chunk-YOBY6PSL.js +850 -0
  28. package/dist/icons.js +58 -2
  29. package/dist/index.js +810 -317
  30. package/dist/markdown.js +84 -7
  31. package/dist/meta.json +1038 -339
  32. package/dist/root-inputs.json +20 -1
  33. package/dist/seekbuddy-card.js +1 -1
  34. package/dist/seekbuddy-empty.js +2 -2
  35. package/dist/seekbuddy-internal/Message.js +2 -2
  36. package/dist/seekbuddy-internal/Pagination.js +1 -1
  37. package/dist/seekbuddy-internal/StatusBadge.js +1 -1
  38. package/dist/seekbuddy-internal/Switch.js +1 -1
  39. package/dist/seekbuddy-internal/Upload.js +1 -1
  40. package/dist/seekbuddy-internal/date/Calendar.js +1 -1
  41. package/dist/seekbuddy-internal/date/DatePicker.js +2 -2
  42. package/dist/seekbuddy-internal/date/DateRangePicker.js +2 -2
  43. package/dist/seekbuddy-internal/date/TimePicker.js +1 -1
  44. package/dist/seekbuddy-internal/date/fields.js +5 -5
  45. package/dist/seekbuddy-spinner.js +1 -1
  46. package/dist/seekbuddy-tabs.js +1 -1
  47. package/dist/seekbuddy-timeline.js +2 -2
  48. package/dist/seekbuddy.js +15 -15
  49. package/dist/tokens.css +60 -20
  50. package/dist/types/AnimatedRows.d.ts +45 -0
  51. package/dist/types/Button.d.ts +1 -1
  52. package/dist/types/CommandText.d.ts +15 -0
  53. package/dist/types/DetailDocument.d.ts +77 -0
  54. package/dist/types/DisclosureRow.d.ts +4 -2
  55. package/dist/types/DraggableImage.d.ts +18 -0
  56. package/dist/types/HoverCard.d.ts +11 -3
  57. package/dist/types/HoverCardGroup.d.ts +24 -0
  58. package/dist/types/ImageLightbox.d.ts +4 -1
  59. package/dist/types/InlineEditor.d.ts +22 -0
  60. package/dist/types/Menu.d.ts +30 -9
  61. package/dist/types/MenuSurface.d.ts +9 -0
  62. package/dist/types/PermissionIcon.d.ts +12 -0
  63. package/dist/types/QuotePreview.d.ts +23 -0
  64. package/dist/types/SegmentedTabs.d.ts +3 -1
  65. package/dist/types/TerminalBlock.d.ts +10 -2
  66. package/dist/types/Tooltip.d.ts +21 -15
  67. package/dist/types/UserMessageBubble.d.ts +10 -0
  68. package/dist/types/ZoomControls.d.ts +26 -0
  69. package/dist/types/blocks.d.ts +2 -0
  70. package/dist/types/document-zoom.d.ts +16 -0
  71. package/dist/types/file-drag-actions.d.ts +36 -0
  72. package/dist/types/focus.d.ts +7 -0
  73. package/dist/types/icons/artwork.d.ts +421 -0
  74. package/dist/types/icons/index.d.ts +205 -192
  75. package/dist/types/icons/shared-artwork.d.ts +6 -12
  76. package/dist/types/icons.d.ts +1 -1
  77. package/dist/types/image-drag.d.ts +16 -0
  78. package/dist/types/index.d.ts +21 -3
  79. package/dist/types/markdown/MarkdownDelegate.d.ts +26 -3
  80. package/dist/types/markdown/MarkdownText.d.ts +12 -5
  81. package/dist/types/markdown/file-link.d.ts +13 -3
  82. package/dist/types/markdown/highlight.d.ts +22 -0
  83. package/dist/types/markdown/quote-text.d.ts +7 -0
  84. package/dist/types/markdown/render.d.ts +9 -4
  85. package/dist/types/markdown/windows-path-destinations.d.ts +10 -0
  86. package/dist/types/markdown.d.ts +5 -2
  87. package/dist/types/overlay-top-margin.d.ts +9 -2
  88. package/dist/types/tooltip-placement.d.ts +34 -0
  89. package/dist/types/use-clipboard-copy.d.ts +13 -0
  90. package/dist/types/useAnchoredPosition.d.ts +22 -22
  91. package/dist/types/useRowDragPreview.d.ts +19 -0
  92. package/dist/types/user-text.d.ts +26 -31
  93. package/package.json +2 -2
  94. package/dist/chunks/chunk-3HCOU44R.js +0 -697
  95. package/dist/chunks/chunk-LA3QDZYN.js +0 -2777
  96. package/dist/chunks/chunk-OQPH36OI.js +0 -754
  97. package/dist/types/use-copy-feedback.d.ts +0 -13
@@ -1,10 +1,12 @@
1
1
  [
2
+ ".build/css/AnimatedRows.module.mjs",
2
3
  ".build/css/Button.module.mjs",
3
4
  ".build/css/Checkbox.module.mjs",
4
5
  ".build/css/ConnectionIndicator.module.mjs",
5
6
  ".build/css/DisclosureRow.module.mjs",
6
7
  ".build/css/HoverCard.module.mjs",
7
8
  ".build/css/ImageLightbox.module.mjs",
9
+ ".build/css/InlineEditor.module.mjs",
8
10
  ".build/css/Input.module.mjs",
9
11
  ".build/css/markdown/MarkdownText.module.mjs",
10
12
  ".build/css/Menu.module.mjs",
@@ -12,7 +14,9 @@
12
14
  ".build/css/MenuSurface.module.mjs",
13
15
  ".build/css/Modal.module.mjs",
14
16
  ".build/css/Pill.module.mjs",
17
+ ".build/css/QuotePreview.module.mjs",
15
18
  ".build/css/RiskConfirmation.module.mjs",
19
+ ".build/css/RowDragPreview.module.mjs",
16
20
  ".build/css/SegmentedControl.module.mjs",
17
21
  ".build/css/SegmentedTabs.module.mjs",
18
22
  ".build/css/ShortcutKeys.module.mjs",
@@ -23,19 +27,28 @@
23
27
  ".build/css/Toast.module.mjs",
24
28
  ".build/css/Tooltip.module.mjs",
25
29
  ".build/css/user-text.module.mjs",
30
+ ".build/css/UserMessageBubble.module.mjs",
31
+ ".build/css/ZoomControls.module.mjs",
32
+ "src/AnimatedRows.tsx",
26
33
  "src/Button.tsx",
27
34
  "src/Checkbox.tsx",
28
35
  "src/clipboard.ts",
29
36
  "src/ConnectionIndicator.tsx",
30
37
  "src/darwin-desktop.ts",
31
38
  "src/DisclosureRow.tsx",
39
+ "src/document-zoom.ts",
40
+ "src/DraggableImage.tsx",
32
41
  "src/file-size.ts",
33
42
  "src/focus.ts",
34
43
  "src/HoverCard.tsx",
44
+ "src/HoverCardGroup.tsx",
45
+ "src/icons/artwork.ts",
35
46
  "src/icons/index.tsx",
36
47
  "src/icons/shared-artwork.tsx",
48
+ "src/image-drag.ts",
37
49
  "src/ImageLightbox.tsx",
38
50
  "src/index.ts",
51
+ "src/InlineEditor.tsx",
39
52
  "src/input-modality.ts",
40
53
  "src/Input.tsx",
41
54
  "src/keyboard-composition.ts",
@@ -46,6 +59,7 @@
46
59
  "src/overlay-top-margin.ts",
47
60
  "src/Pill.tsx",
48
61
  "src/pointer-grace.ts",
62
+ "src/QuotePreview.tsx",
49
63
  "src/rank-by-name.ts",
50
64
  "src/ReferenceIcon.tsx",
51
65
  "src/relative-time.ts",
@@ -58,10 +72,15 @@
58
72
  "src/Tag.tsx",
59
73
  "src/TextShimmer.tsx",
60
74
  "src/Toast.tsx",
75
+ "src/tooltip-placement.ts",
61
76
  "src/Tooltip.tsx",
77
+ "src/use-clipboard-copy.ts",
62
78
  "src/useAnchoredMaxHeight.ts",
63
79
  "src/useAnchoredPosition.ts",
64
80
  "src/useDismissOnOutsidePointer.ts",
65
81
  "src/useModalLayer.ts",
66
- "src/user-text.tsx"
82
+ "src/user-text.tsx",
83
+ "src/UserMessageBubble.tsx",
84
+ "src/useRowDragPreview.ts",
85
+ "src/ZoomControls.tsx"
67
86
  ]
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Card
3
- } from "./chunks/chunk-CTQPGUZP.js";
3
+ } from "./chunks/chunk-SNVSQWCU.js";
4
4
  import "./chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  Card
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Empty
3
- } from "./chunks/chunk-KETGFAOH.js";
4
- import "./chunks/chunk-WUL523OW.js";
3
+ } from "./chunks/chunk-7SKW4S35.js";
4
+ import "./chunks/chunk-EWAZFWLW.js";
5
5
  import "./chunks/chunk-ZA47FP7C.js";
6
6
  export {
7
7
  Empty
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  MessageProvider,
3
3
  useMessage
4
- } from "../chunks/chunk-ZZNL5PWF.js";
5
- import "../chunks/chunk-WUL523OW.js";
4
+ } from "../chunks/chunk-SO3DCAWG.js";
5
+ import "../chunks/chunk-EWAZFWLW.js";
6
6
  import "../chunks/chunk-ZA47FP7C.js";
7
7
  export {
8
8
  MessageProvider,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Pagination,
3
3
  pageItems
4
- } from "../chunks/chunk-R6AUJQ3G.js";
4
+ } from "../chunks/chunk-FZXK4LTI.js";
5
5
  import "../chunks/chunk-ZA47FP7C.js";
6
6
  export {
7
7
  Pagination,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StatusBadge
3
- } from "../chunks/chunk-TUK6UGXM.js";
3
+ } from "../chunks/chunk-L7XALG4J.js";
4
4
  import "../chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  StatusBadge
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Switch
3
- } from "../chunks/chunk-5XDVPALS.js";
3
+ } from "../chunks/chunk-SN6RSUWC.js";
4
4
  import "../chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  Switch
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Upload
3
- } from "../chunks/chunk-TZ7HRE6D.js";
3
+ } from "../chunks/chunk-WX46TSKP.js";
4
4
  import "../chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  Upload
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Calendar
3
- } from "../../chunks/chunk-XX6MSZLS.js";
3
+ } from "../../chunks/chunk-XL33IPCV.js";
4
4
  import "../../chunks/chunk-RZOP2PFC.js";
5
5
  import "../../chunks/chunk-ZA47FP7C.js";
6
6
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DatePicker
3
- } from "../../chunks/chunk-NE62SYOZ.js";
4
- import "../../chunks/chunk-XX6MSZLS.js";
3
+ } from "../../chunks/chunk-UGEORMLD.js";
4
+ import "../../chunks/chunk-XL33IPCV.js";
5
5
  import "../../chunks/chunk-RZOP2PFC.js";
6
6
  import "../../chunks/chunk-ZA47FP7C.js";
7
7
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DateRangePicker
3
- } from "../../chunks/chunk-QJKAQ6PO.js";
4
- import "../../chunks/chunk-XX6MSZLS.js";
3
+ } from "../../chunks/chunk-7NH2UOZO.js";
4
+ import "../../chunks/chunk-XL33IPCV.js";
5
5
  import "../../chunks/chunk-RZOP2PFC.js";
6
6
  import "../../chunks/chunk-ZA47FP7C.js";
7
7
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TimePicker
3
- } from "../../chunks/chunk-IOBKTEKP.js";
3
+ } from "../../chunks/chunk-UAEFKTV3.js";
4
4
  import "../../chunks/chunk-RZOP2PFC.js";
5
5
  import "../../chunks/chunk-ZA47FP7C.js";
6
6
  export {
@@ -2,11 +2,11 @@ import {
2
2
  DateField,
3
3
  DateRangeField,
4
4
  TimeField
5
- } from "../../chunks/chunk-CI73NXA5.js";
6
- import "../../chunks/chunk-NE62SYOZ.js";
7
- import "../../chunks/chunk-QJKAQ6PO.js";
8
- import "../../chunks/chunk-XX6MSZLS.js";
9
- import "../../chunks/chunk-IOBKTEKP.js";
5
+ } from "../../chunks/chunk-RAXDA2PT.js";
6
+ import "../../chunks/chunk-UGEORMLD.js";
7
+ import "../../chunks/chunk-7NH2UOZO.js";
8
+ import "../../chunks/chunk-XL33IPCV.js";
9
+ import "../../chunks/chunk-UAEFKTV3.js";
10
10
  import "../../chunks/chunk-RZOP2PFC.js";
11
11
  import "../../chunks/chunk-ZA47FP7C.js";
12
12
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Spinner
3
- } from "./chunks/chunk-WUL523OW.js";
3
+ } from "./chunks/chunk-EWAZFWLW.js";
4
4
  import "./chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  Spinner
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Tabs
3
- } from "./chunks/chunk-TQU54HSM.js";
3
+ } from "./chunks/chunk-W6FLI3AK.js";
4
4
  import "./chunks/chunk-ZA47FP7C.js";
5
5
  export {
6
6
  Tabs
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Timeline
3
- } from "./chunks/chunk-VIH56PDF.js";
4
- import "./chunks/chunk-WUL523OW.js";
3
+ } from "./chunks/chunk-6SGSJ5KW.js";
4
+ import "./chunks/chunk-EWAZFWLW.js";
5
5
  import "./chunks/chunk-ZA47FP7C.js";
6
6
  export {
7
7
  Timeline
package/dist/seekbuddy.js CHANGED
@@ -3,44 +3,44 @@ import {
3
3
  DateField,
4
4
  DateRangeField,
5
5
  TimeField
6
- } from "./chunks/chunk-CI73NXA5.js";
6
+ } from "./chunks/chunk-RAXDA2PT.js";
7
7
  import {
8
8
  QrCode
9
9
  } from "./chunks/chunk-B3EEK7A2.js";
10
10
  import {
11
11
  StatusBadge
12
- } from "./chunks/chunk-TUK6UGXM.js";
12
+ } from "./chunks/chunk-L7XALG4J.js";
13
13
  import {
14
14
  SubtleButton
15
15
  } from "./chunks/chunk-RNVSCTW7.js";
16
16
  import {
17
17
  Switch
18
- } from "./chunks/chunk-5XDVPALS.js";
18
+ } from "./chunks/chunk-SN6RSUWC.js";
19
19
  import {
20
20
  Upload
21
- } from "./chunks/chunk-TZ7HRE6D.js";
21
+ } from "./chunks/chunk-WX46TSKP.js";
22
22
  import {
23
23
  DatePicker
24
- } from "./chunks/chunk-NE62SYOZ.js";
24
+ } from "./chunks/chunk-UGEORMLD.js";
25
25
  import {
26
26
  DateRangePicker
27
- } from "./chunks/chunk-QJKAQ6PO.js";
27
+ } from "./chunks/chunk-7NH2UOZO.js";
28
28
  import {
29
29
  Calendar
30
- } from "./chunks/chunk-XX6MSZLS.js";
30
+ } from "./chunks/chunk-XL33IPCV.js";
31
31
  import {
32
32
  TimePicker
33
- } from "./chunks/chunk-IOBKTEKP.js";
33
+ } from "./chunks/chunk-UAEFKTV3.js";
34
34
  import "./chunks/chunk-RZOP2PFC.js";
35
35
  import {
36
36
  Empty
37
- } from "./chunks/chunk-KETGFAOH.js";
37
+ } from "./chunks/chunk-7SKW4S35.js";
38
38
  import {
39
39
  Tabs
40
- } from "./chunks/chunk-TQU54HSM.js";
40
+ } from "./chunks/chunk-W6FLI3AK.js";
41
41
  import {
42
42
  Timeline
43
- } from "./chunks/chunk-VIH56PDF.js";
43
+ } from "./chunks/chunk-6SGSJ5KW.js";
44
44
  import {
45
45
  DangerButton
46
46
  } from "./chunks/chunk-CEBTQO6W.js";
@@ -50,17 +50,17 @@ import {
50
50
  import {
51
51
  MessageProvider,
52
52
  useMessage
53
- } from "./chunks/chunk-ZZNL5PWF.js";
53
+ } from "./chunks/chunk-SO3DCAWG.js";
54
54
  import {
55
55
  Spinner
56
- } from "./chunks/chunk-WUL523OW.js";
56
+ } from "./chunks/chunk-EWAZFWLW.js";
57
57
  import {
58
58
  Pagination,
59
59
  pageItems
60
- } from "./chunks/chunk-R6AUJQ3G.js";
60
+ } from "./chunks/chunk-FZXK4LTI.js";
61
61
  import {
62
62
  Card
63
- } from "./chunks/chunk-CTQPGUZP.js";
63
+ } from "./chunks/chunk-SNVSQWCU.js";
64
64
  import "./chunks/chunk-ZA47FP7C.js";
65
65
  export {
66
66
  Calendar,
package/dist/tokens.css CHANGED
@@ -4,13 +4,15 @@
4
4
  * font stack deliberately omits a bare `monospace` tail (Windows CJK falls
5
5
  * back to SimSun otherwise). */
6
6
  :root {
7
- --dsw-font-family:
7
+ --dsh-font-family-text-default:
8
8
  -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei',
9
9
  'Helvetica Neue', Helvetica, Arial, sans-serif;
10
- --dsw-font-family-brand: 'Montserrat', var(--dsw-font-family);
11
- --ds-font-family-code:
10
+ --dsw-font-family: var(--dsh-font-family-text-default);
11
+ --dsw-font-family-brand: 'Montserrat', var(--dsh-font-family-text-default);
12
+ --dsh-font-family-code-default:
12
13
  'SF Mono', 'JetBrains Mono', 'Fira Code', Consolas, 'Liberation Mono', Menlo, Courier, 'PingFang SC',
13
14
  'Microsoft YaHei';
15
+ --ds-font-family-code: var(--dsh-font-family-code-default);
14
16
  --ds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
15
17
  --ds-transition-duration: 0.2s;
16
18
  --ds-transition-duration-fast: 0.1s;
@@ -23,7 +25,14 @@
23
25
  --dsw-radius-panel: 28px;
24
26
  }
25
27
 
28
+ /* User font lists (--dsh-font-family-text/-code, written on body by the theme
29
+ * boot script and ThemePresenter) lead the built-in stacks. An unset list
30
+ * falls back to the built-in stack itself; the repeated families are inert. */
26
31
  body {
32
+ --dsw-font-family:
33
+ var(--dsh-font-family-text, var(--dsh-font-family-text-default)), var(--dsh-font-family-text-default);
34
+ --ds-font-family-code:
35
+ var(--dsh-font-family-code, var(--dsh-font-family-code-default)), var(--dsh-font-family-code-default);
27
36
  --dsw-alias-settings-card-fill: var(--dsw-alias-bg-layer-2);
28
37
  --dsw-alias-settings-card-stroke: var(--dsw-alias-border-l4);
29
38
  }
@@ -121,9 +130,11 @@ body {
121
130
  --dsw-static-neutral-bluish-150: rgb(233, 236, 242);
122
131
  --dsw-static-neutral-bluish-200: rgb(225, 229, 238);
123
132
  --dsw-static-neutral-bluish-300: rgb(207, 211, 214);
133
+ --dsw-static-neutral-bluish-310: rgb(202, 210, 219);
124
134
  --dsw-static-neutral-bluish-400: rgb(173, 178, 184);
125
135
  --dsw-static-neutral-bluish-500: rgb(151, 157, 166);
126
136
  --dsw-static-neutral-bluish-50: rgb(249, 250, 251);
137
+ --dsw-static-neutral-bluish-55: rgb(245, 247, 250);
127
138
  --dsw-static-neutral-bluish-600: rgb(129, 133, 140);
128
139
  --dsw-static-neutral-bluish-60: rgb(245, 246, 247);
129
140
  --dsw-static-neutral-bluish-700: rgb(97, 102, 107);
@@ -133,6 +144,7 @@ body {
133
144
  --dsw-static-neutral-bluish-850: rgb(44, 44, 46);
134
145
  --dsw-static-neutral-bluish-875: rgb(35, 35, 36);
135
146
  --dsw-static-neutral-bluish-900: rgb(27, 27, 28);
147
+ --dsw-static-neutral-bluish-90: rgb(237, 240, 244);
136
148
  --dsw-static-neutral-bluish-950: rgb(21, 21, 23);
137
149
  --dsw-static-red-100: rgb(254, 226, 226);
138
150
  --dsw-static-red-400: rgb(242, 90, 90);
@@ -142,6 +154,8 @@ body {
142
154
  --dsw-static-red-600: rgb(236, 19, 19);
143
155
  --dsw-static-red-600-a08: rgb(236 19 19 / 8%);
144
156
  --dsw-static-red-900: rgb(87, 12, 12);
157
+ --dsw-static-violet-400: rgb(167, 139, 250);
158
+ --dsw-static-violet-600: rgb(124, 58, 237);
145
159
  }
146
160
 
147
161
  body[data-ds-dark-theme] {
@@ -202,9 +216,11 @@ body[data-ds-dark-theme] {
202
216
  --dsw-static-neutral-bluish-150: rgb(233, 236, 242);
203
217
  --dsw-static-neutral-bluish-200: rgb(225, 229, 238);
204
218
  --dsw-static-neutral-bluish-300: rgb(207, 211, 214);
219
+ --dsw-static-neutral-bluish-310: rgb(202, 210, 219);
205
220
  --dsw-static-neutral-bluish-400: rgb(173, 178, 184);
206
221
  --dsw-static-neutral-bluish-500: rgb(151, 157, 166);
207
222
  --dsw-static-neutral-bluish-50: rgb(249, 250, 251);
223
+ --dsw-static-neutral-bluish-55: rgb(245, 247, 250);
208
224
  --dsw-static-neutral-bluish-600: rgb(129, 133, 140);
209
225
  --dsw-static-neutral-bluish-60: rgb(249, 250, 251);
210
226
  --dsw-static-neutral-bluish-700: rgb(97, 102, 107);
@@ -214,6 +230,7 @@ body[data-ds-dark-theme] {
214
230
  --dsw-static-neutral-bluish-850: rgb(44, 44, 46);
215
231
  --dsw-static-neutral-bluish-875: rgb(35, 35, 36);
216
232
  --dsw-static-neutral-bluish-900: rgb(27, 27, 28);
233
+ --dsw-static-neutral-bluish-90: rgb(237, 240, 244);
217
234
  --dsw-static-neutral-bluish-950: rgb(21, 21, 23);
218
235
  --dsw-static-red-100: rgb(254, 226, 226);
219
236
  --dsw-static-red-400: rgb(242, 90, 90);
@@ -223,6 +240,8 @@ body[data-ds-dark-theme] {
223
240
  --dsw-static-red-600: rgb(236, 19, 19);
224
241
  --dsw-static-red-600-a08: rgb(236 19 19 / 8%);
225
242
  --dsw-static-red-900: rgb(87, 12, 12);
243
+ --dsw-static-violet-400: rgb(167, 139, 250);
244
+ --dsw-static-violet-600: rgb(124, 58, 237);
226
245
  }
227
246
 
228
247
  body {
@@ -268,6 +287,12 @@ body {
268
287
  --dsw-alias-button-tool-bar-fill-invisible: rgba(31, 31, 31, 0.36);
269
288
  --dsw-alias-button-tool-bar-fill: rgba(84, 85, 87, 0.5);
270
289
  --dsw-alias-button-tool-bar-hover: rgba(84, 85, 87, 0.6);
290
+ --dsw-alias-illustration-background: var(--dsw-static-neutral-bluish-55);
291
+ --dsw-alias-illustration-backing: var(--dsw-static-neutral-bluish-310);
292
+ --dsw-alias-illustration-detail: var(--dsw-static-neutral-bluish-310);
293
+ --dsw-alias-illustration-inset: var(--dsw-alias-illustration-surface);
294
+ --dsw-alias-illustration-shadow: var(--dsw-alias-illustration-surface);
295
+ --dsw-alias-illustration-surface: var(--dsw-static-neutral-bluish-90);
271
296
  --dsw-alias-interactive-bg-active: rgba(38, 49, 72, 0.1);
272
297
  --dsw-alias-interactive-bg-hover-accent: rgba(38, 49, 72, 0.14);
273
298
  --dsw-alias-interactive-bg-hover-danger: rgba(236, 19, 19, 0.05);
@@ -313,6 +338,7 @@ body {
313
338
  --dsw-alias-file-diff-deleted-bg: rgb(252, 230, 226);
314
339
  --dsw-alias-file-diff-deleted-gutter: rgb(253, 236, 233);
315
340
  --dsw-alias-file-diff-deleted-marker: rgb(186, 39, 35);
341
+ --dsw-alias-state-done-primary: var(--dsw-static-violet-600);
316
342
  --dsw-alias-state-error-primary: var(--dsw-static-red-600);
317
343
  --dsw-alias-state-error-secondary: var(--dsw-static-red-400);
318
344
  --dsw-alias-state-idle-primary: var(--dsw-static-neutral-300);
@@ -334,14 +360,13 @@ body {
334
360
  --dsw-specific-bubble: var(--dsw-static-deepseek-50);
335
361
  --dsw-specific-input-major: var(--dsw-static-neutral-bluish-00);
336
362
  --dsw-specific-login-input: var(--dsw-static-neutral-bluish-50);
337
- --dsw-menu-surface-fill: rgba(248, 249, 250, 0.58);
363
+ --dsw-menu-surface-fill: rgba(252, 253, 254, 0.7);
338
364
  --dsw-alias-menu-group-header-fill: rgba(248, 249, 250, 0.94);
339
365
  --dsw-specific-menu: var(--dsw-menu-surface-fill);
340
366
  --dsw-specific-selector: var(--dsw-static-neutral-bluish-60);
341
367
  --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-50);
342
368
  --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-deepseek-100);
343
369
  --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-100);
344
- --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-75);
345
370
  --dsw-specific-tip: var(--dsw-static-neutral-bluish-60);
346
371
 
347
372
  background-color: var(--dsw-alias-bg-base);
@@ -390,6 +415,12 @@ body[data-ds-dark-theme] {
390
415
  --dsw-alias-button-tool-bar-fill-invisible: rgba(31, 31, 31, 0.36);
391
416
  --dsw-alias-button-tool-bar-fill: rgba(84, 85, 87, 0.5);
392
417
  --dsw-alias-button-tool-bar-hover: rgba(84, 85, 87, 0.6);
418
+ --dsw-alias-illustration-background: var(--dsw-static-neutral-bluish-850);
419
+ --dsw-alias-illustration-backing: var(--dsw-static-neutral-bluish-750);
420
+ --dsw-alias-illustration-detail: var(--dsw-static-neutral-bluish-600);
421
+ --dsw-alias-illustration-inset: var(--dsw-alias-illustration-backing);
422
+ --dsw-alias-illustration-shadow: var(--dsw-alias-illustration-backing);
423
+ --dsw-alias-illustration-surface: var(--dsw-static-neutral-bluish-700);
393
424
  --dsw-alias-interactive-bg-active: rgba(255, 255, 255, 0.14);
394
425
  --dsw-alias-interactive-bg-hover-accent: rgba(255, 255, 255, 0.24);
395
426
  --dsw-alias-interactive-bg-hover-danger: rgba(242, 90, 90, 0.15);
@@ -439,6 +470,7 @@ body[data-ds-dark-theme] {
439
470
  --dsw-alias-file-diff-deleted-bg: rgb(60, 31, 27);
440
471
  --dsw-alias-file-diff-deleted-gutter: rgb(40, 19, 14);
441
472
  --dsw-alias-file-diff-deleted-marker: rgb(250, 66, 62);
473
+ --dsw-alias-state-done-primary: var(--dsw-static-violet-400);
442
474
  --dsw-alias-state-error-primary: var(--dsw-static-red-400);
443
475
  --dsw-alias-state-error-secondary: var(--dsw-static-red-400);
444
476
  --dsw-alias-state-idle-primary: var(--dsw-static-neutral-600);
@@ -460,14 +492,13 @@ body[data-ds-dark-theme] {
460
492
  --dsw-specific-bubble: var(--dsw-static-neutral-bluish-850);
461
493
  --dsw-specific-input-major: var(--dsw-static-neutral-bluish-850);
462
494
  --dsw-specific-login-input: var(--dsw-static-neutral-bluish-900);
463
- --dsw-menu-surface-fill: rgba(67, 69, 74, 0.45);
495
+ --dsw-menu-surface-fill: rgba(48, 49, 54, 0.64);
464
496
  --dsw-alias-menu-group-header-fill: rgba(48, 49, 54, 0.94);
465
497
  --dsw-specific-menu: var(--dsw-menu-surface-fill);
466
498
  --dsw-specific-selector: var(--dsw-static-neutral-bluish-800);
467
499
  --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-900);
468
500
  --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-neutral-bluish-800);
469
501
  --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-750);
470
- --dsw-specific-sidebar-nav-item-hover: var(--dsw-static-neutral-bluish-850);
471
502
  --dsw-specific-tip: var(--dsw-static-neutral-bluish-800);
472
503
  }
473
504
 
@@ -606,8 +637,10 @@ body {
606
637
  background-clip: content-box;
607
638
  }
608
639
 
609
- ::-webkit-scrollbar-thumb:hover {
610
- background-color: var(--dsh-scrollbar-thumb-hover);
640
+ @media (hover: hover) {
641
+ ::-webkit-scrollbar-thumb:hover {
642
+ background-color: var(--dsh-scrollbar-thumb-hover);
643
+ }
611
644
  }
612
645
 
613
646
  /* Both scrollbars meeting in a corner: no separate token, so the corner
@@ -666,8 +699,8 @@ body[data-ds-dark-theme] {
666
699
  /* Bootstrap and ThemePresenter set the integer content size on body (10–22px,
667
700
  default 14px). Headings and body variants share its pixel delta. Secondary
668
701
  text uses size − 1 through 14px, then size − 2: 10→9, 14→13, 15→13, 22→20.
669
- max(13px, ...) selects the delta, not a font-size floor. Small and code
670
- typography keep their fixed sizes. */
702
+ max(13px, ...) selects the delta, not a font-size floor. Small typography keeps a
703
+ fixed size; code typography follows the separate code size setting. */
671
704
  body {
672
705
  --dsh-content-font-delta: calc(var(--dsh-content-font-size, 14px) - 14px);
673
706
  --dsh-content-font-size-secondary: min(
@@ -675,6 +708,10 @@ body {
675
708
  max(13px, calc(var(--dsh-content-font-size, 14px) - 2px))
676
709
  );
677
710
  --dsh-content-font-delta-secondary: calc(var(--dsh-content-font-size-secondary) - 13px);
711
+ /* Code size setting (--dsh-code-font-size, integer px 10–16, default 11)
712
+ is the code-block size; inline code and the small tool variant move by
713
+ the same increment. */
714
+ --dsh-code-font-delta: calc(var(--dsh-code-font-size, 11px) - 11px);
678
715
 
679
716
  --dsw-font-markdown-h1: 700 calc(21px + var(--dsh-content-font-delta)) / calc(30px + var(--dsh-content-font-delta))
680
717
  var(--dsw-font-family);
@@ -787,26 +824,29 @@ body {
787
824
  --dsw-font-markdown-small-strong-italic-font-size: 12px;
788
825
  --dsw-font-markdown-small-strong-italic-font-style: italic;
789
826
 
790
- --dsw-font-markdown-code: 12px/19px var(--ds-font-family-code);
827
+ --dsw-font-markdown-code: calc(12px + var(--dsh-code-font-delta)) / calc(19px + var(--dsh-code-font-delta))
828
+ var(--ds-font-family-code);
791
829
  --dsw-font-markdown-code-font-family: var(--ds-font-family-code);
792
830
  --dsw-font-markdown-code-font-weight: 400;
793
- --dsw-font-markdown-code-line-height: 19px;
794
- --dsw-font-markdown-code-font-size: 12px;
831
+ --dsw-font-markdown-code-line-height: calc(19px + var(--dsh-code-font-delta));
832
+ --dsw-font-markdown-code-font-size: calc(12px + var(--dsh-code-font-delta));
795
833
  --dsw-font-markdown-code-font-style: normal;
796
834
 
797
- --dsw-font-markdown-code-block: 11px/19px var(--ds-font-family-code);
835
+ --dsw-font-markdown-code-block: var(--dsh-code-font-size, 11px) / calc(19px + var(--dsh-code-font-delta))
836
+ var(--ds-font-family-code);
798
837
  --dsw-font-markdown-code-block-font-family: var(--ds-font-family-code);
799
838
  --dsw-font-markdown-code-block-font-weight: 400;
800
- --dsw-font-markdown-code-block-line-height: 19px;
801
- --dsw-font-markdown-code-block-font-size: 11px;
839
+ --dsw-font-markdown-code-block-line-height: calc(19px + var(--dsh-code-font-delta));
840
+ --dsw-font-markdown-code-block-font-size: var(--dsh-code-font-size, 11px);
802
841
  --dsw-font-markdown-code-block-font-style: normal;
803
842
 
804
843
  /* 手工补充(非插件导出):tool row 展开卡片内的小号 code 字体。 */
805
- --dsw-font-markdown-code-block-small: 11px/16px var(--ds-font-family-code);
844
+ --dsw-font-markdown-code-block-small: var(--dsh-code-font-size, 11px) / calc(16px + var(--dsh-code-font-delta))
845
+ var(--ds-font-family-code);
806
846
  --dsw-font-markdown-code-block-small-font-family: var(--ds-font-family-code);
807
847
  --dsw-font-markdown-code-block-small-font-weight: 400;
808
- --dsw-font-markdown-code-block-small-line-height: 16px;
809
- --dsw-font-markdown-code-block-small-font-size: 11px;
848
+ --dsw-font-markdown-code-block-small-line-height: calc(16px + var(--dsh-code-font-delta));
849
+ --dsw-font-markdown-code-block-small-font-size: var(--dsh-code-font-size, 11px);
810
850
  --dsw-font-markdown-code-block-small-font-style: normal;
811
851
 
812
852
  --dsw-font-xl-24: 600 24px/32px var(--dsw-font-family);
@@ -0,0 +1,45 @@
1
+ /** React-commit-driven movement and entry/exit fades for keyed rows. */
2
+ import { Component, type AriaRole, type ReactNode } from 'react';
3
+ /** Keyed row content, list semantics, and animation readiness. */
4
+ export interface AnimatedRowsProps {
5
+ children: ReactNode;
6
+ className: string;
7
+ role?: AriaRole;
8
+ label?: string;
9
+ /** Unique DOM-order keys matching the rendered data-row-key attributes. */
10
+ rowKeys: readonly string[];
11
+ ready: boolean;
12
+ /** Changes that replace the view or reveal hidden rows settle immediately. */
13
+ resetKey: string;
14
+ }
15
+ interface RowPosition {
16
+ element: HTMLElement;
17
+ rect: DOMRect;
18
+ opacity: number;
19
+ }
20
+ interface RowSnapshot {
21
+ positions: Map<string, RowPosition>;
22
+ removed: Map<string, RowPosition>;
23
+ }
24
+ /**
25
+ * Animates keyed rows only when their rendered membership or order changes.
26
+ * Motion starts after the first pointer or keyboard input inside the mounted list.
27
+ * The parent supplies a positioned container for the inert exit overlay.
28
+ */
29
+ export declare class AnimatedRows extends Component<AnimatedRowsProps> {
30
+ private armed;
31
+ private readonly list;
32
+ private readonly overlay;
33
+ private readonly movements;
34
+ private readonly exits;
35
+ getSnapshotBeforeUpdate(previous: AnimatedRowsProps): RowSnapshot | null;
36
+ componentDidUpdate(previous: AnimatedRowsProps, _state: unknown, snapshot: RowSnapshot | null): void;
37
+ componentWillUnmount(): void;
38
+ private readPositions;
39
+ private move;
40
+ private cancelMovements;
41
+ private removeExit;
42
+ private clear;
43
+ render(): ReactNode;
44
+ }
45
+ export {};
@@ -3,7 +3,7 @@ import { type ButtonHTMLAttributes, type ReactNode } from 'react';
3
3
  export type ButtonVariant = 'primary' | 'ghost' | 'outline' | 'toolbar';
4
4
  /**
5
5
  * Render a button.
6
- * @param props.variant - visual family (default 'ghost').
6
+ * @param props.variant - visual family (default 'ghost'); outlined buttons use a DPR-aware inset stroke.
7
7
  * @param props.size - 'md' 36px control with 12px corners or 'sm' 28px control with 8px corners.
8
8
  * @param props.icon - optional leading 16px icon node.
9
9
  * @param ref - native button for focus management and overlay anchors.
@@ -0,0 +1,15 @@
1
+ /** Display text and owner-localized identification for a command scrollport. */
2
+ export interface CommandTextProps {
3
+ /** Original command or formatted command arguments, without truncation. */
4
+ text: string;
5
+ /** Accessible name while the text can scroll horizontally. */
6
+ label: string;
7
+ /** Owner typography and positioning. */
8
+ className?: string | undefined;
9
+ }
10
+ /**
11
+ * Render command text without adding Tab stops for content that fits.
12
+ * @param props - Text, localized scrollport name, and owner styling.
13
+ * @returns A horizontal text scrollport, named and keyboard-focusable only when overflowing.
14
+ */
15
+ export declare function CommandText({ text, label, className }: CommandTextProps): import("react").JSX.Element;