@base-framework/ui 1.1.15 → 1.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/atoms.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { B as e, C as t, a as o, F as n, b as r, L as p, P as I, R as i, S as u, T as l } from "./tooltip-BmvjA9XQ.js";
2
- import { B as m, I as c, L as T, M as g, U as x, i as B, a as C } from "./buttons-snATS4J5.js";
2
+ import { B as m, I as c, L as T, M as g, U as x, i as B, a as C } from "./buttons-HW55zbqy.js";
3
3
  import { C as F, a as M, D as S, b, E as L, F as P, H as R, I as U, c as h, M as k, N as D, P as H, R as V, T as E, d as G, e as N, U as W, V as v, f as w, W as J } from "./image-BhZbKYDj.js";
4
4
  import { S as q } from "./skeleton-BlY3opxG.js";
5
5
  export {
@@ -0,0 +1,127 @@
1
+ import { I as w, Span as y, Button as o } from "@base-framework/atoms";
2
+ import { Atom as i } from "@base-framework/base";
3
+ import { Icons as g } from "./icons.es.js";
4
+ const v = {
5
+ xs: "w-4 h-4",
6
+ sm: "w-6 h-6",
7
+ md: "w-8 h-8",
8
+ lg: "w-10 h-10",
9
+ xl: "w-12 h-12",
10
+ "2xl": "w-14 h-14",
11
+ "3xl": "w-16 h-16"
12
+ }, a = i((n, s) => {
13
+ const t = v[n.size || "sm"];
14
+ return w({
15
+ ...n,
16
+ class: `stroke-current icon-size ${t} ${n.class || ""}`,
17
+ html: s[0]?.textContent
18
+ });
19
+ }), r = {
20
+ xs: "w-4 h-4",
21
+ // 16px - matches Icon
22
+ sm: "w-6 h-6",
23
+ // 24px - matches Icon
24
+ md: "w-8 h-8",
25
+ // 32px - matches Icon
26
+ lg: "w-10 h-10",
27
+ // 40px - matches Icon
28
+ xl: "w-12 h-12",
29
+ // 48px - matches Icon
30
+ "2xl": "w-14 h-14",
31
+ // 56px - matches Icon
32
+ "3xl": "w-16 h-16"
33
+ // 64px - matches Icon
34
+ }, u = {
35
+ xs: "16px",
36
+ sm: "24px",
37
+ md: "32px",
38
+ lg: "40px",
39
+ xl: "48px",
40
+ "2xl": "56px",
41
+ "3xl": "64px"
42
+ }, m = {
43
+ outlined: "material-symbols-outlined",
44
+ filled: "material-symbols-filled",
45
+ rounded: "material-symbols-rounded",
46
+ sharp: "material-symbols-sharp"
47
+ }, d = i((n) => {
48
+ const s = n.size || "sm", t = n.variant || "outlined", l = r[s] || r.sm, c = u[s] || u.sm, x = m[t] || m.outlined;
49
+ return y({
50
+ ...n,
51
+ class: `inline-flex items-center justify-center ${x} ${l} ${n.class || ""}`,
52
+ style: `font-size: ${c}; ${n.style || ""}`,
53
+ // Remove props that shouldn't be passed to the DOM element
54
+ size: void 0,
55
+ variant: void 0,
56
+ name: void 0
57
+ }, n.name);
58
+ }), k = (n = {}, s) => s ? typeof s == "string" && s.includes("<svg") ? a(n, s) : typeof s == "object" && s.name ? d({
59
+ ...n,
60
+ name: s.name,
61
+ variant: s.variant || n.variant || "outlined"
62
+ }) : typeof s == "string" ? d({
63
+ ...n,
64
+ name: s
65
+ }) : a(n, s) : null, U = (n) => n ? !!(typeof n == "object" && n.name || typeof n == "string" && !n.includes("<svg")) : !1, j = (n) => typeof n == "string" && n.includes("<svg"), e = (n) => i((s, t) => o({
66
+ ...n,
67
+ ...s,
68
+ class: `bttn ${n.class} ${s.class || ""}`
69
+ }, t)), b = i(
70
+ (n, s) => o({
71
+ ...n,
72
+ class: n.class
73
+ }, [
74
+ n.icon && n.position !== "right" ? a({ size: "sm", class: n.animation ?? null }, n.icon) : null,
75
+ ...s || [],
76
+ n.icon && n.position === "right" ? a({ size: "sm", class: n.animation ?? null }, n.icon) : null
77
+ ])
78
+ ), f = (n) => i((s, t) => b({
79
+ ...n,
80
+ ...s,
81
+ class: `bttn ${n.class} ${s.class || ""}`
82
+ }, t)), z = (n) => () => {
83
+ if (n.allowHistory === !0 && globalThis.history.length > 2) {
84
+ globalThis.history.back();
85
+ return;
86
+ }
87
+ n.backUrl && app.navigate(n.backUrl);
88
+ }, $ = (n) => i((s, t) => (s.icon = s.icon || g.arrows.left, s.click = s.click || z(s), b({
89
+ ...n,
90
+ ...s
91
+ }, t))), I = i((n, s) => {
92
+ const t = n.size || "md", l = {
93
+ xs: "w-6 h-6",
94
+ sm: "w-8 h-8",
95
+ md: "w-10 h-10",
96
+ lg: "w-12 h-12",
97
+ xl: "w-14 h-14"
98
+ }, c = n.backgroundClass || "bg-background/30 hover:bg-background/50";
99
+ return o({
100
+ ...n,
101
+ class: `circle-icon-btn inline-flex items-center justify-center rounded-full ${c} text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-background transition-colors disabled:pointer-events-none disabled:opacity-50 cursor-pointer ${l[t] || l.md} ${n.class || ""}`
102
+ }, [
103
+ n.icon ? k({ size: t === "xs" ? "xs" : "sm" }, n.icon) : null,
104
+ ...s || []
105
+ ]);
106
+ }), h = {
107
+ primary: e({ class: "primary" }),
108
+ secondary: e({ class: "secondary" }),
109
+ destructive: e({ class: "destructive" }),
110
+ warning: e({ class: "warning" }),
111
+ outline: e({ class: "outline" }),
112
+ ghost: e({ class: "ghost" }),
113
+ link: e({ class: "link" }),
114
+ icon: f({ class: "icon" }),
115
+ withIcon: f({ class: "with-icon" }),
116
+ back: $({ class: "with-icon back-button" }),
117
+ circleIcon: I
118
+ }, B = i((n, s) => (h[n.variant] || h.primary)(n, s)), S = i((n, s) => B({ ...n, variant: "withIcon", icon: g.loading, animation: "animate-spin" }, s));
119
+ export {
120
+ B,
121
+ a as I,
122
+ S as L,
123
+ d as M,
124
+ k as U,
125
+ U as a,
126
+ j as i
127
+ };
@@ -1,13 +1,13 @@
1
1
  import { Atom as c, Component as y, Html as A, Dom as Z, base as tt, Data as k, Builder as H, Jot as w, Events as g, DateTime as M } from "@base-framework/base";
2
2
  import { Div as n, H5 as et, P as b, Li as q, Span as a, Ul as V, Button as p, I as T, OnState as I, Label as P, H2 as v, Form as st, Header as B, Footer as L, A as G, H3 as ot, Checkbox as nt, Input as f, Img as W, Nav as it, UseParent as _, OnStateOpen as O, Time as rt, Dialog as lt } from "@base-framework/atoms";
3
- import { P as S, C as at, R as ct } from "./simple-search-input-CuC8q0fJ.js";
4
- import { U as m, B as h, I as dt } from "./buttons-snATS4J5.js";
3
+ import { P as S, C as at, R as ct } from "./simple-search-input-mCUOwYbp.js";
4
+ import { U as m, B as h, I as dt } from "./buttons-HW55zbqy.js";
5
5
  import { Timer as ut, List as ht, DynamicTime as mt } from "@base-framework/organisms";
6
6
  import { C as ft, b as pt } from "./tooltip-BmvjA9XQ.js";
7
7
  import { f as C } from "./image-BhZbKYDj.js";
8
8
  import { Icons as u } from "./icons.es.js";
9
9
  import { F as z } from "./format-BmrNQptv.js";
10
- import "./mobile-nav-wrapper-1erstN34.js";
10
+ import "./mobile-nav-wrapper-DmrkMxyd.js";
11
11
  import "./aside-template-BDvEMLnk.js";
12
12
  import "./full-page-DccgwWsM.js";
13
13
  import "./bside-template-BCP2pJWN.js";
@@ -1263,7 +1263,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => p({
1263
1263
  ), Xt = ({ toggleDropdown: t }) => p(
1264
1264
  {
1265
1265
  cache: "button",
1266
- class: "relative z-[2] inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border bg-input hover:bg-muted h-10 px-4 py-2 justify-between",
1266
+ class: "relative z-2 inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border bg-input hover:bg-muted h-10 px-4 py-2 justify-between",
1267
1267
  click: t
1268
1268
  },
1269
1269
  [
package/dist/index.es.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { B as s, C as o, a as t, F as r, b as n, L as i, P as l, R as p, S as m, T as d } from "./tooltip-BmvjA9XQ.js";
2
- import { B as c, I as g, L as T, M as C, U as I, i as S, a as b } from "./buttons-snATS4J5.js";
2
+ import { B as c, I as g, L as T, M as C, U as I, i as S, a as b } from "./buttons-HW55zbqy.js";
3
3
  import { C as B, a as F, D as P, b as M, E as f, F as k, H as x, I as v, c as N, M as U, N as h, P as y, R as L, T as W, d as H, e as R, U as w, V as A, f as G, W as O } from "./image-BhZbKYDj.js";
4
4
  import { S as j } from "./skeleton-BlY3opxG.js";
5
5
  import { Icons as J, MaterialSymbols as q } from "./icons.es.js";
6
- import { A as K, B as Q, C as _, a as X, b as Y, c as Z, d as $, D as aa, e as ea, f as sa, g as oa, h as ta, i as ra, j as na, k as ia, l as la, m as pa, n as ma, o as da, E as ua, F as ca, p as ga, q as Ta, r as Ca, s as Ia, t as Sa, u as ba, v as Da, w as Ba, x as Fa, I as Pa, L as Ma, M as fa, y as ka, N as xa, z as va, P as Na, S as Ua, G as ha, H as ya, J as La, K as Wa, T as Ha, O as Ra, Q as wa, R as Aa, U as Ga } from "./empty-state-BR5Aa8lA.js";
7
- import { A as Ea, B as ja, C as Va, a as Ja, b as qa, D as za, c as Ka, d as Qa, e as _a, f as Xa, g as Ya, F as Za, H as $a, M as ae, O as ee, P as se, R as oe, S as te, h as re, i as ne, j as ie, T as le, U as pe, k as me, l as de, m as ue, p as ce } from "./simple-search-input-CuC8q0fJ.js";
8
- import { B as Te, I as Ce, N as Ie, P as Se, S as be, T as De, a as Be, b as Fe, U as Pe, c as Me, d as fe, e as ke, W as xe, f as ve, g as Ne, h as Ue, i as he, j as ye, k as Le, l as We, m as He, n as Re } from "./signature-panel-CVq5N5M1.js";
9
- import { B as Ae, I as Ge, M as Oe, a as Ee, b as je, N as Ve, c as Je, d as qe, e as ze, f as Ke, P as Qe, S as _e, T as Xe } from "./mobile-nav-wrapper-1erstN34.js";
10
- import { S as Ze } from "./sidebar-menu-CVyJBcHE.js";
6
+ import { A as K, B as Q, C as _, a as X, b as Y, c as Z, d as $, D as aa, e as ea, f as sa, g as oa, h as ta, i as ra, j as na, k as ia, l as la, m as pa, n as ma, o as da, E as ua, F as ca, p as ga, q as Ta, r as Ca, s as Ia, t as Sa, u as ba, v as Da, w as Ba, x as Fa, I as Pa, L as Ma, M as fa, y as ka, N as xa, z as va, P as Na, S as Ua, G as ha, H as ya, J as La, K as Wa, T as Ha, O as Ra, Q as wa, R as Aa, U as Ga } from "./empty-state-BTmefeHC.js";
7
+ import { A as Ea, B as ja, C as Va, a as Ja, b as qa, D as za, c as Ka, d as Qa, e as _a, f as Xa, g as Ya, F as Za, H as $a, M as ae, O as ee, P as se, R as oe, S as te, h as re, i as ne, j as ie, T as le, U as pe, k as me, l as de, m as ue, p as ce } from "./simple-search-input-mCUOwYbp.js";
8
+ import { B as Te, I as Ce, N as Ie, P as Se, S as be, T as De, a as Be, b as Fe, U as Pe, c as Me, d as fe, e as ke, W as xe, f as ve, g as Ne, h as Ue, i as he, j as ye, k as Le, l as We, m as He, n as Re } from "./signature-panel-CbzCU4y4.js";
9
+ import { B as Ae, I as Ge, M as Oe, a as Ee, b as je, N as Ve, c as Je, d as qe, e as ze, f as Ke, P as Qe, S as _e, T as Xe } from "./mobile-nav-wrapper-DmrkMxyd.js";
10
+ import { S as Ze } from "./sidebar-menu-C5s4Cogh.js";
11
11
  import { B as as, F as es, M as ss, P as os } from "./full-page-DccgwWsM.js";
12
- import { B as rs, C as ns, F as is, a as ls, S as ps } from "./sidebar-menu-page-Db-6HPoS.js";
12
+ import { B as rs, C as ns, F as is, a as ls, S as ps } from "./sidebar-menu-page-DwqCqwzG.js";
13
13
  import { A as ds, F as us, M as cs, T as gs, a as Ts } from "./aside-template-BDvEMLnk.js";
14
14
  import { B as Is } from "./bside-template-BCP2pJWN.js";
15
15
  import { F as bs, c as Ds } from "./format-BmrNQptv.js";
@@ -1,6 +1,6 @@
1
1
  import { Button as g, Div as l, Label as b, Span as w, Ul as r, H4 as S, Nav as d, H3 as h, OnState as B, UseParent as N } from "@base-framework/atoms";
2
2
  import { Component as n, Atom as i, NavLink as L, router as u } from "@base-framework/base";
3
- import { U as o, B as p } from "./buttons-snATS4J5.js";
3
+ import { U as o, B as p } from "./buttons-HW55zbqy.js";
4
4
  import { Icons as c } from "./icons.es.js";
5
5
  class C extends n {
6
6
  /**
@@ -1,5 +1,5 @@
1
- import { A as s, B as t, C as r, a as e, b as i, c as n, d as m, D as l, e as d, f as C, g as p, h as D, i as S, j as u, k as c, l as g, m as F, n as T, o as P, E as w, F as A, p as I, q as f, r as b, s as y, t as B, u as M, v as U, w as k, x, I as L, L as R, M as v, y as E, N, z as h, P as G, S as O, G as j, H as q, J as z, K as H, T as J, O as K, Q, R as _, U as V } from "./empty-state-BR5Aa8lA.js";
2
- import { A as X, P as Y, m as Z } from "./simple-search-input-CuC8q0fJ.js";
1
+ import { A as s, B as t, C as r, a as e, b as i, c as n, d as m, D as l, e as d, f as C, g as p, h as D, i as S, j as u, k as c, l as g, m as F, n as T, o as P, E as w, F as A, p as I, q as f, r as b, s as y, t as B, u as M, v as U, w as k, x, I as L, L as R, M as v, y as E, N, z as h, P as G, S as O, G as j, H as q, J as z, K as H, T as J, O as K, Q, R as _, U as V } from "./empty-state-BTmefeHC.js";
2
+ import { A as X, P as Y, m as Z } from "./simple-search-input-mCUOwYbp.js";
3
3
  export {
4
4
  s as Alert,
5
5
  X as Avatar,
@@ -1,7 +1,7 @@
1
- import { B as s, C as n, a as t, b as r, D as o, c as l, d as i, e as d, f as b, g as p, F as u, H as T, M as g, O as v, R as N, S as k, h as D, i as c, j as C, T as m, U as B, k as S, l as M, p as h } from "./simple-search-input-CuC8q0fJ.js";
2
- import { B as W, I as U, N as f, P as H, S as I, T as P, a as x, b as L, U as O, c as F, d as G, e as j, W as R, f as w, g as q, h as z, i as A, j as E, k as J, l as K, m as Q, n as V } from "./signature-panel-CVq5N5M1.js";
3
- import { B as Y, I as Z, M as _, a as $, b as aa, N as ea, c as sa, d as na, e as ta, f as ra, P as oa, S as la, T as ia } from "./mobile-nav-wrapper-1erstN34.js";
4
- import { S as ba } from "./sidebar-menu-CVyJBcHE.js";
1
+ import { B as s, C as n, a as t, b as r, D as o, c as l, d as i, e as d, f as b, g as p, F as u, H as T, M as g, O as v, R as N, S as k, h as D, i as c, j as C, T as m, U as B, k as S, l as M, p as h } from "./simple-search-input-mCUOwYbp.js";
2
+ import { B as W, I as U, N as f, P as H, S as I, T as P, a as x, b as L, U as O, c as F, d as G, e as j, W as R, f as w, g as q, h as z, i as A, j as E, k as J, l as K, m as Q, n as V } from "./signature-panel-CbzCU4y4.js";
3
+ import { B as Y, I as Z, M as _, a as $, b as aa, N as ea, c as sa, d as na, e as ta, f as ra, P as oa, S as la, T as ia } from "./mobile-nav-wrapper-DmrkMxyd.js";
4
+ import { S as ba } from "./sidebar-menu-C5s4Cogh.js";
5
5
  export {
6
6
  s as BackButton,
7
7
  Y as Backdrop,
package/dist/pages.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { B as s, F as P, M as g, P as n } from "./full-page-DccgwWsM.js";
2
- import { B as r, C as o, F as i, a as t, S as F } from "./sidebar-menu-page-Db-6HPoS.js";
2
+ import { B as r, C as o, F as i, a as t, S as F } from "./sidebar-menu-page-DwqCqwzG.js";
3
3
  export {
4
4
  s as BasicPage,
5
5
  r as BlankPage,
@@ -1,5 +1,5 @@
1
1
  import { Div as r, Header as x, H1 as c } from "@base-framework/atoms";
2
- import { I as n } from "./mobile-nav-wrapper-1erstN34.js";
2
+ import { I as n } from "./mobile-nav-wrapper-DmrkMxyd.js";
3
3
  const g = ({ title: l, options: s, class: a = "", mobileBorder: t = !1, sticky: e = !1, topNav: o = null, bottomNav: p = null }) => r({ class: `pb-12 p-4 pt-0 lg:p-6 lg:border-r w-full lg:max-w-[300px] flex-auto flex-col ${a}` }, [
4
4
  o,
5
5
  l && x({ class: "pb-4 md:pb-2 px-6 flex" }, [
@@ -1,8 +1,8 @@
1
1
  import { Div as s } from "@base-framework/atoms";
2
2
  import { B as a, M as i, P as r } from "./full-page-DccgwWsM.js";
3
3
  import { F as l, A as n } from "./aside-template-BDvEMLnk.js";
4
- import { b as d } from "./mobile-nav-wrapper-1erstN34.js";
5
- import { S as o } from "./sidebar-menu-CVyJBcHE.js";
4
+ import { b as d } from "./mobile-nav-wrapper-DmrkMxyd.js";
5
+ import { S as o } from "./sidebar-menu-C5s4Cogh.js";
6
6
  class p extends a {
7
7
  /**
8
8
  * This will render the page.
@@ -1,8 +1,8 @@
1
1
  import { Div as l, Button as b, On as j, Span as T, Nav as f, Ul as p, Section as y, Li as w, Canvas as z } from "@base-framework/atoms";
2
2
  import { Component as k, Data as I, DateTime as U, router as v, NavLink as S, base as L, Dom as B } from "@base-framework/base";
3
- import { B as C } from "./buttons-snATS4J5.js";
3
+ import { B as C } from "./buttons-HW55zbqy.js";
4
4
  import { Icons as D } from "./icons.es.js";
5
- import { O as A } from "./simple-search-input-CuC8q0fJ.js";
5
+ import { O as A } from "./simple-search-input-mCUOwYbp.js";
6
6
  import { V as u, H as F } from "./image-BhZbKYDj.js";
7
7
  import { IntervalTimer as O } from "@base-framework/organisms";
8
8
  class Pt extends k {
@@ -567,6 +567,7 @@ class jt extends u {
567
567
  */
568
568
  setupStates() {
569
569
  return {
570
+ // @ts-ignore
570
571
  selected: this.options[0]?.value || null
571
572
  };
572
573
  }
@@ -714,7 +715,8 @@ class zt extends u {
714
715
  t = i[a], e.push(
715
716
  {
716
717
  uri: t.uri || t.href,
717
- component: t.component,
718
+ component: t.component || null,
719
+ import: t.import || null,
718
720
  title: t.title || null,
719
721
  persist: !0
720
722
  }
@@ -871,6 +873,7 @@ class Ut extends u {
871
873
  */
872
874
  setupStates() {
873
875
  return {
876
+ // @ts-ignore
874
877
  selected: this.options[0]?.value || null
875
878
  };
876
879
  }
@@ -1018,7 +1021,8 @@ class At extends u {
1018
1021
  t = i[a], e.push(
1019
1022
  {
1020
1023
  uri: t.uri || t.href,
1021
- component: t.component,
1024
+ component: t.component || null,
1025
+ import: t.import || null,
1022
1026
  title: t.title || null,
1023
1027
  persist: !0
1024
1028
  }
@@ -1,6 +1,6 @@
1
1
  import { Div as r, Span as N, Button as K, OnState as J, On as $, Th as G, UseParent as et, I as st, Thead as at, Tr as nt, Table as j, P as O, Li as X, Time as ot, Ul as rt, Input as lt } from "@base-framework/atoms";
2
2
  import { Component as R, Data as P, Atom as m, DateTime as H, DataTracker as _, Jot as it } from "@base-framework/base";
3
- import { B as y, U as q } from "./buttons-snATS4J5.js";
3
+ import { B as y, U as q } from "./buttons-HW55zbqy.js";
4
4
  import { Icons as S } from "./icons.es.js";
5
5
  import { TableBody as ct, DataTableBody as dt, ScrollableTableBody as ht, List as ut } from "@base-framework/organisms";
6
6
  import { I as ft, C as mt, c as gt } from "./image-BhZbKYDj.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base-framework/ui",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "description": "This is a UI package that adds components and atoms that use Tailwind CSS and a theme based on Shadcn.",
5
5
  "main": "./dist/index.es.js",
6
6
  "scripts": {
@@ -1,118 +0,0 @@
1
- import { I as b, Span as w, Button as r } from "@base-framework/atoms";
2
- import { Atom as e } from "@base-framework/base";
3
- import { Icons as f } from "./icons.es.js";
4
- const x = {
5
- xs: "w-4 h-4",
6
- sm: "w-6 h-6",
7
- md: "w-8 h-8",
8
- lg: "w-10 h-10",
9
- xl: "w-12 h-12",
10
- "2xl": "w-14 h-14",
11
- "3xl": "w-16 h-16"
12
- }, a = e((n, t) => {
13
- const s = x[n.size || "sm"];
14
- return b({
15
- ...n,
16
- class: `stroke-current icon-size ${s} ${n.class || ""}`,
17
- html: t[0]?.textContent
18
- });
19
- }), o = {
20
- xs: "w-4 h-4 text-base",
21
- // 16px - matches Icon
22
- sm: "w-6 h-6 text-2xl",
23
- // 24px - matches Icon
24
- md: "w-8 h-8 text-[2rem]",
25
- // 32px - matches Icon
26
- lg: "w-10 h-10 text-[2.5rem]",
27
- // 40px - matches Icon
28
- xl: "w-12 h-12 text-5xl",
29
- // 48px - matches Icon
30
- "2xl": "w-14 h-14 text-[3.5rem]",
31
- // 56px - matches Icon
32
- "3xl": "w-16 h-16 text-[4rem]"
33
- // 64px - matches Icon
34
- }, u = {
35
- outlined: "material-symbols-outlined",
36
- filled: "material-symbols-filled",
37
- rounded: "material-symbols-rounded",
38
- sharp: "material-symbols-sharp"
39
- }, m = e((n) => {
40
- const t = n.size || "sm", s = n.variant || "outlined", l = o[t] || o.sm, c = u[s] || u.outlined;
41
- return w({
42
- ...n,
43
- class: `inline-flex items-center justify-center ${c} ${l} ${n.class || ""}`,
44
- // Remove props that shouldn't be passed to the DOM element
45
- size: void 0,
46
- variant: void 0,
47
- name: void 0
48
- }, n.name);
49
- }), y = (n = {}, t) => t ? typeof t == "string" && t.includes("<svg") ? a(n, t) : typeof t == "object" && t.name ? m({
50
- ...n,
51
- name: t.name,
52
- variant: t.variant || n.variant || "outlined"
53
- }) : typeof t == "string" ? m({
54
- ...n,
55
- name: t
56
- }) : a(n, t) : null, V = (n) => n ? !!(typeof n == "object" && n.name || typeof n == "string" && !n.includes("<svg")) : !1, T = (n) => typeof n == "string" && n.includes("<svg"), i = (n) => e((t, s) => r({
57
- ...n,
58
- ...t,
59
- class: `bttn ${n.class} ${t.class || ""}`
60
- }, s)), g = e(
61
- (n, t) => r({
62
- ...n,
63
- class: n.class
64
- }, [
65
- n.icon && n.position !== "right" ? a({ size: "sm", class: n.animation ?? null }, n.icon) : null,
66
- ...t || [],
67
- n.icon && n.position === "right" ? a({ size: "sm", class: n.animation ?? null }, n.icon) : null
68
- ])
69
- ), d = (n) => e((t, s) => g({
70
- ...n,
71
- ...t,
72
- class: `bttn ${n.class} ${t.class || ""}`
73
- }, s)), v = (n) => () => {
74
- if (n.allowHistory === !0 && globalThis.history.length > 2) {
75
- globalThis.history.back();
76
- return;
77
- }
78
- n.backUrl && app.navigate(n.backUrl);
79
- }, k = (n) => e((t, s) => (t.icon = t.icon || f.arrows.left, t.click = t.click || v(t), g({
80
- ...n,
81
- ...t
82
- }, s))), z = e((n, t) => {
83
- const s = n.size || "md", l = {
84
- xs: "w-6 h-6",
85
- sm: "w-8 h-8",
86
- md: "w-10 h-10",
87
- lg: "w-12 h-12",
88
- xl: "w-14 h-14"
89
- }, c = n.backgroundClass || "bg-background/30 hover:bg-background/50";
90
- return r({
91
- ...n,
92
- class: `circle-icon-btn inline-flex items-center justify-center rounded-full ${c} text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-background transition-colors disabled:pointer-events-none disabled:opacity-50 cursor-pointer ${l[s] || l.md} ${n.class || ""}`
93
- }, [
94
- n.icon ? y({ size: s === "xs" ? "xs" : "sm" }, n.icon) : null,
95
- ...t || []
96
- ]);
97
- }), h = {
98
- primary: i({ class: "primary" }),
99
- secondary: i({ class: "secondary" }),
100
- destructive: i({ class: "destructive" }),
101
- warning: i({ class: "warning" }),
102
- outline: i({ class: "outline" }),
103
- ghost: i({ class: "ghost" }),
104
- link: i({ class: "link" }),
105
- icon: d({ class: "icon" }),
106
- withIcon: d({ class: "with-icon" }),
107
- back: k({ class: "with-icon back-button" }),
108
- circleIcon: z
109
- }, I = e((n, t) => (h[n.variant] || h.primary)(n, t)), U = e((n, t) => I({ ...n, variant: "withIcon", icon: f.loading, animation: "animate-spin" }, t));
110
- export {
111
- I as B,
112
- a as I,
113
- U as L,
114
- m as M,
115
- y as U,
116
- V as a,
117
- T as i
118
- };