@iankibetsh/sh-tailwind 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { ShCore as e, getShConfig as t, shApis as n, shRepo as r, shStorage as i, useUserStore as a } from "@iankibetsh/sh-core";
2
- import { Fragment as o, Teleport as s, Transition as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as m, createTextVNode as h, createVNode as g, getCurrentInstance as _, inject as v, mergeProps as y, nextTick as b, normalizeClass as x, normalizeStyle as S, onBeforeUnmount as C, onMounted as w, onScopeDispose as T, openBlock as E, provide as D, reactive as ee, ref as O, renderList as k, renderSlot as A, resolveDynamicComponent as j, toDisplayString as M, unref as N, vModelCheckbox as P, vModelDynamic as F, vModelSelect as I, vModelText as L, vShow as R, watch as z, withCtx as B, withDirectives as V, withModifiers as H } from "vue";
2
+ import { Fragment as o, Teleport as s, Transition as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as m, createTextVNode as h, createVNode as g, getCurrentInstance as _, inject as v, mergeProps as y, nextTick as b, normalizeClass as x, normalizeStyle as S, onBeforeUnmount as C, onMounted as w, onScopeDispose as T, openBlock as E, provide as D, reactive as O, ref as k, renderList as A, renderSlot as j, resolveComponent as M, resolveDynamicComponent as N, toDisplayString as P, unref as F, vModelCheckbox as ee, vModelDynamic as I, vModelSelect as L, vModelText as R, vShow as z, watch as B, withCtx as V, withDirectives as H, withModifiers as U } from "vue";
3
3
  //#region src/theme/defaultTheme.js
