@sdata/web-vue 4.7.1 → 5.0.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.
Files changed (219) hide show
  1. package/dist/sd.css +4004 -3955
  2. package/dist/sd.min.css +13 -13
  3. package/es/_components/input-label/style/index.css +47 -47
  4. package/es/_components/select-view/style/index.css +256 -256
  5. package/es/alert/style/index.css +48 -48
  6. package/es/alert/style/token.scss +257 -0
  7. package/es/anchor/style/index.css +18 -18
  8. package/es/anchor/style/token.scss +74 -0
  9. package/es/auto-complete/style/index.css +18 -18
  10. package/es/auto-complete/style/token.scss +94 -0
  11. package/es/avatar/style/index.css +31 -31
  12. package/es/avatar/style/token.scss +118 -0
  13. package/es/back-top/style/index.css +11 -11
  14. package/es/back-top/style/token.scss +60 -0
  15. package/es/badge/style/index.css +35 -35
  16. package/es/badge/style/token.scss +148 -0
  17. package/es/basic-crud-table/style/index.css +4 -4
  18. package/es/basic-crud-table/style/token.scss +20 -0
  19. package/es/bloom-menu/style/index.css +33 -34
  20. package/es/bloom-menu/style/index.scss +5 -5
  21. package/es/bloom-menu/style/token.scss +99 -0
  22. package/es/border-beam/style/token.scss +28 -0
  23. package/es/breadcrumb/style/index.css +17 -17
  24. package/es/breadcrumb/style/token.scss +97 -0
  25. package/es/button/style/index.css +379 -379
  26. package/es/button/style/index.scss +3 -3
  27. package/es/button/style/token.scss +1604 -0
  28. package/es/card/style/index.css +36 -36
  29. package/es/card/style/token.scss +162 -0
  30. package/es/carousel/style/index.css +41 -41
  31. package/es/carousel/style/token.scss +101 -0
  32. package/es/cascader/style/index.css +58 -58
  33. package/es/cascader/style/token.scss +89 -0
  34. package/es/checkbox/style/index.css +28 -28
  35. package/es/checkbox/style/token.scss +134 -0
  36. package/es/collapse/style/index.css +24 -24
  37. package/es/collapse/style/token.scss +136 -0
  38. package/es/color-picker/style/index.css +50 -50
  39. package/es/color-picker/style/token.scss +200 -0
  40. package/es/comment/style/index.css +15 -15
  41. package/es/comment/style/token.scss +83 -0
  42. package/es/config-provider/algorithms.d.ts +11 -0
  43. package/es/config-provider/algorithms.js +53 -0
  44. package/es/config-provider/global-theme.js +7 -4
  45. package/es/config-provider/theme-config.d.ts +11 -0
  46. package/es/config-provider/theme-config.js +114 -0
  47. package/es/config-provider/theme-provider.vue_vue_type_script_setup_true_lang.js +46 -11
  48. package/es/config-provider/theme.d.ts +4 -1
  49. package/es/config-provider/theme.js +6 -5
  50. package/es/config-provider/token-key.d.ts +1 -0
  51. package/es/config-provider/token-key.js +6 -0
  52. package/es/copy/style/index.css +1 -1
  53. package/es/copy/style/token.scss +9 -0
  54. package/es/cropper/style/index.css +7 -7
  55. package/es/cropper/style/token.scss +24 -0
  56. package/es/date-picker/style/index.css +73 -73
  57. package/es/date-picker/style/token.scss +229 -0
  58. package/es/descriptions/style/index.css +45 -45
  59. package/es/descriptions/style/token.scss +191 -0
  60. package/es/divider/style/index.css +11 -11
  61. package/es/divider/style/token.scss +60 -0
  62. package/es/drawer/style/index.css +13 -13
  63. package/es/drawer/style/token.scss +68 -0
  64. package/es/dropdown/style/index.css +24 -23
  65. package/es/dropdown/style/index.scss +4 -2
  66. package/es/dropdown/style/token.scss +123 -0
  67. package/es/ellipsis/ellipsis.vue_vue_type_script_setup_true_lang.js +3 -3
  68. package/es/ellipsis/interface.d.ts +1 -0
  69. package/es/ellipsis/style/index.css +2 -2
  70. package/es/ellipsis/style/token.scss +5 -0
  71. package/es/empty/style/index.css +7 -7
  72. package/es/empty/style/token.scss +35 -0
  73. package/es/file-previewer/style/index.css +44 -44
  74. package/es/file-previewer/style/token.scss +198 -0
  75. package/es/form/style/index.css +113 -113
  76. package/es/form/style/token.scss +340 -0
  77. package/es/image/style/index.css +83 -83
  78. package/es/image/style/token.scss +451 -0
  79. package/es/index.css +4004 -3955
  80. package/es/index.d.ts +3 -0
  81. package/es/index.js +4 -1
  82. package/es/input/style/index.css +104 -104
  83. package/es/input/style/input.scss +2 -8
  84. package/es/input/style/size.scss +4 -4
  85. package/es/input/style/token.scss +327 -0
  86. package/es/input-mask/style/index.css +1 -1
  87. package/es/input-mask/style/token.scss +8 -0
  88. package/es/input-number/style/index.css +19 -19
  89. package/es/input-number/style/token.scss +82 -0
  90. package/es/input-tag/style/index.css +209 -209
  91. package/es/input-tag/style/token.scss +226 -0
  92. package/es/json-form/style/index.css +2 -2
  93. package/es/json-form/style/token.scss +21 -0
  94. package/es/kv-list/style/index.css +13 -13
  95. package/es/kv-list/style/token.scss +29 -0
  96. package/es/layout/style/index.css +38 -38
  97. package/es/layout/style/token.scss +100 -0
  98. package/es/link/style/index.css +28 -28
  99. package/es/link/style/token.scss +117 -0
  100. package/es/list/style/index.css +27 -27
  101. package/es/list/style/token.scss +178 -0
  102. package/es/mention/style/token.scss +22 -0
  103. package/es/menu/style/index.css +153 -120
  104. package/es/menu/style/index.scss +12 -4
  105. package/es/menu/style/token.scss +390 -0
  106. package/es/message/style/index.css +33 -33
  107. package/es/message/style/token.scss +218 -0
  108. package/es/modal/style/index.css +21 -21
  109. package/es/modal/style/token.scss +115 -0
  110. package/es/model-selector/style/index.css +1 -1
  111. package/es/notification/style/index.css +44 -44
  112. package/es/notification/style/token.scss +241 -0
  113. package/es/number-flow/style/index.css +5 -5
  114. package/es/number-flow/style/token.scss +19 -0
  115. package/es/page-header/style/index.css +25 -25
  116. package/es/page-header/style/token.scss +139 -0
  117. package/es/pagination/style/index.css +85 -85
  118. package/es/pagination/style/token.scss +303 -0
  119. package/es/panel-group/style/index.css +7 -7
  120. package/es/panel-group/style/token.scss +28 -0
  121. package/es/popconfirm/style/index.css +18 -18
  122. package/es/popconfirm/style/token.scss +83 -0
  123. package/es/popover/style/index.css +12 -12
  124. package/es/popover/style/token.scss +58 -0
  125. package/es/progress/style/index.css +55 -55
  126. package/es/progress/style/token.scss +253 -0
  127. package/es/qr-code/style/index.css +18 -21
  128. package/es/qr-code/style/index.scss +4 -6
  129. package/es/qr-code/style/token.scss +59 -0
  130. package/es/radio/style/index.css +45 -44
  131. package/es/radio/style/index.scss +1 -0
  132. package/es/radio/style/token.scss +185 -0
  133. package/es/rate/style/index.css +8 -8
  134. package/es/rate/style/token.scss +19 -0
  135. package/es/regex-vis/style/index.css +51 -51
  136. package/es/regex-vis/style/token.scss +170 -0
  137. package/es/result/style/index.css +26 -26
  138. package/es/result/style/token.scss +139 -0
  139. package/es/rich-text-editor/style/index.css +31 -31
  140. package/es/rich-text-editor/style/token.scss +120 -0
  141. package/es/scrollbar/style/index.css +14 -14
  142. package/es/scrollbar/style/token.scss +33 -0
  143. package/es/secret/style/index.css +6 -6
  144. package/es/secret/style/token.scss +30 -0
  145. package/es/select/style/index.css +27 -27
  146. package/es/select/style/token.scss +151 -0
  147. package/es/selectable-card/style/index.css +53 -51
  148. package/es/selectable-card/style/index.scss +6 -2
  149. package/es/selectable-card/style/token.scss +60 -0
  150. package/es/sender/style/index.css +54 -54
  151. package/es/sender/style/token.scss +155 -0
  152. package/es/skeleton/style/index.css +12 -12
  153. package/es/skeleton/style/token.scss +60 -0
  154. package/es/slider/style/index.css +34 -34
  155. package/es/slider/style/token.scss +144 -0
  156. package/es/spin/style/index.css +11 -11
  157. package/es/spin/style/token.scss +60 -0
  158. package/es/split/style/index.css +2 -2
  159. package/es/split/style/token.scss +18 -0
  160. package/es/statistic/style/index.css +13 -13
  161. package/es/statistic/style/token.scss +73 -0
  162. package/es/steps/style/index.css +98 -98
  163. package/es/steps/style/token.scss +464 -0
  164. package/es/style/color/css-variables.scss +382 -381
  165. package/es/style/theme/css-variables.scss +329 -135
  166. package/es/style/theme/global.scss +5 -5
  167. package/es/style/theme/index.scss +1 -1
  168. package/es/style/theme/runtime.scss +29 -0
  169. package/es/switch/style/index.css +37 -37
  170. package/es/switch/style/token.scss +135 -0
  171. package/es/table/style/index.css +127 -127
  172. package/es/table/style/token.scss +425 -0
  173. package/es/tabs/style/index.css +196 -190
  174. package/es/tabs/style/index.scss +27 -17
  175. package/es/tabs/style/token.scss +534 -0
  176. package/es/tag/index.d.ts +13 -0
  177. package/es/tag/interface.d.ts +1 -0
  178. package/es/tag/style/index.css +159 -159
  179. package/es/tag/style/token.scss +513 -0
  180. package/es/tag/tag.vue.d.ts +13 -3
  181. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +35 -8
  182. package/es/tag-group/style/index.css +3 -3
  183. package/es/tag-group/style/token.scss +9 -0
  184. package/es/textarea/style/index.css +40 -40
  185. package/es/time-picker/style/index.css +12 -12
  186. package/es/time-picker/style/token.scss +50 -0
  187. package/es/timeline/style/index.css +22 -22
  188. package/es/timeline/style/token.scss +75 -0
  189. package/es/toolbar/style/index.css +6 -6
  190. package/es/toolbar/style/token.scss +45 -0
  191. package/es/tooltip/style/index.css +8 -8
  192. package/es/tooltip/style/token.scss +46 -0
  193. package/es/tour/style/index.css +28 -28
  194. package/es/tour/style/token.scss +65 -0
  195. package/es/transfer/style/index.css +46 -45
  196. package/es/transfer/style/index.scss +4 -1
  197. package/es/transfer/style/token.scss +199 -0
  198. package/es/tree/style/index.css +43 -36
  199. package/es/tree/style/index.scss +10 -0
  200. package/es/tree/style/token.scss +163 -0
  201. package/es/tree-select/style/index.css +9 -9
  202. package/es/tree-select/style/token.scss +21 -0
  203. package/es/trigger/style/index.css +7 -7
  204. package/es/trigger/style/token.scss +19 -0
  205. package/es/typography/style/index.css +40 -40
  206. package/es/typography/style/token.scss +220 -0
  207. package/es/upload/index.d.ts +3 -0
  208. package/es/upload/style/index.css +95 -95
  209. package/es/upload/style/token.scss +470 -0
  210. package/es/upload/upload.vue.d.ts +2 -0
  211. package/es/upload/upload.vue_vue_type_script_setup_true_lang.js +109 -16
  212. package/json/vetur-attributes.json +7 -0
  213. package/json/vetur-tags.json +4 -1
  214. package/json/web-types.json +18 -2
  215. package/package.json +7 -2
  216. package/es/style/color/palette-dark.d.ts +0 -4
  217. package/es/style/color/palette-dark.js +0 -10
  218. package/es/style/color/palette.d.ts +0 -4
  219. package/es/style/color/palette.js +0 -10
