morya-ui 0.4.5 → 0.5.1

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 (220) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/dist/{Input-D2bee2LU.js → Input-BErawS7K.js} +1 -5
  3. package/dist/InputNumber-DjbXtTzR.js +245 -0
  4. package/dist/{Pagination-DpNOb0CS.js → Pagination-B8WYoL2a.js} +1 -1
  5. package/dist/{Popover-Bnz7KNZq.js → Popover-zQChu00_.js} +6 -1
  6. package/dist/{Select-q4X2ff_M.js → Select-BaFKBeIh.js} +2 -2
  7. package/dist/{Textarea-DsFOAtPd.js → Textarea-WCEgpzbq.js} +1 -5
  8. package/dist/accordion/style.css +6 -15
  9. package/dist/affix/style.css +6 -15
  10. package/dist/alert/style.css +6 -15
  11. package/dist/anchor/style.css +6 -15
  12. package/dist/auto-complete/style.css +6 -15
  13. package/dist/avatar/style.css +6 -15
  14. package/dist/badge/style.css +6 -15
  15. package/dist/block-ui/style.css +6 -15
  16. package/dist/breadcrumb/style.css +6 -15
  17. package/dist/button/style.css +6 -15
  18. package/dist/calendar/index.js +1 -1
  19. package/dist/calendar/style.css +6 -15
  20. package/dist/card/style.css +6 -15
  21. package/dist/carousel/style.css +6 -15
  22. package/dist/cascade-select/style.css +6 -15
  23. package/dist/checkbox/style.css +6 -15
  24. package/dist/chip/style.css +6 -15
  25. package/dist/color-picker/index.js +676 -0
  26. package/dist/{input-color → color-picker}/style.css +1406 -83
  27. package/dist/color-picker/style.js +8 -0
  28. package/dist/command-menu/index.js +73 -66
  29. package/dist/command-menu/style.css +6 -15
  30. package/dist/components/ColorPicker/ColorPicker.vue.d.ts +41 -0
  31. package/dist/components/ColorPicker/ColorPicker.vue.d.ts.map +1 -0
  32. package/dist/components/ColorPicker/colorUtils.d.ts +23 -0
  33. package/dist/components/ColorPicker/colorUtils.d.ts.map +1 -0
  34. package/dist/components/ColorPicker/gradientUtils.d.ts +9 -0
  35. package/dist/components/ColorPicker/gradientUtils.d.ts.map +1 -0
  36. package/dist/components/ColorPicker/index.d.ts +3 -0
  37. package/dist/components/ColorPicker/index.d.ts.map +1 -0
  38. package/dist/components/ColorPicker/styles.css +405 -0
  39. package/dist/components/ColorPicker/types.d.ts +60 -0
  40. package/dist/components/ColorPicker/types.d.ts.map +1 -0
  41. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  42. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  43. package/dist/components/ContextMenu/styles.css +1 -1
  44. package/dist/components/Dock/Dock.vue.d.ts.map +1 -1
  45. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  46. package/dist/components/Dropdown/styles.css +1 -1
  47. package/dist/components/Input/Input.vue.d.ts +0 -1
  48. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  49. package/dist/components/Input/types.d.ts +0 -2
  50. package/dist/components/Input/types.d.ts.map +1 -1
  51. package/dist/components/InputNumber/styles.css +28 -10
  52. package/dist/components/InputPassword/InputPassword.vue.d.ts +0 -1
  53. package/dist/components/InputPassword/InputPassword.vue.d.ts.map +1 -1
  54. package/dist/components/InputPassword/types.d.ts +0 -2
  55. package/dist/components/InputPassword/types.d.ts.map +1 -1
  56. package/dist/components/MegaMenu/MegaMenu.vue.d.ts.map +1 -1
  57. package/dist/components/Mentions/Mentions.vue.d.ts +0 -1
  58. package/dist/components/Mentions/Mentions.vue.d.ts.map +1 -1
  59. package/dist/components/Mentions/types.d.ts +0 -2
  60. package/dist/components/Mentions/types.d.ts.map +1 -1
  61. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  62. package/dist/components/Menu/MenuNodes.vue.d.ts.map +1 -1
  63. package/dist/components/Menu/styles.css +45 -3
  64. package/dist/components/Menu/types.d.ts +3 -1
  65. package/dist/components/Menu/types.d.ts.map +1 -1
  66. package/dist/components/Menubar/Menubar.vue.d.ts +2 -2
  67. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  68. package/dist/components/Menubar/styles.css +1 -1
  69. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  70. package/dist/components/Rating/Rating.vue.d.ts +1 -1
  71. package/dist/components/Rating/types.d.ts +2 -2
  72. package/dist/components/Rating/types.d.ts.map +1 -1
  73. package/dist/components/Select/Select.vue.d.ts +1 -1
  74. package/dist/components/Select/types.d.ts +1 -1
  75. package/dist/components/Select/types.d.ts.map +1 -1
  76. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +1 -1
  77. package/dist/components/SpeedDial/SpeedDial.vue.d.ts +3 -3
  78. package/dist/components/SpeedDial/SpeedDial.vue.d.ts.map +1 -1
  79. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  80. package/dist/components/Textarea/Textarea.vue.d.ts +0 -1
  81. package/dist/components/Textarea/Textarea.vue.d.ts.map +1 -1
  82. package/dist/components/Textarea/types.d.ts +0 -2
  83. package/dist/components/Textarea/types.d.ts.map +1 -1
  84. package/dist/components/TieredMenu/styles.css +2 -2
  85. package/dist/components/Tooltip/styles.css +15 -2
  86. package/dist/config-provider/style.css +6 -15
  87. package/dist/confirm-dialog/style.css +6 -15
  88. package/dist/confirm-popup/style.css +6 -15
  89. package/dist/context-menu/index.js +92 -84
  90. package/dist/context-menu/style.css +7 -16
  91. package/dist/data-view/index.js +1 -1
  92. package/dist/data-view/style.css +6 -15
  93. package/dist/date-picker/style.css +6 -15
  94. package/dist/descriptions/style.css +6 -15
  95. package/dist/dialog/style.css +6 -15
  96. package/dist/divider/style.css +6 -15
  97. package/dist/dock/index.js +21 -18
  98. package/dist/dock/style.css +6 -15
  99. package/dist/drawer/style.css +6 -15
  100. package/dist/dropdown/index.js +103 -95
  101. package/dist/dropdown/style.css +7 -16
  102. package/dist/empty/style.css +6 -15
  103. package/dist/fieldset/style.css +6 -15
  104. package/dist/file-upload/style.css +6 -15
  105. package/dist/flex/style.css +6 -15
  106. package/dist/float-label/style.css +6 -15
  107. package/dist/fluid/style.css +6 -15
  108. package/dist/form/style.css +6 -15
  109. package/dist/gallery/style.css +6 -15
  110. package/dist/grid/style.css +6 -15
  111. package/dist/icon/style.css +6 -15
  112. package/dist/{icon-H8prbteT.js → icon-CUrSaD8r.js} +4 -1
  113. package/dist/icon-field/style.css +6 -15
  114. package/dist/image/style.css +6 -15
  115. package/dist/index.d.ts +2 -2
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +4047 -3420
  118. package/dist/inplace/style.css +6 -15
  119. package/dist/input/index.js +1 -1
  120. package/dist/input/style.css +6 -15
  121. package/dist/input-group/style.css +6 -15
  122. package/dist/input-number/index.js +2 -245
  123. package/dist/input-number/style.css +34 -25
  124. package/dist/input-otp/style.css +6 -15
  125. package/dist/input-password/index.js +1 -5
  126. package/dist/input-password/style.css +6 -15
  127. package/dist/input-tags/style.css +6 -15
  128. package/dist/knob/style.css +6 -15
  129. package/dist/label/style.css +6 -15
  130. package/dist/layout/style.css +6 -15
  131. package/dist/list/index.js +1 -1
  132. package/dist/list/style.css +6 -15
  133. package/dist/listbox/style.css +6 -15
  134. package/dist/loading/style.css +6 -15
  135. package/dist/mega-menu/index.js +94 -87
  136. package/dist/mega-menu/style.css +6 -15
  137. package/dist/mentions/index.js +35 -39
  138. package/dist/mentions/style.css +6 -15
  139. package/dist/menu/index.js +235 -213
  140. package/dist/menu/style.css +66 -20
  141. package/dist/menubar/index.js +107 -99
  142. package/dist/menubar/style.css +7 -16
  143. package/dist/message/style.css +6 -15
  144. package/dist/meter-group/style.css +6 -15
  145. package/dist/order-list/style.css +6 -15
  146. package/dist/page/style.css +6 -15
  147. package/dist/pagination/index.js +1 -1
  148. package/dist/pagination/style.css +6 -15
  149. package/dist/panel/style.css +6 -15
  150. package/dist/pick-list/style.css +6 -15
  151. package/dist/popover/index.js +1 -1
  152. package/dist/popover/style.css +6 -15
  153. package/dist/progress-bar/style.css +6 -15
  154. package/dist/progress-spinner/style.css +6 -15
  155. package/dist/qr-code/style.css +6 -15
  156. package/dist/radio/style.css +6 -15
  157. package/dist/rating/index.js +2 -2
  158. package/dist/rating/style.css +6 -15
  159. package/dist/resolver.js +1 -1
  160. package/dist/result/style.css +6 -15
  161. package/dist/scroll-top/style.css +6 -15
  162. package/dist/scrollbar/style.css +6 -15
  163. package/dist/segmented/style.css +6 -15
  164. package/dist/select/index.js +1 -1
  165. package/dist/select/style.css +6 -15
  166. package/dist/select-button/style.css +6 -15
  167. package/dist/shared/menu/icon.d.ts +3 -0
  168. package/dist/shared/menu/icon.d.ts.map +1 -1
  169. package/dist/shared/menu/index.d.ts +2 -2
  170. package/dist/shared/menu/index.d.ts.map +1 -1
  171. package/dist/shared/menu/types.d.ts +3 -1
  172. package/dist/shared/menu/types.d.ts.map +1 -1
  173. package/dist/sidebar/index.js +37 -29
  174. package/dist/sidebar/style.css +6 -15
  175. package/dist/skeleton/style.css +6 -15
  176. package/dist/slider/style.css +6 -15
  177. package/dist/space/style.css +6 -15
  178. package/dist/speed-dial/index.js +101 -94
  179. package/dist/speed-dial/style.css +6 -15
  180. package/dist/split-button/index.js +3 -3
  181. package/dist/split-button/style.css +6 -15
  182. package/dist/splitter/style.css +6 -15
  183. package/dist/statistic/style.css +6 -15
  184. package/dist/status/style.css +6 -15
  185. package/dist/stepper/style.css +6 -15
  186. package/dist/styles/base.css +6 -15
  187. package/dist/styles.css +1 -1
  188. package/dist/switch/style.css +6 -15
  189. package/dist/table/index.js +3 -3
  190. package/dist/table/style.css +6 -15
  191. package/dist/tabs/style.css +6 -15
  192. package/dist/tag/style.css +6 -15
  193. package/dist/terminal/style.css +6 -15
  194. package/dist/textarea/index.js +1 -1
  195. package/dist/textarea/style.css +6 -15
  196. package/dist/tiered-menu/style.css +8 -17
  197. package/dist/time-picker/style.css +6 -15
  198. package/dist/timeline/style.css +6 -15
  199. package/dist/toast/style.css +6 -15
  200. package/dist/toggle-button/index.js +1 -1
  201. package/dist/toggle-button/style.css +6 -15
  202. package/dist/toolbar/style.css +6 -15
  203. package/dist/tooltip/style.css +21 -17
  204. package/dist/tour/style.css +6 -15
  205. package/dist/tree/style.css +6 -15
  206. package/dist/tree-select/style.css +6 -15
  207. package/dist/typography/index.js +1 -1
  208. package/dist/typography/style.css +6 -15
  209. package/dist/virtual-scroller/style.css +6 -15
  210. package/dist/watermark/style.css +6 -15
  211. package/package.json +8 -8
  212. package/dist/components/InputColor/InputColor.vue.d.ts +0 -24
  213. package/dist/components/InputColor/InputColor.vue.d.ts.map +0 -1
  214. package/dist/components/InputColor/index.d.ts +0 -3
  215. package/dist/components/InputColor/index.d.ts.map +0 -1
  216. package/dist/components/InputColor/styles.css +0 -139
  217. package/dist/components/InputColor/types.d.ts +0 -19
  218. package/dist/components/InputColor/types.d.ts.map +0 -1
  219. package/dist/input-color/index.js +0 -118
  220. package/dist/input-color/style.js +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # morya-ui
