@sdata/web-vue 1.14.0 → 1.18.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 (233) hide show
  1. package/dist/sd.css +364 -1
  2. package/dist/sd.min.css +1 -1
  3. package/es/_components/picker/input-range.vue.d.ts +2 -2
  4. package/es/_components/picker/input.vue.d.ts +1 -1
  5. package/es/_components/resize-trigger.vue_vue_type_script_lang.js +1 -1
  6. package/es/_components/select-view/select-view.d.ts +2 -2
  7. package/es/_components/virtual-list/virtual-list.vue.d.ts +3 -3
  8. package/es/_hooks/use-popup-manager.js +2 -4
  9. package/es/_utils/dom.d.ts +5 -2
  10. package/es/_utils/dom.js +1 -1
  11. package/es/anchor/anchor.vue.d.ts +2 -2
  12. package/es/anchor/index.d.ts +9 -9
  13. package/es/auto-complete/auto-complete.d.ts +3 -3
  14. package/es/auto-complete/index.d.ts +9 -9
  15. package/es/button/button.vue.d.ts +2 -2
  16. package/es/button/index.d.ts +6 -6
  17. package/es/calendar/calendar.d.ts +1 -1
  18. package/es/calendar/index.d.ts +3 -3
  19. package/es/card/card.d.ts +4 -4
  20. package/es/card/index.d.ts +9 -9
  21. package/es/carousel/carousel-arrow.vue.d.ts +1 -1
  22. package/es/carousel/carousel-indicator.vue.d.ts +1 -1
  23. package/es/carousel/carousel.d.ts +3 -3
  24. package/es/carousel/index.d.ts +9 -9
  25. package/es/cascader/base-cascader-panel.d.ts +1 -1
  26. package/es/cascader/cascader-search-panel.d.ts +1 -1
  27. package/es/cascader/cascader.vue.d.ts +14 -14
  28. package/es/checkbox/checkbox-group.d.ts +1 -1
  29. package/es/checkbox/index.d.ts +1 -1
  30. package/es/color-picker/color-picker.d.ts +5 -5
  31. package/es/color-picker/index.d.ts +15 -15
  32. package/es/color-picker/panel.d.ts +2 -2
  33. package/es/components.d.ts +1 -0
  34. package/es/config-provider/config-provider.vue.d.ts +8 -2
  35. package/es/config-provider/config-provider.vue_vue_type_script_lang.js +6 -0
  36. package/es/config-provider/context.d.ts +3 -0
  37. package/es/config-provider/index.d.ts +13 -3
  38. package/es/cropper/cropper.vue.d.ts +1 -1
  39. package/es/cropper/index.d.ts +3 -3
  40. package/es/date-picker/index.d.ts +94 -94
  41. package/es/date-picker/panels/date/index.vue.d.ts +15 -15
  42. package/es/date-picker/panels/footer.vue.d.ts +15 -15
  43. package/es/date-picker/panels/shortcuts.vue.d.ts +6 -6
  44. package/es/date-picker/panels/week/index.vue.d.ts +16 -16
  45. package/es/date-picker/picker-panel.vue.d.ts +54 -54
  46. package/es/date-picker/picker.vue.d.ts +87 -87
  47. package/es/date-picker/pickers/date-picker.d.ts +1 -1
  48. package/es/date-picker/pickers/week-picker.d.ts +1 -1
  49. package/es/date-picker/range-picker-panel.vue.d.ts +55 -55
  50. package/es/date-picker/range-picker.vue.d.ts +90 -90
  51. package/es/descriptions/descriptions.d.ts +1 -1
  52. package/es/descriptions/index.d.ts +3 -3
  53. package/es/drawer/drawer.vue.d.ts +11 -11
  54. package/es/drawer/index.d.ts +27 -27
  55. package/es/dropdown/dropdown-button.vue.d.ts +24 -24
  56. package/es/dropdown/dropdown-submenu.vue.d.ts +17 -17
  57. package/es/dropdown/dropdown.vue.d.ts +16 -16
  58. package/es/dropdown/index.d.ts +74 -74
  59. package/es/ellipsis/ellipsis.vue.d.ts +43 -43
  60. package/es/ellipsis/index.d.ts +182 -182
  61. package/es/ellipsis/performant-ellipsis.vue.d.ts +44 -44
  62. package/es/form/form-item-label.vue.d.ts +36 -36
  63. package/es/form/form-item.vue.d.ts +40 -40
  64. package/es/form/index.d.ts +40 -40
  65. package/es/grid/grid-row.vue.d.ts +3 -3
  66. package/es/grid/index.d.ts +3 -3
  67. package/es/image/image.vue.d.ts +38 -38
  68. package/es/image/preview-action.d.ts +36 -36
  69. package/es/image/preview-group.vue.d.ts +41 -41
  70. package/es/image/preview-toolbar.vue.d.ts +36 -36
  71. package/es/image/preview.vue.d.ts +38 -38
  72. package/es/index.css +364 -1
  73. package/es/index.d.ts +5 -1
  74. package/es/index.js +17 -15
  75. package/es/index.scss +1 -0
  76. package/es/input/index.d.ts +9 -9
  77. package/es/input/input-password.vue.d.ts +2 -2
  78. package/es/input/input-search.d.ts +1 -1
  79. package/es/input/input.d.ts +2 -2
  80. package/es/input-number/index.d.ts +9 -9
  81. package/es/input-number/input-number.d.ts +3 -3
  82. package/es/input-tag/index.d.ts +6 -6
  83. package/es/input-tag/input-tag.d.ts +2 -2
  84. package/es/json-form/index.d.ts +112 -0
  85. package/es/json-form/index.js +11 -0
  86. package/es/json-form/json-form-component.js +5 -0
  87. package/es/json-form/json-form-component.vue.d.ts +24 -0
  88. package/es/json-form/json-form-component.vue_vue_type_script_setup_true_lang.js +89 -0
  89. package/es/json-form/json-form-item.js +5 -0
  90. package/es/json-form/json-form-item.vue.d.ts +32 -0
  91. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +213 -0
  92. package/es/json-form/json-form.js +5 -0
  93. package/es/json-form/json-form.vue.d.ts +42 -0
  94. package/es/json-form/json-form.vue_vue_type_script_setup_true_lang.js +142 -0
  95. package/es/json-form/style/css.js +2 -0
  96. package/es/json-form/style/index.css +31 -0
  97. package/es/json-form/style/index.d.ts +2 -0
  98. package/es/json-form/style/index.js +2 -0
  99. package/es/json-form/style/index.scss +25 -0
  100. package/es/json-form/style/token.scss +8 -0
  101. package/es/json-form/types.d.ts +291 -0
  102. package/es/json-form/types.js +43 -0
  103. package/es/json-form/utils.d.ts +11 -0
  104. package/es/json-form/utils.js +336 -0
  105. package/es/layout/header.js +2 -18
  106. package/es/layout/header.vue.d.ts +38 -3
  107. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +350 -0
  108. package/es/layout/index.d.ts +1029 -49
  109. package/es/layout/interface.d.ts +40 -0
  110. package/es/layout/sider.js +38 -9
  111. package/es/layout/sider.vue.d.ts +950 -39
  112. package/es/layout/sider.vue_vue_type_script_lang.js +304 -31
  113. package/es/layout/style/index.css +155 -1
  114. package/es/layout/style/index.scss +198 -16
  115. package/es/layout/style/token.scss +13 -0
  116. package/es/link/index.d.ts +9 -9
  117. package/es/link/link.vue.d.ts +3 -3
  118. package/es/list/index.d.ts +3 -3
  119. package/es/list/list.d.ts +1 -1
  120. package/es/mention/index.d.ts +12 -12
  121. package/es/mention/mention.d.ts +4 -4
  122. package/es/menu/base-menu.vue.d.ts +24 -5
  123. package/es/menu/base-menu.vue_vue_type_script_lang.js +19 -1
  124. package/es/menu/context.d.ts +1 -1
  125. package/es/menu/index.d.ts +1 -1
  126. package/es/menu/interface.d.ts +8 -0
  127. package/es/menu/item-group.js +9 -2
  128. package/es/menu/item-group.vue.d.ts +2894 -0
  129. package/es/menu/item-group.vue_vue_type_script_lang.js +7 -2
  130. package/es/menu/item.d.ts +1 -1
  131. package/es/menu/item.js +10 -3
  132. package/es/menu/menu.d.ts +54 -5
  133. package/es/menu/menu.js +8 -0
  134. package/es/menu/style/css.js +1 -0
  135. package/es/menu/style/index.css +194 -0
  136. package/es/menu/style/index.d.ts +1 -0
  137. package/es/menu/style/index.js +1 -0
  138. package/es/menu/style/index.scss +48 -1
  139. package/es/menu/sub-menu-inline.js +24 -3
  140. package/es/menu/sub-menu-inline.vue.d.ts +2894 -0
  141. package/es/menu/sub-menu-inline.vue_vue_type_script_lang.js +4 -1
  142. package/es/menu/sub-menu-pop.js +29 -2
  143. package/es/menu/sub-menu-pop.vue.d.ts +2924 -22
  144. package/es/menu/sub-menu-pop.vue_vue_type_script_lang.js +3 -1
  145. package/es/menu/sub-menu.d.ts +1 -1
  146. package/es/message/message-list.d.ts +1 -1
  147. package/es/message/message.vue.d.ts +1 -1
  148. package/es/modal/index.d.ts +27 -27
  149. package/es/modal/modal.vue.d.ts +11 -11
  150. package/es/notification/notification.vue.d.ts +1 -1
  151. package/es/overflow-list/index.d.ts +3 -3
  152. package/es/overflow-list/overflow-list.d.ts +1 -1
  153. package/es/pagination/page-jumper.vue.d.ts +9 -9
  154. package/es/pagination/page-options.vue.d.ts +66 -66
  155. package/es/popconfirm/index.d.ts +51 -51
  156. package/es/popconfirm/popconfirm.vue.d.ts +24 -24
  157. package/es/popover/index.d.ts +33 -33
  158. package/es/popover/popover.vue.d.ts +16 -16
  159. package/es/progress/circle.vue.d.ts +2 -2
  160. package/es/progress/index.d.ts +13 -13
  161. package/es/progress/line.vue.d.ts +1 -1
  162. package/es/progress/progress.vue.d.ts +6 -6
  163. package/es/progress/steps.vue.d.ts +2 -2
  164. package/es/radio/index.d.ts +4 -4
  165. package/es/radio/radio-group.d.ts +1 -1
  166. package/es/radio/radio.d.ts +1 -1
  167. package/es/sd-vue.js +17 -14
  168. package/es/select/index.d.ts +66 -66
  169. package/es/select/option.vue.d.ts +2 -2
  170. package/es/select/select-dropdown.vue.d.ts +4 -4
  171. package/es/select/select.d.ts +27 -27
  172. package/es/skeleton/index.d.ts +1 -1
  173. package/es/skeleton/shape.vue.d.ts +1 -1
  174. package/es/slider/index.d.ts +97 -97
  175. package/es/slider/slider-button.vue.d.ts +38 -38
  176. package/es/slider/slider-input.vue.d.ts +9 -9
  177. package/es/slider/slider.vue.d.ts +48 -48
  178. package/es/spin/index.d.ts +3 -3
  179. package/es/spin/spin.d.ts +1 -1
  180. package/es/statistic/index.d.ts +6 -6
  181. package/es/statistic/statistic.vue.d.ts +2 -2
  182. package/es/steps/index.d.ts +6 -6
  183. package/es/steps/steps.vue.d.ts +2 -2
  184. package/es/style/theme/z-index.d.ts +8 -0
  185. package/es/style/theme/z-index.js +7 -0
  186. package/es/switch/index.d.ts +21 -6
  187. package/es/switch/switch.vue.d.ts +11 -2
  188. package/es/switch/switch.vue_vue_type_script_lang.js +30 -5
  189. package/es/table/index.d.ts +15 -15
  190. package/es/table/table-operation-td.d.ts +5 -5
  191. package/es/table/table-th.js +1 -1
  192. package/es/table/table.d.ts +5 -5
  193. package/es/tabs/index.d.ts +9 -9
  194. package/es/tabs/tabs.d.ts +3 -3
  195. package/es/tag/index.d.ts +922 -922
  196. package/es/tag/tag.vue.d.ts +367 -367
  197. package/es/textarea/index.d.ts +6 -6
  198. package/es/textarea/textarea.vue.d.ts +2 -2
  199. package/es/time-picker/index.d.ts +104 -104
  200. package/es/time-picker/panel.vue.d.ts +14 -14
  201. package/es/time-picker/range-panel.d.ts +14 -14
  202. package/es/time-picker/time-picker.vue.d.ts +50 -50
  203. package/es/timeline/index.d.ts +9 -9
  204. package/es/timeline/timeline.d.ts +4 -4
  205. package/es/tooltip/index.d.ts +36 -36
  206. package/es/tooltip/tooltip.vue.d.ts +17 -17
  207. package/es/transfer/index.d.ts +37 -37
  208. package/es/transfer/transfer-list-item.d.ts +2 -2
  209. package/es/transfer/transfer-view.vue.d.ts +8 -8
  210. package/es/transfer/transfer-view.vue_vue_type_script_lang.js +1 -1
  211. package/es/transfer/transfer.vue.d.ts +17 -17
  212. package/es/tree/base-node.vue.d.ts +2 -2
  213. package/es/tree/base-node.vue_vue_type_script_lang.js +1 -1
  214. package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -1
  215. package/es/tree/transition-node-list.vue.d.ts +2 -2
  216. package/es/tree/tree.vue.d.ts +27 -27
  217. package/es/tree/tree.vue_vue_type_script_lang.js +3 -3
  218. package/es/tree-select/tree-select.vue.d.ts +30 -30
  219. package/es/tree-select/tree-select.vue_vue_type_script_lang.js +2 -2
  220. package/es/trigger/index.d.ts +15 -15
  221. package/es/trigger/trigger.d.ts +5 -5
  222. package/es/typography/base.d.ts +1 -1
  223. package/es/typography/edit-content.vue.d.ts +27 -27
  224. package/es/typography/operations.vue.d.ts +36 -36
  225. package/es/upload/index.d.ts +6 -6
  226. package/es/upload/upload-button.d.ts +1 -1
  227. package/es/upload/upload.d.ts +2 -2
  228. package/es/watermark/index.d.ts +3 -3
  229. package/es/watermark/watermark.d.ts +1 -1
  230. package/json/vetur-attributes.json +150 -7
  231. package/json/vetur-tags.json +45 -4
  232. package/json/web-types.json +316 -19
  233. package/package.json +2 -1
