@ai-matrx/design-system 0.11.6 → 0.12.1
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/README.md +2 -0
- package/dist/index.cjs +196 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -1
- package/dist/index.d.ts +43 -1
- package/dist/index.js +196 -53
- package/dist/index.js.map +1 -1
- package/dist/styles.css +16 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -194,6 +194,9 @@ function DragHandleDots2Icon(props) {
|
|
|
194
194
|
}
|
|
195
195
|
) });
|
|
196
196
|
}
|
|
197
|
+
function StarIcon(props) {
|
|
198
|
+
return /* @__PURE__ */ jsx("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx("path", { d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" }) });
|
|
199
|
+
}
|
|
197
200
|
|
|
198
201
|
// src/accordion.tsx
|
|
199
202
|
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
@@ -567,6 +570,7 @@ function BottomSheetFooter({
|
|
|
567
570
|
return /* @__PURE__ */ jsx6(
|
|
568
571
|
"div",
|
|
569
572
|
{
|
|
573
|
+
"data-slot": "bottom-sheet-footer",
|
|
570
574
|
className: cn(
|
|
571
575
|
"flex-shrink-0 px-4 py-3 pb-safe border-t border-[var(--matrx-sheet-divider)]",
|
|
572
576
|
className
|
|
@@ -3201,6 +3205,7 @@ var SheetFooter = ({
|
|
|
3201
3205
|
}) => /* @__PURE__ */ jsx33(
|
|
3202
3206
|
"div",
|
|
3203
3207
|
{
|
|
3208
|
+
"data-slot": "sheet-footer",
|
|
3204
3209
|
className: cn(
|
|
3205
3210
|
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
3206
3211
|
className
|
|
@@ -3275,9 +3280,145 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3275
3280
|
));
|
|
3276
3281
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3277
3282
|
|
|
3283
|
+
// src/organization-picker.tsx
|
|
3284
|
+
import { Fragment as Fragment2, jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3285
|
+
function OrganizationAbbreviation({
|
|
3286
|
+
abbreviation,
|
|
3287
|
+
name,
|
|
3288
|
+
className
|
|
3289
|
+
}) {
|
|
3290
|
+
const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
|
|
3291
|
+
return /* @__PURE__ */ jsx36(
|
|
3292
|
+
"span",
|
|
3293
|
+
{
|
|
3294
|
+
className: cn(
|
|
3295
|
+
"inline-flex shrink-0 items-center justify-center font-bold uppercase tracking-wide",
|
|
3296
|
+
className
|
|
3297
|
+
),
|
|
3298
|
+
"aria-label": `Organization abbreviation ${mark}`,
|
|
3299
|
+
title: mark,
|
|
3300
|
+
children: mark
|
|
3301
|
+
}
|
|
3302
|
+
);
|
|
3303
|
+
}
|
|
3304
|
+
function OrganizationPicker({
|
|
3305
|
+
organizations,
|
|
3306
|
+
activeOrganizationId,
|
|
3307
|
+
defaultOrganizationId = null,
|
|
3308
|
+
loading = false,
|
|
3309
|
+
loadFailed = false,
|
|
3310
|
+
onSelect,
|
|
3311
|
+
onSetDefault,
|
|
3312
|
+
hideHeading = false,
|
|
3313
|
+
itemClassName,
|
|
3314
|
+
className
|
|
3315
|
+
}) {
|
|
3316
|
+
const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
|
|
3317
|
+
const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
|
|
3318
|
+
return /* @__PURE__ */ jsxs19("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
|
|
3319
|
+
!hideHeading && /* @__PURE__ */ jsx36("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
|
|
3320
|
+
loading ? /* @__PURE__ */ jsxs19("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
|
|
3321
|
+
/* @__PURE__ */ jsx36(Skeleton, { className: "h-7 rounded-md" }),
|
|
3322
|
+
/* @__PURE__ */ jsx36(Skeleton, { className: "h-7 rounded-md" })
|
|
3323
|
+
] }) : loadFailed ? /* @__PURE__ */ jsx36("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ jsx36("p", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Your account is not a member of any organization. Ask an administrator to add you to one." }) : /* @__PURE__ */ jsxs19(Fragment2, { children: [
|
|
3324
|
+
active ? /* @__PURE__ */ jsxs19("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
|
|
3325
|
+
"Working in",
|
|
3326
|
+
" ",
|
|
3327
|
+
/* @__PURE__ */ jsx36("span", { className: "font-medium text-foreground", children: active.name })
|
|
3328
|
+
] }) : /* @__PURE__ */ jsx36("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
|
|
3329
|
+
/* @__PURE__ */ jsx36("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
|
|
3330
|
+
const isActive = org.id === activeOrganizationId;
|
|
3331
|
+
return /* @__PURE__ */ jsx36("li", { role: "none", children: /* @__PURE__ */ jsxs19(
|
|
3332
|
+
"button",
|
|
3333
|
+
{
|
|
3334
|
+
type: "button",
|
|
3335
|
+
role: "option",
|
|
3336
|
+
"aria-selected": isActive,
|
|
3337
|
+
"aria-pressed": isActive,
|
|
3338
|
+
onClick: (event) => {
|
|
3339
|
+
event.stopPropagation();
|
|
3340
|
+
onSelect(org);
|
|
3341
|
+
},
|
|
3342
|
+
className: cn(
|
|
3343
|
+
"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",
|
|
3344
|
+
isActive && "bg-primary/10 font-medium text-primary",
|
|
3345
|
+
itemClassName
|
|
3346
|
+
),
|
|
3347
|
+
children: [
|
|
3348
|
+
/* @__PURE__ */ jsx36(
|
|
3349
|
+
OrganizationAbbreviation,
|
|
3350
|
+
{
|
|
3351
|
+
abbreviation: org.abbreviation,
|
|
3352
|
+
name: org.name,
|
|
3353
|
+
className: cn(
|
|
3354
|
+
"h-5 min-w-8 rounded border border-border bg-muted px-1 text-[9px]",
|
|
3355
|
+
isActive ? "text-primary" : "text-muted-foreground"
|
|
3356
|
+
)
|
|
3357
|
+
}
|
|
3358
|
+
),
|
|
3359
|
+
/* @__PURE__ */ jsx36("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
|
|
3360
|
+
org.isPersonal && /* @__PURE__ */ jsx36("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
|
|
3361
|
+
isDefault(org.id) && /* @__PURE__ */ jsx36(
|
|
3362
|
+
StarIcon,
|
|
3363
|
+
{
|
|
3364
|
+
className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
|
|
3365
|
+
"aria-hidden": false,
|
|
3366
|
+
"aria-label": "Default organization",
|
|
3367
|
+
role: "img"
|
|
3368
|
+
}
|
|
3369
|
+
),
|
|
3370
|
+
isActive && /* @__PURE__ */ jsx36(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
|
|
3371
|
+
]
|
|
3372
|
+
}
|
|
3373
|
+
) }, org.id);
|
|
3374
|
+
}) }),
|
|
3375
|
+
onSetDefault && /* @__PURE__ */ jsxs19(Fragment2, { children: [
|
|
3376
|
+
/* @__PURE__ */ jsx36("div", { className: "my-1 border-t border-border" }),
|
|
3377
|
+
/* @__PURE__ */ jsx36(
|
|
3378
|
+
DefaultOrganizationSwitch,
|
|
3379
|
+
{
|
|
3380
|
+
active,
|
|
3381
|
+
checked: !!active && isDefault(active.id),
|
|
3382
|
+
onChange: (on) => onSetDefault(on && active ? active.id : null)
|
|
3383
|
+
}
|
|
3384
|
+
)
|
|
3385
|
+
] })
|
|
3386
|
+
] })
|
|
3387
|
+
] });
|
|
3388
|
+
}
|
|
3389
|
+
function DefaultOrganizationSwitch({
|
|
3390
|
+
active,
|
|
3391
|
+
checked,
|
|
3392
|
+
onChange
|
|
3393
|
+
}) {
|
|
3394
|
+
const disabled = !active;
|
|
3395
|
+
return /* @__PURE__ */ jsxs19(
|
|
3396
|
+
"div",
|
|
3397
|
+
{
|
|
3398
|
+
className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
|
|
3399
|
+
"data-slot": "organization-picker-default",
|
|
3400
|
+
children: [
|
|
3401
|
+
/* @__PURE__ */ jsxs19("div", { className: "min-w-0", children: [
|
|
3402
|
+
/* @__PURE__ */ jsx36("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
|
|
3403
|
+
/* @__PURE__ */ jsx36("p", { className: "truncate text-[11px] text-muted-foreground", children: disabled ? "Select an organization first" : checked ? `Next startup opens ${active.name}` : "Auto-select this at startup" })
|
|
3404
|
+
] }),
|
|
3405
|
+
/* @__PURE__ */ jsx36(
|
|
3406
|
+
Switch,
|
|
3407
|
+
{
|
|
3408
|
+
checked,
|
|
3409
|
+
disabled,
|
|
3410
|
+
onCheckedChange: onChange,
|
|
3411
|
+
"aria-label": "Set this organization as my default"
|
|
3412
|
+
}
|
|
3413
|
+
)
|
|
3414
|
+
]
|
|
3415
|
+
}
|
|
3416
|
+
);
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3278
3419
|
// src/tabbed-bottom-sheet.tsx
|
|
3279
3420
|
import { useState as useState7 } from "react";
|
|
3280
|
-
import { jsx as
|
|
3421
|
+
import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3281
3422
|
function TabbedBottomSheet({
|
|
3282
3423
|
open,
|
|
3283
3424
|
onOpenChange,
|
|
@@ -3291,15 +3432,15 @@ function TabbedBottomSheet({
|
|
|
3291
3432
|
if (open) setSelectedTabId(null);
|
|
3292
3433
|
}
|
|
3293
3434
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
3294
|
-
return /* @__PURE__ */
|
|
3435
|
+
return /* @__PURE__ */ jsx37(
|
|
3295
3436
|
BottomSheet,
|
|
3296
3437
|
{
|
|
3297
3438
|
open,
|
|
3298
3439
|
onOpenChange,
|
|
3299
3440
|
title,
|
|
3300
3441
|
size: "full",
|
|
3301
|
-
children: /* @__PURE__ */
|
|
3302
|
-
/* @__PURE__ */
|
|
3442
|
+
children: /* @__PURE__ */ jsxs20("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
3443
|
+
/* @__PURE__ */ jsx37(
|
|
3303
3444
|
BottomSheetHeader,
|
|
3304
3445
|
{
|
|
3305
3446
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -3307,19 +3448,19 @@ function TabbedBottomSheet({
|
|
|
3307
3448
|
onBack: () => setSelectedTabId(null)
|
|
3308
3449
|
}
|
|
3309
3450
|
),
|
|
3310
|
-
selectedTab ? /* @__PURE__ */
|
|
3451
|
+
selectedTab ? /* @__PURE__ */ jsx37("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx37(BottomSheetBody, { children: /* @__PURE__ */ jsx37("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
|
|
3311
3452
|
const Icon2 = tab.icon;
|
|
3312
|
-
return /* @__PURE__ */
|
|
3453
|
+
return /* @__PURE__ */ jsx37("li", { children: /* @__PURE__ */ jsxs20(
|
|
3313
3454
|
"button",
|
|
3314
3455
|
{
|
|
3315
3456
|
type: "button",
|
|
3316
3457
|
onClick: () => setSelectedTabId(tab.id),
|
|
3317
3458
|
className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
|
|
3318
3459
|
children: [
|
|
3319
|
-
Icon2 ? /* @__PURE__ */
|
|
3320
|
-
/* @__PURE__ */
|
|
3460
|
+
Icon2 ? /* @__PURE__ */ jsx37(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
3461
|
+
/* @__PURE__ */ jsx37("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
3321
3462
|
tab.trailing,
|
|
3322
|
-
/* @__PURE__ */
|
|
3463
|
+
/* @__PURE__ */ jsx37(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
3323
3464
|
]
|
|
3324
3465
|
}
|
|
3325
3466
|
) }, tab.id);
|
|
@@ -3331,7 +3472,7 @@ function TabbedBottomSheet({
|
|
|
3331
3472
|
|
|
3332
3473
|
// src/table.tsx
|
|
3333
3474
|
import * as React28 from "react";
|
|
3334
|
-
import { jsx as
|
|
3475
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3335
3476
|
var TABLE_SIZES = {
|
|
3336
3477
|
sm: { head: "px-2", cell: "p-2" },
|
|
3337
3478
|
md: { head: "px-3", cell: "p-3" }
|
|
@@ -3342,7 +3483,7 @@ function useTableSize() {
|
|
|
3342
3483
|
}
|
|
3343
3484
|
var Table = React28.forwardRef(
|
|
3344
3485
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3345
|
-
const table = /* @__PURE__ */
|
|
3486
|
+
const table = /* @__PURE__ */ jsx38(
|
|
3346
3487
|
"table",
|
|
3347
3488
|
{
|
|
3348
3489
|
ref,
|
|
@@ -3352,7 +3493,7 @@ var Table = React28.forwardRef(
|
|
|
3352
3493
|
...props
|
|
3353
3494
|
}
|
|
3354
3495
|
);
|
|
3355
|
-
return /* @__PURE__ */
|
|
3496
|
+
return /* @__PURE__ */ jsx38(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx38(
|
|
3356
3497
|
"div",
|
|
3357
3498
|
{
|
|
3358
3499
|
"data-slot": "table-wrapper",
|
|
@@ -3363,7 +3504,7 @@ var Table = React28.forwardRef(
|
|
|
3363
3504
|
}
|
|
3364
3505
|
);
|
|
3365
3506
|
Table.displayName = "Table";
|
|
3366
|
-
var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */
|
|
3507
|
+
var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3367
3508
|
"thead",
|
|
3368
3509
|
{
|
|
3369
3510
|
ref,
|
|
@@ -3377,7 +3518,7 @@ var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3377
3518
|
}
|
|
3378
3519
|
));
|
|
3379
3520
|
TableHeader.displayName = "TableHeader";
|
|
3380
|
-
var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3521
|
+
var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3381
3522
|
"tbody",
|
|
3382
3523
|
{
|
|
3383
3524
|
ref,
|
|
@@ -3387,7 +3528,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3387
3528
|
}
|
|
3388
3529
|
));
|
|
3389
3530
|
TableBody.displayName = "TableBody";
|
|
3390
|
-
var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3531
|
+
var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3391
3532
|
"tfoot",
|
|
3392
3533
|
{
|
|
3393
3534
|
ref,
|
|
@@ -3400,7 +3541,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3400
3541
|
}
|
|
3401
3542
|
));
|
|
3402
3543
|
TableFooter.displayName = "TableFooter";
|
|
3403
|
-
var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3544
|
+
var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3404
3545
|
"tr",
|
|
3405
3546
|
{
|
|
3406
3547
|
ref,
|
|
@@ -3415,7 +3556,7 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3415
3556
|
TableRow.displayName = "TableRow";
|
|
3416
3557
|
var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3417
3558
|
const size = useTableSize();
|
|
3418
|
-
return /* @__PURE__ */
|
|
3559
|
+
return /* @__PURE__ */ jsx38(
|
|
3419
3560
|
"th",
|
|
3420
3561
|
{
|
|
3421
3562
|
ref,
|
|
@@ -3432,7 +3573,7 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3432
3573
|
TableHead.displayName = "TableHead";
|
|
3433
3574
|
var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3434
3575
|
const size = useTableSize();
|
|
3435
|
-
return /* @__PURE__ */
|
|
3576
|
+
return /* @__PURE__ */ jsx38(
|
|
3436
3577
|
"td",
|
|
3437
3578
|
{
|
|
3438
3579
|
ref,
|
|
@@ -3447,7 +3588,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3447
3588
|
);
|
|
3448
3589
|
});
|
|
3449
3590
|
TableCell.displayName = "TableCell";
|
|
3450
|
-
var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3591
|
+
var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
|
|
3451
3592
|
"caption",
|
|
3452
3593
|
{
|
|
3453
3594
|
ref,
|
|
@@ -3461,10 +3602,10 @@ TableCaption.displayName = "TableCaption";
|
|
|
3461
3602
|
// src/tabs.tsx
|
|
3462
3603
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3463
3604
|
import * as React29 from "react";
|
|
3464
|
-
import { jsx as
|
|
3605
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3465
3606
|
var Tabs = TabsPrimitive.Root;
|
|
3466
3607
|
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";
|
|
3467
|
-
var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3608
|
+
var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3468
3609
|
TabsPrimitive.List,
|
|
3469
3610
|
{
|
|
3470
3611
|
ref,
|
|
@@ -3477,7 +3618,7 @@ var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3477
3618
|
}
|
|
3478
3619
|
));
|
|
3479
3620
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3480
|
-
var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3621
|
+
var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3481
3622
|
TabsPrimitive.Trigger,
|
|
3482
3623
|
{
|
|
3483
3624
|
ref,
|
|
@@ -3491,7 +3632,7 @@ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3491
3632
|
}
|
|
3492
3633
|
));
|
|
3493
3634
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3494
|
-
var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3635
|
+
var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3495
3636
|
TabsPrimitive.Trigger,
|
|
3496
3637
|
{
|
|
3497
3638
|
ref,
|
|
@@ -3501,7 +3642,7 @@ var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
3501
3642
|
}
|
|
3502
3643
|
));
|
|
3503
3644
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
3504
|
-
var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
3645
|
+
var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3505
3646
|
TabsPrimitive.Content,
|
|
3506
3647
|
{
|
|
3507
3648
|
ref,
|
|
@@ -3518,7 +3659,7 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
3518
3659
|
|
|
3519
3660
|
// src/textarea.tsx
|
|
3520
3661
|
import * as React30 from "react";
|
|
3521
|
-
import { jsx as
|
|
3662
|
+
import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3522
3663
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
3523
3664
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
3524
3665
|
function getStretchClasses(className) {
|
|
@@ -3571,7 +3712,7 @@ var Textarea = React30.forwardRef(
|
|
|
3571
3712
|
const stretchClasses = getStretchClasses(className);
|
|
3572
3713
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
3573
3714
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3574
|
-
const textarea = /* @__PURE__ */
|
|
3715
|
+
const textarea = /* @__PURE__ */ jsx40(
|
|
3575
3716
|
"textarea",
|
|
3576
3717
|
{
|
|
3577
3718
|
ref: callback,
|
|
@@ -3587,7 +3728,7 @@ var Textarea = React30.forwardRef(
|
|
|
3587
3728
|
}
|
|
3588
3729
|
);
|
|
3589
3730
|
if (!needsWrapper) return textarea;
|
|
3590
|
-
return /* @__PURE__ */
|
|
3731
|
+
return /* @__PURE__ */ jsx40("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
3591
3732
|
}
|
|
3592
3733
|
);
|
|
3593
3734
|
Textarea.displayName = "Textarea";
|
|
@@ -3595,7 +3736,7 @@ var BasicTextarea = React30.forwardRef(
|
|
|
3595
3736
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
3596
3737
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3597
3738
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3598
|
-
return /* @__PURE__ */
|
|
3739
|
+
return /* @__PURE__ */ jsx40(
|
|
3599
3740
|
"textarea",
|
|
3600
3741
|
{
|
|
3601
3742
|
ref: callback,
|
|
@@ -3625,13 +3766,13 @@ var TextareaWithPrefix = React30.forwardRef(
|
|
|
3625
3766
|
}, forwarded) => {
|
|
3626
3767
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3627
3768
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3628
|
-
return /* @__PURE__ */
|
|
3769
|
+
return /* @__PURE__ */ jsxs21(
|
|
3629
3770
|
"div",
|
|
3630
3771
|
{
|
|
3631
3772
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
3632
3773
|
children: [
|
|
3633
|
-
prefix ? /* @__PURE__ */
|
|
3634
|
-
/* @__PURE__ */
|
|
3774
|
+
prefix ? /* @__PURE__ */ jsx40("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
|
|
3775
|
+
/* @__PURE__ */ jsx40(
|
|
3635
3776
|
"textarea",
|
|
3636
3777
|
{
|
|
3637
3778
|
ref: callback,
|
|
@@ -3711,13 +3852,13 @@ function useScrollFade() {
|
|
|
3711
3852
|
// src/hover-card.tsx
|
|
3712
3853
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3713
3854
|
import * as React31 from "react";
|
|
3714
|
-
import { jsx as
|
|
3855
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
3715
3856
|
var HoverCard = HoverCardPrimitive.Root;
|
|
3716
3857
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
3717
3858
|
var HoverCardContent = React31.forwardRef(
|
|
3718
3859
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
3719
3860
|
const resolved = usePortalContainer(container);
|
|
3720
|
-
return /* @__PURE__ */
|
|
3861
|
+
return /* @__PURE__ */ jsx41(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx41(
|
|
3721
3862
|
HoverCardPrimitive.Content,
|
|
3722
3863
|
{
|
|
3723
3864
|
ref,
|
|
@@ -3739,7 +3880,7 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
3739
3880
|
// src/radio-group.tsx
|
|
3740
3881
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3741
3882
|
import * as React32 from "react";
|
|
3742
|
-
import { jsx as
|
|
3883
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
3743
3884
|
var RadioGroupSizeContext = React32.createContext("md");
|
|
3744
3885
|
var CONTROL_CLASSES = {
|
|
3745
3886
|
sm: "h-3.5 w-3.5",
|
|
@@ -3751,7 +3892,7 @@ var DOT_CLASSES = {
|
|
|
3751
3892
|
md: "h-1.5 w-1.5",
|
|
3752
3893
|
lg: "h-2 w-2"
|
|
3753
3894
|
};
|
|
3754
|
-
var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */
|
|
3895
|
+
var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx42(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx42(
|
|
3755
3896
|
RadioGroupPrimitive.Root,
|
|
3756
3897
|
{
|
|
3757
3898
|
ref,
|
|
@@ -3764,7 +3905,7 @@ RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
|
3764
3905
|
var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) => {
|
|
3765
3906
|
const groupSize = React32.useContext(RadioGroupSizeContext);
|
|
3766
3907
|
const resolved = size ?? groupSize;
|
|
3767
|
-
return /* @__PURE__ */
|
|
3908
|
+
return /* @__PURE__ */ jsx42(
|
|
3768
3909
|
RadioGroupPrimitive.Item,
|
|
3769
3910
|
{
|
|
3770
3911
|
ref,
|
|
@@ -3781,7 +3922,7 @@ var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
3781
3922
|
className
|
|
3782
3923
|
),
|
|
3783
3924
|
...props,
|
|
3784
|
-
children: /* @__PURE__ */
|
|
3925
|
+
children: /* @__PURE__ */ jsx42(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx42(
|
|
3785
3926
|
"div",
|
|
3786
3927
|
{
|
|
3787
3928
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -3794,7 +3935,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
3794
3935
|
|
|
3795
3936
|
// src/resizable.tsx
|
|
3796
3937
|
import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
|
|
3797
|
-
import { jsx as
|
|
3938
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
3798
3939
|
var HANDLE_SIZES = {
|
|
3799
3940
|
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3800
3941
|
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
@@ -3808,7 +3949,7 @@ var HANDLE_SIZES = {
|
|
|
3808
3949
|
var ResizablePanelGroup = ({
|
|
3809
3950
|
className,
|
|
3810
3951
|
...props
|
|
3811
|
-
}) => /* @__PURE__ */
|
|
3952
|
+
}) => /* @__PURE__ */ jsx43(
|
|
3812
3953
|
Group4,
|
|
3813
3954
|
{
|
|
3814
3955
|
"data-slot": "resizable-group",
|
|
@@ -3823,7 +3964,7 @@ var ResizableHandle = ({
|
|
|
3823
3964
|
size = "xs",
|
|
3824
3965
|
className,
|
|
3825
3966
|
...props
|
|
3826
|
-
}) => /* @__PURE__ */
|
|
3967
|
+
}) => /* @__PURE__ */ jsx43(
|
|
3827
3968
|
Separator5,
|
|
3828
3969
|
{
|
|
3829
3970
|
"data-slot": "resizable-handle",
|
|
@@ -3843,7 +3984,7 @@ var ResizableHandle = ({
|
|
|
3843
3984
|
className
|
|
3844
3985
|
),
|
|
3845
3986
|
...props,
|
|
3846
|
-
children: withHandle ? /* @__PURE__ */
|
|
3987
|
+
children: withHandle ? /* @__PURE__ */ jsx43("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx43(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
|
|
3847
3988
|
}
|
|
3848
3989
|
);
|
|
3849
3990
|
ResizableHandle.displayName = "ResizableHandle";
|
|
@@ -3851,7 +3992,7 @@ ResizableHandle.displayName = "ResizableHandle";
|
|
|
3851
3992
|
// src/slider.tsx
|
|
3852
3993
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3853
3994
|
import * as React33 from "react";
|
|
3854
|
-
import { jsx as
|
|
3995
|
+
import { jsx as jsx44, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3855
3996
|
var TRACK_CLASSES = {
|
|
3856
3997
|
sm: "h-1",
|
|
3857
3998
|
md: "h-1.5",
|
|
@@ -3867,7 +4008,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3867
4008
|
1,
|
|
3868
4009
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
3869
4010
|
);
|
|
3870
|
-
return /* @__PURE__ */
|
|
4011
|
+
return /* @__PURE__ */ jsxs22(
|
|
3871
4012
|
SliderPrimitive.Root,
|
|
3872
4013
|
{
|
|
3873
4014
|
ref,
|
|
@@ -3879,7 +4020,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3879
4020
|
),
|
|
3880
4021
|
...props,
|
|
3881
4022
|
children: [
|
|
3882
|
-
/* @__PURE__ */
|
|
4023
|
+
/* @__PURE__ */ jsx44(
|
|
3883
4024
|
SliderPrimitive.Track,
|
|
3884
4025
|
{
|
|
3885
4026
|
"data-slot": "slider-track",
|
|
@@ -3888,7 +4029,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3888
4029
|
TRACK_CLASSES[size],
|
|
3889
4030
|
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
3890
4031
|
),
|
|
3891
|
-
children: /* @__PURE__ */
|
|
4032
|
+
children: /* @__PURE__ */ jsx44(
|
|
3892
4033
|
SliderPrimitive.Range,
|
|
3893
4034
|
{
|
|
3894
4035
|
"data-slot": "slider-range",
|
|
@@ -3897,7 +4038,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3897
4038
|
)
|
|
3898
4039
|
}
|
|
3899
4040
|
),
|
|
3900
|
-
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */
|
|
4041
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx44(
|
|
3901
4042
|
SliderPrimitive.Thumb,
|
|
3902
4043
|
{
|
|
3903
4044
|
"data-slot": "slider-thumb",
|
|
@@ -3925,7 +4066,7 @@ import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
|
3925
4066
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
3926
4067
|
import { cva as cva6 } from "class-variance-authority";
|
|
3927
4068
|
import * as React34 from "react";
|
|
3928
|
-
import { jsx as
|
|
4069
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
3929
4070
|
var toggleVariants = cva6(
|
|
3930
4071
|
"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",
|
|
3931
4072
|
{
|
|
@@ -3946,7 +4087,7 @@ var toggleVariants = cva6(
|
|
|
3946
4087
|
}
|
|
3947
4088
|
}
|
|
3948
4089
|
);
|
|
3949
|
-
var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */
|
|
4090
|
+
var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx45(
|
|
3950
4091
|
TogglePrimitive.Root,
|
|
3951
4092
|
{
|
|
3952
4093
|
ref,
|
|
@@ -3957,20 +4098,20 @@ var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
3957
4098
|
));
|
|
3958
4099
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
3959
4100
|
var ToggleGroupContext = React34.createContext({ size: "default", variant: "default" });
|
|
3960
|
-
var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */
|
|
4101
|
+
var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx45(
|
|
3961
4102
|
ToggleGroupPrimitive.Root,
|
|
3962
4103
|
{
|
|
3963
4104
|
ref,
|
|
3964
4105
|
"data-slot": "toggle-group",
|
|
3965
4106
|
className: cn("flex items-center justify-center gap-1", className),
|
|
3966
4107
|
...props,
|
|
3967
|
-
children: /* @__PURE__ */
|
|
4108
|
+
children: /* @__PURE__ */ jsx45(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
3968
4109
|
}
|
|
3969
4110
|
));
|
|
3970
4111
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
3971
4112
|
var ToggleGroupItem = React34.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3972
4113
|
const context = React34.useContext(ToggleGroupContext);
|
|
3973
|
-
return /* @__PURE__ */
|
|
4114
|
+
return /* @__PURE__ */ jsx45(
|
|
3974
4115
|
ToggleGroupPrimitive.Item,
|
|
3975
4116
|
{
|
|
3976
4117
|
ref,
|
|
@@ -3992,13 +4133,13 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
3992
4133
|
// src/tooltip.tsx
|
|
3993
4134
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
3994
4135
|
import * as React35 from "react";
|
|
3995
|
-
import { jsx as
|
|
4136
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
3996
4137
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
3997
4138
|
var Tooltip = TooltipPrimitive.Root;
|
|
3998
4139
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
3999
4140
|
var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4000
4141
|
const resolved = usePortalContainer(container);
|
|
4001
|
-
return /* @__PURE__ */
|
|
4142
|
+
return /* @__PURE__ */ jsx46(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx46(
|
|
4002
4143
|
TooltipPrimitive.Content,
|
|
4003
4144
|
{
|
|
4004
4145
|
ref,
|
|
@@ -4141,6 +4282,8 @@ export {
|
|
|
4141
4282
|
MOTION_PULSE,
|
|
4142
4283
|
MOTION_SHEET,
|
|
4143
4284
|
MOTION_SPIN,
|
|
4285
|
+
OrganizationAbbreviation,
|
|
4286
|
+
OrganizationPicker,
|
|
4144
4287
|
OverflowToolbar,
|
|
4145
4288
|
POPPER_OFFSET,
|
|
4146
4289
|
Popover,
|