2
2
 
3
+ ## 0.5.1
4
+
5
+ ### 破坏性变更
6
+
7
+ - unify clearable prop name across form controls
8
+
9
+ ### 新功能
10
+
11
+ - support custom component icons across menu components
12
+ - enhance popup behavior and styling
13
+
14
+ ### 修复
15
+
16
+ - remove explicit width setting for popup menu
17
+ - lock floating popup width to the trigger width
18
+ - don't highlight first item on mouse open
19
+ - don't highlight first item on open
20
+
21
+ ### 变更
22
+
23
+ - sync clearable usage and regenerate MCP catalog
24
+
25
+ ## 0.5.0
26
+
27
+ ### 新功能
28
+
29
+ - update component import map and styles
30
+ - add gradient support with draggable stops
31
+ - remove InputColor component (replaced by ColorPicker)
32
+
33
+ ### 文档
34
+
35
+ - add Methods section (open/close/toggle)
36
+ - remove external library references and InputColor mentions
37
+
38
+ ### 变更
39
+
40
+ - enhance button styling and layout for right-stacked configuration
41
+
3
42
  ## 0.4.5
4
43
 
5
44
  ### 新功能
@@ -7,7 +46,7 @@
7
46
  - add disabled, v-model:selection, top/bottom buttons, drag preview, drop indicator, flip animation