@@ -25,10 +25,10 @@
25
25
  .sd-dropdown {
26
26
  box-sizing: border-box;
27
27
  padding: 4px 0;
28
- background-color: var(--sd-color-bg-popup);
29
- border: 1px solid var(--sd-color-fill-3);
30
- border-radius: var(--sd-border-radius-medium);
31
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.08);
28
+ background-color: var(--component-dropdown-dropdown-color-bg, var(--component-dropdown-color-bg, var(--sd-color-bg-popup)));
29
+ border: 1px solid var(--component-dropdown-dropdown-color-border, var(--component-dropdown-color-border, var(--sd-color-fill-3)));
30
+ border-radius: var(--component-dropdown-dropdown-border-radius, var(--component-dropdown-border-radius, var(--sd-border-radius-medium)));
31
+ box-shadow: var(--component-dropdown-dropdown-box-shadow, var(--component-dropdown-box-shadow, 0 2px 6px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.08)));
32
32
  }
33
33
  .sd-dropdown-list {
34
34
  margin-top: 0;
@@ -37,7 +37,7 @@
37
37
  list-style: none;
38
38
  }
39
39
  .sd-dropdown-list-wrapper {
40
- max-height: 200px;
40
+ max-height: var(--component-dropdown-dropdown-max-height, var(--component-dropdown-max-height, var(--size-50, 200px)));
41
41
  overflow-y: auto;
42
42
  }
