@sdata/web-vue 1.10.0 → 1.11.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 (117) hide show
  1. package/dist/sd.css +148 -952
  2. package/dist/sd.min.css +1 -1
  3. package/es/_components/input-label/style/input-label.scss +11 -51
  4. package/es/_components/select-view/select-view.d.ts +1 -1
  5. package/es/_components/select-view/style/index.css +0 -84
  6. package/es/_components/virtual-list/interface.d.ts +10 -1
  7. package/es/{table/hooks/use-table-virtual-size.d.ts → _components/virtual-list/use-virtual-size.d.ts} +4 -2
  8. package/es/{table/hooks/use-table-virtual-size.js → _components/virtual-list/use-virtual-size.js} +17 -20
  9. package/es/_components/virtual-list/virtual-list.js +64 -2
  10. package/es/_components/virtual-list/virtual-list.vue.d.ts +208 -0
  11. package/es/_components/virtual-list/virtual-list.vue_vue_type_script_lang.js +277 -5
  12. package/es/_utils/clipboard.js +2 -1
  13. package/es/auto-complete/auto-complete.d.ts +1 -1
  14. package/es/auto-complete/index.d.ts +24 -15
  15. package/es/auto-complete/style/index.css +0 -16
  16. package/es/auto-complete/style/index.scss +11 -26
  17. package/es/badge/style/index.scss +11 -41
  18. package/es/button/style/index.css +35 -445
  19. package/es/button/style/index.scss +57 -332
  20. package/es/card/style/index.scss +18 -52
  21. package/es/carousel/index.d.ts +1 -0
  22. package/es/cascader/cascader-panel.vue.d.ts +1 -1
  23. package/es/cascader/cascader.vue.d.ts +3 -3
  24. package/es/cascader/index.d.ts +10 -10
  25. package/es/cascader/interface.d.ts +5 -0
  26. package/es/color-picker/style/index.scss +17 -99
  27. package/es/config-provider/config-provider.vue.d.ts +1 -1
  28. package/es/config-provider/index.d.ts +4 -3
  29. package/es/date-picker/index.d.ts +21 -14
  30. package/es/date-picker/panels/date/index.vue.d.ts +1 -1
  31. package/es/date-picker/panels/week/index.vue.d.ts +7 -7
  32. package/es/date-picker/picker.vue.d.ts +1 -1
  33. package/es/date-picker/range-picker.vue.d.ts +1 -1
  34. package/es/descriptions/descriptions.d.ts +1 -1
  35. package/es/descriptions/index.d.ts +4 -4
  36. package/es/descriptions/style/index.scss +18 -63
  37. package/es/form/style/index.css +12 -176
  38. package/es/form/style/status.scss +36 -73
  39. package/es/index.css +148 -952
  40. package/es/index.d.ts +21 -20
  41. package/es/input/style/input.scss +14 -66
  42. package/es/input-number/index.d.ts +5 -0
  43. package/es/input-tag/style/index.css +0 -84
  44. package/es/input-tag/style/input-tag.scss +16 -170
  45. package/es/list/style/index.scss +12 -42
  46. package/es/menu/index.d.ts +8 -0
  47. package/es/menu/style/index.css +0 -178
  48. package/es/menu/style/index.scss +36 -139
  49. package/es/pagination/index.d.ts +3 -3
  50. package/es/pagination/interface.d.ts +2 -1
  51. package/es/pagination/page-options.js +1 -1
  52. package/es/pagination/page-options.vue.d.ts +72 -71
  53. package/es/pagination/page-options.vue_vue_type_script_lang.js +6 -0
  54. package/es/pagination/pagination.d.ts +3 -3
  55. package/es/pagination/style/index.css +0 -12
  56. package/es/pagination/style/index.scss +19 -76
  57. package/es/radio/index.d.ts +3 -0
  58. package/es/result/style/index.css +0 -16
  59. package/es/result/style/index.scss +12 -34
  60. package/es/select/index.d.ts +9 -9
  61. package/es/select/interface.d.ts +2 -1
  62. package/es/select/select.d.ts +3 -3
  63. package/es/slider/index.d.ts +6 -3
  64. package/es/slider/slider.vue.d.ts +1 -1
  65. package/es/steps/index.d.ts +2 -0
  66. package/es/switch/index.d.ts +3 -0
  67. package/es/table/context.d.ts +1 -1
  68. package/es/table/hooks/use-column-resize.d.ts +2 -3
  69. package/es/table/hooks/use-column-resize.js +48 -21
  70. package/es/table/hooks/use-drag.d.ts +4 -2
  71. package/es/table/hooks/use-drag.js +16 -2
  72. package/es/table/index.d.ts +22 -34
  73. package/es/table/interface.d.ts +21 -2
  74. package/es/table/style/index.css +97 -21
  75. package/es/table/style/index.scss +137 -125
  76. package/es/table/table-operation-td.d.ts +2 -2
  77. package/es/table/table-operation-td.js +4 -5
  78. package/es/table/table-operation-th.js +4 -4
  79. package/es/table/table-tbody.js +1 -1
  80. package/es/table/table-td.js +5 -6
  81. package/es/table/table-th.js +25 -24
  82. package/es/table/table-thead.js +1 -1
  83. package/es/table/table-tr.js +1 -1
  84. package/es/table/table.d.ts +12 -16
  85. package/es/table/table.js +399 -190
  86. package/es/tabs/index.d.ts +1 -0
  87. package/es/tabs/style/index.scss +53 -135
  88. package/es/tag/index.d.ts +3 -3
  89. package/es/tag/style/index.css +0 -84
  90. package/es/tag/style/index.scss +19 -146
  91. package/es/tag/tag.vue.d.ts +1 -1
  92. package/es/theme-provider/index.d.ts +9 -9
  93. package/es/time-picker/index.d.ts +1 -0
  94. package/es/timeline/index.d.ts +1 -0
  95. package/es/transfer/index.d.ts +1 -0
  96. package/es/transfer/interface.d.ts +1 -1
  97. package/es/tree/hooks/use-tree-data.d.ts +17 -29
  98. package/es/tree/index.d.ts +6 -1
  99. package/es/tree/interface.d.ts +2 -0
  100. package/es/tree/tree.js +1 -1
  101. package/es/tree/tree.vue.d.ts +3561 -13
  102. package/es/tree/tree.vue_vue_type_script_lang.js +21 -9
  103. package/es/tree-select/hooks/use-selected-state.js +3 -1
  104. package/es/tree-select/index.d.ts +3 -0
  105. package/es/tree-select/tree-select.vue.d.ts +1367 -3
  106. package/json/vetur-attributes.json +1 -6
  107. package/json/vetur-tags.json +0 -1
  108. package/json/web-types.json +7 -11
  109. package/package.json +1 -1
  110. package/es/style/theme/legacy-less-var.scss +0 -15
  111. package/es/table/table-col-group.js +0 -21
  112. package/es/table/table-col-group.vue_vue_type_script_lang.js +0 -32
  113. package/es/table/table-legacy-virtual-list.js +0 -47
  114. package/es/table/table-legacy-virtual-list.vue.d.ts +0 -156
  115. package/es/table/table-legacy-virtual-list.vue_vue_type_script_lang.js +0 -148
  116. package/es/table/table-virtual-list-item.d.ts +0 -22
  117. package/es/table/table-virtual-list-item.js +0 -37
