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