@efiche/design 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -51,8 +51,10 @@ var index_exports = {};
51
51
  __export(index_exports, {
52
52
  Accordion: () => Accordion_default,
53
53
  Alert: () => Alert_default,
54
+ AreaChart: () => AreaChart_default,
54
55
  Avatar: () => Avatar_default,
55
56
  Badge: () => Badge_default,
57
+ BarChart: () => BarChart_default,
56
58
  Breadcrumb: () => Breadcrumb_default,
57
59
  Button: () => Button_default,
58
60
  Card: () => Card,
@@ -66,7 +68,9 @@ __export(index_exports, {
66
68
  FileUpload: () => FileUpload_default,
67
69
  Input: () => Input_default,
68
70
  Label: () => Label_default,
71
+ LineChart: () => LineChart_default,
69
72
  PasswordInput: () => PasswordInput_default,
73
+ PieChart: () => PieChart_default,
70
74
  Progress: () => Progress_default,
71
75
  RadioGroup: () => RadioGroup_default,
72
76
  Select: () => Select_default,
@@ -105,10 +109,209 @@ var useTheme = () => {
105
109
  return ctx;
106
110
  };
107
111
 
112
+ // src/components/Charts/LineChart.tsx
113
+ var import_recharts = require("recharts");
114
+
115
+ // src/components/Charts/chartUtils.ts
116
+ var CHART_COLORS = [
117
+ "#3b82f6",
118
+ // blue
119
+ "#22c55e",
120
+ // green
121
+ "#f59e0b",
122
+ // amber
123
+ "#ef4444",
124
+ // red
125
+ "#8b5cf6",
126
+ // violet
127
+ "#06b6d4",
128
+ // cyan
129
+ "#f97316",
130
+ // orange
131
+ "#ec4899"
132
+ // pink
133
+ ];
134
+ function getChartTheme(theme) {
135
+ const isDark = theme === "dark";
136
+ return {
137
+ gridColor: isDark ? "#334155" : "#e2e8f0",
138
+ axisStroke: isDark ? "#94a3b8" : "#64748b",
139
+ axisTick: { fill: isDark ? "#94a3b8" : "#64748b", fontSize: 12 },
140
+ primaryColor: isDark ? "#60a5fa" : "#3b82f6",
141
+ tooltipStyle: {
142
+ backgroundColor: isDark ? "#1e293b" : "#ffffff",
143
+ border: `1px solid ${isDark ? "#334155" : "#e2e8f0"}`,
144
+ borderRadius: "6px",
145
+ color: isDark ? "#f1f5f9" : "#0f172a",
146
+ fontSize: "0.8125rem"
147
+ }
148
+ };
149
+ }
150
+
151
+ // src/components/Charts/LineChart.tsx
152
+ var import_jsx_runtime2 = require("react/jsx-runtime");
153
+ var LineChart = ({
154
+ data,
155
+ xKey,
156
+ lines,
157
+ height = 250,
158
+ legend = false,
159
+ grid = true,
160
+ theme = "light"
161
+ }) => {
162
+ const { gridColor, axisStroke, axisTick, tooltipStyle } = getChartTheme(theme);
163
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_recharts.LineChart, { data, children: [
164
+ grid && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: gridColor }),
165
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.XAxis, { dataKey: xKey, stroke: axisStroke, tick: axisTick }),
166
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.YAxis, { stroke: axisStroke, tick: axisTick }),
167
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.Tooltip, { contentStyle: tooltipStyle }),
168
+ legend && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recharts.Legend, {}),
169
+ lines.map((line, i) => {
170
+ var _a, _b;
171
+ const color = (_a = line.color) != null ? _a : CHART_COLORS[i % CHART_COLORS.length];
172
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
173
+ import_recharts.Line,
174
+ {
175
+ type: "monotone",
176
+ dataKey: line.dataKey,
177
+ name: (_b = line.label) != null ? _b : line.dataKey,
178
+ stroke: color,
179
+ strokeWidth: 2,
180
+ dot: { fill: color, r: 4 },
181
+ activeDot: { r: 6 }
182
+ },
183
+ line.dataKey
184
+ );
185
+ })
186
+ ] }) });
187
+ };
188
+ var LineChart_default = LineChart;
189
+
190
+ // src/components/Charts/BarChart.tsx
191
+ var import_recharts2 = require("recharts");
192
+ var import_jsx_runtime3 = require("react/jsx-runtime");
193
+ var BarChart = ({
194
+ data,
195
+ xKey,
196
+ bars,
197
+ height = 250,
198
+ legend = false,
199
+ grid = true,
200
+ theme = "light"
201
+ }) => {
202
+ const { gridColor, axisStroke, axisTick, tooltipStyle } = getChartTheme(theme);
203
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_recharts2.BarChart, { data, children: [
204
+ grid && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.CartesianGrid, { strokeDasharray: "3 3", stroke: gridColor }),
205
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.XAxis, { dataKey: xKey, stroke: axisStroke, tick: axisTick }),
206
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.YAxis, { stroke: axisStroke, tick: axisTick }),
207
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.Tooltip, { contentStyle: tooltipStyle }),
208
+ legend && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recharts2.Legend, {}),
209
+ bars.map((bar, i) => {
210
+ var _a, _b;
211
+ const color = (_a = bar.color) != null ? _a : CHART_COLORS[i % CHART_COLORS.length];
212
+ const isLast = i === bars.length - 1;
213
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
214
+ import_recharts2.Bar,
215
+ {
216
+ dataKey: bar.dataKey,
217
+ name: (_b = bar.label) != null ? _b : bar.dataKey,
218
+ fill: color,
219
+ stackId: bar.stackId,
220
+ radius: bar.stackId && !isLast ? [0, 0, 0, 0] : [4, 4, 0, 0]
221
+ },
222
+ bar.dataKey
223
+ );
224
+ })
225
+ ] }) });
226
+ };
227
+ var BarChart_default = BarChart;
228
+
229
+ // src/components/Charts/AreaChart.tsx
230
+ var import_recharts3 = require("recharts");
231
+ var import_jsx_runtime4 = require("react/jsx-runtime");
232
+ var AreaChart = ({
233
+ data,
234
+ xKey,
235
+ areas,
236
+ height = 250,
237
+ legend = false,
238
+ grid = true,
239
+ theme = "light"
240
+ }) => {
241
+ const { gridColor, axisStroke, axisTick, tooltipStyle } = getChartTheme(theme);
242
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_recharts3.AreaChart, { data, children: [
243
+ grid && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.CartesianGrid, { strokeDasharray: "3 3", stroke: gridColor }),
244
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.XAxis, { dataKey: xKey, stroke: axisStroke, tick: axisTick }),
245
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.YAxis, { stroke: axisStroke, tick: axisTick }),
246
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.Tooltip, { contentStyle: tooltipStyle }),
247
+ legend && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_recharts3.Legend, {}),
248
+ areas.map((area, i) => {
249
+ var _a, _b, _c;
250
+ const color = (_a = area.color) != null ? _a : CHART_COLORS[i % CHART_COLORS.length];
251
+ const opacity = (_b = area.fillOpacity) != null ? _b : area.stackId ? 0.4 : 0.15;
252
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
253
+ import_recharts3.Area,
254
+ {
255
+ type: "monotone",
256
+ dataKey: area.dataKey,
257
+ name: (_c = area.label) != null ? _c : area.dataKey,
258
+ stroke: color,
259
+ fill: color,
260
+ fillOpacity: opacity,
261
+ strokeWidth: 2,
262
+ stackId: area.stackId
263
+ },
264
+ area.dataKey
265
+ );
266
+ })
267
+ ] }) });
268
+ };
269
+ var AreaChart_default = AreaChart;
270
+
271
+ // src/components/Charts/PieChart.tsx
272
+ var import_recharts4 = require("recharts");
273
+ var import_jsx_runtime5 = require("react/jsx-runtime");
274
+ var PieChart = ({
275
+ data,
276
+ height = 250,
277
+ donut = false,
278
+ legend = false,
279
+ label = false,
280
+ theme = "light"
281
+ }) => {
282
+ const { tooltipStyle } = getChartTheme(theme);
283
+ const dataWithColors = data.map((item, i) => {
284
+ var _a;
285
+ return __spreadProps(__spreadValues({}, item), {
286
+ fill: (_a = item.fill) != null ? _a : CHART_COLORS[i % CHART_COLORS.length]
287
+ });
288
+ });
289
+ const outerRadius = 90;
290
+ const innerRadius = donut ? 55 : 0;
291
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_recharts4.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_recharts4.PieChart, { children: [
292
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
293
+ import_recharts4.Pie,
294
+ {
295
+ data: dataWithColors,
296
+ cx: "50%",
297
+ cy: "50%",
298
+ outerRadius,
299
+ innerRadius,
300
+ dataKey: "value",
301
+ label: label ? ({ name, percent }) => `${name} ${((percent != null ? percent : 0) * 100).toFixed(0)}%` : void 0,
302
+ labelLine: label
303
+ }
304
+ ),
305
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_recharts4.Tooltip, { contentStyle: tooltipStyle }),
306
+ legend && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_recharts4.Legend, {})
307
+ ] }) });
308
+ };
309
+ var PieChart_default = PieChart;
310
+
108
311
  // src/components/Accordion/Accordion.tsx
