@evinvest/uikit 0.10.0 → 0.11.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/README.md +37 -7
- package/dist/index.d.ts +111 -67
- package/dist/index.js +444 -403
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/styles/motion.css +172 -0
- package/styles/tokens-legacy.css +66 -0
- package/styles/tokens.css +134 -271
package/dist/index.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
import { clsx } from "clsx";
|
|
5
5
|
import { twMerge } from "tailwind-merge";
|
|
6
6
|
function cn(...inputs) {
|
|
7
|
+
if (inputs.length === 2 && typeof inputs[0] === "string" && !inputs[1]) {
|
|
8
|
+
return inputs[0];
|
|
9
|
+
}
|
|
7
10
|
return twMerge(clsx(inputs));
|
|
8
11
|
}
|
|
9
12
|
|
|
@@ -330,11 +333,11 @@ import "react";
|
|
|
330
333
|
// src/generated/alert.ts
|
|
331
334
|
var ALERT_BASE = "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current";
|
|
332
335
|
var alertVariants = {
|
|
333
|
-
"default": "bg-card text-
|
|
334
|
-
"destructive": "text-
|
|
336
|
+
"default": "bg-card text-ink",
|
|
337
|
+
"destructive": "text-accent-error bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-accent-error/90"
|
|
335
338
|
};
|
|
336
339
|
var ALERT_TITLE = "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight";
|
|
337
|
-
var ALERT_DESCRIPTION = "text-
|
|
340
|
+
var ALERT_DESCRIPTION = "text-ink-soft col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed";
|
|
338
341
|
|
|
339
342
|
// src/components/alert.tsx
|
|
340
343
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -431,13 +434,13 @@ function AvatarFallback({
|
|
|
431
434
|
import "react";
|
|
432
435
|
|
|
433
436
|
// src/generated/badge.ts
|
|
434
|
-
var BADGE_BASE = "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 gap-1 overflow-hidden [&>svg]:size-3 [&>svg]:pointer-events-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-
|
|
437
|
+
var BADGE_BASE = "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 gap-1 overflow-hidden [&>svg]:size-3 [&>svg]:pointer-events-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error";
|
|
435
438
|
var badgeVariants = {
|
|
436
|
-
"default": "border-transparent bg-primary text-primary
|
|
437
|
-
"secondary": "border-transparent bg-secondary text-secondary
|
|
438
|
-
"destructive": "border-transparent bg-
|
|
439
|
-
"outline": "text-
|
|
440
|
-
"success": "border-transparent bg-
|
|
439
|
+
"default": "border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90",
|
|
440
|
+
"secondary": "border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90",
|
|
441
|
+
"destructive": "border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20",
|
|
442
|
+
"outline": "text-ink [a&]:hover:bg-hover [a&]:hover:text-ink",
|
|
443
|
+
"success": "border-transparent bg-positive/20 text-positive"
|
|
441
444
|
};
|
|
442
445
|
|
|
443
446
|
// src/components/badge.tsx
|
|
@@ -463,10 +466,10 @@ function Badge({
|
|
|
463
466
|
import "react";
|
|
464
467
|
|
|
465
468
|
// src/generated/breadcrumb.ts
|
|
466
|
-
var BREADCRUMB_LIST = "text-
|
|
469
|
+
var BREADCRUMB_LIST = "text-ink-soft flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5";
|
|
467
470
|
var BREADCRUMB_ITEM = "inline-flex items-center gap-1.5";
|
|
468
|
-
var BREADCRUMB_LINK = "hover:text-
|
|
469
|
-
var BREADCRUMB_PAGE = "text-
|
|
471
|
+
var BREADCRUMB_LINK = "hover:text-ink transition-colors";
|
|
472
|
+
var BREADCRUMB_PAGE = "text-ink font-normal";
|
|
470
473
|
var BREADCRUMB_SEPARATOR = "[&>svg]:size-3.5";
|
|
471
474
|
var BREADCRUMB_ELLIPSIS = "flex size-9 items-center justify-center";
|
|
472
475
|
|
|
@@ -587,22 +590,26 @@ function BreadcrumbEllipsis({
|
|
|
587
590
|
import "react";
|
|
588
591
|
|
|
589
592
|
// src/generated/button.ts
|
|
590
|
-
var BUTTON_BASE = "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-
|
|
593
|
+
var BUTTON_BASE = "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[var(--control-radius)] text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error";
|
|
591
594
|
var buttonVariantClasses = {
|
|
592
|
-
"default": "bg-primary text-primary
|
|
593
|
-
"secondary": "bg-secondary text-secondary
|
|
594
|
-
"outline": "border bg-transparent shadow-xs hover:bg-
|
|
595
|
-
"ghost": "hover:bg-
|
|
596
|
-
"destructive": "bg-
|
|
595
|
+
"default": "bg-primary text-on-primary hover:bg-primary/90",
|
|
596
|
+
"secondary": "bg-secondary text-on-secondary hover:bg-secondary/80",
|
|
597
|
+
"outline": "border bg-transparent shadow-xs hover:bg-hover hover:text-ink",
|
|
598
|
+
"ghost": "hover:bg-hover hover:text-ink",
|
|
599
|
+
"destructive": "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20",
|
|
597
600
|
"link": "text-primary underline-offset-4 hover:underline"
|
|
598
601
|
};
|
|
599
602
|
var buttonSizeClasses = {
|
|
600
|
-
"default": "h-9 px-4 py-
|
|
601
|
-
"
|
|
602
|
-
"
|
|
603
|
+
"default": "h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3",
|
|
604
|
+
"xs": "h-7 gap-1 px-2 text-xs has-[>svg]:px-1.5",
|
|
605
|
+
"sm": "h-8 gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
606
|
+
"lg": "h-10 px-6 has-[>svg]:px-4",
|
|
607
|
+
"xl": "px-[var(--control-px)] py-[var(--control-py)] text-[length:var(--control-text)]",
|
|
603
608
|
"icon": "h-9 aspect-square px-0",
|
|
609
|
+
"icon-xs": "h-7 aspect-square px-0",
|
|
604
610
|
"icon-sm": "h-8 aspect-square px-0",
|
|
605
|
-
"icon-lg": "h-10 aspect-square px-0"
|
|
611
|
+
"icon-lg": "h-10 aspect-square px-0",
|
|
612
|
+
"icon-xl": "aspect-square p-[var(--control-py)]"
|
|
606
613
|
};
|
|
607
614
|
|
|
608
615
|
// src/components/button.tsx
|
|
@@ -619,13 +626,15 @@ function Button({
|
|
|
619
626
|
variant = "default",
|
|
620
627
|
size = "default",
|
|
621
628
|
asChild = false,
|
|
629
|
+
href,
|
|
622
630
|
...props
|
|
623
631
|
}) {
|
|
624
|
-
const Comp = asChild ? Slot : "button";
|
|
632
|
+
const Comp = asChild ? Slot : href !== void 0 ? "a" : "button";
|
|
625
633
|
return /* @__PURE__ */ jsx5(
|
|
626
634
|
Comp,
|
|
627
635
|
{
|
|
628
636
|
"data-slot": "button",
|
|
637
|
+
href,
|
|
629
638
|
className: cn(buttonVariants({ variant, size }), className),
|
|
630
639
|
...props
|
|
631
640
|
}
|
|
@@ -696,10 +705,10 @@ function ButtonGroupSeparator({
|
|
|
696
705
|
import "react";
|
|
697
706
|
|
|
698
707
|
// src/generated/card.ts
|
|
699
|
-
var CARD = "bg-card text-
|
|
708
|
+
var CARD = "bg-card text-ink flex flex-col gap-6 rounded-xl border py-6 shadow-sm";
|
|
700
709
|
var CARD_HEADER = "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6";
|
|
701
710
|
var CARD_TITLE = "leading-none font-semibold";
|
|
702
|
-
var CARD_DESCRIPTION = "text-
|
|
711
|
+
var CARD_DESCRIPTION = "text-ink-soft text-sm";
|
|
703
712
|
var CARD_ACTION = "col-start-2 row-span-2 row-start-1 self-start justify-self-end";
|
|
704
713
|
var CARD_CONTENT = "px-6";
|
|
705
714
|
var CARD_FOOTER = "flex items-center px-6 [.border-t]:pt-6";
|
|
@@ -792,10 +801,10 @@ var EMPTY_HEADER = "flex max-w-sm flex-col items-center gap-2 text-center";
|
|
|
792
801
|
var EMPTY_MEDIA_BASE = "flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0";
|
|
793
802
|
var emptyMediaVariants = {
|
|
794
803
|
"default": "bg-transparent",
|
|
795
|
-
"icon": "bg-muted text-
|
|
804
|
+
"icon": "bg-muted text-ink flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6"
|
|
796
805
|
};
|
|
797
806
|
var EMPTY_TITLE = "text-lg font-medium tracking-tight";
|
|
798
|
-
var EMPTY_DESCRIPTION = "text-
|
|
807
|
+
var EMPTY_DESCRIPTION = "text-ink-soft [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4";
|
|
799
808
|
var EMPTY_CONTENT = "flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance";
|
|
800
809
|
|
|
801
810
|
// src/components/empty.tsx
|
|
@@ -887,7 +896,7 @@ function Label({ className, ...props }) {
|
|
|
887
896
|
}
|
|
888
897
|
|
|
889
898
|
// src/generated/field.ts
|
|
890
|
-
var FIELD_BASE = "group/field flex w-full gap-3 data-[invalid=true]:text-
|
|
899
|
+
var FIELD_BASE = "group/field flex w-full gap-3 data-[invalid=true]:text-accent-error";
|
|
891
900
|
var fieldOrientation = {
|
|
892
901
|
"vertical": "flex-col [&>*]:w-full [&>.sr-only]:w-auto",
|
|
893
902
|
"horizontal": "flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
@@ -899,11 +908,11 @@ var FIELD_GROUP = "group/field-group @container/field-group flex w-full flex-col
|
|
|
899
908
|
var FIELD_CONTENT = "group/field-content flex flex-1 flex-col gap-1.5 leading-snug";
|
|
900
909
|
var FIELD_LABEL = "group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4 has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary";
|
|
901
910
|
var FIELD_TITLE = "flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50";
|
|
902
|
-
var FIELD_DESCRIPTION = "text-
|
|
911
|
+
var FIELD_DESCRIPTION = "text-ink-soft text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5 [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4";
|
|
903
912
|
var FIELD_SEPARATOR = "relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2";
|
|
904
913
|
var FIELD_SEPARATOR_LINE = "absolute inset-0 top-1/2 shrink-0 bg-border h-px w-full";
|
|
905
|
-
var FIELD_SEPARATOR_CONTENT = "bg-background text-
|
|
906
|
-
var FIELD_ERROR = "text-
|
|
914
|
+
var FIELD_SEPARATOR_CONTENT = "bg-background text-ink-soft relative mx-auto block w-fit px-2";
|
|
915
|
+
var FIELD_ERROR = "text-accent-error text-sm font-normal";
|
|
907
916
|
|
|
908
917
|
// src/components/field.tsx
|
|
909
918
|
import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
@@ -1062,7 +1071,7 @@ function FieldError({
|
|
|
1062
1071
|
// src/components/section-descriptor.tsx
|
|
1063
1072
|
import "react";
|
|
1064
1073
|
import { Fragment, jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1065
|
-
var SECTION_DESCRIPTOR = "flex flex-col gap-2 rounded-lg border bg-
|
|
1074
|
+
var SECTION_DESCRIPTOR = "flex flex-col gap-2 rounded-lg border bg-hover p-4 text-left";
|
|
1066
1075
|
function InfoGlyph({ className }) {
|
|
1067
1076
|
return /* @__PURE__ */ jsxs3(
|
|
1068
1077
|
"svg",
|
|
@@ -1093,7 +1102,7 @@ function SectionDescriptor({
|
|
|
1093
1102
|
...props
|
|
1094
1103
|
}) {
|
|
1095
1104
|
const titleContent = /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
1096
|
-
icon && /* @__PURE__ */ jsx11(InfoGlyph, { className: "text-
|
|
1105
|
+
icon && /* @__PURE__ */ jsx11(InfoGlyph, { className: "text-accent-debug" }),
|
|
1097
1106
|
/* @__PURE__ */ jsx11("span", { children: title })
|
|
1098
1107
|
] });
|
|
1099
1108
|
if (collapsible) {
|
|
@@ -1144,7 +1153,7 @@ function SectionDescriptor({
|
|
|
1144
1153
|
}
|
|
1145
1154
|
|
|
1146
1155
|
// src/components/footer.tsx
|
|
1147
|
-
import * as
|
|
1156
|
+
import * as React23 from "react";
|
|
1148
1157
|
|
|
1149
1158
|
// src/components/container.tsx
|
|
1150
1159
|
import "react";
|
|
@@ -1165,73 +1174,23 @@ function Container({ className, ...props }) {
|
|
|
1165
1174
|
);
|
|
1166
1175
|
}
|
|
1167
1176
|
|
|
1168
|
-
// src/components/logo.tsx
|
|
1169
|
-
import "react";
|
|
1170
|
-
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1171
|
-
var LOGO_DATA_URI = "data:image/svg+xml,%3Csvg width=%22387%22 height=%22335%22 viewBox=%220 0 387 335%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M0.120605 130.841L140.84 112.176V61.7481L156.149 65.3501V104.786L163.641 103.662V66.6599L178.625 69.607V102.353L185.791 101.043V61.0932L156.475 48.3224L119.992 60.4383V101.043L0.120605 130.841Z%22 fill=%22black%22/%3E%3Cpath d=%22M213.479 112.176L237.584 114.469L237.258 0.841309L202.078 19.8338V72.8816L213.479 78.1209V112.176Z%22 fill=%22black%22/%3E%3Cpath d=%22M240.841 0.841309L276.347 20.1612V117.743L260.711 115.778V26.3829L240.841 15.9043V0.841309Z%22 fill=%22black%22/%3E%3Cpath d=%22M284.816 118.725L386.121 127.239L304.36 109.884V74.1914L284.816 63.7128V118.725Z%22 fill=%22black%22/%3E%3Cpath d=%22M0.120605 130.841L140.84 112.176V61.7481L156.149 65.3501V104.786L163.641 103.662V66.6599L178.625 69.607V102.353L185.791 101.043V61.0932L156.475 48.3224L119.992 60.4383V101.043L0.120605 130.841Z%22 stroke=%22black%22/%3E%3Cpath d=%22M213.479 112.176L237.584 114.469L237.258 0.841309L202.078 19.8338V72.8816L213.479 78.1209V112.176Z%22 stroke=%22black%22/%3E%3Cpath d=%22M240.841 0.841309L276.347 20.1612V117.743L260.711 115.778V26.3829L240.841 15.9043V0.841309Z%22 stroke=%22black%22/%3E%3Cpath d=%22M284.816 118.725L386.121 127.239L304.36 109.884V74.1914L284.816 63.7128V118.725Z%22 stroke=%22black%22/%3E%3Cpath d=%22M25.1206 333.987H31.6206V306.987H25.1206V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M92.6206 333.987H100.121L110.621 307.487H104.621L96.6206 325.987L88.6206 307.487H81.6206L92.6206 333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M44.6206 333.987H51.6206V318.987L65.1206 333.987H71.6206V307.487H65.1206V322.987L50.6206 307.487H44.6206V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M120.621 333.987H142.121V329.487H127.621V322.987H140.121V318.487H127.621V312.487H142.121V307.487H120.621V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M152.121 331.987L153.621 327.987C165.659 329.418 167.304 330.676 168.121 326.487C168.937 322.297 152.785 322.989 152.621 313.987C152.456 304.984 165.853 306.198 174.121 308.487L173.121 312.487C162.364 310.724 159.121 310.487 159.121 313.987C159.121 317.487 175.621 318.748 175.621 326.487C175.621 334.225 167.278 335.691 152.121 331.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M192.621 333.987H199.621V312.487H208.621V307.487H183.621V312.487H192.621V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M219.121 333.987H225.121V318.987L233.621 329.987H237.621L245.121 318.987V333.987L252.121 333.987V307.487H245.121L235.621 322.487L225.121 307.487H219.121V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M265.121 333.987H286.621V329.487H272.121V322.987H284.621V318.487H272.121V312.487H286.621V307.487H265.121V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M298.621 333.987H305.621V318.987L319.121 333.987H325.621V307.487H319.121V322.987L304.621 307.487H298.621V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M345.121 333.987H352.121V312.487H361.121V307.487H336.121V312.487H345.121V333.987Z%22 fill=%22black%22/%3E%3Cpath d=%22M25.1206 333.987H31.6206V306.987H25.1206V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M92.6206 333.987H100.121L110.621 307.487H104.621L96.6206 325.987L88.6206 307.487H81.6206L92.6206 333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M44.6206 333.987H51.6206V318.987L65.1206 333.987H71.6206V307.487H65.1206V322.987L50.6206 307.487H44.6206V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M120.621 333.987H142.121V329.487H127.621V322.987H140.121V318.487H127.621V312.487H142.121V307.487H120.621V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M152.121 331.987L153.621 327.987C165.659 329.418 167.304 330.676 168.121 326.487C168.937 322.297 152.785 322.989 152.621 313.987C152.456 304.984 165.853 306.198 174.121 308.487L173.121 312.487C162.364 310.724 159.121 310.487 159.121 313.987C159.121 317.487 175.621 318.748 175.621 326.487C175.621 334.225 167.278 335.691 152.121 331.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M192.621 333.987H199.621V312.487H208.621V307.487H183.621V312.487H192.621V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M219.121 333.987H225.121V318.987L233.621 329.987H237.621L245.121 318.987V333.987L252.121 333.987V307.487H245.121L235.621 322.487L225.121 307.487H219.121V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M265.121 333.987H286.621V329.487H272.121V322.987H284.621V318.487H272.121V312.487H286.621V307.487H265.121V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M298.621 333.987H305.621V318.987L319.121 333.987H325.621V307.487H319.121V322.987L304.621 307.487H298.621V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M345.121 333.987H352.121V312.487H361.121V307.487H336.121V312.487H345.121V333.987Z%22 stroke=%22black%22/%3E%3Cpath d=%22M232.621 276.02L166.121 145.841H204.905L255.905 246.341L306.905 145.841H345.905L279.405 276.02H232.621Z%22 fill=%22black%22 stroke=%22black%22/%3E%3Cpath d=%22M41.1206 276.02H208.336L195.73 251.341H74.8362V220.341H179.894L168.144 197.341H74.8362V170.841L154.352 170.341L141.836 145.841H41.1206V276.02Z%22 fill=%22black%22 stroke=%22black%22/%3E%3C/svg%3E";
|
|
1172
|
-
var LOGO_BG = "oklch(0.256 0.1 260)";
|
|
1173
|
-
function Logo({ className, withBackground = false, src }) {
|
|
1174
|
-
const maskUrl = `url("${src ?? LOGO_DATA_URI}")`;
|
|
1175
|
-
const maskStyle = {
|
|
1176
|
-
backgroundColor: "currentColor",
|
|
1177
|
-
maskImage: maskUrl,
|
|
1178
|
-
WebkitMaskImage: maskUrl,
|
|
1179
|
-
maskRepeat: "no-repeat",
|
|
1180
|
-
WebkitMaskRepeat: "no-repeat",
|
|
1181
|
-
maskPosition: "center",
|
|
1182
|
-
WebkitMaskPosition: "center",
|
|
1183
|
-
maskSize: "contain",
|
|
1184
|
-
WebkitMaskSize: "contain"
|
|
1185
|
-
};
|
|
1186
|
-
const mark = /* @__PURE__ */ jsx13(
|
|
1187
|
-
"span",
|
|
1188
|
-
{
|
|
1189
|
-
"data-slot": "logo",
|
|
1190
|
-
role: "img",
|
|
1191
|
-
"aria-label": "EV Investment",
|
|
1192
|
-
style: maskStyle,
|
|
1193
|
-
className: cn("inline-block", withBackground ? "w-3/5 h-3/5" : className)
|
|
1194
|
-
}
|
|
1195
|
-
);
|
|
1196
|
-
if (!withBackground) return mark;
|
|
1197
|
-
return /* @__PURE__ */ jsx13(
|
|
1198
|
-
"span",
|
|
1199
|
-
{
|
|
1200
|
-
"data-slot": "logo-background",
|
|
1201
|
-
className: cn("inline-flex items-center justify-center", className),
|
|
1202
|
-
style: { backgroundColor: LOGO_BG },
|
|
1203
|
-
children: mark
|
|
1204
|
-
}
|
|
1205
|
-
);
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
1177
|
// src/components/footer.tsx
|
|
1209
|
-
import { Fragment as Fragment3, jsx as
|
|
1210
|
-
var DEFAULT_DESCRIPTION = "EV Investment is a registered real estate advisory and investment management fund specializing in premium coastal developments in Quy Nhon, Binh Dinh province, Vietnam.";
|
|
1211
|
-
var DEFAULT_OFFICES = [
|
|
1212
|
-
{
|
|
1213
|
-
name: "Quy Nhon Head Office",
|
|
1214
|
-
address: "102 An Duong Vuong St, Nguyen Van Cu Ward, Quy Nhon City, Vietnam"
|
|
1215
|
-
},
|
|
1216
|
-
{
|
|
1217
|
-
name: "Ho Chi Minh Representative",
|
|
1218
|
-
address: "Deutsches Haus, 33 Le Duan Blvd, District 1, Ho Chi Minh City, Vietnam"
|
|
1219
|
-
}
|
|
1220
|
-
];
|
|
1221
|
-
var DEFAULT_LEGAL_LINKS = [
|
|
1222
|
-
{ label: "Privacy Policy", href: "#hero" },
|
|
1223
|
-
{ label: "Terms of Service", href: "#hero" }
|
|
1224
|
-
];
|
|
1178
|
+
import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1225
1179
|
function Footer({
|
|
1180
|
+
brand,
|
|
1181
|
+
description,
|
|
1182
|
+
copyright,
|
|
1226
1183
|
nav,
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1184
|
+
mark,
|
|
1185
|
+
tagline,
|
|
1186
|
+
offices = [],
|
|
1187
|
+
officesHeading = "Offices",
|
|
1188
|
+
legalLinks = [],
|
|
1230
1189
|
newsletter,
|
|
1231
|
-
|
|
1190
|
+
newsletterHeading = "Newsletter",
|
|
1191
|
+
newsletterBlurb = "",
|
|
1232
1192
|
version,
|
|
1233
1193
|
commitHref,
|
|
1234
|
-
tagline = "Quy Nhon Fund",
|
|
1235
1194
|
linkComponent,
|
|
1236
1195
|
children
|
|
1237
1196
|
}) {
|
|
@@ -1240,23 +1199,23 @@ function Footer({
|
|
|
1240
1199
|
"footer",
|
|
1241
1200
|
{
|
|
1242
1201
|
"data-slot": "footer",
|
|
1243
|
-
className: "bg-
|
|
1202
|
+
className: "bg-background border-t border-ink/10 py-16",
|
|
1244
1203
|
children: [
|
|
1245
1204
|
children,
|
|
1246
1205
|
/* @__PURE__ */ jsxs4(Container, { children: [
|
|
1247
1206
|
/* @__PURE__ */ jsxs4("div", { className: "grid grid-cols-2 gap-x-8 gap-y-8 lg:grid-cols-12 mb-12", children: [
|
|
1248
1207
|
/* @__PURE__ */ jsxs4("div", { className: "col-span-2 lg:col-span-3", children: [
|
|
1249
1208
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3 mb-6", children: [
|
|
1250
|
-
|
|
1209
|
+
mark,
|
|
1251
1210
|
/* @__PURE__ */ jsxs4("div", { className: "flex flex-col", children: [
|
|
1252
|
-
/* @__PURE__ */
|
|
1253
|
-
/* @__PURE__ */
|
|
1211
|
+
/* @__PURE__ */ jsx13("span", { className: "font-serif font-bold text-base tracking-wider text-ink", children: brand }),
|
|
1212
|
+
tagline && /* @__PURE__ */ jsx13("span", { className: "text-[8px] font-mono tracking-[0.3em] text-accent-debug uppercase", children: tagline })
|
|
1254
1213
|
] })
|
|
1255
1214
|
] }),
|
|
1256
|
-
/* @__PURE__ */
|
|
1257
|
-
/* @__PURE__ */
|
|
1258
|
-
i > 0 && /* @__PURE__ */
|
|
1259
|
-
/* @__PURE__ */
|
|
1215
|
+
/* @__PURE__ */ jsx13("p", { className: "text-ink/40 text-xs font-light max-w-sm leading-relaxed mb-6", children: description }),
|
|
1216
|
+
/* @__PURE__ */ jsx13("div", { className: "flex gap-4 text-xs font-mono text-accent-debug", children: legalLinks.map((link, i) => /* @__PURE__ */ jsxs4(React23.Fragment, { children: [
|
|
1217
|
+
i > 0 && /* @__PURE__ */ jsx13("span", { className: "text-ink/20", children: "|" }),
|
|
1218
|
+
/* @__PURE__ */ jsx13(L, { href: link.href, className: "hover:underline", children: link.label })
|
|
1260
1219
|
] }, link.label)) })
|
|
1261
1220
|
] }),
|
|
1262
1221
|
nav.map((group) => /* @__PURE__ */ jsxs4(
|
|
@@ -1265,12 +1224,12 @@ function Footer({
|
|
|
1265
1224
|
"aria-label": `Footer ${group.heading} links`,
|
|
1266
1225
|
className: "lg:col-span-2",
|
|
1267
1226
|
children: [
|
|
1268
|
-
/* @__PURE__ */
|
|
1269
|
-
/* @__PURE__ */
|
|
1227
|
+
/* @__PURE__ */ jsx13("h4", { className: "font-mono text-xs text-ink uppercase tracking-widest mb-6", children: group.heading }),
|
|
1228
|
+
/* @__PURE__ */ jsx13("ul", { className: "space-y-3", children: group.links.map((link) => /* @__PURE__ */ jsx13("li", { children: /* @__PURE__ */ jsx13(
|
|
1270
1229
|
L,
|
|
1271
1230
|
{
|
|
1272
1231
|
href: link.href,
|
|
1273
|
-
className: "text-xs font-light text-
|
|
1232
|
+
className: "text-xs font-light text-ink/70 hover:text-accent-debug transition-colors",
|
|
1274
1233
|
children: link.label
|
|
1275
1234
|
}
|
|
1276
1235
|
) }, link.href)) })
|
|
@@ -1278,24 +1237,24 @@ function Footer({
|
|
|
1278
1237
|
},
|
|
1279
1238
|
group.heading
|
|
1280
1239
|
)),
|
|
1281
|
-
/* @__PURE__ */ jsxs4("div", { className: "col-span-2 lg:col-span-3", children: [
|
|
1282
|
-
/* @__PURE__ */
|
|
1283
|
-
/* @__PURE__ */
|
|
1284
|
-
/* @__PURE__ */
|
|
1240
|
+
offices.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "col-span-2 lg:col-span-3", children: [
|
|
1241
|
+
/* @__PURE__ */ jsx13("h4", { className: "font-mono text-xs text-ink uppercase tracking-widest mb-6", children: officesHeading }),
|
|
1242
|
+
/* @__PURE__ */ jsx13("ul", { className: "space-y-4 text-xs text-ink/70 font-light leading-relaxed", children: offices.map((office) => /* @__PURE__ */ jsxs4("li", { children: [
|
|
1243
|
+
/* @__PURE__ */ jsx13("strong", { className: "text-ink block font-mono text-[10px] uppercase tracking-wider mb-1", children: office.name }),
|
|
1285
1244
|
office.address
|
|
1286
1245
|
] }, office.name)) })
|
|
1287
1246
|
] }),
|
|
1288
1247
|
newsletter && /* @__PURE__ */ jsxs4("div", { className: "col-span-2 lg:col-span-2", children: [
|
|
1289
|
-
/* @__PURE__ */
|
|
1290
|
-
/* @__PURE__ */
|
|
1248
|
+
/* @__PURE__ */ jsx13("h4", { className: "font-mono text-xs text-ink uppercase tracking-widest mb-6", children: newsletterHeading }),
|
|
1249
|
+
/* @__PURE__ */ jsx13("p", { className: "text-sm sm:text-xs font-light leading-relaxed text-ink/70 mb-4", children: newsletterBlurb }),
|
|
1291
1250
|
newsletter
|
|
1292
1251
|
] })
|
|
1293
1252
|
] }),
|
|
1294
|
-
/* @__PURE__ */
|
|
1295
|
-
|
|
1253
|
+
/* @__PURE__ */ jsx13("div", { className: "border-t border-ink/10 pt-8 text-[10px] font-mono text-ink/40", children: /* @__PURE__ */ jsxs4("p", { children: [
|
|
1254
|
+
copyright,
|
|
1296
1255
|
version && /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
1297
1256
|
" ",
|
|
1298
|
-
/* @__PURE__ */
|
|
1257
|
+
/* @__PURE__ */ jsx13("a", { href: commitHref, className: "text-ink/30", children: version })
|
|
1299
1258
|
] })
|
|
1300
1259
|
] }) })
|
|
1301
1260
|
] })
|
|
@@ -1308,12 +1267,12 @@ function Footer({
|
|
|
1308
1267
|
import "react";
|
|
1309
1268
|
|
|
1310
1269
|
// src/generated/input.ts
|
|
1311
|
-
var INPUT_BASE = "file:text-
|
|
1270
|
+
var INPUT_BASE = "file:text-ink placeholder:text-ink-soft selection:bg-primary selection:text-on-primary border-input h-9 w-full min-w-0 rounded-[var(--control-radius)] border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error";
|
|
1312
1271
|
|
|
1313
1272
|
// src/components/input.tsx
|
|
1314
|
-
import { jsx as
|
|
1273
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1315
1274
|
function Input({ className, type, ...props }) {
|
|
1316
|
-
return /* @__PURE__ */
|
|
1275
|
+
return /* @__PURE__ */ jsx14(
|
|
1317
1276
|
"input",
|
|
1318
1277
|
{
|
|
1319
1278
|
type,
|
|
@@ -1328,20 +1287,20 @@ function Input({ className, type, ...props }) {
|
|
|
1328
1287
|
import "react";
|
|
1329
1288
|
|
|
1330
1289
|
// src/generated/textarea.ts
|
|
1331
|
-
var TEXTAREA_BASE = "border-input placeholder:text-
|
|
1290
|
+
var TEXTAREA_BASE = "border-input placeholder:text-ink-soft focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error flex field-sizing-content min-h-16 w-full rounded-[var(--control-radius)] border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm";
|
|
1332
1291
|
|
|
1333
1292
|
// src/components/textarea.tsx
|
|
1334
|
-
import { jsx as
|
|
1293
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1335
1294
|
function Textarea({ className, ...props }) {
|
|
1336
|
-
return /* @__PURE__ */
|
|
1295
|
+
return /* @__PURE__ */ jsx15("textarea", { "data-slot": "textarea", className: cn(TEXTAREA_BASE, className), ...props });
|
|
1337
1296
|
}
|
|
1338
1297
|
|
|
1339
1298
|
// src/components/input-group.tsx
|
|
1340
1299
|
import "react";
|
|
1341
1300
|
|
|
1342
1301
|
// src/generated/input-group.ts
|
|
1343
|
-
var INPUT_GROUP_BASE = "group/input-group border-input relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none h-9 min-w-0 has-[>textarea]:h-auto has-[>[data-align=inline-start]]:[&>input]:pl-2 has-[>[data-align=inline-end]]:[&>input]:pr-2 has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-
|
|
1344
|
-
var INPUT_GROUP_ADDON_BASE = "text-
|
|
1302
|
+
var INPUT_GROUP_BASE = "group/input-group border-input relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none h-9 min-w-0 has-[>textarea]:h-auto has-[>[data-align=inline-start]]:[&>input]:pl-2 has-[>[data-align=inline-end]]:[&>input]:pr-2 has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-accent-error/20 has-[[data-slot][aria-invalid=true]]:border-accent-error";
|
|
1303
|
+
var INPUT_GROUP_ADDON_BASE = "text-ink-soft flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50";
|
|
1345
1304
|
var inputGroupAddonAligns = {
|
|
1346
1305
|
"inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
|
|
1347
1306
|
"inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
|
|
@@ -1355,17 +1314,17 @@ var inputGroupButtonSizes = {
|
|
|
1355
1314
|
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
1356
1315
|
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
1357
1316
|
};
|
|
1358
|
-
var INPUT_GROUP_TEXT = "text-
|
|
1317
|
+
var INPUT_GROUP_TEXT = "text-ink-soft flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4";
|
|
1359
1318
|
var INPUT_GROUP_INPUT_CONTROL = "flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0";
|
|
1360
1319
|
var INPUT_GROUP_TEXTAREA_CONTROL = "flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0";
|
|
1361
1320
|
|
|
1362
1321
|
// src/components/input-group.tsx
|
|
1363
|
-
import { jsx as
|
|
1322
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1364
1323
|
function InputGroup({
|
|
1365
1324
|
className,
|
|
1366
1325
|
...props
|
|
1367
1326
|
}) {
|
|
1368
|
-
return /* @__PURE__ */
|
|
1327
|
+
return /* @__PURE__ */ jsx16(
|
|
1369
1328
|
"div",
|
|
1370
1329
|
{
|
|
1371
1330
|
"data-slot": "input-group",
|
|
@@ -1380,7 +1339,7 @@ function InputGroupAddon({
|
|
|
1380
1339
|
align = "inline-start",
|
|
1381
1340
|
...props
|
|
1382
1341
|
}) {
|
|
1383
|
-
return /* @__PURE__ */
|
|
1342
|
+
return /* @__PURE__ */ jsx16(
|
|
1384
1343
|
"div",
|
|
1385
1344
|
{
|
|
1386
1345
|
role: "group",
|
|
@@ -1406,7 +1365,7 @@ function InputGroupButton({
|
|
|
1406
1365
|
size = "xs",
|
|
1407
1366
|
...props
|
|
1408
1367
|
}) {
|
|
1409
|
-
return /* @__PURE__ */
|
|
1368
|
+
return /* @__PURE__ */ jsx16(
|
|
1410
1369
|
Button,
|
|
1411
1370
|
{
|
|
1412
1371
|
type,
|
|
@@ -1425,7 +1384,7 @@ function InputGroupText({
|
|
|
1425
1384
|
className,
|
|
1426
1385
|
...props
|
|
1427
1386
|
}) {
|
|
1428
|
-
return /* @__PURE__ */
|
|
1387
|
+
return /* @__PURE__ */ jsx16(
|
|
1429
1388
|
"span",
|
|
1430
1389
|
{
|
|
1431
1390
|
className: cn(INPUT_GROUP_TEXT, className),
|
|
@@ -1437,7 +1396,7 @@ function InputGroupInput({
|
|
|
1437
1396
|
className,
|
|
1438
1397
|
...props
|
|
1439
1398
|
}) {
|
|
1440
|
-
return /* @__PURE__ */
|
|
1399
|
+
return /* @__PURE__ */ jsx16(
|
|
1441
1400
|
Input,
|
|
1442
1401
|
{
|
|
1443
1402
|
"data-slot": "input-group-control",
|
|
@@ -1450,7 +1409,7 @@ function InputGroupTextarea({
|
|
|
1450
1409
|
className,
|
|
1451
1410
|
...props
|
|
1452
1411
|
}) {
|
|
1453
|
-
return /* @__PURE__ */
|
|
1412
|
+
return /* @__PURE__ */ jsx16(
|
|
1454
1413
|
Textarea,
|
|
1455
1414
|
{
|
|
1456
1415
|
"data-slot": "input-group-control",
|
|
@@ -1474,13 +1433,13 @@ var separatorOrientations = {
|
|
|
1474
1433
|
};
|
|
1475
1434
|
|
|
1476
1435
|
// src/components/separator.tsx
|
|
1477
|
-
import { jsx as
|
|
1436
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1478
1437
|
function Separator({
|
|
1479
1438
|
className,
|
|
1480
1439
|
orientation = "horizontal",
|
|
1481
1440
|
...props
|
|
1482
1441
|
}) {
|
|
1483
|
-
return /* @__PURE__ */
|
|
1442
|
+
return /* @__PURE__ */ jsx17(
|
|
1484
1443
|
"div",
|
|
1485
1444
|
{
|
|
1486
1445
|
role: "separator",
|
|
@@ -1499,7 +1458,7 @@ function Separator({
|
|
|
1499
1458
|
// src/generated/item.ts
|
|
1500
1459
|
var ITEM_GROUP = "group/item-group flex flex-col";
|
|
1501
1460
|
var ITEM_SEPARATOR = "my-0";
|
|
1502
|
-
var ITEM_BASE = "group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-
|
|
1461
|
+
var ITEM_BASE = "group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-hover/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]";
|
|
1503
1462
|
var itemVariants = {
|
|
1504
1463
|
"default": "bg-transparent",
|
|
1505
1464
|
"outline": "border-border",
|
|
@@ -1517,15 +1476,15 @@ var itemMediaVariants = {
|
|
|
1517
1476
|
};
|
|
1518
1477
|
var ITEM_CONTENT = "flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none";
|
|
1519
1478
|
var ITEM_TITLE = "flex w-fit items-center gap-2 text-sm leading-snug font-medium";
|
|
1520
|
-
var ITEM_DESCRIPTION = "text-
|
|
1479
|
+
var ITEM_DESCRIPTION = "text-ink-soft line-clamp-2 text-sm leading-normal font-normal text-balance [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4";
|
|
1521
1480
|
var ITEM_ACTIONS = "flex items-center gap-2";
|
|
1522
1481
|
var ITEM_HEADER = "flex basis-full items-center justify-between gap-2";
|
|
1523
1482
|
var ITEM_FOOTER = "flex basis-full items-center justify-between gap-2";
|
|
1524
1483
|
|
|
1525
1484
|
// src/components/item.tsx
|
|
1526
|
-
import { jsx as
|
|
1485
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1527
1486
|
function ItemGroup({ className, ...props }) {
|
|
1528
|
-
return /* @__PURE__ */
|
|
1487
|
+
return /* @__PURE__ */ jsx18(
|
|
1529
1488
|
"div",
|
|
1530
1489
|
{
|
|
1531
1490
|
role: "list",
|
|
@@ -1539,7 +1498,7 @@ function ItemSeparator({
|
|
|
1539
1498
|
className,
|
|
1540
1499
|
...props
|
|
1541
1500
|
}) {
|
|
1542
|
-
return /* @__PURE__ */
|
|
1501
|
+
return /* @__PURE__ */ jsx18(
|
|
1543
1502
|
Separator,
|
|
1544
1503
|
{
|
|
1545
1504
|
"data-slot": "item-separator",
|
|
@@ -1557,7 +1516,7 @@ function Item({
|
|
|
1557
1516
|
...props
|
|
1558
1517
|
}) {
|
|
1559
1518
|
const Comp = asChild ? Slot : "div";
|
|
1560
|
-
return /* @__PURE__ */
|
|
1519
|
+
return /* @__PURE__ */ jsx18(
|
|
1561
1520
|
Comp,
|
|
1562
1521
|
{
|
|
1563
1522
|
"data-slot": "item",
|
|
@@ -1573,7 +1532,7 @@ function ItemMedia({
|
|
|
1573
1532
|
variant = "default",
|
|
1574
1533
|
...props
|
|
1575
1534
|
}) {
|
|
1576
|
-
return /* @__PURE__ */
|
|
1535
|
+
return /* @__PURE__ */ jsx18(
|
|
1577
1536
|
"div",
|
|
1578
1537
|
{
|
|
1579
1538
|
"data-slot": "item-media",
|
|
@@ -1587,7 +1546,7 @@ function ItemContent({
|
|
|
1587
1546
|
className,
|
|
1588
1547
|
...props
|
|
1589
1548
|
}) {
|
|
1590
|
-
return /* @__PURE__ */
|
|
1549
|
+
return /* @__PURE__ */ jsx18(
|
|
1591
1550
|
"div",
|
|
1592
1551
|
{
|
|
1593
1552
|
"data-slot": "item-content",
|
|
@@ -1597,7 +1556,7 @@ function ItemContent({
|
|
|
1597
1556
|
);
|
|
1598
1557
|
}
|
|
1599
1558
|
function ItemTitle({ className, ...props }) {
|
|
1600
|
-
return /* @__PURE__ */
|
|
1559
|
+
return /* @__PURE__ */ jsx18(
|
|
1601
1560
|
"div",
|
|
1602
1561
|
{
|
|
1603
1562
|
"data-slot": "item-title",
|
|
@@ -1610,7 +1569,7 @@ function ItemDescription({
|
|
|
1610
1569
|
className,
|
|
1611
1570
|
...props
|
|
1612
1571
|
}) {
|
|
1613
|
-
return /* @__PURE__ */
|
|
1572
|
+
return /* @__PURE__ */ jsx18(
|
|
1614
1573
|
"p",
|
|
1615
1574
|
{
|
|
1616
1575
|
"data-slot": "item-description",
|
|
@@ -1623,7 +1582,7 @@ function ItemActions({
|
|
|
1623
1582
|
className,
|
|
1624
1583
|
...props
|
|
1625
1584
|
}) {
|
|
1626
|
-
return /* @__PURE__ */
|
|
1585
|
+
return /* @__PURE__ */ jsx18(
|
|
1627
1586
|
"div",
|
|
1628
1587
|
{
|
|
1629
1588
|
"data-slot": "item-actions",
|
|
@@ -1636,7 +1595,7 @@ function ItemHeader({
|
|
|
1636
1595
|
className,
|
|
1637
1596
|
...props
|
|
1638
1597
|
}) {
|
|
1639
|
-
return /* @__PURE__ */
|
|
1598
|
+
return /* @__PURE__ */ jsx18(
|
|
1640
1599
|
"div",
|
|
1641
1600
|
{
|
|
1642
1601
|
"data-slot": "item-header",
|
|
@@ -1649,7 +1608,7 @@ function ItemFooter({
|
|
|
1649
1608
|
className,
|
|
1650
1609
|
...props
|
|
1651
1610
|
}) {
|
|
1652
|
-
return /* @__PURE__ */
|
|
1611
|
+
return /* @__PURE__ */ jsx18(
|
|
1653
1612
|
"div",
|
|
1654
1613
|
{
|
|
1655
1614
|
"data-slot": "item-footer",
|
|
@@ -1663,13 +1622,13 @@ function ItemFooter({
|
|
|
1663
1622
|
import "react";
|
|
1664
1623
|
|
|
1665
1624
|
// src/generated/kbd.ts
|
|
1666
|
-
var KBD_BASE = "bg-muted text-
|
|
1625
|
+
var KBD_BASE = "bg-muted text-ink-soft pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none [&_svg:not([class*='size-'])]:size-3 [[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background";
|
|
1667
1626
|
var KBD_GROUP_BASE = "inline-flex items-center gap-1";
|
|
1668
1627
|
|
|
1669
1628
|
// src/components/kbd.tsx
|
|
1670
|
-
import { jsx as
|
|
1629
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1671
1630
|
function Kbd({ className, ...props }) {
|
|
1672
|
-
return /* @__PURE__ */
|
|
1631
|
+
return /* @__PURE__ */ jsx19(
|
|
1673
1632
|
"kbd",
|
|
1674
1633
|
{
|
|
1675
1634
|
"data-slot": "kbd",
|
|
@@ -1679,7 +1638,7 @@ function Kbd({ className, ...props }) {
|
|
|
1679
1638
|
);
|
|
1680
1639
|
}
|
|
1681
1640
|
function KbdGroup({ className, ...props }) {
|
|
1682
|
-
return /* @__PURE__ */
|
|
1641
|
+
return /* @__PURE__ */ jsx19(
|
|
1683
1642
|
"kbd",
|
|
1684
1643
|
{
|
|
1685
1644
|
"data-slot": "kbd-group",
|
|
@@ -1691,9 +1650,9 @@ function KbdGroup({ className, ...props }) {
|
|
|
1691
1650
|
|
|
1692
1651
|
// src/components/pagination.tsx
|
|
1693
1652
|
import "react";
|
|
1694
|
-
import { jsx as
|
|
1653
|
+
import { jsx as jsx20, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1695
1654
|
function Pagination({ className, ...props }) {
|
|
1696
|
-
return /* @__PURE__ */
|
|
1655
|
+
return /* @__PURE__ */ jsx20(
|
|
1697
1656
|
"nav",
|
|
1698
1657
|
{
|
|
1699
1658
|
role: "navigation",
|
|
@@ -1708,7 +1667,7 @@ function PaginationContent({
|
|
|
1708
1667
|
className,
|
|
1709
1668
|
...props
|
|
1710
1669
|
}) {
|
|
1711
|
-
return /* @__PURE__ */
|
|
1670
|
+
return /* @__PURE__ */ jsx20(
|
|
1712
1671
|
"ul",
|
|
1713
1672
|
{
|
|
1714
1673
|
"data-slot": "pagination-content",
|
|
@@ -1718,7 +1677,7 @@ function PaginationContent({
|
|
|
1718
1677
|
);
|
|
1719
1678
|
}
|
|
1720
1679
|
function PaginationItem(props) {
|
|
1721
|
-
return /* @__PURE__ */
|
|
1680
|
+
return /* @__PURE__ */ jsx20("li", { "data-slot": "pagination-item", ...props });
|
|
1722
1681
|
}
|
|
1723
1682
|
function PaginationLink({
|
|
1724
1683
|
className,
|
|
@@ -1726,7 +1685,7 @@ function PaginationLink({
|
|
|
1726
1685
|
size = "icon",
|
|
1727
1686
|
...props
|
|
1728
1687
|
}) {
|
|
1729
|
-
return /* @__PURE__ */
|
|
1688
|
+
return /* @__PURE__ */ jsx20(
|
|
1730
1689
|
"a",
|
|
1731
1690
|
{
|
|
1732
1691
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -1743,8 +1702,8 @@ function PaginationLink({
|
|
|
1743
1702
|
}
|
|
1744
1703
|
);
|
|
1745
1704
|
}
|
|
1746
|
-
var ChevronLeft = () => /* @__PURE__ */
|
|
1747
|
-
var ChevronRight = () => /* @__PURE__ */
|
|
1705
|
+
var ChevronLeft = () => /* @__PURE__ */ jsx20("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx20("path", { d: "m15 18-6-6 6-6" }) });
|
|
1706
|
+
var ChevronRight = () => /* @__PURE__ */ jsx20("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx20("path", { d: "m9 18 6-6-6-6" }) });
|
|
1748
1707
|
var MoreHorizontal = () => /* @__PURE__ */ jsxs5(
|
|
1749
1708
|
"svg",
|
|
1750
1709
|
{
|
|
@@ -1754,9 +1713,9 @@ var MoreHorizontal = () => /* @__PURE__ */ jsxs5(
|
|
|
1754
1713
|
stroke: "currentColor",
|
|
1755
1714
|
strokeWidth: 2,
|
|
1756
1715
|
children: [
|
|
1757
|
-
/* @__PURE__ */
|
|
1758
|
-
/* @__PURE__ */
|
|
1759
|
-
/* @__PURE__ */
|
|
1716
|
+
/* @__PURE__ */ jsx20("circle", { cx: "12", cy: "12", r: "1" }),
|
|
1717
|
+
/* @__PURE__ */ jsx20("circle", { cx: "19", cy: "12", r: "1" }),
|
|
1718
|
+
/* @__PURE__ */ jsx20("circle", { cx: "5", cy: "12", r: "1" })
|
|
1760
1719
|
]
|
|
1761
1720
|
}
|
|
1762
1721
|
);
|
|
@@ -1772,8 +1731,8 @@ function PaginationPrevious({
|
|
|
1772
1731
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
1773
1732
|
...props,
|
|
1774
1733
|
children: [
|
|
1775
|
-
/* @__PURE__ */
|
|
1776
|
-
/* @__PURE__ */
|
|
1734
|
+
/* @__PURE__ */ jsx20(ChevronLeft, {}),
|
|
1735
|
+
/* @__PURE__ */ jsx20("span", { className: "hidden sm:block", children: "Previous" })
|
|
1777
1736
|
]
|
|
1778
1737
|
}
|
|
1779
1738
|
);
|
|
@@ -1790,8 +1749,8 @@ function PaginationNext({
|
|
|
1790
1749
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
1791
1750
|
...props,
|
|
1792
1751
|
children: [
|
|
1793
|
-
/* @__PURE__ */
|
|
1794
|
-
/* @__PURE__ */
|
|
1752
|
+
/* @__PURE__ */ jsx20("span", { className: "hidden sm:block", children: "Next" }),
|
|
1753
|
+
/* @__PURE__ */ jsx20(ChevronRight, {})
|
|
1795
1754
|
]
|
|
1796
1755
|
}
|
|
1797
1756
|
);
|
|
@@ -1808,8 +1767,8 @@ function PaginationEllipsis({
|
|
|
1808
1767
|
className: cn("flex size-9 items-center justify-center", className),
|
|
1809
1768
|
...props,
|
|
1810
1769
|
children: [
|
|
1811
|
-
/* @__PURE__ */
|
|
1812
|
-
/* @__PURE__ */
|
|
1770
|
+
/* @__PURE__ */ jsx20(MoreHorizontal, {}),
|
|
1771
|
+
/* @__PURE__ */ jsx20("span", { className: "sr-only", children: "More pages" })
|
|
1813
1772
|
]
|
|
1814
1773
|
}
|
|
1815
1774
|
);
|
|
@@ -1823,9 +1782,9 @@ var PROGRESS_TRACK = "bg-primary/20 relative h-2 w-full overflow-hidden rounded-
|
|
|
1823
1782
|
var PROGRESS_INDICATOR = "bg-primary h-full w-full flex-1 transition-all";
|
|
1824
1783
|
|
|
1825
1784
|
// src/components/progress.tsx
|
|
1826
|
-
import { jsx as
|
|
1785
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1827
1786
|
function Progress({ className, value = 0, ...props }) {
|
|
1828
|
-
return /* @__PURE__ */
|
|
1787
|
+
return /* @__PURE__ */ jsx21(
|
|
1829
1788
|
"div",
|
|
1830
1789
|
{
|
|
1831
1790
|
"data-slot": "progress",
|
|
@@ -1835,7 +1794,7 @@ function Progress({ className, value = 0, ...props }) {
|
|
|
1835
1794
|
"aria-valuemax": 100,
|
|
1836
1795
|
className: cn(PROGRESS_TRACK, className),
|
|
1837
1796
|
...props,
|
|
1838
|
-
children: /* @__PURE__ */
|
|
1797
|
+
children: /* @__PURE__ */ jsx21(
|
|
1839
1798
|
"div",
|
|
1840
1799
|
{
|
|
1841
1800
|
"data-slot": "progress-indicator",
|
|
@@ -1851,12 +1810,12 @@ function Progress({ className, value = 0, ...props }) {
|
|
|
1851
1810
|
import "react";
|
|
1852
1811
|
|
|
1853
1812
|
// src/generated/skeleton.ts
|
|
1854
|
-
var SKELETON_BASE = "bg-
|
|
1813
|
+
var SKELETON_BASE = "bg-hover animate-pulse rounded-md";
|
|
1855
1814
|
|
|
1856
1815
|
// src/components/skeleton.tsx
|
|
1857
|
-
import { jsx as
|
|
1816
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1858
1817
|
function Skeleton({ className, ...props }) {
|
|
1859
|
-
return /* @__PURE__ */
|
|
1818
|
+
return /* @__PURE__ */ jsx22(
|
|
1860
1819
|
"div",
|
|
1861
1820
|
{
|
|
1862
1821
|
"data-slot": "skeleton",
|
|
@@ -1868,9 +1827,9 @@ function Skeleton({ className, ...props }) {
|
|
|
1868
1827
|
|
|
1869
1828
|
// src/components/spinner.tsx
|
|
1870
1829
|
import "react";
|
|
1871
|
-
import { jsx as
|
|
1830
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1872
1831
|
function Spinner({ className, ...props }) {
|
|
1873
|
-
return /* @__PURE__ */
|
|
1832
|
+
return /* @__PURE__ */ jsx23(
|
|
1874
1833
|
"svg",
|
|
1875
1834
|
{
|
|
1876
1835
|
role: "status",
|
|
@@ -1881,42 +1840,45 @@ function Spinner({ className, ...props }) {
|
|
|
1881
1840
|
stroke: "currentColor",
|
|
1882
1841
|
strokeWidth: 2,
|
|
1883
1842
|
...props,
|
|
1884
|
-
children: /* @__PURE__ */
|
|
1843
|
+
children: /* @__PURE__ */ jsx23("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1885
1844
|
}
|
|
1886
1845
|
);
|
|
1887
1846
|
}
|
|
1888
1847
|
|
|
1889
1848
|
// src/components/status-screen.tsx
|
|
1890
1849
|
import "react";
|
|
1891
|
-
import { jsx as
|
|
1850
|
+
import { jsx as jsx24, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1892
1851
|
var ACCENT_TEXT = {
|
|
1893
|
-
teal: "text-
|
|
1894
|
-
gold: "text-
|
|
1895
|
-
red: "text-
|
|
1896
|
-
blue: "text-
|
|
1852
|
+
teal: "text-accent-debug",
|
|
1853
|
+
gold: "text-accent-warn",
|
|
1854
|
+
red: "text-accent-error",
|
|
1855
|
+
blue: "text-accent-info"
|
|
1897
1856
|
};
|
|
1898
|
-
var BTN_BASE = "inline-flex items-center justify-center rounded-md px-6 py-3.5 font-mono-tech text-xs uppercase tracking-widest transition-colors";
|
|
1899
1857
|
var BTN_FILLED = {
|
|
1900
|
-
teal: "bg-
|
|
1901
|
-
gold: "bg-
|
|
1902
|
-
red: "bg-
|
|
1903
|
-
blue: "bg-
|
|
1858
|
+
teal: "bg-accent-debug text-background hover:bg-accent-debug/90",
|
|
1859
|
+
gold: "bg-accent-warn text-background hover:bg-accent-warn/90",
|
|
1860
|
+
red: "bg-accent-error text-on-accent-error hover:bg-accent-error/90",
|
|
1861
|
+
blue: "bg-accent-info text-on-accent-info hover:bg-accent-info/90"
|
|
1904
1862
|
};
|
|
1905
1863
|
var BTN_OUTLINE = {
|
|
1906
|
-
teal: "border border-
|
|
1907
|
-
gold: "border border-
|
|
1908
|
-
red: "border border-
|
|
1909
|
-
blue: "border border-
|
|
1864
|
+
teal: "border border-accent-debug/40 text-accent-debug hover:bg-accent-debug/10",
|
|
1865
|
+
gold: "border border-accent-warn/40 text-accent-warn hover:bg-accent-warn/10",
|
|
1866
|
+
red: "border border-accent-error/40 text-accent-error hover:bg-accent-error/10",
|
|
1867
|
+
blue: "border border-accent-info/40 text-accent-info hover:bg-accent-info/10"
|
|
1910
1868
|
};
|
|
1911
|
-
function
|
|
1912
|
-
return cn(
|
|
1869
|
+
function statusCtaClass(accent, variant) {
|
|
1870
|
+
return cn(
|
|
1871
|
+
buttonVariants({ variant, size: "lg" }),
|
|
1872
|
+
"font-mono text-xs uppercase tracking-widest",
|
|
1873
|
+
variant === "outline" ? BTN_OUTLINE[accent] : BTN_FILLED[accent]
|
|
1874
|
+
);
|
|
1913
1875
|
}
|
|
1914
1876
|
function LogoMark({ className }) {
|
|
1915
|
-
return /* @__PURE__ */
|
|
1916
|
-
/* @__PURE__ */
|
|
1917
|
-
/* @__PURE__ */
|
|
1918
|
-
/* @__PURE__ */
|
|
1919
|
-
/* @__PURE__ */
|
|
1877
|
+
return /* @__PURE__ */ jsx24("svg", { viewBox: "0 0 140 48", className, "aria-hidden": true, children: /* @__PURE__ */ jsxs6("g", { fill: "currentColor", children: [
|
|
1878
|
+
/* @__PURE__ */ jsx24("path", { d: "M0.0437012 47.3326L50.9499 40.5805V22.3378L56.4881 23.6408V37.9071L59.1984 37.5005V24.1147L64.6189 25.1808V37.0269L67.2113 36.553V22.1009L56.606 17.481L43.408 21.864V36.553L0.0437012 47.3326Z" }),
|
|
1879
|
+
/* @__PURE__ */ jsx24("path", { d: "M77.2277 40.5804L85.9478 41.4099L85.8299 0.304321L73.1033 7.17499V26.3654L77.2277 28.2608V40.5804Z" }),
|
|
1880
|
+
/* @__PURE__ */ jsx24("path", { d: "M87.126 0.304321L99.9705 7.29343V42.5943L94.3141 41.8835V9.54417L87.126 5.75347V0.304321Z" }),
|
|
1881
|
+
/* @__PURE__ */ jsx24("path", { d: "M103.034 42.9496L139.682 46.0296L110.104 39.7513V26.8393L103.034 23.0486V42.9496Z" })
|
|
1920
1882
|
] }) });
|
|
1921
1883
|
}
|
|
1922
1884
|
function ArrowLeftIcon({ className }) {
|
|
@@ -1932,8 +1894,8 @@ function ArrowLeftIcon({ className }) {
|
|
|
1932
1894
|
strokeLinejoin: "round",
|
|
1933
1895
|
"aria-hidden": true,
|
|
1934
1896
|
children: [
|
|
1935
|
-
/* @__PURE__ */
|
|
1936
|
-
/* @__PURE__ */
|
|
1897
|
+
/* @__PURE__ */ jsx24("path", { d: "m12 19-7-7 7-7" }),
|
|
1898
|
+
/* @__PURE__ */ jsx24("path", { d: "M19 12H5" })
|
|
1937
1899
|
]
|
|
1938
1900
|
}
|
|
1939
1901
|
);
|
|
@@ -1952,8 +1914,8 @@ function StatusScreen({
|
|
|
1952
1914
|
}) {
|
|
1953
1915
|
const L = linkComponent ?? "a";
|
|
1954
1916
|
const accentText = ACCENT_TEXT[accent];
|
|
1955
|
-
return /* @__PURE__ */ jsxs6("section", { className: "relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-
|
|
1956
|
-
/* @__PURE__ */
|
|
1917
|
+
return /* @__PURE__ */ jsxs6("section", { className: "relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-background px-6 py-32 text-center", children: [
|
|
1918
|
+
/* @__PURE__ */ jsx24(
|
|
1957
1919
|
"div",
|
|
1958
1920
|
{
|
|
1959
1921
|
"aria-hidden": true,
|
|
@@ -1964,19 +1926,19 @@ function StatusScreen({
|
|
|
1964
1926
|
}
|
|
1965
1927
|
),
|
|
1966
1928
|
/* @__PURE__ */ jsxs6("div", { className: "relative z-10 flex w-full max-w-2xl flex-col items-center", children: [
|
|
1967
|
-
/* @__PURE__ */
|
|
1968
|
-
/* @__PURE__ */
|
|
1969
|
-
/* @__PURE__ */
|
|
1970
|
-
/* @__PURE__ */ jsxs6("h1", { className: "mt-4 font-serif
|
|
1929
|
+
/* @__PURE__ */ jsx24(LogoMark, { className: cn("mb-7 h-10 w-auto", accentText) }),
|
|
1930
|
+
/* @__PURE__ */ jsx24("p", { className: cn("mb-6 font-mono text-[11px] uppercase tracking-[0.34em]", accentText), children: eyebrow }),
|
|
1931
|
+
/* @__PURE__ */ jsx24("p", { className: cn("font-serif text-[110px] font-medium leading-[0.9] sm:text-[180px]", accentText), children: code }),
|
|
1932
|
+
/* @__PURE__ */ jsxs6("h1", { className: "mt-4 font-serif text-3xl font-light leading-tight text-ink sm:text-5xl", children: [
|
|
1971
1933
|
headlineLead,
|
|
1972
|
-
/* @__PURE__ */
|
|
1934
|
+
/* @__PURE__ */ jsx24("span", { className: cn("font-serif italic", accentText), children: headlineAccent }),
|
|
1973
1935
|
headlineTail
|
|
1974
1936
|
] }),
|
|
1975
|
-
/* @__PURE__ */
|
|
1937
|
+
/* @__PURE__ */ jsx24("p", { className: "mx-auto mt-5 max-w-md text-sm leading-relaxed text-ink/60 sm:text-base", children: subtext }),
|
|
1976
1938
|
/* @__PURE__ */ jsxs6("div", { className: "mt-9 flex flex-col items-center gap-3 sm:flex-row", children: [
|
|
1977
1939
|
children,
|
|
1978
|
-
links?.map((link) => /* @__PURE__ */ jsxs6(L, { href: link.href, className:
|
|
1979
|
-
link.leadingArrow ? /* @__PURE__ */
|
|
1940
|
+
links?.map((link) => /* @__PURE__ */ jsxs6(L, { href: link.href, className: statusCtaClass(accent, link.variant ?? "default"), children: [
|
|
1941
|
+
link.leadingArrow ? /* @__PURE__ */ jsx24(ArrowLeftIcon, { className: "mr-2 h-4 w-4" }) : null,
|
|
1980
1942
|
link.label
|
|
1981
1943
|
] }, link.label))
|
|
1982
1944
|
] })
|
|
@@ -1984,7 +1946,7 @@ function StatusScreen({
|
|
|
1984
1946
|
] });
|
|
1985
1947
|
}
|
|
1986
1948
|
function NotFound({ linkComponent = "a", homeHref = "/", contactHref = "/contact" }) {
|
|
1987
|
-
return /* @__PURE__ */
|
|
1949
|
+
return /* @__PURE__ */ jsx24(
|
|
1988
1950
|
StatusScreen,
|
|
1989
1951
|
{
|
|
1990
1952
|
accent: "teal",
|
|
@@ -2002,7 +1964,7 @@ function NotFound({ linkComponent = "a", homeHref = "/", contactHref = "/contact
|
|
|
2002
1964
|
);
|
|
2003
1965
|
}
|
|
2004
1966
|
function Forbidden({ linkComponent = "a", homeHref = "/", contactHref = "/contact" }) {
|
|
2005
|
-
return /* @__PURE__ */
|
|
1967
|
+
return /* @__PURE__ */ jsx24(
|
|
2006
1968
|
StatusScreen,
|
|
2007
1969
|
{
|
|
2008
1970
|
accent: "gold",
|
|
@@ -2020,7 +1982,7 @@ function Forbidden({ linkComponent = "a", homeHref = "/", contactHref = "/contac
|
|
|
2020
1982
|
);
|
|
2021
1983
|
}
|
|
2022
1984
|
function ServerError({ linkComponent = "a", homeHref = "/", reset }) {
|
|
2023
|
-
return /* @__PURE__ */
|
|
1985
|
+
return /* @__PURE__ */ jsx24(
|
|
2024
1986
|
StatusScreen,
|
|
2025
1987
|
{
|
|
2026
1988
|
accent: "red",
|
|
@@ -2031,11 +1993,11 @@ function ServerError({ linkComponent = "a", homeHref = "/", reset }) {
|
|
|
2031
1993
|
subtext: "Something broke on our end \u2014 not yours. We've been alerted and are restoring service. Please try again in a moment.",
|
|
2032
1994
|
linkComponent,
|
|
2033
1995
|
links: [{ label: "Back to home", href: homeHref, variant: "outline", leadingArrow: true }],
|
|
2034
|
-
children: /* @__PURE__ */
|
|
1996
|
+
children: /* @__PURE__ */ jsx24(
|
|
2035
1997
|
"button",
|
|
2036
1998
|
{
|
|
2037
1999
|
type: "button",
|
|
2038
|
-
className:
|
|
2000
|
+
className: statusCtaClass("red", "default"),
|
|
2039
2001
|
onClick: () => reset ? reset() : window.location.reload(),
|
|
2040
2002
|
children: "Try again"
|
|
2041
2003
|
}
|
|
@@ -2054,19 +2016,19 @@ var TABLE_HEADER = "[&_tr]:border-b";
|
|
|
2054
2016
|
var TABLE_BODY = "[&_tr:last-child]:border-0";
|
|
2055
2017
|
var TABLE_FOOTER = "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0";
|
|
2056
2018
|
var TABLE_ROW = "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors";
|
|
2057
|
-
var TABLE_HEAD = "text-
|
|
2019
|
+
var TABLE_HEAD = "text-ink h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]";
|
|
2058
2020
|
var TABLE_CELL = "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]";
|
|
2059
|
-
var TABLE_CAPTION = "text-
|
|
2021
|
+
var TABLE_CAPTION = "text-ink-soft mt-4 text-sm";
|
|
2060
2022
|
|
|
2061
2023
|
// src/components/table.tsx
|
|
2062
|
-
import { jsx as
|
|
2024
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
2063
2025
|
function Table({ className, ...props }) {
|
|
2064
|
-
return /* @__PURE__ */
|
|
2026
|
+
return /* @__PURE__ */ jsx25(
|
|
2065
2027
|
"div",
|
|
2066
2028
|
{
|
|
2067
2029
|
"data-slot": "table-container",
|
|
2068
2030
|
className: TABLE_CONTAINER,
|
|
2069
|
-
children: /* @__PURE__ */
|
|
2031
|
+
children: /* @__PURE__ */ jsx25(
|
|
2070
2032
|
"table",
|
|
2071
2033
|
{
|
|
2072
2034
|
"data-slot": "table",
|
|
@@ -2081,7 +2043,7 @@ function TableHeader({
|
|
|
2081
2043
|
className,
|
|
2082
2044
|
...props
|
|
2083
2045
|
}) {
|
|
2084
|
-
return /* @__PURE__ */
|
|
2046
|
+
return /* @__PURE__ */ jsx25(
|
|
2085
2047
|
"thead",
|
|
2086
2048
|
{
|
|
2087
2049
|
"data-slot": "table-header",
|
|
@@ -2094,7 +2056,7 @@ function TableBody({
|
|
|
2094
2056
|
className,
|
|
2095
2057
|
...props
|
|
2096
2058
|
}) {
|
|
2097
|
-
return /* @__PURE__ */
|
|
2059
|
+
return /* @__PURE__ */ jsx25(
|
|
2098
2060
|
"tbody",
|
|
2099
2061
|
{
|
|
2100
2062
|
"data-slot": "table-body",
|
|
@@ -2107,7 +2069,7 @@ function TableFooter({
|
|
|
2107
2069
|
className,
|
|
2108
2070
|
...props
|
|
2109
2071
|
}) {
|
|
2110
|
-
return /* @__PURE__ */
|
|
2072
|
+
return /* @__PURE__ */ jsx25(
|
|
2111
2073
|
"tfoot",
|
|
2112
2074
|
{
|
|
2113
2075
|
"data-slot": "table-footer",
|
|
@@ -2117,7 +2079,7 @@ function TableFooter({
|
|
|
2117
2079
|
);
|
|
2118
2080
|
}
|
|
2119
2081
|
function TableRow({ className, ...props }) {
|
|
2120
|
-
return /* @__PURE__ */
|
|
2082
|
+
return /* @__PURE__ */ jsx25(
|
|
2121
2083
|
"tr",
|
|
2122
2084
|
{
|
|
2123
2085
|
"data-slot": "table-row",
|
|
@@ -2127,7 +2089,7 @@ function TableRow({ className, ...props }) {
|
|
|
2127
2089
|
);
|
|
2128
2090
|
}
|
|
2129
2091
|
function TableHead({ className, ...props }) {
|
|
2130
|
-
return /* @__PURE__ */
|
|
2092
|
+
return /* @__PURE__ */ jsx25(
|
|
2131
2093
|
"th",
|
|
2132
2094
|
{
|
|
2133
2095
|
"data-slot": "table-head",
|
|
@@ -2137,7 +2099,7 @@ function TableHead({ className, ...props }) {
|
|
|
2137
2099
|
);
|
|
2138
2100
|
}
|
|
2139
2101
|
function TableCell({ className, ...props }) {
|
|
2140
|
-
return /* @__PURE__ */
|
|
2102
|
+
return /* @__PURE__ */ jsx25(
|
|
2141
2103
|
"td",
|
|
2142
2104
|
{
|
|
2143
2105
|
"data-slot": "table-cell",
|
|
@@ -2150,7 +2112,7 @@ function TableCaption({
|
|
|
2150
2112
|
className,
|
|
2151
2113
|
...props
|
|
2152
2114
|
}) {
|
|
2153
|
-
return /* @__PURE__ */
|
|
2115
|
+
return /* @__PURE__ */ jsx25(
|
|
2154
2116
|
"caption",
|
|
2155
2117
|
{
|
|
2156
2118
|
"data-slot": "table-caption",
|
|
@@ -2161,7 +2123,7 @@ function TableCaption({
|
|
|
2161
2123
|
}
|
|
2162
2124
|
|
|
2163
2125
|
// src/components/accordion.tsx
|
|
2164
|
-
import * as
|
|
2126
|
+
import * as React36 from "react";
|
|
2165
2127
|
|
|
2166
2128
|
// src/generated/accordion.ts
|
|
2167
2129
|
var ACCORDION_ITEM = "border-b last:border-b-0";
|
|
@@ -2171,16 +2133,16 @@ var ACCORDION_CONTENT = "data-[state=closed]:animate-accordion-up data-[state=op
|
|
|
2171
2133
|
var ACCORDION_CONTENT_INNER = "pt-0 pb-4";
|
|
2172
2134
|
|
|
2173
2135
|
// src/components/accordion.tsx
|
|
2174
|
-
import { jsx as
|
|
2175
|
-
var AccordionContext =
|
|
2136
|
+
import { jsx as jsx26, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2137
|
+
var AccordionContext = React36.createContext(null);
|
|
2176
2138
|
function useAccordion() {
|
|
2177
|
-
const ctx =
|
|
2139
|
+
const ctx = React36.useContext(AccordionContext);
|
|
2178
2140
|
if (!ctx) throw new Error("Accordion parts must be used within <Accordion>");
|
|
2179
2141
|
return ctx;
|
|
2180
2142
|
}
|
|
2181
|
-
var ItemContext =
|
|
2143
|
+
var ItemContext = React36.createContext(null);
|
|
2182
2144
|
function useItemValue() {
|
|
2183
|
-
const value =
|
|
2145
|
+
const value = React36.useContext(ItemContext);
|
|
2184
2146
|
if (value === null)
|
|
2185
2147
|
throw new Error("AccordionTrigger/Content must be used within <AccordionItem>");
|
|
2186
2148
|
return value;
|
|
@@ -2208,7 +2170,7 @@ function Accordion({
|
|
|
2208
2170
|
if (open.includes(v)) setOpen(collapsible ? [] : open);
|
|
2209
2171
|
else setOpen([v]);
|
|
2210
2172
|
};
|
|
2211
|
-
return /* @__PURE__ */
|
|
2173
|
+
return /* @__PURE__ */ jsx26(AccordionContext.Provider, { value: { isOpen, toggle }, children: /* @__PURE__ */ jsx26("div", { "data-slot": "accordion", ...props, children }) });
|
|
2212
2174
|
}
|
|
2213
2175
|
function AccordionItem({
|
|
2214
2176
|
className,
|
|
@@ -2216,7 +2178,7 @@ function AccordionItem({
|
|
|
2216
2178
|
children,
|
|
2217
2179
|
...props
|
|
2218
2180
|
}) {
|
|
2219
|
-
return /* @__PURE__ */
|
|
2181
|
+
return /* @__PURE__ */ jsx26(ItemContext.Provider, { value, children: /* @__PURE__ */ jsx26(
|
|
2220
2182
|
"div",
|
|
2221
2183
|
{
|
|
2222
2184
|
"data-slot": "accordion-item",
|
|
@@ -2235,7 +2197,7 @@ function AccordionTrigger({
|
|
|
2235
2197
|
const { isOpen, toggle } = useAccordion();
|
|
2236
2198
|
const value = useItemValue();
|
|
2237
2199
|
const open = isOpen(value);
|
|
2238
|
-
return /* @__PURE__ */
|
|
2200
|
+
return /* @__PURE__ */ jsx26("h3", { className: ACCORDION_HEADER, "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs7(
|
|
2239
2201
|
"button",
|
|
2240
2202
|
{
|
|
2241
2203
|
type: "button",
|
|
@@ -2250,7 +2212,7 @@ function AccordionTrigger({
|
|
|
2250
2212
|
...props,
|
|
2251
2213
|
children: [
|
|
2252
2214
|
children,
|
|
2253
|
-
/* @__PURE__ */
|
|
2215
|
+
/* @__PURE__ */ jsx26(
|
|
2254
2216
|
"svg",
|
|
2255
2217
|
{
|
|
2256
2218
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2262,8 +2224,8 @@ function AccordionTrigger({
|
|
|
2262
2224
|
strokeWidth: "2",
|
|
2263
2225
|
strokeLinecap: "round",
|
|
2264
2226
|
strokeLinejoin: "round",
|
|
2265
|
-
className: "text-
|
|
2266
|
-
children: /* @__PURE__ */
|
|
2227
|
+
className: "text-ink-soft pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200",
|
|
2228
|
+
children: /* @__PURE__ */ jsx26("path", { d: "m6 9 6 6 6-6" })
|
|
2267
2229
|
}
|
|
2268
2230
|
)
|
|
2269
2231
|
]
|
|
@@ -2278,26 +2240,26 @@ function AccordionContent({
|
|
|
2278
2240
|
const { isOpen } = useAccordion();
|
|
2279
2241
|
const value = useItemValue();
|
|
2280
2242
|
if (!isOpen(value)) return null;
|
|
2281
|
-
return /* @__PURE__ */
|
|
2243
|
+
return /* @__PURE__ */ jsx26(
|
|
2282
2244
|
"div",
|
|
2283
2245
|
{
|
|
2284
2246
|
"data-slot": "accordion-content",
|
|
2285
2247
|
"data-state": "open",
|
|
2286
2248
|
className: ACCORDION_CONTENT,
|
|
2287
2249
|
...props,
|
|
2288
|
-
children: /* @__PURE__ */
|
|
2250
|
+
children: /* @__PURE__ */ jsx26("div", { className: cn(ACCORDION_CONTENT_INNER, className), children })
|
|
2289
2251
|
}
|
|
2290
2252
|
);
|
|
2291
2253
|
}
|
|
2292
2254
|
|
|
2293
2255
|
// src/components/collapsible.tsx
|
|
2294
|
-
import * as
|
|
2295
|
-
import { jsx as
|
|
2296
|
-
var CollapsibleContext =
|
|
2256
|
+
import * as React37 from "react";
|
|
2257
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2258
|
+
var CollapsibleContext = React37.createContext(
|
|
2297
2259
|
null
|
|
2298
2260
|
);
|
|
2299
2261
|
function useCollapsible() {
|
|
2300
|
-
const ctx =
|
|
2262
|
+
const ctx = React37.useContext(CollapsibleContext);
|
|
2301
2263
|
if (!ctx) throw new Error("Collapsible parts must be used within <Collapsible>");
|
|
2302
2264
|
return ctx;
|
|
2303
2265
|
}
|
|
@@ -2313,14 +2275,14 @@ function Collapsible({
|
|
|
2313
2275
|
defaultValue: defaultOpen,
|
|
2314
2276
|
...onOpenChange ? { onChange: onOpenChange } : {}
|
|
2315
2277
|
});
|
|
2316
|
-
return /* @__PURE__ */
|
|
2278
|
+
return /* @__PURE__ */ jsx27(CollapsibleContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx27("div", { "data-slot": "collapsible", "data-state": isOpen ? "open" : "closed", ...props, children }) });
|
|
2317
2279
|
}
|
|
2318
2280
|
function CollapsibleTrigger({
|
|
2319
2281
|
onClick,
|
|
2320
2282
|
...props
|
|
2321
2283
|
}) {
|
|
2322
2284
|
const { open, setOpen } = useCollapsible();
|
|
2323
|
-
return /* @__PURE__ */
|
|
2285
|
+
return /* @__PURE__ */ jsx27(
|
|
2324
2286
|
"button",
|
|
2325
2287
|
{
|
|
2326
2288
|
type: "button",
|
|
@@ -2341,7 +2303,83 @@ function CollapsibleContent({
|
|
|
2341
2303
|
}) {
|
|
2342
2304
|
const { open } = useCollapsible();
|
|
2343
2305
|
if (!open) return null;
|
|
2344
|
-
return /* @__PURE__ */
|
|
2306
|
+
return /* @__PURE__ */ jsx27("div", { "data-slot": "collapsible-content", "data-state": "open", ...props, children });
|
|
2307
|
+
}
|
|
2308
|
+
|
|
2309
|
+
// src/components/band.tsx
|
|
2310
|
+
import "react";
|
|
2311
|
+
|
|
2312
|
+
// src/generated/band.ts
|
|
2313
|
+
var polarityClasses = {
|
|
2314
|
+
"light": "light",
|
|
2315
|
+
"dark": "dark"
|
|
2316
|
+
};
|
|
2317
|
+
var surfaceClasses = {
|
|
2318
|
+
"background": "bg-background text-ink",
|
|
2319
|
+
"card": "bg-card text-ink",
|
|
2320
|
+
"muted": "bg-muted text-ink",
|
|
2321
|
+
"primary": "bg-primary text-on-primary"
|
|
2322
|
+
};
|
|
2323
|
+
var SECTION_BASE = "w-full px-[var(--page-px)]";
|
|
2324
|
+
var SECTION_PY = "py-[var(--band-py)]";
|
|
2325
|
+
var SECTION_PY_TIGHT = "py-[var(--band-py-tight)]";
|
|
2326
|
+
var SECTION_HEAD = "flex flex-col gap-2 md:gap-3.5";
|
|
2327
|
+
var EYEBROW = "font-medium text-[10px] md:text-[11.5px] tracking-[0.15em] md:tracking-[0.16em] text-primary";
|
|
2328
|
+
var DISPLAY_BASE = "font-display [font-weight:700] max-w-[54rem] tracking-[-0.005em] leading-[1.16] md:leading-[1.14] text-[calc(1.5625rem*var(--display-scale))] md:text-[calc(2.625rem*var(--display-scale))]";
|
|
2329
|
+
var LEDE = "max-w-[52rem] text-[15px] md:text-[17px] leading-[1.58] text-ink-soft";
|
|
2330
|
+
var PROSE = "text-[14px] md:text-[15px] leading-[1.62] text-ink-soft";
|
|
2331
|
+
var STAT = "flex items-center gap-[7px] whitespace-nowrap";
|
|
2332
|
+
var STAT_FIGURE = "font-semibold";
|
|
2333
|
+
var STAT_LABEL = "text-ink-soft";
|
|
2334
|
+
var CHECK = "font-semibold text-positive";
|
|
2335
|
+
|
|
2336
|
+
// src/components/band.tsx
|
|
2337
|
+
import { jsx as jsx28, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2338
|
+
function Section({
|
|
2339
|
+
polarity = "light",
|
|
2340
|
+
surface = "background",
|
|
2341
|
+
tight = false,
|
|
2342
|
+
className,
|
|
2343
|
+
...props
|
|
2344
|
+
}) {
|
|
2345
|
+
return /* @__PURE__ */ jsx28(
|
|
2346
|
+
"section",
|
|
2347
|
+
{
|
|
2348
|
+
"data-slot": "section",
|
|
2349
|
+
className: cn(
|
|
2350
|
+
// conflict-free by construction — a gutter, a scope class, a plane and a
|
|
2351
|
+
// rhythm — so only the caller override is worth a merge
|
|
2352
|
+
`${SECTION_BASE} ${polarityClasses[polarity]} ${surfaceClasses[surface]} ${tight ? SECTION_PY_TIGHT : SECTION_PY}`,
|
|
2353
|
+
className
|
|
2354
|
+
),
|
|
2355
|
+
...props
|
|
2356
|
+
}
|
|
2357
|
+
);
|
|
2358
|
+
}
|
|
2359
|
+
function Eyebrow({ className, ...props }) {
|
|
2360
|
+
return /* @__PURE__ */ jsx28("p", { "data-slot": "eyebrow", className: cn(EYEBROW, className), ...props });
|
|
2361
|
+
}
|
|
2362
|
+
function Display({ className, ...props }) {
|
|
2363
|
+
return /* @__PURE__ */ jsx28("h2", { "data-slot": "display", className: cn(DISPLAY_BASE, className), ...props });
|
|
2364
|
+
}
|
|
2365
|
+
function SectionHead({ eyebrow, title, lede, className, ...props }) {
|
|
2366
|
+
return /* @__PURE__ */ jsxs8("div", { "data-slot": "section-head", className: cn(SECTION_HEAD, className), ...props, children: [
|
|
2367
|
+
/* @__PURE__ */ jsx28(Eyebrow, { children: eyebrow }),
|
|
2368
|
+
/* @__PURE__ */ jsx28(Display, { children: title }),
|
|
2369
|
+
lede && /* @__PURE__ */ jsx28("p", { className: LEDE, children: lede })
|
|
2370
|
+
] });
|
|
2371
|
+
}
|
|
2372
|
+
function Prose({ className, ...props }) {
|
|
2373
|
+
return /* @__PURE__ */ jsx28("p", { "data-slot": "prose", className: cn(PROSE, className), ...props });
|
|
2374
|
+
}
|
|
2375
|
+
function Stat({ figure, label, className, ...props }) {
|
|
2376
|
+
return /* @__PURE__ */ jsxs8("span", { "data-slot": "stat", className: cn(STAT, className), ...props, children: [
|
|
2377
|
+
/* @__PURE__ */ jsx28("span", { className: STAT_FIGURE, children: figure }),
|
|
2378
|
+
/* @__PURE__ */ jsx28("span", { className: STAT_LABEL, children: label })
|
|
2379
|
+
] });
|
|
2380
|
+
}
|
|
2381
|
+
function Check({ className, ...props }) {
|
|
2382
|
+
return /* @__PURE__ */ jsx28("span", { "data-slot": "check", "aria-hidden": true, className: cn(CHECK, className), ...props, children: "\u2713" });
|
|
2345
2383
|
}
|
|
2346
2384
|
|
|
2347
2385
|
// src/components/tabs.tsx
|
|
@@ -2349,8 +2387,8 @@ import * as React39 from "react";
|
|
|
2349
2387
|
|
|
2350
2388
|
// src/generated/tabs.ts
|
|
2351
2389
|
var TABS_ROOT = "flex flex-col gap-2";
|
|
2352
|
-
var TABS_LIST = "bg-muted text-
|
|
2353
|
-
var TABS_TRIGGER = "data-[state=active]:bg-background focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-
|
|
2390
|
+
var TABS_LIST = "bg-muted text-ink-soft inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]";
|
|
2391
|
+
var TABS_TRIGGER = "data-[state=active]:bg-background focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-ink inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
2354
2392
|
var TABS_CONTENT = "flex-1 outline-none";
|
|
2355
2393
|
|
|
2356
2394
|
// src/components/tabs.tsx
|
|
@@ -2479,15 +2517,17 @@ function TabsContent({
|
|
|
2479
2517
|
import "react";
|
|
2480
2518
|
|
|
2481
2519
|
// src/generated/toggle.ts
|
|
2482
|
-
var TOGGLE_BASE = "inline-flex items-center justify-center gap-2 rounded-
|
|
2520
|
+
var TOGGLE_BASE = "inline-flex items-center justify-center gap-2 rounded-[var(--control-radius)] text-sm font-medium hover:bg-muted hover:text-ink-soft disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-hover data-[state=on]:text-ink [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error whitespace-nowrap";
|
|
2483
2521
|
var toggleVariantClasses = {
|
|
2484
2522
|
"default": "bg-transparent",
|
|
2485
|
-
"outline": "border border-input bg-transparent shadow-xs hover:bg-
|
|
2523
|
+
"outline": "border border-input bg-transparent shadow-xs hover:bg-hover hover:text-ink"
|
|
2486
2524
|
};
|
|
2487
2525
|
var toggleSizeClasses = {
|
|
2488
2526
|
"default": "h-9 px-2 min-w-9",
|
|
2527
|
+
"xs": "h-7 px-1 min-w-7",
|
|
2489
2528
|
"sm": "h-8 px-1.5 min-w-8",
|
|
2490
|
-
"lg": "h-10 px-2.5 min-w-10"
|
|
2529
|
+
"lg": "h-10 px-2.5 min-w-10",
|
|
2530
|
+
"xl": "h-12 px-3 min-w-12"
|
|
2491
2531
|
};
|
|
2492
2532
|
|
|
2493
2533
|
// src/components/toggle.tsx
|
|
@@ -2666,7 +2706,7 @@ function Switch({
|
|
|
2666
2706
|
{
|
|
2667
2707
|
"data-slot": "switch-thumb",
|
|
2668
2708
|
"data-state": state,
|
|
2669
|
-
className: "data-[state=checked]:bg-primary
|
|
2709
|
+
className: "data-[state=checked]:bg-on-primary data-[state=unchecked]:bg-ink pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
2670
2710
|
}
|
|
2671
2711
|
)
|
|
2672
2712
|
}
|
|
@@ -2701,7 +2741,7 @@ function Checkbox({
|
|
|
2701
2741
|
"aria-checked": on,
|
|
2702
2742
|
disabled,
|
|
2703
2743
|
className: cn(
|
|
2704
|
-
"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary
|
|
2744
|
+
"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-on-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
2705
2745
|
className
|
|
2706
2746
|
),
|
|
2707
2747
|
onClick: (e) => {
|
|
@@ -2740,7 +2780,7 @@ import * as React44 from "react";
|
|
|
2740
2780
|
|
|
2741
2781
|
// src/generated/radio-group.ts
|
|
2742
2782
|
var RADIO_GROUP_ROOT = "grid gap-3";
|
|
2743
|
-
var RADIO_GROUP_ITEM = "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-
|
|
2783
|
+
var RADIO_GROUP_ITEM = "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50";
|
|
2744
2784
|
|
|
2745
2785
|
// src/components/radio-group.tsx
|
|
2746
2786
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
@@ -2853,10 +2893,10 @@ import * as React45 from "react";
|
|
|
2853
2893
|
var SLIDER_ROOT = "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col";
|
|
2854
2894
|
var SLIDER_TRACK = "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5";
|
|
2855
2895
|
var SLIDER_RANGE = "bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full";
|
|
2856
|
-
var SLIDER_THUMB = "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-
|
|
2896
|
+
var SLIDER_THUMB = "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-ink shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50";
|
|
2857
2897
|
|
|
2858
2898
|
// src/components/slider.tsx
|
|
2859
|
-
import { jsx as jsx35, jsxs as
|
|
2899
|
+
import { jsx as jsx35, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2860
2900
|
function clampStep(value, min, max, step) {
|
|
2861
2901
|
const clamped = Math.min(max, Math.max(min, value));
|
|
2862
2902
|
if (step <= 0) return clamped;
|
|
@@ -2934,7 +2974,7 @@ function Slider({
|
|
|
2934
2974
|
};
|
|
2935
2975
|
const rangeStyle = orientation === "vertical" ? { height: `${percent}%` } : { width: `${percent}%` };
|
|
2936
2976
|
const thumbStyle = orientation === "vertical" ? { position: "absolute", bottom: `${percent}%`, left: "50%", transform: "translate(-50%, 50%)" } : { position: "absolute", left: `${percent}%`, top: "50%", transform: "translate(-50%, -50%)" };
|
|
2937
|
-
return /* @__PURE__ */
|
|
2977
|
+
return /* @__PURE__ */ jsxs9(
|
|
2938
2978
|
"span",
|
|
2939
2979
|
{
|
|
2940
2980
|
"data-slot": "slider",
|
|
@@ -2999,13 +3039,13 @@ var scrollBarOrientations = {
|
|
|
2999
3039
|
};
|
|
3000
3040
|
|
|
3001
3041
|
// src/components/scroll-area.tsx
|
|
3002
|
-
import { jsx as jsx36, jsxs as
|
|
3042
|
+
import { jsx as jsx36, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
3003
3043
|
function ScrollArea({
|
|
3004
3044
|
className,
|
|
3005
3045
|
children,
|
|
3006
3046
|
...props
|
|
3007
3047
|
}) {
|
|
3008
|
-
return /* @__PURE__ */
|
|
3048
|
+
return /* @__PURE__ */ jsxs10("div", { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [
|
|
3009
3049
|
/* @__PURE__ */ jsx36("div", { "data-slot": "scroll-area-viewport", className: SCROLL_AREA_VIEWPORT, children }),
|
|
3010
3050
|
/* @__PURE__ */ jsx36(ScrollBar, {})
|
|
3011
3051
|
] });
|
|
@@ -3031,34 +3071,30 @@ function ScrollBar({
|
|
|
3031
3071
|
import * as React47 from "react";
|
|
3032
3072
|
|
|
3033
3073
|
// src/generated/sidebar.ts
|
|
3034
|
-
var SIDEBAR_MENU_BUTTON_BASE = "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-
|
|
3035
|
-
var sidebarMenuButtonVariantClasses = {
|
|
3036
|
-
"default": "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
3037
|
-
"outline": "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
3038
|
-
};
|
|
3074
|
+
var SIDEBAR_MENU_BUTTON_BASE = "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-ring transition-[width,height,padding] hover:bg-hover hover:text-ink focus-visible:ring-2 active:bg-hover active:text-ink disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-hover data-[active=true]:font-medium data-[active=true]:text-ink data-[state=open]:hover:bg-hover data-[state=open]:hover:text-ink group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0";
|
|
3039
3075
|
var sidebarMenuButtonSizeClasses = {
|
|
3076
|
+
"xs": "h-7 text-xs",
|
|
3040
3077
|
"default": "h-8 text-sm",
|
|
3041
|
-
"sm": "h-7 text-xs",
|
|
3042
3078
|
"lg": "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
3043
3079
|
};
|
|
3044
|
-
var SIDEBAR_WRAPPER = "group/sidebar-wrapper has-data-[variant=inset]:bg-
|
|
3045
|
-
var SIDEBAR_FLAT = "bg-
|
|
3046
|
-
var SIDEBAR_INNER = "bg-
|
|
3047
|
-
var SIDEBAR_TRIGGER = "inline-flex size-7 items-center justify-center rounded-md hover:bg-
|
|
3048
|
-
var SIDEBAR_RAIL = "hover:after:bg-
|
|
3080
|
+
var SIDEBAR_WRAPPER = "group/sidebar-wrapper has-data-[variant=inset]:bg-secondary flex min-h-svh w-full";
|
|
3081
|
+
var SIDEBAR_FLAT = "bg-secondary text-ink flex h-full w-(--sidebar-width) flex-col";
|
|
3082
|
+
var SIDEBAR_INNER = "bg-secondary group-data-[variant=floating]:border-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm";
|
|
3083
|
+
var SIDEBAR_TRIGGER = "inline-flex size-7 items-center justify-center rounded-md hover:bg-hover hover:text-ink";
|
|
3084
|
+
var SIDEBAR_RAIL = "hover:after:bg-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex";
|
|
3049
3085
|
var SIDEBAR_INSET = "bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2";
|
|
3050
3086
|
var SIDEBAR_HEADER = "flex flex-col gap-2 p-2";
|
|
3051
3087
|
var SIDEBAR_FOOTER = "flex flex-col gap-2 p-2";
|
|
3052
|
-
var SIDEBAR_SEPARATOR = "bg-
|
|
3088
|
+
var SIDEBAR_SEPARATOR = "bg-border mx-2 h-px w-auto shrink-0";
|
|
3053
3089
|
var SIDEBAR_CONTENT = "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden";
|
|
3054
3090
|
var SIDEBAR_GROUP = "relative flex w-full min-w-0 flex-col p-2";
|
|
3055
|
-
var SIDEBAR_GROUP_LABEL = "text-
|
|
3091
|
+
var SIDEBAR_GROUP_LABEL = "text-ink/70 ring-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0";
|
|
3056
3092
|
var SIDEBAR_GROUP_CONTENT = "w-full text-sm";
|
|
3057
3093
|
var SIDEBAR_MENU = "flex w-full min-w-0 flex-col gap-1";
|
|
3058
3094
|
var SIDEBAR_MENU_ITEM = "group/menu-item relative";
|
|
3059
3095
|
|
|
3060
3096
|
// src/components/sidebar.tsx
|
|
3061
|
-
import { jsx as jsx37, jsxs as
|
|
3097
|
+
import { jsx as jsx37, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3062
3098
|
var SIDEBAR_WIDTH = "16rem";
|
|
3063
3099
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
3064
3100
|
var SidebarContext = React47.createContext(null);
|
|
@@ -3128,7 +3164,7 @@ function Sidebar({
|
|
|
3128
3164
|
return /* @__PURE__ */ jsx37(
|
|
3129
3165
|
"div",
|
|
3130
3166
|
{
|
|
3131
|
-
className: "group peer text-
|
|
3167
|
+
className: "group peer text-ink hidden md:block",
|
|
3132
3168
|
"data-state": state,
|
|
3133
3169
|
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
3134
3170
|
"data-variant": variant,
|
|
@@ -3153,7 +3189,7 @@ function SidebarTrigger({
|
|
|
3153
3189
|
...props
|
|
3154
3190
|
}) {
|
|
3155
3191
|
const { toggleSidebar } = useSidebar();
|
|
3156
|
-
return /* @__PURE__ */
|
|
3192
|
+
return /* @__PURE__ */ jsxs11(
|
|
3157
3193
|
"button",
|
|
3158
3194
|
{
|
|
3159
3195
|
type: "button",
|
|
@@ -3317,7 +3353,7 @@ function SidebarMenuItem({ className, ...props }) {
|
|
|
3317
3353
|
function SidebarMenuButton({
|
|
3318
3354
|
asChild = false,
|
|
3319
3355
|
isActive = false,
|
|
3320
|
-
variant = "
|
|
3356
|
+
variant = "ghost",
|
|
3321
3357
|
size = "default",
|
|
3322
3358
|
className,
|
|
3323
3359
|
...props
|
|
@@ -3332,7 +3368,7 @@ function SidebarMenuButton({
|
|
|
3332
3368
|
"data-active": isActive,
|
|
3333
3369
|
className: cn(
|
|
3334
3370
|
SIDEBAR_MENU_BUTTON_BASE,
|
|
3335
|
-
|
|
3371
|
+
buttonVariantClasses[variant],
|
|
3336
3372
|
sidebarMenuButtonSizeClasses[size],
|
|
3337
3373
|
className
|
|
3338
3374
|
),
|
|
@@ -3361,7 +3397,7 @@ var CAROUSEL_EDGE_FADE_PREV = "pointer-events-none absolute inset-y-0 left-0 w-2
|
|
|
3361
3397
|
var CAROUSEL_EDGE_FADE_NEXT = "pointer-events-none absolute inset-y-0 right-0 w-24 bg-gradient-to-l from-background/45 via-background/20 to-transparent";
|
|
3362
3398
|
|
|
3363
3399
|
// src/components/carousel.tsx
|
|
3364
|
-
import { Fragment as Fragment4, jsx as jsx38, jsxs as
|
|
3400
|
+
import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
3365
3401
|
var CarouselContext = React48.createContext(null);
|
|
3366
3402
|
function useCarousel() {
|
|
3367
3403
|
const context = React48.useContext(CarouselContext);
|
|
@@ -3482,7 +3518,7 @@ function CarouselEdgeFade({
|
|
|
3482
3518
|
className
|
|
3483
3519
|
}) {
|
|
3484
3520
|
const { canScrollPrev, canScrollNext } = useCarousel();
|
|
3485
|
-
return /* @__PURE__ */
|
|
3521
|
+
return /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
3486
3522
|
/* @__PURE__ */ jsx38(
|
|
3487
3523
|
"div",
|
|
3488
3524
|
{
|
|
@@ -3514,7 +3550,7 @@ function CarouselPrevious({
|
|
|
3514
3550
|
...props
|
|
3515
3551
|
}) {
|
|
3516
3552
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
3517
|
-
return /* @__PURE__ */
|
|
3553
|
+
return /* @__PURE__ */ jsxs12(
|
|
3518
3554
|
Button,
|
|
3519
3555
|
{
|
|
3520
3556
|
"data-slot": "carousel-previous",
|
|
@@ -3555,7 +3591,7 @@ function CarouselNext({
|
|
|
3555
3591
|
...props
|
|
3556
3592
|
}) {
|
|
3557
3593
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
3558
|
-
return /* @__PURE__ */
|
|
3594
|
+
return /* @__PURE__ */ jsxs12(
|
|
3559
3595
|
Button,
|
|
3560
3596
|
{
|
|
3561
3597
|
"data-slot": "carousel-next",
|
|
@@ -3597,12 +3633,12 @@ import * as React49 from "react";
|
|
|
3597
3633
|
var INPUT_OTP_CONTAINER = "relative flex items-center gap-2 has-disabled:opacity-50";
|
|
3598
3634
|
var INPUT_OTP_INPUT = "absolute inset-0 h-full w-full opacity-0 disabled:cursor-not-allowed";
|
|
3599
3635
|
var INPUT_OTP_GROUP = "flex items-center";
|
|
3600
|
-
var INPUT_OTP_SLOT = "data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-
|
|
3636
|
+
var INPUT_OTP_SLOT = "data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error data-[active=true]:aria-invalid:border-accent-error border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]";
|
|
3601
3637
|
var INPUT_OTP_SLOT_CARET_WRAPPER = "pointer-events-none absolute inset-0 flex items-center justify-center";
|
|
3602
|
-
var INPUT_OTP_SLOT_CARET = "animate-caret-blink bg-
|
|
3638
|
+
var INPUT_OTP_SLOT_CARET = "animate-caret-blink bg-ink h-4 w-px duration-1000";
|
|
3603
3639
|
|
|
3604
3640
|
// src/components/input-otp.tsx
|
|
3605
|
-
import { jsx as jsx39, jsxs as
|
|
3641
|
+
import { jsx as jsx39, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3606
3642
|
var InputOTPContext = React49.createContext(null);
|
|
3607
3643
|
function useInputOTP() {
|
|
3608
3644
|
const context = React49.useContext(InputOTPContext);
|
|
@@ -3629,7 +3665,7 @@ function InputOTP({
|
|
|
3629
3665
|
});
|
|
3630
3666
|
const [focused, setFocused] = React49.useState(false);
|
|
3631
3667
|
const activeIndex = focused ? Math.min(value.length, maxLength - 1) : -1;
|
|
3632
|
-
return /* @__PURE__ */ jsx39(InputOTPContext.Provider, { value: { value, maxLength, activeIndex }, children: /* @__PURE__ */
|
|
3668
|
+
return /* @__PURE__ */ jsx39(InputOTPContext.Provider, { value: { value, maxLength, activeIndex }, children: /* @__PURE__ */ jsxs13(
|
|
3633
3669
|
"div",
|
|
3634
3670
|
{
|
|
3635
3671
|
"data-slot": "input-otp",
|
|
@@ -3673,7 +3709,7 @@ function InputOTPSlot({ index, className, ...props }) {
|
|
|
3673
3709
|
const char = value[index];
|
|
3674
3710
|
const isActive = activeIndex === index;
|
|
3675
3711
|
const hasFakeCaret = isActive && char === void 0;
|
|
3676
|
-
return /* @__PURE__ */
|
|
3712
|
+
return /* @__PURE__ */ jsxs13(
|
|
3677
3713
|
"div",
|
|
3678
3714
|
{
|
|
3679
3715
|
"data-slot": "input-otp-slot",
|
|
@@ -3708,7 +3744,7 @@ function InputOTPSeparator({ ...props }) {
|
|
|
3708
3744
|
import * as React50 from "react";
|
|
3709
3745
|
|
|
3710
3746
|
// src/generated/tooltip.ts
|
|
3711
|
-
var TOOLTIP_CONTENT = "bg-
|
|
3747
|
+
var TOOLTIP_CONTENT = "bg-ink text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance";
|
|
3712
3748
|
|
|
3713
3749
|
// src/components/tooltip.tsx
|
|
3714
3750
|
import { Fragment as Fragment5, jsx as jsx40 } from "react/jsx-runtime";
|
|
@@ -3801,7 +3837,7 @@ function TooltipContent({
|
|
|
3801
3837
|
import * as React51 from "react";
|
|
3802
3838
|
|
|
3803
3839
|
// src/generated/popover.ts
|
|
3804
|
-
var POPOVER_CONTENT = "bg-popover text-
|
|
3840
|
+
var POPOVER_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden";
|
|
3805
3841
|
|
|
3806
3842
|
// src/components/popover.tsx
|
|
3807
3843
|
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
@@ -3893,7 +3929,7 @@ function PopoverContent({
|
|
|
3893
3929
|
|
|
3894
3930
|
// src/components/info-tip.tsx
|
|
3895
3931
|
import * as React52 from "react";
|
|
3896
|
-
import { jsx as jsx42, jsxs as
|
|
3932
|
+
import { jsx as jsx42, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3897
3933
|
var InfoTipContext = React52.createContext(null);
|
|
3898
3934
|
function useInfoTip() {
|
|
3899
3935
|
const ctx = React52.useContext(InfoTipContext);
|
|
@@ -3922,7 +3958,7 @@ function InfoTip({
|
|
|
3922
3958
|
);
|
|
3923
3959
|
}
|
|
3924
3960
|
function InfoGlyph2({ className }) {
|
|
3925
|
-
return /* @__PURE__ */
|
|
3961
|
+
return /* @__PURE__ */ jsxs14(
|
|
3926
3962
|
"svg",
|
|
3927
3963
|
{
|
|
3928
3964
|
viewBox: "0 0 24 24",
|
|
@@ -3971,7 +4007,7 @@ function InfoTipTrigger({
|
|
|
3971
4007
|
"aria-controls": contentId,
|
|
3972
4008
|
ref: anchorRef,
|
|
3973
4009
|
className: cn(
|
|
3974
|
-
"inline-flex size-4 shrink-0 cursor-help items-center justify-center rounded-full align-middle text-
|
|
4010
|
+
"inline-flex size-4 shrink-0 cursor-help items-center justify-center rounded-full align-middle text-ink-soft outline-none transition-colors hover:text-ink focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:text-accent-debug",
|
|
3975
4011
|
className
|
|
3976
4012
|
),
|
|
3977
4013
|
onClick: (e) => {
|
|
@@ -4041,7 +4077,7 @@ function InfoTipContent({
|
|
|
4041
4077
|
import * as React53 from "react";
|
|
4042
4078
|
|
|
4043
4079
|
// src/generated/hover-card.ts
|
|
4044
|
-
var HOVER_CARD_CONTENT = "bg-popover text-
|
|
4080
|
+
var HOVER_CARD_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-hidden";
|
|
4045
4081
|
|
|
4046
4082
|
// src/components/hover-card.tsx
|
|
4047
4083
|
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
@@ -4123,18 +4159,18 @@ function HoverCardContent({
|
|
|
4123
4159
|
import * as React54 from "react";
|
|
4124
4160
|
|
|
4125
4161
|
// src/generated/dropdown-menu.ts
|
|
4126
|
-
var DROPDOWN_MENU_CONTENT = "bg-popover text-
|
|
4127
|
-
var DROPDOWN_MENU_SUB_CONTENT = "bg-popover text-
|
|
4128
|
-
var DROPDOWN_MENU_ITEM = "focus:bg-
|
|
4129
|
-
var DROPDOWN_MENU_CHECK_ITEM = "focus:bg-
|
|
4130
|
-
var DROPDOWN_MENU_SUB_TRIGGER = "focus:bg-
|
|
4162
|
+
var DROPDOWN_MENU_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md";
|
|
4163
|
+
var DROPDOWN_MENU_SUB_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg";
|
|
4164
|
+
var DROPDOWN_MENU_ITEM = "focus:bg-hover focus:text-ink data-[variant=destructive]:text-accent-error data-[variant=destructive]:focus:bg-accent-error/10 data-[variant=destructive]:focus:text-accent-error data-[variant=destructive]:*:[svg]:!text-accent-error [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4165
|
+
var DROPDOWN_MENU_CHECK_ITEM = "focus:bg-hover focus:text-ink relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4166
|
+
var DROPDOWN_MENU_SUB_TRIGGER = "focus:bg-hover focus:text-ink data-[state=open]:bg-hover data-[state=open]:text-ink [&_svg:not([class*='text-'])]:text-ink-soft flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4131
4167
|
var DROPDOWN_MENU_ITEM_INDICATOR = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center";
|
|
4132
4168
|
var DROPDOWN_MENU_LABEL = "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8";
|
|
4133
4169
|
var DROPDOWN_MENU_SEPARATOR = "bg-border -mx-1 my-1 h-px";
|
|
4134
|
-
var DROPDOWN_MENU_SHORTCUT = "text-
|
|
4170
|
+
var DROPDOWN_MENU_SHORTCUT = "text-ink-soft ml-auto text-xs tracking-widest";
|
|
4135
4171
|
|
|
4136
4172
|
// src/components/dropdown-menu.tsx
|
|
4137
|
-
import { jsx as jsx44, jsxs as
|
|
4173
|
+
import { jsx as jsx44, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
4138
4174
|
var DropdownMenuContext = React54.createContext(
|
|
4139
4175
|
null
|
|
4140
4176
|
);
|
|
@@ -4285,7 +4321,7 @@ function DropdownMenuCheckboxItem({
|
|
|
4285
4321
|
...props
|
|
4286
4322
|
}) {
|
|
4287
4323
|
const close = React54.useContext(DropdownMenuCloseContext);
|
|
4288
|
-
return /* @__PURE__ */
|
|
4324
|
+
return /* @__PURE__ */ jsxs15(
|
|
4289
4325
|
"div",
|
|
4290
4326
|
{
|
|
4291
4327
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
@@ -4336,7 +4372,7 @@ function DropdownMenuRadioItem({
|
|
|
4336
4372
|
const close = React54.useContext(DropdownMenuCloseContext);
|
|
4337
4373
|
const group = React54.useContext(DropdownMenuRadioGroupContext);
|
|
4338
4374
|
const checked = group?.value === value;
|
|
4339
|
-
return /* @__PURE__ */
|
|
4375
|
+
return /* @__PURE__ */ jsxs15(
|
|
4340
4376
|
"div",
|
|
4341
4377
|
{
|
|
4342
4378
|
"data-slot": "dropdown-menu-radio-item",
|
|
@@ -4406,7 +4442,7 @@ function DropdownMenuSub({ open, defaultOpen = false, onOpenChange, children })
|
|
|
4406
4442
|
}
|
|
4407
4443
|
function DropdownMenuSubTrigger({ className, inset, children, onClick, ...props }) {
|
|
4408
4444
|
const ctx = React54.useContext(DropdownMenuSubContext);
|
|
4409
|
-
return /* @__PURE__ */
|
|
4445
|
+
return /* @__PURE__ */ jsxs15(
|
|
4410
4446
|
"div",
|
|
4411
4447
|
{
|
|
4412
4448
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -4455,17 +4491,17 @@ function DropdownMenuSubContent({ className, children, ...props }) {
|
|
|
4455
4491
|
import * as React55 from "react";
|
|
4456
4492
|
|
|
4457
4493
|
// src/generated/context-menu.ts
|
|
4458
|
-
var CONTEXT_MENU_CONTENT = "bg-popover text-
|
|
4459
|
-
var CONTEXT_MENU_SUB_CONTENT = "bg-popover text-
|
|
4460
|
-
var CONTEXT_MENU_ITEM = "focus:bg-
|
|
4461
|
-
var CONTEXT_MENU_CHECK_ITEM = "focus:bg-
|
|
4462
|
-
var CONTEXT_MENU_SUB_TRIGGER = "focus:bg-
|
|
4463
|
-
var CONTEXT_MENU_LABEL = "text-
|
|
4494
|
+
var CONTEXT_MENU_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md";
|
|
4495
|
+
var CONTEXT_MENU_SUB_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg";
|
|
4496
|
+
var CONTEXT_MENU_ITEM = "focus:bg-hover focus:text-ink data-[variant=destructive]:text-accent-error data-[variant=destructive]:focus:bg-accent-error/10 data-[variant=destructive]:focus:text-accent-error data-[variant=destructive]:*:[svg]:!text-accent-error [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4497
|
+
var CONTEXT_MENU_CHECK_ITEM = "focus:bg-hover focus:text-ink relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4498
|
+
var CONTEXT_MENU_SUB_TRIGGER = "focus:bg-hover focus:text-ink data-[state=open]:bg-hover data-[state=open]:text-ink [&_svg:not([class*='text-'])]:text-ink-soft flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4499
|
+
var CONTEXT_MENU_LABEL = "text-ink px-2 py-1.5 text-sm font-medium data-[inset]:pl-8";
|
|
4464
4500
|
var CONTEXT_MENU_SEPARATOR = "bg-border -mx-1 my-1 h-px";
|
|
4465
|
-
var CONTEXT_MENU_SHORTCUT = "text-
|
|
4501
|
+
var CONTEXT_MENU_SHORTCUT = "text-ink-soft ml-auto text-xs tracking-widest";
|
|
4466
4502
|
|
|
4467
4503
|
// src/components/context-menu.tsx
|
|
4468
|
-
import { jsx as jsx45, jsxs as
|
|
4504
|
+
import { jsx as jsx45, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
4469
4505
|
var ContextMenuContext = React55.createContext(null);
|
|
4470
4506
|
function useContextMenu() {
|
|
4471
4507
|
const ctx = React55.useContext(ContextMenuContext);
|
|
@@ -4599,7 +4635,7 @@ function ContextMenuCheckboxItem({
|
|
|
4599
4635
|
...props
|
|
4600
4636
|
}) {
|
|
4601
4637
|
const close = React55.useContext(ContextMenuCloseContext);
|
|
4602
|
-
return /* @__PURE__ */
|
|
4638
|
+
return /* @__PURE__ */ jsxs16(
|
|
4603
4639
|
"div",
|
|
4604
4640
|
{
|
|
4605
4641
|
"data-slot": "context-menu-checkbox-item",
|
|
@@ -4650,7 +4686,7 @@ function ContextMenuRadioItem({
|
|
|
4650
4686
|
const close = React55.useContext(ContextMenuCloseContext);
|
|
4651
4687
|
const group = React55.useContext(ContextMenuRadioGroupContext);
|
|
4652
4688
|
const checked = group?.value === value;
|
|
4653
|
-
return /* @__PURE__ */
|
|
4689
|
+
return /* @__PURE__ */ jsxs16(
|
|
4654
4690
|
"div",
|
|
4655
4691
|
{
|
|
4656
4692
|
"data-slot": "context-menu-radio-item",
|
|
@@ -4720,7 +4756,7 @@ function ContextMenuSub({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
4720
4756
|
}
|
|
4721
4757
|
function ContextMenuSubTrigger({ className, inset, children, onClick, ...props }) {
|
|
4722
4758
|
const ctx = React55.useContext(ContextMenuSubContext);
|
|
4723
|
-
return /* @__PURE__ */
|
|
4759
|
+
return /* @__PURE__ */ jsxs16(
|
|
4724
4760
|
"div",
|
|
4725
4761
|
{
|
|
4726
4762
|
"data-slot": "context-menu-sub-trigger",
|
|
@@ -4770,20 +4806,20 @@ import * as React56 from "react";
|
|
|
4770
4806
|
|
|
4771
4807
|
// src/generated/menubar.ts
|
|
4772
4808
|
var MENUBAR_ROOT = "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs";
|
|
4773
|
-
var MENUBAR_TRIGGER = "focus:bg-
|
|
4774
|
-
var MENUBAR_CONTENT = "bg-popover text-
|
|
4775
|
-
var MENUBAR_ITEM = "focus:bg-
|
|
4776
|
-
var MENUBAR_CHECKBOX_ITEM = "focus:bg-
|
|
4777
|
-
var MENUBAR_RADIO_ITEM = "focus:bg-
|
|
4809
|
+
var MENUBAR_TRIGGER = "focus:bg-hover focus:text-ink data-[state=open]:bg-hover data-[state=open]:text-ink flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none";
|
|
4810
|
+
var MENUBAR_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 absolute z-50 min-w-[12rem] overflow-hidden rounded-md border p-1 shadow-md";
|
|
4811
|
+
var MENUBAR_ITEM = "focus:bg-hover focus:text-ink data-[variant=destructive]:text-accent-error data-[variant=destructive]:focus:bg-accent-error/10 data-[variant=destructive]:focus:text-accent-error data-[variant=destructive]:*:[svg]:!text-accent-error [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4812
|
+
var MENUBAR_CHECKBOX_ITEM = "focus:bg-hover focus:text-ink relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4813
|
+
var MENUBAR_RADIO_ITEM = "focus:bg-hover focus:text-ink relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
4778
4814
|
var MENUBAR_ITEM_INDICATOR = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center";
|
|
4779
4815
|
var MENUBAR_LABEL = "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8";
|
|
4780
4816
|
var MENUBAR_SEPARATOR = "bg-border -mx-1 my-1 h-px";
|
|
4781
|
-
var MENUBAR_SHORTCUT = "text-
|
|
4782
|
-
var MENUBAR_SUB_TRIGGER = "focus:bg-
|
|
4783
|
-
var MENUBAR_SUB_CONTENT = "bg-popover text-
|
|
4817
|
+
var MENUBAR_SHORTCUT = "text-ink-soft ml-auto text-xs tracking-widest";
|
|
4818
|
+
var MENUBAR_SUB_TRIGGER = "focus:bg-hover focus:text-ink data-[state=open]:bg-hover data-[state=open]:text-ink flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8";
|
|
4819
|
+
var MENUBAR_SUB_CONTENT = "bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 absolute z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg";
|
|
4784
4820
|
|
|
4785
4821
|
// src/components/menubar.tsx
|
|
4786
|
-
import { jsx as jsx46, jsxs as
|
|
4822
|
+
import { jsx as jsx46, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4787
4823
|
var MenubarMenuContext = React56.createContext(null);
|
|
4788
4824
|
function useMenu() {
|
|
4789
4825
|
const ctx = React56.useContext(MenubarMenuContext);
|
|
@@ -4896,7 +4932,7 @@ function MenubarCheckboxItem({
|
|
|
4896
4932
|
checked,
|
|
4897
4933
|
...props
|
|
4898
4934
|
}) {
|
|
4899
|
-
return /* @__PURE__ */
|
|
4935
|
+
return /* @__PURE__ */ jsxs17(
|
|
4900
4936
|
"div",
|
|
4901
4937
|
{
|
|
4902
4938
|
"data-slot": "menubar-checkbox-item",
|
|
@@ -4946,7 +4982,7 @@ function MenubarRadioItem({
|
|
|
4946
4982
|
}) {
|
|
4947
4983
|
const ctx = React56.useContext(MenubarRadioGroupContext);
|
|
4948
4984
|
const checked = ctx?.value === value;
|
|
4949
|
-
return /* @__PURE__ */
|
|
4985
|
+
return /* @__PURE__ */ jsxs17(
|
|
4950
4986
|
"div",
|
|
4951
4987
|
{
|
|
4952
4988
|
"data-slot": "menubar-radio-item",
|
|
@@ -5021,7 +5057,7 @@ function MenubarSubTrigger({
|
|
|
5021
5057
|
...props
|
|
5022
5058
|
}) {
|
|
5023
5059
|
const { open, setOpen } = useSub();
|
|
5024
|
-
return /* @__PURE__ */
|
|
5060
|
+
return /* @__PURE__ */ jsxs17(
|
|
5025
5061
|
"div",
|
|
5026
5062
|
{
|
|
5027
5063
|
"data-slot": "menubar-sub-trigger",
|
|
@@ -5079,14 +5115,14 @@ import * as React57 from "react";
|
|
|
5079
5115
|
var NAVIGATION_MENU = "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center";
|
|
5080
5116
|
var NAVIGATION_MENU_LIST = "group flex flex-1 list-none items-center justify-center gap-1";
|
|
5081
5117
|
var NAVIGATION_MENU_ITEM = "relative";
|
|
5082
|
-
var NAVIGATION_MENU_TRIGGER_STYLE = "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-
|
|
5083
|
-
var NAVIGATION_MENU_CONTENT = "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-
|
|
5084
|
-
var NAVIGATION_MENU_LINK = "data-[active=true]:focus:bg-
|
|
5118
|
+
var NAVIGATION_MENU_TRIGGER_STYLE = "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-hover hover:text-ink focus:bg-hover focus:text-ink disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-hover data-[state=open]:text-ink data-[state=open]:focus:bg-hover data-[state=open]:bg-hover/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1";
|
|
5119
|
+
var NAVIGATION_MENU_CONTENT = "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-ink group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none";
|
|
5120
|
+
var NAVIGATION_MENU_LINK = "data-[active=true]:focus:bg-hover data-[active=true]:hover:bg-hover data-[active=true]:bg-hover/50 data-[active=true]:text-ink hover:bg-hover hover:text-ink focus:bg-hover focus:text-ink focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-ink-soft flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4";
|
|
5085
5121
|
var NAVIGATION_MENU_INDICATOR = "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden";
|
|
5086
|
-
var NAVIGATION_MENU_VIEWPORT = "origin-top-center bg-popover text-
|
|
5122
|
+
var NAVIGATION_MENU_VIEWPORT = "origin-top-center bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]";
|
|
5087
5123
|
|
|
5088
5124
|
// src/components/navigation-menu.tsx
|
|
5089
|
-
import { jsx as jsx47, jsxs as
|
|
5125
|
+
import { jsx as jsx47, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
5090
5126
|
function navigationMenuTriggerStyle() {
|
|
5091
5127
|
return NAVIGATION_MENU_TRIGGER_STYLE;
|
|
5092
5128
|
}
|
|
@@ -5102,7 +5138,7 @@ function NavigationMenu({
|
|
|
5102
5138
|
viewport = true,
|
|
5103
5139
|
...props
|
|
5104
5140
|
}) {
|
|
5105
|
-
return /* @__PURE__ */
|
|
5141
|
+
return /* @__PURE__ */ jsxs18(
|
|
5106
5142
|
"nav",
|
|
5107
5143
|
{
|
|
5108
5144
|
"data-slot": "navigation-menu",
|
|
@@ -5157,7 +5193,7 @@ function NavigationMenuTrigger({
|
|
|
5157
5193
|
...props
|
|
5158
5194
|
}) {
|
|
5159
5195
|
const { open, setOpen, triggerRef } = useItem();
|
|
5160
|
-
return /* @__PURE__ */
|
|
5196
|
+
return /* @__PURE__ */ jsxs18(
|
|
5161
5197
|
"button",
|
|
5162
5198
|
{
|
|
5163
5199
|
ref: triggerRef,
|
|
@@ -5271,10 +5307,10 @@ var DIALOG_CLOSE = "ring-offset-background focus:ring-ring absolute top-4 right-
|
|
|
5271
5307
|
var DIALOG_HEADER = "flex flex-col gap-2 text-center sm:text-left";
|
|
5272
5308
|
var DIALOG_FOOTER = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
|
|
5273
5309
|
var DIALOG_TITLE = "text-lg leading-none font-semibold";
|
|
5274
|
-
var DIALOG_DESCRIPTION = "text-
|
|
5310
|
+
var DIALOG_DESCRIPTION = "text-ink-soft text-sm";
|
|
5275
5311
|
|
|
5276
5312
|
// src/components/dialog.tsx
|
|
5277
|
-
import { Fragment as Fragment6, jsx as jsx48, jsxs as
|
|
5313
|
+
import { Fragment as Fragment6, jsx as jsx48, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
5278
5314
|
var DialogContext = React58.createContext(null);
|
|
5279
5315
|
function useDialog() {
|
|
5280
5316
|
const ctx = React58.useContext(DialogContext);
|
|
@@ -5362,9 +5398,9 @@ function DialogContent({
|
|
|
5362
5398
|
};
|
|
5363
5399
|
}, [open]);
|
|
5364
5400
|
if (!isPresent) return null;
|
|
5365
|
-
return /* @__PURE__ */
|
|
5401
|
+
return /* @__PURE__ */ jsxs19(Portal, { children: [
|
|
5366
5402
|
/* @__PURE__ */ jsx48(DialogOverlay, {}),
|
|
5367
|
-
/* @__PURE__ */
|
|
5403
|
+
/* @__PURE__ */ jsxs19(
|
|
5368
5404
|
"div",
|
|
5369
5405
|
{
|
|
5370
5406
|
"data-slot": "dialog-content",
|
|
@@ -5376,7 +5412,7 @@ function DialogContent({
|
|
|
5376
5412
|
...props,
|
|
5377
5413
|
children: [
|
|
5378
5414
|
children,
|
|
5379
|
-
showCloseButton && /* @__PURE__ */
|
|
5415
|
+
showCloseButton && /* @__PURE__ */ jsxs19(
|
|
5380
5416
|
"button",
|
|
5381
5417
|
{
|
|
5382
5418
|
type: "button",
|
|
@@ -5459,10 +5495,10 @@ var ALERT_DIALOG_CONTENT = "bg-background data-[state=open]:animate-in data-[sta
|
|
|
5459
5495
|
var ALERT_DIALOG_HEADER = "flex flex-col gap-2 text-center sm:text-left";
|
|
5460
5496
|
var ALERT_DIALOG_FOOTER = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
|
|
5461
5497
|
var ALERT_DIALOG_TITLE = "text-lg font-semibold";
|
|
5462
|
-
var ALERT_DIALOG_DESCRIPTION = "text-
|
|
5498
|
+
var ALERT_DIALOG_DESCRIPTION = "text-ink-soft text-sm";
|
|
5463
5499
|
|
|
5464
5500
|
// src/components/alert-dialog.tsx
|
|
5465
|
-
import { jsx as jsx49, jsxs as
|
|
5501
|
+
import { jsx as jsx49, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5466
5502
|
var AlertDialogContext = React59.createContext(null);
|
|
5467
5503
|
function useAlertDialog() {
|
|
5468
5504
|
const ctx = React59.useContext(AlertDialogContext);
|
|
@@ -5518,7 +5554,7 @@ function AlertDialogContent({ className, children, ...props }) {
|
|
|
5518
5554
|
exclude: [triggerRef]
|
|
5519
5555
|
});
|
|
5520
5556
|
if (!isPresent) return null;
|
|
5521
|
-
return /* @__PURE__ */
|
|
5557
|
+
return /* @__PURE__ */ jsxs20(Portal, { children: [
|
|
5522
5558
|
/* @__PURE__ */ jsx49(AlertDialogOverlay, {}),
|
|
5523
5559
|
/* @__PURE__ */ jsx49(
|
|
5524
5560
|
"div",
|
|
@@ -5619,11 +5655,11 @@ var SHEET_SIDE_TOP = "data-[state=closed]:slide-out-to-top data-[state=open]:sli
|
|
|
5619
5655
|
var SHEET_SIDE_BOTTOM = "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t";
|
|
5620
5656
|
var SHEET_HEADER = "flex flex-col gap-1.5 p-4";
|
|
5621
5657
|
var SHEET_FOOTER = "mt-auto flex flex-col gap-2 p-4";
|
|
5622
|
-
var SHEET_TITLE = "text-
|
|
5623
|
-
var SHEET_DESCRIPTION = "text-
|
|
5658
|
+
var SHEET_TITLE = "text-ink font-semibold";
|
|
5659
|
+
var SHEET_DESCRIPTION = "text-ink-soft text-sm";
|
|
5624
5660
|
|
|
5625
5661
|
// src/components/sheet.tsx
|
|
5626
|
-
import { jsx as jsx50, jsxs as
|
|
5662
|
+
import { jsx as jsx50, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5627
5663
|
var SheetContext = React60.createContext(null);
|
|
5628
5664
|
function useSheet() {
|
|
5629
5665
|
const ctx = React60.useContext(SheetContext);
|
|
@@ -5701,9 +5737,9 @@ function SheetContent({ className, children, side = "right", ...props }) {
|
|
|
5701
5737
|
exclude: [triggerRef]
|
|
5702
5738
|
});
|
|
5703
5739
|
if (!isPresent) return null;
|
|
5704
|
-
return /* @__PURE__ */
|
|
5740
|
+
return /* @__PURE__ */ jsxs21(Portal, { children: [
|
|
5705
5741
|
/* @__PURE__ */ jsx50(SheetOverlay, {}),
|
|
5706
|
-
/* @__PURE__ */
|
|
5742
|
+
/* @__PURE__ */ jsxs21(
|
|
5707
5743
|
"div",
|
|
5708
5744
|
{
|
|
5709
5745
|
"data-slot": "sheet-content",
|
|
@@ -5715,7 +5751,7 @@ function SheetContent({ className, children, side = "right", ...props }) {
|
|
|
5715
5751
|
...props,
|
|
5716
5752
|
children: [
|
|
5717
5753
|
children,
|
|
5718
|
-
/* @__PURE__ */
|
|
5754
|
+
/* @__PURE__ */ jsxs21(
|
|
5719
5755
|
"button",
|
|
5720
5756
|
{
|
|
5721
5757
|
type: "button",
|
|
@@ -5804,11 +5840,11 @@ var DRAWER_OVERLAY = "data-[state=open]:animate-in data-[state=closed]:animate-o
|
|
|
5804
5840
|
var DRAWER_HANDLE = "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full";
|
|
5805
5841
|
var DRAWER_HEADER = "flex flex-col gap-0.5 p-4 text-center sm:gap-1.5 sm:text-left";
|
|
5806
5842
|
var DRAWER_FOOTER = "mt-auto flex flex-col gap-2 p-4";
|
|
5807
|
-
var DRAWER_TITLE = "text-
|
|
5808
|
-
var DRAWER_DESCRIPTION = "text-
|
|
5843
|
+
var DRAWER_TITLE = "text-ink font-semibold";
|
|
5844
|
+
var DRAWER_DESCRIPTION = "text-ink-soft text-sm";
|
|
5809
5845
|
|
|
5810
5846
|
// src/components/drawer.tsx
|
|
5811
|
-
import { jsx as jsx51, jsxs as
|
|
5847
|
+
import { jsx as jsx51, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5812
5848
|
var DrawerContext = React61.createContext(null);
|
|
5813
5849
|
function useDrawer() {
|
|
5814
5850
|
const ctx = React61.useContext(DrawerContext);
|
|
@@ -5877,7 +5913,7 @@ function DrawerContent({ className, children, ...props }) {
|
|
|
5877
5913
|
const { open, setOpen, direction } = useDrawer();
|
|
5878
5914
|
const scopeRef = useFocusScope(open);
|
|
5879
5915
|
if (!open) return null;
|
|
5880
|
-
return /* @__PURE__ */
|
|
5916
|
+
return /* @__PURE__ */ jsxs22(Portal, { children: [
|
|
5881
5917
|
/* @__PURE__ */ jsx51(
|
|
5882
5918
|
"div",
|
|
5883
5919
|
{
|
|
@@ -5887,7 +5923,7 @@ function DrawerContent({ className, children, ...props }) {
|
|
|
5887
5923
|
onClick: () => setOpen(false)
|
|
5888
5924
|
}
|
|
5889
5925
|
),
|
|
5890
|
-
/* @__PURE__ */
|
|
5926
|
+
/* @__PURE__ */ jsxs22(
|
|
5891
5927
|
"div",
|
|
5892
5928
|
{
|
|
5893
5929
|
role: "dialog",
|
|
@@ -5958,7 +5994,7 @@ function DrawerDescription({ className, ...props }) {
|
|
|
5958
5994
|
|
|
5959
5995
|
// src/components/select.tsx
|
|
5960
5996
|
import * as React62 from "react";
|
|
5961
|
-
import { jsx as jsx52, jsxs as
|
|
5997
|
+
import { jsx as jsx52, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5962
5998
|
var SelectContext = React62.createContext(null);
|
|
5963
5999
|
function useSelect() {
|
|
5964
6000
|
const ctx = React62.useContext(SelectContext);
|
|
@@ -6001,7 +6037,7 @@ function SelectTrigger({
|
|
|
6001
6037
|
...props
|
|
6002
6038
|
}) {
|
|
6003
6039
|
const { open, setOpen, anchorRef } = useSelect();
|
|
6004
|
-
return /* @__PURE__ */
|
|
6040
|
+
return /* @__PURE__ */ jsxs23(
|
|
6005
6041
|
"button",
|
|
6006
6042
|
{
|
|
6007
6043
|
type: "button",
|
|
@@ -6016,7 +6052,7 @@ function SelectTrigger({
|
|
|
6016
6052
|
setOpen(!open);
|
|
6017
6053
|
},
|
|
6018
6054
|
className: cn(
|
|
6019
|
-
"border-input data-[placeholder]:text-
|
|
6055
|
+
"border-input data-[placeholder]:text-ink-soft [&_svg:not([class*='text-'])]:text-ink-soft focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-accent-error/20 aria-invalid:border-accent-error flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6020
6056
|
className
|
|
6021
6057
|
),
|
|
6022
6058
|
...props,
|
|
@@ -6097,7 +6133,7 @@ function SelectContent({
|
|
|
6097
6133
|
tabIndex: -1,
|
|
6098
6134
|
onKeyDown,
|
|
6099
6135
|
className: cn(
|
|
6100
|
-
"bg-popover text-
|
|
6136
|
+
"bg-popover text-ink data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
6101
6137
|
className
|
|
6102
6138
|
),
|
|
6103
6139
|
...props,
|
|
@@ -6122,7 +6158,7 @@ function SelectItem({
|
|
|
6122
6158
|
}) {
|
|
6123
6159
|
const { value: selectedValue, setValue, setOpen } = useSelect();
|
|
6124
6160
|
const selected = selectedValue === value;
|
|
6125
|
-
return /* @__PURE__ */
|
|
6161
|
+
return /* @__PURE__ */ jsxs23(
|
|
6126
6162
|
"div",
|
|
6127
6163
|
{
|
|
6128
6164
|
role: "option",
|
|
@@ -6142,7 +6178,7 @@ function SelectItem({
|
|
|
6142
6178
|
}
|
|
6143
6179
|
},
|
|
6144
6180
|
className: cn(
|
|
6145
|
-
"focus:bg-
|
|
6181
|
+
"focus:bg-hover focus:text-ink [&_svg:not([class*='text-'])]:text-ink-soft relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
6146
6182
|
className
|
|
6147
6183
|
),
|
|
6148
6184
|
...props,
|
|
@@ -6177,7 +6213,7 @@ function SelectLabel({ className, ...props }) {
|
|
|
6177
6213
|
"div",
|
|
6178
6214
|
{
|
|
6179
6215
|
"data-slot": "select-label",
|
|
6180
|
-
className: cn("text-
|
|
6216
|
+
className: cn("text-ink-soft px-2 py-1.5 text-xs", className),
|
|
6181
6217
|
...props
|
|
6182
6218
|
}
|
|
6183
6219
|
);
|
|
@@ -6197,21 +6233,21 @@ function SelectSeparator({ className, ...props }) {
|
|
|
6197
6233
|
import * as React63 from "react";
|
|
6198
6234
|
|
|
6199
6235
|
// src/generated/command.ts
|
|
6200
|
-
var COMMAND_ROOT = "bg-popover text-
|
|
6236
|
+
var COMMAND_ROOT = "bg-popover text-ink flex h-full w-full flex-col overflow-hidden rounded-md";
|
|
6201
6237
|
var COMMAND_DIALOG_OVERLAY = "fixed inset-0 z-50 bg-black/50";
|
|
6202
6238
|
var COMMAND_DIALOG_CONTENT = "fixed top-1/2 left-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg border p-0 shadow-lg";
|
|
6203
6239
|
var COMMAND_DIALOG_COMMAND = "[&_[data-slot=command-input-wrapper]]:h-12 [&_[data-slot=command-input]]:h-12";
|
|
6204
6240
|
var COMMAND_INPUT_WRAPPER = "flex h-9 items-center gap-2 border-b px-3";
|
|
6205
|
-
var COMMAND_INPUT = "placeholder:text-
|
|
6241
|
+
var COMMAND_INPUT = "placeholder:text-ink-soft flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50";
|
|
6206
6242
|
var COMMAND_LIST = "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto";
|
|
6207
6243
|
var COMMAND_EMPTY = "py-6 text-center text-sm";
|
|
6208
|
-
var COMMAND_GROUP = "text-
|
|
6209
|
-
var COMMAND_ITEM = "data-[selected=true]:bg-
|
|
6244
|
+
var COMMAND_GROUP = "text-ink [&_[data-slot=command-group-heading]]:text-ink-soft overflow-hidden p-1 [&_[data-slot=command-group-heading]]:px-2 [&_[data-slot=command-group-heading]]:py-1.5 [&_[data-slot=command-group-heading]]:text-xs [&_[data-slot=command-group-heading]]:font-medium";
|
|
6245
|
+
var COMMAND_ITEM = "data-[selected=true]:bg-hover data-[selected=true]:text-ink [&_svg:not([class*='text-'])]:text-ink-soft relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
|
|
6210
6246
|
var COMMAND_SEPARATOR = "bg-border -mx-1 h-px";
|
|
6211
|
-
var COMMAND_SHORTCUT = "text-
|
|
6247
|
+
var COMMAND_SHORTCUT = "text-ink-soft ml-auto text-xs tracking-widest";
|
|
6212
6248
|
|
|
6213
6249
|
// src/components/command.tsx
|
|
6214
|
-
import { jsx as jsx53, jsxs as
|
|
6250
|
+
import { jsx as jsx53, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
6215
6251
|
var CommandContext = React63.createContext(null);
|
|
6216
6252
|
function useCommand() {
|
|
6217
6253
|
const ctx = React63.useContext(CommandContext);
|
|
@@ -6297,7 +6333,7 @@ function CommandDialog({
|
|
|
6297
6333
|
});
|
|
6298
6334
|
const scopeRef = useFocusScope(isOpen);
|
|
6299
6335
|
if (!isOpen) return null;
|
|
6300
|
-
return /* @__PURE__ */
|
|
6336
|
+
return /* @__PURE__ */ jsxs24(Portal, { children: [
|
|
6301
6337
|
/* @__PURE__ */ jsx53(
|
|
6302
6338
|
"div",
|
|
6303
6339
|
{
|
|
@@ -6327,8 +6363,8 @@ function CommandInput({
|
|
|
6327
6363
|
...props
|
|
6328
6364
|
}) {
|
|
6329
6365
|
const { search, setSearch } = useCommand();
|
|
6330
|
-
return /* @__PURE__ */
|
|
6331
|
-
/* @__PURE__ */
|
|
6366
|
+
return /* @__PURE__ */ jsxs24("div", { className: COMMAND_INPUT_WRAPPER, "data-slot": "command-input-wrapper", children: [
|
|
6367
|
+
/* @__PURE__ */ jsxs24(
|
|
6332
6368
|
"svg",
|
|
6333
6369
|
{
|
|
6334
6370
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -6387,7 +6423,7 @@ function CommandEmpty({ className, children, ...props }) {
|
|
|
6387
6423
|
);
|
|
6388
6424
|
}
|
|
6389
6425
|
function CommandGroup({ className, heading, children, ...props }) {
|
|
6390
|
-
return /* @__PURE__ */
|
|
6426
|
+
return /* @__PURE__ */ jsxs24(
|
|
6391
6427
|
"div",
|
|
6392
6428
|
{
|
|
6393
6429
|
role: "group",
|
|
@@ -6463,7 +6499,7 @@ var CHART_TOOLTIP = "border-border/50 bg-background grid min-w-[8rem] items-star
|
|
|
6463
6499
|
var CHART_LEGEND = "flex items-center justify-center gap-4";
|
|
6464
6500
|
|
|
6465
6501
|
// src/components/chart.tsx
|
|
6466
|
-
import { Fragment as Fragment7, jsx as jsx54, jsxs as
|
|
6502
|
+
import { Fragment as Fragment7, jsx as jsx54, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
6467
6503
|
var ChartContext = React64.createContext(null);
|
|
6468
6504
|
function useChart() {
|
|
6469
6505
|
const context = React64.useContext(ChartContext);
|
|
@@ -6481,7 +6517,7 @@ function ChartContainer({
|
|
|
6481
6517
|
}) {
|
|
6482
6518
|
const uniqueId = React64.useId();
|
|
6483
6519
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
6484
|
-
return /* @__PURE__ */ jsx54(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */
|
|
6520
|
+
return /* @__PURE__ */ jsx54(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs25(
|
|
6485
6521
|
"div",
|
|
6486
6522
|
{
|
|
6487
6523
|
"data-slot": "chart",
|
|
@@ -6524,18 +6560,18 @@ function ChartTooltipContent({
|
|
|
6524
6560
|
if (!items.length) {
|
|
6525
6561
|
return null;
|
|
6526
6562
|
}
|
|
6527
|
-
return /* @__PURE__ */
|
|
6563
|
+
return /* @__PURE__ */ jsxs25(
|
|
6528
6564
|
"div",
|
|
6529
6565
|
{
|
|
6530
6566
|
"data-slot": "chart-tooltip",
|
|
6531
6567
|
className: cn(CHART_TOOLTIP, className),
|
|
6532
6568
|
children: [
|
|
6533
6569
|
!hideLabel && label ? /* @__PURE__ */ jsx54("div", { className: cn("font-medium", labelClassName), children: label }) : null,
|
|
6534
|
-
/* @__PURE__ */ jsx54("div", { className: "grid gap-1.5", children: items.map((item, index) => /* @__PURE__ */
|
|
6570
|
+
/* @__PURE__ */ jsx54("div", { className: "grid gap-1.5", children: items.map((item, index) => /* @__PURE__ */ jsxs25(
|
|
6535
6571
|
"div",
|
|
6536
6572
|
{
|
|
6537
6573
|
className: cn(
|
|
6538
|
-
"[&>svg]:text-
|
|
6574
|
+
"[&>svg]:text-ink-soft flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 items-center"
|
|
6539
6575
|
),
|
|
6540
6576
|
children: [
|
|
6541
6577
|
!hideIndicator && /* @__PURE__ */ jsx54(
|
|
@@ -6548,9 +6584,9 @@ function ChartTooltipContent({
|
|
|
6548
6584
|
}
|
|
6549
6585
|
}
|
|
6550
6586
|
),
|
|
6551
|
-
/* @__PURE__ */
|
|
6552
|
-
/* @__PURE__ */ jsx54("span", { className: "text-
|
|
6553
|
-
item.value !== void 0 && /* @__PURE__ */ jsx54("span", { className: "text-
|
|
6587
|
+
/* @__PURE__ */ jsxs25("div", { className: "flex flex-1 justify-between leading-none items-center", children: [
|
|
6588
|
+
/* @__PURE__ */ jsx54("span", { className: "text-ink-soft", children: item.label }),
|
|
6589
|
+
item.value !== void 0 && /* @__PURE__ */ jsx54("span", { className: "text-ink font-mono font-medium tabular-nums", children: item.value })
|
|
6554
6590
|
] })
|
|
6555
6591
|
]
|
|
6556
6592
|
},
|
|
@@ -6579,11 +6615,11 @@ function ChartLegendContent({
|
|
|
6579
6615
|
{
|
|
6580
6616
|
"data-slot": "chart-legend",
|
|
6581
6617
|
className: cn(CHART_LEGEND, className),
|
|
6582
|
-
children: rows.map((item, index) => /* @__PURE__ */
|
|
6618
|
+
children: rows.map((item, index) => /* @__PURE__ */ jsxs25(
|
|
6583
6619
|
"div",
|
|
6584
6620
|
{
|
|
6585
6621
|
className: cn(
|
|
6586
|
-
"[&>svg]:text-
|
|
6622
|
+
"[&>svg]:text-ink-soft flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
|
|
6587
6623
|
),
|
|
6588
6624
|
children: [
|
|
6589
6625
|
!hideIcon && /* @__PURE__ */ jsx54(
|
|
@@ -6612,16 +6648,16 @@ var CALENDAR_NAV = "flex items-center justify-between gap-1 w-full px-1";
|
|
|
6612
6648
|
var CALENDAR_CAPTION = "text-sm font-medium select-none";
|
|
6613
6649
|
var CALENDAR_GRID = "w-full border-collapse mt-4";
|
|
6614
6650
|
var CALENDAR_WEEKDAY_ROW = "flex";
|
|
6615
|
-
var CALENDAR_WEEKDAY = "text-
|
|
6651
|
+
var CALENDAR_WEEKDAY = "text-ink-soft rounded-md flex-1 font-normal text-[0.8rem] select-none";
|
|
6616
6652
|
var CALENDAR_WEEK = "flex w-full mt-2";
|
|
6617
6653
|
var CALENDAR_DAY_EMPTY = "relative w-full h-full p-0 aspect-square select-none";
|
|
6618
6654
|
var CALENDAR_DAY_CELL = "relative w-full h-full p-0 text-center aspect-square select-none";
|
|
6619
6655
|
var CALENDAR_DAY = "size-auto w-full aspect-square font-normal leading-none";
|
|
6620
|
-
var CALENDAR_DAY_SELECTED = "bg-primary text-primary
|
|
6621
|
-
var CALENDAR_DAY_TODAY = "bg-
|
|
6656
|
+
var CALENDAR_DAY_SELECTED = "bg-primary text-on-primary";
|
|
6657
|
+
var CALENDAR_DAY_TODAY = "bg-hover text-ink rounded-md";
|
|
6622
6658
|
|
|
6623
6659
|
// src/components/calendar.tsx
|
|
6624
|
-
import { jsx as jsx55, jsxs as
|
|
6660
|
+
import { jsx as jsx55, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6625
6661
|
var MONTHS = [
|
|
6626
6662
|
"January",
|
|
6627
6663
|
"February",
|
|
@@ -6701,14 +6737,14 @@ function Calendar({
|
|
|
6701
6737
|
size: "icon",
|
|
6702
6738
|
className: CALENDAR_NAV_BUTTON
|
|
6703
6739
|
});
|
|
6704
|
-
return /* @__PURE__ */
|
|
6740
|
+
return /* @__PURE__ */ jsxs26(
|
|
6705
6741
|
"div",
|
|
6706
6742
|
{
|
|
6707
6743
|
"data-slot": "calendar",
|
|
6708
6744
|
role: "application",
|
|
6709
6745
|
className: cn(CALENDAR_ROOT, className),
|
|
6710
6746
|
children: [
|
|
6711
|
-
/* @__PURE__ */
|
|
6747
|
+
/* @__PURE__ */ jsxs26("div", { className: CALENDAR_NAV, children: [
|
|
6712
6748
|
/* @__PURE__ */ jsx55(
|
|
6713
6749
|
"button",
|
|
6714
6750
|
{
|
|
@@ -6731,7 +6767,7 @@ function Calendar({
|
|
|
6731
6767
|
}
|
|
6732
6768
|
)
|
|
6733
6769
|
] }),
|
|
6734
|
-
/* @__PURE__ */
|
|
6770
|
+
/* @__PURE__ */ jsxs26("table", { className: CALENDAR_GRID, role: "grid", children: [
|
|
6735
6771
|
/* @__PURE__ */ jsx55("thead", { children: /* @__PURE__ */ jsx55("tr", { className: CALENDAR_WEEKDAY_ROW, children: WEEKDAYS.map((wd) => /* @__PURE__ */ jsx55(
|
|
6736
6772
|
"th",
|
|
6737
6773
|
{
|
|
@@ -6795,11 +6831,11 @@ import * as React66 from "react";
|
|
|
6795
6831
|
// src/generated/sonner.ts
|
|
6796
6832
|
var TOAST_BASE = "pointer-events-auto flex w-full items-start gap-3 rounded-md border p-4 text-sm shadow-lg";
|
|
6797
6833
|
var toastVariantClasses = {
|
|
6798
|
-
"default": "bg-popover text-
|
|
6799
|
-
"success": "bg-popover text-
|
|
6800
|
-
"error": "bg-popover text-
|
|
6801
|
-
"info": "bg-popover text-
|
|
6802
|
-
"warning": "bg-popover text-
|
|
6834
|
+
"default": "bg-popover text-ink border-border",
|
|
6835
|
+
"success": "bg-popover text-ink border-positive/40",
|
|
6836
|
+
"error": "bg-popover text-ink border-accent-error/50",
|
|
6837
|
+
"info": "bg-popover text-ink border-border",
|
|
6838
|
+
"warning": "bg-popover text-ink border-border"
|
|
6803
6839
|
};
|
|
6804
6840
|
var TOASTER_BASE = "pointer-events-none fixed z-100 w-[calc(100%-2rem)] max-w-sm";
|
|
6805
6841
|
var positionClasses = {
|
|
@@ -6810,12 +6846,12 @@ var positionClasses = {
|
|
|
6810
6846
|
"bottom-center": "bottom-4 left-1/2 -translate-x-1/2",
|
|
6811
6847
|
"bottom-right": "bottom-4 right-4"
|
|
6812
6848
|
};
|
|
6813
|
-
var TOAST_CLOSE = "text-
|
|
6849
|
+
var TOAST_CLOSE = "text-ink/50 hover:text-ink shrink-0 transition-colors";
|
|
6814
6850
|
var TOAST_CONTENT = "flex-1 space-y-1";
|
|
6815
6851
|
var TOAST_TITLE = "font-medium";
|
|
6816
6852
|
|
|
6817
6853
|
// src/components/sonner.tsx
|
|
6818
|
-
import { jsx as jsx56, jsxs as
|
|
6854
|
+
import { jsx as jsx56, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6819
6855
|
var DEFAULT_DURATION = 4e3;
|
|
6820
6856
|
var SWIPE_THRESHOLD = 45;
|
|
6821
6857
|
var SWIPE_VELOCITY = 0.11;
|
|
@@ -6977,7 +7013,7 @@ function ToastItem({
|
|
|
6977
7013
|
);
|
|
6978
7014
|
}
|
|
6979
7015
|
};
|
|
6980
|
-
return /* @__PURE__ */
|
|
7016
|
+
return /* @__PURE__ */ jsxs27(
|
|
6981
7017
|
"li",
|
|
6982
7018
|
{
|
|
6983
7019
|
ref,
|
|
@@ -7005,9 +7041,9 @@ function ToastItem({
|
|
|
7005
7041
|
toastVariantClasses[t.variant]
|
|
7006
7042
|
),
|
|
7007
7043
|
children: [
|
|
7008
|
-
/* @__PURE__ */
|
|
7044
|
+
/* @__PURE__ */ jsxs27("div", { className: TOAST_CONTENT, children: [
|
|
7009
7045
|
/* @__PURE__ */ jsx56("div", { className: TOAST_TITLE, children: t.message }),
|
|
7010
|
-
t.description ? /* @__PURE__ */ jsx56("div", { className: "text-
|
|
7046
|
+
t.description ? /* @__PURE__ */ jsx56("div", { className: "text-ink-soft text-sm", children: t.description }) : null
|
|
7011
7047
|
] }),
|
|
7012
7048
|
/* @__PURE__ */ jsx56(
|
|
7013
7049
|
"button",
|
|
@@ -7123,8 +7159,8 @@ import * as React67 from "react";
|
|
|
7123
7159
|
|
|
7124
7160
|
// src/generated/form.ts
|
|
7125
7161
|
var FORM_ITEM = "grid gap-2";
|
|
7126
|
-
var FORM_DESCRIPTION = "text-
|
|
7127
|
-
var FORM_MESSAGE = "text-
|
|
7162
|
+
var FORM_DESCRIPTION = "text-ink-soft text-sm";
|
|
7163
|
+
var FORM_MESSAGE = "text-accent-error text-sm";
|
|
7128
7164
|
|
|
7129
7165
|
// src/components/form.tsx
|
|
7130
7166
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
@@ -7163,7 +7199,7 @@ function FormLabel({
|
|
|
7163
7199
|
{
|
|
7164
7200
|
"data-slot": "form-label",
|
|
7165
7201
|
"data-error": !!error,
|
|
7166
|
-
className: cn("data-[error=true]:text-
|
|
7202
|
+
className: cn("data-[error=true]:text-accent-error", className),
|
|
7167
7203
|
htmlFor: formItemId,
|
|
7168
7204
|
...props
|
|
7169
7205
|
}
|
|
@@ -7224,7 +7260,7 @@ var RESIZABLE_HANDLE = "bg-border focus-visible:ring-ring relative flex w-px ite
|
|
|
7224
7260
|
var RESIZABLE_HANDLE_GRIP = "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border";
|
|
7225
7261
|
|
|
7226
7262
|
// src/components/resizable.tsx
|
|
7227
|
-
import { jsx as jsx58, jsxs as
|
|
7263
|
+
import { jsx as jsx58, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
7228
7264
|
var ResizableContext = React68.createContext(null);
|
|
7229
7265
|
function useResizable() {
|
|
7230
7266
|
const ctx = React68.useContext(ResizableContext);
|
|
@@ -7360,7 +7396,7 @@ function ResizableHandle({
|
|
|
7360
7396
|
event.preventDefault();
|
|
7361
7397
|
resize(delta);
|
|
7362
7398
|
};
|
|
7363
|
-
return /* @__PURE__ */
|
|
7399
|
+
return /* @__PURE__ */ jsxs28(
|
|
7364
7400
|
"div",
|
|
7365
7401
|
{
|
|
7366
7402
|
"data-slot": "resizable-handle",
|
|
@@ -7373,7 +7409,7 @@ function ResizableHandle({
|
|
|
7373
7409
|
onKeyDown,
|
|
7374
7410
|
...props,
|
|
7375
7411
|
children: [
|
|
7376
|
-
withHandle && /* @__PURE__ */ jsx58("div", { className: RESIZABLE_HANDLE_GRIP, children: /* @__PURE__ */
|
|
7412
|
+
withHandle && /* @__PURE__ */ jsx58("div", { className: RESIZABLE_HANDLE_GRIP, children: /* @__PURE__ */ jsxs28(
|
|
7377
7413
|
"svg",
|
|
7378
7414
|
{
|
|
7379
7415
|
className: "size-2.5",
|
|
@@ -7455,6 +7491,7 @@ export {
|
|
|
7455
7491
|
ChartStyle,
|
|
7456
7492
|
ChartTooltip,
|
|
7457
7493
|
ChartTooltipContent,
|
|
7494
|
+
Check,
|
|
7458
7495
|
Checkbox,
|
|
7459
7496
|
Collapsible,
|
|
7460
7497
|
CollapsibleContent,
|
|
@@ -7494,6 +7531,7 @@ export {
|
|
|
7494
7531
|
DialogPortal,
|
|
7495
7532
|
DialogTitle,
|
|
7496
7533
|
DialogTrigger,
|
|
7534
|
+
Display,
|
|
7497
7535
|
Drawer,
|
|
7498
7536
|
DrawerClose,
|
|
7499
7537
|
DrawerContent,
|
|
@@ -7524,6 +7562,7 @@ export {
|
|
|
7524
7562
|
EmptyHeader,
|
|
7525
7563
|
EmptyMedia,
|
|
7526
7564
|
EmptyTitle,
|
|
7565
|
+
Eyebrow,
|
|
7527
7566
|
Field,
|
|
7528
7567
|
FieldContent,
|
|
7529
7568
|
FieldDescription,
|
|
@@ -7572,7 +7611,6 @@ export {
|
|
|
7572
7611
|
Kbd,
|
|
7573
7612
|
KbdGroup,
|
|
7574
7613
|
Label,
|
|
7575
|
-
Logo,
|
|
7576
7614
|
Menubar,
|
|
7577
7615
|
MenubarCheckboxItem,
|
|
7578
7616
|
MenubarContent,
|
|
@@ -7610,6 +7648,7 @@ export {
|
|
|
7610
7648
|
PopoverTrigger,
|
|
7611
7649
|
Portal,
|
|
7612
7650
|
Progress,
|
|
7651
|
+
Prose,
|
|
7613
7652
|
RadioGroup,
|
|
7614
7653
|
RadioGroupItem,
|
|
7615
7654
|
ResizableHandle,
|
|
@@ -7617,7 +7656,9 @@ export {
|
|
|
7617
7656
|
ResizablePanelGroup,
|
|
7618
7657
|
ScrollArea,
|
|
7619
7658
|
ScrollBar,
|
|
7659
|
+
Section,
|
|
7620
7660
|
SectionDescriptor,
|
|
7661
|
+
SectionHead,
|
|
7621
7662
|
Select,
|
|
7622
7663
|
SelectContent,
|
|
7623
7664
|
SelectGroup,
|
|
@@ -7656,6 +7697,7 @@ export {
|
|
|
7656
7697
|
Slider,
|
|
7657
7698
|
Slot,
|
|
7658
7699
|
Spinner,
|
|
7700
|
+
Stat,
|
|
7659
7701
|
StatusScreen,
|
|
7660
7702
|
Switch,
|
|
7661
7703
|
Table,
|
|
@@ -7683,7 +7725,6 @@ export {
|
|
|
7683
7725
|
cn,
|
|
7684
7726
|
mergeRefs,
|
|
7685
7727
|
navigationMenuTriggerStyle,
|
|
7686
|
-
statusButtonClass,
|
|
7687
7728
|
toast,
|
|
7688
7729
|
toggleVariants,
|
|
7689
7730
|
useControllableState,
|