@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
@@ -33,7 +33,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
33
33
  }>> & Readonly<{
34
34
  onClick?: ((_e: MouseEvent) => any) | undefined;
35
35
  }>, {
36
- size: "small" | "mini" | "medium" | "large";
36
+ size: "small" | "medium" | "large" | "mini";
37
37
  disabled: boolean;
38
38
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
39
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -18,6 +18,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
18
18
  focused: BooleanConstructor;
19
19
  uninjectFormItemContext: BooleanConstructor;
20
20
  inputAttrs: PropType<Record<string, unknown>>;
21
+ fitWidth: BooleanConstructor;
22
+ maxWFull: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
21
26
  }>, {
22
27
  inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
23
28
  render: () => import("vue/jsx-runtime").JSX.Element;
@@ -41,14 +46,21 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
41
46
  focused: BooleanConstructor;
42
47
  uninjectFormItemContext: BooleanConstructor;
43
48
  inputAttrs: PropType<Record<string, unknown>>;
49
+ fitWidth: BooleanConstructor;
50
+ maxWFull: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
44
54
  }>> & Readonly<{
45
55
  onFocus?: ((...args: any[]) => any) | undefined;
46
56
  onBlur?: ((...args: any[]) => any) | undefined;
47
57
  "onUpdate:inputValue"?: ((...args: any[]) => any) | undefined;
48
58
  onInputValueChange?: ((...args: any[]) => any) | undefined;
49
59
  }>, {
50
- error: boolean;
51
60
  disabled: boolean;
61
+ error: boolean;
62
+ fitWidth: boolean;
63
+ maxWFull: boolean;
52
64
  inputValue: string;
53
65
  focused: boolean;
54
66
  uninjectFormItemContext: boolean;
@@ -1,5 +1,7 @@
1
1
  import { useFormItem } from "../../_hooks/use-form-item.js";
2
+ import _objectSpread2 from "../../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
2
3
  import { getPrefixCls } from "../../_utils/global-config.js";
4
+ import { useFitWidth } from "../../_hooks/use-fit-width.js";
3
5
  import { useSize } from "../../_hooks/use-size.js";
4
6
  import { INPUT_EVENTS } from "../../_utils/constant.js";
5
7
  import { omit } from "../../_utils/omit.js";
@@ -30,7 +32,12 @@ var input_label_default = /* @__PURE__ */ defineComponent({
30
32
  error: Boolean,
31
33
  focused: Boolean,
32
34
  uninjectFormItemContext: Boolean,
33
- inputAttrs: Object
35
+ inputAttrs: Object,
36
+ fitWidth: Boolean,
37
+ maxWFull: {
38
+ type: Boolean,
39
+ default: true
40
+ }
34
41
  },
35
42
  emits: [
36
43
  "update:inputValue",
@@ -72,6 +79,12 @@ var input_label_default = /* @__PURE__ */ defineComponent({
72
79
  if (props.enabledInput && props.modelValue) return formatLabel();
73
80
  return props.placeholder;
74
81
  });
82
+ const { fitWidthStyle, fitWidthValue } = useFitWidth({
83
+ fitWidth: () => props.fitWidth,
84
+ text: computed(() => computedInputValue.value || formatLabel() || props.placeholder),
85
+ fallbackWidth: "4ch",
86
+ target: inputRef
87
+ });
75
88
  const renderLabel = () => {
76
89
  if (props.modelValue) {
77
90
  var _slots$default, _slots$default2;
@@ -86,13 +99,18 @@ var input_label_default = /* @__PURE__ */ defineComponent({
86
99
  [`${prefixCls}-search`]: props.enabledInput,
87
100
  [`${prefixCls}-focus`]: mergedFocused.value,
88
101
  [`${prefixCls}-disabled`]: mergedDisabled.value,
89
- [`${prefixCls}-error`]: mergedError.value
102
+ [`${prefixCls}-error`]: mergedError.value,
103
+ [`${prefixCls}-fit-width`]: props.fitWidth,
104
+ [`${prefixCls}-max-w-full`]: props.maxWFull
90
105
  }
91
106
  ]);
92
- const wrapperAttrs = computed(() => omit(attrs, INPUT_EVENTS));
107
+ const wrapperAttrs = computed(() => {
108
+ const wrapperAttrs = omit(attrs, INPUT_EVENTS);
109
+ return _objectSpread2(_objectSpread2({}, wrapperAttrs), {}, { style: [fitWidthStyle.value, wrapperAttrs.style] });
110
+ });
93
111
  const inputAttrs = computed(() => pick(attrs, INPUT_EVENTS));
94
112
  const render = () => {
95
- var _props$inputAttrs;
113
+ var _props$inputAttrs, _props$inputAttrs2;
96
114
  let _slot;
97
115
  return createVNode("span", mergeProps(wrapperAttrs.value, {
98
116
  "class": cls.value,
@@ -106,6 +124,11 @@ var input_label_default = /* @__PURE__ */ defineComponent({
106
124
  "readonly": !props.enabledInput,
107
125
  "placeholder": mergedPlaceholder.value,
108
126
  "disabled": mergedDisabled.value,
127
+ "style": [props.fitWidth ? {
128
+ flex: `0 1 ${fitWidthValue}`,
129
+ width: fitWidthValue,
130
+ minWidth: 0
131
+ } : void 0, (_props$inputAttrs2 = props.inputAttrs) === null || _props$inputAttrs2 === void 0 ? void 0 : _props$inputAttrs2.style],
109
132
  "onInput": handleInput,
110
133
  "onFocus": handleFocus,
111
134
  "onBlur": handleBlur,
@@ -113,7 +136,14 @@ var input_label_default = /* @__PURE__ */ defineComponent({
113
136
  "onCompositionupdate": handleComposition,
114
137
  "onCompositionend": handleComposition
115
138
  }), null),
116
- createVNode("span", { "class": [`${prefixCls}-value`, { [`${prefixCls}-value-hidden`]: showInput.value }] }, [props.modelValue && createVNode(Ellipsis, { "style": { width: "100%" } }, _isSlot(_slot = renderLabel()) ? _slot : { default: () => [_slot] })]),
139
+ createVNode("span", {
140
+ "class": [`${prefixCls}-value`, { [`${prefixCls}-value-hidden`]: showInput.value }],
141
+ "style": props.fitWidth ? {
142
+ flex: `0 1 ${fitWidthValue}`,
143
+ width: fitWidthValue,
144
+ minWidth: 0
145
+ } : void 0
146
+ }, [props.modelValue && createVNode(Ellipsis, { "style": { width: "100%" } }, _isSlot(_slot = renderLabel()) ? _slot : { default: () => [_slot] })]),
117
147
  slots.suffix && createVNode("span", { "class": `${prefixCls}-suffix` }, [slots.suffix()])
118
148
  ]);
119
149
  };
@@ -134,6 +134,12 @@
134
134
  .sd-input-label {
135
135
  cursor: pointer;
136
136
  }
137
+ .sd-input-label.sd-input-label-fit-width {
138
+ width: fit-content;
139
+ }
140
+ .sd-input-label.sd-input-label-max-w-full {
141
+ max-width: 100%;
142
+ }
137
143
  .sd-input-label .sd-input-label-input {
138
144
  width: 100%;
139
145
  padding-right: 0;
@@ -51,6 +51,14 @@
51
51
 
52
52
  cursor: pointer;
53
53
 
54
+ &.#{$cls}-fit-width {
55
+ width: fit-content;
56
+ }
57
+
58
+ &.#{$cls}-max-w-full {
59
+ max-width: 100%;
60
+ }
61
+
54
62
  .#{$cls}-input {
55
63
  @include input-style();
56
64
 
@@ -37,6 +37,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
37
37
  type: PropType<string[]>;
38
38
  default: () => never[];
39
39
  };
40
+ fitWidth: BooleanConstructor;
41
+ maxWFull: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ fitWidthFallback: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ fitWidthFallbackText: StringConstructor;
40
50
  inputValue: {
41
51
  type: PropType<(string | undefined)[]>;
42
52
  };
@@ -84,6 +94,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
84
94
  type: PropType<string[]>;
85
95
  default: () => never[];
86
96
  };
97
+ fitWidth: BooleanConstructor;
98
+ maxWFull: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
102
+ fitWidthFallback: {
103
+ type: StringConstructor;
104
+ default: string;
105
+ };
106
+ fitWidthFallbackText: StringConstructor;
87
107
  inputValue: {
88
108
  type: PropType<(string | undefined)[]>;
89
109
  };
@@ -102,11 +122,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
102
122
  "onFocused-index-change"?: ((_index: number) => any) | undefined;
103
123
  "onUpdate:focusedIndex"?: ((_index: number) => any) | undefined;
104
124
  }>, {
105
- error: boolean;
106
125
  value: (Dayjs | undefined)[];
107
126
  disabled: boolean | boolean[];
127
+ error: boolean;
108
128
  placeholder: string[];
109
129
  allowClear: boolean;
130
+ fitWidth: boolean;
131
+ maxWFull: boolean;
132
+ fitWidthFallback: string;
110
133
  focused: boolean;
111
134
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
112
135
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -5,10 +5,11 @@ import { isArray, isDayjs, isFunction, isNumber, isUndefined } from "../../_util
5
5
  import icon_hover_default from "../icon-hover.js";
6
6
  import IconClose from "../../icon/icon-close/index.js";
7
7
  import feedback_icon_default from "../feedback-icon.js";
8
+ import { useFitWidth } from "../../_hooks/use-fit-width.js";
8
9
  import { isReadonlyModificationKey, useReadonlyTip, useReadonlyTipText } from "../../_hooks/use-readonly-tip.js";
9
10
  import { useSize } from "../../_hooks/use-size.js";
10
11
  import Tooltip from "../../tooltip/index.js";
11
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toRef, toRefs, unref, useSlots, withCtx, withKeys } from "vue";
12
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, toRef, toRefs, unref, useSlots, withCtx, withKeys } from "vue";
12
13
  //#region components/_components/picker/input-range.vue?vue&type=script&setup=true&lang.ts
13
14
  var _hoisted_1 = [
14
15
  "disabled",
@@ -37,6 +38,16 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
37
38
  type: Array,
38
39
  default: () => []
39
40
  },
41
+ fitWidth: Boolean,
42
+ maxWFull: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ fitWidthFallback: {
47
+ type: String,
48
+ default: "4ch"
49
+ },
50
+ fitWidthFallbackText: String,
40
51
  inputValue: { type: Array },
41
52
  value: {
42
53
  type: Array,
@@ -83,7 +94,9 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
83
94
  [`${prefixCls}-focused`]: focused.value,
84
95
  [`${prefixCls}-disabled`]: disabled0.value && disabled1.value,
85
96
  [`${prefixCls}-error`]: mergedError.value,
86
- [`${prefixCls}-has-prefix`]: slots.prefix
97
+ [`${prefixCls}-has-prefix`]: slots.prefix,
98
+ [`${prefixCls}-fit-width`]: props.fitWidth,
99
+ [`${prefixCls}-max-w-full`]: props.maxWFull
87
100
  }
88
101
  ]);
