x-next 1.1.0 → 1.3.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 (206) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/_hooks/use-form-item.d.ts +5 -0
  3. package/dist/_hooks/use-picker-focus.d.ts +17 -0
  4. package/dist/components/_components/feedback-icon/index.vue.d.ts +4 -4
  5. package/dist/components/_components/picker/input-range.vue.d.ts +10 -6
  6. package/dist/components/_components/picker/input.vue.d.ts +9 -5
  7. package/dist/components/alert/Alert.vue.d.ts +5 -5
  8. package/dist/components/alert/index.d.ts +10 -10
  9. package/dist/components/date-picker/DatePanel.vue.d.ts +5 -0
  10. package/dist/components/date-picker/DatePicker.vue.d.ts +36 -16
  11. package/dist/components/date-picker/index.d.ts +77 -33
  12. package/dist/components/dialog/Dialog.d.ts +1 -1
  13. package/dist/components/dialog/index.d.ts +3 -3
  14. package/dist/components/drawer/index.d.ts +3 -3
  15. package/dist/components/drawer/src/Drawer.vue.d.ts +1 -1
  16. package/dist/components/dropdown/Dropdown.vue.d.ts +30 -4
  17. package/dist/components/dropdown/DropdownButton.vue.d.ts +31 -5
  18. package/dist/components/dropdown/DropdownOption.vue.d.ts +2 -0
  19. package/dist/components/dropdown/DropdownSubmenu.vue.d.ts +162 -5
  20. package/dist/components/dropdown/context.d.ts +14 -1
  21. package/dist/components/dropdown/dropdown-panel.vue.d.ts +7 -1
  22. package/dist/components/dropdown/index.d.ts +610 -28
  23. package/dist/components/dropdown/use-keyboard.d.ts +10 -0
  24. package/dist/components/form/FormItem.vue.d.ts +12 -4
  25. package/dist/components/form/context.d.ts +6 -0
  26. package/dist/components/form/form-item-label.vue.d.ts +4 -4
  27. package/dist/components/form/form-item-message.vue.d.ts +2 -0
  28. package/dist/components/form/index.d.ts +30 -8
  29. package/dist/components/form/interface.d.ts +2 -2
  30. package/dist/components/form-input/InputPassword.vue.d.ts +20 -2
  31. package/dist/components/form-input/index.d.ts +22 -4
  32. package/dist/components/form-select/Select.d.ts +3 -3
  33. package/dist/components/form-select/hooks/use-select.d.ts +2 -1
  34. package/dist/components/form-select/index.d.ts +6 -6
  35. package/dist/components/form-slider/Slider.vue.d.ts +10 -3
  36. package/dist/components/form-slider/index.d.ts +26 -6
  37. package/dist/components/form-slider/slider-button.vue.d.ts +4 -3
  38. package/dist/components/form-switch/Switch.vue.d.ts +2 -1
  39. package/dist/components/form-switch/index.d.ts +5 -2
  40. package/dist/components/form-textarea/Textarea.vue.d.ts +2 -2
  41. package/dist/components/form-textarea/index.d.ts +5 -5
  42. package/dist/components/image/Image.vue.d.ts +10 -9
  43. package/dist/components/image/ImagePreview.vue.d.ts +8 -7
  44. package/dist/components/image/ImagePreviewAction.d.ts +3 -3
  45. package/dist/components/image/ImagePreviewGroup.vue.d.ts +8 -7
  46. package/dist/components/image/index.d.ts +59 -52
  47. package/dist/components/image/preview-arrow.vue.d.ts +2 -2
  48. package/dist/components/image/preview-toolbar.vue.d.ts +3 -3
  49. package/dist/components/layout/LayoutSidebar.vue.d.ts +2 -2
  50. package/dist/components/layout/index.d.ts +4 -4
  51. package/dist/components/link/Link.vue.d.ts +2 -2
  52. package/dist/components/link/index.d.ts +4 -4
  53. package/dist/components/menu/Menu.d.ts +2 -2
  54. package/dist/components/menu/base-menu.vue.d.ts +2 -2
  55. package/dist/components/menu/index.d.ts +4 -4
  56. package/dist/components/menu/sub-menu-pop.vue.d.ts +5 -5
  57. package/dist/components/message/index.d.ts +17 -17
  58. package/dist/components/message/message.vue.d.ts +8 -8
  59. package/dist/components/notification/Notification.d.ts +1 -1
  60. package/dist/components/notification/index.d.ts +3 -3
  61. package/dist/components/pagination/page-item-ellipsis.vue.d.ts +1 -1
  62. package/dist/components/pagination/page-item-step.vue.d.ts +2 -2
  63. package/dist/components/pagination/page-options.vue.d.ts +6 -6
  64. package/dist/components/popconfirm/src/popup.vue.d.ts +1 -1
  65. package/dist/components/popover/Popover.d.ts +1 -1
  66. package/dist/components/popover/index.d.ts +3 -3
  67. package/dist/components/popup/Popup.d.ts +1 -1
  68. package/dist/components/popup/index.d.ts +3 -3
  69. package/dist/components/progress/Progress.vue.d.ts +4 -4
  70. package/dist/components/progress/circle.vue.d.ts +2 -2
  71. package/dist/components/progress/index.d.ts +8 -8
  72. package/dist/components/progress/line.vue.d.ts +1 -1
  73. package/dist/components/progress/steps.vue.d.ts +1 -1
  74. package/dist/components/steps/Step.vue.d.ts +2 -2
  75. package/dist/components/steps/index.d.ts +4 -4
  76. package/dist/components/tabs/Tabs.d.ts +1 -1
  77. package/dist/components/tabs/index.d.ts +3 -3
  78. package/dist/components/tabs/tabs-tab.vue.d.ts +1 -1
  79. package/dist/components/tag/Tag.vue.d.ts +2 -2
  80. package/dist/components/tag/index.d.ts +4 -4
  81. package/dist/components/time-picker/TimeColumn.vue.d.ts +3 -0
  82. package/dist/components/time-picker/TimePanel.vue.d.ts +3 -0
  83. package/dist/components/time-picker/TimePicker.vue.d.ts +33 -17
  84. package/dist/components/time-picker/index.d.ts +73 -36
  85. package/dist/components/time-range-selector/TimeRangeSelector.vue.d.ts +8 -0
  86. package/dist/components/time-range-selector/index.d.ts +22 -0
  87. package/dist/components/tooltip/Tooltip.vue.d.ts +1 -1
  88. package/dist/components/tooltip/index.d.ts +3 -3
  89. package/dist/components/trigger/Trigger.d.ts +1 -1
  90. package/dist/components/trigger/index.d.ts +3 -3
  91. package/dist/es/_hooks/use-form-item.js +36 -10
  92. package/dist/es/_hooks/use-overflow.js +45 -40
  93. package/dist/es/_hooks/use-picker-focus.js +57 -0
  94. package/dist/es/_utils/constant.js +17 -5
  95. package/dist/es/components/_components/picker/input-range.vue.js +45 -55
  96. package/dist/es/components/_components/picker/input-range.vue2.js +105 -70
  97. package/dist/es/components/_components/picker/input.vue.js +22 -25
  98. package/dist/es/components/_components/picker/input.vue2.js +58 -43
  99. package/dist/es/components/_components/select-view/select-view.js +61 -66
  100. package/dist/es/components/date-picker/DatePanel.vue.js +102 -94
  101. package/dist/es/components/date-picker/DatePanel.vue2.js +97 -44
  102. package/dist/es/components/date-picker/DatePicker.vue.js +71 -58
  103. package/dist/es/components/date-picker/DatePicker.vue2.js +285 -231
  104. package/dist/es/components/dialog/Dialog.js +159 -128
  105. package/dist/es/components/dropdown/Dropdown.vue.js +18 -15
  106. package/dist/es/components/dropdown/Dropdown.vue2.js +52 -31
  107. package/dist/es/components/dropdown/DropdownOption.vue.js +22 -21
  108. package/dist/es/components/dropdown/DropdownOption.vue2.js +23 -19
  109. package/dist/es/components/dropdown/DropdownSubmenu.vue.js +49 -36
  110. package/dist/es/components/dropdown/DropdownSubmenu.vue2.js +45 -24
  111. package/dist/es/components/dropdown/context.js +3 -2
  112. package/dist/es/components/dropdown/dropdown-panel.vue.js +24 -21
  113. package/dist/es/components/dropdown/dropdown-panel.vue2.js +83 -31
  114. package/dist/es/components/dropdown/use-keyboard.js +45 -0
  115. package/dist/es/components/form/Form.vue2.js +113 -101
  116. package/dist/es/components/form/FormItem.vue.js +26 -22
  117. package/dist/es/components/form/FormItem.vue2.js +162 -125
  118. package/dist/es/components/form/form-item-message.vue.js +31 -24
  119. package/dist/es/components/form/form-item-message.vue2.js +4 -2
  120. package/dist/es/components/form-checkbox/Checkbox.js +80 -76
  121. package/dist/es/components/form-checkbox/CheckboxGroup.js +43 -38
  122. package/dist/es/components/form-input/Input.js +83 -79
  123. package/dist/es/components/form-input/InputPassword.vue.js +19 -16
  124. package/dist/es/components/form-input/InputPassword.vue2.js +39 -29
  125. package/dist/es/components/form-input/InputSearch.js +47 -37
  126. package/dist/es/components/form-input-number/InputNumber.js +134 -133
  127. package/dist/es/components/form-input-tag/InputTag.js +173 -162
  128. package/dist/es/components/form-radio/Radio.js +74 -71
  129. package/dist/es/components/form-radio/RadioGroup.js +55 -49
  130. package/dist/es/components/form-select/Select.js +116 -114
  131. package/dist/es/components/form-select/hooks/use-select.js +128 -128
  132. package/dist/es/components/form-slider/Slider.vue.js +28 -28
  133. package/dist/es/components/form-slider/Slider.vue2.js +139 -132
  134. package/dist/es/components/form-slider/slider-button.vue.js +6 -6
  135. package/dist/es/components/form-slider/slider-button.vue2.js +39 -34
  136. package/dist/es/components/form-switch/Switch.vue.js +9 -9
  137. package/dist/es/components/form-switch/Switch.vue2.js +81 -74
  138. package/dist/es/components/form-textarea/Textarea.vue2.js +123 -108
  139. package/dist/es/components/image/Image.vue2.js +77 -76
  140. package/dist/es/components/image/ImagePreview.vue.js +13 -12
  141. package/dist/es/components/image/ImagePreview.vue2.js +141 -136
  142. package/dist/es/components/image/ImagePreviewGroup.vue.js +1 -1
  143. package/dist/es/components/image/ImagePreviewGroup.vue2.js +82 -83
  144. package/dist/es/components/rate/Rate.js +106 -103
  145. package/dist/es/components/time-picker/TimeColumn.vue.js +34 -23
  146. package/dist/es/components/time-picker/TimeColumn.vue2.js +37 -28
  147. package/dist/es/components/time-picker/TimePicker.vue.js +83 -64
  148. package/dist/es/components/time-picker/TimePicker.vue2.js +192 -156
  149. package/dist/es/components/time-range-selector/TimeRangeSelector.vue.js +327 -193
  150. package/dist/es/locale/en-US.js +6 -0
  151. package/dist/es/locale/zh-CN.js +6 -0
  152. package/dist/es/style.css +1 -1
  153. package/dist/icons/_self/down.d.ts +1 -1
  154. package/dist/icons/_self/dropdown/more.d.ts +1 -1
  155. package/dist/icons/_self/empty-better.d.ts +1 -1
  156. package/dist/icons/_self/empty.d.ts +1 -1
  157. package/dist/icons/_self/eye-invisible.d.ts +1 -1
  158. package/dist/icons/_self/eye.d.ts +1 -1
  159. package/dist/icons/_self/full-screen.d.ts +1 -1
  160. package/dist/icons/_self/left.d.ts +1 -1
  161. package/dist/icons/_self/menu/down.d.ts +1 -1
  162. package/dist/icons/_self/minus.d.ts +1 -1
  163. package/dist/icons/_self/more-dot.d.ts +1 -1
  164. package/dist/icons/_self/next.d.ts +1 -1
  165. package/dist/icons/_self/original-size.d.ts +1 -1
  166. package/dist/icons/_self/plus.d.ts +1 -1
  167. package/dist/icons/_self/prev.d.ts +1 -1
  168. package/dist/icons/_self/question-message.d.ts +1 -1
  169. package/dist/icons/_self/right.d.ts +1 -1
  170. package/dist/icons/_self/rotate-left.d.ts +1 -1
  171. package/dist/icons/_self/rotate-right.d.ts +1 -1
  172. package/dist/icons/_self/search.d.ts +1 -1
  173. package/dist/icons/_self/up.d.ts +1 -1
  174. package/dist/icons/_self/zoom-in.d.ts +1 -1
  175. package/dist/icons/_self/zoom-out.d.ts +1 -1
  176. package/dist/icons/_ui/alone-left.d.ts +1 -1
  177. package/dist/icons/_ui/alone-margin-left.d.ts +1 -1
  178. package/dist/icons/_ui/alone-margin-right.d.ts +1 -1
  179. package/dist/icons/_ui/alone-right.d.ts +1 -1
  180. package/dist/icons/_ui/calendar.d.ts +1 -1
  181. package/dist/icons/_ui/time.d.ts +1 -1
  182. package/dist/icons/animation/animation-loading.d.ts +1 -1
  183. package/dist/icons/default/check-circle-fill.d.ts +1 -1
  184. package/dist/icons/default/check.d.ts +1 -1
  185. package/dist/icons/default/close-circle-fill.d.ts +1 -1
  186. package/dist/icons/default/close.d.ts +1 -1
  187. package/dist/icons/default/exclamation-circle-fill.d.ts +1 -1
  188. package/dist/icons/default/exclamation.d.ts +1 -1
  189. package/dist/icons/default/filter.d.ts +1 -1
  190. package/dist/icons/default/info-circle-fill.d.ts +1 -1
  191. package/dist/icons/default/link.d.ts +1 -1
  192. package/dist/icons/default/logo-simple.d.ts +1 -1
  193. package/dist/icons/default/minus-circle-fill.d.ts +1 -1
  194. package/dist/icons/icon.d.ts +2 -2
  195. package/dist/icons/index.d.ts +3 -3
  196. package/dist/index.cjs +4 -4
  197. package/dist/index.d.ts +1 -1
  198. package/dist/index.umd.js +4 -4
  199. package/dist/locale/interface.d.ts +6 -0
  200. package/dist/style/base.css +1 -1
  201. package/dist/style/date-picker.css +1 -1
  202. package/dist/style/form.css +1 -1
  203. package/dist/style/image.css +1 -1
  204. package/dist/style/time-range-selector.css +1 -1
  205. package/dist/style.css +1 -1
  206. package/package.json +2 -2