@@ -1,50 +1,20 @@
1
1
  @use '@style/theme/index.scss' as theme;
2
2
  @use 'sass:string';
3
3
  @use 'sass:map';
4
- @use '@style/theme/legacy-less-var.scss' as legacyLessVar;
4
+ @use 'sass:meta';
5
+ @use '@components/list/style/token.scss' as token;
5
6
  @use '@components/list/style/token.scss' as *;
6
7
 
7
8
  $list-prefix-cls: string.unquote('#{theme.$prefix}-list');
8
9
 
9
- $__less-vars: (
10
- 'list-action-gap': $list-action-gap,
11
- 'list-action-margin-top': $list-action-margin-top,
12
- 'list-border-color': $list-border-color,
13
- 'list-border-radius': $list-border-radius,
14
- 'list-border-width': $list-border-width,
15
- 'list-color-bg-item-hover': $list-color-bg-item-hover,
16
- 'list-color-text': $list-color-text,
17
- 'list-color-text-header': $list-color-text-header,
18
- 'list-font-size': $list-font-size,
19
- 'list-font-size-header': $list-font-size-header,
20
- 'list-font-weight-header': $list-font-weight-header,
21
- 'list-line-height': $list-line-height,
22
- 'list-line-height-header': $list-line-height-header,
23
- 'list-meta-color-title': $list-meta-color-title,
24
- 'list-meta-font-weight-title': $list-meta-font-weight-title,
25
- 'list-meta-margin-bottom-title': $list-meta-margin-bottom-title,
26
- 'list-meta-margin-right-avatar': $list-meta-margin-right-avatar,
27
- 'list-meta-padding-horizontal': $list-meta-padding-horizontal,
28
- 'list-meta-padding-vertical': $list-meta-padding-vertical,
29
- 'list-mete-color-description': $list-mete-color-description,
30
- 'list-pagination-margin-top': $list-pagination-margin-top,
31
- 'list-size-small-padding-vertical-header': $list-size-small-padding-vertical-header,
32
- 'list-size-small-padding-horizontal-header': $list-size-small-padding-horizontal-header,
33
- 'list-size-small-padding-vertical-item': $list-size-small-padding-vertical-item,
34
- 'list-size-small-padding-horizontal-item': $list-size-small-padding-horizontal-item,
35
- 'list-size-medium-padding-vertical-header': $list-size-medium-padding-vertical-header,
36
- 'list-size-medium-padding-horizontal-header': $list-size-medium-padding-horizontal-header,
37
- 'list-size-medium-padding-vertical-item': $list-size-medium-padding-vertical-item,
38
- 'list-size-medium-padding-horizontal-item': $list-size-medium-padding-horizontal-item,
39
- 'list-size-large-padding-vertical-header': $list-size-large-padding-vertical-header,
40
- 'list-size-large-padding-horizontal-header': $list-size-large-padding-horizontal-header,
41
- 'list-size-large-padding-vertical-item': $list-size-large-padding-vertical-item,
42
- 'list-size-large-padding-horizontal-item': $list-size-large-padding-horizontal-item,
43
- 'prefix': theme.$prefix,
44
- );
45
-
46
- @function less-var($name, $fallback: null) {
47
- @return legacyLessVar.get($__less-vars, $name, $fallback);
10
+ @function token-var($name, $fallback: null) {
11
+ $value: map.get(meta.module-variables('token'), $name);
12
+
13
+ @if $value == null {
14
+ @return $fallback;
15
+ }
16
+
17
+ @return $value;
48
18
  }
49
19
 
50
20
  .#{$list-prefix-cls} {
@@ -82,7 +52,7 @@ $__less-vars: (
82
52
  $ref-padding-horizontal-item: string.unquote('list-size-#{$size}-padding-horizontal-item');
83
53
 
84
54
  .#{$list-prefix-cls}-content-wrapper .#{$list-prefix-cls}-header {
85
- padding: less-var($ref-padding-vertical-header) less-var($ref-padding-horizontal-header);
55
+ padding: token-var($ref-padding-vertical-header) token-var($ref-padding-horizontal-header);
86
56
  }
87
57
 
88
58
  // 在存在列表嵌套的时候,通过 > 限定 size 仅对其直接子元素生效,避免影响被嵌套的列表的样式
@@ -95,7 +65,7 @@ $__less-vars: (
95
65
  .#{$list-prefix-cls}-content-wrapper
96
66
  .#{$list-prefix-cls}-content.#{$list-prefix-cls}-virtual
97
67
  .#{$list-prefix-cls}-item {
98
- padding: less-var($ref-padding-vertical-item) less-var($ref-padding-horizontal-item);
68
+ padding: token-var($ref-padding-vertical-item) token-var($ref-padding-horizontal-item);
99
69
  }
100
70
  }
