@sdata/web-vue 3.18.0 → 3.20.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 (280) hide show
  1. package/dist/sd.css +489 -0
  2. package/dist/sd.min.css +2 -2
  3. package/es/_components/icon-hover.vue.d.ts +1 -1
  4. package/es/_components/input-label/input-label.d.ts +13 -1
  5. package/es/_components/input-label/input-label.js +35 -5
  6. package/es/_components/input-label/style/index.css +6 -0
  7. package/es/_components/input-label/style/input-label.scss +8 -0
  8. package/es/_components/picker/input-range.vue.d.ts +24 -1
  9. package/es/_components/picker/input-range.vue_vue_type_script_setup_true_lang.js +42 -6
  10. package/es/_components/picker/input.vue.d.ts +24 -1
  11. package/es/_components/picker/input.vue_vue_type_script_setup_true_lang.js +31 -4
  12. package/es/_components/picker/style/index.scss +8 -0
  13. package/es/_components/select-view/select-view.d.ts +15 -3
  14. package/es/_components/select-view/select-view.js +10 -1
  15. package/es/_components/select-view/style/index.css +12 -0
  16. package/es/_components/virtual-list/virtual-list.vue.d.ts +6 -6
  17. package/es/_hooks/use-fit-width.d.ts +22 -0
  18. package/es/_hooks/use-fit-width.js +76 -0
  19. package/es/_hooks/use-form-item.d.ts +1 -1
  20. package/es/_hooks/use-size.d.ts +1 -1
  21. package/es/anchor/anchor.vue.d.ts +1 -1
  22. package/es/anchor/index.d.ts +3 -3
  23. package/es/auto-complete/auto-complete.d.ts +20 -2
  24. package/es/auto-complete/auto-complete.js +18 -0
  25. package/es/auto-complete/index.d.ts +36 -6
  26. package/es/basic-crud-table/basic-crud-table.vue.d.ts +2 -2
  27. package/es/basic-crud-table/basic-crud-table.vue_vue_type_script_setup_true_lang.js +6 -4
  28. package/es/basic-crud-table/index.d.ts +5 -5
  29. package/es/basic-crud-table/types.d.ts +2 -0
  30. package/es/button/button.vue.d.ts +2 -2
  31. package/es/button/index.d.ts +6 -6
  32. package/es/card/card.d.ts +25 -3
  33. package/es/card/card.js +11 -2
  34. package/es/card/index.d.ts +45 -6
  35. package/es/carousel/carousel-indicator.vue.d.ts +1 -1
  36. package/es/cascader/base-cascader-panel.d.ts +4 -1
  37. package/es/cascader/base-cascader-panel.js +2 -1
  38. package/es/cascader/cascader-option.d.ts +1 -1
  39. package/es/cascader/cascader-panel.vue.d.ts +1 -1
  40. package/es/cascader/cascader-search-panel.d.ts +4 -1
  41. package/es/cascader/cascader-search-panel.js +2 -1
  42. package/es/cascader/cascader.vue.d.ts +7 -5
  43. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +22 -2
  44. package/es/cascader/types.d.ts +4 -1
  45. package/es/checkbox/checkbox.d.ts +3 -3
  46. package/es/checkbox/index.d.ts +6 -6
  47. package/es/collapse/collapse-item.d.ts +3 -3
  48. package/es/collapse/index.d.ts +3 -3
  49. package/es/color-picker/color-picker.d.ts +2 -2
  50. package/es/color-picker/index.d.ts +6 -6
  51. package/es/components.d.ts +4 -0
  52. package/es/config-provider/config-provider.vue.d.ts +68 -1
  53. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +67 -1
  54. package/es/config-provider/context.d.ts +12 -0
  55. package/es/config-provider/index.d.ts +102 -3
  56. package/es/date-picker/index.d.ts +87 -23
  57. package/es/date-picker/interface.d.ts +2 -1
  58. package/es/date-picker/picker-panel.vue.d.ts +1 -1
  59. package/es/date-picker/picker.vue.d.ts +39 -17
  60. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +30 -1
  61. package/es/date-picker/pickers/date-picker.d.ts +18 -0
  62. package/es/date-picker/pickers/date-picker.js +16 -0
  63. package/es/date-picker/range-picker-panel.vue.d.ts +1 -1
  64. package/es/date-picker/range-picker.vue.d.ts +39 -17
  65. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +27 -1
  66. package/es/date-picker/style/index.css +6 -0
  67. package/es/descriptions/descriptions.d.ts +3 -3
  68. package/es/descriptions/index.d.ts +9 -9
  69. package/es/divider/divider.d.ts +1 -1
  70. package/es/divider/index.d.ts +3 -3
  71. package/es/drawer/drawer.vue.d.ts +4 -4
  72. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +1 -1
  73. package/es/drawer/index.d.ts +11 -11
  74. package/es/dropdown/dropdown-button.vue.d.ts +2 -2
  75. package/es/dropdown/dropdown-option.vue.d.ts +1 -1
  76. package/es/dropdown/dropdown-submenu.vue.d.ts +2 -2
  77. package/es/dropdown/dropdown.vue.d.ts +1 -1
  78. package/es/dropdown/index.d.ts +21 -21
  79. package/es/ellipsis/ellipsis.vue.d.ts +1 -1
  80. package/es/ellipsis/index.d.ts +6 -6
  81. package/es/ellipsis/performant-ellipsis.vue.d.ts +1 -1
  82. package/es/form/form-item.vue.d.ts +1 -1
  83. package/es/form/form.vue.d.ts +1 -1
  84. package/es/form/index.d.ts +9 -9
  85. package/es/grid/grid-row.vue.d.ts +3 -3
  86. package/es/grid/index.d.ts +9 -9
  87. package/es/icon/icon-arrow-up/icon-arrow-up.js +5 -0
  88. package/es/icon/icon-arrow-up/icon-arrow-up.vue_vue_type_script_setup_true_lang.js +52 -0
  89. package/es/icon/icon-arrow-up/index.js +9 -0
  90. package/es/icon/icon-mute/icon-mute.js +5 -0
  91. package/es/icon/icon-mute/icon-mute.vue_vue_type_script_setup_true_lang.js +52 -0
  92. package/es/icon/icon-mute/index.js +9 -0
  93. package/es/icon/icon-voice/icon-voice.js +5 -0
  94. package/es/icon/icon-voice/icon-voice.vue_vue_type_script_setup_true_lang.js +52 -0
  95. package/es/icon/icon-voice/index.js +9 -0
  96. package/es/image/preview-action.d.ts +6 -6
  97. package/es/image/preview-group.vue.d.ts +1 -1
  98. package/es/index.css +489 -0
  99. package/es/index.d.ts +6 -1
  100. package/es/index.js +5 -1
  101. package/es/index.scss +2 -0
  102. package/es/input/index.d.ts +99 -6
  103. package/es/input/input-password.vue.d.ts +18 -0
  104. package/es/input/input-password.vue_vue_type_script_setup_true_lang.js +24 -2
  105. package/es/input/input-search.d.ts +18 -0
  106. package/es/input/input-search.js +20 -2
  107. package/es/input/input.d.ts +29 -2
  108. package/es/input/input.js +45 -3
  109. package/es/input/style/index.css +16 -0
  110. package/es/input/style/index.scss +21 -0
  111. package/es/input-number/index.d.ts +36 -6
  112. package/es/input-number/input-number.d.ts +20 -2
  113. package/es/input-number/input-number.js +19 -0
  114. package/es/input-tag/index.d.ts +36 -6
  115. package/es/input-tag/input-tag.d.ts +20 -2
  116. package/es/input-tag/input-tag.js +35 -4
  117. package/es/input-tag/style/index.css +6 -0
  118. package/es/input-tag/style/input-tag.scss +8 -0
  119. package/es/kv-list/index.d.ts +72 -32
  120. package/es/link/index.d.ts +6 -6
  121. package/es/link/link.vue.d.ts +2 -2
  122. package/es/list/index.d.ts +9 -0
  123. package/es/list/list.d.ts +7 -0
  124. package/es/list/list.js +8 -2
  125. package/es/locale/interface.d.ts +22 -0
  126. package/es/locale/lang/ar-eg.js +21 -1
  127. package/es/locale/lang/de-de.js +21 -1
  128. package/es/locale/lang/en-us.js +21 -1
  129. package/es/locale/lang/es-es.js +21 -1
  130. package/es/locale/lang/fr-fr.js +21 -1
  131. package/es/locale/lang/id-id.js +21 -1
  132. package/es/locale/lang/it-it.js +21 -1
  133. package/es/locale/lang/ja-jp.js +21 -1
  134. package/es/locale/lang/km-kh.js +21 -1
  135. package/es/locale/lang/ko-kr.js +21 -1
  136. package/es/locale/lang/ms-my.js +21 -1
  137. package/es/locale/lang/nl-nl.js +21 -1
  138. package/es/locale/lang/pt-pt.js +21 -1
  139. package/es/locale/lang/ru-ru.js +21 -1
  140. package/es/locale/lang/th-th.js +21 -1
  141. package/es/locale/lang/vi-vn.js +21 -1
  142. package/es/locale/lang/zh-cn.js +21 -1
  143. package/es/locale/lang/zh-tw.js +21 -1
  144. package/es/mention/index.d.ts +39 -9
  145. package/es/mention/mention.d.ts +21 -3
  146. package/es/mention/mention.js +24 -1
  147. package/es/mention/style/index.css +6 -0
  148. package/es/mention/style/index.scss +8 -0
  149. package/es/menu/item.d.ts +1 -1
  150. package/es/message/message-list.d.ts +1 -1
  151. package/es/modal/index.d.ts +9 -9
  152. package/es/modal/modal.vue.d.ts +3 -3
  153. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +1 -1
  154. package/es/popconfirm/index.d.ts +3 -3
  155. package/es/popconfirm/popconfirm.vue.d.ts +1 -1
  156. package/es/popover/index.d.ts +6 -6
  157. package/es/popover/popover.vue.d.ts +2 -2
  158. package/es/progress/circle.vue.d.ts +1 -1
  159. package/es/progress/line.vue.d.ts +1 -1
  160. package/es/qr-code/index.d.ts +27 -21
  161. package/es/qr-code/qr-code.vue.d.ts +8 -6
  162. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +5 -2
  163. package/es/radio/index.d.ts +6 -6
  164. package/es/radio/radio.d.ts +3 -3
  165. package/es/rate/index.d.ts +3 -3
  166. package/es/rate/rate.d.ts +1 -1
  167. package/es/resize-box/index.d.ts +5 -5
  168. package/es/resize-box/resize-box.vue.d.ts +3 -3
  169. package/es/rich-text-editor/built-in-components.d.ts +5 -0
  170. package/es/rich-text-editor/built-in-components.js +6 -0
  171. package/es/rich-text-editor/index.d.ts +195 -0
  172. package/es/rich-text-editor/index.js +12 -0
  173. package/es/rich-text-editor/nodes/inline-component-node.d.ts +30 -0
  174. package/es/rich-text-editor/nodes/inline-component-node.js +86 -0
  175. package/es/rich-text-editor/rich-text-editor.js +5 -0
  176. package/es/rich-text-editor/rich-text-editor.vue.d.ts +76 -0
  177. package/es/rich-text-editor/rich-text-editor.vue_vue_type_script_setup_true_lang.js +630 -0
  178. package/es/rich-text-editor/rich-text-node-renderer.js +5 -0
  179. package/es/rich-text-editor/rich-text-node-renderer.vue.d.ts +28 -0
  180. package/es/rich-text-editor/rich-text-node-renderer.vue_vue_type_script_setup_true_lang.js +133 -0
  181. package/es/rich-text-editor/style/css.js +2 -0
  182. package/es/rich-text-editor/style/index.css +164 -0
  183. package/es/rich-text-editor/style/index.d.ts +2 -0
  184. package/es/rich-text-editor/style/index.js +2 -0
  185. package/es/rich-text-editor/style/index.scss +193 -0
  186. package/es/rich-text-editor/style/token.scss +36 -0
  187. package/es/rich-text-editor/types.d.ts +148 -0
  188. package/es/sd-vue.js +6 -0
  189. package/es/select/index.d.ts +117 -54
  190. package/es/select/interface.d.ts +2 -1
  191. package/es/select/select-dropdown.vue.d.ts +3 -0
  192. package/es/select/select-dropdown.vue_vue_type_script_setup_true_lang.js +2 -4
  193. package/es/select/select.d.ts +62 -25
  194. package/es/select/select.js +28 -1
  195. package/es/sender/context.d.ts +8 -0
  196. package/es/sender/context.js +4 -0
  197. package/es/sender/index.d.ts +119 -0
  198. package/es/sender/index.js +20 -0
  199. package/es/sender/sender-header.js +5 -0
  200. package/es/sender/sender-header.vue.d.ts +28 -0
  201. package/es/sender/sender-header.vue_vue_type_script_setup_true_lang.js +127 -0
  202. package/es/sender/sender-switch.js +5 -0
  203. package/es/sender/sender-switch.vue.d.ts +32 -0
  204. package/es/sender/sender-switch.vue_vue_type_script_setup_true_lang.js +95 -0
  205. package/es/sender/sender.js +5 -0
  206. package/es/sender/sender.vue_vue_type_script_setup_true_lang.js +895 -0
  207. package/es/sender/style/css.js +3 -0
  208. package/es/sender/style/index.css +301 -0
  209. package/es/sender/style/index.d.ts +3 -0
  210. package/es/sender/style/index.js +3 -0
  211. package/es/sender/style/index.scss +359 -0
  212. package/es/sender/style/token.scss +43 -0
  213. package/es/sender/types.d.ts +228 -0
  214. package/es/sender/use-speech.d.ts +19 -0
  215. package/es/sender/use-speech.js +338 -0
  216. package/es/slider/index.d.ts +3 -3
  217. package/es/slider/slider-input.vue.d.ts +1 -1
  218. package/es/slider/slider.vue.d.ts +1 -1
  219. package/es/space/index.d.ts +9 -9
  220. package/es/space/space.d.ts +2 -2
  221. package/es/spin/index.d.ts +18 -3
  222. package/es/spin/spin.d.ts +10 -1
  223. package/es/spin/spin.js +72 -10
  224. package/es/statistic/index.d.ts +3 -3
  225. package/es/statistic/statistic.vue.d.ts +1 -1
  226. package/es/steps/index.d.ts +5 -5
  227. package/es/steps/step.vue.d.ts +2 -2
  228. package/es/steps/steps.vue.d.ts +1 -1
  229. package/es/table/index.d.ts +68 -23
  230. package/es/table/interface.d.ts +3 -0
  231. package/es/table/table-column.d.ts +1 -1
  232. package/es/table/table-operation-td.d.ts +12 -12
  233. package/es/table/table-td.d.ts +2 -2
  234. package/es/table/table.d.ts +27 -8
  235. package/es/table/table.js +7 -2
  236. package/es/tabs/index.d.ts +12 -12
  237. package/es/tabs/tabs-nav.d.ts +1 -1
  238. package/es/tabs/tabs.d.ts +4 -4
  239. package/es/tag/index.d.ts +6 -6
  240. package/es/tag/tag.vue.d.ts +2 -2
  241. package/es/textarea/index.d.ts +38 -8
  242. package/es/textarea/style/index.css +6 -0
  243. package/es/textarea/style/index.scss +8 -0
  244. package/es/textarea/textarea.vue.d.ts +21 -3
  245. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +36 -3
  246. package/es/time-picker/index.d.ts +36 -6
  247. package/es/time-picker/interface.d.ts +2 -1
  248. package/es/time-picker/range-panel.js +58 -0
  249. package/es/time-picker/time-picker.vue.d.ts +20 -2
  250. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +30 -1
  251. package/es/timeline/index.d.ts +45 -6
  252. package/es/timeline/timeline.d.ts +25 -3
  253. package/es/timeline/timeline.js +11 -2
  254. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +9 -5
  255. package/es/toolbar/types.d.ts +2 -0
  256. package/es/tooltip/index.d.ts +6 -6
  257. package/es/tooltip/tooltip.vue.d.ts +2 -2
  258. package/es/tour/index.d.ts +3 -3
  259. package/es/tour/tour.vue.d.ts +1 -1
  260. package/es/transfer/index.d.ts +3 -3
  261. package/es/transfer/transfer.vue.d.ts +1 -1
  262. package/es/tree/tree.vue.d.ts +4 -4
  263. package/es/tree-select/interface.d.ts +2 -1
  264. package/es/tree-select/tree-select.vue.d.ts +32 -7
  265. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +27 -1
  266. package/es/trigger/index.d.ts +12 -12
  267. package/es/trigger/trigger.d.ts +4 -4
  268. package/es/typography/base.d.ts +4 -4
  269. package/es/typography/edit-content.vue.d.ts +2 -2
  270. package/es/upload/index.d.ts +6 -6
  271. package/es/upload/upload-button.d.ts +1 -1
  272. package/es/upload/upload.d.ts +2 -2
  273. package/es/verification-code/index.d.ts +3 -3
  274. package/es/verification-code/verification-code.d.ts +1 -1
  275. package/es/watermark/index.d.ts +3 -3
  276. package/es/watermark/watermark.d.ts +1 -1
  277. package/json/vetur-attributes.json +295 -2
  278. package/json/vetur-tags.json +103 -3
  279. package/json/web-types.json +746 -53
  280. package/package.json +10 -1
