@thetinycode/hash-ui 1.0.0 → 1.1.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.
- package/README.md +14 -14
- package/dist/index.cjs +599 -142
- package/dist/index.d.cts +69 -1
- package/dist/index.d.ts +69 -1
- package/dist/index.js +544 -118
- package/package.json +7 -8
package/dist/index.js
CHANGED
|
@@ -48,12 +48,75 @@ function Button({
|
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
// src/components/forms/
|
|
52
|
-
import
|
|
51
|
+
// src/components/forms/button-group.tsx
|
|
52
|
+
import "react";
|
|
53
53
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
54
|
-
|
|
54
|
+
function ButtonGroup({
|
|
55
|
+
className,
|
|
56
|
+
orientation = "horizontal",
|
|
57
|
+
...props
|
|
58
|
+
}) {
|
|
59
|
+
return /* @__PURE__ */ jsx2(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
className: cn(
|
|
63
|
+
"inline-flex",
|
|
64
|
+
orientation === "horizontal" ? "flex-row items-center" : "flex-col",
|
|
65
|
+
className
|
|
66
|
+
),
|
|
67
|
+
role: "group",
|
|
68
|
+
...props
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// src/components/forms/icon-button.tsx
|
|
74
|
+
import "react";
|
|
75
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
76
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
77
|
+
var iconButtonVariants = cva2(
|
|
78
|
+
"inline-flex items-center justify-center rounded-xl transition-colors focus:outline-none disabled:pointer-events-none disabled:opacity-50",
|
|
79
|
+
{
|
|
80
|
+
variants: {
|
|
81
|
+
variant: {
|
|
82
|
+
primary: "bg-blue-600 text-white hover:bg-blue-700",
|
|
83
|
+
secondary: "bg-gray-100 text-gray-900 hover:bg-gray-200",
|
|
84
|
+
outline: "border border-gray-300 bg-white text-gray-900 hover:bg-gray-50",
|
|
85
|
+
ghost: "text-gray-900 hover:bg-gray-100"
|
|
86
|
+
},
|
|
87
|
+
size: {
|
|
88
|
+
sm: "h-8 w-8",
|
|
89
|
+
md: "h-10 w-10",
|
|
90
|
+
lg: "h-12 w-12"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
defaultVariants: {
|
|
94
|
+
variant: "ghost",
|
|
95
|
+
size: "md"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
function IconButton({
|
|
100
|
+
className,
|
|
101
|
+
variant,
|
|
102
|
+
size,
|
|
103
|
+
...props
|
|
104
|
+
}) {
|
|
105
|
+
return /* @__PURE__ */ jsx3(
|
|
106
|
+
"button",
|
|
107
|
+
{
|
|
108
|
+
className: cn(iconButtonVariants({ variant, size }), className),
|
|
109
|
+
...props
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/components/forms/input.tsx
|
|
115
|
+
import * as React4 from "react";
|
|
116
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
117
|
+
var Input = React4.forwardRef(
|
|
55
118
|
({ className, type = "text", ...props }, ref) => {
|
|
56
|
-
return /* @__PURE__ */
|
|
119
|
+
return /* @__PURE__ */ jsx4(
|
|
57
120
|
"input",
|
|
58
121
|
{
|
|
59
122
|
ref,
|
|
@@ -71,9 +134,9 @@ Input.displayName = "Input";
|
|
|
71
134
|
|
|
72
135
|
// src/components/forms/label.tsx
|
|
73
136
|
import "react";
|
|
74
|
-
import { jsx as
|
|
137
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
75
138
|
function Label({ className, ...props }) {
|
|
76
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ jsx5(
|
|
77
140
|
"label",
|
|
78
141
|
{
|
|
79
142
|
className: cn(
|
|
@@ -86,11 +149,11 @@ function Label({ className, ...props }) {
|
|
|
86
149
|
}
|
|
87
150
|
|
|
88
151
|
// src/components/forms/select.tsx
|
|
89
|
-
import * as
|
|
90
|
-
import { jsx as
|
|
91
|
-
var Select =
|
|
152
|
+
import * as React6 from "react";
|
|
153
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
154
|
+
var Select = React6.forwardRef(
|
|
92
155
|
({ className, children, ...props }, ref) => {
|
|
93
|
-
return /* @__PURE__ */
|
|
156
|
+
return /* @__PURE__ */ jsx6(
|
|
94
157
|
"select",
|
|
95
158
|
{
|
|
96
159
|
ref,
|
|
@@ -107,13 +170,13 @@ var Select = React4.forwardRef(
|
|
|
107
170
|
Select.displayName = "Select";
|
|
108
171
|
|
|
109
172
|
// src/components/forms/switch.tsx
|
|
110
|
-
import * as
|
|
111
|
-
import { jsx as
|
|
112
|
-
var Switch =
|
|
173
|
+
import * as React7 from "react";
|
|
174
|
+
import { jsx as jsx7, jsxs } from "react/jsx-runtime";
|
|
175
|
+
var Switch = React7.forwardRef(
|
|
113
176
|
({ className, ...props }, ref) => {
|
|
114
177
|
return /* @__PURE__ */ jsxs("label", { className: "inline-flex cursor-pointer items-center", children: [
|
|
115
|
-
/* @__PURE__ */
|
|
116
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ jsx7("input", { ref, type: "checkbox", className: "peer sr-only", ...props }),
|
|
179
|
+
/* @__PURE__ */ jsx7(
|
|
117
180
|
"span",
|
|
118
181
|
{
|
|
119
182
|
className: cn(
|
|
@@ -128,11 +191,11 @@ var Switch = React5.forwardRef(
|
|
|
128
191
|
Switch.displayName = "Switch";
|
|
129
192
|
|
|
130
193
|
// src/components/forms/textarea.tsx
|
|
131
|
-
import * as
|
|
132
|
-
import { jsx as
|
|
133
|
-
var Textarea =
|
|
194
|
+
import * as React8 from "react";
|
|
195
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
196
|
+
var Textarea = React8.forwardRef(
|
|
134
197
|
({ className, ...props }, ref) => {
|
|
135
|
-
return /* @__PURE__ */
|
|
198
|
+
return /* @__PURE__ */ jsx8(
|
|
136
199
|
"textarea",
|
|
137
200
|
{
|
|
138
201
|
ref,
|
|
@@ -149,9 +212,9 @@ Textarea.displayName = "Textarea";
|
|
|
149
212
|
|
|
150
213
|
// src/components/display/alert.tsx
|
|
151
214
|
import "react";
|
|
152
|
-
import { cva as
|
|
153
|
-
import { jsx as
|
|
154
|
-
var alertVariants =
|
|
215
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
216
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
217
|
+
var alertVariants = cva3("rounded-2xl border p-4", {
|
|
155
218
|
variants: {
|
|
156
219
|
variant: {
|
|
157
220
|
default: "border-gray-200 bg-white text-gray-900",
|
|
@@ -166,24 +229,24 @@ var alertVariants = cva2("rounded-2xl border p-4", {
|
|
|
166
229
|
}
|
|
167
230
|
});
|
|
168
231
|
function Alert({ className, variant, ...props }) {
|
|
169
|
-
return /* @__PURE__ */
|
|
232
|
+
return /* @__PURE__ */ jsx9("div", { role: "alert", className: cn(alertVariants({ variant }), className), ...props });
|
|
170
233
|
}
|
|
171
234
|
function AlertTitle({
|
|
172
235
|
className,
|
|
173
236
|
...props
|
|
174
237
|
}) {
|
|
175
|
-
return /* @__PURE__ */
|
|
238
|
+
return /* @__PURE__ */ jsx9("h5", { className: cn("mb-1 font-semibold", className), ...props });
|
|
176
239
|
}
|
|
177
240
|
function AlertDescription({
|
|
178
241
|
className,
|
|
179
242
|
...props
|
|
180
243
|
}) {
|
|
181
|
-
return /* @__PURE__ */
|
|
244
|
+
return /* @__PURE__ */ jsx9("p", { className: cn("text-sm opacity-90", className), ...props });
|
|
182
245
|
}
|
|
183
246
|
|
|
184
247
|
// src/components/display/avatar.tsx
|
|
185
248
|
import "react";
|
|
186
|
-
import { jsx as
|
|
249
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
187
250
|
function Avatar({
|
|
188
251
|
className,
|
|
189
252
|
src,
|
|
@@ -191,7 +254,7 @@ function Avatar({
|
|
|
191
254
|
fallback,
|
|
192
255
|
...props
|
|
193
256
|
}) {
|
|
194
|
-
return /* @__PURE__ */
|
|
257
|
+
return /* @__PURE__ */ jsx10(
|
|
195
258
|
"div",
|
|
196
259
|
{
|
|
197
260
|
className: cn(
|
|
@@ -199,22 +262,35 @@ function Avatar({
|
|
|
199
262
|
className
|
|
200
263
|
),
|
|
201
264
|
...props,
|
|
202
|
-
children: src ? /* @__PURE__ */
|
|
265
|
+
children: src ? /* @__PURE__ */ jsx10(
|
|
266
|
+
"img",
|
|
267
|
+
{
|
|
268
|
+
src,
|
|
269
|
+
alt: alt ?? "Avatar",
|
|
270
|
+
className: "h-full w-full object-cover"
|
|
271
|
+
}
|
|
272
|
+
) : /* @__PURE__ */ jsx10(AvatarFallback, { children: fallback ?? "UI" })
|
|
203
273
|
}
|
|
204
274
|
);
|
|
205
275
|
}
|
|
276
|
+
function AvatarFallback({
|
|
277
|
+
className,
|
|
278
|
+
...props
|
|
279
|
+
}) {
|
|
280
|
+
return /* @__PURE__ */ jsx10("span", { className: cn("uppercase", className), ...props });
|
|
281
|
+
}
|
|
206
282
|
function AvatarGroup({
|
|
207
283
|
className,
|
|
208
284
|
...props
|
|
209
285
|
}) {
|
|
210
|
-
return /* @__PURE__ */
|
|
286
|
+
return /* @__PURE__ */ jsx10("div", { className: cn("flex -space-x-3", className), ...props });
|
|
211
287
|
}
|
|
212
288
|
|
|
213
289
|
// src/components/display/badge.tsx
|
|
214
290
|
import "react";
|
|
215
|
-
import { cva as
|
|
216
|
-
import { jsx as
|
|
217
|
-
var badgeVariants =
|
|
291
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
292
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
293
|
+
var badgeVariants = cva4(
|
|
218
294
|
"inline-flex items-center rounded-full px-2.5 py-1 text-xs font-medium",
|
|
219
295
|
{
|
|
220
296
|
variants: {
|
|
@@ -233,17 +309,17 @@ var badgeVariants = cva3(
|
|
|
233
309
|
}
|
|
234
310
|
);
|
|
235
311
|
function Badge({ className, variant, ...props }) {
|
|
236
|
-
return /* @__PURE__ */
|
|
312
|
+
return /* @__PURE__ */ jsx11("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
237
313
|
}
|
|
238
314
|
|
|
239
315
|
// src/components/display/card.tsx
|
|
240
316
|
import "react";
|
|
241
|
-
import { jsx as
|
|
317
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
242
318
|
function Card({
|
|
243
319
|
className,
|
|
244
320
|
...props
|
|
245
321
|
}) {
|
|
246
|
-
return /* @__PURE__ */
|
|
322
|
+
return /* @__PURE__ */ jsx12(
|
|
247
323
|
"div",
|
|
248
324
|
{
|
|
249
325
|
className: cn("rounded-2xl border border-gray-200 bg-white shadow-sm", className),
|
|
@@ -255,41 +331,41 @@ function CardHeader({
|
|
|
255
331
|
className,
|
|
256
332
|
...props
|
|
257
333
|
}) {
|
|
258
|
-
return /* @__PURE__ */
|
|
334
|
+
return /* @__PURE__ */ jsx12("div", { className: cn("p-6 pb-4", className), ...props });
|
|
259
335
|
}
|
|
260
336
|
function CardTitle({
|
|
261
337
|
className,
|
|
262
338
|
...props
|
|
263
339
|
}) {
|
|
264
|
-
return /* @__PURE__ */
|
|
340
|
+
return /* @__PURE__ */ jsx12("h3", { className: cn("text-lg font-semibold text-gray-900", className), ...props });
|
|
265
341
|
}
|
|
266
342
|
function CardDescription({
|
|
267
343
|
className,
|
|
268
344
|
...props
|
|
269
345
|
}) {
|
|
270
|
-
return /* @__PURE__ */
|
|
346
|
+
return /* @__PURE__ */ jsx12("p", { className: cn("text-sm text-gray-500", className), ...props });
|
|
271
347
|
}
|
|
272
348
|
function CardContent({
|
|
273
349
|
className,
|
|
274
350
|
...props
|
|
275
351
|
}) {
|
|
276
|
-
return /* @__PURE__ */
|
|
352
|
+
return /* @__PURE__ */ jsx12("div", { className: cn("p-6 pt-0", className), ...props });
|
|
277
353
|
}
|
|
278
354
|
function CardFooter({
|
|
279
355
|
className,
|
|
280
356
|
...props
|
|
281
357
|
}) {
|
|
282
|
-
return /* @__PURE__ */
|
|
358
|
+
return /* @__PURE__ */ jsx12("div", { className: cn("flex items-center p-6 pt-4", className), ...props });
|
|
283
359
|
}
|
|
284
360
|
|
|
285
361
|
// src/components/display/empty-state.tsx
|
|
286
362
|
import "react";
|
|
287
|
-
import { jsx as
|
|
363
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
288
364
|
function EmptyState({
|
|
289
365
|
className,
|
|
290
366
|
...props
|
|
291
367
|
}) {
|
|
292
|
-
return /* @__PURE__ */
|
|
368
|
+
return /* @__PURE__ */ jsx13(
|
|
293
369
|
"div",
|
|
294
370
|
{
|
|
295
371
|
className: cn(
|
|
@@ -304,29 +380,124 @@ function EmptyStateTitle({
|
|
|
304
380
|
className,
|
|
305
381
|
...props
|
|
306
382
|
}) {
|
|
307
|
-
return /* @__PURE__ */
|
|
383
|
+
return /* @__PURE__ */ jsx13("h3", { className: cn("mt-4 text-lg font-semibold text-gray-900", className), ...props });
|
|
308
384
|
}
|
|
309
385
|
function EmptyStateDescription({
|
|
310
386
|
className,
|
|
311
387
|
...props
|
|
312
388
|
}) {
|
|
313
|
-
return /* @__PURE__ */
|
|
389
|
+
return /* @__PURE__ */ jsx13("p", { className: cn("mt-2 max-w-md text-sm text-gray-500", className), ...props });
|
|
314
390
|
}
|
|
315
391
|
function EmptyStateActions({
|
|
316
392
|
className,
|
|
317
393
|
...props
|
|
318
394
|
}) {
|
|
319
|
-
return /* @__PURE__ */
|
|
395
|
+
return /* @__PURE__ */ jsx13("div", { className: cn("mt-6 flex items-center gap-3", className), ...props });
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// src/components/display/notification.tsx
|
|
399
|
+
import "react";
|
|
400
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
401
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
402
|
+
var notificationVariants = cva5(
|
|
403
|
+
"rounded-2xl border p-4 shadow-sm",
|
|
404
|
+
{
|
|
405
|
+
variants: {
|
|
406
|
+
variant: {
|
|
407
|
+
default: "border-gray-200 bg-white text-gray-900",
|
|
408
|
+
success: "border-green-200 bg-green-50 text-green-800",
|
|
409
|
+
warning: "border-yellow-200 bg-yellow-50 text-yellow-800",
|
|
410
|
+
danger: "border-red-200 bg-red-50 text-red-800",
|
|
411
|
+
info: "border-blue-200 bg-blue-50 text-blue-800"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
defaultVariants: {
|
|
415
|
+
variant: "default"
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
);
|
|
419
|
+
function Notification({
|
|
420
|
+
className,
|
|
421
|
+
variant,
|
|
422
|
+
...props
|
|
423
|
+
}) {
|
|
424
|
+
return /* @__PURE__ */ jsx14(
|
|
425
|
+
"div",
|
|
426
|
+
{
|
|
427
|
+
className: cn(notificationVariants({ variant }), className),
|
|
428
|
+
role: "status",
|
|
429
|
+
...props
|
|
430
|
+
}
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
function NotificationTitle({
|
|
434
|
+
className,
|
|
435
|
+
...props
|
|
436
|
+
}) {
|
|
437
|
+
return /* @__PURE__ */ jsx14("h4", { className: cn("font-semibold", className), ...props });
|
|
438
|
+
}
|
|
439
|
+
function NotificationDescription({
|
|
440
|
+
className,
|
|
441
|
+
...props
|
|
442
|
+
}) {
|
|
443
|
+
return /* @__PURE__ */ jsx14("p", { className: cn("mt-1 text-sm opacity-90", className), ...props });
|
|
444
|
+
}
|
|
445
|
+
function NotificationActions({
|
|
446
|
+
className,
|
|
447
|
+
...props
|
|
448
|
+
}) {
|
|
449
|
+
return /* @__PURE__ */ jsx14("div", { className: cn("mt-4 flex items-center gap-2", className), ...props });
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// src/components/display/skeleton.tsx
|
|
453
|
+
import "react";
|
|
454
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
455
|
+
function Skeleton({ className, ...props }) {
|
|
456
|
+
return /* @__PURE__ */ jsx15(
|
|
457
|
+
"div",
|
|
458
|
+
{
|
|
459
|
+
className: cn("animate-pulse rounded-xl bg-gray-200", className),
|
|
460
|
+
...props
|
|
461
|
+
}
|
|
462
|
+
);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// src/components/display/spinner.tsx
|
|
466
|
+
import "react";
|
|
467
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
468
|
+
function Spinner({
|
|
469
|
+
className,
|
|
470
|
+
size = "md",
|
|
471
|
+
...props
|
|
472
|
+
}) {
|
|
473
|
+
const sizes = {
|
|
474
|
+
sm: "h-4 w-4 border-2",
|
|
475
|
+
md: "h-6 w-6 border-2",
|
|
476
|
+
lg: "h-8 w-8 border-[3px]"
|
|
477
|
+
};
|
|
478
|
+
return /* @__PURE__ */ jsx16(
|
|
479
|
+
"div",
|
|
480
|
+
{
|
|
481
|
+
className: cn(
|
|
482
|
+
"inline-block animate-spin rounded-full border-gray-300 border-t-gray-900",
|
|
483
|
+
sizes[size],
|
|
484
|
+
className
|
|
485
|
+
),
|
|
486
|
+
"aria-label": "Loading",
|
|
487
|
+
role: "status",
|
|
488
|
+
...props
|
|
489
|
+
}
|
|
490
|
+
);
|
|
320
491
|
}
|
|
321
492
|
|
|
322
493
|
// src/components/display/stat.tsx
|
|
323
494
|
import "react";
|
|
324
|
-
import { jsx as
|
|
495
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
325
496
|
function Stat({
|
|
326
497
|
className,
|
|
327
498
|
...props
|
|
328
499
|
}) {
|
|
329
|
-
return /* @__PURE__ */
|
|
500
|
+
return /* @__PURE__ */ jsx17(
|
|
330
501
|
"div",
|
|
331
502
|
{
|
|
332
503
|
className: cn("rounded-2xl border border-gray-200 bg-white p-6 shadow-sm", className),
|
|
@@ -338,34 +509,34 @@ function StatLabel({
|
|
|
338
509
|
className,
|
|
339
510
|
...props
|
|
340
511
|
}) {
|
|
341
|
-
return /* @__PURE__ */
|
|
512
|
+
return /* @__PURE__ */ jsx17("p", { className: cn("text-sm text-gray-500", className), ...props });
|
|
342
513
|
}
|
|
343
514
|
function StatValue({
|
|
344
515
|
className,
|
|
345
516
|
...props
|
|
346
517
|
}) {
|
|
347
|
-
return /* @__PURE__ */
|
|
518
|
+
return /* @__PURE__ */ jsx17("p", { className: cn("mt-2 text-3xl font-semibold text-gray-900", className), ...props });
|
|
348
519
|
}
|
|
349
520
|
function StatChange({
|
|
350
521
|
className,
|
|
351
522
|
...props
|
|
352
523
|
}) {
|
|
353
|
-
return /* @__PURE__ */
|
|
524
|
+
return /* @__PURE__ */ jsx17("p", { className: cn("mt-2 text-sm font-medium text-gray-600", className), ...props });
|
|
354
525
|
}
|
|
355
526
|
|
|
356
527
|
// src/components/primitives/box.tsx
|
|
357
528
|
import "react";
|
|
358
|
-
import { jsx as
|
|
529
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
359
530
|
function Box({
|
|
360
531
|
className,
|
|
361
532
|
...props
|
|
362
533
|
}) {
|
|
363
|
-
return /* @__PURE__ */
|
|
534
|
+
return /* @__PURE__ */ jsx18("div", { className: cn(className), ...props });
|
|
364
535
|
}
|
|
365
536
|
|
|
366
537
|
// src/components/primitives/container.tsx
|
|
367
538
|
import "react";
|
|
368
|
-
import { jsx as
|
|
539
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
369
540
|
function Container({
|
|
370
541
|
className,
|
|
371
542
|
size = "lg",
|
|
@@ -377,7 +548,7 @@ function Container({
|
|
|
377
548
|
lg: "max-w-7xl",
|
|
378
549
|
full: "max-w-none"
|
|
379
550
|
};
|
|
380
|
-
return /* @__PURE__ */
|
|
551
|
+
return /* @__PURE__ */ jsx19(
|
|
381
552
|
"div",
|
|
382
553
|
{
|
|
383
554
|
className: cn("mx-auto w-full px-4 sm:px-6 lg:px-8", sizes[size], className),
|
|
@@ -388,21 +559,21 @@ function Container({
|
|
|
388
559
|
|
|
389
560
|
// src/components/primitives/divider.tsx
|
|
390
561
|
import "react";
|
|
391
|
-
import { jsx as
|
|
562
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
392
563
|
function Divider({
|
|
393
564
|
className,
|
|
394
565
|
orientation = "horizontal",
|
|
395
566
|
...props
|
|
396
567
|
}) {
|
|
397
568
|
if (orientation === "vertical") {
|
|
398
|
-
return /* @__PURE__ */
|
|
569
|
+
return /* @__PURE__ */ jsx20("div", { className: cn("h-full w-px bg-gray-200", className), ...props });
|
|
399
570
|
}
|
|
400
|
-
return /* @__PURE__ */
|
|
571
|
+
return /* @__PURE__ */ jsx20("hr", { className: cn("w-full border-0 border-t border-gray-200", className), ...props });
|
|
401
572
|
}
|
|
402
573
|
|
|
403
574
|
// src/components/primitives/grid.tsx
|
|
404
575
|
import "react";
|
|
405
|
-
import { jsx as
|
|
576
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
406
577
|
function Grid({
|
|
407
578
|
className,
|
|
408
579
|
cols = 3,
|
|
@@ -425,7 +596,7 @@ function Grid({
|
|
|
425
596
|
lg: "gap-6",
|
|
426
597
|
xl: "gap-8"
|
|
427
598
|
};
|
|
428
|
-
return /* @__PURE__ */
|
|
599
|
+
return /* @__PURE__ */ jsx21(
|
|
429
600
|
"div",
|
|
430
601
|
{
|
|
431
602
|
className: cn("grid", colsClasses[cols], gapClasses[gap], className),
|
|
@@ -436,7 +607,7 @@ function Grid({
|
|
|
436
607
|
|
|
437
608
|
// src/components/primitives/section.tsx
|
|
438
609
|
import "react";
|
|
439
|
-
import { jsx as
|
|
610
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
440
611
|
function Section({
|
|
441
612
|
className,
|
|
442
613
|
spacing = "lg",
|
|
@@ -449,19 +620,19 @@ function Section({
|
|
|
449
620
|
lg: "py-16",
|
|
450
621
|
xl: "py-24"
|
|
451
622
|
};
|
|
452
|
-
return /* @__PURE__ */
|
|
623
|
+
return /* @__PURE__ */ jsx22(Comp, { className: cn(spacingClasses[spacing], className), ...props });
|
|
453
624
|
}
|
|
454
625
|
function SectionHeader({
|
|
455
626
|
className,
|
|
456
627
|
...props
|
|
457
628
|
}) {
|
|
458
|
-
return /* @__PURE__ */
|
|
629
|
+
return /* @__PURE__ */ jsx22("div", { className: cn("mb-10 space-y-3", className), ...props });
|
|
459
630
|
}
|
|
460
631
|
function SectionTitle({
|
|
461
632
|
className,
|
|
462
633
|
...props
|
|
463
634
|
}) {
|
|
464
|
-
return /* @__PURE__ */
|
|
635
|
+
return /* @__PURE__ */ jsx22(
|
|
465
636
|
"h2",
|
|
466
637
|
{
|
|
467
638
|
className: cn("text-3xl font-semibold tracking-tight text-gray-900", className),
|
|
@@ -473,12 +644,12 @@ function SectionDescription({
|
|
|
473
644
|
className,
|
|
474
645
|
...props
|
|
475
646
|
}) {
|
|
476
|
-
return /* @__PURE__ */
|
|
647
|
+
return /* @__PURE__ */ jsx22("p", { className: cn("max-w-2xl text-sm text-gray-500", className), ...props });
|
|
477
648
|
}
|
|
478
649
|
|
|
479
650
|
// src/components/primitives/stack.tsx
|
|
480
651
|
import "react";
|
|
481
|
-
import { jsx as
|
|
652
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
482
653
|
function Stack({
|
|
483
654
|
className,
|
|
484
655
|
direction = "col",
|
|
@@ -496,7 +667,7 @@ function Stack({
|
|
|
496
667
|
lg: "gap-6",
|
|
497
668
|
xl: "gap-8"
|
|
498
669
|
};
|
|
499
|
-
return /* @__PURE__ */
|
|
670
|
+
return /* @__PURE__ */ jsx23(
|
|
500
671
|
"div",
|
|
501
672
|
{
|
|
502
673
|
className: cn(directionClasses[direction], gapClasses[gap], className),
|
|
@@ -505,49 +676,172 @@ function Stack({
|
|
|
505
676
|
);
|
|
506
677
|
}
|
|
507
678
|
|
|
679
|
+
// src/components/navigation/accordion.tsx
|
|
680
|
+
import "react";
|
|
681
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
682
|
+
function Accordion({
|
|
683
|
+
className,
|
|
684
|
+
...props
|
|
685
|
+
}) {
|
|
686
|
+
return /* @__PURE__ */ jsx24("div", { className: cn("w-full space-y-2", className), ...props });
|
|
687
|
+
}
|
|
688
|
+
function AccordionItem({
|
|
689
|
+
className,
|
|
690
|
+
...props
|
|
691
|
+
}) {
|
|
692
|
+
return /* @__PURE__ */ jsx24(
|
|
693
|
+
"div",
|
|
694
|
+
{
|
|
695
|
+
className: cn("overflow-hidden rounded-2xl border border-gray-200", className),
|
|
696
|
+
...props
|
|
697
|
+
}
|
|
698
|
+
);
|
|
699
|
+
}
|
|
700
|
+
function AccordionTrigger({
|
|
701
|
+
className,
|
|
702
|
+
...props
|
|
703
|
+
}) {
|
|
704
|
+
return /* @__PURE__ */ jsx24(
|
|
705
|
+
"button",
|
|
706
|
+
{
|
|
707
|
+
className: cn(
|
|
708
|
+
"flex w-full items-center justify-between bg-white px-4 py-3 text-left text-sm font-medium text-gray-900 transition-colors hover:bg-gray-50",
|
|
709
|
+
className
|
|
710
|
+
),
|
|
711
|
+
...props
|
|
712
|
+
}
|
|
713
|
+
);
|
|
714
|
+
}
|
|
715
|
+
function AccordionContent({
|
|
716
|
+
className,
|
|
717
|
+
open = false,
|
|
718
|
+
...props
|
|
719
|
+
}) {
|
|
720
|
+
if (!open) return null;
|
|
721
|
+
return /* @__PURE__ */ jsx24("div", { className: cn("border-t border-gray-200 p-4 text-sm text-gray-600", className), ...props });
|
|
722
|
+
}
|
|
723
|
+
|
|
508
724
|
// src/components/navigation/breadcrumb.tsx
|
|
509
725
|
import "react";
|
|
510
|
-
import { jsx as
|
|
726
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
511
727
|
function Breadcrumb({
|
|
512
728
|
className,
|
|
513
729
|
...props
|
|
514
730
|
}) {
|
|
515
|
-
return /* @__PURE__ */
|
|
731
|
+
return /* @__PURE__ */ jsx25("nav", { "aria-label": "Breadcrumb", className: cn("text-sm text-gray-500", className), ...props });
|
|
516
732
|
}
|
|
517
733
|
function BreadcrumbList({
|
|
518
734
|
className,
|
|
519
735
|
...props
|
|
520
736
|
}) {
|
|
521
|
-
return /* @__PURE__ */
|
|
737
|
+
return /* @__PURE__ */ jsx25("ol", { className: cn("flex flex-wrap items-center gap-2", className), ...props });
|
|
522
738
|
}
|
|
523
739
|
function BreadcrumbItem({
|
|
524
740
|
className,
|
|
525
741
|
...props
|
|
526
742
|
}) {
|
|
527
|
-
return /* @__PURE__ */
|
|
743
|
+
return /* @__PURE__ */ jsx25("li", { className: cn("inline-flex items-center gap-2", className), ...props });
|
|
528
744
|
}
|
|
529
745
|
function BreadcrumbSeparator({
|
|
530
746
|
className,
|
|
531
747
|
children = "/",
|
|
532
748
|
...props
|
|
533
749
|
}) {
|
|
534
|
-
return /* @__PURE__ */
|
|
750
|
+
return /* @__PURE__ */ jsx25("span", { className: cn("text-gray-400", className), ...props, children });
|
|
535
751
|
}
|
|
536
752
|
function BreadcrumbPage({
|
|
537
753
|
className,
|
|
538
754
|
...props
|
|
539
755
|
}) {
|
|
540
|
-
return /* @__PURE__ */
|
|
756
|
+
return /* @__PURE__ */ jsx25("span", { className: cn("font-medium text-gray-900", className), ...props });
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
// src/components/navigation/command-palette.tsx
|
|
760
|
+
import "react";
|
|
761
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
762
|
+
function CommandPalette({
|
|
763
|
+
className,
|
|
764
|
+
open = true,
|
|
765
|
+
...props
|
|
766
|
+
}) {
|
|
767
|
+
if (!open) return null;
|
|
768
|
+
return /* @__PURE__ */ jsx26("div", { className: "fixed inset-0 z-50 flex items-start justify-center bg-black/40 p-4 pt-24", children: /* @__PURE__ */ jsx26(
|
|
769
|
+
"div",
|
|
770
|
+
{
|
|
771
|
+
className: cn(
|
|
772
|
+
"w-full max-w-2xl overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",
|
|
773
|
+
className
|
|
774
|
+
),
|
|
775
|
+
role: "dialog",
|
|
776
|
+
"aria-modal": "true",
|
|
777
|
+
...props
|
|
778
|
+
}
|
|
779
|
+
) });
|
|
780
|
+
}
|
|
781
|
+
function CommandPaletteInput({
|
|
782
|
+
className,
|
|
783
|
+
...props
|
|
784
|
+
}) {
|
|
785
|
+
return /* @__PURE__ */ jsx26(
|
|
786
|
+
"input",
|
|
787
|
+
{
|
|
788
|
+
className: cn(
|
|
789
|
+
"h-12 w-full border-b border-gray-200 bg-transparent px-4 text-sm text-gray-900 outline-none placeholder:text-gray-400",
|
|
790
|
+
className
|
|
791
|
+
),
|
|
792
|
+
placeholder: "Search commands...",
|
|
793
|
+
...props
|
|
794
|
+
}
|
|
795
|
+
);
|
|
796
|
+
}
|
|
797
|
+
function CommandPaletteList({
|
|
798
|
+
className,
|
|
799
|
+
...props
|
|
800
|
+
}) {
|
|
801
|
+
return /* @__PURE__ */ jsx26("div", { className: cn("max-h-80 overflow-y-auto p-2", className), ...props });
|
|
802
|
+
}
|
|
803
|
+
function CommandPaletteGroup({
|
|
804
|
+
className,
|
|
805
|
+
...props
|
|
806
|
+
}) {
|
|
807
|
+
return /* @__PURE__ */ jsx26("div", { className: cn("mb-2", className), ...props });
|
|
808
|
+
}
|
|
809
|
+
function CommandPaletteGroupLabel({
|
|
810
|
+
className,
|
|
811
|
+
...props
|
|
812
|
+
}) {
|
|
813
|
+
return /* @__PURE__ */ jsx26("p", { className: cn("px-2 py-1 text-xs font-medium uppercase tracking-wide text-gray-500", className), ...props });
|
|
814
|
+
}
|
|
815
|
+
function CommandPaletteItem({
|
|
816
|
+
className,
|
|
817
|
+
...props
|
|
818
|
+
}) {
|
|
819
|
+
return /* @__PURE__ */ jsx26(
|
|
820
|
+
"button",
|
|
821
|
+
{
|
|
822
|
+
className: cn(
|
|
823
|
+
"flex w-full items-center justify-between rounded-xl px-3 py-2 text-left text-sm text-gray-700 transition-colors hover:bg-gray-100 hover:text-gray-900",
|
|
824
|
+
className
|
|
825
|
+
),
|
|
826
|
+
...props
|
|
827
|
+
}
|
|
828
|
+
);
|
|
829
|
+
}
|
|
830
|
+
function CommandPaletteEmpty({
|
|
831
|
+
className,
|
|
832
|
+
...props
|
|
833
|
+
}) {
|
|
834
|
+
return /* @__PURE__ */ jsx26("div", { className: cn("p-6 text-center text-sm text-gray-500", className), ...props });
|
|
541
835
|
}
|
|
542
836
|
|
|
543
837
|
// src/components/navigation/header.tsx
|
|
544
838
|
import "react";
|
|
545
|
-
import { jsx as
|
|
839
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
546
840
|
function Header({
|
|
547
841
|
className,
|
|
548
842
|
...props
|
|
549
843
|
}) {
|
|
550
|
-
return /* @__PURE__ */
|
|
844
|
+
return /* @__PURE__ */ jsx27(
|
|
551
845
|
"header",
|
|
552
846
|
{
|
|
553
847
|
className: cn("w-full border-b border-gray-200 bg-white", className),
|
|
@@ -559,7 +853,7 @@ function HeaderInner({
|
|
|
559
853
|
className,
|
|
560
854
|
...props
|
|
561
855
|
}) {
|
|
562
|
-
return /* @__PURE__ */
|
|
856
|
+
return /* @__PURE__ */ jsx27(
|
|
563
857
|
"div",
|
|
564
858
|
{
|
|
565
859
|
className: cn(
|
|
@@ -574,48 +868,85 @@ function HeaderBrand({
|
|
|
574
868
|
className,
|
|
575
869
|
...props
|
|
576
870
|
}) {
|
|
577
|
-
return /* @__PURE__ */
|
|
871
|
+
return /* @__PURE__ */ jsx27("div", { className: cn("flex items-center gap-3 font-semibold text-gray-900", className), ...props });
|
|
578
872
|
}
|
|
579
873
|
function HeaderNav({
|
|
580
874
|
className,
|
|
581
875
|
...props
|
|
582
876
|
}) {
|
|
583
|
-
return /* @__PURE__ */
|
|
877
|
+
return /* @__PURE__ */ jsx27("nav", { className: cn("hidden items-center gap-6 md:flex", className), ...props });
|
|
584
878
|
}
|
|
585
879
|
function HeaderActions({
|
|
586
880
|
className,
|
|
587
881
|
...props
|
|
588
882
|
}) {
|
|
589
|
-
return /* @__PURE__ */
|
|
883
|
+
return /* @__PURE__ */ jsx27("div", { className: cn("flex items-center gap-3", className), ...props });
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
// src/components/navigation/navbar.tsx
|
|
887
|
+
import "react";
|
|
888
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
889
|
+
function Navbar({
|
|
890
|
+
className,
|
|
891
|
+
...props
|
|
892
|
+
}) {
|
|
893
|
+
return /* @__PURE__ */ jsx28(
|
|
894
|
+
"nav",
|
|
895
|
+
{
|
|
896
|
+
className: cn(
|
|
897
|
+
"flex items-center justify-between border-b border-gray-200 bg-white px-4 py-3",
|
|
898
|
+
className
|
|
899
|
+
),
|
|
900
|
+
...props
|
|
901
|
+
}
|
|
902
|
+
);
|
|
903
|
+
}
|
|
904
|
+
function NavbarBrand({
|
|
905
|
+
className,
|
|
906
|
+
...props
|
|
907
|
+
}) {
|
|
908
|
+
return /* @__PURE__ */ jsx28("div", { className: cn("font-semibold text-gray-900", className), ...props });
|
|
909
|
+
}
|
|
910
|
+
function NavbarNav({
|
|
911
|
+
className,
|
|
912
|
+
...props
|
|
913
|
+
}) {
|
|
914
|
+
return /* @__PURE__ */ jsx28("div", { className: cn("hidden items-center gap-6 md:flex", className), ...props });
|
|
915
|
+
}
|
|
916
|
+
function NavbarActions({
|
|
917
|
+
className,
|
|
918
|
+
...props
|
|
919
|
+
}) {
|
|
920
|
+
return /* @__PURE__ */ jsx28("div", { className: cn("flex items-center gap-3", className), ...props });
|
|
590
921
|
}
|
|
591
922
|
|
|
592
923
|
// src/components/navigation/pagination.tsx
|
|
593
924
|
import "react";
|
|
594
|
-
import { jsx as
|
|
925
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
595
926
|
function Pagination({
|
|
596
927
|
className,
|
|
597
928
|
...props
|
|
598
929
|
}) {
|
|
599
|
-
return /* @__PURE__ */
|
|
930
|
+
return /* @__PURE__ */ jsx29("nav", { "aria-label": "Pagination", className: cn("flex items-center justify-center", className), ...props });
|
|
600
931
|
}
|
|
601
932
|
function PaginationList({
|
|
602
933
|
className,
|
|
603
934
|
...props
|
|
604
935
|
}) {
|
|
605
|
-
return /* @__PURE__ */
|
|
936
|
+
return /* @__PURE__ */ jsx29("ul", { className: cn("flex items-center gap-2", className), ...props });
|
|
606
937
|
}
|
|
607
938
|
function PaginationItem({
|
|
608
939
|
className,
|
|
609
940
|
...props
|
|
610
941
|
}) {
|
|
611
|
-
return /* @__PURE__ */
|
|
942
|
+
return /* @__PURE__ */ jsx29("li", { className: cn(className), ...props });
|
|
612
943
|
}
|
|
613
944
|
function PaginationLink({
|
|
614
945
|
className,
|
|
615
946
|
isActive,
|
|
616
947
|
...props
|
|
617
948
|
}) {
|
|
618
|
-
return /* @__PURE__ */
|
|
949
|
+
return /* @__PURE__ */ jsx29(
|
|
619
950
|
"a",
|
|
620
951
|
{
|
|
621
952
|
className: cn(
|
|
@@ -628,20 +959,84 @@ function PaginationLink({
|
|
|
628
959
|
);
|
|
629
960
|
}
|
|
630
961
|
|
|
962
|
+
// src/components/navigation/sidebar.tsx
|
|
963
|
+
import "react";
|
|
964
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
965
|
+
function Sidebar({
|
|
966
|
+
className,
|
|
967
|
+
...props
|
|
968
|
+
}) {
|
|
969
|
+
return /* @__PURE__ */ jsx30(
|
|
970
|
+
"aside",
|
|
971
|
+
{
|
|
972
|
+
className: cn(
|
|
973
|
+
"flex h-full w-72 flex-col border-r border-gray-200 bg-white",
|
|
974
|
+
className
|
|
975
|
+
),
|
|
976
|
+
...props
|
|
977
|
+
}
|
|
978
|
+
);
|
|
979
|
+
}
|
|
980
|
+
function SidebarHeader({
|
|
981
|
+
className,
|
|
982
|
+
...props
|
|
983
|
+
}) {
|
|
984
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("border-b border-gray-200 p-4", className), ...props });
|
|
985
|
+
}
|
|
986
|
+
function SidebarContent({
|
|
987
|
+
className,
|
|
988
|
+
...props
|
|
989
|
+
}) {
|
|
990
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("flex-1 p-4", className), ...props });
|
|
991
|
+
}
|
|
992
|
+
function SidebarFooter({
|
|
993
|
+
className,
|
|
994
|
+
...props
|
|
995
|
+
}) {
|
|
996
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("border-t border-gray-200 p-4", className), ...props });
|
|
997
|
+
}
|
|
998
|
+
function SidebarGroup({
|
|
999
|
+
className,
|
|
1000
|
+
...props
|
|
1001
|
+
}) {
|
|
1002
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("mb-6 space-y-2", className), ...props });
|
|
1003
|
+
}
|
|
1004
|
+
function SidebarGroupLabel({
|
|
1005
|
+
className,
|
|
1006
|
+
...props
|
|
1007
|
+
}) {
|
|
1008
|
+
return /* @__PURE__ */ jsx30("p", { className: cn("text-xs font-medium uppercase tracking-wide text-gray-500", className), ...props });
|
|
1009
|
+
}
|
|
1010
|
+
function SidebarItem({
|
|
1011
|
+
className,
|
|
1012
|
+
...props
|
|
1013
|
+
}) {
|
|
1014
|
+
return /* @__PURE__ */ jsx30(
|
|
1015
|
+
"a",
|
|
1016
|
+
{
|
|
1017
|
+
className: cn(
|
|
1018
|
+
"flex items-center rounded-xl px-3 py-2 text-sm text-gray-700 transition-colors hover:bg-gray-100 hover:text-gray-900",
|
|
1019
|
+
className
|
|
1020
|
+
),
|
|
1021
|
+
...props
|
|
1022
|
+
}
|
|
1023
|
+
);
|
|
1024
|
+
}
|
|
1025
|
+
|
|
631
1026
|
// src/components/navigation/tabs.tsx
|
|
632
1027
|
import "react";
|
|
633
|
-
import { jsx as
|
|
1028
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
634
1029
|
function Tabs({
|
|
635
1030
|
className,
|
|
636
1031
|
...props
|
|
637
1032
|
}) {
|
|
638
|
-
return /* @__PURE__ */
|
|
1033
|
+
return /* @__PURE__ */ jsx31("div", { className: cn("w-full", className), ...props });
|
|
639
1034
|
}
|
|
640
1035
|
function TabsList({
|
|
641
1036
|
className,
|
|
642
1037
|
...props
|
|
643
1038
|
}) {
|
|
644
|
-
return /* @__PURE__ */
|
|
1039
|
+
return /* @__PURE__ */ jsx31(
|
|
645
1040
|
"div",
|
|
646
1041
|
{
|
|
647
1042
|
className: cn(
|
|
@@ -657,7 +1052,7 @@ function TabsTrigger({
|
|
|
657
1052
|
active,
|
|
658
1053
|
...props
|
|
659
1054
|
}) {
|
|
660
|
-
return /* @__PURE__ */
|
|
1055
|
+
return /* @__PURE__ */ jsx31(
|
|
661
1056
|
"button",
|
|
662
1057
|
{
|
|
663
1058
|
className: cn(
|
|
@@ -673,12 +1068,12 @@ function TabsContent({
|
|
|
673
1068
|
className,
|
|
674
1069
|
...props
|
|
675
1070
|
}) {
|
|
676
|
-
return /* @__PURE__ */
|
|
1071
|
+
return /* @__PURE__ */ jsx31("div", { className: cn("mt-4", className), ...props });
|
|
677
1072
|
}
|
|
678
1073
|
|
|
679
1074
|
// src/components/overlays/drawer.tsx
|
|
680
1075
|
import "react";
|
|
681
|
-
import { jsx as
|
|
1076
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
682
1077
|
function Drawer({
|
|
683
1078
|
className,
|
|
684
1079
|
open = true,
|
|
@@ -686,7 +1081,7 @@ function Drawer({
|
|
|
686
1081
|
...props
|
|
687
1082
|
}) {
|
|
688
1083
|
if (!open) return null;
|
|
689
|
-
return /* @__PURE__ */
|
|
1084
|
+
return /* @__PURE__ */ jsx32("div", { className: "fixed inset-0 z-50 bg-black/40", children: /* @__PURE__ */ jsx32(
|
|
690
1085
|
"div",
|
|
691
1086
|
{
|
|
692
1087
|
className: cn(
|
|
@@ -701,18 +1096,18 @@ function Drawer({
|
|
|
701
1096
|
|
|
702
1097
|
// src/components/overlays/dropdown.tsx
|
|
703
1098
|
import "react";
|
|
704
|
-
import { jsx as
|
|
1099
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
705
1100
|
function Dropdown({
|
|
706
1101
|
className,
|
|
707
1102
|
...props
|
|
708
1103
|
}) {
|
|
709
|
-
return /* @__PURE__ */
|
|
1104
|
+
return /* @__PURE__ */ jsx33("div", { className: cn("relative inline-block text-left", className), ...props });
|
|
710
1105
|
}
|
|
711
1106
|
function DropdownMenu({
|
|
712
1107
|
className,
|
|
713
1108
|
...props
|
|
714
1109
|
}) {
|
|
715
|
-
return /* @__PURE__ */
|
|
1110
|
+
return /* @__PURE__ */ jsx33(
|
|
716
1111
|
"div",
|
|
717
1112
|
{
|
|
718
1113
|
className: cn(
|
|
@@ -727,7 +1122,7 @@ function DropdownItem({
|
|
|
727
1122
|
className,
|
|
728
1123
|
...props
|
|
729
1124
|
}) {
|
|
730
|
-
return /* @__PURE__ */
|
|
1125
|
+
return /* @__PURE__ */ jsx33(
|
|
731
1126
|
"button",
|
|
732
1127
|
{
|
|
733
1128
|
className: cn(
|
|
@@ -741,20 +1136,20 @@ function DropdownItem({
|
|
|
741
1136
|
|
|
742
1137
|
// src/components/overlays/modal.tsx
|
|
743
1138
|
import "react";
|
|
744
|
-
import { jsx as
|
|
1139
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
745
1140
|
function Modal({
|
|
746
1141
|
className,
|
|
747
1142
|
open = true,
|
|
748
1143
|
...props
|
|
749
1144
|
}) {
|
|
750
1145
|
if (!open) return null;
|
|
751
|
-
return /* @__PURE__ */
|
|
1146
|
+
return /* @__PURE__ */ jsx34(
|
|
752
1147
|
"div",
|
|
753
1148
|
{
|
|
754
1149
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",
|
|
755
1150
|
"aria-modal": "true",
|
|
756
1151
|
role: "dialog",
|
|
757
|
-
children: /* @__PURE__ */
|
|
1152
|
+
children: /* @__PURE__ */ jsx34(
|
|
758
1153
|
"div",
|
|
759
1154
|
{
|
|
760
1155
|
className: cn(
|
|
@@ -771,38 +1166,38 @@ function ModalHeader({
|
|
|
771
1166
|
className,
|
|
772
1167
|
...props
|
|
773
1168
|
}) {
|
|
774
|
-
return /* @__PURE__ */
|
|
1169
|
+
return /* @__PURE__ */ jsx34("div", { className: cn("border-b border-gray-200 p-6", className), ...props });
|
|
775
1170
|
}
|
|
776
1171
|
function ModalTitle({
|
|
777
1172
|
className,
|
|
778
1173
|
...props
|
|
779
1174
|
}) {
|
|
780
|
-
return /* @__PURE__ */
|
|
1175
|
+
return /* @__PURE__ */ jsx34("h2", { className: cn("text-lg font-semibold text-gray-900", className), ...props });
|
|
781
1176
|
}
|
|
782
1177
|
function ModalDescription({
|
|
783
1178
|
className,
|
|
784
1179
|
...props
|
|
785
1180
|
}) {
|
|
786
|
-
return /* @__PURE__ */
|
|
1181
|
+
return /* @__PURE__ */ jsx34("p", { className: cn("mt-1 text-sm text-gray-500", className), ...props });
|
|
787
1182
|
}
|
|
788
1183
|
function ModalContent({
|
|
789
1184
|
className,
|
|
790
1185
|
...props
|
|
791
1186
|
}) {
|
|
792
|
-
return /* @__PURE__ */
|
|
1187
|
+
return /* @__PURE__ */ jsx34("div", { className: cn("p-6", className), ...props });
|
|
793
1188
|
}
|
|
794
1189
|
function ModalFooter({
|
|
795
1190
|
className,
|
|
796
1191
|
...props
|
|
797
1192
|
}) {
|
|
798
|
-
return /* @__PURE__ */
|
|
1193
|
+
return /* @__PURE__ */ jsx34("div", { className: cn("flex items-center justify-end gap-3 border-t border-gray-200 p-6", className), ...props });
|
|
799
1194
|
}
|
|
800
1195
|
|
|
801
1196
|
// src/components/overlays/toast.tsx
|
|
802
1197
|
import "react";
|
|
803
|
-
import { cva as
|
|
804
|
-
import { jsx as
|
|
805
|
-
var toastVariants =
|
|
1198
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
1199
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1200
|
+
var toastVariants = cva6(
|
|
806
1201
|
"w-full max-w-sm rounded-2xl border p-4 shadow-lg",
|
|
807
1202
|
{
|
|
808
1203
|
variants: {
|
|
@@ -820,25 +1215,25 @@ var toastVariants = cva4(
|
|
|
820
1215
|
}
|
|
821
1216
|
);
|
|
822
1217
|
function Toast({ className, variant, ...props }) {
|
|
823
|
-
return /* @__PURE__ */
|
|
1218
|
+
return /* @__PURE__ */ jsx35("div", { className: cn(toastVariants({ variant }), className), ...props });
|
|
824
1219
|
}
|
|
825
1220
|
function ToastTitle({
|
|
826
1221
|
className,
|
|
827
1222
|
...props
|
|
828
1223
|
}) {
|
|
829
|
-
return /* @__PURE__ */
|
|
1224
|
+
return /* @__PURE__ */ jsx35("h4", { className: cn("font-semibold", className), ...props });
|
|
830
1225
|
}
|
|
831
1226
|
function ToastDescription({
|
|
832
1227
|
className,
|
|
833
1228
|
...props
|
|
834
1229
|
}) {
|
|
835
|
-
return /* @__PURE__ */
|
|
1230
|
+
return /* @__PURE__ */ jsx35("p", { className: cn("mt-1 text-sm opacity-90", className), ...props });
|
|
836
1231
|
}
|
|
837
1232
|
function ToastViewport({
|
|
838
1233
|
className,
|
|
839
1234
|
...props
|
|
840
1235
|
}) {
|
|
841
|
-
return /* @__PURE__ */
|
|
1236
|
+
return /* @__PURE__ */ jsx35(
|
|
842
1237
|
"div",
|
|
843
1238
|
{
|
|
844
1239
|
className: cn("fixed right-4 top-4 z-50 flex flex-col gap-3", className),
|
|
@@ -849,12 +1244,12 @@ function ToastViewport({
|
|
|
849
1244
|
|
|
850
1245
|
// src/components/overlays/tooltip.tsx
|
|
851
1246
|
import "react";
|
|
852
|
-
import { jsx as
|
|
1247
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
853
1248
|
function Tooltip({
|
|
854
1249
|
className,
|
|
855
1250
|
...props
|
|
856
1251
|
}) {
|
|
857
|
-
return /* @__PURE__ */
|
|
1252
|
+
return /* @__PURE__ */ jsx36(
|
|
858
1253
|
"div",
|
|
859
1254
|
{
|
|
860
1255
|
role: "tooltip",
|
|
@@ -869,12 +1264,12 @@ function Tooltip({
|
|
|
869
1264
|
|
|
870
1265
|
// src/components/marketing/hero.tsx
|
|
871
1266
|
import "react";
|
|
872
|
-
import { jsx as
|
|
1267
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
873
1268
|
function Hero({
|
|
874
1269
|
className,
|
|
875
1270
|
...props
|
|
876
1271
|
}) {
|
|
877
|
-
return /* @__PURE__ */
|
|
1272
|
+
return /* @__PURE__ */ jsx37(
|
|
878
1273
|
"section",
|
|
879
1274
|
{
|
|
880
1275
|
className: cn("relative overflow-hidden py-20 sm:py-28", className),
|
|
@@ -886,13 +1281,13 @@ function HeroContent({
|
|
|
886
1281
|
className,
|
|
887
1282
|
...props
|
|
888
1283
|
}) {
|
|
889
|
-
return /* @__PURE__ */
|
|
1284
|
+
return /* @__PURE__ */ jsx37("div", { className: cn("mx-auto max-w-3xl text-center", className), ...props });
|
|
890
1285
|
}
|
|
891
1286
|
function HeroBadge({
|
|
892
1287
|
className,
|
|
893
1288
|
...props
|
|
894
1289
|
}) {
|
|
895
|
-
return /* @__PURE__ */
|
|
1290
|
+
return /* @__PURE__ */ jsx37(
|
|
896
1291
|
"div",
|
|
897
1292
|
{
|
|
898
1293
|
className: cn(
|
|
@@ -907,25 +1302,30 @@ function HeroTitle({
|
|
|
907
1302
|
className,
|
|
908
1303
|
...props
|
|
909
1304
|
}) {
|
|
910
|
-
return /* @__PURE__ */
|
|
1305
|
+
return /* @__PURE__ */ jsx37("h1", { className: cn("text-4xl font-semibold tracking-tight text-gray-900 sm:text-6xl", className), ...props });
|
|
911
1306
|
}
|
|
912
1307
|
function HeroDescription({
|
|
913
1308
|
className,
|
|
914
1309
|
...props
|
|
915
1310
|
}) {
|
|
916
|
-
return /* @__PURE__ */
|
|
1311
|
+
return /* @__PURE__ */ jsx37("p", { className: cn("mx-auto mt-6 max-w-2xl text-base text-gray-500 sm:text-lg", className), ...props });
|
|
917
1312
|
}
|
|
918
1313
|
function HeroActions({
|
|
919
1314
|
className,
|
|
920
1315
|
...props
|
|
921
1316
|
}) {
|
|
922
|
-
return /* @__PURE__ */
|
|
1317
|
+
return /* @__PURE__ */ jsx37("div", { className: cn("mt-8 flex flex-wrap items-center justify-center gap-3", className), ...props });
|
|
923
1318
|
}
|
|
924
1319
|
export {
|
|
1320
|
+
Accordion,
|
|
1321
|
+
AccordionContent,
|
|
1322
|
+
AccordionItem,
|
|
1323
|
+
AccordionTrigger,
|
|
925
1324
|
Alert,
|
|
926
1325
|
AlertDescription,
|
|
927
1326
|
AlertTitle,
|
|
928
1327
|
Avatar,
|
|
1328
|
+
AvatarFallback,
|
|
929
1329
|
AvatarGroup,
|
|
930
1330
|
Badge,
|
|
931
1331
|
Box,
|
|
@@ -935,12 +1335,20 @@ export {
|
|
|
935
1335
|
BreadcrumbPage,
|
|
936
1336
|
BreadcrumbSeparator,
|
|
937
1337
|
Button,
|
|
1338
|
+
ButtonGroup,
|
|
938
1339
|
Card,
|
|
939
1340
|
CardContent,
|
|
940
1341
|
CardDescription,
|
|
941
1342
|
CardFooter,
|
|
942
1343
|
CardHeader,
|
|
943
1344
|
CardTitle,
|
|
1345
|
+
CommandPalette,
|
|
1346
|
+
CommandPaletteEmpty,
|
|
1347
|
+
CommandPaletteGroup,
|
|
1348
|
+
CommandPaletteGroupLabel,
|
|
1349
|
+
CommandPaletteInput,
|
|
1350
|
+
CommandPaletteItem,
|
|
1351
|
+
CommandPaletteList,
|
|
944
1352
|
Container,
|
|
945
1353
|
Divider,
|
|
946
1354
|
Drawer,
|
|
@@ -963,6 +1371,7 @@ export {
|
|
|
963
1371
|
HeroContent,
|
|
964
1372
|
HeroDescription,
|
|
965
1373
|
HeroTitle,
|
|
1374
|
+
IconButton,
|
|
966
1375
|
Input,
|
|
967
1376
|
Label,
|
|
968
1377
|
Modal,
|
|
@@ -971,6 +1380,14 @@ export {
|
|
|
971
1380
|
ModalFooter,
|
|
972
1381
|
ModalHeader,
|
|
973
1382
|
ModalTitle,
|
|
1383
|
+
Navbar,
|
|
1384
|
+
NavbarActions,
|
|
1385
|
+
NavbarBrand,
|
|
1386
|
+
NavbarNav,
|
|
1387
|
+
Notification,
|
|
1388
|
+
NotificationActions,
|
|
1389
|
+
NotificationDescription,
|
|
1390
|
+
NotificationTitle,
|
|
974
1391
|
Pagination,
|
|
975
1392
|
PaginationItem,
|
|
976
1393
|
PaginationLink,
|
|
@@ -980,6 +1397,15 @@ export {
|
|
|
980
1397
|
SectionHeader,
|
|
981
1398
|
SectionTitle,
|
|
982
1399
|
Select,
|
|
1400
|
+
Sidebar,
|
|
1401
|
+
SidebarContent,
|
|
1402
|
+
SidebarFooter,
|
|
1403
|
+
SidebarGroup,
|
|
1404
|
+
SidebarGroupLabel,
|
|
1405
|
+
SidebarHeader,
|
|
1406
|
+
SidebarItem,
|
|
1407
|
+
Skeleton,
|
|
1408
|
+
Spinner,
|
|
983
1409
|
Stack,
|
|
984
1410
|
Stat,
|
|
985
1411
|
StatChange,
|