101
71
  }
@@ -1,9 +1,15 @@
1
1
  import type { App } from 'vue';
2
2
  import type { SDOptions } from '../_utils/types';
3
+ import type { MenuProps } from './interface';
3
4
  import _MenuItem from './item';
4
5
  import _MenuItemGroup from './item-group.vue';
5
6
  import _Menu from './menu';
6
7
  import _MenuSubMenu from './sub-menu';
8
+ export type { MenuData, MenuDataItem, MenuItemGroupProps, MenuItemProps, MenuMode, MenuProps, MenuTheme, PopupMenuMaxHeightType, SubMenuChildDataType, SubMenuProps, } from './interface';
9
+ export type MenuCollapseTrigger = 'clickTrigger' | 'responsive';
10
+ export type MenuCollapseHandler = (collapsed: boolean, type: MenuCollapseTrigger) => void;
11
+ export type MenuItemClickHandler = (key: string) => void;
12
+ export type MenuSubMenuClickHandler = (key: string, openKeys: string[]) => void;
7
13
  declare const Menu: typeof _Menu & {
8
14
  Item: typeof _MenuItem;
9
15
  ItemGroup: typeof _MenuItemGroup;
@@ -14,5 +20,7 @@ export type MenuInstance = InstanceType<typeof _Menu>;
14
20
  export type MenuItemInstance = InstanceType<typeof _MenuItem>;
15
21
  export type MenuItemGroupInstance = InstanceType<typeof _MenuItemGroup>;
16
22
  export type MenuSubMenuInstance = InstanceType<typeof _MenuSubMenu>;
23
+ export type MenuOpenKeys = NonNullable<MenuProps['openKeys']>;
24
+ export type MenuSelectedKeys = NonNullable<MenuProps['selectedKeys']>;
17
25
  export { _MenuItem as MenuItem, _MenuItemGroup as MenuItemGroup, _MenuSubMenu as SubMenu };
18
26
  export default Menu;
@@ -108,86 +108,6 @@
108
108
  .sd-menu-light {
109
109
  background-color: var(--color-menu-light-bg);
110
110
  }
111
- .sd-menu-light .sd-menu-item,
112
- .sd-menu-light .sd-menu-group-title,
113
- .sd-menu-light .sd-menu-pop-header,
114
- .sd-menu-light .sd-menu-inline-header {
115
- color: var(--color-text-2);
116
- background-color: var(--color-menu-light-bg);
117
- }
118
- .sd-menu-light .sd-menu-item .sd-icon,
119
- .sd-menu-light .sd-menu-item .sd-menu-icon,
120
- .sd-menu-light .sd-menu-group-title .sd-icon,
121
- .sd-menu-light .sd-menu-group-title .sd-menu-icon,
122
- .sd-menu-light .sd-menu-pop-header .sd-icon,
123
- .sd-menu-light .sd-menu-pop-header .sd-menu-icon,
124
- .sd-menu-light .sd-menu-inline-header .sd-icon,
125
- .sd-menu-light .sd-menu-inline-header .sd-menu-icon {
126
- color: var(--color-text-3);
127
- }
128
- .sd-menu-light .sd-menu-item:hover,
129
- .sd-menu-light .sd-menu-group-title:hover,
130
- .sd-menu-light .sd-menu-pop-header:hover,
131
- .sd-menu-light .sd-menu-inline-header:hover {
132
- color: var(--color-text-2);
133
- background-color: var(--color-fill-2);
134
- }
135
- .sd-menu-light .sd-menu-item:hover .sd-icon,
136
- .sd-menu-light .sd-menu-item:hover .sd-menu-icon,
137
- .sd-menu-light .sd-menu-group-title:hover .sd-icon,
138
- .sd-menu-light .sd-menu-group-title:hover .sd-menu-icon,
139
- .sd-menu-light .sd-menu-pop-header:hover .sd-icon,
140
- .sd-menu-light .sd-menu-pop-header:hover .sd-menu-icon,
141
- .sd-menu-light .sd-menu-inline-header:hover .sd-icon,
142
- .sd-menu-light .sd-menu-inline-header:hover .sd-menu-icon {
143
- color: var(--color-text-3);
144
- }
145
- .sd-menu-light .sd-menu-item.sd-menu-selected,
146
- .sd-menu-light .sd-menu-group-title.sd-menu-selected,
147
- .sd-menu-light .sd-menu-pop-header.sd-menu-selected,
148
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected {
149
- color: rgb(var(--primary-6));
150
- }
151
- .sd-menu-light .sd-menu-item.sd-menu-selected .sd-icon,
152
- .sd-menu-light .sd-menu-item.sd-menu-selected .sd-menu-icon,
153
- .sd-menu-light .sd-menu-group-title.sd-menu-selected .sd-icon,
154
- .sd-menu-light .sd-menu-group-title.sd-menu-selected .sd-menu-icon,
155
- .sd-menu-light .sd-menu-pop-header.sd-menu-selected .sd-icon,
156
- .sd-menu-light .sd-menu-pop-header.sd-menu-selected .sd-menu-icon,
157
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected .sd-icon,
158
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected .sd-menu-icon {
159
- color: rgb(var(--primary-6));
160
- }
161
- .sd-menu-light .sd-menu-item.sd-menu-disabled,
162
- .sd-menu-light .sd-menu-group-title.sd-menu-disabled,
163
- .sd-menu-light .sd-menu-pop-header.sd-menu-disabled,
164
- .sd-menu-light .sd-menu-inline-header.sd-menu-disabled {
165
- color: var(--color-text-4);
166
- background-color: var(--color-menu-light-bg);
167
- }
168
- .sd-menu-light .sd-menu-item.sd-menu-disabled .sd-icon,
169
- .sd-menu-light .sd-menu-item.sd-menu-disabled .sd-menu-icon,
170
- .sd-menu-light .sd-menu-group-title.sd-menu-disabled .sd-icon,
171
- .sd-menu-light .sd-menu-group-title.sd-menu-disabled .sd-menu-icon,
172
- .sd-menu-light .sd-menu-pop-header.sd-menu-disabled .sd-icon,
173
- .sd-menu-light .sd-menu-pop-header.sd-menu-disabled .sd-menu-icon,
174
- .sd-menu-light .sd-menu-inline-header.sd-menu-disabled .sd-icon,
175
- .sd-menu-light .sd-menu-inline-header.sd-menu-disabled .sd-menu-icon {
176
- color: var(--color-text-4);
177
- }
178
- .sd-menu-light .sd-menu-item.sd-menu-selected {
179
- background-color: var(--color-fill-2);
180
- }
181
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected {
182
- color: rgb(var(--primary-6));
183
- }
184
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected .sd-icon,
185
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected .sd-menu-icon {
186
- color: rgb(var(--primary-6));
187
- }
188
- .sd-menu-light .sd-menu-inline-header.sd-menu-selected:hover {
189
- background-color: var(--color-fill-2);
190
- }
191
111
  .sd-menu-light.sd-menu-horizontal .sd-menu-item.sd-menu-selected,
192
112
  .sd-menu-light.sd-menu-horizontal .sd-menu-group-title.sd-menu-selected,
193
113
  .sd-menu-light.sd-menu-horizontal .sd-menu-pop-header.sd-menu-selected,
@@ -195,12 +115,6 @@
195
115
  background: none;
196
116
  transition: color 0.2s cubic-bezier(0, 0, 1, 1);
197
117
  }