8
47
  - scale size across panel, center cells, stretch fluid calendar, add time column headers
9
48
  - add moveTop, moveBottom, hour, minute, second, today messages
10
- - align control size tokens with ant design (small 8px, medium 12px, large 16px font)
49
+ - align control size tokens with design system (small 8px, medium 12px, large 16px font)
11
50
  - add panel mode cycling, multiple selection and input mask
12
51
  - add needConfirm and shortcut active state
13
52
  - add status, today ring, footer and cell slots
@@ -765,7 +804,7 @@
765
804
  ### 组件(88 个)
766
805
 
767
806
  - **基础**:Button、ButtonGroup、Icon、Avatar、AvatarGroup、Badge、Chip、Tag、Divider、Skeleton、ProgressBar、ProgressSpinner、BlockUI、ScrollTop
768
- - **表单**:Input、Textarea、InputNumber、InputPassword、InputOtp、InputTags、InputColor、InputGroup、InputGroupAddon、IconField、FloatLabel、Label、Checkbox、CheckboxGroup、Radio、RadioGroup、Switch、Select、SelectButton、ToggleButton、Slider、Knob、Rating、DatePicker、AutoComplete、CascadeSelect、TreeSelect、FileUpload、Form、FormItem
807
+ - **表单**:Input、Textarea、InputNumber、InputPassword、InputOtp、InputTags、ColorPicker、InputGroup、InputGroupAddon、IconField、FloatLabel、Label、Checkbox、CheckboxGroup、Radio、RadioGroup、Switch、Select、SelectButton、ToggleButton、Slider、Knob、Rating、DatePicker、AutoComplete、CascadeSelect、TreeSelect、FileUpload、Form、FormItem
769
808
  - **浮层与对话框**:Dialog、Drawer、Popover、Tooltip、ConfirmDialog、ConfirmPopup、ContextMenu、Dropdown、SplitButton、SpeedDial
770
809
  - **数据展示**:Table、Tree、TreeTable、TreeSelect、DataView、VirtualScroller、Timeline、MeterGroup、Terminal、Gallery、Carousel、Inplace
771
810
  - **导航与菜单**:Menu、Menubar、MegaMenu、TieredMenu、Breadcrumb、Tabs、Stepper、Pagination、CommandMenu、Dock、Sidebar
@@ -61,10 +61,6 @@ var te = ["for"], ne = {
61
61
  type: Boolean,
62
62
  default: void 0
63
63
  },
64
- allowClear: {
65
- type: Boolean,
66
- default: void 0
67
- },
68
64
  maxlength: {},
