morya-ui 0.5.0 → 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 (86) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/{Input-D2bee2LU.js → Input-BErawS7K.js} +1 -5
  3. package/dist/{Pagination-DpNOb0CS.js → Pagination-B8WYoL2a.js} +1 -1
  4. package/dist/{Popover-Bnz7KNZq.js → Popover-zQChu00_.js} +6 -1
  5. package/dist/{Select-q4X2ff_M.js → Select-BaFKBeIh.js} +2 -2
  6. package/dist/{Textarea-DsFOAtPd.js → Textarea-WCEgpzbq.js} +1 -5
  7. package/dist/calendar/index.js +1 -1
  8. package/dist/color-picker/index.js +4 -4
  9. package/dist/command-menu/index.js +73 -66
  10. package/dist/components/ColorPicker/ColorPicker.vue.d.ts +1 -1
  11. package/dist/components/ColorPicker/types.d.ts +1 -1
  12. package/dist/components/ColorPicker/types.d.ts.map +1 -1
  13. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  14. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  15. package/dist/components/Dock/Dock.vue.d.ts.map +1 -1
  16. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  17. package/dist/components/Input/Input.vue.d.ts +0 -1
  18. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  19. package/dist/components/Input/types.d.ts +0 -2
  20. package/dist/components/Input/types.d.ts.map +1 -1
  21. package/dist/components/InputPassword/InputPassword.vue.d.ts +0 -1
  22. package/dist/components/InputPassword/InputPassword.vue.d.ts.map +1 -1
  23. package/dist/components/InputPassword/types.d.ts +0 -2
  24. package/dist/components/InputPassword/types.d.ts.map +1 -1
  25. package/dist/components/MegaMenu/MegaMenu.vue.d.ts.map +1 -1
  26. package/dist/components/Mentions/Mentions.vue.d.ts +0 -1
  27. package/dist/components/Mentions/Mentions.vue.d.ts.map +1 -1
  28. package/dist/components/Mentions/types.d.ts +0 -2
  29. package/dist/components/Mentions/types.d.ts.map +1 -1
  30. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  31. package/dist/components/Menu/MenuNodes.vue.d.ts.map +1 -1
  32. package/dist/components/Menu/styles.css +45 -3
  33. package/dist/components/Menu/types.d.ts +3 -1
  34. package/dist/components/Menu/types.d.ts.map +1 -1
  35. package/dist/components/Menubar/Menubar.vue.d.ts +2 -2
  36. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  37. package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
  38. package/dist/components/Rating/Rating.vue.d.ts +1 -1
  39. package/dist/components/Rating/types.d.ts +2 -2
  40. package/dist/components/Rating/types.d.ts.map +1 -1
  41. package/dist/components/Select/Select.vue.d.ts +1 -1
  42. package/dist/components/Select/types.d.ts +1 -1
  43. package/dist/components/Select/types.d.ts.map +1 -1
  44. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +1 -1
  45. package/dist/components/SpeedDial/SpeedDial.vue.d.ts +3 -3
  46. package/dist/components/SpeedDial/SpeedDial.vue.d.ts.map +1 -1
  47. package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
  48. package/dist/components/Textarea/Textarea.vue.d.ts +0 -1
  49. package/dist/components/Textarea/Textarea.vue.d.ts.map +1 -1
  50. package/dist/components/Textarea/types.d.ts +0 -2
  51. package/dist/components/Textarea/types.d.ts.map +1 -1
  52. package/dist/components/Tooltip/styles.css +15 -2
  53. package/dist/context-menu/index.js +92 -84
  54. package/dist/data-view/index.js +1 -1
  55. package/dist/dock/index.js +21 -18
  56. package/dist/dropdown/index.js +103 -95
  57. package/dist/{icon-H8prbteT.js → icon-CUrSaD8r.js} +4 -1
  58. package/dist/index.js +3464 -3391
  59. package/dist/input/index.js +1 -1
  60. package/dist/input-password/index.js +1 -5
  61. package/dist/list/index.js +1 -1
  62. package/dist/mega-menu/index.js +94 -87
  63. package/dist/mentions/index.js +35 -39
  64. package/dist/menu/index.js +235 -213
  65. package/dist/menu/style.css +60 -5
  66. package/dist/menubar/index.js +106 -98
  67. package/dist/pagination/index.js +1 -1
  68. package/dist/popover/index.js +1 -1
  69. package/dist/rating/index.js +2 -2
  70. package/dist/select/index.js +1 -1
  71. package/dist/shared/menu/icon.d.ts +3 -0
  72. package/dist/shared/menu/icon.d.ts.map +1 -1
  73. package/dist/shared/menu/index.d.ts +2 -2
  74. package/dist/shared/menu/index.d.ts.map +1 -1
  75. package/dist/shared/menu/types.d.ts +3 -1
  76. package/dist/shared/menu/types.d.ts.map +1 -1
  77. package/dist/sidebar/index.js +37 -29
  78. package/dist/speed-dial/index.js +101 -94
  79. package/dist/split-button/index.js +3 -3
  80. package/dist/styles.css +1 -1
  81. package/dist/table/index.js +3 -3
  82. package/dist/textarea/index.js +1 -1
  83. package/dist/toggle-button/index.js +1 -1
  84. package/dist/tooltip/style.css +15 -2
  85. package/dist/typography/index.js +1 -1
  86. package/package.json +1 -1
@@ -6,41 +6,41 @@ import { t as a } from "../useMotionTransition-DohkfWRB.js";
6
6
  import { t as o } from "../Icon-CmHjx7W8.js";
7
7
  import { t as s } from "../Scrollbar-DTeJ8P5b.js";
8
8
  import { t as c } from "../useMenuKeyboard-BedmYE4W.js";