198
- .sd-menu-light.sd-menu-horizontal .sd-menu-item.sd-menu-selected:hover,
199
- .sd-menu-light.sd-menu-horizontal .sd-menu-group-title.sd-menu-selected:hover,
200
- .sd-menu-light.sd-menu-horizontal .sd-menu-pop-header.sd-menu-selected:hover,
201
- .sd-menu-light.sd-menu-horizontal .sd-menu-inline-header.sd-menu-selected:hover {
202
- background-color: var(--color-fill-2);
203
- }
204
118
  .sd-menu-light .sd-menu-group-title {
205
119
  color: var(--color-text-3);
206
120
  pointer-events: none;
@@ -209,92 +123,9 @@
209
123
  color: var(--color-text-3);
210
124
  background-color: var(--color-fill-1);
211
125
  }
212
- .sd-menu-light .sd-menu-collapse-button:hover {
213
- background-color: var(--color-fill-3);
214
- }
215
126
  .sd-menu-dark {
216
127
  background-color: var(--color-menu-dark-bg);
217
128
  }
218
- .sd-menu-dark .sd-menu-item,
219
- .sd-menu-dark .sd-menu-group-title,
220
- .sd-menu-dark .sd-menu-pop-header,
221
- .sd-menu-dark .sd-menu-inline-header {
222
- color: var(--color-text-4);
223
- background-color: var(--color-menu-dark-bg);
224
- }
225
- .sd-menu-dark .sd-menu-item .sd-icon,
226
- .sd-menu-dark .sd-menu-item .sd-menu-icon,
227
- .sd-menu-dark .sd-menu-group-title .sd-icon,
228
- .sd-menu-dark .sd-menu-group-title .sd-menu-icon,
229
- .sd-menu-dark .sd-menu-pop-header .sd-icon,
230
- .sd-menu-dark .sd-menu-pop-header .sd-menu-icon,
231
- .sd-menu-dark .sd-menu-inline-header .sd-icon,
232
- .sd-menu-dark .sd-menu-inline-header .sd-menu-icon {
233
- color: var(--color-text-3);
234
- }
235
- .sd-menu-dark .sd-menu-item:hover,
236
- .sd-menu-dark .sd-menu-group-title:hover,
237
- .sd-menu-dark .sd-menu-pop-header:hover,
238
- .sd-menu-dark .sd-menu-inline-header:hover {
239
- color: var(--color-text-4);
240
- background-color: var(--color-menu-dark-hover);
241
- }
242
- .sd-menu-dark .sd-menu-item:hover .sd-icon,
243
- .sd-menu-dark .sd-menu-item:hover .sd-menu-icon,
244
- .sd-menu-dark .sd-menu-group-title:hover .sd-icon,
245
- .sd-menu-dark .sd-menu-group-title:hover .sd-menu-icon,
246
- .sd-menu-dark .sd-menu-pop-header:hover .sd-icon,
247
- .sd-menu-dark .sd-menu-pop-header:hover .sd-menu-icon,
248
- .sd-menu-dark .sd-menu-inline-header:hover .sd-icon,
249
- .sd-menu-dark .sd-menu-inline-header:hover .sd-menu-icon {
250
- color: var(--color-text-3);
251
- }
252
- .sd-menu-dark .sd-menu-item.sd-menu-selected,
253
- .sd-menu-dark .sd-menu-group-title.sd-menu-selected,
254
- .sd-menu-dark .sd-menu-pop-header.sd-menu-selected,
255
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected {
256
- color: var(--color-white);
257
- }
258
- .sd-menu-dark .sd-menu-item.sd-menu-selected .sd-icon,
259
- .sd-menu-dark .sd-menu-item.sd-menu-selected .sd-menu-icon,
260
- .sd-menu-dark .sd-menu-group-title.sd-menu-selected .sd-icon,
261
- .sd-menu-dark .sd-menu-group-title.sd-menu-selected .sd-menu-icon,
262
- .sd-menu-dark .sd-menu-pop-header.sd-menu-selected .sd-icon,
263
- .sd-menu-dark .sd-menu-pop-header.sd-menu-selected .sd-menu-icon,
264
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected .sd-icon,
265
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected .sd-menu-icon {
266
- color: var(--color-white);
267
- }
268
- .sd-menu-dark .sd-menu-item.sd-menu-disabled,
269
- .sd-menu-dark .sd-menu-group-title.sd-menu-disabled,
270
- .sd-menu-dark .sd-menu-pop-header.sd-menu-disabled,
271
- .sd-menu-dark .sd-menu-inline-header.sd-menu-disabled {
272
- color: var(--color-text-2);
273
- background-color: var(--color-menu-dark-bg);
274
- }
275
- .sd-menu-dark .sd-menu-item.sd-menu-disabled .sd-icon,
276
- .sd-menu-dark .sd-menu-item.sd-menu-disabled .sd-menu-icon,
277
- .sd-menu-dark .sd-menu-group-title.sd-menu-disabled .sd-icon,
278
- .sd-menu-dark .sd-menu-group-title.sd-menu-disabled .sd-menu-icon,
279
- .sd-menu-dark .sd-menu-pop-header.sd-menu-disabled .sd-icon,
280
- .sd-menu-dark .sd-menu-pop-header.sd-menu-disabled .sd-menu-icon,
281
- .sd-menu-dark .sd-menu-inline-header.sd-menu-disabled .sd-icon,
282
- .sd-menu-dark .sd-menu-inline-header.sd-menu-disabled .sd-menu-icon {
283
- color: var(--color-text-2);
284
- }
285
- .sd-menu-dark .sd-menu-item.sd-menu-selected {
286
- background-color: var(--color-menu-dark-hover);
287
- }
288
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected {
289
- color: rgb(var(--primary-6));
290
- }
291
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected .sd-icon,
292
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected .sd-menu-icon {
293
- color: rgb(var(--primary-6));
294
- }
295
- .sd-menu-dark .sd-menu-inline-header.sd-menu-selected:hover {
296
- background-color: var(--color-menu-dark-hover);
297
- }
298
129
  .sd-menu-dark.sd-menu-horizontal .sd-menu-item.sd-menu-selected,