89
102
  function getInputWrapClassName(index) {
@@ -100,6 +113,23 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
100
113
  }
101
114
  const displayValue0 = computed(() => getDisplayValue(0));
102
115
  const displayValue1 = computed(() => getDisplayValue(1));
116
+ const { fitWidthStyle: fitWidthStyle0, fitWidthValue } = useFitWidth({
117
+ fitWidth: () => props.fitWidth,
118
+ text: computed(() => displayValue0.value || props.placeholder[0] || props.fitWidthFallbackText),
119
+ fallbackWidth: () => props.fitWidthFallback,
120
+ target: refInput0
121
+ });
122
+ const { fitWidthStyle: fitWidthStyle1 } = useFitWidth({
123
+ fitWidth: () => props.fitWidth,
124
+ text: computed(() => displayValue1.value || props.placeholder[1] || props.fitWidthFallbackText),
125
+ fallbackWidth: () => props.fitWidthFallback,
126
+ target: refInput1
127
+ });
128
+ const fitWidthContentStyle = computed(() => props.fitWidth ? {
129
+ flex: `0 1 ${fitWidthValue}`,
130
+ width: fitWidthValue,
131
+ minWidth: 0
132
+ } : void 0);
103
133
  function changeFocusedInput(index) {
104
134
  emit("focused-index-change", index);
105
135
  emit("update:focusedIndex", index);
@@ -147,7 +177,10 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
147
177
  key: 0,
148
178
  class: normalizeClass(`${unref(prefixCls)}-prefix`)
149
179
  }, [renderSlot(_ctx.$slots, "prefix")], 2)) : createCommentVNode("", true),