@@ -15,44 +15,57 @@ $layout-prefix-cls: string.unquote('#{theme.$prefix}-layout');
15
15
  position: relative;
16
16
  flex: none; // flex: 0 0 auto; 当右侧文字过长的时候不会被压缩。
17
17
  width: auto;
18
+ max-width: 100%;
18
19
  margin: 0;
19
20
  padding: 0;
21
+ overflow: hidden;
20
22
  background: $layout-sider-background;
21
- transition: width theme.$transition-duration-2 theme.$transition-timing-function-standard;
23
+ transition:
24
+ width theme.$transition-duration-2 theme.$transition-timing-function-standard,
25
+ height theme.$transition-duration-2 theme.$transition-timing-function-standard,
26
+ transform theme.$transition-duration-2 theme.$transition-timing-function-standard;
27
+
28
+ &-image,
29
+ &-prepend,
30
+ &-append {
31
+ flex: none;
32
+ }
22
33
 
23
34
  &-children {
35
+ flex: 1;
24
36
  height: 100%;
25
37
  overflow: auto;
26
38
  }
27
39
 
40
+ &-mask {
41
+ position: fixed;
42
+ inset: 0;
43
+ background: $layout-sider-mask-color;
44
+ }
45
+
28
46
  &-collapsed &-children {
29
47
  /* width */
30
48
  &::-webkit-scrollbar {
31
49
  width: 0;
32
50
  }
33
-
34
- // /* Track */
35
- // &::-webkit-scrollbar-track {
36
- // background: #f1f1f1;
37
- // }
38
-
39
- // /* Handle */
40
- // &::-webkit-scrollbar-thumb {
41
- // background: #888;
42
- // }
43
-
44
- // /* Handle on hover */
45
- // &::-webkit-scrollbar-thumb:hover {
46
- // background: #555;
47
- // }
48
51
  }
