@m3ui-vue/m3ui-vue 0.3.1 → 0.4.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 (82) hide show
  1. package/dist/{MMenuItem-C6RwHl-l.js → MMenuItem-FyttjOj_.js} +399 -207
  2. package/dist/MMenuItem-FyttjOj_.js.map +1 -0
  3. package/dist/components/MAutocomplete.vue.d.ts +2 -0
  4. package/dist/components/MBox.vue.d.ts +2 -2
  5. package/dist/components/MButton.vue.d.ts +4 -0
  6. package/dist/components/MButtonGroup.vue.d.ts +28 -0
  7. package/dist/components/MCarousel.vue.d.ts +21 -12
  8. package/dist/components/MColorPickerModal.vue.d.ts +18 -0
  9. package/dist/components/MDataTable.vue.d.ts +1 -1
  10. package/dist/components/MDatePickerModal.vue.d.ts +21 -0
  11. package/dist/components/MDateRangePickerModal.vue.d.ts +24 -0
  12. package/dist/components/MDialog.vue.d.ts +9 -1
  13. package/dist/components/MExpansionPanel.vue.d.ts +3 -2
  14. package/dist/components/MFab.vue.d.ts +14 -2
  15. package/dist/components/MFlex.vue.d.ts +2 -2
  16. package/dist/components/MIconButton.vue.d.ts +4 -2
  17. package/dist/components/MInfiniteScroll.vue.d.ts +1 -1
  18. package/dist/components/MList.vue.d.ts +2 -0
  19. package/dist/components/MLoadingOverlay.vue.d.ts +1 -1
  20. package/dist/components/MMenu.vue.d.ts +3 -1
  21. package/dist/components/MMenuItem.vue.d.ts +14 -3
  22. package/dist/components/MMultiAutocomplete.vue.d.ts +2 -0
  23. package/dist/components/MMultiSelect.vue.d.ts +2 -0
  24. package/dist/components/MNavigationDrawer.vue.d.ts +1 -1
  25. package/dist/components/MNotificationHost.vue.d.ts +3 -0
  26. package/dist/components/MSelect.vue.d.ts +2 -0
  27. package/dist/components/MSlider.vue.d.ts +15 -4
  28. package/dist/components/MSplitButton.vue.d.ts +39 -0
  29. package/dist/components/MSplitter.vue.d.ts +1 -1
  30. package/dist/components/MStack.vue.d.ts +2 -2
  31. package/dist/components/MTable.vue.d.ts +1 -1
  32. package/dist/components/MTimePickerModal.vue.d.ts +21 -0
  33. package/dist/components/MToolbar.vue.d.ts +30 -0
  34. package/dist/components/MTooltip.vue.d.ts +8 -2
  35. package/dist/components/MWindow.vue.d.ts +2 -2
  36. package/dist/composables/useDevice.d.ts +3 -0
  37. package/dist/composables/useNotification.d.ts +64 -0
  38. package/dist/composables/useToast.d.ts +8 -0
  39. package/dist/index.d.ts +12 -0
  40. package/dist/m3ui-vue.css +1 -1
  41. package/dist/m3ui.js +5220 -2994
  42. package/dist/m3ui.js.map +1 -1
  43. package/dist/rich-text-editor.js +10 -10
  44. package/dist/styles.css +1 -1
  45. package/package.json +1 -1
  46. package/src/components/MAutocomplete.vue +108 -13
  47. package/src/components/MButton.vue +38 -16
  48. package/src/components/MButtonGroup.vue +158 -0
  49. package/src/components/MCarousel.vue +223 -101
  50. package/src/components/MColorPicker.vue +1 -4
  51. package/src/components/MColorPickerModal.vue +276 -0
  52. package/src/components/MDatePicker.vue +1 -4
  53. package/src/components/MDatePickerModal.vue +265 -0
  54. package/src/components/MDateRangePicker.vue +1 -4
  55. package/src/components/MDateRangePickerModal.vue +264 -0
  56. package/src/components/MDialog.vue +38 -1
  57. package/src/components/MExpansionPanel.vue +10 -32
  58. package/src/components/MFab.vue +92 -11
  59. package/src/components/MIconButton.vue +36 -6
  60. package/src/components/MList.vue +6 -3
  61. package/src/components/MListItem.vue +9 -3
  62. package/src/components/MMenu.vue +10 -5
  63. package/src/components/MMenuItem.vue +93 -10
  64. package/src/components/MMultiAutocomplete.vue +104 -10
  65. package/src/components/MMultiSelect.vue +106 -13
  66. package/src/components/MNotificationHost.vue +163 -0
  67. package/src/components/MSelect.vue +99 -16
  68. package/src/components/MSlider.vue +367 -134
  69. package/src/components/MSnackbar.vue +3 -0
  70. package/src/components/MSplitButton.vue +240 -0
  71. package/src/components/MTabs.vue +82 -39
  72. package/src/components/MTagInput.vue +11 -1
  73. package/src/components/MTimePicker.vue +1 -4
  74. package/src/components/MTimePickerModal.vue +458 -0
  75. package/src/components/MToolbar.vue +75 -0
  76. package/src/components/MTooltip.vue +60 -10
  77. package/src/components/_MContextMenuPanel.vue +2 -2
  78. package/src/composables/useDevice.ts +29 -0
  79. package/src/composables/useNotification.ts +93 -0
  80. package/src/composables/useToast.ts +42 -5
  81. package/src/index.ts +12 -0
  82. package/dist/MMenuItem-C6RwHl-l.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./MIcon-CaEooCmZ.js";
2
2
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
- import { Fragment as n, Teleport as r, Transition as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, inject as p, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as g, onMounted as _, onUnmounted as v, openBlock as y, ref as b, renderSlot as x, resolveDynamicComponent as S, toDisplayString as C, unref as w, useId as T, useSlots as E, watch as D, withCtx as O, withModifiers as k } from "vue";
3
+ import { Fragment as n, Teleport as r, Transition as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, inject as p, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as g, onMounted as _, onUnmounted as v, openBlock as y, provide as b, ref as x, renderSlot as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, useId as E, useSlots as D, watch as O, withCtx as k, withModifiers as A } from "vue";
4
4
  //#region src/composables/useLocale.ts