@@ -1,19 +1,28 @@
1
- import { defineComponent as f, toRefs as m, ref as c, reactive as v } from "vue";
2
- import d from "../_components/icon-hover/index.vue.js";
3
- import b from "../../icons/_self/eye.js";
4
- import y from "../../icons/_self/eye-invisible.js";
5
- import I from "../../_hooks/use-merge-state.js";
6
- import { useLocale as h } from "../../locale/index.js";
7
- import g from "./Input.js";
8
- const C = f({
1
+ import { defineComponent as d, toRefs as c, ref as v, reactive as b } from "vue";
2
+ import y from "../_components/icon-hover/index.vue.js";
3
+ import I from "../../icons/_self/eye.js";
4
+ import h from "../../icons/_self/eye-invisible.js";
5
+ import g from "../../_hooks/use-merge-state.js";
6
+ import { useLocale as B } from "../../locale/index.js";
7
+ import R from "./Input.js";
8
+ import { useFormItem as _ } from "../../_hooks/use-form-item.js";
9
+ const M = d({
9
10
  name: "InputPassword",
10
11
  components: {
11
- IconEye: b,
12
- IconEyeInvisible: y,
13
- IconHover: d,
14
- XInput: g
12
+ IconEye: I,
13
+ IconEyeInvisible: h,
14
+ IconHover: y,
15
+ XInput: R
15
16
  },
16
17
  props: {
18
+ /**
19
+ * @zh 是否禁用输入和显隐按钮
20
+ * @en Whether to disable the input and visibility button
21
+ */
22
+ disabled: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
17
26
  /**
18
27
  * @zh 是否可见,受控属性
19
28
  * @en Whether is visible
@@ -49,35 +58,36 @@ const C = f({
49
58
  "visibility-change",
50
59
  "update:visibility"
51
60
  ],
52
- setup(t, { emit: o }) {
53
- const { visibility: s, defaultVisibility: n } = m(t), l = c(), { t: u } = h(), r = () => {
54
- p(!e.value);
55
- }, [e, a] = I(
56
- n.value,
57
- v({
58
- value: s
61
+ setup(e, { emit: o }) {
62
+ const { visibility: l, defaultVisibility: a, disabled: n } = c(e), r = v(), { t: u } = B(), { mergedDisabled: s } = _({ disabled: n }), f = () => {
63
+ s.value || m(!i.value);
64
+ }, [i, p] = g(
65
+ a.value,
66
+ b({
67
+ value: l
59
68
  })
60
- ), p = (i) => {
61
- i !== e.value && (o("visibility-change", i), o("update:visibility", i), a(i));
69
+ ), m = (t) => {
70
+ t !== i.value && (o("visibility-change", t), o("update:visibility", t), p(t));
62
71
  };
63
72
  return {
64
- inputRef: l,
65
- mergedVisible: e,
66
- handleInvisible: r,
73
+ inputRef: r,
74
+ mergedVisible: i,
75
+ mergedDisabled: s,
76
+ handleInvisible: f,
67
77
  t: u
68
78
  };
69
79
  },
70
80
  methods: {
71
81
  focus() {
72
- var t;
73
- (t = this.inputRef) == null || t.focus();
82
+ var e;
83
+ (e = this.inputRef) == null || e.focus();
74
84
  },
75
85
  blur() {
76
- var t;
77
- (t = this.inputRef) == null || t.blur();
86
+ var e;
87
+ (e = this.inputRef) == null || e.blur();
78
88
  }
79
89
  }
80
90
  });
81
91
  export {
82
- C as default
92
+ M as default
83
93
  };
@@ -1,13 +1,14 @@
1
- import { defineComponent as p, toRefs as b, ref as h, createVNode as u, mergeProps as x, Fragment as g } from "vue";
2
- import { useLocale as v } from "../../locale/index.js";
3
- import y from "../_components/icon-hover/index.vue.js";
4
- import f from "../../icons/_self/search.js";
5
- import B from "../../icons/animation/animation-loading.js";
6
- import { Button as S } from "../button/index.js";
7
- import z from "./Input.js";
8
- import { useSize as R } from "../../_hooks/use-size.js";
9
- import { getClassNameMixin as C } from "../../_utils/config.js";
10
- const H = /* @__PURE__ */ p({
1
+ import { defineComponent as x, toRefs as S, ref as y, createVNode as r, mergeProps as z, Fragment as B } from "vue";
2
+ import { useLocale as I } from "../../locale/index.js";
3
+ import R from "../_components/icon-hover/index.vue.js";
4
+ import m from "../../icons/_self/search.js";
5
+ import C from "../../icons/animation/animation-loading.js";
6
+ import { Button as P } from "../button/index.js";
7
+ import k from "./Input.js";
8
+ import { useSize as T } from "../../_hooks/use-size.js";
9
+ import { useFormItem as N } from "../../_hooks/use-form-item.js";
10
+ import { getClassNameMixin as _ } from "../../_utils/config.js";
11
+ const E = /* @__PURE__ */ x({
11
12
  name: "InputSearch",
12
13
  props: {
13
14
  /**
@@ -73,51 +74,60 @@ const H = /* @__PURE__ */ p({
73
74
  slots: t
74
75
  }) {
75
76
  const {
76
- size: d
77
- } = b(e), i = C("input-search"), {
78
- t: c
79
- } = v(), {
80
- mergedSize: o
81
- } = R(d), r = h(), l = (n) => {
82
- r.value.inputRef && a("search", r.value.inputRef.value, n);
83
- }, m = () => {
77
+ size: s,
78
+ disabled: b
79
+ } = S(e), i = _("input-search"), {
80
+ t: p
81
+ } = I(), {
82
+ mergedSize: g,
83
+ mergedDisabled: u
84
+ } = N({
85
+ size: s,
86
+ disabled: b
87
+ }), {
88
+ mergedSize: l
89
+ } = T(g), o = y(), d = (n) => {
90
+ u.value || e.loading || o.value.inputRef && a("search", o.value.inputRef.value, n);
91
+ }, h = () => {
84
92
  var n;
85
- return u(g, null, [e.loading ? u(B, null, null) : u(y, {
93
+ return r(B, null, [e.loading ? r(C, null, null) : r(R, {
86
94
  as: "button",
87
- "aria-label": c("common.search"),
88
- onClick: l
95
+ "aria-label": p("common.search"),
96
+ disabled: u.value,
97
+ onClick: d
89
98
  }, {
90
- default: () => [u(f, null, null)]
99
+ default: () => [r(m, null, null)]
91
100
  }), (n = t.suffix) == null ? void 0 : n.call(t)]);
92
- }, s = () => {
101
+ }, v = () => {
102
+ var f, c;
93
103
  let n = {};
94
104
  return e.buttonText || t["button-default"] || t["button-icon"] ? n = {
95
105
  default: t["button-default"] ?? (e.buttonText ? () => e.buttonText : void 0),
96
106
  icon: t["button-icon"]
97
107
  } : n = {
98
- icon: () => u(f, null, null)
99
- }, u(S, x({
108
+ icon: () => r(m, null, null)
109
+ }, r(P, z({
100
110
  type: "primary",
101
111
  class: i.element("btn"),
102
- disabled: e.disabled,
103
- size: o.value,
104
- loading: e.loading
112
+ size: l.value
105
113
  }, e.buttonProps, {
106
- onClick: l
114
+ disabled: u.value || ((f = e.buttonProps) == null ? void 0 : f.disabled),
115
+ loading: e.loading || ((c = e.buttonProps) == null ? void 0 : c.loading),
116
+ onClick: d
107
117
  }), n);
108
118
  };
109
119
  return {
110
- inputRef: r,
111
- render: () => u(z, {
112
- ref: r,
120
+ inputRef: o,
121
+ render: () => r(k, {
122
+ ref: o,
113
123
  class: i.block,
114
- size: o.value,
115
- disabled: e.disabled
124
+ size: l.value,
125
+ disabled: u.value
116
126
  }, {
117
127
  prepend: t.prepend,
118
128
  prefix: t.prefix,
119
- suffix: e.searchButton ? t.suffix : m,
120
- append: e.searchButton ? s : t.append
129
+ suffix: e.searchButton ? t.suffix : h,
130
+ append: e.searchButton ? v : t.append
121
131
  })
122
132
  };
123
133
  },
@@ -136,5 +146,5 @@ const H = /* @__PURE__ */ p({
136
146
  }
137
147
  });
138
148
  export {
139
- H as default
149
+ E as default
140
150
  };
@@ -1,19 +1,19 @@
1
- import { defineComponent as X, toRefs as G, ref as S, computed as I, watch as z, onUnmounted as J, createVNode as d, Fragment as Q } from "vue";
2
- import D from "../../node_modules/.pnpm/number-precision@1.6.0/node_modules/number-precision/build/index.es.js";
3
- import { isNumber as m, isUndefined as Z } from "../../_utils/is.js";
4
- import ee from "../../icons/_self/up.js";
5
- import ne from "../../icons/_self/down.js";
6
- import ue from "../../icons/_self/plus.js";
7
- import te from "../../icons/_self/minus.js";
8
- import _ from "../button/Button.js";
9
- import { Input as ae } from "../form-input/index.js";
10
- import { useFormItem as le } from "../../_hooks/use-form-item.js";
11
- import { useSize as ie } from "../../_hooks/use-size.js";
12
- import { getKeyDownHandler as re, KEYBOARD_KEY as p } from "../../_utils/keyboard.js";
13
- import { getClassNameMixin as de } from "../../_utils/config.js";
14
- const oe = 800, fe = 150;
15
- D.enableBoundaryChecking(!1);
16
- const Be = /* @__PURE__ */ X({
1
+ import { defineComponent as G, toRefs as J, ref as V, computed as D, watch as p, onUnmounted as Q, createVNode as o, Fragment as Z } from "vue";
2
+ import O from "../../node_modules/.pnpm/number-precision@1.6.0/node_modules/number-precision/build/index.es.js";
3
+ import { isNumber as s, isUndefined as ee } from "../../_utils/is.js";
4
+ import ne from "../../icons/_self/up.js";
5
+ import ue from "../../icons/_self/down.js";
6
+ import te from "../../icons/_self/plus.js";
7
+ import ae from "../../icons/_self/minus.js";
8
+ import E from "../button/Button.js";
9
+ import { Input as le } from "../form-input/index.js";
10
+ import { useFormItem as ie } from "../../_hooks/use-form-item.js";
11
+ import { useSize as re } from "../../_hooks/use-size.js";
12
+ import { getKeyDownHandler as de, KEYBOARD_KEY as A } from "../../_utils/keyboard.js";
13
+ import { getClassNameMixin as oe } from "../../_utils/config.js";
14
+ const fe = 800, me = 150;
15
+ O.enableBoundaryChecking(!1);
16
+ const Ie = /* @__PURE__ */ G({
17
17
  name: "InputNumber",
18
18
  props: {
19
19
  /**
@@ -230,169 +230,170 @@ const Be = /* @__PURE__ */ X({
230
230
  slots: a
231
231
  }) {
232
232
  const {
233
- size: E,
234
- disabled: A
235
- } = G(n), r = de("input-number"), V = S(), {
236
- mergedSize: F,
237
- mergedDisabled: s,
238
- eventHandlers: P
239
- } = le({
240
- size: E,
241
- disabled: A
233
+ size: F,
234
+ disabled: P
235
+ } = J(n), d = oe("input-number"), B = V(), {
236
+ mergedSize: $,
237
+ mergedDisabled: v,
238
+ eventHandlers: I
239
+ } = ie({
240
+ size: F,
241
+ disabled: P
242
242
  }), {
243
- mergedSize: x
244
- } = ie(F), g = I(() => {
245
- if (m(n.precision)) {
243
+ mergedSize: g
244
+ } = re($), h = D(() => {
245
+ if (s(n.precision)) {
246
246
  const e = `${n.step}`.split(".")[1], u = e && e.length || 0;
247
247
  return Math.max(u, n.precision);
248
248
  }
249
- }), h = (e) => {
249
+ }), w = (e) => {
250
250
  var t;
251
- if (!m(e))
251
+ if (!s(e))
252
252
  return "";
253
- const u = g.value ? e.toFixed(g.value) : String(e);
253
+ const u = h.value ? e.toFixed(h.value) : String(e);
254
254
  return ((t = n.formatter) == null ? void 0 : t.call(n, u)) ?? u;
255
- }, o = S(h(n.modelValue ?? n.defaultValue)), l = I(() => {
255
+ }, f = V(w(n.modelValue ?? n.defaultValue)), l = D(() => {
256
256
  var u;
257
- if (!o.value)
257
+ if (!f.value)
258
258
  return;
259
- const e = Number(((u = n.parser) == null ? void 0 : u.call(n, o.value)) ?? o.value);
259
+ const e = Number(((u = n.parser) == null ? void 0 : u.call(n, f.value)) ?? f.value);
260
260
  return Number.isNaN(e) ? void 0 : e;
261
- }), v = S(m(l.value) && l.value <= n.min), b = S(m(l.value) && l.value >= n.max);
262
- let y = 0;
263
- const f = () => {
264
- y && (window.clearTimeout(y), y = 0);
265
- }, O = (e) => {
266
- if (!Z(e))
267
- return m(n.min) && e < n.min && (e = n.min), m(n.max) && e > n.max && (e = n.max), m(g.value) ? D.round(e, g.value) : e;
268
- }, w = (e) => {
261
+ }), b = V(s(l.value) && l.value <= n.min), y = V(s(l.value) && l.value >= n.max);
262
+ let x = 0;
263
+ const m = () => {
264
+ x && (window.clearTimeout(x), x = 0);
265
+ }, R = (e) => {
266
+ if (!ee(e))
267
+ return s(n.min) && e < n.min && (e = n.min), s(n.max) && e > n.max && (e = n.max), s(h.value) ? O.round(e, h.value) : e;
268
+ }, M = (e) => {
269
269
  let u = !1, t = !1;
270
- m(e) && (e <= n.min && (u = !0), e >= n.max && (t = !0)), b.value !== t && (b.value = t), v.value !== u && (v.value = u);
271
- }, B = (e) => !s.value && !n.readOnly && !(e === "plus" && b.value) && !(e === "minus" && v.value), R = () => {
272
- const e = O(l.value), u = h(e);
273
- (e !== l.value || o.value !== u) && (o.value = u), i("update:modelValue", e);
270
+ s(e) && (e <= n.min && (u = !0), e >= n.max && (t = !0)), y.value !== t && (y.value = t), b.value !== u && (b.value = u);
271
+ }, C = (e) => !v.value && !n.readOnly && !(e === "plus" && y.value) && !(e === "minus" && b.value), z = () => {
272
+ const e = R(l.value), u = w(e);
273
+ (e !== l.value || f.value !== u) && (f.value = u), i("update:modelValue", e);
274
274
  };
275
- z(() => [n.max, n.min], () => {
276
- R(), w(l.value);
275
+ p(() => [n.max, n.min], () => {
276
+ z(), M(l.value);
277
277
  });
278
- const M = (e, u) => {
279
- if (!B(e))
278
+ const N = (e, u) => {
279
+ var r, c;
280
+ if (!C(e))
280
281
  return;
281
282
  let t;
282
- m(l.value) ? t = O(D[e](l.value, n.step)) : t = n.min === -1 / 0 ? 0 : n.min, o.value = h(t), w(t), i("update:modelValue", t), i("change", t, u);
283
- }, N = (e, u, t = !1) => {
284
- var c;
285
- if (e.preventDefault(), !!B(u) && ((c = V.value) == null || c.focus(), M(u, e), t)) {
286
- f();
287
- const C = () => {
288
- if (!B(u)) {
289
- f();
283
+ s(l.value) ? t = R(O[e](l.value, n.step)) : t = n.min === -1 / 0 ? 0 : n.min, f.value = w(t), M(t), i("update:modelValue", t), i("change", t, u), (c = (r = I.value) == null ? void 0 : r.onChange) == null || c.call(r, u);
284
+ }, S = (e, u, t = !1) => {
285
+ var r;
286
+ if (e.preventDefault(), !!C(u) && ((r = B.value) == null || r.focus(), N(u, e), t)) {
287
+ m();
288
+ const c = () => {
289
+ if (!C(u)) {
290
+ m();
290
291
  return;
291
292
  }
292
- M(u, e), y = window.setTimeout(C, fe);
293
+ N(u, e), x = window.setTimeout(c, me);
293
294
  };
294
- y = window.setTimeout(C, oe);
295
+ x = window.setTimeout(c, fe);
295
296
  }
296
- }, $ = (e, u) => {
297
- var t, c;
298
- e = e.trim().replace(/。/g, "."), e = ((t = n.parser) == null ? void 0 : t.call(n, e)) ?? e, (m(Number(e)) || /^(\.|-)$/.test(e)) && (o.value = ((c = n.formatter) == null ? void 0 : c.call(n, e)) ?? e, w(l.value), i("input", l.value, o.value, u), n.modelEvent === "input" && (i("update:modelValue", l.value), i("change", l.value, u)));
299
- }, k = (e) => {
297
+ }, k = (e, u) => {
298
+ var t, r, c, _;
299
+ e = e.trim().replace(/。/g, "."), e = ((t = n.parser) == null ? void 0 : t.call(n, e)) ?? e, (s(Number(e)) || /^(\.|-)$/.test(e)) && (f.value = ((r = n.formatter) == null ? void 0 : r.call(n, e)) ?? e, M(l.value), i("input", l.value, f.value, u), n.modelEvent === "input" && (i("update:modelValue", l.value), i("change", l.value, u), (_ = (c = I.value) == null ? void 0 : c.onChange) == null || _.call(c, u)));
300
+ }, T = (e) => {
300
301
  i("focus", e);
301
- }, T = (e, u) => {
302
- u instanceof MouseEvent && !e || (R(), i("change", l.value, u));
303
- }, K = (e) => {
304
- i("blur", e);
302
+ }, K = (e, u) => {
303
+ u instanceof MouseEvent && !e || (z(), i("change", l.value, u));
305
304
  }, U = (e) => {
305
+ i("blur", e);
306
+ }, H = (e) => {
306
307
  var u, t;
307
- o.value = "", i("update:modelValue", void 0), i("change", void 0, e), (t = (u = P.value) == null ? void 0 : u.onChange) == null || t.call(u, e), i("clear", e);
308
- }, H = re(/* @__PURE__ */ new Map([[p.ARROW_UP, (e) => {
309
- e.preventDefault(), !n.readOnly && M("plus", e);
310
- }], [p.ARROW_DOWN, (e) => {
311
- e.preventDefault(), !n.readOnly && M("minus", e);
312
- }]])), W = (e) => {
313
- i("keydown", e), e.defaultPrevented || H(e);
308
+ f.value = "", i("update:modelValue", void 0), i("change", void 0, e), (t = (u = I.value) == null ? void 0 : u.onChange) == null || t.call(u, e), i("clear", e);
309
+ }, W = de(/* @__PURE__ */ new Map([[A.ARROW_UP, (e) => {
310
+ e.preventDefault(), !n.readOnly && N("plus", e);
311
+ }], [A.ARROW_DOWN, (e) => {
312
+ e.preventDefault(), !n.readOnly && N("minus", e);
313
+ }]])), Y = (e) => {
314
+ i("keydown", e), e.defaultPrevented || W(e);
314
315
  };
315
- z(() => n.modelValue, (e) => {
316
- e !== l.value && (o.value = h(e), w(e));
316
+ p(() => n.modelValue, (e) => {
317
+ e !== l.value && (f.value = w(e), M(e));
317
318
  });
318
- const Y = () => {
319
+ const q = () => {
319
320
  var e, u, t;
320
- return n.readOnly ? null : d(Q, null, [a.suffix && d("div", {
321
- class: r.element("suffix")
322
- }, [(e = a.suffix) == null ? void 0 : e.call(a)]), d("div", {
323
- class: r.element("step")
324
- }, [d("button", {
325
- class: [r.element("step--button"), {
326
- [`${r.element("step--button")}-disabled`]: s.value || b.value
321
+ return n.readOnly ? null : o(Z, null, [a.suffix && o("div", {
322
+ class: d.element("suffix")
323
+ }, [(e = a.suffix) == null ? void 0 : e.call(a)]), o("div", {
324
+ class: d.element("step")
325
+ }, [o("button", {
326
+ class: [d.element("step--button"), {
327
+ [`${d.element("step--button")}-disabled`]: v.value || y.value
327
328
  }],
328
329
  type: "button",
329
330
  tabindex: "-1",
330
- disabled: s.value || b.value,
331
- onMousedown: (c) => N(c, "plus", !0),
332
- onMouseup: f,
333
- onMouseleave: f
334
- }, [a.plus ? (u = a.plus) == null ? void 0 : u.call(a) : d(ee, null, null)]), d("button", {
335
- class: [r.element("step--button"), {
336
- [`${r.element("step--button")}-disabled`]: s.value || v.value
331
+ disabled: v.value || y.value,
332
+ onMousedown: (r) => S(r, "plus", !0),
333
+ onMouseup: m,
334
+ onMouseleave: m
335
+ }, [a.plus ? (u = a.plus) == null ? void 0 : u.call(a) : o(ne, null, null)]), o("button", {
336
+ class: [d.element("step--button"), {
337
+ [`${d.element("step--button")}-disabled`]: v.value || b.value
337
338
  }],
338
339
  type: "button",
339
340
  tabindex: "-1",
340
- disabled: s.value || v.value,
341
- onMousedown: (c) => N(c, "minus", !0),
342
- onMouseup: f,
343
- onMouseleave: f
344
- }, [a.minus ? (t = a.minus) == null ? void 0 : t.call(a) : d(ne, null, null)])])]);
345
- }, q = I(() => [r.block, r.modifier(`mode-${n.mode}`), r.modifier(`size-${x.value}`), {
346
- [r.modifier("readonly")]: n.readOnly
347
- }]), L = () => d(_, {
348
- size: x.value,
341
+ disabled: v.value || b.value,
342
+ onMousedown: (r) => S(r, "minus", !0),
343
+ onMouseup: m,
344
+ onMouseleave: m
345
+ }, [a.minus ? (t = a.minus) == null ? void 0 : t.call(a) : o(ue, null, null)])])]);
346
+ }, L = D(() => [d.block, d.modifier(`mode-${n.mode}`), d.modifier(`size-${g.value}`), {
347
+ [d.modifier("readonly")]: n.readOnly
348
+ }]), j = () => o(E, {
349
+ size: g.value,
349
350
  shape: "square",
350
351
  narrow: !0,
351
352
  tabindex: "-1",
352
- class: r.element("step--button"),
353
- disabled: s.value || v.value,
354
- onMousedown: (e) => N(e, "minus", !0),
355
- onMouseup: f,
356
- onMouseleave: f
353
+ class: d.element("step--button"),
354
+ disabled: v.value || b.value,
355
+ onMousedown: (e) => S(e, "minus", !0),
356
+ onMouseup: m,
357
+ onMouseleave: m
357
358
  }, {
358
- icon: () => d(te, null, null)
359
- }), j = () => d(_, {
360
- size: x.value,
359
+ icon: () => o(ae, null, null)
360
+ }), X = () => o(E, {
361
+ size: g.value,
361
362
  shape: "square",
362
363
  narrow: !0,
363
364
  tabindex: "-1",
364
- class: r.element("step--button"),
365
- disabled: s.value || b.value,
366
- onMousedown: (e) => N(e, "plus", !0),
367
- onMouseup: f,
368
- onMouseleave: f
365
+ class: d.element("step--button"),
366
+ disabled: v.value || y.value,
367
+ onMousedown: (e) => S(e, "plus", !0),
368
+ onMouseup: m,
369
+ onMouseleave: m
369
370
  }, {
370
- icon: () => d(ue, null, null)
371
+ icon: () => o(te, null, null)
371
372
  });
372
- return J(f), {
373
- inputRef: V,
373
+ return Q(m), {
374
+ inputRef: B,
374
375
  render: () => {
375
376
  const e = n.mode === "embed" ? {
376
377
  prepend: a.prepend,
377
378
  prefix: a.prefix,
378
- suffix: n.hideButton ? a.suffix : Y,
379
+ suffix: n.hideButton ? a.suffix : q,
379
380
  append: a.append
380
381
  } : {
381
- prepend: n.hideButton ? a.prepend : L,
382
+ prepend: n.hideButton ? a.prepend : j,
382
383
  prefix: a.prefix,
383
384
  suffix: a.suffix,
384
- append: n.hideButton ? a.append : j
385
+ append: n.hideButton ? a.append : X
385
386
  };
386
- return d(ae, {
387
+ return o(le, {
387
388
  key: `input-number-${n.mode}`,
388
- ref: V,
389
- class: q.value,
389
+ ref: B,
390
+ class: L.value,
390
391
  type: "text",
391
392
  allowClear: n.allowClear,
392
- size: x.value,
393
- modelValue: o.value,
393
+ size: g.value,
394
+ modelValue: f.value,
394
395
  placeholder: n.placeholder,
395
- disabled: s.value,
396
+ disabled: v.value,
396
397
  readonly: n.readOnly,
397
398
  error: n.error,
398
399
  inputAttrs: {
@@ -402,12 +403,12 @@ const Be = /* @__PURE__ */ X({
402
403
  "aria-valuenow": l.value,
403
404
  ...n.inputAttrs
404
405
  },
405
- onInput: $,
406
- onFocus: k,
407
- onBlur: K,
408
- onClear: U,
409
- onChange: T,
410
- onKeydown: W
406
+ onInput: k,
407
+ onFocus: T,
408
+ onBlur: U,
409
+ onClear: H,
410
+ onChange: K,
411
+ onKeydown: Y
411
412
  }, e);
412
413
  }
413
414
  };
@@ -437,5 +438,5 @@ const Be = /* @__PURE__ */ X({
437
438
  }
438
439
  });
439
440
  export {
440
- Be as default
441
+ Ie as default
441
442
  };