niuma-ui 2.0.3 → 2.0.4

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 (202) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/components/_shared/src/reka.d.ts +1 -1
  3. package/dist/components/_shared/src/reka.js +2 -2
  4. package/dist/components/anchor/index.d.ts +1 -1
  5. package/dist/components/anchor/src/RsAnchor.css +63 -32
  6. package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
  7. package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
  8. package/dist/components/anchor/src/RsAnchor.js +1 -1
  9. package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
  10. package/dist/components/anchor/src/anchor-utils.js +81 -19
  11. package/dist/components/auto-complete/index.d.ts +2 -0
  12. package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
  13. package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
  14. package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
  15. package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
  16. package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
  17. package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
  18. package/dist/components/avatar/index.d.ts +1 -0
  19. package/dist/components/avatar/src/RsAvatar.css +36 -19
  20. package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
  21. package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
  22. package/dist/components/avatar/src/RsAvatar.js +2 -1
  23. package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
  24. package/dist/components/avatar/src/avatar-utils.js +41 -3
  25. package/dist/components/breadcrumb/index.d.ts +1 -1
  26. package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
  27. package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
  28. package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
  29. package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
  30. package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
  31. package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
  32. package/dist/components/calendar-grid/index.d.ts +2 -0
  33. package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
  34. package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
  35. package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
  36. package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
  37. package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
  38. package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
  39. package/dist/components/card/index.d.ts +1 -1
  40. package/dist/components/card/src/RsCard.css +108 -98
  41. package/dist/components/card/src/RsCard.d.ts +3 -12
  42. package/dist/components/card/src/RsCard.impl.js +29 -25
  43. package/dist/components/card/src/RsCard.js +2 -1
  44. package/dist/components/card/src/card-utils.d.ts +25 -0
  45. package/dist/components/card/src/card-utils.js +10 -0
  46. package/dist/components/cascader/index.d.ts +1 -0
  47. package/dist/components/cascader/src/RsCascader.css +175 -30
  48. package/dist/components/cascader/src/RsCascader.d.ts +15 -3
  49. package/dist/components/cascader/src/RsCascader.impl.js +277 -48
  50. package/dist/components/cascader/src/RsCascader.js +1 -1
  51. package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
  52. package/dist/components/cascader/src/cascader-utils.js +8 -1
  53. package/dist/components/checkbox/index.d.ts +1 -0
  54. package/dist/components/checkbox/src/RsCheckbox.css +46 -23
  55. package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
  56. package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
  57. package/dist/components/checkbox/src/RsCheckbox.js +2 -1
  58. package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
  59. package/dist/components/checkbox/src/checkbox-utils.js +12 -0
  60. package/dist/components/container/index.d.ts +1 -1
  61. package/dist/components/container/src/RsContainer.css +11 -11
  62. package/dist/components/container/src/RsContainer.d.ts +2 -12
  63. package/dist/components/container/src/RsContainer.impl.js +10 -57
  64. package/dist/components/container/src/RsContainer.js +1 -1
  65. package/dist/components/container/src/container-utils.d.ts +23 -0
  66. package/dist/components/container/src/container-utils.js +51 -0
  67. package/dist/components/date-picker/index.d.ts +4 -2
  68. package/dist/components/date-picker/src/RsDatePicker.css +42 -22
  69. package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
  70. package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
  71. package/dist/components/date-picker/src/RsDatePicker.js +1 -3
  72. package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
  73. package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
  74. package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
  75. package/dist/components/date-picker/src/date-picker-utils.js +33 -10
  76. package/dist/components/dynamic-tags/index.d.ts +1 -1
  77. package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
  78. package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +58 -17
  79. package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
  80. package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
  81. package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
  82. package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
  83. package/dist/components/fieldset/src/RsFieldset.css +71 -41
  84. package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
  85. package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
  86. package/dist/components/fieldset/src/RsFieldset.js +1 -1
  87. package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
  88. package/dist/components/fieldset/src/fieldset-utils.js +9 -1
  89. package/dist/components/form/index.d.ts +1 -0
  90. package/dist/components/form/src/RsForm.css +15 -12
  91. package/dist/components/form/src/RsForm.d.ts +20 -22
  92. package/dist/components/form/src/RsForm.impl.js +33 -20
  93. package/dist/components/form/src/RsForm.js +1 -1
  94. package/dist/components/form/src/form-utils.d.ts +7 -0
  95. package/dist/components/form/src/form-utils.js +28 -1
  96. package/dist/components/input/index.d.ts +1 -1
  97. package/dist/components/input/src/RsInput.css +78 -260
  98. package/dist/components/input/src/RsInput.d.ts +5 -3
  99. package/dist/components/input/src/RsInput.impl.js +8 -16
  100. package/dist/components/input/src/RsInput.js +1 -1
  101. package/dist/components/input/src/input-utils.d.ts +11 -0
  102. package/dist/components/input/src/input-utils.js +22 -0
  103. package/dist/components/input-number/index.d.ts +1 -0
  104. package/dist/components/input-number/src/RsInputNumber.css +31 -31
  105. package/dist/components/input-number/src/RsInputNumber.d.ts +15 -13
  106. package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
  107. package/dist/components/input-number/src/RsInputNumber.js +1 -1
  108. package/dist/components/label/src/RsLabel.css +30 -11
  109. package/dist/components/label/src/RsLabel.d.ts +18 -1
  110. package/dist/components/label/src/RsLabel.impl.js +63 -10
  111. package/dist/components/label/src/RsLabel.js +1 -1
  112. package/dist/components/label/src/label-utils.d.ts +6 -0
  113. package/dist/components/label/src/label-utils.js +16 -0
  114. package/dist/components/link/src/RsLink.d.ts +2 -2
  115. package/dist/components/loading/src/RsLoading.d.ts +1 -1
  116. package/dist/components/mentions/index.d.ts +2 -1
  117. package/dist/components/mentions/src/RsMentions.css +119 -3
  118. package/dist/components/mentions/src/RsMentions.d.ts +56 -4
  119. package/dist/components/mentions/src/RsMentions.impl.js +298 -79
  120. package/dist/components/mentions/src/RsMentions.js +1 -3
  121. package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
  122. package/dist/components/mentions/src/mentions-utils.js +28 -9
  123. package/dist/components/popover/src/RsPopover.d.ts +1 -1
  124. package/dist/components/radio/index.d.ts +1 -1
  125. package/dist/components/radio/src/RsRadio.css +7 -6
  126. package/dist/components/radio/src/RsRadio.d.ts +8 -5
  127. package/dist/components/radio/src/RsRadio.impl.js +34 -24
  128. package/dist/components/radio/src/RsRadio.js +2 -1
  129. package/dist/components/radio/src/RsRadioItem.css +61 -44
  130. package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
  131. package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
  132. package/dist/components/radio/src/RsRadioItem.js +2 -1
  133. package/dist/components/radio/src/radio-utils.d.ts +12 -1
  134. package/dist/components/radio/src/radio-utils.js +15 -1
  135. package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
  136. package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
  137. package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
  138. package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
  139. package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
  140. package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
  141. package/dist/components/select/index.d.ts +1 -0
  142. package/dist/components/select/src/RsSelect.css +54 -42
  143. package/dist/components/select/src/RsSelect.d.ts +19 -2
  144. package/dist/components/select/src/RsSelect.impl.js +727 -312
  145. package/dist/components/select/src/RsSelect.js +1 -1
  146. package/dist/components/select/src/select-utils.d.ts +4 -2
  147. package/dist/components/select/src/select-utils.js +8 -3
  148. package/dist/components/select/src/use-rs-select.d.ts +1 -0
  149. package/dist/components/select/src/use-rs-select.js +23 -17
  150. package/dist/components/switch/index.d.ts +2 -1
  151. package/dist/components/switch/src/RsSwitch.css +36 -18
  152. package/dist/components/switch/src/RsSwitch.d.ts +18 -5
  153. package/dist/components/switch/src/RsSwitch.impl.js +61 -29
  154. package/dist/components/switch/src/RsSwitch.js +2 -1
  155. package/dist/components/switch/src/switch-utils.d.ts +4 -0
  156. package/dist/components/switch/src/switch-utils.js +9 -0
  157. package/dist/components/textarea/src/RsTextarea.css +23 -23
  158. package/dist/components/textarea/src/RsTextarea.d.ts +6 -12
  159. package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
  160. package/dist/components/textarea/src/RsTextarea.js +1 -1
  161. package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
  162. package/dist/components/textarea/src/textarea-utils.js +61 -0
  163. package/dist/components/time-picker/index.d.ts +3 -2
  164. package/dist/components/time-picker/src/RsTimePicker.css +41 -24
  165. package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
  166. package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
  167. package/dist/components/time-picker/src/RsTimePicker.js +1 -3
  168. package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
  169. package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
  170. package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
  171. package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
  172. package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
  173. package/dist/components/time-picker/src/time-picker-utils.js +97 -5
  174. package/dist/components/toaster/src/RsToaster.d.ts +1 -1
  175. package/dist/components/tooltip/src/RsTooltip.d.ts +1 -1
  176. package/dist/components/tree/src/RsTree.d.ts +3 -3
  177. package/dist/components/tree-select/index.d.ts +2 -0
  178. package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
  179. package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
  180. package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
  181. package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
  182. package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
  183. package/dist/components/tree-select/src/tree-select-utils.js +60 -0
  184. package/dist/components/upload/index.d.ts +2 -1
  185. package/dist/components/upload/src/RsUpload.css +223 -75
  186. package/dist/components/upload/src/RsUpload.d.ts +77 -1
  187. package/dist/components/upload/src/RsUpload.impl.js +404 -90
  188. package/dist/components/upload/src/RsUpload.js +1 -1
  189. package/dist/components/upload/src/upload-utils.d.ts +21 -2
  190. package/dist/components/upload/src/upload-utils.js +139 -9
  191. package/dist/index.d.ts +21 -11
  192. package/dist/index.js +6 -0
  193. package/dist/locale/messages.js +46 -2
  194. package/dist/styles.css +518 -154
  195. package/dist/theme/brand.example.css +1 -1
  196. package/package.json +1 -1
  197. package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
  198. package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
  199. package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
  200. package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
  201. package/dist/components/mentions/src/RsMentions-1.css +0 -29
  202. package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
