maz-ui 3.46.0 → 3.46.1-beta.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.
@@ -1,6 +1,11 @@
1
+ import type { HTMLAttributes } from 'vue';
1
2
  import type { Color } from './types';
2
3
  export type { Color };
3
4
  export interface Props {
5
+ /** The style of the component */
6
+ style?: HTMLAttributes['style'];
7
+ /** The class of the component */
8
+ class?: HTMLAttributes['class'];
4
9
  /** The source of the image */
5
10
  src?: string | null;
6
11
  /** The caption of the avatar */
@@ -44,6 +49,12 @@ export interface Props {
44
49
  fallbackSrc?: string;
45
50
  /** Load the fallback image by default */
46
51
  noPhoto?: boolean;
52
+ /**
53
+ * The loading strategy of the image - lazy, eager or intersecting
54
+ * @default 'intersecting'
55
+ * @values `'lazy' | 'eager' | 'intersecting'`
56
+ */
57
+ loading?: 'lazy' | 'eager' | 'intersecting';
47
58
  }
48
59
  declare function __VLS_template(): {
49
60
  slots: {
@@ -72,6 +83,7 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
72
83
  size: string;
73
84
  src: string | null;
74
85
  roundedSize: "none" | "sm" | "md" | "lg" | "xl" | "full";
86
+ loading: "lazy" | "eager" | "intersecting";
75
87
  href: string;
76
88
  to: string | Record<string, unknown>;
77
89
  target: string;
@@ -1,4 +1,4 @@
1
- import { M as f } from "./chunks/MazAvatar-DVjTbmNj.mjs";
1
+ import { M as f } from "./chunks/MazAvatar-BXZpFUaZ.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,16 +1,23 @@
1
1
  import type { RouteLocationRaw } from 'vue-router';
2
2
  import type { Color } from './MazBtn.vue';
3
+ import type { Props as MazLinkProps } from './MazLink.vue';
3
4
  import type { Position } from './types';
4
5
  import { type HTMLAttributes } from 'vue';
5
6
  export type { Color, Position };
6
- export type MenuItem = {
7
+ type ItemBase = Record<string, unknown> & {
7
8
  label: string;
8
- action?: () => unknown;
9
+ class?: unknown;
10
+ color?: Color;
11
+ };
12
+ type LinkItem = ItemBase & MazLinkProps & {
9
13
  target?: string;
10
14
  href?: string;
11
15
  to?: RouteLocationRaw;
12
- class?: unknown;
13
- } & Record<string, unknown>;
16
+ };
17
+ type ActionItem = ItemBase & {
18
+ action?: () => unknown;
19
+ };
20
+ export type MenuItem = (LinkItem | ActionItem);
14
21
  export interface Props {
15
22
  style?: HTMLAttributes['style'];
16
23
  class?: HTMLAttributes['class'];
@@ -66,9 +73,6 @@ declare function __VLS_template(): {
66
73
  "menuitem-label"?(_: {
67
74
  item: MenuItem;
68
75
  }): any;
69
- "menuitem-label"?(_: {
70
- item: MenuItem;
71
- }): any;
72
76
  };
73
77
  refs: {};
74
78
  attrs: Partial<{}>;
@@ -1,56 +1,56 @@
1
- import { computed as Y, getCurrentInstance as Z, nextTick as x, defineComponent as ee, defineAsyncComponent as A, ref as I, watch as L, resolveComponent as oe, withDirectives as T, openBlock as v, createElementBlock as h, unref as u, normalizeClass as k, normalizeStyle as ne, createElementVNode as C, withModifiers as D, renderSlot as p, createTextVNode as E, toDisplayString as $, createCommentVNode as b, createVNode as U, mergeProps as te, withCtx as B, createBlock as N, Transition as le, Fragment as S, renderList as se, vShow as re } from "vue";
1
+ import { computed as x, getCurrentInstance as ee, nextTick as oe, defineComponent as ne, defineAsyncComponent as I, ref as L, watch as T, resolveComponent as te, withDirectives as U, openBlock as b, createElementBlock as h, unref as u, normalizeClass as M, normalizeStyle as le, createElementVNode as w, withModifiers as z, renderSlot as m, createTextVNode as C, toDisplayString as g, createCommentVNode as v, createVNode as N, mergeProps as A, withCtx as B, createBlock as S, Transition as re, Fragment as F, renderList as se, vShow as ie } from "vue";
2
2
  import './assets/MazDropdown.css';function ae({
3
3
  componentName: t,
4
4
  providedId: l
5
5
  }) {
6
- return Y(() => {
6
+ return x(() => {
7
7
  var n;
8
- return l ?? `${t}-${(n = Z()) == null ? void 0 : n.uid}`;
8
+ return l ?? `${t}-${(n = ee()) == null ? void 0 : n.uid}`;
9
9
  });
10
10
  }
11
- const M = "__maz-click-outside__";
12
- function F() {
11
+ const D = "__maz-click-outside__";
12
+ function V() {
13
13
  return document.ontouchstart === null ? "touchstart" : "click";
14
14
  }
15
- async function V(t, l) {
15
+ async function _(t, l) {
16
16
  try {
17
- R(t);
18
- const n = l.instance, c = l.value, w = typeof c == "function";
19
- if (!w)
17
+ q(t);
18
+ const n = l.instance, c = l.value, k = typeof c == "function";
19
+ if (!k)
20
20
  throw new Error("[maz-ui](vClickOutside) the callback should be a function");
21
- await x(), t[M] = (f) => {
22
- if ((!t || f.target && !t.contains(f.target)) && c && w)
21
+ await oe(), t[D] = (f) => {
22
+ if ((!t || f.target && !t.contains(f.target)) && c && k)
23
23
  return c.call(n, f);
24
24
  };
25
- const z = F();
26
- document.addEventListener(z, t[M], { passive: !0 });
25
+ const E = V();
26
+ document.addEventListener(E, t[D], { passive: !0 });
27
27
  } catch (n) {
28
28
  console.error("[maz-ui](vClickOutside)", n);
29
29
  }
30
30
  }
31
- function R(t) {
31
+ function q(t) {
32
32
  try {
33
- const l = F();
34
- document.removeEventListener(l, t[M], !1), delete t[M];
33
+ const l = V();
34
+ document.removeEventListener(l, t[D], !1), delete t[D];
35
35
  } catch (l) {
36
36
  console.error("[maz-ui](vClickOutside)", l);
37
37
  }
38
38
  }
39
- function ie(t, l) {
39
+ function ue(t, l) {
40
40
  try {
41
41
  if (l.value === l.oldValue)
42
42
  return;
43
- V(t, l);
43
+ _(t, l);
44
44
  } catch (n) {
45
45
  console.error("[maz-ui](vClickOutside)", n);
46
46
  }
47
47
  }
48
- const ue = {
49
- mounted: V,
50
- updated: ie,
51
- unmounted: R
48
+ const de = {
49
+ mounted: _,
50
+ updated: ue,
51
+ unmounted: q
52
52
  };
53
- function de(t, l) {
53
+ function ce(t, l) {
54
54
  let n;
55
55
  return function(...c) {
56
56
  clearTimeout(n), n = setTimeout(() => {
@@ -58,7 +58,7 @@ function de(t, l) {
58
58
  }, l);
59
59
  };
60
60
  }
61
- const ce = ["id"], fe = ["aria-expanded"], pe = ["id"], me = { class: "button-span" }, ve = ["target", "href"], be = ["onClick"], ye = /* @__PURE__ */ ee({
61
+ const fe = ["id"], pe = ["aria-expanded"], me = ["id"], ve = { class: "button-span" }, be = ["onClick"], ye = /* @__PURE__ */ ne({
62
62
  inheritAttrs: !1,
63
63
  __name: "MazDropdown",
64
64
  props: {
@@ -77,181 +77,193 @@ const ce = ["id"], fe = ["aria-expanded"], pe = ["id"], me = { class: "button-sp
77
77
  },
78
78
  emits: ["menuitem-clicked", "update:open"],
79
79
  setup(t, { emit: l }) {
80
- const n = t, c = l, w = A(() => import("./chunks/MazBtn-C-RDq3T0.mjs").then((e) => e.M)), z = A(() => import("./chunks/chevron-down-BkvtON3b.mjs")), f = ae({
80
+ const n = t, c = l, k = I(() => import("./chunks/MazBtn-C-RDq3T0.mjs").then((e) => e.M)), E = I(() => import("./chunks/chevron-down-BkvtON3b.mjs")), f = ae({
81
81
  componentName: "MazDropdown",
82
82
  providedId: n.id
83
- }), a = I(n.open), r = I(), m = de((e) => {
84
- i(e);
83
+ }), i = L(n.open), s = L(), p = ce((e) => {
84
+ a(e);
85
85
  }, 200);
86
- function q() {
87
- a.value && i(!1);
88
- }
89
86
  function H() {
90
- i(!a.value);
87
+ i.value && a(!1);
91
88
  }
92
- function _() {
93
- ["click"].includes(n.trigger) && H();
89
+ function R() {
90
+ a(!i.value);
94
91
  }
95
92
  function j() {
96
- ["hover", "both"].includes(n.trigger) && i(!0);
93
+ ["click"].includes(n.trigger) && R();
97
94
  }
98
95
  function K() {
99
- ["hover", "both"].includes(n.trigger) && (a.value === !1 ? i(!0) : m(!0));
96
+ ["hover", "both"].includes(n.trigger) && a(!0);
100
97
  }
101
98
  function P() {
102
- ["hover", "both"].includes(n.trigger) && m(!1);
99
+ ["hover", "both"].includes(n.trigger) && (i.value === !1 ? a(!0) : p(!0));
103
100
  }
104
101
  function Q() {
105
- m(!1);
102
+ ["hover", "both"].includes(n.trigger) && p(!1);
103
+ }
104
+ function G() {
105
+ p(!1);
106
106
  }
107
- function i(e) {
108
- n.disabled || (a.value = e, c("update:open", e));
107
+ function a(e) {
108
+ n.disabled || (i.value = e, c("update:open", e));
109
109
  }
110
- async function G(e, s) {
110
+ function J(e) {
111
+ return "action" in e;
112
+ }
113
+ async function W(e, r) {
111
114
  var d;
112
- c("menuitem-clicked", s), await ((d = e.action) == null ? void 0 : d.call(e)), n.noCloseOnClick || y();
115
+ c("menuitem-clicked", r), await ((d = e.action) == null ? void 0 : d.call(e)), n.noCloseOnClick || y();
113
116
  }
114
117
  function y() {
115
- n.noCloseOnClick === !1 && i(!1);
118
+ n.noCloseOnClick === !1 && a(!1);
116
119
  }
117
120
  function O(e) {
118
- e.key === "Escape" ? (e.preventDefault(), i(!1)) : ["ArrowDown", "ArrowUp"].includes(e.key) ? W(e) : e.key === "Enter" && typeof r.value == "number" && (e.preventDefault(), document.querySelectorAll(`#${f.value} .menuitem`)[r.value].click(), y());
121
+ e.key === "Escape" ? (e.preventDefault(), a(!1)) : ["ArrowDown", "ArrowUp"].includes(e.key) ? Y(e) : e.key === "Enter" && typeof s.value == "number" && (e.preventDefault(), document.querySelectorAll(`#${f.value} .menuitem`)[s.value].click(), y());
119
122
  }
120
- function J(e) {
121
- ["ArrowDown", "ArrowUp", "Enter"].includes(e.key) && a.value === !1 && (e.preventDefault(), i(!0));
123
+ function X(e) {
124
+ ["ArrowDown", "ArrowUp", "Enter"].includes(e.key) && i.value === !1 && (e.preventDefault(), a(!0));
122
125
  }
123
- function W(e) {
126
+ function Y(e) {
124
127
  var o;
125
128
  e.preventDefault();
126
- const s = e.key;
127
- a.value || i(!0);
129
+ const r = e.key;
130
+ i.value || a(!0);
128
131
  const d = (o = n.items) == null ? void 0 : o.length;
129
- d && (typeof r.value == "number" ? r.value === d - 1 && s === "ArrowDown" ? r.value = 0 : r.value === 0 && s === "ArrowUp" ? r.value = d - 1 : r.value = s === "ArrowDown" ? r.value + 1 : r.value - 1 : r.value = s === "ArrowDown" ? 0 : d - 1);
132
+ d && (typeof s.value == "number" ? s.value === d - 1 && r === "ArrowDown" ? s.value = 0 : s.value === 0 && r === "ArrowUp" ? s.value = d - 1 : s.value = r === "ArrowDown" ? s.value + 1 : s.value - 1 : s.value = r === "ArrowDown" ? 0 : d - 1);
130
133
  }
131
- return L(
132
- () => a.value,
134
+ return T(
135
+ () => i.value,
133
136
  (e) => {
134
- e ? document.addEventListener("keydown", O) : document.removeEventListener("keydown", O), r.value = void 0;
137
+ e ? document.addEventListener("keydown", O) : document.removeEventListener("keydown", O), s.value = void 0;
135
138
  }
136
- ), L(
139
+ ), T(
137
140
  () => n.open,
138
- (e) => i(e)
139
- ), (e, s) => {
140
- const d = oe("RouterLink");
141
- return T((v(), h("div", {
141
+ (e) => a(e)
142
+ ), (e, r) => {
143
+ const d = te("MazLink");
144
+ return U((b(), h("div", {
142
145
  id: u(f),
143
- class: k(["m-dropdown", [n.class]]),
144
- style: ne(e.style)
146
+ class: M(["m-dropdown", [n.class]]),
147
+ style: le(e.style)
145
148
  }, [
146
- C("div", {
149
+ w("div", {
147
150
  role: "button",
148
151
  tabindex: "0",
149
152
  class: "m-dropdown__wrapper",
150
- "aria-expanded": a.value,
153
+ "aria-expanded": i.value,
151
154
  "aria-haspopup": "menu",
152
- onClick: D(_, ["stop"]),
153
- onFocus: j,
154
- onBlur: Q,
155
- onKeydown: J,
156
- onMouseenter: K,
157
- onMouseleave: P
155
+ onClick: z(j, ["stop"]),
156
+ onFocus: K,
157
+ onBlur: G,
158
+ onKeydown: X,
159
+ onMouseenter: P,
160
+ onMouseleave: Q
158
161
  }, [
159
- C("span", {
162
+ w("span", {
160
163
  id: `${u(f)}-labelspan`,
161
164
  class: "maz-sr-only"
162
165
  }, [
163
- p(e.$slots, "screen-reader-description", {}, () => [
164
- E(
165
- $(e.screenReaderDescription),
166
+ m(e.$slots, "screen-reader-description", {}, () => [
167
+ C(
168
+ g(e.screenReaderDescription),
166
169
  1
167
170
  /* TEXT */
168
171
  )
169
172
  ])
170
- ], 8, pe),
171
- b(`
173
+ ], 8, me),
174
+ v(`
172
175
  @slot Custom Element
173
176
  @binding {Boolen} is-open close function
174
177
  @default \`<MazBtn />\`
175
178
  `),
176
- p(e.$slots, "element", { isOpen: a.value }, () => [
177
- U(u(w), te({
179
+ m(e.$slots, "element", { isOpen: i.value }, () => [
180
+ N(u(k), A({
178
181
  color: e.color,
179
182
  disabled: e.disabled,
180
183
  "aria-labelledby": `${u(f)}-labelspan`
181
184
  }, e.$attrs, { tabindex: "-1" }), {
182
185
  default: B(() => [
183
- C("span", me, [
184
- b(" @slot Button text "),
185
- p(e.$slots, "default"),
186
- e.noChevron ? b("v-if", !0) : (v(), N(u(z), {
186
+ w("span", ve, [
187
+ v(" @slot Button text "),
188
+ m(e.$slots, "default"),
189
+ e.noChevron ? v("v-if", !0) : (b(), S(u(E), {
187
190
  key: 0,
188
- class: k([{ "maz-rotate-180": a.value }, "chevron-icon"])
191
+ class: M([{ "maz-rotate-180": i.value }, "chevron-icon"])
189
192
  }, null, 8, ["class"]))
190
193
  ]),
191
- b(" @slot Menu Label ")
194
+ v(" @slot Menu Label ")
192
195
  ]),
193
196
  _: 3
194
197
  /* FORWARDED */
195
198
  }, 16, ["color", "disabled", "aria-labelledby"])
196
199
  ])
197
- ], 40, fe),
198
- U(le, {
200
+ ], 40, pe),
201
+ N(re, {
199
202
  name: "maz-scale-fade",
200
203
  persisted: ""
201
204
  }, {
202
205
  default: B(() => [
203
- T(C(
206
+ U(w(
204
207
  "div",
205
208
  {
206
209
  role: "menu",
207
210
  "aria-label": "Menu",
208
- class: k(["menu", {
211
+ class: M(["menu", {
209
212
  "--top": e.position.includes("top"),
210
213
  "--left": e.position.includes("left"),
211
214
  "--right": e.position.includes("right"),
212
215
  "--bottom": e.position.includes("bottom")
213
216
  }]),
214
217
  tabindex: "-1",
215
- onFocus: s[0] || (s[0] = (o) => u(m)(!0)),
216
- onBlur: s[1] || (s[1] = (o) => u(m)(!1)),
217
- onMouseenter: s[2] || (s[2] = (o) => ["hover", "both"].includes(e.trigger) ? u(m)(!0) : void 0),
218
- onMouseleave: s[3] || (s[3] = (o) => ["hover", "both"].includes(e.trigger) ? u(m)(!1) : void 0)
218
+ onFocus: r[0] || (r[0] = (o) => u(p)(!0)),
219
+ onBlur: r[1] || (r[1] = (o) => u(p)(!1)),
220
+ onMouseenter: r[2] || (r[2] = (o) => ["hover", "both"].includes(e.trigger) ? u(p)(!0) : void 0),
221
+ onMouseleave: r[3] || (r[3] = (o) => ["hover", "both"].includes(e.trigger) ? u(p)(!1) : void 0)
219
222
  },
220
223
  [
221
- b(`
224
+ v(`
222
225
  @slot Custom dropdown panel
223
226
  @binding {Array} items - items prop data
224
227
  `),
225
- p(e.$slots, "dropdown", { items: e.items }, () => [
226
- (v(!0), h(
227
- S,
228
+ m(e.$slots, "dropdown", { items: e.items }, () => [
229
+ (b(!0), h(
230
+ F,
228
231
  null,
229
- se(e.items, (o, g) => (v(), h(
230
- S,
231
- { key: g },
232
+ se(e.items, (o, $) => (b(), h(
233
+ F,
234
+ { key: $ },
232
235
  [
233
- b(`
236
+ v(`
234
237
  @slot Custom menu item
235
238
  @binding {Object} item - menu item
236
239
  `),
237
- p(e.$slots, "menuitem", { item: o }, () => [
238
- o.to ? (v(), N(d, {
240
+ m(e.$slots, "menuitem", { item: o }, () => [
241
+ C(
242
+ g(o.label) + " ",
243
+ 1
244
+ /* TEXT */
245
+ ),
246
+ o.to || o.href ? (b(), S(d, A({
239
247
  key: 0,
240
248
  target: o.href ? o.target ?? "_self" : void 0,
241
249
  to: o.to,
242
- class: k(["menuitem", [
250
+ href: o.href,
251
+ color: o.color ?? "theme",
252
+ ref_for: !0
253
+ }, o, {
254
+ class: ["menuitem", [
243
255
  {
244
- "--is-keyboard-selected": r.value === g
256
+ "--is-keyboard-selected": s.value === $
245
257
  },
246
258
  o.class
247
- ]]),
259
+ ]],
248
260
  tabindex: "-1",
249
- onClick: D(y, ["stop"])
250
- }, {
261
+ onClick: z(y, ["stop"])
262
+ }), {
251
263
  default: B(() => [
252
- p(e.$slots, "menuitem-label", { item: o }, () => [
253
- E(
254
- $(o.label),
264
+ m(e.$slots, "menuitem-label", { item: o }, () => [
265
+ C(
266
+ g(o.label),
255
267
  1
256
268
  /* TEXT */
257
269
  )
@@ -259,46 +271,29 @@ const ce = ["id"], fe = ["aria-expanded"], pe = ["id"], me = { class: "button-sp
259
271
  ]),
260
272
  _: 2
261
273
  /* DYNAMIC */
262
- }, 1032, ["target", "to", "class"])) : o.href ? (v(), h("a", {
274
+ }, 1040, ["target", "to", "href", "color", "class"])) : o.action ? (b(), h("button", A({
263
275
  key: 1,
264
- target: o.href ? o.target ?? "_self" : void 0,
265
- href: o.href,
266
- tabindex: "-1",
267
- class: k(["menuitem", [
268
- {
269
- "--is-keyboard-selected": r.value === g
270
- },
271
- o.class
272
- ]]),
273
- onClick: D(y, ["stop"])
274
- }, [
275
- p(e.$slots, "menuitem-label", { item: o }, () => [
276
- E(
277
- $(o.label),
278
- 1
279
- /* TEXT */
280
- )
281
- ])
282
- ], 10, ve)) : o.action ? (v(), h("button", {
283
- key: 2,
284
276
  tabindex: "-1",
285
277
  type: "button",
286
- class: k(["menuitem", [
278
+ ref_for: !0
279
+ }, o, {
280
+ class: ["menuitem menuitem__button", [
287
281
  {
288
- "--is-keyboard-selected": r.value === g
282
+ "--is-keyboard-selected": s.value === $
289
283
  },
290
- o.class
291
- ]]),
292
- onClick: D((X) => o.action ? G(o, X) : y(), ["stop"])
293
- }, [
294
- p(e.$slots, "menuitem-label", { item: o }, () => [
295
- E(
296
- $(o.label),
284
+ o.class,
285
+ `--${o.color ?? "theme"}`
286
+ ]],
287
+ onClick: z((Z) => J(o) ? W(o, Z) : y(), ["stop"])
288
+ }), [
289
+ m(e.$slots, "menuitem-label", { item: o }, () => [
290
+ C(
291
+ g(o.label),
297
292
  1
298
293
  /* TEXT */
299
294
  )
300
295
  ])
301
- ], 10, be)) : b("v-if", !0)
296
+ ], 16, be)) : v("v-if", !0)
302
297
  ])
303
298
  ],
304
299
  64
@@ -312,14 +307,14 @@ const ce = ["id"], fe = ["aria-expanded"], pe = ["id"], me = { class: "button-sp
312
307
  34
313
308
  /* CLASS, NEED_HYDRATION */
314
309
  ), [
315
- [re, a.value]
310
+ [ie, i.value]
316
311
  ])
317
312
  ]),
318
313
  _: 3
319
314
  /* FORWARDED */
320
315
  })
321
- ], 14, ce)), [
322
- [u(ue), q]
316
+ ], 14, fe)), [
317
+ [u(de), H]
323
318
  ]);
324
319
  };
325
320
  }
@@ -36,7 +36,10 @@ export interface Props {
36
36
  underline?: boolean;
37
37
  /** Add an underline only on hover */
38
38
  underlineOnlyHover?: boolean;
39
- /** Add an external icon to the link if target is '_blank' */
39
+ /**
40
+ * Add an external icon to the link if target is '_blank'
41
+ * @default true
42
+ */
40
43
  autoExternal?: boolean;
41
44
  /**
42
45
  * The name of the icon or component to display on the left of the text
@@ -69,11 +72,12 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
69
72
  to: RouteLocationRaw;
70
73
  id: string;
71
74
  target: "_blank" | "_self" | "_parent" | "_top" | string;
75
+ underline: boolean;
72
76
  download: string;
73
77
  rel: string;
74
78
  ariaLabel: string;
75
- underline: boolean;
76
79
  underlineOnlyHover: boolean;
80
+ autoExternal: boolean;
77
81
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
78
82
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
79
83
  export default _default;
@@ -7,13 +7,13 @@ import './assets/MazLink.css';const m = /* @__PURE__ */ p({
7
7
  href: { default: "#" },
8
8
  to: { default: void 0 },
9
9
  color: { default: "primary" },
10
- target: { default: "_slef" },
10
+ target: { default: "_self" },
11
11
  download: { default: void 0 },
12
12
  rel: { default: void 0 },
13
13
  ariaLabel: { default: void 0 },
14
14
  underline: { type: Boolean, default: !1 },
15
15
  underlineOnlyHover: { type: Boolean, default: !0 },
16
- autoExternal: { type: Boolean },
16
+ autoExternal: { type: Boolean, default: !0 },
17
17
  leftIcon: { type: [String, Function, Object], default: void 0 },
18
18
  rightIcon: { type: [String, Function, Object], default: void 0 }
19
19
  },
@@ -77,7 +77,7 @@ import './assets/MazLink.css';const m = /* @__PURE__ */ p({
77
77
  for (const [e, u] of i)
78
78
  o[e] = u;
79
79
  return o;
80
- }, k = /* @__PURE__ */ v(m, [["__scopeId", "data-v-4779a8e3"]]);
80
+ }, k = /* @__PURE__ */ v(m, [["__scopeId", "data-v-b1120a61"]]);
81
81
  export {
82
82
  k as default
83
83
  };
@@ -93,16 +93,16 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
93
93
  format: string;
94
94
  modelValue: string | Partial<import("./MazPicker/types").RangeValue>;
95
95
  open: boolean;
96
+ double: boolean;
97
+ inline: boolean;
96
98
  locale: string;
97
99
  placeholder: string;
98
- inline: boolean;
99
100
  noUseBrowserLocale: boolean;
100
101
  minDate: string;
101
102
  maxDate: string;
102
103
  disabledWeekly: number[];
103
104
  disabledDates: string[];
104
105
  firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;
105
- double: boolean;
106
106
  shortcuts: PickerShortcut[];
107
107
  shortcut: string;
108
108
  noShortcuts: boolean;
@@ -164,8 +164,8 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
164
164
  size: Size;
165
165
  color: Color;
166
166
  modelValue: (string | boolean | number)[];
167
- totalPages: number;
168
167
  page: number;
168
+ totalPages: number;
169
169
  searchPlaceholder: string;
170
170
  searchQuery: string;
171
171
  captionSide: "top" | "bottom";
@@ -1 +1 @@
1
- .m-avatar[data-v-d3a7fd0c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5em;vertical-align:top;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-decoration-line:none!important}.m-avatar__caption[data-v-d3a7fd0c]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-weight:500;text-transform:capitalize}.m-avatar__initial[data-v-d3a7fd0c]{font-size:1.5em;text-transform:capitalize;color:var(--maz-color-white)}.m-avatar__wrapper[data-v-d3a7fd0c]{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:3em;width:3em;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}.m-avatar__wrapper.--clickable .m-avatar__button[data-v-d3a7fd0c]{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;border-style:none;background-color:transparent;opacity:0;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transform:scale(0);transform:scale(0)}.m-avatar__wrapper.--clickable .m-avatar__button__icon[data-v-d3a7fd0c]{color:var(--maz-color-white)}.m-avatar__wrapper.--clickable:hover .m-avatar__picture[data-v-d3a7fd0c],.m-avatar__wrapper.--clickable:focus .m-avatar__picture[data-v-d3a7fd0c]{-webkit-filter:blur(1.5px);filter:blur(1.5px)}.m-avatar__wrapper.--clickable:hover .m-avatar__button[data-v-d3a7fd0c],.m-avatar__wrapper.--clickable:focus .m-avatar__button[data-v-d3a7fd0c]{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}.m-avatar__wrapper.--bordered[data-v-d3a7fd0c]{border-width:var(--maz-border-width);border-style:solid;border-color:var(--maz-color-bg-light)}.m-avatar__wrapper.--bordered[data-v-d3a7fd0c]:is([class~=dark] *){border-color:var(--maz-color-bg-lighter)}.m-avatar__wrapper.--rounded-none[data-v-d3a7fd0c],.m-avatar__wrapper.--rounded-none .m-avatar__button[data-v-d3a7fd0c]{border-radius:0}.m-avatar__wrapper.--rounded-sm[data-v-d3a7fd0c],.m-avatar__wrapper.--rounded-sm .m-avatar__button[data-v-d3a7fd0c]{border-radius:.125rem}.m-avatar__wrapper.--rounded-md[data-v-d3a7fd0c],.m-avatar__wrapper.--rounded-md .m-avatar__button[data-v-d3a7fd0c]{border-radius:.375rem}.m-avatar__wrapper.--rounded-lg[data-v-d3a7fd0c]{border-radius:var(--maz-border-radius)}.m-avatar__wrapper.--rounded-lg .m-avatar__button[data-v-d3a7fd0c]{border-radius:.5rem}.m-avatar__wrapper.--rounded-xl[data-v-d3a7fd0c],.m-avatar__wrapper.--rounded-xl .m-avatar__button[data-v-d3a7fd0c]{border-radius:.75rem}.m-avatar__wrapper.--rounded-full[data-v-d3a7fd0c],.m-avatar__wrapper.--rounded-full .m-avatar__button[data-v-d3a7fd0c]{border-radius:9999px}.m-avatar__wrapper.--has-shadow[data-v-d3a7fd0c]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.m-avatar__wrapper.--has-initial[data-v-d3a7fd0c]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--maz-color-primary)}.m-avatar.--has-link[data-v-d3a7fd0c]{cursor:pointer}
1
+ .m-avatar[data-v-6101dd1c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5em;vertical-align:top;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-decoration-line:none!important}.m-avatar__caption[data-v-6101dd1c]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-weight:500;text-transform:capitalize}.m-avatar__initial[data-v-6101dd1c]{font-size:1.5em;text-transform:capitalize;color:var(--maz-color-white)}.m-avatar__wrapper[data-v-6101dd1c]{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:3em;width:3em;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}.m-avatar__wrapper.--clickable .m-avatar__button[data-v-6101dd1c]{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;cursor:pointer;border-style:none;background-color:transparent;opacity:0;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transform:scale(0);transform:scale(0)}.m-avatar__wrapper.--clickable .m-avatar__button__icon[data-v-6101dd1c]{color:var(--maz-color-white)}.m-avatar__wrapper.--clickable:hover .m-avatar__picture[data-v-6101dd1c],.m-avatar__wrapper.--clickable:focus .m-avatar__picture[data-v-6101dd1c]{-webkit-filter:blur(1.5px);filter:blur(1.5px)}.m-avatar__wrapper.--clickable:hover .m-avatar__button[data-v-6101dd1c],.m-avatar__wrapper.--clickable:focus .m-avatar__button[data-v-6101dd1c]{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}.m-avatar__wrapper.--bordered[data-v-6101dd1c]{border-width:var(--maz-border-width);border-style:solid;border-color:var(--maz-color-bg-light)}.m-avatar__wrapper.--bordered[data-v-6101dd1c]:is([class~=dark] *){border-color:var(--maz-color-bg-lighter)}.m-avatar__wrapper.--rounded-none[data-v-6101dd1c],.m-avatar__wrapper.--rounded-none .m-avatar__button[data-v-6101dd1c]{border-radius:0}.m-avatar__wrapper.--rounded-sm[data-v-6101dd1c],.m-avatar__wrapper.--rounded-sm .m-avatar__button[data-v-6101dd1c]{border-radius:.125rem}.m-avatar__wrapper.--rounded-md[data-v-6101dd1c],.m-avatar__wrapper.--rounded-md .m-avatar__button[data-v-6101dd1c]{border-radius:.375rem}.m-avatar__wrapper.--rounded-lg[data-v-6101dd1c]{border-radius:var(--maz-border-radius)}.m-avatar__wrapper.--rounded-lg .m-avatar__button[data-v-6101dd1c]{border-radius:.5rem}.m-avatar__wrapper.--rounded-xl[data-v-6101dd1c],.m-avatar__wrapper.--rounded-xl .m-avatar__button[data-v-6101dd1c]{border-radius:.75rem}.m-avatar__wrapper.--rounded-full[data-v-6101dd1c],.m-avatar__wrapper.--rounded-full .m-avatar__button[data-v-6101dd1c]{border-radius:9999px}.m-avatar__wrapper.--has-shadow[data-v-6101dd1c]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.m-avatar__wrapper.--has-initial[data-v-6101dd1c]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--maz-color-primary)}.m-avatar.--has-link[data-v-6101dd1c]{cursor:pointer}
@@ -1 +1 @@
1
- .m-dropdown{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;vertical-align:top}.m-dropdown [aria-expanded=true].m-btn{background-color:var(--maz-color-bg-light)}.m-dropdown__wrapper{height:100%;width:100%;outline:2px solid transparent;outline-offset:2px}.m-dropdown .chevron-icon{font-size:1.125rem;line-height:1.75rem;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-dropdown .button-span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem}.m-dropdown .menu{position:absolute;z-index:1050;display:-webkit-box;display:-ms-flexbox;display:flex;min-height:-webkit-max-content;min-height:-moz-max-content;min-height:max-content;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.125rem;overflow:auto;border-radius:var(--maz-border-radius);background-color:var(--maz-color-bg);padding:.5rem;-webkit-box-shadow:0 5px 10px 0 hsla(0,0%,0%,.05);box-shadow:0 5px 10px #0000000d}.m-dropdown .menu:is([class~=dark] *){border-width:var(--maz-border-width);border-color:var(--maz-color-bg-light)}.m-dropdown .menu.--top:not(.--right,.--left){bottom:100%;margin-bottom:.25rem;-webkit-transform-origin:bottom;transform-origin:bottom}.m-dropdown .menu.--bottom:not(.--right,.--left){top:100%;margin-top:.25rem;-webkit-transform-origin:top;transform-origin:top}.m-dropdown .menu.--left:not(.--top,.--bottom){right:100%;margin-right:.25rem;-webkit-transform-origin:top right;transform-origin:top right}.m-dropdown .menu.--right:not(.--top,.--bottom){left:100%;margin-left:.25rem;-webkit-transform-origin:top left;transform-origin:top left}.m-dropdown .menu.--top.--right{bottom:100%;right:0;margin-bottom:.25rem;-webkit-transform-origin:bottom right;transform-origin:bottom right}.m-dropdown .menu.--top.--left{bottom:100%;left:0;margin-bottom:.25rem;-webkit-transform-origin:bottom left;transform-origin:bottom left}.m-dropdown .menu.--bottom.--left{left:0;top:100%;margin-top:.25rem;-webkit-transform-origin:top left;transform-origin:top left}.m-dropdown .menu.--bottom.--right{right:0;top:100%;margin-top:.25rem;-webkit-transform-origin:top right;transform-origin:top right}.m-dropdown .menu .menuitem{cursor:pointer;white-space:nowrap;border-radius:var(--maz-border-radius);padding:.5rem 1rem;text-align:start;outline:2px solid transparent;outline-offset:2px;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-dropdown .menu .menuitem:focus-within{background-color:var(--maz-color-bg-light)}.m-dropdown .menu .menuitem:hover,.m-dropdown .menu .menuitem.--is-keyboard-selected{background-color:var(--maz-color-bg-light)}
1
+ .m-dropdown{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;vertical-align:top}.m-dropdown [aria-expanded=true].m-btn{background-color:var(--maz-color-bg-light)}.m-dropdown__wrapper{height:100%;width:100%;outline:2px solid transparent;outline-offset:2px}.m-dropdown .chevron-icon{font-size:1.125rem;line-height:1.75rem;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-dropdown .button-span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem}.m-dropdown .menu{position:absolute;z-index:1050;display:-webkit-box;display:-ms-flexbox;display:flex;min-height:-webkit-max-content;min-height:-moz-max-content;min-height:max-content;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.125rem;overflow:auto;border-radius:var(--maz-border-radius);background-color:var(--maz-color-bg);padding:.5rem;-webkit-box-shadow:0 5px 10px 0 hsla(0,0%,0%,.05);box-shadow:0 5px 10px #0000000d}.m-dropdown .menu:is([class~=dark] *){border-width:var(--maz-border-width);border-color:var(--maz-color-bg-light)}.m-dropdown .menu.--top:not(.--right,.--left){bottom:100%;margin-bottom:.25rem;-webkit-transform-origin:bottom;transform-origin:bottom}.m-dropdown .menu.--bottom:not(.--right,.--left){top:100%;margin-top:.25rem;-webkit-transform-origin:top;transform-origin:top}.m-dropdown .menu.--left:not(.--top,.--bottom){right:100%;margin-right:.25rem;-webkit-transform-origin:top right;transform-origin:top right}.m-dropdown .menu.--right:not(.--top,.--bottom){left:100%;margin-left:.25rem;-webkit-transform-origin:top left;transform-origin:top left}.m-dropdown .menu.--top.--right{bottom:100%;right:0;margin-bottom:.25rem;-webkit-transform-origin:bottom right;transform-origin:bottom right}.m-dropdown .menu.--top.--left{bottom:100%;left:0;margin-bottom:.25rem;-webkit-transform-origin:bottom left;transform-origin:bottom left}.m-dropdown .menu.--bottom.--left{left:0;top:100%;margin-top:.25rem;-webkit-transform-origin:top left;transform-origin:top left}.m-dropdown .menu.--bottom.--right{right:0;top:100%;margin-top:.25rem;-webkit-transform-origin:top right;transform-origin:top right}.m-dropdown .menu .menuitem{cursor:pointer;white-space:nowrap;border-radius:var(--maz-border-radius);padding:.5rem 1rem;text-align:start;outline:2px solid transparent;outline-offset:2px;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-dropdown .menu .menuitem:focus-within{background-color:var(--maz-color-bg-light)}.m-dropdown .menu .menuitem:hover,.m-dropdown .menu .menuitem.--is-keyboard-selected{background-color:var(--maz-color-bg-light)}.m-dropdown .menu .menuitem.menuitem__button:disabled{cursor:not-allowed;opacity:.5}.m-dropdown .menu .menuitem.menuitem__button.--primary{color:var(--maz-color-primary)}.m-dropdown .menu .menuitem.menuitem__button.--primary:hover{color:var(--maz-color-primary-600)}.m-dropdown .menu .menuitem.menuitem__button.--secondary{color:var(--maz-color-secondary)}.m-dropdown .menu .menuitem.menuitem__button.--secondary:hover{color:var(--maz-color-secondary-600)}.m-dropdown .menu .menuitem.menuitem__button.--info{color:var(--maz-color-info)}.m-dropdown .menu .menuitem.menuitem__button.--info:hover{color:var(--maz-color-info-600)}.m-dropdown .menu .menuitem.menuitem__button.--warning{color:var(--maz-color-warning-600)}.m-dropdown .menu .menuitem.menuitem__button.--warning:hover{color:var(--maz-color-warning-800)}.m-dropdown .menu .menuitem.menuitem__button.--danger{color:var(--maz-color-danger-600)}.m-dropdown .menu .menuitem.menuitem__button.--danger:hover{color:var(--maz-color-danger-800)}.m-dropdown .menu .menuitem.menuitem__button.--success{color:var(--maz-color-success-600)}.m-dropdown .menu .menuitem.menuitem__button.--success:hover{color:var(--maz-color-success-800)}.m-dropdown .menu .menuitem.menuitem__button.--white{color:var(--maz-color-white)}.m-dropdown .menu .menuitem.menuitem__button.--white:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.m-dropdown .menu .menuitem.menuitem__button.--black{color:var(--maz-color-black)}.m-dropdown .menu .menuitem.menuitem__button.--black:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.m-dropdown .menu .menuitem.menuitem__button.--theme{color:var(--maz-color-text)}.m-dropdown .menu .menuitem.menuitem__button.--theme:hover{color:var(--maz-color-black)}.m-dropdown .menu .menuitem.menuitem__button.--theme:hover:is([class~=dark] *){color:var(--maz-color-white)}
@@ -1 +1 @@
1
- .m-link[data-v-4779a8e3]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.25rem;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-link.--underline[data-v-4779a8e3],.m-link.--underline-only-hover[data-v-4779a8e3]:hover{text-decoration-line:underline}.m-link.--primary[data-v-4779a8e3]{color:var(--maz-color-primary)}.m-link.--primary[data-v-4779a8e3]:hover{color:var(--maz-color-primary-600)}.m-link.--secondary[data-v-4779a8e3]{color:var(--maz-color-secondary)}.m-link.--secondary[data-v-4779a8e3]:hover{color:var(--maz-color-secondary-600)}.m-link.--info[data-v-4779a8e3]{color:var(--maz-color-info)}.m-link.--info[data-v-4779a8e3]:hover{color:var(--maz-color-info-600)}.m-link.--warning[data-v-4779a8e3]{color:var(--maz-color-warning-600)}.m-link.--warning[data-v-4779a8e3]:hover{color:var(--maz-color-warning-800)}.m-link.--danger[data-v-4779a8e3]{color:var(--maz-color-danger-600)}.m-link.--danger[data-v-4779a8e3]:hover{color:var(--maz-color-danger-800)}.m-link.--success[data-v-4779a8e3]{color:var(--maz-color-success-600)}.m-link.--success[data-v-4779a8e3]:hover{color:var(--maz-color-success-800)}.m-link.--white[data-v-4779a8e3]{color:var(--maz-color-white)}.m-link.--white[data-v-4779a8e3]:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.m-link.--black[data-v-4779a8e3]{color:var(--maz-color-black)}.m-link.--black[data-v-4779a8e3]:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.m-link.--theme[data-v-4779a8e3]{color:var(--maz-color-text)}.m-link.--theme[data-v-4779a8e3]:hover{color:var(--maz-color-black)}.m-link.--theme[data-v-4779a8e3]:hover:is([class~=dark] *){color:var(--maz-color-white)}
1
+ .m-link[data-v-b1120a61]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.25rem;text-decoration-line:none;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.m-link.--underline[data-v-b1120a61],.m-link.--underline-only-hover[data-v-b1120a61]:hover{text-decoration-line:underline}.m-link.--primary[data-v-b1120a61]{color:var(--maz-color-primary)}.m-link.--primary[data-v-b1120a61]:hover{color:var(--maz-color-primary-600)}.m-link.--secondary[data-v-b1120a61]{color:var(--maz-color-secondary)}.m-link.--secondary[data-v-b1120a61]:hover{color:var(--maz-color-secondary-600)}.m-link.--info[data-v-b1120a61]{color:var(--maz-color-info)}.m-link.--info[data-v-b1120a61]:hover{color:var(--maz-color-info-600)}.m-link.--warning[data-v-b1120a61]{color:var(--maz-color-warning-600)}.m-link.--warning[data-v-b1120a61]:hover{color:var(--maz-color-warning-800)}.m-link.--danger[data-v-b1120a61]{color:var(--maz-color-danger-600)}.m-link.--danger[data-v-b1120a61]:hover{color:var(--maz-color-danger-800)}.m-link.--success[data-v-b1120a61]{color:var(--maz-color-success-600)}.m-link.--success[data-v-b1120a61]:hover{color:var(--maz-color-success-800)}.m-link.--white[data-v-b1120a61]{color:var(--maz-color-white)}.m-link.--white[data-v-b1120a61]:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.m-link.--black[data-v-b1120a61]{color:var(--maz-color-black)}.m-link.--black[data-v-b1120a61]:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.m-link.--theme[data-v-b1120a61]{color:var(--maz-color-text)}.m-link.--theme[data-v-b1120a61]:hover{color:var(--maz-color-black)}.m-link.--theme[data-v-b1120a61]:hover:is([class~=dark] *){color:var(--maz-color-white)}
@@ -0,0 +1,154 @@
1
+ import { defineComponent as I, defineAsyncComponent as p, computed as u, openBlock as l, createBlock as g, resolveDynamicComponent as L, normalizeStyle as k, normalizeClass as v, withCtx as E, createElementVNode as b, createElementBlock as i, Fragment as M, unref as y, mergeProps as P, createCommentVNode as n, renderSlot as f, toDisplayString as h, createVNode as A } from "vue";
2
+ import '../assets/MazAvatar.css';const D = ["tabindex"], N = ["src", "alt", "loading"], R = { class: "m-avatar__initial" }, V = {
3
+ key: 0,
4
+ class: "m-avatar__caption"
5
+ }, q = /* @__PURE__ */ I({
6
+ __name: "MazAvatar",
7
+ props: {
8
+ style: {},
9
+ class: {},
10
+ src: { default: void 0 },
11
+ caption: { default: void 0 },
12
+ href: { default: void 0 },
13
+ to: { default: void 0 },
14
+ alt: { default: "avatar image" },
15
+ target: { default: "_self" },
16
+ size: { default: void 0 },
17
+ bordered: { type: Boolean },
18
+ clickable: { type: Boolean },
19
+ square: { type: Boolean },
20
+ noElevation: { type: Boolean },
21
+ showCaption: { type: Boolean },
22
+ imageHeightFull: { type: Boolean },
23
+ noLoader: { type: Boolean },
24
+ buttonColor: { default: "info" },
25
+ noClickableIcon: { type: Boolean },
26
+ letterCount: { default: void 0 },
27
+ roundedSize: { default: "full" },
28
+ fallbackSrc: { default: void 0 },
29
+ noPhoto: { type: Boolean },
30
+ loading: { default: "intersecting" }
31
+ },
32
+ emits: ["click", "intersecting", "loading", "loaded", "error"],
33
+ setup(r, { emit: s }) {
34
+ const a = r, d = s, c = p(() => import("./MazLazyImg-D2seDVoC.mjs")), C = p(() => import("./pencil-Z-mPplOz.mjs")), z = u(() => a.to ? "RouterLink" : a.href ? "a" : "div"), m = u(() => !!a.to || !!a.href);
35
+ function S(o, e = a.letterCount) {
36
+ return o.split(" ").map((B) => B[0]).join("").slice(0, e);
37
+ }
38
+ const w = u(() => a.src || !a.src && !a.caption);
39
+ function $(o) {
40
+ if (d("error", o.target), a.fallbackSrc && o.target instanceof HTMLImageElement) {
41
+ const e = new URL(o.target.src), t = new URL(a.fallbackSrc);
42
+ if (e.href === t.href)
43
+ return;
44
+ o.target.src = a.fallbackSrc;
45
+ }
46
+ }
47
+ return (o, e) => (l(), g(L(z.value), {
48
+ style: k([{ fontSize: o.size }, o.style]),
49
+ class: v(["m-avatar", [
50
+ {
51
+ "--has-link": m.value
52
+ },
53
+ a.class
54
+ ]]),
55
+ href: o.href,
56
+ to: o.to,
57
+ target: m.value ? o.target : void 0
58
+ }, {
59
+ default: E(() => [
60
+ b("div", {
61
+ class: v(["m-avatar__wrapper", [
62
+ {
63
+ "--has-shadow": !o.noElevation,
64
+ "--bordered": o.bordered,
65
+ "--clickable": o.clickable,
66
+ "--has-initial": !o.src && o.caption
67
+ },
68
+ `--rounded-${o.square ? "none" : o.roundedSize}`
69
+ ]]),
70
+ tabindex: o.clickable ? 0 : -1
71
+ }, [
72
+ w.value ? (l(), i(
73
+ M,
74
+ { key: 0 },
75
+ [
76
+ o.loading === "intersecting" ? (l(), g(y(c), P({ key: 0 }, o.$attrs, {
77
+ class: "m-avatar__picture maz-w-full maz-max-w-full",
78
+ src: o.src,
79
+ alt: o.alt,
80
+ "no-photo": o.noPhoto,
81
+ "image-height-full": "",
82
+ "no-loader": o.noLoader,
83
+ "fallback-src": o.fallbackSrc,
84
+ onClick: e[0] || (e[0] = (t) => o.clickable ? o.$emit("click", t) : null),
85
+ onError: e[1] || (e[1] = (t) => o.$emit("error", t)),
86
+ onLoaded: e[2] || (e[2] = (t) => o.$emit("loaded", t)),
87
+ onLoading: e[3] || (e[3] = (t) => o.$emit("loading", t)),
88
+ onIntersecting: e[4] || (e[4] = (t) => o.$emit("intersecting", t))
89
+ }), null, 16, ["src", "alt", "no-photo", "no-loader", "fallback-src"])) : (l(), i("img", {
90
+ key: 1,
91
+ class: "m-avatar__picture maz-w-full maz-max-w-full",
92
+ src: o.src ?? o.fallbackSrc,
93
+ alt: o.alt,
94
+ loading: o.loading,
95
+ onError: $
96
+ }, null, 40, N))
97
+ ],
98
+ 64
99
+ /* STABLE_FRAGMENT */
100
+ )) : n("v-if", !0),
101
+ o.caption && !o.src ? f(o.$slots, "round-text", { key: 1 }, () => [
102
+ b(
103
+ "span",
104
+ R,
105
+ h(S(o.caption)),
106
+ 1
107
+ /* TEXT */
108
+ )
109
+ ], !0) : n("v-if", !0),
110
+ o.clickable ? (l(), i(
111
+ "button",
112
+ {
113
+ key: 2,
114
+ type: "button",
115
+ tabindex: "-1",
116
+ class: "m-avatar__button",
117
+ style: k({
118
+ backgroundColor: o.src ? `var(--maz-color-${o.buttonColor}-alpha)` : `var(--maz-color-${o.buttonColor})`
119
+ }),
120
+ onClick: e[5] || (e[5] = (t) => o.$emit("click", t))
121
+ },
122
+ [
123
+ o.noClickableIcon ? n("v-if", !0) : f(o.$slots, "icon", { key: 0 }, () => [
124
+ A(y(C), { class: "m-avatar__button__icon" })
125
+ ], !0)
126
+ ],
127
+ 4
128
+ /* STYLE */
129
+ )) : n("v-if", !0)
130
+ ], 10, D),
131
+ f(o.$slots, "caption", {}, () => [
132
+ o.showCaption && o.caption ? (l(), i(
133
+ "p",
134
+ V,
135
+ h(o.caption),
136
+ 1
137
+ /* TEXT */
138
+ )) : n("v-if", !0)
139
+ ], !0)
140
+ ]),
141
+ _: 3
142
+ /* FORWARDED */
143
+ }, 8, ["style", "class", "href", "to", "target"]));
144
+ }
145
+ }), F = (r, s) => {
146
+ const a = r.__vccOpts || r;
147
+ for (const [d, c] of s)
148
+ a[d] = c;
149
+ return a;
150
+ }, j = /* @__PURE__ */ F(q, [["__scopeId", "data-v-6101dd1c"]]);
151
+ export {
152
+ j as M,
153
+ F as _
154
+ };
@@ -2,7 +2,7 @@ import '../assets/MazLazyImg.css';var v = Object.defineProperty;
2
2
  var f = (a, e, s) => e in a ? v(a, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : a[e] = s;
3
3
  var n = (a, e, s) => f(a, typeof e != "symbol" ? e + "" : e, s);
4
4
  import { defineComponent as A, defineAsyncComponent as b, computed as m, withDirectives as I, openBlock as d, createElementBlock as c, normalizeClass as C, normalizeStyle as y, Fragment as E, renderList as O, createElementVNode as L, mergeProps as P, createVNode as S, unref as g, createCommentVNode as z, renderSlot as B } from "vue";
5
- import { _ as k } from "./MazAvatar-DVjTbmNj.mjs";
5
+ import { _ as k } from "./MazAvatar-BXZpFUaZ.mjs";
6
6
  const H = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", w = {
7
7
  baseClass: "m-lazy-img",
8
8
  loadedClass: "m-lazy-loaded",
@@ -204,7 +204,7 @@ const M = {
204
204
  },
205
205
  emits: ["intersecting", "loading", "loaded", "error"],
206
206
  setup(a) {
207
- const e = a, s = b(() => import("./MazSpinner-DfHwN_9D.mjs")), t = m(() => e.image || e.src), r = m(() => {
207
+ const e = a, s = b(() => import("./MazSpinner-gYRmfrSM.mjs")), t = m(() => e.image || e.src), r = m(() => {
208
208
  var o;
209
209
  return typeof t.value == "string" ? [{ srcset: t.value }] : (o = t.value) == null ? void 0 : o.sources;
210
210
  });
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as r, createElementBlock as o, normalizeClass as s, createElementVNode as a } from "vue";
2
- import { _ as i } from "./MazAvatar-DVjTbmNj.mjs";
2
+ import { _ as i } from "./MazAvatar-BXZpFUaZ.mjs";
3
3
  import '../assets/MazSpinner.css';const c = ["width", "height"], p = /* @__PURE__ */ n({
4
4
  __name: "MazSpinner",
5
5
  props: {
package/nuxt/index.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "3.46.0",
7
+ "version": "3.46.1-beta.0",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "0.8.4",
10
10
  "unbuild": "2.0.0"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "maz-ui",
3
3
  "type": "module",
4
- "version": "3.46.0",
4
+ "version": "3.46.1-beta.0",
5
5
  "description": "A standalone components library for Vue.Js 3 & Nuxt.Js 3",
6
6
  "author": "Louis Mazel <me@loicmazuel.com>",
7
7
  "license": "MIT",
@@ -1,6 +1,11 @@
1
+ import type { HTMLAttributes } from 'vue';
1
2
  import type { Color } from './types';
2
3
  export type { Color };
3
4
  export interface Props {
5
+ /** The style of the component */
6
+ style?: HTMLAttributes['style'];
7
+ /** The class of the component */
8
+ class?: HTMLAttributes['class'];
4
9
  /** The source of the image */
5
10
  src?: string | null;
6
11
  /** The caption of the avatar */
@@ -44,6 +49,12 @@ export interface Props {
44
49
  fallbackSrc?: string;
45
50
  /** Load the fallback image by default */
46
51
  noPhoto?: boolean;
52
+ /**
53
+ * The loading strategy of the image - lazy, eager or intersecting
54
+ * @default 'intersecting'
55
+ * @values `'lazy' | 'eager' | 'intersecting'`
56
+ */
57
+ loading?: 'lazy' | 'eager' | 'intersecting';
47
58
  }
48
59
  declare function __VLS_template(): {
49
60
  slots: {
@@ -72,6 +83,7 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
72
83
  size: string;
73
84
  src: string | null;
74
85
  roundedSize: "none" | "sm" | "md" | "lg" | "xl" | "full";
86
+ loading: "lazy" | "eager" | "intersecting";
75
87
  href: string;
76
88
  to: string | Record<string, unknown>;
77
89
  target: string;
@@ -1,16 +1,23 @@
1
1
  import type { RouteLocationRaw } from 'vue-router';
2
2
  import type { Color } from './MazBtn.vue';
3
+ import type { Props as MazLinkProps } from './MazLink.vue';
3
4
  import type { Position } from './types';
4
5
  import { type HTMLAttributes } from 'vue';
5
6
  export type { Color, Position };
6
- export type MenuItem = {
7
+ type ItemBase = Record<string, unknown> & {
7
8
  label: string;
8
- action?: () => unknown;
9
+ class?: unknown;
10
+ color?: Color;
11
+ };
12
+ type LinkItem = ItemBase & MazLinkProps & {
9
13
  target?: string;
10
14
  href?: string;
11
15
  to?: RouteLocationRaw;
12
- class?: unknown;
13
- } & Record<string, unknown>;
16
+ };
17
+ type ActionItem = ItemBase & {
18
+ action?: () => unknown;
19
+ };
20
+ export type MenuItem = (LinkItem | ActionItem);
14
21
  export interface Props {
15
22
  style?: HTMLAttributes['style'];
16
23
  class?: HTMLAttributes['class'];
@@ -66,9 +73,6 @@ declare function __VLS_template(): {
66
73
  "menuitem-label"?(_: {
67
74
  item: MenuItem;
68
75
  }): any;
69
- "menuitem-label"?(_: {
70
- item: MenuItem;
71
- }): any;
72
76
  };
73
77
  refs: {};
74
78
  attrs: Partial<{}>;
@@ -36,7 +36,10 @@ export interface Props {
36
36
  underline?: boolean;
37
37
  /** Add an underline only on hover */
38
38
  underlineOnlyHover?: boolean;
39
- /** Add an external icon to the link if target is '_blank' */
39
+ /**
40
+ * Add an external icon to the link if target is '_blank'
41
+ * @default true
42
+ */
40
43
  autoExternal?: boolean;
41
44
  /**
42
45
  * The name of the icon or component to display on the left of the text
@@ -69,11 +72,12 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
69
72
  to: RouteLocationRaw;
70
73
  id: string;
71
74
  target: "_blank" | "_self" | "_parent" | "_top" | string;
75
+ underline: boolean;
72
76
  download: string;
73
77
  rel: string;
74
78
  ariaLabel: string;
75
- underline: boolean;
76
79
  underlineOnlyHover: boolean;
80
+ autoExternal: boolean;
77
81
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
78
82
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
79
83
  export default _default;
@@ -93,16 +93,16 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
93
93
  format: string;
94
94
  modelValue: string | Partial<import("./MazPicker/types").RangeValue>;
95
95
  open: boolean;
96
+ double: boolean;
97
+ inline: boolean;
96
98
  locale: string;
97
99
  placeholder: string;
98
- inline: boolean;
99
100
  noUseBrowserLocale: boolean;
100
101
  minDate: string;
101
102
  maxDate: string;
102
103
  disabledWeekly: number[];
103
104
  disabledDates: string[];
104
105
  firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;
105
- double: boolean;
106
106
  shortcuts: PickerShortcut[];
107
107
  shortcut: string;
108
108
  noShortcuts: boolean;
@@ -164,8 +164,8 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {},
164
164
  size: Size;
165
165
  color: Color;
166
166
  modelValue: (string | boolean | number)[];
167
- totalPages: number;
168
167
  page: number;
168
+ totalPages: number;
169
169
  searchPlaceholder: string;
170
170
  searchQuery: string;
171
171
  captionSide: "top" | "bottom";
@@ -1,127 +0,0 @@
1
- import { defineComponent as B, defineAsyncComponent as m, computed as f, openBlock as i, createBlock as c, resolveDynamicComponent as $, normalizeStyle as v, normalizeClass as k, withCtx as w, createElementVNode as b, unref as y, createCommentVNode as n, renderSlot as u, toDisplayString as g, createElementBlock as C, createVNode as S } from "vue";
2
- import '../assets/MazAvatar.css';const I = ["tabindex"], L = { class: "m-avatar__initial" }, E = {
3
- key: 0,
4
- class: "m-avatar__caption"
5
- }, M = /* @__PURE__ */ B({
6
- __name: "MazAvatar",
7
- props: {
8
- src: { default: void 0 },
9
- caption: { default: void 0 },
10
- href: { default: void 0 },
11
- to: { default: void 0 },
12
- alt: { default: "avatar image" },
13
- target: { default: "_self" },
14
- size: { default: void 0 },
15
- bordered: { type: Boolean },
16
- clickable: { type: Boolean },
17
- square: { type: Boolean },
18
- noElevation: { type: Boolean },
19
- showCaption: { type: Boolean },
20
- imageHeightFull: { type: Boolean },
21
- noLoader: { type: Boolean },
22
- buttonColor: { default: "info" },
23
- noClickableIcon: { type: Boolean },
24
- letterCount: { default: void 0 },
25
- roundedSize: { default: "full" },
26
- fallbackSrc: { default: void 0 },
27
- noPhoto: { type: Boolean }
28
- },
29
- emits: ["click", "intersecting", "loading", "loaded", "error"],
30
- setup(l) {
31
- const t = l, r = m(() => import("./MazLazyImg-BmmDjOiK.mjs")), s = m(() => import("./pencil-Z-mPplOz.mjs")), d = f(() => t.to ? "RouterLink" : t.href ? "a" : "div"), p = f(() => !!t.to || !!t.href);
32
- function z(o, e = t.letterCount) {
33
- return o.split(" ").map((h) => h[0]).join("").slice(0, e);
34
- }
35
- return (o, e) => (i(), c($(d.value), {
36
- style: v({ fontSize: o.size }),
37
- class: k(["m-avatar", [
38
- {
39
- "--has-link": p.value
40
- }
41
- ]]),
42
- href: o.href,
43
- to: o.to,
44
- target: p.value ? o.target : void 0
45
- }, {
46
- default: w(() => [
47
- b("div", {
48
- class: k(["m-avatar__wrapper", [
49
- {
50
- "--has-shadow": !o.noElevation,
51
- "--bordered": o.bordered,
52
- "--clickable": o.clickable,
53
- "--has-initial": !o.src && o.caption
54
- },
55
- `--rounded-${o.square ? "none" : o.roundedSize}`
56
- ]]),
57
- tabindex: o.clickable ? 0 : -1
58
- }, [
59
- o.src || !o.src && !o.caption ? (i(), c(y(r), {
60
- key: 0,
61
- class: "m-avatar__picture maz-w-full maz-max-w-full",
62
- image: o.src,
63
- alt: o.alt,
64
- "no-photo": o.noPhoto,
65
- "image-height-full": "",
66
- "no-loader": o.noLoader,
67
- "fallback-src": o.fallbackSrc,
68
- onClick: e[0] || (e[0] = (a) => o.clickable ? o.$emit("click", a) : null),
69
- onError: e[1] || (e[1] = (a) => o.$emit("error", a)),
70
- onLoaded: e[2] || (e[2] = (a) => o.$emit("loaded", a)),
71
- onLoading: e[3] || (e[3] = (a) => o.$emit("loading", a)),
72
- onIntersecting: e[4] || (e[4] = (a) => o.$emit("intersecting", a))
73
- }, null, 8, ["image", "alt", "no-photo", "no-loader", "fallback-src"])) : n("v-if", !0),
74
- o.caption && !o.src ? u(o.$slots, "round-text", { key: 1 }, () => [
75
- b(
76
- "span",
77
- L,
78
- g(z(o.caption)),
79
- 1
80
- /* TEXT */
81
- )
82
- ], !0) : n("v-if", !0),
83
- o.clickable ? (i(), C(
84
- "button",
85
- {
86
- key: 2,
87
- type: "button",
88
- tabindex: "-1",
89
- class: "m-avatar__button",
90
- style: v({
91
- backgroundColor: o.src ? `var(--maz-color-${o.buttonColor}-alpha)` : `var(--maz-color-${o.buttonColor})`
92
- }),
93
- onClick: e[5] || (e[5] = (a) => o.$emit("click", a))
94
- },
95
- [
96
- o.noClickableIcon ? n("v-if", !0) : u(o.$slots, "icon", { key: 0 }, () => [
97
- S(y(s), { class: "m-avatar__button__icon" })
98
- ], !0)
99
- ],
100
- 4
101
- /* STYLE */
102
- )) : n("v-if", !0)
103
- ], 10, I),
104
- u(o.$slots, "caption", {}, () => [
105
- o.showCaption && o.caption ? (i(), C(
106
- "p",
107
- E,
108
- g(o.caption),
109
- 1
110
- /* TEXT */
111
- )) : n("v-if", !0)
112
- ], !0)
113
- ]),
114
- _: 3
115
- /* FORWARDED */
116
- }, 8, ["style", "class", "href", "to", "target"]));
117
- }
118
- }), A = (l, t) => {
119
- const r = l.__vccOpts || l;
120
- for (const [s, d] of t)
121
- r[s] = d;
122
- return r;
123
- }, q = /* @__PURE__ */ A(M, [["__scopeId", "data-v-d3a7fd0c"]]);
124
- export {
125
- q as M,
126
- A as _
127
- };