7k-design-system 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import { createContext as e, forwardRef as t, useCallback as n, useContext as r, useEffect as i, useId as a, useRef as o, useState as s } from "react";
2
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
1
+ import { createContext as e, forwardRef as t, useCallback as n, useContext as r, useEffect as i, useId as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
2
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
3
3
  //#region src/react/components/Button.tsx
4
- var u = t(({ children: e, variant: t = "primary", size: n = "md", disabled: r = !1, loading: i = !1, onClick: a, type: o = "button", className: s = "", style: l, "aria-label": u, "aria-describedby": d, ...f }, p) => {
4
+ var d = t(({ children: e, variant: t = "primary", size: n = "md", disabled: r = !1, loading: i = !1, onClick: a, type: o = "button", className: s = "", style: c, "aria-label": u, "aria-describedby": d, ...f }, p) => {
5
5
  let m = n === "sm" ? "btn-sm" : n === "lg" ? "btn-lg" : "", h = [
6
6
  "btn",
7
7
  `btn-${t}`,
@@ -9,11 +9,11 @@ var u = t(({ children: e, variant: t = "primary", size: n = "md", disabled: r =
9
9
  i ? "btn-loading" : "",
10
10
  s
11
11
  ].filter(Boolean).join(" ");
12
- return /* @__PURE__ */ c("button", {
12
+ return /* @__PURE__ */ l("button", {
13
13
  ref: p,
14
14
  type: o,
15
15
  className: h,
16
- style: l,
16
+ style: c,
17
17
  disabled: r || i,
18
18
  onClick: a,
19
19
  "aria-label": u,
@@ -23,25 +23,25 @@ var u = t(({ children: e, variant: t = "primary", size: n = "md", disabled: r =
23
23
  children: e
24
24
  });
25
25
  });
26
- u.displayName = "Button";
26
+ d.displayName = "Button";
27
27
  //#endregion
28
28
  //#region src/react/components/Input.tsx
29
- var d = t(({ type: e = "text", placeholder: t, disabled: n = !1, value: r, onChange: i, className: o = "", style: s, id: u, label: d, error: f, "aria-describedby": p, ...m }, h) => {
30
- let g = a(), _ = u ?? g, v = f ? `${_}-error` : void 0, y = [p, v].filter(Boolean).join(" ") || void 0, b = [
29
+ var f = t(({ type: e = "text", placeholder: t, disabled: n = !1, value: r, onChange: i, className: o = "", style: s, id: c, label: d, error: f, "aria-describedby": p, ...m }, h) => {
30
+ let g = a(), _ = c ?? g, v = f ? `${_}-error` : void 0, y = [p, v].filter(Boolean).join(" ") || void 0, b = [
31
31
  "input",
32
32
  f ? "error" : "",
33
33
  o
34
34
  ].filter(Boolean).join(" ");
35
- return /* @__PURE__ */ l("div", {
35
+ return /* @__PURE__ */ u("div", {
36
36
  className: "form-group",
37
37
  style: s,
38
38
  children: [
39
- d && /* @__PURE__ */ c("label", {
39
+ d && /* @__PURE__ */ l("label", {
40
40
  htmlFor: _,
41
41
  className: "form-label",
42
42
  children: d
43
43
  }),
44
- /* @__PURE__ */ c("input", {
44
+ /* @__PURE__ */ l("input", {
45
45
  ref: h,
46
46
  id: _,
47
47
  type: e,
@@ -54,7 +54,7 @@ var d = t(({ type: e = "text", placeholder: t, disabled: n = !1, value: r, onCha
54
54
  "aria-describedby": y,
55
55
  ...m
56
56
  }),
57
- f && /* @__PURE__ */ c("span", {
57
+ f && /* @__PURE__ */ l("span", {
58
58
  id: v,
59
59
  className: "field-error",
60
60
  role: "alert",
@@ -63,16 +63,16 @@ var d = t(({ type: e = "text", placeholder: t, disabled: n = !1, value: r, onCha
63
63
  ]
64
64
  });
65
65
  });
66
- d.displayName = "Input";
66
+ f.displayName = "Input";
67
67
  //#endregion
68
68
  //#region src/react/components/Badge.tsx
69
- var f = t(({ children: e, variant: t = "default", role: n = "status", className: r = "", style: i, ...a }, o) => {
69
+ var p = t(({ children: e, variant: t = "default", role: n = "status", className: r = "", style: i, ...a }, o) => {
70
70
  let s = [
71
71
  "badge",
72
72
  t === "default" ? "" : `badge-${t}`,
73
73
  r
74
74
  ].filter(Boolean).join(" ");
75
- return /* @__PURE__ */ c("span", {
75
+ return /* @__PURE__ */ l("span", {
76
76
  ref: o,
77
77
  className: s,
78
78
  style: i,
@@ -81,162 +81,162 @@ var f = t(({ children: e, variant: t = "default", role: n = "status", className:
81
81
  children: e
82
82
  });
83
83
  });
84
- f.displayName = "Badge";
84
+ p.displayName = "Badge";
85
85
  //#endregion
86
86
  //#region src/react/components/Icon.tsx
87
- var p = {
88
- icon: /* @__PURE__ */ l("svg", {
87
+ var m = {
88
+ icon: /* @__PURE__ */ u("svg", {
89
89
  xmlns: "http://www.w3.org/2000/svg",
90
90
  viewBox: "0 0 24 24",
91
91
  fill: "none",
92
92
  stroke: "currentColor",
93
93
  strokeWidth: "2",
94
- children: [/* @__PURE__ */ c("circle", {
94
+ children: [/* @__PURE__ */ l("circle", {
95
95
  cx: "12",
96
96
  cy: "12",
97
97
  r: "10"
98
- }), /* @__PURE__ */ c("path", { d: "M12 6v6l4 2" })]
98
+ }), /* @__PURE__ */ l("path", { d: "M12 6v6l4 2" })]
99
99
  }),
100
- close: /* @__PURE__ */ c("svg", {
100
+ close: /* @__PURE__ */ l("svg", {
101
101
  xmlns: "http://www.w3.org/2000/svg",
102
102
  viewBox: "0 0 24 24",
103
103
  fill: "none",
104
104
  stroke: "currentColor",
105
105
  strokeWidth: "2",
106
- children: /* @__PURE__ */ c("path", { d: "M18 6L6 18M6 6l12 12" })
106
+ children: /* @__PURE__ */ l("path", { d: "M18 6L6 18M6 6l12 12" })
107
107
  }),
108
- "chevron-down": /* @__PURE__ */ c("svg", {
108
+ "chevron-down": /* @__PURE__ */ l("svg", {
109
109
  xmlns: "http://www.w3.org/2000/svg",
110
110
  viewBox: "0 0 24 24",
111
111
  fill: "none",
112
112
  stroke: "currentColor",
113
113
  strokeWidth: "2",
114
- children: /* @__PURE__ */ c("path", { d: "M6 9l6 6 6-6" })
114
+ children: /* @__PURE__ */ l("path", { d: "M6 9l6 6 6-6" })
115
115
  }),
116
- "chevron-up": /* @__PURE__ */ c("svg", {
116
+ "chevron-up": /* @__PURE__ */ l("svg", {
117
117
  xmlns: "http://www.w3.org/2000/svg",
118
118
  viewBox: "0 0 24 24",
119
119
  fill: "none",
120
120
  stroke: "currentColor",
121
121
  strokeWidth: "2",
122
- children: /* @__PURE__ */ c("path", { d: "M6 15l6-6 6 6" })
122
+ children: /* @__PURE__ */ l("path", { d: "M6 15l6-6 6 6" })
123
123
  }),
124
- "chevron-left": /* @__PURE__ */ c("svg", {
124
+ "chevron-left": /* @__PURE__ */ l("svg", {
125
125
  xmlns: "http://www.w3.org/2000/svg",
126
126
  viewBox: "0 0 24 24",
127
127
  fill: "none",
128
128
  stroke: "currentColor",
129
129
  strokeWidth: "2",
130
- children: /* @__PURE__ */ c("path", { d: "M15 18l-6-6 6-6" })
130
+ children: /* @__PURE__ */ l("path", { d: "M15 18l-6-6 6-6" })
131
131
  }),
132
- "chevron-right": /* @__PURE__ */ c("svg", {
132
+ "chevron-right": /* @__PURE__ */ l("svg", {
133
133
  xmlns: "http://www.w3.org/2000/svg",
134
134
  viewBox: "0 0 24 24",
135
135
  fill: "none",
136
136
  stroke: "currentColor",
137
137
  strokeWidth: "2",
138
- children: /* @__PURE__ */ c("path", { d: "M9 18l6-6-6-6" })
138
+ children: /* @__PURE__ */ l("path", { d: "M9 18l6-6-6-6" })
139
139
  }),
140
- check: /* @__PURE__ */ c("svg", {
140
+ check: /* @__PURE__ */ l("svg", {
141
141
  xmlns: "http://www.w3.org/2000/svg",
142
142
  viewBox: "0 0 24 24",
143
143
  fill: "none",
144
144
  stroke: "currentColor",
145
145
  strokeWidth: "2",
146
- children: /* @__PURE__ */ c("path", { d: "M20 6L9 17l-5-5" })
146
+ children: /* @__PURE__ */ l("path", { d: "M20 6L9 17l-5-5" })
147
147
  }),
148
- minus: /* @__PURE__ */ c("svg", {
148
+ minus: /* @__PURE__ */ l("svg", {
149
149
  xmlns: "http://www.w3.org/2000/svg",
150
150
  viewBox: "0 0 24 24",
151
151
  fill: "none",
152
152
  stroke: "currentColor",
153
153
  strokeWidth: "2",
154
- children: /* @__PURE__ */ c("path", { d: "M5 12h14" })
154
+ children: /* @__PURE__ */ l("path", { d: "M5 12h14" })
155
155
  }),
156
- plus: /* @__PURE__ */ c("svg", {
156
+ plus: /* @__PURE__ */ l("svg", {
157
157
  xmlns: "http://www.w3.org/2000/svg",
158
158
  viewBox: "0 0 24 24",
159
159
  fill: "none",
160
160
  stroke: "currentColor",
161
161
  strokeWidth: "2",
162
- children: /* @__PURE__ */ c("path", { d: "M12 5v14M5 12h14" })
162
+ children: /* @__PURE__ */ l("path", { d: "M12 5v14M5 12h14" })
163
163
  }),
164
- menu: /* @__PURE__ */ c("svg", {
164
+ menu: /* @__PURE__ */ l("svg", {
165
165
  xmlns: "http://www.w3.org/2000/svg",
166
166
  viewBox: "0 0 24 24",
167
167
  fill: "none",
168
168
  stroke: "currentColor",
169
169
  strokeWidth: "2",
170
- children: /* @__PURE__ */ c("path", { d: "M3 12h18M3 6h18M3 18h18" })
170
+ children: /* @__PURE__ */ l("path", { d: "M3 12h18M3 6h18M3 18h18" })
171
171
  }),
172
- sun: /* @__PURE__ */ l("svg", {
172
+ sun: /* @__PURE__ */ u("svg", {
173
173
  xmlns: "http://www.w3.org/2000/svg",
174
174
  viewBox: "0 0 24 24",
175
175
  fill: "none",
176
176
  stroke: "currentColor",
177
177
  strokeWidth: "2",
178
- children: [/* @__PURE__ */ c("circle", {
178
+ children: [/* @__PURE__ */ l("circle", {
179
179
  cx: "12",
180
180
  cy: "12",
181
181
  r: "5"
182
- }), /* @__PURE__ */ c("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })]
182
+ }), /* @__PURE__ */ l("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })]
183
183
  }),
184
- moon: /* @__PURE__ */ c("svg", {
184
+ moon: /* @__PURE__ */ l("svg", {
185
185
  xmlns: "http://www.w3.org/2000/svg",
186
186
  viewBox: "0 0 24 24",
187
187
  fill: "none",
188
188
  stroke: "currentColor",
189
189
  strokeWidth: "2",
190
- children: /* @__PURE__ */ c("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z" })
190
+ children: /* @__PURE__ */ l("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z" })
191
191
  }),
192
- info: /* @__PURE__ */ l("svg", {
192
+ info: /* @__PURE__ */ u("svg", {
193
193
  xmlns: "http://www.w3.org/2000/svg",
194
194
  viewBox: "0 0 24 24",
195
195
  fill: "none",
196
196
  stroke: "currentColor",
197
197
  strokeWidth: "2",
198
- children: [/* @__PURE__ */ c("circle", {
198
+ children: [/* @__PURE__ */ l("circle", {
199
199
  cx: "12",
200
200
  cy: "12",
201
201
  r: "10"
202
- }), /* @__PURE__ */ c("path", { d: "M12 16v-4M12 8h.01" })]
202
+ }), /* @__PURE__ */ l("path", { d: "M12 16v-4M12 8h.01" })]
203
203
  }),
204
- warning: /* @__PURE__ */ l("svg", {
204
+ warning: /* @__PURE__ */ u("svg", {
205
205
  xmlns: "http://www.w3.org/2000/svg",
206
206
  viewBox: "0 0 24 24",
207
207
  fill: "none",
208
208
  stroke: "currentColor",
209
209
  strokeWidth: "2",
210
- children: [/* @__PURE__ */ c("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" }), /* @__PURE__ */ c("path", { d: "M12 9v4M12 17h.01" })]
210
+ children: [/* @__PURE__ */ l("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" }), /* @__PURE__ */ l("path", { d: "M12 9v4M12 17h.01" })]
211
211
  }),
212
- danger: /* @__PURE__ */ l("svg", {
212
+ danger: /* @__PURE__ */ u("svg", {
213
213
  xmlns: "http://www.w3.org/2000/svg",
214
214
  viewBox: "0 0 24 24",
215
215
  fill: "none",
216
216
  stroke: "currentColor",
217
217
  strokeWidth: "2",
218
- children: [/* @__PURE__ */ c("circle", {
218
+ children: [/* @__PURE__ */ l("circle", {
219
219
  cx: "12",
220
220
  cy: "12",
221
221
  r: "10"
222
- }), /* @__PURE__ */ c("path", { d: "M15 9l-6 6M9 9l6 6" })]
222
+ }), /* @__PURE__ */ l("path", { d: "M15 9l-6 6M9 9l6 6" })]
223
223
  }),
224
- success: /* @__PURE__ */ l("svg", {
224
+ success: /* @__PURE__ */ u("svg", {
225
225
  xmlns: "http://www.w3.org/2000/svg",
226
226
  viewBox: "0 0 24 24",
227
227
  fill: "none",
228
228
  stroke: "currentColor",
229
229
  strokeWidth: "2",
230
- children: [/* @__PURE__ */ c("circle", {
230
+ children: [/* @__PURE__ */ l("circle", {
231
231
  cx: "12",
232
232
  cy: "12",
233
233
  r: "10"
234
- }), /* @__PURE__ */ c("path", { d: "M8 12l3 3 5-6" })]
234
+ }), /* @__PURE__ */ l("path", { d: "M8 12l3 3 5-6" })]
235
235
  })
236
236
  };
237
- function m({ name: e, size: t = 24, className: n = "", style: r }) {
238
- let i = p[e];
239
- return i ? /* @__PURE__ */ c("span", {
237
+ function h({ name: e, size: t = 24, className: n = "", style: r }) {
238
+ let i = m[e];
239
+ return i ? /* @__PURE__ */ l("span", {
240
240
  className: n,
241
241
  style: {
242
242
  display: "inline-flex",
@@ -250,19 +250,19 @@ function m({ name: e, size: t = 24, className: n = "", style: r }) {
250
250
  }
251
251
  //#endregion
252
252
  //#region src/react/theme/ThemeContext.tsx
253
- var h = e(void 0);
253
+ var g = e(void 0);
254
254
  //#endregion
255
255
  //#region src/react/theme/useTheme.ts
256
- function g() {
257
- let e = r(h);
256
+ function _() {
257
+ let e = r(g);
258
258
  if (!e) throw Error("useTheme must be used within a ThemeProvider");
259
259
  return e;
260
260
  }
261
261
  //#endregion
262
262
  //#region src/react/components/ThemeToggle.tsx
263
- function _({ className: e = "" }) {
264
- let { theme: t, toggleTheme: n } = g(), r = t === "dark";
265
- return /* @__PURE__ */ c("button", {
263
+ function v({ className: e = "" }) {
264
+ let { theme: t, toggleTheme: n } = _(), r = t === "dark";
265
+ return /* @__PURE__ */ l("button", {
266
266
  onClick: n,
267
267
  className: `btn theme-toggle ${e}`,
268
268
  style: {
@@ -272,7 +272,7 @@ function _({ className: e = "" }) {
272
272
  },
273
273
  title: r ? "Switch to light theme" : "Switch to dark theme",
274
274
  "aria-label": r ? "Switch to light theme" : "Switch to dark theme",
275
- children: /* @__PURE__ */ c(m, {
275
+ children: /* @__PURE__ */ l(h, {
276
276
  name: r ? "sun" : "moon",
277
277
  size: 14
278
278
  })
@@ -280,21 +280,21 @@ function _({ className: e = "" }) {
280
280
  }
281
281
  //#endregion
282
282
  //#region src/react/components/Card.tsx
283
- var v = {
283
+ var y = {
284
284
  halftone: "card-halftone",
285
285
  scanline: "card-scanline",
286
286
  noise: "card-noise",
287
287
  crosshatch: "card-crosshatch",
288
288
  dots: "card-dots",
289
289
  texture: "card-textured"
290
- }, y = t(({ children: e, texture: t, hover: n = !0, className: r = "", style: i, ...a }, o) => {
290
+ }, b = t(({ children: e, texture: t, hover: n = !0, className: r = "", style: i, ...a }, o) => {
291
291
  let s = [
292
292
  "card",
293
- t ? v[t] || v.texture : "",
293
+ t ? y[t] || y.texture : "",
294
294
  n ? "" : "card-static",
295
295
  r
296
296
  ].filter(Boolean).join(" ");
297
- return /* @__PURE__ */ c("div", {
297
+ return /* @__PURE__ */ l("div", {
298
298
  ref: o,
299
299
  className: s,
300
300
  style: i,
@@ -302,32 +302,32 @@ var v = {
302
302
  children: e
303
303
  });
304
304
  });
305
- y.displayName = "Card";
306
- var b = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ c("div", {
305
+ b.displayName = "Card";
306
+ var x = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ l("div", {
307
307
  ref: i,
308
308
  className: `card-header ${t}`,
309
309
  style: n,
310
310
  ...r,
311
311
  children: e
312
312
  }));
313
- b.displayName = "CardHeader";
314
- var x = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ c("div", {
313
+ x.displayName = "CardHeader";
314
+ var S = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ l("div", {
315
315
  ref: i,
316
316
  className: `card-body ${t}`,
317
317
  style: n,
318
318
  ...r,
319
319
  children: e
320
320
  }));
321
- x.displayName = "CardBody";
321
+ S.displayName = "CardBody";
322
322
  //#endregion
323
323
  //#region src/react/components/Modal.tsx
324
- var S = {
324
+ var C = {
325
325
  halftone: "modal-halftone",
326
326
  scanline: "modal-scanline",
327
327
  noise: "modal-noise",
328
328
  texture: "modal-textured"
329
- }, C = t(({ children: e, open: t = !1, onClose: n, texture: r, role: a = "dialog", "aria-labelledby": s, "aria-describedby": l, className: u = "", style: d, ...f }, p) => {
330
- let m = o(null), h = o(null);
329
+ }, w = t(({ children: e, open: t = !1, onClose: n, texture: r, role: a = "dialog", "aria-labelledby": o, "aria-describedby": c, className: u = "", style: d, ...f }, p) => {
330
+ let m = s(null), h = s(null);
331
331
  if (i(() => {
332
332
  if (t) {
333
333
  h.current = document.activeElement, m.current?.focus(), document.body.style.overflow = "hidden";
@@ -356,10 +356,10 @@ var S = {
356
356
  }, [t, n]), !t) return null;
357
357
  let g = [
358
358
  "modal",
359
- r ? S[r] || S.texture : "",
359
+ r ? C[r] || C.texture : "",
360
360
  u
361
361
  ].filter(Boolean).join(" ");
362
- return /* @__PURE__ */ c("div", {
362
+ return /* @__PURE__ */ l("div", {
363
363
  className: "modal-backdrop",
364
364
  onClick: n,
365
365
  role: "presentation",
@@ -371,7 +371,7 @@ var S = {
371
371
  background: "rgba(0,0,0,0.7)",
372
372
  zIndex: "var(--z-modal)"
373
373
  },
374
- children: /* @__PURE__ */ c("div", {
374
+ children: /* @__PURE__ */ l("div", {
375
375
  ref: (e) => {
376
376
  m.current = e, typeof p == "function" ? p(e) : p && (p.current = e);
377
377
  },
@@ -379,8 +379,8 @@ var S = {
379
379
  style: d,
380
380
  role: a,
381
381
  "aria-modal": "true",
382
- "aria-labelledby": s,
383
- "aria-describedby": l,
382
+ "aria-labelledby": o,
383
+ "aria-describedby": c,
384
384
  tabIndex: -1,
385
385
  onClick: (e) => e.stopPropagation(),
386
386
  ...f,
@@ -388,31 +388,31 @@ var S = {
388
388
  })
389
389
  });
390
390
  });
391
- C.displayName = "Modal";
392
- var w = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ c("div", {
391
+ w.displayName = "Modal";
392
+ var T = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ l("div", {
393
393
  ref: i,
394
394
  className: `modal-header ${t}`,
395
395
  style: n,
396
396
  ...r,
397
397
  children: e
398
398
  }));
399
- w.displayName = "ModalHeader";
400
- var T = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ c("div", {
399
+ T.displayName = "ModalHeader";
400
+ var E = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ l("div", {
401
401
  ref: i,
402
402
  className: `modal-footer ${t}`,
403
403
  style: n,
404
404
  ...r,
405
405
  children: e
406
406
  }));
407
- T.displayName = "ModalFooter";
407
+ E.displayName = "ModalFooter";
408
408
  //#endregion
409
409
  //#region src/react/components/Drawer.tsx
410
- var E = {
410
+ var D = {
411
411
  halftone: "drawer-halftone",
412
412
  scanline: "drawer-scanline",
413
413
  texture: "drawer-textured"
414
- }, D = t(({ children: e, open: t = !1, onClose: n, side: r = "right", texture: a, role: s = "dialog", "aria-labelledby": l, className: u = "", style: d, ...f }, p) => {
415
- let m = o(null), h = o(null);
414
+ }, O = t(({ children: e, open: t = !1, onClose: n, side: r = "right", texture: a, role: o = "dialog", "aria-labelledby": c, className: u = "", style: d, ...f }, p) => {
415
+ let m = s(null), h = s(null);
416
416
  if (i(() => {
417
417
  if (t) {
418
418
  h.current = document.activeElement, m.current?.focus(), document.body.style.overflow = "hidden";
@@ -429,10 +429,10 @@ var E = {
429
429
  }, [t, n]), !t) return null;
430
430
  let g = [
431
431
  "drawer",
432
- a ? E[a] || E.texture : "",
432
+ a ? D[a] || D.texture : "",
433
433
  u
434
434
  ].filter(Boolean).join(" ");
435
- return /* @__PURE__ */ c("div", {
435
+ return /* @__PURE__ */ l("div", {
436
436
  className: "drawer-backdrop",
437
437
  onClick: n,
438
438
  role: "presentation",
@@ -444,15 +444,15 @@ var E = {
444
444
  background: "rgba(0,0,0,0.7)",
445
445
  zIndex: "var(--z-modal)"
446
446
  },
447
- children: /* @__PURE__ */ c("div", {
447
+ children: /* @__PURE__ */ l("div", {
448
448
  ref: (e) => {
449
449
  m.current = e, typeof p == "function" ? p(e) : p && (p.current = e);
450
450
  },
451
451
  className: g,
452
452
  style: d,
453
- role: s,
453
+ role: o,
454
454
  "aria-modal": "true",
455
- "aria-labelledby": l,
455
+ "aria-labelledby": c,
456
456
  tabIndex: -1,
457
457
  onClick: (e) => e.stopPropagation(),
458
458
  ...f,
@@ -460,10 +460,10 @@ var E = {
460
460
  })
461
461
  });
462
462
  });
463
- D.displayName = "Drawer";
463
+ O.displayName = "Drawer";
464
464
  //#endregion
465
465
  //#region src/react/components/Toast.tsx
466
- var O = {
466
+ var ee = {
467
467
  default: "",
468
468
  success: "toast-success",
469
469
  error: "toast-error",
@@ -472,29 +472,29 @@ var O = {
472
472
  }, k = {
473
473
  halftone: "toast-halftone",
474
474
  texture: "toast-textured"
475
- }, A = t(({ children: e, variant: t = "default", onDismiss: n, texture: r, role: i = "status", className: a = "", style: o, ...s }, u) => {
475
+ }, A = t(({ children: e, variant: t = "default", onDismiss: n, texture: r, role: i = "status", className: a = "", style: o, ...s }, c) => {
476
476
  let d = [
477
477
  "toast",
478
- O[t],
478
+ ee[t],
479
479
  r ? k[r] || k.texture : "",
480
480
  a
481
481
  ].filter(Boolean).join(" ");
482
- return /* @__PURE__ */ l("div", {
483
- ref: u,
482
+ return /* @__PURE__ */ u("div", {
483
+ ref: c,
484
484
  className: d,
485
485
  style: o,
486
486
  role: i,
487
487
  ...s,
488
488
  children: [
489
- /* @__PURE__ */ c("span", {
489
+ /* @__PURE__ */ l("span", {
490
490
  className: "toast-icon",
491
491
  "aria-hidden": "true"
492
492
  }),
493
- /* @__PURE__ */ c("span", {
493
+ /* @__PURE__ */ l("span", {
494
494
  className: "toast-content",
495
495
  children: e
496
496
  }),
497
- n && /* @__PURE__ */ c("button", {
497
+ n && /* @__PURE__ */ l("button", {
498
498
  className: "toast-dismiss",
499
499
  onClick: n,
500
500
  "aria-label": "Dismiss notification",
@@ -506,7 +506,7 @@ var O = {
506
506
  A.displayName = "Toast";
507
507
  //#endregion
508
508
  //#region src/react/components/Tooltip.tsx
509
- var ee = {
509
+ var te = {
510
510
  top: {
511
511
  bottom: "100%",
512
512
  left: "50%",
@@ -532,9 +532,9 @@ var ee = {
532
532
  marginRight: 8
533
533
  }
534
534
  };
535
- function te({ children: e, content: t, position: n = "top", className: r = "", style: i }) {
536
- let [a, u] = s(!1), d = o(null);
537
- return /* @__PURE__ */ l("span", {
535
+ function ne({ children: e, content: t, position: n = "top", className: r = "", style: i }) {
536
+ let [a, o] = c(!1), d = s(null);
537
+ return /* @__PURE__ */ u("span", {
538
538
  ref: d,
539
539
  className: `tooltip-trigger ${r}`,
540
540
  style: {
@@ -542,18 +542,18 @@ function te({ children: e, content: t, position: n = "top", className: r = "", s
542
542
  display: "inline-flex",
543
543
  ...i
544
544
  },
545
- onMouseEnter: () => u(!0),
546
- onMouseLeave: () => u(!1),
547
- onFocus: () => u(!0),
548
- onBlur: () => u(!1),
549
- children: [e, a && /* @__PURE__ */ c("span", {
545
+ onMouseEnter: () => o(!0),
546
+ onMouseLeave: () => o(!1),
547
+ onFocus: () => o(!0),
548
+ onBlur: () => o(!1),
549
+ children: [e, a && /* @__PURE__ */ l("span", {
550
550
  className: "tooltip",
551
551
  role: "tooltip",
552
552
  style: {
553
553
  position: "absolute",
554
554
  zIndex: "var(--z-overlay)",
555
555
  whiteSpace: "nowrap",
556
- ...ee[n]
556
+ ...te[n]
557
557
  },
558
558
  children: t
559
559
  })]
@@ -568,21 +568,21 @@ var j = {
568
568
  danger: "alert-danger",
569
569
  info: "alert-info"
570
570
  }, M = t(({ children: e, variant: t = "default", onClose: n, role: r = "alert", className: i = "", style: a, ...o }, s) => {
571
- let u = [
571
+ let c = [
572
572
  "alert",
573
573
  j[t],
574
574
  i
575
575
  ].filter(Boolean).join(" ");
576
- return /* @__PURE__ */ l("div", {
576
+ return /* @__PURE__ */ u("div", {
577
577
  ref: s,
578
- className: u,
578
+ className: c,
579
579
  style: a,
580
580
  role: r,
581
581
  ...o,
582
- children: [/* @__PURE__ */ c("span", {
582
+ children: [/* @__PURE__ */ l("span", {
583
583
  className: "alert-content",
584
584
  children: e
585
- }), n && /* @__PURE__ */ c("button", {
585
+ }), n && /* @__PURE__ */ l("button", {
586
586
  className: "alert-close",
587
587
  onClick: n,
588
588
  "aria-label": "Dismiss alert",
@@ -600,8 +600,8 @@ function P() {
600
600
  return e;
601
601
  }
602
602
  function F({ children: e, defaultIndex: t = 0, index: n, onChange: r, className: i = "", style: o }) {
603
- let [l, u] = s(t), d = n === void 0 ? l : n, f = a();
604
- return /* @__PURE__ */ c(N.Provider, {
603
+ let [s, u] = c(t), d = n === void 0 ? s : n, f = a();
604
+ return /* @__PURE__ */ l(N.Provider, {
605
605
  value: {
606
606
  selectedIndex: d,
607
607
  setSelectedIndex: (e) => {
@@ -609,7 +609,7 @@ function F({ children: e, defaultIndex: t = 0, index: n, onChange: r, className:
609
609
  },
610
610
  baseId: f
611
611
  },
612
- children: /* @__PURE__ */ c("div", {
612
+ children: /* @__PURE__ */ l("div", {
613
613
  className: `tabs ${i}`,
614
614
  style: o,
615
615
  children: e
@@ -617,7 +617,7 @@ function F({ children: e, defaultIndex: t = 0, index: n, onChange: r, className:
617
617
  });
618
618
  }
619
619
  function I({ children: e, className: t = "", style: n }) {
620
- return /* @__PURE__ */ c("div", {
620
+ return /* @__PURE__ */ l("div", {
621
621
  className: `tab-list ${t}`,
622
622
  role: "tablist",
623
623
  style: n,
@@ -625,16 +625,16 @@ function I({ children: e, className: t = "", style: n }) {
625
625
  });
626
626
  }
627
627
  function L({ children: e, index: t, className: n = "", style: r }) {
628
- let { selectedIndex: i, setSelectedIndex: a, baseId: o } = P(), s = t ?? 0, l = i === s;
629
- return /* @__PURE__ */ c("button", {
628
+ let { selectedIndex: i, setSelectedIndex: a, baseId: o } = P(), s = t ?? 0, c = i === s;
629
+ return /* @__PURE__ */ l("button", {
630
630
  role: "tab",
631
- "aria-selected": l,
631
+ "aria-selected": c,
632
632
  "aria-controls": `${o}-panel-${s}`,
633
633
  id: `${o}-tab-${s}`,
634
634
  "data-tab-index": s,
635
- className: `tab ${l ? "active" : ""} ${n}`,
635
+ className: `tab ${c ? "active" : ""} ${n}`,
636
636
  style: r,
637
- tabIndex: l ? 0 : -1,
637
+ tabIndex: c ? 0 : -1,
638
638
  onClick: () => a(s),
639
639
  onKeyDown: (e) => {
640
640
  let t = Array.from(e.currentTarget.closest("[role=\"tablist\"]")?.querySelectorAll("[role=\"tab\"]") ?? []), n = t.indexOf(e.currentTarget);
@@ -663,7 +663,7 @@ function L({ children: e, index: t, className: n = "", style: r }) {
663
663
  }
664
664
  function R({ children: e, index: t, className: n = "", style: r }) {
665
665
  let { selectedIndex: i, baseId: a } = P(), o = t ?? 0;
666
- return i === o ? /* @__PURE__ */ c("div", {
666
+ return i === o ? /* @__PURE__ */ l("div", {
667
667
  role: "tabpanel",
668
668
  id: `${a}-panel-${o}`,
669
669
  "aria-labelledby": `${a}-tab-${o}`,
@@ -681,7 +681,7 @@ var z = t(({ children: e, orientation: t = "horizontal", className: n = "", styl
681
681
  t === "vertical" ? "nav-vertical" : "nav-horizontal",
682
682
  n
683
683
  ].filter(Boolean).join(" ");
684
- return /* @__PURE__ */ c("nav", {
684
+ return /* @__PURE__ */ l("nav", {
685
685
  ref: a,
686
686
  className: o,
687
687
  style: r,
@@ -696,7 +696,7 @@ var B = t(({ children: e, active: t = !1, href: n = "#", className: r = "", styl
696
696
  t ? "active" : "",
697
697
  r
698
698
  ].filter(Boolean).join(" ");
699
- return /* @__PURE__ */ c("a", {
699
+ return /* @__PURE__ */ l("a", {
700
700
  ref: o,
701
701
  href: n,
702
702
  className: s,
@@ -714,11 +714,11 @@ var V = t(({ label: e, indeterminate: t = !1, className: n = "", style: r, check
714
714
  i ? "checked" : "",
715
715
  n
716
716
  ].filter(Boolean).join(" ");
717
- return /* @__PURE__ */ l("label", {
717
+ return /* @__PURE__ */ u("label", {
718
718
  className: s,
719
719
  style: r,
720
720
  children: [
721
- /* @__PURE__ */ c("input", {
721
+ /* @__PURE__ */ l("input", {
722
722
  ref: (e) => {
723
723
  e && (e.indeterminate = t), typeof o == "function" && o(e);
724
724
  },
@@ -727,11 +727,11 @@ var V = t(({ label: e, indeterminate: t = !1, className: n = "", style: r, check
727
727
  checked: i,
728
728
  ...a
729
729
  }),
730
- /* @__PURE__ */ c("span", {
730
+ /* @__PURE__ */ l("span", {
731
731
  className: "checkbox-box",
732
732
  "aria-hidden": "true"
733
733
  }),
734
- e && /* @__PURE__ */ c("span", {
734
+ e && /* @__PURE__ */ l("span", {
735
735
  className: "checkbox-text",
736
736
  children: e
737
737
  })
@@ -747,22 +747,22 @@ var H = t(({ label: e, className: t = "", style: n, checked: r, ...i }, a) => {
747
747
  r ? "selected" : "",
748
748
  t
749
749
  ].filter(Boolean).join(" ");
750
- return /* @__PURE__ */ l("label", {
750
+ return /* @__PURE__ */ u("label", {
751
751
  className: o,
752
752
  style: n,
753
753
  children: [
754
- /* @__PURE__ */ c("input", {
754
+ /* @__PURE__ */ l("input", {
755
755
  ref: a,
756
756
  type: "radio",
757
757
  className: "sr-only",
758
758
  checked: r,
759
759
  ...i
760
760
  }),
761
- /* @__PURE__ */ c("span", {
761
+ /* @__PURE__ */ l("span", {
762
762
  className: "radio-circle",
763
763
  "aria-hidden": "true"
764
764
  }),
765
- e && /* @__PURE__ */ c("span", {
765
+ e && /* @__PURE__ */ l("span", {
766
766
  className: "radio-text",
767
767
  children: e
768
768
  })
@@ -778,11 +778,11 @@ var U = t(({ label: e, checked: t, onChange: n, className: r = "", style: i, ...
778
778
  t ? "on" : "",
779
779
  r
780
780
  ].filter(Boolean).join(" ");
781
- return /* @__PURE__ */ l("label", {
781
+ return /* @__PURE__ */ u("label", {
782
782
  className: s,
783
783
  style: i,
784
784
  children: [
785
- /* @__PURE__ */ c("input", {
785
+ /* @__PURE__ */ l("input", {
786
786
  ref: o,
787
787
  type: "checkbox",
788
788
  role: "switch",
@@ -791,12 +791,12 @@ var U = t(({ label: e, checked: t, onChange: n, className: r = "", style: i, ...
791
791
  onChange: (e) => n?.(e.target.checked),
792
792
  ...a
793
793
  }),
794
- /* @__PURE__ */ c("span", {
794
+ /* @__PURE__ */ l("span", {
795
795
  className: "toggle-track",
796
796
  "aria-hidden": "true",
797
- children: /* @__PURE__ */ c("span", { className: "toggle-thumb" })
797
+ children: /* @__PURE__ */ l("span", { className: "toggle-thumb" })
798
798
  }),
799
- e && /* @__PURE__ */ c("span", {
799
+ e && /* @__PURE__ */ l("span", {
800
800
  className: "toggle-text",
801
801
  children: e
802
802
  })
@@ -806,7 +806,7 @@ var U = t(({ label: e, checked: t, onChange: n, className: r = "", style: i, ...
806
806
  U.displayName = "Toggle";
807
807
  //#endregion
808
808
  //#region src/react/components/Select.tsx
809
- var W = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ c("select", {
809
+ var W = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE__ */ l("select", {
810
810
  ref: i,
811
811
  className: `select-native ${t}`,
812
812
  style: n,
@@ -814,7 +814,7 @@ var W = t(({ children: e, className: t = "", style: n, ...r }, i) => /* @__PURE_
814
814
  children: e
815
815
  }));
816
816
  W.displayName = "Select";
817
- var G = t(({ className: e = "", style: t, ...n }, r) => /* @__PURE__ */ c("textarea", {
817
+ var G = t(({ className: e = "", style: t, ...n }, r) => /* @__PURE__ */ l("textarea", {
818
818
  ref: r,
819
819
  className: `textarea ${e}`,
820
820
  style: t,
@@ -838,7 +838,7 @@ function q({ children: e, texture: t = "halftone", opacity: n, animated: r = !1,
838
838
  r ? "texture-animated" : "",
839
839
  i
840
840
  ].filter(Boolean).join(" ");
841
- return /* @__PURE__ */ c("div", {
841
+ return /* @__PURE__ */ l("div", {
842
842
  className: o,
843
843
  style: {
844
844
  ...a,
@@ -889,7 +889,7 @@ function Y({ children: e, pattern: t = "grid", animated: n = !1, className: r =
889
889
  n ? a.animated : "",
890
890
  r
891
891
  ].filter(Boolean).join(" ");
892
- return /* @__PURE__ */ c("div", {
892
+ return /* @__PURE__ */ l("div", {
893
893
  className: o,
894
894
  style: i,
895
895
  children: e
@@ -903,7 +903,7 @@ function X({ size: e = "md", className: t = "", style: n }) {
903
903
  e === "sm" ? "spinner-sm" : e === "lg" ? "spinner-lg" : "",
904
904
  t
905
905
  ].filter(Boolean).join(" ");
906
- return /* @__PURE__ */ c("span", {
906
+ return /* @__PURE__ */ l("span", {
907
907
  role: "status",
908
908
  "aria-label": "Loading",
909
909
  className: r,
@@ -914,7 +914,7 @@ function X({ size: e = "md", className: t = "", style: n }) {
914
914
  //#region src/react/components/Skeleton.tsx
915
915
  function Z({ width: e, height: t = 16, className: n = "", style: r }) {
916
916
  let i = ["skeleton", n].filter(Boolean).join(" ");
917
- return /* @__PURE__ */ c("span", {
917
+ return /* @__PURE__ */ l("span", {
918
918
  "aria-hidden": "true",
919
919
  className: i,
920
920
  style: {
@@ -926,17 +926,17 @@ function Z({ width: e, height: t = 16, className: n = "", style: r }) {
926
926
  }
927
927
  //#endregion
928
928
  //#region src/react/components/Avatar.tsx
929
- function ne({ src: e, alt: t = "", initials: n, size: r = "md", circle: i = !1, className: a = "", style: o }) {
929
+ function re({ src: e, alt: t = "", initials: n, size: r = "md", circle: i = !1, className: a = "", style: o }) {
930
930
  let s = [
931
931
  "avatar",
932
932
  r === "sm" ? "avatar-sm" : r === "lg" ? "avatar-lg" : "",
933
933
  i ? "avatar-circle" : "",
934
934
  a
935
935
  ].filter(Boolean).join(" ");
936
- return /* @__PURE__ */ c("span", {
936
+ return /* @__PURE__ */ l("span", {
937
937
  className: s,
938
938
  style: o,
939
- children: e ? /* @__PURE__ */ c("img", {
939
+ children: e ? /* @__PURE__ */ l("img", {
940
940
  src: e,
941
941
  alt: t
942
942
  }) : n ?? t.slice(0, 2)
@@ -944,20 +944,20 @@ function ne({ src: e, alt: t = "", initials: n, size: r = "md", circle: i = !1,
944
944
  }
945
945
  //#endregion
946
946
  //#region src/react/components/Progress.tsx
947
- function re({ value: e, max: t = 100, variant: n, className: r = "", style: i }) {
947
+ function ie({ value: e, max: t = 100, variant: n, className: r = "", style: i }) {
948
948
  let a = Math.min(100, Math.max(0, e / t * 100)), o = [
949
949
  "progress",
950
950
  n ? `progress-${n}` : "",
951
951
  r
952
952
  ].filter(Boolean).join(" ");
953
- return /* @__PURE__ */ c("div", {
953
+ return /* @__PURE__ */ l("div", {
954
954
  role: "progressbar",
955
955
  "aria-valuenow": e,
956
956
  "aria-valuemin": 0,
957
957
  "aria-valuemax": t,
958
958
  className: o,
959
959
  style: i,
960
- children: /* @__PURE__ */ c("div", {
960
+ children: /* @__PURE__ */ l("div", {
961
961
  className: "progress-bar",
962
962
  style: { width: `${a}%` }
963
963
  })
@@ -965,13 +965,13 @@ function re({ value: e, max: t = 100, variant: n, className: r = "", style: i })
965
965
  }
966
966
  //#endregion
967
967
  //#region src/react/theme/projects.ts
968
- var ie = [
968
+ var ae = [
969
969
  "7kgroup",
970
970
  "7kminato",
971
971
  "inari"
972
- ], ae = "7k-project";
973
- function oe(e) {
974
- return typeof e == "string" && ie.includes(e);
972
+ ], oe = "7k-project";
973
+ function se(e) {
974
+ return typeof e == "string" && ae.includes(e);
975
975
  }
976
976
  //#endregion
977
977
  //#region src/react/theme/ProjectProvider.tsx
@@ -979,22 +979,22 @@ var Q = e({
979
979
  project: "7kgroup",
980
980
  setProject: () => {}
981
981
  });
982
- function se({ children: e, defaultProject: t = "7kgroup", storageKey: r = ae }) {
983
- let [a, o] = s(() => {
982
+ function ce({ children: e, defaultProject: t = "7kgroup", storageKey: r = oe }) {
983
+ let [a, o] = c(() => {
984
984
  if (typeof window > "u") return t;
985
985
  let e = localStorage.getItem(r);
986
- return oe(e) ? e : t;
986
+ return se(e) ? e : t;
987
987
  });
988
988
  i(() => {
989
989
  document.documentElement.setAttribute("data-project", a), localStorage.setItem(r, a);
990
990
  }, [a, r]);
991
- let l = n((e) => {
991
+ let s = n((e) => {
992
992
  o(e);
993
993
  }, []);
994
- return /* @__PURE__ */ c(Q.Provider, {
994
+ return /* @__PURE__ */ l(Q.Provider, {
995
995
  value: {
996
996
  project: a,
997
- setProject: l
997
+ setProject: s
998
998
  },
999
999
  children: e
1000
1000
  });
@@ -1006,7 +1006,7 @@ function $() {
1006
1006
  }
1007
1007
  //#endregion
1008
1008
  //#region src/react/components/ProjectIcon.tsx
1009
- var ce = [
1009
+ var le = [
1010
1010
  {
1011
1011
  id: "stroke-1",
1012
1012
  d: "M0 0 C5.31124964 0.603148 10.48703511 1.43913427 15.70556641 2.60717773 C16.43345084 2.76700921 17.16133528 2.92684069 17.91127682 3.09151554 C20.30879661 3.61883334 22.7051582 4.15123171 25.1015625 4.68359375 C26.80517693 5.05913826 28.50886821 5.43433426 30.21263123 5.8092041 C34.7498531 6.80842764 39.28611201 7.81195236 43.82210159 8.81675339 C51.28033334 10.46849791 58.73958849 12.11562021 66.19889259 13.76251411 C68.04881424 14.17100274 69.89869699 14.57966759 71.74854088 14.98850822 C83.02899365 17.48103879 94.31557491 19.93611433 105.62109375 22.3125 C107.79802212 22.77283097 109.97494311 23.23319683 112.15185547 23.69360352 C116.00363238 24.50743675 119.85834657 25.30477983 123.71533203 26.09350586 C125.3845784 26.44579716 127.05369683 26.79869553 128.72265625 27.15234375 C129.83367958 27.37150452 129.83367958 27.37150452 130.96714783 27.59509277 C132.96508789 28.02709961 132.96508789 28.02709961 136 29 C136.33 29.99 136.66 30.98 137 32 C129.29851279 34.38264441 121.53802394 36.48456869 113.73828125 38.51953125 C112.44506913 38.85815768 111.15188757 39.19690088 109.85873413 39.53575134 C106.39552234 40.44257301 102.93164295 41.3468178 99.467556 42.25028992 C97.30259146 42.81508493 95.13780023 43.38053979 92.97305298 43.94616699 C65.30194833 51.17500901 37.60064857 58.2829979 9.86859131 65.2746582 C6.95503557 66.01136955 4.04311103 66.75428619 1.13134766 67.49804688 C-0.69756438 67.96234502 -2.52650191 68.42654277 -4.35546875 68.890625 C-5.18959793 69.1051532 -6.02372711 69.3196814 -6.88313293 69.54071045 C-9.99400234 70.32656685 -12.77765467 71 -16 71 C-12.92929924 54.77377074 -9.40553704 38.66561099 -5.75 22.5625 C-5.52395081 21.56295288 -5.29790161 20.56340576 -5.06500244 19.53356934 C-4.41628654 16.66878444 -3.7636237 13.80493209 -3.109375 10.94140625 C-2.91163483 10.06849442 -2.71389465 9.19558258 -2.51016235 8.29621887 C-1.115605 2.23121 -1.115605 2.23121 0 0 Z ",
@@ -1042,18 +1042,18 @@ var ce = [
1042
1042
  d: "M0 0 C0 4.13451443 -2.1839165 6.12255584 -4.6875 9.1875 C-5.17790771 9.79972412 -5.66831543 10.41194824 -6.17358398 11.04272461 C-7.77390181 13.03551151 -9.38541085 15.01876258 -11 17 C-11.53979492 17.66354492 -12.07958984 18.32708984 -12.63574219 19.01074219 C-14.82765052 21.7045544 -17.02015927 24.39786833 -19.21582031 27.08862305 C-26.00991117 35.43318627 -32.61724571 43.92838421 -38.84375 52.70703125 C-39.41609375 53.34705078 -39.41609375 53.34705078 -40 54 C-40.66 54 -41.32 54 -42 54 C-41.36203146 48.57570043 -40.13437376 43.55378766 -38.56640625 38.328125 C-38.32840805 37.52389099 -38.09040985 36.71965698 -37.84519958 35.89105225 C-37.34414963 34.20284521 -36.84061571 32.51537359 -36.3347168 30.82861328 C-35.56130014 28.2459934 -34.79872799 25.66033926 -34.03710938 23.07421875 C-33.54752064 21.42949517 -33.05730802 19.78495715 -32.56640625 18.140625 C-32.3392543 17.3687384 -32.11210236 16.59685181 -31.87806702 15.80157471 C-30.87795999 12.49041113 -29.9327526 9.8991289 -28 7 C-25.20263672 6.0168457 -25.20263672 6.0168457 -21.6796875 5.17578125 C-19.79443359 4.71655273 -19.79443359 4.71655273 -17.87109375 4.24804688 C-16.53912224 3.93594285 -15.20709016 3.6240972 -13.875 3.3125 C-12.53489546 2.99001409 -11.19504774 2.66645895 -9.85546875 2.34179688 C-6.57269188 1.55062403 -3.28767054 0.7705379 0 0 Z ",
1043
1043
  transform: "translate(183,140)"
1044
1044
  }
1045
- ], le = {
1045
+ ], ue = {
1046
1046
  "7kgroup": null,
1047
1047
  "7kminato": "blob-3",
1048
1048
  inari: "blob-2"
1049
- }, ue = {
1049
+ }, de = {
1050
1050
  "7kgroup": "var(--accent-7kgroup)",
1051
1051
  "7kminato": "var(--accent-7kminato)",
1052
1052
  inari: "var(--accent-inari)"
1053
1053
  };
1054
- function de({ size: e = 32, className: t = "", style: n }) {
1055
- let { project: r } = $(), i = le[r];
1056
- return /* @__PURE__ */ c("svg", {
1054
+ function fe({ size: e = 32, className: t = "", style: n }) {
1055
+ let { project: r } = $(), i = ue[r];
1056
+ return /* @__PURE__ */ l("svg", {
1057
1057
  xmlns: "http://www.w3.org/2000/svg",
1058
1058
  viewBox: "0 0 208 207",
1059
1059
  width: e,
@@ -1063,17 +1063,17 @@ function de({ size: e = 32, className: t = "", style: n }) {
1063
1063
  role: "img",
1064
1064
  "aria-label": `${r} icon`,
1065
1065
  "data-project": r,
1066
- children: ce.map((e) => /* @__PURE__ */ c("path", {
1066
+ children: le.map((e) => /* @__PURE__ */ l("path", {
1067
1067
  d: e.d,
1068
1068
  transform: e.transform,
1069
- fill: e.id === i ? ue[r] : e.id.startsWith("stroke") ? "var(--accent-7kgroup)" : "var(--icon-blob)"
1069
+ fill: e.id === i ? de[r] : e.id.startsWith("stroke") ? "var(--accent-7kgroup)" : "var(--icon-blob)"
1070
1070
  }, e.id))
1071
1071
  });
1072
1072
  }
1073
1073
  //#endregion
1074
1074
  //#region src/react/components/Listbox.tsx
1075
- function fe({ options: e, value: t, onChange: n, placeholder: r = "Select…", disabled: u = !1, className: d = "", style: f }) {
1076
- let p = a(), [m, h] = s(!1), [g, _] = s(-1), v = o(null), y = e.find((e) => e.value === t);
1075
+ function pe({ options: e, value: t, onChange: n, placeholder: r = "Select…", disabled: o = !1, className: d = "", style: f }) {
1076
+ let p = a(), [m, h] = c(!1), [g, _] = c(-1), v = s(null), y = e.find((e) => e.value === t);
1077
1077
  i(() => {
1078
1078
  if (!m) return;
1079
1079
  let e = (e) => {
@@ -1091,12 +1091,12 @@ function fe({ options: e, value: t, onChange: n, placeholder: r = "Select…", d
1091
1091
  return r;
1092
1092
  });
1093
1093
  };
1094
- return /* @__PURE__ */ l("div", {
1094
+ return /* @__PURE__ */ u("div", {
1095
1095
  ref: v,
1096
1096
  className: `listbox ${d}`,
1097
1097
  style: f,
1098
1098
  onKeyDown: (n) => {
1099
- if (!u) {
1099
+ if (!o) {
1100
1100
  if (!m && [
1101
1101
  "Enter",
1102
1102
  " ",
@@ -1121,29 +1121,29 @@ function fe({ options: e, value: t, onChange: n, placeholder: r = "Select…", d
1121
1121
  }
1122
1122
  }
1123
1123
  },
1124
- children: [/* @__PURE__ */ l("button", {
1124
+ children: [/* @__PURE__ */ u("button", {
1125
1125
  type: "button",
1126
1126
  id: p,
1127
1127
  className: "listbox-trigger",
1128
1128
  "aria-haspopup": "listbox",
1129
1129
  "aria-expanded": m,
1130
- disabled: u,
1130
+ disabled: o,
1131
1131
  onClick: () => {
1132
1132
  _(Math.max(0, e.findIndex((e) => e.value === t))), h((e) => !e);
1133
1133
  },
1134
- children: [/* @__PURE__ */ c("span", {
1134
+ children: [/* @__PURE__ */ l("span", {
1135
1135
  className: y ? "" : "listbox-placeholder",
1136
1136
  children: y?.label ?? r
1137
- }), /* @__PURE__ */ c("span", {
1137
+ }), /* @__PURE__ */ l("span", {
1138
1138
  "aria-hidden": "true",
1139
1139
  className: `listbox-chevron${m ? " open" : ""}`,
1140
1140
  children: "▾"
1141
1141
  })]
1142
- }), m && /* @__PURE__ */ c("ul", {
1142
+ }), m && /* @__PURE__ */ l("ul", {
1143
1143
  role: "listbox",
1144
1144
  "aria-labelledby": p,
1145
1145
  className: "listbox-options",
1146
- children: e.map((e, n) => /* @__PURE__ */ c("li", {
1146
+ children: e.map((e, n) => /* @__PURE__ */ l("li", {
1147
1147
  role: "option",
1148
1148
  "aria-selected": e.value === t,
1149
1149
  "aria-disabled": e.disabled || void 0,
@@ -1161,26 +1161,26 @@ function fe({ options: e, value: t, onChange: n, placeholder: r = "Select…", d
1161
1161
  }
1162
1162
  //#endregion
1163
1163
  //#region src/react/components/Stat.tsx
1164
- function pe({ value: e, label: t, trend: n, accent: r = !1, status: i, className: a = "", style: o }) {
1164
+ function me({ value: e, label: t, trend: n, accent: r = !1, status: i, className: a = "", style: o }) {
1165
1165
  let s = [
1166
1166
  "stat",
1167
1167
  r ? "stat-accent" : "",
1168
1168
  i ? `stat-${i}` : "",
1169
1169
  a
1170
1170
  ].filter(Boolean).join(" ");
1171
- return /* @__PURE__ */ l("div", {
1171
+ return /* @__PURE__ */ u("div", {
1172
1172
  className: s,
1173
1173
  style: o,
1174
1174
  children: [
1175
- /* @__PURE__ */ c("span", {
1175
+ /* @__PURE__ */ l("span", {
1176
1176
  className: "stat-value",
1177
1177
  children: e
1178
1178
  }),
1179
- /* @__PURE__ */ c("span", {
1179
+ /* @__PURE__ */ l("span", {
1180
1180
  className: "stat-label",
1181
1181
  children: t
1182
1182
  }),
1183
- n != null && /* @__PURE__ */ c("span", {
1183
+ n != null && /* @__PURE__ */ l("span", {
1184
1184
  className: "stat-trend",
1185
1185
  children: n
1186
1186
  })
@@ -1189,25 +1189,25 @@ function pe({ value: e, label: t, trend: n, accent: r = !1, status: i, className
1189
1189
  }
1190
1190
  //#endregion
1191
1191
  //#region src/react/components/EmptyState.tsx
1192
- function me({ title: e, body: t, action: n, icon: r, className: i = "", style: a }) {
1192
+ function he({ title: e, body: t, action: n, icon: r, className: i = "", style: a }) {
1193
1193
  let o = ["empty", i].filter(Boolean).join(" ");
1194
- return /* @__PURE__ */ l("div", {
1194
+ return /* @__PURE__ */ u("div", {
1195
1195
  className: o,
1196
1196
  style: a,
1197
1197
  children: [
1198
- r == null ? null : /* @__PURE__ */ c("span", {
1198
+ r == null ? null : /* @__PURE__ */ l("span", {
1199
1199
  className: "empty-icon",
1200
1200
  children: r
1201
1201
  }),
1202
- /* @__PURE__ */ c("h3", {
1202
+ /* @__PURE__ */ l("h3", {
1203
1203
  className: "empty-title",
1204
1204
  children: e
1205
1205
  }),
1206
- t != null && /* @__PURE__ */ c("span", {
1206
+ t != null && /* @__PURE__ */ l("span", {
1207
1207
  className: "empty-text",
1208
1208
  children: t
1209
1209
  }),
1210
- n != null && /* @__PURE__ */ c("span", {
1210
+ n != null && /* @__PURE__ */ l("span", {
1211
1211
  className: "empty-action",
1212
1212
  children: n
1213
1213
  })
@@ -1216,7 +1216,7 @@ function me({ title: e, body: t, action: n, icon: r, className: i = "", style: a
1216
1216
  }
1217
1217
  //#endregion
1218
1218
  //#region src/react/components/DataTable.tsx
1219
- function he({ columns: e, rows: t, rowKey: n, loading: r = !1, skeletonRows: i = 6, empty: a, onSort: o, sortKey: s, sortDirection: u, pagination: d, className: f = "", style: p }) {
1219
+ function ge({ columns: e, rows: t, rowKey: n, loading: r = !1, skeletonRows: i = 6, empty: a, onSort: o, sortKey: s, sortDirection: c, pagination: d, className: f = "", style: p }) {
1220
1220
  let m = (e, t) => typeof n == "function" ? n(e, t) : String(e[n]);
1221
1221
  if ((typeof process > "u" || process.env.NODE_ENV !== "production") && !r) {
1222
1222
  let e = /* @__PURE__ */ new Set();
@@ -1226,29 +1226,29 @@ function he({ columns: e, rows: t, rowKey: n, loading: r = !1, skeletonRows: i =
1226
1226
  });
1227
1227
  }
1228
1228
  let h = ["datatable", f].filter(Boolean).join(" ");
1229
- return /* @__PURE__ */ l("div", {
1229
+ return /* @__PURE__ */ u("div", {
1230
1230
  className: h,
1231
1231
  style: p,
1232
- children: [/* @__PURE__ */ l("table", {
1232
+ children: [/* @__PURE__ */ u("table", {
1233
1233
  className: "table",
1234
- children: [/* @__PURE__ */ c("thead", { children: /* @__PURE__ */ c("tr", { children: e.map((e) => /* @__PURE__ */ c("th", {
1234
+ children: [/* @__PURE__ */ l("thead", { children: /* @__PURE__ */ l("tr", { children: e.map((e) => /* @__PURE__ */ l("th", {
1235
1235
  style: e.width == null ? void 0 : { width: e.width },
1236
- "aria-sort": e.sortable && o && s === e.key ? u === "desc" ? "descending" : "ascending" : void 0,
1237
- children: e.sortable && o ? /* @__PURE__ */ l("button", {
1236
+ "aria-sort": e.sortable && o && s === e.key ? c === "desc" ? "descending" : "ascending" : void 0,
1237
+ children: e.sortable && o ? /* @__PURE__ */ u("button", {
1238
1238
  type: "button",
1239
1239
  className: "table-sort",
1240
1240
  onClick: () => o(e.key),
1241
- children: [e.label, s === e.key ? u === "desc" ? " ↓" : " ↑" : ""]
1241
+ children: [e.label, s === e.key ? c === "desc" ? " ↓" : " ↑" : ""]
1242
1242
  }) : e.label
1243
- }, e.key)) }) }), /* @__PURE__ */ l("tbody", { children: [r ? Array.from({ length: i }, (t, n) => /* @__PURE__ */ c("tr", { children: e.map((e) => /* @__PURE__ */ c("td", { children: /* @__PURE__ */ c(Z, { height: 12 }) }, e.key)) }, `skeleton-${n}`)) : t.map((t, n) => /* @__PURE__ */ c("tr", { children: e.map((e) => /* @__PURE__ */ c("td", {
1243
+ }, e.key)) }) }), /* @__PURE__ */ u("tbody", { children: [r ? Array.from({ length: i }, (t, n) => /* @__PURE__ */ l("tr", { children: e.map((e) => /* @__PURE__ */ l("td", { children: /* @__PURE__ */ l(Z, { height: 12 }) }, e.key)) }, `skeleton-${n}`)) : t.map((t, n) => /* @__PURE__ */ l("tr", { children: e.map((e) => /* @__PURE__ */ l("td", {
1244
1244
  className: e.mono ? "mono" : void 0,
1245
1245
  "data-label": e.mobileLabel ?? (typeof e.label == "string" ? e.label : void 0),
1246
1246
  children: e.render ? e.render(t, n) : String(t[e.key] ?? "")
1247
- }, e.key)) }, m(t, n))), !r && t.length === 0 && a != null && /* @__PURE__ */ c("tr", { children: /* @__PURE__ */ c("td", {
1247
+ }, e.key)) }, m(t, n))), !r && t.length === 0 && a != null && /* @__PURE__ */ l("tr", { children: /* @__PURE__ */ l("td", {
1248
1248
  colSpan: e.length,
1249
1249
  children: a
1250
1250
  }) })] })]
1251
- }), d != null && /* @__PURE__ */ c("div", {
1251
+ }), d != null && /* @__PURE__ */ l("div", {
1252
1252
  className: "datatable-pagination",
1253
1253
  children: d
1254
1254
  })]
@@ -1256,29 +1256,29 @@ function he({ columns: e, rows: t, rowKey: n, loading: r = !1, skeletonRows: i =
1256
1256
  }
1257
1257
  //#endregion
1258
1258
  //#region src/react/theme/ThemeProvider.tsx
1259
- var ge = "7k-theme";
1260
- function _e({ children: e, defaultTheme: t = "dark", storageKey: r = ge }) {
1261
- let [a, o] = s(() => {
1259
+ var _e = "7k-theme";
1260
+ function ve({ children: e, defaultTheme: t = "dark", storageKey: r = _e }) {
1261
+ let [i, a] = c(() => {
1262
1262
  if (typeof window > "u") return t;
1263
1263
  let e = localStorage.getItem(r);
1264
1264
  return e === "light" || e === "dark" ? e : t;
1265
1265
  });
1266
- i(() => {
1267
- document.documentElement.setAttribute("data-theme", a), localStorage.setItem(r, a);
1268
- }, [a, r]);
1269
- let l = {
1270
- theme: a,
1266
+ o(() => {
1267
+ document.documentElement.setAttribute("data-theme", i), localStorage.setItem(r, i);
1268
+ }, [i, r]);
1269
+ let s = {
1270
+ theme: i,
1271
1271
  toggleTheme: n(() => {
1272
- o((e) => e === "dark" ? "light" : "dark");
1272
+ a((e) => e === "dark" ? "light" : "dark");
1273
1273
  }, []),
1274
1274
  setTheme: n((e) => {
1275
- o(e);
1275
+ a(e);
1276
1276
  }, [])
1277
1277
  };
1278
- return /* @__PURE__ */ c(h.Provider, {
1279
- value: l,
1278
+ return /* @__PURE__ */ l(g.Provider, {
1279
+ value: s,
1280
1280
  children: e
1281
1281
  });
1282
1282
  }
1283
1283
  //#endregion
1284
- export { M as Alert, ne as Avatar, f as Badge, u as Button, y as Card, x as CardBody, b as CardHeader, V as Checkbox, he as DataTable, D as Drawer, me as EmptyState, m as Icon, d as Input, Y as IsometricBackground, fe as Listbox, C as Modal, T as ModalFooter, w as ModalHeader, z as Nav, B as NavItem, re as Progress, Q as ProjectContext, de as ProjectIcon, se as ProjectProvider, H as Radio, W as Select, Z as Skeleton, X as Spinner, pe as Stat, L as Tab, I as TabList, R as TabPanel, F as Tabs, G as Textarea, q as TextureOverlay, h as ThemeContext, _e as ThemeProvider, _ as ThemeToggle, A as Toast, U as Toggle, te as Tooltip, $ as useProject, g as useTheme };
1284
+ export { M as Alert, re as Avatar, p as Badge, d as Button, b as Card, S as CardBody, x as CardHeader, V as Checkbox, ge as DataTable, O as Drawer, he as EmptyState, h as Icon, f as Input, Y as IsometricBackground, pe as Listbox, w as Modal, E as ModalFooter, T as ModalHeader, z as Nav, B as NavItem, ie as Progress, Q as ProjectContext, fe as ProjectIcon, ce as ProjectProvider, H as Radio, W as Select, Z as Skeleton, X as Spinner, me as Stat, L as Tab, I as TabList, R as TabPanel, F as Tabs, G as Textarea, q as TextureOverlay, g as ThemeContext, ve as ThemeProvider, v as ThemeToggle, A as Toast, U as Toggle, ne as Tooltip, $ as useProject, _ as useTheme };