69
65
  showCount: {
70
66
  type: Boolean,
@@ -84,7 +80,7 @@ var te = ["for"], ne = {
84
80
  "change"
85
81
  ],
86
82
  setup(f, { expose: T, emit: E }) {
87
- let D = f, O = E, k = x(), { rootAttrs: A, controlAttrs: j } = e(k, () => D.pt), M = S(), N = i("Input"), P = p(r, null), F = o(), I = _(null), L = t("m-input"), R = s(() => D.id ?? L), z = s(() => D.invalid || D.status === "error" || !!D.errorMessage), B = s(() => D.status === "warning" && !z.value), V = ee("Input", () => D.size ?? P?.value.size), H = a("Input", () => D.variant), U = s(() => D.clearable ?? D.allowClear ?? N.value.clearable ?? N.value.allowClear ?? !1), W = s(() => D.showCount ?? N.value.showCount ?? !1), G = s(() => D.fluid ?? N.value.fluid ?? !1), K = s(() => D.modelValue.length), q = s(() => D.maxlength == null ? String(K.value) : `${K.value} / ${D.maxlength}`), J = s(() => D.errorMessage || D.helpText), Y = s(() => !!D.errorMessage || z.value && !!D.helpText), X = s(() => !!M.prefix), Z = s(() => !!M.suffix), se = s(() => {
83
+ let D = f, O = E, k = x(), { rootAttrs: A, controlAttrs: j } = e(k, () => D.pt), M = S(), N = i("Input"), P = p(r, null), F = o(), I = _(null), L = t("m-input"), R = s(() => D.id ?? L), z = s(() => D.invalid || D.status === "error" || !!D.errorMessage), B = s(() => D.status === "warning" && !z.value), V = ee("Input", () => D.size ?? P?.value.size), H = a("Input", () => D.variant), U = s(() => D.clearable ?? N.value.clearable ?? !1), W = s(() => D.showCount ?? N.value.showCount ?? !1), G = s(() => D.fluid ?? N.value.fluid ?? !1), K = s(() => D.modelValue.length), q = s(() => D.maxlength == null ? String(K.value) : `${K.value} / ${D.maxlength}`), J = s(() => D.errorMessage || D.helpText), Y = s(() => !!D.errorMessage || z.value && !!D.helpText), X = s(() => !!M.prefix), Z = s(() => !!M.suffix), se = s(() => {
88
84
  let e = [];
89
85
  return J.value && e.push(`${R.value}-help`), W.value && e.push(`${R.value}-count`), e.length ? e.join(" ") : void 0;
90
86
  }), ce = s(() => [
@@ -0,0 +1,245 @@
1
+ import { i as e } from "./useComponentAttrs-e-5QAjdw.js";
2
+ import { t } from "./useFieldFeedback-C5qIqYMK.js";
3
+ import { t as n } from "./useMId-BXFYayPP.js";
4
+ import { t as r } from "./Icon-CmHjx7W8.js";
5
+ import { o as i } from "./config-Cd20zAyW.js";
6
+ import { n as a } from "./locale-BcxMPufl.js";
7
+ import { computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, mergeProps as f, normalizeClass as p, openBlock as m, ref as h, renderSlot as g, toDisplayString as _, unref as v, useAttrs as y, watch as b } from "vue";
8
+ //#region src/components/InputNumber/InputNumber.vue?vue&type=script&setup=true&lang.ts
9
+ var x = ["for"], S = ["aria-label", "disabled"], C = { class: "m-inputnumber__input-wrap" }, w = {
10
+ key: 0,
11
+ class: "m-inputnumber__prefix"
12
+ }, T = [
13
+ "id",
14
+ "value",
15
+ "placeholder",
16
+ "name",
17
+ "autofocus",
18
+ "disabled",
19
+ "readonly",
20
+ "aria-invalid",
21
+ "aria-describedby"
22
+ ], E = {
23
+ key: 1,
24
+ class: "m-inputnumber__suffix"
25
+ }, D = ["aria-label"], O = {
26
+ key: 1,
27
+ class: "m-inputnumber__stack"
28
+ }, ee = ["aria-label", "disabled"], te = ["aria-label", "disabled"], ne = ["aria-label", "disabled"], k = ["id", "role"], A = /* @__PURE__ */ d({
29
+ inheritAttrs: !1,
30
+ __name: "InputNumber",
31
+ props: {
32
+ modelValue: { default: null },
33
+ label: {},
34
+ min: {},
35
+ max: {},
36
+ step: { default: 1 },
37
+ precision: {},
38
+ disabled: {
39
+ type: Boolean,
40
+ default: !1
41
+ },
42
+ readonly: {
43
+ type: Boolean,
44
+ default: !1
45
+ },
46
+ invalid: {
47
+ type: Boolean,
48
+ default: !1
49
+ },
50
+ helpText: {},
51
+ errorMessage: {},
52
+ fluid: {
53
+ type: Boolean,
54
+ default: !1
55
+ },
56
+ size: {},
57
+ showButtons: {
58
+ type: Boolean,
59
+ default: !1
60
+ },
61
+ buttonPlacement: { default: "both" },
62
+ clearable: {
63
+ type: Boolean,
64
+ default: !1
65
+ },
66
+ id: {},
67
+ pt: {},
68
+ name: {},
69
+ autofocus: { type: Boolean },
70
+ placeholder: {}
71
+ },
72
+ emits: [
73
+ "update:modelValue",
74
+ "focus",
75
+ "blur",
76
+ "change"
77
+ ],
78
+ setup(d, { expose: A, emit: j }) {
79
+ let M = d, N = j, P = y(), { rootAttrs: F, controlAttrs: I } = e(P, () => M.pt), L = a(), R = h(null), z = n("m-inputnumber"), B = o(() => M.id ?? z), V = i("InputNumber", () => M.size), { isInvalid: H, feedbackText: U, feedbackIsError: W } = t(M), G = o(() => M.clearable && M.modelValue != null && !M.disabled), K = o(() => [
80
+ "m-inputnumber",
81
+ `m-inputnumber--${V.value}`,
82
+ {
83
+ "m-inputnumber--fluid": M.fluid,
84
+ "m-inputnumber--invalid": H.value,
85
+ "m-inputnumber--disabled": M.disabled,
86
+ "m-inputnumber--buttons": M.showButtons,
87
+ "m-inputnumber--buttons-right": M.showButtons && M.buttonPlacement === "right"
88
+ }
89
+ ]);
90
+ function q(e) {
91
+ if (M.precision == null) return e;
92
+ let t = 10 ** M.precision;
93
+ return Math.round(e * t) / t;
94
+ }
95
+ function J(e) {
96
+ let t = q(e);
97
+ return M.min != null && t < M.min && (t = M.min), M.max != null && t > M.max && (t = M.max), t;
98
+ }
99
+ function Y(e) {
100
+ let t = e.trim();
101
+ if (t === "" || t === "-" || t === "+" || t === ".") return null;
102
+ let n = Number(t);
103
+ return Number.isNaN(n) ? null : J(n);
104
+ }
105
+ let X = h(null), re = o(() => X.value ?? (M.modelValue == null ? "" : String(M.modelValue)));
106
+ b(() => M.modelValue, (e) => {
107
+ X.value != null && ((e == null ? X.value.trim() === "" : Number(X.value) === e) || (X.value = null));
108
+ });
109
+ function ie(e) {
110
+ if (M.disabled) return;
111
+ let t = e.target.value;
112
+ X.value = t;
113
+ let n = t.trim();
114
+ if (n === "") {
115
+ N("update:modelValue", null);
116
+ return;
117
+ }
118
+ let r = Number(n);
119
+ Number.isNaN(r) || /[.e+-]$/i.test(n) || N("update:modelValue", q(r));
120
+ }
121
+ function Z() {
122
+ if (M.disabled || X.value == null) return;
123
+ let e = Y(X.value);
124
+ N("update:modelValue", e), X.value = e == null ? "" : String(e);
125
+ }
126
+ function ae(e) {
127
+ e.key === "Enter" && Z();
128
+ }
129
+ function Q(e) {
130
+ if (M.disabled) return;
131
+ let t = M.modelValue ?? M.min ?? 0;
132
+ X.value = null, N("update:modelValue", J(t + e * M.step));
133
+ }
134
+ function oe() {
135
+ M.disabled || (X.value = null, N("update:modelValue", null));
136
+ }
137
+ function se() {
138
+ R.value?.focus();
139
+ }
140
+ function ce() {
141
+ R.value?.blur();
142
+ }
143
+ function le() {
144
+ R.value?.select();
145
+ }
146
+ function $(e) {
147
+ Z(), N("blur", e), N("change", M.modelValue);
148
+ }
149
+ return A({
150
+ focus: se,
151
+ blur: ce,
152
+ select: le
153
+ }), (e, t) => (m(), c("div", f(v(F), { class: ["m-inputnumber-field", { "m-inputnumber-field--fluid": d.fluid }] }), [
154
+ d.label ? (m(), c("label", {
155
+ key: 0,
156
+ class: "m-inputnumber-field__label",
157
+ for: B.value
158
+ }, _(d.label), 9, x)) : s("", !0),
159
+ l("div", { class: p(K.value) }, [
160
+ d.showButtons && d.buttonPlacement === "both" ? (m(), c("button", {
161
+ key: 0,
162
+ class: "m-inputnumber__button m-inputnumber__button--decrement",
163
+ type: "button",
164
+ "aria-label": v(L).decrease,
165
+ disabled: d.disabled || d.min != null && d.modelValue != null && d.modelValue <= d.min,
166
+ onClick: t[0] ||= (e) => Q(-1)
167
+ }, [u(r, {
168
+ name: "minus",
169
+ size: "sm"
170
+ })], 8, S)) : s("", !0),
171
+ l("div", C, [
172
+ e.$slots.prefix ? (m(), c("span", w, [g(e.$slots, "prefix")])) : s("", !0),
173
+ l("input", f(v(I), {
174
+ id: B.value,
175
+ ref_key: "inputElement",
176
+ ref: R,
177
+ class: "m-inputnumber__input",
178
+ type: "text",
179
+ inputmode: "decimal",
180
+ value: re.value,
181
+ placeholder: d.placeholder,
182
+ name: d.name,
183
+ autofocus: d.autofocus || void 0,
184
+ disabled: d.disabled,
185
+ readonly: d.readonly,
186
+ "aria-invalid": v(H) || void 0,
187
+ "aria-describedby": v(U) ? `${B.value}-help` : void 0,
188
+ onInput: ie,
189
+ onFocus: t[1] ||= (e) => N("focus", e),
190
+ onBlur: $,
191
+ onKeydown: ae
192
+ }), null, 16, T),
193
+ e.$slots.suffix ? (m(), c("span", E, [g(e.$slots, "suffix")])) : s("", !0),
194
+ G.value ? (m(), c("button", {
195
+ key: 2,
196
+ type: "button",
197
+ class: "m-inputnumber__clear",
198
+ "aria-label": v(L).clearInput,
199
+ onClick: oe
200
+ }, [u(r, {
201
+ name: "close",
202
+ size: "sm"
203
+ })], 8, D)) : s("", !0)
204
+ ]),
205
+ d.showButtons && d.buttonPlacement === "right" ? (m(), c("div", O, [l("button", {
206
+ class: "m-inputnumber__button m-inputnumber__button--increment",
207
+ type: "button",
208
+ "aria-label": v(L).increase,
209
+ disabled: d.disabled || d.max != null && d.modelValue != null && d.modelValue >= d.max,
210
+ onClick: t[2] ||= (e) => Q(1)
211
+ }, [u(r, {
212
+ name: "plus",
213
+ size: "sm"
214
+ })], 8, ee), l("button", {
215
+ class: "m-inputnumber__button m-inputnumber__button--decrement",
216
+ type: "button",
217
+ "aria-label": v(L).decrease,
218
+ disabled: d.disabled || d.min != null && d.modelValue != null && d.modelValue <= d.min,
219
+ onClick: t[3] ||= (e) => Q(-1)
220
+ }, [u(r, {
221
+ name: "minus",
222
+ size: "sm"
223
+ })], 8, te)])) : d.showButtons ? (m(), c("button", {
224
+ key: 2,
225
+ class: "m-inputnumber__button m-inputnumber__button--increment",
226
+ type: "button",
227
+ "aria-label": v(L).increase,
228
+ disabled: d.disabled || d.max != null && d.modelValue != null && d.modelValue >= d.max,
229
+ onClick: t[4] ||= (e) => Q(1)
230
+ }, [u(r, {
231
+ name: "plus",
232
+ size: "sm"
233
+ })], 8, ne)) : s("", !0)
234
+ ], 2),
235
+ v(U) ? (m(), c("span", {
236
+ key: 1,
237
+ id: `${B.value}-help`,
238
+ class: p(["m-inputnumber-field__help", { "m-inputnumber-field__help--invalid": v(W) }]),
239
+ role: v(W) ? "alert" : void 0
240
+ }, _(v(U)), 11, k)) : s("", !0)
241
+ ], 16));
242
+ }
243
+ });
244
+ //#endregion
245
+ export { A as t };
@@ -1,6 +1,6 @@
1
1
  import { a as e } from "./useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "./Icon-CmHjx7W8.js";
3
- import { t as n } from "./Select-q4X2ff_M.js";
3
+ import { t as n } from "./Select-BaFKBeIh.js";
4
4
  import { n as r, t as i } from "./locale-BcxMPufl.js";
5
5
  import { Fragment as a, computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, mergeProps as f, normalizeClass as p, openBlock as m, renderList as h, toDisplayString as g, unref as _, useAttrs as v } from "vue";
6
6
  //#region src/components/Pagination/Pagination.vue?vue&type=script&setup=true&lang.ts
@@ -120,7 +120,12 @@ var ie = ["aria-expanded", "aria-controls"], ae = ["id"], w = /* @__PURE__ */ h(
120
120
  }
121
121
  }
122
122
  function X() {
123
- !z.value || !F.value || (L.value = r(F.value.getBoundingClientRect(), E.placement));
123
+ if (!z.value || !F.value) return;
124
+ let e = I.value?.getBoundingClientRect();
125
+ L.value = r(F.value.getBoundingClientRect(), E.placement, e && e.height > 0 ? {
126
+ estimatedHeight: e.height,
127
+ estimatedWidth: e.width
128
+ } : void 0);
124
129
  }
125
130
  function Z(e) {
126
131
  let t = e.target;
@@ -255,7 +255,7 @@ var Me = ["for"], Ne = [
255
255
  },
256
256
  maxTagCount: {},
257
257
  maxTagPlaceholder: {},
258
- allowClear: {
258
+ clearable: {
259
259
  type: Boolean,
260
260
  default: void 0
261
261
  },
@@ -321,7 +321,7 @@ var Me = ["for"], Ne = [
321
321
  local: () => E.transition,
322
322
  componentName: "Select",
323
323
  fallback: "scale-fade"
324
- }), k = ae(), ft = b(null), A = b(null), pt = b(null), mt = b(null), j = b(!1), M = b(""), N = b(-1), ht = b({}), P = b([]), gt = a("m-select"), F = f(() => E.id ?? gt), _t = f(() => E.notFoundContent ?? k.value.emptyOptions), vt = f(() => E.mode ?? O.value.mode), I = f(() => vt.value === "multiple" || vt.value === "tags"), yt = f(() => vt.value === "tags"), bt = f(() => E.remote ?? O.value.remote ?? !1), L = f(() => E.loading ?? !1), xt = f(() => E.fluid ?? O.value.fluid ?? !1), St = f(() => E.allowClear ?? O.value.allowClear ?? !1), R = f(() => E.showSearch ?? O.value.showSearch ?? !1), Ct = f(() => E.suffixIcon ?? "chevron-down"), wt = f(() => ({
324
+ }), k = ae(), ft = b(null), A = b(null), pt = b(null), mt = b(null), j = b(!1), M = b(""), N = b(-1), ht = b({}), P = b([]), gt = a("m-select"), F = f(() => E.id ?? gt), _t = f(() => E.notFoundContent ?? k.value.emptyOptions), vt = f(() => E.mode ?? O.value.mode), I = f(() => vt.value === "multiple" || vt.value === "tags"), yt = f(() => vt.value === "tags"), bt = f(() => E.remote ?? O.value.remote ?? !1), L = f(() => E.loading ?? !1), xt = f(() => E.fluid ?? O.value.fluid ?? !1), St = f(() => E.clearable ?? O.value.clearable ?? !1), R = f(() => E.showSearch ?? O.value.showSearch ?? !1), Ct = f(() => E.suffixIcon ?? "chevron-down"), wt = f(() => ({
325
325
  filterOption: E.filterOption,
326
326
  optionFilterProp: E.optionFilterProp
327
327
  })), Tt = f(() => Ce(E.options, E.fieldNames)), Et = re("Select", () => E.size ?? ct?.value.size), Dt = ie("Select", () => E.variant), Ot = f(() => t(E, lt.value.appendTo)), z = f(() => n(E, lt.value.appendTo)), B = f(() => E.invalid || E.status === "error" || !!E.errorMessage), kt = f(() => E.status === "warning" && !B.value), At = f(() => E.errorMessage || E.helpText), jt = f(() => !!E.errorMessage || B.value && !!E.helpText), V = f(() => Te(E.modelValue, I.value)), Mt = f(() => Ee(Tt.value, P.value, V.value));
@@ -60,10 +60,6 @@ var S = ["for"], C = [
60
60
  type: Boolean,
61
61
  default: void 0
62
62
  },
63
- allowClear: {
64
- type: Boolean,
65
- default: void 0
66
- },
67
63
  maxlength: {},
68
64
  showCount: {
69
65
  type: Boolean,
@@ -83,7 +79,7 @@ var S = ["for"], C = [
83
79
  "change"
84
80
  ],
85
81
  setup(f, { expose: D, emit: ie }) {
86
- let O = f, k = ie, ae = b(), { rootAttrs: A, controlAttrs: j } = e(ae, () => O.pt), M = i("Textarea"), N = te(r, null), P = s(), F = ne(null), I = t("m-textarea"), L = c(() => O.id ?? I), R = c(() => O.invalid || O.status === "error" || !!O.errorMessage), z = c(() => O.status === "warning" && !R.value), B = a("Textarea", () => O.size ?? N?.value.size), V = o("Textarea", () => O.variant), H = c(() => O.fluid ?? M.value.fluid ?? !1), U = c(() => O.clearable ?? O.allowClear ?? M.value.clearable ?? M.value.allowClear ?? !1), W = c(() => O.showCount ?? M.value.showCount ?? !1), G = c(() => {
82
+ let O = f, k = ie, ae = b(), { rootAttrs: A, controlAttrs: j } = e(ae, () => O.pt), M = i("Textarea"), N = te(r, null), P = s(), F = ne(null), I = t("m-textarea"), L = c(() => O.id ?? I), R = c(() => O.invalid || O.status === "error" || !!O.errorMessage), z = c(() => O.status === "warning" && !R.value), B = a("Textarea", () => O.size ?? N?.value.size), V = o("Textarea", () => O.variant), H = c(() => O.fluid ?? M.value.fluid ?? !1), U = c(() => O.clearable ?? M.value.clearable ?? !1), W = c(() => O.showCount ?? M.value.showCount ?? !1), G = c(() => {
87
83
  if (O.autosize !== void 0 && O.autosize !== !1) return O.autosize;
88
84
  let e = M.value.autosize;
89
85
  return e !== void 0 && e !== !1 && e;
@@ -405,7 +405,7 @@
405
405
 
406
406
  :root {
407
407
  /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
408
- --m-menu-min-width: 12rem;
408
+ --m-overlay-menu-min-width: 12rem;
409
409
  }
410
410
 
411
411
  .m-button,
@@ -463,7 +463,7 @@
463
463
  .m-progress-spinner,
464
464
  .m-cascadeselect,
465
465
  .m-treeselect,
466
- .m-inputcolor,
466
+ .m-colorpicker,
467
467
  .m-inputtags,
468
468
  .m-label,
469
469
  .m-speeddial,
@@ -489,8 +489,7 @@
489
489
  .m-password__input:disabled,
490
490
  .m-inputnumber__input:disabled,
491
491
  .m-inputotp__input:disabled,
492
- .m-inputcolor__text:disabled,
493
- .m-inputcolor__swatch:disabled,
492
+ .m-colorpicker__trigger:disabled,
494
493
  .m-inputtags--disabled {
495
494
  background-color: var(--m-color-bg-disabled);
496
495
  color: var(--m-color-text-disabled);
@@ -513,8 +512,7 @@
513
512
  .m-textarea::placeholder,
514
513
  .m-password__input::placeholder,
515
514
  .m-inputnumber__input::placeholder,
516
- .m-inputtags__input::placeholder,
517
- .m-inputcolor__text::placeholder {
515
+ .m-inputtags__input::placeholder {
518
516
  color: var(--m-color-text-muted);
519
517
  opacity: 1;
520
518
  }
@@ -858,9 +856,7 @@
858
856
  font-family: var(--m-font-sans);
859
857
  gap: var(--m-space-2);
860
858
  max-width: 100%;
861
- min-width: var(--m-menu-min-width);
862
859
  position: relative;
863
- width: fit-content;
864
860
  }
865
861
 
866
862
  .m-textarea-field--fluid,
@@ -1051,7 +1047,7 @@
1051
1047
  flex: 1;
1052
1048
  max-height: 16rem;
1053
1049
  min-height: 12rem;
1054
- min-width: var(--m-menu-min-width);
1050
+ min-width: var(--m-overlay-menu-min-width);
1055
1051
  }
1056
1052
 
1057
1053
  .m-orderlist__list,
@@ -1119,7 +1115,6 @@
1119
1115
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1120
1116
  .m-treeselect:not(.m-treeselect--open)
1121
1117
  .m-treeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1122
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
1123
1118
  .m-inputtags:hover:not(.m-inputtags--disabled):not(:focus-within),
1124
1119
  .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked):not(:focus-visible),
1125
1120
  .m-inplace__display:hover:not(:focus-visible) {
@@ -1134,8 +1129,6 @@
1134
1129
  .m-treeselect--open .m-treeselect__trigger,
1135
1130
  .m-treeselect__trigger:focus,
1136
1131
  .m-treeselect__trigger:focus-visible,
1137
- .m-inputcolor__text:focus,
1138
- .m-inputcolor__text:focus-visible,
1139
1132
  .m-inputtags:focus-within,
1140
1133
  .m-togglebutton:focus-visible,
1141
1134
  .m-selectbutton__button:focus-visible,
@@ -1150,9 +1143,7 @@
1150
1143
 
1151
1144
  .m-inputotp--invalid .m-inputotp__input:focus,
1152
1145
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
1153
- .m-inputtags--invalid:focus-within,
1154
- .m-inputcolor--invalid .m-inputcolor__text:focus,
1155
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
1146
+ .m-inputtags--invalid:focus-within {
1156
1147
  border-color: var(--m-color-danger);
1157
1148
  box-shadow: var(--m-focus-shadow-danger);
1158
1149
  }
@@ -405,7 +405,7 @@
405
405
 
406
406
  :root {
407
407
  /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
408
- --m-menu-min-width: 12rem;
408
+ --m-overlay-menu-min-width: 12rem;
409
409
  }
410
410
 
411
411
  .m-button,
@@ -463,7 +463,7 @@
463
463
  .m-progress-spinner,
464
464
  .m-cascadeselect,
465
465
  .m-treeselect,
466
- .m-inputcolor,
466
+ .m-colorpicker,
467
467
  .m-inputtags,
468
468
  .m-label,
469
469
  .m-speeddial,
@@ -489,8 +489,7 @@
489
489
  .m-password__input:disabled,
490
490
  .m-inputnumber__input:disabled,
491
491
  .m-inputotp__input:disabled,
492
- .m-inputcolor__text:disabled,
493
- .m-inputcolor__swatch:disabled,
492
+ .m-colorpicker__trigger:disabled,
494
493
  .m-inputtags--disabled {
495
494
  background-color: var(--m-color-bg-disabled);
496
495
  color: var(--m-color-text-disabled);
@@ -513,8 +512,7 @@
513
512
  .m-textarea::placeholder,
514
513
  .m-password__input::placeholder,
515
514
  .m-inputnumber__input::placeholder,
516
- .m-inputtags__input::placeholder,
517
- .m-inputcolor__text::placeholder {
515
+ .m-inputtags__input::placeholder {
518
516
  color: var(--m-color-text-muted);
519
517
  opacity: 1;
520
518
  }
@@ -858,9 +856,7 @@
858
856
  font-family: var(--m-font-sans);
859
857
  gap: var(--m-space-2);
860
858
  max-width: 100%;
861
- min-width: var(--m-menu-min-width);
862
859
  position: relative;
863
- width: fit-content;
864
860
  }
865
861
 
866
862
  .m-textarea-field--fluid,
@@ -1051,7 +1047,7 @@
1051
1047
  flex: 1;
1052
1048
  max-height: 16rem;
1053
1049
  min-height: 12rem;
1054
- min-width: var(--m-menu-min-width);
1050
+ min-width: var(--m-overlay-menu-min-width);
1055
1051
  }
1056
1052
 
1057
1053
  .m-orderlist__list,
@@ -1119,7 +1115,6 @@
1119
1115
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1120
1116
  .m-treeselect:not(.m-treeselect--open)
1121
1117
  .m-treeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1122
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
1123
1118
  .m-inputtags:hover:not(.m-inputtags--disabled):not(:focus-within),
1124
1119
  .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked):not(:focus-visible),
1125
1120
  .m-inplace__display:hover:not(:focus-visible) {
@@ -1134,8 +1129,6 @@
1134
1129
  .m-treeselect--open .m-treeselect__trigger,
1135
1130
  .m-treeselect__trigger:focus,
1136
1131
  .m-treeselect__trigger:focus-visible,
1137
- .m-inputcolor__text:focus,
1138
- .m-inputcolor__text:focus-visible,
1139
1132
  .m-inputtags:focus-within,
1140
1133
  .m-togglebutton:focus-visible,
1141
1134
  .m-selectbutton__button:focus-visible,
@@ -1150,9 +1143,7 @@
1150
1143
 
1151
1144
  .m-inputotp--invalid .m-inputotp__input:focus,
1152
1145
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
1153
- .m-inputtags--invalid:focus-within,
1154
- .m-inputcolor--invalid .m-inputcolor__text:focus,
1155
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
1146
+ .m-inputtags--invalid:focus-within {
1156
1147
  border-color: var(--m-color-danger);
1157
1148
  box-shadow: var(--m-focus-shadow-danger);
1158
1149
  }
@@ -405,7 +405,7 @@
405
405
 
406
406
  :root {
407
407
  /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
408
- --m-menu-min-width: 12rem;
408
+ --m-overlay-menu-min-width: 12rem;
409
409
  }
410
410
 
411
411
  .m-button,
@@ -463,7 +463,7 @@
463
463
  .m-progress-spinner,
464
464
  .m-cascadeselect,
465
465
  .m-treeselect,
466
- .m-inputcolor,
466
+ .m-colorpicker,
467
467
  .m-inputtags,
468
468
  .m-label,
469
469
  .m-speeddial,
@@ -489,8 +489,7 @@
489
489
  .m-password__input:disabled,
490
490
  .m-inputnumber__input:disabled,
491
491
  .m-inputotp__input:disabled,
492
- .m-inputcolor__text:disabled,
493
- .m-inputcolor__swatch:disabled,
492
+ .m-colorpicker__trigger:disabled,
494
493
  .m-inputtags--disabled {
495
494
  background-color: var(--m-color-bg-disabled);
496
495
  color: var(--m-color-text-disabled);
@@ -513,8 +512,7 @@
513
512
  .m-textarea::placeholder,
514
513
  .m-password__input::placeholder,
515
514
  .m-inputnumber__input::placeholder,
516
- .m-inputtags__input::placeholder,
517
- .m-inputcolor__text::placeholder {
515
+ .m-inputtags__input::placeholder {
518
516
  color: var(--m-color-text-muted);
519
517
  opacity: 1;
520
518
  }
@@ -858,9 +856,7 @@
858
856
  font-family: var(--m-font-sans);
859
857
  gap: var(--m-space-2);
860
858
  max-width: 100%;
861
- min-width: var(--m-menu-min-width);
862
859
  position: relative;
863
- width: fit-content;
864
860
  }
865
861
 
866
862
  .m-textarea-field--fluid,
@@ -1051,7 +1047,7 @@
1051
1047
  flex: 1;
1052
1048
  max-height: 16rem;
1053
1049
  min-height: 12rem;
1054
- min-width: var(--m-menu-min-width);
1050
+ min-width: var(--m-overlay-menu-min-width);
1055
1051
  }
1056
1052
 
1057
1053
  .m-orderlist__list,
@@ -1119,7 +1115,6 @@
1119
1115
  .m-cascadeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1120
1116
  .m-treeselect:not(.m-treeselect--open)
1121
1117
  .m-treeselect__trigger:hover:not(:disabled):not(:focus):not(:focus-visible),
1122
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
1123
1118
  .m-inputtags:hover:not(.m-inputtags--disabled):not(:focus-within),
1124
1119
  .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked):not(:focus-visible),
1125
1120
  .m-inplace__display:hover:not(:focus-visible) {
@@ -1134,8 +1129,6 @@
1134
1129
  .m-treeselect--open .m-treeselect__trigger,
1135
1130
  .m-treeselect__trigger:focus,
1136
1131
  .m-treeselect__trigger:focus-visible,
1137
- .m-inputcolor__text:focus,
1138
- .m-inputcolor__text:focus-visible,
1139
1132
  .m-inputtags:focus-within,
1140
1133
  .m-togglebutton:focus-visible,
1141
1134
  .m-selectbutton__button:focus-visible,
@@ -1150,9 +1143,7 @@
1150
1143
 
1151
1144
  .m-inputotp--invalid .m-inputotp__input:focus,
1152
1145
  .m-inputotp--invalid .m-inputotp__input:focus-visible,
1153
- .m-inputtags--invalid:focus-within,
1154
- .m-inputcolor--invalid .m-inputcolor__text:focus,
1155
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
1146
+ .m-inputtags--invalid:focus-within {
1156
1147
  border-color: var(--m-color-danger);
1157
1148
  box-shadow: var(--m-focus-shadow-danger);
1158
1149
  }