5
- var A = {
5
+ var j = {
6
6
  search: "Search...",
7
7
  noResults: "No results",
8
8
  close: "Close",
@@ -71,17 +71,74 @@ var A = {
71
71
  insertImage: "Insert image",
72
72
  imageUrlLabel: "Image URL",
73
73
  insert: "Insert"
74
- }, j = Symbol("m3-locale");
75
- function M() {
76
- let e = p(j, {});
74
+ }, M = Symbol("m3-locale");
75
+ function N() {
76
+ let e = p(M, {});
77
77
  return {
78
- ...A,
78
+ ...j,
79
79
  ...e
80
80
  };
81
81
  }
82
82
  //#endregion
83
- //#region src/composables/useFieldBg.ts
84
- var N = [
83
+ //#region src/components/MSpinner.vue?vue&type=script&setup=true&lang.ts
84
+ var P = ["aria-label"], F = {
85
+ key: 0,
86
+ class: "block h-full w-full animate-spin rounded-full border-2 border-current border-t-transparent"
87
+ }, I = [
88
+ "width",
89
+ "height",
90
+ "viewBox"
91
+ ], L = ["d", "stroke-dasharray"], R = 3, z = 9, B = /* @__PURE__ */ f({
92
+ __name: "MSpinner",
93
+ props: {
94
+ size: { default: 20 },
95
+ wavy: {
96
+ type: Boolean,
97
+ default: !1
98
+ },
99
+ label: {}
100
+ },
101
+ setup(e) {
102
+ let t = e, n = N(), r = a(() => (t.size / 2 - 1 - R / 2) / 1.25), i = a(() => t.size / 2), o = a(() => {
103
+ let e = i.value, t = r.value, n = t * .08, a = z * 24, o = [], s = 0, c = 0, l = 0;
104
+ for (let r = 0; r <= a; r++) {
105
+ let i = 2 * Math.PI * r / a - Math.PI / 2, u = t + n * Math.sin(z * i), d = e + u * Math.cos(i), f = e + u * Math.sin(i);
106
+ r > 0 && (s += Math.sqrt((d - c) ** 2 + (f - l) ** 2)), o.push(`${r === 0 ? "M" : "L"}${d.toFixed(2)},${f.toFixed(2)}`), c = d, l = f;
107
+ }
108
+ let u = s * .58, d = s - u, f = `${u.toFixed(1)} ${d.toFixed(1)}`;
109
+ return {
110
+ path: o.join("") + "Z",
111
+ dash: f,
112
+ len: s.toFixed(1)
113
+ };
114
+ });
115
+ return (t, r) => (y(), c("span", {
116
+ class: "inline-flex shrink-0 items-center justify-center",
117
+ style: h({
118
+ width: `${e.size}px`,
119
+ height: `${e.size}px`
120
+ }),
121
+ role: "status",
122
+ "aria-label": e.label ?? T(n).loading
123
+ }, [e.wavy ? (y(), c("svg", {
124
+ key: 1,
125
+ width: e.size,
126
+ height: e.size,
127
+ viewBox: `0 0 ${e.size} ${e.size}`,
128
+ fill: "none",
129
+ class: "animate-[m3-wavy-spin_2.8s_linear_infinite]",
130
+ style: h(`transform-origin: ${i.value}px ${i.value}px`)
131
+ }, [l("path", {
132
+ d: o.value.path,
133
+ stroke: "currentColor",
134
+ "stroke-width": R,
135
+ "stroke-linecap": "round",
136
+ "stroke-dasharray": o.value.dash,
137
+ class: "animate-[m3-wavy-travel_2s_linear_infinite]",
138
+ style: h({ "--m3-wave-len": o.value.len })
139
+ }, null, 12, L)], 12, I)) : (y(), c("span", F))], 12, P));
140
+ }
141
+ }), V = [
85
142
  "bg-surface-container-highest",
86
143
  "bg-surface-container-high",
87
144
  "bg-surface-container-low",
@@ -102,11 +159,11 @@ var N = [
102
159
  "bg-tertiary",
103
160
  "bg-error"
104
161
  ];
105
- function P(e) {
106
- for (let t of N) if (e.classList.contains(t)) return `var(--color-${t.slice(3)})`;
162
+ function H(e) {
163
+ for (let t of V) if (e.classList.contains(t)) return `var(--color-${t.slice(3)})`;
107
164
  return null;
108
165
  }
109
- function F(e) {
166
+ function U(e) {
110
167
  if (!e || e === "transparent") return !0;
111
168
  let t = e.match(/^rgba?\(([^)]+)\)$/);
112
169
  if (t) {
@@ -115,15 +172,15 @@ function F(e) {
115
172
  }
116
173
  return !1;
117
174
  }
118
- function I(e, t) {
119
- let n = b("var(--color-surface)");
175
+ function W(e, t) {
176
+ let n = x("var(--color-surface)");
120
177
  function r(r) {
121
178
  n.value = r, e.value?.style.setProperty("--field-bg", t() ?? r);
122
179
  }
123
180
  function i() {
124
181
  let t = e.value?.parentElement ?? null;
125
182
  for (; t;) {
126
- let e = P(t);
183
+ let e = H(t);
127
184
  if (e) {
128
185
  r(e);
129
186
  return;
@@ -133,7 +190,7 @@ function I(e, t) {
133
190
  return;
134
191
  }
135
192
  let n = getComputedStyle(t).backgroundColor;
136
- if (!F(n)) {
193
+ if (!U(n)) {
137
194
  r(n);
138
195
  return;
139
196
  }
@@ -154,65 +211,92 @@ function I(e, t) {
154
211
  }), g(() => o?.disconnect()), { resolvedFieldBg: a(() => t() ?? n.value) };
155
212
  }
156
213
  //#endregion
157
- //#region src/components/MSpinner.vue?vue&type=script&setup=true&lang.ts
158
- var L = ["aria-label"], R = {
159
- key: 0,
160
- class: "block h-full w-full animate-spin rounded-full border-2 border-current border-t-transparent"
161
- }, z = [
162
- "width",
163
- "height",
164
- "viewBox"
165
- ], B = ["d", "stroke-dasharray"], V = 3, H = 9, U = /* @__PURE__ */ f({
166
- __name: "MSpinner",
214
+ //#region src/components/MIconButton.vue?vue&type=script&setup=true&lang.ts
215
+ var G = "inline-flex shrink-0 items-center justify-center transition-colors duration-150 cursor-pointer disabled:cursor-not-allowed disabled:opacity-[0.38]", K = /* @__PURE__ */ f({
216
+ __name: "MIconButton",
167
217
  props: {
168
- size: { default: 20 },
169
- wavy: {
218
+ icon: {},
219
+ label: {},
220
+ variant: { default: "standard" },
221
+ shape: { default: "rounded" },
222
+ size: { default: "sm" },
223
+ disabled: {
170
224
  type: Boolean,
171
225
  default: !1
172
226
  },
173
- label: {}
227
+ to: {}
174
228
  },
175
- setup(e) {
176
- let t = e, n = M(), r = a(() => (t.size / 2 - 1 - V / 2) / 1.25), i = a(() => t.size / 2), o = a(() => {
177
- let e = i.value, t = r.value, n = t * .08, a = H * 24, o = [], s = 0, c = 0, l = 0;
178
- for (let r = 0; r <= a; r++) {
179
- let i = 2 * Math.PI * r / a - Math.PI / 2, u = t + n * Math.sin(H * i), d = e + u * Math.cos(i), f = e + u * Math.sin(i);
180
- r > 0 && (s += Math.sqrt((d - c) ** 2 + (f - l) ** 2)), o.push(`${r === 0 ? "M" : "L"}${d.toFixed(2)},${f.toFixed(2)}`), c = d, l = f;
229
+ setup(t) {
230
+ let n = t, r = a(() => n.to ? "RouterLink" : "button"), i = {
231
+ xs: {
232
+ px: 32,
233
+ icon: 16
234
+ },
235
+ sm: {
236
+ px: 40,
237
+ icon: 20
238
+ },
239
+ md: {
240
+ px: 48,
241
+ icon: 24
242
+ },
243
+ lg: {
244
+ px: 56,
245
+ icon: 28
246
+ },
247
+ xl: {
248
+ px: 64,
249
+ icon: 32
250
+ }
251
+ }, s = a(() => typeof n.size == "number" ? {
252
+ px: n.size,
253
+ icon: Math.round(n.size * .55)
254
+ } : i[n.size] ?? i.sm), c = a(() => n.shape === "squared" ? "rounded-md" : "rounded-full");
255
+ function l(e) {
256
+ if (n.disabled) return;
257
+ let t = e.currentTarget, r = t.getBoundingClientRect(), i = Math.max(r.width, r.height) * 2, a = document.createElement("span");
258
+ a.className = "m3-ripple", a.style.cssText = `width:${i}px;height:${i}px;top:${e.clientY - r.top - i / 2}px;left:${e.clientX - r.left - i / 2}px`, t.appendChild(a), a.addEventListener("animationend", () => a.remove(), { once: !0 });
259
+ }
260
+ let u = a(() => {
261
+ switch (n.variant) {
262
+ case "filled": return "bg-primary text-on-primary hover:shadow-elevation-1";
263
+ case "tonal": return "bg-secondary-container text-on-secondary-container hover:shadow-elevation-1";
264
+ case "outlined": return "border border-outline text-on-surface-variant hover:bg-on-surface/8";
265
+ default: return "text-on-surface-variant hover:bg-on-surface/8 active:bg-on-surface/12";
181
266
  }
182
- let u = s * .58, d = s - u, f = `${u.toFixed(1)} ${d.toFixed(1)}`;
183
- return {
184
- path: o.join("") + "Z",
185
- dash: f,
186
- len: s.toFixed(1)
187
- };
188
267
  });
189
- return (t, r) => (y(), c("span", {
190
- class: "inline-flex shrink-0 items-center justify-center",
268
+ return (n, i) => (y(), o(C(r.value), {
269
+ to: t.to || void 0,
270
+ type: t.to ? void 0 : "button",
271
+ "aria-label": t.label || void 0,
272
+ disabled: t.disabled,
273
+ class: m([
274
+ G,
275
+ c.value,
276
+ u.value,
277
+ "relative overflow-hidden"
278
+ ]),
191
279
  style: h({
192
- width: `${e.size}px`,
193
- height: `${e.size}px`
280
+ width: `${s.value.px}px`,
281
+ height: `${s.value.px}px`
194
282
  }),
195
- role: "status",
196
- "aria-label": e.label ?? w(n).loading
197
- }, [e.wavy ? (y(), c("svg", {
198
- key: 1,
199
- width: e.size,
200
- height: e.size,
201
- viewBox: `0 0 ${e.size} ${e.size}`,
202
- fill: "none",
203
- class: "animate-[m3-wavy-spin_2.8s_linear_infinite]",
204
- style: h(`transform-origin: ${i.value}px ${i.value}px`)
205
- }, [l("path", {
206
- d: o.value.path,
207
- stroke: "currentColor",
208
- "stroke-width": V,
209
- "stroke-linecap": "round",
210
- "stroke-dasharray": o.value.dash,
211
- class: "animate-[m3-wavy-travel_2s_linear_infinite]",
212
- style: h({ "--m3-wave-len": o.value.len })
213
- }, null, 12, B)], 12, z)) : (y(), c("span", R))], 12, L));
283
+ onPointerdown: l
284
+ }, {
285
+ default: k(() => [d(e, {
286
+ name: t.icon,
287
+ size: s.value.icon
288
+ }, null, 8, ["name", "size"])]),
289
+ _: 1
290
+ }, 40, [
291
+ "to",
292
+ "type",
293
+ "aria-label",
294
+ "disabled",
295
+ "class",
296
+ "style"
297
+ ]));
214
298
  }
215
- }), W = "relative inline-flex items-center justify-center gap-2 h-10 rounded-full text-label-large font-medium whitespace-nowrap overflow-hidden transition-[box-shadow,background-color,color] duration-150 select-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-[0.38] disabled:shadow-none before:content-[''] before:pointer-events-none before:absolute before:inset-0 before:bg-current before:opacity-0 before:transition-opacity before:duration-150 enabled:hover:before:opacity-[0.08] enabled:active:before:opacity-[0.12]", G = /* @__PURE__ */ f({
299
+ }), q = "relative inline-flex items-center justify-center gap-2 font-medium whitespace-nowrap overflow-hidden transition-[box-shadow,background-color,color] duration-150 select-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-[0.38] disabled:shadow-none before:content-[''] before:pointer-events-none before:absolute before:inset-0 before:bg-current before:opacity-0 before:transition-opacity before:duration-150 enabled:hover:before:opacity-[0.08] enabled:active:before:opacity-[0.12]", J = /* @__PURE__ */ f({
216
300
  __name: "MButton",
217
301
  props: {
218
302
  variant: { default: "filled" },
@@ -227,6 +311,8 @@ var L = ["aria-label"], R = {
227
311
  default: !1
228
312
  },
229
313
  icon: {},
314
+ size: { default: "sm" },
315
+ shape: { default: "rounded" },
230
316
  to: {}
231
317
  },
232
318
  setup(t) {
@@ -237,38 +323,90 @@ var L = ["aria-label"], R = {
237
323
  "--color-primary-container": r.color + "33",
238
324
  "--color-on-primary-container": r.color
239
325
  };
240
- }), u = a(() => r.color === "error"), d = a(() => {
326
+ }), u = a(() => r.color === "error"), d = a(() => r.shape === "squared" ? "rounded-md" : "rounded-full"), f = {
327
+ xs: {
328
+ h: "h-8",
329
+ text: "text-label-medium",
330
+ icon: 16,
331
+ spinner: 14,
332
+ px: "px-4",
333
+ pxIcon: "pl-3 pr-4",
334
+ pxText: "px-2"
335
+ },
336
+ sm: {
337
+ h: "h-10",
338
+ text: "text-label-large",
339
+ icon: 20,
340
+ spinner: 16,
341
+ px: "px-6",
342
+ pxIcon: "pl-4 pr-6",
343
+ pxText: "px-3"
344
+ },
345
+ md: {
346
+ h: "h-14",
347
+ text: "text-title-medium",
348
+ icon: 20,
349
+ spinner: 18,
350
+ px: "px-6",
351
+ pxIcon: "pl-5 pr-6",
352
+ pxText: "px-3"
353
+ },
354
+ lg: {
355
+ h: "h-16",
356
+ text: "text-title-large",
357
+ icon: 22,
358
+ spinner: 20,
359
+ px: "px-7",
360
+ pxIcon: "pl-6 pr-7",
361
+ pxText: "px-4"
362
+ },
363
+ xl: {
364
+ h: "h-20",
365
+ text: "text-headline-small",
366
+ icon: 24,
367
+ spinner: 22,
368
+ px: "px-8",
369
+ pxIcon: "pl-7 pr-8",
370
+ pxText: "px-4"
371
+ }
372
+ }, p = a(() => f[r.size] ?? f.sm), g = a(() => `${p.value.h} ${p.value.text}`), _ = a(() => p.value.icon), v = a(() => p.value.spinner), b = a(() => r.variant === "text" ? p.value.pxText : r.icon || r.loading ? p.value.pxIcon : p.value.px), x = a(() => {
241
373
  let e = u.value;
242
374
  switch (r.variant) {
243
- case "filled": return e ? "px-6 bg-error text-on-error enabled:hover:shadow-elevation-1 enabled:active:shadow-none" : "px-6 bg-primary text-on-primary enabled:hover:shadow-elevation-1 enabled:active:shadow-none";
244
- case "tonal": return e ? "px-6 bg-error-container text-on-error-container enabled:hover:shadow-elevation-1 enabled:active:shadow-none" : "px-6 bg-secondary-container text-on-secondary-container enabled:hover:shadow-elevation-1 enabled:active:shadow-none";
245
- case "elevated": return e ? "px-6 bg-surface-container-low text-error shadow-elevation-1 enabled:hover:shadow-elevation-2" : "px-6 bg-surface-container-low text-primary shadow-elevation-1 enabled:hover:shadow-elevation-2";
246
- case "outlined": return e ? "px-6 border border-error text-error" : "px-6 border border-outline text-primary";
247
- case "text": return e ? "px-3 text-error" : "px-3 text-primary";
375
+ case "filled": return e ? "bg-error text-on-error enabled:hover:shadow-elevation-1 enabled:active:shadow-none" : "bg-primary text-on-primary enabled:hover:shadow-elevation-1 enabled:active:shadow-none";
376
+ case "tonal": return e ? "bg-error-container text-on-error-container enabled:hover:shadow-elevation-1 enabled:active:shadow-none" : "bg-secondary-container text-on-secondary-container enabled:hover:shadow-elevation-1 enabled:active:shadow-none";
377
+ case "elevated": return e ? "bg-surface-container-low text-error shadow-elevation-1 enabled:hover:shadow-elevation-2" : "bg-surface-container-low text-primary shadow-elevation-1 enabled:hover:shadow-elevation-2";
378
+ case "outlined": return e ? "border border-error text-error" : "border border-outline text-primary";
379
+ case "text": return e ? "text-error" : "text-primary";
248
380
  default: return "";
249
381
  }
250
382
  });
251
- function f(e) {
383
+ function w(e) {
252
384
  if (r.disabled || r.loading) return;
253
385
  let t = e.currentTarget, n = t.getBoundingClientRect(), i = Math.max(n.width, n.height) * 2, a = document.createElement("span");
254
386
  a.className = "m3-ripple", a.style.cssText = `width:${i}px;height:${i}px;top:${e.clientY - n.top - i / 2}px;left:${e.clientX - n.left - i / 2}px`, t.appendChild(a), a.addEventListener("animationend", () => a.remove(), { once: !0 });
255
387
  }
256
- return (n, r) => (y(), o(S(i.value), {
388
+ return (n, r) => (y(), o(C(i.value), {
257
389
  to: t.to || void 0,
258
390
  type: t.to ? void 0 : t.type,
259
391
  disabled: t.disabled || t.loading,
260
- class: m([W, d.value]),
392
+ class: m([
393
+ q,
394
+ d.value,
395
+ g.value,
396
+ b.value,
397
+ x.value
398
+ ]),
261
399
  style: h(l.value),
262
- onPointerdown: f
400
+ onPointerdown: w
263
401
  }, {
264
- default: O(() => [t.loading ? (y(), o(U, {
402
+ default: k(() => [t.loading ? (y(), o(B, {
265
403
  key: 0,
266
- size: 18
267
- })) : t.icon ? (y(), o(e, {
404
+ size: v.value
405
+ }, null, 8, ["size"])) : t.icon ? (y(), o(e, {
268
406
  key: 1,
269
407
  name: t.icon,
270
- size: 20
271
- }, null, 8, ["name"])) : s("", !0), x(n.$slots, "default")]),
408
+ size: _.value
409
+ }, null, 8, ["name", "size"])) : s("", !0), S(n.$slots, "default")]),
272
410
  _: 3
273
411
  }, 40, [
274
412
  "to",
@@ -278,57 +416,16 @@ var L = ["aria-label"], R = {
278
416
  "style"
279
417
  ]));
280
418
  }
281
- }), K = "inline-flex shrink-0 items-center justify-center rounded-full transition-colors duration-150 cursor-pointer disabled:cursor-not-allowed disabled:opacity-[0.38]", q = /* @__PURE__ */ f({
282
- __name: "MIconButton",
283
- props: {
284
- icon: {},
285
- label: {},
286
- variant: { default: "standard" },
287
- disabled: {
288
- type: Boolean,
289
- default: !1
290
- },
291
- size: { default: 40 },
292
- to: {}
293
- },
294
- setup(t) {
295
- let n = t, r = a(() => n.to ? "RouterLink" : "button"), i = a(() => {
296
- switch (n.variant) {
297
- case "filled": return "bg-primary text-on-primary hover:shadow-elevation-1";
298
- case "tonal": return "bg-secondary-container text-on-secondary-container hover:shadow-elevation-1";
299
- case "outlined": return "border border-outline text-on-surface-variant hover:bg-on-surface/8";
300
- default: return "text-on-surface-variant hover:bg-on-surface/8 active:bg-on-surface/12";
301
- }
302
- });
303
- return (n, a) => (y(), o(S(r.value), {
304
- to: t.to || void 0,
305
- type: t.to ? void 0 : "button",
306
- "aria-label": t.label || void 0,
307
- disabled: t.disabled,
308
- class: m([K, i.value]),
309
- style: h({
310
- width: `${t.size}px`,
311
- height: `${t.size}px`
312
- })
313
- }, {
314
- default: O(() => [d(e, {
315
- name: t.icon,
316
- size: Math.round(t.size * .55)
317
- }, null, 8, ["name", "size"])]),
318
- _: 1
319
- }, 8, [
320
- "to",
321
- "type",
322
- "aria-label",
323
- "disabled",
324
- "class",
325
- "style"
326
- ]));
327
- }
328
- }), J = { class: "flex items-start justify-between gap-4 px-6 pt-6 pb-2" }, Y = { class: "text-headline-small text-on-surface" }, X = { class: "overflow-y-auto px-6 py-2 text-body-medium text-on-surface-variant" }, Z = {
419
+ }), Y = { class: "flex items-start justify-between gap-4 px-6 pt-6 pb-2" }, X = { class: "text-headline-small text-on-surface" }, Z = { class: "overflow-y-auto px-6 py-2 text-body-medium text-on-surface-variant" }, Q = {
329
420
  key: 0,
330
421
  class: "flex justify-end gap-2 px-6 py-4"
331
- }, Q = /*#__PURE__*/ t(/* @__PURE__ */ f({
422
+ }, $ = {
423
+ key: 0,
424
+ class: "dialog-fs fixed inset-0 z-50 flex flex-col bg-surface"
425
+ }, ee = { class: "flex h-14 shrink-0 items-center gap-2 px-2" }, te = { class: "flex-1 text-title-large font-medium text-on-surface" }, ne = {
426
+ key: 1,
427
+ class: "flex items-center gap-2"
428
+ }, re = { class: "flex-1 overflow-y-auto px-6 py-4 text-body-medium text-on-surface-variant" }, ie = /*#__PURE__*/ t(/* @__PURE__ */ f({
332
429
  __name: "MDialog",
333
430
  props: {
334
431
  modelValue: { type: Boolean },
@@ -338,63 +435,85 @@ var L = ["aria-label"], R = {
338
435
  type: Boolean,
339
436
  default: !1
340
437
  },
438
+ fullscreen: {
439
+ type: Boolean,
440
+ default: !1
441
+ },
341
442
  closeLabel: {}
342
443
  },
343
444
  emits: ["update:modelValue"],
344
445
  setup(e, { emit: t }) {
345
- let n = e, a = M(), f = t;
346
- function p() {
347
- n.persistent || f("update:modelValue", !1);
446
+ let n = e, a = N(), d = t;
447
+ function f() {
448
+ n.persistent || d("update:modelValue", !1);
348
449
  }
349
- function h(e) {
350
- e.key === "Escape" && p();
450
+ function p(e) {
451
+ e.key === "Escape" && f();
351
452
  }
352
- return D(() => n.modelValue, (e) => {
353
- e ? (document.addEventListener("keydown", h), document.body.style.overflow = "hidden") : (document.removeEventListener("keydown", h), document.body.style.overflow = "");
354
- }), (t, n) => (y(), o(r, { to: "body" }, [d(i, { name: "m3-dialog" }, {
355
- default: O(() => [e.modelValue ? (y(), c("div", {
453
+ return O(() => n.modelValue, (e) => {
454
+ e ? (document.addEventListener("keydown", p), document.body.style.overflow = "hidden") : (document.removeEventListener("keydown", p), document.body.style.overflow = "");
455
+ }), (t, n) => (y(), o(r, { to: "body" }, [e.fullscreen ? (y(), o(i, {
456
+ key: 1,
457
+ name: "m3-dialog-fs"
458
+ }, {
459
+ default: k(() => [e.modelValue ? (y(), c("div", $, [l("div", ee, [
460
+ e.persistent ? s("", !0) : (y(), o(K, {
461
+ key: 0,
462
+ icon: "close",
463
+ label: e.closeLabel ?? T(a).close,
464
+ onClick: f
465
+ }, null, 8, ["label"])),
466
+ l("h2", te, [S(t.$slots, "title", {}, () => [u(w(e.title), 1)], !0)]),
467
+ t.$slots.actions ? (y(), c("div", ne, [S(t.$slots, "actions", {}, void 0, !0)])) : s("", !0)
468
+ ]), l("div", re, [S(t.$slots, "default", {}, void 0, !0)])])) : s("", !0)]),
469
+ _: 3
470
+ })) : (y(), o(i, {
471
+ key: 0,
472
+ name: "m3-dialog"
473
+ }, {
474
+ default: k(() => [e.modelValue ? (y(), c("div", {
356
475
  key: 0,
357
476
  class: "fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",
358
- onClick: k(p, ["self"])
477
+ onClick: A(f, ["self"])
359
478
  }, [l("div", { class: m(["dialog-box flex max-h-[90vh] w-full flex-col rounded-xl bg-surface-container-high shadow-elevation-3", e.maxWidth]) }, [
360
- l("div", J, [l("h2", Y, [x(t.$slots, "title", {}, () => [u(C(e.title), 1)], !0)]), e.persistent ? s("", !0) : (y(), o(q, {
479
+ l("div", Y, [l("h2", X, [S(t.$slots, "title", {}, () => [u(w(e.title), 1)], !0)]), e.persistent ? s("", !0) : (y(), o(K, {
361
480
  key: 0,
362
481
  icon: "close",
363
- label: e.closeLabel ?? w(a).close,
364
- onClick: p
482
+ label: e.closeLabel ?? T(a).close,
483
+ onClick: f
365
484
  }, null, 8, ["label"]))]),
366
- l("div", X, [x(t.$slots, "default", {}, void 0, !0)]),
367
- t.$slots.actions ? (y(), c("div", Z, [x(t.$slots, "actions", {}, void 0, !0)])) : s("", !0)
485
+ l("div", Z, [S(t.$slots, "default", {}, void 0, !0)]),
486
+ t.$slots.actions ? (y(), c("div", Q, [S(t.$slots, "actions", {}, void 0, !0)])) : s("", !0)
368
487
  ], 2)])) : s("", !0)]),
369
488
  _: 3
370
- })]));
489
+ }))]));
371
490
  }
372
- }), [["__scopeId", "data-v-4ccfbc3c"]]), $ = { class: "flex flex-col gap-1" }, ee = [
491
+ }), [["__scopeId", "data-v-2e3c3567"]]), ae = { class: "flex flex-col gap-1" }, oe = [
373
492
  "id",
374
493
  "value",
375
494
  "rows",
376
495
  "disabled",
377
496
  "required"
378
- ], te = [
497
+ ], se = [
379
498
  "id",
380
499
  "type",
381
500
  "value",
382
501
  "disabled",
383
502
  "required",
384
503
  "autocomplete"
385
- ], ne = ["for"], re = {
504
+ ], ce = ["for"], le = {
386
505
  key: 0,
387
506
  class: "text-error"
388
- }, ie = {
507
+ }, ue = {
389
508
  key: 3,
390
509
  class: "absolute right-2 top-1/2 -translate-y-1/2"
391
- }, ae = {
510
+ }, de = {
392
511
  key: 0,
393
512
  class: "px-4 text-body-small text-error"
394
- }, oe = {
513
+ }, fe = {
395
514
  key: 1,
396
515
  class: "px-4 text-body-small text-on-surface-variant"
397
- }, se = /* @__PURE__ */ f({
516
+ }, pe = /* @__PURE__ */ f({
398
517
  __name: "MTextField",
399
518
  props: {
400
519
  modelValue: {},
@@ -417,7 +536,7 @@ var L = ["aria-label"], R = {
417
536
  },
418
537
  emits: ["update:modelValue"],
419
538
  setup(t, { emit: n }) {
420
- let r = t, i = n, o = T(), f = E(), p = b(null), { resolvedFieldBg: g } = I(p, () => r.fieldBg), _ = a(() => r.clearable && String(r.modelValue).length > 0 && !r.disabled), v = a(() => {
539
+ let r = t, i = n, o = E(), f = D(), p = x(null), { resolvedFieldBg: g } = W(p, () => r.fieldBg), _ = a(() => r.clearable && String(r.modelValue).length > 0 && !r.disabled), v = a(() => {
421
540
  let e = !!f.trailing || r.clearable, t = r.leadingIcon ? "pl-12" : "pl-4", n = e ? "pr-12" : "pr-4", i = [
422
541
  "peer block w-full text-body-large text-on-surface outline-none placeholder:text-transparent",
423
542
  "transition-[border-color,border-width] duration-150",
@@ -435,7 +554,7 @@ var L = ["aria-label"], R = {
435
554
  "rounded-t-sm bg-surface-container-highest border-b pt-6 pb-2",
436
555
  r.error ? "border-error focus:border-b-2 focus:border-error" : "border-on-surface-variant hover:border-on-surface focus:border-b-2 focus:border-primary"
437
556
  ].join(" ");
438
- }), S = a(() => {
557
+ }), b = a(() => {
439
558
  let e = [
440
559
  "pointer-events-none absolute truncate transition-all duration-200",
441
560
  r.leadingIcon ? r.variant === "outlined" ? "left-11" : "left-12" : r.variant === "outlined" ? "left-3" : "left-4",
@@ -455,15 +574,15 @@ var L = ["aria-label"], R = {
455
574
  r.error ? "text-error peer-focus:text-error" : "text-on-surface-variant peer-focus:text-primary"
456
575
  ].join(" ");
457
576
  });
458
- function D(e) {
577
+ function C(e) {
459
578
  let t = e.target;
460
579
  i("update:modelValue", t.value);
461
580
  }
462
- return (n, r) => (y(), c("div", $, [l("div", {
581
+ return (n, r) => (y(), c("div", ae, [l("div", {
463
582
  ref_key: "fieldBgEl",
464
583
  ref: p,
465
584
  class: m(["relative", t.variant === "outlined" ? "mt-2" : ""]),
466
- style: h(t.variant === "outlined" ? { "--field-bg": w(g) } : void 0)
585
+ style: h(t.variant === "outlined" ? { "--field-bg": T(g) } : void 0)
467
586
  }, [
468
587
  t.leadingIcon ? (y(), c("div", {
469
588
  key: 0,
@@ -474,17 +593,17 @@ var L = ["aria-label"], R = {
474
593
  }, null, 8, ["name"])], 2)) : s("", !0),
475
594
  t.multiline ? (y(), c("textarea", {
476
595
  key: 1,
477
- id: w(o),
596
+ id: T(o),
478
597
  value: String(t.modelValue),
479
598
  rows: t.rows,
480
599
  disabled: t.disabled,
481
600
  required: t.required,
482
601
  placeholder: " ",
483
602
  class: m(v.value),
484
- onInput: D
485
- }, null, 42, ee)) : (y(), c("input", {
603
+ onInput: C
604
+ }, null, 42, oe)) : (y(), c("input", {
486
605
  key: 2,
487
- id: w(o),
606
+ id: T(o),
488
607
  type: t.type,
489
608
  value: t.modelValue,
490
609
  disabled: t.disabled,
@@ -492,13 +611,13 @@ var L = ["aria-label"], R = {
492
611
  autocomplete: t.autocomplete,
493
612
  placeholder: " ",
494
613
  class: m(v.value),
495
- onInput: D
496
- }, null, 42, te)),
614
+ onInput: C
615
+ }, null, 42, se)),
497
616
  l("label", {
498
- for: w(o),
499
- class: m(S.value)
500
- }, [u(C(t.label), 1), t.required ? (y(), c("span", re, "\xA0*")) : s("", !0)], 10, ne),
501
- n.$slots.trailing ? (y(), c("div", ie, [x(n.$slots, "trailing")])) : _.value ? (y(), c("button", {
617
+ for: T(o),
618
+ class: m(b.value)
619
+ }, [u(w(t.label), 1), t.required ? (y(), c("span", le, "\xA0*")) : s("", !0)], 10, ce),
620
+ n.$slots.trailing ? (y(), c("div", ue, [S(n.$slots, "trailing")])) : _.value ? (y(), c("button", {
502
621
  key: 4,
503
622
  type: "button",
504
623
  class: "absolute right-3 top-1/2 -translate-y-1/2 flex h-6 w-6 cursor-pointer items-center justify-center rounded-full text-on-surface-variant transition-colors hover:bg-on-surface/8 hover:text-on-surface",
@@ -507,56 +626,56 @@ var L = ["aria-label"], R = {
507
626
  name: "close",
508
627
  size: 18
509
628
  })])) : s("", !0)
510
- ], 6), t.error ? (y(), c("p", ae, C(t.error), 1)) : t.hint ? (y(), c("p", oe, C(t.hint), 1)) : s("", !0)]));
629
+ ], 6), t.error ? (y(), c("p", de, w(t.error), 1)) : t.hint ? (y(), c("p", fe, w(t.hint), 1)) : s("", !0)]));
511
630
  }
512
- }), ce = /* @__PURE__ */ f({
631
+ }), me = /* @__PURE__ */ f({
513
632
  __name: "MMenu",
514
633
  props: { align: { default: "right" } },
515
634
  setup(e, { expose: t }) {
516
- let u = e, f = b(!1), p = b(null), m = b(null), g = b({});
517
- function S() {
635
+ let u = e, f = x(!1), p = x(null), m = x(null), g = x({});
636
+ function C() {
518
637
  if (!p.value) return;
519
638
  let e = p.value.getBoundingClientRect(), t = window.innerHeight - e.bottom - 8, n = t < 200 && e.top > t, r = { maxHeight: `${Math.min(n ? e.top - 12 : t, 400)}px` };
520
639
  n ? r.bottom = `${window.innerHeight - e.top + 4}px` : r.top = `${e.bottom + 4}px`, u.align === "right" ? r.right = `${window.innerWidth - e.right}px` : r.left = `${e.left}px`, g.value = r;
521
640
  }
522
- function C() {
523
- f.value || S(), f.value = !f.value;
524
- }
525
641
  function w() {
642
+ f.value || C(), f.value = !f.value;
643
+ }
644
+ function T() {
526
645
  f.value = !1;
527
646
  }
528
- t({
529
- close: w,
647
+ b("m-menu-close", T), t({
648
+ close: T,
530
649
  open: f
531
650
  });
532
- function T(e) {
651
+ function E(e) {
533
652
  let t = e.target;
534
- !p.value?.contains(t) && !m.value?.contains(t) && w();
653
+ p.value?.contains(t) || m.value?.contains(t) || t.closest?.(".m3-submenu") || T();
535
654
  }
536
- function E(e) {
655
+ function D(e) {
537
656
  if (!f.value || m.value?.contains(e.target) || !p.value) return;
538
657
  let t = p.value.getBoundingClientRect();
539
658
  if (t.bottom < 0 || t.top > window.innerHeight) {
540
- w();
659
+ T();
541
660
  return;
542
661
  }
543
- S();
662
+ C();
544
663
  }
545
- function D(e) {
546
- e.key === "Escape" && w();
664
+ function O(e) {
665
+ e.key === "Escape" && T();
547
666
  }
548
667
  _(() => {
549
- document.addEventListener("mousedown", T), document.addEventListener("keydown", D), window.addEventListener("scroll", E, !0);
668
+ document.addEventListener("mousedown", E), document.addEventListener("keydown", O), window.addEventListener("scroll", D, !0);
550
669
  }), v(() => {
551
- document.removeEventListener("mousedown", T), document.removeEventListener("keydown", D), window.removeEventListener("scroll", E, !0);
670
+ document.removeEventListener("mousedown", E), document.removeEventListener("keydown", O), window.removeEventListener("scroll", D, !0);
552
671
  });
553
- let k = a(() => u.align === "right" ? "top right" : "top left");
672
+ let A = a(() => u.align === "right" ? "top right" : "top left");
554
673
  return (e, t) => (y(), c(n, null, [l("div", {
555
674
  ref_key: "triggerEl",
556
675
  ref: p,
557
676
  class: "inline-block",
558
- onClick: C
559
- }, [x(e.$slots, "trigger", { open: f.value })], 512), (y(), o(r, { to: "body" }, [d(i, {
677
+ onClick: w
678
+ }, [S(e.$slots, "trigger", { open: f.value })], 512), (y(), o(r, { to: "body" }, [d(i, {
560
679
  "enter-active-class": "transition-[opacity,transform] duration-100 ease-out",
561
680
  "enter-from-class": "opacity-0 scale-95",
562
681
  "enter-to-class": "opacity-100 scale-100",
@@ -564,44 +683,117 @@ var L = ["aria-label"], R = {
564
683
  "leave-from-class": "opacity-100 scale-100",
565
684
  "leave-to-class": "opacity-0 scale-95"
566
685
  }, {
567
- default: O(() => [f.value ? (y(), c("div", {
686
+ default: k(() => [f.value ? (y(), c("div", {
568
687
  key: 0,
569
688
  ref_key: "dropdownEl",
570
689
  ref: m,
571
- class: "fixed z-500 min-w-48 overflow-y-auto overflow-x-hidden rounded-xs bg-surface-container py-1 shadow-elevation-2",
690
+ class: "fixed z-500 min-w-48 overflow-hidden rounded-lg bg-surface-container shadow-elevation-2",
572
691
  style: h({
573
692
  ...g.value,
574
- transformOrigin: k.value
575
- }),
576
- onClick: w
577
- }, [x(e.$slots, "default")], 4)) : s("", !0)]),
693
+ transformOrigin: A.value
694
+ })
695
+ }, [l("div", {
696
+ class: "overflow-y-auto py-1",
697
+ style: h({ maxHeight: g.value.maxHeight })
698
+ }, [S(e.$slots, "default", { close: T })], 4)], 4)) : s("", !0)]),
578
699
  _: 3
579
700
  })]))], 64));
580
701
  }
581
- }), le = /* @__PURE__ */ f({
702
+ }), he = { class: "flex-1" }, ge = /* @__PURE__ */ f({
582
703
  __name: "MMenuItem",
583
704
  props: {
584
705
  icon: {},
585
- to: {}
706
+ to: {},
707
+ disabled: {
708
+ type: Boolean,
709
+ default: !1
710
+ },
711
+ danger: {
712
+ type: Boolean,
713
+ default: !1
714
+ }
586
715
  },
587
- setup(t) {
588
- let n = t, r = a(() => n.to ? "RouterLink" : "button");
589
- return (n, i) => (y(), o(S(r.value), {
716
+ emits: ["click"],
717
+ setup(t, { emit: n }) {
718
+ let u = t, f = n, g = D(), _ = a(() => u.to ? "RouterLink" : "button"), v = a(() => !!g.children), b = p("m-menu-close", null);
719
+ function w() {
720
+ u.disabled || v.value || (f("click"), b?.());
721
+ }
722
+ let T = x(!1), E = x(), O = x({});
723
+ function A() {
724
+ if (!v.value || u.disabled || (T.value = !0, !E.value)) return;
725
+ let e = E.value.getBoundingClientRect(), t = e.right + 200 > window.innerWidth;
726
+ O.value = {
727
+ position: "fixed",
728
+ top: `${e.top}px`,
729
+ ...t ? { right: `${window.innerWidth - e.left}px` } : { left: `${e.right}px` },
730
+ zIndex: "501"
731
+ };
732
+ }
733
+ function j(e) {
734
+ e.relatedTarget?.closest(".m3-submenu") || (T.value = !1);
735
+ }
736
+ function M(e) {
737
+ let t = e.relatedTarget;
738
+ t?.closest(".m3-submenu") || E.value?.contains(t) || (T.value = !1);
739
+ }
740
+ return (n, a) => (y(), c("div", {
741
+ ref_key: "itemEl",
742
+ ref: E,
743
+ onMouseenter: A,
744
+ onMouseleave: j
745
+ }, [(y(), o(C(_.value), {
590
746
  to: t.to || void 0,
591
747
  type: t.to ? void 0 : "button",
592
- class: "flex w-full cursor-pointer items-center gap-3 px-4 py-2.5 text-left text-body-large text-on-surface hover:bg-on-surface/8"
748
+ class: m(["flex w-full items-center gap-3 px-4 py-2.5 text-left text-body-large transition-colors", [
749
+ t.disabled ? "cursor-not-allowed opacity-[0.38] text-on-surface" : "cursor-pointer",
750
+ !t.disabled && t.danger ? "text-error hover:bg-error/8" : "",
751
+ !t.disabled && !t.danger ? "text-on-surface hover:bg-on-surface/8" : ""
752
+ ]]),
753
+ disabled: t.disabled || void 0,
754
+ onClick: w
755
+ }, {
756
+ default: k(() => [
757
+ t.icon ? (y(), o(e, {
758
+ key: 0,
759
+ name: t.icon,
760
+ size: 20,
761
+ class: m(["shrink-0", t.danger ? "text-error" : "text-on-surface-variant"])
762
+ }, null, 8, ["name", "class"])) : s("", !0),
763
+ l("span", he, [S(n.$slots, "default")]),
764
+ v.value ? (y(), o(e, {
765
+ key: 1,
766
+ name: "chevron_right",
767
+ size: 18,
768
+ class: "shrink-0 text-on-surface-variant"
769
+ })) : s("", !0)
770
+ ]),
771
+ _: 3
772
+ }, 8, [
773
+ "to",
774
+ "type",
775
+ "class",
776
+ "disabled"
777
+ ])), v.value ? (y(), o(r, {
778
+ key: 0,
779
+ to: "body"
780
+ }, [d(i, {
781
+ "enter-active-class": "transition-opacity duration-100",
782
+ "enter-from-class": "opacity-0",
783
+ "leave-active-class": "transition-opacity duration-75",
784
+ "leave-to-class": "opacity-0"
593
785
  }, {
594
- default: O(() => [t.icon ? (y(), o(e, {
786
+ default: k(() => [T.value ? (y(), c("div", {
595
787
  key: 0,
596
- name: t.icon,
597
- size: 20,
598
- class: "text-on-surface-variant"
599
- }, null, 8, ["name"])) : s("", !0), x(n.$slots, "default")]),
788
+ class: "m3-submenu min-w-44 overflow-hidden rounded-lg bg-surface-container py-1 shadow-elevation-2",
789
+ style: h(O.value),
790
+ onMouseleave: M
791
+ }, [S(n.$slots, "children")], 36)) : s("", !0)]),
600
792
  _: 3
601
- }, 8, ["to", "type"]));
793
+ })])) : s("", !0)], 544));
602
794
  }
603
795
  });
604
796
  //#endregion
605
- export { q as a, I as c, M as d, Q as i, j as l, ce as n, G as o, se as r, U as s, le as t, A as u };
797
+ export { J as a, B as c, N as d, ie as i, M as l, me as n, K as o, pe as r, W as s, ge as t, j as u };
606
798
 
607
- //# sourceMappingURL=MMenuItem-C6RwHl-l.js.map
799
+ //# sourceMappingURL=MMenuItem-FyttjOj_.js.map