@krosoft/react 0.0.71 → 0.0.73

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.
Files changed (40) hide show
  1. package/dist/KpiCards-Bjsd4bSz.js +40 -0
  2. package/dist/{SearchInput-LIey3bo9.js → SearchInput-Bu4wb0gI.js} +10 -9
  3. package/dist/ThemeSelector-DMgBLEYm.js +49 -0
  4. package/dist/Topbar-CFALRIJn.js +168 -0
  5. package/dist/{badge-Cj2EQgcL.js → badge-C4pCH7IL.js} +1 -1
  6. package/dist/components/core/cards/KpiCards.d.ts.map +1 -1
  7. package/dist/components/core/cards/index.js +1 -1
  8. package/dist/components/core/index.d.ts +1 -0
  9. package/dist/components/core/index.d.ts.map +1 -1
  10. package/dist/components/core/index.js +10 -8
  11. package/dist/components/core/inputs/index.js +1 -1
  12. package/dist/components/core/navbar/index.js +1 -1
  13. package/dist/components/core/theme/ThemeSelector.d.ts +8 -0
  14. package/dist/components/core/theme/ThemeSelector.d.ts.map +1 -0
  15. package/dist/components/core/theme/index.d.ts +3 -0
  16. package/dist/components/core/theme/index.d.ts.map +1 -0
  17. package/dist/components/core/theme/index.js +4 -0
  18. package/dist/components/index.js +41 -30
  19. package/dist/components/ui/index.d.ts +1 -0
  20. package/dist/components/ui/index.d.ts.map +1 -1
  21. package/dist/components/ui/index.js +27 -18
  22. package/dist/components/ui/select.d.ts +14 -0
  23. package/dist/components/ui/select.d.ts.map +1 -0
  24. package/dist/hooks/index.d.ts +2 -0
  25. package/dist/hooks/index.d.ts.map +1 -1
  26. package/dist/hooks/index.js +16 -112
  27. package/dist/hooks/ui/useTheme.d.ts +20 -0
  28. package/dist/hooks/ui/useTheme.d.ts.map +1 -0
  29. package/dist/index-BQOmHRsD.js +1662 -0
  30. package/dist/select-CdiR6cO0.js +2020 -0
  31. package/dist/tailwind/index.d.ts +1 -1
  32. package/dist/tailwind/index.d.ts.map +1 -1
  33. package/dist/tailwind/index.js +3 -1
  34. package/dist/{toast-B6CC_ory.js → toast-BypnW71k.js} +1 -1
  35. package/dist/tooltip-Dep8OR3c.js +779 -0
  36. package/dist/useTheme-D__o7mLN.js +122 -0
  37. package/package.json +10 -2
  38. package/dist/KpiCards-D4Cy8CLT.js +0 -38
  39. package/dist/Topbar-CtXJ337W.js +0 -2314
  40. package/dist/index-BNCR478R.js +0 -272