109
312
  var import_react2 = require("react");
110
313
  var import_lucide_react = require("lucide-react");
111
- var import_jsx_runtime2 = require("react/jsx-runtime");
314
+ var import_jsx_runtime6 = require("react/jsx-runtime");
112
315
  var Accordion = ({ items, defaultValue, multiple = false }) => {
113
316
  const [open, setOpen] = (0, import_react2.useState)(() => {
114
317
  if (!defaultValue) return /* @__PURE__ */ new Set();
@@ -128,7 +331,7 @@ var Accordion = ({ items, defaultValue, multiple = false }) => {
128
331
  return next;
129
332
  });
130
333
  };
131
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { style: {
334
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { style: {
132
335
  border: "1px solid var(--ds-border, #e2e8f0)",
133
336
  borderRadius: "0.5rem",
134
337
  overflow: "hidden"
@@ -136,14 +339,14 @@ var Accordion = ({ items, defaultValue, multiple = false }) => {
136
339
  const isOpen = open.has(item.value);
137
340
  const isHovered = hovered === item.value;
138
341
  const isLast = index === items.length - 1;
139
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
342
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
140
343
  "div",
141
344
  {
142
345
  style: {
143
346
  borderBottom: isLast ? "none" : "1px solid var(--ds-border, #e2e8f0)"
144
347
  },
145
348
  children: [
146
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
349
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
147
350
  "button",
148
351
  {
149
352
  style: {
@@ -166,8 +369,8 @@ var Accordion = ({ items, defaultValue, multiple = false }) => {
166
369
  onMouseLeave: () => setHovered(null),
167
370
  "aria-expanded": isOpen,
168
371
  children: [
169
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: item.trigger }),
170
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
372
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: item.trigger }),
373
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
171
374
  import_lucide_react.ChevronDown,
172
375
  {
173
376
  size: 16,
@@ -182,11 +385,11 @@ var Accordion = ({ items, defaultValue, multiple = false }) => {
182
385
  ]
183
386
  }
184
387
  ),
185
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { style: {
388
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { style: {
186
389
  maxHeight: isOpen ? "300px" : "0",
187
390
  overflow: "hidden",
188
391
  transition: "max-height 0.25s ease"
189
- }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { style: {
392
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { style: {
190
393
  padding: "0 1rem 1rem",
191
394
  fontSize: "0.875rem",
192
395
  color: "var(--ds-text-secondary, #64748b)"
@@ -201,7 +404,7 @@ var Accordion_default = Accordion;
201
404
 
202
405
  // src/components/Alert/Alert.tsx
203
406
  var import_lucide_react2 = require("lucide-react");
204
- var import_jsx_runtime3 = require("react/jsx-runtime");
407
+ var import_jsx_runtime7 = require("react/jsx-runtime");
205
408
  var variantMap = {
206
409
  info: { bg: "var(--ds-info-bg, #eff6ff)", border: "var(--ds-info, #3b82f6)", icon: "var(--ds-info, #3b82f6)", title: "var(--ds-info-title, #1e3a8a)", desc: "var(--ds-info-desc, #1e40af)" },
207
410
  success: { bg: "var(--ds-success-bg, #f0fdf4)", border: "var(--ds-success, #22c55e)", icon: "var(--ds-success, #22c55e)", title: "var(--ds-success-title, #14532d)", desc: "var(--ds-success-desc, #166534)" },
@@ -209,14 +412,14 @@ var variantMap = {
209
412
  danger: { bg: "var(--ds-danger-bg, #fef2f2)", border: "var(--ds-danger, #ef4444)", icon: "var(--ds-danger, #ef4444)", title: "var(--ds-danger-title, #7f1d1d)", desc: "var(--ds-danger-desc, #991b1b)" }
210
413
  };
211
414
  var icons = {
212
- info: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.Info, { size: 16 }),
213
- success: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.CheckCircle2, { size: 16 }),
214
- warning: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.AlertTriangle, { size: 16 }),
215
- danger: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.AlertCircle, { size: 16 })
415
+ info: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.Info, { size: 16 }),
416
+ success: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.CheckCircle2, { size: 16 }),
417
+ warning: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.AlertTriangle, { size: 16 }),
418
+ danger: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react2.AlertCircle, { size: 16 })
216
419
  };
217
420
  var Alert = ({ variant = "info", title, description }) => {
218
421
  const v = variantMap[variant];
219
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { role: "alert", style: {
422
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { role: "alert", style: {
220
423
  display: "flex",
221
424
  gap: "0.75rem",
222
425
  padding: "1rem",
@@ -224,23 +427,23 @@ var Alert = ({ variant = "info", title, description }) => {
224
427
  borderLeft: `4px solid ${v.border}`,
225
428
  backgroundColor: v.bg
226
429
  }, children: [
227
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { style: { flexShrink: 0, marginTop: "0.125rem", color: v.icon }, children: icons[variant] }),
228
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { style: { flex: 1 }, children: [
229
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { style: { fontWeight: 600, fontSize: "0.875rem", marginBottom: "0.25rem", marginTop: 0, color: v.title }, children: title }),
230
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { style: { fontSize: "0.875rem", margin: 0, color: v.desc }, children: description })
430
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { style: { flexShrink: 0, marginTop: "0.125rem", color: v.icon }, children: icons[variant] }),
431
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { style: { flex: 1 }, children: [
432
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { style: { fontWeight: 600, fontSize: "0.875rem", marginBottom: "0.25rem", marginTop: 0, color: v.title }, children: title }),
433
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { style: { fontSize: "0.875rem", margin: 0, color: v.desc }, children: description })
231
434
  ] })
232
435
  ] });
233
436
  };
234
437
  var Alert_default = Alert;
235
438
 
236
439
  // src/components/Avatar/Avatar.tsx
237
- var import_jsx_runtime4 = require("react/jsx-runtime");
440
+ var import_jsx_runtime8 = require("react/jsx-runtime");
238
441
  var sizeMap = {
239
442
  sm: { width: "2rem", height: "2rem", fontSize: "0.625rem" },
240
443
  md: { width: "2.5rem", height: "2.5rem", fontSize: "0.875rem" },
241
444
  lg: { width: "4rem", height: "4rem", fontSize: "1.25rem" }
242
445
  };
243
- var Avatar = ({ fallback, size = "md", style, className }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
446
+ var Avatar = ({ fallback, size = "md", style, className }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
244
447
  "div",
245
448
  {
246
449
  className,
@@ -262,7 +465,7 @@ var Avatar = ({ fallback, size = "md", style, className }) => /* @__PURE__ */ (0
262
465
  var Avatar_default = Avatar;
263
466
 
264
467
  // src/components/Badge/Badge.tsx
265
- var import_jsx_runtime5 = require("react/jsx-runtime");
468
+ var import_jsx_runtime9 = require("react/jsx-runtime");
266
469
  var variantMap2 = {
267
470
  default: { backgroundColor: "var(--ds-primary, #3b82f6)", color: "#fff" },
268
471
  secondary: { backgroundColor: "var(--ds-muted, #f1f5f9)", color: "var(--ds-text-secondary, #64748b)" },
@@ -277,7 +480,7 @@ var sizeMap2 = {
277
480
  md: { padding: "0.25rem 0.625rem", fontSize: "0.75rem" },
278
481
  lg: { padding: "0.375rem 0.875rem", fontSize: "0.875rem" }
279
482
  };
280
- var Badge = ({ variant = "default", size = "md", children, style }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { style: __spreadValues(__spreadValues(__spreadValues({
483
+ var Badge = ({ variant = "default", size = "md", children, style }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: __spreadValues(__spreadValues(__spreadValues({
281
484
  display: "inline-flex",
282
485
  alignItems: "center",
283
486
  gap: "0.25rem",
@@ -290,10 +493,10 @@ var Badge_default = Badge;
290
493
  // src/components/Breadcrumb/Breadcrumb.tsx
291
494
  var import_react3 = require("react");
292
495
  var import_lucide_react3 = require("lucide-react");
293
- var import_jsx_runtime6 = require("react/jsx-runtime");
496
+ var import_jsx_runtime10 = require("react/jsx-runtime");
294
497
  var Breadcrumb = ({ items }) => {
295
498
  const [hovered, setHovered] = (0, import_react3.useState)(null);
296
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ol", { style: {
499
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("ol", { style: {
297
500
  display: "flex",
298
501
  flexWrap: "wrap",
299
502
  alignItems: "center",
@@ -304,8 +507,8 @@ var Breadcrumb = ({ items }) => {
304
507
  }, children: items.map((item, i) => {
305
508
  const isLast = i === items.length - 1;
306
509
  const isHovered = hovered === item.label;
307
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("li", { style: { display: "flex", alignItems: "center" }, children: [
308
- i > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
510
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("li", { style: { display: "flex", alignItems: "center" }, children: [
511
+ i > 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
309
512
  import_lucide_react3.ChevronRight,
310
513
  {
311
514
  size: 14,
@@ -313,11 +516,11 @@ var Breadcrumb = ({ items }) => {
313
516
  style: { color: "var(--ds-text-secondary, #64748b)", margin: "0 0.25rem", flexShrink: 0 }
314
517
  }
315
518
  ),
316
- isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: {
519
+ isLast || !item.href ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { style: {
317
520
  color: isLast ? "var(--ds-text-primary, #0f172a)" : "var(--ds-text-secondary, #64748b)",
318
521
  fontWeight: isLast ? 500 : void 0,
319
522
  cursor: isLast ? "default" : void 0
320
- }, children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
523
+ }, children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
321
524
  "a",
322
525
  {
323
526
  href: item.href,
@@ -339,7 +542,7 @@ var Breadcrumb_default = Breadcrumb;
339
542
  // src/components/Button/Button.tsx
340
543
  var import_lucide_react4 = require("lucide-react");
341
544
  var import_react4 = require("react");
342
- var import_jsx_runtime7 = require("react/jsx-runtime");
545
+ var import_jsx_runtime11 = require("react/jsx-runtime");
343
546
  var variantStyles = {
344
547
  solid: { backgroundColor: "var(--ds-primary, #3b82f6)", color: "#fff", borderColor: "transparent" },
345
548
  outline: { backgroundColor: "transparent", color: "var(--ds-primary, #3b82f6)", borderColor: "var(--ds-primary, #3b82f6)" },
@@ -419,9 +622,9 @@ var Button = (_a) => {
419
622
  opacity: isDisabled ? 0.5 : 1,
420
623
  pointerEvents: loading ? "none" : void 0
421
624
  }, variantStyles[resolvedVariant]), sizeStyles[resolvedSize]), hovered && !isDisabled ? variantHoverStyles[resolvedVariant] : {}), styleProp);
422
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
423
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("style", { href: "ds-spin", precedence: "low", children: `@keyframes ds-spin { to { transform: rotate(360deg); } }` }),
424
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
625
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
626
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("style", { href: "ds-spin", precedence: "low", children: `@keyframes ds-spin { to { transform: rotate(360deg); } }` }),
627
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
425
628
  "button",
426
629
  __spreadProps(__spreadValues({
427
630
  disabled: isDisabled,
@@ -430,7 +633,7 @@ var Button = (_a) => {
430
633
  onMouseLeave: () => setHovered(false)
431
634
  }, props), {
432
635
  children: [
433
- loading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
636
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
434
637
  import_lucide_react4.LoaderCircle,
435
638
  {
436
639
  "aria-hidden": true,
@@ -448,10 +651,10 @@ var Button = (_a) => {
448
651
  var Button_default = Button;
449
652
 
450
653
  // src/components/Card/Card.tsx
451
- var import_jsx_runtime8 = require("react/jsx-runtime");
654
+ var import_jsx_runtime12 = require("react/jsx-runtime");
452
655
  var Card = (_a) => {
453
656
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
454
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({ style: __spreadValues({
657
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", __spreadValues({ style: __spreadValues({
455
658
  border: "1px solid var(--ds-border, #e2e8f0)",
456
659
  borderRadius: "0.5rem",
457
660
  backgroundColor: "var(--ds-card, #ffffff)"
@@ -459,7 +662,7 @@ var Card = (_a) => {
459
662
  };
460
663
  var CardHeader = (_a) => {
461
664
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
462
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({ style: __spreadValues({
665
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", __spreadValues({ style: __spreadValues({
463
666
  display: "flex",
464
667
  flexDirection: "column",
465
668
  gap: "0.375rem",
@@ -468,7 +671,7 @@ var CardHeader = (_a) => {
468
671
  };
469
672
  var CardTitle = (_a) => {
470
673
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
471
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h3", __spreadValues({ style: __spreadValues({
674
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("h3", __spreadValues({ style: __spreadValues({
472
675
  fontSize: "1rem",
473
676
  fontWeight: 600,
474
677
  color: "var(--ds-text-primary, #0f172a)",
@@ -478,7 +681,7 @@ var CardTitle = (_a) => {
478
681
  };
479
682
  var CardDescription = (_a) => {
480
683
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
481
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", __spreadValues({ style: __spreadValues({
684
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", __spreadValues({ style: __spreadValues({
482
685
  fontSize: "0.875rem",
483
686
  color: "var(--ds-text-secondary, #64748b)",
484
687
  margin: 0
@@ -486,11 +689,11 @@ var CardDescription = (_a) => {
486
689
  };
487
690
  var CardContent = (_a) => {
488
691
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
489
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({ style: __spreadValues({ padding: "1.5rem" }, style) }, props));
692
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", __spreadValues({ style: __spreadValues({ padding: "1.5rem" }, style) }, props));
490
693
  };
491
694
  var CardFooter = (_a) => {
492
695
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
493
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({ style: __spreadValues({
696
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", __spreadValues({ style: __spreadValues({
494
697
  display: "flex",
495
698
  alignItems: "center",
496
699
  padding: "0 1.5rem 1.5rem"
@@ -499,7 +702,7 @@ var CardFooter = (_a) => {
499
702
 
500
703
  // src/components/Checkbox/Checkbox.tsx
501
704
  var import_react5 = require("react");
502
- var import_jsx_runtime9 = require("react/jsx-runtime");
705
+ var import_jsx_runtime13 = require("react/jsx-runtime");
503
706
  var Checkbox = ({
504
707
  label,
505
708
  checked,
@@ -516,7 +719,7 @@ var Checkbox = ({
516
719
  setInternal(next);
517
720
  onChange == null ? void 0 : onChange(next);
518
721
  };
519
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("label", { htmlFor: id, style: {
722
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", { htmlFor: id, style: {
520
723
  display: "inline-flex",
521
724
  alignItems: "center",
522
725
  gap: "0.5rem",
@@ -524,7 +727,7 @@ var Checkbox = ({
524
727
  userSelect: "none",
525
728
  opacity: disabled ? 0.5 : 1
526
729
  }, children: [
527
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
730
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
528
731
  "input",
529
732
  {
530
733
  type: "checkbox",
@@ -535,7 +738,7 @@ var Checkbox = ({
535
738
  style: { position: "absolute", opacity: 0, width: 0, height: 0 }
536
739
  }
537
740
  ),
538
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: {
741
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { style: {
539
742
  width: "1.125rem",
540
743
  height: "1.125rem",
541
744
  border: `2px solid ${isChecked ? "var(--ds-primary, #3b82f6)" : "var(--ds-border, #e2e8f0)"}`,
@@ -546,8 +749,8 @@ var Checkbox = ({
546
749
  flexShrink: 0,
547
750
  transition: "background-color 0.15s, border-color 0.15s",
548
751
  backgroundColor: isChecked ? "var(--ds-primary, #3b82f6)" : "var(--ds-card, #fff)"
549
- }, children: isChecked && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("svg", { viewBox: "0 0 12 10", fill: "none", style: { width: "0.625rem", height: "0.625rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("path", { d: "M1 5l3.5 3.5L11 1", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }),
550
- label && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: label })
752
+ }, children: isChecked && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("svg", { viewBox: "0 0 12 10", fill: "none", style: { width: "0.625rem", height: "0.625rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("path", { d: "M1 5l3.5 3.5L11 1", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }),
753
+ label && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: label })
551
754
  ] });
552
755
  };
553
756
  var Checkbox_default = Checkbox;
@@ -555,7 +758,7 @@ var Checkbox_default = Checkbox;
555
758
  // src/components/CopyButton/CopyButton.tsx
556
759
  var import_lucide_react5 = require("lucide-react");
557
760
  var import_react6 = require("react");
558
- var import_jsx_runtime10 = require("react/jsx-runtime");
761
+ var import_jsx_runtime14 = require("react/jsx-runtime");
559
762
  var CopyButton = ({ text }) => {
560
763
  const [copied, setCopied] = (0, import_react6.useState)(false);
561
764
  const [hovered, setHovered] = (0, import_react6.useState)(false);
@@ -564,7 +767,7 @@ var CopyButton = ({ text }) => {
564
767
  setCopied(true);
565
768
  setTimeout(() => setCopied(false), 2e3);
566
769
  };
567
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
770
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
568
771
  "button",
569
772
  {
570
773
  onClick: handleCopy,
@@ -583,7 +786,7 @@ var CopyButton = ({ text }) => {
583
786
  cursor: "pointer",
584
787
  transition: "background-color 0.15s, color 0.15s"
585
788
  },
586
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_lucide_react5.Check, { style: { width: "1rem", height: "1rem" } }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_lucide_react5.Copy, { style: { width: "1rem", height: "1rem" } })
789
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react5.Check, { style: { width: "1rem", height: "1rem" } }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react5.Copy, { style: { width: "1rem", height: "1rem" } })
587
790
  }
588
791
  );
589
792
  };
@@ -592,7 +795,7 @@ var CopyButton_default = CopyButton;
592
795
  // src/components/FileUpload/FileUpload.tsx
593
796
  var import_lucide_react6 = require("lucide-react");
594
797
  var import_react7 = require("react");
595
- var import_jsx_runtime11 = require("react/jsx-runtime");
798
+ var import_jsx_runtime15 = require("react/jsx-runtime");
596
799
  var FileUpload = ({ accept, multiple, disabled, onFileSelect }) => {
597
800
  const [isDragging, setIsDragging] = (0, import_react7.useState)(false);
598
801
  const [isHovered, setIsHovered] = (0, import_react7.useState)(false);
@@ -603,7 +806,7 @@ var FileUpload = ({ accept, multiple, disabled, onFileSelect }) => {
603
806
  onFileSelect == null ? void 0 : onFileSelect(list);
604
807
  };
605
808
  const isActive = isDragging || isHovered;
606
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
809
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
607
810
  "div",
608
811
  {
609
812
  onClick: () => {
@@ -637,7 +840,7 @@ var FileUpload = ({ accept, multiple, disabled, onFileSelect }) => {
637
840
  opacity: disabled ? 0.5 : 1
638
841
  },
639
842
  children: [
640
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
843
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
641
844
  "input",
642
845
  {
643
846
  ref: inputRef,
@@ -649,9 +852,9 @@ var FileUpload = ({ accept, multiple, disabled, onFileSelect }) => {
649
852
  onChange: (e) => e.target.files && handleFiles(e.target.files)
650
853
  }
651
854
  ),
652
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react6.Upload, { size: 32, style: { color: "var(--ds-text-secondary, #64748b)" } }),
653
- fileNames.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { style: { fontSize: "0.875rem", color: "var(--ds-primary, #3b82f6)", fontWeight: 500, margin: 0 }, children: fileNames.join(", ") }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("p", { style: { fontSize: "0.875rem", color: "var(--ds-text-secondary, #64748b)", margin: 0 }, children: [
654
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("strong", { children: "Click to upload" }),
855
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react6.Upload, { size: 32, style: { color: "var(--ds-text-secondary, #64748b)" } }),
856
+ fileNames.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { style: { fontSize: "0.875rem", color: "var(--ds-primary, #3b82f6)", fontWeight: 500, margin: 0 }, children: fileNames.join(", ") }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { style: { fontSize: "0.875rem", color: "var(--ds-text-secondary, #64748b)", margin: 0 }, children: [
857
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { children: "Click to upload" }),
655
858
  " or drag and drop"
656
859
  ] })
657
860
  ]
@@ -661,7 +864,7 @@ var FileUpload = ({ accept, multiple, disabled, onFileSelect }) => {
661
864
  var FileUpload_default = FileUpload;
662
865
 
663
866
  // src/components/Input/Input.tsx
664
- var import_jsx_runtime12 = require("react/jsx-runtime");
867
+ var import_jsx_runtime16 = require("react/jsx-runtime");
665
868
  var inputCSS = `
666
869
  [data-ds-input]::placeholder { color: var(--ds-text-secondary, #64748b); }
667
870
  [data-ds-input]:focus { outline: none; border-color: var(--ds-primary, #3b82f6); box-shadow: 0 0 0 3px rgb(59 130 246 / 0.15); }
@@ -671,10 +874,10 @@ var inputCSS = `
671
874
  `;
672
875
  var Input = (_a) => {
673
876
  var _b = _a, { error, success, leftIcon, rightIcon, style } = _b, props = __objRest(_b, ["error", "success", "leftIcon", "rightIcon", "style"]);
674
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
675
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("style", { href: "ds-input", precedence: "low", children: inputCSS }),
676
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style: { position: "relative", display: "flex", alignItems: "center", width: "100%" }, children: [
677
- leftIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: {
877
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
878
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("style", { href: "ds-input", precedence: "low", children: inputCSS }),
879
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { position: "relative", display: "flex", alignItems: "center", width: "100%" }, children: [
880
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
678
881
  position: "absolute",
679
882
  left: "0.625rem",
680
883
  display: "flex",
@@ -682,7 +885,7 @@ var Input = (_a) => {
682
885
  color: "var(--ds-text-secondary, #64748b)",
683
886
  pointerEvents: "none"
684
887
  }, children: leftIcon }),
685
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
888
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
686
889
  "input",
687
890
  __spreadValues({
688
891
  "data-ds-input": "",
@@ -705,7 +908,7 @@ var Input = (_a) => {
705
908
  }, style)
706
909
  }, props)
707
910
  ),
708
- rightIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: {
911
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
709
912
  position: "absolute",
710
913
  right: "0.625rem",
711
914
  display: "flex",
@@ -719,10 +922,10 @@ var Input = (_a) => {
719
922
  var Input_default = Input;
720
923
 
721
924
  // src/components/Label/Label.tsx
722
- var import_jsx_runtime13 = require("react/jsx-runtime");
925
+ var import_jsx_runtime17 = require("react/jsx-runtime");
723
926
  var Label = (_a) => {
724
927
  var _b = _a, { children, required, style } = _b, props = __objRest(_b, ["children", "required", "style"]);
725
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", __spreadProps(__spreadValues({ style: __spreadValues({
928
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("label", __spreadProps(__spreadValues({ style: __spreadValues({
726
929
  display: "block",
727
930
  fontSize: "0.875rem",
728
931
  fontWeight: 500,
@@ -730,7 +933,7 @@ var Label = (_a) => {
730
933
  marginBottom: "0.375rem"
731
934
  }, style) }, props), { children: [
732
935
  children,
733
- required && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { style: { color: "var(--ds-danger, #ef4444)", marginLeft: "0.25rem" }, children: "*" })
936
+ required && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { color: "var(--ds-danger, #ef4444)", marginLeft: "0.25rem" }, children: "*" })
734
937
  ] }));
735
938
  };
736
939
  var Label_default = Label;
@@ -738,21 +941,21 @@ var Label_default = Label;
738
941
  // src/components/PasswordInput/PasswordInput.tsx
739
942
  var import_lucide_react7 = require("lucide-react");
740
943
  var import_react8 = require("react");
741
- var import_jsx_runtime14 = require("react/jsx-runtime");
944
+ var import_jsx_runtime18 = require("react/jsx-runtime");
742
945
  var PasswordInput = (props) => {
743
946
  const [visible, setVisible] = (0, import_react8.useState)(false);
744
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
947
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
745
948
  Input_default,
746
949
  __spreadProps(__spreadValues({}, props), {
747
950
  type: visible ? "text" : "password",
748
- rightIcon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
951
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
749
952
  "button",
750
953
  {
751
954
  type: "button",
752
955
  onClick: () => setVisible((v) => !v),
753
956
  style: { background: "none", border: "none", cursor: "pointer", padding: 0, display: "flex", pointerEvents: "all" },
754
957
  tabIndex: -1,
755
- children: visible ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react7.EyeOff, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react7.Eye, { size: 16 })
958
+ children: visible ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react7.EyeOff, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react7.Eye, { size: 16 })
756
959
  }
757
960
  )
758
961
  })
@@ -761,10 +964,10 @@ var PasswordInput = (props) => {
761
964
  var PasswordInput_default = PasswordInput;
762
965
 
763
966
  // src/components/Progress/Progress.tsx
764
- var import_jsx_runtime15 = require("react/jsx-runtime");
967
+ var import_jsx_runtime19 = require("react/jsx-runtime");
765
968
  var Progress = ({ value = 0 }) => {
766
969
  const pct = Math.min(100, Math.max(0, value));
767
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
970
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
768
971
  "div",
769
972
  {
770
973
  role: "progressbar",
@@ -778,7 +981,7 @@ var Progress = ({ value = 0 }) => {
778
981
  borderRadius: "9999px",
779
982
  overflow: "hidden"
780
983
  },
781
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: {
984
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: {
782
985
  height: "100%",
783
986
  width: `${pct}%`,
784
987
  backgroundColor: "var(--ds-primary, #3b82f6)",
@@ -792,7 +995,7 @@ var Progress_default = Progress;
792
995
 
793
996
  // src/components/RadioGroup/RadioGroup.tsx
794
997
  var import_react9 = require("react");
795
- var import_jsx_runtime16 = require("react/jsx-runtime");
998
+ var import_jsx_runtime20 = require("react/jsx-runtime");
796
999
  var RadioGroup = ({
797
1000
  options,
798
1001
  name,
@@ -808,9 +1011,9 @@ var RadioGroup = ({
808
1011
  setInternal(val);
809
1012
  onChange == null ? void 0 : onChange(val);
810
1013
  };
811
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: options.map((option) => {
1014
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: options.map((option) => {
812
1015
  const isSelected = selected === option.value;
813
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("label", { style: {
1016
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("label", { style: {
814
1017
  display: "inline-flex",
815
1018
  alignItems: "center",
816
1019
  gap: "0.5rem",
@@ -818,7 +1021,7 @@ var RadioGroup = ({
818
1021
  userSelect: "none",
819
1022
  opacity: disabled ? 0.5 : 1
820
1023
  }, children: [
821
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1024
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
822
1025
  "input",
823
1026
  {
824
1027
  type: "radio",
@@ -830,7 +1033,7 @@ var RadioGroup = ({
830
1033
  style: { position: "absolute", opacity: 0, width: 0, height: 0 }
831
1034
  }
832
1035
  ),
833
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
1036
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: {
834
1037
  width: "1.125rem",
835
1038
  height: "1.125rem",
836
1039
  borderRadius: "9999px",
@@ -841,13 +1044,13 @@ var RadioGroup = ({
841
1044
  flexShrink: 0,
842
1045
  backgroundColor: "var(--ds-card, #fff)",
843
1046
  transition: "border-color 0.15s"
844
- }, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
1047
+ }, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: {
845
1048
  width: "0.5rem",
846
1049
  height: "0.5rem",
847
1050
  borderRadius: "9999px",
848
1051
  backgroundColor: "var(--ds-primary, #3b82f6)"
849
1052
  } }) }),
850
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: option.label })
1053
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: option.label })
851
1054
  ] }, option.value);
852
1055
  }) });
853
1056
  };
@@ -856,7 +1059,7 @@ var RadioGroup_default = RadioGroup;
856
1059
  // src/components/Select/Select.tsx
857
1060
  var import_lucide_react8 = require("lucide-react");
858
1061
  var import_react10 = require("react");
859
- var import_jsx_runtime17 = require("react/jsx-runtime");
1062
+ var import_jsx_runtime21 = require("react/jsx-runtime");
860
1063
  var selectCSS = `
861
1064
  [data-ds-select-trigger]:focus { outline: none; border-color: var(--ds-primary, #3b82f6); box-shadow: 0 0 0 3px rgb(59 130 246 / 0.15); }
862
1065
  `;
@@ -887,15 +1090,15 @@ var Select = ({
887
1090
  document.addEventListener("mousedown", handleOutside);
888
1091
  return () => document.removeEventListener("mousedown", handleOutside);
889
1092
  }, []);
890
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
891
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("style", { href: "ds-select", precedence: "low", children: selectCSS }),
892
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { ref, style: {
1093
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
1094
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("style", { href: "ds-select", precedence: "low", children: selectCSS }),
1095
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { ref, style: {
893
1096
  position: "relative",
894
1097
  width: "100%",
895
1098
  opacity: disabled ? 0.5 : 1,
896
1099
  pointerEvents: disabled ? "none" : void 0
897
1100
  }, children: [
898
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1101
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
899
1102
  "button",
900
1103
  {
901
1104
  type: "button",
@@ -921,8 +1124,8 @@ var Select = ({
921
1124
  fontFamily: "inherit"
922
1125
  },
923
1126
  children: [
924
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { color: selectedLabel ? "var(--ds-text-primary, #0f172a)" : "var(--ds-text-secondary, #64748b)" }, children: selectedLabel != null ? selectedLabel : placeholder }),
925
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1127
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: { color: selectedLabel ? "var(--ds-text-primary, #0f172a)" : "var(--ds-text-secondary, #64748b)" }, children: selectedLabel != null ? selectedLabel : placeholder }),
1128
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
926
1129
  import_lucide_react8.ChevronDown,
927
1130
  {
928
1131
  size: 16,
@@ -937,7 +1140,7 @@ var Select = ({
937
1140
  ]
938
1141
  }
939
1142
  ),
940
- open && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: {
1143
+ open && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { style: {
941
1144
  position: "absolute",
942
1145
  top: "calc(100% + 0.25rem)",
943
1146
  left: 0,
@@ -951,7 +1154,7 @@ var Select = ({
951
1154
  }, children: options.map((option) => {
952
1155
  const isSelected = selected === option.value;
953
1156
  const isHovered = hoveredOption === option.value;
954
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1157
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
955
1158
  "div",
956
1159
  {
957
1160
  onClick: () => handleSelect(option.value),
@@ -970,7 +1173,7 @@ var Select = ({
970
1173
  transition: "background-color 0.1s"
971
1174
  },
972
1175
  children: [
973
- isSelected ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react8.Check, { size: 14, style: { color: "var(--ds-primary, #3b82f6)", flexShrink: 0 } }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { width: 14, flexShrink: 0 } }),
1176
+ isSelected ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react8.Check, { size: 14, style: { color: "var(--ds-primary, #3b82f6)", flexShrink: 0 } }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: { width: 14, flexShrink: 0 } }),
974
1177
  option.label
975
1178
  ]
976
1179
  },
@@ -983,13 +1186,13 @@ var Select = ({
983
1186
  var Select_default = Select;
984
1187
 
985
1188
  // src/components/Skeleton/Skeleton.tsx
986
- var import_jsx_runtime18 = require("react/jsx-runtime");
987
- var Skeleton = ({ height = "1rem", width = "100%", circle = false }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
988
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("style", { href: "ds-skeleton", precedence: "low", children: `
1189
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1190
+ var Skeleton = ({ height = "1rem", width = "100%", circle = false }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
1191
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("style", { href: "ds-skeleton", precedence: "low", children: `
989
1192
  @keyframes ds-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
990
1193
  [data-ds-skeleton] { animation: ds-pulse 1.5s ease-in-out infinite; }
991
1194
  ` }),
992
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1195
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
993
1196
  "div",
994
1197
  {
995
1198
  "data-ds-skeleton": "",
@@ -1007,7 +1210,7 @@ var Skeleton_default = Skeleton;
1007
1210
 
1008
1211
  // src/components/Slider/Slider.tsx
1009
1212
  var import_react11 = require("react");
1010
- var import_jsx_runtime19 = require("react/jsx-runtime");
1213
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1011
1214
  var sliderCSS = `
1012
1215
  [data-ds-slider] {
1013
1216
  -webkit-appearance: none;
@@ -1066,13 +1269,13 @@ var Slider = ({
1066
1269
  setInternal(val);
1067
1270
  onChange == null ? void 0 : onChange(val);
1068
1271
  };
1069
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
1070
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("style", { href: "ds-slider", precedence: "low", children: sliderCSS }),
1071
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: {
1272
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
1273
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("style", { href: "ds-slider", precedence: "low", children: sliderCSS }),
1274
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { style: {
1072
1275
  width: "100%",
1073
1276
  padding: "0.25rem 0",
1074
1277
  opacity: disabled ? 0.5 : 1
1075
- }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1278
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1076
1279
  "input",
1077
1280
  {
1078
1281
  type: "range",
@@ -1092,11 +1295,11 @@ var Slider_default = Slider;
1092
1295
 
1093
1296
  // src/components/Spinner/Spinner.tsx
1094
1297
  var import_lucide_react9 = require("lucide-react");
1095
- var import_jsx_runtime20 = require("react/jsx-runtime");
1298
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1096
1299
  var sizePx = { sm: 16, md: 24, lg: 32 };
1097
- var Spinner = ({ size = "md" }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
1098
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("style", { href: "ds-spin", precedence: "low", children: `@keyframes ds-spin { to { transform: rotate(360deg); } }` }),
1099
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1300
+ var Spinner = ({ size = "md" }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
1301
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("style", { href: "ds-spin", precedence: "low", children: `@keyframes ds-spin { to { transform: rotate(360deg); } }` }),
1302
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1100
1303
  import_lucide_react9.Loader2,
1101
1304
  {
1102
1305
  size: sizePx[size],
@@ -1109,7 +1312,7 @@ var Spinner_default = Spinner;
1109
1312
 
1110
1313
  // src/components/Switch/Switch.tsx
1111
1314
  var import_react12 = require("react");
1112
- var import_jsx_runtime21 = require("react/jsx-runtime");
1315
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1113
1316
  var Switch = ({
1114
1317
  label,
1115
1318
  checked,
@@ -1126,7 +1329,7 @@ var Switch = ({
1126
1329
  setInternal(next);
1127
1330
  onChange == null ? void 0 : onChange(next);
1128
1331
  };
1129
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("label", { htmlFor: id, style: {
1332
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("label", { htmlFor: id, style: {
1130
1333
  display: "inline-flex",
1131
1334
  alignItems: "center",
1132
1335
  gap: "0.625rem",
@@ -1134,7 +1337,7 @@ var Switch = ({
1134
1337
  userSelect: "none",
1135
1338
  opacity: disabled ? 0.5 : 1
1136
1339
  }, children: [
1137
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1340
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1138
1341
  "input",
1139
1342
  {
1140
1343
  type: "checkbox",
@@ -1145,7 +1348,7 @@ var Switch = ({
1145
1348
  style: { position: "absolute", opacity: 0, width: 0, height: 0 }
1146
1349
  }
1147
1350
  ),
1148
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: {
1351
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { style: {
1149
1352
  width: "2.75rem",
1150
1353
  height: "1.5rem",
1151
1354
  borderRadius: "9999px",
@@ -1153,7 +1356,7 @@ var Switch = ({
1153
1356
  position: "relative",
1154
1357
  transition: "background-color 0.2s",
1155
1358
  flexShrink: 0
1156
- }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: {
1359
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { style: {
1157
1360
  position: "absolute",
1158
1361
  top: "0.175rem",
1159
1362
  left: "0.175rem",
@@ -1165,41 +1368,41 @@ var Switch = ({
1165
1368
  transition: "transform 0.2s",
1166
1369
  transform: isOn ? "translateX(1.25rem)" : "translateX(0)"
1167
1370
  } }) }),
1168
- label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: label })
1371
+ label && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { style: { fontSize: "0.875rem", color: "var(--ds-text-primary, #0f172a)" }, children: label })
1169
1372
  ] });
1170
1373
  };
1171
1374
  var Switch_default = Switch;
1172
1375
 
1173
1376
  // src/components/Table/Table.tsx
1174
- var import_jsx_runtime22 = require("react/jsx-runtime");
1377
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1175
1378
  var tableCSS = `
1176
1379
  [data-ds-table-row]:hover [data-ds-table-cell] { background-color: var(--ds-muted, #f1f5f9); }
1177
1380
  `;
1178
1381
  var Table = (_a) => {
1179
1382
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
1180
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
1181
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("style", { href: "ds-table", precedence: "low", children: tableCSS }),
1182
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: {
1383
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
1384
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("style", { href: "ds-table", precedence: "low", children: tableCSS }),
1385
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { style: {
1183
1386
  width: "100%",
1184
1387
  overflowX: "auto",
1185
1388
  border: "1px solid var(--ds-border, #e2e8f0)",
1186
1389
  borderRadius: "0.5rem"
1187
- }, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("table", __spreadValues({ style: __spreadValues({
1390
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("table", __spreadValues({ style: __spreadValues({
1188
1391
  width: "100%",
1189
1392
  borderCollapse: "collapse",
1190
1393
  fontSize: "0.875rem"
1191
1394
  }, style) }, props)) })
1192
1395
  ] });
1193
1396
  };
1194
- var TableHead = (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("thead", __spreadValues({}, props));
1195
- var TableBody = (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("tbody", __spreadValues({}, props));
1397
+ var TableHead = (props) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("thead", __spreadValues({}, props));
1398
+ var TableBody = (props) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tbody", __spreadValues({}, props));
1196
1399
  var TableRow = (_a) => {
1197
1400
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
1198
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("tr", __spreadValues({ "data-ds-table-row": "", style }, props));
1401
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tr", __spreadValues({ "data-ds-table-row": "", style }, props));
1199
1402
  };
1200
1403
  var TableHeader = (_a) => {
1201
1404
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
1202
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("th", __spreadValues({ style: __spreadValues({
1405
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("th", __spreadValues({ style: __spreadValues({
1203
1406
  padding: "0.75rem 1rem",
1204
1407
  textAlign: "left",
1205
1408
  fontWeight: 500,
@@ -1211,7 +1414,7 @@ var TableHeader = (_a) => {
1211
1414
  };
1212
1415
  var TableCell = (_a) => {
1213
1416
  var _b = _a, { style } = _b, props = __objRest(_b, ["style"]);
1214
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1417
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1215
1418
  "td",
1216
1419
  __spreadValues({
1217
1420
  "data-ds-table-cell": "",
@@ -1227,14 +1430,14 @@ var TableCell = (_a) => {
1227
1430
 
1228
1431
  // src/components/Tabs/Tabs.tsx
1229
1432
  var import_react13 = require("react");
1230
- var import_jsx_runtime23 = require("react/jsx-runtime");
1433
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1231
1434
  var Tabs = ({ tabs, defaultValue }) => {
1232
1435
  var _a, _b;
1233
1436
  const [active, setActive] = (0, import_react13.useState)((_b = defaultValue != null ? defaultValue : (_a = tabs[0]) == null ? void 0 : _a.value) != null ? _b : "");
1234
1437
  const [hovered, setHovered] = (0, import_react13.useState)(null);
1235
1438
  const activeTab = tabs.find((t) => t.value === active);
1236
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { style: { display: "flex", flexDirection: "column" }, children: [
1237
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { role: "tablist", style: {
1439
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { style: { display: "flex", flexDirection: "column" }, children: [
1440
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { role: "tablist", style: {
1238
1441
  display: "inline-flex",
1239
1442
  backgroundColor: "var(--ds-muted, #f1f5f9)",
1240
1443
  borderRadius: "0.5rem",
@@ -1243,7 +1446,7 @@ var Tabs = ({ tabs, defaultValue }) => {
1243
1446
  }, children: tabs.map((tab) => {
1244
1447
  const isActive = active === tab.value;
1245
1448
  const isHovered = hovered === tab.value;
1246
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1449
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1247
1450
  "button",
1248
1451
  {
1249
1452
  role: "tab",
@@ -1268,14 +1471,14 @@ var Tabs = ({ tabs, defaultValue }) => {
1268
1471
  whiteSpace: "nowrap"
1269
1472
  },
1270
1473
  children: [
1271
- tab.icon && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { style: { display: "flex", alignItems: "center" }, children: tab.icon }),
1474
+ tab.icon && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { style: { display: "flex", alignItems: "center" }, children: tab.icon }),
1272
1475
  tab.label
1273
1476
  ]
1274
1477
  },
1275
1478
  tab.value
1276
1479
  );
1277
1480
  }) }),
1278
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { role: "tabpanel", style: {
1481
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { role: "tabpanel", style: {
1279
1482
  paddingTop: "1rem",
1280
1483
  fontSize: "0.875rem",
1281
1484
  color: "var(--ds-text-secondary, #64748b)"
@@ -1285,7 +1488,7 @@ var Tabs = ({ tabs, defaultValue }) => {
1285
1488
  var Tabs_default = Tabs;
1286
1489
 
1287
1490
  // src/components/Textarea/Textarea.tsx
1288
- var import_jsx_runtime24 = require("react/jsx-runtime");
1491
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1289
1492
  var textareaCSS = `
1290
1493
  [data-ds-textarea]::placeholder { color: var(--ds-text-secondary, #64748b); }
1291
1494
  [data-ds-textarea]:focus { outline: none; border-color: var(--ds-primary, #3b82f6); box-shadow: 0 0 0 3px rgb(59 130 246 / 0.15); }
@@ -1295,9 +1498,9 @@ var textareaCSS = `
1295
1498
  `;
1296
1499
  var Textarea = (_a) => {
1297
1500
  var _b = _a, { error, style } = _b, props = __objRest(_b, ["error", "style"]);
1298
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
1299
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("style", { href: "ds-textarea", precedence: "low", children: textareaCSS }),
1300
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1501
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
1502
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("style", { href: "ds-textarea", precedence: "low", children: textareaCSS }),
1503
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1301
1504
  "textarea",
1302
1505
  __spreadValues({
1303
1506
  "data-ds-textarea": "",
@@ -1324,7 +1527,7 @@ var Textarea_default = Textarea;
1324
1527
 
1325
1528
  // src/components/Tooltip/Tooltip.tsx
1326
1529
  var import_react14 = require("react");
1327
- var import_jsx_runtime25 = require("react/jsx-runtime");
1530
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1328
1531
  var positionStyle = {
1329
1532
  top: { bottom: "calc(100% + 8px)", left: "50%", transform: "translateX(-50%)" },
1330
1533
  bottom: { top: "calc(100% + 8px)", left: "50%", transform: "translateX(-50%)" },
@@ -1342,11 +1545,11 @@ var tooltipCSS = `
1342
1545
  [data-ds-tt="left"]::before { left: 100%; top: 50%; transform: translateY(-50%); border-left-color: var(--ds-tooltip-bg, #0f172a); }
1343
1546
  [data-ds-tt="right"]::before { right: 100%; top: 50%; transform: translateY(-50%); border-right-color: var(--ds-tooltip-bg, #0f172a); }
1344
1547
  `;
1345
- var Tooltip = ({ content, children, position = "top" }) => {
1548
+ var Tooltip5 = ({ content, children, position = "top" }) => {
1346
1549
  const [visible, setVisible] = (0, import_react14.useState)(false);
1347
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
1348
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("style", { href: "ds-tooltip", precedence: "low", children: tooltipCSS }),
1349
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1550
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
1551
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("style", { href: "ds-tooltip", precedence: "low", children: tooltipCSS }),
1552
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1350
1553
  "span",
1351
1554
  {
1352
1555
  style: { position: "relative", display: "inline-flex" },
@@ -1356,7 +1559,7 @@ var Tooltip = ({ content, children, position = "top" }) => {
1356
1559
  onBlur: () => setVisible(false),
1357
1560
  children: [
1358
1561
  children,
1359
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1562
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1360
1563
  "span",
1361
1564
  {
1362
1565
  role: "tooltip",
@@ -1383,13 +1586,15 @@ var Tooltip = ({ content, children, position = "top" }) => {
1383
1586
  )
1384
1587
  ] });
1385
1588
  };
1386
- var Tooltip_default = Tooltip;
1589
+ var Tooltip_default = Tooltip5;
1387
1590
  // Annotate the CommonJS export names for ESM import in node:
1388
1591
  0 && (module.exports = {
1389
1592
  Accordion,
1390
1593
  Alert,
1594
+ AreaChart,
1391
1595
  Avatar,
1392
1596
  Badge,
1597
+ BarChart,
1393
1598
  Breadcrumb,
1394
1599
  Button,
1395
1600
  Card,
@@ -1403,7 +1608,9 @@ var Tooltip_default = Tooltip;
1403
1608
  FileUpload,
1404
1609
  Input,
1405
1610
  Label,
1611
+ LineChart,
1406
1612
  PasswordInput,
1613
+ PieChart,
1407
1614
  Progress,
1408
1615
  RadioGroup,
1409
1616
  Select,