@framingui/ui 0.6.1 → 0.6.3
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/LICENSE +21 -0
- package/README.md +22 -1090
- package/dist/chunk-7UBERMRE.mjs +180 -0
- package/dist/index.d.mts +3 -140
- package/dist/index.mjs +257 -1688
- package/dist/src/components/badge.d.ts +1 -1
- package/dist/src/components/button.d.ts +1 -1
- package/dist/src/components/calendar.d.ts.map +1 -1
- package/dist/src/components/calendar.js +12 -11
- package/dist/src/components/calendar.js.map +1 -1
- package/dist/src/components/command.d.ts +7 -7
- package/dist/src/components/select.js +1 -1
- package/dist/src/components/select.js.map +1 -1
- package/dist/src/components/sheet.d.ts +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/theme-loader.d.ts +1 -0
- package/dist/src/lib/theme-loader.d.ts.map +1 -1
- package/dist/src/lib/theme-loader.js.map +1 -1
- package/dist/src/lib/tokens.d.ts +1 -0
- package/dist/src/lib/tokens.d.ts.map +1 -1
- package/dist/src/lib/tokens.js +1 -0
- package/dist/src/lib/tokens.js.map +1 -1
- package/dist/src/primitives/badge.d.ts +1 -1
- package/dist/src/primitives/button.d.ts +1 -1
- package/dist/src/primitives/text.d.ts +1 -1
- package/dist/src/templates/auth/forgot-password.d.ts +2 -2
- package/dist/src/templates/auth/forgot-password.d.ts.map +1 -1
- package/dist/src/templates/auth/forgot-password.js +2 -35
- package/dist/src/templates/auth/forgot-password.js.map +1 -1
- package/dist/src/templates/auth/login.d.ts +2 -2
- package/dist/src/templates/auth/login.d.ts.map +1 -1
- package/dist/src/templates/auth/login.js +2 -35
- package/dist/src/templates/auth/login.js.map +1 -1
- package/dist/src/templates/auth/signup.d.ts +2 -2
- package/dist/src/templates/auth/signup.d.ts.map +1 -1
- package/dist/src/templates/auth/signup.js +2 -35
- package/dist/src/templates/auth/signup.js.map +1 -1
- package/dist/src/templates/auth/verification.d.ts +2 -2
- package/dist/src/templates/auth/verification.d.ts.map +1 -1
- package/dist/src/templates/auth/verification.js +2 -35
- package/dist/src/templates/auth/verification.js.map +1 -1
- package/dist/src/templates/core/landing.d.ts +2 -2
- package/dist/src/templates/core/landing.d.ts.map +1 -1
- package/dist/src/templates/core/landing.js +2 -35
- package/dist/src/templates/core/landing.js.map +1 -1
- package/dist/src/templates/core/preferences.d.ts +2 -2
- package/dist/src/templates/core/preferences.d.ts.map +1 -1
- package/dist/src/templates/core/preferences.js +2 -41
- package/dist/src/templates/core/preferences.js.map +1 -1
- package/dist/src/templates/core/profile.d.ts +2 -2
- package/dist/src/templates/core/profile.d.ts.map +1 -1
- package/dist/src/templates/core/profile.js +2 -35
- package/dist/src/templates/core/profile.js.map +1 -1
- package/dist/src/templates/create-template.d.ts +4 -0
- package/dist/src/templates/create-template.d.ts.map +1 -0
- package/dist/src/templates/create-template.js +41 -0
- package/dist/src/templates/create-template.js.map +1 -0
- package/dist/src/templates/dashboard/overview.d.ts +2 -2
- package/dist/src/templates/dashboard/overview.d.ts.map +1 -1
- package/dist/src/templates/dashboard/overview.js +2 -56
- package/dist/src/templates/dashboard/overview.js.map +1 -1
- package/dist/src/templates/feedback/confirmation.d.ts +2 -2
- package/dist/src/templates/feedback/confirmation.d.ts.map +1 -1
- package/dist/src/templates/feedback/confirmation.js +2 -35
- package/dist/src/templates/feedback/confirmation.js.map +1 -1
- package/dist/src/templates/feedback/empty.d.ts +2 -2
- package/dist/src/templates/feedback/empty.d.ts.map +1 -1
- package/dist/src/templates/feedback/empty.js +2 -35
- package/dist/src/templates/feedback/empty.js.map +1 -1
- package/dist/src/templates/feedback/error.d.ts +2 -2
- package/dist/src/templates/feedback/error.d.ts.map +1 -1
- package/dist/src/templates/feedback/error.js +2 -35
- package/dist/src/templates/feedback/error.js.map +1 -1
- package/dist/src/templates/feedback/loading.d.ts +2 -2
- package/dist/src/templates/feedback/loading.d.ts.map +1 -1
- package/dist/src/templates/feedback/loading.js +2 -35
- package/dist/src/templates/feedback/loading.js.map +1 -1
- package/dist/src/templates/feedback/success.d.ts +2 -2
- package/dist/src/templates/feedback/success.d.ts.map +1 -1
- package/dist/src/templates/feedback/success.js +2 -35
- package/dist/src/templates/feedback/success.js.map +1 -1
- package/dist/templates/index.d.mts +142 -0
- package/dist/templates/index.mjs +905 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -14
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import {
|
|
3
|
+
Button,
|
|
4
|
+
Card,
|
|
5
|
+
CardContent,
|
|
6
|
+
CardDescription,
|
|
7
|
+
CardFooter,
|
|
8
|
+
CardHeader,
|
|
9
|
+
CardTitle,
|
|
10
|
+
Input,
|
|
11
|
+
Label,
|
|
12
|
+
Separator,
|
|
13
|
+
buttonVariants,
|
|
14
|
+
cn
|
|
15
|
+
} from "./chunk-7UBERMRE.mjs";
|
|
9
16
|
|
|
10
17
|
// src/lib/tokens.ts
|
|
11
18
|
var tokenVars = {
|
|
@@ -46,7 +53,8 @@ var tokenVars = {
|
|
|
46
53
|
md: "var(--tekton-radius-md)",
|
|
47
54
|
lg: "var(--tekton-radius-lg)",
|
|
48
55
|
xl: "var(--tekton-radius-xl)",
|
|
49
|
-
full: "var(--tekton-radius-full)"
|
|
56
|
+
full: "var(--tekton-radius-full)",
|
|
57
|
+
select: "var(--tekton-radius-select)"
|
|
50
58
|
},
|
|
51
59
|
// ========================================
|
|
52
60
|
// Spacing Tokens (4px base)
|
|
@@ -295,147 +303,10 @@ function getMotionTransition(transition, motionSafe) {
|
|
|
295
303
|
return transition;
|
|
296
304
|
}
|
|
297
305
|
|
|
298
|
-
// src/components/
|
|
299
|
-
import * as React from "react";
|
|
300
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
306
|
+
// src/components/badge.tsx
|
|
301
307
|
import { cva } from "class-variance-authority";
|
|
302
308
|
import { jsx } from "react/jsx-runtime";
|
|
303
|
-
var
|
|
304
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-[var(--tekton-radius-xl)] text-sm font-medium ring-offset-[var(--tekton-bg-background)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
305
|
-
{
|
|
306
|
-
variants: {
|
|
307
|
-
variant: {
|
|
308
|
-
default: "bg-[var(--tekton-bg-primary)] text-[var(--tekton-bg-primary-foreground)] hover:bg-[var(--tekton-bg-primary)]/90",
|
|
309
|
-
destructive: "bg-[var(--tekton-bg-destructive)] text-[var(--tekton-bg-destructive-foreground)] hover:bg-[var(--tekton-bg-destructive)]/90",
|
|
310
|
-
outline: "border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
|
|
311
|
-
secondary: "bg-[var(--tekton-bg-secondary)] text-[var(--tekton-bg-secondary-foreground)] hover:bg-[var(--tekton-bg-secondary)]/80",
|
|
312
|
-
ghost: "hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
|
|
313
|
-
link: "text-[var(--tekton-bg-primary)] underline-offset-4 hover:underline"
|
|
314
|
-
},
|
|
315
|
-
size: {
|
|
316
|
-
default: "h-10 px-[var(--tekton-spacing-4)] py-[var(--tekton-spacing-2)]",
|
|
317
|
-
sm: "h-9 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-3)]",
|
|
318
|
-
lg: "h-11 rounded-[var(--tekton-radius-xl)] px-[var(--tekton-spacing-8)]",
|
|
319
|
-
icon: "h-10 w-10"
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
defaultVariants: {
|
|
323
|
-
variant: "default",
|
|
324
|
-
size: "default"
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
);
|
|
328
|
-
var Button = React.forwardRef(
|
|
329
|
-
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
330
|
-
const Comp = asChild ? Slot : "button";
|
|
331
|
-
return /* @__PURE__ */ jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
332
|
-
}
|
|
333
|
-
);
|
|
334
|
-
Button.displayName = "Button";
|
|
335
|
-
|
|
336
|
-
// src/components/input.tsx
|
|
337
|
-
import * as React2 from "react";
|
|
338
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
339
|
-
var Input = React2.forwardRef(
|
|
340
|
-
({ className, type, ...props }, ref) => {
|
|
341
|
-
return /* @__PURE__ */ jsx2(
|
|
342
|
-
"input",
|
|
343
|
-
{
|
|
344
|
-
type,
|
|
345
|
-
className: cn(
|
|
346
|
-
"flex h-10 w-full rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm ring-offset-[var(--tekton-bg-background)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--tekton-bg-muted-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
347
|
-
className
|
|
348
|
-
),
|
|
349
|
-
ref,
|
|
350
|
-
...props
|
|
351
|
-
}
|
|
352
|
-
);
|
|
353
|
-
}
|
|
354
|
-
);
|
|
355
|
-
Input.displayName = "Input";
|
|
356
|
-
|
|
357
|
-
// src/components/label.tsx
|
|
358
|
-
import * as React3 from "react";
|
|
359
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
360
|
-
import { cva as cva2 } from "class-variance-authority";
|
|
361
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
362
|
-
var labelVariants = cva2(
|
|
363
|
-
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
364
|
-
);
|
|
365
|
-
var Label = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
|
|
366
|
-
Label.displayName = LabelPrimitive.Root.displayName;
|
|
367
|
-
|
|
368
|
-
// src/components/card.tsx
|
|
369
|
-
import * as React4 from "react";
|
|
370
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
371
|
-
var Card = React4.forwardRef(
|
|
372
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
373
|
-
"div",
|
|
374
|
-
{
|
|
375
|
-
ref,
|
|
376
|
-
className: cn(
|
|
377
|
-
"rounded-[var(--tekton-radius-lg)] border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] text-[var(--tekton-bg-card-foreground)] shadow-sm",
|
|
378
|
-
className
|
|
379
|
-
),
|
|
380
|
-
...props
|
|
381
|
-
}
|
|
382
|
-
)
|
|
383
|
-
);
|
|
384
|
-
Card.displayName = "Card";
|
|
385
|
-
var CardHeader = React4.forwardRef(
|
|
386
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
387
|
-
"div",
|
|
388
|
-
{
|
|
389
|
-
ref,
|
|
390
|
-
className: cn(
|
|
391
|
-
"flex flex-col space-y-[var(--tekton-spacing-2)] p-[var(--tekton-spacing-6)]",
|
|
392
|
-
className
|
|
393
|
-
),
|
|
394
|
-
...props
|
|
395
|
-
}
|
|
396
|
-
)
|
|
397
|
-
);
|
|
398
|
-
CardHeader.displayName = "CardHeader";
|
|
399
|
-
var CardTitle = React4.forwardRef(
|
|
400
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
401
|
-
"h3",
|
|
402
|
-
{
|
|
403
|
-
ref,
|
|
404
|
-
className: cn("text-2xl font-semibold leading-none tracking-tight", className),
|
|
405
|
-
...props
|
|
406
|
-
}
|
|
407
|
-
)
|
|
408
|
-
);
|
|
409
|
-
CardTitle.displayName = "CardTitle";
|
|
410
|
-
var CardDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
411
|
-
"p",
|
|
412
|
-
{
|
|
413
|
-
ref,
|
|
414
|
-
className: cn("text-sm text-[var(--tekton-bg-muted-foreground)]", className),
|
|
415
|
-
...props
|
|
416
|
-
}
|
|
417
|
-
));
|
|
418
|
-
CardDescription.displayName = "CardDescription";
|
|
419
|
-
var CardContent = React4.forwardRef(
|
|
420
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx4("div", { ref, className: cn("p-[var(--tekton-spacing-6)] pt-0", className), ...props })
|
|
421
|
-
);
|
|
422
|
-
CardContent.displayName = "CardContent";
|
|
423
|
-
var CardFooter = React4.forwardRef(
|
|
424
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
|
|
425
|
-
"div",
|
|
426
|
-
{
|
|
427
|
-
ref,
|
|
428
|
-
className: cn("flex items-center p-[var(--tekton-spacing-6)] pt-0", className),
|
|
429
|
-
...props
|
|
430
|
-
}
|
|
431
|
-
)
|
|
432
|
-
);
|
|
433
|
-
CardFooter.displayName = "CardFooter";
|
|
434
|
-
|
|
435
|
-
// src/components/badge.tsx
|
|
436
|
-
import { cva as cva3 } from "class-variance-authority";
|
|
437
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
438
|
-
var badgeVariants = cva3(
|
|
309
|
+
var badgeVariants = cva(
|
|
439
310
|
"inline-flex items-center rounded-[var(--tekton-radius-full)] border px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-1)] text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2",
|
|
440
311
|
{
|
|
441
312
|
variants: {
|
|
@@ -452,14 +323,14 @@ var badgeVariants = cva3(
|
|
|
452
323
|
}
|
|
453
324
|
);
|
|
454
325
|
function Badge({ className, variant, ...props }) {
|
|
455
|
-
return /* @__PURE__ */
|
|
326
|
+
return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
456
327
|
}
|
|
457
328
|
|
|
458
329
|
// src/components/avatar.tsx
|
|
459
|
-
import * as
|
|
330
|
+
import * as React from "react";
|
|
460
331
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
461
|
-
import { jsx as
|
|
462
|
-
var Avatar =
|
|
332
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
333
|
+
var Avatar = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
463
334
|
AvatarPrimitive.Root,
|
|
464
335
|
{
|
|
465
336
|
ref,
|
|
@@ -472,7 +343,7 @@ var Avatar = React5.forwardRef(({ className, children, ...props }, ref) => /* @_
|
|
|
472
343
|
}
|
|
473
344
|
));
|
|
474
345
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
475
|
-
var AvatarImage =
|
|
346
|
+
var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
476
347
|
AvatarPrimitive.Image,
|
|
477
348
|
{
|
|
478
349
|
ref,
|
|
@@ -481,7 +352,7 @@ var AvatarImage = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
481
352
|
}
|
|
482
353
|
));
|
|
483
354
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
484
|
-
var AvatarFallback =
|
|
355
|
+
var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
|
|
485
356
|
AvatarPrimitive.Fallback,
|
|
486
357
|
{
|
|
487
358
|
ref,
|
|
@@ -494,32 +365,12 @@ var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
494
365
|
));
|
|
495
366
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
496
367
|
|
|
497
|
-
// src/components/separator.tsx
|
|
498
|
-
import * as React6 from "react";
|
|
499
|
-
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
500
|
-
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
501
|
-
var Separator = React6.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx7(
|
|
502
|
-
SeparatorPrimitive.Root,
|
|
503
|
-
{
|
|
504
|
-
ref,
|
|
505
|
-
decorative,
|
|
506
|
-
orientation,
|
|
507
|
-
className: cn(
|
|
508
|
-
"shrink-0 bg-[var(--tekton-border-default)]",
|
|
509
|
-
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
510
|
-
className
|
|
511
|
-
),
|
|
512
|
-
...props
|
|
513
|
-
}
|
|
514
|
-
));
|
|
515
|
-
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
516
|
-
|
|
517
368
|
// src/components/checkbox.tsx
|
|
518
|
-
import * as
|
|
369
|
+
import * as React2 from "react";
|
|
519
370
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
520
371
|
import { Check } from "lucide-react";
|
|
521
|
-
import { jsx as
|
|
522
|
-
var Checkbox =
|
|
372
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
373
|
+
var Checkbox = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
523
374
|
CheckboxPrimitive.Root,
|
|
524
375
|
{
|
|
525
376
|
ref,
|
|
@@ -528,18 +379,18 @@ var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
528
379
|
className
|
|
529
380
|
),
|
|
530
381
|
...props,
|
|
531
|
-
children: /* @__PURE__ */
|
|
382
|
+
children: /* @__PURE__ */ jsx3(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx3(Check, { className: "h-4 w-4" }) })
|
|
532
383
|
}
|
|
533
384
|
));
|
|
534
385
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
535
386
|
|
|
536
387
|
// src/components/radio-group.tsx
|
|
537
|
-
import * as
|
|
388
|
+
import * as React3 from "react";
|
|
538
389
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
539
390
|
import { Circle } from "lucide-react";
|
|
540
|
-
import { jsx as
|
|
541
|
-
var RadioGroup =
|
|
542
|
-
return /* @__PURE__ */
|
|
391
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
392
|
+
var RadioGroup = React3.forwardRef(({ className, ...props }, ref) => {
|
|
393
|
+
return /* @__PURE__ */ jsx4(
|
|
543
394
|
RadioGroupPrimitive.Root,
|
|
544
395
|
{
|
|
545
396
|
className: cn("grid gap-[var(--tekton-spacing-2)]", className),
|
|
@@ -549,8 +400,8 @@ var RadioGroup = React8.forwardRef(({ className, ...props }, ref) => {
|
|
|
549
400
|
);
|
|
550
401
|
});
|
|
551
402
|
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
552
|
-
var RadioGroupItem =
|
|
553
|
-
return /* @__PURE__ */
|
|
403
|
+
var RadioGroupItem = React3.forwardRef(({ className, ...props }, ref) => {
|
|
404
|
+
return /* @__PURE__ */ jsx4(
|
|
554
405
|
RadioGroupPrimitive.Item,
|
|
555
406
|
{
|
|
556
407
|
ref,
|
|
@@ -559,17 +410,17 @@ var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => {
|
|
|
559
410
|
className
|
|
560
411
|
),
|
|
561
412
|
...props,
|
|
562
|
-
children: /* @__PURE__ */
|
|
413
|
+
children: /* @__PURE__ */ jsx4(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx4(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
|
|
563
414
|
}
|
|
564
415
|
);
|
|
565
416
|
});
|
|
566
417
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
567
418
|
|
|
568
419
|
// src/components/switch.tsx
|
|
569
|
-
import * as
|
|
420
|
+
import * as React4 from "react";
|
|
570
421
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
571
|
-
import { jsx as
|
|
572
|
-
var Switch =
|
|
422
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
423
|
+
var Switch = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
573
424
|
SwitchPrimitives.Root,
|
|
574
425
|
{
|
|
575
426
|
className: cn(
|
|
@@ -578,7 +429,7 @@ var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
578
429
|
),
|
|
579
430
|
...props,
|
|
580
431
|
ref,
|
|
581
|
-
children: /* @__PURE__ */
|
|
432
|
+
children: /* @__PURE__ */ jsx5(
|
|
582
433
|
SwitchPrimitives.Thumb,
|
|
583
434
|
{
|
|
584
435
|
className: cn(
|
|
@@ -591,11 +442,11 @@ var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
591
442
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
592
443
|
|
|
593
444
|
// src/components/textarea.tsx
|
|
594
|
-
import * as
|
|
595
|
-
import { jsx as
|
|
596
|
-
var Textarea =
|
|
445
|
+
import * as React5 from "react";
|
|
446
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
447
|
+
var Textarea = React5.forwardRef(
|
|
597
448
|
({ className, ...props }, ref) => {
|
|
598
|
-
return /* @__PURE__ */
|
|
449
|
+
return /* @__PURE__ */ jsx6(
|
|
599
450
|
"textarea",
|
|
600
451
|
{
|
|
601
452
|
className: cn(
|
|
@@ -611,9 +462,9 @@ var Textarea = React10.forwardRef(
|
|
|
611
462
|
Textarea.displayName = "Textarea";
|
|
612
463
|
|
|
613
464
|
// src/components/skeleton.tsx
|
|
614
|
-
import { jsx as
|
|
465
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
615
466
|
function Skeleton({ className, ...props }) {
|
|
616
|
-
return /* @__PURE__ */
|
|
467
|
+
return /* @__PURE__ */ jsx7(
|
|
617
468
|
"div",
|
|
618
469
|
{
|
|
619
470
|
className: cn(
|
|
@@ -626,24 +477,24 @@ function Skeleton({ className, ...props }) {
|
|
|
626
477
|
}
|
|
627
478
|
|
|
628
479
|
// src/components/scroll-area.tsx
|
|
629
|
-
import * as
|
|
480
|
+
import * as React6 from "react";
|
|
630
481
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
631
|
-
import { jsx as
|
|
632
|
-
var ScrollArea =
|
|
482
|
+
import { jsx as jsx8, jsxs } from "react/jsx-runtime";
|
|
483
|
+
var ScrollArea = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
633
484
|
ScrollAreaPrimitive.Root,
|
|
634
485
|
{
|
|
635
486
|
ref,
|
|
636
487
|
className: cn("relative overflow-hidden", className),
|
|
637
488
|
...props,
|
|
638
489
|
children: [
|
|
639
|
-
/* @__PURE__ */
|
|
640
|
-
/* @__PURE__ */
|
|
641
|
-
/* @__PURE__ */
|
|
490
|
+
/* @__PURE__ */ jsx8(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
491
|
+
/* @__PURE__ */ jsx8(ScrollBar, {}),
|
|
492
|
+
/* @__PURE__ */ jsx8(ScrollAreaPrimitive.Corner, {})
|
|
642
493
|
]
|
|
643
494
|
}
|
|
644
495
|
));
|
|
645
496
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
646
|
-
var ScrollBar =
|
|
497
|
+
var ScrollBar = React6.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
647
498
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
648
499
|
{
|
|
649
500
|
ref,
|
|
@@ -655,56 +506,56 @@ var ScrollBar = React11.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
655
506
|
className
|
|
656
507
|
),
|
|
657
508
|
...props,
|
|
658
|
-
children: /* @__PURE__ */
|
|
509
|
+
children: /* @__PURE__ */ jsx8(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-[var(--tekton-radius-full)] bg-[var(--tekton-border-default)]" })
|
|
659
510
|
}
|
|
660
511
|
));
|
|
661
512
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
662
513
|
|
|
663
514
|
// src/components/select.tsx
|
|
664
|
-
import * as
|
|
515
|
+
import * as React7 from "react";
|
|
665
516
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
666
517
|
import { Check as Check2, ChevronDown, ChevronUp } from "lucide-react";
|
|
667
|
-
import { jsx as
|
|
518
|
+
import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
668
519
|
var Select = SelectPrimitive.Root;
|
|
669
520
|
var SelectGroup = SelectPrimitive.Group;
|
|
670
521
|
var SelectValue = SelectPrimitive.Value;
|
|
671
|
-
var SelectTrigger =
|
|
522
|
+
var SelectTrigger = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
|
|
672
523
|
SelectPrimitive.Trigger,
|
|
673
524
|
{
|
|
674
525
|
ref,
|
|
675
526
|
className: cn(
|
|
676
|
-
"flex h-10 w-full items-center justify-between rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm ring-offset-[var(--tekton-bg-background)] placeholder:text-[var(--tekton-bg-muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
527
|
+
"flex h-10 w-full items-center justify-between rounded-[var(--tekton-radius-select,var(--tekton-radius-md))] border border-[var(--tekton-border-input)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm ring-offset-[var(--tekton-bg-background)] placeholder:text-[var(--tekton-bg-muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
677
528
|
className
|
|
678
529
|
),
|
|
679
530
|
...props,
|
|
680
531
|
children: [
|
|
681
532
|
children,
|
|
682
|
-
/* @__PURE__ */
|
|
533
|
+
/* @__PURE__ */ jsx9(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx9(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
|
|
683
534
|
]
|
|
684
535
|
}
|
|
685
536
|
));
|
|
686
537
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
687
|
-
var SelectScrollUpButton =
|
|
538
|
+
var SelectScrollUpButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
688
539
|
SelectPrimitive.ScrollUpButton,
|
|
689
540
|
{
|
|
690
541
|
ref,
|
|
691
542
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
692
543
|
...props,
|
|
693
|
-
children: /* @__PURE__ */
|
|
544
|
+
children: /* @__PURE__ */ jsx9(ChevronUp, { className: "h-4 w-4" })
|
|
694
545
|
}
|
|
695
546
|
));
|
|
696
547
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
697
|
-
var SelectScrollDownButton =
|
|
548
|
+
var SelectScrollDownButton = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
698
549
|
SelectPrimitive.ScrollDownButton,
|
|
699
550
|
{
|
|
700
551
|
ref,
|
|
701
552
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
702
553
|
...props,
|
|
703
|
-
children: /* @__PURE__ */
|
|
554
|
+
children: /* @__PURE__ */ jsx9(ChevronDown, { className: "h-4 w-4" })
|
|
704
555
|
}
|
|
705
556
|
));
|
|
706
557
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
707
|
-
var SelectContent =
|
|
558
|
+
var SelectContent = React7.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx9(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
|
|
708
559
|
SelectPrimitive.Content,
|
|
709
560
|
{
|
|
710
561
|
ref,
|
|
@@ -716,8 +567,8 @@ var SelectContent = React12.forwardRef(({ className, children, position = "poppe
|
|
|
716
567
|
position,
|
|
717
568
|
...props,
|
|
718
569
|
children: [
|
|
719
|
-
/* @__PURE__ */
|
|
720
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ jsx9(SelectScrollUpButton, {}),
|
|
571
|
+
/* @__PURE__ */ jsx9(
|
|
721
572
|
SelectPrimitive.Viewport,
|
|
722
573
|
{
|
|
723
574
|
className: cn(
|
|
@@ -727,12 +578,12 @@ var SelectContent = React12.forwardRef(({ className, children, position = "poppe
|
|
|
727
578
|
children
|
|
728
579
|
}
|
|
729
580
|
),
|
|
730
|
-
/* @__PURE__ */
|
|
581
|
+
/* @__PURE__ */ jsx9(SelectScrollDownButton, {})
|
|
731
582
|
]
|
|
732
583
|
}
|
|
733
584
|
) }));
|
|
734
585
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
735
|
-
var SelectLabel =
|
|
586
|
+
var SelectLabel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
736
587
|
SelectPrimitive.Label,
|
|
737
588
|
{
|
|
738
589
|
ref,
|
|
@@ -744,7 +595,7 @@ var SelectLabel = React12.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
744
595
|
}
|
|
745
596
|
));
|
|
746
597
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
747
|
-
var SelectItem =
|
|
598
|
+
var SelectItem = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
|
|
748
599
|
SelectPrimitive.Item,
|
|
749
600
|
{
|
|
750
601
|
ref,
|
|
@@ -754,13 +605,13 @@ var SelectItem = React12.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
754
605
|
),
|
|
755
606
|
...props,
|
|
756
607
|
children: [
|
|
757
|
-
/* @__PURE__ */
|
|
758
|
-
/* @__PURE__ */
|
|
608
|
+
/* @__PURE__ */ jsx9("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx9(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(Check2, { className: "h-4 w-4" }) }) }),
|
|
609
|
+
/* @__PURE__ */ jsx9(SelectPrimitive.ItemText, { children })
|
|
759
610
|
]
|
|
760
611
|
}
|
|
761
612
|
));
|
|
762
613
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
763
|
-
var SelectSeparator =
|
|
614
|
+
var SelectSeparator = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
764
615
|
SelectPrimitive.Separator,
|
|
765
616
|
{
|
|
766
617
|
ref,
|
|
@@ -771,15 +622,15 @@ var SelectSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
771
622
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
772
623
|
|
|
773
624
|
// src/components/dialog.tsx
|
|
774
|
-
import * as
|
|
625
|
+
import * as React8 from "react";
|
|
775
626
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
776
627
|
import { X } from "lucide-react";
|
|
777
|
-
import { jsx as
|
|
628
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
778
629
|
var Dialog = DialogPrimitive.Root;
|
|
779
630
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
780
631
|
var DialogPortal = DialogPrimitive.Portal;
|
|
781
632
|
var DialogClose = DialogPrimitive.Close;
|
|
782
|
-
var DialogOverlay =
|
|
633
|
+
var DialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
783
634
|
DialogPrimitive.Overlay,
|
|
784
635
|
{
|
|
785
636
|
ref,
|
|
@@ -791,8 +642,8 @@ var DialogOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
791
642
|
}
|
|
792
643
|
));
|
|
793
644
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
794
|
-
var DialogContent =
|
|
795
|
-
/* @__PURE__ */
|
|
645
|
+
var DialogContent = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(DialogPortal, { children: [
|
|
646
|
+
/* @__PURE__ */ jsx10(DialogOverlay, {}),
|
|
796
647
|
/* @__PURE__ */ jsxs3(
|
|
797
648
|
DialogPrimitive.Content,
|
|
798
649
|
{
|
|
@@ -805,17 +656,17 @@ var DialogContent = React13.forwardRef(({ className, children, ...props }, ref)
|
|
|
805
656
|
children: [
|
|
806
657
|
children,
|
|
807
658
|
/* @__PURE__ */ jsxs3(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-400 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500", children: [
|
|
808
|
-
/* @__PURE__ */
|
|
809
|
-
/* @__PURE__ */
|
|
659
|
+
/* @__PURE__ */ jsx10(X, { className: "h-4 w-4" }),
|
|
660
|
+
/* @__PURE__ */ jsx10("span", { className: "sr-only", children: "Close" })
|
|
810
661
|
] })
|
|
811
662
|
]
|
|
812
663
|
}
|
|
813
664
|
)
|
|
814
665
|
] }));
|
|
815
666
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
816
|
-
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
667
|
+
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx10("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
817
668
|
DialogHeader.displayName = "DialogHeader";
|
|
818
|
-
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
669
|
+
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx10(
|
|
819
670
|
"div",
|
|
820
671
|
{
|
|
821
672
|
className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
|
|
@@ -823,7 +674,7 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx15(
|
|
|
823
674
|
}
|
|
824
675
|
);
|
|
825
676
|
DialogFooter.displayName = "DialogFooter";
|
|
826
|
-
var DialogTitle =
|
|
677
|
+
var DialogTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
827
678
|
DialogPrimitive.Title,
|
|
828
679
|
{
|
|
829
680
|
ref,
|
|
@@ -832,7 +683,7 @@ var DialogTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
832
683
|
}
|
|
833
684
|
));
|
|
834
685
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
835
|
-
var DialogDescription =
|
|
686
|
+
var DialogDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
836
687
|
DialogPrimitive.Description,
|
|
837
688
|
{
|
|
838
689
|
ref,
|
|
@@ -843,17 +694,17 @@ var DialogDescription = React13.forwardRef(({ className, ...props }, ref) => /*
|
|
|
843
694
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
844
695
|
|
|
845
696
|
// src/components/dropdown-menu.tsx
|
|
846
|
-
import * as
|
|
697
|
+
import * as React9 from "react";
|
|
847
698
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
848
699
|
import { Check as Check3, ChevronRight, Circle as Circle2 } from "lucide-react";
|
|
849
|
-
import { jsx as
|
|
700
|
+
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
850
701
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
851
702
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
852
703
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
853
704
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
854
705
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
855
706
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
856
|
-
var DropdownMenuSubTrigger =
|
|
707
|
+
var DropdownMenuSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
857
708
|
DropdownMenuPrimitive.SubTrigger,
|
|
858
709
|
{
|
|
859
710
|
ref,
|
|
@@ -865,12 +716,12 @@ var DropdownMenuSubTrigger = React14.forwardRef(({ className, inset, children, .
|
|
|
865
716
|
...props,
|
|
866
717
|
children: [
|
|
867
718
|
children,
|
|
868
|
-
/* @__PURE__ */
|
|
719
|
+
/* @__PURE__ */ jsx11(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
869
720
|
]
|
|
870
721
|
}
|
|
871
722
|
));
|
|
872
723
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
873
|
-
var DropdownMenuSubContent =
|
|
724
|
+
var DropdownMenuSubContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
874
725
|
DropdownMenuPrimitive.SubContent,
|
|
875
726
|
{
|
|
876
727
|
ref,
|
|
@@ -882,7 +733,7 @@ var DropdownMenuSubContent = React14.forwardRef(({ className, ...props }, ref) =
|
|
|
882
733
|
}
|
|
883
734
|
));
|
|
884
735
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
885
|
-
var DropdownMenuContent =
|
|
736
|
+
var DropdownMenuContent = React9.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx11(
|
|
886
737
|
DropdownMenuPrimitive.Content,
|
|
887
738
|
{
|
|
888
739
|
ref,
|
|
@@ -895,7 +746,7 @@ var DropdownMenuContent = React14.forwardRef(({ className, sideOffset = 4, ...pr
|
|
|
895
746
|
}
|
|
896
747
|
) }));
|
|
897
748
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
898
|
-
var DropdownMenuItem =
|
|
749
|
+
var DropdownMenuItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
899
750
|
DropdownMenuPrimitive.Item,
|
|
900
751
|
{
|
|
901
752
|
ref,
|
|
@@ -908,7 +759,7 @@ var DropdownMenuItem = React14.forwardRef(({ className, inset, ...props }, ref)
|
|
|
908
759
|
}
|
|
909
760
|
));
|
|
910
761
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
911
|
-
var DropdownMenuCheckboxItem =
|
|
762
|
+
var DropdownMenuCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
912
763
|
DropdownMenuPrimitive.CheckboxItem,
|
|
913
764
|
{
|
|
914
765
|
ref,
|
|
@@ -919,13 +770,13 @@ var DropdownMenuCheckboxItem = React14.forwardRef(({ className, children, checke
|
|
|
919
770
|
checked,
|
|
920
771
|
...props,
|
|
921
772
|
children: [
|
|
922
|
-
/* @__PURE__ */
|
|
773
|
+
/* @__PURE__ */ jsx11("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(Check3, { className: "h-4 w-4" }) }) }),
|
|
923
774
|
children
|
|
924
775
|
]
|
|
925
776
|
}
|
|
926
777
|
));
|
|
927
778
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
928
|
-
var DropdownMenuRadioItem =
|
|
779
|
+
var DropdownMenuRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
929
780
|
DropdownMenuPrimitive.RadioItem,
|
|
930
781
|
{
|
|
931
782
|
ref,
|
|
@@ -935,13 +786,13 @@ var DropdownMenuRadioItem = React14.forwardRef(({ className, children, ...props
|
|
|
935
786
|
),
|
|
936
787
|
...props,
|
|
937
788
|
children: [
|
|
938
|
-
/* @__PURE__ */
|
|
789
|
+
/* @__PURE__ */ jsx11("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
|
|
939
790
|
children
|
|
940
791
|
]
|
|
941
792
|
}
|
|
942
793
|
));
|
|
943
794
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
944
|
-
var DropdownMenuLabel =
|
|
795
|
+
var DropdownMenuLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
945
796
|
DropdownMenuPrimitive.Label,
|
|
946
797
|
{
|
|
947
798
|
ref,
|
|
@@ -954,7 +805,7 @@ var DropdownMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref)
|
|
|
954
805
|
}
|
|
955
806
|
));
|
|
956
807
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
957
|
-
var DropdownMenuSeparator =
|
|
808
|
+
var DropdownMenuSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
958
809
|
DropdownMenuPrimitive.Separator,
|
|
959
810
|
{
|
|
960
811
|
ref,
|
|
@@ -964,22 +815,22 @@ var DropdownMenuSeparator = React14.forwardRef(({ className, ...props }, ref) =>
|
|
|
964
815
|
));
|
|
965
816
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
966
817
|
var DropdownMenuShortcut = ({ className, ...props }) => {
|
|
967
|
-
return /* @__PURE__ */
|
|
818
|
+
return /* @__PURE__ */ jsx11("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
968
819
|
};
|
|
969
820
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
970
821
|
|
|
971
822
|
// src/components/table.tsx
|
|
972
|
-
import * as
|
|
973
|
-
import { jsx as
|
|
974
|
-
var Table =
|
|
975
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
823
|
+
import * as React10 from "react";
|
|
824
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
825
|
+
var Table = React10.forwardRef(
|
|
826
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx12("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx12("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
|
|
976
827
|
);
|
|
977
828
|
Table.displayName = "Table";
|
|
978
|
-
var TableHeader =
|
|
829
|
+
var TableHeader = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
979
830
|
TableHeader.displayName = "TableHeader";
|
|
980
|
-
var TableBody =
|
|
831
|
+
var TableBody = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
981
832
|
TableBody.displayName = "TableBody";
|
|
982
|
-
var TableFooter =
|
|
833
|
+
var TableFooter = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
983
834
|
"tfoot",
|
|
984
835
|
{
|
|
985
836
|
ref,
|
|
@@ -991,8 +842,8 @@ var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
991
842
|
}
|
|
992
843
|
));
|
|
993
844
|
TableFooter.displayName = "TableFooter";
|
|
994
|
-
var TableRow =
|
|
995
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
845
|
+
var TableRow = React10.forwardRef(
|
|
846
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
996
847
|
"tr",
|
|
997
848
|
{
|
|
998
849
|
ref,
|
|
@@ -1005,7 +856,7 @@ var TableRow = React15.forwardRef(
|
|
|
1005
856
|
)
|
|
1006
857
|
);
|
|
1007
858
|
TableRow.displayName = "TableRow";
|
|
1008
|
-
var TableHead =
|
|
859
|
+
var TableHead = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
1009
860
|
"th",
|
|
1010
861
|
{
|
|
1011
862
|
ref,
|
|
@@ -1017,7 +868,7 @@ var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1017
868
|
}
|
|
1018
869
|
));
|
|
1019
870
|
TableHead.displayName = "TableHead";
|
|
1020
|
-
var TableCell =
|
|
871
|
+
var TableCell = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
1021
872
|
"td",
|
|
1022
873
|
{
|
|
1023
874
|
ref,
|
|
@@ -1029,7 +880,7 @@ var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1029
880
|
}
|
|
1030
881
|
));
|
|
1031
882
|
TableCell.displayName = "TableCell";
|
|
1032
|
-
var TableCaption =
|
|
883
|
+
var TableCaption = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
1033
884
|
"caption",
|
|
1034
885
|
{
|
|
1035
886
|
ref,
|
|
@@ -1043,11 +894,11 @@ var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1043
894
|
TableCaption.displayName = "TableCaption";
|
|
1044
895
|
|
|
1045
896
|
// src/components/tabs.tsx
|
|
1046
|
-
import * as
|
|
897
|
+
import * as React11 from "react";
|
|
1047
898
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
1048
|
-
import { jsx as
|
|
899
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1049
900
|
var Tabs = TabsPrimitive.Root;
|
|
1050
|
-
var TabsList =
|
|
901
|
+
var TabsList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
1051
902
|
TabsPrimitive.List,
|
|
1052
903
|
{
|
|
1053
904
|
ref,
|
|
@@ -1059,7 +910,7 @@ var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1059
910
|
}
|
|
1060
911
|
));
|
|
1061
912
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
1062
|
-
var TabsTrigger =
|
|
913
|
+
var TabsTrigger = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
1063
914
|
TabsPrimitive.Trigger,
|
|
1064
915
|
{
|
|
1065
916
|
ref,
|
|
@@ -1071,7 +922,7 @@ var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1071
922
|
}
|
|
1072
923
|
));
|
|
1073
924
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
1074
|
-
var TabsContent =
|
|
925
|
+
var TabsContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
1075
926
|
TabsPrimitive.Content,
|
|
1076
927
|
{
|
|
1077
928
|
ref,
|
|
@@ -1085,13 +936,13 @@ var TabsContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1085
936
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
1086
937
|
|
|
1087
938
|
// src/components/toast.tsx
|
|
1088
|
-
import * as
|
|
939
|
+
import * as React12 from "react";
|
|
1089
940
|
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
1090
|
-
import { cva as
|
|
941
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
1091
942
|
import { X as X2 } from "lucide-react";
|
|
1092
|
-
import { jsx as
|
|
943
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1093
944
|
var ToastProvider = ToastPrimitives.Provider;
|
|
1094
|
-
var ToastViewport =
|
|
945
|
+
var ToastViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1095
946
|
ToastPrimitives.Viewport,
|
|
1096
947
|
{
|
|
1097
948
|
ref,
|
|
@@ -1103,7 +954,7 @@ var ToastViewport = React17.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1103
954
|
}
|
|
1104
955
|
));
|
|
1105
956
|
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
1106
|
-
var toastVariants =
|
|
957
|
+
var toastVariants = cva2(
|
|
1107
958
|
"group pointer-events-auto relative flex w-full items-center justify-between space-x-[var(--tekton-spacing-4)] overflow-hidden rounded-[var(--tekton-radius-md)] border border-[var(--tekton-border-default)] p-[var(--tekton-spacing-6)] pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
1108
959
|
{
|
|
1109
960
|
variants: {
|
|
@@ -1117,8 +968,8 @@ var toastVariants = cva4(
|
|
|
1117
968
|
}
|
|
1118
969
|
}
|
|
1119
970
|
);
|
|
1120
|
-
var Toast =
|
|
1121
|
-
return /* @__PURE__ */
|
|
971
|
+
var Toast = React12.forwardRef(({ className, variant, ...props }, ref) => {
|
|
972
|
+
return /* @__PURE__ */ jsx14(
|
|
1122
973
|
ToastPrimitives.Root,
|
|
1123
974
|
{
|
|
1124
975
|
ref,
|
|
@@ -1128,7 +979,7 @@ var Toast = React17.forwardRef(({ className, variant, ...props }, ref) => {
|
|
|
1128
979
|
);
|
|
1129
980
|
});
|
|
1130
981
|
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
1131
|
-
var ToastAction =
|
|
982
|
+
var ToastAction = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1132
983
|
ToastPrimitives.Action,
|
|
1133
984
|
{
|
|
1134
985
|
ref,
|
|
@@ -1140,7 +991,7 @@ var ToastAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1140
991
|
}
|
|
1141
992
|
));
|
|
1142
993
|
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
1143
|
-
var ToastClose =
|
|
994
|
+
var ToastClose = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1144
995
|
ToastPrimitives.Close,
|
|
1145
996
|
{
|
|
1146
997
|
ref,
|
|
@@ -1150,13 +1001,13 @@ var ToastClose = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1150
1001
|
),
|
|
1151
1002
|
"toast-close": "",
|
|
1152
1003
|
...props,
|
|
1153
|
-
children: /* @__PURE__ */
|
|
1004
|
+
children: /* @__PURE__ */ jsx14(X2, { className: "h-4 w-4" })
|
|
1154
1005
|
}
|
|
1155
1006
|
));
|
|
1156
1007
|
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
1157
|
-
var ToastTitle =
|
|
1008
|
+
var ToastTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
|
|
1158
1009
|
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
1159
|
-
var ToastDescription =
|
|
1010
|
+
var ToastDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
1160
1011
|
ToastPrimitives.Description,
|
|
1161
1012
|
{
|
|
1162
1013
|
ref,
|
|
@@ -1167,13 +1018,13 @@ var ToastDescription = React17.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1167
1018
|
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
1168
1019
|
|
|
1169
1020
|
// src/components/tooltip.tsx
|
|
1170
|
-
import * as
|
|
1021
|
+
import * as React13 from "react";
|
|
1171
1022
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
1172
|
-
import { jsx as
|
|
1023
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1173
1024
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
1174
1025
|
var Tooltip = TooltipPrimitive.Root;
|
|
1175
1026
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
1176
|
-
var TooltipContent =
|
|
1027
|
+
var TooltipContent = React13.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx15(
|
|
1177
1028
|
TooltipPrimitive.Content,
|
|
1178
1029
|
{
|
|
1179
1030
|
ref,
|
|
@@ -1188,12 +1039,12 @@ var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
1188
1039
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
1189
1040
|
|
|
1190
1041
|
// src/components/popover.tsx
|
|
1191
|
-
import * as
|
|
1042
|
+
import * as React14 from "react";
|
|
1192
1043
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1193
|
-
import { jsx as
|
|
1044
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1194
1045
|
var Popover = PopoverPrimitive.Root;
|
|
1195
1046
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1196
|
-
var PopoverContent =
|
|
1047
|
+
var PopoverContent = React14.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx16(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
|
|
1197
1048
|
PopoverPrimitive.Content,
|
|
1198
1049
|
{
|
|
1199
1050
|
ref,
|
|
@@ -1209,16 +1060,16 @@ var PopoverContent = React19.forwardRef(({ className, align = "center", sideOffs
|
|
|
1209
1060
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1210
1061
|
|
|
1211
1062
|
// src/components/sheet.tsx
|
|
1212
|
-
import * as
|
|
1063
|
+
import * as React15 from "react";
|
|
1213
1064
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
1214
|
-
import { cva as
|
|
1065
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
1215
1066
|
import { X as X3 } from "lucide-react";
|
|
1216
|
-
import { jsx as
|
|
1067
|
+
import { jsx as jsx17, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1217
1068
|
var Sheet = SheetPrimitive.Root;
|
|
1218
1069
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
1219
1070
|
var SheetClose = SheetPrimitive.Close;
|
|
1220
1071
|
var SheetPortal = SheetPrimitive.Portal;
|
|
1221
|
-
var SheetOverlay =
|
|
1072
|
+
var SheetOverlay = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1222
1073
|
SheetPrimitive.Overlay,
|
|
1223
1074
|
{
|
|
1224
1075
|
className: cn(
|
|
@@ -1230,7 +1081,7 @@ var SheetOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1230
1081
|
}
|
|
1231
1082
|
));
|
|
1232
1083
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
1233
|
-
var sheetVariants =
|
|
1084
|
+
var sheetVariants = cva3(
|
|
1234
1085
|
"fixed z-50 gap-[var(--tekton-spacing-4)] bg-[var(--tekton-bg-background)] p-[var(--tekton-spacing-6)] shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
1235
1086
|
{
|
|
1236
1087
|
variants: {
|
|
@@ -1246,18 +1097,18 @@ var sheetVariants = cva5(
|
|
|
1246
1097
|
}
|
|
1247
1098
|
}
|
|
1248
1099
|
);
|
|
1249
|
-
var SheetContent =
|
|
1250
|
-
/* @__PURE__ */
|
|
1100
|
+
var SheetContent = React15.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(SheetPortal, { children: [
|
|
1101
|
+
/* @__PURE__ */ jsx17(SheetOverlay, {}),
|
|
1251
1102
|
/* @__PURE__ */ jsxs5(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
|
|
1252
1103
|
children,
|
|
1253
1104
|
/* @__PURE__ */ jsxs5(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-[var(--tekton-radius-sm)] opacity-70 ring-offset-[var(--tekton-bg-background)] transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--tekton-border-ring)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-[var(--tekton-bg-secondary)]", children: [
|
|
1254
|
-
/* @__PURE__ */
|
|
1255
|
-
/* @__PURE__ */
|
|
1105
|
+
/* @__PURE__ */ jsx17(X3, { className: "h-4 w-4" }),
|
|
1106
|
+
/* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
|
|
1256
1107
|
] })
|
|
1257
1108
|
] })
|
|
1258
1109
|
] }));
|
|
1259
1110
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
1260
|
-
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
1111
|
+
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx17(
|
|
1261
1112
|
"div",
|
|
1262
1113
|
{
|
|
1263
1114
|
className: cn(
|
|
@@ -1268,7 +1119,7 @@ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22(
|
|
|
1268
1119
|
}
|
|
1269
1120
|
);
|
|
1270
1121
|
SheetHeader.displayName = "SheetHeader";
|
|
1271
|
-
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
1122
|
+
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx17(
|
|
1272
1123
|
"div",
|
|
1273
1124
|
{
|
|
1274
1125
|
className: cn(
|
|
@@ -1279,7 +1130,7 @@ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx22(
|
|
|
1279
1130
|
}
|
|
1280
1131
|
);
|
|
1281
1132
|
SheetFooter.displayName = "SheetFooter";
|
|
1282
|
-
var SheetTitle =
|
|
1133
|
+
var SheetTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1283
1134
|
SheetPrimitive.Title,
|
|
1284
1135
|
{
|
|
1285
1136
|
ref,
|
|
@@ -1288,7 +1139,7 @@ var SheetTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1288
1139
|
}
|
|
1289
1140
|
));
|
|
1290
1141
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
1291
|
-
var SheetDescription =
|
|
1142
|
+
var SheetDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1292
1143
|
SheetPrimitive.Description,
|
|
1293
1144
|
{
|
|
1294
1145
|
ref,
|
|
@@ -1299,13 +1150,13 @@ var SheetDescription = React20.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1299
1150
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
1300
1151
|
|
|
1301
1152
|
// src/components/alert-dialog.tsx
|
|
1302
|
-
import * as
|
|
1153
|
+
import * as React16 from "react";
|
|
1303
1154
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
1304
|
-
import { jsx as
|
|
1155
|
+
import { jsx as jsx18, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1305
1156
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
1306
1157
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
1307
1158
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
1308
|
-
var AlertDialogOverlay =
|
|
1159
|
+
var AlertDialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1309
1160
|
AlertDialogPrimitive.Overlay,
|
|
1310
1161
|
{
|
|
1311
1162
|
className: cn(
|
|
@@ -1317,9 +1168,9 @@ var AlertDialogOverlay = React21.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1317
1168
|
}
|
|
1318
1169
|
));
|
|
1319
1170
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
1320
|
-
var AlertDialogContent =
|
|
1321
|
-
/* @__PURE__ */
|
|
1322
|
-
/* @__PURE__ */
|
|
1171
|
+
var AlertDialogContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6(AlertDialogPortal, { children: [
|
|
1172
|
+
/* @__PURE__ */ jsx18(AlertDialogOverlay, {}),
|
|
1173
|
+
/* @__PURE__ */ jsx18(
|
|
1323
1174
|
AlertDialogPrimitive.Content,
|
|
1324
1175
|
{
|
|
1325
1176
|
ref,
|
|
@@ -1332,9 +1183,9 @@ var AlertDialogContent = React21.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1332
1183
|
)
|
|
1333
1184
|
] }));
|
|
1334
1185
|
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
1335
|
-
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
1186
|
+
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx18("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
1336
1187
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
1337
|
-
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
1188
|
+
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx18(
|
|
1338
1189
|
"div",
|
|
1339
1190
|
{
|
|
1340
1191
|
className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
|
|
@@ -1342,7 +1193,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx23(
|
|
|
1342
1193
|
}
|
|
1343
1194
|
);
|
|
1344
1195
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
1345
|
-
var AlertDialogTitle =
|
|
1196
|
+
var AlertDialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1346
1197
|
AlertDialogPrimitive.Title,
|
|
1347
1198
|
{
|
|
1348
1199
|
ref,
|
|
@@ -1351,7 +1202,7 @@ var AlertDialogTitle = React21.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1351
1202
|
}
|
|
1352
1203
|
));
|
|
1353
1204
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
1354
|
-
var AlertDialogDescription =
|
|
1205
|
+
var AlertDialogDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1355
1206
|
AlertDialogPrimitive.Description,
|
|
1356
1207
|
{
|
|
1357
1208
|
ref,
|
|
@@ -1360,9 +1211,9 @@ var AlertDialogDescription = React21.forwardRef(({ className, ...props }, ref) =
|
|
|
1360
1211
|
}
|
|
1361
1212
|
));
|
|
1362
1213
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
1363
|
-
var AlertDialogAction =
|
|
1214
|
+
var AlertDialogAction = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
|
|
1364
1215
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
1365
|
-
var AlertDialogCancel =
|
|
1216
|
+
var AlertDialogCancel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1366
1217
|
AlertDialogPrimitive.Cancel,
|
|
1367
1218
|
{
|
|
1368
1219
|
ref,
|
|
@@ -1373,10 +1224,10 @@ var AlertDialogCancel = React21.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1373
1224
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
1374
1225
|
|
|
1375
1226
|
// src/components/progress.tsx
|
|
1376
|
-
import * as
|
|
1227
|
+
import * as React17 from "react";
|
|
1377
1228
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
1378
|
-
import { jsx as
|
|
1379
|
-
var Progress =
|
|
1229
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1230
|
+
var Progress = React17.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx19(
|
|
1380
1231
|
ProgressPrimitive.Root,
|
|
1381
1232
|
{
|
|
1382
1233
|
ref,
|
|
@@ -1389,7 +1240,7 @@ var Progress = React22.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
1389
1240
|
className
|
|
1390
1241
|
),
|
|
1391
1242
|
...props,
|
|
1392
|
-
children: /* @__PURE__ */
|
|
1243
|
+
children: /* @__PURE__ */ jsx19(
|
|
1393
1244
|
ProgressPrimitive.Indicator,
|
|
1394
1245
|
{
|
|
1395
1246
|
className: "h-full w-full flex-1 bg-[var(--tekton-bg-primary)] transition-all",
|
|
@@ -1401,10 +1252,10 @@ var Progress = React22.forwardRef(({ className, value, ...props }, ref) => /* @_
|
|
|
1401
1252
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
1402
1253
|
|
|
1403
1254
|
// src/components/sidebar.tsx
|
|
1404
|
-
import * as
|
|
1405
|
-
import { cva as
|
|
1406
|
-
import { jsx as
|
|
1407
|
-
var sidebarVariants =
|
|
1255
|
+
import * as React18 from "react";
|
|
1256
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
1257
|
+
import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1258
|
+
var sidebarVariants = cva4(
|
|
1408
1259
|
"flex flex-col border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)] transition-all duration-300",
|
|
1409
1260
|
{
|
|
1410
1261
|
variants: {
|
|
@@ -1424,7 +1275,7 @@ var sidebarVariants = cva6(
|
|
|
1424
1275
|
}
|
|
1425
1276
|
}
|
|
1426
1277
|
);
|
|
1427
|
-
var sidebarHeaderVariants =
|
|
1278
|
+
var sidebarHeaderVariants = cva4(
|
|
1428
1279
|
"flex items-center gap-[var(--tekton-spacing-2)] border-b border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] p-[var(--tekton-spacing-4)]",
|
|
1429
1280
|
{
|
|
1430
1281
|
variants: {
|
|
@@ -1439,7 +1290,7 @@ var sidebarHeaderVariants = cva6(
|
|
|
1439
1290
|
}
|
|
1440
1291
|
}
|
|
1441
1292
|
);
|
|
1442
|
-
var sidebarContentVariants =
|
|
1293
|
+
var sidebarContentVariants = cva4("flex-1 overflow-y-auto p-[var(--tekton-spacing-4)]", {
|
|
1443
1294
|
variants: {
|
|
1444
1295
|
spacing: {
|
|
1445
1296
|
default: "space-y-[var(--tekton-spacing-2)]",
|
|
@@ -1451,7 +1302,7 @@ var sidebarContentVariants = cva6("flex-1 overflow-y-auto p-[var(--tekton-spacin
|
|
|
1451
1302
|
spacing: "default"
|
|
1452
1303
|
}
|
|
1453
1304
|
});
|
|
1454
|
-
var sidebarItemVariants =
|
|
1305
|
+
var sidebarItemVariants = cva4(
|
|
1455
1306
|
"flex w-full items-center gap-[var(--tekton-spacing-3)] rounded-[var(--tekton-radius-md)] px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
1456
1307
|
{
|
|
1457
1308
|
variants: {
|
|
@@ -1465,24 +1316,24 @@ var sidebarItemVariants = cva6(
|
|
|
1465
1316
|
}
|
|
1466
1317
|
}
|
|
1467
1318
|
);
|
|
1468
|
-
var sidebarSectionVariants =
|
|
1319
|
+
var sidebarSectionVariants = cva4("space-y-[var(--tekton-spacing-1)]", {
|
|
1469
1320
|
variants: {}
|
|
1470
1321
|
});
|
|
1471
|
-
var sidebarSectionTitleVariants =
|
|
1322
|
+
var sidebarSectionTitleVariants = cva4(
|
|
1472
1323
|
"px-[var(--tekton-spacing-3)] py-[var(--tekton-spacing-2)] text-xs font-semibold uppercase tracking-wider text-[var(--tekton-text-muted-foreground)]",
|
|
1473
1324
|
{
|
|
1474
1325
|
variants: {}
|
|
1475
1326
|
}
|
|
1476
1327
|
);
|
|
1477
|
-
var sidebarFooterVariants =
|
|
1328
|
+
var sidebarFooterVariants = cva4(
|
|
1478
1329
|
"border-t border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)]",
|
|
1479
1330
|
{
|
|
1480
1331
|
variants: {}
|
|
1481
1332
|
}
|
|
1482
1333
|
);
|
|
1483
|
-
var Sidebar =
|
|
1334
|
+
var Sidebar = React18.forwardRef(
|
|
1484
1335
|
({ className, variant, size, collapsed, ...props }, ref) => {
|
|
1485
|
-
return /* @__PURE__ */
|
|
1336
|
+
return /* @__PURE__ */ jsx20(
|
|
1486
1337
|
"div",
|
|
1487
1338
|
{
|
|
1488
1339
|
ref,
|
|
@@ -1495,19 +1346,19 @@ var Sidebar = React23.forwardRef(
|
|
|
1495
1346
|
}
|
|
1496
1347
|
);
|
|
1497
1348
|
Sidebar.displayName = "Sidebar";
|
|
1498
|
-
var SidebarHeader =
|
|
1349
|
+
var SidebarHeader = React18.forwardRef(
|
|
1499
1350
|
({ className, size, ...props }, ref) => {
|
|
1500
|
-
return /* @__PURE__ */
|
|
1351
|
+
return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarHeaderVariants({ size, className })), ...props });
|
|
1501
1352
|
}
|
|
1502
1353
|
);
|
|
1503
1354
|
SidebarHeader.displayName = "SidebarHeader";
|
|
1504
|
-
var SidebarContent =
|
|
1355
|
+
var SidebarContent = React18.forwardRef(
|
|
1505
1356
|
({ className, spacing, ...props }, ref) => {
|
|
1506
|
-
return /* @__PURE__ */
|
|
1357
|
+
return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarContentVariants({ spacing, className })), ...props });
|
|
1507
1358
|
}
|
|
1508
1359
|
);
|
|
1509
1360
|
SidebarContent.displayName = "SidebarContent";
|
|
1510
|
-
var SidebarItem =
|
|
1361
|
+
var SidebarItem = React18.forwardRef(
|
|
1511
1362
|
({ className, variant, icon, badge, children, active, ...props }, ref) => {
|
|
1512
1363
|
return /* @__PURE__ */ jsxs7(
|
|
1513
1364
|
"button",
|
|
@@ -1516,25 +1367,25 @@ var SidebarItem = React23.forwardRef(
|
|
|
1516
1367
|
className: cn(sidebarItemVariants({ variant: active ? "active" : variant, className })),
|
|
1517
1368
|
...props,
|
|
1518
1369
|
children: [
|
|
1519
|
-
icon && /* @__PURE__ */
|
|
1520
|
-
/* @__PURE__ */
|
|
1521
|
-
badge && /* @__PURE__ */
|
|
1370
|
+
icon && /* @__PURE__ */ jsx20("span", { className: "flex-shrink-0", children: icon }),
|
|
1371
|
+
/* @__PURE__ */ jsx20("span", { className: "flex-1 truncate text-left", children }),
|
|
1372
|
+
badge && /* @__PURE__ */ jsx20("span", { className: "flex-shrink-0", children: badge })
|
|
1522
1373
|
]
|
|
1523
1374
|
}
|
|
1524
1375
|
);
|
|
1525
1376
|
}
|
|
1526
1377
|
);
|
|
1527
1378
|
SidebarItem.displayName = "SidebarItem";
|
|
1528
|
-
var SidebarSection =
|
|
1379
|
+
var SidebarSection = React18.forwardRef(
|
|
1529
1380
|
({ className, title, collapsed, children, ...props }, ref) => {
|
|
1530
|
-
const [isCollapsed, setIsCollapsed] =
|
|
1531
|
-
|
|
1381
|
+
const [isCollapsed, setIsCollapsed] = React18.useState(collapsed ?? false);
|
|
1382
|
+
React18.useEffect(() => {
|
|
1532
1383
|
if (collapsed !== void 0) {
|
|
1533
1384
|
setIsCollapsed(collapsed);
|
|
1534
1385
|
}
|
|
1535
1386
|
}, [collapsed]);
|
|
1536
1387
|
return /* @__PURE__ */ jsxs7("div", { ref, className: cn(sidebarSectionVariants({ className })), ...props, children: [
|
|
1537
|
-
title && /* @__PURE__ */
|
|
1388
|
+
title && /* @__PURE__ */ jsx20(
|
|
1538
1389
|
"button",
|
|
1539
1390
|
{
|
|
1540
1391
|
className: cn(
|
|
@@ -1545,7 +1396,7 @@ var SidebarSection = React23.forwardRef(
|
|
|
1545
1396
|
"aria-expanded": !isCollapsed,
|
|
1546
1397
|
children: /* @__PURE__ */ jsxs7("span", { className: "flex items-center justify-between", children: [
|
|
1547
1398
|
title,
|
|
1548
|
-
/* @__PURE__ */
|
|
1399
|
+
/* @__PURE__ */ jsx20(
|
|
1549
1400
|
"span",
|
|
1550
1401
|
{
|
|
1551
1402
|
className: cn("transition-transform", isCollapsed ? "rotate-0" : "rotate-90"),
|
|
@@ -1556,30 +1407,30 @@ var SidebarSection = React23.forwardRef(
|
|
|
1556
1407
|
] })
|
|
1557
1408
|
}
|
|
1558
1409
|
),
|
|
1559
|
-
!isCollapsed && /* @__PURE__ */
|
|
1410
|
+
!isCollapsed && /* @__PURE__ */ jsx20("div", { className: "space-y-[var(--tekton-spacing-1)]", children })
|
|
1560
1411
|
] });
|
|
1561
1412
|
}
|
|
1562
1413
|
);
|
|
1563
1414
|
SidebarSection.displayName = "SidebarSection";
|
|
1564
|
-
var SidebarSectionTitle =
|
|
1415
|
+
var SidebarSectionTitle = React18.forwardRef(
|
|
1565
1416
|
({ className, ...props }, ref) => {
|
|
1566
|
-
return /* @__PURE__ */
|
|
1417
|
+
return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarSectionTitleVariants({ className })), ...props });
|
|
1567
1418
|
}
|
|
1568
1419
|
);
|
|
1569
1420
|
SidebarSectionTitle.displayName = "SidebarSectionTitle";
|
|
1570
|
-
var SidebarFooter =
|
|
1421
|
+
var SidebarFooter = React18.forwardRef(
|
|
1571
1422
|
({ className, ...props }, ref) => {
|
|
1572
|
-
return /* @__PURE__ */
|
|
1423
|
+
return /* @__PURE__ */ jsx20("div", { ref, className: cn(sidebarFooterVariants({ className })), ...props });
|
|
1573
1424
|
}
|
|
1574
1425
|
);
|
|
1575
1426
|
SidebarFooter.displayName = "SidebarFooter";
|
|
1576
1427
|
|
|
1577
1428
|
// src/components/navigation-menu.tsx
|
|
1578
|
-
import * as
|
|
1429
|
+
import * as React19 from "react";
|
|
1579
1430
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
1580
|
-
import { cva as
|
|
1581
|
-
import { jsx as
|
|
1582
|
-
var NavigationMenu =
|
|
1431
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
1432
|
+
import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1433
|
+
var NavigationMenu = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
|
|
1583
1434
|
NavigationMenuPrimitive.Root,
|
|
1584
1435
|
{
|
|
1585
1436
|
ref,
|
|
@@ -1587,12 +1438,12 @@ var NavigationMenu = React24.forwardRef(({ className, children, ...props }, ref)
|
|
|
1587
1438
|
...props,
|
|
1588
1439
|
children: [
|
|
1589
1440
|
children,
|
|
1590
|
-
/* @__PURE__ */
|
|
1441
|
+
/* @__PURE__ */ jsx21(NavigationMenuViewport, {})
|
|
1591
1442
|
]
|
|
1592
1443
|
}
|
|
1593
1444
|
));
|
|
1594
1445
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
1595
|
-
var NavigationMenuList =
|
|
1446
|
+
var NavigationMenuList = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1596
1447
|
NavigationMenuPrimitive.List,
|
|
1597
1448
|
{
|
|
1598
1449
|
ref,
|
|
@@ -1605,10 +1456,10 @@ var NavigationMenuList = React24.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1605
1456
|
));
|
|
1606
1457
|
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
1607
1458
|
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
1608
|
-
var navigationMenuTriggerStyle =
|
|
1459
|
+
var navigationMenuTriggerStyle = cva5(
|
|
1609
1460
|
"group inline-flex h-10 w-max items-center justify-center rounded-[var(--tekton-radius-md)] bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-4)] py-[var(--tekton-spacing-2)] text-sm font-medium transition-colors hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)] focus:bg-[var(--tekton-bg-accent)] focus:text-[var(--tekton-bg-accent-foreground)] focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-[var(--tekton-bg-accent)]/50 data-[state=open]:bg-[var(--tekton-bg-accent)]/50"
|
|
1610
1461
|
);
|
|
1611
|
-
var NavigationMenuTrigger =
|
|
1462
|
+
var NavigationMenuTrigger = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(
|
|
1612
1463
|
NavigationMenuPrimitive.Trigger,
|
|
1613
1464
|
{
|
|
1614
1465
|
ref,
|
|
@@ -1617,7 +1468,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
|
|
|
1617
1468
|
children: [
|
|
1618
1469
|
children,
|
|
1619
1470
|
" ",
|
|
1620
|
-
/* @__PURE__ */
|
|
1471
|
+
/* @__PURE__ */ jsx21(
|
|
1621
1472
|
"svg",
|
|
1622
1473
|
{
|
|
1623
1474
|
width: "12",
|
|
@@ -1627,7 +1478,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
|
|
|
1627
1478
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1628
1479
|
className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
|
|
1629
1480
|
"aria-hidden": "true",
|
|
1630
|
-
children: /* @__PURE__ */
|
|
1481
|
+
children: /* @__PURE__ */ jsx21(
|
|
1631
1482
|
"path",
|
|
1632
1483
|
{
|
|
1633
1484
|
d: "M2.5 4.5L6 8L9.5 4.5",
|
|
@@ -1643,7 +1494,7 @@ var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props
|
|
|
1643
1494
|
}
|
|
1644
1495
|
));
|
|
1645
1496
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
1646
|
-
var NavigationMenuContent =
|
|
1497
|
+
var NavigationMenuContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1647
1498
|
NavigationMenuPrimitive.Content,
|
|
1648
1499
|
{
|
|
1649
1500
|
ref,
|
|
@@ -1656,7 +1507,7 @@ var NavigationMenuContent = React24.forwardRef(({ className, ...props }, ref) =>
|
|
|
1656
1507
|
));
|
|
1657
1508
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
1658
1509
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
1659
|
-
var NavigationMenuViewport =
|
|
1510
|
+
var NavigationMenuViewport = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx21(
|
|
1660
1511
|
NavigationMenuPrimitive.Viewport,
|
|
1661
1512
|
{
|
|
1662
1513
|
className: cn(
|
|
@@ -1668,7 +1519,7 @@ var NavigationMenuViewport = React24.forwardRef(({ className, ...props }, ref) =
|
|
|
1668
1519
|
}
|
|
1669
1520
|
) }));
|
|
1670
1521
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
1671
|
-
var NavigationMenuIndicator =
|
|
1522
|
+
var NavigationMenuIndicator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1672
1523
|
NavigationMenuPrimitive.Indicator,
|
|
1673
1524
|
{
|
|
1674
1525
|
ref,
|
|
@@ -1677,16 +1528,16 @@ var NavigationMenuIndicator = React24.forwardRef(({ className, ...props }, ref)
|
|
|
1677
1528
|
className
|
|
1678
1529
|
),
|
|
1679
1530
|
...props,
|
|
1680
|
-
children: /* @__PURE__ */
|
|
1531
|
+
children: /* @__PURE__ */ jsx21("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-[var(--tekton-border-default)] shadow-md" })
|
|
1681
1532
|
}
|
|
1682
1533
|
));
|
|
1683
1534
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
1684
1535
|
|
|
1685
1536
|
// src/components/breadcrumb.tsx
|
|
1686
|
-
import * as
|
|
1687
|
-
import { cva as
|
|
1688
|
-
import { jsx as
|
|
1689
|
-
var breadcrumbVariants =
|
|
1537
|
+
import * as React20 from "react";
|
|
1538
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
1539
|
+
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1540
|
+
var breadcrumbVariants = cva6("flex items-center gap-[var(--tekton-spacing-2)]", {
|
|
1690
1541
|
variants: {
|
|
1691
1542
|
size: {
|
|
1692
1543
|
sm: "text-xs",
|
|
@@ -1698,13 +1549,13 @@ var breadcrumbVariants = cva8("flex items-center gap-[var(--tekton-spacing-2)]",
|
|
|
1698
1549
|
size: "default"
|
|
1699
1550
|
}
|
|
1700
1551
|
});
|
|
1701
|
-
var breadcrumbListVariants =
|
|
1552
|
+
var breadcrumbListVariants = cva6("flex flex-wrap items-center gap-1.5 break-words", {
|
|
1702
1553
|
variants: {}
|
|
1703
1554
|
});
|
|
1704
|
-
var breadcrumbItemVariants =
|
|
1555
|
+
var breadcrumbItemVariants = cva6("inline-flex items-center gap-1.5", {
|
|
1705
1556
|
variants: {}
|
|
1706
1557
|
});
|
|
1707
|
-
var breadcrumbLinkVariants =
|
|
1558
|
+
var breadcrumbLinkVariants = cva6(
|
|
1708
1559
|
"transition-colors hover:text-[var(--tekton-bg-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 rounded-[var(--tekton-radius-sm)]",
|
|
1709
1560
|
{
|
|
1710
1561
|
variants: {
|
|
@@ -1718,18 +1569,18 @@ var breadcrumbLinkVariants = cva8(
|
|
|
1718
1569
|
}
|
|
1719
1570
|
}
|
|
1720
1571
|
);
|
|
1721
|
-
var breadcrumbSeparatorVariants =
|
|
1572
|
+
var breadcrumbSeparatorVariants = cva6("text-[var(--tekton-text-muted-foreground)] select-none", {
|
|
1722
1573
|
variants: {}
|
|
1723
1574
|
});
|
|
1724
|
-
var breadcrumbEllipsisVariants =
|
|
1575
|
+
var breadcrumbEllipsisVariants = cva6(
|
|
1725
1576
|
"inline-flex h-9 w-9 items-center justify-center text-[var(--tekton-text-muted-foreground)]",
|
|
1726
1577
|
{
|
|
1727
1578
|
variants: {}
|
|
1728
1579
|
}
|
|
1729
1580
|
);
|
|
1730
|
-
var Breadcrumb =
|
|
1581
|
+
var Breadcrumb = React20.forwardRef(
|
|
1731
1582
|
({ className, size, separator: _separator = "/", ...props }, ref) => {
|
|
1732
|
-
return /* @__PURE__ */
|
|
1583
|
+
return /* @__PURE__ */ jsx22(
|
|
1733
1584
|
"nav",
|
|
1734
1585
|
{
|
|
1735
1586
|
ref,
|
|
@@ -1741,18 +1592,18 @@ var Breadcrumb = React25.forwardRef(
|
|
|
1741
1592
|
}
|
|
1742
1593
|
);
|
|
1743
1594
|
Breadcrumb.displayName = "Breadcrumb";
|
|
1744
|
-
var BreadcrumbList =
|
|
1745
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1595
|
+
var BreadcrumbList = React20.forwardRef(
|
|
1596
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx22("ol", { ref, className: cn(breadcrumbListVariants({ className })), ...props })
|
|
1746
1597
|
);
|
|
1747
1598
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
1748
|
-
var BreadcrumbItem =
|
|
1749
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1599
|
+
var BreadcrumbItem = React20.forwardRef(
|
|
1600
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx22("li", { ref, className: cn(breadcrumbItemVariants({ className })), ...props })
|
|
1750
1601
|
);
|
|
1751
1602
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
1752
|
-
var BreadcrumbLink =
|
|
1603
|
+
var BreadcrumbLink = React20.forwardRef(
|
|
1753
1604
|
({ className, active, asChild = false, ...props }, ref) => {
|
|
1754
|
-
const Comp = asChild ?
|
|
1755
|
-
return /* @__PURE__ */
|
|
1605
|
+
const Comp = asChild ? React20.Fragment : "a";
|
|
1606
|
+
return /* @__PURE__ */ jsx22(
|
|
1756
1607
|
Comp,
|
|
1757
1608
|
{
|
|
1758
1609
|
ref: asChild ? void 0 : ref,
|
|
@@ -1765,8 +1616,8 @@ var BreadcrumbLink = React25.forwardRef(
|
|
|
1765
1616
|
}
|
|
1766
1617
|
);
|
|
1767
1618
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
1768
|
-
var BreadcrumbPage =
|
|
1769
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1619
|
+
var BreadcrumbPage = React20.forwardRef(
|
|
1620
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
1770
1621
|
"span",
|
|
1771
1622
|
{
|
|
1772
1623
|
ref,
|
|
@@ -1783,8 +1634,8 @@ var BreadcrumbPage = React25.forwardRef(
|
|
|
1783
1634
|
)
|
|
1784
1635
|
);
|
|
1785
1636
|
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
1786
|
-
var BreadcrumbSeparator =
|
|
1787
|
-
({ children, className, ...props }, ref) => /* @__PURE__ */
|
|
1637
|
+
var BreadcrumbSeparator = React20.forwardRef(
|
|
1638
|
+
({ children, className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
1788
1639
|
"li",
|
|
1789
1640
|
{
|
|
1790
1641
|
ref,
|
|
@@ -1797,7 +1648,7 @@ var BreadcrumbSeparator = React25.forwardRef(
|
|
|
1797
1648
|
)
|
|
1798
1649
|
);
|
|
1799
1650
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
1800
|
-
var BreadcrumbEllipsis =
|
|
1651
|
+
var BreadcrumbEllipsis = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1801
1652
|
"span",
|
|
1802
1653
|
{
|
|
1803
1654
|
ref,
|
|
@@ -1806,7 +1657,7 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1806
1657
|
className: cn(breadcrumbEllipsisVariants({ className })),
|
|
1807
1658
|
...props,
|
|
1808
1659
|
children: [
|
|
1809
|
-
/* @__PURE__ */
|
|
1660
|
+
/* @__PURE__ */ jsx22(
|
|
1810
1661
|
"svg",
|
|
1811
1662
|
{
|
|
1812
1663
|
width: "15",
|
|
@@ -1815,7 +1666,7 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1815
1666
|
fill: "none",
|
|
1816
1667
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1817
1668
|
"aria-hidden": "true",
|
|
1818
|
-
children: /* @__PURE__ */
|
|
1669
|
+
children: /* @__PURE__ */ jsx22(
|
|
1819
1670
|
"path",
|
|
1820
1671
|
{
|
|
1821
1672
|
d: "M3.625 7.5C3.625 8.12132 3.12132 8.625 2.5 8.625C1.87868 8.625 1.375 8.12132 1.375 7.5C1.375 6.87868 1.87868 6.375 2.5 6.375C3.12132 6.375 3.625 6.87868 3.625 7.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM12.5 8.625C13.1213 8.625 13.625 8.12132 13.625 7.5C13.625 6.87868 13.1213 6.375 12.5 6.375C11.8787 6.375 11.375 6.87868 11.375 7.5C11.375 8.12132 11.8787 8.625 12.5 8.625Z",
|
|
@@ -1826,17 +1677,17 @@ var BreadcrumbEllipsis = React25.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1826
1677
|
)
|
|
1827
1678
|
}
|
|
1828
1679
|
),
|
|
1829
|
-
/* @__PURE__ */
|
|
1680
|
+
/* @__PURE__ */ jsx22("span", { className: "sr-only", children: "More" })
|
|
1830
1681
|
]
|
|
1831
1682
|
}
|
|
1832
1683
|
));
|
|
1833
1684
|
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
1834
1685
|
|
|
1835
1686
|
// src/components/command.tsx
|
|
1836
|
-
import * as
|
|
1687
|
+
import * as React21 from "react";
|
|
1837
1688
|
import { Command as CommandPrimitive } from "cmdk";
|
|
1838
|
-
import { jsx as
|
|
1839
|
-
var Command =
|
|
1689
|
+
import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1690
|
+
var Command = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1840
1691
|
CommandPrimitive,
|
|
1841
1692
|
{
|
|
1842
1693
|
ref,
|
|
@@ -1852,24 +1703,24 @@ var CommandDialog = ({
|
|
|
1852
1703
|
children,
|
|
1853
1704
|
...props
|
|
1854
1705
|
}) => {
|
|
1855
|
-
return /* @__PURE__ */
|
|
1706
|
+
return /* @__PURE__ */ jsx23(
|
|
1856
1707
|
CommandPrimitive.Dialog,
|
|
1857
1708
|
{
|
|
1858
1709
|
...props,
|
|
1859
1710
|
className: cn(
|
|
1860
1711
|
"fixed inset-0 z-50 bg-[var(--tekton-bg-background)]/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
|
|
1861
1712
|
),
|
|
1862
|
-
children: /* @__PURE__ */
|
|
1713
|
+
children: /* @__PURE__ */ jsx23("div", { className: "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)] p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", children: /* @__PURE__ */ jsx23(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-[var(--tekton-text-muted-foreground)] [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
|
|
1863
1714
|
}
|
|
1864
1715
|
);
|
|
1865
1716
|
};
|
|
1866
|
-
var CommandInput =
|
|
1717
|
+
var CommandInput = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs10(
|
|
1867
1718
|
"div",
|
|
1868
1719
|
{
|
|
1869
1720
|
className: "flex items-center border-b border-[var(--tekton-border-default)] px-3",
|
|
1870
1721
|
"cmdk-input-wrapper": "",
|
|
1871
1722
|
children: [
|
|
1872
|
-
/* @__PURE__ */
|
|
1723
|
+
/* @__PURE__ */ jsx23(
|
|
1873
1724
|
"svg",
|
|
1874
1725
|
{
|
|
1875
1726
|
width: "15",
|
|
@@ -1878,7 +1729,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1878
1729
|
fill: "none",
|
|
1879
1730
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1880
1731
|
className: "mr-2 h-4 w-4 shrink-0 opacity-50",
|
|
1881
|
-
children: /* @__PURE__ */
|
|
1732
|
+
children: /* @__PURE__ */ jsx23(
|
|
1882
1733
|
"path",
|
|
1883
1734
|
{
|
|
1884
1735
|
d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",
|
|
@@ -1889,7 +1740,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1889
1740
|
)
|
|
1890
1741
|
}
|
|
1891
1742
|
),
|
|
1892
|
-
/* @__PURE__ */
|
|
1743
|
+
/* @__PURE__ */ jsx23(
|
|
1893
1744
|
CommandPrimitive.Input,
|
|
1894
1745
|
{
|
|
1895
1746
|
ref,
|
|
@@ -1904,7 +1755,7 @@ var CommandInput = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1904
1755
|
}
|
|
1905
1756
|
));
|
|
1906
1757
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
1907
|
-
var CommandList =
|
|
1758
|
+
var CommandList = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1908
1759
|
CommandPrimitive.List,
|
|
1909
1760
|
{
|
|
1910
1761
|
ref,
|
|
@@ -1913,7 +1764,7 @@ var CommandList = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1913
1764
|
}
|
|
1914
1765
|
));
|
|
1915
1766
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
1916
|
-
var CommandEmpty =
|
|
1767
|
+
var CommandEmpty = React21.forwardRef((props, ref) => /* @__PURE__ */ jsx23(
|
|
1917
1768
|
CommandPrimitive.Empty,
|
|
1918
1769
|
{
|
|
1919
1770
|
ref,
|
|
@@ -1922,7 +1773,7 @@ var CommandEmpty = React26.forwardRef((props, ref) => /* @__PURE__ */ jsx28(
|
|
|
1922
1773
|
}
|
|
1923
1774
|
));
|
|
1924
1775
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
1925
|
-
var CommandGroup =
|
|
1776
|
+
var CommandGroup = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1926
1777
|
CommandPrimitive.Group,
|
|
1927
1778
|
{
|
|
1928
1779
|
ref,
|
|
@@ -1934,7 +1785,7 @@ var CommandGroup = React26.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1934
1785
|
}
|
|
1935
1786
|
));
|
|
1936
1787
|
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
|
1937
|
-
var CommandSeparator =
|
|
1788
|
+
var CommandSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1938
1789
|
CommandPrimitive.Separator,
|
|
1939
1790
|
{
|
|
1940
1791
|
ref,
|
|
@@ -1943,7 +1794,7 @@ var CommandSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1943
1794
|
}
|
|
1944
1795
|
));
|
|
1945
1796
|
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
|
1946
|
-
var CommandItem =
|
|
1797
|
+
var CommandItem = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
1947
1798
|
CommandPrimitive.Item,
|
|
1948
1799
|
{
|
|
1949
1800
|
ref,
|
|
@@ -1956,7 +1807,7 @@ var CommandItem = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1956
1807
|
));
|
|
1957
1808
|
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
|
1958
1809
|
var CommandShortcut = ({ className, ...props }) => {
|
|
1959
|
-
return /* @__PURE__ */
|
|
1810
|
+
return /* @__PURE__ */ jsx23(
|
|
1960
1811
|
"span",
|
|
1961
1812
|
{
|
|
1962
1813
|
className: cn(
|
|
@@ -1971,28 +1822,29 @@ CommandShortcut.displayName = "CommandShortcut";
|
|
|
1971
1822
|
|
|
1972
1823
|
// src/components/calendar.tsx
|
|
1973
1824
|
import { DayPicker } from "react-day-picker";
|
|
1974
|
-
import { jsx as
|
|
1825
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1975
1826
|
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
1976
|
-
return /* @__PURE__ */
|
|
1827
|
+
return /* @__PURE__ */ jsx24(
|
|
1977
1828
|
DayPicker,
|
|
1978
1829
|
{
|
|
1979
1830
|
showOutsideDays,
|
|
1980
1831
|
className: cn("p-3", className),
|
|
1981
1832
|
classNames: {
|
|
1982
1833
|
months: "relative flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0 w-full",
|
|
1983
|
-
month: "space-y-4 w-full
|
|
1984
|
-
|
|
1834
|
+
month: "space-y-4 w-full",
|
|
1835
|
+
caption: "relative flex justify-center items-center h-9 w-full",
|
|
1836
|
+
month_caption: "flex items-center",
|
|
1985
1837
|
caption_label: "text-sm font-black text-[var(--tekton-bg-foreground)]",
|
|
1986
|
-
nav: "absolute
|
|
1838
|
+
nav: "absolute inset-0 flex items-center justify-between pointer-events-none z-10 px-2",
|
|
1987
1839
|
button_previous: cn(
|
|
1988
1840
|
"inline-flex items-center justify-center whitespace-nowrap rounded-[var(--tekton-radius-md)] text-sm font-medium ring-offset-[var(--tekton-bg-background)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
1989
1841
|
"hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
|
|
1990
|
-
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
|
1842
|
+
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 pointer-events-auto"
|
|
1991
1843
|
),
|
|
1992
1844
|
button_next: cn(
|
|
1993
1845
|
"inline-flex items-center justify-center whitespace-nowrap rounded-[var(--tekton-radius-md)] text-sm font-medium ring-offset-[var(--tekton-bg-background)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
1994
1846
|
"hover:bg-[var(--tekton-bg-accent)] hover:text-[var(--tekton-bg-accent-foreground)]",
|
|
1995
|
-
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
|
1847
|
+
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 pointer-events-auto"
|
|
1996
1848
|
),
|
|
1997
1849
|
month_grid: "w-full border-collapse space-y-1",
|
|
1998
1850
|
weekdays: "flex w-full",
|
|
@@ -2016,7 +1868,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2016
1868
|
components: {
|
|
2017
1869
|
Chevron: ({ orientation }) => {
|
|
2018
1870
|
if (orientation === "left") {
|
|
2019
|
-
return /* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ jsx24(
|
|
2020
1872
|
"svg",
|
|
2021
1873
|
{
|
|
2022
1874
|
width: "15",
|
|
@@ -2025,7 +1877,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2025
1877
|
fill: "none",
|
|
2026
1878
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2027
1879
|
className: "h-4 w-4",
|
|
2028
|
-
children: /* @__PURE__ */
|
|
1880
|
+
children: /* @__PURE__ */ jsx24(
|
|
2029
1881
|
"path",
|
|
2030
1882
|
{
|
|
2031
1883
|
d: "M8.84182 3.13514C9.04327 3.32401 9.05348 3.64042 8.86462 3.84188L5.43521 7.49991L8.86462 11.1579C9.05348 11.3594 9.04327 11.6758 8.84182 11.8647C8.64036 12.0535 8.32394 12.0433 8.13508 11.8419L4.38508 7.84188C4.20477 7.64955 4.20477 7.35027 4.38508 7.15794L8.13508 3.15794C8.32394 2.95648 8.64036 2.94628 8.84182 3.13514Z",
|
|
@@ -2037,7 +1889,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2037
1889
|
}
|
|
2038
1890
|
);
|
|
2039
1891
|
}
|
|
2040
|
-
return /* @__PURE__ */
|
|
1892
|
+
return /* @__PURE__ */ jsx24(
|
|
2041
1893
|
"svg",
|
|
2042
1894
|
{
|
|
2043
1895
|
width: "15",
|
|
@@ -2046,7 +1898,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2046
1898
|
fill: "none",
|
|
2047
1899
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2048
1900
|
className: "h-4 w-4",
|
|
2049
|
-
children: /* @__PURE__ */
|
|
1901
|
+
children: /* @__PURE__ */ jsx24(
|
|
2050
1902
|
"path",
|
|
2051
1903
|
{
|
|
2052
1904
|
d: "M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",
|
|
@@ -2064,1259 +1916,6 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2064
1916
|
);
|
|
2065
1917
|
}
|
|
2066
1918
|
Calendar.displayName = "Calendar";
|
|
2067
|
-
|
|
2068
|
-
// src/templates/types.ts
|
|
2069
|
-
var DEFAULT_RESPONSIVE_LAYOUT = {
|
|
2070
|
-
mobile: {
|
|
2071
|
-
padding: "var(--tekton-layout-padding-mobile)",
|
|
2072
|
-
// 16px
|
|
2073
|
-
gap: "var(--tekton-layout-gap-mobile)",
|
|
2074
|
-
// 16px
|
|
2075
|
-
columns: 4
|
|
2076
|
-
},
|
|
2077
|
-
tablet: {
|
|
2078
|
-
padding: "var(--tekton-layout-padding-tablet)",
|
|
2079
|
-
// 32px
|
|
2080
|
-
gap: "var(--tekton-layout-gap-tablet)",
|
|
2081
|
-
// 24px
|
|
2082
|
-
columns: 8
|
|
2083
|
-
},
|
|
2084
|
-
desktop: {
|
|
2085
|
-
padding: "var(--tekton-layout-padding-desktop)",
|
|
2086
|
-
// 64px
|
|
2087
|
-
gap: "var(--tekton-layout-gap-desktop)",
|
|
2088
|
-
// 32px
|
|
2089
|
-
columns: 12
|
|
2090
|
-
}
|
|
2091
|
-
};
|
|
2092
|
-
var DEFAULT_BREAKPOINTS = {
|
|
2093
|
-
mobile: 768,
|
|
2094
|
-
tablet: 1024,
|
|
2095
|
-
desktop: 1024
|
|
2096
|
-
};
|
|
2097
|
-
|
|
2098
|
-
// src/templates/registry.ts
|
|
2099
|
-
var TemplateRegistry = class _TemplateRegistry {
|
|
2100
|
-
static instance;
|
|
2101
|
-
templates;
|
|
2102
|
-
constructor() {
|
|
2103
|
-
this.templates = /* @__PURE__ */ new Map();
|
|
2104
|
-
}
|
|
2105
|
-
/**
|
|
2106
|
-
* Get singleton instance
|
|
2107
|
-
*/
|
|
2108
|
-
static getInstance() {
|
|
2109
|
-
if (!_TemplateRegistry.instance) {
|
|
2110
|
-
_TemplateRegistry.instance = new _TemplateRegistry();
|
|
2111
|
-
}
|
|
2112
|
-
return _TemplateRegistry.instance;
|
|
2113
|
-
}
|
|
2114
|
-
/**
|
|
2115
|
-
* Register a template
|
|
2116
|
-
*/
|
|
2117
|
-
register(template) {
|
|
2118
|
-
if (this.templates.has(template.id)) {
|
|
2119
|
-
console.warn(`Template "${template.id}" is already registered. Overwriting.`);
|
|
2120
|
-
}
|
|
2121
|
-
this.templates.set(template.id, {
|
|
2122
|
-
template,
|
|
2123
|
-
metadata: {
|
|
2124
|
-
usageCount: 0
|
|
2125
|
-
}
|
|
2126
|
-
});
|
|
2127
|
-
}
|
|
2128
|
-
/**
|
|
2129
|
-
* Register multiple templates
|
|
2130
|
-
*/
|
|
2131
|
-
registerMany(templates) {
|
|
2132
|
-
templates.forEach((template) => this.register(template));
|
|
2133
|
-
}
|
|
2134
|
-
/**
|
|
2135
|
-
* Get template by ID
|
|
2136
|
-
*/
|
|
2137
|
-
get(id) {
|
|
2138
|
-
const entry = this.templates.get(id);
|
|
2139
|
-
if (entry) {
|
|
2140
|
-
entry.metadata.usageCount++;
|
|
2141
|
-
entry.metadata.lastUsed = (/* @__PURE__ */ new Date()).toISOString();
|
|
2142
|
-
return entry.template;
|
|
2143
|
-
}
|
|
2144
|
-
return void 0;
|
|
2145
|
-
}
|
|
2146
|
-
/**
|
|
2147
|
-
* Get all templates
|
|
2148
|
-
*/
|
|
2149
|
-
getAll() {
|
|
2150
|
-
return Array.from(this.templates.values()).map((entry) => entry.template);
|
|
2151
|
-
}
|
|
2152
|
-
/**
|
|
2153
|
-
* Get templates by category
|
|
2154
|
-
*/
|
|
2155
|
-
getByCategory(category) {
|
|
2156
|
-
return this.getAll().filter((template) => template.category === category);
|
|
2157
|
-
}
|
|
2158
|
-
/**
|
|
2159
|
-
* Find templates by required components
|
|
2160
|
-
* Returns templates that include ALL specified components
|
|
2161
|
-
*/
|
|
2162
|
-
findByRequiredComponents(components) {
|
|
2163
|
-
return this.getAll().filter((template) => {
|
|
2164
|
-
return components.every((component) => template.requiredComponents.includes(component));
|
|
2165
|
-
});
|
|
2166
|
-
}
|
|
2167
|
-
/**
|
|
2168
|
-
* Search templates by keyword
|
|
2169
|
-
* Searches in: id, name, description, tags
|
|
2170
|
-
*/
|
|
2171
|
-
search(keyword) {
|
|
2172
|
-
const lowerKeyword = keyword.toLowerCase();
|
|
2173
|
-
return this.getAll().filter((template) => {
|
|
2174
|
-
return template.id.toLowerCase().includes(lowerKeyword) || template.name.toLowerCase().includes(lowerKeyword) || template.description.toLowerCase().includes(lowerKeyword) || template.tags?.some((tag) => tag.toLowerCase().includes(lowerKeyword));
|
|
2175
|
-
});
|
|
2176
|
-
}
|
|
2177
|
-
/**
|
|
2178
|
-
* Get template metadata
|
|
2179
|
-
*/
|
|
2180
|
-
getMetadata(id) {
|
|
2181
|
-
return this.templates.get(id)?.metadata;
|
|
2182
|
-
}
|
|
2183
|
-
/**
|
|
2184
|
-
* Get most used templates
|
|
2185
|
-
*/
|
|
2186
|
-
getMostUsed(limit = 10) {
|
|
2187
|
-
return Array.from(this.templates.values()).sort((a, b) => b.metadata.usageCount - a.metadata.usageCount).slice(0, limit).map((entry) => entry.template);
|
|
2188
|
-
}
|
|
2189
|
-
/**
|
|
2190
|
-
* Get recently used templates
|
|
2191
|
-
*/
|
|
2192
|
-
getRecentlyUsed(limit = 10) {
|
|
2193
|
-
return Array.from(this.templates.values()).filter((entry) => entry.metadata.lastUsed).sort((a, b) => {
|
|
2194
|
-
const dateA = new Date(a.metadata.lastUsed).getTime();
|
|
2195
|
-
const dateB = new Date(b.metadata.lastUsed).getTime();
|
|
2196
|
-
return dateB - dateA;
|
|
2197
|
-
}).slice(0, limit).map((entry) => entry.template);
|
|
2198
|
-
}
|
|
2199
|
-
/**
|
|
2200
|
-
* Clear all templates
|
|
2201
|
-
*/
|
|
2202
|
-
clear() {
|
|
2203
|
-
this.templates.clear();
|
|
2204
|
-
}
|
|
2205
|
-
/**
|
|
2206
|
-
* Get template count
|
|
2207
|
-
*/
|
|
2208
|
-
count() {
|
|
2209
|
-
return this.templates.size;
|
|
2210
|
-
}
|
|
2211
|
-
/**
|
|
2212
|
-
* Check if template exists
|
|
2213
|
-
*/
|
|
2214
|
-
has(id) {
|
|
2215
|
-
return this.templates.has(id);
|
|
2216
|
-
}
|
|
2217
|
-
/**
|
|
2218
|
-
* Remove template
|
|
2219
|
-
*/
|
|
2220
|
-
remove(id) {
|
|
2221
|
-
return this.templates.delete(id);
|
|
2222
|
-
}
|
|
2223
|
-
};
|
|
2224
|
-
var templateRegistry = TemplateRegistry.getInstance();
|
|
2225
|
-
|
|
2226
|
-
// src/templates/auth/login.tsx
|
|
2227
|
-
import { Fragment as Fragment2, jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2228
|
-
function LoginTemplateComponent({
|
|
2229
|
-
children,
|
|
2230
|
-
className = "",
|
|
2231
|
-
slots = {},
|
|
2232
|
-
texts = {},
|
|
2233
|
-
options = {}
|
|
2234
|
-
}) {
|
|
2235
|
-
const title = texts.title || "Welcome Back";
|
|
2236
|
-
const subtitle = texts.subtitle || "Sign in to your account";
|
|
2237
|
-
const buttonLabel = texts.button_label || "Sign In";
|
|
2238
|
-
const showSocialLogin = options.social_login ?? false;
|
|
2239
|
-
const showRememberMe = options.remember_me ?? false;
|
|
2240
|
-
return /* @__PURE__ */ jsxs11(
|
|
2241
|
-
"div",
|
|
2242
|
-
{
|
|
2243
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2244
|
-
children: [
|
|
2245
|
-
/* @__PURE__ */ jsxs11(Card, { className: "w-full max-w-md", children: [
|
|
2246
|
-
/* @__PURE__ */ jsxs11(CardHeader, { children: [
|
|
2247
|
-
slots.logo && /* @__PURE__ */ jsx30("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
|
|
2248
|
-
/* @__PURE__ */ jsx30(CardTitle, { children: title }),
|
|
2249
|
-
/* @__PURE__ */ jsx30(CardDescription, { children: subtitle })
|
|
2250
|
-
] }),
|
|
2251
|
-
/* @__PURE__ */ jsxs11(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
|
|
2252
|
-
/* @__PURE__ */ jsxs11("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2253
|
-
/* @__PURE__ */ jsx30(Label, { htmlFor: "email", children: "Email" }),
|
|
2254
|
-
/* @__PURE__ */ jsx30(Input, { id: "email", type: "email", placeholder: "Enter your email" })
|
|
2255
|
-
] }),
|
|
2256
|
-
/* @__PURE__ */ jsxs11("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2257
|
-
/* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between", children: [
|
|
2258
|
-
/* @__PURE__ */ jsx30(Label, { htmlFor: "password", children: "Password" }),
|
|
2259
|
-
slots.forgotPassword && /* @__PURE__ */ jsx30("div", { children: slots.forgotPassword })
|
|
2260
|
-
] }),
|
|
2261
|
-
/* @__PURE__ */ jsx30(Input, { id: "password", type: "password", placeholder: "Enter your password" })
|
|
2262
|
-
] }),
|
|
2263
|
-
showRememberMe && slots.rememberMe && /* @__PURE__ */ jsx30("div", { className: "flex items-center space-x-[var(--tekton-spacing-2)]", children: slots.rememberMe }),
|
|
2264
|
-
/* @__PURE__ */ jsx30(Button, { className: "w-full", children: buttonLabel }),
|
|
2265
|
-
showSocialLogin && slots.socialLogin && /* @__PURE__ */ jsxs11(Fragment2, { children: [
|
|
2266
|
-
/* @__PURE__ */ jsxs11("div", { className: "relative", children: [
|
|
2267
|
-
/* @__PURE__ */ jsx30("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsx30(Separator, {}) }),
|
|
2268
|
-
/* @__PURE__ */ jsx30("div", { className: "relative flex justify-center text-xs uppercase", children: /* @__PURE__ */ jsx30("span", { className: "bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-2)] text-[var(--tekton-text-muted-foreground)]", children: "Or continue with" }) })
|
|
2269
|
-
] }),
|
|
2270
|
-
/* @__PURE__ */ jsx30("div", { className: "grid grid-cols-2 gap-[var(--tekton-spacing-4)]", children: slots.socialLogin })
|
|
2271
|
-
] })
|
|
2272
|
-
] }),
|
|
2273
|
-
/* @__PURE__ */ jsx30(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs11("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
|
|
2274
|
-
"Don't have an account?",
|
|
2275
|
-
" ",
|
|
2276
|
-
/* @__PURE__ */ jsx30("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Sign up" })
|
|
2277
|
-
] }) })
|
|
2278
|
-
] }),
|
|
2279
|
-
children
|
|
2280
|
-
]
|
|
2281
|
-
}
|
|
2282
|
-
);
|
|
2283
|
-
}
|
|
2284
|
-
var LoginTemplate = {
|
|
2285
|
-
id: "auth.login",
|
|
2286
|
-
name: "Login",
|
|
2287
|
-
category: "auth",
|
|
2288
|
-
description: "Standard login screen with email and password",
|
|
2289
|
-
skeleton: {
|
|
2290
|
-
shell: "centered-card",
|
|
2291
|
-
page: "auth-page",
|
|
2292
|
-
sections: [
|
|
2293
|
-
{
|
|
2294
|
-
id: "login-form",
|
|
2295
|
-
name: "Login Form",
|
|
2296
|
-
slot: "main",
|
|
2297
|
-
required: true,
|
|
2298
|
-
Component: LoginTemplateComponent
|
|
2299
|
-
}
|
|
2300
|
-
]
|
|
2301
|
-
},
|
|
2302
|
-
layout: {
|
|
2303
|
-
type: "centered",
|
|
2304
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2305
|
-
},
|
|
2306
|
-
customizable: {
|
|
2307
|
-
texts: ["title", "subtitle", "button_label"],
|
|
2308
|
-
optional: ["social_login", "remember_me"],
|
|
2309
|
-
slots: ["logo", "forgotPassword", "rememberMe", "socialLogin", "footer"]
|
|
2310
|
-
},
|
|
2311
|
-
requiredComponents: ["Button", "Input", "Form", "Card", "Label"],
|
|
2312
|
-
Component: LoginTemplateComponent,
|
|
2313
|
-
version: "1.0.0",
|
|
2314
|
-
created: "2026-01-31",
|
|
2315
|
-
updated: "2026-01-31",
|
|
2316
|
-
tags: ["auth", "login", "form"]
|
|
2317
|
-
};
|
|
2318
|
-
|
|
2319
|
-
// src/templates/auth/signup.tsx
|
|
2320
|
-
import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2321
|
-
function SignupTemplateComponent({
|
|
2322
|
-
children,
|
|
2323
|
-
className = "",
|
|
2324
|
-
slots = {},
|
|
2325
|
-
texts = {},
|
|
2326
|
-
options = {}
|
|
2327
|
-
}) {
|
|
2328
|
-
const title = texts.title || "Create Account";
|
|
2329
|
-
const subtitle = texts.subtitle || "Sign up to get started";
|
|
2330
|
-
const buttonLabel = texts.button_label || "Sign Up";
|
|
2331
|
-
const showSocialSignup = options.social_signup ?? false;
|
|
2332
|
-
return /* @__PURE__ */ jsxs12(
|
|
2333
|
-
"div",
|
|
2334
|
-
{
|
|
2335
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2336
|
-
children: [
|
|
2337
|
-
/* @__PURE__ */ jsxs12(Card, { className: "w-full max-w-md", children: [
|
|
2338
|
-
/* @__PURE__ */ jsxs12(CardHeader, { children: [
|
|
2339
|
-
slots.logo && /* @__PURE__ */ jsx31("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
|
|
2340
|
-
/* @__PURE__ */ jsx31(CardTitle, { children: title }),
|
|
2341
|
-
/* @__PURE__ */ jsx31(CardDescription, { children: subtitle })
|
|
2342
|
-
] }),
|
|
2343
|
-
/* @__PURE__ */ jsxs12(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
|
|
2344
|
-
/* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2345
|
-
/* @__PURE__ */ jsx31(Label, { htmlFor: "name", children: "Name" }),
|
|
2346
|
-
/* @__PURE__ */ jsx31(Input, { id: "name", type: "text", placeholder: "Enter your name" })
|
|
2347
|
-
] }),
|
|
2348
|
-
/* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2349
|
-
/* @__PURE__ */ jsx31(Label, { htmlFor: "email", children: "Email" }),
|
|
2350
|
-
/* @__PURE__ */ jsx31(Input, { id: "email", type: "email", placeholder: "Enter your email" })
|
|
2351
|
-
] }),
|
|
2352
|
-
/* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2353
|
-
/* @__PURE__ */ jsx31(Label, { htmlFor: "password", children: "Password" }),
|
|
2354
|
-
/* @__PURE__ */ jsx31(Input, { id: "password", type: "password", placeholder: "Enter your password" })
|
|
2355
|
-
] }),
|
|
2356
|
-
/* @__PURE__ */ jsxs12("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2357
|
-
/* @__PURE__ */ jsx31(Label, { htmlFor: "password-confirm", children: "Confirm Password" }),
|
|
2358
|
-
/* @__PURE__ */ jsx31(Input, { id: "password-confirm", type: "password", placeholder: "Confirm your password" })
|
|
2359
|
-
] }),
|
|
2360
|
-
slots.termsCheckbox && /* @__PURE__ */ jsx31("div", { className: "flex items-start space-x-[var(--tekton-spacing-2)]", children: slots.termsCheckbox }),
|
|
2361
|
-
/* @__PURE__ */ jsx31(Button, { className: "w-full", children: buttonLabel }),
|
|
2362
|
-
showSocialSignup && slots.socialSignup && /* @__PURE__ */ jsxs12(Fragment3, { children: [
|
|
2363
|
-
/* @__PURE__ */ jsxs12("div", { className: "relative", children: [
|
|
2364
|
-
/* @__PURE__ */ jsx31("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsx31(Separator, {}) }),
|
|
2365
|
-
/* @__PURE__ */ jsx31("div", { className: "relative flex justify-center text-xs uppercase", children: /* @__PURE__ */ jsx31("span", { className: "bg-[var(--tekton-bg-background)] px-[var(--tekton-spacing-2)] text-[var(--tekton-text-muted-foreground)]", children: "Or sign up with" }) })
|
|
2366
|
-
] }),
|
|
2367
|
-
/* @__PURE__ */ jsx31("div", { className: "grid grid-cols-2 gap-[var(--tekton-spacing-4)]", children: slots.socialSignup })
|
|
2368
|
-
] })
|
|
2369
|
-
] }),
|
|
2370
|
-
/* @__PURE__ */ jsx31(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs12("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
|
|
2371
|
-
"Already have an account?",
|
|
2372
|
-
" ",
|
|
2373
|
-
/* @__PURE__ */ jsx31("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Sign in" })
|
|
2374
|
-
] }) })
|
|
2375
|
-
] }),
|
|
2376
|
-
children
|
|
2377
|
-
]
|
|
2378
|
-
}
|
|
2379
|
-
);
|
|
2380
|
-
}
|
|
2381
|
-
var SignupTemplate = {
|
|
2382
|
-
id: "auth.signup",
|
|
2383
|
-
name: "Signup",
|
|
2384
|
-
category: "auth",
|
|
2385
|
-
description: "Standard signup screen with name, email, and password",
|
|
2386
|
-
skeleton: {
|
|
2387
|
-
shell: "centered-card",
|
|
2388
|
-
page: "auth-page",
|
|
2389
|
-
sections: [
|
|
2390
|
-
{
|
|
2391
|
-
id: "signup-form",
|
|
2392
|
-
name: "Signup Form",
|
|
2393
|
-
slot: "main",
|
|
2394
|
-
required: true,
|
|
2395
|
-
Component: SignupTemplateComponent
|
|
2396
|
-
}
|
|
2397
|
-
]
|
|
2398
|
-
},
|
|
2399
|
-
layout: {
|
|
2400
|
-
type: "centered",
|
|
2401
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2402
|
-
},
|
|
2403
|
-
customizable: {
|
|
2404
|
-
texts: ["title", "subtitle", "button_label"],
|
|
2405
|
-
optional: ["social_signup"],
|
|
2406
|
-
slots: ["logo", "termsCheckbox", "socialSignup", "footer"]
|
|
2407
|
-
},
|
|
2408
|
-
requiredComponents: ["Button", "Input", "Form", "Card", "Label", "Checkbox"],
|
|
2409
|
-
Component: SignupTemplateComponent,
|
|
2410
|
-
version: "1.0.0",
|
|
2411
|
-
created: "2026-02-01",
|
|
2412
|
-
updated: "2026-02-01",
|
|
2413
|
-
tags: ["auth", "signup", "registration", "form"]
|
|
2414
|
-
};
|
|
2415
|
-
|
|
2416
|
-
// src/templates/auth/forgot-password.tsx
|
|
2417
|
-
import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2418
|
-
function ForgotPasswordTemplateComponent({
|
|
2419
|
-
children,
|
|
2420
|
-
className = "",
|
|
2421
|
-
slots = {},
|
|
2422
|
-
texts = {}
|
|
2423
|
-
}) {
|
|
2424
|
-
const title = texts.title || "Forgot Password?";
|
|
2425
|
-
const subtitle = texts.subtitle || "Enter your email address and we'll send you a reset link";
|
|
2426
|
-
const buttonLabel = texts.button_label || "Send Reset Link";
|
|
2427
|
-
return /* @__PURE__ */ jsxs13(
|
|
2428
|
-
"div",
|
|
2429
|
-
{
|
|
2430
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2431
|
-
children: [
|
|
2432
|
-
/* @__PURE__ */ jsxs13(Card, { className: "w-full max-w-md", children: [
|
|
2433
|
-
/* @__PURE__ */ jsxs13(CardHeader, { children: [
|
|
2434
|
-
slots.logo && /* @__PURE__ */ jsx32("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.logo }),
|
|
2435
|
-
/* @__PURE__ */ jsx32(CardTitle, { children: title }),
|
|
2436
|
-
/* @__PURE__ */ jsx32(CardDescription, { children: subtitle })
|
|
2437
|
-
] }),
|
|
2438
|
-
/* @__PURE__ */ jsxs13(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
|
|
2439
|
-
/* @__PURE__ */ jsxs13("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2440
|
-
/* @__PURE__ */ jsx32(Label, { htmlFor: "email", children: "Email" }),
|
|
2441
|
-
/* @__PURE__ */ jsx32(Input, { id: "email", type: "email", placeholder: "Enter your email" })
|
|
2442
|
-
] }),
|
|
2443
|
-
/* @__PURE__ */ jsx32(Button, { className: "w-full", children: buttonLabel })
|
|
2444
|
-
] }),
|
|
2445
|
-
/* @__PURE__ */ jsx32(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs13("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
|
|
2446
|
-
"Remember your password?",
|
|
2447
|
-
" ",
|
|
2448
|
-
/* @__PURE__ */ jsx32("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Back to login" })
|
|
2449
|
-
] }) })
|
|
2450
|
-
] }),
|
|
2451
|
-
children
|
|
2452
|
-
]
|
|
2453
|
-
}
|
|
2454
|
-
);
|
|
2455
|
-
}
|
|
2456
|
-
var ForgotPasswordTemplate = {
|
|
2457
|
-
id: "auth.forgot-password",
|
|
2458
|
-
name: "Forgot Password",
|
|
2459
|
-
category: "auth",
|
|
2460
|
-
description: "Password reset screen with email input",
|
|
2461
|
-
skeleton: {
|
|
2462
|
-
shell: "centered-card",
|
|
2463
|
-
page: "auth-page",
|
|
2464
|
-
sections: [
|
|
2465
|
-
{
|
|
2466
|
-
id: "forgot-password-form",
|
|
2467
|
-
name: "Forgot Password Form",
|
|
2468
|
-
slot: "main",
|
|
2469
|
-
required: true,
|
|
2470
|
-
Component: ForgotPasswordTemplateComponent
|
|
2471
|
-
}
|
|
2472
|
-
]
|
|
2473
|
-
},
|
|
2474
|
-
layout: {
|
|
2475
|
-
type: "centered",
|
|
2476
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2477
|
-
},
|
|
2478
|
-
customizable: {
|
|
2479
|
-
texts: ["title", "subtitle", "button_label"],
|
|
2480
|
-
optional: [],
|
|
2481
|
-
slots: ["logo", "footer"]
|
|
2482
|
-
},
|
|
2483
|
-
requiredComponents: ["Button", "Input", "Form", "Card", "Label"],
|
|
2484
|
-
Component: ForgotPasswordTemplateComponent,
|
|
2485
|
-
version: "1.0.0",
|
|
2486
|
-
created: "2026-02-01",
|
|
2487
|
-
updated: "2026-02-01",
|
|
2488
|
-
tags: ["auth", "password", "reset", "forgot"]
|
|
2489
|
-
};
|
|
2490
|
-
|
|
2491
|
-
// src/templates/auth/verification.tsx
|
|
2492
|
-
import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2493
|
-
function VerificationTemplateComponent({
|
|
2494
|
-
children,
|
|
2495
|
-
className = "",
|
|
2496
|
-
slots = {},
|
|
2497
|
-
texts = {},
|
|
2498
|
-
options = {}
|
|
2499
|
-
}) {
|
|
2500
|
-
const title = texts.title || "Verify Your Email";
|
|
2501
|
-
const subtitle = texts.subtitle || "We've sent a verification link to your email address";
|
|
2502
|
-
const buttonLabel = texts.button_label || "Continue";
|
|
2503
|
-
const showResend = options.show_resend ?? true;
|
|
2504
|
-
const userEmail = options.user_email || "user@example.com";
|
|
2505
|
-
return /* @__PURE__ */ jsxs14(
|
|
2506
|
-
"div",
|
|
2507
|
-
{
|
|
2508
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2509
|
-
children: [
|
|
2510
|
-
/* @__PURE__ */ jsxs14(Card, { className: "w-full max-w-md", children: [
|
|
2511
|
-
/* @__PURE__ */ jsxs14(CardHeader, { children: [
|
|
2512
|
-
slots.icon && /* @__PURE__ */ jsx33("div", { className: "mb-[var(--tekton-spacing-4)]", children: slots.icon }),
|
|
2513
|
-
/* @__PURE__ */ jsx33(CardTitle, { children: title }),
|
|
2514
|
-
/* @__PURE__ */ jsx33(CardDescription, { children: subtitle })
|
|
2515
|
-
] }),
|
|
2516
|
-
/* @__PURE__ */ jsxs14(CardContent, { className: "space-y-[var(--tekton-spacing-4)]", children: [
|
|
2517
|
-
/* @__PURE__ */ jsx33("div", { className: "bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-3)] rounded-[var(--tekton-radius-md)] text-center", children: /* @__PURE__ */ jsx33("p", { className: "text-sm font-medium", children: userEmail }) }),
|
|
2518
|
-
/* @__PURE__ */ jsx33(Button, { className: "w-full", children: buttonLabel }),
|
|
2519
|
-
showResend && /* @__PURE__ */ jsx33("div", { className: "text-center", children: /* @__PURE__ */ jsxs14("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: [
|
|
2520
|
-
"Didn't receive the email?",
|
|
2521
|
-
" ",
|
|
2522
|
-
/* @__PURE__ */ jsx33("button", { className: "text-[var(--tekton-text-primary)] hover:underline", children: "Resend" })
|
|
2523
|
-
] }) })
|
|
2524
|
-
] }),
|
|
2525
|
-
/* @__PURE__ */ jsx33(CardFooter, { children: slots.footer || /* @__PURE__ */ jsxs14("p", { className: "text-sm text-center w-full text-[var(--tekton-text-muted-foreground)]", children: [
|
|
2526
|
-
"Wrong email?",
|
|
2527
|
-
" ",
|
|
2528
|
-
/* @__PURE__ */ jsx33("a", { href: "#", className: "text-[var(--tekton-text-primary)] hover:underline", children: "Change email address" })
|
|
2529
|
-
] }) })
|
|
2530
|
-
] }),
|
|
2531
|
-
children
|
|
2532
|
-
]
|
|
2533
|
-
}
|
|
2534
|
-
);
|
|
2535
|
-
}
|
|
2536
|
-
var VerificationTemplate = {
|
|
2537
|
-
id: "auth.verification",
|
|
2538
|
-
name: "Email Verification",
|
|
2539
|
-
category: "auth",
|
|
2540
|
-
description: "Email verification screen with resend option",
|
|
2541
|
-
skeleton: {
|
|
2542
|
-
shell: "centered-card",
|
|
2543
|
-
page: "auth-page",
|
|
2544
|
-
sections: [
|
|
2545
|
-
{
|
|
2546
|
-
id: "verification-message",
|
|
2547
|
-
name: "Verification Message",
|
|
2548
|
-
slot: "main",
|
|
2549
|
-
required: true,
|
|
2550
|
-
Component: VerificationTemplateComponent
|
|
2551
|
-
}
|
|
2552
|
-
]
|
|
2553
|
-
},
|
|
2554
|
-
layout: {
|
|
2555
|
-
type: "centered",
|
|
2556
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2557
|
-
},
|
|
2558
|
-
customizable: {
|
|
2559
|
-
texts: ["title", "subtitle", "button_label"],
|
|
2560
|
-
optional: ["show_resend", "user_email"],
|
|
2561
|
-
slots: ["icon", "footer"]
|
|
2562
|
-
},
|
|
2563
|
-
requiredComponents: ["Button", "Card"],
|
|
2564
|
-
Component: VerificationTemplateComponent,
|
|
2565
|
-
version: "1.0.0",
|
|
2566
|
-
created: "2026-02-01",
|
|
2567
|
-
updated: "2026-02-01",
|
|
2568
|
-
tags: ["auth", "verification", "email", "confirm"]
|
|
2569
|
-
};
|
|
2570
|
-
|
|
2571
|
-
// src/templates/core/landing.tsx
|
|
2572
|
-
import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2573
|
-
function LandingTemplateComponent({
|
|
2574
|
-
children,
|
|
2575
|
-
className = "",
|
|
2576
|
-
slots = {},
|
|
2577
|
-
texts = {}
|
|
2578
|
-
}) {
|
|
2579
|
-
const title = texts.title || "Welcome Back";
|
|
2580
|
-
const subtitle = texts.subtitle || "Start a new conversation or continue where you left off";
|
|
2581
|
-
const ctaLabel = texts.cta_label || "New Conversation";
|
|
2582
|
-
return /* @__PURE__ */ jsxs15("div", { className: `min-h-screen flex ${className}`, children: [
|
|
2583
|
-
slots.sidebar && /* @__PURE__ */ jsx34("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-muted)]", children: slots.sidebar }),
|
|
2584
|
-
/* @__PURE__ */ jsxs15("main", { className: "flex-1 flex flex-col", children: [
|
|
2585
|
-
slots.header && /* @__PURE__ */ jsx34("header", { className: "border-b border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)]", children: slots.header }),
|
|
2586
|
-
/* @__PURE__ */ jsx34("div", { className: "flex-1 flex flex-col items-center justify-center p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsxs15("div", { className: "max-w-2xl w-full text-center space-y-[var(--tekton-spacing-6)]", children: [
|
|
2587
|
-
/* @__PURE__ */ jsxs15("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2588
|
-
/* @__PURE__ */ jsx34("h1", { className: "text-3xl font-bold", children: title }),
|
|
2589
|
-
/* @__PURE__ */ jsx34("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
|
|
2590
|
-
] }),
|
|
2591
|
-
/* @__PURE__ */ jsx34("div", { children: /* @__PURE__ */ jsx34(Button, { size: "lg", children: ctaLabel }) }),
|
|
2592
|
-
slots.recentActivity && /* @__PURE__ */ jsx34("div", { className: "mt-[var(--tekton-spacing-8)]", children: slots.recentActivity }),
|
|
2593
|
-
slots.suggestions && /* @__PURE__ */ jsx34("div", { className: "mt-[var(--tekton-spacing-6)]", children: slots.suggestions })
|
|
2594
|
-
] }) })
|
|
2595
|
-
] }),
|
|
2596
|
-
children
|
|
2597
|
-
] });
|
|
2598
|
-
}
|
|
2599
|
-
var LandingTemplate = {
|
|
2600
|
-
id: "core.landing",
|
|
2601
|
-
name: "Landing",
|
|
2602
|
-
category: "marketing",
|
|
2603
|
-
description: "Main dashboard landing page with sidebar and CTA",
|
|
2604
|
-
skeleton: {
|
|
2605
|
-
shell: "sidebar-layout",
|
|
2606
|
-
page: "main-page",
|
|
2607
|
-
sections: [
|
|
2608
|
-
{
|
|
2609
|
-
id: "landing-content",
|
|
2610
|
-
name: "Landing Content",
|
|
2611
|
-
slot: "main",
|
|
2612
|
-
required: true,
|
|
2613
|
-
Component: LandingTemplateComponent
|
|
2614
|
-
}
|
|
2615
|
-
]
|
|
2616
|
-
},
|
|
2617
|
-
layout: {
|
|
2618
|
-
type: "sidebar",
|
|
2619
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2620
|
-
},
|
|
2621
|
-
customizable: {
|
|
2622
|
-
texts: ["title", "subtitle", "cta_label"],
|
|
2623
|
-
optional: [],
|
|
2624
|
-
slots: ["sidebar", "header", "recentActivity", "suggestions"]
|
|
2625
|
-
},
|
|
2626
|
-
requiredComponents: ["Button"],
|
|
2627
|
-
Component: LandingTemplateComponent,
|
|
2628
|
-
version: "1.0.0",
|
|
2629
|
-
created: "2026-02-01",
|
|
2630
|
-
updated: "2026-02-01",
|
|
2631
|
-
tags: ["core", "landing", "dashboard", "home"]
|
|
2632
|
-
};
|
|
2633
|
-
|
|
2634
|
-
// src/templates/core/preferences.tsx
|
|
2635
|
-
import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2636
|
-
function PreferencesTemplateComponent({
|
|
2637
|
-
children,
|
|
2638
|
-
className = "",
|
|
2639
|
-
slots = {},
|
|
2640
|
-
texts = {}
|
|
2641
|
-
}) {
|
|
2642
|
-
const title = texts.title || "Preferences";
|
|
2643
|
-
const subtitle = texts.subtitle || "Manage your account settings and preferences";
|
|
2644
|
-
const saveLabel = texts.save_label || "Save Changes";
|
|
2645
|
-
return /* @__PURE__ */ jsxs16("div", { className: `min-h-screen flex ${className}`, children: [
|
|
2646
|
-
slots.settingsNav && /* @__PURE__ */ jsx35("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] p-[var(--tekton-spacing-4)] bg-[var(--tekton-bg-muted)]", children: slots.settingsNav }),
|
|
2647
|
-
/* @__PURE__ */ jsx35("main", { className: "flex-1 p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsxs16("div", { className: "max-w-3xl", children: [
|
|
2648
|
-
/* @__PURE__ */ jsxs16("div", { className: "mb-[var(--tekton-spacing-8)]", children: [
|
|
2649
|
-
/* @__PURE__ */ jsx35("h1", { className: "text-3xl font-bold mb-[var(--tekton-spacing-2)]", children: title }),
|
|
2650
|
-
/* @__PURE__ */ jsx35("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
|
|
2651
|
-
] }),
|
|
2652
|
-
/* @__PURE__ */ jsxs16("div", { className: "space-y-[var(--tekton-spacing-6)]", children: [
|
|
2653
|
-
slots.generalSettings && /* @__PURE__ */ jsxs16(Card, { children: [
|
|
2654
|
-
/* @__PURE__ */ jsxs16(CardHeader, { children: [
|
|
2655
|
-
/* @__PURE__ */ jsx35(CardTitle, { children: "General" }),
|
|
2656
|
-
/* @__PURE__ */ jsx35(CardDescription, { children: "Manage your general preferences" })
|
|
2657
|
-
] }),
|
|
2658
|
-
/* @__PURE__ */ jsx35(CardContent, { children: slots.generalSettings })
|
|
2659
|
-
] }),
|
|
2660
|
-
slots.appearanceSettings && /* @__PURE__ */ jsxs16(Card, { children: [
|
|
2661
|
-
/* @__PURE__ */ jsxs16(CardHeader, { children: [
|
|
2662
|
-
/* @__PURE__ */ jsx35(CardTitle, { children: "Appearance" }),
|
|
2663
|
-
/* @__PURE__ */ jsx35(CardDescription, { children: "Customize the look and feel" })
|
|
2664
|
-
] }),
|
|
2665
|
-
/* @__PURE__ */ jsx35(CardContent, { children: slots.appearanceSettings })
|
|
2666
|
-
] }),
|
|
2667
|
-
slots.notificationsSettings && /* @__PURE__ */ jsxs16(Card, { children: [
|
|
2668
|
-
/* @__PURE__ */ jsxs16(CardHeader, { children: [
|
|
2669
|
-
/* @__PURE__ */ jsx35(CardTitle, { children: "Notifications" }),
|
|
2670
|
-
/* @__PURE__ */ jsx35(CardDescription, { children: "Manage notification preferences" })
|
|
2671
|
-
] }),
|
|
2672
|
-
/* @__PURE__ */ jsx35(CardContent, { children: slots.notificationsSettings })
|
|
2673
|
-
] }),
|
|
2674
|
-
slots.additionalSettings && slots.additionalSettings
|
|
2675
|
-
] }),
|
|
2676
|
-
/* @__PURE__ */ jsxs16("div", { className: "mt-[var(--tekton-spacing-8)] flex justify-end gap-[var(--tekton-spacing-4)]", children: [
|
|
2677
|
-
/* @__PURE__ */ jsx35(Button, { variant: "outline", children: "Cancel" }),
|
|
2678
|
-
/* @__PURE__ */ jsx35(Button, { children: saveLabel })
|
|
2679
|
-
] })
|
|
2680
|
-
] }) }),
|
|
2681
|
-
children
|
|
2682
|
-
] });
|
|
2683
|
-
}
|
|
2684
|
-
var PreferencesTemplate = {
|
|
2685
|
-
id: "core.preferences",
|
|
2686
|
-
name: "Preferences",
|
|
2687
|
-
category: "form",
|
|
2688
|
-
description: "Settings and preferences page with categorized options",
|
|
2689
|
-
skeleton: {
|
|
2690
|
-
shell: "sidebar-layout",
|
|
2691
|
-
page: "settings-page",
|
|
2692
|
-
sections: [
|
|
2693
|
-
{
|
|
2694
|
-
id: "preferences-content",
|
|
2695
|
-
name: "Preferences Content",
|
|
2696
|
-
slot: "main",
|
|
2697
|
-
required: true,
|
|
2698
|
-
Component: PreferencesTemplateComponent
|
|
2699
|
-
}
|
|
2700
|
-
]
|
|
2701
|
-
},
|
|
2702
|
-
layout: {
|
|
2703
|
-
type: "sidebar",
|
|
2704
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2705
|
-
},
|
|
2706
|
-
customizable: {
|
|
2707
|
-
texts: ["title", "subtitle", "save_label"],
|
|
2708
|
-
optional: [],
|
|
2709
|
-
slots: [
|
|
2710
|
-
"settingsNav",
|
|
2711
|
-
"generalSettings",
|
|
2712
|
-
"appearanceSettings",
|
|
2713
|
-
"notificationsSettings",
|
|
2714
|
-
"additionalSettings"
|
|
2715
|
-
]
|
|
2716
|
-
},
|
|
2717
|
-
requiredComponents: ["Button", "Card", "Switch", "Select"],
|
|
2718
|
-
Component: PreferencesTemplateComponent,
|
|
2719
|
-
version: "1.0.0",
|
|
2720
|
-
created: "2026-02-01",
|
|
2721
|
-
updated: "2026-02-01",
|
|
2722
|
-
tags: ["core", "settings", "preferences", "configuration"]
|
|
2723
|
-
};
|
|
2724
|
-
|
|
2725
|
-
// src/templates/core/profile.tsx
|
|
2726
|
-
import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2727
|
-
function ProfileTemplateComponent({
|
|
2728
|
-
children,
|
|
2729
|
-
className = "",
|
|
2730
|
-
slots = {},
|
|
2731
|
-
texts = {},
|
|
2732
|
-
options = {}
|
|
2733
|
-
}) {
|
|
2734
|
-
const title = texts.title || "Profile";
|
|
2735
|
-
const subtitle = texts.subtitle || "Manage your profile information";
|
|
2736
|
-
const saveLabel = texts.save_label || "Save Changes";
|
|
2737
|
-
const userName = String(options.user_name || "John Doe");
|
|
2738
|
-
const userEmail = String(options.user_email || "john@example.com");
|
|
2739
|
-
return /* @__PURE__ */ jsxs17("div", { className: `min-h-screen p-[var(--tekton-spacing-8)] ${className}`, children: [
|
|
2740
|
-
/* @__PURE__ */ jsxs17("div", { className: "max-w-3xl mx-auto", children: [
|
|
2741
|
-
/* @__PURE__ */ jsxs17("div", { className: "mb-[var(--tekton-spacing-8)]", children: [
|
|
2742
|
-
/* @__PURE__ */ jsx36("h1", { className: "text-3xl font-bold mb-[var(--tekton-spacing-2)]", children: title }),
|
|
2743
|
-
/* @__PURE__ */ jsx36("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: subtitle })
|
|
2744
|
-
] }),
|
|
2745
|
-
/* @__PURE__ */ jsxs17(Card, { children: [
|
|
2746
|
-
/* @__PURE__ */ jsxs17(CardHeader, { children: [
|
|
2747
|
-
/* @__PURE__ */ jsx36(CardTitle, { children: "Personal Information" }),
|
|
2748
|
-
/* @__PURE__ */ jsx36(CardDescription, { children: "Update your profile details" })
|
|
2749
|
-
] }),
|
|
2750
|
-
/* @__PURE__ */ jsxs17(CardContent, { className: "space-y-[var(--tekton-spacing-6)]", children: [
|
|
2751
|
-
slots.avatar && /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-[var(--tekton-spacing-4)]", children: [
|
|
2752
|
-
/* @__PURE__ */ jsx36("div", { children: slots.avatar }),
|
|
2753
|
-
/* @__PURE__ */ jsxs17("div", { children: [
|
|
2754
|
-
/* @__PURE__ */ jsx36(Button, { variant: "outline", size: "sm", children: "Change Photo" }),
|
|
2755
|
-
/* @__PURE__ */ jsx36("p", { className: "text-xs text-[var(--tekton-text-muted-foreground)] mt-[var(--tekton-spacing-2)]", children: "JPG, PNG. Max 2MB" })
|
|
2756
|
-
] })
|
|
2757
|
-
] }),
|
|
2758
|
-
/* @__PURE__ */ jsxs17("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2759
|
-
/* @__PURE__ */ jsx36(Label, { htmlFor: "name", children: "Name" }),
|
|
2760
|
-
/* @__PURE__ */ jsx36(Input, { id: "name", type: "text", defaultValue: userName })
|
|
2761
|
-
] }),
|
|
2762
|
-
/* @__PURE__ */ jsxs17("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2763
|
-
/* @__PURE__ */ jsx36(Label, { htmlFor: "email", children: "Email" }),
|
|
2764
|
-
/* @__PURE__ */ jsx36(Input, { id: "email", type: "email", defaultValue: userEmail, disabled: true }),
|
|
2765
|
-
/* @__PURE__ */ jsx36("p", { className: "text-xs text-[var(--tekton-text-muted-foreground)]", children: "Contact support to change your email address" })
|
|
2766
|
-
] }),
|
|
2767
|
-
slots.bioField && /* @__PURE__ */ jsx36("div", { className: "space-y-[var(--tekton-spacing-2)]", children: slots.bioField }),
|
|
2768
|
-
slots.additionalFields && slots.additionalFields
|
|
2769
|
-
] })
|
|
2770
|
-
] }),
|
|
2771
|
-
slots.additionalSections && /* @__PURE__ */ jsx36("div", { className: "mt-[var(--tekton-spacing-6)]", children: slots.additionalSections }),
|
|
2772
|
-
/* @__PURE__ */ jsxs17("div", { className: "mt-[var(--tekton-spacing-8)] flex justify-end gap-[var(--tekton-spacing-4)]", children: [
|
|
2773
|
-
/* @__PURE__ */ jsx36(Button, { variant: "outline", children: "Cancel" }),
|
|
2774
|
-
/* @__PURE__ */ jsx36(Button, { children: saveLabel })
|
|
2775
|
-
] })
|
|
2776
|
-
] }),
|
|
2777
|
-
children
|
|
2778
|
-
] });
|
|
2779
|
-
}
|
|
2780
|
-
var ProfileTemplate = {
|
|
2781
|
-
id: "core.profile",
|
|
2782
|
-
name: "Profile",
|
|
2783
|
-
category: "form",
|
|
2784
|
-
description: "User profile page with editable information",
|
|
2785
|
-
skeleton: {
|
|
2786
|
-
shell: "centered-layout",
|
|
2787
|
-
page: "profile-page",
|
|
2788
|
-
sections: [
|
|
2789
|
-
{
|
|
2790
|
-
id: "profile-content",
|
|
2791
|
-
name: "Profile Content",
|
|
2792
|
-
slot: "main",
|
|
2793
|
-
required: true,
|
|
2794
|
-
Component: ProfileTemplateComponent
|
|
2795
|
-
}
|
|
2796
|
-
]
|
|
2797
|
-
},
|
|
2798
|
-
layout: {
|
|
2799
|
-
type: "centered",
|
|
2800
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2801
|
-
},
|
|
2802
|
-
customizable: {
|
|
2803
|
-
texts: ["title", "subtitle", "save_label"],
|
|
2804
|
-
optional: ["user_name", "user_email"],
|
|
2805
|
-
slots: ["avatar", "bioField", "additionalFields", "additionalSections"]
|
|
2806
|
-
},
|
|
2807
|
-
requiredComponents: ["Button", "Input", "Form", "Card", "Label", "Avatar"],
|
|
2808
|
-
Component: ProfileTemplateComponent,
|
|
2809
|
-
version: "1.0.0",
|
|
2810
|
-
created: "2026-02-01",
|
|
2811
|
-
updated: "2026-02-01",
|
|
2812
|
-
tags: ["core", "profile", "account", "user"]
|
|
2813
|
-
};
|
|
2814
|
-
|
|
2815
|
-
// src/templates/feedback/loading.tsx
|
|
2816
|
-
import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2817
|
-
function LoadingTemplateComponent({
|
|
2818
|
-
children,
|
|
2819
|
-
className = "",
|
|
2820
|
-
slots = {},
|
|
2821
|
-
texts = {},
|
|
2822
|
-
options = {}
|
|
2823
|
-
}) {
|
|
2824
|
-
const message = texts.message || "Loading...";
|
|
2825
|
-
const showMessage = options.show_message ?? true;
|
|
2826
|
-
return /* @__PURE__ */ jsxs18(
|
|
2827
|
-
"div",
|
|
2828
|
-
{
|
|
2829
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2830
|
-
children: [
|
|
2831
|
-
/* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-center gap-[var(--tekton-spacing-4)]", children: [
|
|
2832
|
-
slots.spinner || /* @__PURE__ */ jsx37("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-[var(--tekton-border-primary)]" }),
|
|
2833
|
-
showMessage && /* @__PURE__ */ jsx37("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: message })
|
|
2834
|
-
] }),
|
|
2835
|
-
children
|
|
2836
|
-
]
|
|
2837
|
-
}
|
|
2838
|
-
);
|
|
2839
|
-
}
|
|
2840
|
-
var LoadingTemplate = {
|
|
2841
|
-
id: "feedback.loading",
|
|
2842
|
-
name: "Loading",
|
|
2843
|
-
category: "feedback",
|
|
2844
|
-
description: "Loading state screen with spinner and optional message",
|
|
2845
|
-
skeleton: {
|
|
2846
|
-
shell: "centered",
|
|
2847
|
-
page: "feedback-page",
|
|
2848
|
-
sections: [
|
|
2849
|
-
{
|
|
2850
|
-
id: "loading-indicator",
|
|
2851
|
-
name: "Loading Indicator",
|
|
2852
|
-
slot: "main",
|
|
2853
|
-
required: true,
|
|
2854
|
-
Component: LoadingTemplateComponent
|
|
2855
|
-
}
|
|
2856
|
-
]
|
|
2857
|
-
},
|
|
2858
|
-
layout: {
|
|
2859
|
-
type: "centered",
|
|
2860
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2861
|
-
},
|
|
2862
|
-
customizable: {
|
|
2863
|
-
texts: ["message"],
|
|
2864
|
-
optional: ["show_message"],
|
|
2865
|
-
slots: ["spinner"]
|
|
2866
|
-
},
|
|
2867
|
-
requiredComponents: [],
|
|
2868
|
-
Component: LoadingTemplateComponent,
|
|
2869
|
-
version: "1.0.0",
|
|
2870
|
-
created: "2026-02-01",
|
|
2871
|
-
updated: "2026-02-01",
|
|
2872
|
-
tags: ["feedback", "loading", "spinner", "state"]
|
|
2873
|
-
};
|
|
2874
|
-
|
|
2875
|
-
// src/templates/feedback/error.tsx
|
|
2876
|
-
import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2877
|
-
function ErrorTemplateComponent({
|
|
2878
|
-
children,
|
|
2879
|
-
className = "",
|
|
2880
|
-
slots = {},
|
|
2881
|
-
texts = {},
|
|
2882
|
-
options = {}
|
|
2883
|
-
}) {
|
|
2884
|
-
const title = texts.title || "Something Went Wrong";
|
|
2885
|
-
const message = texts.message || "An error occurred. Please try again.";
|
|
2886
|
-
const retryLabel = texts.retry_label || "Try Again";
|
|
2887
|
-
const showRetry = options.show_retry ?? true;
|
|
2888
|
-
return /* @__PURE__ */ jsxs19(
|
|
2889
|
-
"div",
|
|
2890
|
-
{
|
|
2891
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2892
|
-
children: [
|
|
2893
|
-
/* @__PURE__ */ jsxs19("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
|
|
2894
|
-
slots.icon || /* @__PURE__ */ jsx38("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx38("div", { className: "rounded-full bg-[var(--tekton-bg-destructive)] bg-opacity-10 p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsx38(
|
|
2895
|
-
"svg",
|
|
2896
|
-
{
|
|
2897
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2898
|
-
className: "h-12 w-12 text-[var(--tekton-text-destructive)]",
|
|
2899
|
-
fill: "none",
|
|
2900
|
-
viewBox: "0 0 24 24",
|
|
2901
|
-
stroke: "currentColor",
|
|
2902
|
-
children: /* @__PURE__ */ jsx38(
|
|
2903
|
-
"path",
|
|
2904
|
-
{
|
|
2905
|
-
strokeLinecap: "round",
|
|
2906
|
-
strokeLinejoin: "round",
|
|
2907
|
-
strokeWidth: 2,
|
|
2908
|
-
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
2909
|
-
}
|
|
2910
|
-
)
|
|
2911
|
-
}
|
|
2912
|
-
) }) }),
|
|
2913
|
-
/* @__PURE__ */ jsxs19("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
2914
|
-
/* @__PURE__ */ jsx38("h2", { className: "text-2xl font-bold", children: title }),
|
|
2915
|
-
/* @__PURE__ */ jsx38("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
|
|
2916
|
-
] }),
|
|
2917
|
-
slots.errorDetails && /* @__PURE__ */ jsx38("div", { className: "text-left bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.errorDetails }),
|
|
2918
|
-
/* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-[var(--tekton-spacing-3)]", children: [
|
|
2919
|
-
showRetry && /* @__PURE__ */ jsx38(Button, { className: "w-full", children: retryLabel }),
|
|
2920
|
-
slots.additionalActions && slots.additionalActions
|
|
2921
|
-
] })
|
|
2922
|
-
] }),
|
|
2923
|
-
children
|
|
2924
|
-
]
|
|
2925
|
-
}
|
|
2926
|
-
);
|
|
2927
|
-
}
|
|
2928
|
-
var ErrorTemplate = {
|
|
2929
|
-
id: "feedback.error",
|
|
2930
|
-
name: "Error",
|
|
2931
|
-
category: "feedback",
|
|
2932
|
-
description: "Error state screen with message and retry option",
|
|
2933
|
-
skeleton: {
|
|
2934
|
-
shell: "centered",
|
|
2935
|
-
page: "feedback-page",
|
|
2936
|
-
sections: [
|
|
2937
|
-
{
|
|
2938
|
-
id: "error-message",
|
|
2939
|
-
name: "Error Message",
|
|
2940
|
-
slot: "main",
|
|
2941
|
-
required: true,
|
|
2942
|
-
Component: ErrorTemplateComponent
|
|
2943
|
-
}
|
|
2944
|
-
]
|
|
2945
|
-
},
|
|
2946
|
-
layout: {
|
|
2947
|
-
type: "centered",
|
|
2948
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
2949
|
-
},
|
|
2950
|
-
customizable: {
|
|
2951
|
-
texts: ["title", "message", "retry_label"],
|
|
2952
|
-
optional: ["show_retry"],
|
|
2953
|
-
slots: ["icon", "errorDetails", "additionalActions"]
|
|
2954
|
-
},
|
|
2955
|
-
requiredComponents: ["Button"],
|
|
2956
|
-
Component: ErrorTemplateComponent,
|
|
2957
|
-
version: "1.0.0",
|
|
2958
|
-
created: "2026-02-01",
|
|
2959
|
-
updated: "2026-02-01",
|
|
2960
|
-
tags: ["feedback", "error", "failure", "state"]
|
|
2961
|
-
};
|
|
2962
|
-
|
|
2963
|
-
// src/templates/feedback/empty.tsx
|
|
2964
|
-
import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2965
|
-
function EmptyTemplateComponent({
|
|
2966
|
-
children,
|
|
2967
|
-
className = "",
|
|
2968
|
-
slots = {},
|
|
2969
|
-
texts = {},
|
|
2970
|
-
options = {}
|
|
2971
|
-
}) {
|
|
2972
|
-
const title = texts.title || "No Items Found";
|
|
2973
|
-
const message = texts.message || "Get started by creating your first item";
|
|
2974
|
-
const ctaLabel = texts.cta_label || "Create New";
|
|
2975
|
-
const showCta = options.show_cta ?? true;
|
|
2976
|
-
return /* @__PURE__ */ jsxs20(
|
|
2977
|
-
"div",
|
|
2978
|
-
{
|
|
2979
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
2980
|
-
children: [
|
|
2981
|
-
/* @__PURE__ */ jsxs20("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
|
|
2982
|
-
slots.illustration || /* @__PURE__ */ jsx39("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx39("div", { className: "rounded-full bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-8)]", children: /* @__PURE__ */ jsx39(
|
|
2983
|
-
"svg",
|
|
2984
|
-
{
|
|
2985
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2986
|
-
className: "h-16 w-16 text-[var(--tekton-text-muted-foreground)]",
|
|
2987
|
-
fill: "none",
|
|
2988
|
-
viewBox: "0 0 24 24",
|
|
2989
|
-
stroke: "currentColor",
|
|
2990
|
-
children: /* @__PURE__ */ jsx39(
|
|
2991
|
-
"path",
|
|
2992
|
-
{
|
|
2993
|
-
strokeLinecap: "round",
|
|
2994
|
-
strokeLinejoin: "round",
|
|
2995
|
-
strokeWidth: 2,
|
|
2996
|
-
d: "M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"
|
|
2997
|
-
}
|
|
2998
|
-
)
|
|
2999
|
-
}
|
|
3000
|
-
) }) }),
|
|
3001
|
-
/* @__PURE__ */ jsxs20("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
3002
|
-
/* @__PURE__ */ jsx39("h2", { className: "text-2xl font-bold", children: title }),
|
|
3003
|
-
/* @__PURE__ */ jsx39("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
|
|
3004
|
-
] }),
|
|
3005
|
-
showCta && /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39(Button, { size: "lg", children: ctaLabel }) }),
|
|
3006
|
-
slots.helpText && /* @__PURE__ */ jsx39("div", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: slots.helpText })
|
|
3007
|
-
] }),
|
|
3008
|
-
children
|
|
3009
|
-
]
|
|
3010
|
-
}
|
|
3011
|
-
);
|
|
3012
|
-
}
|
|
3013
|
-
var EmptyTemplate = {
|
|
3014
|
-
id: "feedback.empty",
|
|
3015
|
-
name: "Empty",
|
|
3016
|
-
category: "feedback",
|
|
3017
|
-
description: "Empty state screen with call-to-action",
|
|
3018
|
-
skeleton: {
|
|
3019
|
-
shell: "centered",
|
|
3020
|
-
page: "feedback-page",
|
|
3021
|
-
sections: [
|
|
3022
|
-
{
|
|
3023
|
-
id: "empty-state",
|
|
3024
|
-
name: "Empty State",
|
|
3025
|
-
slot: "main",
|
|
3026
|
-
required: true,
|
|
3027
|
-
Component: EmptyTemplateComponent
|
|
3028
|
-
}
|
|
3029
|
-
]
|
|
3030
|
-
},
|
|
3031
|
-
layout: {
|
|
3032
|
-
type: "centered",
|
|
3033
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
3034
|
-
},
|
|
3035
|
-
customizable: {
|
|
3036
|
-
texts: ["title", "message", "cta_label"],
|
|
3037
|
-
optional: ["show_cta"],
|
|
3038
|
-
slots: ["illustration", "helpText"]
|
|
3039
|
-
},
|
|
3040
|
-
requiredComponents: ["Button"],
|
|
3041
|
-
Component: EmptyTemplateComponent,
|
|
3042
|
-
version: "1.0.0",
|
|
3043
|
-
created: "2026-02-01",
|
|
3044
|
-
updated: "2026-02-01",
|
|
3045
|
-
tags: ["feedback", "empty", "state", "no-data"]
|
|
3046
|
-
};
|
|
3047
|
-
|
|
3048
|
-
// src/templates/feedback/confirmation.tsx
|
|
3049
|
-
import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3050
|
-
function ConfirmationTemplateComponent({
|
|
3051
|
-
children,
|
|
3052
|
-
className = "",
|
|
3053
|
-
slots = {},
|
|
3054
|
-
texts = {},
|
|
3055
|
-
options = {}
|
|
3056
|
-
}) {
|
|
3057
|
-
const title = texts.title || "Are You Sure?";
|
|
3058
|
-
const message = texts.message || "This action cannot be undone.";
|
|
3059
|
-
const confirmLabel = texts.confirm_label || "Confirm";
|
|
3060
|
-
const cancelLabel = texts.cancel_label || "Cancel";
|
|
3061
|
-
const isDestructive = options.is_destructive ?? false;
|
|
3062
|
-
return /* @__PURE__ */ jsxs21(
|
|
3063
|
-
"div",
|
|
3064
|
-
{
|
|
3065
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
3066
|
-
children: [
|
|
3067
|
-
/* @__PURE__ */ jsxs21(Card, { className: "w-full max-w-md", children: [
|
|
3068
|
-
/* @__PURE__ */ jsxs21(CardHeader, { children: [
|
|
3069
|
-
isDestructive && slots.warningIcon && /* @__PURE__ */ jsx40("div", { className: "mb-[var(--tekton-spacing-2)]", children: slots.warningIcon }),
|
|
3070
|
-
/* @__PURE__ */ jsx40(CardTitle, { children: title }),
|
|
3071
|
-
/* @__PURE__ */ jsx40(CardDescription, { children: message })
|
|
3072
|
-
] }),
|
|
3073
|
-
/* @__PURE__ */ jsx40(CardContent, { children: slots.details && /* @__PURE__ */ jsx40("div", { className: "bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.details }) }),
|
|
3074
|
-
/* @__PURE__ */ jsxs21(CardFooter, { className: "flex justify-end gap-[var(--tekton-spacing-3)]", children: [
|
|
3075
|
-
/* @__PURE__ */ jsx40(Button, { variant: "outline", children: cancelLabel }),
|
|
3076
|
-
/* @__PURE__ */ jsx40(Button, { variant: isDestructive ? "destructive" : "default", children: confirmLabel })
|
|
3077
|
-
] })
|
|
3078
|
-
] }),
|
|
3079
|
-
children
|
|
3080
|
-
]
|
|
3081
|
-
}
|
|
3082
|
-
);
|
|
3083
|
-
}
|
|
3084
|
-
var ConfirmationTemplate = {
|
|
3085
|
-
id: "feedback.confirmation",
|
|
3086
|
-
name: "Confirmation",
|
|
3087
|
-
category: "feedback",
|
|
3088
|
-
description: "Confirmation dialog for important actions",
|
|
3089
|
-
skeleton: {
|
|
3090
|
-
shell: "centered-card",
|
|
3091
|
-
page: "feedback-page",
|
|
3092
|
-
sections: [
|
|
3093
|
-
{
|
|
3094
|
-
id: "confirmation-dialog",
|
|
3095
|
-
name: "Confirmation Dialog",
|
|
3096
|
-
slot: "main",
|
|
3097
|
-
required: true,
|
|
3098
|
-
Component: ConfirmationTemplateComponent
|
|
3099
|
-
}
|
|
3100
|
-
]
|
|
3101
|
-
},
|
|
3102
|
-
layout: {
|
|
3103
|
-
type: "centered",
|
|
3104
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
3105
|
-
},
|
|
3106
|
-
customizable: {
|
|
3107
|
-
texts: ["title", "message", "confirm_label", "cancel_label"],
|
|
3108
|
-
optional: ["is_destructive"],
|
|
3109
|
-
slots: ["warningIcon", "details"]
|
|
3110
|
-
},
|
|
3111
|
-
requiredComponents: ["Button", "Card"],
|
|
3112
|
-
Component: ConfirmationTemplateComponent,
|
|
3113
|
-
version: "1.0.0",
|
|
3114
|
-
created: "2026-02-01",
|
|
3115
|
-
updated: "2026-02-01",
|
|
3116
|
-
tags: ["feedback", "confirmation", "dialog", "warning"]
|
|
3117
|
-
};
|
|
3118
|
-
|
|
3119
|
-
// src/templates/feedback/success.tsx
|
|
3120
|
-
import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3121
|
-
function SuccessTemplateComponent({
|
|
3122
|
-
children,
|
|
3123
|
-
className = "",
|
|
3124
|
-
slots = {},
|
|
3125
|
-
texts = {},
|
|
3126
|
-
options = {}
|
|
3127
|
-
}) {
|
|
3128
|
-
const title = texts.title || "Success!";
|
|
3129
|
-
const message = texts.message || "Your action was completed successfully";
|
|
3130
|
-
const ctaLabel = texts.cta_label || "Continue";
|
|
3131
|
-
const showCta = options.show_cta ?? true;
|
|
3132
|
-
return /* @__PURE__ */ jsxs22(
|
|
3133
|
-
"div",
|
|
3134
|
-
{
|
|
3135
|
-
className: `min-h-screen flex items-center justify-center p-[var(--tekton-spacing-4)] ${className}`,
|
|
3136
|
-
children: [
|
|
3137
|
-
/* @__PURE__ */ jsxs22("div", { className: "max-w-md text-center space-y-[var(--tekton-spacing-6)]", children: [
|
|
3138
|
-
slots.icon || /* @__PURE__ */ jsx41("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx41("div", { className: "rounded-full bg-[var(--tekton-bg-success)] bg-opacity-10 p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsx41(
|
|
3139
|
-
"svg",
|
|
3140
|
-
{
|
|
3141
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3142
|
-
className: "h-12 w-12 text-[var(--tekton-text-success)]",
|
|
3143
|
-
fill: "none",
|
|
3144
|
-
viewBox: "0 0 24 24",
|
|
3145
|
-
stroke: "currentColor",
|
|
3146
|
-
children: /* @__PURE__ */ jsx41(
|
|
3147
|
-
"path",
|
|
3148
|
-
{
|
|
3149
|
-
strokeLinecap: "round",
|
|
3150
|
-
strokeLinejoin: "round",
|
|
3151
|
-
strokeWidth: 2,
|
|
3152
|
-
d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
3153
|
-
}
|
|
3154
|
-
)
|
|
3155
|
-
}
|
|
3156
|
-
) }) }),
|
|
3157
|
-
/* @__PURE__ */ jsxs22("div", { className: "space-y-[var(--tekton-spacing-2)]", children: [
|
|
3158
|
-
/* @__PURE__ */ jsx41("h2", { className: "text-2xl font-bold", children: title }),
|
|
3159
|
-
/* @__PURE__ */ jsx41("p", { className: "text-[var(--tekton-text-muted-foreground)]", children: message })
|
|
3160
|
-
] }),
|
|
3161
|
-
slots.details && /* @__PURE__ */ jsx41("div", { className: "text-left bg-[var(--tekton-bg-muted)] p-[var(--tekton-spacing-4)] rounded-[var(--tekton-radius-md)] text-sm", children: slots.details }),
|
|
3162
|
-
showCta && /* @__PURE__ */ jsx41("div", { children: /* @__PURE__ */ jsx41(Button, { className: "w-full", size: "lg", children: ctaLabel }) }),
|
|
3163
|
-
slots.additionalActions && /* @__PURE__ */ jsx41("div", { className: "flex flex-col gap-[var(--tekton-spacing-3)]", children: slots.additionalActions })
|
|
3164
|
-
] }),
|
|
3165
|
-
children
|
|
3166
|
-
]
|
|
3167
|
-
}
|
|
3168
|
-
);
|
|
3169
|
-
}
|
|
3170
|
-
var SuccessTemplate = {
|
|
3171
|
-
id: "feedback.success",
|
|
3172
|
-
name: "Success",
|
|
3173
|
-
category: "feedback",
|
|
3174
|
-
description: "Success state screen with confirmation message",
|
|
3175
|
-
skeleton: {
|
|
3176
|
-
shell: "centered",
|
|
3177
|
-
page: "feedback-page",
|
|
3178
|
-
sections: [
|
|
3179
|
-
{
|
|
3180
|
-
id: "success-message",
|
|
3181
|
-
name: "Success Message",
|
|
3182
|
-
slot: "main",
|
|
3183
|
-
required: true,
|
|
3184
|
-
Component: SuccessTemplateComponent
|
|
3185
|
-
}
|
|
3186
|
-
]
|
|
3187
|
-
},
|
|
3188
|
-
layout: {
|
|
3189
|
-
type: "centered",
|
|
3190
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
3191
|
-
},
|
|
3192
|
-
customizable: {
|
|
3193
|
-
texts: ["title", "message", "cta_label"],
|
|
3194
|
-
optional: ["show_cta"],
|
|
3195
|
-
slots: ["icon", "details", "additionalActions"]
|
|
3196
|
-
},
|
|
3197
|
-
requiredComponents: ["Button"],
|
|
3198
|
-
Component: SuccessTemplateComponent,
|
|
3199
|
-
version: "1.0.0",
|
|
3200
|
-
created: "2026-02-01",
|
|
3201
|
-
updated: "2026-02-01",
|
|
3202
|
-
tags: ["feedback", "success", "confirmation", "state"]
|
|
3203
|
-
};
|
|
3204
|
-
|
|
3205
|
-
// src/templates/dashboard/overview.tsx
|
|
3206
|
-
import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3207
|
-
function DashboardTemplateComponent({
|
|
3208
|
-
children,
|
|
3209
|
-
className = "",
|
|
3210
|
-
slots = {},
|
|
3211
|
-
texts = {}
|
|
3212
|
-
}) {
|
|
3213
|
-
const title = texts.title || "Dashboard";
|
|
3214
|
-
const subtitle = texts.subtitle || "Welcome to your dashboard";
|
|
3215
|
-
return /* @__PURE__ */ jsxs23("div", { className: `min-h-screen flex ${className}`, children: [
|
|
3216
|
-
slots.sidebar && /* @__PURE__ */ jsx42("aside", { className: "w-64 border-r border-[var(--tekton-border-default)] bg-[var(--tekton-bg-card)] hidden lg:block", children: slots.sidebar }),
|
|
3217
|
-
/* @__PURE__ */ jsxs23("main", { className: "flex-1 overflow-auto bg-[var(--tekton-bg-background)]", children: [
|
|
3218
|
-
/* @__PURE__ */ jsx42("header", { className: "sticky top-0 z-10 border-b border-[var(--tekton-border-default)] bg-[var(--tekton-bg-background)]/80 backdrop-blur-md p-[var(--tekton-spacing-4)]", children: /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
|
|
3219
|
-
/* @__PURE__ */ jsxs23("div", { children: [
|
|
3220
|
-
/* @__PURE__ */ jsx42("h1", { className: "text-2xl font-bold text-[var(--tekton-text-foreground)]", children: title }),
|
|
3221
|
-
/* @__PURE__ */ jsx42("p", { className: "text-sm text-[var(--tekton-text-muted-foreground)]", children: subtitle })
|
|
3222
|
-
] }),
|
|
3223
|
-
slots.headerActions && /* @__PURE__ */ jsx42("div", { children: slots.headerActions })
|
|
3224
|
-
] }) }),
|
|
3225
|
-
/* @__PURE__ */ jsxs23("div", { className: "py-[var(--tekton-layout-section-py,var(--tekton-spacing-6))] px-[var(--tekton-layout-container-px,var(--tekton-spacing-6))] space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))] max-w-[var(--tekton-layout-container-xl)] mx-auto", children: [
|
|
3226
|
-
slots.metrics && /* @__PURE__ */ jsx42("div", { className: "grid gap-[var(--tekton-spacing-4)] grid-cols-2 lg:grid-cols-4", children: slots.metrics }),
|
|
3227
|
-
/* @__PURE__ */ jsx42(Separator, {}),
|
|
3228
|
-
/* @__PURE__ */ jsxs23("div", { className: "grid gap-x-[var(--tekton-layout-grid-gap-x,var(--tekton-spacing-6))] gap-y-[var(--tekton-layout-grid-gap-y,var(--tekton-spacing-6))] lg:grid-cols-12", children: [
|
|
3229
|
-
slots.primaryContent && /* @__PURE__ */ jsx42("div", { className: "lg:col-span-8 space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))]", children: slots.primaryContent }),
|
|
3230
|
-
slots.secondaryContent && /* @__PURE__ */ jsx42("div", { className: "lg:col-span-4 space-y-[var(--tekton-layout-stack-gap,var(--tekton-spacing-6))]", children: /* @__PURE__ */ jsxs23(Card, { className: "h-full", children: [
|
|
3231
|
-
/* @__PURE__ */ jsxs23(CardHeader, { children: [
|
|
3232
|
-
/* @__PURE__ */ jsx42(CardTitle, { children: texts.secondary_title || "Activity" }),
|
|
3233
|
-
/* @__PURE__ */ jsx42(CardDescription, { children: texts.secondary_description || "Recent updates" })
|
|
3234
|
-
] }),
|
|
3235
|
-
/* @__PURE__ */ jsx42(CardContent, { className: "p-0", children: slots.secondaryContent })
|
|
3236
|
-
] }) })
|
|
3237
|
-
] }),
|
|
3238
|
-
slots.additionalSections && /* @__PURE__ */ jsx42("div", { children: slots.additionalSections })
|
|
3239
|
-
] })
|
|
3240
|
-
] }),
|
|
3241
|
-
children
|
|
3242
|
-
] });
|
|
3243
|
-
}
|
|
3244
|
-
var DashboardTemplate = {
|
|
3245
|
-
id: "dashboard.overview",
|
|
3246
|
-
name: "Dashboard Overview",
|
|
3247
|
-
category: "dashboard",
|
|
3248
|
-
description: "Standard dashboard layout with sidebar, metrics, and content areas (12-column grid)",
|
|
3249
|
-
skeleton: {
|
|
3250
|
-
shell: "sidebar-layout",
|
|
3251
|
-
page: "dashboard-page",
|
|
3252
|
-
sections: [
|
|
3253
|
-
{
|
|
3254
|
-
id: "dashboard-sidebar",
|
|
3255
|
-
name: "Sidebar Navigation",
|
|
3256
|
-
slot: "sidebar",
|
|
3257
|
-
required: false,
|
|
3258
|
-
Component: () => null
|
|
3259
|
-
},
|
|
3260
|
-
{
|
|
3261
|
-
id: "dashboard-main",
|
|
3262
|
-
name: "Main Content",
|
|
3263
|
-
slot: "primaryContent",
|
|
3264
|
-
required: true,
|
|
3265
|
-
Component: () => null
|
|
3266
|
-
},
|
|
3267
|
-
{
|
|
3268
|
-
id: "dashboard-side",
|
|
3269
|
-
name: "Side Panel",
|
|
3270
|
-
slot: "secondaryContent",
|
|
3271
|
-
required: false,
|
|
3272
|
-
Component: () => null
|
|
3273
|
-
}
|
|
3274
|
-
]
|
|
3275
|
-
},
|
|
3276
|
-
layout: {
|
|
3277
|
-
type: "sidebar",
|
|
3278
|
-
responsive: DEFAULT_RESPONSIVE_LAYOUT
|
|
3279
|
-
},
|
|
3280
|
-
customizable: {
|
|
3281
|
-
texts: ["title", "subtitle", "texts.secondary_title", "texts.secondary_description"],
|
|
3282
|
-
optional: ["metrics", "additionalSections"],
|
|
3283
|
-
slots: [
|
|
3284
|
-
"sidebar",
|
|
3285
|
-
"headerActions",
|
|
3286
|
-
"metrics",
|
|
3287
|
-
"primaryContent",
|
|
3288
|
-
"secondaryContent",
|
|
3289
|
-
"additionalSections"
|
|
3290
|
-
]
|
|
3291
|
-
},
|
|
3292
|
-
requiredComponents: ["Card", "Separator"],
|
|
3293
|
-
Component: DashboardTemplateComponent,
|
|
3294
|
-
version: "1.1.0",
|
|
3295
|
-
created: "2026-01-31",
|
|
3296
|
-
updated: "2026-02-01",
|
|
3297
|
-
tags: ["dashboard", "overview", "analytics"]
|
|
3298
|
-
};
|
|
3299
|
-
|
|
3300
|
-
// src/templates/index.ts
|
|
3301
|
-
templateRegistry.registerMany([
|
|
3302
|
-
// Auth
|
|
3303
|
-
LoginTemplate,
|
|
3304
|
-
SignupTemplate,
|
|
3305
|
-
ForgotPasswordTemplate,
|
|
3306
|
-
VerificationTemplate,
|
|
3307
|
-
// Core
|
|
3308
|
-
LandingTemplate,
|
|
3309
|
-
PreferencesTemplate,
|
|
3310
|
-
ProfileTemplate,
|
|
3311
|
-
// Feedback
|
|
3312
|
-
LoadingTemplate,
|
|
3313
|
-
ErrorTemplate,
|
|
3314
|
-
EmptyTemplate,
|
|
3315
|
-
ConfirmationTemplate,
|
|
3316
|
-
SuccessTemplate,
|
|
3317
|
-
// Dashboard
|
|
3318
|
-
DashboardTemplate
|
|
3319
|
-
]);
|
|
3320
1919
|
export {
|
|
3321
1920
|
AlertDialog,
|
|
3322
1921
|
AlertDialogAction,
|
|
@@ -3358,12 +1957,6 @@ export {
|
|
|
3358
1957
|
CommandList,
|
|
3359
1958
|
CommandSeparator,
|
|
3360
1959
|
CommandShortcut,
|
|
3361
|
-
ConfirmationTemplate,
|
|
3362
|
-
ConfirmationTemplateComponent,
|
|
3363
|
-
DEFAULT_BREAKPOINTS,
|
|
3364
|
-
DEFAULT_RESPONSIVE_LAYOUT,
|
|
3365
|
-
DashboardTemplate,
|
|
3366
|
-
DashboardTemplateComponent,
|
|
3367
1960
|
Dialog,
|
|
3368
1961
|
DialogClose,
|
|
3369
1962
|
DialogContent,
|
|
@@ -3389,20 +1982,8 @@ export {
|
|
|
3389
1982
|
DropdownMenuSubContent,
|
|
3390
1983
|
DropdownMenuSubTrigger,
|
|
3391
1984
|
DropdownMenuTrigger,
|
|
3392
|
-
EmptyTemplate,
|
|
3393
|
-
EmptyTemplateComponent,
|
|
3394
|
-
ErrorTemplate,
|
|
3395
|
-
ErrorTemplateComponent,
|
|
3396
|
-
ForgotPasswordTemplate,
|
|
3397
|
-
ForgotPasswordTemplateComponent,
|
|
3398
1985
|
Input,
|
|
3399
1986
|
Label,
|
|
3400
|
-
LandingTemplate,
|
|
3401
|
-
LandingTemplateComponent,
|
|
3402
|
-
LoadingTemplate,
|
|
3403
|
-
LoadingTemplateComponent,
|
|
3404
|
-
LoginTemplate,
|
|
3405
|
-
LoginTemplateComponent,
|
|
3406
1987
|
NavigationMenu,
|
|
3407
1988
|
NavigationMenuContent,
|
|
3408
1989
|
NavigationMenuIndicator,
|
|
@@ -3414,10 +1995,6 @@ export {
|
|
|
3414
1995
|
Popover,
|
|
3415
1996
|
PopoverContent,
|
|
3416
1997
|
PopoverTrigger,
|
|
3417
|
-
PreferencesTemplate,
|
|
3418
|
-
PreferencesTemplateComponent,
|
|
3419
|
-
ProfileTemplate,
|
|
3420
|
-
ProfileTemplateComponent,
|
|
3421
1998
|
Progress,
|
|
3422
1999
|
RadioGroup,
|
|
3423
2000
|
RadioGroupItem,
|
|
@@ -3451,11 +2028,7 @@ export {
|
|
|
3451
2028
|
SidebarItem,
|
|
3452
2029
|
SidebarSection,
|
|
3453
2030
|
SidebarSectionTitle,
|
|
3454
|
-
SignupTemplate,
|
|
3455
|
-
SignupTemplateComponent,
|
|
3456
2031
|
Skeleton,
|
|
3457
|
-
SuccessTemplate,
|
|
3458
|
-
SuccessTemplateComponent,
|
|
3459
2032
|
Switch,
|
|
3460
2033
|
Table,
|
|
3461
2034
|
TableBody,
|
|
@@ -3469,7 +2042,6 @@ export {
|
|
|
3469
2042
|
TabsContent,
|
|
3470
2043
|
TabsList,
|
|
3471
2044
|
TabsTrigger,
|
|
3472
|
-
TemplateRegistry,
|
|
3473
2045
|
Textarea,
|
|
3474
2046
|
Toast,
|
|
3475
2047
|
ToastAction,
|
|
@@ -3482,8 +2054,6 @@ export {
|
|
|
3482
2054
|
TooltipContent,
|
|
3483
2055
|
TooltipProvider,
|
|
3484
2056
|
TooltipTrigger,
|
|
3485
|
-
VerificationTemplate,
|
|
3486
|
-
VerificationTemplateComponent,
|
|
3487
2057
|
badgeVariants,
|
|
3488
2058
|
buttonVariants,
|
|
3489
2059
|
cn,
|
|
@@ -3501,7 +2071,6 @@ export {
|
|
|
3501
2071
|
setThemeId,
|
|
3502
2072
|
sidebarVariants,
|
|
3503
2073
|
slideVariants,
|
|
3504
|
-
templateRegistry,
|
|
3505
2074
|
themeToCSS,
|
|
3506
2075
|
tokenVars,
|
|
3507
2076
|
transitions,
|