@@ -0,0 +1,40 @@
1
+ import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
+ import { C as p, f, g as u, c as C } from "./toast-BypnW71k.js";
3
+ import "./index-BQOmHRsD.js";
4
+ import { c as a } from "./index-gWiv5-6R.js";
5
+ import "./select-CdiR6cO0.js";
6
+ import N from "react";
7
+ import { formatNumber as x } from "@krosoft/core/helpers";
8
+ import { useTranslation as g } from "react-i18next";
9
+ const h = ({ titleKey: i, value: e, valueClassName: l, icon: m, iconClassName: c, description: t, descriptionClassName: n, onClick: o }) => {
10
+ const { t: d } = g();
11
+ return /* @__PURE__ */ s(p, { className: a(o ? "hover:border-primary cursor-pointer" : ""), onClick: o, children: [
12
+ /* @__PURE__ */ s(f, { className: "flex flex-row items-center justify-between space-y-0 pb-2", children: [
13
+ /* @__PURE__ */ r(u, { className: "text-sm font-medium", children: d(i) }),
14
+ N.createElement(m, {
15
+ className: a("size-6 text-muted-foreground", c)
16
+ })
17
+ ] }),
18
+ /* @__PURE__ */ s(C, { children: [
19
+ /* @__PURE__ */ r("div", { className: a("text-2xl font-bold", l), children: x(e) }),
20
+ /* @__PURE__ */ r("p", { className: a("text-xs text-muted-foreground", n), children: t })
21
+ ] })
22
+ ] });
23
+ }, k = ({ stats: i }) => /* @__PURE__ */ r("div", { className: "grid gap-6 md:grid-cols-2 lg:grid-cols-4", children: i.map((e) => /* @__PURE__ */ r(
24
+ h,
25
+ {
26
+ titleKey: e.titleKey,
27
+ value: e.value,
28
+ valueClassName: e.valueClassName,
29
+ icon: e.icon,
30
+ iconClassName: e.iconClassName,
31
+ description: e.description,
32
+ descriptionClassName: e.descriptionClassName,
33
+ onClick: e.onClick
34
+ },
35
+ e.titleKey
36
+ )) });
37
+ export {
38
+ h as K,
39
+ k as a
40
+ };
@@ -1,7 +1,8 @@
1
1
  import { jsxs as u, jsx as t } from "react/jsx-runtime";
2
- import { I as p, X as h } from "./toast-B6CC_ory.js";
3
- import "./index-BNCR478R.js";
2
+ import { I as p, X as h } from "./toast-BypnW71k.js";
3
+ import "./index-BQOmHRsD.js";
4
4
  import { c as f } from "./index-gWiv5-6R.js";
5
+ import "./select-CdiR6cO0.js";
5
6
  import { c as d } from "./createLucideIcon-CRdjzt2A.js";