150
- createElementVNode("div", { class: normalizeClass(getInputWrapClassName(0)) }, [createElementVNode("input", mergeProps({
180
+ createElementVNode("div", {
181
+ class: normalizeClass(getInputWrapClassName(0)),
182
+ style: normalizeStyle([unref(fitWidthStyle0), fitWidthContentStyle.value])
183
+ }, [createElementVNode("input", mergeProps({
151
184
  ref_key: "refInput0",
152
185
  ref: refInput0,
153
186
  disabled: disabled0.value,
@@ -157,9 +190,12 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
157
190
  onInput: onChange,
158
191
  onKeydown: [withKeys(onPressEnter, ["enter"]), withKeys(onPressTab, ["tab"])],
159
192
  onClick: _cache[0] || (_cache[0] = () => changeFocusedInput(0))
160
- }), null, 16, _hoisted_1)], 2),
193
+ }), null, 16, _hoisted_1)], 6),
161
194
  createElementVNode("span", { class: normalizeClass(`${unref(prefixCls)}-separator`) }, [renderSlot(_ctx.$slots, "separator", {}, () => [_cache[2] || (_cache[2] = createTextVNode(" - ", -1))])], 2),
162
- createElementVNode("div", { class: normalizeClass(getInputWrapClassName(1)) }, [createElementVNode("input", mergeProps({
195
+ createElementVNode("div", {
196
+ class: normalizeClass(getInputWrapClassName(1)),
197
+ style: normalizeStyle([unref(fitWidthStyle1), fitWidthContentStyle.value])
198
+ }, [createElementVNode("input", mergeProps({
163
199
  ref_key: "refInput1",
164
200
  ref: refInput1,
165
201
  disabled: disabled1.value,
@@ -169,7 +205,7 @@ var input_range_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
169
205
  onInput: onChange,
170
206
  onKeydown: [withKeys(onPressEnter, ["enter"]), withKeys(onPressTab, ["tab"])],
171
207
  onClick: _cache[1] || (_cache[1] = () => changeFocusedInput(1))
172
- }), null, 16, _hoisted_2)], 2),
208
+ }), null, 16, _hoisted_2)], 6),
173
209
  createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-suffix`) }, [
174
210
  __props.allowClear && !unref(mergedDisabled) && unref(value).length === 2 ? (openBlock(), createBlock(icon_hover_default, {
175
211
  key: 0,
@@ -30,6 +30,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
30
30
  placeholder: {
31
31
  type: StringConstructor;
32
32
  };
33
+ fitWidth: BooleanConstructor;
34
+ maxWFull: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ fitWidthFallback: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ fitWidthFallbackText: StringConstructor;
33
43
  inputValue: {
34
44
  type: StringConstructor;
35
45
  };
@@ -70,6 +80,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
70
80
  placeholder: {
71
81
  type: StringConstructor;
72
82
  };
83
+ fitWidth: BooleanConstructor;
84
+ maxWFull: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ fitWidthFallback: {
89
+ type: StringConstructor;
90
+ default: string;
91
+ };
92
+ fitWidthFallbackText: StringConstructor;
73
93
  inputValue: {
74
94
  type: StringConstructor;
75
95
  };
@@ -86,9 +106,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
86
106
  onChange?: ((_e: Event) => any) | undefined;
87
107
  "onPress-enter"?: (() => any) | undefined;
88
108
  }>, {
89
- error: boolean;
90
109
  disabled: boolean;
110
+ error: boolean;
91
111
  allowClear: boolean;
112
+ fitWidth: boolean;
113
+ maxWFull: boolean;
114
+ fitWidthFallback: string;
92
115
  focused: boolean;
93
116
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
94
117
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -5,10 +5,11 @@ import { isDayjs, isFunction } from "../../_utils/is.js";
5
5
  import icon_hover_default from "../icon-hover.js";
6
6
  import IconClose from "../../icon/icon-close/index.js";
7
7
  import feedback_icon_default from "../feedback-icon.js";
8
+ import { useFitWidth } from "../../_hooks/use-fit-width.js";
8
9
  import { isReadonlyModificationKey, useReadonlyTip, useReadonlyTipText } from "../../_hooks/use-readonly-tip.js";
9
10
  import { useSize } from "../../_hooks/use-size.js";
10
11
  import Tooltip from "../../tooltip/index.js";
11
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toRef, toRefs, unref, useSlots, withCtx, withKeys } from "vue";
12
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, toRef, toRefs, unref, useSlots, withCtx, withKeys } from "vue";
12
13
  //#region components/_components/picker/input.vue?vue&type=script&setup=true&lang.ts
13
14
  var _hoisted_1 = [
14
15
  "disabled",
@@ -25,6 +26,16 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
25
26
  error: { type: Boolean },
26
27
  allowClear: { type: Boolean },
27
28
  placeholder: { type: String },
29
+ fitWidth: Boolean,
30
+ maxWFull: {
31
+ type: Boolean,
32
+ default: true
33
+ },
34
+ fitWidthFallback: {
35
+ type: String,
36
+ default: "4ch"
37
+ },
38
+ fitWidthFallbackText: String,
28
39
  inputValue: { type: String },
29
40
  value: { type: Object },
30
41
  format: {
@@ -59,7 +70,9 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
59
70
  [`${prefixCls}-focused`]: focused.value,
60
71
  [`${prefixCls}-disabled`]: mergedDisabled.value,
61
72
  [`${prefixCls}-error`]: mergedError.value,
62
- [`${prefixCls}-has-prefix`]: slots.prefix
73
+ [`${prefixCls}-has-prefix`]: slots.prefix,
74
+ [`${prefixCls}-fit-width`]: props.fitWidth,
75
+ [`${prefixCls}-max-w-full`]: props.maxWFull
63
76
  }
64
77
  ]);
65
78
  const displayValue = computed(() => {
@@ -67,6 +80,17 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
67
80
  if ((value === null || value === void 0 ? void 0 : value.value) && isDayjs(value.value)) return isFunction(format.value) ? format.value(value.value) : value.value.format(format.value);
68
81
  });
69
82
  const refInput = ref();
83
+ const { fitWidthStyle, fitWidthValue } = useFitWidth({
84
+ fitWidth: () => props.fitWidth,
85
+ text: computed(() => displayValue.value || props.placeholder || props.fitWidthFallbackText),
86
+ fallbackWidth: () => props.fitWidthFallback,
87
+ target: refInput
88
+ });
89
+ const fitWidthContentStyle = computed(() => props.fitWidth ? {
90
+ flex: `0 1 ${fitWidthValue}`,
91
+ width: fitWidthValue,
92
+ minWidth: 0
93
+ } : void 0);
70
94
  function onPressEnter() {
71
95
  emit("press-enter");
72
96
  }
@@ -106,7 +130,10 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
106
130
  key: 0,
107
131
  class: normalizeClass(`${unref(prefixCls)}-prefix`)
108
132
  }, [renderSlot(_ctx.$slots, "prefix")], 2)) : createCommentVNode("", true),
109
- createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-input`) }, [createElementVNode("input", mergeProps({
133
+ createElementVNode("div", {
134
+ class: normalizeClass(`${unref(prefixCls)}-input`),
135
+ style: normalizeStyle([unref(fitWidthStyle), fitWidthContentStyle.value])
136
+ }, [createElementVNode("input", mergeProps({
110
137
  ref_key: "refInput",
111
138
  ref: refInput,
112
139
  disabled: unref(mergedDisabled),
@@ -117,7 +144,7 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
117
144
  onKeydown: withKeys(onPressEnter, ["enter"]),
118
145
  onInput: onChange,
119
146
  onBlur
120
- }), null, 16, _hoisted_1)], 2),
147
+ }), null, 16, _hoisted_1)], 6),
121
148
  createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-suffix`) }, [
122
149
  __props.allowClear && !unref(mergedDisabled) && displayValue.value ? (openBlock(), createBlock(icon_hover_default, {
123
150
  key: 0,
@@ -21,6 +21,14 @@
21
21
  border-color theme.$transition-duration-1 theme.$transition-timing-function-standard,
22
22
  box-shadow theme.$transition-duration-1 theme.$transition-timing-function-standard;
23
23
 
24
+ &.#{theme.$prefix}-picker-fit-width {
25
+ width: fit-content;
26
+ }
27
+
28
+ &.#{theme.$prefix}-picker-max-w-full {
29
+ max-width: 100%;
30
+ }
31
+
24
32
  &-input {
25
33
  display: inline-flex;
26
34
  flex: 1;
@@ -65,6 +65,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
65
65
  default: boolean;
66
66
  };
67
67
  inputAttrs: PropType<Record<string, unknown>>;
68
+ fitWidth: BooleanConstructor;
69
+ maxWFull: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
68
73
  }>, {
69
74
  inputRef: import("vue").ComputedRef<HTMLInputElement>;
70
75
  handleFocus: (ev: FocusEvent) => void;
@@ -73,7 +78,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
73
78
  }, {}, {}, {
74
79
  focus(): void;
75
80
  blur(): void;
76
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "clear" | "blur" | "remove")[], "focus" | "clear" | "blur" | "remove", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
81
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "focus" | "blur" | "remove")[], "clear" | "focus" | "blur" | "remove", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
77
82
  modelValue: {
78
83
  type: PropType<SelectViewValue[]>;
79
84
  required: true;
@@ -136,18 +141,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
136
141
  default: boolean;
137
142
  };
138
143
  inputAttrs: PropType<Record<string, unknown>>;
144
+ fitWidth: BooleanConstructor;
145
+ maxWFull: {
146
+ type: BooleanConstructor;
147
+ default: boolean;
148
+ };
139
149
  }>> & Readonly<{
140
150
  onFocus?: ((...args: any[]) => any) | undefined;
141
151
  onBlur?: ((...args: any[]) => any) | undefined;
142
152
  onClear?: ((...args: any[]) => any) | undefined;
143
153
  onRemove?: ((...args: any[]) => any) | undefined;
144
154
  }>, {
145
- error: boolean;
155
+ multiple: boolean;
146
156
  disabled: boolean;
157
+ error: boolean;
147
158
  showArrow: boolean;
148
159
  allowClear: boolean;
160
+ fitWidth: boolean;
161
+ maxWFull: boolean;
149
162
  loading: boolean;
150
- multiple: boolean;
151
163
  bordered: boolean;
152
164
  maxTagCount: number | "responsive";
153
165
  retainInputValue: boolean;
@@ -75,7 +75,12 @@ var select_view_default = /* @__PURE__ */ defineComponent({
75
75
  type: Boolean,
76
76
  default: false
77
77
  },
78
- inputAttrs: Object
78
+ inputAttrs: Object,
79
+ fitWidth: Boolean,
80
+ maxWFull: {
81
+ type: Boolean,
82
+ default: true
83
+ }
79
84
  },
80
85
  emits: [
81
86
  "remove",
@@ -170,6 +175,8 @@ var select_view_default = /* @__PURE__ */ defineComponent({
170
175
  "retainInputValue": true,
171
176
  "uninjectFormItemContext": true,
172
177
  "inputAttrs": props.inputAttrs,
178
+ "fitWidth": props.fitWidth,
179
+ "maxWFull": props.maxWFull,
173
180
  "onRemove": handleRemove,
174
181
  "onFocus": handleFocus,
175
182
  "onBlur": handleBlur
@@ -193,6 +200,8 @@ var select_view_default = /* @__PURE__ */ defineComponent({
193
200
  "enabledInput": enabledInput.value,
194
201
  "uninjectFormItemContext": true,
195
202
  "inputAttrs": props.inputAttrs,
203
+ "fitWidth": props.fitWidth,
204
+ "maxWFull": props.maxWFull,
196
205
  "onFocus": handleFocus,
197
206
  "onBlur": handleBlur
198
207
  }, {
@@ -591,6 +591,12 @@
591
591
  .sd-select-view-single {
592
592
  cursor: pointer;
593
593
  }
594
+ .sd-select-view-single.sd-select-view-fit-width {
595
+ width: fit-content;
596
+ }
597
+ .sd-select-view-single.sd-select-view-max-w-full {
598
+ max-width: 100%;
599
+ }
594
600
  .sd-select-view-single .sd-select-view-input {
595
601
  width: 100%;
596
602
  padding-right: 0;
@@ -791,6 +797,12 @@
791
797
  max-width: 100%;
792
798
  overflow: hidden;
793
799
  }
800
+ .sd-select-view-multiple.sd-select-view-fit-width {
801
+ width: fit-content;
802
+ }
803
+ .sd-select-view-multiple.sd-select-view-max-w-full {
804
+ max-width: 100%;
805
+ }
794
806
  .sd-select-view-multiple.sd-select-view-has-tag {
795
807
  padding-right: 4px;
796
808
  padding-left: 4px;
@@ -137,10 +137,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
137
137
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
138
138
  update: (_startIndex: number, _endIndex: number, _visibleStartIndex: number, _visibleEndIndex: number) => any;
139
139
  scroll: (_ev: Event) => any;
140
- resize: () => any;
140
+ hidden: () => any;
141
141
  visible: () => any;
142
+ resize: () => any;
142
143
  reachBottom: (_ev: Event) => any;
143
- hidden: () => any;
144
144
  scrollStart: () => any;
145
145
  scrollEnd: () => any;
146
146
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -243,14 +243,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
243
243
  }>> & Readonly<{
244
244
  onUpdate?: ((_startIndex: number, _endIndex: number, _visibleStartIndex: number, _visibleEndIndex: number) => any) | undefined;
245
245
  onScroll?: ((_ev: Event) => any) | undefined;
246
- onResize?: (() => any) | undefined;
246
+ onHidden?: (() => any) | undefined;
247
247
  onVisible?: (() => any) | undefined;
248
+ onResize?: (() => any) | undefined;
248
249
  onReachBottom?: ((_ev: Event) => any) | undefined;
249
- onHidden?: (() => any) | undefined;
250
250
  onScrollStart?: (() => any) | undefined;
251
251
  onScrollEnd?: (() => any) | undefined;
252
252
  }>, {
253
253
  shift: boolean;
254
+ scrollbar: boolean | ScrollbarProps;
255
+ enabled: boolean;
254
256
  emitUpdate: boolean;
255
257
  disableTransform: boolean;
256
258
  flowMode: boolean;
@@ -263,7 +265,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
263
265
  itemTag: string;
264
266
  itemSize: ItemSizeValue;
265
267
  minItemSize: string | number | null;
266
- enabled: boolean;
267
268
  threshold: number;
268
269
  fixedSize: boolean;
269
270
  estimatedSize: number;
@@ -273,7 +274,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
273
274
  contentAttrs: Record<string, unknown> | undefined;
274
275
  listStyle: CSSProperties | undefined;
275
276
  paddingPosition: "content" | "list";
276
- scrollbar: boolean | ScrollbarProps;
277
277
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
278
278
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
279
279
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,22 @@
1
+ import type { CSSProperties, MaybeRefOrGetter, Ref } from 'vue';
2
+ type FitWidthElement = HTMLInputElement | HTMLTextAreaElement;
3
+ export interface FitWidthProps {
4
+ fitWidth?: boolean;
5
+ maxWFull?: boolean;
6
+ }
7
+ interface UseFitWidthOptions {
8
+ fitWidth: MaybeRefOrGetter<boolean | undefined>;
9
+ text: MaybeRefOrGetter<string | undefined>;
10
+ fallbackWidth: MaybeRefOrGetter<string>;
11
+ target: Ref<FitWidthElement | undefined>;
12
+ whiteSpace?: 'normal' | 'pre-wrap';
13
+ additionalWidth?: number;
14
+ }
15
+ export declare const getFitWidthCssVar: (prefix: string) => string;
16
+ export declare function useFitWidth(options: UseFitWidthOptions): {
17
+ fitWidthCssVar: string;
18
+ fitWidthStyle: import("vue").ComputedRef<CSSProperties>;
19
+ fitWidthValue: string;
20
+ measure: () => void;
21
+ };
22
+ export {};