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,16 +1,42 @@
1
- import { inject as p, computed as m, toRef as c } from "vue";
1
+ import { inject as f, computed as n, toRef as t, useId as b, shallowRef as v, onBeforeUpdate as c, watchEffect as g, onBeforeUnmount as y } from "vue";
2
2
  import { formItemInjectionKey as I } from "../components/form/context.js";
3
- const l = ({ size: t, disabled: o, error: n, uninject: r } = {}) => {
4
- const e = r ? {} : p(I, {}), f = m(() => (t == null ? void 0 : t.value) ?? e.size), u = m(() => (o == null ? void 0 : o.value) || e.disabled), a = m(() => (n == null ? void 0 : n.value) || e.error), s = c(e, "feedback"), v = c(e, "eventHandlers");
3
+ const B = ({ size: r, disabled: i, error: o, uninject: s } = {}) => {
4
+ const a = s ? {} : f(I, {}), d = n(() => (r == null ? void 0 : r.value) ?? a.size), e = n(() => (i == null ? void 0 : i.value) || a.disabled), l = n(() => (o == null ? void 0 : o.value) || a.error), u = t(a, "feedback"), m = t(a, "eventHandlers");
5
5
  return {
6
- formItemCtx: e,
7
- mergedSize: f,
8
- mergedDisabled: u,
9
- mergedError: a,
10
- feedback: s,
11
- eventHandlers: v
6
+ formItemCtx: a,
7
+ mergedSize: d,
8
+ mergedDisabled: e,
9
+ mergedError: l,
10
+ feedback: u,
11
+ eventHandlers: m
12
12
  };
13
+ }, h = (r, i = () => ({}), o = {}) => {
14
+ const s = b(), a = v({ ...i() });
15
+ c(() => {
16
+ const e = i();
17
+ (Object.keys(e).length !== Object.keys(a.value).length || Object.keys(e).some((l) => e[l] !== a.value[l])) && (a.value = { ...e });
18
+ });
19
+ const d = n(() => {
20
+ const e = { ...a.value, ...i() }, l = [e["aria-describedby"], r.describedBy].filter(Boolean).join(" ").split(/\s+/).filter(Boolean);
21
+ return {
22
+ ...e,
23
+ id: e.id ?? (r.registerControl ? `x-form-control-${s}` : void 0),
24
+ "aria-labelledby": e["aria-labelledby"] ?? (e["aria-label"] ? void 0 : r.labelId),
25
+ "aria-describedby": l.length ? [...new Set(l)].join(" ") : void 0,
26
+ "aria-required": e["aria-required"] ?? (o.required !== !1 && r.required ? !0 : void 0),
27
+ "aria-invalid": r.error ? !0 : e["aria-invalid"],
28
+ "aria-errormessage": r.error ? e["aria-errormessage"] ?? r.errorId : e["aria-errormessage"]
29
+ };
30
+ });
31
+ return g(() => {
32
+ var e;
33
+ d.value.id && ((e = r.registerControl) == null || e.call(r, s, String(d.value.id), o.labelable !== !1));
34
+ }), y(() => {
35
+ var e;
36
+ return (e = r.unregisterControl) == null ? void 0 : e.call(r, s);
37
+ }), d;
13
38
  };
14
39
  export {
15
- l as useFormItem
40
+ B as useFormItem,
41
+ h as useFormItemControl
16
42
  };
@@ -1,46 +1,51 @@
1
- import { watch as u } from "vue";
2
- import { setStyle as i, getStyle as h, getScrollBarWidth as c, isScroll as a } from "../_utils/dom.js";
3
- const y = (o, s) => {
4
- let t = !1;
5
- const e = {
6
- overflow: "",
7
- width: ""
8
- }, w = (l) => l.tagName === "BODY", r = () => {
9
- if (o.value) {
10
- const l = o.value;
11
- if (!t && l.style.overflow !== "hidden") {
12
- const v = c(l);
13
- if (v > 0 || a(l)) {
14
- e.overflow = l.style.overflow, e.width = l.style.width;
15
- let d = 0;
16
- w(l) && (d = l.getBoundingClientRect().left || 0), i(l, {
17
- width: `calc(100% - ${Math.ceil(v - d)}px)`,
18
- overflow: "hidden"
19
- }), t = !0;
20
- }
21
- }
22
- }
23
- }, f = () => {
24
- if (o.value && t) {
25
- const l = o.value;
26
- i(l, {
27
- overflow: e.overflow,
28
- width: e.width
29
- }), t = !1;
1
+ import { watch as h, onBeforeUnmount as P } from "vue";
2
+ import { setStyle as y, getScrollBarWidth as g, isScroll as k, getStyle as B } from "../_utils/dom.js";
3
+ const e = /* @__PURE__ */ new WeakMap(), d = (o) => o.tagName === "BODY", l = (o, t) => ({
4
+ value: o.style.getPropertyValue(t),
5
+ priority: o.style.getPropertyPriority(t)
6
+ }), p = (o, t, i) => {
7
+ i.value ? o.style.setProperty(t, i.value, i.priority) : o.style.removeProperty(t);
8
+ }, S = (o) => {
9
+ const t = e.get(o);
10
+ if (t) {
11
+ t.count++;
12
+ return;
13
+ }
14
+ const i = { count: 1, styles: /* @__PURE__ */ new Map() };
15
+ if (e.set(o, i), o.style.overflow !== "hidden") {
16
+ const s = g(o);
17
+ if (s > 0 || k(o)) {
18
+ i.styles.set("overflow", l(o, "overflow")), i.styles.set("width", l(o, "width"));
19
+ const r = d(o) && o.getBoundingClientRect().left || 0;
20
+ y(o, {
21
+ width: `calc(100% - ${Math.ceil(s - r)}px)`,
22
+ overflow: "hidden"
23
+ });
30
24
  }
25
+ }
26
+ !d(o) && B(o, "position") === "static" && (i.styles.set("position", l(o, "position")), y(o, { position: "relative" }));
27
+ }, C = (o) => {
28
+ const t = e.get(o);
29
+ !t || --t.count > 0 || (t.styles.forEach((i, s) => p(o, s, i)), e.delete(o));
30
+ }, M = (o, t) => {
31
+ let i = !1, s, r, n;
32
+ const u = () => {
33
+ r && n && p(r, "position", n), r = void 0, n = void 0;
34
+ }, a = () => {
35
+ const f = i ? o.value : void 0;
36
+ f !== s && (u(), s && C(s), s = f, s && S(s));
37
+ const c = s && !d(s) ? t == null ? void 0 : t.value : void 0;
38
+ c !== r && (u(), c && (r = c, n = l(c, "position"), y(c, { position: "absolute" })));
39
+ }, w = () => {
40
+ i = !0, a();
41
+ }, v = () => {
42
+ i = !1, a();
31
43
  };
32
- return u(
33
- () => s == null ? void 0 : s.value,
34
- (l) => {
35
- o.value && !w(o.value) && (l && i(l, {
36
- position: "absolute"
37
- }), h(o.value, "position") === "static" && i(o.value, { position: "relative" }));
38
- }
39
- ), {
40
- setOverflowHidden: r,
41
- resetOverflow: f
44
+ return h([o, () => t == null ? void 0 : t.value], a, { flush: "post" }), P(v), {
45
+ setOverflowHidden: w,
46
+ resetOverflow: v
42
47
  };
43
48
  };
44
49
  export {
45
- y as useOverflow
50
+ M as useOverflow
46
51
  };
@@ -0,0 +1,57 @@
1
+ import { ref as P, useId as k, watch as x, nextTick as c } from "vue";
2
+ const b = ({
3
+ visible: s,
4
+ canOpen: d,
5
+ setVisible: l,
6
+ focusInput: n,
7
+ selector: p,
8
+ inputContains: g
9
+ }) => {
10
+ const o = P(), y = `x-picker-panel-${k()}`;
11
+ let r = !1;
12
+ const f = () => c(() => {
13
+ var t, a;
14
+ if (!s.value || !r) return;
15
+ (a = ((t = o.value) == null ? void 0 : t.querySelector(p)) ?? o.value) == null || a.focus(), r = !1;
16
+ }), m = (e) => {
17
+ d() && (r = !!e, l(!0), f());
18
+ };
19
+ x(s, (e) => {
20
+ var t;
21
+ if (e)
22
+ f();
23
+ else {
24
+ const a = (t = o.value) == null ? void 0 : t.contains(document.activeElement);
25
+ r = !1, a && c(n);
26
+ }
27
+ });
28
+ const h = (e) => {
29
+ var t;
30
+ if (e.key === "Escape")
31
+ e.preventDefault(), e.stopPropagation(), l(!1), n();
32
+ else if (e.key === "Tab") {
33
+ const a = Array.from(
34
+ ((t = o.value) == null ? void 0 : t.querySelectorAll(
35
+ 'button:not([disabled]), [tabindex="0"], input:not([disabled]), a[href]'
36
+ )) ?? []
37
+ ).filter((i) => i.getAttribute("tabindex") !== "-1" && !i.hidden);
38
+ e.shiftKey && e.target === a[0] ? (e.preventDefault(), l(!1), n()) : !e.shiftKey && e.target === a.at(-1) && (l(!1), n());
39
+ }
40
+ }, u = (e) => {
41
+ var t;
42
+ return e instanceof Node && (((t = o.value) == null ? void 0 : t.contains(e)) || g(e));
43
+ };
44
+ return { popupRef: o, panelId: y, openPanel: m, handlePanelKeydown: h, isInternalFocus: u, handlePanelFocusout: (e, t) => {
45
+ if (!u(e.relatedTarget))
46
+ if (!e.relatedTarget && e.target instanceof HTMLElement) {
47
+ const a = e.target;
48
+ c(() => {
49
+ s.value ? document.activeElement === document.body && a.isConnected && a.focus() : n();
50
+ });
51
+ } else
52
+ t(e);
53
+ } };
54
+ };
55
+ export {
56
+ b as usePickerFocus
57
+ };
@@ -1,4 +1,4 @@
1
- const o = ["mini", "small", "medium", "large"], n = ["info", "success", "warning", "error"], t = [
1
+ const o = ["mini", "small", "medium", "large"], n = ["info", "success", "warning", "error"], e = [
2
2
  "top",
3
3
  "tl",
4
4
  "tr",
@@ -11,7 +11,7 @@ const o = ["mini", "small", "medium", "large"], n = ["info", "success", "warning
11
11
  "right",
12
12
  "rt",
13
13
  "rb"
14
- ], e = [
14
+ ], t = [
15
15
  // focus events
16
16
  "onFocus",
17
17
  "onFocusin",
@@ -46,11 +46,23 @@ const o = ["mini", "small", "medium", "large"], n = ["info", "success", "warning
46
46
  "name",
47
47
  "pattern",
48
48
  "readonly",
49
- "required"
49
+ "required",
50
+ "id",
51
+ "title",
52
+ "form",
53
+ "inputmode",
54
+ "enterkeyhint",
55
+ "spellcheck",
56
+ "aria-label",
57
+ "aria-labelledby",
58
+ "aria-describedby",
59
+ "aria-invalid",
60
+ "aria-required",
61
+ "aria-errormessage"
50
62
  ];
51
63
  export {
52
- e as INPUT_EVENTS,
64
+ t as INPUT_EVENTS,
53
65
  n as MESSAGE_TYPES,
54
66
  o as SIZES,
55
- t as TRIGGER_POSITIONS
67
+ e as TRIGGER_POSITIONS
56
68
  };
@@ -1,92 +1,82 @@
1
- import k from "./input-range.vue2.js";
2
- import { resolveComponent as d, openBlock as r, createElementBlock as i, normalizeClass as s, renderSlot as u, createCommentVNode as p, createElementVNode as l, mergeProps as t, withKeys as a, createTextVNode as y, createBlock as m, withCtx as I, createVNode as g } from "vue";
3
- import v from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const N = ["disabled", "placeholder", "value"], F = ["disabled", "placeholder", "value"];
5
- function B(e, o, P, $, T, E) {
6
- const f = d("IconClose"), b = d("IconHover"), C = d("FeedbackIcon");
7
- return r(), i("div", {
8
- class: s(e.classNames)
9
- }, [
1
+ import v from "./input-range.vue2.js";
2
+ import { resolveComponent as a, openBlock as r, createElementBlock as i, mergeProps as d, normalizeClass as l, renderSlot as p, createCommentVNode as u, createElementVNode as s, withKeys as t, createTextVNode as k, createBlock as m, withCtx as I, createVNode as b } from "vue";
3
+ import g from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const N = ["disabled", "placeholder", "value", "readonly"], F = ["disabled", "placeholder", "value", "readonly"];
5
+ function B(e, o, $, w, E, V) {
6
+ const f = a("IconClose"), C = a("IconHover"), y = a("FeedbackIcon");
7
+ return r(), i("div", d(e.wrapperAttrs, { class: e.classNames }), [
10
8
  e.$slots.prefix ? (r(), i("div", {
11
9
  key: 0,
12
- class: s(e.className.element("prefix"))
10
+ class: l(e.className.element("prefix"))
13
11
  }, [
14
- u(e.$slots, "prefix")
15
- ], 2)) : p("", !0),
16
- l("div", {
17
- class: s(e.getInputWrapClassName(0))
12
+ p(e.$slots, "prefix")
13
+ ], 2)) : u("", !0),
14
+ s("div", {
15
+ class: l(e.getInputWrapClassName(0))
18
16
  }, [
19
- l("input", t({
20
- ref: "refInput0",
17
+ s("input", d({ ref: "refInput0" }, e.formControlAttrs0, {
21
18
  disabled: e.disabled0,
22
19
  placeholder: e.placeholder[0],
23
- value: e.displayValue0
24
- }, e.readonly ? { readonly: !0 } : {}, {
20
+ value: e.displayValue0,
21
+ readonly: e.readonly || void 0,
25
22
  onInput: o[0] || (o[0] = (...n) => e.onChange && e.onChange(...n)),
26
23
  onFocus: o[1] || (o[1] = (...n) => e.onFocus && e.onFocus(...n)),
27
24
  onBlur: o[2] || (o[2] = (...n) => e.onBlur && e.onBlur(...n)),
28
- onKeydown: [
29
- o[3] || (o[3] = a((...n) => e.onPressEnter && e.onPressEnter(...n), ["enter"])),
30
- o[4] || (o[4] = a((...n) => e.onPressTab && e.onPressTab(...n), ["tab"]))
31
- ],
32
- onClick: o[5] || (o[5] = () => e.changeFocusedInput(0))
25
+ onKeydown: o[3] || (o[3] = t((...n) => e.onPressEnter && e.onPressEnter(...n), ["enter"])),
26
+ onClick: o[4] || (o[4] = () => e.changeFocusedInput(0))
33
27
  }), null, 16, N)
34
28
  ], 2),
35
- l("span", {
36
- class: s(e.className.element("separator"))
29
+ s("span", {
30
+ class: l(e.className.element("separator"))
37
31
  }, [
38
- u(e.$slots, "separator", {}, () => [
39
- o[12] || (o[12] = y(" - ", -1))
32
+ p(e.$slots, "separator", {}, () => [
33
+ o[10] || (o[10] = k(" - ", -1))
40
34
  ])
41
35
  ], 2),
42
- l("div", {
43
- class: s(e.getInputWrapClassName(1))
36
+ s("div", {
37
+ class: l(e.getInputWrapClassName(1))
44
38
  }, [
45
- l("input", t({
46
- ref: "refInput1",
39
+ s("input", d({ ref: "refInput1" }, e.formControlAttrs1, {
47
40
  disabled: e.disabled1,
48
41
  placeholder: e.placeholder[1],
49
- value: e.displayValue1
50
- }, e.readonly ? { readonly: !0 } : {}, {
51
- onInput: o[6] || (o[6] = (...n) => e.onChange && e.onChange(...n)),
52
- onFocus: o[7] || (o[7] = (...n) => e.onFocus && e.onFocus(...n)),
53
- onBlur: o[8] || (o[8] = (...n) => e.onBlur && e.onBlur(...n)),
54
- onKeydown: [
55
- o[9] || (o[9] = a((...n) => e.onPressEnter && e.onPressEnter(...n), ["enter"])),
56
- o[10] || (o[10] = a((...n) => e.onPressTab && e.onPressTab(...n), ["tab"]))
57
- ],
58
- onClick: o[11] || (o[11] = () => e.changeFocusedInput(1))
42
+ value: e.displayValue1,
43
+ readonly: e.readonly || void 0,
44
+ onInput: o[5] || (o[5] = (...n) => e.onChange && e.onChange(...n)),
45
+ onFocus: o[6] || (o[6] = (...n) => e.onFocus && e.onFocus(...n)),
46
+ onBlur: o[7] || (o[7] = (...n) => e.onBlur && e.onBlur(...n)),
47
+ onKeydown: o[8] || (o[8] = t((...n) => e.onPressEnter && e.onPressEnter(...n), ["enter"])),
48
+ onClick: o[9] || (o[9] = () => e.changeFocusedInput(1))
59
49
  }), null, 16, F)
60
50
  ], 2),
61
- l("div", {
62
- class: s(e.className.element("suffix"))
51
+ s("div", {
52
+ class: l(e.className.element("suffix"))
63
53
  }, [
64
- e.allowClear && !e.mergedDisabled && (e.value[0] || e.value[1]) ? (r(), m(b, {
54
+ e.allowClear && !e.mergedDisabled && (e.value[0] || e.value[1]) ? (r(), m(C, {
65
55
  key: 0,
66
56
  as: "button",
67
57
  "aria-label": e.t("common.clearTarget", { target: e.t(e.clearTargetKey) }),
68
58
  prefix: "picker",
69
- class: s(e.className.element("clear-icon")),
59
+ class: l(e.className.element("clear-icon")),
70
60
  onClick: e.onClear
71
61
  }, {
72
62
  default: I(() => [
73
- g(f)
63
+ b(f)
74
64
  ]),
75
65
  _: 1
76
- }, 8, ["aria-label", "class", "onClick"])) : p("", !0),
77
- l("span", {
78
- class: s(e.className.element("suffix-icon"))
66
+ }, 8, ["aria-label", "class", "onClick"])) : u("", !0),
67
+ s("span", {
68
+ class: l(e.className.element("suffix-icon"))
79
69
  }, [
80
- u(e.$slots, "suffix-icon")
70
+ p(e.$slots, "suffix-icon")
81
71
  ], 2),
82
- e.feedback ? (r(), m(C, {
72
+ e.feedback ? (r(), m(y, {
83
73
  key: 1,
84
74
  type: e.feedback
85
- }, null, 8, ["type"])) : p("", !0)
75
+ }, null, 8, ["type"])) : u("", !0)
86
76
  ], 2)
87
- ], 2);
77
+ ], 16);
88
78
  }
89
- const D = /* @__PURE__ */ v(k, [["render", B]]);
79
+ const T = /* @__PURE__ */ g(v, [["render", B]]);
90
80
  export {
91
- D as default
81
+ T as default
92
82
  };
@@ -1,18 +1,22 @@
1
- import { defineComponent as K, toRefs as L, ref as I, computed as s } from "vue";
2
- import M from "../feedback-icon/index.vue.js";
3
- import { isNumber as U, isUndefined as W, isArray as $, isDayjs as G, isFunction as J } from "../../../_utils/is.js";
4
- import O from "../../../icons/default/close-circle-fill.js";
5
- import Q from "../icon-hover/index.vue.js";
6
- import { useFormItem as X } from "../../../_hooks/use-form-item.js";
7
- import { useLocale as Y } from "../../../locale/index.js";
8
- import { useSize as Z } from "../../../_hooks/use-size.js";
9
- import { getClassNameMixin as ee } from "../../../_utils/config.js";
10
- const ce = K({
1
+ import { defineComponent as J, toRefs as Q, computed as i, ref as x } from "vue";
2
+ import X from "../feedback-icon/index.vue.js";
3
+ import { isNumber as Y, isUndefined as Z, isArray as ee, isDayjs as re, isFunction as oe } from "../../../_utils/is.js";
4
+ import te from "../../../icons/default/close-circle-fill.js";
5
+ import ae from "../icon-hover/index.vue.js";
6
+ import { useFormItem as ne, useFormItemControl as N } from "../../../_hooks/use-form-item.js";
7
+ import { useLocale as ie } from "../../../locale/index.js";
8
+ import { useSize as se } from "../../../_hooks/use-size.js";
9
+ import { INPUT_EVENTS as F } from "../../../_utils/constant.js";
10
+ import le from "../../../_utils/pick.js";
11
+ import { omit as ue } from "../../../_utils/omit.js";
12
+ import { getClassNameMixin as ce } from "../../../_utils/config.js";
13
+ const xe = J({
11
14
  name: "DateInputRange",
15
+ inheritAttrs: !1,
12
16
  components: {
13
- IconHover: Q,
14
- IconClose: O,
15
- FeedbackIcon: M
17
+ IconHover: ae,
18
+ IconClose: te,
19
+ FeedbackIcon: X
16
20
  },
17
21
  props: {
18
22
  size: {
@@ -69,95 +73,126 @@ const ce = K({
69
73
  "focus",
70
74
  "blur"
71
75
  ],
72
- setup(t, { emit: r, slots: a }) {
73
- const { t: h } = Y(), { error: C, focused: x, disabled: i, size: z, value: l, format: c, focusedIndex: f, inputValue: n } = L(t), {
76
+ setup(a, { emit: r, slots: s, attrs: o }) {
77
+ const { t: S } = ie(), {
78
+ error: z,
79
+ focused: E,
80
+ disabled: u,
81
+ size: B,
82
+ value: c,
83
+ format: f,
84
+ focusedIndex: d,
85
+ inputValue: n,
86
+ placeholder: g
87
+ } = Q(a), {
88
+ formItemCtx: b,
74
89
  mergedSize: D,
75
- mergedDisabled: d,
76
- mergedError: F,
77
- feedback: S
78
- } = X({ size: z, error: C }), { mergedSize: B } = Z(D), N = I(), A = I(), p = (e) => d.value ? d.value : $(i.value) ? i.value[e] : i.value, m = s(() => p(0)), g = s(() => p(1)), o = ee("picker"), k = s(() => [
79
- o.block,
80
- o.modifier("range"),
81
- o.modifier(`size-${B.value}`),
90
+ mergedDisabled: m,
91
+ mergedError: $,
92
+ feedback: j
93
+ } = ne({ size: B, error: z }), { mergedSize: k } = se(D), _ = i(() => ue(o, [
94
+ ...F,
95
+ ...Object.keys(o).filter((e) => e.startsWith("aria-") || e === "role")
96
+ ])), v = () => ({
97
+ ...le(o, F),
98
+ ...Object.fromEntries(
99
+ Object.entries(o).filter(([e]) => e.startsWith("aria-") || e === "role")
100
+ )
101
+ }), O = N(b, () => {
102
+ var e;
103
+ return {
104
+ ...v(),
105
+ "aria-label": o["aria-label"] ? `${o["aria-label"]} ${((e = g.value) == null ? void 0 : e[0]) ?? ""}` : void 0
106
+ };
107
+ }), P = N(b, () => {
108
+ var e;
109
+ return {
110
+ ...v(),
111
+ id: o.id ? `${o.id}-end` : void 0,
112
+ "aria-label": o["aria-label"] ? `${o["aria-label"]} ${((e = g.value) == null ? void 0 : e[1]) ?? ""}` : void 0
113
+ };
114
+ }), R = x(), T = x(), p = (e) => m.value ? m.value : ee(u.value) ? u.value[e] : u.value, y = i(() => p(0)), I = i(() => p(1)), t = ce("picker"), V = i(() => [
115
+ t.block,
116
+ t.modifier("range"),
117
+ t.modifier(`size-${k.value}`),
82
118
  {
83
- [o.modifier("focused")]: x.value,
84
- [o.modifier("disabled")]: m.value && g.value,
85
- [o.modifier("error")]: F.value,
86
- [o.modifier("has-prefix")]: a.prefix
119
+ [t.modifier("focused")]: E.value,
120
+ [t.modifier("disabled")]: y.value && I.value,
121
+ [t.modifier("error")]: $.value,
122
+ [t.modifier("has-prefix")]: s.prefix
87
123
  }
88
124
  ]);
89
- function E(e) {
125
+ function W(e) {
90
126
  return [
91
- o.element("input"),
127
+ t.element("input"),
92
128
  {
93
- [o.element("input-active")]: e === (f == null ? void 0 : f.value)
129
+ [t.element("input-active")]: e === (d == null ? void 0 : d.value)
94
130
  }
95
131
  ];
96
132
  }
97
- function y(e) {
98
- var v, b;
133
+ function h(e) {
134
+ var C, A;
99
135
  if (n != null && n.value)
100
- return (v = n == null ? void 0 : n.value) == null ? void 0 : v[e];
101
- const u = (b = l == null ? void 0 : l.value) == null ? void 0 : b[e];
102
- if (u && G(u))
103
- return J(c.value) ? c.value(u) : u.format(c.value);
136
+ return (C = n == null ? void 0 : n.value) == null ? void 0 : C[e];
137
+ const l = (A = c == null ? void 0 : c.value) == null ? void 0 : A[e];
138
+ if (l && re(l))
139
+ return oe(f.value) ? f.value(l) : l.format(f.value);
104
140
  }
105
- const P = s(() => y(0)), R = s(() => y(1));
106
- function _(e) {
141
+ const w = i(() => h(0)), U = i(() => h(1));
142
+ function q(e) {
107
143
  r("focused-index-change", e), r("update:focusedIndex", e);
108
144
  }
109
- function T(e) {
145
+ function H(e) {
110
146
  e.stopPropagation(), r("change", e);
111
147
  }
112
- function V() {
148
+ function K() {
113
149
  r("press-enter");
114
150
  }
115
- function j(e) {
151
+ function L(e) {
116
152
  r("focus", e);
117
153
  }
118
- function q(e) {
154
+ function M(e) {
119
155
  r("blur", e);
120
156
  }
121
- function w(e) {
122
- e.preventDefault();
123
- }
124
- function H(e) {
157
+ function G(e) {
125
158
  r("clear", e);
126
159
  }
127
160
  return {
128
- t: h,
129
- className: o,
130
- classNames: k,
131
- refInput0: N,
132
- refInput1: A,
133
- disabled0: m,
134
- disabled1: g,
135
- mergedDisabled: d,
161
+ wrapperAttrs: _,
162
+ formControlAttrs0: O,
163
+ formControlAttrs1: P,
164
+ t: S,
165
+ className: t,
166
+ classNames: V,
167
+ refInput0: R,
168
+ refInput1: T,
169
+ disabled0: y,
170
+ disabled1: I,
171
+ mergedDisabled: m,
136
172
  getDisabled: p,
137
- getInputWrapClassName: E,
138
- displayValue0: P,
139
- displayValue1: R,
140
- changeFocusedInput: _,
141
- onChange: T,
142
- onFocus: j,
143
- onBlur: q,
144
- onPressEnter: V,
145
- onPressTab: w,
146
- onClear: H,
147
- feedback: S
173
+ getInputWrapClassName: W,
174
+ displayValue0: w,
175
+ displayValue1: U,
176
+ changeFocusedInput: q,
177
+ onChange: H,
178
+ onFocus: L,
179
+ onBlur: M,
180
+ onPressEnter: K,
181
+ onClear: G,
182
+ feedback: j
148
183
  };
149
184
  },
150
185
  methods: {
151
- focus(t) {
152
- const r = U(t) ? t : this.focusedIndex, a = r === 0 ? this.refInput0 : this.refInput1;
153
- !W(r) && !this.getDisabled(r) && a && a.focus && a.focus();
186
+ focus(a) {
187
+ const r = Y(a) ? a : this.focusedIndex, s = r === 0 ? this.refInput0 : this.refInput1;
188
+ !Z(r) && !this.getDisabled(r) && s && s.focus && s.focus();
154
189
  },
155
190
  blur() {
156
- const t = this.focusedIndex === 0 ? this.refInput0 : this.refInput1;
157
- t && t.blur && t.blur();
191
+ const a = this.focusedIndex === 0 ? this.refInput0 : this.refInput1;
192
+ a && a.blur && a.blur();
158
193
  }
159
194
  }
160
195
  });
161
196
  export {
162
- ce as default
197
+ xe as default
163
198
  };