9
- import { t as ee } from "../icon-H8prbteT.js";
10
- import { t as l } from "../key-CaQYVkjh.js";
11
- import { t as u } from "../lastPointer-CRxcUqdd.js";
12
- import { t as d } from "../Popover-Bnz7KNZq.js";
9
+ import { t as ee } from "../key-CaQYVkjh.js";
10
+ import { n as l, t as u } from "../icon-CUrSaD8r.js";
11
+ import { t as d } from "../lastPointer-CRxcUqdd.js";
12
+ import { t as te } from "../Popover-zQChu00_.js";
13
13
  import { t as f } from "../Tooltip-5zRVTTVs.js";
14
- import { l as te } from "../config-Cd20zAyW.js";
14
+ import { l as p } from "../config-Cd20zAyW.js";
15
15
  import "./style.js";
16
- import { Fragment as p, Teleport as ne, Transition as m, computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createVNode as b, defineComponent as x, getCurrentInstance as S, inject as re, mergeProps as C, nextTick as w, normalizeClass as T, normalizeStyle as E, onBeforeUnmount as ie, openBlock as D, provide as O, reactive as k, ref as A, renderList as j, renderSlot as M, resolveDynamicComponent as N, toDisplayString as P, unref as F, useAttrs as ae, useSlots as oe, watch as se, withCtx as I } from "vue";
16
+ import { Fragment as m, Teleport as h, Transition as ne, computed as g, createBlock as _, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createVNode as x, defineComponent as S, getCurrentInstance as C, inject as re, mergeProps as w, nextTick as T, normalizeClass as E, normalizeStyle as D, onBeforeUnmount as O, openBlock as k, provide as A, reactive as ie, ref as j, renderList as M, renderSlot as N, resolveDynamicComponent as P, toDisplayString as F, unref as I, useAttrs as ae, useSlots as oe, watch as L, withCtx as R } from "vue";
17
17
  //#region src/shared/menu/tree.ts
