@lessly/ui 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +27 -57
- package/dist/index.js +397 -534
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -324,22 +324,53 @@ var labelVariants = cva2(
|
|
|
324
324
|
var Label2 = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
|
|
325
325
|
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
326
326
|
|
|
327
|
+
// src/components/page-header.tsx
|
|
328
|
+
import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
329
|
+
function PageHeader({ title, subtitle, icon: Icon, media, badge, actions, id }) {
|
|
330
|
+
if (Icon && !subtitle && !media && process.env.NODE_ENV !== "production") {
|
|
331
|
+
console.warn("PageHeader: `icon` needs a `subtitle` to render the medallion; medallion dropped.");
|
|
332
|
+
}
|
|
333
|
+
const leading = media ?? (Icon && subtitle ? /* @__PURE__ */ jsx7(
|
|
334
|
+
"span",
|
|
335
|
+
{
|
|
336
|
+
"data-slot": "page-header-medallion",
|
|
337
|
+
className: "inline-flex size-12 shrink-0 items-center justify-center rounded-full border border-border-subtle bg-bg-secondary text-text-secondary",
|
|
338
|
+
children: /* @__PURE__ */ jsx7(Icon, { className: "size-6", "aria-hidden": true })
|
|
339
|
+
}
|
|
340
|
+
) : null);
|
|
341
|
+
const heading = /* @__PURE__ */ jsx7("h2", { id, className: "text-lg font-semibold text-text-primary", children: title });
|
|
342
|
+
if (!leading && !subtitle && !badge && !actions) {
|
|
343
|
+
return heading;
|
|
344
|
+
}
|
|
345
|
+
return /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-3", children: [
|
|
346
|
+
leading,
|
|
347
|
+
/* @__PURE__ */ jsxs3("div", { className: "min-w-0", children: [
|
|
348
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-2", children: [
|
|
349
|
+
heading,
|
|
350
|
+
badge
|
|
351
|
+
] }),
|
|
352
|
+
subtitle && /* @__PURE__ */ jsx7("p", { className: "text-sm text-text-secondary", children: subtitle })
|
|
353
|
+
] }),
|
|
354
|
+
actions && /* @__PURE__ */ jsx7("div", { className: "ml-auto shrink-0", children: actions })
|
|
355
|
+
] });
|
|
356
|
+
}
|
|
357
|
+
|
|
327
358
|
// src/components/section-intro.tsx
|
|
328
359
|
import { Info } from "lucide-react";
|
|
329
|
-
import { jsx as
|
|
360
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
330
361
|
function SectionIntro({ what, when }) {
|
|
331
|
-
return /* @__PURE__ */
|
|
332
|
-
/* @__PURE__ */
|
|
333
|
-
/* @__PURE__ */
|
|
334
|
-
/* @__PURE__ */
|
|
335
|
-
/* @__PURE__ */
|
|
362
|
+
return /* @__PURE__ */ jsxs4("div", { className: "bg-bg-brand-subtle rounded-xl px-5 py-4 flex items-start gap-3 mb-5", children: [
|
|
363
|
+
/* @__PURE__ */ jsx8(Info, { className: "w-4 h-4 text-text-brand mt-0.5 flex-shrink-0", "aria-hidden": "true" }),
|
|
364
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
365
|
+
/* @__PURE__ */ jsx8("p", { className: "text-[0.8125rem] text-text-primary leading-relaxed", children: what }),
|
|
366
|
+
/* @__PURE__ */ jsx8("p", { className: "text-[0.8125rem] text-text-secondary leading-relaxed mt-1", children: when })
|
|
336
367
|
] })
|
|
337
368
|
] });
|
|
338
369
|
}
|
|
339
370
|
|
|
340
371
|
// src/components/select.tsx
|
|
341
372
|
import { ChevronDown } from "lucide-react";
|
|
342
|
-
import { jsx as
|
|
373
|
+
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
343
374
|
function Select({
|
|
344
375
|
value,
|
|
345
376
|
onValueChange,
|
|
@@ -354,8 +385,8 @@ function Select({
|
|
|
354
385
|
optionTestId
|
|
355
386
|
}) {
|
|
356
387
|
const selected = options.find((o) => o.value === value);
|
|
357
|
-
return /* @__PURE__ */
|
|
358
|
-
/* @__PURE__ */
|
|
388
|
+
return /* @__PURE__ */ jsxs5(DropdownMenu, { children: [
|
|
389
|
+
/* @__PURE__ */ jsxs5(
|
|
359
390
|
DropdownMenuTrigger,
|
|
360
391
|
{
|
|
361
392
|
type: "button",
|
|
@@ -369,24 +400,24 @@ function Select({
|
|
|
369
400
|
className
|
|
370
401
|
),
|
|
371
402
|
children: [
|
|
372
|
-
/* @__PURE__ */
|
|
373
|
-
/* @__PURE__ */
|
|
403
|
+
/* @__PURE__ */ jsx9("span", { className: cn("truncate", !selected && "text-text-tertiary"), children: selected ? selected.label : placeholder }),
|
|
404
|
+
/* @__PURE__ */ jsx9(ChevronDown, { className: "ml-2 h-4 w-4 shrink-0 text-text-tertiary" })
|
|
374
405
|
]
|
|
375
406
|
}
|
|
376
407
|
),
|
|
377
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ jsx9(
|
|
378
409
|
DropdownMenuContent,
|
|
379
410
|
{
|
|
380
411
|
align: "start",
|
|
381
412
|
className: "max-h-64 w-[var(--radix-dropdown-menu-trigger-width)] overflow-y-auto",
|
|
382
|
-
children: /* @__PURE__ */
|
|
413
|
+
children: /* @__PURE__ */ jsx9(DropdownMenuRadioGroup, { value: value ?? "", onValueChange, children: options.map((o) => /* @__PURE__ */ jsx9(DropdownMenuRadioItem, { value: o.value, "data-testid": optionTestId?.(o.value), children: o.label }, o.value)) })
|
|
383
414
|
}
|
|
384
415
|
)
|
|
385
416
|
] });
|
|
386
417
|
}
|
|
387
418
|
|
|
388
419
|
// src/components/switch.tsx
|
|
389
|
-
import { jsx as
|
|
420
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
390
421
|
function Switch({
|
|
391
422
|
checked,
|
|
392
423
|
onCheckedChange,
|
|
@@ -396,7 +427,7 @@ function Switch({
|
|
|
396
427
|
"aria-label": ariaLabel,
|
|
397
428
|
"data-testid": testId
|
|
398
429
|
}) {
|
|
399
|
-
return /* @__PURE__ */
|
|
430
|
+
return /* @__PURE__ */ jsx10(
|
|
400
431
|
"button",
|
|
401
432
|
{
|
|
402
433
|
type: "button",
|
|
@@ -408,7 +439,7 @@ function Switch({
|
|
|
408
439
|
disabled,
|
|
409
440
|
onClick: () => onCheckedChange(!checked),
|
|
410
441
|
className: `relative inline-flex h-6 w-10 shrink-0 cursor-pointer rounded-full transition-colors outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${checked ? "bg-bg-brand-bright" : "bg-border-default"} ${disabled ? "cursor-not-allowed opacity-50" : ""} ${className}`,
|
|
411
|
-
children: /* @__PURE__ */
|
|
442
|
+
children: /* @__PURE__ */ jsx10(
|
|
412
443
|
"span",
|
|
413
444
|
{
|
|
414
445
|
"aria-hidden": "true",
|
|
@@ -423,8 +454,8 @@ function Switch({
|
|
|
423
454
|
import * as React7 from "react";
|
|
424
455
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
425
456
|
import { Check as Check2 } from "lucide-react";
|
|
426
|
-
import { jsx as
|
|
427
|
-
var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
457
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
458
|
+
var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
428
459
|
CheckboxPrimitive.Root,
|
|
429
460
|
{
|
|
430
461
|
ref,
|
|
@@ -433,7 +464,7 @@ var Checkbox = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
433
464
|
className
|
|
434
465
|
),
|
|
435
466
|
...props,
|
|
436
|
-
children: /* @__PURE__ */
|
|
467
|
+
children: /* @__PURE__ */ jsx11(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ jsx11(Check2, { className: "h-4 w-4" }) })
|
|
437
468
|
}
|
|
438
469
|
));
|
|
439
470
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
@@ -442,10 +473,10 @@ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
|
442
473
|
import * as React8 from "react";
|
|
443
474
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
444
475
|
import { Circle as Circle2 } from "lucide-react";
|
|
445
|
-
import { jsx as
|
|
446
|
-
var RadioGroup2 = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
476
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
477
|
+
var RadioGroup2 = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(RadioGroupPrimitive.Root, { ref, className: cn("grid gap-2", className), ...props }));
|
|
447
478
|
RadioGroup2.displayName = RadioGroupPrimitive.Root.displayName;
|
|
448
|
-
var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
479
|
+
var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
449
480
|
RadioGroupPrimitive.Item,
|
|
450
481
|
{
|
|
451
482
|
ref,
|
|
@@ -454,17 +485,17 @@ var RadioGroupItem = React8.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
454
485
|
className
|
|
455
486
|
),
|
|
456
487
|
...props,
|
|
457
|
-
children: /* @__PURE__ */
|
|
488
|
+
children: /* @__PURE__ */ jsx12(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx12(Circle2, { className: "h-2.5 w-2.5 fill-blue-400 text-blue-400" }) })
|
|
458
489
|
}
|
|
459
490
|
));
|
|
460
491
|
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
461
492
|
|
|
462
493
|
// src/components/textarea.tsx
|
|
463
494
|
import * as React9 from "react";
|
|
464
|
-
import { jsx as
|
|
495
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
465
496
|
var Textarea = React9.forwardRef(
|
|
466
497
|
({ className, ...props }, ref) => {
|
|
467
|
-
return /* @__PURE__ */
|
|
498
|
+
return /* @__PURE__ */ jsx13(
|
|
468
499
|
"textarea",
|
|
469
500
|
{
|
|
470
501
|
ref,
|
|
@@ -482,18 +513,18 @@ Textarea.displayName = "Textarea";
|
|
|
482
513
|
// src/components/slider.tsx
|
|
483
514
|
import * as React10 from "react";
|
|
484
515
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
485
|
-
import { jsx as
|
|
516
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
486
517
|
var Slider = React10.forwardRef(({ className, ...props }, ref) => {
|
|
487
518
|
const thumbCount = (Array.isArray(props.value) ? props.value.length : void 0) ?? (Array.isArray(props.defaultValue) ? props.defaultValue.length : void 0) ?? 1;
|
|
488
|
-
return /* @__PURE__ */
|
|
519
|
+
return /* @__PURE__ */ jsxs6(
|
|
489
520
|
SliderPrimitive.Root,
|
|
490
521
|
{
|
|
491
522
|
ref,
|
|
492
523
|
className: cn("relative flex w-full touch-none select-none items-center", className),
|
|
493
524
|
...props,
|
|
494
525
|
children: [
|
|
495
|
-
/* @__PURE__ */
|
|
496
|
-
Array.from({ length: thumbCount }).map((_, i) => /* @__PURE__ */
|
|
526
|
+
/* @__PURE__ */ jsx14(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-bg-secondary", children: /* @__PURE__ */ jsx14(SliderPrimitive.Range, { className: "absolute h-full bg-blue-400" }) }),
|
|
527
|
+
Array.from({ length: thumbCount }).map((_, i) => /* @__PURE__ */ jsx14(
|
|
497
528
|
SliderPrimitive.Thumb,
|
|
498
529
|
{
|
|
499
530
|
className: "block size-5 rounded-full border border-border-brand bg-bg-elevated shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
@@ -510,7 +541,7 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
510
541
|
import * as React11 from "react";
|
|
511
542
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
512
543
|
import { cva as cva3 } from "class-variance-authority";
|
|
513
|
-
import { jsx as
|
|
544
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
514
545
|
var toggleVariants = cva3(
|
|
515
546
|
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-bg-secondary hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-bg-secondary data-[state=on]:text-text-primary [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
516
547
|
{
|
|
@@ -528,30 +559,30 @@ var toggleVariants = cva3(
|
|
|
528
559
|
defaultVariants: { variant: "default", size: "default" }
|
|
529
560
|
}
|
|
530
561
|
);
|
|
531
|
-
var Toggle = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */
|
|
562
|
+
var Toggle = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx15(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
|
|
532
563
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
533
564
|
|
|
534
565
|
// src/components/toggle-group.tsx
|
|
535
566
|
import * as React12 from "react";
|
|
536
567
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
537
|
-
import { jsx as
|
|
568
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
538
569
|
var ToggleGroupContext = React12.createContext({
|
|
539
570
|
size: "default",
|
|
540
571
|
variant: "default"
|
|
541
572
|
});
|
|
542
|
-
var ToggleGroup = React12.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */
|
|
573
|
+
var ToggleGroup = React12.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx16(
|
|
543
574
|
ToggleGroupPrimitive.Root,
|
|
544
575
|
{
|
|
545
576
|
ref,
|
|
546
577
|
className: cn("flex items-center justify-center gap-1", className),
|
|
547
578
|
...props,
|
|
548
|
-
children: /* @__PURE__ */
|
|
579
|
+
children: /* @__PURE__ */ jsx16(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
549
580
|
}
|
|
550
581
|
));
|
|
551
582
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
552
583
|
var ToggleGroupItem = React12.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
553
584
|
const context = React12.useContext(ToggleGroupContext);
|
|
554
|
-
return /* @__PURE__ */
|
|
585
|
+
return /* @__PURE__ */ jsx16(
|
|
555
586
|
ToggleGroupPrimitive.Item,
|
|
556
587
|
{
|
|
557
588
|
ref,
|
|
@@ -567,8 +598,8 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
567
598
|
import * as React13 from "react";
|
|
568
599
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
569
600
|
import { Minus } from "lucide-react";
|
|
570
|
-
import { jsx as
|
|
571
|
-
var InputOTP = React13.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */
|
|
601
|
+
import { jsx as jsx17, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
602
|
+
var InputOTP = React13.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
572
603
|
OTPInput,
|
|
573
604
|
{
|
|
574
605
|
ref,
|
|
@@ -579,7 +610,7 @@ var InputOTP = React13.forwardRef(({ className, containerClassName, ...props },
|
|
|
579
610
|
));
|
|
580
611
|
InputOTP.displayName = "InputOTP";
|
|
581
612
|
var InputOTPGroup = React13.forwardRef(
|
|
582
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
613
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx17("div", { ref, className: cn("flex items-center", className), ...props })
|
|
583
614
|
);
|
|
584
615
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
585
616
|
var InputOTPSlot = React13.forwardRef(({ index, className, ...props }, ref) => {
|
|
@@ -588,7 +619,7 @@ var InputOTPSlot = React13.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
588
619
|
const char = slot?.char;
|
|
589
620
|
const hasFakeCaret = slot?.hasFakeCaret;
|
|
590
621
|
const isActive = slot?.isActive;
|
|
591
|
-
return /* @__PURE__ */
|
|
622
|
+
return /* @__PURE__ */ jsxs7(
|
|
592
623
|
"div",
|
|
593
624
|
{
|
|
594
625
|
ref,
|
|
@@ -600,25 +631,25 @@ var InputOTPSlot = React13.forwardRef(({ index, className, ...props }, ref) => {
|
|
|
600
631
|
...props,
|
|
601
632
|
children: [
|
|
602
633
|
char,
|
|
603
|
-
hasFakeCaret && /* @__PURE__ */
|
|
634
|
+
hasFakeCaret && /* @__PURE__ */ jsx17("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx17("div", { className: "h-4 w-px animate-pulse bg-text-primary" }) })
|
|
604
635
|
]
|
|
605
636
|
}
|
|
606
637
|
);
|
|
607
638
|
});
|
|
608
639
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
609
640
|
var InputOTPSeparator = React13.forwardRef(
|
|
610
|
-
({ ...props }, ref) => /* @__PURE__ */
|
|
641
|
+
({ ...props }, ref) => /* @__PURE__ */ jsx17("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx17(Minus, { className: "h-4 w-4 text-text-tertiary" }) })
|
|
611
642
|
);
|
|
612
643
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
613
644
|
|
|
614
645
|
// src/components/popover.tsx
|
|
615
646
|
import * as React14 from "react";
|
|
616
647
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
617
|
-
import { jsx as
|
|
648
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
618
649
|
var Popover = PopoverPrimitive.Root;
|
|
619
650
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
620
651
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
621
|
-
var PopoverContent = React14.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
652
|
+
var PopoverContent = React14.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx18(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx18(
|
|
622
653
|
PopoverPrimitive.Content,
|
|
623
654
|
{
|
|
624
655
|
ref,
|
|
@@ -636,11 +667,11 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
|
636
667
|
// src/components/tooltip.tsx
|
|
637
668
|
import * as React15 from "react";
|
|
638
669
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
639
|
-
import { jsx as
|
|
670
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
640
671
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
641
672
|
var Tooltip = TooltipPrimitive.Root;
|
|
642
673
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
643
|
-
var TooltipContent = React15.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
674
|
+
var TooltipContent = React15.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx19(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
|
|
644
675
|
TooltipPrimitive.Content,
|
|
645
676
|
{
|
|
646
677
|
ref,
|
|
@@ -657,10 +688,10 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
|
657
688
|
// src/components/hover-card.tsx
|
|
658
689
|
import * as React16 from "react";
|
|
659
690
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
660
|
-
import { jsx as
|
|
691
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
661
692
|
var HoverCard = HoverCardPrimitive.Root;
|
|
662
693
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
663
|
-
var HoverCardContent = React16.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
694
|
+
var HoverCardContent = React16.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx20(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx20(
|
|
664
695
|
HoverCardPrimitive.Content,
|
|
665
696
|
{
|
|
666
697
|
ref,
|
|
@@ -680,12 +711,12 @@ import * as React17 from "react";
|
|
|
680
711
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
681
712
|
import { cva as cva4 } from "class-variance-authority";
|
|
682
713
|
import { X as X2 } from "lucide-react";
|
|
683
|
-
import { jsx as
|
|
714
|
+
import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
684
715
|
var Sheet = SheetPrimitive.Root;
|
|
685
716
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
686
717
|
var SheetClose = SheetPrimitive.Close;
|
|
687
718
|
var SheetPortal = SheetPrimitive.Portal;
|
|
688
|
-
var SheetOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
719
|
+
var SheetOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
689
720
|
SheetPrimitive.Overlay,
|
|
690
721
|
{
|
|
691
722
|
ref,
|
|
@@ -713,9 +744,9 @@ var sheetVariants = cva4(
|
|
|
713
744
|
}
|
|
714
745
|
}
|
|
715
746
|
);
|
|
716
|
-
var SheetContent = React17.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */
|
|
717
|
-
/* @__PURE__ */
|
|
718
|
-
/* @__PURE__ */
|
|
747
|
+
var SheetContent = React17.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs8(SheetPortal, { children: [
|
|
748
|
+
/* @__PURE__ */ jsx21(SheetOverlay, {}),
|
|
749
|
+
/* @__PURE__ */ jsxs8(
|
|
719
750
|
SheetPrimitive.Content,
|
|
720
751
|
{
|
|
721
752
|
ref,
|
|
@@ -723,16 +754,16 @@ var SheetContent = React17.forwardRef(({ side = "right", className, children, ..
|
|
|
723
754
|
...props,
|
|
724
755
|
children: [
|
|
725
756
|
children,
|
|
726
|
-
/* @__PURE__ */
|
|
727
|
-
/* @__PURE__ */
|
|
728
|
-
/* @__PURE__ */
|
|
757
|
+
/* @__PURE__ */ jsxs8(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm text-text-tertiary opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-border-focus disabled:pointer-events-none", children: [
|
|
758
|
+
/* @__PURE__ */ jsx21(X2, { className: "h-4 w-4" }),
|
|
759
|
+
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
|
|
729
760
|
] })
|
|
730
761
|
]
|
|
731
762
|
}
|
|
732
763
|
)
|
|
733
764
|
] }));
|
|
734
765
|
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
735
|
-
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
766
|
+
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx21(
|
|
736
767
|
"div",
|
|
737
768
|
{
|
|
738
769
|
className: cn("flex flex-col gap-1.5 text-left", className),
|
|
@@ -740,7 +771,7 @@ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx20(
|
|
|
740
771
|
}
|
|
741
772
|
);
|
|
742
773
|
SheetHeader.displayName = "SheetHeader";
|
|
743
|
-
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
774
|
+
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx21(
|
|
744
775
|
"div",
|
|
745
776
|
{
|
|
746
777
|
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
@@ -748,7 +779,7 @@ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx20(
|
|
|
748
779
|
}
|
|
749
780
|
);
|
|
750
781
|
SheetFooter.displayName = "SheetFooter";
|
|
751
|
-
var SheetTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
782
|
+
var SheetTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
752
783
|
SheetPrimitive.Title,
|
|
753
784
|
{
|
|
754
785
|
ref,
|
|
@@ -757,7 +788,7 @@ var SheetTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
757
788
|
}
|
|
758
789
|
));
|
|
759
790
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
760
|
-
var SheetDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
791
|
+
var SheetDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
761
792
|
SheetPrimitive.Description,
|
|
762
793
|
{
|
|
763
794
|
ref,
|
|
@@ -770,16 +801,16 @@ SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
|
770
801
|
// src/components/drawer.tsx
|
|
771
802
|
import * as React18 from "react";
|
|
772
803
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
773
|
-
import { jsx as
|
|
804
|
+
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
774
805
|
var Drawer = ({
|
|
775
806
|
shouldScaleBackground = true,
|
|
776
807
|
...props
|
|
777
|
-
}) => /* @__PURE__ */
|
|
808
|
+
}) => /* @__PURE__ */ jsx22(DrawerPrimitive.Root, { shouldScaleBackground, ...props });
|
|
778
809
|
Drawer.displayName = "Drawer";
|
|
779
810
|
var DrawerTrigger = DrawerPrimitive.Trigger;
|
|
780
811
|
var DrawerPortal = DrawerPrimitive.Portal;
|
|
781
812
|
var DrawerClose = DrawerPrimitive.Close;
|
|
782
|
-
var DrawerOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
813
|
+
var DrawerOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
783
814
|
DrawerPrimitive.Overlay,
|
|
784
815
|
{
|
|
785
816
|
ref,
|
|
@@ -788,9 +819,9 @@ var DrawerOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
788
819
|
}
|
|
789
820
|
));
|
|
790
821
|
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
791
|
-
var DrawerContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
792
|
-
/* @__PURE__ */
|
|
793
|
-
/* @__PURE__ */
|
|
822
|
+
var DrawerContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(DrawerPortal, { children: [
|
|
823
|
+
/* @__PURE__ */ jsx22(DrawerOverlay, {}),
|
|
824
|
+
/* @__PURE__ */ jsxs9(
|
|
794
825
|
DrawerPrimitive.Content,
|
|
795
826
|
{
|
|
796
827
|
ref,
|
|
@@ -800,18 +831,18 @@ var DrawerContent = React18.forwardRef(({ className, children, ...props }, ref)
|
|
|
800
831
|
),
|
|
801
832
|
...props,
|
|
802
833
|
children: [
|
|
803
|
-
/* @__PURE__ */
|
|
834
|
+
/* @__PURE__ */ jsx22("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-bg-secondary" }),
|
|
804
835
|
children
|
|
805
836
|
]
|
|
806
837
|
}
|
|
807
838
|
)
|
|
808
839
|
] }));
|
|
809
840
|
DrawerContent.displayName = "DrawerContent";
|
|
810
|
-
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
841
|
+
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-left", className), ...props });
|
|
811
842
|
DrawerHeader.displayName = "DrawerHeader";
|
|
812
|
-
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
843
|
+
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx22("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
|
|
813
844
|
DrawerFooter.displayName = "DrawerFooter";
|
|
814
|
-
var DrawerTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
845
|
+
var DrawerTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
815
846
|
DrawerPrimitive.Title,
|
|
816
847
|
{
|
|
817
848
|
ref,
|
|
@@ -820,7 +851,7 @@ var DrawerTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
820
851
|
}
|
|
821
852
|
));
|
|
822
853
|
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
823
|
-
var DrawerDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
854
|
+
var DrawerDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
824
855
|
DrawerPrimitive.Description,
|
|
825
856
|
{
|
|
826
857
|
ref,
|
|
@@ -833,11 +864,11 @@ DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
|
833
864
|
// src/components/alert-dialog.tsx
|
|
834
865
|
import * as React19 from "react";
|
|
835
866
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
836
|
-
import { jsx as
|
|
867
|
+
import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
837
868
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
838
869
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
839
870
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
840
|
-
var AlertDialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
871
|
+
var AlertDialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
841
872
|
AlertDialogPrimitive.Overlay,
|
|
842
873
|
{
|
|
843
874
|
ref,
|
|
@@ -849,9 +880,9 @@ var AlertDialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /*
|
|
|
849
880
|
}
|
|
850
881
|
));
|
|
851
882
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
852
|
-
var AlertDialogContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
853
|
-
/* @__PURE__ */
|
|
854
|
-
/* @__PURE__ */
|
|
883
|
+
var AlertDialogContent = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs10(AlertDialogPortal, { children: [
|
|
884
|
+
/* @__PURE__ */ jsx23(AlertDialogOverlay, {}),
|
|
885
|
+
/* @__PURE__ */ jsx23(
|
|
855
886
|
AlertDialogPrimitive.Content,
|
|
856
887
|
{
|
|
857
888
|
ref,
|
|
@@ -864,7 +895,7 @@ var AlertDialogContent = React19.forwardRef(({ className, ...props }, ref) => /*
|
|
|
864
895
|
)
|
|
865
896
|
] }));
|
|
866
897
|
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
867
|
-
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
898
|
+
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx23(
|
|
868
899
|
"div",
|
|
869
900
|
{
|
|
870
901
|
className: cn("flex flex-col gap-1.5 text-left", className),
|
|
@@ -872,7 +903,7 @@ var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22(
|
|
|
872
903
|
}
|
|
873
904
|
);
|
|
874
905
|
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
875
|
-
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
906
|
+
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx23(
|
|
876
907
|
"div",
|
|
877
908
|
{
|
|
878
909
|
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
@@ -880,7 +911,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx22(
|
|
|
880
911
|
}
|
|
881
912
|
);
|
|
882
913
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
883
|
-
var AlertDialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
914
|
+
var AlertDialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
884
915
|
AlertDialogPrimitive.Title,
|
|
885
916
|
{
|
|
886
917
|
ref,
|
|
@@ -889,7 +920,7 @@ var AlertDialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
889
920
|
}
|
|
890
921
|
));
|
|
891
922
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
892
|
-
var AlertDialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
923
|
+
var AlertDialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
893
924
|
AlertDialogPrimitive.Description,
|
|
894
925
|
{
|
|
895
926
|
ref,
|
|
@@ -898,7 +929,7 @@ var AlertDialogDescription = React19.forwardRef(({ className, ...props }, ref) =
|
|
|
898
929
|
}
|
|
899
930
|
));
|
|
900
931
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
901
|
-
var AlertDialogAction = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
932
|
+
var AlertDialogAction = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
902
933
|
AlertDialogPrimitive.Action,
|
|
903
934
|
{
|
|
904
935
|
ref,
|
|
@@ -907,7 +938,7 @@ var AlertDialogAction = React19.forwardRef(({ className, ...props }, ref) => /*
|
|
|
907
938
|
}
|
|
908
939
|
));
|
|
909
940
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
910
|
-
var AlertDialogCancel = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
941
|
+
var AlertDialogCancel = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
911
942
|
AlertDialogPrimitive.Cancel,
|
|
912
943
|
{
|
|
913
944
|
ref,
|
|
@@ -921,14 +952,14 @@ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
|
921
952
|
import * as React20 from "react";
|
|
922
953
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
923
954
|
import { Check as Check3, ChevronRight as ChevronRight2, Circle as Circle3 } from "lucide-react";
|
|
924
|
-
import { jsx as
|
|
955
|
+
import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
925
956
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
926
957
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
927
958
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
928
959
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
929
960
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
930
961
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
931
|
-
var ContextMenuSubTrigger = React20.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
962
|
+
var ContextMenuSubTrigger = React20.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
|
|
932
963
|
ContextMenuPrimitive.SubTrigger,
|
|
933
964
|
{
|
|
934
965
|
ref,
|
|
@@ -940,12 +971,12 @@ var ContextMenuSubTrigger = React20.forwardRef(({ className, inset, children, ..
|
|
|
940
971
|
...props,
|
|
941
972
|
children: [
|
|
942
973
|
children,
|
|
943
|
-
/* @__PURE__ */
|
|
974
|
+
/* @__PURE__ */ jsx24(ChevronRight2, { className: "ml-auto h-4 w-4" })
|
|
944
975
|
]
|
|
945
976
|
}
|
|
946
977
|
));
|
|
947
978
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
948
|
-
var ContextMenuSubContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
979
|
+
var ContextMenuSubContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
949
980
|
ContextMenuPrimitive.SubContent,
|
|
950
981
|
{
|
|
951
982
|
ref,
|
|
@@ -957,7 +988,7 @@ var ContextMenuSubContent = React20.forwardRef(({ className, ...props }, ref) =>
|
|
|
957
988
|
}
|
|
958
989
|
));
|
|
959
990
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
960
|
-
var ContextMenuContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
991
|
+
var ContextMenuContent = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
|
|
961
992
|
ContextMenuPrimitive.Content,
|
|
962
993
|
{
|
|
963
994
|
ref,
|
|
@@ -969,7 +1000,7 @@ var ContextMenuContent = React20.forwardRef(({ className, ...props }, ref) => /*
|
|
|
969
1000
|
}
|
|
970
1001
|
) }));
|
|
971
1002
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
972
|
-
var ContextMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1003
|
+
var ContextMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
973
1004
|
ContextMenuPrimitive.Item,
|
|
974
1005
|
{
|
|
975
1006
|
ref,
|
|
@@ -982,7 +1013,7 @@ var ContextMenuItem = React20.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
982
1013
|
}
|
|
983
1014
|
));
|
|
984
1015
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
985
|
-
var ContextMenuCheckboxItem = React20.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */
|
|
1016
|
+
var ContextMenuCheckboxItem = React20.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs11(
|
|
986
1017
|
ContextMenuPrimitive.CheckboxItem,
|
|
987
1018
|
{
|
|
988
1019
|
ref,
|
|
@@ -993,13 +1024,13 @@ var ContextMenuCheckboxItem = React20.forwardRef(({ className, children, checked
|
|
|
993
1024
|
checked,
|
|
994
1025
|
...props,
|
|
995
1026
|
children: [
|
|
996
|
-
/* @__PURE__ */
|
|
1027
|
+
/* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Check3, { className: "h-4 w-4" }) }) }),
|
|
997
1028
|
children
|
|
998
1029
|
]
|
|
999
1030
|
}
|
|
1000
1031
|
));
|
|
1001
1032
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1002
|
-
var ContextMenuRadioItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1033
|
+
var ContextMenuRadioItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs11(
|
|
1003
1034
|
ContextMenuPrimitive.RadioItem,
|
|
1004
1035
|
{
|
|
1005
1036
|
ref,
|
|
@@ -1009,13 +1040,13 @@ var ContextMenuRadioItem = React20.forwardRef(({ className, children, ...props }
|
|
|
1009
1040
|
),
|
|
1010
1041
|
...props,
|
|
1011
1042
|
children: [
|
|
1012
|
-
/* @__PURE__ */
|
|
1043
|
+
/* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Circle3, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1013
1044
|
children
|
|
1014
1045
|
]
|
|
1015
1046
|
}
|
|
1016
1047
|
));
|
|
1017
1048
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1018
|
-
var ContextMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1049
|
+
var ContextMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1019
1050
|
ContextMenuPrimitive.Label,
|
|
1020
1051
|
{
|
|
1021
1052
|
ref,
|
|
@@ -1024,7 +1055,7 @@ var ContextMenuLabel = React20.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1024
1055
|
}
|
|
1025
1056
|
));
|
|
1026
1057
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1027
|
-
var ContextMenuSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1058
|
+
var ContextMenuSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
1028
1059
|
ContextMenuPrimitive.Separator,
|
|
1029
1060
|
{
|
|
1030
1061
|
ref,
|
|
@@ -1034,7 +1065,7 @@ var ContextMenuSeparator = React20.forwardRef(({ className, ...props }, ref) =>
|
|
|
1034
1065
|
));
|
|
1035
1066
|
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
1036
1067
|
var ContextMenuShortcut = ({ className, ...props }) => {
|
|
1037
|
-
return /* @__PURE__ */
|
|
1068
|
+
return /* @__PURE__ */ jsx24("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
1038
1069
|
};
|
|
1039
1070
|
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
1040
1071
|
|
|
@@ -1042,14 +1073,14 @@ ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
|
1042
1073
|
import * as React21 from "react";
|
|
1043
1074
|
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
|
1044
1075
|
import { Check as Check4, ChevronRight as ChevronRight3, Circle as Circle4 } from "lucide-react";
|
|
1045
|
-
import { jsx as
|
|
1046
|
-
var MenubarMenu = (props) => /* @__PURE__ */
|
|
1076
|
+
import { jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1077
|
+
var MenubarMenu = (props) => /* @__PURE__ */ jsx25(MenubarPrimitive.Menu, { ...props });
|
|
1047
1078
|
MenubarMenu.displayName = "MenubarMenu";
|
|
1048
1079
|
var MenubarGroup = MenubarPrimitive.Group;
|
|
1049
1080
|
var MenubarPortal = MenubarPrimitive.Portal;
|
|
1050
1081
|
var MenubarSub = MenubarPrimitive.Sub;
|
|
1051
1082
|
var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
|
1052
|
-
var Menubar = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1083
|
+
var Menubar = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1053
1084
|
MenubarPrimitive.Root,
|
|
1054
1085
|
{
|
|
1055
1086
|
ref,
|
|
@@ -1061,7 +1092,7 @@ var Menubar = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1061
1092
|
}
|
|
1062
1093
|
));
|
|
1063
1094
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
1064
|
-
var MenubarTrigger = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1095
|
+
var MenubarTrigger = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1065
1096
|
MenubarPrimitive.Trigger,
|
|
1066
1097
|
{
|
|
1067
1098
|
ref,
|
|
@@ -1073,7 +1104,7 @@ var MenubarTrigger = React21.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1073
1104
|
}
|
|
1074
1105
|
));
|
|
1075
1106
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
1076
|
-
var MenubarSubTrigger = React21.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
1107
|
+
var MenubarSubTrigger = React21.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1077
1108
|
MenubarPrimitive.SubTrigger,
|
|
1078
1109
|
{
|
|
1079
1110
|
ref,
|
|
@@ -1085,12 +1116,12 @@ var MenubarSubTrigger = React21.forwardRef(({ className, inset, children, ...pro
|
|
|
1085
1116
|
...props,
|
|
1086
1117
|
children: [
|
|
1087
1118
|
children,
|
|
1088
|
-
/* @__PURE__ */
|
|
1119
|
+
/* @__PURE__ */ jsx25(ChevronRight3, { className: "ml-auto h-4 w-4" })
|
|
1089
1120
|
]
|
|
1090
1121
|
}
|
|
1091
1122
|
));
|
|
1092
1123
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
1093
|
-
var MenubarSubContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1124
|
+
var MenubarSubContent = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1094
1125
|
MenubarPrimitive.SubContent,
|
|
1095
1126
|
{
|
|
1096
1127
|
ref,
|
|
@@ -1102,7 +1133,7 @@ var MenubarSubContent = React21.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1102
1133
|
}
|
|
1103
1134
|
));
|
|
1104
1135
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
1105
|
-
var MenubarContent = React21.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */
|
|
1136
|
+
var MenubarContent = React21.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx25(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
|
|
1106
1137
|
MenubarPrimitive.Content,
|
|
1107
1138
|
{
|
|
1108
1139
|
ref,
|
|
@@ -1117,7 +1148,7 @@ var MenubarContent = React21.forwardRef(({ className, align = "start", alignOffs
|
|
|
1117
1148
|
}
|
|
1118
1149
|
) }));
|
|
1119
1150
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
1120
|
-
var MenubarItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1151
|
+
var MenubarItem = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1121
1152
|
MenubarPrimitive.Item,
|
|
1122
1153
|
{
|
|
1123
1154
|
ref,
|
|
@@ -1130,7 +1161,7 @@ var MenubarItem = React21.forwardRef(({ className, inset, ...props }, ref) => /*
|
|
|
1130
1161
|
}
|
|
1131
1162
|
));
|
|
1132
1163
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
1133
|
-
var MenubarCheckboxItem = React21.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */
|
|
1164
|
+
var MenubarCheckboxItem = React21.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1134
1165
|
MenubarPrimitive.CheckboxItem,
|
|
1135
1166
|
{
|
|
1136
1167
|
ref,
|
|
@@ -1141,13 +1172,13 @@ var MenubarCheckboxItem = React21.forwardRef(({ className, children, checked, ..
|
|
|
1141
1172
|
checked,
|
|
1142
1173
|
...props,
|
|
1143
1174
|
children: [
|
|
1144
|
-
/* @__PURE__ */
|
|
1175
|
+
/* @__PURE__ */ jsx25("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(Check4, { className: "h-4 w-4" }) }) }),
|
|
1145
1176
|
children
|
|
1146
1177
|
]
|
|
1147
1178
|
}
|
|
1148
1179
|
));
|
|
1149
1180
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
1150
|
-
var MenubarRadioItem = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1181
|
+
var MenubarRadioItem = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs12(
|
|
1151
1182
|
MenubarPrimitive.RadioItem,
|
|
1152
1183
|
{
|
|
1153
1184
|
ref,
|
|
@@ -1157,13 +1188,13 @@ var MenubarRadioItem = React21.forwardRef(({ className, children, ...props }, re
|
|
|
1157
1188
|
),
|
|
1158
1189
|
...props,
|
|
1159
1190
|
children: [
|
|
1160
|
-
/* @__PURE__ */
|
|
1191
|
+
/* @__PURE__ */ jsx25("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(Circle4, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1161
1192
|
children
|
|
1162
1193
|
]
|
|
1163
1194
|
}
|
|
1164
1195
|
));
|
|
1165
1196
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
1166
|
-
var MenubarLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
1197
|
+
var MenubarLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1167
1198
|
MenubarPrimitive.Label,
|
|
1168
1199
|
{
|
|
1169
1200
|
ref,
|
|
@@ -1172,7 +1203,7 @@ var MenubarLabel = React21.forwardRef(({ className, inset, ...props }, ref) => /
|
|
|
1172
1203
|
}
|
|
1173
1204
|
));
|
|
1174
1205
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
1175
|
-
var MenubarSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1206
|
+
var MenubarSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1176
1207
|
MenubarPrimitive.Separator,
|
|
1177
1208
|
{
|
|
1178
1209
|
ref,
|
|
@@ -1182,14 +1213,14 @@ var MenubarSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1182
1213
|
));
|
|
1183
1214
|
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
|
1184
1215
|
var MenubarShortcut = ({ className, ...props }) => {
|
|
1185
|
-
return /* @__PURE__ */
|
|
1216
|
+
return /* @__PURE__ */ jsx25("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
1186
1217
|
};
|
|
1187
1218
|
MenubarShortcut.displayName = "MenubarShortcut";
|
|
1188
1219
|
|
|
1189
1220
|
// src/components/badge.tsx
|
|
1190
1221
|
import * as React22 from "react";
|
|
1191
1222
|
import { cva as cva5 } from "class-variance-authority";
|
|
1192
|
-
import { jsx as
|
|
1223
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1193
1224
|
var badgeVariants = cva5(
|
|
1194
1225
|
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
1195
1226
|
{
|
|
@@ -1207,22 +1238,22 @@ var badgeVariants = cva5(
|
|
|
1207
1238
|
}
|
|
1208
1239
|
);
|
|
1209
1240
|
var Badge = React22.forwardRef(
|
|
1210
|
-
({ className, variant, ...props }, ref) => /* @__PURE__ */
|
|
1241
|
+
({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx26("div", { ref, className: cn(badgeVariants({ variant }), className), ...props })
|
|
1211
1242
|
);
|
|
1212
1243
|
Badge.displayName = "Badge";
|
|
1213
1244
|
|
|
1214
1245
|
// src/components/table.tsx
|
|
1215
1246
|
import * as React23 from "react";
|
|
1216
|
-
import { jsx as
|
|
1247
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1217
1248
|
var Table = React23.forwardRef(
|
|
1218
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1249
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx27("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx27("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
|
|
1219
1250
|
);
|
|
1220
1251
|
Table.displayName = "Table";
|
|
1221
|
-
var TableHeader = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1252
|
+
var TableHeader = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27("thead", { ref, className: cn("[&_tr]:border-b [&_tr]:border-border-subtle", className), ...props }));
|
|
1222
1253
|
TableHeader.displayName = "TableHeader";
|
|
1223
|
-
var TableBody = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1254
|
+
var TableBody = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
1224
1255
|
TableBody.displayName = "TableBody";
|
|
1225
|
-
var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1256
|
+
var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1226
1257
|
"tfoot",
|
|
1227
1258
|
{
|
|
1228
1259
|
ref,
|
|
@@ -1235,7 +1266,7 @@ var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1235
1266
|
));
|
|
1236
1267
|
TableFooter.displayName = "TableFooter";
|
|
1237
1268
|
var TableRow = React23.forwardRef(
|
|
1238
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1269
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1239
1270
|
"tr",
|
|
1240
1271
|
{
|
|
1241
1272
|
ref,
|
|
@@ -1248,7 +1279,7 @@ var TableRow = React23.forwardRef(
|
|
|
1248
1279
|
)
|
|
1249
1280
|
);
|
|
1250
1281
|
TableRow.displayName = "TableRow";
|
|
1251
|
-
var TableHead = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1282
|
+
var TableHead = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1252
1283
|
"th",
|
|
1253
1284
|
{
|
|
1254
1285
|
ref,
|
|
@@ -1260,7 +1291,7 @@ var TableHead = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1260
1291
|
}
|
|
1261
1292
|
));
|
|
1262
1293
|
TableHead.displayName = "TableHead";
|
|
1263
|
-
var TableCell = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1294
|
+
var TableCell = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1264
1295
|
"td",
|
|
1265
1296
|
{
|
|
1266
1297
|
ref,
|
|
@@ -1269,22 +1300,22 @@ var TableCell = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1269
1300
|
}
|
|
1270
1301
|
));
|
|
1271
1302
|
TableCell.displayName = "TableCell";
|
|
1272
|
-
var TableCaption = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1303
|
+
var TableCaption = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27("caption", { ref, className: cn("mt-4 text-sm text-text-secondary", className), ...props }));
|
|
1273
1304
|
TableCaption.displayName = "TableCaption";
|
|
1274
1305
|
|
|
1275
1306
|
// src/components/skeleton.tsx
|
|
1276
1307
|
import * as React24 from "react";
|
|
1277
|
-
import { jsx as
|
|
1308
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1278
1309
|
var Skeleton = React24.forwardRef(
|
|
1279
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1310
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx28("div", { ref, className: cn("animate-pulse rounded-md bg-bg-secondary", className), ...props })
|
|
1280
1311
|
);
|
|
1281
1312
|
Skeleton.displayName = "Skeleton";
|
|
1282
1313
|
|
|
1283
1314
|
// src/components/avatar.tsx
|
|
1284
1315
|
import * as React25 from "react";
|
|
1285
1316
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
1286
|
-
import { jsx as
|
|
1287
|
-
var Avatar = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1317
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1318
|
+
var Avatar = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
1288
1319
|
AvatarPrimitive.Root,
|
|
1289
1320
|
{
|
|
1290
1321
|
ref,
|
|
@@ -1293,9 +1324,9 @@ var Avatar = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
1293
1324
|
}
|
|
1294
1325
|
));
|
|
1295
1326
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
1296
|
-
var AvatarImage = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1327
|
+
var AvatarImage = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(AvatarPrimitive.Image, { ref, className: cn("aspect-square h-full w-full", className), ...props }));
|
|
1297
1328
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
1298
|
-
var AvatarFallback = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1329
|
+
var AvatarFallback = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
1299
1330
|
AvatarPrimitive.Fallback,
|
|
1300
1331
|
{
|
|
1301
1332
|
ref,
|
|
@@ -1311,8 +1342,8 @@ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
|
1311
1342
|
// src/components/separator.tsx
|
|
1312
1343
|
import * as React26 from "react";
|
|
1313
1344
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
1314
|
-
import { jsx as
|
|
1315
|
-
var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */
|
|
1345
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1346
|
+
var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx30(
|
|
1316
1347
|
SeparatorPrimitive.Root,
|
|
1317
1348
|
{
|
|
1318
1349
|
ref,
|
|
@@ -1331,15 +1362,15 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
1331
1362
|
// src/components/progress.tsx
|
|
1332
1363
|
import * as React27 from "react";
|
|
1333
1364
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
1334
|
-
import { jsx as
|
|
1335
|
-
var Progress = React27.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */
|
|
1365
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1366
|
+
var Progress = React27.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
1336
1367
|
ProgressPrimitive.Root,
|
|
1337
1368
|
{
|
|
1338
1369
|
ref,
|
|
1339
1370
|
value,
|
|
1340
1371
|
className: cn("relative h-4 w-full overflow-hidden rounded-full bg-bg-secondary", className),
|
|
1341
1372
|
...props,
|
|
1342
|
-
children: /* @__PURE__ */
|
|
1373
|
+
children: /* @__PURE__ */ jsx31(
|
|
1343
1374
|
ProgressPrimitive.Indicator,
|
|
1344
1375
|
{
|
|
1345
1376
|
className: "h-full w-full flex-1 bg-blue-400 transition-all",
|
|
@@ -1357,9 +1388,9 @@ var AspectRatio = AspectRatioPrimitive.Root;
|
|
|
1357
1388
|
// src/components/tabs.tsx
|
|
1358
1389
|
import * as React28 from "react";
|
|
1359
1390
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
1360
|
-
import { jsx as
|
|
1391
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1361
1392
|
var Tabs = TabsPrimitive.Root;
|
|
1362
|
-
var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1393
|
+
var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
1363
1394
|
TabsPrimitive.List,
|
|
1364
1395
|
{
|
|
1365
1396
|
ref,
|
|
@@ -1371,7 +1402,7 @@ var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1371
1402
|
}
|
|
1372
1403
|
));
|
|
1373
1404
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
1374
|
-
var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1405
|
+
var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
1375
1406
|
TabsPrimitive.Trigger,
|
|
1376
1407
|
{
|
|
1377
1408
|
ref,
|
|
@@ -1383,7 +1414,7 @@ var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1383
1414
|
}
|
|
1384
1415
|
));
|
|
1385
1416
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
1386
|
-
var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1417
|
+
var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
1387
1418
|
TabsPrimitive.Content,
|
|
1388
1419
|
{
|
|
1389
1420
|
ref,
|
|
@@ -1400,9 +1431,9 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
1400
1431
|
import * as React29 from "react";
|
|
1401
1432
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
1402
1433
|
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
1403
|
-
import { jsx as
|
|
1434
|
+
import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1404
1435
|
var Accordion = AccordionPrimitive.Root;
|
|
1405
|
-
var AccordionItem = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1436
|
+
var AccordionItem = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
1406
1437
|
AccordionPrimitive.Item,
|
|
1407
1438
|
{
|
|
1408
1439
|
ref,
|
|
@@ -1411,7 +1442,7 @@ var AccordionItem = React29.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1411
1442
|
}
|
|
1412
1443
|
));
|
|
1413
1444
|
AccordionItem.displayName = AccordionPrimitive.Item.displayName;
|
|
1414
|
-
var AccordionTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1445
|
+
var AccordionTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx33(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs13(
|
|
1415
1446
|
AccordionPrimitive.Trigger,
|
|
1416
1447
|
{
|
|
1417
1448
|
ref,
|
|
@@ -1422,12 +1453,12 @@ var AccordionTrigger = React29.forwardRef(({ className, children, ...props }, re
|
|
|
1422
1453
|
...props,
|
|
1423
1454
|
children: [
|
|
1424
1455
|
children,
|
|
1425
|
-
/* @__PURE__ */
|
|
1456
|
+
/* @__PURE__ */ jsx33(ChevronDown2, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
|
|
1426
1457
|
]
|
|
1427
1458
|
}
|
|
1428
1459
|
) }));
|
|
1429
1460
|
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
1430
|
-
var AccordionContent = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1461
|
+
var AccordionContent = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
1431
1462
|
AccordionPrimitive.Content,
|
|
1432
1463
|
{
|
|
1433
1464
|
ref,
|
|
@@ -1435,7 +1466,7 @@ var AccordionContent = React29.forwardRef(({ className, children, ...props }, re
|
|
|
1435
1466
|
"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
|
|
1436
1467
|
),
|
|
1437
1468
|
...props,
|
|
1438
|
-
children: /* @__PURE__ */
|
|
1469
|
+
children: /* @__PURE__ */ jsx33("div", { className: cn("pb-4 pt-0", className), children })
|
|
1439
1470
|
}
|
|
1440
1471
|
));
|
|
1441
1472
|
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
@@ -1443,10 +1474,10 @@ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
|
1443
1474
|
// src/components/collapsible.tsx
|
|
1444
1475
|
import * as React30 from "react";
|
|
1445
1476
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1446
|
-
import { jsx as
|
|
1477
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1447
1478
|
var Collapsible = CollapsiblePrimitive.Root;
|
|
1448
1479
|
var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
|
1449
|
-
var CollapsibleContent2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1480
|
+
var CollapsibleContent2 = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
1450
1481
|
CollapsiblePrimitive.CollapsibleContent,
|
|
1451
1482
|
{
|
|
1452
1483
|
ref,
|
|
@@ -1462,22 +1493,22 @@ CollapsibleContent2.displayName = CollapsiblePrimitive.CollapsibleContent.displa
|
|
|
1462
1493
|
// src/components/scroll-area.tsx
|
|
1463
1494
|
import * as React31 from "react";
|
|
1464
1495
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
1465
|
-
import { jsx as
|
|
1466
|
-
var ScrollArea = React31.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1496
|
+
import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1497
|
+
var ScrollArea = React31.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs14(
|
|
1467
1498
|
ScrollAreaPrimitive.Root,
|
|
1468
1499
|
{
|
|
1469
1500
|
ref,
|
|
1470
1501
|
className: cn("relative overflow-hidden", className),
|
|
1471
1502
|
...props,
|
|
1472
1503
|
children: [
|
|
1473
|
-
/* @__PURE__ */
|
|
1474
|
-
/* @__PURE__ */
|
|
1475
|
-
/* @__PURE__ */
|
|
1504
|
+
/* @__PURE__ */ jsx35(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
1505
|
+
/* @__PURE__ */ jsx35(ScrollBar, {}),
|
|
1506
|
+
/* @__PURE__ */ jsx35(ScrollAreaPrimitive.Corner, {})
|
|
1476
1507
|
]
|
|
1477
1508
|
}
|
|
1478
1509
|
));
|
|
1479
1510
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
1480
|
-
var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */
|
|
1511
|
+
var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx35(
|
|
1481
1512
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1482
1513
|
{
|
|
1483
1514
|
ref,
|
|
@@ -1489,7 +1520,7 @@ var ScrollBar = React31.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
1489
1520
|
className
|
|
1490
1521
|
),
|
|
1491
1522
|
...props,
|
|
1492
|
-
children: /* @__PURE__ */
|
|
1523
|
+
children: /* @__PURE__ */ jsx35(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border-default" })
|
|
1493
1524
|
}
|
|
1494
1525
|
));
|
|
1495
1526
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
@@ -1497,7 +1528,7 @@ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
|
1497
1528
|
// src/components/alert.tsx
|
|
1498
1529
|
import * as React32 from "react";
|
|
1499
1530
|
import { cva as cva6 } from "class-variance-authority";
|
|
1500
|
-
import { jsx as
|
|
1531
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1501
1532
|
var alertVariants = cva6(
|
|
1502
1533
|
"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",
|
|
1503
1534
|
{
|
|
@@ -1512,7 +1543,7 @@ var alertVariants = cva6(
|
|
|
1512
1543
|
defaultVariants: { variant: "default" }
|
|
1513
1544
|
}
|
|
1514
1545
|
);
|
|
1515
|
-
var Alert = React32.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */
|
|
1546
|
+
var Alert = React32.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
1516
1547
|
"div",
|
|
1517
1548
|
{
|
|
1518
1549
|
ref,
|
|
@@ -1522,7 +1553,7 @@ var Alert = React32.forwardRef(({ className, variant, ...props }, ref) => /* @__
|
|
|
1522
1553
|
}
|
|
1523
1554
|
));
|
|
1524
1555
|
Alert.displayName = "Alert";
|
|
1525
|
-
var AlertTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1556
|
+
var AlertTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
1526
1557
|
"h5",
|
|
1527
1558
|
{
|
|
1528
1559
|
ref,
|
|
@@ -1531,7 +1562,7 @@ var AlertTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1531
1562
|
}
|
|
1532
1563
|
));
|
|
1533
1564
|
AlertTitle.displayName = "AlertTitle";
|
|
1534
|
-
var AlertDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1565
|
+
var AlertDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
1535
1566
|
"div",
|
|
1536
1567
|
{
|
|
1537
1568
|
ref,
|
|
@@ -1545,11 +1576,11 @@ AlertDescription.displayName = "AlertDescription";
|
|
|
1545
1576
|
import * as React33 from "react";
|
|
1546
1577
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
1547
1578
|
import { ChevronRight as ChevronRight4, MoreHorizontal } from "lucide-react";
|
|
1548
|
-
import { jsx as
|
|
1549
|
-
var Breadcrumb = React33.forwardRef(({ ...props }, ref) => /* @__PURE__ */
|
|
1579
|
+
import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1580
|
+
var Breadcrumb = React33.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx37("nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
1550
1581
|
Breadcrumb.displayName = "Breadcrumb";
|
|
1551
1582
|
var BreadcrumbList = React33.forwardRef(
|
|
1552
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1583
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
|
|
1553
1584
|
"ol",
|
|
1554
1585
|
{
|
|
1555
1586
|
ref,
|
|
@@ -1563,12 +1594,12 @@ var BreadcrumbList = React33.forwardRef(
|
|
|
1563
1594
|
);
|
|
1564
1595
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
1565
1596
|
var BreadcrumbItem = React33.forwardRef(
|
|
1566
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1597
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
|
|
1567
1598
|
);
|
|
1568
1599
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
1569
1600
|
var BreadcrumbLink = React33.forwardRef(({ asChild, className, ...props }, ref) => {
|
|
1570
1601
|
const Comp = asChild ? Slot2 : "a";
|
|
1571
|
-
return /* @__PURE__ */
|
|
1602
|
+
return /* @__PURE__ */ jsx37(
|
|
1572
1603
|
Comp,
|
|
1573
1604
|
{
|
|
1574
1605
|
ref,
|
|
@@ -1579,7 +1610,7 @@ var BreadcrumbLink = React33.forwardRef(({ asChild, className, ...props }, ref)
|
|
|
1579
1610
|
});
|
|
1580
1611
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
1581
1612
|
var BreadcrumbPage = React33.forwardRef(
|
|
1582
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1613
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
|
|
1583
1614
|
"span",
|
|
1584
1615
|
{
|
|
1585
1616
|
ref,
|
|
@@ -1596,18 +1627,18 @@ var BreadcrumbSeparator = ({
|
|
|
1596
1627
|
children,
|
|
1597
1628
|
className,
|
|
1598
1629
|
...props
|
|
1599
|
-
}) => /* @__PURE__ */
|
|
1630
|
+
}) => /* @__PURE__ */ jsx37(
|
|
1600
1631
|
"li",
|
|
1601
1632
|
{
|
|
1602
1633
|
role: "presentation",
|
|
1603
1634
|
"aria-hidden": "true",
|
|
1604
1635
|
className: cn("[&>svg]:h-4 [&>svg]:w-4", className),
|
|
1605
1636
|
...props,
|
|
1606
|
-
children: children ?? /* @__PURE__ */
|
|
1637
|
+
children: children ?? /* @__PURE__ */ jsx37(ChevronRight4, {})
|
|
1607
1638
|
}
|
|
1608
1639
|
);
|
|
1609
1640
|
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
1610
|
-
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */
|
|
1641
|
+
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs15(
|
|
1611
1642
|
"span",
|
|
1612
1643
|
{
|
|
1613
1644
|
role: "presentation",
|
|
@@ -1615,8 +1646,8 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs14(
|
|
|
1615
1646
|
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
1616
1647
|
...props,
|
|
1617
1648
|
children: [
|
|
1618
|
-
/* @__PURE__ */
|
|
1619
|
-
/* @__PURE__ */
|
|
1649
|
+
/* @__PURE__ */ jsx37(MoreHorizontal, { className: "h-4 w-4" }),
|
|
1650
|
+
/* @__PURE__ */ jsx37("span", { className: "sr-only", children: "More" })
|
|
1620
1651
|
]
|
|
1621
1652
|
}
|
|
1622
1653
|
);
|
|
@@ -1625,8 +1656,8 @@ BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
|
1625
1656
|
// src/components/pagination.tsx
|
|
1626
1657
|
import * as React34 from "react";
|
|
1627
1658
|
import { ChevronLeft, ChevronRight as ChevronRight5, MoreHorizontal as MoreHorizontal2 } from "lucide-react";
|
|
1628
|
-
import { jsx as
|
|
1629
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */
|
|
1659
|
+
import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1660
|
+
var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx38(
|
|
1630
1661
|
"nav",
|
|
1631
1662
|
{
|
|
1632
1663
|
role: "navigation",
|
|
@@ -1637,14 +1668,14 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx37(
|
|
|
1637
1668
|
);
|
|
1638
1669
|
Pagination.displayName = "Pagination";
|
|
1639
1670
|
var PaginationContent = React34.forwardRef(
|
|
1640
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1671
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx38("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
|
|
1641
1672
|
);
|
|
1642
1673
|
PaginationContent.displayName = "PaginationContent";
|
|
1643
1674
|
var PaginationItem = React34.forwardRef(
|
|
1644
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
1675
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx38("li", { ref, className: cn("", className), ...props })
|
|
1645
1676
|
);
|
|
1646
1677
|
PaginationItem.displayName = "PaginationItem";
|
|
1647
|
-
var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */
|
|
1678
|
+
var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @__PURE__ */ jsx38(
|
|
1648
1679
|
"a",
|
|
1649
1680
|
{
|
|
1650
1681
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -1656,7 +1687,7 @@ var PaginationLink = ({ className, isActive, size = "icon", ...props }) => /* @_
|
|
|
1656
1687
|
}
|
|
1657
1688
|
);
|
|
1658
1689
|
PaginationLink.displayName = "PaginationLink";
|
|
1659
|
-
var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */
|
|
1690
|
+
var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs16(
|
|
1660
1691
|
PaginationLink,
|
|
1661
1692
|
{
|
|
1662
1693
|
"aria-label": "Go to previous page",
|
|
@@ -1664,13 +1695,13 @@ var PaginationPrevious = ({ className, ...props }) => /* @__PURE__ */ jsxs15(
|
|
|
1664
1695
|
className: cn("gap-1 pl-2.5", className),
|
|
1665
1696
|
...props,
|
|
1666
1697
|
children: [
|
|
1667
|
-
/* @__PURE__ */
|
|
1668
|
-
/* @__PURE__ */
|
|
1698
|
+
/* @__PURE__ */ jsx38(ChevronLeft, { className: "h-4 w-4" }),
|
|
1699
|
+
/* @__PURE__ */ jsx38("span", { children: "Previous" })
|
|
1669
1700
|
]
|
|
1670
1701
|
}
|
|
1671
1702
|
);
|
|
1672
1703
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
1673
|
-
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */
|
|
1704
|
+
var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs16(
|
|
1674
1705
|
PaginationLink,
|
|
1675
1706
|
{
|
|
1676
1707
|
"aria-label": "Go to next page",
|
|
@@ -1678,21 +1709,21 @@ var PaginationNext = ({ className, ...props }) => /* @__PURE__ */ jsxs15(
|
|
|
1678
1709
|
className: cn("gap-1 pr-2.5", className),
|
|
1679
1710
|
...props,
|
|
1680
1711
|
children: [
|
|
1681
|
-
/* @__PURE__ */
|
|
1682
|
-
/* @__PURE__ */
|
|
1712
|
+
/* @__PURE__ */ jsx38("span", { children: "Next" }),
|
|
1713
|
+
/* @__PURE__ */ jsx38(ChevronRight5, { className: "h-4 w-4" })
|
|
1683
1714
|
]
|
|
1684
1715
|
}
|
|
1685
1716
|
);
|
|
1686
1717
|
PaginationNext.displayName = "PaginationNext";
|
|
1687
|
-
var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */
|
|
1718
|
+
var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs16(
|
|
1688
1719
|
"span",
|
|
1689
1720
|
{
|
|
1690
1721
|
"aria-hidden": true,
|
|
1691
1722
|
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
1692
1723
|
...props,
|
|
1693
1724
|
children: [
|
|
1694
|
-
/* @__PURE__ */
|
|
1695
|
-
/* @__PURE__ */
|
|
1725
|
+
/* @__PURE__ */ jsx38(MoreHorizontal2, { className: "h-4 w-4" }),
|
|
1726
|
+
/* @__PURE__ */ jsx38("span", { className: "sr-only", children: "More pages" })
|
|
1696
1727
|
]
|
|
1697
1728
|
}
|
|
1698
1729
|
);
|
|
@@ -1702,8 +1733,8 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
|
1702
1733
|
import * as React35 from "react";
|
|
1703
1734
|
import { Command as CommandPrimitive } from "cmdk";
|
|
1704
1735
|
import { Search } from "lucide-react";
|
|
1705
|
-
import { jsx as
|
|
1706
|
-
var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1736
|
+
import { jsx as jsx39, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1737
|
+
var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1707
1738
|
CommandPrimitive,
|
|
1708
1739
|
{
|
|
1709
1740
|
ref,
|
|
@@ -1715,10 +1746,10 @@ var Command = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1715
1746
|
}
|
|
1716
1747
|
));
|
|
1717
1748
|
Command.displayName = CommandPrimitive.displayName;
|
|
1718
|
-
var CommandDialog = ({ children, ...props }) => /* @__PURE__ */
|
|
1719
|
-
var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1720
|
-
/* @__PURE__ */
|
|
1721
|
-
/* @__PURE__ */
|
|
1749
|
+
var CommandDialog = ({ children, ...props }) => /* @__PURE__ */ jsx39(Dialog, { ...props, children: /* @__PURE__ */ jsx39(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx39(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-text-tertiary [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
1750
|
+
var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b border-border-subtle px-3", "cmdk-input-wrapper": "", children: [
|
|
1751
|
+
/* @__PURE__ */ jsx39(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
1752
|
+
/* @__PURE__ */ jsx39(
|
|
1722
1753
|
CommandPrimitive.Input,
|
|
1723
1754
|
{
|
|
1724
1755
|
ref,
|
|
@@ -1731,7 +1762,7 @@ var CommandInput = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1731
1762
|
)
|
|
1732
1763
|
] }));
|
|
1733
1764
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
1734
|
-
var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1765
|
+
var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1735
1766
|
CommandPrimitive.List,
|
|
1736
1767
|
{
|
|
1737
1768
|
ref,
|
|
@@ -1740,7 +1771,7 @@ var CommandList = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1740
1771
|
}
|
|
1741
1772
|
));
|
|
1742
1773
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
1743
|
-
var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */
|
|
1774
|
+
var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */ jsx39(
|
|
1744
1775
|
CommandPrimitive.Empty,
|
|
1745
1776
|
{
|
|
1746
1777
|
ref,
|
|
@@ -1749,7 +1780,7 @@ var CommandEmpty = React35.forwardRef((props, ref) => /* @__PURE__ */ jsx38(
|
|
|
1749
1780
|
}
|
|
1750
1781
|
));
|
|
1751
1782
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
1752
|
-
var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1783
|
+
var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1753
1784
|
CommandPrimitive.Group,
|
|
1754
1785
|
{
|
|
1755
1786
|
ref,
|
|
@@ -1761,7 +1792,7 @@ var CommandGroup = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1761
1792
|
}
|
|
1762
1793
|
));
|
|
1763
1794
|
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
|
1764
|
-
var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1795
|
+
var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1765
1796
|
CommandPrimitive.Separator,
|
|
1766
1797
|
{
|
|
1767
1798
|
ref,
|
|
@@ -1770,7 +1801,7 @@ var CommandSeparator = React35.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1770
1801
|
}
|
|
1771
1802
|
));
|
|
1772
1803
|
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
|
1773
|
-
var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1804
|
+
var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1774
1805
|
CommandPrimitive.Item,
|
|
1775
1806
|
{
|
|
1776
1807
|
ref,
|
|
@@ -1782,7 +1813,7 @@ var CommandItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1782
1813
|
}
|
|
1783
1814
|
));
|
|
1784
1815
|
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
|
1785
|
-
var CommandShortcut = ({ className, ...props }) => /* @__PURE__ */
|
|
1816
|
+
var CommandShortcut = ({ className, ...props }) => /* @__PURE__ */ jsx39(
|
|
1786
1817
|
"span",
|
|
1787
1818
|
{
|
|
1788
1819
|
className: cn("ml-auto text-xs tracking-widest text-text-tertiary", className),
|
|
@@ -1796,8 +1827,8 @@ import * as React36 from "react";
|
|
|
1796
1827
|
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
|
1797
1828
|
import { cva as cva7 } from "class-variance-authority";
|
|
1798
1829
|
import { ChevronDown as ChevronDown3 } from "lucide-react";
|
|
1799
|
-
import { jsx as
|
|
1800
|
-
var NavigationMenu = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1830
|
+
import { jsx as jsx40, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1831
|
+
var NavigationMenu = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs18(
|
|
1801
1832
|
NavigationMenuPrimitive.Root,
|
|
1802
1833
|
{
|
|
1803
1834
|
ref,
|
|
@@ -1805,12 +1836,12 @@ var NavigationMenu = React36.forwardRef(({ className, children, ...props }, ref)
|
|
|
1805
1836
|
...props,
|
|
1806
1837
|
children: [
|
|
1807
1838
|
children,
|
|
1808
|
-
/* @__PURE__ */
|
|
1839
|
+
/* @__PURE__ */ jsx40(NavigationMenuViewport, {})
|
|
1809
1840
|
]
|
|
1810
1841
|
}
|
|
1811
1842
|
));
|
|
1812
1843
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
1813
|
-
var NavigationMenuList = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1844
|
+
var NavigationMenuList = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
1814
1845
|
NavigationMenuPrimitive.List,
|
|
1815
1846
|
{
|
|
1816
1847
|
ref,
|
|
@@ -1823,7 +1854,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
|
1823
1854
|
var navigationMenuTriggerStyle = cva7(
|
|
1824
1855
|
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-bg-elevated px-4 py-2 text-sm font-medium transition-colors hover:bg-bg-secondary hover:text-text-primary focus:bg-bg-secondary focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-bg-secondary"
|
|
1825
1856
|
);
|
|
1826
|
-
var NavigationMenuTrigger = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1857
|
+
var NavigationMenuTrigger = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs18(
|
|
1827
1858
|
NavigationMenuPrimitive.Trigger,
|
|
1828
1859
|
{
|
|
1829
1860
|
ref,
|
|
@@ -1832,7 +1863,7 @@ var NavigationMenuTrigger = React36.forwardRef(({ className, children, ...props
|
|
|
1832
1863
|
children: [
|
|
1833
1864
|
children,
|
|
1834
1865
|
" ",
|
|
1835
|
-
/* @__PURE__ */
|
|
1866
|
+
/* @__PURE__ */ jsx40(
|
|
1836
1867
|
ChevronDown3,
|
|
1837
1868
|
{
|
|
1838
1869
|
className: "relative top-[1px] ml-1 h-4 w-4 transition duration-200 group-data-[state=open]:rotate-180",
|
|
@@ -1843,7 +1874,7 @@ var NavigationMenuTrigger = React36.forwardRef(({ className, children, ...props
|
|
|
1843
1874
|
}
|
|
1844
1875
|
));
|
|
1845
1876
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
1846
|
-
var NavigationMenuContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1877
|
+
var NavigationMenuContent = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
1847
1878
|
NavigationMenuPrimitive.Content,
|
|
1848
1879
|
{
|
|
1849
1880
|
ref,
|
|
@@ -1856,7 +1887,7 @@ var NavigationMenuContent = React36.forwardRef(({ className, ...props }, ref) =>
|
|
|
1856
1887
|
));
|
|
1857
1888
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
1858
1889
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
1859
|
-
var NavigationMenuViewport = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1890
|
+
var NavigationMenuViewport = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx40(
|
|
1860
1891
|
NavigationMenuPrimitive.Viewport,
|
|
1861
1892
|
{
|
|
1862
1893
|
ref,
|
|
@@ -1868,7 +1899,7 @@ var NavigationMenuViewport = React36.forwardRef(({ className, ...props }, ref) =
|
|
|
1868
1899
|
}
|
|
1869
1900
|
) }));
|
|
1870
1901
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
1871
|
-
var NavigationMenuIndicator = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1902
|
+
var NavigationMenuIndicator = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
1872
1903
|
NavigationMenuPrimitive.Indicator,
|
|
1873
1904
|
{
|
|
1874
1905
|
ref,
|
|
@@ -1877,7 +1908,7 @@ var NavigationMenuIndicator = React36.forwardRef(({ className, ...props }, ref)
|
|
|
1877
1908
|
className
|
|
1878
1909
|
),
|
|
1879
1910
|
...props,
|
|
1880
|
-
children: /* @__PURE__ */
|
|
1911
|
+
children: /* @__PURE__ */ jsx40("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-subtle shadow-md" })
|
|
1881
1912
|
}
|
|
1882
1913
|
));
|
|
1883
1914
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
@@ -1940,10 +1971,10 @@ function useTheme() {
|
|
|
1940
1971
|
|
|
1941
1972
|
// src/components/sonner.tsx
|
|
1942
1973
|
import { Toaster as SonnerToaster, toast } from "sonner";
|
|
1943
|
-
import { jsx as
|
|
1974
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1944
1975
|
var Toaster = ({ ...props }) => {
|
|
1945
1976
|
const { resolvedTheme } = useTheme();
|
|
1946
|
-
return /* @__PURE__ */
|
|
1977
|
+
return /* @__PURE__ */ jsx41(
|
|
1947
1978
|
SonnerToaster,
|
|
1948
1979
|
{
|
|
1949
1980
|
theme: resolvedTheme,
|
|
@@ -1963,7 +1994,7 @@ var Toaster = ({ ...props }) => {
|
|
|
1963
1994
|
|
|
1964
1995
|
// src/theme/ThemeToggle.tsx
|
|
1965
1996
|
import { Sun, Moon, Monitor } from "lucide-react";
|
|
1966
|
-
import { jsx as
|
|
1997
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
1967
1998
|
var icons = {
|
|
1968
1999
|
light: Sun,
|
|
1969
2000
|
dark: Moon,
|
|
@@ -1977,14 +2008,14 @@ var nextTheme = {
|
|
|
1977
2008
|
function ThemeToggle() {
|
|
1978
2009
|
const { theme, setTheme } = useTheme();
|
|
1979
2010
|
const Icon = icons[theme];
|
|
1980
|
-
return /* @__PURE__ */
|
|
2011
|
+
return /* @__PURE__ */ jsx42(
|
|
1981
2012
|
"button",
|
|
1982
2013
|
{
|
|
1983
2014
|
onClick: () => setTheme(nextTheme[theme]),
|
|
1984
2015
|
className: "p-2 rounded-lg text-text-secondary hover:bg-bg-secondary transition-colors",
|
|
1985
2016
|
"aria-label": `Switch to ${nextTheme[theme]} theme`,
|
|
1986
2017
|
title: `Theme: ${theme}`,
|
|
1987
|
-
children: /* @__PURE__ */
|
|
2018
|
+
children: /* @__PURE__ */ jsx42(Icon, { className: "w-4 h-4" })
|
|
1988
2019
|
}
|
|
1989
2020
|
);
|
|
1990
2021
|
}
|
|
@@ -1992,9 +2023,9 @@ function ThemeToggle() {
|
|
|
1992
2023
|
// src/components/calendar.tsx
|
|
1993
2024
|
import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight6 } from "lucide-react";
|
|
1994
2025
|
import { DayPicker } from "react-day-picker";
|
|
1995
|
-
import { jsx as
|
|
2026
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
1996
2027
|
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
1997
|
-
return /* @__PURE__ */
|
|
2028
|
+
return /* @__PURE__ */ jsx43(
|
|
1998
2029
|
DayPicker,
|
|
1999
2030
|
{
|
|
2000
2031
|
showOutsideDays,
|
|
@@ -2037,7 +2068,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
|
2037
2068
|
...classNames
|
|
2038
2069
|
},
|
|
2039
2070
|
components: {
|
|
2040
|
-
Chevron: ({ className: cls, orientation, ...rest }) => orientation === "left" ? /* @__PURE__ */
|
|
2071
|
+
Chevron: ({ className: cls, orientation, ...rest }) => orientation === "left" ? /* @__PURE__ */ jsx43(ChevronLeft2, { className: cn("size-4", cls), ...rest }) : /* @__PURE__ */ jsx43(ChevronRight6, { className: cn("size-4", cls), ...rest })
|
|
2041
2072
|
},
|
|
2042
2073
|
...props
|
|
2043
2074
|
}
|
|
@@ -2048,7 +2079,7 @@ Calendar.displayName = "Calendar";
|
|
|
2048
2079
|
// src/components/date-picker.tsx
|
|
2049
2080
|
import * as React37 from "react";
|
|
2050
2081
|
import { Calendar as CalendarIcon } from "lucide-react";
|
|
2051
|
-
import { jsx as
|
|
2082
|
+
import { jsx as jsx44, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2052
2083
|
var DEFAULT_FORMAT = {
|
|
2053
2084
|
year: "numeric",
|
|
2054
2085
|
month: "long",
|
|
@@ -2062,8 +2093,8 @@ function DatePicker({
|
|
|
2062
2093
|
className
|
|
2063
2094
|
}) {
|
|
2064
2095
|
const [open, setOpen] = React37.useState(false);
|
|
2065
|
-
return /* @__PURE__ */
|
|
2066
|
-
/* @__PURE__ */
|
|
2096
|
+
return /* @__PURE__ */ jsxs19(Popover, { open, onOpenChange: setOpen, children: [
|
|
2097
|
+
/* @__PURE__ */ jsx44(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs19(
|
|
2067
2098
|
Button,
|
|
2068
2099
|
{
|
|
2069
2100
|
type: "button",
|
|
@@ -2071,12 +2102,12 @@ function DatePicker({
|
|
|
2071
2102
|
disabled,
|
|
2072
2103
|
className: cn("w-[240px] justify-start gap-2 text-left font-normal", !value && "text-text-tertiary", className),
|
|
2073
2104
|
children: [
|
|
2074
|
-
/* @__PURE__ */
|
|
2105
|
+
/* @__PURE__ */ jsx44(CalendarIcon, { className: "size-4 shrink-0" }),
|
|
2075
2106
|
value ? value.toLocaleDateString(void 0, DEFAULT_FORMAT) : placeholder
|
|
2076
2107
|
]
|
|
2077
2108
|
}
|
|
2078
2109
|
) }),
|
|
2079
|
-
/* @__PURE__ */
|
|
2110
|
+
/* @__PURE__ */ jsx44(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx44(
|
|
2080
2111
|
Calendar,
|
|
2081
2112
|
{
|
|
2082
2113
|
mode: "single",
|
|
@@ -2096,7 +2127,7 @@ DatePicker.displayName = "DatePicker";
|
|
|
2096
2127
|
import * as React38 from "react";
|
|
2097
2128
|
import useEmblaCarousel from "embla-carousel-react";
|
|
2098
2129
|
import { ArrowLeft, ArrowRight } from "lucide-react";
|
|
2099
|
-
import { jsx as
|
|
2130
|
+
import { jsx as jsx45, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2100
2131
|
var CarouselContext = React38.createContext(null);
|
|
2101
2132
|
function useCarousel() {
|
|
2102
2133
|
const context = React38.useContext(CarouselContext);
|
|
@@ -2143,7 +2174,7 @@ var Carousel = React38.forwardRef(({ orientation = "horizontal", opts, setApi, p
|
|
|
2143
2174
|
api.off("select", onSelect);
|
|
2144
2175
|
};
|
|
2145
2176
|
}, [api, onSelect]);
|
|
2146
|
-
return /* @__PURE__ */
|
|
2177
|
+
return /* @__PURE__ */ jsx45(
|
|
2147
2178
|
CarouselContext.Provider,
|
|
2148
2179
|
{
|
|
2149
2180
|
value: {
|
|
@@ -2156,7 +2187,7 @@ var Carousel = React38.forwardRef(({ orientation = "horizontal", opts, setApi, p
|
|
|
2156
2187
|
canScrollPrev,
|
|
2157
2188
|
canScrollNext
|
|
2158
2189
|
},
|
|
2159
|
-
children: /* @__PURE__ */
|
|
2190
|
+
children: /* @__PURE__ */ jsx45(
|
|
2160
2191
|
"div",
|
|
2161
2192
|
{
|
|
2162
2193
|
ref,
|
|
@@ -2175,7 +2206,7 @@ Carousel.displayName = "Carousel";
|
|
|
2175
2206
|
var CarouselContent = React38.forwardRef(
|
|
2176
2207
|
({ className, ...props }, ref) => {
|
|
2177
2208
|
const { carouselRef, orientation } = useCarousel();
|
|
2178
|
-
return /* @__PURE__ */
|
|
2209
|
+
return /* @__PURE__ */ jsx45("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx45(
|
|
2179
2210
|
"div",
|
|
2180
2211
|
{
|
|
2181
2212
|
ref,
|
|
@@ -2189,7 +2220,7 @@ CarouselContent.displayName = "CarouselContent";
|
|
|
2189
2220
|
var CarouselItem = React38.forwardRef(
|
|
2190
2221
|
({ className, ...props }, ref) => {
|
|
2191
2222
|
const { orientation } = useCarousel();
|
|
2192
|
-
return /* @__PURE__ */
|
|
2223
|
+
return /* @__PURE__ */ jsx45(
|
|
2193
2224
|
"div",
|
|
2194
2225
|
{
|
|
2195
2226
|
ref,
|
|
@@ -2208,7 +2239,7 @@ var CarouselItem = React38.forwardRef(
|
|
|
2208
2239
|
CarouselItem.displayName = "CarouselItem";
|
|
2209
2240
|
var CarouselPrevious = React38.forwardRef(({ className, ...props }, ref) => {
|
|
2210
2241
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
2211
|
-
return /* @__PURE__ */
|
|
2242
|
+
return /* @__PURE__ */ jsxs20(
|
|
2212
2243
|
"button",
|
|
2213
2244
|
{
|
|
2214
2245
|
ref,
|
|
@@ -2223,8 +2254,8 @@ var CarouselPrevious = React38.forwardRef(({ className, ...props }, ref) => {
|
|
|
2223
2254
|
onClick: scrollPrev,
|
|
2224
2255
|
...props,
|
|
2225
2256
|
children: [
|
|
2226
|
-
/* @__PURE__ */
|
|
2227
|
-
/* @__PURE__ */
|
|
2257
|
+
/* @__PURE__ */ jsx45(ArrowLeft, { className: "size-4" }),
|
|
2258
|
+
/* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Previous slide" })
|
|
2228
2259
|
]
|
|
2229
2260
|
}
|
|
2230
2261
|
);
|
|
@@ -2232,7 +2263,7 @@ var CarouselPrevious = React38.forwardRef(({ className, ...props }, ref) => {
|
|
|
2232
2263
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
2233
2264
|
var CarouselNext = React38.forwardRef(({ className, ...props }, ref) => {
|
|
2234
2265
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
2235
|
-
return /* @__PURE__ */
|
|
2266
|
+
return /* @__PURE__ */ jsxs20(
|
|
2236
2267
|
"button",
|
|
2237
2268
|
{
|
|
2238
2269
|
ref,
|
|
@@ -2247,8 +2278,8 @@ var CarouselNext = React38.forwardRef(({ className, ...props }, ref) => {
|
|
|
2247
2278
|
onClick: scrollNext,
|
|
2248
2279
|
...props,
|
|
2249
2280
|
children: [
|
|
2250
|
-
/* @__PURE__ */
|
|
2251
|
-
/* @__PURE__ */
|
|
2281
|
+
/* @__PURE__ */ jsx45(ArrowRight, { className: "size-4" }),
|
|
2282
|
+
/* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Next slide" })
|
|
2252
2283
|
]
|
|
2253
2284
|
}
|
|
2254
2285
|
);
|
|
@@ -2264,11 +2295,11 @@ import {
|
|
|
2264
2295
|
useFormContext,
|
|
2265
2296
|
useFormState
|
|
2266
2297
|
} from "react-hook-form";
|
|
2267
|
-
import { jsx as
|
|
2298
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
2268
2299
|
var Form = FormProvider;
|
|
2269
2300
|
var FormFieldContext = React39.createContext(null);
|
|
2270
2301
|
function FormField({ ...props }) {
|
|
2271
|
-
return /* @__PURE__ */
|
|
2302
|
+
return /* @__PURE__ */ jsx46(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx46(Controller, { ...props }) });
|
|
2272
2303
|
}
|
|
2273
2304
|
var FormItemContext = React39.createContext(null);
|
|
2274
2305
|
function useFormField() {
|
|
@@ -2291,13 +2322,13 @@ function useFormField() {
|
|
|
2291
2322
|
var FormItem = React39.forwardRef(
|
|
2292
2323
|
({ className, ...props }, ref) => {
|
|
2293
2324
|
const id = React39.useId();
|
|
2294
|
-
return /* @__PURE__ */
|
|
2325
|
+
return /* @__PURE__ */ jsx46(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx46("div", { ref, className: cn("space-y-2", className), ...props }) });
|
|
2295
2326
|
}
|
|
2296
2327
|
);
|
|
2297
2328
|
FormItem.displayName = "FormItem";
|
|
2298
2329
|
var FormLabel = React39.forwardRef(({ className, ...props }, ref) => {
|
|
2299
2330
|
const { error, formItemId } = useFormField();
|
|
2300
|
-
return /* @__PURE__ */
|
|
2331
|
+
return /* @__PURE__ */ jsx46(
|
|
2301
2332
|
Label2,
|
|
2302
2333
|
{
|
|
2303
2334
|
ref,
|
|
@@ -2310,7 +2341,7 @@ var FormLabel = React39.forwardRef(({ className, ...props }, ref) => {
|
|
|
2310
2341
|
FormLabel.displayName = "FormLabel";
|
|
2311
2342
|
var FormControl = React39.forwardRef(({ ...props }, ref) => {
|
|
2312
2343
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
2313
|
-
return /* @__PURE__ */
|
|
2344
|
+
return /* @__PURE__ */ jsx46(
|
|
2314
2345
|
Slot3,
|
|
2315
2346
|
{
|
|
2316
2347
|
ref,
|
|
@@ -2324,7 +2355,7 @@ var FormControl = React39.forwardRef(({ ...props }, ref) => {
|
|
|
2324
2355
|
FormControl.displayName = "FormControl";
|
|
2325
2356
|
var FormDescription = React39.forwardRef(({ className, ...props }, ref) => {
|
|
2326
2357
|
const { formDescriptionId } = useFormField();
|
|
2327
|
-
return /* @__PURE__ */
|
|
2358
|
+
return /* @__PURE__ */ jsx46(
|
|
2328
2359
|
"p",
|
|
2329
2360
|
{
|
|
2330
2361
|
ref,
|
|
@@ -2339,7 +2370,7 @@ var FormMessage = React39.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
2339
2370
|
const { error, formMessageId } = useFormField();
|
|
2340
2371
|
const body = error ? String(error?.message ?? "") : children;
|
|
2341
2372
|
if (!body) return null;
|
|
2342
|
-
return /* @__PURE__ */
|
|
2373
|
+
return /* @__PURE__ */ jsx46(
|
|
2343
2374
|
"p",
|
|
2344
2375
|
{
|
|
2345
2376
|
ref,
|
|
@@ -2355,7 +2386,7 @@ FormMessage.displayName = "FormMessage";
|
|
|
2355
2386
|
// src/components/status-dot.tsx
|
|
2356
2387
|
import * as React40 from "react";
|
|
2357
2388
|
import { cva as cva8 } from "class-variance-authority";
|
|
2358
|
-
import { jsx as
|
|
2389
|
+
import { jsx as jsx47, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2359
2390
|
var statusDotVariants = cva8("inline-block shrink-0 rounded-full", {
|
|
2360
2391
|
variants: {
|
|
2361
2392
|
status: {
|
|
@@ -2370,7 +2401,7 @@ var statusDotVariants = cva8("inline-block shrink-0 rounded-full", {
|
|
|
2370
2401
|
defaultVariants: { status: "neutral", size: "md" }
|
|
2371
2402
|
});
|
|
2372
2403
|
var StatusDot = React40.forwardRef(
|
|
2373
|
-
({ className, status, size, pulse = false, ...props }, ref) => /* @__PURE__ */
|
|
2404
|
+
({ className, status, size, pulse = false, ...props }, ref) => /* @__PURE__ */ jsxs21(
|
|
2374
2405
|
"span",
|
|
2375
2406
|
{
|
|
2376
2407
|
ref,
|
|
@@ -2379,14 +2410,14 @@ var StatusDot = React40.forwardRef(
|
|
|
2379
2410
|
className: cn("relative inline-flex", className),
|
|
2380
2411
|
...props,
|
|
2381
2412
|
children: [
|
|
2382
|
-
pulse && /* @__PURE__ */
|
|
2413
|
+
pulse && /* @__PURE__ */ jsx47(
|
|
2383
2414
|
"span",
|
|
2384
2415
|
{
|
|
2385
2416
|
"aria-hidden": "true",
|
|
2386
2417
|
className: cn(statusDotVariants({ status, size }), "absolute inset-0 animate-ping opacity-75")
|
|
2387
2418
|
}
|
|
2388
2419
|
),
|
|
2389
|
-
/* @__PURE__ */
|
|
2420
|
+
/* @__PURE__ */ jsx47("span", { className: cn(statusDotVariants({ status, size })) })
|
|
2390
2421
|
]
|
|
2391
2422
|
}
|
|
2392
2423
|
)
|
|
@@ -2396,9 +2427,9 @@ StatusDot.displayName = "StatusDot";
|
|
|
2396
2427
|
// src/components/docs-link.tsx
|
|
2397
2428
|
import * as React41 from "react";
|
|
2398
2429
|
import { BookOpen, ExternalLink } from "lucide-react";
|
|
2399
|
-
import { jsx as
|
|
2430
|
+
import { jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2400
2431
|
var DocsLink = React41.forwardRef(
|
|
2401
|
-
({ href = "https://docs.lessly.com", label = "Docs", className, ...props }, ref) => /* @__PURE__ */
|
|
2432
|
+
({ href = "https://docs.lessly.com", label = "Docs", className, ...props }, ref) => /* @__PURE__ */ jsxs22(
|
|
2402
2433
|
"a",
|
|
2403
2434
|
{
|
|
2404
2435
|
ref,
|
|
@@ -2411,9 +2442,9 @@ var DocsLink = React41.forwardRef(
|
|
|
2411
2442
|
),
|
|
2412
2443
|
...props,
|
|
2413
2444
|
children: [
|
|
2414
|
-
/* @__PURE__ */
|
|
2445
|
+
/* @__PURE__ */ jsx48(BookOpen, { className: "size-4", "aria-hidden": "true" }),
|
|
2415
2446
|
label,
|
|
2416
|
-
/* @__PURE__ */
|
|
2447
|
+
/* @__PURE__ */ jsx48(ExternalLink, { className: "size-3 text-text-tertiary", "aria-hidden": "true" })
|
|
2417
2448
|
]
|
|
2418
2449
|
}
|
|
2419
2450
|
)
|
|
@@ -2422,9 +2453,9 @@ DocsLink.displayName = "DocsLink";
|
|
|
2422
2453
|
|
|
2423
2454
|
// src/components/empty-state.tsx
|
|
2424
2455
|
import * as React42 from "react";
|
|
2425
|
-
import { jsx as
|
|
2456
|
+
import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2426
2457
|
var EmptyState = React42.forwardRef(
|
|
2427
|
-
({ icon: Icon, title, description, action, className, ...props }, ref) => /* @__PURE__ */
|
|
2458
|
+
({ icon: Icon, title, description, action, className, ...props }, ref) => /* @__PURE__ */ jsxs23(
|
|
2428
2459
|
"div",
|
|
2429
2460
|
{
|
|
2430
2461
|
ref,
|
|
@@ -2434,201 +2465,25 @@ var EmptyState = React42.forwardRef(
|
|
|
2434
2465
|
),
|
|
2435
2466
|
...props,
|
|
2436
2467
|
children: [
|
|
2437
|
-
Icon && /* @__PURE__ */
|
|
2438
|
-
/* @__PURE__ */
|
|
2439
|
-
description && /* @__PURE__ */
|
|
2440
|
-
action && /* @__PURE__ */
|
|
2468
|
+
Icon && /* @__PURE__ */ jsx49("div", { className: "mb-4 flex size-11 items-center justify-center rounded-full bg-bg-secondary", children: /* @__PURE__ */ jsx49(Icon, { className: "size-5 text-icon-secondary", "aria-hidden": "true" }) }),
|
|
2469
|
+
/* @__PURE__ */ jsx49("p", { className: "text-base font-semibold text-text-primary", children: title }),
|
|
2470
|
+
description && /* @__PURE__ */ jsx49("p", { className: "mt-1 max-w-sm text-sm text-text-secondary", children: description }),
|
|
2471
|
+
action && /* @__PURE__ */ jsx49("div", { className: "mt-4", children: action })
|
|
2441
2472
|
]
|
|
2442
2473
|
}
|
|
2443
2474
|
)
|
|
2444
2475
|
);
|
|
2445
2476
|
EmptyState.displayName = "EmptyState";
|
|
2446
2477
|
|
|
2447
|
-
// src/components/sign-in-screen.tsx
|
|
2448
|
-
import * as React43 from "react";
|
|
2449
|
-
|
|
2450
|
-
// src/lib/auth-surface.ts
|
|
2451
|
-
var AUTH_GLOW_BG = "radial-gradient(560px 320px at 28% 16%, var(--auth-glow-a), transparent 68%),radial-gradient(520px 340px at 78% 90%, var(--auth-glow-b), transparent 66%),var(--bg-sunken)";
|
|
2452
|
-
var AUTH_FILLED_BUTTON = "flex h-[46px] w-full items-center justify-center gap-[11px] rounded-[10px] border border-transparent bg-text-primary px-[14px] text-[14.5px] font-semibold tracking-[-0.005em] text-bg-sunken transition-opacity hover:opacity-[0.92] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-text-brand active:translate-y-px disabled:cursor-not-allowed disabled:opacity-[0.55]";
|
|
2453
|
-
var AUTH_QUIET_BUTTON = "flex h-[46px] w-full items-center justify-center gap-[11px] rounded-[10px] border border-border-default bg-transparent px-[14px] text-[14.5px] font-medium tracking-[-0.005em] text-text-secondary transition-colors hover:bg-bg-secondary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-text-brand";
|
|
2454
|
-
var AUTH_BUTTON_SHADOW = "var(--auth-btn-shadow)";
|
|
2455
|
-
|
|
2456
|
-
// src/components/sign-in-screen.tsx
|
|
2457
|
-
import { Fragment, jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2458
|
-
var DEFAULT_TITLE = {
|
|
2459
|
-
login: "Sign in",
|
|
2460
|
-
forbidden: "Access restricted",
|
|
2461
|
-
error: "Couldn't load"
|
|
2462
|
-
};
|
|
2463
|
-
var DEFAULT_DESCRIPTION = {
|
|
2464
|
-
forbidden: "This app is limited to one Workspace group.",
|
|
2465
|
-
error: "Something interrupted sign-in. Try again in a moment."
|
|
2466
|
-
};
|
|
2467
|
-
function Spinner({ className }) {
|
|
2468
|
-
return /* @__PURE__ */ jsx49(
|
|
2469
|
-
"span",
|
|
2470
|
-
{
|
|
2471
|
-
"aria-hidden": "true",
|
|
2472
|
-
className: cn(
|
|
2473
|
-
"inline-block animate-spin rounded-full border-2 border-current border-t-transparent",
|
|
2474
|
-
className
|
|
2475
|
-
)
|
|
2476
|
-
}
|
|
2477
|
-
);
|
|
2478
|
-
}
|
|
2479
|
-
function GoogleGlyph() {
|
|
2480
|
-
return /* @__PURE__ */ jsx49("span", { className: "inline-flex size-[26px] flex-none items-center justify-center rounded-md bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.05)_inset]", children: /* @__PURE__ */ jsxs23("svg", { width: "17", height: "17", viewBox: "0 0 18 18", "aria-hidden": "true", children: [
|
|
2481
|
-
/* @__PURE__ */ jsx49("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.72v2.26h2.92c1.7-1.57 2.68-3.88 2.68-6.62z" }),
|
|
2482
|
-
/* @__PURE__ */ jsx49("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.8 5.96-2.18l-2.92-2.26c-.8.54-1.84.86-3.04.86-2.34 0-4.32-1.58-5.03-3.7H.96v2.33A9 9 0 0 0 9 18z" }),
|
|
2483
|
-
/* @__PURE__ */ jsx49("path", { fill: "#FBBC05", d: "M3.97 10.72a5.4 5.4 0 0 1 0-3.44V4.95H.96a9 9 0 0 0 0 8.1l3.01-2.33z" }),
|
|
2484
|
-
/* @__PURE__ */ jsx49("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.46 3.44 1.35l2.58-2.58C13.46.9 11.43 0 9 0A9 9 0 0 0 .96 4.95l3.01 2.33C4.68 5.16 6.66 3.58 9 3.58z" })
|
|
2485
|
-
] }) });
|
|
2486
|
-
}
|
|
2487
|
-
var LockIcon = (props) => /* @__PURE__ */ jsxs23("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", ...props, children: [
|
|
2488
|
-
/* @__PURE__ */ jsx49("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2" }),
|
|
2489
|
-
/* @__PURE__ */ jsx49("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
|
|
2490
|
-
] });
|
|
2491
|
-
var WarningIcon = (props) => /* @__PURE__ */ jsxs23("svg", { width: "17", height: "17", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", ...props, children: [
|
|
2492
|
-
/* @__PURE__ */ jsx49("path", { d: "M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
|
|
2493
|
-
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
2494
|
-
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
|
|
2495
|
-
] });
|
|
2496
|
-
var ErrorIcon = (props) => /* @__PURE__ */ jsxs23("svg", { width: "17", height: "17", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", ...props, children: [
|
|
2497
|
-
/* @__PURE__ */ jsx49("circle", { cx: "12", cy: "12", r: "10" }),
|
|
2498
|
-
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
2499
|
-
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
2500
|
-
] });
|
|
2501
|
-
var RetryIcon = (props) => /* @__PURE__ */ jsxs23("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", ...props, children: [
|
|
2502
|
-
/* @__PURE__ */ jsx49("path", { d: "M23 4v6h-6" }),
|
|
2503
|
-
/* @__PURE__ */ jsx49("path", { d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10" })
|
|
2504
|
-
] });
|
|
2505
|
-
var calloutBase = "mb-[22px] flex gap-[10px] rounded-[10px] border px-[13px] py-[12px] text-left text-[13px] leading-[1.5] text-text-secondary [&_code]:font-mono [&_code]:text-[12px] [&_code]:text-text-primary [&_strong]:font-semibold [&_strong]:text-text-primary";
|
|
2506
|
-
function LockNote({ children }) {
|
|
2507
|
-
return /* @__PURE__ */ jsxs23("div", { className: "mx-auto mt-[20px] flex flex-wrap items-center justify-center gap-[7px] text-[12px] leading-[1.4] text-text-secondary [&_code]:rounded-[5px] [&_code]:bg-bg-secondary [&_code]:px-[6px] [&_code]:py-[2px] [&_code]:font-mono [&_code]:text-[11.5px] [&_code]:text-text-secondary", children: [
|
|
2508
|
-
/* @__PURE__ */ jsx49(LockIcon, { className: "flex-none text-text-tertiary" }),
|
|
2509
|
-
children
|
|
2510
|
-
] });
|
|
2511
|
-
}
|
|
2512
|
-
var SignInScreen = React43.forwardRef(
|
|
2513
|
-
({
|
|
2514
|
-
state: state2 = "login",
|
|
2515
|
-
brand,
|
|
2516
|
-
eyebrow,
|
|
2517
|
-
title,
|
|
2518
|
-
description,
|
|
2519
|
-
googleLabel = "Continue with Google",
|
|
2520
|
-
onGoogle,
|
|
2521
|
-
signingIn = false,
|
|
2522
|
-
signingInLabel = "Signing you in\u2026",
|
|
2523
|
-
restriction,
|
|
2524
|
-
forbidden,
|
|
2525
|
-
error,
|
|
2526
|
-
onRetry,
|
|
2527
|
-
retryLabel = "Try again",
|
|
2528
|
-
loadingLabel = "Loading\u2026",
|
|
2529
|
-
footer,
|
|
2530
|
-
className,
|
|
2531
|
-
...props
|
|
2532
|
-
}, ref) => {
|
|
2533
|
-
const shell = (children) => /* @__PURE__ */ jsx49(
|
|
2534
|
-
"div",
|
|
2535
|
-
{
|
|
2536
|
-
ref,
|
|
2537
|
-
className: cn(
|
|
2538
|
-
"relative flex min-h-screen w-full items-center justify-center overflow-hidden px-6 py-12 text-text-primary",
|
|
2539
|
-
className
|
|
2540
|
-
),
|
|
2541
|
-
style: { background: AUTH_GLOW_BG },
|
|
2542
|
-
...props,
|
|
2543
|
-
children
|
|
2544
|
-
}
|
|
2545
|
-
);
|
|
2546
|
-
const brandMark = /* @__PURE__ */ jsx49("div", { className: "text-[24px] font-bold leading-none tracking-[-0.02em] text-text-primary", children: brand });
|
|
2547
|
-
if (state2 === "loading") {
|
|
2548
|
-
return shell(
|
|
2549
|
-
/* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center gap-[16px] text-text-secondary", children: [
|
|
2550
|
-
brandMark,
|
|
2551
|
-
/* @__PURE__ */ jsx49(Spinner, { className: "size-[22px] text-text-tertiary opacity-90" }),
|
|
2552
|
-
/* @__PURE__ */ jsx49("span", { role: "status", className: "text-[13.5px] tracking-[-0.005em]", children: loadingLabel })
|
|
2553
|
-
] })
|
|
2554
|
-
);
|
|
2555
|
-
}
|
|
2556
|
-
const heading = title ?? DEFAULT_TITLE[state2];
|
|
2557
|
-
const sub = description ?? DEFAULT_DESCRIPTION[state2];
|
|
2558
|
-
return shell(
|
|
2559
|
-
/* @__PURE__ */ jsxs23(
|
|
2560
|
-
"div",
|
|
2561
|
-
{
|
|
2562
|
-
className: "relative w-full max-w-[360px] rounded-2xl bg-bg-surface px-[34px] pb-[30px] pt-[38px] text-center",
|
|
2563
|
-
style: {
|
|
2564
|
-
border: "1px solid var(--auth-card-border)",
|
|
2565
|
-
boxShadow: "var(--auth-card-shadow)"
|
|
2566
|
-
},
|
|
2567
|
-
children: [
|
|
2568
|
-
/* @__PURE__ */ jsx49("div", { className: "mb-[22px]", children: brandMark }),
|
|
2569
|
-
eyebrow && state2 === "login" && /* @__PURE__ */ jsx49("p", { className: "mb-[12px] text-[13px] font-medium text-text-tertiary", children: eyebrow }),
|
|
2570
|
-
/* @__PURE__ */ jsx49("h1", { className: "mb-[8px] text-[20px] font-semibold leading-[1.25] tracking-[-0.015em] text-text-primary", children: heading }),
|
|
2571
|
-
sub && /* @__PURE__ */ jsx49("p", { className: "mx-auto mb-[24px] max-w-[280px] text-[13.5px] leading-[1.5] text-text-secondary", children: sub }),
|
|
2572
|
-
state2 === "login" && /* @__PURE__ */ jsx49(
|
|
2573
|
-
"button",
|
|
2574
|
-
{
|
|
2575
|
-
type: "button",
|
|
2576
|
-
onClick: onGoogle,
|
|
2577
|
-
disabled: signingIn,
|
|
2578
|
-
"aria-busy": signingIn || void 0,
|
|
2579
|
-
className: AUTH_FILLED_BUTTON,
|
|
2580
|
-
style: { boxShadow: AUTH_BUTTON_SHADOW },
|
|
2581
|
-
children: signingIn ? /* @__PURE__ */ jsxs23(Fragment, { children: [
|
|
2582
|
-
/* @__PURE__ */ jsx49(Spinner, { className: "size-[17px] opacity-50" }),
|
|
2583
|
-
/* @__PURE__ */ jsx49("span", { children: signingInLabel })
|
|
2584
|
-
] }) : /* @__PURE__ */ jsxs23(Fragment, { children: [
|
|
2585
|
-
/* @__PURE__ */ jsx49(GoogleGlyph, {}),
|
|
2586
|
-
/* @__PURE__ */ jsx49("span", { children: googleLabel })
|
|
2587
|
-
] })
|
|
2588
|
-
}
|
|
2589
|
-
),
|
|
2590
|
-
state2 === "forbidden" && forbidden && /* @__PURE__ */ jsxs23("div", { role: "status", className: cn(calloutBase, "border-border-warning bg-bg-warning-subtle"), children: [
|
|
2591
|
-
/* @__PURE__ */ jsx49(WarningIcon, { className: "mt-px flex-none text-border-warning" }),
|
|
2592
|
-
/* @__PURE__ */ jsx49("span", { children: forbidden })
|
|
2593
|
-
] }),
|
|
2594
|
-
state2 === "error" && /* @__PURE__ */ jsxs23(Fragment, { children: [
|
|
2595
|
-
/* @__PURE__ */ jsxs23("div", { role: "alert", className: cn(calloutBase, "border-border-danger bg-bg-danger-subtle"), children: [
|
|
2596
|
-
/* @__PURE__ */ jsx49(ErrorIcon, { className: "mt-px flex-none text-border-danger" }),
|
|
2597
|
-
/* @__PURE__ */ jsx49("span", { children: error ?? "The identity provider didn\u2019t respond. Retry in a moment." })
|
|
2598
|
-
] }),
|
|
2599
|
-
onRetry && /* @__PURE__ */ jsxs23(
|
|
2600
|
-
"button",
|
|
2601
|
-
{
|
|
2602
|
-
type: "button",
|
|
2603
|
-
onClick: onRetry,
|
|
2604
|
-
className: AUTH_FILLED_BUTTON,
|
|
2605
|
-
style: { boxShadow: AUTH_BUTTON_SHADOW },
|
|
2606
|
-
children: [
|
|
2607
|
-
/* @__PURE__ */ jsx49(RetryIcon, {}),
|
|
2608
|
-
/* @__PURE__ */ jsx49("span", { children: retryLabel })
|
|
2609
|
-
]
|
|
2610
|
-
}
|
|
2611
|
-
)
|
|
2612
|
-
] }),
|
|
2613
|
-
restriction && (state2 === "login" || state2 === "forbidden") && /* @__PURE__ */ jsx49(LockNote, { children: restriction }),
|
|
2614
|
-
footer != null && /* @__PURE__ */ jsx49("div", { className: "mt-[24px] text-[11px] tracking-[0.005em] text-text-tertiary", children: footer })
|
|
2615
|
-
]
|
|
2616
|
-
}
|
|
2617
|
-
)
|
|
2618
|
-
);
|
|
2619
|
-
}
|
|
2620
|
-
);
|
|
2621
|
-
SignInScreen.displayName = "SignInScreen";
|
|
2622
|
-
|
|
2623
2478
|
// src/components/copy-button.tsx
|
|
2624
|
-
import * as
|
|
2479
|
+
import * as React43 from "react";
|
|
2625
2480
|
import { Check as Check5, Copy } from "lucide-react";
|
|
2626
2481
|
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
2627
|
-
var CopyButton =
|
|
2482
|
+
var CopyButton = React43.forwardRef(
|
|
2628
2483
|
({ value, label = "Copy", className, variant = "ghost", size = "icon", onClick, ...props }, ref) => {
|
|
2629
|
-
const [copied, setCopied] =
|
|
2630
|
-
const timer =
|
|
2631
|
-
|
|
2484
|
+
const [copied, setCopied] = React43.useState(false);
|
|
2485
|
+
const timer = React43.useRef(void 0);
|
|
2486
|
+
React43.useEffect(() => () => clearTimeout(timer.current), []);
|
|
2632
2487
|
const handleClick = async (e) => {
|
|
2633
2488
|
onClick?.(e);
|
|
2634
2489
|
if (!navigator.clipboard?.writeText) return;
|
|
@@ -2659,7 +2514,7 @@ var CopyButton = React44.forwardRef(
|
|
|
2659
2514
|
CopyButton.displayName = "CopyButton";
|
|
2660
2515
|
|
|
2661
2516
|
// src/components/stat-card.tsx
|
|
2662
|
-
import * as
|
|
2517
|
+
import * as React44 from "react";
|
|
2663
2518
|
import { ArrowDown, ArrowUp, Info as Info2, Minus as Minus2 } from "lucide-react";
|
|
2664
2519
|
import { jsx as jsx51, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2665
2520
|
var directionIcons = {
|
|
@@ -2677,7 +2532,7 @@ var toneFromDirection = {
|
|
|
2677
2532
|
down: "negative",
|
|
2678
2533
|
neutral: "neutral"
|
|
2679
2534
|
};
|
|
2680
|
-
var StatCard =
|
|
2535
|
+
var StatCard = React44.forwardRef(
|
|
2681
2536
|
({ label, value, delta, hint, sub, icon: Icon, className, ...props }, ref) => {
|
|
2682
2537
|
const direction = delta?.direction ?? "neutral";
|
|
2683
2538
|
const tone = delta?.tone ?? toneFromDirection[direction];
|
|
@@ -2716,10 +2571,10 @@ var StatCard = React45.forwardRef(
|
|
|
2716
2571
|
StatCard.displayName = "StatCard";
|
|
2717
2572
|
|
|
2718
2573
|
// src/components/confirm-dialog.tsx
|
|
2719
|
-
import * as
|
|
2574
|
+
import * as React45 from "react";
|
|
2720
2575
|
import { Loader2 } from "lucide-react";
|
|
2721
2576
|
import { jsx as jsx52, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2722
|
-
var InlineError =
|
|
2577
|
+
var InlineError = React45.forwardRef(
|
|
2723
2578
|
({ children, className, ...props }, ref) => /* @__PURE__ */ jsx52(
|
|
2724
2579
|
"div",
|
|
2725
2580
|
{
|
|
@@ -2746,12 +2601,12 @@ function ConfirmDialog({
|
|
|
2746
2601
|
destructive = false,
|
|
2747
2602
|
onConfirm
|
|
2748
2603
|
}) {
|
|
2749
|
-
const [internalOpen, setInternalOpen] =
|
|
2604
|
+
const [internalOpen, setInternalOpen] = React45.useState(false);
|
|
2750
2605
|
const isControlled = open !== void 0;
|
|
2751
2606
|
const actualOpen = isControlled ? open : internalOpen;
|
|
2752
|
-
const [busy, setBusy] =
|
|
2753
|
-
const [error, setError] =
|
|
2754
|
-
|
|
2607
|
+
const [busy, setBusy] = React45.useState(false);
|
|
2608
|
+
const [error, setError] = React45.useState(null);
|
|
2609
|
+
React45.useEffect(() => {
|
|
2755
2610
|
if (!actualOpen) setError(null);
|
|
2756
2611
|
}, [actualOpen]);
|
|
2757
2612
|
const setOpen = (next) => {
|
|
@@ -2794,7 +2649,7 @@ function ConfirmDialog({
|
|
|
2794
2649
|
|
|
2795
2650
|
// src/components/user-menu.tsx
|
|
2796
2651
|
import { ChevronsUpDown } from "lucide-react";
|
|
2797
|
-
import { Fragment
|
|
2652
|
+
import { Fragment, jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2798
2653
|
function initialsOf(name) {
|
|
2799
2654
|
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
2800
2655
|
if (parts.length === 0) return "?";
|
|
@@ -2850,7 +2705,7 @@ function UserMenu({ user, items, collapsed = false, align = "start" }) {
|
|
|
2850
2705
|
/* @__PURE__ */ jsx53(DropdownMenuSeparator, { className: "mx-0 shrink-0 bg-border-subtle" }),
|
|
2851
2706
|
items.map((item, i) => {
|
|
2852
2707
|
const Icon = item.icon;
|
|
2853
|
-
const content = /* @__PURE__ */ jsxs26(
|
|
2708
|
+
const content = /* @__PURE__ */ jsxs26(Fragment, { children: [
|
|
2854
2709
|
Icon && /* @__PURE__ */ jsx53(Icon, { className: "size-4", "aria-hidden": "true" }),
|
|
2855
2710
|
item.label
|
|
2856
2711
|
] });
|
|
@@ -2887,7 +2742,7 @@ function ExtensionLink({ uiMode, to, className, children, ...anchorProps }) {
|
|
|
2887
2742
|
ExtensionLink.displayName = "ExtensionLink";
|
|
2888
2743
|
|
|
2889
2744
|
// src/components/extension-icon.tsx
|
|
2890
|
-
import * as
|
|
2745
|
+
import * as React46 from "react";
|
|
2891
2746
|
import * as LucideIcons from "lucide-react";
|
|
2892
2747
|
import { Puzzle } from "lucide-react";
|
|
2893
2748
|
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
@@ -2915,7 +2770,7 @@ function warnUnknownIconOnce(name) {
|
|
|
2915
2770
|
warnedUnknownIcons.add(name);
|
|
2916
2771
|
console.warn(`[@lessly/ui] ExtensionIcon: unknown icon "${name}" \u2014 falling back to Puzzle.`);
|
|
2917
2772
|
}
|
|
2918
|
-
var ExtensionIcon =
|
|
2773
|
+
var ExtensionIcon = React46.forwardRef(
|
|
2919
2774
|
({ name, ...props }, ref) => {
|
|
2920
2775
|
const Icon = resolveIcon(name);
|
|
2921
2776
|
if (!Icon) {
|
|
@@ -2969,9 +2824,9 @@ function useSidebar(options = {}) {
|
|
|
2969
2824
|
}
|
|
2970
2825
|
|
|
2971
2826
|
// src/components/nav-row.tsx
|
|
2972
|
-
import * as
|
|
2827
|
+
import * as React47 from "react";
|
|
2973
2828
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
2974
|
-
import { Fragment as
|
|
2829
|
+
import { Fragment as Fragment2, jsx as jsx56, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2975
2830
|
var base = "flex w-full items-center text-left text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus";
|
|
2976
2831
|
var shape = {
|
|
2977
2832
|
rail: "gap-[14px] rounded-xl px-2.5 py-2",
|
|
@@ -2987,8 +2842,8 @@ var state = {
|
|
|
2987
2842
|
active: "font-semibold text-text-brand hover:bg-[var(--menu-hov)]"
|
|
2988
2843
|
}
|
|
2989
2844
|
};
|
|
2990
|
-
var NavRow =
|
|
2991
|
-
const content = /* @__PURE__ */ jsxs27(
|
|
2845
|
+
var NavRow = React47.forwardRef(function NavRow2({ icon, label, active = false, variant, trailing, hideLabel = false, asChild = false, className, children, ...props }, ref) {
|
|
2846
|
+
const content = /* @__PURE__ */ jsxs27(Fragment2, { children: [
|
|
2992
2847
|
icon && /* @__PURE__ */ jsx56(
|
|
2993
2848
|
"span",
|
|
2994
2849
|
{
|
|
@@ -3002,17 +2857,17 @@ var NavRow = React48.forwardRef(function NavRow2({ icon, label, active = false,
|
|
|
3002
2857
|
] });
|
|
3003
2858
|
const classes = cn(base, shape[variant], state[variant][active ? "active" : "idle"], className);
|
|
3004
2859
|
if (asChild) {
|
|
3005
|
-
const child =
|
|
3006
|
-
return /* @__PURE__ */ jsx56(Slot4, { ref, className: classes, "aria-label": hideLabel ? label : void 0, ...props, children:
|
|
2860
|
+
const child = React47.Children.only(children);
|
|
2861
|
+
return /* @__PURE__ */ jsx56(Slot4, { ref, className: classes, "aria-label": hideLabel ? label : void 0, ...props, children: React47.cloneElement(child, void 0, content) });
|
|
3007
2862
|
}
|
|
3008
2863
|
return /* @__PURE__ */ jsx56("button", { ref, type: "button", className: classes, "aria-label": hideLabel ? label : void 0, ...props, children: content });
|
|
3009
2864
|
});
|
|
3010
2865
|
NavRow.displayName = "NavRow";
|
|
3011
2866
|
|
|
3012
2867
|
// src/components/nav-section-label.tsx
|
|
3013
|
-
import * as
|
|
2868
|
+
import * as React48 from "react";
|
|
3014
2869
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
3015
|
-
var NavSectionLabel =
|
|
2870
|
+
var NavSectionLabel = React48.forwardRef(
|
|
3016
2871
|
function NavSectionLabel2({ className, ...props }, ref) {
|
|
3017
2872
|
return /* @__PURE__ */ jsx57(
|
|
3018
2873
|
"div",
|
|
@@ -3027,7 +2882,7 @@ var NavSectionLabel = React49.forwardRef(
|
|
|
3027
2882
|
NavSectionLabel.displayName = "NavSectionLabel";
|
|
3028
2883
|
|
|
3029
2884
|
// src/components/menu-popup.tsx
|
|
3030
|
-
import * as
|
|
2885
|
+
import * as React49 from "react";
|
|
3031
2886
|
import { jsx as jsx58, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3032
2887
|
function MenuPopup({
|
|
3033
2888
|
trigger,
|
|
@@ -3057,7 +2912,7 @@ function MenuPopup({
|
|
|
3057
2912
|
)
|
|
3058
2913
|
] });
|
|
3059
2914
|
}
|
|
3060
|
-
var MenuDivider =
|
|
2915
|
+
var MenuDivider = React49.forwardRef(
|
|
3061
2916
|
function MenuDivider2({ className, ...props }, ref) {
|
|
3062
2917
|
return /* @__PURE__ */ jsx58(
|
|
3063
2918
|
"div",
|
|
@@ -3148,7 +3003,7 @@ function SidebarNav({
|
|
|
3148
3003
|
|
|
3149
3004
|
// src/components/app-sidebar.tsx
|
|
3150
3005
|
import { PanelLeft } from "lucide-react";
|
|
3151
|
-
import { Fragment as
|
|
3006
|
+
import { Fragment as Fragment3, jsx as jsx60, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3152
3007
|
function Divider({ collapsed, testId, className }) {
|
|
3153
3008
|
return /* @__PURE__ */ jsx60(
|
|
3154
3009
|
"div",
|
|
@@ -3236,7 +3091,7 @@ function AppSidebar({
|
|
|
3236
3091
|
children: /* @__PURE__ */ jsx60(PanelLeft, { className: "size-4", "aria-hidden": "true" })
|
|
3237
3092
|
}
|
|
3238
3093
|
)
|
|
3239
|
-
) : logoCollapsed ?? logo : /* @__PURE__ */ jsxs30(
|
|
3094
|
+
) : logoCollapsed ?? logo : /* @__PURE__ */ jsxs30(Fragment3, { children: [
|
|
3240
3095
|
header ?? logo,
|
|
3241
3096
|
pin
|
|
3242
3097
|
] }) }),
|
|
@@ -3252,7 +3107,7 @@ function AppSidebar({
|
|
|
3252
3107
|
children: /* @__PURE__ */ jsx60(SidebarNav, { items, collapsed, basePath, LinkComponent, isItemActive })
|
|
3253
3108
|
}
|
|
3254
3109
|
),
|
|
3255
|
-
footer && /* @__PURE__ */ jsxs30(
|
|
3110
|
+
footer && /* @__PURE__ */ jsxs30(Fragment3, { children: [
|
|
3256
3111
|
/* @__PURE__ */ jsx60(Divider, { collapsed, testId: "sidebar-divider-account" }),
|
|
3257
3112
|
/* @__PURE__ */ jsx60("div", { className: cn("py-2", collapsed ? "px-1" : "px-3"), children: footer })
|
|
3258
3113
|
] })
|
|
@@ -3262,22 +3117,22 @@ function AppSidebar({
|
|
|
3262
3117
|
}
|
|
3263
3118
|
|
|
3264
3119
|
// src/components/sidebar-product-header.tsx
|
|
3265
|
-
import * as
|
|
3120
|
+
import * as React50 from "react";
|
|
3266
3121
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
3267
3122
|
import { ChevronsUpDown as ChevronsUpDown2 } from "lucide-react";
|
|
3268
|
-
import { Fragment as
|
|
3269
|
-
var SidebarProductHeader =
|
|
3123
|
+
import { Fragment as Fragment4, jsx as jsx61, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3124
|
+
var SidebarProductHeader = React50.forwardRef(
|
|
3270
3125
|
function SidebarProductHeader2({ name, icon, trailing, asChild = false, className, children, ...props }, ref) {
|
|
3271
3126
|
const adornment = trailing === void 0 ? /* @__PURE__ */ jsx61(ChevronsUpDown2, { size: 14, "aria-hidden": "true", className: "shrink-0 text-text-tertiary" }) : trailing;
|
|
3272
|
-
const content = /* @__PURE__ */ jsxs31(
|
|
3127
|
+
const content = /* @__PURE__ */ jsxs31(Fragment4, { children: [
|
|
3273
3128
|
icon && /* @__PURE__ */ jsx61("span", { className: "flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-md", "aria-hidden": "true", children: icon }),
|
|
3274
3129
|
/* @__PURE__ */ jsx61("span", { className: "min-w-0 flex-1 truncate text-sm font-semibold text-text-primary", children: name }),
|
|
3275
3130
|
adornment && /* @__PURE__ */ jsx61("span", { className: "flex shrink-0 items-center", children: adornment })
|
|
3276
3131
|
] });
|
|
3277
3132
|
const classes = cn("flex w-full items-center gap-2.5 rounded-xl px-1.5 py-0 text-left", className);
|
|
3278
3133
|
if (asChild) {
|
|
3279
|
-
const child =
|
|
3280
|
-
return /* @__PURE__ */ jsx61(Slot5, { ref, className: classes, ...props, children:
|
|
3134
|
+
const child = React50.Children.only(children);
|
|
3135
|
+
return /* @__PURE__ */ jsx61(Slot5, { ref, className: classes, ...props, children: React50.cloneElement(child, void 0, content) });
|
|
3281
3136
|
}
|
|
3282
3137
|
return /* @__PURE__ */ jsx61("button", { ref, type: "button", className: classes, ...props, children: content });
|
|
3283
3138
|
}
|
|
@@ -3286,7 +3141,7 @@ SidebarProductHeader.displayName = "SidebarProductHeader";
|
|
|
3286
3141
|
|
|
3287
3142
|
// src/components/org-product-switcher.tsx
|
|
3288
3143
|
import { ChevronsUpDown as ChevronsUpDown3, Check as Check6 } from "lucide-react";
|
|
3289
|
-
import { Fragment as
|
|
3144
|
+
import { Fragment as Fragment5, jsx as jsx62, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3290
3145
|
var triggerBox = "flex w-full items-center gap-2.5 rounded-xl px-1.5 py-1 text-left transition-colors hover:bg-[var(--hov-bg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus";
|
|
3291
3146
|
var menuItem = "gap-2 rounded-md px-2 py-1.5 text-sm font-medium text-text-secondary focus:bg-[var(--menu-hov)] focus:text-text-primary";
|
|
3292
3147
|
var sectionLabel = "px-2 pt-1.5 pb-1 text-xs font-medium text-text-tertiary";
|
|
@@ -3354,12 +3209,12 @@ function OrgProductSwitcher({
|
|
|
3354
3209
|
/* @__PURE__ */ jsx62("span", { className: "min-w-0 flex-1 truncate", children: p.name }),
|
|
3355
3210
|
p.id === activeProductId && /* @__PURE__ */ jsx62(Check6, { className: "size-4 shrink-0 text-text-secondary", "aria-hidden": "true" })
|
|
3356
3211
|
] }, p.id)),
|
|
3357
|
-
actions && actions.length > 0 && /* @__PURE__ */ jsxs32(
|
|
3212
|
+
actions && actions.length > 0 && /* @__PURE__ */ jsxs32(Fragment5, { children: [
|
|
3358
3213
|
/* @__PURE__ */ jsx62(DropdownMenuSeparator, { className: "mx-0 shrink-0 bg-border-subtle" }),
|
|
3359
3214
|
actions.map((a) => /* @__PURE__ */ jsx62(DropdownMenuItem, { className: menuItem, onSelect: a.onSelect, asChild: Boolean(a.href), children: a.href ? /* @__PURE__ */ jsxs32("a", { href: a.href, children: [
|
|
3360
3215
|
a.icon,
|
|
3361
3216
|
a.label
|
|
3362
|
-
] }) : /* @__PURE__ */ jsxs32(
|
|
3217
|
+
] }) : /* @__PURE__ */ jsxs32(Fragment5, { children: [
|
|
3363
3218
|
a.icon,
|
|
3364
3219
|
a.label
|
|
3365
3220
|
] }) }, a.id))
|
|
@@ -3433,17 +3288,17 @@ function SidebarBackHeader({
|
|
|
3433
3288
|
SidebarBackHeader.displayName = "SidebarBackHeader";
|
|
3434
3289
|
|
|
3435
3290
|
// src/components/app-shell.tsx
|
|
3436
|
-
import * as
|
|
3291
|
+
import * as React51 from "react";
|
|
3437
3292
|
import { Menu as Menu2 } from "lucide-react";
|
|
3438
3293
|
import { useLocation as useLocation2 } from "react-router";
|
|
3439
3294
|
import { jsx as jsx64, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
3440
3295
|
function expandedSidebar(sidebar) {
|
|
3441
|
-
return
|
|
3296
|
+
return React51.isValidElement(sidebar) ? React51.cloneElement(sidebar, { collapsed: false }) : sidebar;
|
|
3442
3297
|
}
|
|
3443
3298
|
function AppShell({ sidebar, topBar, children, className }) {
|
|
3444
3299
|
const { pathname } = useLocation2();
|
|
3445
|
-
const [mobileOpen, setMobileOpen] =
|
|
3446
|
-
|
|
3300
|
+
const [mobileOpen, setMobileOpen] = React51.useState(false);
|
|
3301
|
+
React51.useEffect(() => {
|
|
3447
3302
|
setMobileOpen(false);
|
|
3448
3303
|
}, [pathname]);
|
|
3449
3304
|
const isMobile = useIsMobile();
|
|
@@ -3474,10 +3329,10 @@ function AppShell({ sidebar, topBar, children, className }) {
|
|
|
3474
3329
|
var AuthenticatedLayout = AppShell;
|
|
3475
3330
|
|
|
3476
3331
|
// src/components/grid.tsx
|
|
3477
|
-
import * as
|
|
3332
|
+
import * as React52 from "react";
|
|
3478
3333
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
3479
3334
|
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
3480
|
-
var Grid =
|
|
3335
|
+
var Grid = React52.forwardRef(
|
|
3481
3336
|
({ fluid = false, asChild = false, className, ...props }, ref) => {
|
|
3482
3337
|
const Comp = asChild ? Slot6 : "div";
|
|
3483
3338
|
return /* @__PURE__ */ jsx65(
|
|
@@ -3498,7 +3353,7 @@ var Grid = React53.forwardRef(
|
|
|
3498
3353
|
Grid.displayName = "Grid";
|
|
3499
3354
|
|
|
3500
3355
|
// src/components/col.tsx
|
|
3501
|
-
import * as
|
|
3356
|
+
import * as React53 from "react";
|
|
3502
3357
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
3503
3358
|
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
3504
3359
|
var TIER_MAX = { base: 4, md: 8, xl: 12 };
|
|
@@ -3620,7 +3475,7 @@ function responsiveClasses(span, offset) {
|
|
|
3620
3475
|
}
|
|
3621
3476
|
return cn(...spanClasses, ...startClasses);
|
|
3622
3477
|
}
|
|
3623
|
-
var Col =
|
|
3478
|
+
var Col = React53.forwardRef(
|
|
3624
3479
|
({ span, offset, asChild = false, className, ...props }, ref) => {
|
|
3625
3480
|
const Comp = asChild ? Slot7 : "div";
|
|
3626
3481
|
return /* @__PURE__ */ jsx66(Comp, { ref, className: cn(responsiveClasses(span, offset), className), ...props });
|
|
@@ -3629,7 +3484,7 @@ var Col = React54.forwardRef(
|
|
|
3629
3484
|
Col.displayName = "Col";
|
|
3630
3485
|
|
|
3631
3486
|
// src/components/code-block.tsx
|
|
3632
|
-
import * as
|
|
3487
|
+
import * as React54 from "react";
|
|
3633
3488
|
import { jsx as jsx67, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
3634
3489
|
var TOKEN_CLASS = {
|
|
3635
3490
|
comment: "text-text-tertiary italic",
|
|
@@ -3758,9 +3613,9 @@ function tokenize(code, lang) {
|
|
|
3758
3613
|
}
|
|
3759
3614
|
return tokens;
|
|
3760
3615
|
}
|
|
3761
|
-
var CodeBlock =
|
|
3616
|
+
var CodeBlock = React54.forwardRef(
|
|
3762
3617
|
({ code, lang = "tsx", copy = false, filename, scroll = false, className, ...props }, ref) => {
|
|
3763
|
-
const tokens =
|
|
3618
|
+
const tokens = React54.useMemo(() => tokenize(code, lang), [code, lang]);
|
|
3764
3619
|
const framed = Boolean(filename) || copy;
|
|
3765
3620
|
const pre = /* @__PURE__ */ jsx67(
|
|
3766
3621
|
"pre",
|
|
@@ -3787,7 +3642,7 @@ var CodeBlock = React55.forwardRef(
|
|
|
3787
3642
|
}
|
|
3788
3643
|
);
|
|
3789
3644
|
CodeBlock.displayName = "CodeBlock";
|
|
3790
|
-
var Code =
|
|
3645
|
+
var Code = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx67(
|
|
3791
3646
|
"code",
|
|
3792
3647
|
{
|
|
3793
3648
|
ref,
|
|
@@ -3801,10 +3656,10 @@ var Code = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
3801
3656
|
Code.displayName = "Code";
|
|
3802
3657
|
|
|
3803
3658
|
// src/components/grid-overlay.tsx
|
|
3804
|
-
import * as
|
|
3659
|
+
import * as React55 from "react";
|
|
3805
3660
|
import { jsx as jsx68 } from "react/jsx-runtime";
|
|
3806
3661
|
var BASELINE = "var(--grid-gutter) / 2";
|
|
3807
|
-
var GridOverlay =
|
|
3662
|
+
var GridOverlay = React55.forwardRef(
|
|
3808
3663
|
({ columns, baseline = false, className, style, ...props }, ref) => {
|
|
3809
3664
|
const count = Number.isFinite(columns) ? Math.max(1, Math.floor(columns)) : 1;
|
|
3810
3665
|
return /* @__PURE__ */ jsx68(
|
|
@@ -3832,7 +3687,7 @@ var GridOverlay = React56.forwardRef(
|
|
|
3832
3687
|
GridOverlay.displayName = "GridOverlay";
|
|
3833
3688
|
|
|
3834
3689
|
// src/components/segment-chip.tsx
|
|
3835
|
-
import * as
|
|
3690
|
+
import * as React56 from "react";
|
|
3836
3691
|
import { cva as cva9 } from "class-variance-authority";
|
|
3837
3692
|
import { Link2 as Link22, KeyRound, Clock, Plus } from "lucide-react";
|
|
3838
3693
|
import { jsx as jsx69, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
@@ -3856,7 +3711,7 @@ var kindIcons = {
|
|
|
3856
3711
|
pending: Clock,
|
|
3857
3712
|
available: Plus
|
|
3858
3713
|
};
|
|
3859
|
-
var SegmentChip =
|
|
3714
|
+
var SegmentChip = React56.forwardRef(
|
|
3860
3715
|
({ kind, resource, icon, hideIcon = false, className, ...props }, ref) => {
|
|
3861
3716
|
const Icon = icon ?? kindIcons[kind ?? "granted"];
|
|
3862
3717
|
return /* @__PURE__ */ jsxs36("span", { ref, className: cn(segmentChipVariants({ kind }), className), ...props, children: [
|
|
@@ -3868,9 +3723,9 @@ var SegmentChip = React57.forwardRef(
|
|
|
3868
3723
|
SegmentChip.displayName = "SegmentChip";
|
|
3869
3724
|
|
|
3870
3725
|
// src/components/connection-card.tsx
|
|
3871
|
-
import * as
|
|
3726
|
+
import * as React57 from "react";
|
|
3872
3727
|
import { AlertTriangle, ChevronDown as ChevronDown4 } from "lucide-react";
|
|
3873
|
-
import { Fragment as
|
|
3728
|
+
import { Fragment as Fragment6, jsx as jsx70, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
3874
3729
|
var authLabels = { app: "App", oauth: "OAuth", token: "token" };
|
|
3875
3730
|
var statusMeta = {
|
|
3876
3731
|
connected: { label: "Connected", badge: "success", dot: "success" },
|
|
@@ -3880,7 +3735,7 @@ var statusMeta = {
|
|
|
3880
3735
|
function monogram(name) {
|
|
3881
3736
|
return name.replace(/[^a-zA-Z0-9 ]/g, " ").split(/\s+/).filter(Boolean).slice(0, 2).map((w) => w[0].toUpperCase()).join("");
|
|
3882
3737
|
}
|
|
3883
|
-
var ConnectionCard =
|
|
3738
|
+
var ConnectionCard = React57.forwardRef(
|
|
3884
3739
|
({
|
|
3885
3740
|
name,
|
|
3886
3741
|
scope,
|
|
@@ -3933,7 +3788,7 @@ var ConnectionCard = React58.forwardRef(
|
|
|
3933
3788
|
) : null;
|
|
3934
3789
|
const footerAction = collapsible ? action : connected && action;
|
|
3935
3790
|
const footer = grantedCount !== void 0 || footerAction ? /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-between border-t border-border-subtle px-4 py-3", children: [
|
|
3936
|
-
/* @__PURE__ */ jsx70("span", { className: "text-sm text-text-secondary", children: grantedCount !== void 0 ? /* @__PURE__ */ jsxs37(
|
|
3791
|
+
/* @__PURE__ */ jsx70("span", { className: "text-sm text-text-secondary", children: grantedCount !== void 0 ? /* @__PURE__ */ jsxs37(Fragment6, { children: [
|
|
3937
3792
|
"Granted to ",
|
|
3938
3793
|
/* @__PURE__ */ jsx70("span", { className: "font-semibold text-text-primary", children: grantedCount }),
|
|
3939
3794
|
" ",
|
|
@@ -4007,17 +3862,17 @@ var ConnectionCard = React58.forwardRef(
|
|
|
4007
3862
|
ConnectionCard.displayName = "ConnectionCard";
|
|
4008
3863
|
|
|
4009
3864
|
// src/components/request-row.tsx
|
|
4010
|
-
import * as
|
|
4011
|
-
import { Fragment as
|
|
3865
|
+
import * as React58 from "react";
|
|
3866
|
+
import { Fragment as Fragment7, jsx as jsx71, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
4012
3867
|
function monogram2(name) {
|
|
4013
3868
|
return name.replace(/[^a-zA-Z0-9 ]/g, " ").split(/\s+/).filter(Boolean).slice(0, 2).map((w) => w[0].toUpperCase()).join("");
|
|
4014
3869
|
}
|
|
4015
|
-
var RequestRow =
|
|
3870
|
+
var RequestRow = React58.forwardRef(
|
|
4016
3871
|
({ surface, name, state: state2, glyph, subtitle, grantedResource, onApprove, onDeny, onRequest, action, className, ...props }, ref) => {
|
|
4017
3872
|
let controls = action;
|
|
4018
3873
|
if (controls === void 0) {
|
|
4019
3874
|
if (surface === "org" && state2 === "pending") {
|
|
4020
|
-
controls = /* @__PURE__ */ jsxs38(
|
|
3875
|
+
controls = /* @__PURE__ */ jsxs38(Fragment7, { children: [
|
|
4021
3876
|
/* @__PURE__ */ jsx71(Button, { variant: "outline", size: "sm", onClick: onDeny, children: "Deny" }),
|
|
4022
3877
|
/* @__PURE__ */ jsx71(Button, { size: "sm", onClick: onApprove, children: "Approve" })
|
|
4023
3878
|
] });
|
|
@@ -4063,7 +3918,7 @@ var RequestRow = React59.forwardRef(
|
|
|
4063
3918
|
RequestRow.displayName = "RequestRow";
|
|
4064
3919
|
|
|
4065
3920
|
// src/components/feedback-button.tsx
|
|
4066
|
-
import * as
|
|
3921
|
+
import * as React59 from "react";
|
|
4067
3922
|
import { MessageSquare, Loader2 as Loader22, CheckCircle2 } from "lucide-react";
|
|
4068
3923
|
import { jsx as jsx72, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
4069
3924
|
var TITLE_MAX = 256;
|
|
@@ -4079,15 +3934,15 @@ var DEFAULT_LABELS = {
|
|
|
4079
3934
|
};
|
|
4080
3935
|
function FeedbackButton({ onSubmit, labels, className }) {
|
|
4081
3936
|
const l = { ...DEFAULT_LABELS, ...labels };
|
|
4082
|
-
const uid =
|
|
3937
|
+
const uid = React59.useId();
|
|
4083
3938
|
const titleId = `${uid}-title`;
|
|
4084
3939
|
const detailsId = `${uid}-details`;
|
|
4085
3940
|
const titleErrId = `${uid}-title-error`;
|
|
4086
3941
|
const detailsErrId = `${uid}-details-error`;
|
|
4087
|
-
const [open, setOpen] =
|
|
4088
|
-
const [status, setStatus] =
|
|
4089
|
-
const [title, setTitle] =
|
|
4090
|
-
const [details, setDetails] =
|
|
3942
|
+
const [open, setOpen] = React59.useState(false);
|
|
3943
|
+
const [status, setStatus] = React59.useState("idle");
|
|
3944
|
+
const [title, setTitle] = React59.useState("");
|
|
3945
|
+
const [details, setDetails] = React59.useState("");
|
|
4091
3946
|
const titleTooLong = title.length > TITLE_MAX;
|
|
4092
3947
|
const detailsTooLong = details.length > DETAILS_MAX;
|
|
4093
3948
|
const titleEmpty = title.trim().length === 0;
|
|
@@ -4311,7 +4166,7 @@ function isNotificationSettled(item) {
|
|
|
4311
4166
|
}
|
|
4312
4167
|
|
|
4313
4168
|
// src/components/notification-bell.tsx
|
|
4314
|
-
import * as
|
|
4169
|
+
import * as React60 from "react";
|
|
4315
4170
|
import { BellRing, Check as Check7, Settings } from "lucide-react";
|
|
4316
4171
|
import { jsx as jsx74, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
4317
4172
|
function MarkReadButton({ title, onClick }) {
|
|
@@ -4393,7 +4248,7 @@ function BellRow({
|
|
|
4393
4248
|
] })
|
|
4394
4249
|
] });
|
|
4395
4250
|
}
|
|
4396
|
-
var NotificationBell =
|
|
4251
|
+
var NotificationBell = React60.forwardRef(
|
|
4397
4252
|
({
|
|
4398
4253
|
items,
|
|
4399
4254
|
unreadCount,
|
|
@@ -4410,7 +4265,7 @@ var NotificationBell = React61.forwardRef(
|
|
|
4410
4265
|
className
|
|
4411
4266
|
}, ref) => {
|
|
4412
4267
|
const unread = unreadCount ?? items.filter((n) => !n.read && n.cls !== "ephemeral").length;
|
|
4413
|
-
const age =
|
|
4268
|
+
const age = React60.useCallback(
|
|
4414
4269
|
(createdAt) => formatAge ? formatAge(createdAt) : formatRelativeAge(createdAt),
|
|
4415
4270
|
[formatAge]
|
|
4416
4271
|
);
|
|
@@ -4488,7 +4343,7 @@ var NotificationBell = React61.forwardRef(
|
|
|
4488
4343
|
NotificationBell.displayName = "NotificationBell";
|
|
4489
4344
|
|
|
4490
4345
|
// src/components/notification-center.tsx
|
|
4491
|
-
import * as
|
|
4346
|
+
import * as React61 from "react";
|
|
4492
4347
|
import { ArrowUpRight, Check as Check8, Search as Search2 } from "lucide-react";
|
|
4493
4348
|
import { jsx as jsx75, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
4494
4349
|
var chipBase = "rounded-lg px-3 py-1.5 text-sm font-medium transition-colors";
|
|
@@ -4558,7 +4413,7 @@ function CenterRow({
|
|
|
4558
4413
|
] })
|
|
4559
4414
|
] });
|
|
4560
4415
|
}
|
|
4561
|
-
var NotificationCenter =
|
|
4416
|
+
var NotificationCenter = React61.forwardRef(
|
|
4562
4417
|
({
|
|
4563
4418
|
items,
|
|
4564
4419
|
title = "Notifications",
|
|
@@ -4574,16 +4429,16 @@ var NotificationCenter = React62.forwardRef(
|
|
|
4574
4429
|
formatAge,
|
|
4575
4430
|
className
|
|
4576
4431
|
}, ref) => {
|
|
4577
|
-
const [status, setStatus] =
|
|
4578
|
-
const [source, setSource] =
|
|
4579
|
-
const [product, setProduct] =
|
|
4580
|
-
const [query, setQuery] =
|
|
4581
|
-
const [limit, setLimit] =
|
|
4582
|
-
const age =
|
|
4432
|
+
const [status, setStatus] = React61.useState("all");
|
|
4433
|
+
const [source, setSource] = React61.useState("all");
|
|
4434
|
+
const [product, setProduct] = React61.useState("all");
|
|
4435
|
+
const [query, setQuery] = React61.useState("");
|
|
4436
|
+
const [limit, setLimit] = React61.useState(pageSize);
|
|
4437
|
+
const age = React61.useCallback(
|
|
4583
4438
|
(createdAt) => formatAge ? formatAge(createdAt) : formatRelativeAge(createdAt),
|
|
4584
4439
|
[formatAge]
|
|
4585
4440
|
);
|
|
4586
|
-
const sourceChips =
|
|
4441
|
+
const sourceChips = React61.useMemo(
|
|
4587
4442
|
() => sources ?? Array.from(new Set(items.map((n) => n.source))),
|
|
4588
4443
|
[sources, items]
|
|
4589
4444
|
);
|
|
@@ -4717,9 +4572,9 @@ var NotificationCenter = React62.forwardRef(
|
|
|
4717
4572
|
NotificationCenter.displayName = "NotificationCenter";
|
|
4718
4573
|
|
|
4719
4574
|
// src/components/notification-settings.tsx
|
|
4720
|
-
import * as
|
|
4575
|
+
import * as React62 from "react";
|
|
4721
4576
|
import { Moon as Moon2, Plus as Plus2, Volume2 } from "lucide-react";
|
|
4722
|
-
import { Fragment as
|
|
4577
|
+
import { Fragment as Fragment8, jsx as jsx76, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
4723
4578
|
var THRESHOLDS = [
|
|
4724
4579
|
["everything", "Everything"],
|
|
4725
4580
|
["important", "Important"],
|
|
@@ -4754,7 +4609,7 @@ function ThresholdControl({
|
|
|
4754
4609
|
}
|
|
4755
4610
|
);
|
|
4756
4611
|
}
|
|
4757
|
-
var NotificationSettings =
|
|
4612
|
+
var NotificationSettings = React62.forwardRef(
|
|
4758
4613
|
({
|
|
4759
4614
|
subscriptions,
|
|
4760
4615
|
value,
|
|
@@ -4767,7 +4622,7 @@ var NotificationSettings = React63.forwardRef(
|
|
|
4767
4622
|
pushSlot,
|
|
4768
4623
|
className
|
|
4769
4624
|
}, ref) => {
|
|
4770
|
-
const [tab, setTab] =
|
|
4625
|
+
const [tab, setTab] = React62.useState(DEFAULT_KEY);
|
|
4771
4626
|
const isDefault = tab === DEFAULT_KEY;
|
|
4772
4627
|
const defaults = value[DEFAULT_KEY] ?? { thresholds: {} };
|
|
4773
4628
|
const customized = !isDefault && Object.prototype.hasOwnProperty.call(value, tab);
|
|
@@ -4829,7 +4684,7 @@ var NotificationSettings = React63.forwardRef(
|
|
|
4829
4684
|
t.id
|
|
4830
4685
|
)) })
|
|
4831
4686
|
] }),
|
|
4832
|
-
isDefault ? /* @__PURE__ */ jsxs43(
|
|
4687
|
+
isDefault ? /* @__PURE__ */ jsxs43(Fragment8, { children: [
|
|
4833
4688
|
/* @__PURE__ */ jsx76("p", { className: "text-sm leading-relaxed text-text-secondary", children: "Your defaults, applied to every product unless you customize one. Everything addressed to you always lands in the in-app record; that cannot be turned off." }),
|
|
4834
4689
|
/* @__PURE__ */ jsxs43(Card, { className: "border-none bg-bg-elevated p-5", children: [
|
|
4835
4690
|
/* @__PURE__ */ jsx76("p", { className: "mb-1.5 text-xs font-bold uppercase tracking-wide text-text-tertiary", children: "Push to" }),
|
|
@@ -4895,7 +4750,7 @@ var NotificationSettings = React63.forwardRef(
|
|
|
4895
4750
|
]
|
|
4896
4751
|
}
|
|
4897
4752
|
)
|
|
4898
|
-
] }) : /* @__PURE__ */ jsxs43(
|
|
4753
|
+
] }) : /* @__PURE__ */ jsxs43(Fragment8, { children: [
|
|
4899
4754
|
/* @__PURE__ */ jsx76(Card, { className: "border-none bg-bg-brand-subtle p-3.5", children: /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-3", children: [
|
|
4900
4755
|
/* @__PURE__ */ jsxs43("div", { className: "min-w-0 flex-1", children: [
|
|
4901
4756
|
/* @__PURE__ */ jsxs43("p", { className: "text-sm font-semibold text-text-brand", children: [
|
|
@@ -4922,14 +4777,14 @@ var NotificationSettings = React63.forwardRef(
|
|
|
4922
4777
|
NotificationSettings.displayName = "NotificationSettings";
|
|
4923
4778
|
|
|
4924
4779
|
// src/components/notification-toast.tsx
|
|
4925
|
-
import * as
|
|
4780
|
+
import * as React63 from "react";
|
|
4926
4781
|
import { X as X3 } from "lucide-react";
|
|
4927
4782
|
import { jsx as jsx77, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
4928
4783
|
var chipBase2 = "rounded-lg px-2.5 py-1 text-sm font-medium transition-colors";
|
|
4929
4784
|
var chipPrimary = "bg-bg-brand text-text-on-brand hover:bg-bg-brand-hover";
|
|
4930
4785
|
var chipDestructive = "bg-bg-elevated text-text-danger hover:bg-bg-surface";
|
|
4931
4786
|
var linkAction = "text-sm font-semibold text-text-brand transition-colors hover:text-text-primary";
|
|
4932
|
-
var NotificationToast =
|
|
4787
|
+
var NotificationToast = React63.forwardRef(
|
|
4933
4788
|
({
|
|
4934
4789
|
item,
|
|
4935
4790
|
showSource = true,
|
|
@@ -4998,7 +4853,7 @@ var NotificationToast = React64.forwardRef(
|
|
|
4998
4853
|
NotificationToast.displayName = "NotificationToast";
|
|
4999
4854
|
|
|
5000
4855
|
// src/components/notification-toaster.tsx
|
|
5001
|
-
import * as
|
|
4856
|
+
import * as React64 from "react";
|
|
5002
4857
|
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
5003
4858
|
var positions = {
|
|
5004
4859
|
"bottom-right": "bottom-6 right-6 flex-col",
|
|
@@ -5006,7 +4861,7 @@ var positions = {
|
|
|
5006
4861
|
"top-right": "top-6 right-6 flex-col-reverse",
|
|
5007
4862
|
"top-left": "top-6 left-6 flex-col-reverse"
|
|
5008
4863
|
};
|
|
5009
|
-
var NotificationToaster =
|
|
4864
|
+
var NotificationToaster = React64.forwardRef(
|
|
5010
4865
|
({
|
|
5011
4866
|
items,
|
|
5012
4867
|
dwell,
|
|
@@ -5020,15 +4875,15 @@ var NotificationToaster = React65.forwardRef(
|
|
|
5020
4875
|
className
|
|
5021
4876
|
}, ref) => {
|
|
5022
4877
|
const shown = items.slice(0, max);
|
|
5023
|
-
const [paused, setPaused] =
|
|
5024
|
-
const onDismissRef =
|
|
4878
|
+
const [paused, setPaused] = React64.useState(false);
|
|
4879
|
+
const onDismissRef = React64.useRef(onDismiss);
|
|
5025
4880
|
onDismissRef.current = onDismiss;
|
|
5026
4881
|
const fyiDwell = dwell?.fyi;
|
|
5027
4882
|
const importantDwell = dwell?.important;
|
|
5028
4883
|
const criticalDwell = dwell?.critical;
|
|
5029
|
-
const remaining =
|
|
4884
|
+
const remaining = React64.useRef(/* @__PURE__ */ new Map());
|
|
5030
4885
|
const liveIds = shown.map((item) => `${item.id}:${item.severity}`).join(" ");
|
|
5031
|
-
|
|
4886
|
+
React64.useEffect(() => {
|
|
5032
4887
|
const owedById = remaining.current;
|
|
5033
4888
|
const dwellSeconds = {
|
|
5034
4889
|
fyi: fyiDwell ?? TOAST_DWELL.fyi,
|
|
@@ -5353,7 +5208,15 @@ var COUNTRY_OPTIONS = [
|
|
|
5353
5208
|
];
|
|
5354
5209
|
|
|
5355
5210
|
// src/components/organization-onboarding-form.tsx
|
|
5356
|
-
import * as
|
|
5211
|
+
import * as React65 from "react";
|
|
5212
|
+
|
|
5213
|
+
// src/lib/auth-surface.ts
|
|
5214
|
+
var AUTH_GLOW_BG = "radial-gradient(560px 320px at 28% 16%, var(--auth-glow-a), transparent 68%),radial-gradient(520px 340px at 78% 90%, var(--auth-glow-b), transparent 66%),var(--bg-sunken)";
|
|
5215
|
+
var AUTH_FILLED_BUTTON = "flex h-[46px] w-full items-center justify-center gap-[11px] rounded-[10px] border border-transparent bg-text-primary px-[14px] text-[14.5px] font-semibold tracking-[-0.005em] text-bg-sunken transition-opacity hover:opacity-[0.92] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-text-brand active:translate-y-px disabled:cursor-not-allowed disabled:opacity-[0.55]";
|
|
5216
|
+
var AUTH_QUIET_BUTTON = "flex h-[46px] w-full items-center justify-center gap-[11px] rounded-[10px] border border-border-default bg-transparent px-[14px] text-[14.5px] font-medium tracking-[-0.005em] text-text-secondary transition-colors hover:bg-bg-secondary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-text-brand";
|
|
5217
|
+
var AUTH_BUTTON_SHADOW = "var(--auth-btn-shadow)";
|
|
5218
|
+
|
|
5219
|
+
// src/components/organization-onboarding-form.tsx
|
|
5357
5220
|
import { jsx as jsx79, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
5358
5221
|
var CONTROLLER_SHARE_PCT = 50;
|
|
5359
5222
|
var MAX_BENEFICIAL_OWNERS = 50;
|
|
@@ -5385,21 +5248,21 @@ function OrganizationOnboardingForm({
|
|
|
5385
5248
|
onCancel,
|
|
5386
5249
|
className
|
|
5387
5250
|
}) {
|
|
5388
|
-
const [name, setName] =
|
|
5389
|
-
const [legalName, setLegalName] =
|
|
5390
|
-
const [ownerName, setOwnerName] =
|
|
5391
|
-
const [countryOfIncorporation, setCountryOfIncorporation] =
|
|
5251
|
+
const [name, setName] = React65.useState(defaultValues?.name ?? "");
|
|
5252
|
+
const [legalName, setLegalName] = React65.useState(defaultValues?.legal_name ?? "");
|
|
5253
|
+
const [ownerName, setOwnerName] = React65.useState(defaultValues?.owner_name ?? "");
|
|
5254
|
+
const [countryOfIncorporation, setCountryOfIncorporation] = React65.useState(
|
|
5392
5255
|
defaultValues?.country_of_incorporation ?? ""
|
|
5393
5256
|
);
|
|
5394
|
-
const [residencyCountry, setResidencyCountry] =
|
|
5257
|
+
const [residencyCountry, setResidencyCountry] = React65.useState(
|
|
5395
5258
|
defaultValues?.residency_country ?? ""
|
|
5396
5259
|
);
|
|
5397
|
-
const [owners, setOwners] =
|
|
5260
|
+
const [owners, setOwners] = React65.useState(
|
|
5398
5261
|
() => initialRows(defaultValues?.beneficial_owners)
|
|
5399
5262
|
);
|
|
5400
|
-
const [ownershipConfirmed, setOwnershipConfirmed] =
|
|
5401
|
-
const nextKeyRef =
|
|
5402
|
-
const submittingRef =
|
|
5263
|
+
const [ownershipConfirmed, setOwnershipConfirmed] = React65.useState(false);
|
|
5264
|
+
const nextKeyRef = React65.useRef(owners.length);
|
|
5265
|
+
const submittingRef = React65.useRef(false);
|
|
5403
5266
|
const trimmed = name.trim();
|
|
5404
5267
|
const filledOwners = owners.filter((row) => !isRowBlank(row));
|
|
5405
5268
|
const ownerShares = filledOwners.map((row) => parseShare(row.share));
|
|
@@ -5444,7 +5307,7 @@ function OrganizationOnboardingForm({
|
|
|
5444
5307
|
...needsOwnershipConfirmation ? { ownership_confirmed: ownershipConfirmed } : {}
|
|
5445
5308
|
});
|
|
5446
5309
|
};
|
|
5447
|
-
|
|
5310
|
+
React65.useEffect(() => {
|
|
5448
5311
|
submittingRef.current = false;
|
|
5449
5312
|
}, [
|
|
5450
5313
|
name,
|
|
@@ -5768,7 +5631,7 @@ function OrganizationCreateScreen({
|
|
|
5768
5631
|
}
|
|
5769
5632
|
|
|
5770
5633
|
// src/components/product-create-screen.tsx
|
|
5771
|
-
import * as
|
|
5634
|
+
import * as React66 from "react";
|
|
5772
5635
|
import { jsx as jsx82, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
5773
5636
|
var productRow = "flex w-full items-center justify-between rounded-md border border-border-default bg-bg-primary px-3 py-2 text-left text-sm text-text-primary";
|
|
5774
5637
|
function ProductCreateScreen({
|
|
@@ -5795,11 +5658,11 @@ function ProductCreateScreen({
|
|
|
5795
5658
|
footer,
|
|
5796
5659
|
...props
|
|
5797
5660
|
}) {
|
|
5798
|
-
const [name, setName] =
|
|
5799
|
-
const submittingRef =
|
|
5661
|
+
const [name, setName] = React66.useState(defaultName);
|
|
5662
|
+
const submittingRef = React66.useRef(false);
|
|
5800
5663
|
const trimmed = name.trim();
|
|
5801
5664
|
const canSubmit = trimmed !== "" && !submitting;
|
|
5802
|
-
|
|
5665
|
+
React66.useEffect(() => {
|
|
5803
5666
|
submittingRef.current = false;
|
|
5804
5667
|
}, [name, submitting, serverError]);
|
|
5805
5668
|
const handleSubmit = (event) => {
|
|
@@ -6086,6 +5949,7 @@ export {
|
|
|
6086
5949
|
OrgProductSwitcher,
|
|
6087
5950
|
OrganizationCreateScreen,
|
|
6088
5951
|
OrganizationOnboardingForm,
|
|
5952
|
+
PageHeader,
|
|
6089
5953
|
Pagination,
|
|
6090
5954
|
PaginationContent,
|
|
6091
5955
|
PaginationEllipsis,
|
|
@@ -6122,7 +5986,6 @@ export {
|
|
|
6122
5986
|
SidebarNav,
|
|
6123
5987
|
SidebarNavLink,
|
|
6124
5988
|
SidebarProductHeader,
|
|
6125
|
-
SignInScreen,
|
|
6126
5989
|
Skeleton,
|
|
6127
5990
|
Slider,
|
|
6128
5991
|
StatCard,
|