299
130
  .sd-menu-dark.sd-menu-horizontal .sd-menu-group-title.sd-menu-selected,
300
131
  .sd-menu-dark.sd-menu-horizontal .sd-menu-pop-header.sd-menu-selected,
@@ -302,12 +133,6 @@
302
133
  background: none;
303
134
  transition: color 0.2s cubic-bezier(0, 0, 1, 1);
304
135
  }
305
- .sd-menu-dark.sd-menu-horizontal .sd-menu-item.sd-menu-selected:hover,
306
- .sd-menu-dark.sd-menu-horizontal .sd-menu-group-title.sd-menu-selected:hover,
307
- .sd-menu-dark.sd-menu-horizontal .sd-menu-pop-header.sd-menu-selected:hover,
308
- .sd-menu-dark.sd-menu-horizontal .sd-menu-inline-header.sd-menu-selected:hover {
309
- background-color: var(--color-menu-dark-hover);
310
- }
311
136
  .sd-menu-dark .sd-menu-group-title {
312
137
  color: var(--color-text-3);
313
138
  pointer-events: none;
@@ -316,9 +141,6 @@
316
141
  color: var(--color-white);
317
142
  background-color: rgb(var(--primary-6));
318
143
  }
319
- .sd-menu-dark .sd-menu-collapse-button:hover {
320
- background-color: rgb(var(--primary-7));
321
- }
322
144
  .sd-menu a,
323
145
  .sd-menu a:hover,
324
146
  .sd-menu a:focus,
@@ -2,129 +2,26 @@
2
2
  @use '@style/theme/index.scss' as global;
3
3
  @use 'sass:string';
4
4
  @use 'sass:map';
5
- @use '@style/theme/legacy-less-var.scss' as legacyLessVar;
5
+ @use 'sass:meta';
6
6
  @use '@style/mixins/index.scss' as *;
7
+ @use '@components/menu/style/token.scss' as token;
7
8
  @use '@components/menu/style/token.scss' as *;
9
+ @use '@components/dropdown/style/token.scss' as dropdownToken;
8
10
  @use '@components/dropdown/style/token.scss' as *;
9
11
 
10
12
  $menu-prefix-cls: string.unquote('#{theme.$prefix}-menu');
11
13
  $trigger-menu-prefix-cls: string.unquote('#{theme.$prefix}-trigger-menu');
12
14
 
