@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/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 jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
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__ */ jsx36(
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__ */ jsxs19("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3302
- /* @__PURE__ */ jsx36(
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__ */ jsx36("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx36(BottomSheetBody, { children: /* @__PURE__ */ jsx36("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
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__ */ jsx36("li", { children: /* @__PURE__ */ jsxs19(
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__ */ jsx36(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3320
- /* @__PURE__ */ jsx36("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
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__ */ jsx36(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
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 jsx37 } from "react/jsx-runtime";
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__ */ jsx37(
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__ */ jsx37(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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__ */ jsx37(
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 jsx38 } from "react/jsx-runtime";
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__ */ jsx38(
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__ */ jsx38(
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__ */ jsx38(
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__ */ jsx38(
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 jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
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__ */ jsx39(
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__ */ jsx39("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
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__ */ jsx39(
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__ */ jsxs20(
3769
+ return /* @__PURE__ */ jsxs21(
3629
3770
  "div",
3630
3771
  {
3631
3772
  className: cn("relative", getStretchClasses(className), wrapperClassName),
3632
3773
  children: [
3633
- prefix ? /* @__PURE__ */ jsx39("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
3634
- /* @__PURE__ */ jsx39(
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 jsx40 } from "react/jsx-runtime";
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__ */ jsx40(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx40(
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 jsx41 } from "react/jsx-runtime";
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__ */ jsx41(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx41(
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__ */ jsx41(
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__ */ jsx41(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx41(
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 jsx42 } from "react/jsx-runtime";
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__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42("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__ */ jsx42(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
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 jsx43, jsxs as jsxs21 } from "react/jsx-runtime";
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__ */ jsxs21(
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__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43(
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 jsx44 } from "react/jsx-runtime";
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__ */ jsx44(
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__ */ jsx44(
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__ */ jsx44(ToggleGroupContext.Provider, { value: { variant, size }, children })
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__ */ jsx44(
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 jsx45 } from "react/jsx-runtime";
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__ */ jsx45(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx45(
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,