@dronico/droni-kit 1.9.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { defineComponent as f, getCurrentInstance as B, computed as b, createBlock as N, openBlock as a, resolveDynamicComponent as L, mergeProps as V, withCtx as T, renderSlot as $, createElementBlock as o, createCommentVNode as v, createElementVNode as h, normalizeClass as m, createTextVNode as q, toDisplayString as y, Fragment as w, renderList as C } from "vue";
2
- const D = { key: 1 }, R = `
1
+ import { defineComponent as R, getCurrentInstance as M, computed as n, createBlock as L, openBlock as t, resolveDynamicComponent as V, mergeProps as j, withCtx as B, renderSlot as q, createElementBlock as a, createCommentVNode as x, createElementVNode as u, normalizeClass as g, createTextVNode as C, toDisplayString as w, Fragment as $, renderList as D, ref as E, reactive as F, withDirectives as I, vShow as O } from "vue";
2
+ const H = { key: 1 }, W = `
3
3
  dk:transition
4
4
  dk:text-center
5
5
  dk:disabled:opacity-50
@@ -10,7 +10,7 @@ const D = { key: 1 }, R = `
10
10
  dk:text-ellipsis
11
11
  dk:whitespace-nowrap
12
12
  dk:active:scale-95
13
- dk:max-w-full`, te = /* @__PURE__ */ f({
13
+ dk:max-w-full`, $e = /* @__PURE__ */ R({
14
14
  __name: "DuiButton",
15
15
  props: {
16
16
  variant: { default: "solid" },
@@ -24,36 +24,36 @@ const D = { key: 1 }, R = `
24
24
  rounded: { default: "all" },
25
25
  to: { default: void 0 }
26
26
  },
27
- setup(u) {
28
- const d = u, e = B(), t = e == null ? void 0 : e.appContext.app, n = b(() => {
27
+ setup(f) {
28
+ const r = f, e = M(), d = e == null ? void 0 : e.appContext.app, l = n(() => {
29
29
  try {
30
- return !!(t != null && t.config.globalProperties.$router || t != null && t.config.globalProperties.$route || globalThis.VueRouter || // Check if RouterLink component is globally registered
31
- t != null && t.component("RouterLink"));
30
+ return !!(d != null && d.config.globalProperties.$router || d != null && d.config.globalProperties.$route || globalThis.VueRouter || // Check if RouterLink component is globally registered
31
+ d != null && d.component("RouterLink"));
32
32
  } catch {
33
33
  return !1;
34
34
  }
35
- }), c = b(() => {
35
+ }), c = n(() => {
36
36
  try {
37
37
  return !!(globalThis.$nuxt || globalThis.useNuxtApp || globalThis.navigateTo || typeof window < "u" && window.$nuxt || // Check if NuxtLink component is globally available
38
- t != null && t.component("NuxtLink"));
38
+ d != null && d.component("NuxtLink"));
39
39
  } catch {
40
40
  return !1;
41
41
  }
42
- }), l = b(() => d.to ? c.value ? "NuxtLink" : n.value ? "RouterLink" : "a" : "button"), g = b(() => {
43
- const r = {};
44
- return l.value === "button" ? r.type = d.type : l.value === "a" ? (r.href = typeof d.to == "string" ? d.to : "#", r.role = "button") : r.to = d.to, r;
45
- }), p = {
42
+ }), b = n(() => r.to ? c.value ? "NuxtLink" : l.value ? "RouterLink" : "a" : "button"), z = n(() => {
43
+ const k = {};
44
+ return b.value === "button" ? k.type = r.type : b.value === "a" ? (k.href = typeof r.to == "string" ? r.to : "#", k.role = "button") : k.to = r.to, k;
45
+ }), v = {
46
46
  sm: "dk:text-sm dk:px-3 dk:py-1.5",
47
47
  md: "dk:text-base dk:px-4 dk:py-2",
48
48
  lg: "dk:text-lg dk:px-5 dk:py-3"
49
- }, x = {
49
+ }, y = {
50
50
  all: "dk:rounded",
51
51
  top: "dk:rounded-t",
52
52
  bottom: "dk:rounded-b",
53
53
  left: "dk:rounded-l",
54
54
  right: "dk:rounded-r",
55
55
  none: "dk:rounded-none"
56
- }, k = {
56
+ }, i = {
57
57
  solid: {
58
58
  base: "dk:border-b",
59
59
  neutral: `
@@ -225,26 +225,26 @@ const D = { key: 1 }, R = `
225
225
  dk:dark:text-amber-100
226
226
  dk:dark:hover:bg-amber-800`
227
227
  }
228
- }, s = b(() => {
229
- var S;
230
- const r = (((S = k[d.variant]) == null ? void 0 : S[d.color]) || "") + " " + k[d.variant].base, i = p[d.size] || "", z = d.block ? "dk:w-full" : "", _ = x[d.rounded] || "";
231
- return [R, r, i, z, _].join(" ");
228
+ }, p = n(() => {
229
+ var N;
230
+ const k = (((N = i[r.variant]) == null ? void 0 : N[r.color]) || "") + " " + i[r.variant].base, h = v[r.size] || "", T = r.block ? "dk:w-full" : "", S = y[r.rounded] || "";
231
+ return [W, k, h, T, S].join(" ");
232
232
  });
233
- return (r, i) => (a(), N(L(l.value), V(g.value, {
234
- class: s.value,
235
- title: d.title,
236
- disabled: d.disabled || d.loading
233
+ return (k, h) => (t(), L(V(b.value), j(z.value, {
234
+ class: p.value,
235
+ title: r.title,
236
+ disabled: r.disabled || r.loading
237
237
  }), {
238
- default: T(() => [
239
- d.loading ? (a(), o("span", D, "Cargando...")) : $(r.$slots, "default", { key: 0 })
238
+ default: B(() => [
239
+ r.loading ? (t(), a("span", H, "Cargando...")) : q(k.$slots, "default", { key: 0 })
240
240
  ]),
241
241
  _: 3
242
242
  }, 16, ["class", "title", "disabled"]));
243
243
  }
244
- }), j = ["for"], A = {
244
+ }), G = ["for"], J = {
245
245
  key: 0,
246
246
  class: "dk:text-rose-500"
247
- }, P = ["type", "value", "disabled", "placeholder", "required", "name", "id", "pattern", "readonly", "min", "max", "step", "aria-label", "aria-disabled", "aria-required"], I = `
247
+ }, K = ["type", "value", "disabled", "placeholder", "required", "name", "id", "pattern", "readonly", "min", "max", "step", "aria-label", "aria-disabled", "aria-required"], Q = `
248
248
  dk:border-b
249
249
  dk:border-zinc-300
250
250
  dk:bg-zinc-50
@@ -256,7 +256,7 @@ const D = { key: 1 }, R = `
256
256
  dk:dark:bg-zinc-800
257
257
  dk:dark:text-zinc-100
258
258
  dk:dark:focus:bg-zinc-700
259
- dk:dark:[color-scheme:dark]`, ae = /* @__PURE__ */ f({
259
+ dk:dark:[color-scheme:dark]`, je = /* @__PURE__ */ R({
260
260
  __name: "DuiInput",
261
261
  props: {
262
262
  modelValue: {
@@ -329,47 +329,47 @@ const D = { key: 1 }, R = `
329
329
  }
330
330
  },
331
331
  emits: ["update:modelValue"],
332
- setup(u, { emit: d }) {
333
- const e = u, t = d;
334
- function n(k) {
335
- const s = k.target;
336
- t("update:modelValue", s.value);
332
+ setup(f, { emit: r }) {
333
+ const e = f, d = r;
334
+ function l(i) {
335
+ const p = i.target;
336
+ d("update:modelValue", p.value);
337
337
  }
338
338
  const c = {
339
339
  sm: "dk:text-sm dk:px-3 dk:py-1.5",
340
340
  md: "dk:text-base dk:px-4 dk:py-2",
341
341
  lg: "dk:text-lg dk:px-5 dk:py-3"
342
- }, l = {
342
+ }, b = {
343
343
  all: "dk:rounded",
344
344
  top: "dk:rounded-t",
345
345
  bottom: "dk:rounded-b",
346
346
  left: "dk:rounded-l",
347
347
  right: "dk:rounded-r",
348
348
  none: "dk:rounded-none"
349
- }, g = {
349
+ }, z = {
350
350
  sm: "dk:text-sm dk:pb-0.5",
351
351
  md: "dk:text-base dk:pb-1",
352
352
  lg: "dk:text-lg dk:pb-2"
353
- }, p = b(() => {
354
- const k = c[e.size] || "", s = e.block ? "dk:w-full" : "", r = l[e.rounded] || "";
355
- return [I, k, s, r].join(" ");
356
- }), x = b(() => {
357
- const k = g[e.size] || "", s = e.block ? "dk:w-full" : "";
358
- return [k, s].join(" ");
353
+ }, v = n(() => {
354
+ const i = c[e.size] || "", p = e.block ? "dk:w-full" : "", k = b[e.rounded] || "";
355
+ return [Q, i, p, k].join(" ");
356
+ }), y = n(() => {
357
+ const i = z[e.size] || "", p = e.block ? "dk:w-full" : "";
358
+ return [i, p].join(" ");
359
359
  });
360
- return (k, s) => (a(), o("div", null, [
361
- e.label ? (a(), o("label", {
360
+ return (i, p) => (t(), a("div", null, [
361
+ e.label ? (t(), a("label", {
362
362
  key: 0,
363
363
  for: e.id,
364
- class: m([x.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
364
+ class: g([y.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
365
365
  }, [
366
- q(y(e.label) + " ", 1),
367
- e.required ? (a(), o("span", A, "*")) : v("", !0)
368
- ], 10, j)) : v("", !0),
369
- h("input", {
366
+ C(w(e.label) + " ", 1),
367
+ e.required ? (t(), a("span", J, "*")) : x("", !0)
368
+ ], 10, G)) : x("", !0),
369
+ u("input", {
370
370
  type: e.type,
371
- class: m(p.value),
372
- value: u.modelValue,
371
+ class: g(v.value),
372
+ value: f.modelValue,
373
373
  disabled: e.disabled,
374
374
  placeholder: e.placeholder,
375
375
  required: e.required,
@@ -383,14 +383,14 @@ const D = { key: 1 }, R = `
383
383
  "aria-label": e.placeholder,
384
384
  "aria-disabled": e.disabled,
385
385
  "aria-required": e.required,
386
- onInput: n
387
- }, null, 42, P)
386
+ onInput: l
387
+ }, null, 42, K)
388
388
  ]));
389
389
  }