13
- $__less-vars: (
14
- 'dropdown-border-radius': $dropdown-border-radius,
15
- 'dropdown-box-shadow': $dropdown-box-shadow,
16
- 'dropdown-color-bg': $dropdown-color-bg,
17
- 'dropdown-color-border': $dropdown-color-border,
18
- 'dropdown-dark-color-bg': $dropdown-dark-color-bg,
19
- 'dropdown-dark-color-border': $dropdown-dark-color-border,
20
- 'dropdown-dark-group-title-color-text': $dropdown-dark-group-title-color-text,
21
- 'dropdown-dark-option-color-bg_default': $dropdown-dark-option-color-bg_default,
22
- 'dropdown-dark-option-color-bg_disabled': $dropdown-dark-option-color-bg_disabled,
23
- 'dropdown-dark-option-color-bg_hover': $dropdown-dark-option-color-bg_hover,
24
- 'dropdown-dark-option-color-bg_selected': $dropdown-dark-option-color-bg_selected,
25
- 'dropdown-dark-option-color-text_default': $dropdown-dark-option-color-text_default,
26
- 'dropdown-dark-option-color-text_disabled': $dropdown-dark-option-color-text_disabled,
27
- 'dropdown-dark-option-color-text_hover': $dropdown-dark-option-color-text_hover,
28
- 'dropdown-dark-option-color-text_selected': $dropdown-dark-option-color-text_selected,
29
- 'dropdown-font-size': $dropdown-font-size,
30
- 'dropdown-group-title-color-text': $dropdown-group-title-color-text,
31
- 'dropdown-group-title-font-size': $dropdown-group-title-font-size,
32
- 'dropdown-group-title-height': $dropdown-group-title-height,
33
- 'dropdown-group-title-padding-horizontal': $dropdown-group-title-padding-horizontal,
34
- 'dropdown-group-title-padding-top': $dropdown-group-title-padding-top,
35
- 'dropdown-margin-left-suffix-icon': $dropdown-margin-left-suffix-icon,
36
- 'dropdown-max-height': $dropdown-max-height,
37
- 'dropdown-option-color-bg_default': $dropdown-option-color-bg_default,
38
- 'dropdown-option-color-bg_disabled': $dropdown-option-color-bg_disabled,
39
- 'dropdown-option-color-bg_hover': $dropdown-option-color-bg_hover,
40
- 'dropdown-option-color-bg_selected': $dropdown-option-color-bg_selected,
41
- 'dropdown-option-color-text_default': $dropdown-option-color-text_default,
42
- 'dropdown-option-color-text_disabled': $dropdown-option-color-text_disabled,
43
- 'dropdown-option-color-text_hover': $dropdown-option-color-text_hover,
44
- 'dropdown-option-color-text_selected': $dropdown-option-color-text_selected,
45
- 'dropdown-option-font-weight_selected': $dropdown-option-font-weight_selected,
46
- 'dropdown-option-height': $dropdown-option-height,
47
- 'dropdown-option-padding-horizontal': $dropdown-option-padding-horizontal,
48
- 'dropdown-padding-vertical': $dropdown-padding-vertical,
49
- 'menu-border-radius': $menu-border-radius,
50
- 'menu-border-radius-collapse-button': $menu-border-radius-collapse-button,
51
- 'menu-collapse-padding-horizontal': $menu-collapse-padding-horizontal,
52
- 'menu-collapse-padding-vertical': $menu-collapse-padding-vertical,
53
- 'menu-collapse-width': $menu-collapse-width,
54
- 'menu-color-border-popup': $menu-color-border-popup,
55
- 'menu-color-label-item-selected': $menu-color-label-item-selected,
56
- 'menu-dark-color-bg': $menu-dark-color-bg,
57
- 'menu-dark-color-button': $menu-dark-color-button,
58
- 'menu-dark-color-bg-button': $menu-dark-color-bg-button,
59
- 'menu-dark-color-bg-button_hover': $menu-dark-color-bg-button_hover,
60
- 'menu-dark-color-group-title': $menu-dark-color-group-title,
61
- 'menu-dark-color-bg-item_default': $menu-dark-color-bg-item_default,
62
- 'menu-dark-color-bg-item_disabled': $menu-dark-color-bg-item_disabled,
63
- 'menu-dark-color-bg-item_hover': $menu-dark-color-bg-item_hover,
64
- 'menu-dark-color-bg-item_selected': $menu-dark-color-bg-item_selected,
65
- 'menu-dark-color-bg-submenu_selected_hover': $menu-dark-color-bg-submenu_selected_hover,
66
- 'menu-dark-color-icon_default': $menu-dark-color-icon_default,
67
- 'menu-dark-color-icon_disabled': $menu-dark-color-icon_disabled,
68
- 'menu-dark-color-icon_hover': $menu-dark-color-icon_hover,
69
- 'menu-dark-color-icon_selected': $menu-dark-color-icon_selected,
70
- 'menu-dark-color-item_default': $menu-dark-color-item_default,
71
- 'menu-dark-color-item_disabled': $menu-dark-color-item_disabled,
72
- 'menu-dark-color-item_hover': $menu-dark-color-item_hover,
73
- 'menu-dark-color-item_selected': $menu-dark-color-item_selected,
74
- 'menu-dark-color-submenu_selected': $menu-dark-color-submenu_selected,
75
- 'menu-font-size': $menu-font-size,
76
- 'menu-font-weight-item-selected': $menu-font-weight-item-selected,
77
- 'menu-height-collapse-button': $menu-height-collapse-button,
78
- 'menu-height-label-item-selected': $menu-height-label-item-selected,
79
- 'menu-horizontal-item-gap': $menu-horizontal-item-gap,
80
- 'menu-horizontal-item-height': $menu-horizontal-item-height,
81
- 'menu-horizontal-item-padding-horizontal': $menu-horizontal-item-padding-horizontal,
82
- 'menu-horizontal-margin-right-item-prefix-icon': $menu-horizontal-margin-right-item-prefix-icon,
83
- 'menu-horizontal-padding-horizontal': $menu-horizontal-padding-horizontal,
84
- 'menu-horizontal-padding-vertical': $menu-horizontal-padding-vertical,
85
- 'menu-item-gap': $menu-item-gap,
86
- 'menu-item-indent-spacing': $menu-item-indent-spacing,
87
- 'menu-light-color-bg': $menu-light-color-bg,
88
- 'menu-light-color-button': $menu-light-color-button,
89
- 'menu-light-color-bg-button': $menu-light-color-bg-button,
90
- 'menu-light-color-bg-button_hover': $menu-light-color-bg-button_hover,
91
- 'menu-light-color-bg-item_default': $menu-light-color-bg-item_default,
92
- 'menu-light-color-bg-item_disabled': $menu-light-color-bg-item_disabled,
93
- 'menu-light-color-bg-item_hover': $menu-light-color-bg-item_hover,
94
- 'menu-light-color-bg-item_selected': $menu-light-color-bg-item_selected,
95
- 'menu-light-color-bg-submenu_selected_hover': $menu-light-color-bg-submenu_selected_hover,
96
- 'menu-light-color-icon_default': $menu-light-color-icon_default,
97
- 'menu-light-color-icon_disabled': $menu-light-color-icon_disabled,
98
- 'menu-light-color-icon_hover': $menu-light-color-icon_hover,
99
- 'menu-light-color-icon_selected': $menu-light-color-icon_selected,
100
- 'menu-light-color-group-title': $menu-light-color-group-title,
101
- 'menu-light-color-item_default': $menu-light-color-item_default,
102
- 'menu-light-color-item_disabled': $menu-light-color-item_disabled,
103
- 'menu-light-color-item_hover': $menu-light-color-item_hover,
104
- 'menu-light-color-item_selected': $menu-light-color-item_selected,
105
- 'menu-light-color-submenu_selected': $menu-light-color-submenu_selected,
106
- 'menu-line-height': $menu-line-height,
107
- 'menu-margin-left-item-suffix-icon': $menu-margin-left-item-suffix-icon,
108
- 'menu-margin-right-item-prefix-icon': $menu-margin-right-item-prefix-icon,
109
- 'menu-pop-button-border-color': $menu-pop-button-border-color,
110
- 'menu-pop-button-box-shadow': $menu-pop-button-box-shadow,
111
- 'menu-pop-button-margin-bottom': $menu-pop-button-margin-bottom,
112
- 'menu-pop-button-size': $menu-pop-button-size,
113
- 'menu-vertical-item-padding-horizontal': $menu-vertical-item-padding-horizontal,
114
- 'menu-vertical-item-height': $menu-vertical-item-height,
115
- 'menu-vertical-padding-horizontal': $menu-vertical-padding-horizontal,
116
- 'menu-vertical-padding-vertical': $menu-vertical-padding-vertical,
117
- 'menu-width-collapse-button': $menu-width-collapse-button,
118
- 'prefix': theme.$prefix,
119
- 'sd-cssvars-prefix': global.$sd-cssvars-prefix,
120
- 'transition-duration-1': theme.$transition-duration-1,
121
- 'transition-duration-2': theme.$transition-duration-2,
122
- 'transition-timing-function-linear': theme.$transition-timing-function-linear,
123
- 'transition-timing-function-standard': theme.$transition-timing-function-standard,
124
- );
125
-
126
- @function less-var($name, $fallback: null) {
127
- @return legacyLessVar.get($__less-vars, $name, $fallback);
15
+ $token-vars: map.merge(meta.module-variables('dropdownToken'), meta.module-variables('token'));
16
+
17
+ @function token-var($name, $fallback: null) {
18
+ $value: map.get($token-vars, $name);
19
+
20
+ @if $value == null {
21
+ @return $fallback;
22
+ }
23
+
24
+ @return $value;
128
25
  }
129
26
 
130
27
  @mixin applyStyleToItem() {
@@ -176,8 +73,8 @@ $__less-vars: (
176
73
 
177
74
  @mixin menu-item-mode($mode) {
178
75
  @include applyStyleToItem() {
179
- padding: 0 less-var('menu-#{$mode}-item-padding-horizontal');
180
- line-height: less-var('menu-#{$mode}-item-height');
76
+ padding: 0 token-var('menu-#{$mode}-item-padding-horizontal');
77
+ line-height: token-var('menu-#{$mode}-item-height');
181
78
 
182
79
  .#{$menu-prefix-cls}-icon-suffix .#{theme.$prefix}-icon {
183
80
  margin-right: 0;
@@ -236,61 +133,61 @@ $__less-vars: (
236
133
 
237
134
  @mixin menu-theme($theme) {
238
135
  &-#{$theme} {
239
- background-color: less-var('menu-#{$theme}-color-bg');
136
+ background-color: token-var('menu-#{$theme}-color-bg');
240
137
 
241
138
  @include applyStyleToItem() {
242
- color: less-var('menu-#{$theme}-color-item_default');
243
- background-color: less-var('menu-#{$theme}-color-bg-item_default');
139
+ color: token-var('menu-#{$theme}-color-item_default');
140
+ background-color: token-var('menu-#{$theme}-color-bg-item_default');
244
141
 
245
142
  .#{theme.$prefix}-icon,
246
143
  .#{$menu-prefix-cls}-icon {
247
- color: less-var('menu-#{$theme}-color-icon_default');
144
+ color: token-var('menu-#{$theme}-color-icon_default');
248
145
  }
249
146
 
250
147
  &:hover {
251
- color: less-var('menu-#{$theme}-color-item_hover');
252
- background-color: less-var('menu-#{$theme}-color-bg-item_hover');
148
+ color: token-var('menu-#{$theme}-color-item_hover');
149
+ background-color: token-var('menu-#{$theme}-color-bg-item_hover');
253
150
 
254
151
  .#{theme.$prefix}-icon,
255
152
  .#{$menu-prefix-cls}-icon {
256
- color: less-var('menu-#{$theme}-color-icon_hover');
153
+ color: token-var('menu-#{$theme}-color-icon_hover');
257
154
  }
258
155
  }
259
156
 
260
157
  &.#{$menu-prefix-cls}-selected {
261
- color: less-var('menu-#{$theme}-color-item_selected');
158
+ color: token-var('menu-#{$theme}-color-item_selected');
262
159
 
263
160
  .#{theme.$prefix}-icon,
264
161
  .#{$menu-prefix-cls}-icon {
265
- color: less-var('menu-#{$theme}-color-icon_selected');
162
+ color: token-var('menu-#{$theme}-color-icon_selected');
266
163
  }
267
164
  }
268
165
 
269
166
  &.#{$menu-prefix-cls}-disabled {
270
- color: less-var('menu-#{$theme}-color-item_disabled');
271
- background-color: less-var('menu-#{$theme}-color-bg-item_disabled');
167
+ color: token-var('menu-#{$theme}-color-item_disabled');
168
+ background-color: token-var('menu-#{$theme}-color-bg-item_disabled');
272
169
 
273
170
  .#{theme.$prefix}-icon,
274
171
  .#{$menu-prefix-cls}-icon {
275
- color: less-var('menu-#{$theme}-color-icon_disabled');
172
+ color: token-var('menu-#{$theme}-color-icon_disabled');
276
173
  }
277
174
  }
278
175
  }
279
176
 
280
177
  .#{$menu-prefix-cls}-item.#{$menu-prefix-cls}-selected {
281
- background-color: less-var('menu-#{$theme}-color-bg-item_selected');
178
+ background-color: token-var('menu-#{$theme}-color-bg-item_selected');
282
179
  }