49
52
 
50
53
  &-has-trigger {
54
+ display: flex;
55
+ flex-direction: column;
51
56
  box-sizing: border-box;
52
57
  padding-bottom: $layout-trigger-height;
53
58
  }
54
59
 
60
+ &-rail {
61
+ width: $layout-rail-width;
62
+ }
63
+
55
64
  &-trigger {
65
+ position: absolute;
66
+ right: 0;
67
+ bottom: 0;
68
+ left: 0;
56
69
  z-index: 1;
57
70
  display: flex;
58
71
  align-items: center;
@@ -71,6 +84,53 @@ $layout-prefix-cls: string.unquote('#{theme.$prefix}-layout');
71
84
  border-top: 1px solid $layout-trigger-light-color-border;
72
85
  }
73
86
  }
87
+
88
+ &-floating {
89
+ box-shadow: none;
90
+ }
91
+
92
+ &-sticky {
93
+ z-index: 1;
94
+ }
95
+
96
+ &-temporary {
97
+ position: fixed;
98
+ box-shadow: $layout-sider-shadow;
99
+
100
+ &.#{$layout-prefix-cls}-sider-left {
101
+ top: 0;
102
+ bottom: 0;
103
+ left: 0;
104
+ transform: translateX(-100%);
105
+ }
106
+
107
+ &.#{$layout-prefix-cls}-sider-right {
108
+ top: 0;
109
+ right: 0;
110
+ bottom: 0;
111
+ transform: translateX(100%);
112
+ }
113
+
114
+ &.#{$layout-prefix-cls}-sider-top {
115
+ top: 0;
116
+ right: 0;
117
+ left: 0;
118
+ width: 100%;
119
+ transform: translateY(-100%);
120
+ }
121
+
122
+ &.#{$layout-prefix-cls}-sider-bottom {
123
+ right: 0;
124
+ bottom: 0;
125
+ left: 0;
126
+ width: 100%;
127
+ transform: translateY(100%);
128
+ }
129
+
130
+ &.#{$layout-prefix-cls}-sider-active {
131
+ transform: translate(0, 0);
132
+ }
133
+ }
74
134
  }