6
7
  /**
7
8
  * @license lucide-react v1.16.0 - ISC
@@ -12,17 +13,17 @@ import { c as d } from "./createLucideIcon-CRdjzt2A.js";
12
13
  const y = [
13
14
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
14
15
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
15
- ], x = d("search", y), w = ({
16
+ ], x = d("search", y), I = ({
16
17
  searchQuery: s,
17
18
  search: n,
18
19
  placeholder: l = "Rechercher...",
19
20
  onSearch: r,
20
21
  onSubmit: a,
21
- onClear: c,
22
+ onClear: o,
22
23
  className: i
23
24
  }) => {
24
- const o = s || n || "", m = () => {
25
- r(""), c && c();
25
+ const c = s || n || "", m = () => {
26
+ r(""), o && o();
26
27
  };
27
28
  return /* @__PURE__ */ u("div", { className: f("relative h-fit w-full md:w-64", i), children: [
28
29
  /* @__PURE__ */ t(x, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground w-4 h-4" }),
@@ -30,7 +31,7 @@ const y = [
30
31
  p,
31
32
  {
32
33
  placeholder: l,
33
- value: o,
34
+ value: c,
34
35
  onChange: (e) => r(e.target.value),
35
36
  className: "pl-8",
36
37
  onKeyDown: (e) => {
@@ -38,9 +39,9 @@ const y = [
38
39
  }
39
40
  }
40
41
  ),
41
- o && /* @__PURE__ */ t("button", { onClick: m, className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700", type: "button", children: /* @__PURE__ */ t(h, { className: "size-4" }) })
42
+ c && /* @__PURE__ */ t("button", { onClick: m, className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700", type: "button", children: /* @__PURE__ */ t(h, { className: "size-4" }) })
42
43
  ] });
43
44
  };
44
45
  export {
45
- w as S
46
+ I as S
46
47
  };
@@ -0,0 +1,49 @@
1
+ import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
+ import { B as m } from "./index-BQOmHRsD.js";
3
+ import { S as h, f as u, g, a as f, c as v } from "./select-CdiR6cO0.js";
4
+ import { T as b, a as N, b as S, c as x } from "./tooltip-Dep8OR3c.js";
5
+ import { u as C } from "./useTheme-D__o7mLN.js";
6
+ function j({ themeOptions: c, variant: t = "select" }) {
7
+ const { theme: n, handleThemeChange: o, currentThemeOption: e, nextThemeOption: r, cycleTheme: i } = C(c);
8
+ if (t === "mini") {
9
+ const l = e == null ? void 0 : e.icon;
10
+ return /* @__PURE__ */ a(b, { children: /* @__PURE__ */ s(N, { children: [
11
+ /* @__PURE__ */ a(S, { asChild: !0, children: /* @__PURE__ */ s(
12
+ m,
13
+ {
14
+ variant: "ghost",
15
+ size: "icon",
16
+ onClick: i,
17
+ className: "text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
18
+ children: [
19
+ l && /* @__PURE__ */ a(l, { className: "h-4 w-4" }),
20
+ /* @__PURE__ */ s("span", { className: "sr-only", children: [
21
+ "Thème actuel : ",
22
+ e == null ? void 0 : e.label
23
+ ] })
24
+ ]
25
+ }
26
+ ) }),
27
+ /* @__PURE__ */ s(x, { side: "bottom", align: "center", children: [
28
+ "Passer en ",
29
+ r == null ? void 0 : r.label
30
+ ] })
31
+ ] }) });
32
+ }
33
+ return /* @__PURE__ */ s("div", { className: "space-y-2", children: [
34
+ /* @__PURE__ */ s(h, { value: n, onValueChange: o, children: [
35
+ /* @__PURE__ */ a(u, { className: "w-full", children: /* @__PURE__ */ a(g, { placeholder: "Sélectionner un thème" }) }),
36
+ /* @__PURE__ */ a(f, { children: c.map((l) => {
37
+ const d = l.icon;
38
+ return /* @__PURE__ */ a(v, { value: l.value, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
39
+ /* @__PURE__ */ a(d, { className: "h-4 w-4" }),
40
+ l.label
41
+ ] }) }, l.value);
42
+ }) })
43
+ ] }),
44
+ (e == null ? void 0 : e.message) && /* @__PURE__ */ a("p", { className: "text-sm text-muted-foreground", children: e.message })
45
+ ] });
46
+ }
47
+ export {
48
+ j as T
49
+ };
@@ -0,0 +1,168 @@
1
+ import { jsxs as i, jsx as e, Fragment as y } from "react/jsx-runtime";
2
+ import { a as k, b as C, c as j, T } from "./tooltip-Dep8OR3c.js";
3
+ import { c as l } from "./index-gWiv5-6R.js";
4
+ import * as z from "react";
5
+ import { C as S, B as D } from "./index-BQOmHRsD.js";
6
+ import { c as W } from "./createLucideIcon-CRdjzt2A.js";
7
+ /**
8
+ * @license lucide-react v1.16.0 - ISC
9
+ *
10
+ * This source code is licensed under the ISC license.
11
+ * See the LICENSE file in the root directory of this source tree.
12
+ */
13
+ const $ = [
14
+ ["path", { d: "M4 5h16", key: "1tepv9" }],
15
+ ["path", { d: "M4 12h16", key: "1lakjw" }],
16
+ ["path", { d: "M4 19h16", key: "1djgab" }]
17
+ ], A = W("menu", $), O = ({
18
+ path: t,
19
+ // eslint-disable-next-line @typescript-eslint/naming-convention
20
+ icon: n,
21
+ label: h,
22
+ badge: d,
23
+ subItems: a,
24
+ currentPath: s,
25
+ collapsed: o,
26
+ onItemClick: m
27
+ }) => {
28
+ const [f, x] = z.useState((a == null ? void 0 : a.some((r) => s === r.path || s.startsWith(`${r.path}/`))) || !1), p = t ? s === t || t !== "/" && s.startsWith(`${t}/`) : !1, b = a == null ? void 0 : a.some((r) => s === r.path || s.startsWith(`${r.path}/`)), g = /* @__PURE__ */ i(
29
+ "a",
30
+ {
31
+ href: t || "#",
32
+ onClick: (r) => {
33
+ r.preventDefault(), a && a.length > 0 ? o || x(!f) : t && m(t);
34
+ },
35
+ className: l(
36
+ "flex items-center gap-3 rounded-2xl cursor-pointer mb-2 transition-all duration-200 group",
37
+ o ? "justify-center p-3 h-12 w-12 mx-auto" : "px-4 py-3 h-12",
38
+ p || !o && b ? "bg-sidebar-primary text-sidebar-primary-foreground shadow-lg" : "hover:bg-sidebar-accent text-sidebar-foreground hover:text-sidebar-accent-foreground"
39
+ ),
40
+ children: [
41
+ /* @__PURE__ */ e("div", { className: l("flex-shrink-0 transition-transform group-hover:scale-110", o ? "flex items-center justify-center" : ""), children: /* @__PURE__ */ e(n, { className: "size-4" }) }),
42
+ !o && /* @__PURE__ */ i(y, { children: [
43
+ /* @__PURE__ */ e("span", { className: "flex-grow transition-opacity duration-150 font-medium", children: h }),
44
+ d !== void 0 && /* @__PURE__ */ e("span", { className: "bg-red-500 text-white text-xs rounded-full py-1 min-w-[20px] text-center px-2 font-semibold", children: d }),
45
+ a && a.length > 0 && /* @__PURE__ */ e(S, { className: l("size-4 transition-transform duration-200", f ? "rotate-180" : "") })
46
+ ] })
47
+ ]
48
+ }
49
+ );
50
+ return /* @__PURE__ */ i(y, { children: [
51
+ o ? /* @__PURE__ */ i(k, { children: [
52
+ /* @__PURE__ */ e(C, { asChild: !0, children: g }),
53
+ /* @__PURE__ */ e(
54
+ j,
55
+ {
56
+ side: "right",
57
+ sideOffset: 6,
58
+ className: "rounded-xl z-[99999] flex gap-2 bg-sidebar text-sidebar-foreground border border-sidebar-border py-2 text-sm shadow-lg",
59
+ children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
60
+ /* @__PURE__ */ e("p", { className: "font-semibold", children: h }),
61
+ d !== void 0 && /* @__PURE__ */ i("span", { className: "ml-1 text-xs", children: [
62
+ "(",
63
+ d,
64
+ ")"
65
+ ] })
66
+ ] }) })
67
+ }
68
+ )
69
+ ] }) : g,
70
+ !o && a && a.length > 0 && f && /* @__PURE__ */ e("div", { className: "flex flex-col gap-1 mb-2 ml-4 pl-4 border-l-2 border-sidebar-border/50 animate-in slide-in-from-top-2 fade-in duration-200", children: a.map((r, v) => {
71
+ const u = s === r.path || r.path !== "/" && s.startsWith(`${r.path}/`);
72
+ return /* @__PURE__ */ i(
73
+ "a",
74
+ {
75
+ href: r.path,
76
+ onClick: (w) => {
77
+ w.preventDefault(), m(r.path);
78
+ },
79
+ className: l(
80
+ "flex items-center justify-between px-4 py-2 rounded-xl text-sm transition-all duration-200",
81
+ u ? "bg-sidebar-accent/50 text-sidebar-primary font-semibold" : "text-sidebar-muted hover:bg-sidebar-accent hover:text-sidebar-foreground"
82
+ ),
83
+ children: [
84
+ /* @__PURE__ */ e("span", { children: r.label }),
85
+ r.badge !== void 0 && /* @__PURE__ */ e("span", { className: "bg-sidebar-primary/20 text-sidebar-primary text-[10px] rounded-full py-0.5 px-2 font-semibold", children: r.badge })
86
+ ]
87
+ },
88
+ v
89
+ );
90
+ }) })
91
+ ] });
92
+ }, R = ({
93
+ groups: t,
94
+ collapsed: n,
95
+ mobileOpen: h,
96
+ isMobile: d,
97
+ onMobileClose: a,
98
+ onItemClick: s,
99
+ currentPath: o,
100
+ appName: m = "appname",
101
+ appSubName: f = "appsubname",
102
+ appIcon: x,
103
+ headerNode: p,
104
+ footerNode: b
105
+ }) => {
106
+ const N = (c) => {
107
+ s(c), d && a();
108
+ };
109
+ return /* @__PURE__ */ e(T, { delayDuration: 0, children: /* @__PURE__ */ i(
110
+ "aside",
111
+ {
112
+ className: l(
113
+ "flex flex-col bg-sidebar h-screen transition-all duration-300",
114
+ n ? "w-[--navbar-width-icon]" : "w-[--navbar-width]",
115
+ d && !h ? "hidden" : "flex"
116
+ ),
117
+ style: {
118
+ "--navbar-width": "16rem",
119
+ "--navbar-width-icon": "5rem"
120
+ },
121
+ children: [
122
+ p || /* @__PURE__ */ i("div", { className: l("flex items-center h-16 md:h-20 flex-shrink-0 gap-3 px-4", n ? "justify-center" : ""), children: [
123
+ x !== void 0 && /* @__PURE__ */ e("div", { className: "flex-shrink-0 text-sidebar-foreground", children: /* @__PURE__ */ e(x, { className: "size-6" }) }),
124
+ !n && /* @__PURE__ */ i("div", { className: "flex flex-col", children: [
125
+ /* @__PURE__ */ e("h1", { className: "font-bold text-lg text-sidebar-foreground leading-tight", children: m }),
126
+ /* @__PURE__ */ e("span", { className: "text-xs text-sidebar-muted font-medium", children: f })
127
+ ] })
128
+ ] }),
129
+ /* @__PURE__ */ e("div", { className: "flex-1 overflow-y-auto py-4 px-2 scrollbar-modern", children: t.map((c, g) => /* @__PURE__ */ i("div", { className: "mb-6", children: [
130
+ !n && c.title !== void 0 && c.title !== "" && /* @__PURE__ */ e("h3", { className: "px-4 mb-2 text-xs uppercase tracking-wider font-semibold text-sidebar-muted", children: c.title }),
131
+ /* @__PURE__ */ e("nav", { className: "flex flex-col gap-1", children: c.items.map((r, v) => /* @__PURE__ */ e(O, { ...r, currentPath: o, collapsed: n, onItemClick: N }, v)) })
132
+ ] }, g)) }),
133
+ b && /* @__PURE__ */ e("div", { className: l("p-4 border-t border-sidebar-border", n ? "flex justify-center" : ""), children: b })
134
+ ]
135
+ }
136
+ ) });
137
+ }, q = ({ collapsed: t, isMobile: n, onToggleSidebar: h, actionsNode: d, userMenuNode: a }) => /* @__PURE__ */ i(
138
+ "header",
139
+ {
140
+ className: l(
141
+ "fixed top-0 right-0 z-[60] h-16 md:h-20 bg-topbar text-topbar-foreground flex items-center justify-between px-4 transition-all duration-300",
142
+ n && "left-0",
143
+ !n && t && "left-[5rem]",
144
+ !n && !t && "left-[16rem]"
145
+ ),
146
+ tabIndex: -1,
147
+ children: [
148
+ /* @__PURE__ */ e("div", { className: "flex items-center min-w-0 flex-1", children: /* @__PURE__ */ e(
149
+ D,
150
+ {
151
+ variant: "ghost",
152
+ size: "icon",
153
+ onClick: h,
154
+ className: "text-topbar-foreground hover:bg-topbar-accent hover:text-topbar-accent-foreground",
155
+ children: /* @__PURE__ */ e(A, { className: "size-4" })
156
+ }
157
+ ) }),
158
+ /* @__PURE__ */ i("div", { className: "flex items-center gap-2 md:gap-4 flex-shrink-0", children: [
159
+ d,
160
+ a
161
+ ] })
162
+ ]
163
+ }
164
+ );
165
+ export {
166
+ R as S,
167
+ q as T
168
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { c as n } from "./index-BNCR478R.js";
2
+ import { c as n } from "./index-BQOmHRsD.js";
3
3
  import { c as a } from "./index-gWiv5-6R.js";
4
4
  const s = n(
5
5
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
@@ -1 +1 @@
1
- {"version":3,"file":"KpiCards.d.ts","sourceRoot":"","sources":["../../../../src/components/core/cards/KpiCards.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,WAAW,CAAC;AAElD,UAAU,aAAa;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,WAAW,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAe7D,CAAC"}
1
+ {"version":3,"file":"KpiCards.d.ts","sourceRoot":"","sources":["../../../../src/components/core/cards/KpiCards.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,WAAW,CAAC;AAElD,UAAU,aAAa;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,WAAW,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAgB7D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { K as p, a as s } from "../../../KpiCards-D4Cy8CLT.js";
1
+ import { K as p, a as s } from "../../../KpiCards-Bjsd4bSz.js";
2
2
  export {
3
3
  p as KpiCard,
4
4
  s as KpiCards
@@ -2,4 +2,5 @@ export * from "./cards";
2
2
  export * from "./inputs";
3
3
  export * from "./states";
4
4
  export * from "./navbar";
5
+ export * from "./theme";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,13 +1,15 @@
1
- import { K as o, a as t } from "../../KpiCards-D4Cy8CLT.js";
2
- import { S as p } from "../../SearchInput-LIey3bo9.js";
3
- import { E as S, L as d } from "../../LoadingState-C0uS6aGT.js";
4
- import { S as i, T as m } from "../../Topbar-CtXJ337W.js";
1
+ import { K as o, a as e } from "../../KpiCards-Bjsd4bSz.js";
2
+ import { S as p } from "../../SearchInput-Bu4wb0gI.js";
3
+ import { E as S, L as m } from "../../LoadingState-C0uS6aGT.js";
4
+ import { S as x, T as d } from "../../Topbar-CFALRIJn.js";
5
+ import { T } from "../../ThemeSelector-DMgBLEYm.js";
5
6
  export {
6
7
  S as ErrorState,
7
8
  o as KpiCard,
8
- t as KpiCards,
9
- d as LoadingState,
9
+ e as KpiCards,
10
+ m as LoadingState,
10
11
  p as SearchInput,
11
- i as Sidebar,
12
- m as Topbar
12
+ x as Sidebar,
13
+ T as ThemeSelector,
14
+ d as Topbar
13
15
  };
@@ -1,4 +1,4 @@
1
- import { S as e } from "../../../SearchInput-LIey3bo9.js";
1
+ import { S as e } from "../../../SearchInput-Bu4wb0gI.js";
2
2
  export {
3
3
  e as SearchInput
4
4
  };
@@ -1,4 +1,4 @@
1
- import { S as o, T as b } from "../../../Topbar-CtXJ337W.js";
1
+ import { S as o, T as b } from "../../../Topbar-CFALRIJn.js";
2
2
  export {
3
3
  o as Sidebar,
4
4
  b as Topbar
@@ -0,0 +1,8 @@
1
+ import { type ThemeOption } from "@/hooks/ui/useTheme";
2
+ interface ThemeSelectorProps {
3
+ themeOptions: readonly ThemeOption[];
4
+ variant?: "select" | "mini";
5
+ }
6
+ export declare function ThemeSelector({ themeOptions, variant }: ThemeSelectorProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ThemeSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/core/theme/ThemeSelector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjE,UAAU,kBAAkB;IAC1B,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7B;AAED,wBAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,OAAkB,EAAE,EAAE,kBAAkB,2CAmDrF"}
@@ -0,0 +1,3 @@
1
+ export { ThemeSelector } from "./ThemeSelector";
2
+ export type { ThemeOption } from "@/hooks/ui/useTheme";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/core/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { T as r } from "../../../ThemeSelector-DMgBLEYm.js";
2
+ export {
3
+ r as ThemeSelector
4
+ };
@@ -1,37 +1,48 @@
1
- import { K as r, a as t } from "../KpiCards-D4Cy8CLT.js";
2
- import { S as e } from "../SearchInput-LIey3bo9.js";
3
- import { E as p, L as d } from "../LoadingState-C0uS6aGT.js";
4
- import { S as T, T as C } from "../Topbar-CtXJ337W.js";
5
- import { A as l, a as m, b, C as x, c, d as S, e as A, f as g, g as u, I as B, T as D, h as I, i as K, j as V, k as h, l as E, m as L } from "../toast-B6CC_ory.js";
6
- import { B as k, b as v } from "../index-BNCR478R.js";
7
- import { B as F, b as H } from "../badge-Cj2EQgcL.js";
1
+ import { K as t, a as r } from "../KpiCards-Bjsd4bSz.js";
2
+ import { S as o } from "../SearchInput-Bu4wb0gI.js";
3
+ import { E as p, L as l } from "../LoadingState-C0uS6aGT.js";
4
+ import { S as c, T as d } from "../Topbar-CFALRIJn.js";
5
+ import { T as n } from "../ThemeSelector-DMgBLEYm.js";
6
+ import { A as C, a as f, b, C as x, c as g, d as u, e as A, f as B, g as I, I as V, T as h, h as D, i as K, j as L, k as E, l as j, m as k } from "../toast-BypnW71k.js";
7
+ import { B as w, b as F } from "../index-BQOmHRsD.js";
8
+ import { B as H, b as P } from "../badge-C4pCH7IL.js";
9
+ import { S as y, a as z, b as J, c as M, d as N, e as O, f as Q, g as R } from "../select-CdiR6cO0.js";
8
10
  export {
9
- l as Alert,
10
- m as AlertDescription,
11
+ C as Alert,
12
+ f as AlertDescription,
11
13
  b as AlertTitle,
12
- F as Badge,
13
- k as Button,
14
+ H as Badge,
15
+ w as Button,
14
16
  x as Card,
15
- c as CardContent,
16
- S as CardDescription,
17
+ g as CardContent,
18
+ u as CardDescription,
17
19
  A as CardFooter,
18
- g as CardHeader,
19
- u as CardTitle,
20
+ B as CardHeader,
21
+ I as CardTitle,
20
22
  p as ErrorState,
21
- B as Input,
22
- r as KpiCard,
23
- t as KpiCards,
24
- d as LoadingState,
25
- e as SearchInput,
26
- T as Sidebar,
27
- D as Toast,
28
- I as ToastAction,
23
+ V as Input,
24
+ t as KpiCard,
25
+ r as KpiCards,
26
+ l as LoadingState,
27
+ o as SearchInput,
28
+ y as Select,
29
+ z as SelectContent,
30
+ J as SelectGroup,
31
+ M as SelectItem,
32
+ N as SelectLabel,
33
+ O as SelectSeparator,
34
+ Q as SelectTrigger,
35
+ R as SelectValue,
36
+ c as Sidebar,
37
+ n as ThemeSelector,
38
+ h as Toast,
39
+ D as ToastAction,
29
40
  K as ToastClose,
30
- V as ToastDescription,
31
- h as ToastProvider,
32
- E as ToastTitle,
33
- L as ToastViewport,
34
- C as Topbar,
35
- H as badgeVariants,
36
- v as buttonVariants
41
+ L as ToastDescription,
42
+ E as ToastProvider,
43
+ j as ToastTitle,
44
+ k as ToastViewport,
45
+ d as Topbar,
46
+ P as badgeVariants,
47
+ F as buttonVariants
37
48
  };
@@ -7,4 +7,5 @@ export type { BadgeProps } from "./badge";
7
7
  export { Input } from "./input";
8
8
  export { Toast, ToastProvider, ToastViewport, ToastTitle, ToastDescription, ToastClose, ToastAction } from "./toast";
9
9
  export type { ToastProps, ToastActionElement } from "./toast";
10
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator } from "./select";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -1,26 +1,35 @@
1
- import { A as t, a as o, b as r, C as e, c as i, d, e as n, f as T, g as C, I as l, T as p, h as b, i as c, j as A, k as f, l as m, m as B } from "../../toast-B6CC_ory.js";
2
- import { B as u, b as x } from "../../index-BNCR478R.js";
3
- import { B as V, b as I } from "../../badge-Cj2EQgcL.js";
1
+ import { A as t, a as s, b as r, C as o, c as l, d as i, e as c, f as n, g as d, I as T, T as p, h as C, i as S, j as b, k as f, l as g, m } from "../../toast-BypnW71k.js";
2
+ import { B as A, b as x } from "../../index-BQOmHRsD.js";
3
+ import { B as V, b as D } from "../../badge-C4pCH7IL.js";
4
+ import { S as h, a as j, b as k, c as v, d as w, e as F, f as G, g as H } from "../../select-CdiR6cO0.js";
4
5
  export {
5
6
  t as Alert,
6
- o as AlertDescription,
7
+ s as AlertDescription,
7
8
  r as AlertTitle,
8
9
  V as Badge,
9
- u as Button,
10
- e as Card,
11
- i as CardContent,
12
- d as CardDescription,
13
- n as CardFooter,
14
- T as CardHeader,
15
- C as CardTitle,
16
- l as Input,
10
+ A as Button,
11
+ o as Card,
12
+ l as CardContent,
13
+ i as CardDescription,
14
+ c as CardFooter,
15
+ n as CardHeader,
16
+ d as CardTitle,
17
+ T as Input,
18
+ h as Select,
19
+ j as SelectContent,
20
+ k as SelectGroup,
21
+ v as SelectItem,
22
+ w as SelectLabel,
23
+ F as SelectSeparator,
24
+ G as SelectTrigger,
25
+ H as SelectValue,
17
26
  p as Toast,
18
- b as ToastAction,
19
- c as ToastClose,
20
- A as ToastDescription,
27
+ C as ToastAction,
28
+ S as ToastClose,
29
+ b as ToastDescription,
21
30
  f as ToastProvider,
22
- m as ToastTitle,
23
- B as ToastViewport,
24
- I as badgeVariants,
31
+ g as ToastTitle,
32
+ m as ToastViewport,
33
+ D as badgeVariants,
25
34
  x as buttonVariants
26
35
  };
@@ -0,0 +1,14 @@
1
+ import * as SelectPrimitive from "@radix-ui/react-select";
2
+ import * as React from "react";
3
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton };
14
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,WAAW,yGAAwB,CAAC;AAE1C,QAAA,MAAM,WAAW,0GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,oKAgBlB,CAAC;AAGF,QAAA,MAAM,oBAAoB,qKAMzB,CAAC;AAGF,QAAA,MAAM,sBAAsB,uKAO1B,CAAC;AAGH,QAAA,MAAM,aAAa,8JAwBlB,CAAC;AAGF,QAAA,MAAM,WAAW,4JAEhB,CAAC;AAGF,QAAA,MAAM,UAAU,2JAkBf,CAAC;AAGF,QAAA,MAAM,eAAe,gKAEpB,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -2,4 +2,6 @@ export { useMobile } from "./ui/useMobile";
2
2
  export { useNotifications } from "./ui/useNotifications";
3
3
  export type { UseNotificationsResult } from "./ui/useNotifications";
4
4
  export { useToast, toast } from "./ui/useToast";
5
+ export { useTheme } from "./ui/useTheme";
6
+ export type { ThemeOption } from "./ui/useTheme";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}