283
180
 
284
181
  .#{$menu-prefix-cls}-inline-header.#{$menu-prefix-cls}-selected {
285
- color: less-var('menu-#{$theme}-color-submenu_selected');
182
+ color: token-var('menu-#{$theme}-color-submenu_selected');
286
183
 
287
184
  .#{theme.$prefix}-icon,
288
185
  .#{$menu-prefix-cls}-icon {
289
- color: less-var('menu-#{$theme}-color-submenu_selected');
186
+ color: token-var('menu-#{$theme}-color-submenu_selected');
290
187
  }
291
188
 
292
189
  &:hover {
293
- background-color: less-var('menu-#{$theme}-color-bg-submenu_selected_hover');
190
+ background-color: token-var('menu-#{$theme}-color-bg-submenu_selected_hover');
294
191
  }
295
192
  }
296
193
 
@@ -302,23 +199,23 @@ $__less-vars: (
302
199
  @include menu-text-color-transition();
303
200
 
304
201
  &:hover {
305
- background-color: less-var('menu-#{$theme}-color-bg-item_hover');
202
+ background-color: token-var('menu-#{$theme}-color-bg-item_hover');
306
203
  }
307
204
  }
308
205
  }
309
206
  }
310
207
 
311
208
  .#{$menu-prefix-cls}-group-title {