@@ -1,10 +1,8 @@
1
1
  import './RsDatePicker.css'
2
- import './RsDatePicker-1.css'
3
2
  import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
4
3
  import RsDatePicker_vue_vue_type_script_setup_true_lang_default from "./RsDatePicker.impl.js";
5
4
 
6
-
7
5
  //#region src/components/date-picker/src/RsDatePicker.vue
8
- var RsDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsDatePicker_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-816760df"]]);
6
+ var RsDatePicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsDatePicker_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e481c787"]]);
9
7
  //#endregion
10
8
  export { RsDatePicker_default as default };
@@ -1,9 +1,15 @@
1
- import type { RsComponentSize } from '../../../theme/types';
2
- import type { RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerValueFormat, RsDateRangeValue } from './date-picker-utils';
1
+ import { type RsDatePickerExpose, type RsDatePickerLabelPosition } from './RsDatePicker.js';
2
+ import type { RsComponentSize, RsRadius } from '../../../theme/types';
3
+ import type { RsDatePickerDisabledDate, RsDatePickerGetPopupContainer, RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerValueFormat, RsDateRangeValue, RsWeekStartsOn } from './date-picker-utils';
3
4
  export type RsDateTimeRangeValue = RsDateRangeValue;
4
- export type RsDateTimePickerLabelPosition = 'top' | 'left';
5
- export type { RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerValueFormat, };
5
+ export type RsDateTimePickerLabelPosition = RsDatePickerLabelPosition;
6
+ export type { RsDatePickerDisabledDate, RsDatePickerGetPopupContainer, RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerValueFormat, RsWeekStartsOn, };
7
+ export type RsDateTimePickerExpose = RsDatePickerExpose;
8
+ export type RsDateTimePickerInstance = RsDateTimePickerExpose & {
9
+ $el: HTMLElement;
10
+ };
6
11
  type __VLS_Props = {
12
+ name?: string;
7
13
  label?: string;
8
14
  hint?: string;
9
15
  placeholder?: string;
@@ -14,33 +20,54 @@ type __VLS_Props = {
14
20
  minDate?: string;
15
21
  maxDate?: string;
16
22
  /**
17
- * 绑定值格式(展示仍为墙钟)。
23
+ * 绑定值格式(展示仍为墙钟,除非另传 format)。
18
24
  * string:YYYY-MM-DD HH:mm:ss;timestamp:毫秒;iso:本地偏移 RFC3339;
19
25
  * 亦可传入 dayjs 模板。
20
26
  */
21
27
  valueFormat?: RsDatePickerValueFormat;
28
+ format?: string;
22
29
  labelPosition?: RsDateTimePickerLabelPosition;
23
30
  shortcuts?: RsDatePickerShortcut[];
24
31
  size?: RsComponentSize;
32
+ radius?: RsRadius;
25
33
  id?: string;
26
34
  invalid?: boolean;
27
35
  showValidateMessage?: boolean;
36
+ clearable?: boolean;
37
+ readonly?: boolean;
38
+ ariaLabel?: string;
39
+ weekStartsOn?: RsWeekStartsOn;
40
+ disabledDates?: string[];
41
+ disabledDate?: RsDatePickerDisabledDate;
42
+ getPopupContainer?: RsDatePickerGetPopupContainer;
28
43
  };
29
44
  type __VLS_ModelProps = {
30
45
  modelValue?: RsDatePickerModelValue;
31
46
  'open'?: boolean;
32
47
  };
33
48
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
34
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
49
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, RsDatePickerExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
+ change: (value: RsDatePickerModelValue) => any;
51
+ blur: () => any;
52
+ focus: () => any;
53
+ clear: () => any;
35
54
  "update:modelValue": (value: RsDatePickerModelValue) => any;
36
55
  "update:open": (value: boolean) => any;
56
+ openChange: (open: boolean) => any;
37
57
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
58
+ onChange?: ((value: RsDatePickerModelValue) => any) | undefined;
59
+ onBlur?: (() => any) | undefined;
60
+ onFocus?: (() => any) | undefined;
61
+ onClear?: (() => any) | undefined;
38
62
  "onUpdate:modelValue"?: ((value: RsDatePickerModelValue) => any) | undefined;
39
63
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
64
+ onOpenChange?: ((open: boolean) => any) | undefined;
40
65
  }>, {
41
66
  required: boolean;
42
67
  disabled: boolean;
43
68
  range: boolean;
69
+ readonly: boolean;
70
+ clearable: boolean;
44
71
  showValidateMessage: boolean;
45
72
  labelPosition: RsDateTimePickerLabelPosition;
46
73
  withSeconds: boolean;
@@ -1,9 +1,11 @@
1
1
  import RsDatePicker_default from "./RsDatePicker.js";
2
- import { createBlock, defineComponent, mergeModels, mergeProps, openBlock, useModel } from "vue";
2
+ import { createBlock, defineComponent, mergeModels, mergeProps, openBlock, useModel, useTemplateRef } from "vue";
3
3
  //#region src/components/date-picker/src/RsDateTimePicker.vue?vue&type=script&setup=true&lang.ts
4
4
  var RsDateTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
5
+ name: "RsDateTimePicker",
5
6
  __name: "RsDateTimePicker",
6
7
  props: /*@__PURE__*/ mergeModels({
8
+ name: {},
7
9
  label: {},
8
10
  hint: {},
9
11
  placeholder: {},
@@ -26,15 +28,30 @@ var RsDateTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
26
28
  minDate: {},
27
29
  maxDate: {},
28
30
  valueFormat: { default: "string" },
31
+ format: {},
29
32
  labelPosition: { default: "top" },
30
33
  shortcuts: {},
31
34
  size: {},
35
+ radius: {},
32
36
  id: {},
33
37
  invalid: { type: Boolean },
34
38
  showValidateMessage: {
35
39
  type: Boolean,
36
40
  default: true
37
- }
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ readonly: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ ariaLabel: {},
51
+ weekStartsOn: {},
52
+ disabledDates: {},
53
+ disabledDate: {},
54
+ getPopupContainer: {}
38
55
  }, {
39
56
  "modelValue": { default: "" },
40
57
  "modelModifiers": {},
@@ -44,19 +61,43 @@ var RsDateTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
44
61
  },
45
62
  "openModifiers": {}
46
63
  }),