390
- }), E = ["for"], F = {
390
+ }), U = ["for"], X = {
391
391
  key: 0,
392
392
  class: "dk:text-rose-500"
393
- }, H = ["value", "disabled", "placeholder", "required", "name", "id", "readonly", "aria-label", "aria-disabled", "aria-required"], G = `
393
+ }, Y = ["value", "disabled", "placeholder", "required", "name", "id", "readonly", "aria-label", "aria-disabled", "aria-required"], Z = `
394
394
  dk:border-b
395
395
  dk:border-zinc-300
396
396
  dk:bg-zinc-50
@@ -402,7 +402,7 @@ const D = { key: 1 }, R = `
402
402
  dk:dark:bg-zinc-800
403
403
  dk:dark:text-zinc-100
404
404
  dk:dark:focus:bg-zinc-700
405
- dk:dark:[color-scheme:dark]`, oe = /* @__PURE__ */ f({
405
+ dk:dark:[color-scheme:dark]`, Te = /* @__PURE__ */ R({
406
406
  __name: "DuiTextarea",
407
407
  props: {
408
408
  modelValue: {
@@ -459,53 +459,53 @@ const D = { key: 1 }, R = `
459
459
  }
460
460
  },
461
461
  emits: ["update:modelValue"],
462
- setup(u, { emit: d }) {
463
- const e = u, t = d;
464
- function n(r) {
465
- const i = r.target;
466
- e.autoheight && s(i), t("update:modelValue", i.value);
462
+ setup(f, { emit: r }) {
463
+ const e = f, d = r;
464
+ function l(k) {
465
+ const h = k.target;
466
+ e.autoheight && p(h), d("update:modelValue", h.value);
467
467
  }
468
468
  const c = {
469
469
  sm: "dk:text-sm dk:px-3 dk:py-1.5",
470
470
  md: "dk:text-base dk:px-3 dk:py-2",
471
471
  lg: "dk:text-lg dk:px-5 dk:py-3"
472
- }, l = {
472
+ }, b = {
473
473
  all: "dk:rounded",
474
474
  top: "dk:rounded-t",
475
475
  bottom: "dk:rounded-b",
476
476
  left: "dk:rounded-l",
477
477
  right: "dk:rounded-r",
478
478
  none: "dk:rounded-none"
479
- }, g = {
479
+ }, z = {
480
480
  sm: "dk:text-sm dk:pb-0.5",
481
481
  md: "dk:text-base dk:pb-1",
482
482
  lg: "dk:text-lg dk:pb-2"
483
- }, p = {
483
+ }, v = {
484
484
  none: "dk:resize-none",
485
485
  both: "dk:resize",
486
486
  horizontal: "dk:resize-x",
487
487
  vertical: "dk:resize-y"
488
- }, x = b(() => {
489
- const r = c[e.size] || "", i = e.block ? "dk:w-full" : "", z = l[e.rounded] || "", _ = p[e.resize] || "";
490
- return [G, r, i, z, _].join(" ");
491
- }), k = b(() => {
492
- const r = g[e.size] || "", i = e.block ? "dk:w-full" : "";
493
- return [r, i].join(" ");
494
- }), s = (r) => {
495
- r.style.height = "auto", r.style.height = `${r.scrollHeight + 5}px`;
488
+ }, y = n(() => {
489
+ const k = c[e.size] || "", h = e.block ? "dk:w-full" : "", T = b[e.rounded] || "", S = v[e.resize] || "";
490
+ return [Z, k, h, T, S].join(" ");
491
+ }), i = n(() => {
492
+ const k = z[e.size] || "", h = e.block ? "dk:w-full" : "";
493
+ return [k, h].join(" ");
494
+ }), p = (k) => {
495
+ k.style.height = "auto", k.style.height = `${k.scrollHeight + 5}px`;
496
496
  };
497
- return (r, i) => (a(), o("div", null, [
498
- e.label ? (a(), o("label", {
497
+ return (k, h) => (t(), a("div", null, [
498
+ e.label ? (t(), a("label", {
499
499
  key: 0,
500
500
  for: e.id,
501
- class: m([k.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
501
+ class: g([i.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
502
502
  }, [
503
- q(y(e.label) + " ", 1),
504
- e.required ? (a(), o("span", F, "*")) : v("", !0)
505
- ], 10, E)) : v("", !0),
506
- h("textarea", {
507
- class: m(x.value),
508
- value: u.modelValue,
503
+ C(w(e.label) + " ", 1),
504
+ e.required ? (t(), a("span", X, "*")) : x("", !0)
505
+ ], 10, U)) : x("", !0),
506
+ u("textarea", {
507
+ class: g(y.value),
508
+ value: f.modelValue,
509
509
  disabled: e.disabled,
510
510
  placeholder: e.placeholder,
511
511
  required: e.required,
@@ -515,11 +515,263 @@ const D = { key: 1 }, R = `
515
515
  "aria-label": e.placeholder,
516
516
  "aria-disabled": e.disabled,
517
517
  "aria-required": e.required,
518
- onInput: n
519
- }, null, 42, H)
518
+ onInput: l
519
+ }, null, 42, Y)
520
520
  ]));
521
521
  }
522
- }), J = { key: 1 }, K = `
522
+ }), ee = ["for"], de = {
523
+ key: 0,
524
+ class: "dk:text-rose-500"
525
+ }, re = ["id", "name", "disabled", "required", "readonly", "aria-label", "aria-disabled", "aria-required"], te = {
526
+ key: 0,
527
+ disabled: "",
528
+ selected: "",
529
+ hidden: ""
530
+ }, oe = ["value", "selected"], ae = `
531
+ dk:border-b
532
+ dk:border-zinc-300
533
+ dk:bg-zinc-50
534
+ dk:text-zinc-800
535
+ dk:focus:outline-none
536
+ dk:focus:bg-zinc-100
537
+ dk:dark:bg-zinc-700
538
+ dk:dark:border-zinc-600
539
+ dk:dark:bg-zinc-800
540
+ dk:dark:text-zinc-100
541
+ dk:dark:focus:bg-zinc-700
542
+ dk:dark:[color-scheme:dark]
543
+ `, Ne = /* @__PURE__ */ R({
544
+ __name: "DuiSelect",
545
+ props: {
546
+ modelValue: {
547
+ type: [String, Number],
548
+ default: ""
549
+ },
550
+ options: {
551
+ type: Array,
552
+ default: () => []
553
+ },
554
+ size: {
555
+ type: String,
556
+ default: "md"
557
+ },
558
+ block: {
559
+ type: Boolean,
560
+ default: !0
561
+ },
562
+ disabled: {
563
+ type: Boolean,
564
+ default: !1
565
+ },
566
+ name: {
567
+ type: String,
568
+ default: void 0
569
+ },
570
+ id: {
571
+ type: String,
572
+ default: void 0
573
+ },
574
+ required: {
575
+ type: Boolean,
576
+ default: !1
577
+ },
578
+ label: {
579
+ type: String,
580
+ default: void 0
581
+ },
582
+ placeholder: {
583
+ type: String,
584
+ default: void 0
585
+ },
586
+ readonly: {
587
+ type: Boolean,
588
+ default: !1
589
+ },
590
+ rounded: {
591
+ type: String,
592
+ default: "all"
593
+ },
594
+ itemLabel: {
595
+ type: String,
596
+ default: "label"
597
+ },
598
+ itemValue: {
599
+ type: String,
600
+ default: "value"
601
+ }
602
+ },
603
+ emits: ["update:modelValue"],
604
+ setup(f, { emit: r }) {
605
+ const e = f, d = r;
606
+ function l(i) {
607
+ const k = i.target.value, h = Number(k);
608
+ !isNaN(h) && k !== "" ? d("update:modelValue", h) : d("update:modelValue", k);
609
+ }
610
+ const c = {
611
+ sm: "dk:text-sm dk:px-3 dk:py-1.5",
612
+ md: "dk:text-base dk:px-4 dk:py-2",
613
+ lg: "dk:text-lg dk:px-5 dk:py-3"
614
+ }, b = {
615
+ all: "dk:rounded",
616
+ top: "dk:rounded-t",
617
+ bottom: "dk:rounded-b",
618
+ left: "dk:rounded-l",
619
+ right: "dk:rounded-r",
620
+ none: "dk:rounded-none"
621
+ }, z = {
622
+ sm: "dk:text-sm dk:pb-0.5",
623
+ md: "dk:text-base dk:pb-1",
624
+ lg: "dk:text-lg dk:pb-2"
625
+ }, v = n(() => {
626
+ const i = c[e.size] || "", p = e.block ? "dk:w-full" : "", k = b[e.rounded] || "";
627
+ return [ae, i, p, k].join(" ");
628
+ }), y = n(() => {
629
+ const i = z[e.size] || "", p = e.block ? "dk:w-full" : "";
630
+ return [i, p].join(" ");
631
+ });
632
+ return (i, p) => (t(), a("div", null, [
633
+ e.label ? (t(), a("label", {
634
+ key: 0,
635
+ for: e.id,
636
+ class: g([y.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
637
+ }, [
638
+ C(w(e.label) + " ", 1),
639
+ e.required ? (t(), a("span", de, "*")) : x("", !0)
640
+ ], 10, ee)) : x("", !0),
641
+ u("select", {
642
+ id: e.id,
643
+ name: e.name,
644
+ disabled: e.disabled,
645
+ required: e.required,
646
+ class: g(v.value),
647
+ readonly: e.readonly,
648
+ "aria-label": e.label || "select input",
649
+ "aria-disabled": e.disabled,
650
+ "aria-required": e.required,
651
+ onChange: l
652
+ }, [
653
+ e.placeholder ? (t(), a("option", te, w(e.placeholder), 1)) : x("", !0),
654
+ (t(!0), a($, null, D(e.options, (k, h) => (t(), a("option", {
655
+ key: h,
656
+ value: k[e.itemValue] ?? "",
657
+ selected: k[e.itemValue] == e.modelValue
658
+ }, w(k[e.itemLabel] ?? ""), 9, oe))), 128))
659
+ ], 42, re)
660
+ ]));
661
+ }
662
+ }), ke = `
663
+ dk:px-4
664
+ dk:py-3
665
+ dk:text-sm
666
+ dk:leading-relaxed
667
+ dk:max-w-full
668
+ `, Le = /* @__PURE__ */ R({
669
+ __name: "DuiAlert",
670
+ props: {
671
+ variant: {
672
+ type: String,
673
+ default: "solid"
674
+ },
675
+ color: {
676
+ type: String,
677
+ default: "neutral"
678
+ },
679
+ rounded: {
680
+ type: String,
681
+ default: "all"
682
+ }
683
+ },
684
+ setup(f) {
685
+ const r = f, e = {
686
+ all: "dk:rounded",
687
+ top: "dk:rounded-t",
688
+ bottom: "dk:rounded-b",
689
+ left: "dk:rounded-l",
690
+ right: "dk:rounded-r",
691
+ none: "dk:rounded-none"
692
+ }, d = {
693
+ solid: {
694
+ base: "",
695
+ neutral: "dk:bg-zinc-200 dk:text-zinc-800 dk:dark:bg-zinc-700 dk:dark:text-zinc-100",
696
+ primary: "dk:bg-slate-200 dk:text-slate-800 dk:dark:bg-slate-700 dk:dark:text-slate-100",
697
+ secondary: "dk:bg-pink-200 dk:text-pink-800 dk:dark:bg-pink-700 dk:dark:text-pink-100",
698
+ success: "dk:bg-emerald-200 dk:text-emerald-800 dk:dark:bg-emerald-700 dk:dark:text-emerald-100",
699
+ warning: "dk:bg-amber-200 dk:text-amber-800 dk:dark:bg-amber-700 dk:dark:text-amber-100",
700
+ danger: "dk:bg-rose-200 dk:text-rose-800 dk:dark:bg-rose-700 dk:dark:text-rose-100"
701
+ },
702
+ outline: {
703
+ base: "dk:border",
704
+ neutral: "dk:border-zinc-400 dk:text-zinc-700 dk:dark:border-zinc-500 dk:dark:text-zinc-200",
705
+ primary: "dk:border-slate-400 dk:text-slate-700 dk:dark:border-slate-500 dk:dark:text-slate-200",
706
+ secondary: "dk:border-pink-400 dk:text-pink-700 dk:dark:border-pink-500 dk:dark:text-pink-200",
707
+ success: "dk:border-green-400 dk:text-green-700 dk:dark:border-green-500 dk:dark:text-green-200",
708
+ warning: "dk:border-yellow-400 dk:text-yellow-700 dk:dark:border-yellow-500 dk:dark:text-yellow-200",
709
+ danger: "dk:border-red-400 dk:text-red-700 dk:dark:border-red-500 dk:dark:text-red-200"
710
+ },
711
+ ghost: {
712
+ base: "",
713
+ neutral: "dk:text-zinc-700 dk:dark:text-zinc-200 dk:bg-zinc-50 dk:dark:bg-zinc-800",
714
+ primary: "dk:text-slate-700 dk:dark:text-slate-200 dk:bg-slate-50 dk:dark:bg-slate-800",
715
+ secondary: "dk:text-pink-700 dk:dark:text-pink-200 dk:bg-pink-50 dk:dark:bg-pink-800",
716
+ success: "dk:text-emerald-700 dk:dark:text-emerald-200 dk:bg-emerald-50 dk:dark:bg-emerald-800",
717
+ warning: "dk:text-amber-700 dk:dark:text-amber-200 dk:bg-amber-50 dk:dark:bg-amber-800",
718
+ danger: "dk:text-rose-700 dk:dark:text-rose-200 dk:bg-rose-50 dk:dark:bg-rose-800"
719
+ }
720
+ }, l = n(() => {
721
+ var v;
722
+ const c = ((v = d[r.variant]) == null ? void 0 : v[r.color]) || "", b = d[r.variant].base || "", z = e[r.rounded] || "";
723
+ return [ke, b, c, z].join(" ");
724
+ });
725
+ return (c, b) => (t(), a("div", {
726
+ class: g(l.value),
727
+ role: "alert"
728
+ }, [
729
+ q(c.$slots, "default")
730
+ ], 2));
731
+ }
732
+ }), ne = { class: "dk:relative dk:overflow-x-auto dk:shadow-md dk:sm:rounded-lg" }, se = { class: "dk:w-full dk:text-sm dk:text-left dk:text-gray-700 dk:dark:text-gray-300" }, le = { class: "dk:text-xs dk:uppercase dk:bg-gray-100 dk:dark:bg-gray-700 dk:dark:text-gray-200" }, Ve = /* @__PURE__ */ R({
733
+ __name: "DuiTable",
734
+ props: {
735
+ columns: {
736
+ type: Array,
737
+ required: !0
738
+ },
739
+ rows: {
740
+ type: Array,
741
+ required: !0
742
+ }
743
+ },
744
+ setup(f) {
745
+ const r = f;
746
+ return (e, d) => (t(), a("div", ne, [
747
+ u("table", se, [
748
+ u("thead", le, [
749
+ u("tr", null, [
750
+ (t(!0), a($, null, D(r.columns, (l) => (t(), a("th", {
751
+ key: l.name,
752
+ class: g(["dk:px-6 dk:py-3", l.classes])
753
+ }, w(l.label), 3))), 128))
754
+ ])
755
+ ]),
756
+ u("tbody", null, [
757
+ (t(!0), a($, null, D(r.rows, (l, c) => (t(), a("tr", {
758
+ key: c,
759
+ class: "dk:bg-white dk:border-b dk:border-gray-200 dk:dark:bg-gray-800 dk:dark:border-gray-700 dk:hover:bg-gray-50 dk:dark:hover:bg-gray-600 dk:transition-colors"
760
+ }, [
761
+ (t(!0), a($, null, D(r.columns, (b) => (t(), a("td", {
762
+ key: b.name,
763
+ class: "dk:px-6 dk:py-4 dk:text-gray-900 dk:dark:text-gray-100"
764
+ }, [
765
+ q(e.$slots, b.name, j({ ref_for: !0 }, l), () => [
766
+ C(w(l[b.name]), 1)
767
+ ])
768
+ ]))), 128))
769
+ ]))), 128))
770
+ ])
771
+ ])
772
+ ]));
773
+ }
774
+ }), ie = { key: 1 }, ue = `
523
775
  dk:transition
524
776
  dk:text-center
525
777
  dk:disabled:opacity-50
@@ -530,7 +782,7 @@ const D = { key: 1 }, R = `
530
782
  dk:text-ellipsis
531
783
  dk:whitespace-nowrap
532
784
  dk:active:scale-95
533
- dk:max-w-full`, ke = /* @__PURE__ */ f({
785
+ dk:max-w-full`, Be = /* @__PURE__ */ R({
534
786
  __name: "DuiAction",
535
787
  props: {
536
788
  variant: { default: "solid" },
@@ -542,34 +794,34 @@ const D = { key: 1 }, R = `
542
794
  rounded: { default: "all" },
543
795
  to: { default: void 0 }
544
796
  },
545
- setup(u) {
546
- const d = u, e = B(), t = e == null ? void 0 : e.appContext.app, n = b(() => {
797
+ setup(f) {
798
+ const r = f, e = M(), d = e == null ? void 0 : e.appContext.app, l = n(() => {
547
799
  try {
548
- return !!(t != null && t.config.globalProperties.$router || t != null && t.config.globalProperties.$route || globalThis.VueRouter || t != null && t.component("RouterLink"));
800
+ return !!(d != null && d.config.globalProperties.$router || d != null && d.config.globalProperties.$route || globalThis.VueRouter || d != null && d.component("RouterLink"));
549
801
  } catch {
550
802
  return !1;
551
803
  }
552
- }), c = b(() => {
804
+ }), c = n(() => {
553
805
  try {
554
- return !!(globalThis.$nuxt || globalThis.useNuxtApp || globalThis.navigateTo || typeof window < "u" && window.$nuxt || t != null && t.component("NuxtLink"));
806
+ return !!(globalThis.$nuxt || globalThis.useNuxtApp || globalThis.navigateTo || typeof window < "u" && window.$nuxt || d != null && d.component("NuxtLink"));
555
807
  } catch {
556
808
  return !1;
557
809
  }
558
- }), l = b(() => d.to ? c.value ? "NuxtLink" : n.value ? "RouterLink" : "a" : "span"), g = b(() => {
559
- const r = {};
560
- return l.value === "a" ? (r.href = typeof d.to == "string" ? d.to : "#", r.role = "button") : l.value !== "span" && (r.to = d.to), r;
561
- }), p = {
810
+ }), b = n(() => r.to ? c.value ? "NuxtLink" : l.value ? "RouterLink" : "a" : "span"), z = n(() => {
811
+ const k = {};
812
+ return b.value === "a" ? (k.href = typeof r.to == "string" ? r.to : "#", k.role = "button") : b.value !== "span" && (k.to = r.to), k;
813
+ }), v = {
562
814
  sm: "dk:text-sm dk:px-3 dk:py-1.5",
563
815
  md: "dk:text-base dk:px-4 dk:py-2",
564
816
  lg: "dk:text-lg dk:px-5 dk:py-3"
565
- }, x = {
817
+ }, y = {
566
818
  all: "dk:rounded",
567
819
  top: "dk:rounded-t",
568
820
  bottom: "dk:rounded-b",
569
821
  left: "dk:rounded-l",
570
822
  right: "dk:rounded-r",
571
823
  none: "dk:rounded-none"
572
- }, k = {
824
+ }, i = {
573
825
  solid: {
574
826
  base: "dk:border-b",
575
827
  neutral: `
@@ -741,280 +993,456 @@ const D = { key: 1 }, R = `
741
993
  dk:dark:text-amber-100
742
994
  dk:dark:hover:bg-amber-800`
743
995
  }
744
- }, s = b(() => {
745
- var S;
746
- const r = (((S = k[d.variant]) == null ? void 0 : S[d.color]) || "") + " " + k[d.variant].base, i = p[d.size] || "", z = d.block ? "dk:block" : "dk:inline-block", _ = x[d.rounded] || "";
747
- return [K, r, i, z, _].join(" ");
996
+ }, p = n(() => {
997
+ var N;
998
+ const k = (((N = i[r.variant]) == null ? void 0 : N[r.color]) || "") + " " + i[r.variant].base, h = v[r.size] || "", T = r.block ? "dk:block" : "dk:inline-block", S = y[r.rounded] || "";
999
+ return [ue, k, h, T, S].join(" ");
748
1000
  });
749
- return (r, i) => (a(), N(L(l.value), V(g.value, {
750
- class: s.value,
751
- title: d.title
1001
+ return (k, h) => (t(), L(V(b.value), j(z.value, {
1002
+ class: p.value,
1003
+ title: r.title
752
1004
  }), {
753
- default: T(() => [
754
- d.loading ? (a(), o("span", J, "Cargando...")) : $(r.$slots, "default", { key: 0 })
1005
+ default: B(() => [
1006
+ r.loading ? (t(), a("span", ie, "Cargando...")) : q(k.$slots, "default", { key: 0 })
755
1007
  ]),
756
1008
  _: 3
757
1009
  }, 16, ["class", "title"]));
758
1010
  }
759
- }), M = ["for"], O = {
760
- key: 0,
761
- class: "dk:text-rose-500"
762
- }, Q = ["id", "name", "disabled", "required", "readonly", "aria-label", "aria-disabled", "aria-required"], U = {
1011
+ }), ce = {
763
1012
  key: 0,
764
- disabled: "",
765
- selected: "",
766
- hidden: ""
767
- }, W = ["value", "selected"], X = `
768
- dk:border-b
769
- dk:border-zinc-300
770
- dk:bg-zinc-50
771
- dk:text-zinc-800
772
- dk:focus:outline-none
773
- dk:focus:bg-zinc-100
774
- dk:dark:bg-zinc-700
775
- dk:dark:border-zinc-600
776
- dk:dark:bg-zinc-800
777
- dk:dark:text-zinc-100
778
- dk:dark:focus:bg-zinc-700
779
- dk:dark:[color-scheme:dark]
780
- `, le = /* @__PURE__ */ f({
781
- __name: "DuiSelect",
1013
+ class: "dk:relative dk:overflow-hidden dk:rounded-t-lg"
1014
+ }, be = ["src", "alt"], qe = /* @__PURE__ */ R({
1015
+ __name: "DuiCard",
782
1016
  props: {
783
- modelValue: {
784
- type: [String, Number],
785
- default: ""
786
- },
787
- options: {
788
- type: Array,
789
- default: () => []
790
- },
791
- size: {
792
- type: String,
793
- default: "md"
794
- },
795
- block: {
796
- type: Boolean,
797
- default: !0
798
- },
799
- disabled: {
800
- type: Boolean,
801
- default: !1
802
- },
803
- name: {
804
- type: String,
805
- default: void 0
806
- },
807
- id: {
808
- type: String,
809
- default: void 0
810
- },
811
- required: {
812
- type: Boolean,
813
- default: !1
814
- },
815
- label: {
816
- type: String,
817
- default: void 0
818
- },
819
- placeholder: {
820
- type: String,
821
- default: void 0
822
- },
823
- readonly: {
824
- type: Boolean,
825
- default: !1
826
- },
827
- rounded: {
828
- type: String,
829
- default: "all"
830
- },
831
- itemLabel: {
832
- type: String,
833
- default: "label"
834
- },
835
- itemValue: {
836
- type: String,
837
- default: "value"
838
- }
839
- },
840
- emits: ["update:modelValue"],
841
- setup(u, { emit: d }) {
842
- const e = u, t = d;
843
- function n(k) {
844
- const r = k.target.value, i = Number(r);
845
- !isNaN(i) && r !== "" ? t("update:modelValue", i) : t("update:modelValue", r);
846
- }
847
- const c = {
848
- sm: "dk:text-sm dk:px-3 dk:py-1.5",
849
- md: "dk:text-base dk:px-4 dk:py-2",
850
- lg: "dk:text-lg dk:px-5 dk:py-3"
851
- }, l = {
852
- all: "dk:rounded",
853
- top: "dk:rounded-t",
854
- bottom: "dk:rounded-b",
855
- left: "dk:rounded-l",
856
- right: "dk:rounded-r",
857
- none: "dk:rounded-none"
858
- }, g = {
859
- sm: "dk:text-sm dk:pb-0.5",
860
- md: "dk:text-base dk:pb-1",
861
- lg: "dk:text-lg dk:pb-2"
862
- }, p = b(() => {
863
- const k = c[e.size] || "", s = e.block ? "dk:w-full" : "", r = l[e.rounded] || "";
864
- return [X, k, s, r].join(" ");
865
- }), x = b(() => {
866
- const k = g[e.size] || "", s = e.block ? "dk:w-full" : "";
867
- return [k, s].join(" ");
868
- });
869
- return (k, s) => (a(), o("div", null, [
870
- e.label ? (a(), o("label", {
871
- key: 0,
872
- for: e.id,
873
- class: m([x.value, "dk:text-start dk:block dk:text-zinc-700 dk:dark:text-zinc-200 dk:px-0"])
874
- }, [
875
- q(y(e.label) + " ", 1),
876
- e.required ? (a(), o("span", O, "*")) : v("", !0)
877
- ], 10, M)) : v("", !0),
878
- h("select", {
879
- id: e.id,
880
- name: e.name,
881
- disabled: e.disabled,
882
- required: e.required,
883
- class: m(p.value),
884
- readonly: e.readonly,
885
- "aria-label": e.label || "select input",
886
- "aria-disabled": e.disabled,
887
- "aria-required": e.required,
888
- onChange: n
889
- }, [
890
- e.placeholder ? (a(), o("option", U, y(e.placeholder), 1)) : v("", !0),
891
- (a(!0), o(w, null, C(e.options, (r, i) => (a(), o("option", {
892
- key: i,
893
- value: r[e.itemValue] ?? "",
894
- selected: r[e.itemValue] == e.modelValue
895
- }, y(r[e.itemLabel] ?? ""), 9, W))), 128))
896
- ], 42, Q)
897
- ]));
898
- }
899
- }), Y = `
900
- dk:px-4
901
- dk:py-3
902
- dk:text-sm
903
- dk:leading-relaxed
904
- dk:max-w-full
905
- `, ne = /* @__PURE__ */ f({
906
- __name: "DuiAlert",
907
- props: {
908
- variant: {
909
- type: String,
910
- default: "solid"
911
- },
912
- color: {
913
- type: String,
914
- default: "neutral"
915
- },
916
- rounded: {
917
- type: String,
918
- default: "all"
919
- }
1017
+ size: { default: "m" },
1018
+ image: { default: void 0 },
1019
+ title: { default: void 0 },
1020
+ subtitle: { default: void 0 },
1021
+ to: { default: void 0 }
920
1022
  },
921
- setup(u) {
922
- const d = u, e = {
923
- all: "dk:rounded",
924
- top: "dk:rounded-t",
925
- bottom: "dk:rounded-b",
926
- left: "dk:rounded-l",
927
- right: "dk:rounded-r",
928
- none: "dk:rounded-none"
929
- }, t = {
930
- solid: {
931
- base: "",
932
- neutral: "dk:bg-zinc-200 dk:text-zinc-800 dk:dark:bg-zinc-700 dk:dark:text-zinc-100",
933
- primary: "dk:bg-slate-200 dk:text-slate-800 dk:dark:bg-slate-700 dk:dark:text-slate-100",
934
- secondary: "dk:bg-pink-200 dk:text-pink-800 dk:dark:bg-pink-700 dk:dark:text-pink-100",
935
- success: "dk:bg-emerald-200 dk:text-emerald-800 dk:dark:bg-emerald-700 dk:dark:text-emerald-100",
936
- warning: "dk:bg-amber-200 dk:text-amber-800 dk:dark:bg-amber-700 dk:dark:text-amber-100",
937
- danger: "dk:bg-rose-200 dk:text-rose-800 dk:dark:bg-rose-700 dk:dark:text-rose-100"
1023
+ setup(f) {
1024
+ const r = f, e = M(), d = e == null ? void 0 : e.appContext.app, l = n(() => {
1025
+ try {
1026
+ return !!(d != null && d.config.globalProperties.$router || d != null && d.config.globalProperties.$route || globalThis.VueRouter || d != null && d.component("RouterLink"));
1027
+ } catch {
1028
+ return !1;
1029
+ }
1030
+ }), c = n(() => {
1031
+ try {
1032
+ return !!(globalThis.$nuxt || globalThis.useNuxtApp || globalThis.navigateTo || typeof window < "u" && window.$nuxt || d != null && d.component("NuxtLink"));
1033
+ } catch {
1034
+ return !1;
1035
+ }
1036
+ }), b = () => r.to ? c.value ? "NuxtLink" : l.value ? "RouterLink" : "a" : "div", z = () => r.to ? c.value ? "NuxtLink" : l.value ? "RouterLink" : "a" : "h3", v = () => {
1037
+ const o = {};
1038
+ if (!r.to) return o;
1039
+ const m = b();
1040
+ return m === "a" ? o.href = typeof r.to == "string" ? r.to : "#" : (m === "RouterLink" || m === "NuxtLink") && (o.to = r.to), o;
1041
+ }, y = {
1042
+ s: {
1043
+ padding: "dk:p-3",
1044
+ spacing: "dk:space-y-2",
1045
+ titleSize: "dk:text-base",
1046
+ subtitleSize: "dk:text-sm",
1047
+ contentSize: "dk:text-sm"
938
1048
  },
939
- outline: {
940
- base: "dk:border",
941
- neutral: "dk:border-zinc-400 dk:text-zinc-700 dk:dark:border-zinc-500 dk:dark:text-zinc-200",
942
- primary: "dk:border-slate-400 dk:text-slate-700 dk:dark:border-slate-500 dk:dark:text-slate-200",
943
- secondary: "dk:border-pink-400 dk:text-pink-700 dk:dark:border-pink-500 dk:dark:text-pink-200",
944
- success: "dk:border-green-400 dk:text-green-700 dk:dark:border-green-500 dk:dark:text-green-200",
945
- warning: "dk:border-yellow-400 dk:text-yellow-700 dk:dark:border-yellow-500 dk:dark:text-yellow-200",
946
- danger: "dk:border-red-400 dk:text-red-700 dk:dark:border-red-500 dk:dark:text-red-200"
1049
+ m: {
1050
+ padding: "dk:p-4",
1051
+ spacing: "dk:space-y-3",
1052
+ titleSize: "dk:text-lg",
1053
+ subtitleSize: "dk:text-base",
1054
+ contentSize: "dk:text-base"
947
1055
  },
948
- ghost: {
949
- base: "",
950
- neutral: "dk:text-zinc-700 dk:dark:text-zinc-200 dk:bg-zinc-50 dk:dark:bg-zinc-800",
951
- primary: "dk:text-slate-700 dk:dark:text-slate-200 dk:bg-slate-50 dk:dark:bg-slate-800",
952
- secondary: "dk:text-pink-700 dk:dark:text-pink-200 dk:bg-pink-50 dk:dark:bg-pink-800",
953
- success: "dk:text-emerald-700 dk:dark:text-emerald-200 dk:bg-emerald-50 dk:dark:bg-emerald-800",
954
- warning: "dk:text-amber-700 dk:dark:text-amber-200 dk:bg-amber-50 dk:dark:bg-amber-800",
955
- danger: "dk:text-rose-700 dk:dark:text-rose-200 dk:bg-rose-50 dk:dark:bg-rose-800"
1056
+ l: {
1057
+ padding: "dk:p-6",
1058
+ spacing: "dk:space-y-4",
1059
+ titleSize: "dk:text-xl",
1060
+ subtitleSize: "dk:text-lg",
1061
+ contentSize: "dk:text-lg"
956
1062
  }
957
- }, n = b(() => {
958
- var p;
959
- const c = ((p = t[d.variant]) == null ? void 0 : p[d.color]) || "", l = t[d.variant].base || "", g = e[d.rounded] || "";
960
- return [Y, l, c, g].join(" ");
961
- });
962
- return (c, l) => (a(), o("div", {
963
- class: m(n.value),
964
- role: "alert"
1063
+ }, i = n(() => [
1064
+ // Base card styles
1065
+ "dk:bg-white dk:rounded-lg dk:shadow-md dk:border dk:border-gray-200",
1066
+ "dk:dark:bg-gray-800 dk:dark:border-gray-700 dk:dark:shadow-gray-900/20",
1067
+ "dk:transition-all dk:duration-200",
1068
+ "dk:hover:shadow-lg dk:dark:hover:shadow-gray-900/40",
1069
+ "dk:overflow-hidden"
1070
+ ].join(" ")), p = n(() => [
1071
+ "dk:w-full dk:h-48 dk:object-cover"
1072
+ ].join(" ")), k = n(() => {
1073
+ const o = y[r.size];
1074
+ return [
1075
+ o.padding,
1076
+ o.spacing
1077
+ ].join(" ");
1078
+ }), h = n(() => [
1079
+ y[r.size].spacing
1080
+ ].join(" ")), T = n(() => {
1081
+ const m = [
1082
+ y[r.size].titleSize,
1083
+ "dk:font-semibold dk:text-gray-900 dk:dark:text-gray-100",
1084
+ "dk:line-clamp-2"
1085
+ ];
1086
+ return r.to && m.push(
1087
+ "dk:no-underline dk:hover:underline dk:transition-colors",
1088
+ "dk:hover:text-blue-600 dk:dark:hover:text-blue-400"
1089
+ ), m.join(" ");
1090
+ }), S = n(() => r.to ? [
1091
+ "dk:block dk:no-underline",
1092
+ "dk:transition-transform dk:duration-200",
1093
+ "dk:hover:scale-105"
1094
+ ].join(" ") : "dk:block"), N = n(() => [
1095
+ y[r.size].subtitleSize,
1096
+ "dk:text-gray-600 dk:dark:text-gray-400",
1097
+ "dk:line-clamp-3"
1098
+ ].join(" ")), P = n(() => [
1099
+ y[r.size].contentSize,
1100
+ "dk:text-gray-700 dk:dark:text-gray-300"
1101
+ ].join(" ")), A = n(() => [
1102
+ "dk:border-t dk:border-gray-200 dk:dark:border-gray-700",
1103
+ "dk:pt-3 dk:mt-3"
1104
+ ].join(" "));
1105
+ return (o, m) => (t(), a("div", {
1106
+ class: g(i.value)
965
1107
  }, [
966
- $(c.$slots, "default")
1108
+ o.image ? (t(), a("div", ce, [
1109
+ (t(), L(V(b()), j(v(), { class: S.value }), {
1110
+ default: B(() => [
1111
+ u("img", {
1112
+ src: o.image,
1113
+ alt: o.title || "Card image",
1114
+ class: g(p.value)
1115
+ }, null, 10, be)
1116
+ ]),
1117
+ _: 1
1118
+ }, 16, ["class"]))
1119
+ ])) : x("", !0),
1120
+ u("div", {
1121
+ class: g(k.value)
1122
+ }, [
1123
+ o.title || o.subtitle ? (t(), a("div", {
1124
+ key: 0,
1125
+ class: g(h.value)
1126
+ }, [
1127
+ o.title ? (t(), L(V(z()), j({ key: 0 }, v(), { class: T.value }), {
1128
+ default: B(() => [
1129
+ C(w(o.title), 1)
1130
+ ]),
1131
+ _: 1
1132
+ }, 16, ["class"])) : x("", !0),
1133
+ o.subtitle ? (t(), a("p", {
1134
+ key: 1,
1135
+ class: g(N.value)
1136
+ }, w(o.subtitle), 3)) : x("", !0)
1137
+ ], 2)) : x("", !0),
1138
+ o.$slots.default ? (t(), a("div", {
1139
+ key: 1,
1140
+ class: g(P.value)
1141
+ }, [
1142
+ q(o.$slots, "default")
1143
+ ], 2)) : x("", !0),
1144
+ o.$slots.footer ? (t(), a("div", {
1145
+ key: 2,
1146
+ class: g(A.value)
1147
+ }, [
1148
+ q(o.$slots, "footer")
1149
+ ], 2)) : x("", !0)
1150
+ ], 2)
967
1151
  ], 2));
968
1152
  }
969
- }), Z = { class: "dk:relative dk:overflow-x-auto dk:shadow-md dk:sm:rounded-lg" }, ee = { class: "dk:w-full dk:text-sm dk:text-left dk:text-gray-700 dk:dark:text-gray-300" }, de = { class: "dk:text-xs dk:uppercase dk:bg-gray-100 dk:dark:bg-gray-700 dk:dark:text-gray-200" }, se = /* @__PURE__ */ f({
970
- __name: "DuiTable",
1153
+ }), ge = {
1154
+ key: 0,
1155
+ class: "dk:flex dk:items-center dk:gap-4"
1156
+ }, pe = { class: "dk:hidden dk:md:flex dk:items-center dk:space-x-1" }, he = {
1157
+ key: 0,
1158
+ class: "dk:relative dk:group"
1159
+ }, xe = { class: "dk:absolute dk:left-0 dk:top-full dk:min-w-48 dk:py-2 dk:mt-1 dk:bg-white dk:rounded-lg dk:shadow-lg dk:border dk:border-gray-200 dk:opacity-0 dk:invisible dk:group-hover:opacity-100 dk:group-hover:visible dk:transition-all dk:duration-200 dk:z-50 dk:dark:bg-gray-800 dk:dark:border-gray-700" }, ve = {
1160
+ key: 2,
1161
+ class: "dk:hidden dk:md:flex dk:items-center dk:gap-2"
1162
+ }, ye = { class: "dk:md:hidden dk:absolute dk:top-full dk:left-0 dk:w-full dk:bg-white dk:border-t dk:border-gray-200 dk:shadow-lg dk:dark:bg-gray-800 dk:dark:border-gray-700 dk:z-40" }, me = { class: "dk:px-4 dk:py-3 dk:space-y-2" }, fe = { key: 0 }, ze = ["onClick"], we = { class: "dk:flex dk:items-center dk:flex-1" }, _e = { class: "dk:ml-4 dk:mt-2 dk:space-y-1" }, Ce = {
1163
+ key: 0,
1164
+ class: "dk:pt-3 dk:border-t dk:border-gray-200 dk:dark:border-gray-700"
1165
+ }, Re = /* @__PURE__ */ R({
1166
+ __name: "DuiNavbar",
971
1167
  props: {
972
- columns: {
973
- type: Array,
974
- required: !0
975
- },
976
- rows: {
977
- type: Array,
978
- required: !0
979
- }
1168
+ items: { default: () => [] },
1169
+ size: { default: "m" }
980
1170
  },
981
- setup(u) {
982
- const d = u;
983
- return (e, t) => (a(), o("div", Z, [
984
- h("table", ee, [
985
- h("thead", de, [
986
- h("tr", null, [
987
- (a(!0), o(w, null, C(d.columns, (n) => (a(), o("th", {
988
- key: n.name,
989
- class: m(["dk:px-6 dk:py-3", n.classes])
990
- }, y(n.label), 3))), 128))
991
- ])
992
- ]),
993
- h("tbody", null, [
994
- (a(!0), o(w, null, C(d.rows, (n, c) => (a(), o("tr", {
995
- key: c,
996
- class: "dk:bg-white dk:border-b dk:border-gray-200 dk:dark:bg-gray-800 dk:dark:border-gray-700 dk:hover:bg-gray-50 dk:dark:hover:bg-gray-600 dk:transition-colors"
1171
+ setup(f) {
1172
+ const r = f, e = M(), d = e == null ? void 0 : e.appContext.app, l = E(!1), c = F({}), b = n(() => {
1173
+ try {
1174
+ return !!(d != null && d.config.globalProperties.$router || d != null && d.config.globalProperties.$route || globalThis.VueRouter || d != null && d.component("RouterLink"));
1175
+ } catch {
1176
+ return !1;
1177
+ }
1178
+ }), z = n(() => {
1179
+ try {
1180
+ return !!(globalThis.$nuxt || globalThis.useNuxtApp || globalThis.navigateTo || typeof window < "u" && window.$nuxt || d != null && d.component("NuxtLink"));
1181
+ } catch {
1182
+ return !1;
1183
+ }
1184
+ }), v = (o) => o.to ? z.value ? "NuxtLink" : b.value ? "RouterLink" : "a" : "button", y = (o) => {
1185
+ const m = {}, s = v(o);
1186
+ return s === "a" ? m.href = typeof o.to == "string" ? o.to : "#" : s !== "button" && (m.to = o.to), m;
1187
+ }, i = () => {
1188
+ l.value = !l.value;
1189
+ }, p = () => {
1190
+ l.value = !1, Object.keys(c).forEach((o) => {
1191
+ c[o] = !1;
1192
+ });
1193
+ }, k = (o) => {
1194
+ c[o] = !c[o];
1195
+ }, h = {
1196
+ s: {
1197
+ height: "dk:h-12",
1198
+ padding: "dk:px-3",
1199
+ text: "dk:text-sm",
1200
+ itemPadding: "dk:px-2 dk:py-1.5"
1201
+ },
1202
+ m: {
1203
+ height: "dk:h-16",
1204
+ padding: "dk:px-4",
1205
+ text: "dk:text-base",
1206
+ itemPadding: "dk:px-3 dk:py-2"
1207
+ },
1208
+ l: {
1209
+ height: "dk:h-20",
1210
+ padding: "dk:px-6",
1211
+ text: "dk:text-lg",
1212
+ itemPadding: "dk:px-4 dk:py-3"
1213
+ }
1214
+ }, T = n(() => {
1215
+ const o = h[r.size];
1216
+ return [
1217
+ // Base classes
1218
+ "dk:relative dk:bg-white dk:border-b dk:border-gray-200 dk:shadow-sm",
1219
+ "dk:dark:bg-gray-800 dk:dark:border-gray-700",
1220
+ "dk:flex dk:items-center dk:w-full",
1221
+ // Conditional justify based on slots
1222
+ !!(e != null && e.slots.brand || e != null && e.slots.actions) ? "dk:justify-between" : "dk:justify-center dk:md:justify-start",
1223
+ o.height,
1224
+ o.padding,
1225
+ o.text
1226
+ ].join(" ");
1227
+ }), S = n(() => [
1228
+ // Base styles
1229
+ "dk:flex dk:items-center dk:rounded-lg dk:transition-all dk:duration-200",
1230
+ "dk:text-gray-700 dk:hover:text-gray-900 dk:hover:bg-gray-100",
1231
+ "dk:dark:text-gray-300 dk:dark:hover:text-gray-100 dk:dark:hover:bg-gray-700",
1232
+ "dk:focus:outline-none dk:focus:ring-2 dk:focus:ring-gray-200 dk:dark:focus:ring-gray-600",
1233
+ "dk:no-underline",
1234
+ h[r.size].itemPadding
1235
+ ].join(" ")), N = n(() => [
1236
+ "dk:block dk:w-full dk:text-left dk:px-4 dk:py-2 dk:text-sm",
1237
+ "dk:text-gray-700 dk:hover:bg-gray-100 dk:hover:text-gray-900",
1238
+ "dk:dark:text-gray-300 dk:dark:hover:bg-gray-700 dk:dark:hover:text-gray-100",
1239
+ "dk:transition-colors dk:duration-200 dk:no-underline"
1240
+ ].join(" ")), P = n(() => [
1241
+ "dk:flex dk:items-center dk:justify-between dk:w-full dk:text-left dk:px-3 dk:py-2",
1242
+ "dk:text-gray-700 dk:hover:bg-gray-100 dk:hover:text-gray-900 dk:rounded-lg",
1243
+ "dk:dark:text-gray-300 dk:dark:hover:bg-gray-700 dk:dark:hover:text-gray-100",
1244
+ "dk:transition-colors dk:duration-200 dk:no-underline"
1245
+ ].join(" ")), A = n(() => [
1246
+ "dk:block dk:w-full dk:text-left dk:px-3 dk:py-2 dk:text-sm dk:rounded-lg",
1247
+ "dk:text-gray-600 dk:hover:bg-gray-100 dk:hover:text-gray-800",
1248
+ "dk:dark:text-gray-400 dk:dark:hover:bg-gray-700 dk:dark:hover:text-gray-200",
1249
+ "dk:transition-colors dk:duration-200 dk:no-underline"
1250
+ ].join(" "));
1251
+ return (o, m) => (t(), a("nav", {
1252
+ class: g(T.value)
1253
+ }, [
1254
+ o.$slots.brand ? (t(), a("div", ge, [
1255
+ q(o.$slots, "brand"),
1256
+ u("button", {
1257
+ type: "button",
1258
+ class: "dk:md:hidden dk:p-2 dk:rounded-lg dk:text-gray-500 dk:hover:bg-gray-100 dk:focus:outline-none dk:focus:ring-2 dk:focus:ring-gray-200 dk:dark:text-gray-400 dk:dark:hover:bg-gray-700 dk:dark:focus:ring-gray-600",
1259
+ onClick: i
1260
+ }, m[0] || (m[0] = [
1261
+ u("span", { class: "dk:sr-only" }, "Open main menu", -1),
1262
+ u("svg", {
1263
+ class: "dk:w-5 dk:h-5",
1264
+ fill: "none",
1265
+ stroke: "currentColor",
1266
+ viewBox: "0 0 24 24"
997
1267
  }, [
998
- (a(!0), o(w, null, C(d.columns, (l) => (a(), o("td", {
999
- key: l.name,
1000
- class: "dk:px-6 dk:py-4 dk:text-gray-900 dk:dark:text-gray-100"
1001
- }, [
1002
- $(e.$slots, l.name, V({ ref_for: !0 }, n), () => [
1003
- q(y(n[l.name]), 1)
1268
+ u("path", {
1269
+ "stroke-linecap": "round",
1270
+ "stroke-linejoin": "round",
1271
+ "stroke-width": "2",
1272
+ d: "M4 6h16M4 12h16M4 18h16"
1273
+ })
1274
+ ], -1)
1275
+ ]))
1276
+ ])) : x("", !0),
1277
+ o.$slots.brand ? x("", !0) : (t(), a("button", {
1278
+ key: 1,
1279
+ type: "button",
1280
+ class: "dk:md:hidden dk:p-2 dk:rounded-lg dk:text-gray-500 dk:hover:bg-gray-100 dk:focus:outline-none dk:focus:ring-2 dk:focus:ring-gray-200 dk:dark:text-gray-400 dk:dark:hover:bg-gray-700 dk:dark:focus:ring-gray-600",
1281
+ onClick: i
1282
+ }, m[1] || (m[1] = [
1283
+ u("span", { class: "dk:sr-only" }, "Open main menu", -1),
1284
+ u("svg", {
1285
+ class: "dk:w-5 dk:h-5",
1286
+ fill: "none",
1287
+ stroke: "currentColor",
1288
+ viewBox: "0 0 24 24"
1289
+ }, [
1290
+ u("path", {
1291
+ "stroke-linecap": "round",
1292
+ "stroke-linejoin": "round",
1293
+ "stroke-width": "2",
1294
+ d: "M4 6h16M4 12h16M4 18h16"
1295
+ })
1296
+ ], -1)
1297
+ ]))),
1298
+ u("div", pe, [
1299
+ (t(!0), a($, null, D(o.items, (s) => (t(), a($, {
1300
+ key: s.label
1301
+ }, [
1302
+ s.children && s.children.length > 0 ? (t(), a("div", he, [
1303
+ (t(), L(V(v(s)), j({ ref_for: !0 }, y(s), { class: S.value }), {
1304
+ default: B(() => [
1305
+ s.icon ? (t(), a("i", {
1306
+ key: 0,
1307
+ class: g([s.icon, "dk:mr-2"])
1308
+ }, null, 2)) : x("", !0),
1309
+ C(" " + w(s.label) + " ", 1),
1310
+ m[2] || (m[2] = u("svg", {
1311
+ class: "dk:w-4 dk:h-4 dk:ml-1 dk:transform dk:group-hover:rotate-180 dk:transition-transform",
1312
+ fill: "none",
1313
+ stroke: "currentColor",
1314
+ viewBox: "0 0 24 24"
1315
+ }, [
1316
+ u("path", {
1317
+ "stroke-linecap": "round",
1318
+ "stroke-linejoin": "round",
1319
+ "stroke-width": "2",
1320
+ d: "M19 9l-7 7-7-7"
1321
+ })
1322
+ ], -1))
1323
+ ]),
1324
+ _: 2
1325
+ }, 1040, ["class"])),
1326
+ u("div", xe, [
1327
+ (t(!0), a($, null, D(s.children, (_) => (t(), L(V(v(_)), j({
1328
+ key: _.label,
1329
+ ref_for: !0
1330
+ }, y(_), { class: N.value }), {
1331
+ default: B(() => [
1332
+ _.icon ? (t(), a("i", {
1333
+ key: 0,
1334
+ class: g([_.icon, "dk:mr-2"])
1335
+ }, null, 2)) : x("", !0),
1336
+ C(" " + w(_.label), 1)
1337
+ ]),
1338
+ _: 2
1339
+ }, 1040, ["class"]))), 128))
1340
+ ])
1341
+ ])) : (t(), L(V(v(s)), j({
1342
+ key: 1,
1343
+ ref_for: !0
1344
+ }, y(s), { class: S.value }), {
1345
+ default: B(() => [
1346
+ s.icon ? (t(), a("i", {
1347
+ key: 0,
1348
+ class: g([s.icon, "dk:mr-2"])
1349
+ }, null, 2)) : x("", !0),
1350
+ C(" " + w(s.label), 1)
1351
+ ]),
1352
+ _: 2
1353
+ }, 1040, ["class"]))
1354
+ ], 64))), 128))
1355
+ ]),
1356
+ o.$slots.actions ? (t(), a("div", ve, [
1357
+ q(o.$slots, "actions")
1358
+ ])) : x("", !0),
1359
+ I(u("div", ye, [
1360
+ u("div", me, [
1361
+ (t(!0), a($, null, D(o.items, (s) => (t(), a($, {
1362
+ key: s.label
1363
+ }, [
1364
+ s.children && s.children.length > 0 ? (t(), a("div", fe, [
1365
+ u("button", {
1366
+ type: "button",
1367
+ onClick: (_) => k(s.label),
1368
+ class: g(P.value)
1369
+ }, [
1370
+ u("div", we, [
1371
+ s.icon ? (t(), a("i", {
1372
+ key: 0,
1373
+ class: g([s.icon, "dk:mr-2"])
1374
+ }, null, 2)) : x("", !0),
1375
+ C(" " + w(s.label), 1)
1376
+ ]),
1377
+ (t(), a("svg", {
1378
+ class: g(["dk:w-4 dk:h-4 dk:transform dk:transition-transform", c[s.label] ? "dk:rotate-180" : ""]),
1379
+ fill: "none",
1380
+ stroke: "currentColor",
1381
+ viewBox: "0 0 24 24"
1382
+ }, m[3] || (m[3] = [
1383
+ u("path", {
1384
+ "stroke-linecap": "round",
1385
+ "stroke-linejoin": "round",
1386
+ "stroke-width": "2",
1387
+ d: "M19 9l-7 7-7-7"
1388
+ }, null, -1)
1389
+ ]), 2))
1390
+ ], 10, ze),
1391
+ I(u("div", _e, [
1392
+ (t(!0), a($, null, D(s.children, (_) => (t(), L(V(v(_)), j({
1393
+ key: _.label,
1394
+ ref_for: !0
1395
+ }, y(_), {
1396
+ class: A.value,
1397
+ onClick: p
1398
+ }), {
1399
+ default: B(() => [
1400
+ _.icon ? (t(), a("i", {
1401
+ key: 0,
1402
+ class: g([_.icon, "dk:mr-2"])
1403
+ }, null, 2)) : x("", !0),
1404
+ C(" " + w(_.label), 1)
1405
+ ]),
1406
+ _: 2
1407
+ }, 1040, ["class"]))), 128))
1408
+ ], 512), [
1409
+ [O, c[s.label]]
1004
1410
  ])
1005
- ]))), 128))
1006
- ]))), 128))
1411
+ ])) : (t(), L(V(v(s)), j({
1412
+ key: 1,
1413
+ ref_for: !0
1414
+ }, y(s), {
1415
+ class: P.value,
1416
+ onClick: p
1417
+ }), {
1418
+ default: B(() => [
1419
+ s.icon ? (t(), a("i", {
1420
+ key: 0,
1421
+ class: g([s.icon, "dk:mr-2"])
1422
+ }, null, 2)) : x("", !0),
1423
+ C(" " + w(s.label), 1)
1424
+ ]),
1425
+ _: 2
1426
+ }, 1040, ["class"]))
1427
+ ], 64))), 128)),
1428
+ o.$slots.actions ? (t(), a("div", Ce, [
1429
+ q(o.$slots, "actions")
1430
+ ])) : x("", !0)
1007
1431
  ])
1432
+ ], 512), [
1433
+ [O, l.value]
1008
1434
  ])
1009
- ]));
1435
+ ], 2));
1010
1436
  }
1011
1437
  });
1012
1438
  export {
1013
- ke as DuiAction,
1014
- ne as DuiAlert,
1015
- te as DuiButton,
1016
- ae as DuiInput,
1017
- le as DuiSelect,
1018
- se as DuiTable,
1019
- oe as DuiTextarea
1439
+ Be as DuiAction,
1440
+ Le as DuiAlert,
1441
+ $e as DuiButton,
1442
+ qe as DuiCard,
1443
+ je as DuiInput,
1444
+ Re as DuiNavbar,
1445
+ Ne as DuiSelect,
1446
+ Ve as DuiTable,
1447
+ Te as DuiTextarea
1020
1448
  };