312
- color: less-var('menu-#{$theme}-color-group-title');
209
+ color: token-var('menu-#{$theme}-color-group-title');
313
210
  pointer-events: none;
314
211
  }
315
212
 
316
213
  .#{$menu-prefix-cls}-collapse-button {
317
- color: less-var('menu-#{$theme}-color-button');
318
- background-color: less-var('menu-#{$theme}-color-bg-button');
214
+ color: token-var('menu-#{$theme}-color-button');
215
+ background-color: token-var('menu-#{$theme}-color-bg-button');
319
216
 
320
217
  &:hover {
321
- background-color: less-var('menu-#{$theme}-color-bg-button_hover');
218
+ background-color: token-var('menu-#{$theme}-color-bg-button_hover');
322
219
  }
323
220
  }
324
221
  }
@@ -50,7 +50,7 @@ declare const Pagination: {
50
50
  default: () => number[];
51
51
  };
52
52
  pageSizeProps: {
53
- type: import("vue").PropType<import("..").SelectProps>;
53
+ type: import("vue").PropType<import("./interface").PaginationSelectProps>;
54
54
  };
55
55
  size: {
56
56
  type: import("vue").PropType<import("..").Size>;
@@ -152,7 +152,7 @@ declare const Pagination: {
152
152
  default: () => number[];
153
153
  };
154
154
  pageSizeProps: {
155
- type: import("vue").PropType<import("..").SelectProps>;
155
+ type: import("vue").PropType<import("./interface").PaginationSelectProps>;
156
156
  };
157
157
  size: {
158
158
  type: import("vue").PropType<import("..").Size>;
@@ -246,7 +246,7 @@ declare const Pagination: {
246
246
  default: () => number[];
247
247
  };
248
248
  pageSizeProps: {
249
- type: import("vue").PropType<import("..").SelectProps>;
249
+ type: import("vue").PropType<import("./interface").PaginationSelectProps>;
250
250
  };
251
251
  size: {
252
252
  type: import("vue").PropType<import("..").Size>;
@@ -3,6 +3,7 @@ import { Size } from '../_utils/constant';
3
3
  import { SelectProps } from '../select';
4
4
  export declare const PAGE_ITEM_TYPES: readonly ["page", "more", "previous", "next"];
5
5
  export type PageItemType = (typeof PAGE_ITEM_TYPES)[number];
6
+ export type PaginationSelectProps = Omit<SelectProps, 'value' | 'modelValue' | 'defaultValue'>;
6
7
  export interface PaginationProps {
7
8
  total?: number;
8
9
  current?: number;
@@ -17,7 +18,7 @@ export interface PaginationProps {
17
18
  showJumper?: boolean;
18
19
  showPageSize?: boolean;
19
20
  pageSizeOptions?: number[];
20
- pageSizeProps?: SelectProps;
21
+ pageSizeProps?: PaginationSelectProps;
21
22
  size?: Size;
22
23
  pageItemStyle?: CSSProperties;
23
24
  activePageItemStyle?: CSSProperties;
@@ -5,7 +5,7 @@ import { createElementBlock, createVNode, mergeProps, normalizeClass, openBlock,
5
5
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6
6
  const _component_sd_select = resolveComponent("sd-select");
7
7
  return openBlock(), createElementBlock("span", { class: normalizeClass(_ctx.prefixCls) }, [createVNode(_component_sd_select, mergeProps({
8
- "model-value": _ctx.pageSize,
8
+ "model-value": _ctx.modelValue,
9
9
  options: _ctx.options,
10
10
  size: _ctx.size,
11
11
  disabled: _ctx.disabled