4
- var U = {
4
+ var W = {
5
5
  form: {
6
6
  form: "space-y-4",
7
7
  group: "space-y-1",
@@ -146,26 +146,46 @@ var U = {
146
146
  multiCount: "inline-flex items-center justify-center rounded-full bg-blue-600 px-2 py-0.5 text-xs font-semibold text-white",
147
147
  multiBtn: "inline-flex items-center justify-center gap-1 rounded-md border border-blue-200 px-3 py-1.5 text-xs font-medium text-blue-700 hover:bg-blue-50"
148
148
  },
149
+ tabs: {
150
+ nav: "flex flex-wrap items-center gap-1 border-b border-gray-200",
151
+ tab: "group relative -mb-px inline-flex items-center gap-2 border-b-2 border-transparent px-3 py-2 text-sm font-medium text-gray-500 hover:border-gray-300 hover:text-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40 disabled:pointer-events-none disabled:opacity-40",
152
+ tabActive: "group relative -mb-px inline-flex items-center gap-2 border-b-2 border-blue-600 px-3 py-2 text-sm font-medium text-blue-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40",
153
+ icon: "size-4 shrink-0",
154
+ count: "inline-flex min-w-5 items-center justify-center rounded-full bg-gray-100 px-1.5 py-0.5 text-xs font-semibold text-gray-600",
155
+ countActive: "inline-flex min-w-5 items-center justify-center rounded-full bg-blue-100 px-1.5 py-0.5 text-xs font-semibold text-blue-700",
156
+ panel: "pt-4 focus:outline-none",
157
+ empty: "rounded-md bg-amber-50 px-4 py-3 text-sm text-amber-700",
158
+ pills: {
159
+ nav: "flex flex-wrap items-center gap-1.5",
160
+ tab: "inline-flex items-center gap-2 rounded-full px-3.5 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40 disabled:pointer-events-none disabled:opacity-40",
161
+ tabActive: "inline-flex items-center gap-2 rounded-full bg-blue-600 px-3.5 py-1.5 text-sm font-medium text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40"
162
+ },
163
+ boxed: {
164
+ nav: "flex flex-wrap items-center gap-1 border-b border-gray-200",
165
+ tab: "inline-flex items-center gap-2 rounded-t-lg border border-transparent px-3.5 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50 hover:text-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40 disabled:pointer-events-none disabled:opacity-40",
166
+ tabActive: "inline-flex items-center gap-2 -mb-px rounded-t-lg border border-gray-200 border-b-white bg-white px-3.5 py-2 text-sm font-medium text-blue-600 focus:outline-none"
167
+ }
168
+ },
149
169
  buttons: {
150
170
  primary: "inline-flex items-center justify-center gap-2 rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500/40 disabled:opacity-60",
151
171
  secondary: "inline-flex items-center justify-center gap-2 rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none",
152
172
  danger: "inline-flex items-center justify-center gap-2 rounded-md bg-red-600 px-4 py-2 text-sm font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500/40",
153
173
  link: "inline-flex cursor-pointer items-center gap-1 text-sm text-blue-600 hover:underline"
154
174
  }
155
- }, W = Symbol("sh-tw-theme"), te = Symbol("sh-tw-components"), ne = Symbol("sh-dialog-context"), G = (e) => typeof e == "object" && !!e && !Array.isArray(e);
156
- function K(e, t) {
157
- if (!G(e)) return t ?? e;
175
+ }, G = Symbol("sh-tw-theme"), K = Symbol("sh-tw-components"), q = Symbol("sh-dialog-context"), J = (e) => typeof e == "object" && !!e && !Array.isArray(e);
176
+ function te(e, t) {
177
+ if (!J(e)) return t ?? e;
158
178
  let n = { ...e };
159
- return G(t) && Object.keys(t).forEach((r) => {
160
- G(e[r]) && G(t[r]) ? n[r] = K(e[r], t[r]) : n[r] = t[r];
179
+ return J(t) && Object.keys(t).forEach((r) => {
180
+ J(e[r]) && J(t[r]) ? n[r] = te(e[r], t[r]) : n[r] = t[r];
161
181
  }), n;
162
182
  }
163
183
  //#endregion
164
184
  //#region src/plugin/ShTailwind.js
165
- var re = { install(t, n = {}) {
185
+ var ne = { install(t, n = {}) {
166
186
  e.install(t, n);
167
- let r = K(U, n.theme ?? {});
168
- t.provide(W, r), t.provide(te, n.formComponents ?? {}), t.provide("formComponents", n.formComponents ?? {}), t.provide("shFormElementClasses", {
187
+ let r = te(W, n.theme ?? {});
188
+ t.provide(G, r), t.provide(K, n.formComponents ?? {}), t.provide("formComponents", n.formComponents ?? {}), t.provide("shFormElementClasses", {
169
189
  formGroup: r.form.group,
170
190
  formLabel: r.form.label,
171
191
  formControl: r.form.input,
@@ -174,40 +194,40 @@ var re = { install(t, n = {}) {
174
194
  formErrorTitle: r.form.errorTitle,
175
195
  actionBtn: r.form.submitBtn
176
196
  });
177
- } }, ie = (e = {}) => ({ install: (t) => re.install(t, e) });
197
+ } }, Y = (e = {}) => ({ install: (t) => ne.install(t, e) });
178
198
  //#endregion
179
199
  //#region src/theme/useTheme.js
180
- function q(e, t = null) {
181
- let n = v(W, U);
182
- return l(() => K(n[e] ?? U[e], N(t) ?? {}));
200
+ function X(e, t = null) {
201
+ let n = v(G, W);
202
+ return l(() => te(n[e] ?? W[e], F(t) ?? {}));
183
203
  }
184
204
  //#endregion
185
205
  //#region src/composables/useScrollLock.js
186
- var J = 0;
187
- function ae() {
188
- if (++J === 1) {
206
+ var re = 0;
207
+ function ie() {
208
+ if (++re === 1) {
189
209
  let e = window.innerWidth - document.documentElement.clientWidth;
190
210
  e > 0 && (document.body.style.paddingRight = `${e}px`), document.body.style.overflow = "hidden";
191
211
  }
192
212
  }
193
- function oe() {
194
- J > 0 && --J === 0 && (document.body.style.overflow = "", document.body.style.paddingRight = "");
213
+ function Z() {
214
+ re > 0 && --re === 0 && (document.body.style.overflow = "", document.body.style.paddingRight = "");
195
215
  }
196
216
  //#endregion
197
217
  //#region src/composables/useDialog.js
198
- var se = 50, Y = [];
199
- function ce({ isStatic: e, onClose: t, onOpen: n } = {}) {
200
- let r = O(!1), i = O(se), a = null, o = {}, s = (t) => {
201
- t.key === "Escape" && Y[Y.length - 1] === o && (e?.() || l("escape"));
218
+ var ae = 50, oe = [];
219
+ function se({ isStatic: e, onClose: t, onOpen: n } = {}) {
220
+ let r = k(!1), i = k(ae), a = null, o = {}, s = (t) => {
221
+ t.key === "Escape" && oe[oe.length - 1] === o && (e?.() || l("escape"));
202
222
  };
203
223
  function c() {
204
- r.value || (a = document.activeElement, i.value = se + Y.length * 10, Y.push(o), r.value = !0, ae(), document.addEventListener("keydown", s), n?.());
224
+ r.value || (a = document.activeElement, i.value = ae + oe.length * 10, oe.push(o), r.value = !0, ie(), document.addEventListener("keydown", s), n?.());
205
225
  }
206
226
  function l(e = "api") {
207
227
  if (!r.value) return;
208
228
  r.value = !1;
209
- let n = Y.indexOf(o);
210
- n >= 0 && Y.splice(n, 1), oe(), document.removeEventListener("keydown", s), a?.focus?.(), t?.(e);
229
+ let n = oe.indexOf(o);
230
+ n >= 0 && oe.splice(n, 1), Z(), document.removeEventListener("keydown", s), a?.focus?.(), t?.(e);
211
231
  }
212
232
  function u() {
213
233
  e?.() || l("backdrop");
@@ -224,7 +244,7 @@ function ce({ isStatic: e, onClose: t, onOpen: n } = {}) {
224
244
  }
225
245
  //#endregion
226
246
  //#region src/utils/strings.js
227
- var le = (e) => String(e ?? "").replace(/[_-]+/g, " ").replace(/([a-z\d])([A-Z])/g, "$1 $2").trim().split(/\s+/).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" "), ue = {
247
+ var ce = (e) => String(e ?? "").replace(/[_-]+/g, " ").replace(/([a-z\d])([A-Z])/g, "$1 $2").trim().split(/\s+/).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" "), Q = {
228
248
  password: "password",
229
249
  pin: "pin",
230
250
  password_confirmation: "password",
@@ -238,22 +258,22 @@ var le = (e) => String(e ?? "").replace(/[_-]+/g, " ").replace(/([a-z\d])([A-Z])
238
258
  age: "number",
239
259
  date: "date"
240
260
  };
241
- function X(e) {
261
+ function le(e) {
242
262
  if (e.type) return e.type;
243
263
  if (e.component) return "custom";
244
264
  if (e.options) return e.multiple || e.allowCustom ? "suggest" : "select";
245
265
  let t = e.name ?? "";
246
- return ue[t] ? ue[t] : /_email$/.test(t) ? "email" : /_phone$/.test(t) ? "phone" : /(_at|_date|_on)$/.test(t) ? "date" : "text";
266
+ return Q[t] ? Q[t] : /_email$/.test(t) ? "email" : /_phone$/.test(t) ? "phone" : /(_at|_date|_on)$/.test(t) ? "date" : "text";
247
267
  }
248
- function de(e, t = {}) {
268
+ function ue(e, t = {}) {
249
269
  return (e ?? []).map((e) => {
250
270
  let n = typeof e == "string" ? { name: e } : { ...e };
251
- return n.name = n.name ?? n.field, n.name ? (n.type = X(n), n.label !== !1 && (n.label = n.label ?? le(n.name)), n.placeholder = n.placeholder ?? "", n.helper = n.helper ?? "", n.required = !!n.required, n.value = n.value ?? t?.[n.name] ?? null, n) : (console.warn("[sh-tailwind] form field without a name was skipped", e), null);
271
+ return n.name = n.name ?? n.field, n.name ? (n.type = le(n), n.label !== !1 && (n.label = n.label ?? ce(n.name)), n.placeholder = n.placeholder ?? "", n.helper = n.helper ?? "", n.required = !!n.required, n.value = n.value ?? t?.[n.name] ?? null, n) : (console.warn("[sh-tailwind] form field without a name was skipped", e), null);
252
272
  }).filter(Boolean);
253
273
  }
254
274
  //#endregion
255
275
  //#region src/components/form/ShFormSteps.vue
256
- var fe = {
276
+ var de = {
257
277
  key: 0,
258
278
  xmlns: "http://www.w3.org/2000/svg",
259
279
  class: "size-4",
@@ -261,7 +281,7 @@ var fe = {
261
281
  viewBox: "0 0 24 24",
262
282
  stroke: "currentColor",
263
283
  "stroke-width": "2.5"
264
- }, pe = {
284
+ }, fe = {
265
285
  __name: "ShFormSteps",
266
286
  props: {
267
287
  steps: {
@@ -274,35 +294,35 @@ var fe = {
274
294
  }
275
295
  },
276
296
  setup(e) {
277
- let t = q("form");
278
- return (n, r) => (E(), f("div", { class: x(N(t).steps.wrapper) }, [(E(!0), f(o, null, k(e.steps, (n, i) => (E(), f("div", {
297
+ let t = X("form");
298
+ return (n, r) => (E(), f("div", { class: x(F(t).steps.wrapper) }, [(E(!0), f(o, null, A(e.steps, (n, i) => (E(), f("div", {
279
299
  key: i,
280
- class: x(N(t).steps.step)
300
+ class: x(F(t).steps.step)
281
301
  }, [
282
302
  i > 0 ? (E(), f("div", {
283
303
  key: 0,
284
- class: x(i <= e.current ? N(t).steps.connectorDone : N(t).steps.connector)
304
+ class: x(i <= e.current ? F(t).steps.connectorDone : F(t).steps.connector)
285
305
  }, null, 2)) : d("", !0),
286
- p("div", { class: x(i < e.current ? N(t).steps.circleDone : i === e.current ? N(t).steps.circleActive : N(t).steps.circle) }, [i < e.current ? (E(), f("svg", fe, [...r[0] ||= [p("path", {
306
+ p("div", { class: x(i < e.current ? F(t).steps.circleDone : i === e.current ? F(t).steps.circleActive : F(t).steps.circle) }, [i < e.current ? (E(), f("svg", de, [...r[0] ||= [p("path", {
287
307
  "stroke-linecap": "round",
288
308
  "stroke-linejoin": "round",
289
309
  d: "M4.5 12.75l6 6 9-13.5"
290
- }, null, -1)]])) : (E(), f(o, { key: 1 }, [h(M(i + 1), 1)], 64))], 2),
291
- p("span", { class: x(i === e.current ? N(t).steps.titleActive : N(t).steps.title) }, M(n.title), 3)
310
+ }, null, -1)]])) : (E(), f(o, { key: 1 }, [h(P(i + 1), 1)], 64))], 2),
311
+ p("span", { class: x(i === e.current ? F(t).steps.titleActive : F(t).steps.title) }, P(n.title), 3)
292
312
  ], 2))), 128))], 2));
293
313
  }
294
- }, me = (e, t) => {
314
+ }, pe = (e, t) => {
295
315
  let n = e.__vccOpts || e;
296
316
  for (let [e, r] of t) n[e] = r;
297
317
  return n;
298
- }, he = {}, ge = {
318
+ }, me = {}, he = {
299
319
  class: "animate-spin",
300
320
  xmlns: "http://www.w3.org/2000/svg",
301
321
  fill: "none",
302
322
  viewBox: "0 0 24 24"
303
323
  };
304
- function _e(e, t) {
305
- return E(), f("svg", ge, [...t[0] ||= [p("circle", {
324
+ function ge(e, t) {
325
+ return E(), f("svg", he, [...t[0] ||= [p("circle", {
306
326
  class: "opacity-25",
307
327
  cx: "12",
308
328
  cy: "12",
@@ -315,7 +335,7 @@ function _e(e, t) {
315
335
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
316
336
  }, null, -1)]]);
317
337
  }
318
- var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"], Z = {
338
+ var _e = /*#__PURE__*/ pe(me, [["render", ge]]), ve = ["placeholder", "disabled"], ye = {
319
339
  __name: "TextInput",
320
340
  props: {
321
341
  modelValue: [String, Number],
@@ -329,13 +349,13 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
329
349
  get: () => n.modelValue,
330
350
  set: (e) => r("update:modelValue", e)
331
351
  });
332
- return (t, n) => V((E(), f("input", {
352
+ return (t, n) => H((E(), f("input", {
333
353
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
334
354
  type: "text",
335
355
  placeholder: e.placeholder,
336
356
  disabled: e.disabled,
337
357
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
338
- }, null, 40, ye)), [[L, i.value]]);
358
+ }, null, 40, ve)), [[R, i.value]]);
339
359
  }
340
360
  }, be = [
341
361
  "rows",
@@ -359,15 +379,15 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
359
379
  get: () => n.modelValue,
360
380
  set: (e) => r("update:modelValue", e)
361
381
  });
362
- return (t, n) => V((E(), f("textarea", {
382
+ return (t, n) => H((E(), f("textarea", {
363
383
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
364
384
  rows: e.rows,
365
385
  placeholder: e.placeholder,
366
386
  disabled: e.disabled,
367
387
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
368
- }, null, 40, be)), [[L, i.value]]);
388
+ }, null, 40, be)), [[R, i.value]]);
369
389
  }
370
- }, Q = ["placeholder", "disabled"], Se = {
390
+ }, Se = ["placeholder", "disabled"], Ce = {
371
391
  __name: "EmailInput",
372
392
  props: {
373
393
  modelValue: String,
@@ -381,21 +401,21 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
381
401
  get: () => n.modelValue,
382
402
  set: (e) => r("update:modelValue", e)
383
403
  });
384
- return (t, n) => V((E(), f("input", {
404
+ return (t, n) => H((E(), f("input", {
385
405
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
386
406
  type: "email",
387
407
  autocomplete: "email",
388
408
  placeholder: e.placeholder,
389
409
  disabled: e.disabled,
390
410
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
391
- }, null, 40, Q)), [[L, i.value]]);
411
+ }, null, 40, Se)), [[R, i.value]]);
392
412
  }
393
- }, Ce = [
413
+ }, we = [
394
414
  "type",
395
415
  "autocomplete",
396
416
  "placeholder",
397
417
  "disabled"
398
- ], we = {
418
+ ], $ = {
399
419
  key: 0,
400
420
  xmlns: "http://www.w3.org/2000/svg",
401
421
  class: "size-4",
@@ -403,7 +423,7 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
403
423
  viewBox: "0 0 24 24",
404
424
  stroke: "currentColor",
405
425
  "stroke-width": "1.5"
406
- }, $ = {
426
+ }, Te = {
407
427
  key: 1,
408
428
  xmlns: "http://www.w3.org/2000/svg",
409
429
  class: "size-4",
@@ -411,7 +431,7 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
411
431
  viewBox: "0 0 24 24",
412
432
  stroke: "currentColor",
413
433
  "stroke-width": "1.5"
414
- }, Te = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
434
+ }, Ee = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
415
435
  __name: "PasswordInput",
416
436
  props: {
417
437
  modelValue: String,
@@ -425,11 +445,11 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
425
445
  },
426
446
  emits: ["update:modelValue", "clearValidationErrors"],
427
447
  setup(e, { emit: t }) {
428
- let n = e, r = t, i = q("inputs"), a = O(!1), o = l({
448
+ let n = e, r = t, i = X("inputs"), a = k(!1), o = l({
429
449
  get: () => n.modelValue,
430
450
  set: (e) => r("update:modelValue", e)
431
451
  });
432
- return (t, n) => (E(), f("div", { class: x(N(i).passwordWrapper) }, [V(p("input", y(t.$attrs, {
452
+ return (t, n) => (E(), f("div", { class: x(F(i).passwordWrapper) }, [H(p("input", y(t.$attrs, {
433
453
  "onUpdate:modelValue": n[0] ||= (e) => o.value = e,
434
454
  type: a.value ? "text" : "password",
435
455
  autocomplete: e.autocomplete,
@@ -437,16 +457,16 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
437
457
  disabled: e.disabled,
438
458
  class: "pr-9",
439
459
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
440
- }), null, 16, Ce), [[F, o.value]]), p("button", {
460
+ }), null, 16, we), [[I, o.value]]), p("button", {
441
461
  type: "button",
442
- class: x(N(i).passwordToggle),
462
+ class: x(F(i).passwordToggle),
443
463
  tabindex: "-1",
444
464
  onClick: n[2] ||= (e) => a.value = !a.value
445
- }, [a.value ? (E(), f("svg", $, [...n[4] ||= [p("path", {
465
+ }, [a.value ? (E(), f("svg", Te, [...n[4] ||= [p("path", {
446
466
  "stroke-linecap": "round",
447
467
  "stroke-linejoin": "round",
448
468
  d: "M3.98 8.22A10.48 10.48 0 002.04 11.68a1.01 1.01 0 000 .64C3.42 16.49 7.36 19.5 12 19.5c.99 0 1.95-.14 2.86-.39M6.23 6.23A10.45 10.45 0 0112 4.5c4.64 0 8.57 3.01 9.96 7.18.07.21.07.43 0 .64a10.5 10.5 0 01-4.19 5.45M6.23 6.23L3 3m3.23 3.23l3.65 3.65m7.89 7.89L21 21m-3.23-3.23l-3.65-3.65m0 0a3 3 0 10-4.24-4.24m4.24 4.24L9.88 9.88"
449
- }, null, -1)]])) : (E(), f("svg", we, [...n[3] ||= [p("path", {
469
+ }, null, -1)]])) : (E(), f("svg", $, [...n[3] ||= [p("path", {
450
470
  "stroke-linecap": "round",
451
471
  "stroke-linejoin": "round",
452
472
  d: "M2.04 12.32a1.01 1.01 0 010-.64C3.42 7.51 7.36 4.5 12 4.5c4.64 0 8.57 3.01 9.96 7.18.07.21.07.43 0 .64C20.58 16.49 16.64 19.5 12 19.5c-4.64 0-8.57-3.01-9.96-7.18z"
@@ -456,13 +476,13 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
456
476
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
457
477
  }, null, -1)]]))], 2)], 2));
458
478
  }
459
- }), Ee = [
479
+ }), De = [
460
480
  "value",
461
481
  "type",
462
482
  "disabled",
463
483
  "onInput",
464
484
  "onKeydown"
465
- ], De = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
485
+ ], Oe = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
466
486
  __name: "PinInput",
467
487
  props: {
468
488
  modelValue: [String, Number],
@@ -480,11 +500,11 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
480
500
  "complete"
481
501
  ],
482
502
  setup(e, { emit: t }) {
483
- let n = e, r = t, i = q("inputs"), a = l(() => Math.max(1, parseInt(n.length) || 4)), s = O([]), c = O([]), u = (e) => {
503
+ let n = e, r = t, i = X("inputs"), a = l(() => Math.max(1, parseInt(n.length) || 4)), s = k([]), c = k([]), u = (e) => {
484
504
  let t = String(e ?? "").replace(/\D/g, "").slice(0, a.value).split("");
485
505
  c.value = Array.from({ length: a.value }, (e, n) => t[n] ?? "");
486
506
  };
487
- u(n.modelValue), z(a, () => u(n.modelValue)), z(() => n.modelValue, (e) => {
507
+ u(n.modelValue), B(a, () => u(n.modelValue)), B(() => n.modelValue, (e) => {
488
508
  e !== c.value.join("") && u(e);
489
509
  });
490
510
  let d = () => {
@@ -515,7 +535,7 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
515
535
  let t = (e.clipboardData?.getData("text") ?? "").replace(/\D/g, "").slice(0, a.value);
516
536
  u(t), d(), p(Math.min(t.length, a.value - 1));
517
537
  }, _ = (e) => n.isInvalid ? i.value.pin.boxInvalid : c.value[e] ? i.value.pin.boxFilled : i.value.pin.box;
518
- return (t, n) => (E(), f("div", { class: x(N(i).pin.wrapper) }, [(E(!0), f(o, null, k(c.value, (t, i) => (E(), f("input", {
538
+ return (t, n) => (E(), f("div", { class: x(F(i).pin.wrapper) }, [(E(!0), f(o, null, A(c.value, (t, i) => (E(), f("input", {
519
539
  key: i,
520
540
  ref_for: !0,
521
541
  ref: (e) => s.value[i] = e,
@@ -532,26 +552,26 @@ var ve = /*#__PURE__*/ me(he, [["render", _e]]), ye = ["placeholder", "disabled"
532
552
  onFocus: n[0] ||= (e) => {
533
553
  e.target.select(), r("clearValidationErrors");
534
554
  }
535
- }, null, 42, Ee))), 128))], 2));
555
+ }, null, 42, De))), 128))], 2));
536
556
  }
537
- }), Oe = {
557
+ }), ke = {
538
558
  "#": /[0-9]/,
539
559
  A: /[a-zA-Z]/,
540
560
  N: /[a-zA-Z0-9]/,
541
561
  "*": /[a-zA-Z0-9]/
542
- }, ke = [
562
+ }, Ae = [
543
563
  "money",
544
564
  "integer",
545
565
  "number",
546
566
  "decimal"
547
567
  ];
548
- function Ae(e) {
549
- return typeof e == "string" && ke.includes(e);
568
+ function je(e) {
569
+ return typeof e == "string" && Ae.includes(e);
550
570
  }
551
- function je(e, t, { unmask: n = !1 } = {}) {
571
+ function Me(e, t, { unmask: n = !1 } = {}) {
552
572
  let r = String(e ?? "").split(""), i = "", a = "", o = 0;
553
573
  for (let e = 0; e < t.length; e++) {
554
- let n = Oe[t[e]];
574
+ let n = ke[t[e]];
555
575
  if (n) {
556
576
  for (; o < r.length && !n.test(r[o]);) o++;
557
577
  if (o >= r.length) break;
@@ -563,7 +583,7 @@ function je(e, t, { unmask: n = !1 } = {}) {
563
583
  model: n ? a : i
564
584
  };
565
585
  }
566
- function Me(e, { decimals: t = 2, prefix: n = "", suffix: r = "", integer: i = !1 } = {}) {
586
+ function Ne(e, { decimals: t = 2, prefix: n = "", suffix: r = "", integer: i = !1 } = {}) {
567
587
  let a = String(e ?? "").replace(/[^0-9.]/g, ""), o = a.indexOf(".");
568
588
  o !== -1 && (a = a.slice(0, o + 1) + a.slice(o + 1).replace(/\./g, "")), i && (a = a.split(".")[0]);
569
589
  let [s = "", c] = a.split(".");
@@ -574,7 +594,7 @@ function Me(e, { decimals: t = 2, prefix: n = "", suffix: r = "", integer: i = !
574
594
  model: f
575
595
  };
576
596
  }
577
- function Ne(e, t) {
597
+ function Pe(e, t) {
578
598
  if (typeof t == "function") {
579
599
  let n = t(e) ?? "";
580
600
  return {
@@ -582,24 +602,24 @@ function Ne(e, t) {
582
602
  model: String(n)
583
603
  };
584
604
  }
585
- return t && typeof t == "object" ? t.pattern ? je(e, t.pattern, t) : Me(e, t) : Ae(t) ? Me(e, {
605
+ return t && typeof t == "object" ? t.pattern ? Me(e, t.pattern, t) : Ne(e, t) : je(t) ? Ne(e, {
586
606
  integer: t === "integer" || t === "number",
587
607
  decimals: t === "integer" || t === "number" ? 0 : 2
588
- }) : je(e, String(t));
608
+ }) : Me(e, String(t));
589
609
  }
590
- function Pe(e) {
591
- if (Ae(e) || e && typeof e == "object" && !e.pattern) return "decimal";
610
+ function Fe(e) {
611
+ if (je(e) || e && typeof e == "object" && !e.pattern) return "decimal";
592
612
  let t = typeof e == "string" ? e : e && e.pattern;
593
613
  return typeof t == "string" && /^[#\s().+-]*$/.test(t) ? "numeric" : "text";
594
614
  }
595
615
  //#endregion
596
616
  //#region src/components/form/inputs/MaskedInput.vue
597
- var Fe = [
617
+ var Ie = [
598
618
  "value",
599
619
  "inputmode",
600
620
  "placeholder",
601
621
  "disabled"
602
- ], Ie = {
622
+ ], Le = {
603
623
  __name: "MaskedInput",
604
624
  props: {
605
625
  modelValue: [String, Number],
@@ -617,14 +637,14 @@ var Fe = [
617
637
  },
618
638
  emits: ["update:modelValue", "clearValidationErrors"],
619
639
  setup(e, { emit: t }) {
620
- let n = e, r = t, i = O(""), a = (e) => {
621
- let { display: t } = Ne(e, n.mask);
640
+ let n = e, r = t, i = k(""), a = (e) => {
641
+ let { display: t } = Pe(e, n.mask);
622
642
  t !== i.value && (i.value = t);
623
643
  };
624
- z(() => n.modelValue, a, { immediate: !0 }), z(() => n.mask, () => a(n.modelValue));
644
+ B(() => n.modelValue, a, { immediate: !0 }), B(() => n.mask, () => a(n.modelValue));
625
645
  let o = (e) => {
626
646
  r("clearValidationErrors");
627
- let t = e.target, a = t.selectionStart ?? t.value.length, o = t.value.length, { display: s, model: c } = Ne(t.value, n.mask);
647
+ let t = e.target, a = t.selectionStart ?? t.value.length, o = t.value.length, { display: s, model: c } = Pe(t.value, n.mask);
628
648
  i.value = s, r("update:modelValue", c), b(() => {
629
649
  if (t.type !== "text" && t.type !== "tel") return;
630
650
  let e = a + (s.length - o);
@@ -637,20 +657,20 @@ var Fe = [
637
657
  return (t, n) => (E(), f("input", {
638
658
  value: i.value,
639
659
  type: "text",
640
- inputmode: N(Pe)(e.mask),
660
+ inputmode: F(Fe)(e.mask),
641
661
  placeholder: e.placeholder,
642
662
  disabled: e.disabled,
643
663
  onInput: o,
644
664
  onFocus: n[0] ||= (e) => r("clearValidationErrors")
645
- }, null, 40, Fe));
665
+ }, null, 40, Ie));
646
666
  }
647
- }, Le = [
667
+ }, Re = [
648
668
  "min",
649
669
  "max",
650
670
  "step",
651
671
  "placeholder",
652
672
  "disabled"
653
- ], Re = {
673
+ ], ze = {
654
674
  __name: "NumberInput",
655
675
  props: {
656
676
  modelValue: [String, Number],
@@ -667,7 +687,7 @@ var Fe = [
667
687
  get: () => n.modelValue,
668
688
  set: (e) => r("update:modelValue", e)
669
689
  });
670
- return (t, n) => V((E(), f("input", {
690
+ return (t, n) => H((E(), f("input", {
671
691
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
672
692
  type: "number",
673
693
  min: e.min,
@@ -676,14 +696,14 @@ var Fe = [
676
696
  placeholder: e.placeholder,
677
697
  disabled: e.disabled,
678
698
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
679
- }, null, 40, Le)), [[L, i.value]]);
699
+ }, null, 40, Re)), [[R, i.value]]);
680
700
  }
681
- }, ze = [
701
+ }, Be = [
682
702
  "type",
683
703
  "min",
684
704
  "max",
685
705
  "disabled"
686
- ], Be = {
706
+ ], Ve = {
687
707
  __name: "DateInput",
688
708
  props: {
689
709
  modelValue: String,
@@ -699,19 +719,19 @@ var Fe = [
699
719
  get: () => n.modelValue,
700
720
  set: (e) => r("update:modelValue", e)
701
721
  });
702
- return (t, n) => V((E(), f("input", {
722
+ return (t, n) => H((E(), f("input", {
703
723
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
704
724
  type: e.withTime ? "datetime-local" : "date",
705
725
  min: e.min,
706
726
  max: e.max,
707
727
  disabled: e.disabled,
708
728
  onFocus: n[1] ||= (e) => r("clearValidationErrors")
709
- }, null, 40, ze)), [[F, i.value]]);
729
+ }, null, 40, Be)), [[I, i.value]]);
710
730
  }
711
731
  };
712
732
  //#endregion
713
733
  //#region src/utils/normalizeOptions.js
714
- function Ve(e) {
734
+ function He(e) {
715
735
  return Array.isArray(e) ? e.map((e) => {
716
736
  if (e == null) return null;
717
737
  if (typeof e != "object") return {
@@ -728,10 +748,10 @@ function Ve(e) {
728
748
  }
729
749
  //#endregion
730
750
  //#region src/components/form/inputs/SelectInput.vue
731
- var He = ["disabled"], Ue = {
751
+ var Ue = ["disabled"], We = {
732
752
  value: null,
733
753
  disabled: ""
734
- }, We = ["value"], Ge = {
754
+ }, Ge = ["value"], Ke = {
735
755
  __name: "SelectInput",
736
756
  props: {
737
757
  modelValue: [String, Number],
@@ -743,7 +763,7 @@ var He = ["disabled"], Ue = {
743
763
  },
744
764
  emits: ["update:modelValue", "clearValidationErrors"],
745
765
  setup(e, { emit: t }) {
746
- let r = e, i = t, a = O([]), s = O(!1), c = l(() => Ve(r.options ?? a.value)), u = l({
766
+ let r = e, i = t, a = k([]), s = k(!1), c = l(() => He(r.options ?? a.value)), u = l({
747
767
  get: () => r.modelValue,
748
768
  set: (e) => i("update:modelValue", e)
749
769
  });
@@ -753,16 +773,16 @@ var He = ["disabled"], Ue = {
753
773
  }).finally(() => {
754
774
  s.value = !1;
755
775
  }));
756
- }), (t, n) => V((E(), f("select", {
776
+ }), (t, n) => H((E(), f("select", {
757
777
  "onUpdate:modelValue": n[0] ||= (e) => u.value = e,
758
778
  disabled: e.disabled || s.value,
759
779
  onFocus: n[1] ||= (e) => i("clearValidationErrors")
760
- }, [p("option", Ue, M(s.value ? "Loading..." : e.placeholder || "Select..."), 1), (E(!0), f(o, null, k(c.value, (e) => (E(), f("option", {
780
+ }, [p("option", We, P(s.value ? "Loading..." : e.placeholder || "Select..."), 1), (E(!0), f(o, null, A(c.value, (e) => (E(), f("option", {
761
781
  key: e.id,
762
782
  value: e.id
763
- }, M(e.label), 9, We))), 128))], 40, He)), [[I, u.value]]);
783
+ }, P(e.label), 9, Ge))), 128))], 40, Ue)), [[L, u.value]]);
764
784
  }
765
- }, Ke = [
785
+ }, qe = [
766
786
  {
767
787
  name: "Afghanistan",
768
788
  dialCode: "+93",
@@ -2233,11 +2253,11 @@ var He = ["disabled"], Ue = {
2233
2253
  isoCode: "ZW",
2234
2254
  flag: "https://www.countryflags.io/ZW/flat/64.png"
2235
2255
  }
2236
- ], qe = ["disabled", "aria-expanded"], Je = ["placeholder", "disabled"], Ye = [
2256
+ ], Je = ["disabled", "aria-expanded"], Ye = ["placeholder", "disabled"], Xe = [
2237
2257
  "aria-selected",
2238
2258
  "onPointerdown",
2239
2259
  "onMouseenter"
2240
- ], Xe = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
2260
+ ], Ze = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
2241
2261
  __name: "PhoneInput",
2242
2262
  props: {
2243
2263
  modelValue: String,
@@ -2255,13 +2275,13 @@ var He = ["disabled"], Ue = {
2255
2275
  },
2256
2276
  emits: ["update:modelValue", "clearValidationErrors"],
2257
2277
  setup(e, { emit: t }) {
2258
- let r = e, i = t, a = q("inputs"), s = O(null), c = O(null), u = O(""), m = O(!1), h = O(""), g = O(-1), _ = O(Ke.find((e) => e.isoCode === r.countryCode.toUpperCase()) ?? Ke[0]), v = (e) => String(e ?? "").toUpperCase().split("").map((e) => String.fromCodePoint(127462 + e.charCodeAt(0) - 65)).join(""), y = l(() => {
2278
+ let r = e, i = t, a = X("inputs"), s = k(null), c = k(null), u = k(""), m = k(!1), h = k(""), g = k(-1), _ = k(qe.find((e) => e.isoCode === r.countryCode.toUpperCase()) ?? qe[0]), v = (e) => String(e ?? "").toUpperCase().split("").map((e) => String.fromCodePoint(127462 + e.charCodeAt(0) - 65)).join(""), y = l(() => {
2259
2279
  let e = h.value.trim().toLowerCase();
2260
- return e ? Ke.filter((t) => t.name.toLowerCase().includes(e) || t.dialCode.includes(e) || t.isoCode.toLowerCase().includes(e)) : Ke;
2280
+ return e ? qe.filter((t) => t.name.toLowerCase().includes(e) || t.dialCode.includes(e) || t.isoCode.toLowerCase().includes(e)) : qe;
2261
2281
  }), S = async () => {
2262
2282
  r.disabled || (m.value = !m.value, m.value && (h.value = "", g.value = -1, await b(), c.value?.focus()));
2263
2283
  }, T = (e) => {
2264
- _.value = e, m.value = !1, ee();
2284
+ _.value = e, m.value = !1, O();
2265
2285
  }, D = (e) => {
2266
2286
  if (e.key === "ArrowDown") e.preventDefault(), g.value = Math.min(g.value + 1, y.value.length - 1);
2267
2287
  else if (e.key === "ArrowUp") e.preventDefault(), g.value = Math.max(g.value - 1, 0);
@@ -2270,46 +2290,46 @@ var He = ["disabled"], Ue = {
2270
2290
  let t = y.value[Math.max(g.value, 0)];
2271
2291
  t && T(t);
2272
2292
  } else e.key === "Escape" && (m.value = !1);
2273
- }, ee = () => {
2293
+ }, O = () => {
2274
2294
  let e = (u.value || "").replace(/^0/, "");
2275
2295
  i("update:modelValue", e ? _.value.dialCode + e : "");
2276
- }, A = (e) => {
2296
+ }, j = (e) => {
2277
2297
  if (!e) {
2278
2298
  u.value = "";
2279
2299
  return;
2280
2300
  }
2281
- let t = Ke.find((t) => e.startsWith(t.dialCode));
2301
+ let t = qe.find((t) => e.startsWith(t.dialCode));
2282
2302
  t ? (_.value = t, u.value = e.replace(t.dialCode, "")) : u.value = e;
2283
2303
  };
2284
- z(() => r.modelValue, A);
2285
- let j = (e) => {
2304
+ B(() => r.modelValue, j);
2305
+ let M = (e) => {
2286
2306
  s.value && !s.value.contains(e.target) && (m.value = !1);
2287
2307
  };
2288
2308
  return w(() => {
2289
- document.addEventListener("pointerdown", j), A(r.modelValue), r.detectCountry && !r.modelValue && n.doGet("sh-country-code").then((e) => {
2290
- let t = e.data?.countryCode, n = t && Ke.find((e) => e.isoCode === t.toUpperCase());
2309
+ document.addEventListener("pointerdown", M), j(r.modelValue), r.detectCountry && !r.modelValue && n.doGet("sh-country-code").then((e) => {
2310
+ let t = e.data?.countryCode, n = t && qe.find((e) => e.isoCode === t.toUpperCase());
2291
2311
  n && (_.value = n);
2292
2312
  }).catch(() => {});
2293
2313
  }), C(() => {
2294
- document.removeEventListener("pointerdown", j);
2314
+ document.removeEventListener("pointerdown", M);
2295
2315
  }), (t, n) => (E(), f("div", {
2296
2316
  ref_key: "root",
2297
2317
  ref: s,
2298
- class: x([N(a).phone.wrapper, e.isInvalid ? "border-red-500 focus-within:ring-red-500/30" : ""])
2318
+ class: x([F(a).phone.wrapper, e.isInvalid ? "border-red-500 focus-within:ring-red-500/30" : ""])
2299
2319
  }, [
2300
2320
  p("button", {
2301
2321
  type: "button",
2302
- class: x(N(a).phone.trigger),
2322
+ class: x(F(a).phone.trigger),
2303
2323
  disabled: e.disabled,
2304
2324
  "aria-haspopup": "listbox",
2305
2325
  "aria-expanded": m.value,
2306
2326
  onClick: S
2307
2327
  }, [
2308
- p("span", { class: x(N(a).phone.flag) }, M(v(_.value.isoCode)), 3),
2309
- p("span", { class: x(N(a).phone.dial) }, M(_.value.dialCode), 3),
2328
+ p("span", { class: x(F(a).phone.flag) }, P(v(_.value.isoCode)), 3),
2329
+ p("span", { class: x(F(a).phone.dial) }, P(_.value.dialCode), 3),
2310
2330
  (E(), f("svg", {
2311
2331
  xmlns: "http://www.w3.org/2000/svg",
2312
- class: x(N(a).phone.chevron),
2332
+ class: x(F(a).phone.chevron),
2313
2333
  fill: "none",
2314
2334
  viewBox: "0 0 24 24",
2315
2335
  stroke: "currentColor",
@@ -2319,50 +2339,50 @@ var He = ["disabled"], Ue = {
2319
2339
  "stroke-linejoin": "round",
2320
2340
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
2321
2341
  }, null, -1)]], 2))
2322
- ], 10, qe),
2323
- V(p("input", {
2342
+ ], 10, Je),
2343
+ H(p("input", {
2324
2344
  "onUpdate:modelValue": n[0] ||= (e) => u.value = e,
2325
2345
  type: "tel",
2326
- class: x(N(a).phone.input),
2346
+ class: x(F(a).phone.input),
2327
2347
  placeholder: e.placeholder,
2328
2348
  disabled: e.disabled,
2329
- onInput: ee,
2349
+ onInput: O,
2330
2350
  onFocus: n[1] ||= (e) => i("clearValidationErrors")
2331
- }, null, 42, Je), [[L, u.value]]),
2351
+ }, null, 42, Ye), [[R, u.value]]),
2332
2352
  m.value ? (E(), f("div", {
2333
2353
  key: 0,
2334
- class: x(N(a).phone.dropdown)
2335
- }, [V(p("input", {
2354
+ class: x(F(a).phone.dropdown)
2355
+ }, [H(p("input", {
2336
2356
  ref_key: "searchEl",
2337
2357
  ref: c,
2338
2358
  "onUpdate:modelValue": n[2] ||= (e) => h.value = e,
2339
2359
  type: "text",
2340
- class: x(N(a).phone.search),
2360
+ class: x(F(a).phone.search),
2341
2361
  placeholder: "Search country or code...",
2342
2362
  onKeydown: D,
2343
2363
  onInput: n[3] ||= (e) => g.value = 0
2344
- }, null, 34), [[L, h.value]]), p("div", {
2345
- class: x(N(a).phone.list),
2364
+ }, null, 34), [[R, h.value]]), p("div", {
2365
+ class: x(F(a).phone.list),
2346
2366
  role: "listbox"
2347
- }, [(E(!0), f(o, null, k(y.value, (e, t) => (E(), f("button", {
2367
+ }, [(E(!0), f(o, null, A(y.value, (e, t) => (E(), f("button", {
2348
2368
  key: e.isoCode,
2349
2369
  type: "button",
2350
2370
  role: "option",
2351
2371
  "aria-selected": e.isoCode === _.value.isoCode,
2352
- class: x(t === g.value ? N(a).phone.optionActive : N(a).phone.option),
2353
- onPointerdown: H((t) => T(e), ["prevent"]),
2372
+ class: x(t === g.value ? F(a).phone.optionActive : F(a).phone.option),
2373
+ onPointerdown: U((t) => T(e), ["prevent"]),
2354
2374
  onMouseenter: (e) => g.value = t
2355
2375
  }, [
2356
- p("span", { class: x(N(a).phone.flag) }, M(v(e.isoCode)), 3),
2357
- p("span", { class: x(N(a).phone.optionName) }, M(e.name), 3),
2358
- p("span", { class: x(N(a).phone.optionDial) }, M(e.dialCode), 3)
2359
- ], 42, Ye))), 128)), y.value.length ? d("", !0) : (E(), f("p", {
2376
+ p("span", { class: x(F(a).phone.flag) }, P(v(e.isoCode)), 3),
2377
+ p("span", { class: x(F(a).phone.optionName) }, P(e.name), 3),
2378
+ p("span", { class: x(F(a).phone.optionDial) }, P(e.dialCode), 3)
2379
+ ], 42, Xe))), 128)), y.value.length ? d("", !0) : (E(), f("p", {
2360
2380
  key: 0,
2361
- class: x(N(a).phone.empty)
2362
- }, "No country matches \"" + M(h.value) + "\"", 3))], 2)], 2)) : d("", !0)
2381
+ class: x(F(a).phone.empty)
2382
+ }, "No country matches \"" + P(h.value) + "\"", 3))], 2)], 2)) : d("", !0)
2363
2383
  ], 2));
2364
2384
  }
2365
- }), Ze = ["onClick"], Qe = ["placeholder", "disabled"], $e = ["onPointerdown", "onMouseenter"], et = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
2385
+ }), Qe = ["onClick"], $e = ["placeholder", "disabled"], et = ["onPointerdown", "onMouseenter"], tt = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
2366
2386
  __name: "ShSuggest",
2367
2387
  props: {
2368
2388
  modelValue: [
@@ -2384,8 +2404,8 @@ var He = ["disabled"], Ue = {
2384
2404
  },
2385
2405
  emits: ["update:modelValue", "clearValidationErrors"],
2386
2406
  setup(e, { emit: t }) {
2387
- let r = e, i = t, a = q("inputs"), s = O(null), c = O(""), m = O(!1), g = O(!1), _ = O(-1), v = O([]), b = O([]), S = l(() => {
2388
- let e = Ve(r.options ?? v.value), t = new Set(b.value.map((e) => e.id)), n = e.filter((e) => !t.has(e.id));
2407
+ let r = e, i = t, a = X("inputs"), s = k(null), c = k(""), m = k(!1), g = k(!1), _ = k(-1), v = k([]), b = k([]), S = l(() => {
2408
+ let e = He(r.options ?? v.value), t = new Set(b.value.map((e) => e.id)), n = e.filter((e) => !t.has(e.id));
2389
2409
  if (r.options && c.value) {
2390
2410
  let e = c.value.toLowerCase();
2391
2411
  n = n.filter((t) => t.label.toLowerCase().includes(e));
@@ -2402,88 +2422,88 @@ var He = ["disabled"], Ue = {
2402
2422
  g.value = !1;
2403
2423
  });
2404
2424
  }, 300));
2405
- }, ee = () => {
2425
+ }, O = () => {
2406
2426
  r.multiple ? i("update:modelValue", b.value.map((e) => e.id)) : i("update:modelValue", b.value[0]?.id ?? null);
2407
- }, A = (e) => {
2408
- r.multiple ? b.value.push(e) : (b.value = [e], m.value = !1), c.value = "", _.value = -1, ee();
2409
- }, P = (e) => {
2410
- b.value = b.value.filter((t) => t.id !== e.id), ee();
2411
- }, F = () => {
2412
- !r.allowCustom || !c.value || A({
2427
+ }, j = (e) => {
2428
+ r.multiple ? b.value.push(e) : (b.value = [e], m.value = !1), c.value = "", _.value = -1, O();
2429
+ }, M = (e) => {
2430
+ b.value = b.value.filter((t) => t.id !== e.id), O();
2431
+ }, ee = () => {
2432
+ !r.allowCustom || !c.value || j({
2413
2433
  id: c.value,
2414
2434
  label: c.value
2415
2435
  });
2416
2436
  }, I = () => {
2417
2437
  m.value = !0, i("clearValidationErrors"), r.url && D();
2418
- }, R = (e) => {
2419
- e.key === "ArrowDown" ? (e.preventDefault(), m.value = !0, _.value = Math.min(_.value + 1, S.value.length - 1)) : e.key === "ArrowUp" ? (e.preventDefault(), _.value = Math.max(_.value - 1, 0)) : e.key === "Enter" ? (e.preventDefault(), _.value >= 0 && S.value[_.value] ? A(S.value[_.value]) : F()) : e.key === "Escape" ? m.value = !1 : e.key === "Backspace" && !c.value && b.value.length && P(b.value[b.value.length - 1]);
2420
- }, B = () => {
2438
+ }, L = (e) => {
2439
+ e.key === "ArrowDown" ? (e.preventDefault(), m.value = !0, _.value = Math.min(_.value + 1, S.value.length - 1)) : e.key === "ArrowUp" ? (e.preventDefault(), _.value = Math.max(_.value - 1, 0)) : e.key === "Enter" ? (e.preventDefault(), _.value >= 0 && S.value[_.value] ? j(S.value[_.value]) : ee()) : e.key === "Escape" ? m.value = !1 : e.key === "Backspace" && !c.value && b.value.length && M(b.value[b.value.length - 1]);
2440
+ }, z = () => {
2421
2441
  let e = r.modelValue;
2422
2442
  if (e == null || e === "") return;
2423
- let t = Array.isArray(e) ? e : [e], n = Ve(r.options ?? v.value);
2443
+ let t = Array.isArray(e) ? e : [e], n = He(r.options ?? v.value);
2424
2444
  b.value = t.map((e) => n.find((t) => t.id === e) ?? {
2425
2445
  id: e,
2426
2446
  label: String(e)
2427
2447
  });
2428
- }, U = (e) => {
2448
+ }, V = (e) => {
2429
2449
  s.value && !s.value.contains(e.target) && (m.value = !1);
2430
2450
  };
2431
- return z(() => r.options, B), w(() => {
2432
- document.addEventListener("pointerdown", U), B(), r.url && !r.options && D();
2451
+ return B(() => r.options, z), w(() => {
2452
+ document.addEventListener("pointerdown", V), z(), r.url && !r.options && D();
2433
2453
  }), C(() => {
2434
- document.removeEventListener("pointerdown", U), clearTimeout(T);
2454
+ document.removeEventListener("pointerdown", V), clearTimeout(T);
2435
2455
  }), (t, n) => (E(), f("div", {
2436
2456
  ref_key: "root",
2437
2457
  ref: s,
2438
- class: x(N(a).suggest.wrapper)
2458
+ class: x(F(a).suggest.wrapper)
2439
2459
  }, [
2440
2460
  e.multiple && b.value.length ? (E(), f("div", {
2441
2461
  key: 0,
2442
- class: x(N(a).suggest.badges)
2443
- }, [(E(!0), f(o, null, k(b.value, (e) => (E(), f("span", {
2462
+ class: x(F(a).suggest.badges)
2463
+ }, [(E(!0), f(o, null, A(b.value, (e) => (E(), f("span", {
2444
2464
  key: e.id,
2445
- class: x(N(a).suggest.badge)
2446
- }, [h(M(e.label) + " ", 1), p("span", {
2447
- class: x(N(a).suggest.badgeRemove),
2448
- onClick: (t) => P(e)
2449
- }, "×", 10, Ze)], 2))), 128))], 2)) : d("", !0),
2450
- V(p("input", y(t.$attrs, {
2465
+ class: x(F(a).suggest.badge)
2466
+ }, [h(P(e.label) + " ", 1), p("span", {
2467
+ class: x(F(a).suggest.badgeRemove),
2468
+ onClick: (t) => M(e)
2469
+ }, "×", 10, Qe)], 2))), 128))], 2)) : d("", !0),
2470
+ H(p("input", y(t.$attrs, {
2451
2471
  "onUpdate:modelValue": n[0] ||= (e) => c.value = e,
2452
2472
  type: "text",
2453
2473
  placeholder: !e.multiple && b.value.length ? b.value[0].label : e.placeholder,
2454
2474
  disabled: e.disabled,
2455
2475
  autocomplete: "off",
2456
2476
  onInput: I,
2457
- onKeydown: R,
2477
+ onKeydown: L,
2458
2478
  onFocus: n[1] ||= (e) => {
2459
2479
  m.value = !0, i("clearValidationErrors");
2460
2480
  }
2461
- }), null, 16, Qe), [[L, c.value]]),
2481
+ }), null, 16, $e), [[R, c.value]]),
2462
2482
  m.value && !e.disabled ? (E(), f("div", {
2463
2483
  key: 1,
2464
- class: x(N(a).suggest.dropdown)
2484
+ class: x(F(a).suggest.dropdown)
2465
2485
  }, [g.value ? (E(), f("div", {
2466
2486
  key: 0,
2467
- class: x(N(a).suggest.empty)
2468
- }, "Searching...", 2)) : S.value.length ? (E(!0), f(o, { key: 1 }, k(S.value, (t, n) => (E(), f("div", {
2487
+ class: x(F(a).suggest.empty)
2488
+ }, "Searching...", 2)) : S.value.length ? (E(!0), f(o, { key: 1 }, A(S.value, (t, n) => (E(), f("div", {
2469
2489
  key: t.id,
2470
- class: x(n === _.value ? N(a).suggest.optionActive : N(a).suggest.option),
2471
- onPointerdown: H((e) => A(t), ["prevent"]),
2490
+ class: x(n === _.value ? F(a).suggest.optionActive : F(a).suggest.option),
2491
+ onPointerdown: U((e) => j(t), ["prevent"]),
2472
2492
  onMouseenter: (e) => _.value = n
2473
- }, [e.optionTemplate ? (E(), u(j(e.optionTemplate), {
2493
+ }, [e.optionTemplate ? (E(), u(N(e.optionTemplate), {
2474
2494
  key: 0,
2475
2495
  option: t.raw ?? t
2476
- }, null, 8, ["option"])) : (E(), f(o, { key: 1 }, [h(M(t.label), 1)], 64))], 42, $e))), 128)) : e.allowCustom && c.value ? (E(), f("div", {
2496
+ }, null, 8, ["option"])) : (E(), f(o, { key: 1 }, [h(P(t.label), 1)], 64))], 42, et))), 128)) : e.allowCustom && c.value ? (E(), f("div", {
2477
2497
  key: 2,
2478
- class: x(N(a).suggest.option),
2479
- onPointerdown: H(F, ["prevent"])
2480
- }, " Use \"" + M(c.value) + "\" ", 35)) : (E(), f("div", {
2498
+ class: x(F(a).suggest.option),
2499
+ onPointerdown: U(ee, ["prevent"])
2500
+ }, " Use \"" + P(c.value) + "\" ", 35)) : (E(), f("div", {
2481
2501
  key: 3,
2482
- class: x(N(a).suggest.empty)
2502
+ class: x(F(a).suggest.empty)
2483
2503
  }, "No matches", 2))], 2)) : d("", !0)
2484
2504
  ], 2));
2485
2505
  }
2486
- }), tt = ["onUpdate:modelValue"], nt = ["innerHTML"], rt = ["disabled"], it = {
2506
+ }), nt = ["onUpdate:modelValue"], rt = ["innerHTML"], it = ["disabled"], at = {
2487
2507
  __name: "ShForm",
2488
2508
  props: {
2489
2509
  action: {
@@ -2523,35 +2543,35 @@ var He = ["disabled"], Ue = {
2523
2543
  "formError"
2524
2544
  ],
2525
2545
  setup(e, { emit: t }) {
2526
- let i = e, a = t, s = q("form", l(() => i.classes)), c = q("inputs"), m = v(te, {}), g = v(ne, null), _ = {
2527
- text: Z,
2546
+ let i = e, a = t, s = X("form", l(() => i.classes)), c = X("inputs"), m = v(K, {}), g = v(q, null), _ = {
2547
+ text: ye,
2528
2548
  textarea: xe,
2529
- email: Se,
2530
- password: Te,
2531
- pin: De,
2532
- number: Re,
2533
- date: Be,
2534
- select: Ge,
2535
- phone: Xe,
2536
- suggest: et
2537
- }, b = O([]), S = ee({}), C = O(!1), w = O(0), T = O(!1), D = () => {
2538
- let e = de(i.fields, i.currentData);
2549
+ email: Ce,
2550
+ password: Ee,
2551
+ pin: Oe,
2552
+ number: ze,
2553
+ date: Ve,
2554
+ select: Ke,
2555
+ phone: Ze,
2556
+ suggest: tt
2557
+ }, b = k([]), S = O({}), C = k(!1), w = k(0), T = k(!1), D = () => {
2558
+ let e = ue(i.fields, i.currentData);
2539
2559
  i.hiddenId && i.currentData?.id && !e.some((e) => e.name === "id") && e.push({
2540
2560
  name: "id",
2541
2561
  type: "hidden",
2542
2562
  value: i.currentData.id
2543
2563
  }), b.value = e;
2544
2564
  };
2545
- D(), z(() => i.currentData, () => {
2565
+ D(), B(() => i.currentData, () => {
2546
2566
  T.value || D();
2547
- }, { deep: !0 }), z(() => i.fields, D);
2548
- let P = l(() => i.steps?.length ? i.steps.map((e) => ({
2567
+ }, { deep: !0 }), B(() => i.fields, D);
2568
+ let M = l(() => i.steps?.length ? i.steps.map((e) => ({
2549
2569
  title: e.title ?? "",
2550
2570
  fields: b.value.filter((t) => (e.fields ?? []).includes(t.name) || t.type === "hidden")
2551
2571
  })) : [{
2552
2572
  title: "",
2553
2573
  fields: b.value
2554
- }]), F = l(() => w.value >= P.value.length - 1), I = (e) => e.mask && e.type !== "pin" ? Ie : e.component ?? m[e.type] ?? _[e.type] ?? _.text, B = (e) => S[e.name] ? s.value.inputInvalid : e.type === "select" ? c.value.select : s.value.input, U = (e) => ({
2574
+ }]), ee = l(() => w.value >= M.value.length - 1), I = (e) => e.mask && e.type !== "pin" ? Le : e.component ?? m[e.type] ?? _[e.type] ?? _.text, L = (e) => S[e.name] ? s.value.inputInvalid : e.type === "select" ? c.value.select : s.value.input, V = (e) => ({
2555
2575
  placeholder: e.placeholder || void 0,
2556
2576
  disabled: i.disabled || e.disabled,
2557
2577
  ...e.type === "select" || e.type === "suggest" ? {
@@ -2591,17 +2611,17 @@ var He = ["disabled"], Ue = {
2591
2611
  return b.value.forEach((t) => {
2592
2612
  t.value !== null && t.value !== void 0 && (e[t.name] = t.value);
2593
2613
  }), e;
2594
- }, K = () => {
2614
+ }, J = () => {
2595
2615
  b.value.forEach((e) => {
2596
2616
  e.type !== "hidden" && (e.value = null);
2597
2617
  }), T.value = !1;
2598
- }, re = () => {
2618
+ }, te = () => {
2599
2619
  let e = Object.keys(S);
2600
2620
  if (!e.length || !i.steps?.length) return;
2601
- let t = P.value.findIndex((t) => t.fields.some((t) => e.includes(t.name)));
2621
+ let t = M.value.findIndex((t) => t.fields.some((t) => e.includes(t.name)));
2602
2622
  t >= 0 && (w.value = t);
2603
- }, ie = async () => {
2604
- if (!F.value) {
2623
+ }, ne = async () => {
2624
+ if (!ee.value) {
2605
2625
  w.value++;
2606
2626
  return;
2607
2627
  }
@@ -2622,14 +2642,14 @@ var He = ["disabled"], Ue = {
2622
2642
  C.value = !0;
2623
2643
  try {
2624
2644
  let n = await t(i.action, e);
2625
- i.successMessage && r.showToast(i.successMessage), a("success", n.data), a("formSubmitted", n.data), i.retainData || (K(), w.value = 0), g?.requestClose?.("success");
2645
+ i.successMessage && r.showToast(i.successMessage), a("success", n.data), a("formSubmitted", n.data), i.retainData || (J(), w.value = 0), g?.requestClose?.("success");
2626
2646
  } catch (e) {
2627
2647
  if (e.response?.status === 422) {
2628
2648
  let t = e.response.data?.errors ?? {};
2629
2649
  Object.keys(t).forEach((e) => {
2630
2650
  let n = t[e];
2631
2651
  S[e] = Array.isArray(n) ? n[0] : n;
2632
- }), re();
2652
+ }), te();
2633
2653
  } else r.showToast(e.response?.data?.message ?? e.message ?? "Request failed", "error");
2634
2654
  a("error", e), a("formError", e);
2635
2655
  } finally {
@@ -2637,38 +2657,38 @@ var He = ["disabled"], Ue = {
2637
2657
  }
2638
2658
  };
2639
2659
  return (t, n) => (E(), f("form", {
2640
- class: x(N(s).form),
2641
- onSubmit: H(ie, ["prevent"])
2660
+ class: x(F(s).form),
2661
+ onSubmit: U(ne, ["prevent"])
2642
2662
  }, [
2643
- P.value.length > 1 ? (E(), u(pe, {
2663
+ M.value.length > 1 ? (E(), u(fe, {
2644
2664
  key: 0,
2645
- steps: P.value,
2665
+ steps: M.value,
2646
2666
  current: w.value
2647
2667
  }, null, 8, ["steps", "current"])) : d("", !0),
2648
- (E(!0), f(o, null, k(P.value, (e, t) => V((E(), f("div", {
2668
+ (E(!0), f(o, null, A(M.value, (e, t) => H((E(), f("div", {
2649
2669
  key: t,
2650
2670
  class: "space-y-4"
2651
- }, [(E(!0), f(o, null, k(e.fields, (e) => (E(), f("div", {
2671
+ }, [(E(!0), f(o, null, A(e.fields, (e) => (E(), f("div", {
2652
2672
  key: e.name,
2653
- class: x(e.type === "hidden" ? "" : N(s).group)
2654
- }, [e.type === "hidden" ? V((E(), f("input", {
2673
+ class: x(e.type === "hidden" ? "" : F(s).group)
2674
+ }, [e.type === "hidden" ? H((E(), f("input", {
2655
2675
  key: 0,
2656
2676
  "onUpdate:modelValue": (t) => e.value = t,
2657
2677
  type: "hidden"
2658
- }, null, 8, tt)), [[L, e.value]]) : (E(), f(o, { key: 1 }, [
2678
+ }, null, 8, nt)), [[R, e.value]]) : (E(), f(o, { key: 1 }, [
2659
2679
  e.label ? (E(), f("label", {
2660
2680
  key: 0,
2661
- class: x(N(s).label)
2662
- }, [h(M(e.label) + " ", 1), e.required ? (E(), f("span", {
2681
+ class: x(F(s).label)
2682
+ }, [h(P(e.label) + " ", 1), e.required ? (E(), f("span", {
2663
2683
  key: 0,
2664
- class: x(N(s).required)
2684
+ class: x(F(s).required)
2665
2685
  }, "*", 2)) : d("", !0)], 2)) : d("", !0),
2666
- (E(), u(j(I(e)), y({
2686
+ (E(), u(N(I(e)), y({
2667
2687
  modelValue: e.value,
2668
2688
  "onUpdate:modelValue": (t) => e.value = t
2669
- }, { ref_for: !0 }, U(e), {
2689
+ }, { ref_for: !0 }, V(e), {
2670
2690
  "is-invalid": !!S[e.name],
2671
- class: [B(e), e.class],
2691
+ class: [L(e), e.class],
2672
2692
  "onUpdate:modelValue": (t) => W(e, t),
2673
2693
  onClearValidationErrors: (t) => delete S[e.name]
2674
2694
  }), null, 16, [
@@ -2680,31 +2700,31 @@ var He = ["disabled"], Ue = {
2680
2700
  ])),
2681
2701
  e.helper ? (E(), f("p", {
2682
2702
  key: 1,
2683
- class: x(N(s).helper),
2703
+ class: x(F(s).helper),
2684
2704
  innerHTML: e.helper
2685
- }, null, 10, nt)) : d("", !0),
2705
+ }, null, 10, rt)) : d("", !0),
2686
2706
  S[e.name] ? (E(), f("p", {
2687
2707
  key: 2,
2688
- class: x(N(s).error)
2689
- }, M(S[e.name]), 3)) : d("", !0)
2690
- ], 64))], 2))), 128))], 512)), [[R, w.value === t]])), 128)),
2691
- A(t.$slots, "default"),
2692
- p("div", { class: x(N(s).nav) }, [w.value > 0 ? (E(), f("button", {
2708
+ class: x(F(s).error)
2709
+ }, P(S[e.name]), 3)) : d("", !0)
2710
+ ], 64))], 2))), 128))], 512)), [[z, w.value === t]])), 128)),
2711
+ j(t.$slots, "default"),
2712
+ p("div", { class: x(F(s).nav) }, [w.value > 0 ? (E(), f("button", {
2693
2713
  key: 0,
2694
2714
  type: "button",
2695
- class: x(N(s).prevBtn),
2715
+ class: x(F(s).prevBtn),
2696
2716
  onClick: n[0] ||= (e) => w.value--
2697
2717
  }, " Back ", 2)) : d("", !0), p("button", {
2698
2718
  type: "submit",
2699
- class: x(F.value ? N(s).submitBtn : N(s).nextBtn),
2719
+ class: x(ee.value ? F(s).submitBtn : F(s).nextBtn),
2700
2720
  disabled: C.value || e.disabled
2701
- }, [C.value ? (E(), u(ve, {
2721
+ }, [C.value ? (E(), u(_e, {
2702
2722
  key: 0,
2703
2723
  class: "size-4"
2704
- })) : d("", !0), h(" " + M(F.value ? e.submitLabel : "Next"), 1)], 10, rt)], 2)
2724
+ })) : d("", !0), h(" " + P(ee.value ? e.submitLabel : "Next"), 1)], 10, it)], 2)
2705
2725
  ], 34));
2706
2726
  }
2707
- }, at = {
2727
+ }, ot = {
2708
2728
  __name: "ShDialog",
2709
2729
  props: {
2710
2730
  open: Boolean,
@@ -2724,7 +2744,7 @@ var He = ["disabled"], Ue = {
2724
2744
  "closed"
2725
2745
  ],
2726
2746
  setup(e, { expose: t, emit: n }) {
2727
- let r = e, i = n, a = q("dialog", l(() => r.classes)), o = O(null), m = O(!1), h = O(!1), _ = O(!1), v = ce({
2747
+ let r = e, i = n, a = X("dialog", l(() => r.classes)), o = k(null), m = k(!1), h = k(!1), _ = k(!1), v = se({
2728
2748
  isStatic: () => r.static,
2729
2749
  onClose: () => i("update:open", !1)
2730
2750
  }), y = () => {
@@ -2742,11 +2762,11 @@ var He = ["disabled"], Ue = {
2742
2762
  }
2743
2763
  b("backdrop");
2744
2764
  };
2745
- return z(() => r.open, (e) => {
2765
+ return B(() => r.open, (e) => {
2746
2766
  e ? y() : h.value && b("prop");
2747
- }, { immediate: !0 }), z(v.isOpen, (e) => {
2767
+ }, { immediate: !0 }), B(v.isOpen, (e) => {
2748
2768
  !e && h.value && (h.value = !1);
2749
- }), D(ne, {
2769
+ }), D(q, {
2750
2770
  close: () => b("context"),
2751
2771
  requestClose: (e) => {
2752
2772
  if (e === "success") {
@@ -2762,7 +2782,7 @@ var He = ["disabled"], Ue = {
2762
2782
  }), (t, n) => (E(), u(s, { to: "body" }, [m.value ? (E(), f("div", {
2763
2783
  key: 0,
2764
2784
  class: "fixed inset-0",
2765
- style: S({ zIndex: N(v).zIndex.value })
2785
+ style: S({ zIndex: F(v).zIndex.value })
2766
2786
  }, [g(c, {
2767
2787
  "enter-active-class": "transition-opacity duration-200 ease-out",
2768
2788
  "enter-from-class": "opacity-0",
@@ -2771,10 +2791,10 @@ var He = ["disabled"], Ue = {
2771
2791
  "leave-from-class": "opacity-100",
2772
2792
  "leave-to-class": "opacity-0"
2773
2793
  }, {
2774
- default: B(() => [V(p("div", {
2775
- class: x(N(a).backdrop),
2794
+ default: V(() => [H(p("div", {
2795
+ class: x(F(a).backdrop),
2776
2796
  onClick: C
2777
- }, null, 2), [[R, h.value]])]),
2797
+ }, null, 2), [[z, h.value]])]),
2778
2798
  _: 1
2779
2799
  }), g(c, {
2780
2800
  "enter-active-class": "transition duration-200 ease-out",
@@ -2790,9 +2810,9 @@ var He = ["disabled"], Ue = {
2790
2810
  m.value = !1, i("closed");
2791
2811
  }
2792
2812
  }, {
2793
- default: B(() => [V(p("div", {
2794
- class: x(N(a).wrapper),
2795
- onClick: H(C, ["self"])
2813
+ default: V(() => [H(p("div", {
2814
+ class: x(F(a).wrapper),
2815
+ onClick: U(C, ["self"])
2796
2816
  }, [p("div", {
2797
2817
  ref_key: "panel",
2798
2818
  ref: o,
@@ -2800,18 +2820,18 @@ var He = ["disabled"], Ue = {
2800
2820
  role: "dialog",
2801
2821
  "aria-modal": "true",
2802
2822
  class: x([
2803
- N(a).panel,
2804
- N(a).sizes[e.size] ?? N(a).sizes.md,
2823
+ F(a).panel,
2824
+ F(a).sizes[e.size] ?? F(a).sizes.md,
2805
2825
  _.value ? "scale-[1.02] transition-transform duration-150" : ""
2806
2826
  ])
2807
2827
  }, [
2808
2828
  e.title || t.$slots.title || !e.hideClose ? (E(), f("header", {
2809
2829
  key: 0,
2810
- class: x(N(a).header)
2811
- }, [A(t.$slots, "title", {}, () => [p("h3", { class: x(N(a).title) }, M(e.title), 3)]), e.hideClose ? d("", !0) : (E(), f("button", {
2830
+ class: x(F(a).header)
2831
+ }, [j(t.$slots, "title", {}, () => [p("h3", { class: x(F(a).title) }, P(e.title), 3)]), e.hideClose ? d("", !0) : (E(), f("button", {
2812
2832
  key: 0,
2813
2833
  type: "button",
2814
- class: x(N(a).closeBtn),
2834
+ class: x(F(a).closeBtn),
2815
2835
  "aria-label": "Close",
2816
2836
  onClick: n[0] ||= (e) => b("button")
2817
2837
  }, [...n[3] ||= [p("svg", {
@@ -2826,16 +2846,16 @@ var He = ["disabled"], Ue = {
2826
2846
  "stroke-linejoin": "round",
2827
2847
  d: "M6 18L18 6M6 6l12 12"
2828
2848
  })], -1)]], 2))], 2)) : d("", !0),
2829
- p("div", { class: x(N(a).body) }, [A(t.$slots, "default", { close: b })], 2),
2849
+ p("div", { class: x(F(a).body) }, [j(t.$slots, "default", { close: b })], 2),
2830
2850
  t.$slots.footer ? (E(), f("footer", {
2831
2851
  key: 1,
2832
- class: x(N(a).footer)
2833
- }, [A(t.$slots, "footer", { close: b })], 2)) : d("", !0)
2834
- ], 2)], 2), [[R, h.value]])]),
2852
+ class: x(F(a).footer)
2853
+ }, [j(t.$slots, "footer", { close: b })], 2)) : d("", !0)
2854
+ ], 2)], 2), [[z, h.value]])]),
2835
2855
  _: 3
2836
2856
  })], 4)) : d("", !0)]));
2837
2857
  }
2838
- }, ot = {
2858
+ }, st = {
2839
2859
  __name: "ShDrawer",
2840
2860
  props: {
2841
2861
  open: Boolean,
@@ -2858,7 +2878,7 @@ var He = ["disabled"], Ue = {
2858
2878
  "closed"
2859
2879
  ],
2860
2880
  setup(e, { expose: t, emit: n }) {
2861
- let r = e, i = n, a = q("drawer", l(() => r.classes)), o = O(null), m = O(!1), h = O(!1), _ = {
2881
+ let r = e, i = n, a = X("drawer", l(() => r.classes)), o = k(null), m = k(!1), h = k(!1), _ = {
2862
2882
  start: {
2863
2883
  panel: "inset-y-0 left-0 h-full w-full",
2864
2884
  hidden: "-translate-x-full"
@@ -2875,7 +2895,7 @@ var He = ["disabled"], Ue = {
2875
2895
  panel: "inset-x-0 bottom-0 w-full",
2876
2896
  hidden: "translate-y-full"
2877
2897
  }
2878
- }, v = l(() => _[r.position] ?? _.end), y = l(() => ["top", "bottom"].includes(r.position)), b = l(() => y.value ? a.value.sizesVertical[r.size] ?? a.value.sizesVertical.md : a.value.sizes[r.size] ?? a.value.sizes.md), C = ce({
2898
+ }, v = l(() => _[r.position] ?? _.end), y = l(() => ["top", "bottom"].includes(r.position)), b = l(() => y.value ? a.value.sizesVertical[r.size] ?? a.value.sizesVertical.md : a.value.sizes[r.size] ?? a.value.sizes.md), C = se({
2879
2899
  isStatic: () => r.static,
2880
2900
  onClose: () => i("update:open", !1)
2881
2901
  }), w = () => {
@@ -2885,11 +2905,11 @@ var He = ["disabled"], Ue = {
2885
2905
  }, T = (e) => {
2886
2906
  h.value = !1, C.close(e);
2887
2907
  };
2888
- return z(() => r.open, (e) => {
2908
+ return B(() => r.open, (e) => {
2889
2909
  e ? w() : h.value && T("prop");
2890
- }, { immediate: !0 }), z(C.isOpen, (e) => {
2910
+ }, { immediate: !0 }), B(C.isOpen, (e) => {
2891
2911
  !e && h.value && (h.value = !1);
2892
- }), D(ne, {
2912
+ }), D(q, {
2893
2913
  close: () => T("context"),
2894
2914
  requestClose: (e) => T(e)
2895
2915
  }), t({
@@ -2898,7 +2918,7 @@ var He = ["disabled"], Ue = {
2898
2918
  }), (t, n) => (E(), u(s, { to: "body" }, [m.value ? (E(), f("div", {
2899
2919
  key: 0,
2900
2920
  class: "fixed inset-0",
2901
- style: S({ zIndex: N(C).zIndex.value })
2921
+ style: S({ zIndex: F(C).zIndex.value })
2902
2922
  }, [g(c, {
2903
2923
  "enter-active-class": "transition-opacity duration-200 ease-out",
2904
2924
  "enter-from-class": "opacity-0",
@@ -2907,10 +2927,10 @@ var He = ["disabled"], Ue = {
2907
2927
  "leave-from-class": "opacity-100",
2908
2928
  "leave-to-class": "opacity-0"
2909
2929
  }, {
2910
- default: B(() => [V(p("div", {
2911
- class: x(N(a).backdrop),
2912
- onClick: n[0] ||= (...e) => N(C).onBackdrop && N(C).onBackdrop(...e)
2913
- }, null, 2), [[R, h.value]])]),
2930
+ default: V(() => [H(p("div", {
2931
+ class: x(F(a).backdrop),
2932
+ onClick: n[0] ||= (...e) => F(C).onBackdrop && F(C).onBackdrop(...e)
2933
+ }, null, 2), [[z, h.value]])]),
2914
2934
  _: 1
2915
2935
  }), g(c, {
2916
2936
  "enter-active-class": "transition-transform duration-250 ease-out",
@@ -2926,24 +2946,24 @@ var He = ["disabled"], Ue = {
2926
2946
  m.value = !1, i("closed");
2927
2947
  }
2928
2948
  }, {
2929
- default: B(() => [V(p("div", {
2949
+ default: V(() => [H(p("div", {
2930
2950
  ref_key: "panel",
2931
2951
  ref: o,
2932
2952
  tabindex: "-1",
2933
2953
  role: "dialog",
2934
2954
  "aria-modal": "true",
2935
2955
  class: x([
2936
- N(a).panel,
2956
+ F(a).panel,
2937
2957
  v.value.panel,
2938
2958
  b.value
2939
2959
  ])
2940
2960
  }, [e.title || t.$slots.title || !e.hideClose ? (E(), f("header", {
2941
2961
  key: 0,
2942
- class: x(N(a).header)
2943
- }, [A(t.$slots, "title", {}, () => [p("h3", { class: x(N(a).title) }, M(e.title), 3)]), e.hideClose ? d("", !0) : (E(), f("button", {
2962
+ class: x(F(a).header)
2963
+ }, [j(t.$slots, "title", {}, () => [p("h3", { class: x(F(a).title) }, P(e.title), 3)]), e.hideClose ? d("", !0) : (E(), f("button", {
2944
2964
  key: 0,
2945
2965
  type: "button",
2946
- class: x(N(a).closeBtn),
2966
+ class: x(F(a).closeBtn),
2947
2967
  "aria-label": "Close",
2948
2968
  onClick: n[1] ||= (e) => T("button")
2949
2969
  }, [...n[4] ||= [p("svg", {
@@ -2957,11 +2977,11 @@ var He = ["disabled"], Ue = {
2957
2977
  "stroke-linecap": "round",
2958
2978
  "stroke-linejoin": "round",
2959
2979
  d: "M6 18L18 6M6 6l12 12"
2960
- })], -1)]], 2))], 2)) : d("", !0), p("div", { class: x(N(a).body) }, [A(t.$slots, "default", { close: T })], 2)], 2), [[R, h.value]])]),
2980
+ })], -1)]], 2))], 2)) : d("", !0), p("div", { class: x(F(a).body) }, [j(t.$slots, "default", { close: T })], 2)], 2), [[z, h.value]])]),
2961
2981
  _: 3
2962
2982
  }, 8, ["enter-from-class", "leave-to-class"])], 4)) : d("", !0)]));
2963
2983
  }
2964
- }, st = {
2984
+ }, ct = {
2965
2985
  __name: "ShDialogBtn",
2966
2986
  props: {
2967
2987
  title: String,
@@ -2976,12 +2996,12 @@ var He = ["disabled"], Ue = {
2976
2996
  },
2977
2997
  emits: ["opened", "closed"],
2978
2998
  setup(e) {
2979
- let t = q("buttons"), n = O(!1);
2999
+ let t = X("buttons"), n = k(!1);
2980
3000
  return (r, i) => (E(), f(o, null, [p("button", {
2981
3001
  type: "button",
2982
- class: x(e.btnClass ?? N(t).secondary),
3002
+ class: x(e.btnClass ?? F(t).secondary),
2983
3003
  onClick: i[0] ||= (e) => n.value = !0
2984
- }, [A(r.$slots, "trigger", {}, () => [i[4] ||= h("Open", -1)])], 2), g(at, {
3004
+ }, [j(r.$slots, "trigger", {}, () => [i[4] ||= h("Open", -1)])], 2), g(ot, {
2985
3005
  open: n.value,
2986
3006
  "onUpdate:open": i[1] ||= (e) => n.value = e,
2987
3007
  title: e.title,
@@ -2992,11 +3012,11 @@ var He = ["disabled"], Ue = {
2992
3012
  onOpened: i[2] ||= (e) => r.$emit("opened"),
2993
3013
  onClosed: i[3] ||= (e) => r.$emit("closed")
2994
3014
  }, m({
2995
- default: B(({ close: e }) => [A(r.$slots, "default", { close: e })]),
3015
+ default: V(({ close: e }) => [j(r.$slots, "default", { close: e })]),
2996
3016
  _: 2
2997
3017
  }, [r.$slots.footer ? {
2998
3018
  name: "footer",
2999
- fn: B(({ close: e }) => [A(r.$slots, "footer", { close: e })]),
3019
+ fn: V(({ close: e }) => [j(r.$slots, "footer", { close: e })]),
3000
3020
  key: "0"
3001
3021
  } : void 0]), 1032, [
3002
3022
  "open",
@@ -3007,7 +3027,7 @@ var He = ["disabled"], Ue = {
3007
3027
  "classes"
3008
3028
  ])], 64));
3009
3029
  }
3010
- }, ct = {
3030
+ }, lt = {
3011
3031
  __name: "ShDrawerBtn",
3012
3032
  props: {
3013
3033
  title: String,
@@ -3026,12 +3046,12 @@ var He = ["disabled"], Ue = {
3026
3046
  },
3027
3047
  emits: ["opened", "closed"],
3028
3048
  setup(e) {
3029
- let t = q("buttons"), n = O(!1);
3049
+ let t = X("buttons"), n = k(!1);
3030
3050
  return (r, i) => (E(), f(o, null, [p("button", {
3031
3051
  type: "button",
3032
- class: x(e.btnClass ?? N(t).secondary),
3052
+ class: x(e.btnClass ?? F(t).secondary),
3033
3053
  onClick: i[0] ||= (e) => n.value = !0
3034
- }, [A(r.$slots, "trigger", {}, () => [i[4] ||= h("Open", -1)])], 2), g(ot, {
3054
+ }, [j(r.$slots, "trigger", {}, () => [i[4] ||= h("Open", -1)])], 2), g(st, {
3035
3055
  open: n.value,
3036
3056
  "onUpdate:open": i[1] ||= (e) => n.value = e,
3037
3057
  title: e.title,
@@ -3043,7 +3063,7 @@ var He = ["disabled"], Ue = {
3043
3063
  onOpened: i[2] ||= (e) => r.$emit("opened"),
3044
3064
  onClosed: i[3] ||= (e) => r.$emit("closed")
3045
3065
  }, {
3046
- default: B(({ close: e }) => [A(r.$slots, "default", { close: e })]),
3066
+ default: V(({ close: e }) => [j(r.$slots, "default", { close: e })]),
3047
3067
  _: 3
3048
3068
  }, 8, [
3049
3069
  "open",
@@ -3055,7 +3075,7 @@ var He = ["disabled"], Ue = {
3055
3075
  "classes"
3056
3076
  ])], 64));
3057
3077
  }
3058
- }, lt = {
3078
+ }, ut = {
3059
3079
  __name: "ShDialogForm",
3060
3080
  props: {
3061
3081
  title: String,
@@ -3102,7 +3122,7 @@ var He = ["disabled"], Ue = {
3102
3122
  "closed"
3103
3123
  ],
3104
3124
  setup(e, { expose: t, emit: n }) {
3105
- let r = e, i = n, a = q("buttons"), s = O(!1), c = l(() => JSON.stringify(r.currentData ?? {})), d = (e) => {
3125
+ let r = e, i = n, a = X("buttons"), s = k(!1), c = l(() => JSON.stringify(r.currentData ?? {})), d = (e) => {
3106
3126
  i("success", e);
3107
3127
  };
3108
3128
  return t({
@@ -3114,9 +3134,9 @@ var He = ["disabled"], Ue = {
3114
3134
  }
3115
3135
  }), (t, n) => (E(), f(o, null, [p("button", {
3116
3136
  type: "button",
3117
- class: x(e.btnClass ?? N(a).primary),
3137
+ class: x(e.btnClass ?? F(a).primary),
3118
3138
  onClick: n[0] ||= (e) => s.value = !0
3119
- }, [A(t.$slots, "trigger", {}, () => [h(M(e.title ?? "Open form"), 1)])], 2), g(at, {
3139
+ }, [j(t.$slots, "trigger", {}, () => [h(P(e.title ?? "Open form"), 1)])], 2), g(ot, {
3120
3140
  open: s.value,
3121
3141
  "onUpdate:open": n[3] ||= (e) => s.value = e,
3122
3142
  title: e.title,
@@ -3127,7 +3147,7 @@ var He = ["disabled"], Ue = {
3127
3147
  onOpened: n[4] ||= (e) => t.$emit("opened"),
3128
3148
  onClosed: n[5] ||= (e) => t.$emit("closed")
3129
3149
  }, {
3130
- default: B(() => [(E(), u(it, {
3150
+ default: V(() => [(E(), u(at, {
3131
3151
  key: c.value,
3132
3152
  action: e.action,
3133
3153
  method: e.method,
@@ -3144,7 +3164,7 @@ var He = ["disabled"], Ue = {
3144
3164
  onError: n[1] ||= (e) => t.$emit("error", e),
3145
3165
  onFieldChanged: n[2] ||= (e, n, r) => t.$emit("fieldChanged", e, n, r)
3146
3166
  }, {
3147
- default: B(() => [A(t.$slots, "default")]),
3167
+ default: V(() => [j(t.$slots, "default")]),
3148
3168
  _: 3
3149
3169
  }, 8, [
3150
3170
  "action",
@@ -3169,17 +3189,17 @@ var He = ["disabled"], Ue = {
3169
3189
  "classes"
3170
3190
  ])], 64));
3171
3191
  }
3172
- }, ut = "sh_tw_table_cache", dt = "pages", ft = "rows", pt = 1, mt = 3e3, ht = null;
3173
- function gt() {
3174
- return ht || (ht = new Promise((e, t) => {
3175
- let n = indexedDB.open(ut, pt);
3192
+ }, dt = "sh_tw_table_cache", ft = "pages", pt = "rows", mt = 1, ht = 3e3, gt = null;
3193
+ function _t() {
3194
+ return gt || (gt = new Promise((e, t) => {
3195
+ let n = indexedDB.open(dt, mt);
3176
3196
  n.onupgradeneeded = (e) => {
3177
3197
  let t = e.target.result;
3178
- t.objectStoreNames.contains(dt) || t.createObjectStore(dt), t.objectStoreNames.contains(ft) || t.createObjectStore(ft);
3198
+ t.objectStoreNames.contains(ft) || t.createObjectStore(ft), t.objectStoreNames.contains(pt) || t.createObjectStore(pt);
3179
3199
  }, n.onsuccess = (t) => e(t.target.result), n.onerror = (e) => t(e.target.error);
3180
- }), ht);
3200
+ }), gt);
3181
3201
  }
3182
- function _t() {
3202
+ function vt() {
3183
3203
  try {
3184
3204
  let e = i.getItem("user");
3185
3205
  return e?.id ? `u${e.id}_` : "";
@@ -3187,71 +3207,71 @@ function _t() {
3187
3207
  return "";
3188
3208
  }
3189
3209
  }
3190
- function vt(e, t, n) {
3191
- return gt().then((r) => new Promise((i, a) => {
3210
+ function yt(e, t, n) {
3211
+ return _t().then((r) => new Promise((i, a) => {
3192
3212
  let o = n(r.transaction(e, t).objectStore(e));
3193
3213
  o.onsuccess = () => i(o.result), o.onerror = () => a(o.error);
3194
3214
  })).catch((e) => {
3195
3215
  console.error("[sh-tailwind] table cache error", e);
3196
3216
  });
3197
3217
  }
3198
- async function yt(e) {
3199
- return (await vt(dt, "readonly", (t) => t.get(_t() + e)))?.response ?? null;
3218
+ async function bt(e) {
3219
+ return (await yt(ft, "readonly", (t) => t.get(vt() + e)))?.response ?? null;
3200
3220
  }
3201
- function bt(e, t) {
3202
- return vt(dt, "readwrite", (n) => n.put({
3221
+ function xt(e, t) {
3222
+ return yt(ft, "readwrite", (n) => n.put({
3203
3223
  response: t,
3204
3224
  timestamp: Date.now()
3205
- }, _t() + e));
3225
+ }, vt() + e));
3206
3226
  }
3207
- async function xt(e) {
3208
- return (await vt(ft, "readonly", (t) => t.get(_t() + e)))?.rows ?? [];
3227
+ async function St(e) {
3228
+ return (await yt(pt, "readonly", (t) => t.get(vt() + e)))?.rows ?? [];
3209
3229
  }
3210
- async function St(e, t) {
3230
+ async function Ct(e, t) {
3211
3231
  if (!Array.isArray(t) || !t.length) return;
3212
- let n = await xt(e), r = /* @__PURE__ */ new Map();
3232
+ let n = await St(e), r = /* @__PURE__ */ new Map();
3213
3233
  n.forEach((e) => {
3214
3234
  e && e.id !== void 0 && r.set(e.id, e);
3215
3235
  }), t.forEach((e) => {
3216
3236
  e && e.id !== void 0 && r.set(e.id, e);
3217
3237
  });
3218
3238
  let i = [...r.values()];
3219
- return i.length > mt && (i = i.slice(i.length - mt)), vt(ft, "readwrite", (t) => t.put({
3239
+ return i.length > ht && (i = i.slice(i.length - ht)), yt(pt, "readwrite", (t) => t.put({
3220
3240
  rows: i,
3221
3241
  timestamp: Date.now()
3222
- }, _t() + e));
3242
+ }, vt() + e));
3223
3243
  }
3224
- async function Ct() {
3225
- await vt(dt, "readwrite", (e) => e.clear()), await vt(ft, "readwrite", (e) => e.clear());
3244
+ async function wt() {
3245
+ await yt(ft, "readwrite", (e) => e.clear()), await yt(pt, "readwrite", (e) => e.clear());
3226
3246
  }
3227
- var wt = {
3228
- getPage: yt,
3229
- setPage: bt,
3230
- getRows: xt,
3231
- mergeRows: St,
3232
- clear: Ct
3247
+ var Tt = {
3248
+ getPage: bt,
3249
+ setPage: xt,
3250
+ getRows: St,
3251
+ mergeRows: Ct,
3252
+ clear: wt
3233
3253
  };
3234
3254
  //#endregion
3235
3255
  //#region src/table/localQuery.js
3236
- function Tt(e, t) {
3256
+ function Et(e, t) {
3237
3257
  return !e || !t || typeof t != "string" ? "" : t.split(".").reduce((e, t) => e ? e[t] : "", e);
3238
3258
  }
3239
- function Et(e, t, n, r = 0) {
3259
+ function Dt(e, t, n, r = 0) {
3240
3260
  if (e == null) return !1;
3241
- if (typeof e == "object") return r > 2 ? !1 : Object.values(e).some((e) => Et(e, t, n, r + 1));
3261
+ if (typeof e == "object") return r > 2 ? !1 : Object.values(e).some((e) => Dt(e, t, n, r + 1));
3242
3262
  let i = String(e).toLowerCase();
3243
3263
  return n ? i === t : i.includes(t);
3244
3264
  }
3245
- function Dt(e, { search: t, exact: n, orderBy: r, orderMethod: i, page: a, perPage: o } = {}) {
3265
+ function Ot(e, { search: t, exact: n, orderBy: r, orderMethod: i, page: a, perPage: o } = {}) {
3246
3266
  let s = e;
3247
3267
  if (t) {
3248
3268
  let r = String(t).toLowerCase();
3249
- s = e.filter((e) => Et(e, r, !!n));
3269
+ s = e.filter((e) => Dt(e, r, !!n));
3250
3270
  }
3251
3271
  if (r) {
3252
3272
  let e = i === "asc" ? 1 : -1;
3253
3273
  s = [...s].sort((t, n) => {
3254
- let i = Tt(t, r), a = Tt(n, r);
3274
+ let i = Et(t, r), a = Et(n, r);
3255
3275
  return typeof i == "number" && typeof a == "number" ? (i - a) * e : String(i ?? "").localeCompare(String(a ?? ""), void 0, { numeric: !0 }) * e;
3256
3276
  });
3257
3277
  }
@@ -3267,8 +3287,8 @@ function Dt(e, { search: t, exact: n, orderBy: r, orderMethod: i, page: a, perPa
3267
3287
  }
3268
3288
  //#endregion
3269
3289
  //#region src/table/useTableData.js
3270
- function Ot({ query: e, cacheEnabled: t = () => !1, networkTimeout: r = () => 1e4 }) {
3271
- let i = O([]), a = O(null), o = O("loading"), s = O(""), c = O(!1), l = O(!1), u = 0, d = (e, t) => e + "|" + JSON.stringify(t), f = (e, { append: t = !1 } = {}) => {
3290
+ function kt({ query: e, cacheEnabled: t = () => !1, networkTimeout: r = () => 1e4 }) {
3291
+ let i = k([]), a = k(null), o = k("loading"), s = k(""), c = k(!1), l = k(!1), u = 0, d = (e, t) => e + "|" + JSON.stringify(t), f = (e, { append: t = !1 } = {}) => {
3272
3292
  t ? i.value.push(...e.data ?? []) : i.value = e.data ?? [], a.value = {
3273
3293
  total: e.total ?? i.value.length,
3274
3294
  per_page: e.per_page,
@@ -3287,14 +3307,14 @@ function Ot({ query: e, cacheEnabled: t = () => !1, networkTimeout: r = () => 1e
3287
3307
  load: async ({ append: a = !1 } = {}) => {
3288
3308
  let p = ++u, { endpoint: m, params: h } = e(), g = d(m, h), _ = !!t(), v = !1;
3289
3309
  if (i.value.length || (o.value = "loading"), _ && !a) {
3290
- let e = await wt.getPage(g);
3310
+ let e = await Tt.getPage(g);
3291
3311
  e && p === u && (f(e), l.value = !0, v = !0);
3292
3312
  }
3293
3313
  try {
3294
3314
  let e = await n.doGet(m, h, { timeout: r() });
3295
3315
  if (p !== u) return;
3296
3316
  let t = e.data?.data ?? e.data;
3297
- return f(t, { append: a }), c.value = !1, l.value = !1, s.value = "", _ && (wt.setPage(g, t), wt.mergeRows(m, t.data)), t;
3317
+ return f(t, { append: a }), c.value = !1, l.value = !1, s.value = "", _ && (Tt.setPage(g, t), Tt.mergeRows(m, t.data)), t;
3298
3318
  } catch (e) {
3299
3319
  if (p !== u) return;
3300
3320
  if (e.response) {
@@ -3303,10 +3323,10 @@ function Ot({ query: e, cacheEnabled: t = () => !1, networkTimeout: r = () => 1e
3303
3323
  }
3304
3324
  if (c.value = !0, v) return;
3305
3325
  if (_) {
3306
- let e = await wt.getRows(m);
3326
+ let e = await Tt.getRows(m);
3307
3327
  if (p !== u) return;
3308
3328
  if (e.length) {
3309
- f(Dt(e, {
3329
+ f(Ot(e, {
3310
3330
  search: h.filter_value,
3311
3331
  exact: h.exact,
3312
3332
  orderBy: h.order_by,
@@ -3324,7 +3344,7 @@ function Ot({ query: e, cacheEnabled: t = () => !1, networkTimeout: r = () => 1e
3324
3344
  }
3325
3345
  //#endregion
3326
3346
  //#region src/components/table/ShTablePagination.vue
3327
- var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = ["onClick"], Pt = ["disabled"], Ft = {
3347
+ var At = ["value"], jt = ["value"], Mt = ["disabled"], Nt = ["disabled"], Pt = ["onClick"], Ft = ["disabled"], It = {
3328
3348
  __name: "ShTablePagination",
3329
3349
  props: {
3330
3350
  meta: {
@@ -3356,11 +3376,11 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3356
3376
  for (let n = Math.max(2, t - 1); n <= Math.min(e - 1, t + 1); n++) r.push(n);
3357
3377
  return t < e - 2 && r.push("..."), r.push(e), r;
3358
3378
  });
3359
- return (t, n) => (E(), f("div", { class: x(e.theme.wrapper) }, [p("div", { class: x(e.theme.info) }, [h(" Showing " + M(i.value) + " of " + M(e.meta.total) + " ", 1), p("select", {
3379
+ return (t, n) => (E(), f("div", { class: x(e.theme.wrapper) }, [p("div", { class: x(e.theme.info) }, [h(" Showing " + P(i.value) + " of " + P(e.meta.total) + " ", 1), p("select", {
3360
3380
  value: e.perPage,
3361
3381
  class: x([e.theme.perPage, "ml-2"]),
3362
3382
  onChange: n[0] ||= (e) => r("perPage", Number(e.target.value))
3363
- }, [(E(), f(o, null, k([
3383
+ }, [(E(), f(o, null, A([
3364
3384
  10,
3365
3385
  20,
3366
3386
  30,
@@ -3369,13 +3389,13 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3369
3389
  ], (e) => p("option", {
3370
3390
  key: e,
3371
3391
  value: e
3372
- }, M(e) + " / page", 9, At)), 64))], 42, kt)], 2), e.mode === "loadMore" ? (E(), f("button", {
3392
+ }, P(e) + " / page", 9, jt)), 64))], 42, At)], 2), e.mode === "loadMore" ? (E(), f("button", {
3373
3393
  key: 0,
3374
3394
  type: "button",
3375
3395
  class: x(e.theme.loadMore),
3376
3396
  disabled: e.loading || e.meta.current_page >= e.meta.last_page,
3377
3397
  onClick: n[1] ||= (e) => r("loadMore")
3378
- }, M(e.meta.current_page >= e.meta.last_page ? "All loaded" : "Load more"), 11, jt)) : (E(), f("div", {
3398
+ }, P(e.meta.current_page >= e.meta.last_page ? "All loaded" : "Load more"), 11, Mt)) : (E(), f("div", {
3379
3399
  key: 1,
3380
3400
  class: x(e.theme.pages)
3381
3401
  }, [
@@ -3385,8 +3405,8 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3385
3405
  disabled: e.meta.current_page <= 1,
3386
3406
  "aria-label": "Previous page",
3387
3407
  onClick: n[2] ||= (t) => r("page", e.meta.current_page - 1)
3388
- }, " ‹ ", 10, Mt),
3389
- (E(!0), f(o, null, k(a.value, (t, n) => (E(), f(o, { key: n }, [t === "..." ? (E(), f("span", {
3408
+ }, " ‹ ", 10, Nt),
3409
+ (E(!0), f(o, null, A(a.value, (t, n) => (E(), f(o, { key: n }, [t === "..." ? (E(), f("span", {
3390
3410
  key: 0,
3391
3411
  class: x(e.theme.ellipsis)
3392
3412
  }, "…", 2)) : (E(), f("button", {
@@ -3394,20 +3414,20 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3394
3414
  type: "button",
3395
3415
  class: x(t === e.meta.current_page ? e.theme.pageBtnActive : e.theme.pageBtn),
3396
3416
  onClick: (e) => r("page", t)
3397
- }, M(t), 11, Nt))], 64))), 128)),
3417
+ }, P(t), 11, Pt))], 64))), 128)),
3398
3418
  p("button", {
3399
3419
  type: "button",
3400
3420
  class: x(e.theme.pageBtn),
3401
3421
  disabled: e.meta.current_page >= e.meta.last_page,
3402
3422
  "aria-label": "Next page",
3403
3423
  onClick: n[3] ||= (t) => r("page", e.meta.current_page + 1)
3404
- }, " › ", 10, Pt)
3424
+ }, " › ", 10, Ft)
3405
3425
  ], 2))], 2));
3406
3426
  }
3407
- }, It = {
3427
+ }, Lt = {
3408
3428
  key: 0,
3409
3429
  class: "flex w-full items-center gap-3 md:w-auto"
3410
- }, Lt = ["placeholder"], Rt = ["checked"], zt = ["onClick"], Bt = { key: 0 }, Vt = { key: 0 }, Ht = ["colspan"], Ut = ["onClick"], Wt = ["checked", "onChange"], Gt = ["innerHTML"], Kt = ["onClick"], qt = ["onClick"], Jt = ["checked", "onChange"], Yt = ["innerHTML"], Xt = ["onClick"], Zt = { class: "text-sm text-gray-700" }, Qt = { class: "flex items-center gap-2" }, $t = ["onClick"], en = {
3430
+ }, Rt = ["placeholder"], zt = ["checked"], Bt = ["onClick"], Vt = { key: 0 }, Ht = { key: 0 }, Ut = ["colspan"], Wt = ["onClick"], Gt = ["checked", "onChange"], Kt = ["innerHTML"], qt = ["onClick"], Jt = ["onClick"], Yt = ["checked", "onChange"], Xt = ["innerHTML"], Zt = ["onClick"], Qt = { class: "text-sm text-gray-700" }, $t = { class: "flex items-center gap-2" }, en = ["onClick"], tn = {
3411
3431
  __name: "ShTable",
3412
3432
  props: {
3413
3433
  endpoint: {
@@ -3468,26 +3488,26 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3468
3488
  "action"
3469
3489
  ],
3470
3490
  setup(e, { expose: s, emit: c }) {
3471
- let m = e, v = c, y = q("table", l(() => m.classes)), b = a(), S = _()?.appContext.config.globalProperties.$router ?? null, w = (e) => {
3491
+ let m = e, v = c, y = X("table", l(() => m.classes)), b = a(), S = _()?.appContext.config.globalProperties.$router ?? null, w = (e) => {
3472
3492
  S ? S.push(e) : window.location.href = e;
3473
3493
  }, T = l(() => m.columns.map((e) => {
3474
3494
  let t = typeof e == "string" ? { name: e } : { ...e };
3475
- return t.label = t.label ?? le(t.name.split(".").pop()), t.sortable = t.sortable ?? !t.component, t;
3476
- }).filter((e) => e.show ? e.show() : !0)), D = () => `sh_table_per_page_${typeof window < "u" ? window.location.pathname : "server"}_${m.endpoint}`.replace(/[^a-z0-9]+/gi, "_").toLowerCase(), ee = () => {
3495
+ return t.label = t.label ?? ce(t.name.split(".").pop()), t.sortable = t.sortable ?? !t.component, t;
3496
+ }).filter((e) => e.show ? e.show() : !0)), D = () => `sh_table_per_page_${typeof window < "u" ? window.location.pathname : "server"}_${m.endpoint}`.replace(/[^a-z0-9]+/gi, "_").toLowerCase(), O = () => {
3477
3497
  let e = Number(i.getItem(D()));
3478
3498
  return e > 0 ? e : Number(m.perPage ?? t("tablePerPage", 10));
3479
- }, F = O(1), I = O(ee()), R = O(""), B = O(!1), U = O(m.sortBy), W = O(m.sortMethod), te = O(null), ne = O(null), G = O(""), K = O(""), re = l(() => m.paginationStyle ?? t("tablePaginationStyle", "pages")), ie = l(() => m.cache === null ? !!t("enableTableCache", !1) : m.cache), { records: J, meta: ae, status: oe, error: se, offline: Y, fromCache: ce, load: ue } = Ot({
3499
+ }, M = k(1), I = k(O()), L = k(""), z = k(!1), V = k(m.sortBy), W = k(m.sortMethod), G = k(null), K = k(null), q = k(""), J = k(""), te = l(() => m.paginationStyle ?? t("tablePaginationStyle", "pages")), ne = l(() => m.cache === null ? !!t("enableTableCache", !1) : m.cache), { records: Y, meta: re, status: ie, error: Z, offline: ae, fromCache: oe, load: se } = kt({
3480
3500
  query: () => {
3481
3501
  let e = {
3482
- order_by: U.value,
3502
+ order_by: V.value,
3483
3503
  order_method: W.value,
3484
3504
  per_page: I.value,
3485
- page: F.value,
3486
- filter_value: R.value,
3505
+ page: M.value,
3506
+ filter_value: L.value,
3487
3507
  paginated: !0,
3488
- from: te.value,
3489
- to: ne.value,
3490
- exact: B.value || null
3508
+ from: G.value,
3509
+ to: K.value,
3510
+ exact: z.value || null
3491
3511
  };
3492
3512
  return Object.keys(e).forEach((t) => {
3493
3513
  (e[t] === null || e[t] === "" || e[t] === void 0) && delete e[t];
@@ -3496,39 +3516,39 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3496
3516
  params: e
3497
3517
  };
3498
3518
  },
3499
- cacheEnabled: () => ie.value,
3519
+ cacheEnabled: () => ne.value,
3500
3520
  networkTimeout: () => m.networkTimeout
3501
- }), X = async ({ append: e = !1 } = {}) => {
3502
- let t = await ue({ append: e });
3521
+ }), Q = async ({ append: e = !1 } = {}) => {
3522
+ let t = await se({ append: e });
3503
3523
  t && v("loaded", t);
3504
3524
  };
3505
- X();
3506
- let de = null, fe = () => {
3507
- clearTimeout(de), de = setTimeout(() => {
3508
- F.value = 1, X();
3525
+ Q();
3526
+ let le = null, ue = () => {
3527
+ clearTimeout(le), le = setTimeout(() => {
3528
+ M.value = 1, Q();
3509
3529
  }, 500);
3510
3530
  };
3511
- C(() => clearTimeout(de));
3512
- let pe = (e) => {
3531
+ C(() => clearTimeout(le));
3532
+ let de = (e) => {
3513
3533
  if (!e) return null;
3514
3534
  let [t, n, r] = e.split("-");
3515
3535
  return `${n}/${r}/${t}`;
3516
- }, me = () => {
3517
- te.value = pe(G.value), ne.value = pe(K.value), F.value = 1, X();
3536
+ }, fe = () => {
3537
+ G.value = de(q.value), K.value = de(J.value), M.value = 1, Q();
3538
+ }, pe = (e) => {
3539
+ e.sortable && (V.value === e.name ? W.value = W.value === "desc" ? "asc" : "desc" : (V.value = e.name, W.value = "desc"), Q());
3540
+ }, me = (e) => {
3541
+ M.value = e, Q();
3518
3542
  }, he = (e) => {
3519
- e.sortable && (U.value === e.name ? W.value = W.value === "desc" ? "asc" : "desc" : (U.value = e.name, W.value = "desc"), X());
3520
- }, ge = (e) => {
3521
- F.value = e, X();
3522
- }, _e = (e) => {
3523
- I.value = e, F.value = 1, i.setItem(D(), e), X();
3524
- }, ye = () => {
3525
- F.value++, X({ append: !0 });
3543
+ I.value = e, M.value = 1, i.setItem(D(), e), Q();
3544
+ }, ge = () => {
3545
+ M.value++, Q({ append: !0 });
3526
3546
  };
3527
- z(() => m.reload, () => X()), z(() => m.endpoint, () => {
3528
- F.value = 1, I.value = ee(), X();
3547
+ B(() => m.reload, () => Q()), B(() => m.endpoint, () => {
3548
+ M.value = 1, I.value = O(), Q();
3529
3549
  });
3530
- let Z = (e, t) => {
3531
- let n = Tt(e, t.name);
3550
+ let ve = (e, t) => {
3551
+ let n = Et(e, t.name);
3532
3552
  if (n == null || n === "") return "";
3533
3553
  switch (t.format) {
3534
3554
  case "date": return r.formatDate(n, "ll");
@@ -3537,7 +3557,7 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3537
3557
  case "money": return r.formatNumber(n, 2);
3538
3558
  default: return n;
3539
3559
  }
3540
- }, be = (e) => !e.permission || b.isAllowedTo(e.permission), xe = (e) => m.actions.filter((t) => be(t) && (t.show ? t.show(e) : !0)), Q = l(() => m.multiActions.filter(be)), Se = (e, t) => String(e).replace(/\{(.*?)\}/g, (e, n) => Tt(t, n)), Ce = async (e, t) => {
3560
+ }, ye = (e) => !e.permission || b.isAllowedTo(e.permission), be = (e) => m.actions.filter((t) => ye(t) && (t.show ? t.show(e) : !0)), xe = l(() => m.multiActions.filter(ye)), Se = (e, t) => String(e).replace(/\{(.*?)\}/g, (e, n) => Et(t, n)), Ce = async (e, t) => {
3541
3561
  if (e.handler) return e.handler(t);
3542
3562
  if (e.emit) {
3543
3563
  v("action", e.emit, t), v(e.emit, t);
@@ -3548,69 +3568,69 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3548
3568
  let i = Se(e.url, t);
3549
3569
  if (e.confirm) {
3550
3570
  let t = await r.runPlainRequest(i, e.confirm, e.label, e.data);
3551
- t.isConfirmed && t.value?.success ? (r.showToast(t.value.response?.message ?? "Action successful"), X()) : t.isConfirmed && r.showToast(e.failMessage ?? "Action failed", "error");
3571
+ t.isConfirmed && t.value?.success ? (r.showToast(t.value.response?.message ?? "Action successful"), Q()) : t.isConfirmed && r.showToast(e.failMessage ?? "Action failed", "error");
3552
3572
  return;
3553
3573
  }
3554
3574
  try {
3555
3575
  let t = await n.doPost(i, e.data);
3556
- r.showToast(t.data?.message ?? "Action successful"), X();
3576
+ r.showToast(t.data?.message ?? "Action successful"), Q();
3557
3577
  } catch (e) {
3558
3578
  r.showToast(e.response?.data?.message ?? "Action failed", "error");
3559
3579
  }
3560
3580
  }
3561
3581
  }, we = (e) => {
3562
3582
  v("rowClick", e), m.rowLink && w(Se(m.rowLink, e));
3563
- }, $ = O([]), Te = l(() => J.value.length > 0 && $.value.length === J.value.length), Ee = () => {
3564
- $.value = Te.value ? [] : J.value.map((e) => e.id);
3583
+ }, $ = k([]), Te = l(() => Y.value.length > 0 && $.value.length === Y.value.length), Ee = () => {
3584
+ $.value = Te.value ? [] : Y.value.map((e) => e.id);
3565
3585
  }, De = (e) => {
3566
3586
  let t = $.value.indexOf(e);
3567
3587
  t > -1 ? $.value.splice(t, 1) : $.value.push(e);
3568
3588
  }, Oe = (e) => {
3569
- let t = J.value.filter((e) => $.value.includes(e.id));
3589
+ let t = Y.value.filter((e) => $.value.includes(e.id));
3570
3590
  e.handler?.(t), $.value = [];
3571
- }, ke = l(() => T.value.length + +!!Q.value.length + +!!m.actions.length);
3591
+ }, ke = l(() => T.value.length + +!!xe.value.length + +!!m.actions.length);
3572
3592
  return s({
3573
- reload: () => X(),
3574
- records: J
3575
- }), (t, n) => (E(), f("div", { class: x(N(y).wrapper) }, [
3593
+ reload: () => Q(),
3594
+ records: Y
3595
+ }), (t, n) => (E(), f("div", { class: x(F(y).wrapper) }, [
3576
3596
  e.searchable || e.hasRange ? (E(), f("div", {
3577
3597
  key: 0,
3578
- class: x(N(y).toolbar)
3579
- }, [e.searchable ? (E(), f("div", It, [V(p("input", {
3580
- "onUpdate:modelValue": n[0] ||= (e) => R.value = e,
3598
+ class: x(F(y).toolbar)
3599
+ }, [e.searchable ? (E(), f("div", Lt, [H(p("input", {
3600
+ "onUpdate:modelValue": n[0] ||= (e) => L.value = e,
3581
3601
  type: "search",
3582
3602
  placeholder: e.searchPlaceholder,
3583
- class: x(N(y).search),
3584
- onInput: fe
3585
- }, null, 42, Lt), [[L, R.value]]), R.value.length > 1 ? (E(), f("label", {
3603
+ class: x(F(y).search),
3604
+ onInput: ue
3605
+ }, null, 42, Rt), [[R, L.value]]), L.value.length > 1 ? (E(), f("label", {
3586
3606
  key: 0,
3587
- class: x(N(y).exactLabel)
3588
- }, [V(p("input", {
3589
- "onUpdate:modelValue": n[1] ||= (e) => B.value = e,
3607
+ class: x(F(y).exactLabel)
3608
+ }, [H(p("input", {
3609
+ "onUpdate:modelValue": n[1] ||= (e) => z.value = e,
3590
3610
  type: "checkbox",
3591
- class: x(N(y).checkbox),
3592
- onChange: n[2] ||= (e) => X()
3593
- }, null, 34), [[P, B.value]]), n[10] ||= h(" Exact ", -1)], 2)) : d("", !0)])) : d("", !0), e.hasRange ? (E(), f("div", {
3611
+ class: x(F(y).checkbox),
3612
+ onChange: n[2] ||= (e) => Q()
3613
+ }, null, 34), [[ee, z.value]]), n[10] ||= h(" Exact ", -1)], 2)) : d("", !0)])) : d("", !0), e.hasRange ? (E(), f("div", {
3594
3614
  key: 1,
3595
- class: x(N(y).rangeWrapper)
3615
+ class: x(F(y).rangeWrapper)
3596
3616
  }, [
3597
- V(p("input", {
3598
- "onUpdate:modelValue": n[3] ||= (e) => G.value = e,
3617
+ H(p("input", {
3618
+ "onUpdate:modelValue": n[3] ||= (e) => q.value = e,
3599
3619
  type: "date",
3600
- class: x(N(y).rangeInput),
3601
- onChange: me
3602
- }, null, 34), [[L, G.value]]),
3620
+ class: x(F(y).rangeInput),
3621
+ onChange: fe
3622
+ }, null, 34), [[R, q.value]]),
3603
3623
  n[11] ||= p("span", { class: "text-xs text-gray-400" }, "to", -1),
3604
- V(p("input", {
3605
- "onUpdate:modelValue": n[4] ||= (e) => K.value = e,
3624
+ H(p("input", {
3625
+ "onUpdate:modelValue": n[4] ||= (e) => J.value = e,
3606
3626
  type: "date",
3607
- class: x(N(y).rangeInput),
3608
- onChange: me
3609
- }, null, 34), [[L, K.value]])
3627
+ class: x(F(y).rangeInput),
3628
+ onChange: fe
3629
+ }, null, 34), [[R, J.value]])
3610
3630
  ], 2)) : d("", !0)], 2)) : d("", !0),
3611
- N(Y) ? (E(), f("div", {
3631
+ F(ae) ? (E(), f("div", {
3612
3632
  key: 1,
3613
- class: x(N(y).offline)
3633
+ class: x(F(y).offline)
3614
3634
  }, [...n[12] ||= [p("svg", {
3615
3635
  xmlns: "http://www.w3.org/2000/svg",
3616
3636
  class: "size-4",
@@ -3623,134 +3643,134 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3623
3643
  "stroke-linejoin": "round",
3624
3644
  d: "M12 9v3.75m0 3.75h.008v.008H12v-.008zM3.34 17.25h17.32c1.16 0 1.88-1.25 1.3-2.25L13.3 4.5c-.58-1-2.02-1-2.6 0L2.04 15c-.58 1 .14 2.25 1.3 2.25z"
3625
3645
  })], -1), p("span", null, "You appear to be offline — showing cached results. Search and pagination run on cached data.", -1)]], 2)) : d("", !0),
3626
- N(oe) === "error" && !N(J).length ? (E(), f("div", {
3646
+ F(ie) === "error" && !F(Y).length ? (E(), f("div", {
3627
3647
  key: 2,
3628
- class: x(N(y).error)
3629
- }, M(N(se)), 3)) : N(oe) === "loading" && !N(J).length ? (E(), f("div", {
3648
+ class: x(F(y).error)
3649
+ }, P(F(Z)), 3)) : F(ie) === "loading" && !F(Y).length ? (E(), f("div", {
3630
3650
  key: 3,
3631
- class: x(N(y).loading)
3632
- }, [g(ve, { class: "size-6" })], 2)) : (E(), f(o, { key: 4 }, [
3633
- p("div", { class: x(N(y).container) }, [p("table", { class: x(N(y).table) }, [p("thead", { class: x(N(y).thead) }, [p("tr", null, [
3634
- Q.value.length ? (E(), f("th", {
3651
+ class: x(F(y).loading)
3652
+ }, [g(_e, { class: "size-6" })], 2)) : (E(), f(o, { key: 4 }, [
3653
+ p("div", { class: x(F(y).container) }, [p("table", { class: x(F(y).table) }, [p("thead", { class: x(F(y).thead) }, [p("tr", null, [
3654
+ xe.value.length ? (E(), f("th", {
3635
3655
  key: 0,
3636
- class: x([N(y).th, "w-10"])
3656
+ class: x([F(y).th, "w-10"])
3637
3657
  }, [p("input", {
3638
3658
  type: "checkbox",
3639
- class: x(N(y).checkbox),
3659
+ class: x(F(y).checkbox),
3640
3660
  checked: Te.value,
3641
3661
  onChange: Ee
3642
- }, null, 42, Rt)], 2)) : d("", !0),
3643
- (E(!0), f(o, null, k(T.value, (e) => (E(), f("th", {
3662
+ }, null, 42, zt)], 2)) : d("", !0),
3663
+ (E(!0), f(o, null, A(T.value, (e) => (E(), f("th", {
3644
3664
  key: e.name,
3645
- class: x(N(y).th)
3665
+ class: x(F(y).th)
3646
3666
  }, [e.sortable ? (E(), f("a", {
3647
3667
  key: 0,
3648
- class: x(N(y).sortBtn),
3649
- onClick: (t) => he(e)
3650
- }, [h(M(e.label) + " ", 1), U.value === e.name ? (E(), f("span", Bt, M(W.value === "desc" ? "↓" : "↑"), 1)) : d("", !0)], 10, zt)) : (E(), f(o, { key: 1 }, [h(M(e.label), 1)], 64))], 2))), 128)),
3668
+ class: x(F(y).sortBtn),
3669
+ onClick: (t) => pe(e)
3670
+ }, [h(P(e.label) + " ", 1), V.value === e.name ? (E(), f("span", Vt, P(W.value === "desc" ? "↓" : "↑"), 1)) : d("", !0)], 10, Bt)) : (E(), f(o, { key: 1 }, [h(P(e.label), 1)], 64))], 2))), 128)),
3651
3671
  e.actions.length ? (E(), f("th", {
3652
3672
  key: 1,
3653
- class: x([N(y).th, "text-right"])
3673
+ class: x([F(y).th, "text-right"])
3654
3674
  }, "Actions", 2)) : d("", !0)
3655
- ])], 2), p("tbody", { class: x(N(y).tbody) }, [N(J).length ? d("", !0) : (E(), f("tr", Vt, [p("td", {
3675
+ ])], 2), p("tbody", { class: x(F(y).tbody) }, [F(Y).length ? d("", !0) : (E(), f("tr", Ht, [p("td", {
3656
3676
  colspan: ke.value,
3657
- class: x(N(y).empty)
3658
- }, [A(t.$slots, "empty", {}, () => [h(M(e.emptyMessage), 1)])], 10, Ht)])), (E(!0), f(o, null, k(N(J), (r, i) => (E(), f("tr", {
3677
+ class: x(F(y).empty)
3678
+ }, [j(t.$slots, "empty", {}, () => [h(P(e.emptyMessage), 1)])], 10, Ut)])), (E(!0), f(o, null, A(F(Y), (r, i) => (E(), f("tr", {
3659
3679
  key: r.id ?? i,
3660
- class: x([N(y).tr, e.rowLink ? N(y).trClickable : ""]),
3680
+ class: x([F(y).tr, e.rowLink ? F(y).trClickable : ""]),
3661
3681
  onClick: (e) => we(r)
3662
3682
  }, [
3663
- Q.value.length ? (E(), f("td", {
3683
+ xe.value.length ? (E(), f("td", {
3664
3684
  key: 0,
3665
- class: x(N(y).td),
3666
- onClick: n[5] ||= H(() => {}, ["stop"])
3685
+ class: x(F(y).td),
3686
+ onClick: n[5] ||= U(() => {}, ["stop"])
3667
3687
  }, [p("input", {
3668
3688
  type: "checkbox",
3669
- class: x(N(y).checkbox),
3689
+ class: x(F(y).checkbox),
3670
3690
  checked: $.value.includes(r.id),
3671
3691
  onChange: (e) => De(r.id)
3672
- }, null, 42, Wt)], 2)) : d("", !0),
3673
- (E(!0), f(o, null, k(T.value, (e) => (E(), f("td", {
3692
+ }, null, 42, Gt)], 2)) : d("", !0),
3693
+ (E(!0), f(o, null, A(T.value, (e) => (E(), f("td", {
3674
3694
  key: e.name,
3675
- class: x([N(y).td, e.class])
3676
- }, [A(t.$slots, `cell-${e.name}`, {
3695
+ class: x([F(y).td, e.class])
3696
+ }, [j(t.$slots, `cell-${e.name}`, {
3677
3697
  row: r,
3678
- value: Z(r, e),
3698
+ value: ve(r, e),
3679
3699
  index: i
3680
- }, () => [e.component ? (E(), u(j(e.component), {
3700
+ }, () => [e.component ? (E(), u(N(e.component), {
3681
3701
  key: 0,
3682
3702
  row: r,
3683
- value: N(Tt)(r, e.name)
3703
+ value: F(Et)(r, e.name)
3684
3704
  }, null, 8, ["row", "value"])) : e.format === "money" ? (E(), f("span", {
3685
3705
  key: 1,
3686
- class: x(N(y).money)
3687
- }, M(Z(r, e)), 3)) : (E(), f("span", {
3706
+ class: x(F(y).money)
3707
+ }, P(ve(r, e)), 3)) : (E(), f("span", {
3688
3708
  key: 2,
3689
- innerHTML: Z(r, e)
3690
- }, null, 8, Gt))])], 2))), 128)),
3709
+ innerHTML: ve(r, e)
3710
+ }, null, 8, Kt))])], 2))), 128)),
3691
3711
  e.actions.length ? (E(), f("td", {
3692
3712
  key: 1,
3693
- class: x(N(y).actionsCell),
3694
- onClick: n[6] ||= H(() => {}, ["stop"])
3695
- }, [A(t.$slots, "actions", { row: r }, () => [(E(!0), f(o, null, k(xe(r), (e) => (E(), f("a", {
3713
+ class: x(F(y).actionsCell),
3714
+ onClick: n[6] ||= U(() => {}, ["stop"])
3715
+ }, [j(t.$slots, "actions", { row: r }, () => [(E(!0), f(o, null, A(be(r), (e) => (E(), f("a", {
3696
3716
  key: e.label,
3697
- class: x([N(y).actionBtn, e.class]),
3717
+ class: x([F(y).actionBtn, e.class]),
3698
3718
  onClick: (t) => Ce(e, r)
3699
- }, M(e.label), 11, Kt))), 128))])], 2)) : d("", !0)
3700
- ], 10, Ut))), 128))], 2)], 2)], 2),
3701
- p("div", { class: x(N(y).cards) }, [N(J).length ? d("", !0) : (E(), f("p", {
3719
+ }, P(e.label), 11, qt))), 128))])], 2)) : d("", !0)
3720
+ ], 10, Wt))), 128))], 2)], 2)], 2),
3721
+ p("div", { class: x(F(y).cards) }, [F(Y).length ? d("", !0) : (E(), f("p", {
3702
3722
  key: 0,
3703
- class: x(N(y).empty)
3704
- }, [A(t.$slots, "empty", {}, () => [h(M(e.emptyMessage), 1)])], 2)), (E(!0), f(o, null, k(N(J), (r, i) => (E(), f("div", {
3723
+ class: x(F(y).empty)
3724
+ }, [j(t.$slots, "empty", {}, () => [h(P(e.emptyMessage), 1)])], 2)), (E(!0), f(o, null, A(F(Y), (r, i) => (E(), f("div", {
3705
3725
  key: r.id ?? i,
3706
- class: x([N(y).card, e.rowLink ? N(y).trClickable : ""]),
3726
+ class: x([F(y).card, e.rowLink ? F(y).trClickable : ""]),
3707
3727
  onClick: (e) => we(r)
3708
3728
  }, [
3709
- Q.value.length ? (E(), f("label", {
3729
+ xe.value.length ? (E(), f("label", {
3710
3730
  key: 0,
3711
- class: x([N(y).exactLabel, "mb-2"]),
3712
- onClick: n[7] ||= H(() => {}, ["stop"])
3731
+ class: x([F(y).exactLabel, "mb-2"]),
3732
+ onClick: n[7] ||= U(() => {}, ["stop"])
3713
3733
  }, [p("input", {
3714
3734
  type: "checkbox",
3715
- class: x(N(y).checkbox),
3735
+ class: x(F(y).checkbox),
3716
3736
  checked: $.value.includes(r.id),
3717
3737
  onChange: (e) => De(r.id)
3718
- }, null, 42, Jt), n[13] ||= h(" Select ", -1)], 2)) : d("", !0),
3719
- (E(!0), f(o, null, k(T.value, (e) => (E(), f(o, { key: e.name }, [p("p", { class: x(N(y).cardLabel) }, M(e.label), 3), p("div", { class: x(N(y).cardValue) }, [A(t.$slots, `cell-${e.name}`, {
3738
+ }, null, 42, Yt), n[13] ||= h(" Select ", -1)], 2)) : d("", !0),
3739
+ (E(!0), f(o, null, A(T.value, (e) => (E(), f(o, { key: e.name }, [p("p", { class: x(F(y).cardLabel) }, P(e.label), 3), p("div", { class: x(F(y).cardValue) }, [j(t.$slots, `cell-${e.name}`, {
3720
3740
  row: r,
3721
- value: Z(r, e),
3741
+ value: ve(r, e),
3722
3742
  index: i
3723
- }, () => [e.component ? (E(), u(j(e.component), {
3743
+ }, () => [e.component ? (E(), u(N(e.component), {
3724
3744
  key: 0,
3725
3745
  row: r,
3726
- value: N(Tt)(r, e.name)
3746
+ value: F(Et)(r, e.name)
3727
3747
  }, null, 8, ["row", "value"])) : e.format === "money" ? (E(), f("span", {
3728
3748
  key: 1,
3729
- class: x(N(y).money)
3730
- }, M(Z(r, e)), 3)) : (E(), f("span", {
3749
+ class: x(F(y).money)
3750
+ }, P(ve(r, e)), 3)) : (E(), f("span", {
3731
3751
  key: 2,
3732
- innerHTML: Z(r, e)
3733
- }, null, 8, Yt))])], 2)], 64))), 128)),
3752
+ innerHTML: ve(r, e)
3753
+ }, null, 8, Xt))])], 2)], 64))), 128)),
3734
3754
  e.actions.length ? (E(), f("div", {
3735
3755
  key: 1,
3736
3756
  class: "mt-2",
3737
- onClick: n[8] ||= H(() => {}, ["stop"])
3738
- }, [A(t.$slots, "actions", { row: r }, () => [(E(!0), f(o, null, k(xe(r), (e) => (E(), f("a", {
3757
+ onClick: n[8] ||= U(() => {}, ["stop"])
3758
+ }, [j(t.$slots, "actions", { row: r }, () => [(E(!0), f(o, null, A(be(r), (e) => (E(), f("a", {
3739
3759
  key: e.label,
3740
- class: x([N(y).actionBtn, e.class]),
3760
+ class: x([F(y).actionBtn, e.class]),
3741
3761
  onClick: (t) => Ce(e, r)
3742
- }, M(e.label), 11, Xt))), 128))])])) : d("", !0)
3743
- ], 10, qt))), 128))], 2),
3744
- N(ae) && N(J).length ? (E(), u(Ft, {
3762
+ }, P(e.label), 11, Zt))), 128))])])) : d("", !0)
3763
+ ], 10, Jt))), 128))], 2),
3764
+ F(re) && F(Y).length ? (E(), u(It, {
3745
3765
  key: 0,
3746
- meta: N(ae),
3766
+ meta: F(re),
3747
3767
  "per-page": I.value,
3748
- mode: re.value,
3749
- loading: N(oe) === "loading",
3750
- theme: N(y).pagination,
3751
- onPage: ge,
3752
- onPerPage: _e,
3753
- onLoadMore: ye
3768
+ mode: te.value,
3769
+ loading: F(ie) === "loading",
3770
+ theme: F(y).pagination,
3771
+ onPage: me,
3772
+ onPerPage: he,
3773
+ onLoadMore: ge
3754
3774
  }, null, 8, [
3755
3775
  "meta",
3756
3776
  "per-page",
@@ -3759,22 +3779,233 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3759
3779
  "theme"
3760
3780
  ])) : d("", !0)
3761
3781
  ], 64)),
3762
- $.value.length && Q.value.length ? (E(), f("div", {
3782
+ $.value.length && xe.value.length ? (E(), f("div", {
3763
3783
  key: 5,
3764
- class: x(N(y).multiBar)
3765
- }, [p("div", Zt, [p("span", { class: x(N(y).multiCount) }, M($.value.length), 3), n[14] ||= h(" selected ", -1)]), p("div", Qt, [(E(!0), f(o, null, k(Q.value, (e) => (E(), f("button", {
3784
+ class: x(F(y).multiBar)
3785
+ }, [p("div", Qt, [p("span", { class: x(F(y).multiCount) }, P($.value.length), 3), n[14] ||= h(" selected ", -1)]), p("div", $t, [(E(!0), f(o, null, A(xe.value, (e) => (E(), f("button", {
3766
3786
  key: e.label,
3767
3787
  type: "button",
3768
- class: x([N(y).multiBtn, e.class]),
3788
+ class: x([F(y).multiBtn, e.class]),
3769
3789
  onClick: (t) => Oe(e)
3770
- }, M(e.label), 11, $t))), 128)), p("button", {
3790
+ }, P(e.label), 11, en))), 128)), p("button", {
3771
3791
  type: "button",
3772
- class: x(N(y).multiBtn),
3792
+ class: x(F(y).multiBtn),
3773
3793
  onClick: n[9] ||= (e) => $.value = []
3774
3794
  }, "Cancel", 2)])], 2)) : d("", !0)
3775
3795
  ], 2));
3776
3796
  }
3777
- }, tn = {
3797
+ }, nn = { key: 2 }, rn = [
3798
+ "aria-selected",
3799
+ "tabindex",
3800
+ "disabled",
3801
+ "onClick",
3802
+ "onKeydown"
3803
+ ], an = { key: 0 }, on = /*@__PURE__*/ Object.assign({ inheritAttrs: !1 }, {
3804
+ __name: "ShTabs",
3805
+ props: {
3806
+ tabs: {
3807
+ type: Array,
3808
+ required: !0
3809
+ },
3810
+ modelValue: {
3811
+ type: String,
3812
+ default: null
3813
+ },
3814
+ data: {
3815
+ type: Object,
3816
+ default: () => ({})
3817
+ },
3818
+ counts: {
3819
+ type: [Object, String],
3820
+ default: null
3821
+ },
3822
+ variant: {
3823
+ type: String,
3824
+ default: "underline"
3825
+ },
3826
+ sync: {
3827
+ type: String,
3828
+ default: "none"
3829
+ },
3830
+ queryKey: {
3831
+ type: String,
3832
+ default: "tab"
3833
+ },
3834
+ router: {
3835
+ type: Boolean,
3836
+ default: !1
3837
+ },
3838
+ baseUrl: {
3839
+ type: String,
3840
+ default: null
3841
+ },
3842
+ lazy: {
3843
+ type: Boolean,
3844
+ default: !1
3845
+ },
3846
+ emptyMessage: {
3847
+ type: String,
3848
+ default: "No tabs available"
3849
+ },
3850
+ forbiddenMessage: {
3851
+ type: String,
3852
+ default: "403 — not allowed"
3853
+ },
3854
+ classes: {
3855
+ type: Object,
3856
+ default: null
3857
+ }
3858
+ },
3859
+ emits: ["update:modelValue", "change"],
3860
+ setup(e, { expose: t, emit: r }) {
3861
+ let i = e, s = r, c = X("tabs", l(() => i.classes)), m = l(() => {
3862
+ let e = c.value[i.variant];
3863
+ return e ? {
3864
+ ...c.value,
3865
+ ...e
3866
+ } : c.value;
3867
+ }), g = a(), v = _()?.appContext.config.globalProperties.$router ?? null, b = l(() => !!(i.router || i.baseUrl) && !!v), S = l(() => v?.currentRoute.value ?? null), C = v ? M("RouterLink") : null, T = v ? M("RouterView") : null, D = (e) => String(e).trim().replace(/\s+/g, "_").toLowerCase(), O = l(() => (i.tabs ?? []).map((e) => {
3868
+ let t = typeof e == "string" ? { key: e } : typeof e == "function" ? { ...e(i.data) } : { ...e };
3869
+ return t.key = t.key ?? t.name ?? (t.label ? D(t.label) : ""), t.label = t.label ?? ce(t.key), t;
3870
+ }).filter((e) => !(e.validator && !e.validator(i.data) || e.permission && !g.isAllowedTo(e.permission)))), ee = l(() => i.tabs.length > 0 && O.value.length === 0), I = k({}), L = (e) => {
3871
+ let t = I.value[e.key] ?? (i.counts && typeof i.counts == "object" ? i.counts[e.key] : void 0) ?? e.count ?? e.counts ?? e.badge;
3872
+ return t === 0 || t ? t : null;
3873
+ }, R = k(null);
3874
+ l(() => O.value.find((e) => e.key === R.value) ?? null);
3875
+ let U = k([]), W = (e) => !i.lazy || U.value.includes(e.key), G = (e) => {
3876
+ e && !U.value.includes(e) && U.value.push(e);
3877
+ }, K = (e) => {
3878
+ !e || e.disabled || e.key === R.value || (R.value = e.key, G(e.key), s("update:modelValue", e.key), s("change", e.key, e), i.sync === "query" && v && S.value && v.replace({ query: {
3879
+ ...S.value.query,
3880
+ [i.queryKey]: e.key
3881
+ } }));
3882
+ };
3883
+ B(() => i.modelValue, (e) => {
3884
+ e != null && e !== R.value && O.value.some((t) => t.key === e) && (R.value = e, G(e));
3885
+ });
3886
+ let q = l(() => (i.baseUrl ?? S.value?.path ?? "").replace(/\/tab\/[^/]+\/?$/, "")), J = (e) => `${q.value}/tab/${e.key}`, te = l(() => {
3887
+ let e = S.value?.path ?? "";
3888
+ return O.value.find((t) => e.includes(`/tab/${t.key}`))?.key ?? null;
3889
+ });
3890
+ w(() => {
3891
+ if (typeof i.counts == "string" && n.doGet(i.counts).then((e) => {
3892
+ I.value = { ...e.data };
3893
+ }).catch(() => {}), O.value.length === 0) return;
3894
+ if (b.value) {
3895
+ te.value || v.replace(J(O.value[0]));
3896
+ return;
3897
+ }
3898
+ let e = i.modelValue;
3899
+ !e && i.sync === "query" && (e = S.value?.query[i.queryKey]), O.value.some((t) => t.key === e) || (e = O.value[0].key), R.value = e, G(e), i.modelValue ?? s("update:modelValue", e), i.sync === "query" && v && S.value?.query[i.queryKey] !== e && v.replace({ query: {
3900
+ ...S.value.query,
3901
+ [i.queryKey]: e
3902
+ } });
3903
+ });
3904
+ let ne = k([]), Y = (e) => ne.value[e]?.focus(), re = (e, t) => {
3905
+ let n = O.value.length;
3906
+ for (let r = 1; r <= n; r++) {
3907
+ let i = (e + t * r % n + n) % n;
3908
+ if (!O.value[i].disabled) return i;
3909
+ }
3910
+ return e;
3911
+ }, ie = (e, t) => {
3912
+ let n = {
3913
+ ArrowRight: 1,
3914
+ ArrowDown: 1,
3915
+ ArrowLeft: -1,
3916
+ ArrowUp: -1
3917
+ }, r;
3918
+ if (e.key in n) r = re(t, n[e.key]);
3919
+ else if (e.key === "Home") r = O.value.findIndex((e) => !e.disabled);
3920
+ else if (e.key === "End") r = O.value.length - 1 - [...O.value].reverse().findIndex((e) => !e.disabled);
3921
+ else return;
3922
+ e.preventDefault(), K(O.value[r]), Y(r);
3923
+ }, Z = (e) => (b.value ? te.value : R.value) === e.key;
3924
+ return t({
3925
+ active: R,
3926
+ select: K
3927
+ }), (t, n) => ee.value ? (E(), f("div", {
3928
+ key: 0,
3929
+ class: x(m.value.empty)
3930
+ }, P(e.forbiddenMessage), 3)) : O.value.length ? (E(), f("div", nn, [p("div", {
3931
+ class: x(m.value.nav),
3932
+ role: "tablist"
3933
+ }, [(E(!0), f(o, null, A(O.value, (e, t) => (E(), f(o, { key: e.key }, [b.value ? (E(), u(N(F(C)), {
3934
+ key: 0,
3935
+ ref_for: !0,
3936
+ ref: (e) => ne.value[t] = e?.$el ?? e,
3937
+ to: J(e),
3938
+ role: "tab",
3939
+ "aria-selected": Z(e),
3940
+ tabindex: Z(e) ? 0 : -1,
3941
+ class: x([Z(e) ? m.value.tabActive : m.value.tab, e.class]),
3942
+ onKeydown: (e) => ie(e, t)
3943
+ }, {
3944
+ default: V(() => [
3945
+ e.icon ? (E(), u(N(e.icon), {
3946
+ key: 0,
3947
+ class: x(m.value.icon)
3948
+ }, null, 8, ["class"])) : d("", !0),
3949
+ h(" " + P(e.label) + " ", 1),
3950
+ L(e) == null ? d("", !0) : (E(), f("span", {
3951
+ key: 1,
3952
+ class: x(Z(e) ? m.value.countActive : m.value.count)
3953
+ }, P(L(e)), 3))
3954
+ ]),
3955
+ _: 2
3956
+ }, 1064, [
3957
+ "to",
3958
+ "aria-selected",
3959
+ "tabindex",
3960
+ "class",
3961
+ "onKeydown"
3962
+ ])) : (E(), f("button", {
3963
+ key: 1,
3964
+ ref_for: !0,
3965
+ ref: (e) => ne.value[t] = e,
3966
+ type: "button",
3967
+ role: "tab",
3968
+ "aria-selected": Z(e),
3969
+ tabindex: Z(e) ? 0 : -1,
3970
+ disabled: e.disabled,
3971
+ class: x([Z(e) ? m.value.tabActive : m.value.tab, e.class]),
3972
+ onClick: (t) => K(e),
3973
+ onKeydown: (e) => ie(e, t)
3974
+ }, [
3975
+ e.icon ? (E(), u(N(e.icon), {
3976
+ key: 0,
3977
+ class: x(m.value.icon)
3978
+ }, null, 8, ["class"])) : d("", !0),
3979
+ h(" " + P(e.label) + " ", 1),
3980
+ L(e) == null ? d("", !0) : (E(), f("span", {
3981
+ key: 1,
3982
+ class: x(Z(e) ? m.value.countActive : m.value.count)
3983
+ }, P(L(e)), 3))
3984
+ ], 42, rn))], 64))), 128))], 2), b.value ? (E(), f("div", {
3985
+ key: 0,
3986
+ class: x(m.value.panel),
3987
+ role: "tabpanel"
3988
+ }, [(E(), u(N(F(T)), y(t.$attrs, { data: e.data }), null, 16, ["data"]))], 2)) : (E(), f("div", {
3989
+ key: 1,
3990
+ class: x(m.value.panel),
3991
+ role: "tabpanel",
3992
+ tabindex: "0"
3993
+ }, [(E(!0), f(o, null, A(O.value, (n) => (E(), f(o, { key: n.key }, [W(n) ? H((E(), f("div", an, [n.component ? (E(), u(N(n.component), y({
3994
+ key: 0,
3995
+ ref_for: !0
3996
+ }, t.$attrs, { data: e.data }), null, 16, ["data"])) : j(t.$slots, `tab-${n.key}`, {
3997
+ key: 1,
3998
+ tab: n,
3999
+ active: n.key === R.value
4000
+ }, () => [j(t.$slots, "default", {
4001
+ tab: n,
4002
+ active: n.key === R.value
4003
+ })])], 512)), [[z, n.key === R.value]]) : d("", !0)], 64))), 128))], 2))])) : (E(), f("div", {
4004
+ key: 1,
4005
+ class: x(m.value.empty)
4006
+ }, P(e.emptyMessage), 3));
4007
+ }
4008
+ }), sn = {
3778
4009
  __name: "ShConfirmAction",
3779
4010
  props: {
3780
4011
  url: {
@@ -3811,7 +4042,7 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3811
4042
  "actionCanceled"
3812
4043
  ],
3813
4044
  setup(e, { emit: t }) {
3814
- let n = e, i = t, a = q("buttons"), s = O(!1), c = (e) => {
4045
+ let n = e, i = t, a = X("buttons"), s = k(!1), c = (e) => {
3815
4046
  s.value = !1, i("actionSuccessful", e), i("success", e), (n.successMessage || e?.message) && r.showToast(e?.message ?? n.successMessage);
3816
4047
  }, l = (e) => {
3817
4048
  s.value = !1, i("actionFailed", e), i("failed", e), (n.failMessage || e?.value?.message) && r.showToast(e?.value?.message ?? n.failMessage, "error");
@@ -3823,15 +4054,15 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3823
4054
  l(e);
3824
4055
  });
3825
4056
  }
3826
- return (t, n) => (E(), u(j(e.tag), {
3827
- class: x([e.btnClass ?? N(a).link, s.value ? "pointer-events-none opacity-60" : ""]),
4057
+ return (t, n) => (E(), u(N(e.tag), {
4058
+ class: x([e.btnClass ?? F(a).link, s.value ? "pointer-events-none opacity-60" : ""]),
3828
4059
  onClick: d
3829
4060
  }, {
3830
- default: B(() => [s.value ? (E(), f(o, { key: 0 }, [g(ve, { class: "size-4" }), p("span", null, M(e.loadingMessage), 1)], 64)) : A(t.$slots, "default", { key: 1 })]),
4061
+ default: V(() => [s.value ? (E(), f(o, { key: 0 }, [g(_e, { class: "size-4" }), p("span", null, P(e.loadingMessage), 1)], 64)) : j(t.$slots, "default", { key: 1 })]),
3831
4062
  _: 3
3832
4063
  }, 8, ["class"]));
3833
4064
  }
3834
- }, nn = {
4065
+ }, cn = {
3835
4066
  __name: "ShSilentAction",
3836
4067
  props: {
3837
4068
  url: {
@@ -3869,7 +4100,7 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3869
4100
  "actionFailed"
3870
4101
  ],
3871
4102
  setup(e, { emit: t }) {
3872
- let i = e, a = t, s = q("buttons"), c = O(!1), l = {
4103
+ let i = e, a = t, s = X("buttons"), c = k(!1), l = {
3873
4104
  GET: n.doGet,
3874
4105
  POST: n.doPost,
3875
4106
  PUT: n.doPut,
@@ -3882,14 +4113,14 @@ var kt = ["value"], At = ["value"], jt = ["disabled"], Mt = ["disabled"], Nt = [
3882
4113
  c.value = !1, a("actionFailed", e), a("failed", e), r.showToast(e?.message ?? i.failMessage, "error");
3883
4114
  });
3884
4115
  }
3885
- return (t, n) => (E(), u(j(e.tag), {
3886
- class: x([e.btnClass ?? N(s).link, c.value ? "pointer-events-none opacity-60" : ""]),
4116
+ return (t, n) => (E(), u(N(e.tag), {
4117
+ class: x([e.btnClass ?? F(s).link, c.value ? "pointer-events-none opacity-60" : ""]),
3887
4118
  onClick: d
3888
4119
  }, {
3889
- default: B(() => [c.value ? (E(), f(o, { key: 0 }, [g(ve, { class: "size-4" }), p("span", null, M(e.loadingMessage), 1)], 64)) : A(t.$slots, "default", { key: 1 })]),
4120
+ default: V(() => [c.value ? (E(), f(o, { key: 0 }, [g(_e, { class: "size-4" }), p("span", null, P(e.loadingMessage), 1)], 64)) : j(t.$slots, "default", { key: 1 })]),
3890
4121
  _: 3
3891
4122
  }, 8, ["class"]));
3892
4123
  }
3893
4124
  };
3894
4125
  //#endregion
3895
- export { Be as DateInput, Se as EmailInput, Ie as MaskedInput, Re as NumberInput, Te as PasswordInput, Xe as PhoneInput, De as PinInput, ne as SH_DIALOG_CONTEXT, te as SH_TW_COMPONENTS, W as SH_TW_THEME, Ge as SelectInput, tn as ShConfirmAction, at as ShDialog, st as ShDialogBtn, lt as ShDialogForm, ot as ShDrawer, ct as ShDrawerBtn, it as ShForm, pe as ShFormSteps, nn as ShSilentAction, ve as ShSpinner, et as ShSuggest, en as ShTable, Ft as ShTablePagination, re as ShTailwind, xe as TextAreaInput, Z as TextInput, Ne as applyMask, Ct as clearTableCache, Ke as countries, ie as createShTailwind, U as defaultTheme, Dt as localQuery, Me as maskMoney, je as maskPattern, wt as shTableCache, ce as useDialog, Ot as useTableData, q as useTheme };
4126
+ export { Ve as DateInput, Ce as EmailInput, Le as MaskedInput, ze as NumberInput, Ee as PasswordInput, Ze as PhoneInput, Oe as PinInput, q as SH_DIALOG_CONTEXT, K as SH_TW_COMPONENTS, G as SH_TW_THEME, Ke as SelectInput, sn as ShConfirmAction, ot as ShDialog, ct as ShDialogBtn, ut as ShDialogForm, st as ShDrawer, lt as ShDrawerBtn, at as ShForm, fe as ShFormSteps, cn as ShSilentAction, _e as ShSpinner, tt as ShSuggest, tn as ShTable, It as ShTablePagination, on as ShTabs, ne as ShTailwind, xe as TextAreaInput, ye as TextInput, Pe as applyMask, wt as clearTableCache, qe as countries, Y as createShTailwind, W as defaultTheme, Ot as localQuery, Ne as maskMoney, Me as maskPattern, Tt as shTableCache, se as useDialog, kt as useTableData, X as useTheme };