@maltjoy/core-vue 3.10.0 → 3.11.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.
package/dist/joy-vue.js CHANGED
@@ -1,5 +1,43 @@
1
- import { defineComponent as j, openBlock as y, createElementBlock as p, normalizeClass as w, createElementVNode as _, computed as O, createBlock as I, resolveDynamicComponent as re, mergeProps as H, withCtx as B, createCommentVNode as g, Fragment as Q, createTextVNode as L, toDisplayString as C, pushScopeId as Re, popScopeId as De, renderSlot as h, useAttrs as He, unref as V, ref as b, createVNode as R, getCurrentScope as st, onScopeDispose as ut, getCurrentInstance as dt, onMounted as Y, nextTick as We, watch as E, h as ct, reactive as ne, onBeforeUnmount as Ue, normalizeStyle as te, renderList as se, normalizeProps as me, guardReactiveProps as pe, Teleport as ft, createSlots as Ge, useSlots as Z, onBeforeMount as yt, inject as vt, provide as mt, withModifiers as pt } from "vue";
2
- const q = /* @__PURE__ */ j({
1
+ import { defineComponent as k, computed as I, openBlock as y, createElementBlock as p, normalizeClass as w, createElementVNode as b, Fragment as H, createTextVNode as L, toDisplayString as C, createCommentVNode as g, createBlock as O, resolveDynamicComponent as re, mergeProps as W, withCtx as B, pushScopeId as Re, popScopeId as De, renderSlot as h, useAttrs as He, unref as x, ref as _, createVNode as R, getCurrentScope as st, onScopeDispose as ut, getCurrentInstance as dt, onMounted as Y, nextTick as We, watch as E, h as ct, reactive as ne, onBeforeUnmount as Ue, normalizeStyle as te, renderList as se, normalizeProps as me, guardReactiveProps as pe, Teleport as ft, createSlots as Ge, useSlots as Z, onBeforeMount as yt, inject as vt, provide as mt, withModifiers as pt } from "vue";
2
+ const gt = ["title"], ht = /* @__PURE__ */ k({
3
+ __name: "VJoyAvailability",
4
+ props: {
5
+ /** Don't fill it and you'll only have the colored dot */
6
+ label: String,
7
+ status: {
8
+ type: String,
9
+ default: ""
10
+ },
11
+ /**
12
+ * Partial availabilty. Not 5 days/week cases
13
+ */
14
+ isPartial: Boolean
15
+ },
16
+ setup(e) {
17
+ const l = e, t = I(() => ({
18
+ "joy-availability__dot": !0,
19
+ "joy-availability--partial": l.isPartial,
20
+ [l.status]: !0
21
+ }));
22
+ return (o, n) => (y(), p("div", {
23
+ class: w(["joy-availability", { "joy-availability-has-label": !!e.label }]),
24
+ title: e.label || void 0
25
+ }, [
26
+ b("span", {
27
+ class: w(t.value)
28
+ }, null, 2),
29
+ e.label ? (y(), p(H, { key: 0 }, [
30
+ L(C(e.label), 1)
31
+ ], 64)) : g("", !0)
32
+ ], 10, gt));
33
+ }
34
+ });
35
+ const $ = (e, l) => {
36
+ const t = e.__vccOpts || e;
37
+ for (const [o, n] of l)
38
+ t[o] = n;
39
+ return t;
40
+ }, bt = /* @__PURE__ */ $(ht, [["__scopeId", "data-v-34b760ee"]]), q = /* @__PURE__ */ k({
3
41
  __name: "VJoyIcon",
4
42
  props: {
5
43
  name: {
@@ -19,24 +57,24 @@ const q = /* @__PURE__ */ j({
19
57
  return (l, t) => (y(), p("span", {
20
58
  class: w(["joy-icon", `joy-icon--${e.color}`, `joy-icon--${e.size}`])
21
59
  }, [
22
- _("i", {
60
+ b("i", {
23
61
  class: w(["icon", `icon-${e.name}`])
24
62
  }, null, 2)
25
63
  ], 2));
26
64
  }
27
65
  });
28
- const gt = (e) => (Re("data-v-b3dcdecc"), e = e(), De(), e), ht = {
66
+ const _t = (e) => (Re("data-v-b3dcdecc"), e = e(), De(), e), wt = {
29
67
  ref: "avatarEl",
30
68
  class: "joy-avatar__wrapper"
31
- }, bt = ["src", "title", "alt"], _t = {
69
+ }, St = ["src", "title", "alt"], jt = {
32
70
  key: 0,
33
71
  class: "joy-avatar__strategy"
34
- }, wt = ["height"], St = /* @__PURE__ */ gt(() => /* @__PURE__ */ _("path", {
72
+ }, kt = ["height"], $t = /* @__PURE__ */ _t(() => /* @__PURE__ */ b("path", {
35
73
  d: "M6.40531 15.88C5.29156 15.88 4.31531 15.6737 3.47656 15.2612C2.63781 14.8487 1.98469 14.2644 1.51719 13.5081C1.04969 12.7519 0.809061 11.8719 0.795311 10.8681L4.01281 10.3525C4.01281 11.2188 4.25344 11.9131 4.73469 12.4356C5.21594 12.9581 5.82781 13.2194 6.57031 13.2194C7.16156 13.2194 7.63594 13.0612 7.99344 12.745C8.36469 12.4288 8.55031 12.0231 8.55031 11.5281C8.55031 11.1156 8.40594 10.7719 8.11719 10.4969C7.84219 10.2081 7.38844 9.95375 6.75594 9.73375L4.96156 9.15625C3.65531 8.7575 2.70656 8.21438 2.11531 7.52687C1.53781 6.83937 1.24906 5.93187 1.24906 4.80437C1.24906 3.47062 1.68219 2.39812 2.54844 1.58687C3.41469 0.775624 4.63156 0.369999 6.19906 0.369999C7.65656 0.369999 8.83219 0.768749 9.72594 1.56625C10.6197 2.35 11.0803 3.41562 11.1078 4.76312L7.97281 5.36125C7.98656 4.64625 7.82156 4.07562 7.47781 3.64937C7.13406 3.20937 6.68719 2.98937 6.13719 2.98937C5.65594 2.98937 5.26406 3.14062 4.96156 3.44313C4.65906 3.73187 4.50781 4.10312 4.50781 4.55687C4.50781 4.99687 4.64531 5.36125 4.92031 5.65C5.20906 5.925 5.67656 6.15875 6.32281 6.35125L8.03469 6.92875C9.36844 7.3275 10.3309 7.87063 10.9222 8.55812C11.5272 9.23188 11.8297 10.1325 11.8297 11.26C11.8297 12.1538 11.6166 12.9513 11.1903 13.6525C10.7641 14.3538 10.1453 14.9038 9.33406 15.3025C8.52281 15.6875 7.54656 15.88 6.40531 15.88Z",
36
74
  fill: "#F7F7F5"
37
- }, null, -1)), kt = [
38
- St
39
- ], jt = /* @__PURE__ */ j({
75
+ }, null, -1)), Vt = [
76
+ $t
77
+ ], xt = /* @__PURE__ */ k({
40
78
  __name: "VJoyAvatar",
41
79
  props: {
42
80
  /** 3 different sizes of avatar */
@@ -65,15 +103,15 @@ const gt = (e) => (Re("data-v-b3dcdecc"), e = e(), De(), e), ht = {
65
103
  },
66
104
  emits: ["click"],
67
105
  setup(e, { expose: l, emit: t }) {
68
- const o = e, n = O(() => o.size === "large" ? "medium" : o.size === "medium" ? "small" : o.size === "small" ? "xsmall" : "small"), r = O(() => o.link ? {
106
+ const o = e, n = I(() => o.size === "large" ? "medium" : o.size === "medium" ? "small" : o.size === "small" ? "xsmall" : "small"), r = I(() => o.link ? {
69
107
  type: "button"
70
- } : null), s = O(() => ({
108
+ } : null), s = I(() => ({
71
109
  "joy-avatar": !0,
72
110
  "joy-avatar__link": o.link,
73
111
  "joy-avatar__placeholder": a.value,
74
112
  [`joy-avatar__${o.size}`]: !0,
75
113
  [`joy-avatar__${o.color}`]: !0
76
- })), a = O(() => !o.fullName && !o.photoUrl && !o.totalNumber), d = O(() => {
114
+ })), a = I(() => !o.fullName && !o.photoUrl && !o.totalNumber), d = I(() => {
77
115
  function u(i) {
78
116
  return i.replace(/[';,:()]/g, "").charAt(0);
79
117
  }
@@ -88,13 +126,13 @@ const gt = (e) => (Re("data-v-b3dcdecc"), e = e(), De(), e), ht = {
88
126
  return l({
89
127
  isAnonymous: a,
90
128
  initials: d
91
- }), (u, v) => (y(), p("div", ht, [
92
- (y(), I(re(e.link ? "button" : "div"), H(r.value, {
129
+ }), (u, v) => (y(), p("div", wt, [
130
+ (y(), O(re(e.link ? "button" : "div"), W(r.value, {
93
131
  class: [s.value],
94
132
  onClick: m
95
133
  }), {
96
134
  default: B(() => [
97
- a.value ? (y(), I(q, {
135
+ a.value ? (y(), O(q, {
98
136
  key: 0,
99
137
  name: "user-photo",
100
138
  color: "white",
@@ -106,34 +144,29 @@ const gt = (e) => (Re("data-v-b3dcdecc"), e = e(), De(), e), ht = {
106
144
  title: e.fullName,
107
145
  alt: e.fullName || "",
108
146
  loading: "lazy"
109
- }, null, 8, bt)) : g("", !0),
110
- e.fullName ? (y(), p(Q, { key: 2 }, [
147
+ }, null, 8, St)) : g("", !0),
148
+ e.fullName ? (y(), p(H, { key: 2 }, [
111
149
  L(C(d.value), 1)
112
150
  ], 64)) : g("", !0),
113
- e.totalNumber ? (y(), p(Q, { key: 3 }, [
151
+ e.totalNumber ? (y(), p(H, { key: 3 }, [
114
152
  L(C("+" + e.totalNumber), 1)
115
153
  ], 64)) : g("", !0)
116
154
  ]),
117
155
  _: 1
118
156
  }, 16, ["class"])),
119
- e.profile === "strategy" ? (y(), p("span", _t, [
157
+ e.profile === "strategy" ? (y(), p("span", jt, [
120
158
  (y(), p("svg", {
121
159
  width: "12",
122
160
  height: e.size === "small" ? "10" : "16",
123
161
  viewBox: "0 0 12 16",
124
162
  fill: "none",
125
163
  xmlns: "http://www.w3.org/2000/svg"
126
- }, kt, 8, wt))
164
+ }, Vt, 8, kt))
127
165
  ])) : g("", !0)
128
166
  ], 512));
129
167
  }
130
168
  });
131
- const x = (e, l) => {
132
- const t = e.__vccOpts || e;
133
- for (const [o, n] of l)
134
- t[o] = n;
135
- return t;
136
- }, $t = /* @__PURE__ */ x(jt, [["__scopeId", "data-v-b3dcdecc"]]), Vt = /* @__PURE__ */ j({
169
+ const It = /* @__PURE__ */ $(xt, [["__scopeId", "data-v-b3dcdecc"]]), Ot = /* @__PURE__ */ k({
137
170
  __name: "VJoyAvatarsList",
138
171
  props: {
139
172
  /** Renders a compact list of avatars */
@@ -148,7 +181,7 @@ const x = (e, l) => {
148
181
  ], 2));
149
182
  }
150
183
  });
151
- const xt = /* @__PURE__ */ x(Vt, [["__scopeId", "data-v-46e4547e"]]), It = ["info", "gray", "green", "orange", "red", "teal", "pink", "dark-blue", "yellow"], Ot = /* @__PURE__ */ j({
184
+ const Ct = /* @__PURE__ */ $(Ot, [["__scopeId", "data-v-46e4547e"]]), Bt = ["info", "gray", "green", "orange", "red", "teal", "pink", "dark-blue", "yellow"], Lt = /* @__PURE__ */ k({
152
185
  __name: "VJoyBadge",
153
186
  props: {
154
187
  /**
@@ -171,7 +204,7 @@ const xt = /* @__PURE__ */ x(Vt, [["__scopeId", "data-v-46e4547e"]]), It = ["inf
171
204
  variant: {
172
205
  type: String,
173
206
  validator(e) {
174
- return It.includes(e);
207
+ return Bt.includes(e);
175
208
  }
176
209
  }
177
210
  },
@@ -186,13 +219,13 @@ const xt = /* @__PURE__ */ x(Vt, [["__scopeId", "data-v-46e4547e"]]), It = ["inf
186
219
  ], 2));
187
220
  }
188
221
  });
189
- const Ct = /* @__PURE__ */ x(Ot, [["__scopeId", "data-v-1ed08e27"]]), Bt = ["teal", "white"], Lt = /* @__PURE__ */ j({
222
+ const Et = /* @__PURE__ */ $(Lt, [["__scopeId", "data-v-1ed08e27"]]), Jt = ["teal", "white"], zt = /* @__PURE__ */ k({
190
223
  __name: "VJoySpinner",
191
224
  props: {
192
225
  color: {
193
226
  type: String,
194
227
  validator(e) {
195
- return Bt.includes(e);
228
+ return Jt.includes(e);
196
229
  }
197
230
  }
198
231
  },
@@ -202,7 +235,7 @@ const Ct = /* @__PURE__ */ x(Ot, [["__scopeId", "data-v-1ed08e27"]]), Bt = ["tea
202
235
  }, null, 2));
203
236
  }
204
237
  });
205
- const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["primary", "secondary"], Jt = ["neutral", "success", "info", "warning", "error"], Tt = ["main", "admin", "ghost", "white"], zt = [...Et, ...Tt], Pt = ["large", "medium", "small", "xsmall", "xxsmall"], qt = { class: "joy-button--slot" }, At = /* @__PURE__ */ j({
238
+ const ge = /* @__PURE__ */ $(zt, [["__scopeId", "data-v-616a29d0"]]), Tt = ["primary", "secondary"], Pt = ["neutral", "success", "info", "warning", "error"], qt = ["main", "admin", "ghost", "white"], At = [...Tt, ...qt], Ft = ["large", "medium", "small", "xsmall", "xxsmall"], Mt = { class: "joy-button--slot" }, Nt = /* @__PURE__ */ k({
206
239
  __name: "VJoyButton",
207
240
  props: {
208
241
  /**
@@ -238,7 +271,7 @@ const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["pri
238
271
  type: String,
239
272
  default: "primary",
240
273
  validator(e) {
241
- return zt.includes(e);
274
+ return At.includes(e);
242
275
  }
243
276
  },
244
277
  /** Button or Link size */
@@ -246,12 +279,12 @@ const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["pri
246
279
  type: String,
247
280
  default: "medium",
248
281
  validator(e) {
249
- return Pt.includes(e);
282
+ return Ft.includes(e);
250
283
  }
251
284
  }
252
285
  },
253
286
  setup(e) {
254
- const l = e, t = He(), o = O(() => {
287
+ const l = e, t = He(), o = I(() => {
255
288
  switch (l.size) {
256
289
  case "xxsmall":
257
290
  return "xxsmall";
@@ -262,10 +295,10 @@ const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["pri
262
295
  default:
263
296
  return "small";
264
297
  }
265
- }), n = O(() => ["white", "ghost", "secondary"].includes(l.variant) ? "teal" : "white");
266
- return (r, s) => (y(), I(re(V(t).href ? "a" : "button"), {
267
- disabled: e.loading || V(t).disabled,
268
- type: V(t).type || "button",
298
+ }), n = I(() => ["white", "ghost", "secondary"].includes(l.variant) ? "teal" : "white");
299
+ return (r, s) => (y(), O(re(x(t).href ? "a" : "button"), {
300
+ disabled: e.loading || x(t).disabled,
301
+ type: x(t).type || "button",
269
302
  class: w([
270
303
  "joy-button",
271
304
  `joy-button_${e.variant}`,
@@ -277,22 +310,22 @@ const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["pri
277
310
  ])
278
311
  }, {
279
312
  default: B(() => [
280
- e.icon && e.iconPosition === "left" ? (y(), I(q, {
313
+ e.icon && e.iconPosition === "left" ? (y(), O(q, {
281
314
  key: 0,
282
315
  class: "joy-button_icon joy-button_icon--left",
283
316
  name: e.icon,
284
317
  size: o.value
285
318
  }, null, 8, ["name", "size"])) : g("", !0),
286
- e.loading ? (y(), I(ge, {
319
+ e.loading ? (y(), O(ge, {
287
320
  key: 1,
288
321
  color: n.value
289
322
  }, null, 8, ["color"])) : g("", !0),
290
- _("span", qt, [
323
+ b("span", Mt, [
291
324
  h(r.$slots, "default", {}, () => [
292
325
  L(C(e.label), 1)
293
326
  ], !0)
294
327
  ]),
295
- e.icon && e.iconPosition === "right" ? (y(), I(q, {
328
+ e.icon && e.iconPosition === "right" ? (y(), O(q, {
296
329
  key: 2,
297
330
  class: "joy-button_icon joy-button_icon--right",
298
331
  name: e.icon,
@@ -303,7 +336,7 @@ const ge = /* @__PURE__ */ x(Lt, [["__scopeId", "data-v-616a29d0"]]), Et = ["pri
303
336
  }, 8, ["disabled", "type", "class"]));
304
337
  }
305
338
  });
306
- const Ke = /* @__PURE__ */ x(At, [["__scopeId", "data-v-ae0676bb"]]), Ft = ["aria-checked", "aria-hidden"], Nt = { class: "joy-checkbox__input-wrapper" }, Mt = ["id", "name", "disabled", "checked", "required", "aria-checked", "value", "indeterminate"], Rt = { class: "joy-checkbox__content-wrapper" }, Dt = { class: "joy-checkbox__content" }, Ht = /* @__PURE__ */ j({
339
+ const Ke = /* @__PURE__ */ $(Nt, [["__scopeId", "data-v-ae0676bb"]]), Rt = ["aria-checked", "aria-hidden"], Dt = { class: "joy-checkbox__input-wrapper" }, Ht = ["id", "name", "disabled", "checked", "required", "aria-checked", "value", "indeterminate"], Wt = { class: "joy-checkbox__content-wrapper" }, Ut = { class: "joy-checkbox__content" }, Gt = /* @__PURE__ */ k({
307
340
  __name: "VJoyCheckbox",
308
341
  props: {
309
342
  /** Can't be used in addition of v-model. See usage : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes */
@@ -358,7 +391,7 @@ const Ke = /* @__PURE__ */ x(At, [["__scopeId", "data-v-ae0676bb"]]), Ft = ["ari
358
391
  },
359
392
  emits: ["update:checked", "focus", "blur"],
360
393
  setup(e, { expose: l, emit: t }) {
361
- const o = e, n = b(), r = b(o.indeterminate), s = b(o.invalid), a = b(!1), d = {
394
+ const o = e, n = _(), r = _(o.indeterminate), s = _(o.invalid), a = _(!1), d = {
362
395
  onChange: (m) => {
363
396
  const u = m.target.checked;
364
397
  r.value = !1, s.value = !1, t("update:checked", u);
@@ -377,7 +410,7 @@ const Ke = /* @__PURE__ */ x(At, [["__scopeId", "data-v-ae0676bb"]]), Ft = ["ari
377
410
  "aria-checked": e.checked,
378
411
  "aria-hidden": e.disabled
379
412
  }, [
380
- _("label", {
413
+ b("label", {
381
414
  class: w([
382
415
  "joy-checkbox",
383
416
  {
@@ -389,8 +422,8 @@ const Ke = /* @__PURE__ */ x(At, [["__scopeId", "data-v-ae0676bb"]]), Ft = ["ari
389
422
  }
390
423
  ])
391
424
  }, [
392
- _("div", Nt, [
393
- _("input", {
425
+ b("div", Dt, [
426
+ b("input", {
394
427
  id: e.id,
395
428
  ref_key: "input",
396
429
  ref: n,
@@ -410,27 +443,27 @@ const Ke = /* @__PURE__ */ x(At, [["__scopeId", "data-v-ae0676bb"]]), Ft = ["ari
410
443
  (...v) => d.onFocus && d.onFocus(...v)),
411
444
  onBlur: u[2] || (u[2] = //@ts-ignore
412
445
  (...v) => d.onBlur && d.onBlur(...v))
413
- }, null, 40, Mt)
446
+ }, null, 40, Ht)
414
447
  ]),
415
- _("div", Rt, [
448
+ b("div", Wt, [
416
449
  h(m.$slots, "default", {}, () => [
417
450
  L(C(e.label), 1)
418
451
  ], !0),
419
- _("div", Dt, [
452
+ b("div", Ut, [
420
453
  h(m.$slots, "checkbox-content", {}, void 0, !0)
421
454
  ])
422
455
  ])
423
456
  ], 2)
424
- ], 8, Ft));
457
+ ], 8, Rt));
425
458
  }
426
459
  });
427
- const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { class: "joy-counter" }, Ut = ["aria-label", "disabled"], Gt = { class: "joy-counter__input-wrapper" }, Kt = ["id", "min", "max", "aria-invalid", "name", "required", "value"], Qt = ["aria-label", "disabled"], Yt = {
460
+ const he = /* @__PURE__ */ $(Gt, [["__scopeId", "data-v-27cc9d8c"]]), Kt = { class: "joy-counter" }, Qt = ["aria-label", "disabled"], Yt = { class: "joy-counter__input-wrapper" }, Zt = ["id", "min", "max", "aria-invalid", "name", "required", "value"], Xt = ["aria-label", "disabled"], el = {
428
461
  key: 0,
429
462
  class: "joy-counter_error"
430
- }, Zt = {
463
+ }, tl = {
431
464
  inheritAttrs: !1
432
- }, Xt = /* @__PURE__ */ j({
433
- ...Zt,
465
+ }, ll = /* @__PURE__ */ k({
466
+ ...tl,
434
467
  __name: "VJoyCounter",
435
468
  props: {
436
469
  /** Removes any interactivity */
@@ -497,7 +530,7 @@ const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { cla
497
530
  },
498
531
  emits: ["update:modelValue"],
499
532
  setup(e, { expose: l, emit: t }) {
500
- const o = e, n = b(!1), r = b(!1);
533
+ const o = e, n = _(!1), r = _(!1);
501
534
  function s() {
502
535
  const f = m(!1);
503
536
  f >= 0 ? t("update:modelValue", f <= o.min ? o.min : f) : t("update:modelValue", 0), d();
@@ -510,8 +543,8 @@ const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { cla
510
543
  n.value = !u();
511
544
  }
512
545
  function m(f = !0) {
513
- const S = o.step.toString().split("."), k = S.length === 2 ? S[1].length : 0;
514
- return parseFloat(f ? (o.modelValue + o.step).toFixed(k) : (o.modelValue - o.step).toFixed(k));
546
+ const S = o.step.toString().split("."), j = S.length === 2 ? S[1].length : 0;
547
+ return parseFloat(f ? (o.modelValue + o.step).toFixed(j) : (o.modelValue - o.step).toFixed(j));
515
548
  }
516
549
  function u() {
517
550
  return v() && i();
@@ -535,8 +568,8 @@ const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { cla
535
568
  };
536
569
  return l({
537
570
  props: o
538
- }), (f, S) => (y(), p("div", Wt, [
539
- e.label ? (y(), I(V(U), {
571
+ }), (f, S) => (y(), p("div", Kt, [
572
+ e.label ? (y(), O(x(G), {
540
573
  key: 0,
541
574
  for: e.id,
542
575
  required: e.required && e.requiredMark,
@@ -550,20 +583,20 @@ const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { cla
550
583
  ]),
551
584
  _: 3
552
585
  }, 8, ["for", "required", "optional-label", "size"])) : g("", !0),
553
- _("div", {
586
+ b("div", {
554
587
  class: w(["joy-counter__wrapper", { "joy-counter--focusing": r.value }])
555
588
  }, [
556
- _("button", {
589
+ b("button", {
557
590
  class: "joy-counter__decrement",
558
591
  type: "button",
559
592
  "aria-label": e.labelDecrement,
560
593
  disabled: e.modelValue <= e.min,
561
594
  onClick: s
562
595
  }, [
563
- R(V(q), { name: "minus" })
564
- ], 8, Ut),
565
- _("div", Gt, [
566
- _("input", H({
596
+ R(x(q), { name: "minus" })
597
+ ], 8, Qt),
598
+ b("div", Yt, [
599
+ b("input", W({
567
600
  id: e.id,
568
601
  ref: "input",
569
602
  type: "number",
@@ -577,35 +610,35 @@ const he = /* @__PURE__ */ x(Ht, [["__scopeId", "data-v-27cc9d8c"]]), Wt = { cla
577
610
  value: e.modelValue
578
611
  }, f.$attrs, {
579
612
  onInput: S[0] || (S[0] = //@ts-ignore
580
- (...k) => c.onInput && c.onInput(...k)),
613
+ (...j) => c.onInput && c.onInput(...j)),
581
614
  onBlur: S[1] || (S[1] = //@ts-ignore
582
- (...k) => c.onBlur && c.onBlur(...k)),
615
+ (...j) => c.onBlur && c.onBlur(...j)),
583
616
  onFocus: S[2] || (S[2] = //@ts-ignore
584
- (...k) => c.onFocus && c.onFocus(...k))
585
- }), null, 16, Kt)
617
+ (...j) => c.onFocus && c.onFocus(...j))
618
+ }), null, 16, Zt)
586
619
  ]),
587
- _("button", {
620
+ b("button", {
588
621
  class: "joy-counter__increment",
589
622
  type: "button",
590
623
  "aria-label": e.labelIncrement,
591
624
  disabled: e.max ? e.modelValue >= e.max : !1,
592
625
  onClick: a
593
626
  }, [
594
- R(V(q), { name: "add" })
595
- ], 8, Qt),
596
- e.invalid && e.errorMessage ? (y(), p("div", Yt, [
597
- R(V(ot), { "no-html-error-text": e.errorMessage }, null, 8, ["no-html-error-text"])
627
+ R(x(q), { name: "add" })
628
+ ], 8, Xt),
629
+ e.invalid && e.errorMessage ? (y(), p("div", el, [
630
+ R(x(ot), { "no-html-error-text": e.errorMessage }, null, 8, ["no-html-error-text"])
598
631
  ])) : g("", !0)
599
632
  ], 2)
600
633
  ]));
601
634
  }
602
635
  });
603
- const el = /* @__PURE__ */ x(Xt, [["__scopeId", "data-v-a59ac0ad"]]);
636
+ const ol = /* @__PURE__ */ $(ll, [["__scopeId", "data-v-a59ac0ad"]]);
604
637
  var we;
605
638
  const X = typeof window < "u", Qe = (e) => typeof e == "string", A = () => {
606
639
  }, ie = X && ((we = window == null ? void 0 : window.navigator) == null ? void 0 : we.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
607
- function z(e) {
608
- return typeof e == "function" ? e() : V(e);
640
+ function T(e) {
641
+ return typeof e == "function" ? e() : x(e);
609
642
  }
610
643
  function Ye(e, l) {
611
644
  function t(...o) {
@@ -615,13 +648,13 @@ function Ye(e, l) {
615
648
  }
616
649
  return t;
617
650
  }
618
- function tl(e, l = {}) {
651
+ function al(e, l = {}) {
619
652
  let t, o, n = A;
620
653
  const r = (a) => {
621
654
  clearTimeout(a), n(), n = A;
622
655
  };
623
656
  return (a) => {
624
- const d = z(e), m = z(l.maxWait);
657
+ const d = T(e), m = T(l.maxWait);
625
658
  return t && r(t), d <= 0 || m !== void 0 && m <= 0 ? (o && (r(o), o = null), Promise.resolve(a())) : new Promise((u, v) => {
626
659
  n = l.rejectOnCancel ? v : u, m && !o && (o = setTimeout(() => {
627
660
  t && r(t), o = null, u(a());
@@ -631,46 +664,46 @@ function tl(e, l = {}) {
631
664
  });
632
665
  };
633
666
  }
634
- function ll(e, l = !0, t = !0, o = !1) {
667
+ function nl(e, l = !0, t = !0, o = !1) {
635
668
  let n = 0, r, s = !0, a = A, d;
636
669
  const m = () => {
637
670
  r && (clearTimeout(r), r = void 0, a(), a = A);
638
671
  };
639
672
  return (v) => {
640
- const i = z(e), c = Date.now() - n, f = () => d = v();
641
- return m(), i <= 0 ? (n = Date.now(), f()) : (c > i && (t || !s) ? (n = Date.now(), f()) : l && (d = new Promise((S, k) => {
642
- a = o ? k : S, r = setTimeout(() => {
673
+ const i = T(e), c = Date.now() - n, f = () => d = v();
674
+ return m(), i <= 0 ? (n = Date.now(), f()) : (c > i && (t || !s) ? (n = Date.now(), f()) : l && (d = new Promise((S, j) => {
675
+ a = o ? j : S, r = setTimeout(() => {
643
676
  n = Date.now(), s = !0, S(f()), m();
644
677
  }, Math.max(0, i - c));
645
678
  })), !t && !r && (r = setTimeout(() => s = !0, i)), s = !1, d);
646
679
  };
647
680
  }
648
- const M = {
681
+ const N = {
649
682
  mounted: "mounted",
650
683
  updated: "updated",
651
684
  unmounted: "unmounted"
652
685
  };
653
- function ol(e) {
686
+ function il(e) {
654
687
  return e;
655
688
  }
656
689
  function ee(e) {
657
690
  return st() ? (ut(e), !0) : !1;
658
691
  }
659
- function al(e, l = 200, t = {}) {
660
- return Ye(tl(l, t), e);
692
+ function rl(e, l = 200, t = {}) {
693
+ return Ye(al(l, t), e);
661
694
  }
662
- function nl(e, l = 200, t = !1, o = !0, n = !1) {
663
- return Ye(ll(l, t, o, n), e);
695
+ function sl(e, l = 200, t = !1, o = !0, n = !1) {
696
+ return Ye(nl(l, t, o, n), e);
664
697
  }
665
- function il(e) {
666
- return typeof e == "function" ? O(e) : b(e);
698
+ function ul(e) {
699
+ return typeof e == "function" ? I(e) : _(e);
667
700
  }
668
701
  function Ze(e, l = !0) {
669
702
  dt() ? Y(e) : l ? e() : We(e);
670
703
  }
671
- function K(e) {
704
+ function Q(e) {
672
705
  var l;
673
- const t = z(e);
706
+ const t = T(e);
674
707
  return (l = t == null ? void 0 : t.$el) != null ? l : t;
675
708
  }
676
709
  const be = X ? window : void 0;
@@ -684,7 +717,7 @@ function ue(...e) {
684
717
  Array.isArray(t) || (t = [t]), Array.isArray(o) || (o = [o]);
685
718
  const r = [], s = () => {
686
719
  r.forEach((u) => u()), r.length = 0;
687
- }, a = (u, v, i, c) => (u.addEventListener(v, i, c), () => u.removeEventListener(v, i, c)), d = E(() => [K(l), z(n)], ([u, v]) => {
720
+ }, a = (u, v, i, c) => (u.addEventListener(v, i, c), () => u.removeEventListener(v, i, c)), d = E(() => [Q(l), T(n)], ([u, v]) => {
688
721
  s(), u && r.push(...t.flatMap((i) => o.map((c) => a(u, i, c, v))));
689
722
  }, { immediate: !0, flush: "post" }), m = () => {
690
723
  d(), s();
@@ -692,7 +725,7 @@ function ue(...e) {
692
725
  return ee(m), m;
693
726
  }
694
727
  let Se = !1;
695
- function rl(e, l, t = {}) {
728
+ function dl(e, l, t = {}) {
696
729
  const { window: o = be, ignore: n = [], capture: r = !0, detectIframe: s = !1 } = t;
697
730
  if (!o)
698
731
  return;
@@ -702,12 +735,12 @@ function rl(e, l, t = {}) {
702
735
  if (typeof c == "string")
703
736
  return Array.from(o.document.querySelectorAll(c)).some((f) => f === i.target || i.composedPath().includes(f));
704
737
  {
705
- const f = K(c);
738
+ const f = Q(c);
706
739
  return f && (i.target === f || i.composedPath().includes(f));
707
740
  }
708
741
  }), u = [
709
742
  ue(o, "click", (i) => {
710
- const c = K(e);
743
+ const c = Q(e);
711
744
  if (!(!c || c === i.target || i.composedPath().includes(c))) {
712
745
  if (i.detail === 0 && (a = !d(i)), !a) {
713
746
  a = !0;
@@ -717,39 +750,39 @@ function rl(e, l, t = {}) {
717
750
  }
718
751
  }, { passive: !0, capture: r }),
719
752
  ue(o, "pointerdown", (i) => {
720
- const c = K(e);
753
+ const c = Q(e);
721
754
  c && (a = !i.composedPath().includes(c) && !d(i));
722
755
  }, { passive: !0 }),
723
756
  s && ue(o, "blur", (i) => {
724
757
  var c;
725
- const f = K(e);
758
+ const f = Q(e);
726
759
  ((c = o.document.activeElement) == null ? void 0 : c.tagName) === "IFRAME" && !(f != null && f.contains(o.document.activeElement)) && l(i);
727
760
  })
728
761
  ].filter(Boolean);
729
762
  return () => u.forEach((i) => i());
730
763
  }
731
- function sl(e, l = !1) {
732
- const t = b(), o = () => t.value = Boolean(e());
764
+ function cl(e, l = !1) {
765
+ const t = _(), o = () => t.value = Boolean(e());
733
766
  return o(), Ze(o, l), t;
734
767
  }
735
768
  const de = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ce = "__vueuse_ssr_handlers__";
736
769
  de[ce] = de[ce] || {};
737
770
  de[ce];
738
- var ke = Object.getOwnPropertySymbols, ul = Object.prototype.hasOwnProperty, dl = Object.prototype.propertyIsEnumerable, cl = (e, l) => {
771
+ var je = Object.getOwnPropertySymbols, fl = Object.prototype.hasOwnProperty, yl = Object.prototype.propertyIsEnumerable, vl = (e, l) => {
739
772
  var t = {};
740
773
  for (var o in e)
741
- ul.call(e, o) && l.indexOf(o) < 0 && (t[o] = e[o]);
742
- if (e != null && ke)
743
- for (var o of ke(e))
744
- l.indexOf(o) < 0 && dl.call(e, o) && (t[o] = e[o]);
774
+ fl.call(e, o) && l.indexOf(o) < 0 && (t[o] = e[o]);
775
+ if (e != null && je)
776
+ for (var o of je(e))
777
+ l.indexOf(o) < 0 && yl.call(e, o) && (t[o] = e[o]);
745
778
  return t;
746
779
  };
747
- function fl(e, l, t = {}) {
748
- const o = t, { window: n = be } = o, r = cl(o, ["window"]);
780
+ function ml(e, l, t = {}) {
781
+ const o = t, { window: n = be } = o, r = vl(o, ["window"]);
749
782
  let s;
750
- const a = sl(() => n && "ResizeObserver" in n), d = () => {
783
+ const a = cl(() => n && "ResizeObserver" in n), d = () => {
751
784
  s && (s.disconnect(), s = void 0);
752
- }, m = E(() => K(e), (v) => {
785
+ }, m = E(() => Q(e), (v) => {
753
786
  d(), a.value && n && v && (s = new ResizeObserver(l), s.observe(v, r));
754
787
  }, { immediate: !0, flush: "post" }), u = () => {
755
788
  d(), m();
@@ -759,31 +792,31 @@ function fl(e, l, t = {}) {
759
792
  stop: u
760
793
  };
761
794
  }
762
- var je;
795
+ var ke;
763
796
  (function(e) {
764
797
  e.UP = "UP", e.RIGHT = "RIGHT", e.DOWN = "DOWN", e.LEFT = "LEFT", e.NONE = "NONE";
765
- })(je || (je = {}));
766
- function yl(e) {
767
- const l = b(e == null ? void 0 : e.element), t = b(e == null ? void 0 : e.input);
798
+ })(ke || (ke = {}));
799
+ function pl(e) {
800
+ const l = _(e == null ? void 0 : e.element), t = _(e == null ? void 0 : e.input);
768
801
  function o() {
769
802
  var n, r;
770
803
  l.value && (l.value.style.height = "1px", l.value.style.height = `${(n = l.value) == null ? void 0 : n.scrollHeight}px`, (r = e == null ? void 0 : e.onResize) == null || r.call(e));
771
804
  }
772
- return E([t, l], o, { immediate: !0 }), fl(l, () => o()), e != null && e.watch && E(e.watch, o, { immediate: !0, deep: !0 }), {
805
+ return E([t, l], o, { immediate: !0 }), ml(l, () => o()), e != null && e.watch && E(e.watch, o, { immediate: !0, deep: !0 }), {
773
806
  textarea: l,
774
807
  input: t,
775
808
  triggerResize: o
776
809
  };
777
810
  }
778
- var vl = Object.defineProperty, $e = Object.getOwnPropertySymbols, ml = Object.prototype.hasOwnProperty, pl = Object.prototype.propertyIsEnumerable, Ve = (e, l, t) => l in e ? vl(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, gl = (e, l) => {
811
+ var gl = Object.defineProperty, $e = Object.getOwnPropertySymbols, hl = Object.prototype.hasOwnProperty, bl = Object.prototype.propertyIsEnumerable, Ve = (e, l, t) => l in e ? gl(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, _l = (e, l) => {
779
812
  for (var t in l || (l = {}))
780
- ml.call(l, t) && Ve(e, t, l[t]);
813
+ hl.call(l, t) && Ve(e, t, l[t]);
781
814
  if ($e)
782
815
  for (var t of $e(l))
783
- pl.call(l, t) && Ve(e, t, l[t]);
816
+ bl.call(l, t) && Ve(e, t, l[t]);
784
817
  return e;
785
818
  };
786
- const hl = {
819
+ const wl = {
787
820
  easeInSine: [0.12, 0, 0.39, 0],
788
821
  easeOutSine: [0.61, 1, 0.88, 1],
789
822
  easeInOutSine: [0.37, 0, 0.63, 1],
@@ -809,16 +842,16 @@ const hl = {
809
842
  easeOutBack: [0.34, 1.56, 0.64, 1],
810
843
  easeInOutBack: [0.68, -0.6, 0.32, 1.6]
811
844
  };
812
- gl({
813
- linear: ol
814
- }, hl);
815
- const bl = /* @__PURE__ */ j({
845
+ _l({
846
+ linear: il
847
+ }, wl);
848
+ const Sl = /* @__PURE__ */ k({
816
849
  name: "OnClickOutside",
817
850
  props: ["as", "options"],
818
851
  emits: ["trigger"],
819
852
  setup(e, { slots: l, emit: t }) {
820
- const o = b();
821
- return rl(o, (n) => {
853
+ const o = _();
854
+ return dl(o, (n) => {
822
855
  t("trigger", n);
823
856
  }, e.options), () => {
824
857
  if (l.default)
@@ -828,18 +861,18 @@ const bl = /* @__PURE__ */ j({
828
861
  });
829
862
  function P(e) {
830
863
  var l;
831
- const t = z(e);
864
+ const t = T(e);
832
865
  return (l = t == null ? void 0 : t.$el) != null ? l : t;
833
866
  }
834
- const W = X ? window : void 0;
867
+ const U = X ? window : void 0;
835
868
  function F(...e) {
836
869
  let l, t, o, n;
837
- if (Qe(e[0]) || Array.isArray(e[0]) ? ([t, o, n] = e, l = W) : [l, t, o, n] = e, !l)
870
+ if (Qe(e[0]) || Array.isArray(e[0]) ? ([t, o, n] = e, l = U) : [l, t, o, n] = e, !l)
838
871
  return A;
839
872
  Array.isArray(t) || (t = [t]), Array.isArray(o) || (o = [o]);
840
873
  const r = [], s = () => {
841
874
  r.forEach((u) => u()), r.length = 0;
842
- }, a = (u, v, i, c) => (u.addEventListener(v, i, c), () => u.removeEventListener(v, i, c)), d = E(() => [P(l), z(n)], ([u, v]) => {
875
+ }, a = (u, v, i, c) => (u.addEventListener(v, i, c), () => u.removeEventListener(v, i, c)), d = E(() => [P(l), T(n)], ([u, v]) => {
843
876
  s(), u && r.push(...t.flatMap((i) => o.map((c) => a(u, i, c, v))));
844
877
  }, { immediate: !0, flush: "post" }), m = () => {
845
878
  d(), s();
@@ -848,7 +881,7 @@ function F(...e) {
848
881
  }
849
882
  let xe = !1;
850
883
  function Ie(e, l, t = {}) {
851
- const { window: o = W, ignore: n = [], capture: r = !0, detectIframe: s = !1 } = t;
884
+ const { window: o = U, ignore: n = [], capture: r = !0, detectIframe: s = !1 } = t;
852
885
  if (!o)
853
886
  return;
854
887
  ie && !xe && (xe = !0, Array.from(o.document.body.children).forEach((i) => i.addEventListener("click", A)));
@@ -883,36 +916,36 @@ function Ie(e, l, t = {}) {
883
916
  ].filter(Boolean);
884
917
  return () => u.forEach((i) => i());
885
918
  }
886
- M.mounted + "", M.unmounted + "";
887
- const _l = (e) => typeof e == "function" ? e : typeof e == "string" ? (l) => l.key === e : Array.isArray(e) ? (l) => e.includes(l.key) : () => !0;
919
+ N.mounted + "", N.unmounted + "";
920
+ const jl = (e) => typeof e == "function" ? e : typeof e == "string" ? (l) => l.key === e : Array.isArray(e) ? (l) => e.includes(l.key) : () => !0;
888
921
  function Oe(...e) {
889
922
  let l, t, o = {};
890
923
  e.length === 3 ? (l = e[0], t = e[1], o = e[2]) : e.length === 2 ? typeof e[1] == "object" ? (l = !0, t = e[0], o = e[1]) : (l = e[0], t = e[1]) : (l = !0, t = e[0]);
891
- const { target: n = W, eventName: r = "keydown", passive: s = !1 } = o, a = _l(l);
924
+ const { target: n = U, eventName: r = "keydown", passive: s = !1 } = o, a = jl(l);
892
925
  return F(n, r, (m) => {
893
926
  a(m) && t(m);
894
927
  }, s);
895
928
  }
896
- var wl = Object.defineProperty, Ce = Object.getOwnPropertySymbols, Sl = Object.prototype.hasOwnProperty, kl = Object.prototype.propertyIsEnumerable, Be = (e, l, t) => l in e ? wl(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, jl = (e, l) => {
929
+ var kl = Object.defineProperty, Ce = Object.getOwnPropertySymbols, $l = Object.prototype.hasOwnProperty, Vl = Object.prototype.propertyIsEnumerable, Be = (e, l, t) => l in e ? kl(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, xl = (e, l) => {
897
930
  for (var t in l || (l = {}))
898
- Sl.call(l, t) && Be(e, t, l[t]);
931
+ $l.call(l, t) && Be(e, t, l[t]);
899
932
  if (Ce)
900
933
  for (var t of Ce(l))
901
- kl.call(l, t) && Be(e, t, l[t]);
934
+ Vl.call(l, t) && Be(e, t, l[t]);
902
935
  return e;
903
936
  };
904
- M.mounted + "";
905
- const $l = 500;
937
+ N.mounted + "";
938
+ const Il = 500;
906
939
  function Le(e, l, t) {
907
940
  var o, n;
908
- const r = O(() => P(e));
941
+ const r = I(() => P(e));
909
942
  let s;
910
943
  function a() {
911
944
  s && (clearTimeout(s), s = void 0);
912
945
  }
913
946
  function d(u) {
914
947
  var v, i, c, f;
915
- (v = t == null ? void 0 : t.modifiers) != null && v.self && u.target !== r.value || (a(), (i = t == null ? void 0 : t.modifiers) != null && i.prevent && u.preventDefault(), (c = t == null ? void 0 : t.modifiers) != null && c.stop && u.stopPropagation(), s = setTimeout(() => l(u), (f = t == null ? void 0 : t.delay) != null ? f : $l));
948
+ (v = t == null ? void 0 : t.modifiers) != null && v.self && u.target !== r.value || (a(), (i = t == null ? void 0 : t.modifiers) != null && i.prevent && u.preventDefault(), (c = t == null ? void 0 : t.modifiers) != null && c.stop && u.stopPropagation(), s = setTimeout(() => l(u), (f = t == null ? void 0 : t.delay) != null ? f : Il));
916
949
  }
917
950
  const m = {
918
951
  capture: (o = t == null ? void 0 : t.modifiers) == null ? void 0 : o.capture,
@@ -920,16 +953,16 @@ function Le(e, l, t) {
920
953
  };
921
954
  F(r, "pointerdown", d, m), F(r, "pointerup", a, m), F(r, "pointerleave", a, m);
922
955
  }
923
- M.mounted + "";
956
+ N.mounted + "";
924
957
  const fe = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ye = "__vueuse_ssr_handlers__";
925
958
  fe[ye] = fe[ye] || {};
926
959
  fe[ye];
927
960
  function Xe(e, l = !1) {
928
- const t = b(), o = () => t.value = Boolean(e());
961
+ const t = _(), o = () => t.value = Boolean(e());
929
962
  return o(), Ze(o, l), t;
930
963
  }
931
- function Vl(e, l = {}) {
932
- const t = l ? l.delayEnter : 0, o = l ? l.delayLeave : 0, n = b(!1);
964
+ function Ol(e, l = {}) {
965
+ const t = l ? l.delayEnter : 0, o = l ? l.delayLeave : 0, n = _(!1);
933
966
  let r;
934
967
  const s = (a) => {
935
968
  const d = a ? t : o;
@@ -937,18 +970,18 @@ function Vl(e, l = {}) {
937
970
  };
938
971
  return window && (F(e, "mouseenter", () => s(!0), { passive: !0 }), F(e, "mouseleave", () => s(!1), { passive: !0 })), n;
939
972
  }
940
- M.mounted + "";
941
- var Ee = Object.getOwnPropertySymbols, xl = Object.prototype.hasOwnProperty, Il = Object.prototype.propertyIsEnumerable, Ol = (e, l) => {
973
+ N.mounted + "";
974
+ var Ee = Object.getOwnPropertySymbols, Cl = Object.prototype.hasOwnProperty, Bl = Object.prototype.propertyIsEnumerable, Ll = (e, l) => {
942
975
  var t = {};
943
976
  for (var o in e)
944
- xl.call(e, o) && l.indexOf(o) < 0 && (t[o] = e[o]);
977
+ Cl.call(e, o) && l.indexOf(o) < 0 && (t[o] = e[o]);
945
978
  if (e != null && Ee)
946
979
  for (var o of Ee(e))
947
- l.indexOf(o) < 0 && Il.call(e, o) && (t[o] = e[o]);
980
+ l.indexOf(o) < 0 && Bl.call(e, o) && (t[o] = e[o]);
948
981
  return t;
949
982
  };
950
- function Cl(e, l, t = {}) {
951
- const o = t, { window: n = W } = o, r = Ol(o, ["window"]);
983
+ function El(e, l, t = {}) {
984
+ const o = t, { window: n = U } = o, r = Ll(o, ["window"]);
952
985
  let s;
953
986
  const a = Xe(() => n && "ResizeObserver" in n), d = () => {
954
987
  s && (s.disconnect(), s = void 0);
@@ -962,12 +995,12 @@ function Cl(e, l, t = {}) {
962
995
  stop: u
963
996
  };
964
997
  }
965
- function Bl(e, l = { width: 0, height: 0 }, t = {}) {
966
- const { window: o = W, box: n = "content-box" } = t, r = O(() => {
998
+ function Jl(e, l = { width: 0, height: 0 }, t = {}) {
999
+ const { window: o = U, box: n = "content-box" } = t, r = I(() => {
967
1000
  var d, m;
968
1001
  return (m = (d = P(e)) == null ? void 0 : d.namespaceURI) == null ? void 0 : m.includes("svg");
969
- }), s = b(l.width), a = b(l.height);
970
- return Cl(e, ([d]) => {
1002
+ }), s = _(l.width), a = _(l.height);
1003
+ return El(e, ([d]) => {
971
1004
  const m = n === "border-box" ? d.borderBoxSize : n === "content-box" ? d.contentBoxSize : d.devicePixelContentBoxSize;
972
1005
  if (o && r.value) {
973
1006
  const u = P(e);
@@ -987,9 +1020,9 @@ function Bl(e, l = { width: 0, height: 0 }, t = {}) {
987
1020
  height: a
988
1021
  };
989
1022
  }
990
- M.mounted + "";
991
- function Je(e, { window: l = W, scrollTarget: t } = {}) {
992
- const o = b(!1), n = () => {
1023
+ N.mounted + "";
1024
+ function Je(e, { window: l = U, scrollTarget: t } = {}) {
1025
+ const o = _(!1), n = () => {
993
1026
  if (!l)
994
1027
  return;
995
1028
  const r = l.document, s = P(e);
@@ -1005,8 +1038,8 @@ function Je(e, { window: l = W, scrollTarget: t } = {}) {
1005
1038
  passive: !0
1006
1039
  }), o;
1007
1040
  }
1008
- M.mounted + "";
1009
- const Te = 1;
1041
+ N.mounted + "";
1042
+ const ze = 1;
1010
1043
  function ve(e, l = {}) {
1011
1044
  const {
1012
1045
  throttle: t = 0,
@@ -1024,14 +1057,14 @@ function ve(e, l = {}) {
1024
1057
  passive: !0
1025
1058
  },
1026
1059
  behavior: d = "auto"
1027
- } = l, m = b(0), u = b(0), v = O({
1060
+ } = l, m = _(0), u = _(0), v = I({
1028
1061
  get() {
1029
1062
  return m.value;
1030
1063
  },
1031
1064
  set(J) {
1032
1065
  c(J, void 0);
1033
1066
  }
1034
- }), i = O({
1067
+ }), i = I({
1035
1068
  get() {
1036
1069
  return u.value;
1037
1070
  },
@@ -1039,52 +1072,52 @@ function ve(e, l = {}) {
1039
1072
  c(void 0, J);
1040
1073
  }
1041
1074
  });
1042
- function c(J, N) {
1043
- var $, T, D;
1044
- const G = z(e);
1045
- G && ((D = G instanceof Document ? document.body : G) == null || D.scrollTo({
1046
- top: ($ = z(N)) != null ? $ : i.value,
1047
- left: (T = z(J)) != null ? T : v.value,
1048
- behavior: z(d)
1075
+ function c(J, M) {
1076
+ var V, z, D;
1077
+ const K = T(e);
1078
+ K && ((D = K instanceof Document ? document.body : K) == null || D.scrollTo({
1079
+ top: (V = T(M)) != null ? V : i.value,
1080
+ left: (z = T(J)) != null ? z : v.value,
1081
+ behavior: T(d)
1049
1082
  }));
1050
1083
  }
1051
- const f = b(!1), S = ne({
1084
+ const f = _(!1), S = ne({
1052
1085
  left: !0,
1053
1086
  right: !1,
1054
1087
  top: !0,
1055
1088
  bottom: !1
1056
- }), k = ne({
1089
+ }), j = ne({
1057
1090
  left: !1,
1058
1091
  right: !1,
1059
1092
  top: !1,
1060
1093
  bottom: !1
1061
1094
  }), le = (J) => {
1062
- f.value && (f.value = !1, k.left = !1, k.right = !1, k.top = !1, k.bottom = !1, n(J));
1063
- }, oe = al(le, t + o), ae = (J) => {
1064
- const N = J.target === document ? J.target.documentElement : J.target, $ = N.scrollLeft;
1065
- k.left = $ < m.value, k.right = $ > u.value, S.left = $ <= 0 + (s.left || 0), S.right = $ + N.clientWidth >= N.scrollWidth - (s.right || 0) - Te, m.value = $;
1066
- let T = N.scrollTop;
1067
- J.target === document && !T && (T = document.body.scrollTop), k.top = T < u.value, k.bottom = T > u.value, S.top = T <= 0 + (s.top || 0), S.bottom = T + N.clientHeight >= N.scrollHeight - (s.bottom || 0) - Te, u.value = T, f.value = !0, oe(J), r(J);
1095
+ f.value && (f.value = !1, j.left = !1, j.right = !1, j.top = !1, j.bottom = !1, n(J));
1096
+ }, oe = rl(le, t + o), ae = (J) => {
1097
+ const M = J.target === document ? J.target.documentElement : J.target, V = M.scrollLeft;
1098
+ j.left = V < m.value, j.right = V > u.value, S.left = V <= 0 + (s.left || 0), S.right = V + M.clientWidth >= M.scrollWidth - (s.right || 0) - ze, m.value = V;
1099
+ let z = M.scrollTop;
1100
+ J.target === document && !z && (z = document.body.scrollTop), j.top = z < u.value, j.bottom = z > u.value, S.top = z <= 0 + (s.top || 0), S.bottom = z + M.clientHeight >= M.scrollHeight - (s.bottom || 0) - ze, u.value = z, f.value = !0, oe(J), r(J);
1068
1101
  };
1069
- return F(e, "scroll", t ? nl(ae, t, !0, !1) : ae, a), F(e, "scrollend", le, a), {
1102
+ return F(e, "scroll", t ? sl(ae, t, !0, !1) : ae, a), F(e, "scrollend", le, a), {
1070
1103
  x: v,
1071
1104
  y: i,
1072
1105
  isScrolling: f,
1073
1106
  arrivedState: S,
1074
- directions: k
1107
+ directions: j
1075
1108
  };
1076
1109
  }
1077
- var Ll = Object.defineProperty, El = Object.defineProperties, Jl = Object.getOwnPropertyDescriptors, ze = Object.getOwnPropertySymbols, Tl = Object.prototype.hasOwnProperty, zl = Object.prototype.propertyIsEnumerable, Pe = (e, l, t) => l in e ? Ll(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, qe = (e, l) => {
1110
+ var zl = Object.defineProperty, Tl = Object.defineProperties, Pl = Object.getOwnPropertyDescriptors, Te = Object.getOwnPropertySymbols, ql = Object.prototype.hasOwnProperty, Al = Object.prototype.propertyIsEnumerable, Pe = (e, l, t) => l in e ? zl(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, qe = (e, l) => {
1078
1111
  for (var t in l || (l = {}))
1079
- Tl.call(l, t) && Pe(e, t, l[t]);
1080
- if (ze)
1081
- for (var t of ze(l))
1082
- zl.call(l, t) && Pe(e, t, l[t]);
1112
+ ql.call(l, t) && Pe(e, t, l[t]);
1113
+ if (Te)
1114
+ for (var t of Te(l))
1115
+ Al.call(l, t) && Pe(e, t, l[t]);
1083
1116
  return e;
1084
- }, Pl = (e, l) => El(e, Jl(l));
1117
+ }, Fl = (e, l) => Tl(e, Pl(l));
1085
1118
  function Ae(e, l, t = {}) {
1086
1119
  var o, n;
1087
- const r = (o = t.direction) != null ? o : "bottom", s = ne(ve(e, Pl(qe({}, t), {
1120
+ const r = (o = t.direction) != null ? o : "bottom", s = ne(ve(e, Fl(qe({}, t), {
1088
1121
  offset: qe({
1089
1122
  [r]: (n = t.distance) != null ? n : 0
1090
1123
  }, t.offset)
@@ -1092,7 +1125,7 @@ function Ae(e, l, t = {}) {
1092
1125
  E(() => s.arrivedState[r], async (a) => {
1093
1126
  var d, m;
1094
1127
  if (a) {
1095
- const u = z(e), v = {
1128
+ const u = T(e), v = {
1096
1129
  height: (d = u == null ? void 0 : u.scrollHeight) != null ? d : 0,
1097
1130
  width: (m = u == null ? void 0 : u.scrollWidth) != null ? m : 0
1098
1131
  };
@@ -1105,13 +1138,13 @@ function Ae(e, l, t = {}) {
1105
1138
  }
1106
1139
  });
1107
1140
  }
1108
- M.mounted + "";
1141
+ N.mounted + "";
1109
1142
  function Fe(e, l, t = {}) {
1110
1143
  const {
1111
1144
  root: o,
1112
1145
  rootMargin: n = "0px",
1113
1146
  threshold: r = 0.1,
1114
- window: s = W
1147
+ window: s = U
1115
1148
  } = t, a = Xe(() => s && "IntersectionObserver" in s);
1116
1149
  let d = A;
1117
1150
  const m = a.value ? E(() => ({
@@ -1136,16 +1169,16 @@ function Fe(e, l, t = {}) {
1136
1169
  stop: u
1137
1170
  };
1138
1171
  }
1139
- M.mounted + "";
1140
- var ql = Object.defineProperty, Al = Object.defineProperties, Fl = Object.getOwnPropertyDescriptors, Ne = Object.getOwnPropertySymbols, Nl = Object.prototype.hasOwnProperty, Ml = Object.prototype.propertyIsEnumerable, Me = (e, l, t) => l in e ? ql(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, Rl = (e, l) => {
1172
+ N.mounted + "";
1173
+ var Ml = Object.defineProperty, Nl = Object.defineProperties, Rl = Object.getOwnPropertyDescriptors, Me = Object.getOwnPropertySymbols, Dl = Object.prototype.hasOwnProperty, Hl = Object.prototype.propertyIsEnumerable, Ne = (e, l, t) => l in e ? Ml(e, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[l] = t, Wl = (e, l) => {
1141
1174
  for (var t in l || (l = {}))
1142
- Nl.call(l, t) && Me(e, t, l[t]);
1143
- if (Ne)
1144
- for (var t of Ne(l))
1145
- Ml.call(l, t) && Me(e, t, l[t]);
1175
+ Dl.call(l, t) && Ne(e, t, l[t]);
1176
+ if (Me)
1177
+ for (var t of Me(l))
1178
+ Hl.call(l, t) && Ne(e, t, l[t]);
1146
1179
  return e;
1147
- }, Dl = (e, l) => Al(e, Fl(l));
1148
- M.mounted + "";
1180
+ }, Ul = (e, l) => Nl(e, Rl(l));
1181
+ N.mounted + "";
1149
1182
  function et(e) {
1150
1183
  const l = window.getComputedStyle(e);
1151
1184
  if (l.overflowX === "scroll" || l.overflowY === "scroll" || l.overflowX === "auto" && e.clientHeight < e.scrollHeight || l.overflowY === "auto" && e.clientWidth < e.scrollWidth)
@@ -1155,14 +1188,14 @@ function et(e) {
1155
1188
  return !t || t.tagName === "BODY" ? !1 : et(t);
1156
1189
  }
1157
1190
  }
1158
- function Hl(e) {
1191
+ function Gl(e) {
1159
1192
  const l = e || window.event, t = l.target;
1160
1193
  return et(t) ? !1 : l.touches.length > 1 ? !0 : (l.preventDefault && l.preventDefault(), !1);
1161
1194
  }
1162
- function Wl(e, l = !1) {
1163
- const t = b(l);
1195
+ function Kl(e, l = !1) {
1196
+ const t = _(l);
1164
1197
  let o = null, n;
1165
- E(il(e), (a) => {
1198
+ E(ul(e), (a) => {
1166
1199
  if (a) {
1167
1200
  const d = a;
1168
1201
  n = d.style.overflow, t.value && (d.style.overflow = "hidden");
@@ -1171,15 +1204,15 @@ function Wl(e, l = !1) {
1171
1204
  immediate: !0
1172
1205
  });
1173
1206
  const r = () => {
1174
- const a = z(e);
1207
+ const a = T(e);
1175
1208
  !a || t.value || (ie && (o = F(a, "touchmove", (d) => {
1176
- Hl(d);
1209
+ Gl(d);
1177
1210
  }, { passive: !1 })), a.style.overflow = "hidden", t.value = !0);
1178
1211
  }, s = () => {
1179
- const a = z(e);
1212
+ const a = T(e);
1180
1213
  !a || !t.value || (ie && (o == null || o()), a.style.overflow = n, t.value = !1);
1181
1214
  };
1182
- return ee(s), O({
1215
+ return ee(s), I({
1183
1216
  get() {
1184
1217
  return t.value;
1185
1218
  },
@@ -1188,25 +1221,25 @@ function Wl(e, l = !1) {
1188
1221
  }
1189
1222
  });
1190
1223
  }
1191
- const Ul = () => {
1224
+ const Ql = () => {
1192
1225
  let e = !1;
1193
- const l = b(!1);
1226
+ const l = _(!1);
1194
1227
  return (t, o) => {
1195
1228
  if (l.value = o.value, e)
1196
1229
  return;
1197
1230
  e = !0;
1198
- const n = Wl(t, o.value);
1231
+ const n = Kl(t, o.value);
1199
1232
  E(l, (r) => n.value = r);
1200
1233
  };
1201
1234
  };
1202
- Ul();
1203
- const tt = ["medium", "small", "xsmall"], Gl = {
1235
+ Ql();
1236
+ const tt = ["medium", "small", "xsmall"], Yl = {
1204
1237
  key: 0,
1205
1238
  class: "joy-dropdown-list__header"
1206
- }, Kl = ["id", "tabindex", "aria-disabled", "aria-selected", "title", "aria-label", ".dataModel", "onClick"], Ql = {
1239
+ }, Zl = ["id", "tabindex", "aria-disabled", "aria-selected", "title", "aria-label", ".dataModel", "onClick"], Xl = {
1207
1240
  key: 1,
1208
1241
  class: "joy-dropdown-list__footer"
1209
- }, Yl = /* @__PURE__ */ j({
1242
+ }, eo = /* @__PURE__ */ k({
1210
1243
  __name: "VJoyDropdownList",
1211
1244
  props: {
1212
1245
  /**
@@ -1243,7 +1276,7 @@ const tt = ["medium", "small", "xsmall"], Gl = {
1243
1276
  },
1244
1277
  emits: ["update:modelValue", "close:dropdownList"],
1245
1278
  setup(e, { expose: l, emit: t }) {
1246
- const o = e, n = b(), r = O(() => (i) => !o.modelValue || !i.value && !i.id ? !1 : o.modelValue === i.value || o.modelValue === i.id);
1279
+ const o = e, n = _(), r = I(() => (i) => !o.modelValue || !i.value && !i.id ? !1 : o.modelValue === i.value || o.modelValue === i.id);
1247
1280
  function s(i) {
1248
1281
  i.disabled || t("update:modelValue", i.value || i.id);
1249
1282
  }
@@ -1273,9 +1306,9 @@ const tt = ["medium", "small", "xsmall"], Gl = {
1273
1306
  }
1274
1307
  if (m() && i.key === " " && i.preventDefault(), ["ArrowDown", "ArrowUp", "Home", "End"].includes(i.key)) {
1275
1308
  const f = a(), S = m();
1276
- let k = f.indexOf(S);
1309
+ let j = f.indexOf(S);
1277
1310
  if (f.length) {
1278
- i.preventDefault(), i.key === "ArrowDown" ? k++ : i.key === "ArrowUp" ? k-- : i.key === "Home" ? k = 0 : i.key === "End" && (k = f.length - 1), k < 0 && (k = f.length - 1), k > f.length - 1 && (k = 0), v(f[k]);
1311
+ i.preventDefault(), i.key === "ArrowDown" ? j++ : i.key === "ArrowUp" ? j-- : i.key === "Home" ? j = 0 : i.key === "End" && (j = f.length - 1), j < 0 && (j = f.length - 1), j > f.length - 1 && (j = 0), v(f[j]);
1279
1312
  return;
1280
1313
  }
1281
1314
  }
@@ -1294,10 +1327,10 @@ const tt = ["medium", "small", "xsmall"], Gl = {
1294
1327
  class: "joy-dropdown-list",
1295
1328
  style: te({ width: `${e.width}px`, "max-width": `${e.width}px` })
1296
1329
  }, [
1297
- i.$slots["dropdown-list-header"] ? (y(), p("header", Gl, [
1330
+ i.$slots["dropdown-list-header"] ? (y(), p("header", Yl, [
1298
1331
  h(i.$slots, "dropdown-list-header", {}, void 0, !0)
1299
1332
  ])) : g("", !0),
1300
- _("div", {
1333
+ b("div", {
1301
1334
  class: w(["joy-dropdown-list__items", { "joy-dropdown-list__items-slotted": i.$slots["dropdown-list-items"] }]),
1302
1335
  style: te({ "max-height": `${e.height}px` })
1303
1336
  }, [
@@ -1309,7 +1342,7 @@ const tt = ["medium", "small", "xsmall"], Gl = {
1309
1342
  role: "listbox",
1310
1343
  "aria-expanded": "true"
1311
1344
  }, [
1312
- (y(!0), p(Q, null, se(e.options, (f) => (y(), p("li", {
1345
+ (y(!0), p(H, null, se(e.options, (f) => (y(), p("li", {
1313
1346
  id: f.id,
1314
1347
  key: f.label,
1315
1348
  style: te({ "max-width": `${e.width}px` }),
@@ -1331,19 +1364,19 @@ const tt = ["medium", "small", "xsmall"], Gl = {
1331
1364
  onClick: (S) => s(f)
1332
1365
  }, [
1333
1366
  h(i.$slots, "label", me(pe(f)), () => [
1334
- _("span", null, C(f.label), 1)
1367
+ b("span", null, C(f.label), 1)
1335
1368
  ], !0)
1336
- ], 14, Kl))), 128))
1369
+ ], 14, Zl))), 128))
1337
1370
  ], 512)) : g("", !0)
1338
1371
  ], 6),
1339
- i.$slots["dropdown-list-footer"] ? (y(), p("footer", Ql, [
1372
+ i.$slots["dropdown-list-footer"] ? (y(), p("footer", Xl, [
1340
1373
  h(i.$slots, "dropdown-list-footer", {}, void 0, !0)
1341
1374
  ])) : g("", !0)
1342
1375
  ], 4));
1343
1376
  }
1344
1377
  });
1345
- const lt = /* @__PURE__ */ x(Yl, [["__scopeId", "data-v-cd3f6251"]]);
1346
- function Zl(e) {
1378
+ const lt = /* @__PURE__ */ $(eo, [["__scopeId", "data-v-cd3f6251"]]);
1379
+ function to(e) {
1347
1380
  const l = () => e();
1348
1381
  Y(() => {
1349
1382
  window.addEventListener("resize", l);
@@ -1351,22 +1384,22 @@ function Zl(e) {
1351
1384
  window.removeEventListener("resize", l);
1352
1385
  });
1353
1386
  }
1354
- const Xl = ["JOY-DRAWER", "JOY-DIALOG", "JOY-BOTTOM-SHEET"];
1355
- function eo(e) {
1387
+ const lo = ["JOY-DRAWER", "JOY-DIALOG", "JOY-BOTTOM-SHEET"];
1388
+ function oo(e) {
1356
1389
  let l = e.value.parentElement, t = !1;
1357
1390
  for (; l != null && l.parentElement; )
1358
- Xl.includes(l == null ? void 0 : l.tagName) && (t = !0), l = l.parentElement;
1391
+ lo.includes(l == null ? void 0 : l.tagName) && (t = !0), l = l.parentElement;
1359
1392
  return t;
1360
1393
  }
1361
- function to(e) {
1362
- const l = b(!1);
1394
+ function ao(e) {
1395
+ const l = _(!1);
1363
1396
  return Y(() => {
1364
- l.value = eo(e);
1397
+ l.value = oo(e);
1365
1398
  }), {
1366
1399
  isInOverlay: l
1367
1400
  };
1368
1401
  }
1369
- function lo(e) {
1402
+ function no(e) {
1370
1403
  let l;
1371
1404
  switch (e) {
1372
1405
  case "error":
@@ -1380,7 +1413,7 @@ function lo(e) {
1380
1413
  }
1381
1414
  return l;
1382
1415
  }
1383
- function oo(e) {
1416
+ function io(e) {
1384
1417
  if (!e) {
1385
1418
  console.warn("Missing ref element for focusOnFirstFocusableFormField use");
1386
1419
  return;
@@ -1390,7 +1423,7 @@ function oo(e) {
1390
1423
  if (t.length)
1391
1424
  return t[0].focus();
1392
1425
  }
1393
- const ao = /* @__PURE__ */ j({
1426
+ const ro = /* @__PURE__ */ k({
1394
1427
  __name: "VJoyDropdown",
1395
1428
  props: {
1396
1429
  /** DOM valid selector to give to Vue3 Teleport "to" property */
@@ -1471,14 +1504,14 @@ const ao = /* @__PURE__ */ j({
1471
1504
  },
1472
1505
  emits: ["update:modelValue", "dropdown:open", "dropdown:hide"],
1473
1506
  setup(e, { expose: l, emit: t }) {
1474
- const o = e, n = b(!1), r = b(null), s = b(), a = b(null), { isInOverlay: d } = to(s), m = b(null), u = b(!1), v = {
1507
+ const o = e, n = _(!1), r = _(null), s = _(), a = _(null), { isInOverlay: d } = ao(s), m = _(null), u = _(!1), v = {
1475
1508
  ignore: [s, ".joy-dropdown__list"]
1476
1509
  };
1477
1510
  let i = null;
1478
1511
  E(
1479
1512
  () => n.value,
1480
- ($) => {
1481
- $ && oo(a);
1513
+ (V) => {
1514
+ V && io(a);
1482
1515
  },
1483
1516
  { flush: "post" }
1484
1517
  );
@@ -1488,7 +1521,7 @@ const ao = /* @__PURE__ */ j({
1488
1521
  right: "auto",
1489
1522
  zIndex: void 0,
1490
1523
  position: void 0
1491
- }), f = O(() => ({
1524
+ }), f = I(() => ({
1492
1525
  position: c.position,
1493
1526
  top: c.top,
1494
1527
  left: c.left,
@@ -1499,8 +1532,8 @@ const ao = /* @__PURE__ */ j({
1499
1532
  n.value = !1, u.value = !1, t("dropdown:hide");
1500
1533
  }, 300);
1501
1534
  }
1502
- function k($) {
1503
- u.value = !1, i && clearTimeout(i), J(), ae(), m.value = $.target, n.value = !0, t("dropdown:open");
1535
+ function j(V) {
1536
+ u.value = !1, i && clearTimeout(i), J(), ae(), m.value = V.target, n.value = !0, t("dropdown:open");
1504
1537
  }
1505
1538
  function le() {
1506
1539
  S(), oe();
@@ -1512,19 +1545,19 @@ const ao = /* @__PURE__ */ j({
1512
1545
  d.value && (c.zIndex = "9999", c.position = "fixed");
1513
1546
  }
1514
1547
  function J() {
1515
- const $ = s.value.getBoundingClientRect();
1516
- let T = 0;
1517
- d.value ? T = document.documentElement.offsetTop + $.top : T = document.documentElement.scrollTop + $.top;
1518
- const D = $.height, G = $.left, rt = $.width;
1519
- o.justify === "left" ? c.left = G + "px" : c.left = G + rt - parseInt(o.width) + "px", o.direction === "down" ? c.top = T + D + parseInt(o.dropdownGap) + "px" : c.top = T - (parseInt(o.height) + parseInt(o.dropdownGap)) + "px";
1548
+ const V = s.value.getBoundingClientRect();
1549
+ let z = 0;
1550
+ d.value ? z = document.documentElement.offsetTop + V.top : z = document.documentElement.scrollTop + V.top;
1551
+ const D = V.height, K = V.left, rt = V.width;
1552
+ o.justify === "left" ? c.left = K + "px" : c.left = K + rt - parseInt(o.width) + "px", o.direction === "down" ? c.top = z + D + parseInt(o.dropdownGap) + "px" : c.top = z - (parseInt(o.height) + parseInt(o.dropdownGap)) + "px";
1520
1553
  }
1521
- function N($) {
1522
- t("update:modelValue", $), o.closeOnSelect && (S(), oe());
1554
+ function M(V) {
1555
+ t("update:modelValue", V), o.closeOnSelect && (S(), oe());
1523
1556
  }
1524
- return Zl(S), l({
1557
+ return to(S), l({
1525
1558
  coords: c,
1526
1559
  showDropdownList: n
1527
- }), ($, T) => (y(), I(V(bl), {
1560
+ }), (V, z) => (y(), O(x(Sl), {
1528
1561
  ref_key: "dropdown",
1529
1562
  ref: r,
1530
1563
  options: v,
@@ -1532,15 +1565,15 @@ const ao = /* @__PURE__ */ j({
1532
1565
  onTrigger: S
1533
1566
  }, {
1534
1567
  default: B(() => [
1535
- _("div", {
1568
+ b("div", {
1536
1569
  ref_key: "button",
1537
1570
  ref: s,
1538
1571
  class: "joy-dropdown__button",
1539
- onClick: k
1572
+ onClick: j
1540
1573
  }, [
1541
- h($.$slots, "dropdown-button", {}, void 0, !0)
1574
+ h(V.$slots, "dropdown-button", {}, void 0, !0)
1542
1575
  ], 512),
1543
- (y(), I(ft, {
1576
+ (y(), O(ft, {
1544
1577
  to: e.appendTo,
1545
1578
  disabled: e.disableTeleport
1546
1579
  }, [
@@ -1564,34 +1597,34 @@ const ao = /* @__PURE__ */ j({
1564
1597
  size: e.size,
1565
1598
  width: e.width,
1566
1599
  height: e.height,
1567
- "onUpdate:modelValue": N,
1600
+ "onUpdate:modelValue": M,
1568
1601
  "onClose:dropdownList": le
1569
1602
  }, Ge({
1570
1603
  label: B((D) => [
1571
- h($.$slots, "dropdown-item", me(pe(D)), () => [
1572
- _("span", null, C(D.label), 1)
1604
+ h(V.$slots, "dropdown-item", me(pe(D)), () => [
1605
+ b("span", null, C(D.label), 1)
1573
1606
  ], !0)
1574
1607
  ]),
1575
1608
  _: 2
1576
1609
  }, [
1577
- $.$slots["dropdown-header"] ? {
1610
+ V.$slots["dropdown-header"] ? {
1578
1611
  name: "dropdown-list-header",
1579
1612
  fn: B(() => [
1580
- h($.$slots, "dropdown-header", {}, void 0, !0)
1613
+ h(V.$slots, "dropdown-header", {}, void 0, !0)
1581
1614
  ]),
1582
1615
  key: "0"
1583
1616
  } : void 0,
1584
- $.$slots["dropdown-items"] ? {
1617
+ V.$slots["dropdown-items"] ? {
1585
1618
  name: "dropdown-list-items",
1586
1619
  fn: B(() => [
1587
- h($.$slots, "dropdown-items", {}, void 0, !0)
1620
+ h(V.$slots, "dropdown-items", {}, void 0, !0)
1588
1621
  ]),
1589
1622
  key: "1"
1590
1623
  } : void 0,
1591
- $.$slots["dropdown-footer"] ? {
1624
+ V.$slots["dropdown-footer"] ? {
1592
1625
  name: "dropdown-list-footer",
1593
1626
  fn: B(() => [
1594
- h($.$slots, "dropdown-footer", {}, void 0, !0)
1627
+ h(V.$slots, "dropdown-footer", {}, void 0, !0)
1595
1628
  ]),
1596
1629
  key: "2"
1597
1630
  } : void 0
@@ -1603,7 +1636,7 @@ const ao = /* @__PURE__ */ j({
1603
1636
  }, 512));
1604
1637
  }
1605
1638
  });
1606
- const no = /* @__PURE__ */ x(ao, [["__scopeId", "data-v-194e09e1"]]), io = ["aria-hidden"], ro = /* @__PURE__ */ j({
1639
+ const so = /* @__PURE__ */ $(ro, [["__scopeId", "data-v-194e09e1"]]), uo = ["aria-hidden"], co = /* @__PURE__ */ k({
1607
1640
  __name: "VJoyFormError",
1608
1641
  props: {
1609
1642
  /** In some cases you'll need to inject the error in the DOM but hide it. Visible by default */
@@ -1624,15 +1657,15 @@ const no = /* @__PURE__ */ x(ao, [["__scopeId", "data-v-194e09e1"]]), io = ["ari
1624
1657
  class: "joy-icon-error",
1625
1658
  name: "warning-triangle"
1626
1659
  }),
1627
- _("div", null, [
1660
+ b("div", null, [
1628
1661
  h(l.$slots, "default", {}, () => [
1629
1662
  L(C(e.noHtmlErrorText), 1)
1630
1663
  ], !0)
1631
1664
  ])
1632
- ], 10, io));
1665
+ ], 10, uo));
1633
1666
  }
1634
1667
  });
1635
- const ot = /* @__PURE__ */ x(ro, [["__scopeId", "data-v-581fd33b"]]), so = [...Jt], uo = { class: "joy-highlight--text" }, co = { key: 0 }, fo = /* @__PURE__ */ j({
1668
+ const ot = /* @__PURE__ */ $(co, [["__scopeId", "data-v-581fd33b"]]), fo = [...Pt], yo = { class: "joy-highlight--text" }, vo = { key: 0 }, mo = /* @__PURE__ */ k({
1636
1669
  __name: "VJoyHighlight",
1637
1670
  props: {
1638
1671
  accent: {
@@ -1650,12 +1683,12 @@ const ot = /* @__PURE__ */ x(ro, [["__scopeId", "data-v-581fd33b"]]), so = [...J
1650
1683
  type: String,
1651
1684
  default: "neutral",
1652
1685
  validator(e) {
1653
- return so.includes(e);
1686
+ return fo.includes(e);
1654
1687
  }
1655
1688
  }
1656
1689
  },
1657
1690
  setup(e, { expose: l }) {
1658
- const t = e, o = O(() => t.icon ? t.icon : lo(t.level));
1691
+ const t = e, o = I(() => t.icon ? t.icon : no(t.level));
1659
1692
  return l({
1660
1693
  getRelevantIcon: o
1661
1694
  }), (n, r) => (y(), p("div", {
@@ -1668,12 +1701,12 @@ const ot = /* @__PURE__ */ x(ro, [["__scopeId", "data-v-581fd33b"]]), so = [...J
1668
1701
  }
1669
1702
  ])
1670
1703
  }, [
1671
- e.displayIcon ? (y(), I(q, {
1704
+ e.displayIcon ? (y(), O(q, {
1672
1705
  key: 0,
1673
1706
  name: o.value
1674
1707
  }, null, 8, ["name"])) : g("", !0),
1675
- _("div", uo, [
1676
- n.$slots["highlight-title"] ? (y(), p("strong", co, [
1708
+ b("div", yo, [
1709
+ n.$slots["highlight-title"] ? (y(), p("strong", vo, [
1677
1710
  h(n.$slots, "highlight-title", {}, void 0, !0)
1678
1711
  ])) : g("", !0),
1679
1712
  h(n.$slots, "default", {}, void 0, !0)
@@ -1681,20 +1714,20 @@ const ot = /* @__PURE__ */ x(ro, [["__scopeId", "data-v-581fd33b"]]), so = [...J
1681
1714
  ], 2));
1682
1715
  }
1683
1716
  });
1684
- const yo = /* @__PURE__ */ x(fo, [["__scopeId", "data-v-ba5e6101"]]), vo = ["small", "medium", "large"], mo = {
1717
+ const po = /* @__PURE__ */ $(mo, [["__scopeId", "data-v-ba5e6101"]]), go = ["small", "medium", "large"], ho = {
1685
1718
  key: 0,
1686
1719
  class: "joy-label-required"
1687
- }, po = {
1720
+ }, bo = {
1688
1721
  key: 1,
1689
1722
  class: "joy-label-optional"
1690
- }, go = /* @__PURE__ */ j({
1723
+ }, _o = /* @__PURE__ */ k({
1691
1724
  __name: "VJoyLabel",
1692
1725
  props: {
1693
1726
  size: {
1694
1727
  type: String,
1695
1728
  default: "medium",
1696
1729
  validator(e) {
1697
- return vo.includes(e);
1730
+ return go.includes(e);
1698
1731
  }
1699
1732
  },
1700
1733
  tagName: {
@@ -1711,21 +1744,21 @@ const yo = /* @__PURE__ */ x(fo, [["__scopeId", "data-v-ba5e6101"]]), vo = ["sma
1711
1744
  text: String
1712
1745
  },
1713
1746
  setup(e) {
1714
- return (l, t) => (y(), I(re(e.tagName), H({
1747
+ return (l, t) => (y(), O(re(e.tagName), W({
1715
1748
  class: ["joy-label", `joy-label--${e.size}`]
1716
1749
  }, l.$attrs), {
1717
1750
  default: B(() => [
1718
1751
  h(l.$slots, "default", {}, () => [
1719
1752
  L(C(e.text), 1)
1720
1753
  ], !0),
1721
- e.required ? (y(), p("span", mo, "*")) : g("", !0),
1722
- e.optionalLabel ? (y(), p("span", po, "- " + C(e.optionalLabel), 1)) : g("", !0)
1754
+ e.required ? (y(), p("span", ho, "*")) : g("", !0),
1755
+ e.optionalLabel ? (y(), p("span", bo, "- " + C(e.optionalLabel), 1)) : g("", !0)
1723
1756
  ]),
1724
1757
  _: 3
1725
1758
  }, 16, ["class"]));
1726
1759
  }
1727
1760
  });
1728
- const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["large", "medium", "small"], bo = ["id", "required", "disabled", "type", "value"], _o = ["data-unit"], wo = /* @__PURE__ */ j({
1761
+ const G = /* @__PURE__ */ $(_o, [["__scopeId", "data-v-1265214a"]]), wo = ["large", "medium", "small"], So = ["id", "required", "disabled", "type", "value"], jo = ["data-unit"], ko = /* @__PURE__ */ k({
1729
1762
  inheritAttrs: !1,
1730
1763
  __name: "VJoyInput",
1731
1764
  props: {
@@ -1765,6 +1798,11 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1765
1798
  modelValue: {
1766
1799
  type: [String, Number]
1767
1800
  },
1801
+ modelModifiers: {
1802
+ default: () => ({
1803
+ lazy: !1
1804
+ })
1805
+ },
1768
1806
  /** Display a cross icon on the right that enables to clear the field */
1769
1807
  clearable: {
1770
1808
  type: Boolean,
@@ -1778,7 +1816,7 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1778
1816
  type: String,
1779
1817
  default: "medium",
1780
1818
  validator(e) {
1781
- return ho.includes(e);
1819
+ return wo.includes(e);
1782
1820
  }
1783
1821
  },
1784
1822
  type: {
@@ -1790,10 +1828,10 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1790
1828
  },
1791
1829
  emits: ["update:modelValue"],
1792
1830
  setup(e, { emit: l }) {
1793
- const t = e, o = b(), n = b(), r = He(), s = Z(), a = b(!1), d = O(() => typeof t.modelValue == "number" || !t.clearable || t.unit || !t.modelValue ? !1 : t.modelValue.length > 0 && !t.unit), m = O(() => s.default && s.default()), u = O(() => {
1831
+ const t = e, o = _(), n = _(), r = He(), s = Z(), a = _(!1), d = I(() => typeof t.modelValue == "number" || !t.clearable || t.unit || !t.modelValue ? !1 : t.modelValue.length > 0 && !t.unit), m = I(() => s.default && s.default()), u = I(() => {
1794
1832
  var c, f;
1795
1833
  return !!((c = n.value) != null && c.closest("joy-wrapper")) || !!((f = n.value) != null && f.closest(".joy-wrapper"));
1796
- }), v = b(t.type);
1834
+ }), v = _(t.type);
1797
1835
  yt(() => {
1798
1836
  v.value = t.unit ? "number" : t.type;
1799
1837
  });
@@ -1806,7 +1844,11 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1806
1844
  },
1807
1845
  onInput: (c) => {
1808
1846
  let f = c.target.value;
1809
- l("update:modelValue", f);
1847
+ t.modelModifiers.lazy || l("update:modelValue", f);
1848
+ },
1849
+ onChange: (c) => {
1850
+ let f = c.target.value;
1851
+ t.modelModifiers.lazy && l("update:modelValue", f);
1810
1852
  },
1811
1853
  clearValue: () => {
1812
1854
  t.disabled || l("update:modelValue", "");
@@ -1817,18 +1859,18 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1817
1859
  ref: n,
1818
1860
  class: w([`joy-input--${t.size}`])
1819
1861
  }, [
1820
- _("div", {
1862
+ b("div", {
1821
1863
  class: w([
1822
1864
  "joy-input",
1823
1865
  {
1824
1866
  "joy-input--focusing": a.value,
1825
1867
  "joy-input--disabled": e.disabled,
1826
1868
  "joy-input--invalid": e.invalid,
1827
- "joy-input--valid": !e.invalid && !V(r).disabled
1869
+ "joy-input--valid": !e.invalid && !x(r).disabled
1828
1870
  }
1829
1871
  ])
1830
1872
  }, [
1831
- m.value || e.label ? (y(), I(U, {
1873
+ m.value || e.label ? (y(), O(G, {
1832
1874
  key: 0,
1833
1875
  for: e.name,
1834
1876
  required: e.required && e.requiredMark,
@@ -1842,7 +1884,7 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1842
1884
  ]),
1843
1885
  _: 3
1844
1886
  }, 8, ["for", "required", "optional-label", "size"])) : g("", !0),
1845
- _("div", {
1887
+ b("div", {
1846
1888
  class: w([
1847
1889
  "joy-input--wrapper",
1848
1890
  {
@@ -1853,7 +1895,7 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1853
1895
  }
1854
1896
  ])
1855
1897
  }, [
1856
- _("input", H(c.$attrs, {
1898
+ b("input", W(c.$attrs, {
1857
1899
  id: t.name,
1858
1900
  ref_key: "input",
1859
1901
  ref: o,
@@ -1872,9 +1914,11 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1872
1914
  onBlur: f[1] || (f[1] = //@ts-ignore
1873
1915
  (...S) => i.onBlur && i.onBlur(...S)),
1874
1916
  onInput: f[2] || (f[2] = //@ts-ignore
1875
- (...S) => i.onInput && i.onInput(...S))
1876
- }), null, 16, bo),
1877
- d.value ? (y(), I(Ke, {
1917
+ (...S) => i.onInput && i.onInput(...S)),
1918
+ onChange: f[3] || (f[3] = //@ts-ignore
1919
+ (...S) => i.onChange && i.onChange(...S))
1920
+ }), null, 16, So),
1921
+ d.value ? (y(), O(Ke, {
1878
1922
  key: 0,
1879
1923
  class: "joy-input--clear",
1880
1924
  circle: "",
@@ -1883,7 +1927,7 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1883
1927
  icon: "cross",
1884
1928
  onClick: i.clearValue
1885
1929
  }, null, 8, ["onClick"])) : g("", !0),
1886
- e.icon ? (y(), I(q, {
1930
+ e.icon ? (y(), O(q, {
1887
1931
  key: 1,
1888
1932
  role: "img",
1889
1933
  class: "joy-input--decorative-icon",
@@ -1893,13 +1937,13 @@ const U = /* @__PURE__ */ x(go, [["__scopeId", "data-v-1265214a"]]), ho = ["larg
1893
1937
  key: 2,
1894
1938
  "data-unit": e.unit,
1895
1939
  class: "joy-input--unit"
1896
- }, null, 8, _o)) : g("", !0)
1940
+ }, null, 8, jo)) : g("", !0)
1897
1941
  ], 2)
1898
1942
  ], 2)
1899
1943
  ], 2));
1900
1944
  }
1901
1945
  });
1902
- const So = /* @__PURE__ */ x(wo, [["__scopeId", "data-v-ba3aad9d"]]), ko = ["teal", "white"], jo = ["href"], $o = /* @__PURE__ */ j({
1946
+ const $o = /* @__PURE__ */ $(ko, [["__scopeId", "data-v-a49577c6"]]), Vo = ["teal", "white"], xo = ["href"], Io = /* @__PURE__ */ k({
1903
1947
  __name: "VJoyLink",
1904
1948
  props: {
1905
1949
  href: {
@@ -1910,29 +1954,29 @@ const So = /* @__PURE__ */ x(wo, [["__scopeId", "data-v-ba3aad9d"]]), ko = ["tea
1910
1954
  type: String,
1911
1955
  default: "teal",
1912
1956
  validator(e) {
1913
- return ko.includes(e);
1957
+ return Vo.includes(e);
1914
1958
  }
1915
1959
  },
1916
1960
  icon: String,
1917
1961
  text: String
1918
1962
  },
1919
1963
  setup(e) {
1920
- return (l, t) => (y(), p("a", H({ href: e.href }, l.$attrs, {
1964
+ return (l, t) => (y(), p("a", W({ href: e.href }, l.$attrs, {
1921
1965
  class: ["joy-link", `joy-link_${e.color}`]
1922
1966
  }), [
1923
- e.icon ? (y(), I(q, {
1967
+ e.icon ? (y(), O(q, {
1924
1968
  key: 0,
1925
1969
  name: e.icon
1926
1970
  }, null, 8, ["name"])) : g("", !0),
1927
1971
  h(l.$slots, "default", {}, () => [
1928
1972
  L(C(e.text), 1)
1929
1973
  ], !0)
1930
- ], 16, jo));
1974
+ ], 16, xo));
1931
1975
  }
1932
1976
  });
1933
- const Vo = /* @__PURE__ */ x($o, [["__scopeId", "data-v-76f0342e"]]), xo = ["id"], Io = {
1977
+ const Oo = /* @__PURE__ */ $(Io, [["__scopeId", "data-v-76f0342e"]]), Co = ["id"], Bo = {
1934
1978
  class: /* @__PURE__ */ w(["joy-multi-checkbox"])
1935
- }, Oo = /* @__PURE__ */ j({
1979
+ }, Lo = /* @__PURE__ */ k({
1936
1980
  __name: "VJoyMultiCheckbox",
1937
1981
  props: {
1938
1982
  options: {
@@ -1979,7 +2023,7 @@ const Vo = /* @__PURE__ */ x($o, [["__scopeId", "data-v-76f0342e"]]), xo = ["id"
1979
2023
  id: e.id,
1980
2024
  class: "joy-multi-checkbox__wrapper"
1981
2025
  }, [
1982
- e.label ? (y(), I(V(U), {
2026
+ e.label ? (y(), O(x(G), {
1983
2027
  key: 0,
1984
2028
  "tag-name": "legend",
1985
2029
  required: e.required && e.requiredMark,
@@ -1991,8 +2035,8 @@ const Vo = /* @__PURE__ */ x($o, [["__scopeId", "data-v-76f0342e"]]), xo = ["id"
1991
2035
  ]),
1992
2036
  _: 1
1993
2037
  }, 8, ["required", "optional-label", "size"])) : g("", !0),
1994
- _("div", Io, [
1995
- (y(!0), p(Q, null, se(e.options, (a) => (y(), I(V(he), {
2038
+ b("div", Bo, [
2039
+ (y(!0), p(H, null, se(e.options, (a) => (y(), O(x(he), {
1996
2040
  id: a.id,
1997
2041
  key: a.id,
1998
2042
  name: a.name,
@@ -2008,22 +2052,22 @@ const Vo = /* @__PURE__ */ x($o, [["__scopeId", "data-v-76f0342e"]]), xo = ["id"
2008
2052
  _: 2
2009
2053
  }, 1032, ["id", "name", "value", "checked", "onUpdate:checked"]))), 128))
2010
2054
  ])
2011
- ], 8, xo));
2055
+ ], 8, Co));
2012
2056
  }
2013
2057
  });
2014
- const Co = /* @__PURE__ */ x(Oo, [["__scopeId", "data-v-47574ced"]]), Bo = ["small", "medium", "large"], Lo = ["small", "large"], Eo = {
2058
+ const Eo = /* @__PURE__ */ $(Lo, [["__scopeId", "data-v-47574ced"]]), Jo = ["small", "medium", "large"], zo = ["small", "large"], To = {
2015
2059
  key: 0,
2016
2060
  class: /* @__PURE__ */ w(["joy-panel__header"])
2017
- }, Jo = {
2061
+ }, Po = {
2018
2062
  key: 1,
2019
2063
  class: "joy-panel__header-action"
2020
- }, To = {
2064
+ }, qo = {
2021
2065
  key: 2,
2022
2066
  class: "joy-panel__header-subtitle"
2023
- }, zo = { class: "joy-panel__body" }, Po = {
2067
+ }, Ao = { class: "joy-panel__body" }, Fo = {
2024
2068
  key: 1,
2025
2069
  class: "joy-panel__footer"
2026
- }, qo = /* @__PURE__ */ j({
2070
+ }, Mo = /* @__PURE__ */ k({
2027
2071
  __name: "VJoyPanel",
2028
2072
  props: {
2029
2073
  flex: {
@@ -2037,14 +2081,14 @@ const Co = /* @__PURE__ */ x(Oo, [["__scopeId", "data-v-47574ced"]]), Bo = ["sma
2037
2081
  type: String,
2038
2082
  default: "medium",
2039
2083
  validator(e) {
2040
- return Bo.includes(e);
2084
+ return Jo.includes(e);
2041
2085
  }
2042
2086
  },
2043
2087
  titleSize: {
2044
2088
  type: String,
2045
2089
  default: "large",
2046
2090
  validator(e) {
2047
- return Lo.includes(e);
2091
+ return zo.includes(e);
2048
2092
  }
2049
2093
  },
2050
2094
  loading: {
@@ -2057,7 +2101,7 @@ const Co = /* @__PURE__ */ x(Oo, [["__scopeId", "data-v-47574ced"]]), Bo = ["sma
2057
2101
  }
2058
2102
  },
2059
2103
  setup(e) {
2060
- const l = vt("VJoyWrapperContext", {}), t = O(() => Object.keys(l).length > 0), o = Z(), n = b(), r = O(() => o["panel-title"] || o["panel-subtitle"] || o["panel-title-action"]);
2104
+ const l = vt("VJoyWrapperContext", {}), t = I(() => Object.keys(l).length > 0), o = Z(), n = _(), r = I(() => o["panel-title"] || o["panel-subtitle"] || o["panel-title-action"]);
2061
2105
  return (s, a) => (y(), p("section", {
2062
2106
  ref_key: "panel",
2063
2107
  ref: n,
@@ -2071,27 +2115,27 @@ const Co = /* @__PURE__ */ x(Oo, [["__scopeId", "data-v-47574ced"]]), Bo = ["sma
2071
2115
  }
2072
2116
  ])
2073
2117
  }, [
2074
- r.value ? (y(), p("header", Eo, [
2075
- V(o)["panel-title"] ? (y(), p("div", {
2118
+ r.value ? (y(), p("header", To, [
2119
+ x(o)["panel-title"] ? (y(), p("div", {
2076
2120
  key: 0,
2077
2121
  class: w(["joy-panel__header-title", `joy-panel__header-title--${e.titleSize}`])
2078
2122
  }, [
2079
2123
  h(s.$slots, "panel-title", {}, void 0, !0)
2080
2124
  ], 2)) : g("", !0),
2081
- V(o)["panel-title-action"] ? (y(), p("div", Jo, [
2125
+ x(o)["panel-title-action"] ? (y(), p("div", Po, [
2082
2126
  h(s.$slots, "panel-title-action", {}, void 0, !0)
2083
2127
  ])) : g("", !0),
2084
- V(o)["panel-subtitle"] ? (y(), p("div", To, [
2128
+ x(o)["panel-subtitle"] ? (y(), p("div", qo, [
2085
2129
  h(s.$slots, "panel-subtitle", {}, void 0, !0)
2086
2130
  ])) : g("", !0)
2087
2131
  ])) : g("", !0),
2088
- _("div", zo, [
2132
+ b("div", Ao, [
2089
2133
  h(s.$slots, "panel-body", {}, void 0, !0)
2090
2134
  ]),
2091
- V(o)["panel-action"] ? (y(), p("footer", Po, [
2135
+ x(o)["panel-action"] ? (y(), p("footer", Fo, [
2092
2136
  h(s.$slots, "panel-action", {}, void 0, !0)
2093
2137
  ])) : g("", !0),
2094
- e.loading ? (y(), I(V(_e), {
2138
+ e.loading ? (y(), O(x(_e), {
2095
2139
  key: 2,
2096
2140
  overlay: "",
2097
2141
  color: e.loadingColor
@@ -2104,27 +2148,27 @@ const Co = /* @__PURE__ */ x(Oo, [["__scopeId", "data-v-47574ced"]]), Bo = ["sma
2104
2148
  ], 6));
2105
2149
  }
2106
2150
  });
2107
- const Ao = /* @__PURE__ */ x(qo, [["__scopeId", "data-v-2e3a2baa"]]), Fo = { class: "joy-panel-section" }, No = {
2151
+ const No = /* @__PURE__ */ $(Mo, [["__scopeId", "data-v-2e3a2baa"]]), Ro = { class: "joy-panel-section" }, Do = {
2108
2152
  key: 0,
2109
2153
  class: "joy-panel-section__title"
2110
- }, Mo = {
2154
+ }, Ho = {
2111
2155
  key: 1,
2112
2156
  class: "joy-panel-section__content"
2113
- }, Ro = /* @__PURE__ */ j({
2157
+ }, Wo = /* @__PURE__ */ k({
2114
2158
  __name: "VJoyPanelSection",
2115
2159
  setup(e) {
2116
2160
  const l = Z();
2117
- return (t, o) => (y(), p("div", Fo, [
2118
- V(l)["panel-section-title"] ? (y(), p("div", No, [
2161
+ return (t, o) => (y(), p("div", Ro, [
2162
+ x(l)["panel-section-title"] ? (y(), p("div", Do, [
2119
2163
  h(t.$slots, "panel-section-title", {}, void 0, !0)
2120
2164
  ])) : g("", !0),
2121
- V(l)["panel-section-content"] ? (y(), p("div", Mo, [
2165
+ x(l)["panel-section-content"] ? (y(), p("div", Ho, [
2122
2166
  h(t.$slots, "panel-section-content", {}, void 0, !0)
2123
2167
  ])) : g("", !0)
2124
2168
  ]));
2125
2169
  }
2126
2170
  });
2127
- const Do = /* @__PURE__ */ x(Ro, [["__scopeId", "data-v-d88510ab"]]), Ho = ["id", "value", "checked", "disabled", "required", "name"], Wo = { class: "joy-radio-label" }, Uo = { class: "joy-radio-content__wrapper" }, Go = { class: "joy-radio-content" }, Ko = /* @__PURE__ */ j({
2171
+ const Uo = /* @__PURE__ */ $(Wo, [["__scopeId", "data-v-d88510ab"]]), Go = ["id", "value", "checked", "disabled", "required", "name"], Ko = { class: "joy-radio-label" }, Qo = { class: "joy-radio-content__wrapper" }, Yo = { class: "joy-radio-content" }, Zo = /* @__PURE__ */ k({
2128
2172
  __name: "VJoyRadio",
2129
2173
  props: {
2130
2174
  disabled: {
@@ -2160,7 +2204,7 @@ const Do = /* @__PURE__ */ x(Ro, [["__scopeId", "data-v-d88510ab"]]), Ho = ["id"
2160
2204
  },
2161
2205
  emits: ["update:modelValue"],
2162
2206
  setup(e, { expose: l, emit: t }) {
2163
- const o = e, n = b(!1), r = b(!1), s = b(null), a = b(null), d = Z(), m = O(() => !o.modelValue || !o.value ? !1 : o.modelValue === o.value);
2207
+ const o = e, n = _(!1), r = _(!1), s = _(null), a = _(null), d = Z(), m = I(() => !o.modelValue || !o.value ? !1 : o.modelValue === o.value);
2164
2208
  function u() {
2165
2209
  n.value = !!d["expandable-content"] && m.value;
2166
2210
  }
@@ -2199,7 +2243,7 @@ const Do = /* @__PURE__ */ x(Ro, [["__scopeId", "data-v-d88510ab"]]), Ho = ["id"
2199
2243
  }
2200
2244
  ])
2201
2245
  }, [
2202
- _("input", {
2246
+ b("input", {
2203
2247
  id: e.id,
2204
2248
  type: "radio",
2205
2249
  value: e.value,
@@ -2210,15 +2254,15 @@ const Do = /* @__PURE__ */ x(Ro, [["__scopeId", "data-v-d88510ab"]]), Ho = ["id"
2210
2254
  onChange: v,
2211
2255
  onFocus: i,
2212
2256
  onBlur: c
2213
- }, null, 40, Ho),
2214
- _("span", Wo, [
2257
+ }, null, 40, Go),
2258
+ b("span", Ko, [
2215
2259
  h(f.$slots, "default", {}, void 0, !0)
2216
2260
  ]),
2217
- _("div", Uo, [
2218
- _("div", Go, [
2261
+ b("div", Qo, [
2262
+ b("div", Yo, [
2219
2263
  h(f.$slots, "radio-content", {}, void 0, !0)
2220
2264
  ]),
2221
- _("div", {
2265
+ b("div", {
2222
2266
  ref_key: "expandableElement",
2223
2267
  ref: a,
2224
2268
  class: w(["joy-radio-expandable", { "joy-radio-expandable--expanded": n.value }])
@@ -2229,7 +2273,7 @@ const Do = /* @__PURE__ */ x(Ro, [["__scopeId", "data-v-d88510ab"]]), Ho = ["id"
2229
2273
  ], 2));
2230
2274
  }
2231
2275
  });
2232
- const Qo = /* @__PURE__ */ x(Ko, [["__scopeId", "data-v-24cea99b"]]), Yo = ["form", "name"], Zo = /* @__PURE__ */ j({
2276
+ const Xo = /* @__PURE__ */ $(Zo, [["__scopeId", "data-v-24cea99b"]]), ea = ["form", "name"], ta = /* @__PURE__ */ k({
2233
2277
  __name: "VJoyRadioGroup",
2234
2278
  props: {
2235
2279
  /**
@@ -2258,18 +2302,18 @@ const Qo = /* @__PURE__ */ x(Ko, [["__scopeId", "data-v-24cea99b"]]), Yo = ["for
2258
2302
  name: e.name
2259
2303
  }, [
2260
2304
  h(l.$slots, "radio-group-legend", {}, void 0, !0),
2261
- _("div", {
2305
+ b("div", {
2262
2306
  class: w(["joy-radio-group-container", `joy-radio-group-${e.direction}`])
2263
2307
  }, [
2264
2308
  h(l.$slots, "default", {}, void 0, !0)
2265
2309
  ], 2)
2266
- ], 8, Yo));
2310
+ ], 8, ea));
2267
2311
  }
2268
2312
  });
2269
- const Xo = /* @__PURE__ */ x(Zo, [["__scopeId", "data-v-a77e7f95"]]), ea = { class: "joy-screen-loader__content" }, ta = {
2313
+ const la = /* @__PURE__ */ $(ta, [["__scopeId", "data-v-a77e7f95"]]), oa = { class: "joy-screen-loader__content" }, aa = {
2270
2314
  key: 0,
2271
2315
  class: "joy-screen-loader__content"
2272
- }, la = /* @__PURE__ */ j({
2316
+ }, na = /* @__PURE__ */ k({
2273
2317
  __name: "VJoyScreenLoader",
2274
2318
  props: {
2275
2319
  /** Light or dark. Changes the spinner and background color */
@@ -2287,20 +2331,20 @@ const Xo = /* @__PURE__ */ x(Zo, [["__scopeId", "data-v-a77e7f95"]]), ea = { cla
2287
2331
  return (l, t) => (y(), p("div", {
2288
2332
  class: w(["joy-screen-loader", `joy-screen-loader--${e.color}`, { "joy-screen-loader--overlay": e.overlay }])
2289
2333
  }, [
2290
- _("div", ea, [
2334
+ b("div", oa, [
2291
2335
  h(l.$slots, "spinner", {}, () => [
2292
2336
  R(ge, {
2293
2337
  color: e.color === "dark" ? "white" : "teal"
2294
2338
  }, null, 8, ["color"])
2295
2339
  ], !0),
2296
- l.$slots.content ? (y(), p("div", ta, [
2340
+ l.$slots.content ? (y(), p("div", aa, [
2297
2341
  h(l.$slots, "content", {}, void 0, !0)
2298
2342
  ])) : g("", !0)
2299
2343
  ])
2300
2344
  ], 2));
2301
2345
  }
2302
2346
  });
2303
- const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id", "name", "aria-invalid", "required", "disabled", "value"], aa = /* @__PURE__ */ j({
2347
+ const _e = /* @__PURE__ */ $(na, [["__scopeId", "data-v-5c4f6d7f"]]), ia = ["id", "name", "aria-invalid", "required", "disabled", "value"], ra = /* @__PURE__ */ k({
2304
2348
  __name: "VJoySelect",
2305
2349
  props: {
2306
2350
  disabled: {
@@ -2333,8 +2377,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2333
2377
  },
2334
2378
  // ...LABEL_BASED_PROPS,
2335
2379
  modelValue: {
2336
- type: String,
2337
- default: ""
2380
+ type: [String, Number]
2338
2381
  },
2339
2382
  size: {
2340
2383
  type: String,
@@ -2344,7 +2387,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2344
2387
  },
2345
2388
  emits: ["update:modelValue"],
2346
2389
  setup(e, { emit: l }) {
2347
- const t = e, o = b(), n = b(), r = Z(), s = b(!1), a = O(() => t.labelSize ? t.labelSize : t.size !== "medium" ? "small" : "medium");
2390
+ const t = e, o = _(), n = _(), r = Z(), s = _(!1), a = I(() => t.labelSize ? t.labelSize : t.size !== "medium" ? "small" : "medium");
2348
2391
  Y(() => {
2349
2392
  var c;
2350
2393
  const v = r.label && r.label();
@@ -2375,7 +2418,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2375
2418
  ref: o
2376
2419
  }, [
2377
2420
  h(v.$slots, "select-label", {}, () => [
2378
- e.label ? (y(), I(U, {
2421
+ e.label ? (y(), O(G, {
2379
2422
  key: 0,
2380
2423
  required: e.required && e.requiredMark,
2381
2424
  "optional-label": e.optionalLabel,
@@ -2388,7 +2431,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2388
2431
  _: 1
2389
2432
  }, 8, ["required", "optional-label", "for", "size"])) : g("", !0)
2390
2433
  ], !0),
2391
- _("div", {
2434
+ b("div", {
2392
2435
  class: w([
2393
2436
  `joy-select--${e.size}`,
2394
2437
  {
@@ -2399,7 +2442,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2399
2442
  }
2400
2443
  ])
2401
2444
  }, [
2402
- _("select", {
2445
+ b("select", {
2403
2446
  id: e.id || e.name,
2404
2447
  ref_key: "select",
2405
2448
  ref: n,
@@ -2414,7 +2457,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2414
2457
  onBlur: u
2415
2458
  }, [
2416
2459
  h(v.$slots, "default", {}, void 0, !0)
2417
- ], 40, oa),
2460
+ ], 40, ia),
2418
2461
  R(q, {
2419
2462
  class: "joy-select__chevron",
2420
2463
  name: "chevron-down"
@@ -2423,7 +2466,7 @@ const _e = /* @__PURE__ */ x(la, [["__scopeId", "data-v-5c4f6d7f"]]), oa = ["id"
2423
2466
  ], 512));
2424
2467
  }
2425
2468
  });
2426
- const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["aria-disabled"], ra = ["id", "value", "checked", "disabled", "required", "name"], sa = /* @__PURE__ */ j({
2469
+ const sa = /* @__PURE__ */ $(ra, [["__scopeId", "data-v-b8f98cc8"]]), ua = ["aria-disabled"], da = ["id", "value", "checked", "disabled", "required", "name"], ca = /* @__PURE__ */ k({
2427
2470
  __name: "VJoySelectableItem",
2428
2471
  props: {
2429
2472
  disabled: {
@@ -2460,7 +2503,7 @@ const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["ari
2460
2503
  },
2461
2504
  emits: ["update:checked"],
2462
2505
  setup(e, { emit: l }) {
2463
- const t = e, o = b(t.checked), n = b(), r = b(!1), s = t.multiple ? "div" : "label", a = {
2506
+ const t = e, o = _(t.checked), n = _(), r = _(!1), s = t.multiple ? "div" : "label", a = {
2464
2507
  onRadioChange: () => {
2465
2508
  l("update:checked", t.value);
2466
2509
  },
@@ -2508,8 +2551,8 @@ const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["ari
2508
2551
  (...v) => a.onFocus && a.onFocus(...v)),
2509
2552
  onBlur: u[2] || (u[2] = //@ts-ignore
2510
2553
  (...v) => a.onBlur && a.onBlur(...v))
2511
- }, null, 40, ra)),
2512
- (y(), I(re(V(s)), {
2554
+ }, null, 40, da)),
2555
+ (y(), O(re(x(s)), {
2513
2556
  for: e.id,
2514
2557
  class: w([
2515
2558
  "joy-selectable-item",
@@ -2523,7 +2566,7 @@ const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["ari
2523
2566
  onClick: a.onLabelClick
2524
2567
  }, {
2525
2568
  default: B(() => [
2526
- e.multiple ? (y(), I(V(he), {
2569
+ e.multiple ? (y(), O(x(he), {
2527
2570
  key: 0,
2528
2571
  id: e.id,
2529
2572
  checked: o.value,
@@ -2545,7 +2588,7 @@ const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["ari
2545
2588
  _: 3
2546
2589
  }, 8, ["id", "checked", "disabled", "value", "name", "required", "onFocus", "onBlur"])) : g("", !0),
2547
2590
  e.multiple ? g("", !0) : h(m.$slots, "default", { key: 1 }, void 0, !0),
2548
- _("div", {
2591
+ b("div", {
2549
2592
  class: w([{ "joy-selectable-item__sublabel": m.$slots["selectable-item-sublabel"] }])
2550
2593
  }, [
2551
2594
  h(m.$slots, "selectable-item-sublabel", {}, void 0, !0)
@@ -2553,10 +2596,10 @@ const na = /* @__PURE__ */ x(aa, [["__scopeId", "data-v-18112ea4"]]), ia = ["ari
2553
2596
  ]),
2554
2597
  _: 3
2555
2598
  }, 8, ["for", "class", "onClick"]))
2556
- ], 10, ia));
2599
+ ], 10, ua));
2557
2600
  }
2558
2601
  });
2559
- const at = /* @__PURE__ */ x(sa, [["__scopeId", "data-v-cb2531c0"]]), ua = ["id"], da = /* @__PURE__ */ j({
2602
+ const at = /* @__PURE__ */ $(ca, [["__scopeId", "data-v-cb2531c0"]]), fa = ["id"], ya = /* @__PURE__ */ k({
2560
2603
  __name: "VJoySelectableItemGroup",
2561
2604
  props: {
2562
2605
  options: {
@@ -2611,7 +2654,7 @@ const at = /* @__PURE__ */ x(sa, [["__scopeId", "data-v-cb2531c0"]]), ua = ["id"
2611
2654
  id: e.id,
2612
2655
  class: "joy-selectable-item-group__wrapper"
2613
2656
  }, [
2614
- e.label ? (y(), I(V(U), {
2657
+ e.label ? (y(), O(x(G), {
2615
2658
  key: 0,
2616
2659
  "tag-name": "legend",
2617
2660
  required: e.required && e.requiredMark,
@@ -2623,7 +2666,7 @@ const at = /* @__PURE__ */ x(sa, [["__scopeId", "data-v-cb2531c0"]]), ua = ["id"
2623
2666
  ]),
2624
2667
  _: 1
2625
2668
  }, 8, ["required", "optional-label", "size"])) : g("", !0),
2626
- _("div", {
2669
+ b("div", {
2627
2670
  class: w([
2628
2671
  "joy-selectable-item-group",
2629
2672
  {
@@ -2633,7 +2676,7 @@ const at = /* @__PURE__ */ x(sa, [["__scopeId", "data-v-cb2531c0"]]), ua = ["id"
2633
2676
  }
2634
2677
  ])
2635
2678
  }, [
2636
- (y(!0), p(Q, null, se(e.options, (a) => (y(), I(V(at), {
2679
+ (y(!0), p(H, null, se(e.options, (a) => (y(), O(x(at), {
2637
2680
  id: a.id,
2638
2681
  key: a.id,
2639
2682
  name: a.name,
@@ -2657,10 +2700,10 @@ const at = /* @__PURE__ */ x(sa, [["__scopeId", "data-v-cb2531c0"]]), ua = ["id"
2657
2700
  } : void 0
2658
2701
  ]), 1032, ["id", "name", "disabled", "value", "multiple", "checked", "onUpdate:checked"]))), 128))
2659
2702
  ], 2)
2660
- ], 8, ua));
2703
+ ], 8, fa));
2661
2704
  }
2662
2705
  });
2663
- const ca = /* @__PURE__ */ x(da, [["__scopeId", "data-v-0730aed0"]]), fa = /* @__PURE__ */ j({
2706
+ const va = /* @__PURE__ */ $(ya, [["__scopeId", "data-v-0730aed0"]]), ma = /* @__PURE__ */ k({
2664
2707
  __name: "VJoyWrapper",
2665
2708
  props: {
2666
2709
  /** Horizontal spread. Refers to CSS flex justify-content. */
@@ -2691,6 +2734,16 @@ const ca = /* @__PURE__ */ x(da, [["__scopeId", "data-v-0730aed0"]]), fa = /* @_
2691
2734
  noMargin: {
2692
2735
  type: Boolean,
2693
2736
  default: !1
2737
+ },
2738
+ /** Gap between the columns. Refers to CSS column-gap. Value is based on spacing tokens. */
2739
+ columnGap: {
2740
+ type: String,
2741
+ default: "4"
2742
+ },
2743
+ /** Gap between the rows. Refers to CSS row-gap. Value is based on spacing tokens. */
2744
+ rowGap: {
2745
+ type: String,
2746
+ default: "8"
2694
2747
  }
2695
2748
  },
2696
2749
  setup(e) {
@@ -2701,6 +2754,8 @@ const ca = /* @__PURE__ */ x(da, [["__scopeId", "data-v-0730aed0"]]), fa = /* @_
2701
2754
  `joy-wrapper--align-${e.align}`,
2702
2755
  `joy-wrapper--direction-${e.direction}`,
2703
2756
  `joy-wrapper--wrap-${e.wrap}`,
2757
+ `joy-wrapper--row-gap-${e.rowGap}`,
2758
+ `joy-wrapper--column-gap-${e.columnGap}`,
2704
2759
  { "joy-wrapper--item-stretch": e.itemStretch },
2705
2760
  { "joy-wrapper--has-margin": !e.noMargin }
2706
2761
  ])
@@ -2709,7 +2764,7 @@ const ca = /* @__PURE__ */ x(da, [["__scopeId", "data-v-0730aed0"]]), fa = /* @_
2709
2764
  ], 2));
2710
2765
  }
2711
2766
  });
2712
- const ya = /* @__PURE__ */ x(fa, [["__scopeId", "data-v-e2f29698"]]), va = ["role"], ma = /* @__PURE__ */ j({
2767
+ const pa = /* @__PURE__ */ $(ma, [["__scopeId", "data-v-8a6c4326"]]), ga = ["role"], ha = /* @__PURE__ */ k({
2713
2768
  __name: "VJoyTag",
2714
2769
  props: {
2715
2770
  /** Text injected within the tag */
@@ -2748,7 +2803,7 @@ const ya = /* @__PURE__ */ x(fa, [["__scopeId", "data-v-e2f29698"]]), va = ["rol
2748
2803
  },
2749
2804
  emits: ["selected", "remove", "click"],
2750
2805
  setup(e, { emit: l }) {
2751
- const t = e, o = ["primary", "secondary"], n = O(() => ({
2806
+ const t = e, o = ["primary", "secondary"], n = I(() => ({
2752
2807
  "joy-tag": !0,
2753
2808
  "joy-tag__selected": t.selected,
2754
2809
  "joy-tag__selectable": t.selectable || t.link,
@@ -2767,24 +2822,24 @@ const ya = /* @__PURE__ */ x(fa, [["__scopeId", "data-v-e2f29698"]]), va = ["rol
2767
2822
  role: e.link || e.selectable ? "button" : void 0,
2768
2823
  onClick: s
2769
2824
  }, [
2770
- e.draggable ? (y(), I(q, {
2825
+ e.draggable ? (y(), O(q, {
2771
2826
  key: 0,
2772
2827
  class: "joy-tag__drag",
2773
2828
  name: "drag",
2774
2829
  size: "xxsmall"
2775
2830
  })) : g("", !0),
2776
2831
  L(" " + C(e.label) + " ", 1),
2777
- e.removable ? (y(), I(q, {
2832
+ e.removable ? (y(), O(q, {
2778
2833
  key: 1,
2779
2834
  class: "joy-tag__removable",
2780
2835
  name: "cross",
2781
2836
  size: "xxsmall",
2782
2837
  onClick: pt(r, ["stop"])
2783
2838
  }, null, 8, ["onClick"])) : g("", !0)
2784
- ], 10, va));
2839
+ ], 10, ga));
2785
2840
  }
2786
2841
  });
2787
- const nt = /* @__PURE__ */ x(ma, [["__scopeId", "data-v-01b9f7cc"]]), pa = /* @__PURE__ */ j({
2842
+ const nt = /* @__PURE__ */ $(ha, [["__scopeId", "data-v-01b9f7cc"]]), ba = /* @__PURE__ */ k({
2788
2843
  __name: "VJoyTagsList",
2789
2844
  props: {
2790
2845
  align: {
@@ -2800,54 +2855,64 @@ const nt = /* @__PURE__ */ x(ma, [["__scopeId", "data-v-01b9f7cc"]]), pa = /* @_
2800
2855
  return [];
2801
2856
  },
2802
2857
  required: !0
2858
+ },
2859
+ /** You can either pass this property to make all generated tags removable, or pass the `removable: true` to each tag in "tags" prop. */
2860
+ removable: {
2861
+ type: Boolean,
2862
+ default: !1
2803
2863
  }
2804
2864
  },
2805
- emits: ["update:modelValue"],
2865
+ emits: ["update:modelValue", "removeTag"],
2806
2866
  setup(e, { emit: l }) {
2807
2867
  const t = e;
2808
- function o(r) {
2809
- var s;
2810
- return (s = t.modelValue) == null ? void 0 : s.includes(r.value);
2868
+ function o(s) {
2869
+ var a;
2870
+ return t.removable ? !1 : (a = t.modelValue) == null ? void 0 : a.includes(s.value);
2811
2871
  }
2812
- function n(r, s) {
2813
- let a = [];
2814
- r.selected && !o(s) ? a = [...t.modelValue || [], s.value] : a = (t.modelValue || []).filter((d) => d !== s.value), l("update:modelValue", a);
2872
+ function n(s, a) {
2873
+ let d = [];
2874
+ s.selected && !o(a) ? d = [...t.modelValue || [], a.value] : d = (t.modelValue || []).filter((m) => m !== a.value), l("update:modelValue", d);
2815
2875
  }
2816
- return (r, s) => (y(), p("div", {
2876
+ function r(s) {
2877
+ l("removeTag", s.value);
2878
+ }
2879
+ return (s, a) => (y(), p("div", {
2817
2880
  class: w(["joy-tags-list", `joy-tags-list--${e.align}`])
2818
2881
  }, [
2819
- (y(!0), p(Q, null, se(e.tags, (a) => (y(), I(V(nt), H({
2820
- key: a.value,
2821
- selectable: !!e.modelValue
2822
- }, a, {
2823
- selected: o(a),
2824
- onSelected: (d) => n(d, a)
2825
- }), null, 16, ["selectable", "selected", "onSelected"]))), 128))
2882
+ (y(!0), p(H, null, se(e.tags, (d) => (y(), O(x(nt), W({
2883
+ key: d.value,
2884
+ selectable: !!e.modelValue && !e.removable
2885
+ }, d, {
2886
+ removable: e.removable,
2887
+ selected: o(d),
2888
+ onRemove: r,
2889
+ onSelected: (m) => n(m, d)
2890
+ }), null, 16, ["selectable", "removable", "selected", "onSelected"]))), 128))
2826
2891
  ], 2));
2827
2892
  }
2828
2893
  });
2829
- const ga = /* @__PURE__ */ x(pa, [["__scopeId", "data-v-598cca84"]]), ha = { class: "joy-template__wrapper" }, ba = {
2894
+ const _a = /* @__PURE__ */ $(ba, [["__scopeId", "data-v-510c6367"]]), wa = { class: "joy-template__wrapper" }, Sa = {
2830
2895
  key: 0,
2831
2896
  class: "joy-template__heading"
2832
- }, _a = {
2897
+ }, ja = {
2833
2898
  key: 0,
2834
2899
  class: "joy-template-slot-back"
2835
- }, wa = { class: "joy-template__heading___headings" }, Sa = {
2900
+ }, ka = { class: "joy-template__heading___headings" }, $a = {
2836
2901
  key: 0,
2837
2902
  class: "joy-template-slot-title"
2838
- }, ka = {
2903
+ }, Va = {
2839
2904
  key: 1,
2840
2905
  class: "joy-template-slot-subtitle"
2841
- }, ja = {
2906
+ }, xa = {
2842
2907
  key: 1,
2843
2908
  class: "joy-template-slot-actions"
2844
- }, $a = {
2909
+ }, Ia = {
2845
2910
  key: 0,
2846
2911
  class: "joy-template-slot-main"
2847
- }, Va = {
2912
+ }, Oa = {
2848
2913
  key: 1,
2849
2914
  class: "joy-template-slot-sidebar"
2850
- }, xa = /* @__PURE__ */ j({
2915
+ }, Ca = /* @__PURE__ */ k({
2851
2916
  __name: "VJoyTemplate",
2852
2917
  props: {
2853
2918
  full: { type: Boolean, default: !1 },
@@ -2862,28 +2927,28 @@ const ga = /* @__PURE__ */ x(pa, [["__scopeId", "data-v-598cca84"]]), ha = { cla
2862
2927
  }
2863
2928
  },
2864
2929
  setup(e) {
2865
- const l = e, t = Z(), o = O(() => !!t["template-back"] || !!t["template-title"] || !!t["template-subtitle"] || !!t["template-actions"]);
2930
+ const l = e, t = Z(), o = I(() => !!t["template-back"] || !!t["template-title"] || !!t["template-subtitle"] || !!t["template-actions"]);
2866
2931
  return (n, r) => (y(), p("main", {
2867
2932
  class: w(["joy-template", { "joy-template--full": e.full, "joy-template--loading": e.loading }])
2868
2933
  }, [
2869
- _("div", ha, [
2870
- o.value ? (y(), p("div", ba, [
2871
- V(t)["template-back"] ? (y(), p("div", _a, [
2934
+ b("div", wa, [
2935
+ o.value ? (y(), p("div", Sa, [
2936
+ x(t)["template-back"] ? (y(), p("div", ja, [
2872
2937
  h(n.$slots, "template-back", {}, void 0, !0)
2873
2938
  ])) : g("", !0),
2874
- _("div", wa, [
2875
- V(t)["template-title"] ? (y(), p("div", Sa, [
2939
+ b("div", ka, [
2940
+ x(t)["template-title"] ? (y(), p("div", $a, [
2876
2941
  h(n.$slots, "template-title", {}, void 0, !0)
2877
2942
  ])) : g("", !0),
2878
- V(t)["template-subtitle"] ? (y(), p("div", ka, [
2943
+ x(t)["template-subtitle"] ? (y(), p("div", Va, [
2879
2944
  h(n.$slots, "template-subtitle", {}, void 0, !0)
2880
2945
  ])) : g("", !0)
2881
2946
  ]),
2882
- V(t)["template-actions"] ? (y(), p("div", ja, [
2947
+ x(t)["template-actions"] ? (y(), p("div", xa, [
2883
2948
  h(n.$slots, "template-actions", {}, void 0, !0)
2884
2949
  ])) : g("", !0)
2885
2950
  ])) : g("", !0),
2886
- _("div", {
2951
+ b("div", {
2887
2952
  class: w([
2888
2953
  "joy-template__content",
2889
2954
  {
@@ -2891,15 +2956,15 @@ const ga = /* @__PURE__ */ x(pa, [["__scopeId", "data-v-598cca84"]]), ha = { cla
2891
2956
  }
2892
2957
  ])
2893
2958
  }, [
2894
- n.$slots["template-main"] ? (y(), p("div", $a, [
2959
+ n.$slots["template-main"] ? (y(), p("div", Ia, [
2895
2960
  h(n.$slots, "template-main", {}, void 0, !0)
2896
2961
  ])) : g("", !0),
2897
- n.$slots["template-sidebar"] ? (y(), p("div", Va, [
2962
+ n.$slots["template-sidebar"] ? (y(), p("div", Oa, [
2898
2963
  h(n.$slots, "template-sidebar", {}, void 0, !0)
2899
2964
  ])) : g("", !0)
2900
2965
  ], 2)
2901
2966
  ]),
2902
- e.loading ? (y(), I(_e, {
2967
+ e.loading ? (y(), O(_e, {
2903
2968
  key: 0,
2904
2969
  overlay: "",
2905
2970
  color: e.loadingColor
@@ -2912,13 +2977,13 @@ const ga = /* @__PURE__ */ x(pa, [["__scopeId", "data-v-598cca84"]]), ha = { cla
2912
2977
  ], 2));
2913
2978
  }
2914
2979
  });
2915
- const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["aria-disabled"], Ca = { class: "joy-textarea_wrapper" }, Ba = ["id", "disabled", "name", "required", "minlength", "value"], La = {
2980
+ const Ba = /* @__PURE__ */ $(Ca, [["__scopeId", "data-v-a2355e4b"]]), La = ["aria-disabled"], Ea = { class: "joy-textarea_wrapper" }, Ja = ["id", "disabled", "name", "required", "minlength", "value"], za = {
2916
2981
  key: 0,
2917
2982
  class: "joy-textarea_helpers"
2918
- }, Ea = {
2983
+ }, Ta = {
2919
2984
  inheritAttrs: !1
2920
- }, Ja = /* @__PURE__ */ j({
2921
- ...Ea,
2985
+ }, Pa = /* @__PURE__ */ k({
2986
+ ...Ta,
2922
2987
  __name: "VJoyTextarea",
2923
2988
  props: {
2924
2989
  disabled: {
@@ -2953,6 +3018,11 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
2953
3018
  type: String,
2954
3019
  default: ""
2955
3020
  },
3021
+ modelModifiers: {
3022
+ default: () => ({
3023
+ lazy: !1
3024
+ })
3025
+ },
2956
3026
  autogrow: {
2957
3027
  type: Boolean,
2958
3028
  default: !1
@@ -2967,11 +3037,14 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
2967
3037
  },
2968
3038
  emits: ["update:modelValue"],
2969
3039
  setup(e, { expose: l, emit: t }) {
2970
- const o = e, n = b(), { triggerResize: r } = yl({
3040
+ const o = e, n = _(), { triggerResize: r } = pl({
2971
3041
  element: o.autogrow ? n : void 0
2972
- }), s = b(!1), a = b(!1), d = O(() => o.maxlength ? o.modelValue.length > o.maxlength : !1), m = O(() => o.minlength ? o.modelValue.length < o.minlength : !1), u = {
3042
+ }), s = _(!1), a = _(!1), d = I(() => o.maxlength ? o.modelValue.length > o.maxlength : !1), m = I(() => o.minlength ? o.modelValue.length < o.minlength : !1), u = {
2973
3043
  onInput: (v) => {
2974
- t("update:modelValue", v.target.value), r();
3044
+ o.modelModifiers.lazy || t("update:modelValue", v.target.value), r();
3045
+ },
3046
+ onChange: (v) => {
3047
+ o.modelModifiers.lazy && t("update:modelValue", v.target.value);
2975
3048
  },
2976
3049
  onBlur: () => {
2977
3050
  a.value = !1, s.value = d.value || m.value;
@@ -2996,7 +3069,7 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
2996
3069
  }
2997
3070
  ])
2998
3071
  }, [
2999
- R(V(U), {
3072
+ R(x(G), {
3000
3073
  for: e.id,
3001
3074
  required: e.required && e.requiredMark,
3002
3075
  "optional-label": e.optionalLabel,
@@ -3009,8 +3082,8 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
3009
3082
  ]),
3010
3083
  _: 3
3011
3084
  }, 8, ["for", "required", "optional-label", "size"]),
3012
- _("div", Ca, [
3013
- _("textarea", H(v.$attrs, {
3085
+ b("div", Ea, [
3086
+ b("textarea", W(v.$attrs, {
3014
3087
  id: e.id,
3015
3088
  ref_key: "textarea",
3016
3089
  ref: n,
@@ -3022,18 +3095,20 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
3022
3095
  value: e.modelValue,
3023
3096
  onInput: i[0] || (i[0] = //@ts-ignore
3024
3097
  (...c) => u.onInput && u.onInput(...c)),
3025
- onFocus: i[1] || (i[1] = //@ts-ignore
3098
+ onChange: i[1] || (i[1] = //@ts-ignore
3099
+ (...c) => u.onChange && u.onChange(...c)),
3100
+ onFocus: i[2] || (i[2] = //@ts-ignore
3026
3101
  (...c) => u.onFocus && u.onFocus(...c)),
3027
- onBlur: i[2] || (i[2] = //@ts-ignore
3102
+ onBlur: i[3] || (i[3] = //@ts-ignore
3028
3103
  (...c) => u.onBlur && u.onBlur(...c))
3029
- }), null, 16, Ba)
3104
+ }), null, 16, Ja)
3030
3105
  ]),
3031
- e.minlength || e.maxlength ? (y(), p("div", La, [
3106
+ e.minlength || e.maxlength ? (y(), p("div", za, [
3032
3107
  e.minlength ? (y(), p("p", {
3033
3108
  key: 0,
3034
3109
  class: w(["joy-textarea-min", { "joy-textarea-min-invalid": e.invalid }])
3035
3110
  }, [
3036
- m.value ? g("", !0) : (y(), I(q, {
3111
+ m.value ? g("", !0) : (y(), O(q, {
3037
3112
  key: 0,
3038
3113
  name: "check",
3039
3114
  color: "neutral",
@@ -3046,23 +3121,23 @@ const Ia = /* @__PURE__ */ x(xa, [["__scopeId", "data-v-a2355e4b"]]), Oa = ["ari
3046
3121
  class: w(["joy-textarea-count", { "joy-textarea-count-invalid": d.value }])
3047
3122
  }, C(e.modelValue.length + "/" + e.maxlength), 3)) : g("", !0)
3048
3123
  ])) : g("", !0)
3049
- ], 10, Oa));
3124
+ ], 10, La));
3050
3125
  }
3051
3126
  });
3052
- const Ta = /* @__PURE__ */ x(Ja, [["__scopeId", "data-v-d0d2c93e"]]), it = (e) => (Re("data-v-cf79d999"), e = e(), De(), e), za = { class: "joy-toggle__wrapper" }, Pa = ["name", "disabled", "checked", "required", "aria-checked", "value"], qa = { class: "joy-toggle__content" }, Aa = /* @__PURE__ */ it(() => /* @__PURE__ */ _("span", { class: "joy-toggle__symbol" }, null, -1)), Fa = { class: "joy-toggle__content-label" }, Na = /* @__PURE__ */ it(() => /* @__PURE__ */ _("span", { class: "joy-toggle__smile" }, [
3053
- /* @__PURE__ */ _("svg", {
3127
+ const qa = /* @__PURE__ */ $(Pa, [["__scopeId", "data-v-1d2165ca"]]), it = (e) => (Re("data-v-cf79d999"), e = e(), De(), e), Aa = { class: "joy-toggle__wrapper" }, Fa = ["name", "disabled", "checked", "required", "aria-checked", "value"], Ma = { class: "joy-toggle__content" }, Na = /* @__PURE__ */ it(() => /* @__PURE__ */ b("span", { class: "joy-toggle__symbol" }, null, -1)), Ra = { class: "joy-toggle__content-label" }, Da = /* @__PURE__ */ it(() => /* @__PURE__ */ b("span", { class: "joy-toggle__smile" }, [
3128
+ /* @__PURE__ */ b("svg", {
3054
3129
  width: "18",
3055
3130
  height: "10",
3056
3131
  viewBox: "0 0 18 10",
3057
3132
  fill: "currentColor",
3058
3133
  xmlns: "http://www.w3.org/2000/svg"
3059
3134
  }, [
3060
- /* @__PURE__ */ _("path", {
3135
+ /* @__PURE__ */ b("path", {
3061
3136
  d: "M9.0237 9.14856C15.7144 9.14856 17.8736 2.22231 17.9649 1.91853L17.9345 1.94891C18.1778 1.15908 17.7216 0.308485 16.9309 0.0654591C16.1402 -0.177566 15.2886 0.278108 15.0453 1.06794C14.9845 1.25021 13.5551 6.11073 8.99328 6.11073C4.43147 6.11073 3.03249 1.43248 2.97167 1.21983C2.75878 0.399622 1.90724 -0.0560541 1.11652 0.156593C0.295397 0.369241 -0.160787 1.18945 0.0520982 2.00967C0.721165 4.4703 3.48869 9.14856 9.0237 9.14856Z",
3062
3137
  fill: "currentColor"
3063
3138
  })
3064
3139
  ])
3065
- ], -1)), Ma = /* @__PURE__ */ j({
3140
+ ], -1)), Ha = /* @__PURE__ */ k({
3066
3141
  __name: "VJoyToggle",
3067
3142
  props: {
3068
3143
  modelValue: {
@@ -3096,7 +3171,7 @@ const Ta = /* @__PURE__ */ x(Ja, [["__scopeId", "data-v-d0d2c93e"]]), it = (e) =
3096
3171
  },
3097
3172
  emits: ["update:modelValue"],
3098
3173
  setup(e, { emit: l }) {
3099
- const t = b(!1), o = {
3174
+ const t = _(!1), o = {
3100
3175
  onChange: (n) => {
3101
3176
  const r = n.target.checked;
3102
3177
  l("update:modelValue", r);
@@ -3108,8 +3183,8 @@ const Ta = /* @__PURE__ */ x(Ja, [["__scopeId", "data-v-d0d2c93e"]]), it = (e) =
3108
3183
  t.value = !1;
3109
3184
  }
3110
3185
  };
3111
- return (n, r) => (y(), p("div", za, [
3112
- _("label", {
3186
+ return (n, r) => (y(), p("div", Aa, [
3187
+ b("label", {
3113
3188
  class: w([
3114
3189
  "joy-toggle",
3115
3190
  {
@@ -3119,7 +3194,7 @@ const Ta = /* @__PURE__ */ x(Ja, [["__scopeId", "data-v-d0d2c93e"]]), it = (e) =
3119
3194
  }
3120
3195
  ])
3121
3196
  }, [
3122
- _("input", {
3197
+ b("input", {
3123
3198
  ref: "input",
3124
3199
  type: "checkbox",
3125
3200
  class: "joy-toggle__input",
@@ -3136,89 +3211,91 @@ const Ta = /* @__PURE__ */ x(Ja, [["__scopeId", "data-v-d0d2c93e"]]), it = (e) =
3136
3211
  (...s) => o.onFocus && o.onFocus(...s)),
3137
3212
  onBlur: r[2] || (r[2] = //@ts-ignore
3138
3213
  (...s) => o.onBlur && o.onBlur(...s))
3139
- }, null, 40, Pa),
3140
- _("p", qa, [
3141
- Aa,
3142
- _("span", Fa, [
3214
+ }, null, 40, Fa),
3215
+ b("p", Ma, [
3216
+ Na,
3217
+ b("span", Ra, [
3143
3218
  h(n.$slots, "default", {}, () => [
3144
3219
  L(C(e.label), 1)
3145
3220
  ], !0)
3146
3221
  ]),
3147
- Na
3222
+ Da
3148
3223
  ])
3149
3224
  ], 2)
3150
3225
  ]));
3151
3226
  }
3152
3227
  });
3153
- const Ra = /* @__PURE__ */ x(Ma, [["__scopeId", "data-v-cf79d999"]]), Da = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3228
+ const Wa = /* @__PURE__ */ $(Ha, [["__scopeId", "data-v-cf79d999"]]), Ua = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3154
3229
  __proto__: null,
3155
- VJoyAvatar: $t,
3156
- VJoyAvatarsList: xt,
3157
- VJoyBadge: Ct,
3230
+ VJoyAvailability: bt,
3231
+ VJoyAvatar: It,
3232
+ VJoyAvatarsList: Ct,
3233
+ VJoyBadge: Et,
3158
3234
  VJoyButton: Ke,
3159
3235
  VJoyCheckbox: he,
3160
- VJoyCounter: el,
3161
- VJoyDropdown: no,
3236
+ VJoyCounter: ol,
3237
+ VJoyDropdown: so,
3162
3238
  VJoyDropdownList: lt,
3163
3239
  VJoyFormError: ot,
3164
- VJoyHighlight: yo,
3240
+ VJoyHighlight: po,
3165
3241
  VJoyIcon: q,
3166
- VJoyInput: So,
3167
- VJoyLabel: U,
3168
- VJoyLink: Vo,
3169
- VJoyMultiCheckbox: Co,
3170
- VJoyPanel: Ao,
3171
- VJoyPanelSection: Do,
3172
- VJoyRadio: Qo,
3173
- VJoyRadioGroup: Xo,
3242
+ VJoyInput: $o,
3243
+ VJoyLabel: G,
3244
+ VJoyLink: Oo,
3245
+ VJoyMultiCheckbox: Eo,
3246
+ VJoyPanel: No,
3247
+ VJoyPanelSection: Uo,
3248
+ VJoyRadio: Xo,
3249
+ VJoyRadioGroup: la,
3174
3250
  VJoyScreenLoader: _e,
3175
- VJoySelect: na,
3251
+ VJoySelect: sa,
3176
3252
  VJoySelectableItem: at,
3177
- VJoySelectableItemGroup: ca,
3253
+ VJoySelectableItemGroup: va,
3178
3254
  VJoySpinner: ge,
3179
3255
  VJoyTag: nt,
3180
- VJoyTagsList: ga,
3181
- VJoyTemplate: Ia,
3182
- VJoyTextarea: Ta,
3183
- VJoyToggle: Ra,
3184
- VJoyWrapper: ya
3185
- }, Symbol.toStringTag, { value: "Module" })), Wa = {
3256
+ VJoyTagsList: _a,
3257
+ VJoyTemplate: Ba,
3258
+ VJoyTextarea: qa,
3259
+ VJoyToggle: Wa,
3260
+ VJoyWrapper: pa
3261
+ }, Symbol.toStringTag, { value: "Module" })), Ka = {
3186
3262
  install: (e) => {
3187
- Object.entries(Da).forEach(([l, t]) => {
3263
+ Object.entries(Ua).forEach(([l, t]) => {
3188
3264
  e.component(l, t);
3189
3265
  });
3190
3266
  }
3191
3267
  };
3192
3268
  export {
3193
- Wa as JoyVuePlugin,
3194
- $t as VJoyAvatar,
3195
- xt as VJoyAvatarsList,
3196
- Ct as VJoyBadge,
3269
+ Ka as JoyVuePlugin,
3270
+ bt as VJoyAvailability,
3271
+ It as VJoyAvatar,
3272
+ Ct as VJoyAvatarsList,
3273
+ Et as VJoyBadge,
3197
3274
  Ke as VJoyButton,
3198
3275
  he as VJoyCheckbox,
3199
- el as VJoyCounter,
3200
- no as VJoyDropdown,
3276
+ ol as VJoyCounter,
3277
+ so as VJoyDropdown,
3201
3278
  lt as VJoyDropdownList,
3202
3279
  ot as VJoyFormError,
3203
- yo as VJoyHighlight,
3280
+ po as VJoyHighlight,
3204
3281
  q as VJoyIcon,
3205
- So as VJoyInput,
3206
- U as VJoyLabel,
3207
- Vo as VJoyLink,
3208
- Co as VJoyMultiCheckbox,
3209
- Ao as VJoyPanel,
3210
- Do as VJoyPanelSection,
3211
- Qo as VJoyRadio,
3212
- Xo as VJoyRadioGroup,
3282
+ $o as VJoyInput,
3283
+ G as VJoyLabel,
3284
+ Oo as VJoyLink,
3285
+ Eo as VJoyMultiCheckbox,
3286
+ No as VJoyPanel,
3287
+ Uo as VJoyPanelSection,
3288
+ Xo as VJoyRadio,
3289
+ la as VJoyRadioGroup,
3213
3290
  _e as VJoyScreenLoader,
3214
- na as VJoySelect,
3291
+ sa as VJoySelect,
3215
3292
  at as VJoySelectableItem,
3216
- ca as VJoySelectableItemGroup,
3293
+ va as VJoySelectableItemGroup,
3217
3294
  ge as VJoySpinner,
3218
3295
  nt as VJoyTag,
3219
- ga as VJoyTagsList,
3220
- Ia as VJoyTemplate,
3221
- Ta as VJoyTextarea,
3222
- Ra as VJoyToggle,
3223
- ya as VJoyWrapper
3296
+ _a as VJoyTagsList,
3297
+ Ba as VJoyTemplate,
3298
+ qa as VJoyTextarea,
3299
+ Wa as VJoyToggle,
3300
+ pa as VJoyWrapper
3224
3301
  };