43
43
  .sd-dropdown-option {
@@ -47,12 +47,12 @@
47
47
  align-items: center;
48
48
  box-sizing: border-box;
49
49
  width: 100%;
50
- padding: 0 12px;
51
- color: var(--sd-color-text-1);
52
- font-size: 14px;
53
- line-height: 36px;
50
+ padding: 0 var(--component-dropdown-dropdown-option-padding-horizontal, var(--component-dropdown-option-padding-horizontal, var(--spacing-6, 12px)));
51
+ color: var(--component-dropdown-dropdown-option-color-text-default, var(--component-dropdown-option-color-text-default, var(--sd-color-text-1)));
52
+ font-size: var(--component-dropdown-dropdown-font-size, var(--component-dropdown-font-size, var(--font-size-body-3, 14px)));
53
+ line-height: var(--component-dropdown-dropdown-option-height, var(--component-dropdown-option-height, var(--size-9, 36px)));
54
54
  text-align: left;
55
- background-color: transparent;
55
+ background-color: var(--component-dropdown-dropdown-option-color-bg-default, var(--component-dropdown-option-color-bg-default, var(--color-transparent, var(--sd-color-transparent, transparent))));
56
56
  cursor: pointer;
57
57
  }
58
58
  .sd-dropdown-option-content {
@@ -63,14 +63,15 @@
63
63
  .sd-dropdown-option-has-suffix {
64
64
  justify-content: space-between;
65
65
  }
66
- .sd-dropdown-option-active, .sd-dropdown-option:not(.sd-dropdown-option-disabled):hover {
67
- color: var(--sd-color-text-1);
68
- background-color: var(--sd-color-fill-2);
66
+ .sd-dropdown-option-active, .sd-dropdown-option:not(.sd-dropdown-option-disabled):hover, .sd-dropdown-option:not(.sd-dropdown-option-disabled):focus-visible {
67
+ color: var(--component-dropdown-dropdown-option-color-text-hover, var(--component-dropdown-option-color-text-hover, var(--sd-color-text-1)));
68
+ background-color: var(--component-dropdown-dropdown-option-color-bg-hover, var(--component-dropdown-option-color-bg-hover, var(--sd-color-fill-2)));
69
+ outline: none;
69
70
  transition: color 0.1s cubic-bezier(0.34, 0.69, 0.1, 1), background-color 0.1s cubic-bezier(0.34, 0.69, 0.1, 1);
70
71
  }
71
72
  .sd-dropdown-option-disabled {
72
- color: var(--sd-color-text-4);
73
- background-color: transparent;
73
+ color: var(--component-dropdown-dropdown-option-color-text-disabled, var(--component-dropdown-option-color-text-disabled, var(--sd-color-text-4)));
74
+ background-color: var(--component-dropdown-dropdown-option-color-bg-disabled, var(--component-dropdown-option-color-bg-disabled, var(--color-transparent, var(--sd-color-transparent, transparent))));
74
75
  cursor: not-allowed;
75
76
  }
76
77
  .sd-dropdown-option-icon {
@@ -78,19 +79,19 @@
78
79
  margin-right: 8px;
79
80
  }
80
81
  .sd-dropdown-option-suffix {
81
- margin-left: 12px;
82
+ margin-left: var(--component-dropdown-dropdown-margin-left-suffix-icon, var(--component-dropdown-margin-left-suffix-icon, var(--spacing-6, 12px)));
82
83
  }
83
84
  .sd-dropdown-group:first-child .sd-dropdown-group-title {
84
- margin-top: 8px;
85
+ margin-top: var(--component-dropdown-dropdown-group-title-margin-top, var(--component-dropdown-group-title-margin-top, var(--spacing-4, 8px)));
85
86
  }
86
87
  .sd-dropdown-group-title {
87
88
  box-sizing: border-box;
88
89
  width: 100%;
89
- margin-top: 8px;
90
- padding: 0 12px;
91
- color: var(--sd-color-text-3);
92
- font-size: 12px;
93
- line-height: 20px;
90
+ margin-top: var(--component-dropdown-dropdown-group-title-margin-top, var(--component-dropdown-group-title-margin-top, var(--spacing-4, 8px)));
91
+ padding: 0 var(--component-dropdown-dropdown-group-title-padding-horizontal, var(--component-dropdown-group-title-padding-horizontal, var(--spacing-6, 12px)));
92
+ color: var(--component-dropdown-dropdown-group-title-color-text, var(--component-dropdown-group-title-color-text, var(--sd-color-text-3)));
93
+ font-size: var(--component-dropdown-dropdown-group-title-font-size, var(--component-dropdown-group-title-font-size, var(--font-size-body-1, 12px)));
94
+ line-height: var(--component-dropdown-dropdown-group-title-height, var(--component-dropdown-group-title-height, var(--size-5, 20px)));
94
95
  cursor: default;
95
96
  overflow: hidden;
96
97
  white-space: nowrap;
@@ -103,5 +104,5 @@
103
104
  padding-bottom: 0;
104
105
  }
105
106
  .sd-dropdown-footer {
106
- border-top: 1px solid var(--sd-color-fill-3);
107
+ border-top: 1px solid var(--component-dropdown-dropdown-color-border, var(--component-dropdown-color-border, var(--sd-color-fill-3)));
107
108
  }
@@ -51,11 +51,13 @@ $dropdown-prefix-cls: string.unquote('#{theme.$prefix}-dropdown');
51
51
  justify-content: space-between;
52
52
  }
53
53
 
54
- // hover
54
+ // 键盘焦点(程序化聚焦后属于 focus-visible)与 hover 保持同一视觉
55
55
  &-active,
56
- &:not(#{&}-disabled):hover {
56
+ &:not(#{&}-disabled):hover,
57
+ &:not(#{&}-disabled):focus-visible {
57
58
  color: $dropdown-option-color-text_hover;
58
59
  background-color: $dropdown-option-color-bg_hover;
60
+ outline: none;
59
61
  transition:
60
62
  color theme.$transition-duration-1 theme.$transition-timing-function-standard,
61
63
  background-color theme.$transition-duration-1 theme.$transition-timing-function-standard;
@@ -1,3 +1,4 @@
1
+ @use '@style/theme/runtime.scss' as theme-runtime;
1
2
  @use '@style/theme/index.scss' as global;
2
3
 
3
4
  @forward '@style/theme/index.scss';
@@ -50,3 +51,125 @@ $dropdown-group-title-font-size: global.$font-size-body-1;
50
51
  $dropdown-group-title-color-text: var(string.unquote('#{global.$sd-cssvars-prefix}-color-text-3'));
51
52
 
52
53
  $dropdown-margin-left-suffix-icon: global.$spacing-6;
54
+
55
+ // @generated runtime tokens — pnpm theme:generate
56
+ $dropdown-max-height: theme-runtime.token(
57
+ 'dropdown',
58
+ 'dropdown-max-height',
59
+ $dropdown-max-height,
60
+ 'size-50'
61
+ );
62
+ $dropdown-border-radius: theme-runtime.token(
63
+ 'dropdown',
64
+ 'dropdown-border-radius',
65
+ $dropdown-border-radius
66
+ );
67
+ $dropdown-font-size: theme-runtime.token(
68
+ 'dropdown',
69
+ 'dropdown-font-size',
70
+ $dropdown-font-size,
71
+ 'font-size-body-3'
72
+ );
73
+ $dropdown-color-bg: theme-runtime.token('dropdown', 'dropdown-color-bg', $dropdown-color-bg);
74
+ $dropdown-color-border: theme-runtime.token(
75
+ 'dropdown',
76
+ 'dropdown-color-border',
77
+ $dropdown-color-border
78
+ );
79
+ $dropdown-box-shadow: theme-runtime.token('dropdown', 'dropdown-box-shadow', $dropdown-box-shadow);
80
+ $dropdown-option-height: theme-runtime.token(
81
+ 'dropdown',
82
+ 'dropdown-option-height',
83
+ $dropdown-option-height,
84
+ 'size-9'
85
+ );
86
+ $dropdown-option-padding-horizontal: theme-runtime.token(
87
+ 'dropdown',
88
+ 'dropdown-option-padding-horizontal',
89
+ $dropdown-option-padding-horizontal,
90
+ 'spacing-6'
91
+ );
92
+ $dropdown-option-font-weight_selected: theme-runtime.token(
93
+ 'dropdown',
94
+ 'dropdown-option-font-weight-selected',
95
+ $dropdown-option-font-weight_selected,
96
+ 'font-weight-500'
97
+ );
98
+ $dropdown-option-color-bg_default: theme-runtime.token(
99
+ 'dropdown',
100
+ 'dropdown-option-color-bg-default',
101
+ $dropdown-option-color-bg_default,
102
+ 'color-transparent'
103
+ );
104
+ $dropdown-option-color-bg_hover: theme-runtime.token(
105
+ 'dropdown',
106
+ 'dropdown-option-color-bg-hover',
107
+ $dropdown-option-color-bg_hover
108
+ );
109
+ $dropdown-option-color-bg_selected: theme-runtime.token(
110
+ 'dropdown',
111
+ 'dropdown-option-color-bg-selected',
112
+ $dropdown-option-color-bg_selected,
113
+ 'color-transparent'
114
+ );
115
+ $dropdown-option-color-bg_disabled: theme-runtime.token(
116
+ 'dropdown',
117
+ 'dropdown-option-color-bg-disabled',
118
+ $dropdown-option-color-bg_disabled,
119
+ 'color-transparent'
120
+ );
121
+ $dropdown-option-color-text_default: theme-runtime.token(
122
+ 'dropdown',
123
+ 'dropdown-option-color-text-default',
124
+ $dropdown-option-color-text_default
125
+ );
126
+ $dropdown-option-color-text_hover: theme-runtime.token(
127
+ 'dropdown',
128
+ 'dropdown-option-color-text-hover',
129
+ $dropdown-option-color-text_hover
130
+ );
131
+ $dropdown-option-color-text_selected: theme-runtime.token(
132
+ 'dropdown',
133
+ 'dropdown-option-color-text-selected',
134
+ $dropdown-option-color-text_selected
135
+ );
136
+ $dropdown-option-color-text_disabled: theme-runtime.token(
137
+ 'dropdown',
138
+ 'dropdown-option-color-text-disabled',
139
+ $dropdown-option-color-text_disabled
140
+ );
141
+ $dropdown-group-title-height: theme-runtime.token(
142
+ 'dropdown',
143
+ 'dropdown-group-title-height',
144
+ $dropdown-group-title-height,
145
+ 'size-5'
146
+ );
147
+ $dropdown-group-title-padding-horizontal: theme-runtime.token(
148
+ 'dropdown',
149
+ 'dropdown-group-title-padding-horizontal',
150
+ $dropdown-group-title-padding-horizontal,
151
+ 'spacing-6'
152
+ );
153
+ $dropdown-group-title-margin-top: theme-runtime.token(
154
+ 'dropdown',
155
+ 'dropdown-group-title-margin-top',
156
+ $dropdown-group-title-margin-top,
157
+ 'spacing-4'
158
+ );
159
+ $dropdown-group-title-font-size: theme-runtime.token(
160
+ 'dropdown',
161
+ 'dropdown-group-title-font-size',
162
+ $dropdown-group-title-font-size,
163
+ 'font-size-body-1'
164
+ );
165
+ $dropdown-group-title-color-text: theme-runtime.token(
166
+ 'dropdown',
167
+ 'dropdown-group-title-color-text',
168
+ $dropdown-group-title-color-text
169
+ );
170
+ $dropdown-margin-left-suffix-icon: theme-runtime.token(
171
+ 'dropdown',
172
+ 'dropdown-margin-left-suffix-icon',
173
+ $dropdown-margin-left-suffix-icon,
174
+ 'spacing-6'
175
+ );
@@ -7,7 +7,7 @@ import { RichLineClamp } from "../clamp/index.js";
7
7
  import Tooltip from "../tooltip/index.js";
8
8
  import { computed, createBlock, createElementBlock, defineComponent, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUpdated, openBlock, renderSlot, resolveDynamicComponent, shallowRef, unref, watch, withCtx } from "vue";
9
9
  //#region components/ellipsis/ellipsis.vue?vue&type=script&setup=true&lang.ts
10
- var _excluded = ["disabled"];
10
+ var _excluded = ["always", "disabled"];
11
11
  var INTERACTIVE_SELECTOR = "a,button,input,textarea,select,[role=\"button\"]";
12
12
  var ellipsis_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
13
13
  name: "Ellipsis",
@@ -50,11 +50,11 @@ var ellipsis_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
50
50
  });
51
51
  const tooltipConfig = computed(() => isObject(props.tooltip) ? props.tooltip : {});
52
52
  const tooltipBindings = computed(() => {
53
- const _tooltipConfig$value = tooltipConfig.value, { disabled: _disabled } = _tooltipConfig$value;
53
+ const _tooltipConfig$value = tooltipConfig.value, { always: _always, disabled: _disabled } = _tooltipConfig$value;
54
54
  return _objectWithoutProperties(_tooltipConfig$value, _excluded);
55
55
  });
56
56
  const enableTooltip = computed(() => props.tooltip !== false);
57
- const tooltipDisabled = computed(() => !isEllipsis.value || expanded.value || Boolean(tooltipConfig.value.disabled));
57
+ const tooltipDisabled = computed(() => expanded.value || Boolean(tooltipConfig.value.disabled) || !isEllipsis.value && !tooltipConfig.value.always);
58
58
  const isExpandable = computed(() => props.expandTrigger === "click" && (isEllipsis.value || expanded.value));
59
59
  const rootCls = computed(() => [prefixCls, {
60
60
  [`${prefixCls}--single-line`]: !isLineClamp.value && !expanded.value,
@@ -12,4 +12,5 @@ export interface EllipsisTooltipProps extends Omit<Partial<TriggerProps>, 'popup
12
12
  arrowStyle?: CSSProperties;
13
13
  renderToBody?: boolean;
14
14
  disabled?: boolean;
15
+ always?: boolean;
15
16
  }
@@ -17,8 +17,8 @@
17
17
  /********* icon hover *********/
18
18
  .sd-ellipsis {
19
19
  display: inline-block;
20
- max-width: 100%;
21
- color: inherit;
20
+ max-width: var(--component-ellipsis-ellipsis-max-width, var(--component-ellipsis-max-width, 100%));
21
+ color: var(--component-ellipsis-ellipsis-color-text, var(--component-ellipsis-color-text, inherit));
22
22
  vertical-align: bottom;
23
23
  }
24
24
  .sd-ellipsis--single-line {
@@ -1,5 +1,10 @@
1
+ @use '@style/theme/runtime.scss' as theme-runtime;
1
2
  @use '@style/theme/index.scss' as *;
2
3
 
3
4
  $ellipsis-max-width: 100%;
4
5
 
5
6
  $ellipsis-color-text: inherit;
7
+
8
+ // @generated runtime tokens — pnpm theme:generate
9
+ $ellipsis-max-width: theme-runtime.token('ellipsis', 'ellipsis-max-width', $ellipsis-max-width);
10
+ $ellipsis-color-text: theme-runtime.token('ellipsis', 'ellipsis-color-text', $ellipsis-color-text);
@@ -18,19 +18,19 @@
18
18
  .sd-empty {
19
19
  box-sizing: border-box;
20
20
  width: 100%;
21
- padding: 10px 0;
21
+ padding: var(--component-empty-empty-spacing-padding, var(--component-empty-spacing-padding, var(--spacing-5, 10px))) 0;
22
22
  text-align: center;
23
23
  }
24
24
  .sd-empty-image {
25
- margin-bottom: 4px;
26
- color: rgb(var(--sd-gray-5));
27
- font-size: 48px;
25
+ margin-bottom: var(--component-empty-empty-spacing-image-margin-bottom, var(--component-empty-spacing-image-margin-bottom, var(--spacing-2, 4px)));
26
+ color: var(--component-empty-empty-color-icon, var(--component-empty-color-icon, rgb(var(--sd-gray-5))));
27
+ font-size: var(--component-empty-empty-font-size-image, var(--component-empty-font-size-image, var(--size-12, 48px)));
28
28
  line-height: 1;
29
29
  }
30
30
  .sd-empty-image img {
31
- height: 80px;
31
+ height: var(--component-empty-empty-size-img-height, var(--component-empty-size-img-height, var(--size-20, 80px)));
32
32
  }
33
33
  .sd-empty .sd-empty-description {
34
- color: rgb(var(--sd-gray-5));
35
- font-size: 14px;
34
+ color: var(--component-empty-empty-color-text, var(--component-empty-color-text, rgb(var(--sd-gray-5))));
35
+ font-size: var(--component-empty-empty-font-size-text, var(--component-empty-font-size-text, var(--font-size-body-3, 14px)));
36
36
  }
@@ -1,3 +1,4 @@
1
+ @use '@style/theme/runtime.scss' as theme-runtime;
1
2
  @use '@style/theme/index.scss' as global;
2
3
 
3
4
  @forward '@style/theme/index.scss';
@@ -19,3 +20,37 @@ $empty-size-img-height: global.$size-20;
19
20
  $empty-color-icon: rgb(var(string.unquote('#{global.$sd-cssvars-prefix}-gray-5')));
20
21
 
21
22
  $empty-font-size-text: global.$font-size-body-3;
23
+
24
+ // @generated runtime tokens — pnpm theme:generate
25
+ $empty-spacing-padding: theme-runtime.token(
26
+ 'empty',
27
+ 'empty-spacing-padding',
28
+ $empty-spacing-padding,
29
+ 'spacing-5'
30
+ );
31
+ $empty-color-text: theme-runtime.token('empty', 'empty-color-text', $empty-color-text);
32
+ $empty-font-size-image: theme-runtime.token(
33
+ 'empty',
34
+ 'empty-font-size-image',
35
+ $empty-font-size-image,
36
+ 'size-12'
37
+ );
38
+ $empty-spacing-image-margin-bottom: theme-runtime.token(
39
+ 'empty',
40
+ 'empty-spacing-image-margin-bottom',
41
+ $empty-spacing-image-margin-bottom,
42
+ 'spacing-2'
43
+ );
44
+ $empty-size-img-height: theme-runtime.token(
45
+ 'empty',
46
+ 'empty-size-img-height',
47
+ $empty-size-img-height,
48
+ 'size-20'
49
+ );
50
+ $empty-color-icon: theme-runtime.token('empty', 'empty-color-icon', $empty-color-icon);
51
+ $empty-font-size-text: theme-runtime.token(
52
+ 'empty',
53
+ 'empty-font-size-text',
54
+ $empty-font-size-text,
55
+ 'font-size-body-3'
56
+ );
@@ -19,7 +19,7 @@
19
19
  position: relative;
20
20
  width: 100%;
21
21
  height: 100%;
22
- min-height: 240px;
22
+ min-height: var(--component-file-previewer-file-previewer-size-inline-min-height, var(--component-file-previewer-size-inline-min-height, 240px));
23
23
  }
24
24
  .sd-file-previewer-fullscreen {
25
25
  inset: 0;
@@ -27,12 +27,12 @@
27
27
  }
28
28
  .sd-file-previewer-inline {
29
29
  overflow: hidden;
30
- color: var(--sd-color-text-1);
30
+ color: var(--component-file-previewer-file-previewer-color-content-text, var(--component-file-previewer-color-content-text, var(--sd-color-text-1)));
31
31
  }
32
32
  .sd-file-previewer-mask {
33
33
  position: absolute;
34
34
  inset: 0;
35
- background-color: var(--sd-color-mask-bg);
35
+ background-color: var(--component-file-previewer-file-previewer-color-mask-bg, var(--component-file-previewer-color-mask-bg, var(--sd-color-mask-bg)));
36
36
  }
37
37
  .sd-file-previewer-content {
38
38
  z-index: 1;
@@ -43,27 +43,27 @@
43
43
  }
44
44
  .sd-file-previewer-content-fullscreen {
45
45
  position: absolute;
46
- inset: 40px;
46
+ inset: var(--component-file-previewer-file-previewer-spacing-viewport-padding, var(--component-file-previewer-spacing-viewport-padding, 40px));
47
47
  }
48
48
  .sd-file-previewer-content-inline {
49
49
  position: relative;
50
50
  width: 100%;
51
51
  height: 100%;
52
- min-height: 240px;
52
+ min-height: var(--component-file-previewer-file-previewer-size-inline-min-height, var(--component-file-previewer-size-inline-min-height, 240px));
53
53
  }
54
54
  .sd-file-previewer-fullscreen .sd-file-previewer-content-audio {
55
55
  inset: 50% auto auto 50%;
56
- width: min(560px, 100% - 40px * 2);
57
- max-height: 78vh;
58
- background: var(--sd-color-bg-2);
59
- border-radius: var(--sd-border-radius-medium);
56
+ width: min(var(--component-file-previewer-file-previewer-size-audio-width, var(--component-file-previewer-size-audio-width, 560px)), 100% - var(--component-file-previewer-file-previewer-spacing-viewport-padding, var(--component-file-previewer-spacing-viewport-padding, 40px)) * 2);
57
+ max-height: var(--component-file-previewer-file-previewer-size-media-height, var(--component-file-previewer-size-media-height, 78vh));
58
+ background: var(--component-file-previewer-file-previewer-color-content-bg, var(--component-file-previewer-color-content-bg, var(--sd-color-bg-2)));
59
+ border-radius: var(--component-file-previewer-file-previewer-radius-panel, var(--component-file-previewer-radius-panel, var(--sd-border-radius-medium)));
60
60
  transform: translate(-50%, -50%);
61
61
  }
62
62
  .sd-file-previewer-header {
63
63
  box-sizing: border-box;
64
- padding: 12px 20px;
65
- color: var(--sd-color-text-1);
66
- font-size: 16px;
64
+ padding: var(--component-file-previewer-file-previewer-spacing-header-padding-vertical, var(--component-file-previewer-spacing-header-padding-vertical, 12px)) var(--component-file-previewer-file-previewer-spacing-header-padding-horizontal, var(--component-file-previewer-spacing-header-padding-horizontal, 20px));
65
+ color: var(--component-file-previewer-file-previewer-color-content-text, var(--component-file-previewer-color-content-text, var(--sd-color-text-1)));
66
+ font-size: var(--component-file-previewer-file-previewer-font-size-title, var(--component-file-previewer-font-size-title, 16px));
67
67
  }
68
68
  .sd-file-previewer-title {
69
69
  display: block;
@@ -92,8 +92,8 @@
92
92
  min-height: 0 !important;
93
93
  }
94
94
  .sd-file-previewer-video-player {
95
- max-width: 1180px;
96
- max-height: 78vh;
95
+ max-width: var(--component-file-previewer-file-previewer-size-media-width, var(--component-file-previewer-size-media-width, 1180px));
96
+ max-height: var(--component-file-previewer-file-previewer-size-media-height, var(--component-file-previewer-size-media-height, 78vh));
97
97
  }
98
98
  .sd-file-previewer-media-skin {
99
99
  display: block;
@@ -115,7 +115,7 @@
115
115
  .sd-file-previewer-audio-panel {
116
116
  box-sizing: border-box;
117
117
  width: 100%;
118
- padding: 20px;
118
+ padding: var(--component-file-previewer-file-previewer-spacing-panel-padding, var(--component-file-previewer-spacing-panel-padding, 20px));
119
119
  }
120
120
  .sd-file-previewer-audio-player, .sd-file-previewer-audio {
121
121
  display: block;
@@ -124,7 +124,7 @@
124
124
  .sd-file-previewer-pdf {
125
125
  display: flex;
126
126
  flex-direction: column;
127
- gap: 6px;
127
+ gap: var(--component-file-previewer-file-previewer-spacing-pdf-gap, var(--component-file-previewer-spacing-pdf-gap, 6px));
128
128
  width: 100%;
129
129
  height: 100%;
130
130
  }
@@ -136,8 +136,8 @@
136
136
  min-width: 0;
137
137
  min-height: 0;
138
138
  overflow: auto;
139
- background: var(--sd-color-bg-1);
140
- border-radius: var(--sd-border-radius-medium);
139
+ background: var(--component-file-previewer-file-previewer-color-pdf-canvas-bg, var(--component-file-previewer-color-pdf-canvas-bg, var(--sd-color-bg-1)));
140
+ border-radius: var(--component-file-previewer-file-previewer-radius-pdf-canvas, var(--component-file-previewer-radius-pdf-canvas, var(--sd-border-radius-medium)));
141
141
  }
142
142
  .sd-file-previewer-pdf-canvas {
143
143
  display: block;
@@ -145,51 +145,51 @@
145
145
  .sd-file-previewer-pdf-toolbar {
146
146
  display: flex;
147
147
  flex-shrink: 0;
148
- gap: 6px;
148
+ gap: var(--component-file-previewer-file-previewer-spacing-pdf-toolbar-gap, var(--component-file-previewer-spacing-pdf-toolbar-gap, 6px));
149
149
  align-items: center;
150
150
  justify-content: center;
151
- padding: 4px;
152
- color: var(--sd-color-white);
153
- background: rgba(0, 0, 0, 0.5);
154
- border-radius: var(--sd-border-radius-medium);
151
+ padding: var(--component-file-previewer-file-previewer-spacing-pdf-toolbar-padding, var(--component-file-previewer-spacing-pdf-toolbar-padding, 4px));
152
+ color: var(--component-file-previewer-file-previewer-color-pdf-toolbar-text, var(--component-file-previewer-color-pdf-toolbar-text, var(--sd-color-white)));
153
+ background: var(--component-file-previewer-file-previewer-color-pdf-toolbar-bg, var(--component-file-previewer-color-pdf-toolbar-bg, rgba(0, 0, 0, 0.5)));
154
+ border-radius: var(--component-file-previewer-file-previewer-radius-pdf-canvas, var(--component-file-previewer-radius-pdf-canvas, var(--sd-border-radius-medium)));
155
155
  }
156
156
  .sd-file-previewer-pdf-btn {
157
157
  display: inline-flex;
158
158
  align-items: center;
159
159
  justify-content: center;
160
- min-width: 28px;
161
- height: 28px;
162
- padding: 0 6px;
160
+ min-width: var(--component-file-previewer-file-previewer-size-pdf-btn-min-width, var(--component-file-previewer-size-pdf-btn-min-width, 28px));
161
+ height: var(--component-file-previewer-file-previewer-size-pdf-btn, var(--component-file-previewer-size-pdf-btn, 28px));
162
+ padding: 0 var(--component-file-previewer-file-previewer-spacing-pdf-toolbar-gap, var(--component-file-previewer-spacing-pdf-toolbar-gap, 6px));
163
163
  color: inherit;
164
- font-size: 16px;
164
+ font-size: var(--component-file-previewer-file-previewer-font-size-pdf-btn, var(--component-file-previewer-font-size-pdf-btn, 16px));
165
165
  line-height: 1;
166
166
  background: transparent;
167
167
  border: 0;
168
- border-radius: var(--sd-border-radius-small);
168
+ border-radius: var(--component-file-previewer-file-previewer-radius-pdf-btn, var(--component-file-previewer-radius-pdf-btn, var(--sd-border-radius-small)));
169
169
  cursor: pointer;
170
170
  }
171
171
  .sd-file-previewer-pdf-btn:disabled {
172
- color: var(--sd-color-fill-3);
172
+ color: var(--component-file-previewer-file-previewer-color-pdf-btn-disabled, var(--component-file-previewer-color-pdf-btn-disabled, var(--sd-color-fill-3)));
173
173
  cursor: not-allowed;
174
174
  }
175
175
  .sd-file-previewer-pdf-page {
176
176
  min-width: 64px;
177
- font-size: 14px;
177
+ font-size: var(--component-file-previewer-file-previewer-font-size-pdf-page, var(--component-file-previewer-font-size-pdf-page, 14px));
178
178
  text-align: center;
179
179
  }
180
180
  .sd-file-previewer-close-btn {
181
181
  position: absolute;
182
- top: 36px;
183
- right: 36px;
182
+ top: var(--component-file-previewer-file-previewer-position-close-top, var(--component-file-previewer-position-close-top, 36px));
183
+ right: var(--component-file-previewer-file-previewer-position-close-right, var(--component-file-previewer-position-close-right, 36px));
184
184
  z-index: 2;
185
185
  display: flex;
186
186
  align-items: center;
187
187
  justify-content: center;
188
- width: 32px;
189
- height: 32px;
190
- color: var(--sd-color-white);
191
- font-size: 14px;
192
- background: rgba(0, 0, 0, 0.5);
188
+ width: var(--component-file-previewer-file-previewer-size-close, var(--component-file-previewer-size-close, 32px));
189
+ height: var(--component-file-previewer-file-previewer-size-close, var(--component-file-previewer-size-close, 32px));
190
+ color: var(--component-file-previewer-file-previewer-color-close-text, var(--component-file-previewer-color-close-text, var(--sd-color-white)));
191
+ font-size: var(--component-file-previewer-file-previewer-size-close-icon, var(--component-file-previewer-size-close-icon, 14px));
192
+ background: var(--component-file-previewer-file-previewer-color-close-bg, var(--component-file-previewer-color-close-bg, rgba(0, 0, 0, 0.5)));
193
193
  border: 0;
194
194
  border-radius: 50%;
195
195
  cursor: pointer;
@@ -200,11 +200,11 @@
200
200
  align-items: center;
201
201
  justify-content: center;
202
202
  box-sizing: border-box;
203
- width: 48px;
204
- height: 48px;
205
- color: rgb(var(--sd-primary-6));
206
- background-color: #232324;
207
- border-radius: var(--sd-border-radius-medium);
203
+ width: var(--component-file-previewer-file-previewer-size-loading, var(--component-file-previewer-size-loading, 48px));
204
+ height: var(--component-file-previewer-file-previewer-size-loading, var(--component-file-previewer-size-loading, 48px));
205
+ color: var(--component-file-previewer-file-previewer-color-loading-text, var(--component-file-previewer-color-loading-text, rgb(var(--sd-primary-6))));
206
+ background-color: var(--component-file-previewer-file-previewer-color-loading-bg, var(--component-file-previewer-color-loading-bg, #232324));
207
+ border-radius: var(--component-file-previewer-file-previewer-radius-panel, var(--component-file-previewer-radius-panel, var(--sd-border-radius-medium)));
208
208
  position: absolute;
209
209
  top: 50%;
210
210
  left: 50%;
@@ -212,12 +212,12 @@
212
212
  }
213
213
  .sd-file-previewer-error {
214
214
  z-index: 2;
215
- color: var(--sd-color-white);
215
+ color: var(--component-file-previewer-file-previewer-color-error-text, var(--component-file-previewer-color-error-text, var(--sd-color-white)));
216
216
  position: absolute;
217
217
  top: 50%;
218
218
  left: 50%;
219
219
  transform: translate(-50%, -50%);
220
220
  }
221
221
  .sd-file-previewer-inline .sd-file-previewer-error {
222
- color: var(--sd-color-danger-6);
222
+ color: var(--component-file-previewer-file-previewer-color-inline-error-text, var(--component-file-previewer-color-inline-error-text, var(--sd-color-danger-6)));
223
223
  }