18
- function L(e, t, n = "item") {
19
- return l(e, t, n);
18
+ function z(e, t, n = "item") {
19
+ return ee(e, t, n);
20
20
  }
21
- function R(e, t, n = "item") {
21
+ function B(e, t, n = "item") {
22
22
  for (let r = 0; r < e.length; r++) {
23
23
  let i = e[r];
24
24
  if (i.separator) continue;
25
- let a = L(i, r, n);
25
+ let a = z(i, r, n);
26
26
  if (a === t) return [];
27
27
  if (i.items?.length) {
28
- let e = R(i.items, t, `${n}-${r}`);
28
+ let e = B(i.items, t, `${n}-${r}`);
29
29
  if (e !== null) return [a, ...e];
30
30
  }
31
31
  }
32
32
  return null;
33
33
  }
34
- function ce(e, t, n, r = "item") {
35
- return e.items?.length ? L(e, n, r) === t || R(e.items, t, `${r}-${n}`) !== null : !1;
34
+ function se(e, t, n, r = "item") {
35
+ return e.items?.length ? z(e, n, r) === t || B(e.items, t, `${r}-${n}`) !== null : !1;
36
36
  }
37
- function z(e, t = "item") {
37
+ function ce(e, t = "item") {
38
38
  let n = [];
39
39
  for (let r = 0; r < e.length; r++) {
40
40
  let i = e[r];
41
41
  if (i.separator || !i.items?.length) continue;
42
- let a = L(i, r, t);
43
- n.push(a), n.push(...z(i.items, `${t}-${r}`));
42
+ let a = z(i, r, t);
43
+ n.push(a), n.push(...ce(i.items, `${t}-${r}`));
44
44
  }
45
45
  return n;
46
46
  }
@@ -48,14 +48,14 @@ function le(e, t = "item") {
48
48
  let n = [];
49
49
  for (let r = 0; r < e.length; r++) {
50
50
  let i = e[r];
51
- i.separator || !i.items?.length || n.push(L(i, r, t));
51
+ i.separator || !i.items?.length || n.push(z(i, r, t));
52
52
  }
53
53
  return n;
54
54
  }
55
55
  //#endregion
56
56
  //#region src/shared/menu/expand.ts
57
57
  function ue(e, t = {}) {
58
- return t.defaultExpandAll ? z(e) : t.defaultExpandedKeys?.length ? [...t.defaultExpandedKeys] : t.selectedKey ? R(e, t.selectedKey) ?? [] : [];
58
+ return t.defaultExpandAll ? ce(e) : t.defaultExpandedKeys?.length ? [...t.defaultExpandedKeys] : t.selectedKey ? B(e, t.selectedKey) ?? [] : [];
59
59
  }
60
60
  function de(e, t, n = {}) {
61
61
  let r = [...e], i = r.indexOf(t);
@@ -79,7 +79,7 @@ function pe(e, t) {
79
79
  let n = [], r = (e, i, a) => {
80
80
  e.forEach((e, o) => {
81
81
  if (e.separator) return;
82
- let s = L(e, o, i), c = !!e.items?.length;
82
+ let s = z(e, o, i), c = !!e.items?.length;
83
83
  n.push({
84
84
  item: e,
85
85
  key: s,
@@ -95,37 +95,37 @@ function pe(e, t) {
95
95
  var me = Symbol("muMenu");
96
96
  //#endregion
97
97
  //#region src/shared/optionalRouter.ts
98
- function B(e) {
98
+ function V(e) {
99
99
  return !!(e && typeof e == "object" && "resolve" in e && "push" in e);
100
100
  }
101
- function V() {
102
- let e = S();
101
+ function H() {
102
+ let e = C();
103
103
  if (!e) return !1;
104
104
  let t = e.appContext.provides;
105
- for (let e of Reflect.ownKeys(t)) if (B(t[e])) return !0;
105
+ for (let e of Reflect.ownKeys(t)) if (V(t[e])) return !0;
106
106
  let n = e;
107
107
  for (; n;) {
108
108
  let e = n.provides;
109
109
  if (e) {
110
- for (let t of Reflect.ownKeys(e)) if (B(e[t])) return !0;
110
+ for (let t of Reflect.ownKeys(e)) if (V(e[t])) return !0;
111
111
  }
112
112
  n = n.parent;
113
113
  }
114
114
  return !!e.appContext.components.RouterLink;
115
115
  }
116
- function H() {
117
- let e = S();
118
- return !e || !V() ? null : e.appContext.components.RouterLink ?? null;
116
+ function he() {
117
+ let e = C();
118
+ return !e || !H() ? null : e.appContext.components.RouterLink ?? null;
119
119
  }
120
- function he(e) {
120
+ function ge(e) {
121
121
  return typeof e == "string" ? e : typeof e.path == "string" ? e.path : typeof e.href == "string" ? e.href : "#";
122
122
  }
123
- function ge(e) {
123
+ function U(e) {
124
124
  return typeof e == "string" ? /^(?:[a-z][a-z\d+\-.]*:)?\/\//i.test(e) || e.startsWith("mailto:") || e.startsWith("tel:") : !1;
125
125
  }
126
126
  //#endregion
127
127
  //#region src/components/Menu/MenuCollapsedTooltip.vue
128
- var U = /* @__PURE__ */ x({
128
+ var W = /* @__PURE__ */ S({
129
129
  __name: "MenuCollapsedTooltip",
130
130
  props: {
131
131
  label: {},
@@ -139,39 +139,39 @@ var U = /* @__PURE__ */ x({
139
139
  }
140
140
  },
141
141
  setup(e) {
142
- let t = e, n = h(() => t.active && !!t.label && !t.suspended);
143
- return (t, r) => n.value ? (D(), g(f, {
142
+ let t = e, n = g(() => t.active && !!t.label && !t.suspended);
143
+ return (t, r) => n.value ? (k(), _(f, {
144
144
  key: 0,
145
145
  content: e.label,
146
146
  placement: "right",
147
147
  "show-delay": 200,
148
148
  "hide-delay": 0
149
149
  }, {
150
- default: I(() => [M(t.$slots, "default")]),
150
+ default: R(() => [N(t.$slots, "default")]),
151
151
  _: 3
152
- }, 8, ["content"])) : M(t.$slots, "default", {}, void 0, void 0, 1);
152
+ }, 8, ["content"])) : N(t.$slots, "default", {}, void 0, void 0, 1);
153
153
  }
154
- }), W = {
154
+ }), G = {
155
155
  key: 0,
156
156
  class: "m-menu__separator",
157
157
  role: "separator"
158
- }, G = [
158
+ }, K = [
159
159
  "tabindex",
160
160
  "data-m-menu-key",
161
161
  "aria-label",
162
162
  "aria-expanded"
163
- ], K = {
163
+ ], _e = {
164
164
  key: 0,
165
165
  class: "m-menu__icon",
166
166
  "aria-hidden": "true"
167
- }, _e = { class: "m-menu__label" }, ve = {
167
+ }, ve = { class: "m-menu__label" }, ye = {
168
168
  key: 1,
169
169
  class: "m-menu__arrow",
170
170
  "aria-hidden": "true"
171
- }, ye = {
171
+ }, be = {
172
172
  class: "m-menu m-menu--flyout",
173
173
  role: "menu"
174
- }, be = [
174
+ }, xe = [
175
175
  "tabindex",
176
176
  "data-m-menu-key",
177
177
  "aria-expanded",
@@ -181,15 +181,15 @@ var U = /* @__PURE__ */ x({
181
181
  key: 0,
182
182
  class: "m-menu__icon",
183
183
  "aria-hidden": "true"
184
- }, xe = { class: "m-menu__label" }, J = {
184
+ }, Se = { class: "m-menu__label" }, J = {
185
185
  key: 0,
186
186
  class: "m-menu__submenu",
187
187
  role: "group"
188
- }, Y = { class: "m-menu__submenu-inner" }, Se = {
188
+ }, Y = { class: "m-menu__submenu-inner" }, Ce = {
189
189
  key: 0,
190
190
  class: "m-menu__icon",
191
191
  "aria-hidden": "true"
192
- }, Ce = { class: "m-menu__label" }, X = /* @__PURE__ */ x({
192
+ }, we = { class: "m-menu__label" }, X = /* @__PURE__ */ S({
193
193
  __name: "MenuNodes",
194
194
  props: {
195
195
  items: {},
@@ -200,110 +200,116 @@ var U = /* @__PURE__ */ x({
200
200
  setup(e) {
201
201
  let t = e, n = re(me);
202
202
  if (!n) throw Error("MenuNodes must be used inside MMenu");
203
- let r = n, i = H(), a = h(() => r.collapsed.value && !t.flyout), s = h(() => r.mode === "horizontal"), c = h(() => (a.value || s.value) && !t.flyout);
204
- function l(e, t) {
203
+ let r = n, i = he(), a = g(() => r.collapsed.value && !t.flyout), s = g(() => r.mode === "horizontal"), c = g(() => (a.value || s.value) && !t.flyout);
204
+ function ee(e, t) {
205
205
  r.setFlyoutOpen(e, t);
206
206
  }
207
- function u(e, n) {
207
+ function d(e, n) {
208
208
  return r.resolveKey(e, n, t.prefix);
209
209
  }
210
210
  function f(e) {
211
- return ee(e.icon);
211
+ return typeof e.icon == "string" ? u(e.icon) : void 0;
212
+ }
213
+ function p(e) {
214
+ return l(e.icon);
212
215
  }
213
- function te(e, t) {
216
+ function h(e) {
217
+ return !!(f(e) || p(e));
218
+ }
219
+ function S(e, t) {
214
220
  if (e.disabled) {
215
221
  t.preventDefault();
216
222
  return;
217
223
  }
218
224
  r.activate(e), e.to || t.preventDefault();
219
225
  }
220
- function ne(e, t) {
221
- e.disabled || c.value || r.toggleExpand(u(e, t));
226
+ function C(e, t) {
227
+ e.disabled || c.value || r.toggleExpand(d(e, t));
222
228
  }
223
- function x(e, t) {
224
- return r.isExpanded(u(e, t));
229
+ function w(e, t) {
230
+ return r.isExpanded(d(e, t));
225
231
  }
226
- function S(e, n) {
227
- let i = f(e);
232
+ function T(e, n) {
228
233
  return {
229
234
  "m-menu__item-content--selected": r.isSelected(e, n, t.prefix),
230
235
  "m-menu__item-content--child-active": r.isChildActive(e, n, t.prefix),
231
236
  "m-menu__item-content--disabled": !!e.disabled,
232
237
  "m-menu__item-content--collapsed": a.value,
233
- "m-menu__item-content--no-icon": !i,
234
- "m-menu__item-content--active": r.activeKey.value === u(e, n)
238
+ "m-menu__item-content--no-icon": !h(e),
239
+ "m-menu__item-content--active": r.activeKey.value === d(e, n)
235
240
  };
236
241
  }
237
- function C(e, n) {
238
- return t.flyout ? 0 : r.tabindexForKey(u(e, n));
242
+ function O(e, n) {
243
+ return t.flyout ? 0 : r.tabindexForKey(d(e, n));
239
244
  }
240
- function w(e) {
245
+ function A(e) {
241
246
  if (!(s.value || t.flyout)) return r.paddingStyle(e);
242
247
  }
243
248
  function ie(e, t) {
244
- return x(e, t);
249
+ return w(e, t);
245
250
  }
246
- function O(e) {
247
- return !!(e.to && i && !ge(e.to));
251
+ function j(e) {
252
+ return !!(e.to && i && !U(e.to));
248
253
  }
249
- function k(e) {
250
- if (!(!e.to || O(e))) return he(e.to);
254
+ function N(e) {
255
+ if (!(!e.to || j(e))) return ge(e.to);
251
256
  }
252
- function A(e) {
253
- if (!(!O(e) || !e.to)) return e.to;
257
+ function ae(e) {
258
+ if (!(!j(e) || !e.to)) return e.to;
254
259
  }
255
- function M(e) {
260
+ function oe(e) {
256
261
  return a.value && !!e.label;
257
262
  }
258
- function ae(e, t) {
259
- return !!r.flyoutOpen[u(e, t)];
263
+ function L(e, t) {
264
+ return !!r.flyoutOpen[d(e, t)];
260
265
  }
261
- return (t, n) => (D(!0), v(p, null, j(e.items, (t, n) => (D(), v(p, { key: u(t, n) }, [t.separator ? (D(), v("div", W)) : t.items?.length ? (D(), v("div", {
266
+ return (t, n) => (k(!0), y(m, null, M(e.items, (t, n) => (k(), y(m, { key: d(t, n) }, [t.separator ? (k(), y("div", G)) : t.items?.length ? (k(), y("div", {
262
267
  key: 1,
263
- class: T(["m-menu__item m-menu__item--submenu", { "m-menu__item--horizontal": s.value }]),
268
+ class: E(["m-menu__item m-menu__item--submenu", { "m-menu__item--horizontal": s.value }]),
264
269
  role: "none"
265
- }, [c.value ? (D(), g(d, {
270
+ }, [c.value ? (k(), _(te, {
266
271
  key: 0,
267
272
  class: "m-menu__collapsed-popover",
268
- "model-value": !!F(r).flyoutOpen[u(t, n)],
273
+ "model-value": !!I(r).flyoutOpen[d(t, n)],
269
274
  trigger: s.value ? "click" : "hover",
270
275
  placement: s.value ? "bottom-start" : "right-start",
271
276
  "show-delay": s.value ? 0 : 50,
272
277
  "hide-delay": s.value ? 0 : 80,
273
- "onUpdate:modelValue": (e) => l(u(t, n), e)
278
+ "onUpdate:modelValue": (e) => ee(d(t, n), e)
274
279
  }, {
275
- default: I(() => [b(U, {
280
+ default: R(() => [x(W, {
276
281
  label: t.label,
277
- active: M(t),
278
- suspended: ae(t, n)
282
+ active: oe(t),
283
+ suspended: L(t, n)
279
284
  }, {
280
- default: I(() => [y("div", {
281
- class: T(["m-menu__item-content", S(t, n)]),
282
- style: E(w(e.depth)),
285
+ default: R(() => [b("div", {
286
+ class: E(["m-menu__item-content", T(t, n)]),
287
+ style: D(A(e.depth)),
283
288
  role: "menuitem",
284
- tabindex: C(t, n),
285
- "data-m-menu-key": e.flyout ? void 0 : u(t, n),
289
+ tabindex: O(t, n),
290
+ "data-m-menu-key": e.flyout ? void 0 : d(t, n),
286
291
  "aria-label": t.label,
287
292
  "aria-haspopup": "menu",
288
- "aria-expanded": s.value ? !!F(r).flyoutOpen[u(t, n)] : void 0
293
+ "aria-expanded": s.value ? !!I(r).flyoutOpen[d(t, n)] : void 0
289
294
  }, [
290
- f(t) ? (D(), v("span", K, [b(o, {
295
+ h(t) ? (k(), y("span", _e, [f(t) ? (k(), _(o, {
296
+ key: 0,
291
297
  name: f(t),
292
298
  size: "sm"
293
- }, null, 8, ["name"])])) : _("", !0),
294
- y("span", _e, P(t.label), 1),
295
- s.value ? (D(), v("span", ve, [b(o, {
299
+ }, null, 8, ["name"])) : p(t) ? (k(), _(P(p(t)), { key: 1 })) : v("", !0)])) : v("", !0),
300
+ b("span", ve, F(t.label), 1),
301
+ s.value ? (k(), y("span", ye, [x(o, {
296
302
  name: "chevron-down",
297
303
  size: "sm"
298
- })])) : _("", !0)
299
- ], 14, G)]),
304
+ })])) : v("", !0)
305
+ ], 14, K)]),
300
306
  _: 2
301
307
  }, 1032, [
302
308
  "label",
303
309
  "active",
304
310
  "suspended"
305
311
  ])]),
306
- content: I(() => [y("div", ye, [b(X, {
312
+ content: R(() => [b("div", be, [x(X, {
307
313
  items: t.items,
308
314
  depth: 0,
309
315
  prefix: `${e.prefix}-${n}`,
@@ -317,31 +323,32 @@ var U = /* @__PURE__ */ x({
317
323
  "show-delay",
318
324
  "hide-delay",
319
325
  "onUpdate:modelValue"
320
- ])) : (D(), v(p, { key: 1 }, [y("div", {
321
- class: T(["m-menu__item-content", S(t, n)]),
322
- style: E(w(e.depth)),
326
+ ])) : (k(), y(m, { key: 1 }, [b("div", {
327
+ class: E(["m-menu__item-content", T(t, n)]),
328
+ style: D(A(e.depth)),
323
329
  role: "menuitem",
324
- tabindex: C(t, n),
325
- "data-m-menu-key": e.flyout ? void 0 : u(t, n),
330
+ tabindex: O(t, n),
331
+ "data-m-menu-key": e.flyout ? void 0 : d(t, n),
326
332
  "aria-haspopup": "menu",
327
- "aria-expanded": x(t, n),
333
+ "aria-expanded": w(t, n),
328
334
  "aria-disabled": t.disabled || void 0,
329
- onClick: (e) => ne(t, n)
335
+ onClick: (e) => C(t, n)
330
336
  }, [
331
- f(t) ? (D(), v("span", q, [b(o, {
337
+ h(t) ? (k(), y("span", q, [f(t) ? (k(), _(o, {
338
+ key: 0,
332
339
  name: f(t),
333
340
  size: "sm"
334
- }, null, 8, ["name"])])) : _("", !0),
335
- y("span", xe, P(t.label), 1),
336
- y("span", {
337
- class: T(["m-menu__arrow", { "m-menu__arrow--expanded": ie(t, n) }]),
341
+ }, null, 8, ["name"])) : p(t) ? (k(), _(P(p(t)), { key: 1 })) : v("", !0)])) : v("", !0),
342
+ b("span", Se, F(t.label), 1),
343
+ b("span", {
344
+ class: E(["m-menu__arrow", { "m-menu__arrow--expanded": ie(t, n) }]),
338
345
  "aria-hidden": "true"
339
- }, [b(o, {
346
+ }, [x(o, {
340
347
  name: "chevron-right",
341
348
  size: "sm"
342
349
  })], 2)
343
- ], 14, be), b(m, { name: "m-menu-expand" }, {
344
- default: I(() => [x(t, n) ? (D(), v("div", J, [y("div", Y, [b(X, {
350
+ ], 14, xe), x(ne, { name: "m-menu-expand" }, {
351
+ default: R(() => [w(t, n) ? (k(), y("div", J, [b("div", Y, [x(X, {
345
352
  items: t.items,
346
353
  depth: e.depth + 1,
347
354
  prefix: `${e.prefix}-${n}`
@@ -349,32 +356,33 @@ var U = /* @__PURE__ */ x({
349
356
  "items",
350
357
  "depth",
351
358
  "prefix"
352
- ])])])) : _("", !0)]),
359
+ ])])])) : v("", !0)]),
353
360
  _: 2
354
- }, 1024)], 64))], 2)) : (D(), v("div", {
361
+ }, 1024)], 64))], 2)) : (k(), y("div", {
355
362
  key: 2,
356
- class: T(["m-menu__item", { "m-menu__item--horizontal": s.value }]),
363
+ class: E(["m-menu__item", { "m-menu__item--horizontal": s.value }]),
357
364
  role: "none"
358
- }, [b(U, {
365
+ }, [x(W, {
359
366
  label: t.label,
360
- active: M(t)
367
+ active: oe(t)
361
368
  }, {
362
- default: I(() => [(D(), g(N(O(t) ? F(i) : k(t) ? "a" : "div"), {
363
- class: T(["m-menu__item-content", S(t, n)]),
364
- style: E(w(e.depth)),
369
+ default: R(() => [(k(), _(P(j(t) ? I(i) : N(t) ? "a" : "div"), {
370
+ class: E(["m-menu__item-content", T(t, n)]),
371
+ style: D(A(e.depth)),
365
372
  role: "menuitem",
366
- tabindex: C(t, n),
367
- "data-m-menu-key": e.flyout ? void 0 : u(t, n),
373
+ tabindex: O(t, n),
374
+ "data-m-menu-key": e.flyout ? void 0 : d(t, n),
368
375
  "aria-disabled": t.disabled || void 0,
369
- "aria-current": F(r).isSelected(t, n, e.prefix) ? "page" : void 0,
370
- href: k(t),
371
- to: A(t),
372
- onClick: (e) => te(t, e)
376
+ "aria-current": I(r).isSelected(t, n, e.prefix) ? "page" : void 0,
377
+ href: N(t),
378
+ to: ae(t),
379
+ onClick: (e) => S(t, e)
373
380
  }, {
374
- default: I(() => [f(t) ? (D(), v("span", Se, [b(o, {
381
+ default: R(() => [h(t) ? (k(), y("span", Ce, [f(t) ? (k(), _(o, {
382
+ key: 0,
375
383
  name: f(t),
376
384
  size: "sm"
377
- }, null, 8, ["name"])])) : _("", !0), y("span", Ce, P(t.label), 1)]),
385
+ }, null, 8, ["name"])) : p(t) ? (k(), _(P(p(t)), { key: 1 })) : v("", !0)])) : v("", !0), b("span", we, F(t.label), 1)]),
378
386
  _: 2
379
387
  }, 1032, [
380
388
  "class",
@@ -390,7 +398,7 @@ var U = /* @__PURE__ */ x({
390
398
  _: 2
391
399
  }, 1032, ["label", "active"])], 2))], 64))), 128));
392
400
  }
393
- }), we = /* @__PURE__ */ x({
401
+ }), Te = ["data-open"], Ee = ["aria-expanded"], De = /* @__PURE__ */ S({
394
402
  inheritAttrs: !1,
395
403
  __name: "Menu",
396
404
  props: {
@@ -449,12 +457,12 @@ var U = /* @__PURE__ */ x({
449
457
  "select"
450
458
  ],
451
459
  setup(o, { emit: ee }) {
452
- let l = o, d = ee, f = ae(), { rootAttrs: p } = e(f, () => l.pt), x = oe(), S = te(), { transitionName: re, transitionCss: j } = a({
460
+ let l = o, u = ee, te = ae(), { rootAttrs: f } = e(te, () => l.pt), m = oe(), S = p(), { transitionName: C, transitionCss: re } = a({
453
461
  role: "popup",
454
462
  local: () => l.transition,
455
463
  componentName: "Menu",
456
464
  fallback: "scale-fade"
457
- }), N = A(null), P = A(null), z = A({}), B = h(() => !!x.default?.()?.length), V = h(() => t(l.popup ? l : { teleport: !1 }, S.value.appendTo)), H = h(() => l.popup && n(l, S.value.appendTo)), he = h(() => l.embedded ?? !l.popup), ge = h(() => l.selectedKey), U = A([]), W = k({});
465
+ }), M = j(null), P = j(null), F = j({}), ce = g(() => !!m.default?.()?.length), V = g(() => t(l.popup ? l : { teleport: !1 }, S.value.appendTo)), H = g(() => l.popup && n(l, S.value.appendTo)), he = g(() => l.embedded ?? !l.popup), ge = g(() => l.selectedKey), U = j([]), W = ie({});
458
466
  function G(e, t) {
459
467
  W[e] = t;
460
468
  }
@@ -464,7 +472,7 @@ var U = /* @__PURE__ */ x({
464
472
  function _e() {
465
473
  let e = P.value?.getBoundingClientRect();
466
474
  if (e && (e.width > 0 || e.height > 0)) return e;
467
- let { x: t, y: n } = u();
475
+ let { x: t, y: n } = d();
468
476
  return {
469
477
  left: t,
470
478
  top: n,
@@ -475,74 +483,83 @@ var U = /* @__PURE__ */ x({
475
483
  };
476
484
  }
477
485
  function ve() {
478
- !l.popup || !l.modelValue || !H.value || (z.value = r(_e(), l.placement, { minWidth: "10rem" }));
486
+ let e = l.model.reduce((e, t) => e + +!t.separator, 0), t = l.model.length - e;
487
+ return e * 40 + t * 13 + 16;
479
488
  }
480
489
  function ye() {
481
- l.modelValue && ve();
490
+ if (!l.popup || !l.modelValue || !H.value) return;
491
+ let e = _e();
492
+ F.value = r(e, l.placement, {
493
+ minWidth: `${Math.max(160, Math.round(e.width))}px`,
494
+ estimatedHeight: ve()
495
+ });
482
496
  }
483
497
  function be() {
498
+ l.modelValue && ye();
499
+ }
500
+ function xe() {
484
501
  U.value = ue(l.model, {
485
502
  defaultExpandAll: l.defaultExpandAll,
486
503
  defaultExpandedKeys: l.defaultExpandedKeys,
487
504
  selectedKey: l.selectedKey
488
505
  });
489
506
  }
490
- be();
491
- let q = h({
507
+ xe();
508
+ let q = g({
492
509
  get: () => l.expandedKeys ?? U.value,
493
510
  set: (e) => {
494
- U.value = e, d("update:expandedKeys", e);
511
+ U.value = e, u("update:expandedKeys", e);
495
512
  }
496
- }), xe = h(() => le(l.model));
513
+ }), Se = g(() => le(l.model));
497
514
  function J(e) {
498
515
  return q.value.includes(e);
499
516
  }
500
517
  function Y(e) {
501
518
  q.value = de(q.value, e, {
502
519
  accordion: l.accordion,
503
- topLevelKeys: xe.value
520
+ topLevelKeys: Se.value
504
521
  });
505
522
  }
506
- function Se(e) {
523
+ function Ce(e) {
507
524
  if (!e) return;
508
- let t = R(l.model, e);
525
+ let t = B(l.model, e);
509
526
  t?.length && (q.value = fe(q.value, t, {
510
527
  accordion: l.accordion,
511
- topLevelKeys: xe.value
528
+ topLevelKeys: Se.value
512
529
  }));
513
530
  }
514
- se(() => l.selectedKey, Se);
515
- function Ce(e, t, n) {
516
- return L(e, t, n);
517
- }
531
+ L(() => l.selectedKey, Ce);
518
532
  function we(e, t, n) {
519
- let r = Ce(e, t, n);
533
+ return z(e, t, n);
534
+ }
535
+ function De(e, t, n) {
536
+ let r = we(e, t, n);
520
537
  return !!(l.selectedKey && r === l.selectedKey);
521
538
  }
522
- function Te(e, t, n) {
523
- return l.selectedKey ? ce(e, l.selectedKey, t, n) : !1;
539
+ function Oe(e, t, n) {
540
+ return l.selectedKey ? se(e, l.selectedKey, t, n) : !1;
524
541
  }
525
- function Ee(e) {
542
+ function ke(e) {
526
543
  if (l.mode !== "horizontal" && l.collapsed) return Math.max(0, l.collapsedWidth / 2 - 10);
527
544
  }
528
- function De(e) {
545
+ function Ae(e) {
529
546
  if (l.mode === "horizontal") return { paddingInlineStart: `${l.rootIndent}px` };
530
547
  if (l.collapsed) {
531
- let t = Ee(e);
548
+ let t = ke(e);
532
549
  return t == null ? void 0 : { paddingInlineStart: `${t}px` };
533
550
  }
534
551
  return { paddingInlineStart: `calc(var(--m-menu-root-indent) + ${e} * var(--m-menu-indent))` };
535
552
  }
536
- function Oe(e) {
553
+ function je(e) {
537
554
  if (e.disabled || e.separator) return;
538
555
  e.command?.();
539
556
  let t = e.key ?? e.label ?? null;
540
- d("update:selectedKey", t), d("select", e), l.popup && (d("update:modelValue", !1), ke()), l.mode === "horizontal" && K();
557
+ u("update:selectedKey", t), u("select", e), l.popup && (u("update:modelValue", !1), Me()), l.mode === "horizontal" && K();
541
558
  }
542
- function ke() {
559
+ function Me() {
543
560
  (P.value?.querySelector("button, [tabindex]") ?? P.value)?.focus({ preventScroll: !0 });
544
561
  }
545
- let Z = h(() => pe(l.model, {
562
+ let Z = g(() => pe(l.model, {
546
563
  isExpanded: J,
547
564
  excludeChildren: l.collapsed || l.mode === "horizontal"
548
565
  })), Q = c({
@@ -559,27 +576,27 @@ var U = /* @__PURE__ */ x({
559
576
  } else Y(t.key);
560
577
  return;
561
578
  }
562
- Oe(t.item);
579
+ je(t.item);
563
580
  }
564
581
  },
565
582
  onEscape: () => {
566
- l.popup ? d("update:modelValue", !1) : K();
583
+ l.popup ? u("update:modelValue", !1) : K();
567
584
  },
568
585
  returnFocusTo: () => l.popup ? P.value?.querySelector("button, [tabindex]") ?? P.value : null
569
- }), Ae = h(() => Z.value[Q.activeIndex.value]?.key ?? null);
570
- function je(e) {
571
- let t = Ae.value;
586
+ }), Ne = g(() => Z.value[Q.activeIndex.value]?.key ?? null);
587
+ function Pe(e) {
588
+ let t = Ne.value;
572
589
  return t == null ? Z.value.find((e) => !e.item.disabled)?.key === e ? 0 : -1 : e === t ? 0 : -1;
573
590
  }
574
- function Me(e) {
575
- if (e == null || !N.value) return;
576
- let t = N.value.querySelectorAll("[data-m-menu-key]");
591
+ function Fe(e) {
592
+ if (e == null || !M.value) return;
593
+ let t = M.value.querySelectorAll("[data-m-menu-key]");
577
594
  for (let n of t) if (n.dataset.mMenuKey === e) {
578
595
  n.focus({ preventScroll: !0 });
579
596
  return;
580
597
  }
581
598
  }
582
- function Ne(e) {
599
+ function Ie(e) {
583
600
  let t = Z.value[Q.activeIndex.value];
584
601
  if (l.mode !== "horizontal") {
585
602
  if (e.key === "ArrowRight") {
@@ -608,10 +625,10 @@ var U = /* @__PURE__ */ x({
608
625
  }
609
626
  Q.onKeydown(e);
610
627
  }
611
- se(Q.activeIndex, () => {
612
- w(() => Me(Ae.value));
613
- }), O(me, {
614
- collapsed: h(() => l.collapsed),
628
+ L(Q.activeIndex, () => {
629
+ T(() => Fe(Ne.value));
630
+ }), A(me, {
631
+ collapsed: g(() => l.collapsed),
615
632
  selectedKey: ge,
616
633
  expandedKeys: q,
617
634
  accordion: l.accordion,
@@ -623,115 +640,120 @@ var U = /* @__PURE__ */ x({
623
640
  setFlyoutOpen: G,
624
641
  toggleExpand: Y,
625
642
  isExpanded: J,
626
- activate: Oe,
627
- resolveKey: Ce,
628
- isSelected: we,
629
- isChildActive: Te,
630
- paddingStyle: De,
631
- activeKey: Ae,
632
- tabindexForKey: je
643
+ activate: je,
644
+ resolveKey: we,
645
+ isSelected: De,
646
+ isChildActive: Oe,
647
+ paddingStyle: Ae,
648
+ activeKey: Ne,
649
+ tabindexForKey: Pe
633
650
  });
634
- function Pe(e) {
651
+ function Le(e) {
635
652
  if (!l.popup || !l.modelValue) return;
636
653
  let t = e.target;
637
- N.value?.contains(t) || P.value?.contains(t) || d("update:modelValue", !1);
654
+ M.value?.contains(t) || P.value?.contains(t) || u("update:modelValue", !1);
638
655
  }
639
- se(() => l.modelValue, (e) => {
640
- l.popup && (e ? (w(ve), document.addEventListener("click", Pe)) : document.removeEventListener("click", Pe));
641
- }, { immediate: !0 }), i(() => !!(l.popup && l.modelValue && H.value), ye), ie(() => {
642
- document.removeEventListener("click", Pe);
656
+ L(() => l.modelValue, (e) => {
657
+ l.popup && (e ? (T(ye), document.addEventListener("click", Le)) : document.removeEventListener("click", Le));
658
+ }, { immediate: !0 }), i(() => !!(l.popup && l.modelValue && H.value), be), O(() => {
659
+ document.removeEventListener("click", Le);
643
660
  });
644
- let Fe = h(() => ["m-menu", {
661
+ let Re = g(() => ["m-menu", {
645
662
  "m-menu--popup": l.popup,
646
663
  "m-menu--teleported": H.value,
647
664
  "m-menu--collapsed": l.collapsed,
648
665
  "m-menu--embedded": he.value,
649
666
  "m-menu--horizontal": l.mode === "horizontal",
650
667
  "m-menu--inverted": l.inverted
651
- }]), $ = h(() => ({
668
+ }]), $ = g(() => ({
652
669
  "--m-menu-indent": `${l.indent / 16}rem`,
653
670
  "--m-menu-root-indent": `${l.rootIndent / 16}rem`
654
- })), Ie = h(() => H.value ? {
671
+ })), ze = g(() => H.value ? {
655
672
  ...$.value,
656
- ...z.value
673
+ ...F.value
657
674
  } : $.value);
658
- return (e, t) => o.popup ? B.value ? (D(), v("div", C({ key: 1 }, F(p), { class: "m-menu-popup" }), [y("div", {
675
+ return (e, t) => o.popup ? ce.value ? (k(), y("div", w({ key: 1 }, I(f), {
676
+ class: ["m-menu-popup", { "m-menu-popup--open": o.modelValue }],
677
+ "data-open": o.modelValue ? "true" : void 0
678
+ }), [b("div", {
659
679
  ref_key: "triggerEl",
660
680
  ref: P,
661
- class: "m-menu-popup__anchor"
662
- }, [M(e.$slots, "default")], 512), (D(), g(ne, {
681
+ class: "m-menu-popup__anchor",
682
+ "aria-expanded": o.modelValue,
683
+ "aria-haspopup": "menu"
684
+ }, [N(e.$slots, "default")], 8, Ee), (k(), _(h, {
663
685
  to: V.value.to,
664
686
  disabled: V.value.disabled
665
- }, [b(m, {
666
- name: F(re),
667
- css: F(j)
687
+ }, [x(ne, {
688
+ name: I(C),
689
+ css: I(re)
668
690
  }, {
669
- default: I(() => [o.modelValue ? (D(), v("div", {
691
+ default: R(() => [o.modelValue ? (k(), y("div", {
670
692
  key: 0,
671
693
  ref_key: "root",
672
- ref: N,
673
- class: T(Fe.value),
674
- style: E(H.value ? Ie.value : $.value),
694
+ ref: M,
695
+ class: E(Re.value),
696
+ style: D(H.value ? ze.value : $.value),
675
697
  role: "menu",
676
- onKeydown: Ne
677
- }, [b(s, {
698
+ onKeydown: Ie
699
+ }, [x(s, {
678
700
  class: "m-menu__scroll",
679
701
  "fit-content": "",
680
702
  "wrap-class": "m-menu__scroll-wrap",
681
703
  "view-class": "m-menu__scroll-view"
682
704
  }, {
683
- default: I(() => [b(X, {
705
+ default: R(() => [x(X, {
684
706
  items: o.model,
685
707
  depth: 0,
686
708
  prefix: "item"
687
709
  }, null, 8, ["items"])]),
688
710
  _: 1
689
- })], 38)) : _("", !0)]),
711
+ })], 38)) : v("", !0)]),
690
712
  _: 1
691
- }, 8, ["name", "css"])], 8, ["to", "disabled"]))], 16)) : (D(), g(ne, {
713
+ }, 8, ["name", "css"])], 8, ["to", "disabled"]))], 16, Te)) : (k(), _(h, {
692
714
  key: 2,
693
715
  to: V.value.to,
694
716
  disabled: V.value.disabled
695
- }, [b(m, {
696
- name: F(re),
697
- css: F(j)
717
+ }, [x(ne, {
718
+ name: I(C),
719
+ css: I(re)
698
720
  }, {
699
- default: I(() => [o.modelValue ? (D(), v("div", C({
721
+ default: R(() => [o.modelValue ? (k(), y("div", w({
700
722
  key: 0,
701
723
  ref_key: "root",
702
- ref: N
703
- }, F(p), {
704
- class: Fe.value,
724
+ ref: M
725
+ }, I(f), {
726
+ class: Re.value,
705
727
  style: H.value ? {
706
728
  ...$.value,
707
- ...z.value
729
+ ...F.value
708
730
  } : $.value,
709
731
  role: "menu",
710
- onKeydown: Ne
711
- }), [b(s, {
732
+ onKeydown: Ie
733
+ }), [x(s, {
712
734
  class: "m-menu__scroll",
713
735
  "fit-content": "",
714
736
  "wrap-class": "m-menu__scroll-wrap",
715
737
  "view-class": "m-menu__scroll-view"
716
738
  }, {
717
- default: I(() => [b(X, {
739
+ default: R(() => [x(X, {
718
740
  items: o.model,
719
741
  depth: 0,
720
742
  prefix: "item"
721
743
  }, null, 8, ["items"])]),
722
744
  _: 1
723
- })], 16)) : _("", !0)]),
745
+ })], 16)) : v("", !0)]),
724
746
  _: 1
725
- }, 8, ["name", "css"])], 8, ["to", "disabled"])) : (D(), v("div", C({
747
+ }, 8, ["name", "css"])], 8, ["to", "disabled"])) : (k(), y("div", w({
726
748
  key: 0,
727
749
  ref_key: "root",
728
- ref: N
729
- }, F(p), {
730
- class: Fe.value,
750
+ ref: M
751
+ }, I(f), {
752
+ class: Re.value,
731
753
  style: $.value,
732
754
  role: "menu",
733
- onKeydown: Ne
734
- }), [b(X, {
755
+ onKeydown: Ie
756
+ }), [x(X, {
735
757
  items: o.model,
736
758
  depth: 0,
737
759
  prefix: "item"
@@ -739,4 +761,4 @@ var U = /* @__PURE__ */ x({
739
761
  }
740
762
  });
741
763
  //#endregion
742
- export { we as MMenu };
764
+ export { De as MMenu };