@ai-matrx/design-system 0.30.0 → 0.32.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/CHANGELOG.md +38 -0
- package/dist/data-table/index.cjs +1 -1
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +1 -1
- package/dist/data-table/index.js.map +1 -1
- package/dist/data-table/spreadsheet.cjs +1 -1
- package/dist/data-table/spreadsheet.cjs.map +1 -1
- package/dist/data-table/spreadsheet.d.cts +11 -0
- package/dist/data-table/spreadsheet.d.ts +11 -0
- package/dist/data-table/spreadsheet.js +1 -1
- package/dist/data-table/spreadsheet.js.map +1 -1
- package/dist/index.cjs +162 -91
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +77 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.js +167 -96
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3583,6 +3583,9 @@ var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3583
3583
|
));
|
|
3584
3584
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3585
3585
|
|
|
3586
|
+
// src/organization-picker.tsx
|
|
3587
|
+
var React29 = __toESM(require("react"), 1);
|
|
3588
|
+
|
|
3586
3589
|
// src/skeleton.tsx
|
|
3587
3590
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3588
3591
|
function Skeleton({ className, animated = true, ...props }) {
|
|
@@ -3641,6 +3644,14 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
|
3641
3644
|
|
|
3642
3645
|
// src/organization-picker.tsx
|
|
3643
3646
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3647
|
+
var SEARCH_APPEARS_ABOVE = 8;
|
|
3648
|
+
function matchesQuery(org, query) {
|
|
3649
|
+
const q = query.trim().toLowerCase();
|
|
3650
|
+
if (!q) return true;
|
|
3651
|
+
if (org.name.toLowerCase().includes(q)) return true;
|
|
3652
|
+
const abbreviation = org.abbreviation?.trim().toLowerCase();
|
|
3653
|
+
return !!abbreviation && abbreviation.includes(q);
|
|
3654
|
+
}
|
|
3644
3655
|
function OrganizationAbbreviation({
|
|
3645
3656
|
abbreviation,
|
|
3646
3657
|
name,
|
|
@@ -3672,13 +3683,66 @@ function OrganizationPicker({
|
|
|
3672
3683
|
itemClassName,
|
|
3673
3684
|
className
|
|
3674
3685
|
}) {
|
|
3686
|
+
const [query, setQuery] = React29.useState("");
|
|
3687
|
+
const [showFixtures, setShowFixtures] = React29.useState(false);
|
|
3675
3688
|
const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
|
|
3676
3689
|
const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
|
|
3677
|
-
const
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3690
|
+
const rank = (org) => org.id === defaultOrganizationId ? 0 : org.isOwn ? 1 : 2;
|
|
3691
|
+
const ordered = [...organizations].sort((a, b) => rank(a) - rank(b));
|
|
3692
|
+
const matching = ordered.filter((org) => matchesQuery(org, query));
|
|
3693
|
+
const listed = matching.filter((org) => !org.isTestFixture);
|
|
3694
|
+
const fixtures = matching.filter((org) => org.isTestFixture);
|
|
3695
|
+
const searchable = organizations.length > SEARCH_APPEARS_ABOVE;
|
|
3681
3696
|
const sharesItsName = (org) => organizations.filter((other) => other.name.trim() === org.name.trim()).length > 1;
|
|
3697
|
+
const renderRow = (org) => {
|
|
3698
|
+
const isActive = org.id === activeOrganizationId;
|
|
3699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3700
|
+
"button",
|
|
3701
|
+
{
|
|
3702
|
+
type: "button",
|
|
3703
|
+
role: "option",
|
|
3704
|
+
"aria-selected": isActive,
|
|
3705
|
+
"aria-pressed": isActive,
|
|
3706
|
+
onClick: (event) => {
|
|
3707
|
+
event.stopPropagation();
|
|
3708
|
+
onSelect(org);
|
|
3709
|
+
},
|
|
3710
|
+
className: cn(
|
|
3711
|
+
"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-foreground transition-colors hover:bg-accent",
|
|
3712
|
+
isActive && "bg-primary/10 font-medium text-primary",
|
|
3713
|
+
itemClassName
|
|
3714
|
+
),
|
|
3715
|
+
children: [
|
|
3716
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3717
|
+
OrganizationAbbreviation,
|
|
3718
|
+
{
|
|
3719
|
+
abbreviation: org.abbreviation,
|
|
3720
|
+
name: org.name,
|
|
3721
|
+
className: cn(
|
|
3722
|
+
"h-5 min-w-8 rounded border border-border bg-muted px-1 text-[9px]",
|
|
3723
|
+
isActive ? "text-primary" : "text-muted-foreground"
|
|
3724
|
+
)
|
|
3725
|
+
}
|
|
3726
|
+
),
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
3728
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate", children: org.name }),
|
|
3729
|
+
sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
|
|
3730
|
+
] }),
|
|
3731
|
+
org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
|
|
3732
|
+
isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3733
|
+
StarIcon,
|
|
3734
|
+
{
|
|
3735
|
+
className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
|
|
3736
|
+
"aria-hidden": false,
|
|
3737
|
+
"aria-label": "Default organization",
|
|
3738
|
+
role: "img"
|
|
3739
|
+
}
|
|
3740
|
+
),
|
|
3741
|
+
isActive && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
|
|
3742
|
+
]
|
|
3743
|
+
}
|
|
3744
|
+
) }, org.id);
|
|
3745
|
+
};
|
|
3682
3746
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
|
|
3683
3747
|
!hideHeading && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
|
|
3684
3748
|
loading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
|
|
@@ -3690,55 +3754,62 @@ function OrganizationPicker({
|
|
|
3690
3754
|
" ",
|
|
3691
3755
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "font-medium text-foreground", children: active.name })
|
|
3692
3756
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
|
|
3693
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
"
|
|
3757
|
+
searchable && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "px-2 pb-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3758
|
+
Input,
|
|
3759
|
+
{
|
|
3760
|
+
type: "search",
|
|
3761
|
+
value: query,
|
|
3762
|
+
onChange: (event) => setQuery(event.target.value),
|
|
3763
|
+
onClick: (event) => event.stopPropagation(),
|
|
3764
|
+
onKeyDown: (event) => event.stopPropagation(),
|
|
3765
|
+
placeholder: "Search organizations",
|
|
3766
|
+
"aria-label": "Search organizations by name or abbreviation",
|
|
3767
|
+
className: "h-8 text-sm",
|
|
3768
|
+
"data-slot": "organization-picker-search"
|
|
3769
|
+
}
|
|
3770
|
+
) }),
|
|
3771
|
+
listed.length === 0 && fixtures.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3772
|
+
"p",
|
|
3773
|
+
{
|
|
3774
|
+
className: "px-2 py-2 text-xs text-muted-foreground",
|
|
3775
|
+
"data-slot": "organization-picker-no-match",
|
|
3776
|
+
children: [
|
|
3777
|
+
"No organization matches \u201C",
|
|
3778
|
+
query.trim(),
|
|
3779
|
+
"\u201D."
|
|
3780
|
+
]
|
|
3781
|
+
}
|
|
3782
|
+
) : listed.length === 0 ? (
|
|
3783
|
+
/* THE ARCHIVED-ITEMS LAW, honesty half: "nothing" may only be said
|
|
3784
|
+
when both halves are empty. Here the other half is one line down. */
|
|
3785
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3786
|
+
"p",
|
|
3697
3787
|
{
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
"aria-pressed": isActive,
|
|
3702
|
-
onClick: (event) => {
|
|
3703
|
-
event.stopPropagation();
|
|
3704
|
-
onSelect(org);
|
|
3705
|
-
},
|
|
3706
|
-
className: cn(
|
|
3707
|
-
"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-foreground transition-colors hover:bg-accent",
|
|
3708
|
-
isActive && "bg-primary/10 font-medium text-primary",
|
|
3709
|
-
itemClassName
|
|
3710
|
-
),
|
|
3711
|
-
children: [
|
|
3712
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3713
|
-
OrganizationAbbreviation,
|
|
3714
|
-
{
|
|
3715
|
-
abbreviation: org.abbreviation,
|
|
3716
|
-
name: org.name,
|
|
3717
|
-
className: cn(
|
|
3718
|
-
"h-5 min-w-8 rounded border border-border bg-muted px-1 text-[9px]",
|
|
3719
|
-
isActive ? "text-primary" : "text-muted-foreground"
|
|
3720
|
-
)
|
|
3721
|
-
}
|
|
3722
|
-
),
|
|
3723
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
3724
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate", children: org.name }),
|
|
3725
|
-
sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
|
|
3726
|
-
] }),
|
|
3727
|
-
org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
|
|
3728
|
-
isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3729
|
-
StarIcon,
|
|
3730
|
-
{
|
|
3731
|
-
className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
|
|
3732
|
-
"aria-hidden": false,
|
|
3733
|
-
"aria-label": "Default organization",
|
|
3734
|
-
role: "img"
|
|
3735
|
-
}
|
|
3736
|
-
),
|
|
3737
|
-
isActive && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
|
|
3738
|
-
]
|
|
3788
|
+
className: "px-2 py-2 text-xs text-muted-foreground",
|
|
3789
|
+
"data-slot": "organization-picker-only-fixtures",
|
|
3790
|
+
children: query.trim() ? `Nothing matches \u201C${query.trim()}\u201D outside the test organizations below.` : `Every organization you belong to is a test organization \u2014 all ${fixtures.length} are below.`
|
|
3739
3791
|
}
|
|
3740
|
-
)
|
|
3741
|
-
|
|
3792
|
+
)
|
|
3793
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: listed.map(renderRow) }),
|
|
3794
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3795
|
+
ArchivedDisclosure,
|
|
3796
|
+
{
|
|
3797
|
+
count: fixtures.length,
|
|
3798
|
+
open: showFixtures,
|
|
3799
|
+
onOpenChange: setShowFixtures,
|
|
3800
|
+
label: "Test organizations",
|
|
3801
|
+
className: "mt-0.5",
|
|
3802
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3803
|
+
"ul",
|
|
3804
|
+
{
|
|
3805
|
+
className: "max-h-72 overflow-y-auto",
|
|
3806
|
+
role: "listbox",
|
|
3807
|
+
"aria-label": "Test organizations",
|
|
3808
|
+
children: fixtures.map(renderRow)
|
|
3809
|
+
}
|
|
3810
|
+
)
|
|
3811
|
+
}
|
|
3812
|
+
),
|
|
3742
3813
|
onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
3743
3814
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "my-1 border-t border-border" }),
|
|
3744
3815
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
@@ -3839,17 +3910,17 @@ function TabbedBottomSheet({
|
|
|
3839
3910
|
}
|
|
3840
3911
|
|
|
3841
3912
|
// src/table.tsx
|
|
3842
|
-
var
|
|
3913
|
+
var React30 = __toESM(require("react"), 1);
|
|
3843
3914
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3844
3915
|
var TABLE_SIZES = {
|
|
3845
3916
|
sm: { head: "px-2", cell: "p-2" },
|
|
3846
3917
|
md: { head: "px-3", cell: "p-3" }
|
|
3847
3918
|
};
|
|
3848
|
-
var TableSizeContext =
|
|
3919
|
+
var TableSizeContext = React30.createContext("md");
|
|
3849
3920
|
function useTableSize() {
|
|
3850
|
-
return
|
|
3921
|
+
return React30.useContext(TableSizeContext);
|
|
3851
3922
|
}
|
|
3852
|
-
var Table =
|
|
3923
|
+
var Table = React30.forwardRef(
|
|
3853
3924
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3854
3925
|
const table = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3855
3926
|
"table",
|
|
@@ -3872,7 +3943,7 @@ var Table = React29.forwardRef(
|
|
|
3872
3943
|
}
|
|
3873
3944
|
);
|
|
3874
3945
|
Table.displayName = "Table";
|
|
3875
|
-
var TableHeader =
|
|
3946
|
+
var TableHeader = React30.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3876
3947
|
"thead",
|
|
3877
3948
|
{
|
|
3878
3949
|
ref,
|
|
@@ -3886,7 +3957,7 @@ var TableHeader = React29.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3886
3957
|
}
|
|
3887
3958
|
));
|
|
3888
3959
|
TableHeader.displayName = "TableHeader";
|
|
3889
|
-
var TableBody =
|
|
3960
|
+
var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3890
3961
|
"tbody",
|
|
3891
3962
|
{
|
|
3892
3963
|
ref,
|
|
@@ -3896,7 +3967,7 @@ var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3896
3967
|
}
|
|
3897
3968
|
));
|
|
3898
3969
|
TableBody.displayName = "TableBody";
|
|
3899
|
-
var TableFooter =
|
|
3970
|
+
var TableFooter = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3900
3971
|
"tfoot",
|
|
3901
3972
|
{
|
|
3902
3973
|
ref,
|
|
@@ -3909,7 +3980,7 @@ var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3909
3980
|
}
|
|
3910
3981
|
));
|
|
3911
3982
|
TableFooter.displayName = "TableFooter";
|
|
3912
|
-
var TableRow =
|
|
3983
|
+
var TableRow = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3913
3984
|
"tr",
|
|
3914
3985
|
{
|
|
3915
3986
|
ref,
|
|
@@ -3922,7 +3993,7 @@ var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3922
3993
|
}
|
|
3923
3994
|
));
|
|
3924
3995
|
TableRow.displayName = "TableRow";
|
|
3925
|
-
var TableHead =
|
|
3996
|
+
var TableHead = React30.forwardRef(({ className, ...props }, ref) => {
|
|
3926
3997
|
const size = useTableSize();
|
|
3927
3998
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3928
3999
|
"th",
|
|
@@ -3939,7 +4010,7 @@ var TableHead = React29.forwardRef(({ className, ...props }, ref) => {
|
|
|
3939
4010
|
);
|
|
3940
4011
|
});
|
|
3941
4012
|
TableHead.displayName = "TableHead";
|
|
3942
|
-
var TableCell =
|
|
4013
|
+
var TableCell = React30.forwardRef(({ className, ...props }, ref) => {
|
|
3943
4014
|
const size = useTableSize();
|
|
3944
4015
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3945
4016
|
"td",
|
|
@@ -3956,7 +4027,7 @@ var TableCell = React29.forwardRef(({ className, ...props }, ref) => {
|
|
|
3956
4027
|
);
|
|
3957
4028
|
});
|
|
3958
4029
|
TableCell.displayName = "TableCell";
|
|
3959
|
-
var TableCaption =
|
|
4030
|
+
var TableCaption = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3960
4031
|
"caption",
|
|
3961
4032
|
{
|
|
3962
4033
|
ref,
|
|
@@ -3969,11 +4040,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
3969
4040
|
|
|
3970
4041
|
// src/tabs.tsx
|
|
3971
4042
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3972
|
-
var
|
|
4043
|
+
var React31 = __toESM(require("react"), 1);
|
|
3973
4044
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3974
4045
|
var Tabs = TabsPrimitive.Root;
|
|
3975
4046
|
var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
|
|
3976
|
-
var TabsList =
|
|
4047
|
+
var TabsList = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3977
4048
|
TabsPrimitive.List,
|
|
3978
4049
|
{
|
|
3979
4050
|
ref,
|
|
@@ -3986,7 +4057,7 @@ var TabsList = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3986
4057
|
}
|
|
3987
4058
|
));
|
|
3988
4059
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3989
|
-
var TabsTrigger =
|
|
4060
|
+
var TabsTrigger = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3990
4061
|
TabsPrimitive.Trigger,
|
|
3991
4062
|
{
|
|
3992
4063
|
ref,
|
|
@@ -4000,7 +4071,7 @@ var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
4000
4071
|
}
|
|
4001
4072
|
));
|
|
4002
4073
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
4003
|
-
var TabsTriggerCore =
|
|
4074
|
+
var TabsTriggerCore = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4004
4075
|
TabsPrimitive.Trigger,
|
|
4005
4076
|
{
|
|
4006
4077
|
ref,
|
|
@@ -4010,7 +4081,7 @@ var TabsTriggerCore = React30.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
4010
4081
|
}
|
|
4011
4082
|
));
|
|
4012
4083
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
4013
|
-
var TabsContent =
|
|
4084
|
+
var TabsContent = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4014
4085
|
TabsPrimitive.Content,
|
|
4015
4086
|
{
|
|
4016
4087
|
ref,
|
|
@@ -4026,7 +4097,7 @@ var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
4026
4097
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
4027
4098
|
|
|
4028
4099
|
// src/textarea.tsx
|
|
4029
|
-
var
|
|
4100
|
+
var React32 = __toESM(require("react"), 1);
|
|
4030
4101
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
4031
4102
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
4032
4103
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
@@ -4040,7 +4111,7 @@ function getStretchClasses(className) {
|
|
|
4040
4111
|
var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
4041
4112
|
var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
4042
4113
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
4043
|
-
|
|
4114
|
+
React32.useEffect(() => {
|
|
4044
4115
|
if (!autoGrow || !ref.current) return;
|
|
4045
4116
|
const textarea = ref.current;
|
|
4046
4117
|
textarea.style.height = "auto";
|
|
@@ -4056,8 +4127,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
4056
4127
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
4057
4128
|
}
|
|
4058
4129
|
function useMergedTextareaRef(forwarded) {
|
|
4059
|
-
const internal =
|
|
4060
|
-
const callback =
|
|
4130
|
+
const internal = React32.useRef(null);
|
|
4131
|
+
const callback = React32.useCallback(
|
|
4061
4132
|
(node) => {
|
|
4062
4133
|
internal.current = node;
|
|
4063
4134
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -4074,7 +4145,7 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
4074
4145
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
4075
4146
|
};
|
|
4076
4147
|
}
|
|
4077
|
-
var Textarea =
|
|
4148
|
+
var Textarea = React32.forwardRef(
|
|
4078
4149
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
4079
4150
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
4080
4151
|
const stretchClasses = getStretchClasses(className);
|
|
@@ -4100,7 +4171,7 @@ var Textarea = React31.forwardRef(
|
|
|
4100
4171
|
}
|
|
4101
4172
|
);
|
|
4102
4173
|
Textarea.displayName = "Textarea";
|
|
4103
|
-
var BasicTextarea =
|
|
4174
|
+
var BasicTextarea = React32.forwardRef(
|
|
4104
4175
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
4105
4176
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
4106
4177
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
@@ -4122,7 +4193,7 @@ var BasicTextarea = React31.forwardRef(
|
|
|
4122
4193
|
}
|
|
4123
4194
|
);
|
|
4124
4195
|
BasicTextarea.displayName = "BasicTextarea";
|
|
4125
|
-
var TextareaWithPrefix =
|
|
4196
|
+
var TextareaWithPrefix = React32.forwardRef(
|
|
4126
4197
|
({
|
|
4127
4198
|
prefix,
|
|
4128
4199
|
className,
|
|
@@ -4219,11 +4290,11 @@ function useScrollFade() {
|
|
|
4219
4290
|
|
|
4220
4291
|
// src/hover-card.tsx
|
|
4221
4292
|
var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
|
|
4222
|
-
var
|
|
4293
|
+
var React33 = __toESM(require("react"), 1);
|
|
4223
4294
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
4224
4295
|
var HoverCard = HoverCardPrimitive.Root;
|
|
4225
4296
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
4226
|
-
var HoverCardContent =
|
|
4297
|
+
var HoverCardContent = React33.forwardRef(
|
|
4227
4298
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4228
4299
|
const resolved = usePortalContainer(container);
|
|
4229
4300
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
@@ -4247,9 +4318,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
4247
4318
|
|
|
4248
4319
|
// src/radio-group.tsx
|
|
4249
4320
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
4250
|
-
var
|
|
4321
|
+
var React34 = __toESM(require("react"), 1);
|
|
4251
4322
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4252
|
-
var RadioGroupSizeContext =
|
|
4323
|
+
var RadioGroupSizeContext = React34.createContext("md");
|
|
4253
4324
|
var CONTROL_CLASSES = {
|
|
4254
4325
|
sm: "h-3.5 w-3.5",
|
|
4255
4326
|
md: "h-4 w-4",
|
|
@@ -4260,7 +4331,7 @@ var DOT_CLASSES = {
|
|
|
4260
4331
|
md: "h-1.5 w-1.5",
|
|
4261
4332
|
lg: "h-2 w-2"
|
|
4262
4333
|
};
|
|
4263
|
-
var RadioGroup3 =
|
|
4334
|
+
var RadioGroup3 = React34.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4264
4335
|
RadioGroupPrimitive.Root,
|
|
4265
4336
|
{
|
|
4266
4337
|
ref,
|
|
@@ -4270,8 +4341,8 @@ var RadioGroup3 = React33.forwardRef(({ className, size = "md", ...props }, ref)
|
|
|
4270
4341
|
}
|
|
4271
4342
|
) }));
|
|
4272
4343
|
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
4273
|
-
var RadioGroupItem =
|
|
4274
|
-
const groupSize =
|
|
4344
|
+
var RadioGroupItem = React34.forwardRef(({ className, size, ...props }, ref) => {
|
|
4345
|
+
const groupSize = React34.useContext(RadioGroupSizeContext);
|
|
4275
4346
|
const resolved = size ?? groupSize;
|
|
4276
4347
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4277
4348
|
RadioGroupPrimitive.Item,
|
|
@@ -4359,7 +4430,7 @@ ResizableHandle.displayName = "ResizableHandle";
|
|
|
4359
4430
|
|
|
4360
4431
|
// src/slider.tsx
|
|
4361
4432
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
4362
|
-
var
|
|
4433
|
+
var React35 = __toESM(require("react"), 1);
|
|
4363
4434
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
4364
4435
|
var TRACK_CLASSES = {
|
|
4365
4436
|
sm: "h-1",
|
|
@@ -4371,7 +4442,7 @@ var THUMB_CLASSES = {
|
|
|
4371
4442
|
md: "h-4 w-4",
|
|
4372
4443
|
lg: "h-5 w-5"
|
|
4373
4444
|
};
|
|
4374
|
-
var Slider =
|
|
4445
|
+
var Slider = React35.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
4375
4446
|
const thumbCount = Math.max(
|
|
4376
4447
|
1,
|
|
4377
4448
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
@@ -4433,7 +4504,7 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
4433
4504
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
4434
4505
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
4435
4506
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4436
|
-
var
|
|
4507
|
+
var React36 = __toESM(require("react"), 1);
|
|
4437
4508
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4438
4509
|
var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
4439
4510
|
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
@@ -4455,7 +4526,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
|
4455
4526
|
}
|
|
4456
4527
|
}
|
|
4457
4528
|
);
|
|
4458
|
-
var Toggle =
|
|
4529
|
+
var Toggle = React36.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4459
4530
|
TogglePrimitive.Root,
|
|
4460
4531
|
{
|
|
4461
4532
|
ref,
|
|
@@ -4465,8 +4536,8 @@ var Toggle = React35.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
4465
4536
|
}
|
|
4466
4537
|
));
|
|
4467
4538
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
4468
|
-
var ToggleGroupContext =
|
|
4469
|
-
var ToggleGroup =
|
|
4539
|
+
var ToggleGroupContext = React36.createContext({ size: "default", variant: "default" });
|
|
4540
|
+
var ToggleGroup = React36.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4470
4541
|
ToggleGroupPrimitive.Root,
|
|
4471
4542
|
{
|
|
4472
4543
|
ref,
|
|
@@ -4477,8 +4548,8 @@ var ToggleGroup = React35.forwardRef(({ className, variant, size, children, ...p
|
|
|
4477
4548
|
}
|
|
4478
4549
|
));
|
|
4479
4550
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
4480
|
-
var ToggleGroupItem =
|
|
4481
|
-
const context =
|
|
4551
|
+
var ToggleGroupItem = React36.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
4552
|
+
const context = React36.useContext(ToggleGroupContext);
|
|
4482
4553
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4483
4554
|
ToggleGroupPrimitive.Item,
|
|
4484
4555
|
{
|
|
@@ -4500,12 +4571,12 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
4500
4571
|
|
|
4501
4572
|
// src/tooltip.tsx
|
|
4502
4573
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
4503
|
-
var
|
|
4574
|
+
var React37 = __toESM(require("react"), 1);
|
|
4504
4575
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
4505
4576
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4506
4577
|
var Tooltip = TooltipPrimitive.Root;
|
|
4507
4578
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4508
|
-
var TooltipContent =
|
|
4579
|
+
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4509
4580
|
const resolved = usePortalContainer(container);
|
|
4510
4581
|
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4511
4582
|
TooltipPrimitive.Content,
|