47
- emits: ["update:modelValue", "update:open"],
48
- setup(__props) {
64
+ emits: /*@__PURE__*/ mergeModels([
65
+ "change",
66
+ "openChange",
67
+ "clear",
68
+ "focus",
69
+ "blur"
70
+ ], ["update:modelValue", "update:open"]),
71
+ setup(__props, { expose: __expose, emit: __emit }) {
49
72
  const model = useModel(__props, "modelValue");
50
73
  const open = useModel(__props, "open");
74
+ const pickerRef = useTemplateRef("pickerRef");
75
+ const emit = __emit;
76
+ __expose({
77
+ setValue: (value) => pickerRef.value?.setValue(value),
78
+ clearValidation: () => pickerRef.value?.clearValidation(),
79
+ setError: (message) => pickerRef.value?.setError(message),
80
+ validate: (trigger) => pickerRef.value?.validate(trigger) ?? Promise.resolve({ valid: true }),
81
+ focus: () => pickerRef.value?.focus(),
82
+ blur: () => pickerRef.value?.blur()
83
+ });
51
84
  return (_ctx, _cache) => {
52
- return openBlock(), createBlock(RsDatePicker_default, mergeProps(_ctx.$props, {
85
+ return openBlock(), createBlock(RsDatePicker_default, mergeProps({
86
+ ref_key: "pickerRef",
87
+ ref: pickerRef
88
+ }, _ctx.$props, {
53
89
  modelValue: model.value,
54
90
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
55
91
  open: open.value,
56
92
  "onUpdate:open": _cache[1] || (_cache[1] = ($event) => open.value = $event),
57
93
  "with-time": "",
58
94
  "with-seconds": __props.withSeconds,
59
- "value-format": __props.valueFormat
95
+ "value-format": __props.valueFormat,
96
+ onChange: _cache[2] || (_cache[2] = ($event) => emit("change", $event)),
97
+ onOpenChange: _cache[3] || (_cache[3] = ($event) => emit("openChange", $event)),
98
+ onClear: _cache[4] || (_cache[4] = ($event) => emit("clear")),
99
+ onFocus: _cache[5] || (_cache[5] = ($event) => emit("focus")),
100
+ onBlur: _cache[6] || (_cache[6] = ($event) => emit("blur"))
60
101
  }), null, 16, [
61
102
  "modelValue",
62
103
  "open",
@@ -112,4 +112,23 @@ export declare function isDateWithinBounds(year: number, month: number, day: num
112
112
  maxDate?: string;
113
113
  }): boolean;
114
114
  export declare function isDateRangeEmpty(value: RsDateRangeValue): boolean;
115
+ /** 一周从哪一天起:0 = 周日 … 6 = 周六,对齐 JS `Date.getDay()`。 */
116
+ export type RsWeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
117
+ /** 禁用某一天。入参是墙钟年月日,不是 Date 对象。 */
118
+ export type RsDatePickerDisabledDate = (date: RsParsedDate) => boolean;
119
+ /** 把面板挂到何处。未传则 `body`。 */
120
+ export type RsDatePickerGetPopupContainer = (trigger?: HTMLElement) => HTMLElement | string | undefined;
121
+ /**
122
+ * 解析一周起始日。显式 `weekStartsOn` 优先;否则读 `Intl.Locale` weekInfo;
123
+ * 再按语言回退(en-US / en-CA / ja 周日,其它周一)。SSR 无 Intl.Locale 时回退周一。
124
+ */
125
+ export declare function resolveWeekStartsOn(locale: string, override?: number | null): RsWeekStartsOn;
126
+ /**
127
+ * 触发器展示文案。`format` 是 dayjs 模板;未传则墙钟 `YYYY-MM-DD` / `YYYY-MM-DD HH:mm:ss`。
128
+ */
129
+ export declare function formatPickerDisplay(value: string | undefined, options?: {
130
+ format?: string;
131
+ withTime?: boolean;
132
+ }): string;
133
+ export declare function resolveDatePickerPortalTarget(getPopupContainer: RsDatePickerGetPopupContainer | undefined, trigger?: HTMLElement | null): string | HTMLElement;
115
134
  export declare function buildCalendarGrid(year: number, month: number, weekStartsOn?: number): RsCalendarCell[];
@@ -160,15 +160,6 @@ function formatDateDisplay(value) {
160
160
  function formatDateTimeDisplay(value) {
161
161
  return formatDateTimeValue(value);
162
162
  }
163
- function formatDateRangeLabel(range, separator = " ~ ") {
164
- return formatDateRangeDisplay(range, { separator });
165
- }
166
- function formatDateTimeRangeLabel(range, separator = " ~ ") {
167
- return formatDateRangeDisplay(range, {
168
- separator,
169
- datetime: true
170
- });
171
- }
172
163
  function getTodayDate() {
173
164
  const today = dayjs();
174
165
  return {
@@ -233,6 +224,38 @@ function isDateWithinBounds(year, month, day, options = {}) {
233
224
  function isDateRangeEmpty(value) {
234
225
  return !value.start && !value.end;
235
226
  }
227
+ /**
228
+ * 解析一周起始日。显式 `weekStartsOn` 优先;否则读 `Intl.Locale` weekInfo;
229
+ * 再按语言回退(en-US / en-CA / ja 周日,其它周一)。SSR 无 Intl.Locale 时回退周一。
230
+ */
231
+ function resolveWeekStartsOn(locale, override) {
232
+ if (override != null && override >= 0 && override <= 6) return override;
233
+ try {
234
+ const withWeek = new Intl.Locale(locale);
235
+ const info = withWeek.weekInfo ?? withWeek.getWeekInfo?.();
236
+ if (info?.firstDay != null) {
237
+ const day = info.firstDay === 7 ? 0 : info.firstDay;
238
+ if (day >= 0 && day <= 6) return day;
239
+ }
240
+ } catch {}
241
+ const tag = locale.toLowerCase();
242
+ if (tag.startsWith("en-us") || tag.startsWith("en-ca") || tag.startsWith("ja")) return 0;
243
+ return 1;
244
+ }
245
+ /**
246
+ * 触发器展示文案。`format` 是 dayjs 模板;未传则墙钟 `YYYY-MM-DD` / `YYYY-MM-DD HH:mm:ss`。
247
+ */
248
+ function formatPickerDisplay(value, options) {
249
+ if (!value) return "";
250
+ if (!options?.format) return options?.withTime ? formatDateTimeDisplay(value) : formatDateDisplay(value);
251
+ const parsed = parseRsDateTimeDayjs(value) ?? parseRsDayjs(value);
252
+ return parsed ? parsed.format(options.format) : value;
253
+ }
254
+ function resolveDatePickerPortalTarget(getPopupContainer, trigger) {
255
+ if (typeof document === "undefined") return "body";
256
+ if (!getPopupContainer) return "body";
257
+ return getPopupContainer(trigger ?? void 0) ?? "body";
258
+ }
236
259
  function buildCalendarGrid(year, month, weekStartsOn = 1) {
237
260
  const daysInMonth = getDaysInMonth(year, month);
238
261
  const leading = (dayjs().year(year).month(month - 1).date(1).day() - weekStartsOn + 7) % 7;
@@ -267,4 +290,4 @@ function buildCalendarGrid(year, month, weekStartsOn = 1) {
267
290
  return cells;
268
291
  }
269
292
  //#endregion
270
- export { EMPTY_DATE_RANGE, RS_DATE_PICKER_VALUE_FORMAT_PRESETS, buildCalendarGrid, compareDates, dateToNumber, extractTimeFromDateTime, formatDateDisplay, formatDateParts, formatDateRangeDisplay, formatDateRangeLabel, formatDateTimeDisplay, formatDateTimeParts, formatDateTimeRangeLabel, formatDateTimeValue, formatDateValue, formatTimestampValue, fromInternalPickerValue, getDaysInMonth, getNextMonth, getNowDateTime, getTodayDate, isDateBetweenParsed, isDateRangeEmpty, isDateRangeOrdered, isDateTimeRangeOrdered, isDateWithinBounds, isSameDate, isTimestampRange, normalizeShortcutValue, parseDateTimeValue, parseDateToNumber, parseDateValue, parseTimestampValue, toInternalPickerValue, toRangeEndpointString };
293
+ export { EMPTY_DATE_RANGE, RS_DATE_PICKER_VALUE_FORMAT_PRESETS, buildCalendarGrid, compareDates, dateToNumber, extractTimeFromDateTime, formatDateDisplay, formatDateParts, formatDateRangeDisplay, formatDateTimeDisplay, formatDateTimeParts, formatDateTimeValue, formatDateValue, formatPickerDisplay, formatTimestampValue, fromInternalPickerValue, getDaysInMonth, getNextMonth, getNowDateTime, getTodayDate, isDateBetweenParsed, isDateRangeEmpty, isDateRangeOrdered, isDateTimeRangeOrdered, isDateWithinBounds, isSameDate, isTimestampRange, normalizeShortcutValue, parseDateTimeValue, parseDateToNumber, parseDateValue, parseTimestampValue, resolveDatePickerPortalTarget, resolveWeekStartsOn, toInternalPickerValue, toRangeEndpointString };
@@ -1,2 +1,2 @@
1
1
  export { default as RsDynamicTags } from './src/RsDynamicTags.js';
2
- export type { RsDynamicTagsInputMode, RsDynamicTagsRejectReason, } from './src/RsDynamicTags.js';
2
+ export type { RsDynamicTagsExpose, RsDynamicTagsInputMode, RsDynamicTagsInstance, RsDynamicTagsParse, RsDynamicTagsRejectReason, } from './src/RsDynamicTags.js';
@@ -1,29 +1,45 @@
1
1
 
2
- .rs-dynamic-tags-field[data-v-a441b090] {
2
+ .rs-dynamic-tags-field[data-v-2213feb0] {
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  width: 100%;
6
6
  min-width: 0;
7
7
  }
8
- .rs-dynamic-tags-field__error[data-v-a441b090] {
8
+ .rs-dynamic-tags-field__error[data-v-2213feb0] {
9
9
  margin: 0.25rem 0 0;
10
10
  font-size: var(--rs-font-size-xs);
11
11
  line-height: var(--rs-line-height-tight);
12
12
  color: var(--rs-danger);
13
13
  }
14
- .rs-dynamic-tags[data-v-a441b090] {
15
- --rs-dynamic-tags-chip-height: 1.5rem;
14
+ .rs-dynamic-tags-field__sr-only[data-v-2213feb0] {
15
+ position: absolute;
16
+ width: 1px;
17
+ height: 1px;
18
+ padding: 0;
19
+ margin: -1px;
20
+ overflow: hidden;
21
+ clip: rect(0, 0, 0, 0);
22
+ white-space: nowrap;
23
+ border: 0;
24
+ }
25
+ .rs-dynamic-tags[data-v-2213feb0] {
26
+ --rs-dynamic-tags-box-height: var(--rs-control-height-md);
27
+ --rs-dynamic-tags-border-width: 1px;
28
+ --rs-dynamic-tags-chip-height: calc(
29
+ var(--rs-dynamic-tags-box-height) - 2 * var(--rs-dynamic-tags-padding, var(--rs-space-xs)) - 2 *
30
+ var(--rs-dynamic-tags-border-width)
31
+ );
32
+ position: relative;
33
+ margin: 0;
34
+ min-inline-size: 0;
16
35
  display: flex;
17
36
  flex-wrap: wrap;
18
37
  align-items: center;
19
38
  gap: var(--rs-dynamic-tags-gap, var(--rs-space-xs));
20
- /* padding + chip + 1px*2 边框,避免 trigger/input 切换或输入时高度跳动 */
21
- min-height: calc(
22
- var(--rs-dynamic-tags-chip-height) + 2 * var(--rs-dynamic-tags-padding, var(--rs-space-xs)) +
23
- 2px
24
- );
39
+ min-height: var(--rs-dynamic-tags-box-height);
25
40
  padding: var(--rs-dynamic-tags-padding, var(--rs-space-xs));
26
- border: 1px solid var(--rs-dynamic-tags-border, var(--rs-input-border, var(--rs-border)));
41
+ border: var(--rs-dynamic-tags-border-width) solid
42
+ var(--rs-dynamic-tags-border, var(--rs-input-border, var(--rs-border)));
27
43
  border-radius: var(
28
44
  --rs-dynamic-tags-radius-local,
29
45
  var(--rs-dynamic-tags-radius, var(--rs-radius))
@@ -37,43 +53,53 @@
37
53
  box-shadow var(--rs-transition-fast),
38
54
  background-color var(--rs-transition-fast);
39
55
  }
40
- .rs-dynamic-tags[data-v-a441b090]:hover:not(.rs-dynamic-tags--disabled) {
56
+ .rs-dynamic-tags[data-v-2213feb0]:hover:not(.rs-dynamic-tags--disabled):not(.rs-dynamic-tags--readonly) {
41
57
  border-color: var(
42
58
  --rs-dynamic-tags-border-hover,
43
59
  var(--rs-input-border-hover, var(--rs-border))
44
60
  );
45
61
  }
46
- .rs-dynamic-tags--ssm[data-v-a441b090] {
47
- --rs-dynamic-tags-chip-height: 1.125rem;
62
+ .rs-dynamic-tags--ssm[data-v-2213feb0] {
63
+ --rs-dynamic-tags-box-height: var(--rs-control-height-ssm);
64
+ --rs-dynamic-tags-padding: 1px;
48
65
  }
49
- .rs-dynamic-tags--sm[data-v-a441b090] {
50
- --rs-dynamic-tags-chip-height: 1.25rem;
66
+ .rs-dynamic-tags--sm[data-v-2213feb0] {
67
+ --rs-dynamic-tags-box-height: var(--rs-control-height-sm);
51
68
  }
52
- .rs-dynamic-tags--md[data-v-a441b090] {
53
- --rs-dynamic-tags-chip-height: 1.5rem;
69
+ .rs-dynamic-tags--md[data-v-2213feb0] {
70
+ --rs-dynamic-tags-box-height: var(--rs-control-height-md);
54
71
  }
55
- .rs-dynamic-tags--lg[data-v-a441b090] {
56
- --rs-dynamic-tags-chip-height: 1.75rem;
72
+ .rs-dynamic-tags--lg[data-v-2213feb0] {
73
+ --rs-dynamic-tags-box-height: var(--rs-control-height-lg);
57
74
  }
58
- .rs-dynamic-tags--editing[data-v-a441b090]:not(.rs-dynamic-tags--disabled),
59
- .rs-dynamic-tags[data-v-a441b090]:focus-within:not(.rs-dynamic-tags--disabled) {
75
+ .rs-dynamic-tags--editing[data-v-2213feb0]:not(.rs-dynamic-tags--disabled):not(.rs-dynamic-tags--readonly),
76
+ .rs-dynamic-tags[data-v-2213feb0]:focus-within:not(.rs-dynamic-tags--disabled):not(.rs-dynamic-tags--readonly) {
60
77
  border-color: var(--rs-focus-border, var(--rs-primary));
61
78
  box-shadow:
62
79
  var(--rs-dynamic-tags-shadow, var(--rs-input-shadow, none)),
63
80
  0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
64
81
  }
65
- .rs-dynamic-tags--feedback[data-v-a441b090],
66
- .rs-dynamic-tags--invalid[data-v-a441b090] {
82
+ .rs-dynamic-tags--feedback[data-v-2213feb0],
83
+ .rs-dynamic-tags--invalid[data-v-2213feb0] {
84
+ border-color: var(--rs-danger);
85
+ }
86
+ .rs-dynamic-tags--invalid[data-v-2213feb0]:focus-within:not(.rs-dynamic-tags--disabled) {
67
87
  border-color: var(--rs-danger);
88
+ box-shadow:
89
+ var(--rs-dynamic-tags-shadow, var(--rs-input-shadow, none)),
90
+ 0 0 0 var(--rs-focus-ring-width, 2px) color-mix(in srgb, var(--rs-danger) 14%, transparent);
68
91
  }
69
- .rs-dynamic-tags--feedback[data-v-a441b090] {
70
- animation: rs-dynamic-tags-shake-a441b090 0.45s ease;
92
+ .rs-dynamic-tags--feedback[data-v-2213feb0] {
93
+ animation: rs-dynamic-tags-shake-2213feb0 0.45s ease;
71
94
  }
72
- .rs-dynamic-tags--disabled[data-v-a441b090] {
73
- opacity: 0.55;
95
+ .rs-dynamic-tags--disabled[data-v-2213feb0] {
96
+ opacity: var(--rs-dynamic-tags-disabled-opacity, 0.38);
74
97
  cursor: not-allowed;
75
98
  }
76
- .rs-dynamic-tags__input[data-v-a441b090] {
99
+ .rs-dynamic-tags--readonly[data-v-2213feb0] {
100
+ cursor: default;
101
+ }
102
+ .rs-dynamic-tags__input[data-v-2213feb0] {
77
103
  flex: 1 1 6rem;
78
104
  min-width: 4rem;
79
105
  width: 0;
@@ -83,7 +109,7 @@
83
109
  border: 0;
84
110
  outline: none;
85
111
  background: transparent;
86
- color: var(--rs-text);
112
+ color: var(--rs-text-primary, var(--rs-text));
87
113
  font: inherit;
88
114
  font-size: var(--rs-font-size-sm);
89
115
  line-height: var(--rs-dynamic-tags-chip-height);
@@ -91,15 +117,15 @@
91
117
  box-shadow: none;
92
118
  appearance: none;
93
119
  }
94
- .rs-dynamic-tags--ssm .rs-dynamic-tags__input[data-v-a441b090],
95
- .rs-dynamic-tags--sm .rs-dynamic-tags__input[data-v-a441b090] {
120
+ .rs-dynamic-tags--ssm .rs-dynamic-tags__input[data-v-2213feb0],
121
+ .rs-dynamic-tags--sm .rs-dynamic-tags__input[data-v-2213feb0] {
96
122
  font-size: var(--rs-font-size-xs);
97
123
  }
98
- .rs-dynamic-tags__input[data-v-a441b090]::placeholder {
99
- color: var(--rs-placeholder);
124
+ .rs-dynamic-tags__input[data-v-2213feb0]::placeholder {
125
+ color: var(--rs-text-tertiary, var(--rs-placeholder));
100
126
  line-height: var(--rs-dynamic-tags-chip-height);
101
127
  }
102
- .rs-dynamic-tags__trigger[data-v-a441b090] {
128
+ .rs-dynamic-tags__trigger[data-v-2213feb0] {
103
129
  display: inline-flex;
104
130
  flex-shrink: 0;
105
131
  align-items: center;
@@ -111,7 +137,7 @@
111
137
  border: 1px dashed var(--rs-dynamic-tags-trigger-border, var(--rs-border));
112
138
  border-radius: var(--rs-radius-sm);
113
139
  background: transparent;
114
- color: var(--rs-muted);
140
+ color: var(--rs-text-secondary, var(--rs-muted));
115
141
  cursor: pointer;
116
142
  outline: none;
117
143
  box-sizing: border-box;
@@ -120,15 +146,41 @@
120
146
  border-color var(--rs-transition-fast),
121
147
  background-color var(--rs-transition-fast);
122
148
  }
123
- .rs-dynamic-tags__trigger[data-v-a441b090]:hover {
149
+ .rs-dynamic-tags__trigger[data-v-2213feb0]:hover {
124
150
  color: var(--rs-primary);
125
151
  border-color: var(--rs-primary);
126
152
  background: color-mix(in srgb, var(--rs-primary) 8%, transparent);
127
153
  }
128
- .rs-dynamic-tags__trigger[data-v-a441b090]:focus-visible {
154
+ .rs-dynamic-tags__trigger[data-v-2213feb0]:focus-visible {
155
+ box-shadow: 0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
156
+ }
157
+ .rs-dynamic-tags__clear[data-v-2213feb0] {
158
+ display: inline-flex;
159
+ flex-shrink: 0;
160
+ align-items: center;
161
+ justify-content: center;
162
+ width: var(--rs-dynamic-tags-chip-height);
163
+ height: var(--rs-dynamic-tags-chip-height);
164
+ padding: 0;
165
+ border: 0;
166
+ border-radius: var(--rs-radius-xs);
167
+ background: transparent;
168
+ color: var(--rs-text-secondary, var(--rs-muted));
169
+ cursor: pointer;
170
+ outline: none;
171
+ box-sizing: border-box;
172
+ transition:
173
+ color var(--rs-transition-fast),
174
+ background-color var(--rs-transition-fast);
175
+ }
176
+ .rs-dynamic-tags__clear[data-v-2213feb0]:hover {
177
+ color: var(--rs-text-primary, var(--rs-text));
178
+ background: var(--rs-item-hover);
179
+ }
180
+ .rs-dynamic-tags__clear[data-v-2213feb0]:focus-visible {
129
181
  box-shadow: 0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
130
182
  }
131
- @keyframes rs-dynamic-tags-shake-a441b090 {
183
+ @keyframes rs-dynamic-tags-shake-2213feb0 {
132
184
  0%,
133
185
  100% {
134
186
  transform: translateX(0);
@@ -146,3 +198,28 @@
146
198
  transform: translateX(2px);
147
199
  }
148
200
  }
201
+ @media (prefers-reduced-motion: reduce) {
202
+ .rs-dynamic-tags[data-v-2213feb0] {
203
+ transition: none;
204
+ }
205
+ .rs-dynamic-tags--feedback[data-v-2213feb0] {
206
+ animation: none;
207
+ }
208
+ .rs-dynamic-tags__trigger[data-v-2213feb0],
209
+ .rs-dynamic-tags__clear[data-v-2213feb0] {
210
+ transition: none;
211
+ }
212
+ }
213
+ @media (forced-colors: active) {
214
+ .rs-dynamic-tags[data-v-2213feb0] {
215
+ border: 1px solid ButtonText;
216
+ background: Field;
217
+ forced-color-adjust: none;
218
+ }
219
+ .rs-dynamic-tags[data-v-2213feb0]:focus-within {
220
+ border-color: Highlight;
221
+ }
222
+ .rs-dynamic-tags__input[data-v-2213feb0] {
223
+ color: FieldText;
224
+ }
225
+ }
@@ -1,8 +1,29 @@
1
1
  import type { RsComponentSize, RsRadius } from '../../../theme/types';
2
2
  import { type RsFormRuleTrigger } from '../../form/src/form-rules';
3
3
  import type { RsTagVariant } from '../../tag';
4
+ import { type RsDynamicTagsParse, type RsDynamicTagsRejectReason } from './dynamic-tags-utils';
5
+ /**
6
+ * RsDynamicTags 模板 ref 请用此类型。
7
+ * 不要写 `InstanceType<typeof RsDynamicTags>`:组件实例类型过深,vue-tsc 会报 Excessive stack depth。
8
+ */
9
+ export interface RsDynamicTagsExpose {
10
+ validate: (trigger?: RsFormRuleTrigger) => Promise<{
11
+ valid: boolean;
12
+ message?: string;
13
+ name?: string;
14
+ }>;
15
+ clearValidation: () => void;
16
+ setValue: (value: unknown) => void;
17
+ setError: (message: string) => void;
18
+ focus: () => void;
19
+ blur: () => void;
20
+ }
21
+ /** 模板 ref 实例:expose + 根节点 */
22
+ export type RsDynamicTagsInstance = RsDynamicTagsExpose & {
23
+ $el: HTMLElement;
24
+ };
4
25
  export type RsDynamicTagsInputMode = 'trigger' | 'always';
5
- export type RsDynamicTagsRejectReason = 'duplicate' | 'max';
26
+ export type { RsDynamicTagsParse, RsDynamicTagsRejectReason };
6
27
  type __VLS_Props = {
7
28
  /** 字段名:匹配 RsForm.rules[name] */
8
29
  name?: string;
@@ -10,6 +31,7 @@ type __VLS_Props = {
10
31
  invalid?: boolean;
11
32
  placeholder?: string;
12
33
  disabled?: boolean;
34
+ readonly?: boolean;
13
35
  required?: boolean;
14
36
  max?: number;
15
37
  /** 输入内容最大长度 */
@@ -23,37 +45,48 @@ type __VLS_Props = {
23
45
  inputMode?: RsDynamicTagsInputMode;
24
46
  /** 失焦时是否提交当前输入 */
25
47
  commitOnBlur?: boolean;
48
+ /**
49
+ * 分隔符。输入或粘贴遇到即切开成多个标签。
50
+ * 例:',' 或 [',', ';']。空格作分隔时每敲一个空格就会提交。
51
+ */
52
+ separators?: string | string[];
53
+ /** 提交前变换或拒绝。false 发 reject('invalid')。 */
54
+ parse?: RsDynamicTagsParse;
55
+ /** 有标签且非禁用 / 只读时显示清空 */
56
+ allowClear?: boolean;
26
57
  size?: RsComponentSize;
27
58
  radius?: RsRadius;
28
59
  /** 标签视觉变体 */
29
60
  tagVariant?: RsTagVariant;
30
61
  round?: boolean;
62
+ /** 无障碍名称。旁边已有可见 label 时可省略。 */
63
+ ariaLabel?: string;
31
64
  };
32
- declare function runValidate(trigger?: RsFormRuleTrigger): Promise<{
33
- valid: true;
34
- name: string | undefined;
35
- message?: undefined;
36
- } | {
37
- valid: boolean;
38
- message: string | undefined;
39
- name: string | undefined;
40
- }>;
41
- declare function setValue(value: unknown): void;
42
- declare function clearValidation(): void;
43
65
  type __VLS_ModelProps = {
44
66
  modelValue?: string[];
45
67
  };
46
68
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
47
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
48
- validate: typeof runValidate;
49
- clearValidation: typeof clearValidation;
50
- setValue: typeof setValue;
51
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
69
+ declare var __VLS_9: {
70
+ tag: string;
71
+ index: number;
72
+ }, __VLS_11: {};
73
+ type __VLS_Slots = {} & {
74
+ tag?: (props: typeof __VLS_9) => any;
75
+ } & {
76
+ trigger?: (props: typeof __VLS_11) => any;
77
+ };
78
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, RsDynamicTagsExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
79
+ blur: (event: FocusEvent) => any;
80
+ focus: (event: FocusEvent) => any;
81
+ clear: () => any;
52
82
  "update:modelValue": (value: string[]) => any;
53
83
  create: (value: string) => any;
54
84
  remove: (value: string, index: number) => any;
55
85
  reject: (reason: RsDynamicTagsRejectReason, value: string) => any;
56
86
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
87
+ onBlur?: ((event: FocusEvent) => any) | undefined;
88
+ onFocus?: ((event: FocusEvent) => any) | undefined;
89
+ onClear?: (() => any) | undefined;
57
90
  "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
58
91
  onCreate?: ((value: string) => any) | undefined;
59
92
  onRemove?: ((value: string, index: number) => any) | undefined;
@@ -62,10 +95,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
62
95
  required: boolean;
63
96
  disabled: boolean;
64
97
  round: boolean;
98
+ readonly: boolean;
65
99
  allowDuplicate: boolean;
66
100
  inputMode: RsDynamicTagsInputMode;
67
101
  commitOnBlur: boolean;
102
+ allowClear: boolean;
68
103
  tagVariant: RsTagVariant;
69
104
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
105
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
70
106
  declare const _default: typeof __VLS_export;
71
107
  export default _default;
108
+ type __VLS_WithSlots<T, S> = T & {
109
+ new (): {
110
+ $slots: S;
111
+ };
112
+ };