@@ -31,6 +31,14 @@ declare const Input: {
31
31
  default: boolean;
32
32
  };
33
33
  placeholder: StringConstructor;
34
+ fitWidth: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ maxWFull: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
34
42
  maxLength: {
35
43
  type: import("vue").PropType<number | {
36
44
  length: number;
@@ -55,11 +63,15 @@ declare const Input: {
55
63
  type: import("vue").PropType<"text" | "password">;
56
64
  default: string;
57
65
  };
66
+ fitWidthFallback: {
67
+ type: StringConstructor;
68
+ default: string;
69
+ };
58
70
  prepend: StringConstructor;
59
71
  append: StringConstructor;
60
72
  }>> & Readonly<{
61
- onFocus?: ((_ev: FocusEvent) => any) | undefined;
62
73
  onClear?: ((_ev: MouseEvent) => any) | undefined;
74
+ onFocus?: ((_ev: FocusEvent) => any) | undefined;
63
75
  onBlur?: ((_ev: FocusEvent) => any) | undefined;
64
76
  onChange?: ((_value: string, _ev: Event) => any) | undefined;
65
77
  onInput?: ((_value: string, _ev: Event) => any) | undefined;
@@ -81,16 +93,19 @@ declare const Input: {
81
93
  blur: (_ev: FocusEvent) => true;
82
94
  }, import("vue").PublicProps, {
83
95
  type: "text" | "password";
96
+ disabled: boolean;
84
97
  error: boolean;
85
98
  readonly: string | boolean;
86
- disabled: boolean;
87
99
  defaultValue: string;
88
100
  allowClear: boolean;
101
+ fitWidth: boolean;
102
+ maxWFull: boolean;
89
103
  maxLength: number | {
90
104
  length: number;
91
105
  errorOnly?: boolean;
92
106
  };
93
107
  showWordLimit: boolean;
108
+ fitWidthFallback: string;
94
109
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
95
110
  P: {};
96
111
  B: {};
@@ -124,6 +139,14 @@ declare const Input: {
124
139
  default: boolean;
125
140
  };
126
141
  placeholder: StringConstructor;
142
+ fitWidth: {
143
+ type: BooleanConstructor;
144
+ default: boolean;
145
+ };
146
+ maxWFull: {
147
+ type: BooleanConstructor;
148
+ default: boolean;
149
+ };
127
150
  maxLength: {
128
151
  type: import("vue").PropType<number | {
129
152
  length: number;
@@ -148,11 +171,15 @@ declare const Input: {
148
171
  type: import("vue").PropType<"text" | "password">;
149
172
  default: string;
150
173
  };
174
+ fitWidthFallback: {
175
+ type: StringConstructor;
176
+ default: string;
177
+ };
151
178
  prepend: StringConstructor;
152
179
  append: StringConstructor;
153
180
  }>> & Readonly<{
154
- onFocus?: ((_ev: FocusEvent) => any) | undefined;
155
181
  onClear?: ((_ev: MouseEvent) => any) | undefined;
182
+ onFocus?: ((_ev: FocusEvent) => any) | undefined;
156
183
  onBlur?: ((_ev: FocusEvent) => any) | undefined;
157
184
  onChange?: ((_value: string, _ev: Event) => any) | undefined;
158
185
  onInput?: ((_value: string, _ev: Event) => any) | undefined;
@@ -166,16 +193,19 @@ declare const Input: {
166
193
  blur(): void;
167
194
  }, {
168
195
  type: "text" | "password";
196
+ disabled: boolean;
169
197
  error: boolean;
170
198
  readonly: string | boolean;
171
- disabled: boolean;
172
199
  defaultValue: string;
173
200
  allowClear: boolean;
201
+ fitWidth: boolean;
202
+ maxWFull: boolean;
174
203
  maxLength: number | {
175
204
  length: number;
176
205
  errorOnly?: boolean;
177
206
  };
178
207
  showWordLimit: boolean;
208
+ fitWidthFallback: string;
179
209
  }>;
180
210
  __isFragment?: never;
181
211
  __isTeleport?: never;
@@ -206,6 +236,14 @@ declare const Input: {
206
236
  default: boolean;
207
237
  };
208
238
  placeholder: StringConstructor;
239
+ fitWidth: {
240
+ type: BooleanConstructor;
241
+ default: boolean;
242
+ };
243
+ maxWFull: {
244
+ type: BooleanConstructor;
245
+ default: boolean;
246
+ };
209
247
  maxLength: {
210
248
  type: import("vue").PropType<number | {
211
249
  length: number;
@@ -230,11 +268,15 @@ declare const Input: {
230
268
  type: import("vue").PropType<"text" | "password">;
231
269
  default: string;
232
270
  };
271
+ fitWidthFallback: {
272
+ type: StringConstructor;
273
+ default: string;
274
+ };
233
275
  prepend: StringConstructor;
234
276
  append: StringConstructor;
235
277
  }>> & Readonly<{
236
- onFocus?: ((_ev: FocusEvent) => any) | undefined;
237
278
  onClear?: ((_ev: MouseEvent) => any) | undefined;
279
+ onFocus?: ((_ev: FocusEvent) => any) | undefined;
238
280
  onBlur?: ((_ev: FocusEvent) => any) | undefined;
239
281
  onChange?: ((_value: string, _ev: Event) => any) | undefined;
240
282
  onInput?: ((_value: string, _ev: Event) => any) | undefined;
@@ -256,16 +298,19 @@ declare const Input: {
256
298
  blur: (_ev: FocusEvent) => true;
257
299
  }, string, {
258
300
  type: "text" | "password";
301
+ disabled: boolean;
259
302
  error: boolean;
260
303
  readonly: string | boolean;
261
- disabled: boolean;
262
304
  defaultValue: string;
263
305
  allowClear: boolean;
306
+ fitWidth: boolean;
307
+ maxWFull: boolean;
264
308
  maxLength: number | {
265
309
  length: number;
266
310
  errorOnly?: boolean;
267
311
  };
268
312
  showWordLimit: boolean;
313
+ fitWidthFallback: string;
269
314
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
270
315
  Search: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
271
316
  searchButton: {
@@ -289,6 +334,14 @@ declare const Input: {
289
334
  buttonProps: {
290
335
  type: import("vue").PropType<import("../index.ts").ButtonProps>;
291
336
  };
337
+ fitWidth: {
338
+ type: BooleanConstructor;
339
+ default: boolean;
340
+ };
341
+ maxWFull: {
342
+ type: BooleanConstructor;
343
+ default: boolean;
344
+ };
292
345
  }>, {
293
346
  inputRef: import("vue").Ref<any, any>;
294
347
  render: () => import("vue/jsx-runtime").JSX.Element;
@@ -319,10 +372,20 @@ declare const Input: {
319
372
  buttonProps: {
320
373
  type: import("vue").PropType<import("../index.ts").ButtonProps>;
321
374
  };
375
+ fitWidth: {
376
+ type: BooleanConstructor;
377
+ default: boolean;
378
+ };
379
+ maxWFull: {
380
+ type: BooleanConstructor;
381
+ default: boolean;
382
+ };
322
383
  }>> & Readonly<{
323
384
  onSearch?: ((_value: string, _ev: MouseEvent) => any) | undefined;
324
385
  }>, {
325
386
  disabled: boolean;
387
+ fitWidth: boolean;
388
+ maxWFull: boolean;
326
389
  searchButton: boolean;
327
390
  loading: boolean;
328
391
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -340,6 +403,14 @@ declare const Input: {
340
403
  type: BooleanConstructor;
341
404
  default: boolean;
342
405
  };
406
+ fitWidth: {
407
+ type: BooleanConstructor;
408
+ default: boolean;
409
+ };
410
+ maxWFull: {
411
+ type: BooleanConstructor;
412
+ default: boolean;
413
+ };
343
414
  }>> & Readonly<{
344
415
  "onVisibility-change"?: ((_visible: boolean) => any) | undefined;
345
416
  "onUpdate:visibility"?: ((_visible: boolean) => any) | undefined;
@@ -350,6 +421,8 @@ declare const Input: {
350
421
  "visibility-change": (_visible: boolean) => any;
351
422
  "update:visibility": (_visible: boolean) => any;
352
423
  }, import("vue").PublicProps, {
424
+ fitWidth: boolean;
425
+ maxWFull: boolean;
353
426
  visibility: boolean;
354
427
  defaultVisibility: boolean;
355
428
  invisibleButton: boolean;
@@ -373,6 +446,14 @@ declare const Input: {
373
446
  type: BooleanConstructor;
374
447
  default: boolean;
375
448
  };
449
+ fitWidth: {
450
+ type: BooleanConstructor;
451
+ default: boolean;
452
+ };
453
+ maxWFull: {
454
+ type: BooleanConstructor;
455
+ default: boolean;
456
+ };
376
457
  }>> & Readonly<{
377
458
  "onVisibility-change"?: ((_visible: boolean) => any) | undefined;
378
459
  "onUpdate:visibility"?: ((_visible: boolean) => any) | undefined;
@@ -380,6 +461,8 @@ declare const Input: {
380
461
  focus: () => void;
381
462
  blur: () => void;
382
463
  }, {}, {}, {}, {
464
+ fitWidth: boolean;
465
+ maxWFull: boolean;
383
466
  visibility: boolean;
384
467
  defaultVisibility: boolean;
385
468
  invisibleButton: boolean;
@@ -400,6 +483,14 @@ declare const Input: {
400
483
  type: BooleanConstructor;
401
484
  default: boolean;
402
485
  };
486
+ fitWidth: {
487
+ type: BooleanConstructor;
488
+ default: boolean;
489
+ };
490
+ maxWFull: {
491
+ type: BooleanConstructor;
492
+ default: boolean;
493
+ };
403
494
  }>> & Readonly<{
404
495
  "onVisibility-change"?: ((_visible: boolean) => any) | undefined;
405
496
  "onUpdate:visibility"?: ((_visible: boolean) => any) | undefined;
@@ -410,6 +501,8 @@ declare const Input: {
410
501
  "visibility-change": (_visible: boolean) => any;
411
502
  "update:visibility": (_visible: boolean) => any;
412
503
  }, string, {
504
+ fitWidth: boolean;
505
+ maxWFull: boolean;
413
506
  visibility: boolean;
414
507
  defaultVisibility: boolean;
415
508
  invisibleButton: boolean;
@@ -21,6 +21,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
21
21
  type: BooleanConstructor;
22
22
  default: boolean;
23
23
  };
24
+ fitWidth: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ maxWFull: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
24
32
  }>, {
25
33
  focus: () => void;
26
34
  blur: () => void;
@@ -40,10 +48,20 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
40
48
  type: BooleanConstructor;
41
49
  default: boolean;
42
50
  };
51
+ fitWidth: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ maxWFull: {
56
+ type: BooleanConstructor;
57
+ default: boolean;
58
+ };
43
59
  }>> & Readonly<{
44
60
  "onVisibility-change"?: ((_visible: boolean) => any) | undefined;
45
61
  "onUpdate:visibility"?: ((_visible: boolean) => any) | undefined;
46
62
  }>, {
63
+ fitWidth: boolean;
64
+ maxWFull: boolean;
47
65
  visibility: boolean;
48
66
  defaultVisibility: boolean;
49
67
  invisibleButton: boolean;
@@ -33,6 +33,22 @@ var input_password_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
33
33
  invisibleButton: {
34
34
  type: Boolean,
35
35
  default: true
36
+ },
37
+ /**
38
+ * @zh 宽度是否适应文字内容
39
+ * @en Whether the width adapts to the text content
40
+ */
41
+ fitWidth: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ /**
46
+ * @zh 最大宽度是否限制为父容器宽度
47
+ * @en Whether the maximum width is limited to the parent container width
48
+ */
49
+ maxWFull: {
50
+ type: Boolean,
51
+ default: true
36
52
  }
37
53
  },
38
54
  emits: ["visibility-change", "update:visibility"],
@@ -68,7 +84,9 @@ var input_password_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
68
84
  return openBlock(), createBlock(unref(input_default), {
69
85
  ref_key: "inputRef",
70
86
  ref: inputRef,
71
- type: unref(mergedVisible) ? "password" : "text"
87
+ type: unref(mergedVisible) ? "password" : "text",
88
+ "fit-width": __props.fitWidth,
89
+ "max-w-full": __props.maxWFull
72
90
  }, createSlots({ _: 2 }, [
73
91
  _ctx.$slots.prepend ? {
74
92
  name: "prepend",
@@ -98,7 +116,11 @@ var input_password_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
98
116
  fn: withCtx(() => [renderSlot(_ctx.$slots, "append")]),
99
117
  key: "3"
100
118
  } : void 0
101
- ]), 1032, ["type"]);
119
+ ]), 1032, [
120
+ "type",
121
+ "fit-width",
122
+ "max-w-full"
123
+ ]);
102
124
  };
103
125
  }
104
126
  }));
@@ -23,6 +23,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  buttonProps: {
24
24
  type: PropType<ButtonProps>;
25
25
  };
26
+ fitWidth: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ maxWFull: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
26
34
  }>, {
27
35
  inputRef: import("vue").Ref<any, any>;
28
36
  render: () => import("vue/jsx-runtime").JSX.Element;
@@ -53,10 +61,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
53
61
  buttonProps: {
54
62
  type: PropType<ButtonProps>;
55
63
  };
64
+ fitWidth: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
68
+ maxWFull: {
69
+ type: BooleanConstructor;
70
+ default: boolean;
71
+ };
56
72
  }>> & Readonly<{
57
73
  onSearch?: ((_value: string, _ev: MouseEvent) => any) | undefined;
58
74
  }>, {
59
75
  disabled: boolean;
76
+ fitWidth: boolean;
77
+ maxWFull: boolean;
60
78
  searchButton: boolean;
61
79
  loading: boolean;
62
80
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -51,7 +51,23 @@ var input_search_default = /* @__PURE__ */ defineComponent({
51
51
  * @zh 搜索按钮的属性
52
52
  * @en Button props
53
53
  */
54
- buttonProps: { type: Object }
54
+ buttonProps: { type: Object },
55
+ /**
56
+ * @zh 宽度是否适应文字内容
57
+ * @en Whether the width adapts to the text content
58
+ */
59
+ fitWidth: {
60
+ type: Boolean,
61
+ default: false
62
+ },
63
+ /**
64
+ * @zh 最大宽度是否限制为父容器宽度
65
+ * @en Whether the maximum width is limited to the parent container width
66
+ */
67
+ maxWFull: {
68
+ type: Boolean,
69
+ default: true
70
+ }
55
71
  },
56
72
  emits: {
57
73
  /**
@@ -94,7 +110,9 @@ search: (_value, _ev) => true },
94
110
  "ref": inputRef,
95
111
  "class": prefixCls,
96
112
  "size": mergedSize.value,
97
- "disabled": props.disabled
113
+ "disabled": props.disabled,
114
+ "fitWidth": props.fitWidth,
115
+ "maxWFull": props.maxWFull
98
116
  }, {
99
117
  prepend: slots.prepend,
100
118
  prefix: slots.prefix,
@@ -26,6 +26,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
26
26
  default: boolean;
27
27
  };
28
28
  placeholder: StringConstructor;
29
+ fitWidth: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ maxWFull: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
29
37
  maxLength: {
30
38
  type: PropType<number | {
31
39
  length: number;
@@ -50,6 +58,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
50
58
  type: PropType<"text" | "password">;
51
59
  default: string;
52
60
  };
61
+ fitWidthFallback: {
62
+ type: StringConstructor;
63
+ default: string;
64
+ };
53
65
  prepend: StringConstructor;
54
66
  append: StringConstructor;
55
67
  }>, {
@@ -92,6 +104,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
92
104
  default: boolean;
93
105
  };
94
106
  placeholder: StringConstructor;
107
+ fitWidth: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
111
+ maxWFull: {
112
+ type: BooleanConstructor;
113
+ default: boolean;
114
+ };
95
115
  maxLength: {
96
116
  type: PropType<number | {
97
117
  length: number;
@@ -116,11 +136,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
116
136
  type: PropType<"text" | "password">;
117
137
  default: string;
118
138
  };
139
+ fitWidthFallback: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
119
143
  prepend: StringConstructor;
120
144
  append: StringConstructor;
121
145
  }>> & Readonly<{
122
- onFocus?: ((_ev: FocusEvent) => any) | undefined;
123
146
  onClear?: ((_ev: MouseEvent) => any) | undefined;
147
+ onFocus?: ((_ev: FocusEvent) => any) | undefined;
124
148
  onBlur?: ((_ev: FocusEvent) => any) | undefined;
125
149
  onChange?: ((_value: string, _ev: Event) => any) | undefined;
126
150
  onInput?: ((_value: string, _ev: Event) => any) | undefined;
@@ -128,15 +152,18 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
128
152
  onPressEnter?: ((_ev: KeyboardEvent) => any) | undefined;
129
153
  }>, {
130
154
  type: "text" | "password";
155
+ disabled: boolean;
131
156
  error: boolean;
132
157
  readonly: string | boolean;
133
- disabled: boolean;
134
158
  defaultValue: string;
135
159
  allowClear: boolean;
160
+ fitWidth: boolean;
161
+ maxWFull: boolean;
136
162
  maxLength: number | {
137
163
  length: number;
138
164
  errorOnly?: boolean;
139
165
  };
140
166
  showWordLimit: boolean;
167
+ fitWidthFallback: string;
141
168
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
142
169
  export default _default;
package/es/input/input.js CHANGED
@@ -9,6 +9,7 @@ import { useI18n } from "../locale/index.js";
9
9
  import { useAllowClear } from "../_hooks/use-allow-clear.js";
10
10
  import feedback_icon_default from "../_components/feedback-icon.js";
11
11
  import { useCursor } from "../_hooks/use-cursor.js";
12
+ import { useFitWidth } from "../_hooks/use-fit-width.js";
12
13
  import { isReadonlyModificationKey, useReadonlyTip, useReadonlyTipText } from "../_hooks/use-readonly-tip.js";
13
14
  import { useSize } from "../_hooks/use-size.js";
14
15
  import { INPUT_EVENTS } from "../_utils/constant.js";
@@ -83,6 +84,22 @@ var input_default = /* @__PURE__ */ defineComponent({
83
84
  */
84
85
  placeholder: String,
85
86
  /**
87
+ * @zh 宽度是否适应文字内容
88
+ * @en Whether the width adapts to the text content
89
+ */
90
+ fitWidth: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ /**
95
+ * @zh 最大宽度是否限制为父容器宽度
96
+ * @en Whether the maximum width is limited to the parent container width
97
+ */
98
+ maxWFull: {
99
+ type: Boolean,
100
+ default: true
101
+ },
102
+ /**
86
103
  * @zh 输入值的最大长度,errorOnly 属性在 2.12.0 版本添加
87
104
  * @en Enter the maximum length of the value, the errorOnly attribute was added in version 2.12.0
88
105
  */
@@ -119,6 +136,10 @@ var input_default = /* @__PURE__ */ defineComponent({
119
136
  type: String,
120
137
  default: "text"
121
138
  },
139
+ fitWidthFallback: {
140
+ type: String,
141
+ default: "4ch"
142
+ },
122
143
  /**
123
144
  * @zh 前置标签
124
145
  * @en Prepend
@@ -224,6 +245,15 @@ var input_default = /* @__PURE__ */ defineComponent({
224
245
  const showClearBtn = computed(() => mergedAllowClear.value && !props.readonly && !mergedDisabled.value && Boolean(computedValue.value));
225
246
  const isComposition = ref(false);
226
247
  const compositionValue = ref("");
248
+ const { fitWidthStyle, fitWidthValue } = useFitWidth({
249
+ fitWidth: () => props.fitWidth,
250
+ text: computed(() => {
251
+ const value = compositionValue.value || computedValue.value;
252
+ return (props.type === "password" ? "•".repeat(Array.from(value).length) : value) || props.placeholder;
253
+ }),
254
+ fallbackWidth: () => props.fitWidthFallback,
255
+ target: inputRef
256
+ });
227
257
  const getValueLength = (value) => {
228
258
  var _value$length;
229
259
  if (isFunction(props.wordLength)) return props.wordLength(value);
@@ -342,21 +372,33 @@ var input_default = /* @__PURE__ */ defineComponent({
342
372
  `${prefixCls}-outer-size-${mergedSize.value}`,
343
373
  {
344
374
  [`${prefixCls}-outer-has-suffix`]: Boolean(slots.suffix),
345
- [`${prefixCls}-outer-disabled`]: mergedDisabled.value
375
+ [`${prefixCls}-outer-disabled`]: mergedDisabled.value,
376
+ [`${prefixCls}-fit-width`]: props.fitWidth,
377
+ [`${prefixCls}-max-w-full`]: props.maxWFull
346
378
  }
347
379
  ]);
348
380
  const wrapperCls = computed(() => [`${prefixCls}-wrapper`, {
349
381
  [`${prefixCls}-error`]: mergedError.value,
350
382
  [`${prefixCls}-disabled`]: mergedDisabled.value,
351
- [`${prefixCls}-focus`]: focused.value
383
+ [`${prefixCls}-focus`]: focused.value,
384
+ [`${prefixCls}-fit-width`]: props.fitWidth,
385
+ [`${prefixCls}-max-w-full`]: props.maxWFull
352
386
  }]);
353
387
  const cls = computed(() => [prefixCls, `${prefixCls}-size-${mergedSize.value}`]);
354
- const wrapperAttrs = computed(() => omit(attrs, INPUT_EVENTS));
388
+ const wrapperAttrs = computed(() => {
389
+ const wrapperAttrs = omit(attrs, INPUT_EVENTS);
390
+ return _objectSpread2(_objectSpread2({}, wrapperAttrs), {}, { style: [fitWidthStyle.value, wrapperAttrs.style] });
391
+ });
355
392
  const inputAttrs = computed(() => pick(attrs, INPUT_EVENTS));
356
393
  const mergeInputAttrs = computed(() => {
357
394
  const attrs = _objectSpread2(_objectSpread2({}, inputAttrs.value), props.inputAttrs);
358
395
  if (formItemCtx.fieldId && attrs.id === void 0) attrs.id = formItemCtx.fieldId;
359
396
  if (mergedError.value) attrs["aria-invalid"] = true;
397
+ attrs.style = [props.fitWidth ? {
398
+ flex: `0 1 ${fitWidthValue}`,
399
+ width: fitWidthValue,
400
+ minWidth: 0
401
+ } : void 0, attrs.style];
360
402
  return attrs;
361
403
  });
362
404
  const renderInput = (hasOuter) => {
@@ -148,6 +148,12 @@
148
148
  .sd-input-wrapper:not(.sd-input-focus) .sd-input-icon-hover:hover::before {
149
149
  background-color: var(--sd-color-fill-4);
150
150
  }
151
+ .sd-input-wrapper.sd-input-fit-width {
152
+ width: fit-content;
153
+ }
154
+ .sd-input-wrapper.sd-input-max-w-full {
155
+ max-width: 100%;
156
+ }
151
157
  .sd-input-wrapper .sd-input {
152
158
  width: 100%;
153
159
  padding-right: 0;
@@ -212,6 +218,16 @@
212
218
  display: inline-flex;
213
219
  width: 100%;
214
220
  }
221
+ .sd-input-outer.sd-input-fit-width {
222
+ width: fit-content;
223
+ }
224
+ .sd-input-outer.sd-input-fit-width > .sd-input-wrapper {
225
+ flex: 0 1 auto;
226
+ width: auto;
227
+ }
228
+ .sd-input-outer.sd-input-max-w-full {
229
+ max-width: 100%;
230
+ }
215
231
  .sd-input-outer > .sd-input-wrapper {
216
232
  border-radius: 0;
217
233
  }
@@ -28,6 +28,14 @@ $input-prefix-cls: string.unquote('#{theme.$prefix}-input');
28
28
  .#{$input-prefix-cls}-wrapper {
29
29
  @include input-wrapper-style($input-prefix-cls);
30
30
 
31
+ &.#{$input-prefix-cls}-fit-width {
32
+ width: fit-content;
33
+ }
34
+
35
+ &.#{$input-prefix-cls}-max-w-full {
36
+ max-width: 100%;
37
+ }
38
+
31
39
  .#{$input-prefix-cls} {
32
40
  @include input-style();
33
41
 
@@ -58,6 +66,19 @@ $input-prefix-cls: string.unquote('#{theme.$prefix}-input');
58
66
  display: inline-flex;
59
67
  width: 100%;
60
68
 
69
+ &.#{$input-prefix-cls}-fit-width {
70
+ width: fit-content;
71
+
72
+ > .#{$input-prefix-cls}-wrapper {
73
+ flex: 0 1 auto;
74
+ width: auto;
75
+ }
76
+ }
77
+
78
+ &.#{$input-prefix-cls}-max-w-full {
79
+ max-width: 100%;
80
+ }
81
+
61
82
  > .#{$input-prefix-cls}-wrapper {
62
83
  border-radius: 0;
63
84
  }