75
135
 
76
136
  &-sider-light {
@@ -79,9 +139,131 @@ $layout-prefix-cls: string.unquote('#{theme.$prefix}-layout');
79
139
  }
80
140
 
81
141
  &-header {
142
+ position: relative;
82
143
  flex: 0 0 auto;
83
144
  box-sizing: border-box;
84
145
  margin: 0;
146
+ overflow: hidden;
147
+ color: $layout-header-color;
148
+ background: $layout-header-background;
149
+ border-bottom: 1px solid $layout-header-border-color;
150
+ transition:
151
+ height theme.$transition-duration-2 theme.$transition-timing-function-standard,
152
+ transform theme.$transition-duration-2 theme.$transition-timing-function-standard,
153
+ box-shadow theme.$transition-duration-2 theme.$transition-timing-function-standard;
154
+
155
+ &-wrapper {
156
+ width: 100%;
157
+ }
158
+
159
+ &-bar,
160
+ &-extension,
161
+ &-prepend,
162
+ &-append,
163
+ &-content {
164
+ display: flex;
165
+ align-items: center;
166
+ }
167
+
168
+ &-bar {
169
+ position: relative;
170
+ z-index: 1;
171
+ gap: $layout-header-gap;
172
+ min-height: var(--sd-layout-header-content-height, 64px);
173
+ padding: 0 $layout-header-padding-inline;
174
+ }
175
+
176
+ &-prepend,
177
+ &-append {
178
+ flex: none;
179
+ gap: calc($layout-header-gap / 2);
180
+ }
181
+
182
+ &-title {
183
+ position: relative;
184
+ z-index: 1;
185
+ flex: none;
186
+ max-width: min(40%, 480px);
187
+ overflow: hidden;
188
+ color: inherit;
189
+ font-weight: $layout-header-title-font-weight;
190
+ font-size: $layout-header-title-font-size;
191
+ white-space: nowrap;
192
+ text-overflow: ellipsis;
193
+ }
194
+
195
+ &-content {
196
+ position: relative;
197
+ z-index: 1;
198
+ flex: 1;
199
+ gap: calc($layout-header-gap / 2);
200
+ min-width: 0;
201
+ }
202
+
203
+ &-extension {
204
+ position: relative;
205
+ z-index: 1;
206
+ gap: calc($layout-header-gap / 2);
207
+ min-height: var(--sd-layout-header-extension-height, 48px);
208
+ padding: 0 $layout-header-padding-inline;
209
+ border-top: 1px solid $layout-header-border-color;
210
+ }
211
+
212
+ &-image {
213
+ position: absolute;
214
+ inset: 0;
215
+ overflow: hidden;
216
+
217
+ &::after {
218
+ position: absolute;
219
+ inset: 0;
220
+ background: $layout-header-image-overlay;
221
+ content: '';
222
+ }
223
+ }
224
+
225
+ &-image-inner,
226
+ &-image :is(img, picture, video) {
227
+ width: 100%;
228
+ height: 100%;
229
+ object-fit: cover;
230
+ opacity: var(--sd-layout-header-image-opacity, 1);
231
+ transition: opacity theme.$transition-duration-2 theme.$transition-timing-function-standard;
232
+ }
233
+
234
+ &-flat {
235
+ box-shadow: none;
236
+ }
237
+
238
+ &:not(&-flat) {
239
+ box-shadow: $layout-header-shadow;
240
+ }
241
+
242
+ &-floating {
243
+ box-shadow: $layout-header-floating-shadow;
244
+ }
245
+
246
+ &-hidden {
247
+ pointer-events: none;
248
+ }
249
+
250
+ &-collapsed &-extension {
251
+ display: none;
252
+ }
253
+
254
+ &-with-image {
255
+ color: $layout-font-color-dark;
256
+ border-bottom-color: transparent;
257
+ }
258
+
259
+ &-with-image &-extension {
260
+ border-top-color: rgb(255 255 255 / 16%);
261
+ }
262
+
263
+ &-bottom {
264
+ border-top: 1px solid $layout-header-border-color;
265
+ border-bottom: 0;
266
+ }
85
267
  }
86
268
 
87
269
  &-content {
@@ -7,6 +7,19 @@
7
7
  @use '@style/theme/index.scss' as *;
8
8
 
9
9
  $layout-trigger-height: 48px;
10
+ $layout-rail-width: 56px;
11
+ $layout-sider-mask-color: rgb(0 0 0 / 45%);
12
+ $layout-sider-shadow: 0 12px 32px rgb(0 0 0 / 18%);
13
+ $layout-header-background: var(string.unquote('#{global.$sd-cssvars-prefix}-color-bg-2'));
14
+ $layout-header-color: var(string.unquote('#{global.$sd-cssvars-prefix}-color-text-1'));
15
+ $layout-header-border-color: var(string.unquote('#{global.$sd-cssvars-prefix}-color-border-2'));
16
+ $layout-header-shadow: 0 8px 24px rgb(0 0 0 / 12%);
17
+ $layout-header-floating-shadow: 0 16px 32px rgb(0 0 0 / 14%);
18
+ $layout-header-padding-inline: 20px;
19
+ $layout-header-gap: 16px;
20
+ $layout-header-title-font-size: 18px;
21
+ $layout-header-title-font-weight: 600;
22
+ $layout-header-image-overlay: linear-gradient(180deg, rgb(0 0 0 / 18%), rgb(0 0 0 / 36%));
10
23
 
11
24
  // Layout Theme Dark(Default)
12
25
  $layout-sider-background: var(string.unquote('#{global.$sd-cssvars-prefix}-color-menu-dark-bg'));
@@ -8,14 +8,14 @@ declare const Link: {
8
8
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
9
  click: (ev: MouseEvent) => any;
10
10
  }, import("vue").PublicProps, {
11
- status: import("..").Status;
12
11
  disabled: boolean;
13
- loading: boolean;
14
- icon: boolean;
15
12
  ellipsis: boolean;
13
+ icon: boolean;
14
+ loading: boolean;
16
15
  ellipsisLineClamp: number | string;
17
16
  ellipsisExpandTrigger: "click";
18
17
  ellipsisTooltip: boolean | import("..").EllipsisTooltipProps;
18
+ status: import("..").Status;
19
19
  iconTooltip: string;
20
20
  }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
21
21
  P: {};
@@ -27,14 +27,14 @@ declare const Link: {
27
27
  }, Readonly<LinkProps> & Readonly<{
28
28
  onClick?: ((ev: MouseEvent) => any) | undefined;
29
29
  }>, {}, {}, {}, {}, {
30
- status: import("..").Status;
31
30
  disabled: boolean;
32
- loading: boolean;
33
- icon: boolean;
34
31
  ellipsis: boolean;
32
+ icon: boolean;
33
+ loading: boolean;
35
34
  ellipsisLineClamp: number | string;
36
35
  ellipsisExpandTrigger: "click";
37
36
  ellipsisTooltip: boolean | import("..").EllipsisTooltipProps;
37
+ status: import("..").Status;
38
38
  iconTooltip: string;
39
39
  }>;
40
40
  __isFragment?: never;
@@ -45,14 +45,14 @@ declare const Link: {
45
45
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
46
46
  click: (ev: MouseEvent) => any;
47
47
  }, string, {
48
- status: import("..").Status;
49
48
  disabled: boolean;
50
- loading: boolean;
51
- icon: boolean;
52
49
  ellipsis: boolean;
50
+ icon: boolean;
51
+ loading: boolean;
53
52
  ellipsisLineClamp: number | string;
54
53
  ellipsisExpandTrigger: "click";
55
54
  ellipsisTooltip: boolean | import("..").EllipsisTooltipProps;
55
+ status: import("..").Status;
56
56
  iconTooltip: string;
57
57
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
58
58
  $slots: {
@@ -16,14 +16,14 @@ declare const __VLS_base: import("vue").DefineComponent<LinkProps, {}, {}, {}, {
16
16
  }, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{
17
17
  onClick?: ((ev: MouseEvent) => any) | undefined;
18
18
  }>, {
19
- status: import("..").Status;
20
19
  disabled: boolean;
21
- loading: boolean;
22
- icon: boolean;
23
20
  ellipsis: boolean;
21
+ icon: boolean;
22
+ loading: boolean;
24
23
  ellipsisLineClamp: number | string;
25
24
  ellipsisExpandTrigger: "click";
26
25
  ellipsisTooltip: boolean | import("..").EllipsisTooltipProps;
26
+ status: import("..").Status;
27
27
  iconTooltip: string;
28
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -67,9 +67,9 @@ declare const List: {
67
67
  }, import("vue").PublicProps, {
68
68
  split: boolean;
69
69
  size: "small" | "medium" | "large";
70
+ scrollbar: boolean | import("..").ScrollbarProps;
70
71
  loading: boolean;
71
72
  maxHeight: string | number;
72
- scrollbar: boolean | import("..").ScrollbarProps;
73
73
  bordered: boolean;
74
74
  bottomOffset: number;
75
75
  hoverable: boolean;
@@ -138,9 +138,9 @@ declare const List: {
138
138
  }, {
139
139
  split: boolean;
140
140
  size: "small" | "medium" | "large";
141
+ scrollbar: boolean | import("..").ScrollbarProps;
141
142
  loading: boolean;
142
143
  maxHeight: string | number;
143
- scrollbar: boolean | import("..").ScrollbarProps;
144
144
  bordered: boolean;
145
145
  bottomOffset: number;
146
146
  hoverable: boolean;
@@ -211,9 +211,9 @@ declare const List: {
211
211
  }, string, {
212
212
  split: boolean;
213
213
  size: "small" | "medium" | "large";
214
+ scrollbar: boolean | import("..").ScrollbarProps;
214
215
  loading: boolean;
215
216
  maxHeight: string | number;
216
- scrollbar: boolean | import("..").ScrollbarProps;
217
217
  bordered: boolean;
218
218
  bottomOffset: number;
219
219
  hoverable: boolean;
package/es/list/list.d.ts CHANGED
@@ -110,9 +110,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
110
110
  }>, {
111
111
  split: boolean;
112
112
  size: "small" | "medium" | "large";
113
+ scrollbar: boolean | ScrollbarProps;
113
114
  loading: boolean;
114
115
  maxHeight: string | number;
115
- scrollbar: boolean | ScrollbarProps;
116
116
  bordered: boolean;
117
117
  bottomOffset: number;
118
118
  hoverable: boolean;
@@ -35,9 +35,9 @@ declare const Mention: {
35
35
  }>> & Readonly<{
36
36
  onSearch?: ((_value: string, _prefix: string) => any) | undefined;
37
37
  onFocus?: ((_ev: FocusEvent) => any) | undefined;
38
- onChange?: ((_value: string) => any) | undefined;
39
- onBlur?: ((_ev: FocusEvent) => any) | undefined;
40
38
  onClear?: ((_ev: Event) => any) | undefined;
39
+ onBlur?: ((_ev: FocusEvent) => any) | undefined;
40
+ onChange?: ((_value: string) => any) | undefined;
41
41
  onSelect?: ((_value: string | number | Record<string, any> | undefined) => any) | undefined;
42
42
  "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
43
43
  }>, {
@@ -57,10 +57,10 @@ declare const Mention: {
57
57
  }, import("vue").PublicProps, {
58
58
  type: "input" | "textarea";
59
59
  split: string;
60
- disabled: boolean;
61
- defaultValue: string;
62
60
  data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
61
+ disabled: boolean;
63
62
  prefix: string | string[];
63
+ defaultValue: string;
64
64
  allowClear: boolean;
65
65
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
66
66
  P: {};
@@ -102,9 +102,9 @@ declare const Mention: {
102
102
  }>> & Readonly<{
103
103
  onSearch?: ((_value: string, _prefix: string) => any) | undefined;
104
104
  onFocus?: ((_ev: FocusEvent) => any) | undefined;
105
- onChange?: ((_value: string) => any) | undefined;
106
- onBlur?: ((_ev: FocusEvent) => any) | undefined;
107
105
  onClear?: ((_ev: Event) => any) | undefined;
106
+ onBlur?: ((_ev: FocusEvent) => any) | undefined;
107
+ onChange?: ((_value: string) => any) | undefined;
108
108
  onSelect?: ((_value: string | number | Record<string, any> | undefined) => any) | undefined;
109
109
  "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
110
110
  }>, {
@@ -116,10 +116,10 @@ declare const Mention: {
116
116
  }, {
117
117
  type: "input" | "textarea";
118
118
  split: string;
119
- disabled: boolean;
120
- defaultValue: string;
121
119
  data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
120
+ disabled: boolean;
122
121
  prefix: string | string[];
122
+ defaultValue: string;
123
123
  allowClear: boolean;
124
124
  }>;
125
125
  __isFragment?: never;
@@ -158,9 +158,9 @@ declare const Mention: {
158
158
  }>> & Readonly<{
159
159
  onSearch?: ((_value: string, _prefix: string) => any) | undefined;
160
160
  onFocus?: ((_ev: FocusEvent) => any) | undefined;
161
- onChange?: ((_value: string) => any) | undefined;
162
- onBlur?: ((_ev: FocusEvent) => any) | undefined;
163
161
  onClear?: ((_ev: Event) => any) | undefined;
162
+ onBlur?: ((_ev: FocusEvent) => any) | undefined;
163
+ onChange?: ((_value: string) => any) | undefined;
164
164
  onSelect?: ((_value: string | number | Record<string, any> | undefined) => any) | undefined;
165
165
  "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
166
166
  }>, {
@@ -180,10 +180,10 @@ declare const Mention: {
180
180
  }, string, {
181
181
  type: "input" | "textarea";
182
182
  split: string;
183
- disabled: boolean;
184
- defaultValue: string;
185
183
  data: (string | number | import("..").SelectOptionData | import("..").SelectOptionGroup)[];
184
+ disabled: boolean;
186
185
  prefix: string | string[];
186
+ defaultValue: string;
187
187
  allowClear: boolean;
188
188
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
189
189
  install: (app: App, options?: SDOptions) => void;
@@ -77,18 +77,18 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
77
77
  }>> & Readonly<{
78
78
  onSearch?: ((_value: string, _prefix: string) => any) | undefined;
79
79
  onFocus?: ((_ev: FocusEvent) => any) | undefined;
80
- onChange?: ((_value: string) => any) | undefined;
81
- onBlur?: ((_ev: FocusEvent) => any) | undefined;
82
80
  onClear?: ((_ev: Event) => any) | undefined;
81
+ onBlur?: ((_ev: FocusEvent) => any) | undefined;
82
+ onChange?: ((_value: string) => any) | undefined;
83
83
  onSelect?: ((_value: string | number | Record<string, any> | undefined) => any) | undefined;
84
84
  "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
85
85
  }>, {
86
86
  type: "input" | "textarea";
87
87
  split: string;
88
- disabled: boolean;
89
- defaultValue: string;
90
88
  data: (string | number | SelectOptionData | SelectOptionGroup)[];
89
+ disabled: boolean;
91
90
  prefix: string | string[];
91
+ defaultValue: string;
92
92
  allowClear: boolean;
93
93
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
94
94
  export default _default;
@@ -1,5 +1,6 @@
1
1
  import { CSSProperties, PropType, StyleValue } from 'vue';
2
2
  import { TriggerProps } from '../trigger';
3
+ import { MenuEllipsisProps } from './interface';
3
4
  declare const _default: typeof __VLS_export;
4
5
  export default _default;
5
6
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -64,6 +65,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
64
65
  tooltipProps: {
65
66
  type: ObjectConstructor;
66
67
  };
68
+ ellipsis: {
69
+ type: BooleanConstructor;
70
+ default: boolean;
71
+ };
72
+ ellipsisProps: {
73
+ type: PropType<MenuEllipsisProps>;
74
+ default: undefined;
75
+ };
67
76
  autoOpenSelected: {
68
77
  type: BooleanConstructor;
69
78
  };
@@ -97,7 +106,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
97
106
  computedCollapsed: import("vue").ComputedRef<boolean>;
98
107
  computedHasCollapseButton: import("vue").ComputedRef<boolean>;
99
108
  onCollapseBtnClick: () => void;
100
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("collapse" | "update:collapsed" | "update:selectedKeys" | "update:openKeys" | "menu-item-click" | "sub-menu-click")[], "collapse" | "update:collapsed" | "update:selectedKeys" | "update:openKeys" | "menu-item-click" | "sub-menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
109
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("collapse" | "update:selectedKeys" | "update:collapsed" | "update:openKeys" | "menu-item-click" | "sub-menu-click")[], "collapse" | "update:selectedKeys" | "update:collapsed" | "update:openKeys" | "menu-item-click" | "sub-menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
101
110
  style: {
102
111
  type: PropType<StyleValue>;
103
112
  };
@@ -159,6 +168,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
159
168
  tooltipProps: {
160
169
  type: ObjectConstructor;
161
170
  };
171
+ ellipsis: {
172
+ type: BooleanConstructor;
173
+ default: boolean;
174
+ };
175
+ ellipsisProps: {
176
+ type: PropType<MenuEllipsisProps>;
177
+ default: undefined;
178
+ };
162
179
  autoOpenSelected: {
163
180
  type: BooleanConstructor;
164
181
  };
@@ -182,25 +199,27 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
182
199
  type: BooleanConstructor;
183
200
  };
184
201
  }>> & Readonly<{
202
+ "onUpdate:selectedKeys"?: ((...args: any[]) => any) | undefined;
185
203
  onCollapse?: ((...args: any[]) => any) | undefined;
186
204
  "onUpdate:collapsed"?: ((...args: any[]) => any) | undefined;
187
- "onUpdate:selectedKeys"?: ((...args: any[]) => any) | undefined;
188
205
  "onUpdate:openKeys"?: ((...args: any[]) => any) | undefined;
189
206
  "onMenu-item-click"?: ((...args: any[]) => any) | undefined;
190
207
  "onSub-menu-click"?: ((...args: any[]) => any) | undefined;
191
208
  }>, {
209
+ ellipsis: boolean;
192
210
  mode: "pop" | "horizontal" | "vertical" | "popButton";
211
+ collapsed: boolean;
212
+ defaultSelectedKeys: string[];
213
+ theme: "dark" | "light";
193
214
  popupMaxHeight: number | boolean;
194
215
  accordion: boolean;
195
- theme: "dark" | "light";
196
- collapsed: boolean;
197
216
  defaultCollapsed: boolean;
198
217
  autoScrollIntoView: boolean;
199
218
  inTrigger: boolean;
219
+ ellipsisProps: MenuEllipsisProps;
200
220
  autoOpen: boolean;
201
221
  autoOpenSelected: boolean;
202
222
  showCollapseButton: boolean;
203
- defaultSelectedKeys: string[];
204
223
  defaultOpenKeys: string[];
205
224
  siderCollapsed: boolean;
206
225
  isRoot: boolean;
@@ -128,6 +128,22 @@ var base_menu_vue_vue_type_script_lang_default = defineComponent({
128
128
  */
129
129
  tooltipProps: { type: Object },
130
130
  /**
131
+ * @zh 是否使用 Ellipsis 组件渲染菜单标题
132
+ * @en Whether to render menu titles with the Ellipsis component
133
+ */
134
+ ellipsis: {
135
+ type: Boolean,
136
+ default: false
137
+ },
138
+ /**
139
+ * @zh `ellipsis` 开启时透传给 Ellipsis 组件的属性
140
+ * @en Props passed to the Ellipsis component when `ellipsis` is enabled
141
+ */
142
+ ellipsisProps: {
143
+ type: Object,
144
+ default: void 0
145
+ },
146
+ /**
131
147
  * @zh 默认展开选中的菜单
132
148
  * @en Expand the selected menus by default
133
149
  * @version 2.8.0
@@ -178,7 +194,7 @@ var base_menu_vue_vue_type_script_lang_default = defineComponent({
178
194
  * @slot expand-icon-right
179
195
  */
180
196
  setup(props, { emit, slots }) {
181
- const { style, mode, theme, levelIndent, accordion, showCollapseButton, scrollConfig, autoScrollIntoView, collapsedWidth, autoOpen, collapsed: propCollapsed, defaultCollapsed, selectedKeys: propSelectedKeys, defaultSelectedKeys, openKeys: propOpenKeys, defaultOpenKeys, triggerProps, tooltipProps, autoOpenSelected, breakpoint, popupMaxHeight, prefixCls, inTrigger, siderCollapsed, isRoot } = toRefs(props);
197
+ const { style, mode, theme, levelIndent, accordion, showCollapseButton, scrollConfig, autoScrollIntoView, collapsedWidth, autoOpen, collapsed: propCollapsed, defaultCollapsed, selectedKeys: propSelectedKeys, defaultSelectedKeys, openKeys: propOpenKeys, defaultOpenKeys, triggerProps, tooltipProps, ellipsis, ellipsisProps, autoOpenSelected, breakpoint, popupMaxHeight, prefixCls, inTrigger, siderCollapsed, isRoot } = toRefs(props);
182
198
  const { subMenuKeys, menuData } = useMenuDataCollector({ type: isRoot.value ? "menu" : "popupMenu" });
183
199
  const [selectedKeys, setSelectedKeys] = useMergeState(defaultSelectedKeys.value, reactive({ value: propSelectedKeys }));
184
200
  const { openKeys, setOpenKeys, open } = useMenuOpenState(reactive({
@@ -237,6 +253,8 @@ var base_menu_vue_vue_type_script_lang_default = defineComponent({
237
253
  collapsed: computedCollapsed,
238
254
  triggerProps,
239
255
  tooltipProps,
256
+ ellipsis,
257
+ ellipsisProps,
240
258
  popupMaxHeight,
241
259
  expandIconDown: usePickSlots(slots, "expand-icon-down"),
242
260
  expandIconRight: usePickSlots(slots, "expand-icon-right"),
@@ -1,7 +1,7 @@
1
1
  import { InjectionKey, VNodeTypes } from 'vue';
2
2
  import { InternalMenuProps, MenuData } from './interface';
3
3
  export declare const MenuInjectionKey: InjectionKey<MenuContext>;
4
- export type MenuContext = Readonly<Pick<InternalMenuProps, 'mode' | 'theme' | 'levelIndent' | 'autoScrollIntoView' | 'scrollConfig' | 'inTrigger' | 'triggerProps' | 'tooltipProps' | 'popupMaxHeight'> & {
4
+ export type MenuContext = Readonly<Pick<InternalMenuProps, 'mode' | 'theme' | 'levelIndent' | 'autoScrollIntoView' | 'scrollConfig' | 'inTrigger' | 'triggerProps' | 'tooltipProps' | 'ellipsis' | 'ellipsisProps' | 'popupMaxHeight'> & {
5
5
  selectedKeys: string[];
6
6
  openKeys: string[];
7
7
  prefixCls: string;
@@ -5,7 +5,7 @@ import _MenuItem from './item';
5
5
  import _MenuItemGroup from './item-group.vue';
6
6
  import _Menu from './menu';
7
7
  import _MenuSubMenu from './sub-menu';
8
- export type { MenuData, MenuDataItem, MenuItemGroupProps, MenuItemProps, MenuMode, MenuProps, MenuTheme, PopupMenuMaxHeightType, SubMenuChildDataType, SubMenuProps, } from './interface';
8
+ export type { MenuData, MenuDataItem, MenuEllipsisProps, MenuItemGroupProps, MenuItemProps, MenuMode, MenuProps, MenuTheme, PopupMenuMaxHeightType, SubMenuChildDataType, SubMenuProps, } from './interface';
9
9
  export type MenuCollapseTrigger = 'clickTrigger' | 'responsive';
10
10
  export type MenuCollapseHandler = (collapsed: boolean, type: MenuCollapseTrigger) => void;
11
11
  export type MenuItemClickHandler = (key: string) => void;
@@ -1,6 +1,7 @@
1
1
  import { StyleValue } from 'vue';
2
2
  import { Breakpoint } from '../_utils/responsive-observe';
3
3
  import { Data } from '../_utils/types';
4
+ import { EllipsisTooltipProps } from '../ellipsis';
4
5
  import { TriggerProps } from '../trigger';
5
6
  export type MenuTheme = 'light' | 'dark';
6
7
  export type MenuMode = 'vertical' | 'horizontal' | 'pop' | 'popButton';
@@ -9,6 +10,11 @@ export interface SubMenuChildDataType {
9
10
  children?: SubMenuChildDataType[];
10
11
  }
11
12
  export type PopupMenuMaxHeightType = boolean | number;
13
+ export interface MenuEllipsisProps {
14
+ lineClamp?: number | string;
15
+ expandTrigger?: 'click';
16
+ tooltip?: boolean | EllipsisTooltipProps;
17
+ }
12
18
  export interface MenuProps {
13
19
  style: StyleValue | undefined;
14
20
  theme: MenuTheme | undefined;
@@ -30,6 +36,8 @@ export interface MenuProps {
30
36
  } | undefined;
31
37
  triggerProps: TriggerProps | undefined;
32
38
  tooltipProps: Data | undefined;
39
+ ellipsis: boolean;
40
+ ellipsisProps: MenuEllipsisProps | undefined;
33
41
  autoOpenSelected: boolean;
34
42
  breakpoint: Breakpoint | undefined;
35
43
  popupMaxHeight: PopupMenuMaxHeightType;