@ai-matrx/design-system 0.12.0 → 0.13.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 +52 -0
- package/README.md +16 -1
- package/dist/index.cjs +209 -153
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -1
- package/dist/index.d.ts +58 -1
- package/dist/index.js +209 -153
- package/dist/index.js.map +1 -1
- package/dist/styles.css +16 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -32,6 +32,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
var src_exports = {};
|
|
33
33
|
__export(src_exports, {
|
|
34
34
|
ALL_MOTION_CLASSES: () => ALL_MOTION_CLASSES,
|
|
35
|
+
ARCHIVE_FILTER_LABELS: () => ARCHIVE_FILTER_LABELS,
|
|
36
|
+
ARCHIVE_FILTER_VALUES: () => ARCHIVE_FILTER_VALUES,
|
|
35
37
|
Accordion: () => Accordion,
|
|
36
38
|
AccordionContent: () => AccordionContent,
|
|
37
39
|
AccordionItem: () => AccordionItem,
|
|
@@ -51,6 +53,7 @@ __export(src_exports, {
|
|
|
51
53
|
AlertDialogTitle: () => AlertDialogTitle,
|
|
52
54
|
AlertDialogTrigger: () => AlertDialogTrigger,
|
|
53
55
|
AlertTitle: () => AlertTitle,
|
|
56
|
+
ArchiveFilter: () => ArchiveFilter,
|
|
54
57
|
Avatar: () => Avatar,
|
|
55
58
|
AvatarFallback: () => AvatarFallback,
|
|
56
59
|
AvatarImage: () => AvatarImage,
|
|
@@ -101,6 +104,7 @@ __export(src_exports, {
|
|
|
101
104
|
ContextMenuSubTrigger: () => ContextMenuSubTrigger,
|
|
102
105
|
ContextMenuTrigger: () => ContextMenuTrigger,
|
|
103
106
|
CreatablePicker: () => CreatablePicker,
|
|
107
|
+
DEFAULT_ARCHIVE_FILTER: () => DEFAULT_ARCHIVE_FILTER,
|
|
104
108
|
DEFAULT_SCORE_THRESHOLDS: () => DEFAULT_SCORE_THRESHOLDS,
|
|
105
109
|
Dialog: () => Dialog,
|
|
106
110
|
DialogClose: () => DialogClose,
|
|
@@ -232,6 +236,7 @@ __export(src_exports, {
|
|
|
232
236
|
scoreRingColorClasses: () => scoreRingColorClasses,
|
|
233
237
|
selectTriggerVariants: () => selectTriggerVariants,
|
|
234
238
|
sheetVariants: () => sheetVariants,
|
|
239
|
+
toArchiveFilter: () => toArchiveFilter,
|
|
235
240
|
toggleVariants: () => toggleVariants,
|
|
236
241
|
useAccordionSize: () => useAccordionSize,
|
|
237
242
|
useCardSize: () => useCardSize,
|
|
@@ -815,6 +820,7 @@ function BottomSheetFooter({
|
|
|
815
820
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
816
821
|
"div",
|
|
817
822
|
{
|
|
823
|
+
"data-slot": "bottom-sheet-footer",
|
|
818
824
|
className: cn(
|
|
819
825
|
"flex-shrink-0 px-4 py-3 pb-safe border-t border-[var(--matrx-sheet-divider)]",
|
|
820
826
|
className
|
|
@@ -3148,11 +3154,60 @@ function SegmentedControl({
|
|
|
3148
3154
|
);
|
|
3149
3155
|
}
|
|
3150
3156
|
|
|
3157
|
+
// src/archive-filter.tsx
|
|
3158
|
+
var React24 = __toESM(require("react"), 1);
|
|
3159
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
3160
|
+
var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
|
|
3161
|
+
var DEFAULT_ARCHIVE_FILTER = "active";
|
|
3162
|
+
var ARCHIVE_FILTER_LABELS = {
|
|
3163
|
+
active: "Active only",
|
|
3164
|
+
archived: "Archived only",
|
|
3165
|
+
all: "Active + archived"
|
|
3166
|
+
};
|
|
3167
|
+
function toArchiveFilter(value, fallback = DEFAULT_ARCHIVE_FILTER) {
|
|
3168
|
+
return ARCHIVE_FILTER_VALUES.includes(value) ? value : fallback;
|
|
3169
|
+
}
|
|
3170
|
+
function ArchiveFilter({
|
|
3171
|
+
value,
|
|
3172
|
+
onValueChange,
|
|
3173
|
+
counts,
|
|
3174
|
+
labels,
|
|
3175
|
+
size = "sm",
|
|
3176
|
+
className,
|
|
3177
|
+
"aria-label": ariaLabel = "Archive filter",
|
|
3178
|
+
disabled = false
|
|
3179
|
+
}) {
|
|
3180
|
+
const data = React24.useMemo(
|
|
3181
|
+
() => ARCHIVE_FILTER_VALUES.map((state) => {
|
|
3182
|
+
const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
|
|
3183
|
+
const count = counts?.[state];
|
|
3184
|
+
return {
|
|
3185
|
+
value: state,
|
|
3186
|
+
disabled,
|
|
3187
|
+
label: typeof count === "number" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
3188
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: text }),
|
|
3189
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-muted-foreground tabular-nums", children: count })
|
|
3190
|
+
] }) : text
|
|
3191
|
+
};
|
|
3192
|
+
}),
|
|
3193
|
+
[counts, labels, disabled]
|
|
3194
|
+
);
|
|
3195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3196
|
+
SegmentedControl,
|
|
3197
|
+
{
|
|
3198
|
+
value,
|
|
3199
|
+
onValueChange: (next) => onValueChange(toArchiveFilter(next, value)),
|
|
3200
|
+
data,
|
|
3201
|
+
size
|
|
3202
|
+
}
|
|
3203
|
+
) });
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3151
3206
|
// src/select.tsx
|
|
3152
3207
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
3153
3208
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
3154
|
-
var
|
|
3155
|
-
var
|
|
3209
|
+
var React25 = __toESM(require("react"), 1);
|
|
3210
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3156
3211
|
var Select = SelectPrimitive.Root;
|
|
3157
3212
|
var SelectGroup = SelectPrimitive.Group;
|
|
3158
3213
|
var SelectValue = SelectPrimitive.Value;
|
|
@@ -3171,7 +3226,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
|
|
|
3171
3226
|
}
|
|
3172
3227
|
}
|
|
3173
3228
|
);
|
|
3174
|
-
var SelectTrigger =
|
|
3229
|
+
var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
3175
3230
|
SelectPrimitive.Trigger,
|
|
3176
3231
|
{
|
|
3177
3232
|
ref,
|
|
@@ -3179,12 +3234,12 @@ var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false
|
|
|
3179
3234
|
...props,
|
|
3180
3235
|
children: [
|
|
3181
3236
|
children,
|
|
3182
|
-
!hideArrow && /* @__PURE__ */ (0,
|
|
3237
|
+
!hideArrow && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
3183
3238
|
]
|
|
3184
3239
|
}
|
|
3185
3240
|
));
|
|
3186
3241
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
3187
|
-
var SelectScrollUpButton =
|
|
3242
|
+
var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3188
3243
|
SelectPrimitive.ScrollUpButton,
|
|
3189
3244
|
{
|
|
3190
3245
|
ref,
|
|
@@ -3193,11 +3248,11 @@ var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) =>
|
|
|
3193
3248
|
className
|
|
3194
3249
|
),
|
|
3195
3250
|
...props,
|
|
3196
|
-
children: /* @__PURE__ */ (0,
|
|
3251
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronUpIcon, {})
|
|
3197
3252
|
}
|
|
3198
3253
|
));
|
|
3199
3254
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
3200
|
-
var SelectScrollDownButton =
|
|
3255
|
+
var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3201
3256
|
SelectPrimitive.ScrollDownButton,
|
|
3202
3257
|
{
|
|
3203
3258
|
ref,
|
|
@@ -3206,11 +3261,11 @@ var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) =
|
|
|
3206
3261
|
className
|
|
3207
3262
|
),
|
|
3208
3263
|
...props,
|
|
3209
|
-
children: /* @__PURE__ */ (0,
|
|
3264
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronDownIcon, {})
|
|
3210
3265
|
}
|
|
3211
3266
|
));
|
|
3212
3267
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
3213
|
-
var SelectContent =
|
|
3268
|
+
var SelectContent = React25.forwardRef(
|
|
3214
3269
|
({
|
|
3215
3270
|
className,
|
|
3216
3271
|
children,
|
|
@@ -3220,7 +3275,7 @@ var SelectContent = React24.forwardRef(
|
|
|
3220
3275
|
...props
|
|
3221
3276
|
}, ref) => {
|
|
3222
3277
|
const portalContainer = usePortalContainer(container);
|
|
3223
|
-
return /* @__PURE__ */ (0,
|
|
3278
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
3224
3279
|
SelectPrimitive.Content,
|
|
3225
3280
|
{
|
|
3226
3281
|
ref,
|
|
@@ -3238,8 +3293,8 @@ var SelectContent = React24.forwardRef(
|
|
|
3238
3293
|
position,
|
|
3239
3294
|
...props,
|
|
3240
3295
|
children: [
|
|
3241
|
-
/* @__PURE__ */ (0,
|
|
3242
|
-
/* @__PURE__ */ (0,
|
|
3296
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollUpButton, {}),
|
|
3297
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3243
3298
|
SelectPrimitive.Viewport,
|
|
3244
3299
|
{
|
|
3245
3300
|
className: cn(
|
|
@@ -3249,14 +3304,14 @@ var SelectContent = React24.forwardRef(
|
|
|
3249
3304
|
children
|
|
3250
3305
|
}
|
|
3251
3306
|
),
|
|
3252
|
-
/* @__PURE__ */ (0,
|
|
3307
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
|
|
3253
3308
|
]
|
|
3254
3309
|
}
|
|
3255
3310
|
) });
|
|
3256
3311
|
}
|
|
3257
3312
|
);
|
|
3258
3313
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
3259
|
-
var SelectLabel =
|
|
3314
|
+
var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3260
3315
|
SelectPrimitive.Label,
|
|
3261
3316
|
{
|
|
3262
3317
|
ref,
|
|
@@ -3265,7 +3320,7 @@ var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3265
3320
|
}
|
|
3266
3321
|
));
|
|
3267
3322
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
3268
|
-
var SelectItem =
|
|
3323
|
+
var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
3269
3324
|
SelectPrimitive.Item,
|
|
3270
3325
|
{
|
|
3271
3326
|
ref,
|
|
@@ -3276,14 +3331,14 @@ var SelectItem = React24.forwardRef(({ className, children, description, ...prop
|
|
|
3276
3331
|
),
|
|
3277
3332
|
...props,
|
|
3278
3333
|
children: [
|
|
3279
|
-
/* @__PURE__ */ (0,
|
|
3280
|
-
/* @__PURE__ */ (0,
|
|
3281
|
-
description ? /* @__PURE__ */ (0,
|
|
3334
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
3335
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemText, { children }),
|
|
3336
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
|
|
3282
3337
|
]
|
|
3283
3338
|
}
|
|
3284
3339
|
));
|
|
3285
3340
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
3286
|
-
var SelectSeparator =
|
|
3341
|
+
var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3287
3342
|
SelectPrimitive.Separator,
|
|
3288
3343
|
{
|
|
3289
3344
|
ref,
|
|
@@ -3295,9 +3350,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3295
3350
|
|
|
3296
3351
|
// src/separator.tsx
|
|
3297
3352
|
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
|
|
3298
|
-
var
|
|
3299
|
-
var
|
|
3300
|
-
var Separator4 =
|
|
3353
|
+
var React26 = __toESM(require("react"), 1);
|
|
3354
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3355
|
+
var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3301
3356
|
SeparatorPrimitive.Root,
|
|
3302
3357
|
{
|
|
3303
3358
|
ref,
|
|
@@ -3317,11 +3372,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
3317
3372
|
var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
3318
3373
|
var import_react_tree4 = require("@ai-matrx/kit/react-tree");
|
|
3319
3374
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
3320
|
-
var
|
|
3321
|
-
var
|
|
3322
|
-
var SheetContentBase =
|
|
3375
|
+
var React27 = __toESM(require("react"), 1);
|
|
3376
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
3377
|
+
var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
|
|
3323
3378
|
const isModal = useRadixDialogModal();
|
|
3324
|
-
return /* @__PURE__ */ (0,
|
|
3379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3325
3380
|
SheetPrimitive.Content,
|
|
3326
3381
|
{
|
|
3327
3382
|
...props,
|
|
@@ -3331,15 +3386,15 @@ var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
|
|
|
3331
3386
|
);
|
|
3332
3387
|
});
|
|
3333
3388
|
SheetContentBase.displayName = "SheetContentBase";
|
|
3334
|
-
var Sheet =
|
|
3389
|
+
var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
|
|
3335
3390
|
const modal = props.modal ?? true;
|
|
3336
|
-
return /* @__PURE__ */ (0,
|
|
3391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
|
|
3337
3392
|
});
|
|
3338
3393
|
Sheet.displayName = "Sheet";
|
|
3339
3394
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
3340
3395
|
var SheetClose = SheetPrimitive.Close;
|
|
3341
3396
|
var SheetPortal = SheetPrimitive.Portal;
|
|
3342
|
-
var SheetOverlay =
|
|
3397
|
+
var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3343
3398
|
SheetPrimitive.Overlay,
|
|
3344
3399
|
{
|
|
3345
3400
|
className: cn(
|
|
@@ -3376,7 +3431,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
|
|
|
3376
3431
|
}
|
|
3377
3432
|
}
|
|
3378
3433
|
);
|
|
3379
|
-
var SheetDescription =
|
|
3434
|
+
var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3380
3435
|
SheetPrimitive.Description,
|
|
3381
3436
|
{
|
|
3382
3437
|
ref,
|
|
@@ -3385,7 +3440,7 @@ var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3385
3440
|
}
|
|
3386
3441
|
));
|
|
3387
3442
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
3388
|
-
var SheetContent =
|
|
3443
|
+
var SheetContent = React27.forwardRef(
|
|
3389
3444
|
({
|
|
3390
3445
|
side = "right",
|
|
3391
3446
|
className,
|
|
@@ -3397,9 +3452,9 @@ var SheetContent = React26.forwardRef(
|
|
|
3397
3452
|
...props
|
|
3398
3453
|
}, ref) => {
|
|
3399
3454
|
const hasDescription = (0, import_react_tree4.treeContainsComponent)(children, SheetDescription) || (0, import_react_tree4.treeContainsComponent)(children, SheetPrimitive.Description);
|
|
3400
|
-
return /* @__PURE__ */ (0,
|
|
3401
|
-
!hideOverlay && /* @__PURE__ */ (0,
|
|
3402
|
-
/* @__PURE__ */ (0,
|
|
3455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(SheetPortal, { children: [
|
|
3456
|
+
!hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SheetOverlay, { className: overlayClassName }),
|
|
3457
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
3403
3458
|
SheetContentBase,
|
|
3404
3459
|
{
|
|
3405
3460
|
ref,
|
|
@@ -3411,9 +3466,9 @@ var SheetContent = React26.forwardRef(
|
|
|
3411
3466
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
3412
3467
|
...props,
|
|
3413
3468
|
children: [
|
|
3414
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
3415
|
-
/* @__PURE__ */ (0,
|
|
3416
|
-
/* @__PURE__ */ (0,
|
|
3469
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
3470
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Cross2Icon, { className: "h-4 w-4" }),
|
|
3471
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "sr-only", children: "Close" })
|
|
3417
3472
|
] }),
|
|
3418
3473
|
children
|
|
3419
3474
|
]
|
|
@@ -3426,7 +3481,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
3426
3481
|
var SheetHeader = ({
|
|
3427
3482
|
className,
|
|
3428
3483
|
...props
|
|
3429
|
-
}) => /* @__PURE__ */ (0,
|
|
3484
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3430
3485
|
"div",
|
|
3431
3486
|
{
|
|
3432
3487
|
className: cn(
|
|
@@ -3440,9 +3495,10 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
3440
3495
|
var SheetFooter = ({
|
|
3441
3496
|
className,
|
|
3442
3497
|
...props
|
|
3443
|
-
}) => /* @__PURE__ */ (0,
|
|
3498
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3444
3499
|
"div",
|
|
3445
3500
|
{
|
|
3501
|
+
"data-slot": "sheet-footer",
|
|
3446
3502
|
className: cn(
|
|
3447
3503
|
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
3448
3504
|
className
|
|
@@ -3451,7 +3507,7 @@ var SheetFooter = ({
|
|
|
3451
3507
|
}
|
|
3452
3508
|
);
|
|
3453
3509
|
SheetFooter.displayName = "SheetFooter";
|
|
3454
|
-
var SheetTitle =
|
|
3510
|
+
var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3455
3511
|
SheetPrimitive.Title,
|
|
3456
3512
|
{
|
|
3457
3513
|
ref,
|
|
@@ -3462,9 +3518,9 @@ var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3462
3518
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3463
3519
|
|
|
3464
3520
|
// src/skeleton.tsx
|
|
3465
|
-
var
|
|
3521
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3466
3522
|
function Skeleton({ className, animated = true, ...props }) {
|
|
3467
|
-
return /* @__PURE__ */ (0,
|
|
3523
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3468
3524
|
"div",
|
|
3469
3525
|
{
|
|
3470
3526
|
"data-slot": "skeleton",
|
|
@@ -3480,8 +3536,8 @@ function Skeleton({ className, animated = true, ...props }) {
|
|
|
3480
3536
|
|
|
3481
3537
|
// src/switch.tsx
|
|
3482
3538
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
3483
|
-
var
|
|
3484
|
-
var
|
|
3539
|
+
var React28 = __toESM(require("react"), 1);
|
|
3540
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3485
3541
|
var SWITCH_SIZES = {
|
|
3486
3542
|
sm: {
|
|
3487
3543
|
root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
|
|
@@ -3492,7 +3548,7 @@ var SWITCH_SIZES = {
|
|
|
3492
3548
|
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
3493
3549
|
}
|
|
3494
3550
|
};
|
|
3495
|
-
var Switch =
|
|
3551
|
+
var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3496
3552
|
SwitchPrimitives.Root,
|
|
3497
3553
|
{
|
|
3498
3554
|
ref,
|
|
@@ -3503,7 +3559,7 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3503
3559
|
className
|
|
3504
3560
|
),
|
|
3505
3561
|
...props,
|
|
3506
|
-
children: /* @__PURE__ */ (0,
|
|
3562
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3507
3563
|
SwitchPrimitives.Thumb,
|
|
3508
3564
|
{
|
|
3509
3565
|
"data-slot": "switch-thumb",
|
|
@@ -3518,14 +3574,14 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3518
3574
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3519
3575
|
|
|
3520
3576
|
// src/organization-picker.tsx
|
|
3521
|
-
var
|
|
3577
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3522
3578
|
function OrganizationAbbreviation({
|
|
3523
3579
|
abbreviation,
|
|
3524
3580
|
name,
|
|
3525
3581
|
className
|
|
3526
3582
|
}) {
|
|
3527
3583
|
const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
|
|
3528
|
-
return /* @__PURE__ */ (0,
|
|
3584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3529
3585
|
"span",
|
|
3530
3586
|
{
|
|
3531
3587
|
className: cn(
|
|
@@ -3552,20 +3608,20 @@ function OrganizationPicker({
|
|
|
3552
3608
|
}) {
|
|
3553
3609
|
const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
|
|
3554
3610
|
const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
|
|
3555
|
-
return /* @__PURE__ */ (0,
|
|
3556
|
-
!hideHeading && /* @__PURE__ */ (0,
|
|
3557
|
-
loading ? /* @__PURE__ */ (0,
|
|
3558
|
-
/* @__PURE__ */ (0,
|
|
3559
|
-
/* @__PURE__ */ (0,
|
|
3560
|
-
] }) : loadFailed ? /* @__PURE__ */ (0,
|
|
3561
|
-
active ? /* @__PURE__ */ (0,
|
|
3611
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
|
|
3612
|
+
!hideHeading && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
|
|
3613
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
|
|
3614
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Skeleton, { className: "h-7 rounded-md" }),
|
|
3615
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Skeleton, { className: "h-7 rounded-md" })
|
|
3616
|
+
] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("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__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
3617
|
+
active ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
|
|
3562
3618
|
"Working in",
|
|
3563
3619
|
" ",
|
|
3564
|
-
/* @__PURE__ */ (0,
|
|
3565
|
-
] }) : /* @__PURE__ */ (0,
|
|
3566
|
-
/* @__PURE__ */ (0,
|
|
3620
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "font-medium text-foreground", children: active.name })
|
|
3621
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
|
|
3622
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
|
|
3567
3623
|
const isActive = org.id === activeOrganizationId;
|
|
3568
|
-
return /* @__PURE__ */ (0,
|
|
3624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3569
3625
|
"button",
|
|
3570
3626
|
{
|
|
3571
3627
|
type: "button",
|
|
@@ -3582,7 +3638,7 @@ function OrganizationPicker({
|
|
|
3582
3638
|
itemClassName
|
|
3583
3639
|
),
|
|
3584
3640
|
children: [
|
|
3585
|
-
/* @__PURE__ */ (0,
|
|
3641
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3586
3642
|
OrganizationAbbreviation,
|
|
3587
3643
|
{
|
|
3588
3644
|
abbreviation: org.abbreviation,
|
|
@@ -3593,9 +3649,9 @@ function OrganizationPicker({
|
|
|
3593
3649
|
)
|
|
3594
3650
|
}
|
|
3595
3651
|
),
|
|
3596
|
-
/* @__PURE__ */ (0,
|
|
3597
|
-
org.isPersonal && /* @__PURE__ */ (0,
|
|
3598
|
-
isDefault(org.id) && /* @__PURE__ */ (0,
|
|
3652
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
|
|
3653
|
+
org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
|
|
3654
|
+
isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3599
3655
|
StarIcon,
|
|
3600
3656
|
{
|
|
3601
3657
|
className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
|
|
@@ -3604,14 +3660,14 @@ function OrganizationPicker({
|
|
|
3604
3660
|
role: "img"
|
|
3605
3661
|
}
|
|
3606
3662
|
),
|
|
3607
|
-
isActive && /* @__PURE__ */ (0,
|
|
3663
|
+
isActive && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
|
|
3608
3664
|
]
|
|
3609
3665
|
}
|
|
3610
3666
|
) }, org.id);
|
|
3611
3667
|
}) }),
|
|
3612
|
-
onSetDefault && /* @__PURE__ */ (0,
|
|
3613
|
-
/* @__PURE__ */ (0,
|
|
3614
|
-
/* @__PURE__ */ (0,
|
|
3668
|
+
onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
3669
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "my-1 border-t border-border" }),
|
|
3670
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3615
3671
|
DefaultOrganizationSwitch,
|
|
3616
3672
|
{
|
|
3617
3673
|
active,
|
|
@@ -3629,17 +3685,17 @@ function DefaultOrganizationSwitch({
|
|
|
3629
3685
|
onChange
|
|
3630
3686
|
}) {
|
|
3631
3687
|
const disabled = !active;
|
|
3632
|
-
return /* @__PURE__ */ (0,
|
|
3688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3633
3689
|
"div",
|
|
3634
3690
|
{
|
|
3635
3691
|
className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
|
|
3636
3692
|
"data-slot": "organization-picker-default",
|
|
3637
3693
|
children: [
|
|
3638
|
-
/* @__PURE__ */ (0,
|
|
3639
|
-
/* @__PURE__ */ (0,
|
|
3640
|
-
/* @__PURE__ */ (0,
|
|
3694
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "min-w-0", children: [
|
|
3695
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
|
|
3696
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("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" })
|
|
3641
3697
|
] }),
|
|
3642
|
-
/* @__PURE__ */ (0,
|
|
3698
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3643
3699
|
Switch,
|
|
3644
3700
|
{
|
|
3645
3701
|
checked,
|
|
@@ -3655,7 +3711,7 @@ function DefaultOrganizationSwitch({
|
|
|
3655
3711
|
|
|
3656
3712
|
// src/tabbed-bottom-sheet.tsx
|
|
3657
3713
|
var import_react4 = require("react");
|
|
3658
|
-
var
|
|
3714
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3659
3715
|
function TabbedBottomSheet({
|
|
3660
3716
|
open,
|
|
3661
3717
|
onOpenChange,
|
|
@@ -3669,15 +3725,15 @@ function TabbedBottomSheet({
|
|
|
3669
3725
|
if (open) setSelectedTabId(null);
|
|
3670
3726
|
}
|
|
3671
3727
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
3672
|
-
return /* @__PURE__ */ (0,
|
|
3728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3673
3729
|
BottomSheet,
|
|
3674
3730
|
{
|
|
3675
3731
|
open,
|
|
3676
3732
|
onOpenChange,
|
|
3677
3733
|
title,
|
|
3678
3734
|
size: "full",
|
|
3679
|
-
children: /* @__PURE__ */ (0,
|
|
3680
|
-
/* @__PURE__ */ (0,
|
|
3735
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
3736
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3681
3737
|
BottomSheetHeader,
|
|
3682
3738
|
{
|
|
3683
3739
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -3685,19 +3741,19 @@ function TabbedBottomSheet({
|
|
|
3685
3741
|
onBack: () => setSelectedTabId(null)
|
|
3686
3742
|
}
|
|
3687
3743
|
),
|
|
3688
|
-
selectedTab ? /* @__PURE__ */ (0,
|
|
3744
|
+
selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
|
|
3689
3745
|
const Icon2 = tab.icon;
|
|
3690
|
-
return /* @__PURE__ */ (0,
|
|
3746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3691
3747
|
"button",
|
|
3692
3748
|
{
|
|
3693
3749
|
type: "button",
|
|
3694
3750
|
onClick: () => setSelectedTabId(tab.id),
|
|
3695
3751
|
className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
|
|
3696
3752
|
children: [
|
|
3697
|
-
Icon2 ? /* @__PURE__ */ (0,
|
|
3698
|
-
/* @__PURE__ */ (0,
|
|
3753
|
+
Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
3754
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
3699
3755
|
tab.trailing,
|
|
3700
|
-
/* @__PURE__ */ (0,
|
|
3756
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
3701
3757
|
]
|
|
3702
3758
|
}
|
|
3703
3759
|
) }, tab.id);
|
|
@@ -3708,19 +3764,19 @@ function TabbedBottomSheet({
|
|
|
3708
3764
|
}
|
|
3709
3765
|
|
|
3710
3766
|
// src/table.tsx
|
|
3711
|
-
var
|
|
3712
|
-
var
|
|
3767
|
+
var React29 = __toESM(require("react"), 1);
|
|
3768
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3713
3769
|
var TABLE_SIZES = {
|
|
3714
3770
|
sm: { head: "px-2", cell: "p-2" },
|
|
3715
3771
|
md: { head: "px-3", cell: "p-3" }
|
|
3716
3772
|
};
|
|
3717
|
-
var TableSizeContext =
|
|
3773
|
+
var TableSizeContext = React29.createContext("md");
|
|
3718
3774
|
function useTableSize() {
|
|
3719
|
-
return
|
|
3775
|
+
return React29.useContext(TableSizeContext);
|
|
3720
3776
|
}
|
|
3721
|
-
var Table =
|
|
3777
|
+
var Table = React29.forwardRef(
|
|
3722
3778
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3723
|
-
const table = /* @__PURE__ */ (0,
|
|
3779
|
+
const table = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3724
3780
|
"table",
|
|
3725
3781
|
{
|
|
3726
3782
|
ref,
|
|
@@ -3730,7 +3786,7 @@ var Table = React28.forwardRef(
|
|
|
3730
3786
|
...props
|
|
3731
3787
|
}
|
|
3732
3788
|
);
|
|
3733
|
-
return /* @__PURE__ */ (0,
|
|
3789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3734
3790
|
"div",
|
|
3735
3791
|
{
|
|
3736
3792
|
"data-slot": "table-wrapper",
|
|
@@ -3741,7 +3797,7 @@ var Table = React28.forwardRef(
|
|
|
3741
3797
|
}
|
|
3742
3798
|
);
|
|
3743
3799
|
Table.displayName = "Table";
|
|
3744
|
-
var TableHeader =
|
|
3800
|
+
var TableHeader = React29.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3745
3801
|
"thead",
|
|
3746
3802
|
{
|
|
3747
3803
|
ref,
|
|
@@ -3755,7 +3811,7 @@ var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3755
3811
|
}
|
|
3756
3812
|
));
|
|
3757
3813
|
TableHeader.displayName = "TableHeader";
|
|
3758
|
-
var TableBody =
|
|
3814
|
+
var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3759
3815
|
"tbody",
|
|
3760
3816
|
{
|
|
3761
3817
|
ref,
|
|
@@ -3765,7 +3821,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3765
3821
|
}
|
|
3766
3822
|
));
|
|
3767
3823
|
TableBody.displayName = "TableBody";
|
|
3768
|
-
var TableFooter =
|
|
3824
|
+
var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3769
3825
|
"tfoot",
|
|
3770
3826
|
{
|
|
3771
3827
|
ref,
|
|
@@ -3778,7 +3834,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3778
3834
|
}
|
|
3779
3835
|
));
|
|
3780
3836
|
TableFooter.displayName = "TableFooter";
|
|
3781
|
-
var TableRow =
|
|
3837
|
+
var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3782
3838
|
"tr",
|
|
3783
3839
|
{
|
|
3784
3840
|
ref,
|
|
@@ -3791,9 +3847,9 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3791
3847
|
}
|
|
3792
3848
|
));
|
|
3793
3849
|
TableRow.displayName = "TableRow";
|
|
3794
|
-
var TableHead =
|
|
3850
|
+
var TableHead = React29.forwardRef(({ className, ...props }, ref) => {
|
|
3795
3851
|
const size = useTableSize();
|
|
3796
|
-
return /* @__PURE__ */ (0,
|
|
3852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3797
3853
|
"th",
|
|
3798
3854
|
{
|
|
3799
3855
|
ref,
|
|
@@ -3808,9 +3864,9 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3808
3864
|
);
|
|
3809
3865
|
});
|
|
3810
3866
|
TableHead.displayName = "TableHead";
|
|
3811
|
-
var TableCell =
|
|
3867
|
+
var TableCell = React29.forwardRef(({ className, ...props }, ref) => {
|
|
3812
3868
|
const size = useTableSize();
|
|
3813
|
-
return /* @__PURE__ */ (0,
|
|
3869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3814
3870
|
"td",
|
|
3815
3871
|
{
|
|
3816
3872
|
ref,
|
|
@@ -3825,7 +3881,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3825
3881
|
);
|
|
3826
3882
|
});
|
|
3827
3883
|
TableCell.displayName = "TableCell";
|
|
3828
|
-
var TableCaption =
|
|
3884
|
+
var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3829
3885
|
"caption",
|
|
3830
3886
|
{
|
|
3831
3887
|
ref,
|
|
@@ -3838,11 +3894,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
3838
3894
|
|
|
3839
3895
|
// src/tabs.tsx
|
|
3840
3896
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3841
|
-
var
|
|
3842
|
-
var
|
|
3897
|
+
var React30 = __toESM(require("react"), 1);
|
|
3898
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3843
3899
|
var Tabs = TabsPrimitive.Root;
|
|
3844
3900
|
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";
|
|
3845
|
-
var TabsList =
|
|
3901
|
+
var TabsList = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3846
3902
|
TabsPrimitive.List,
|
|
3847
3903
|
{
|
|
3848
3904
|
ref,
|
|
@@ -3855,7 +3911,7 @@ var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3855
3911
|
}
|
|
3856
3912
|
));
|
|
3857
3913
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3858
|
-
var TabsTrigger =
|
|
3914
|
+
var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3859
3915
|
TabsPrimitive.Trigger,
|
|
3860
3916
|
{
|
|
3861
3917
|
ref,
|
|
@@ -3869,7 +3925,7 @@ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3869
3925
|
}
|
|
3870
3926
|
));
|
|
3871
3927
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3872
|
-
var TabsTriggerCore =
|
|
3928
|
+
var TabsTriggerCore = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3873
3929
|
TabsPrimitive.Trigger,
|
|
3874
3930
|
{
|
|
3875
3931
|
ref,
|
|
@@ -3879,7 +3935,7 @@ var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
3879
3935
|
}
|
|
3880
3936
|
));
|
|
3881
3937
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
3882
|
-
var TabsContent =
|
|
3938
|
+
var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3883
3939
|
TabsPrimitive.Content,
|
|
3884
3940
|
{
|
|
3885
3941
|
ref,
|
|
@@ -3895,8 +3951,8 @@ var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3895
3951
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3896
3952
|
|
|
3897
3953
|
// src/textarea.tsx
|
|
3898
|
-
var
|
|
3899
|
-
var
|
|
3954
|
+
var React31 = __toESM(require("react"), 1);
|
|
3955
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3900
3956
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
3901
3957
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
3902
3958
|
function getStretchClasses(className) {
|
|
@@ -3909,7 +3965,7 @@ function getStretchClasses(className) {
|
|
|
3909
3965
|
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";
|
|
3910
3966
|
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";
|
|
3911
3967
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
3912
|
-
|
|
3968
|
+
React31.useEffect(() => {
|
|
3913
3969
|
if (!autoGrow || !ref.current) return;
|
|
3914
3970
|
const textarea = ref.current;
|
|
3915
3971
|
textarea.style.height = "auto";
|
|
@@ -3925,8 +3981,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
3925
3981
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
3926
3982
|
}
|
|
3927
3983
|
function useMergedTextareaRef(forwarded) {
|
|
3928
|
-
const internal =
|
|
3929
|
-
const callback =
|
|
3984
|
+
const internal = React31.useRef(null);
|
|
3985
|
+
const callback = React31.useCallback(
|
|
3930
3986
|
(node) => {
|
|
3931
3987
|
internal.current = node;
|
|
3932
3988
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -3943,13 +3999,13 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
3943
3999
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
3944
4000
|
};
|
|
3945
4001
|
}
|
|
3946
|
-
var Textarea =
|
|
4002
|
+
var Textarea = React31.forwardRef(
|
|
3947
4003
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
3948
4004
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3949
4005
|
const stretchClasses = getStretchClasses(className);
|
|
3950
4006
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
3951
4007
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3952
|
-
const textarea = /* @__PURE__ */ (0,
|
|
4008
|
+
const textarea = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3953
4009
|
"textarea",
|
|
3954
4010
|
{
|
|
3955
4011
|
ref: callback,
|
|
@@ -3965,15 +4021,15 @@ var Textarea = React30.forwardRef(
|
|
|
3965
4021
|
}
|
|
3966
4022
|
);
|
|
3967
4023
|
if (!needsWrapper) return textarea;
|
|
3968
|
-
return /* @__PURE__ */ (0,
|
|
4024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
3969
4025
|
}
|
|
3970
4026
|
);
|
|
3971
4027
|
Textarea.displayName = "Textarea";
|
|
3972
|
-
var BasicTextarea =
|
|
4028
|
+
var BasicTextarea = React31.forwardRef(
|
|
3973
4029
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
3974
4030
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3975
4031
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3976
|
-
return /* @__PURE__ */ (0,
|
|
4032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3977
4033
|
"textarea",
|
|
3978
4034
|
{
|
|
3979
4035
|
ref: callback,
|
|
@@ -3991,7 +4047,7 @@ var BasicTextarea = React30.forwardRef(
|
|
|
3991
4047
|
}
|
|
3992
4048
|
);
|
|
3993
4049
|
BasicTextarea.displayName = "BasicTextarea";
|
|
3994
|
-
var TextareaWithPrefix =
|
|
4050
|
+
var TextareaWithPrefix = React31.forwardRef(
|
|
3995
4051
|
({
|
|
3996
4052
|
prefix,
|
|
3997
4053
|
className,
|
|
@@ -4003,13 +4059,13 @@ var TextareaWithPrefix = React30.forwardRef(
|
|
|
4003
4059
|
}, forwarded) => {
|
|
4004
4060
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
4005
4061
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
4006
|
-
return /* @__PURE__ */ (0,
|
|
4062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
4007
4063
|
"div",
|
|
4008
4064
|
{
|
|
4009
4065
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
4010
4066
|
children: [
|
|
4011
|
-
prefix ? /* @__PURE__ */ (0,
|
|
4012
|
-
/* @__PURE__ */ (0,
|
|
4067
|
+
prefix ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
|
|
4068
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4013
4069
|
"textarea",
|
|
4014
4070
|
{
|
|
4015
4071
|
ref: callback,
|
|
@@ -4088,14 +4144,14 @@ function useScrollFade() {
|
|
|
4088
4144
|
|
|
4089
4145
|
// src/hover-card.tsx
|
|
4090
4146
|
var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
|
|
4091
|
-
var
|
|
4092
|
-
var
|
|
4147
|
+
var React32 = __toESM(require("react"), 1);
|
|
4148
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
4093
4149
|
var HoverCard = HoverCardPrimitive.Root;
|
|
4094
4150
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
4095
|
-
var HoverCardContent =
|
|
4151
|
+
var HoverCardContent = React32.forwardRef(
|
|
4096
4152
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4097
4153
|
const resolved = usePortalContainer(container);
|
|
4098
|
-
return /* @__PURE__ */ (0,
|
|
4154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
4099
4155
|
HoverCardPrimitive.Content,
|
|
4100
4156
|
{
|
|
4101
4157
|
ref,
|
|
@@ -4116,9 +4172,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
4116
4172
|
|
|
4117
4173
|
// src/radio-group.tsx
|
|
4118
4174
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
4119
|
-
var
|
|
4120
|
-
var
|
|
4121
|
-
var RadioGroupSizeContext =
|
|
4175
|
+
var React33 = __toESM(require("react"), 1);
|
|
4176
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
4177
|
+
var RadioGroupSizeContext = React33.createContext("md");
|
|
4122
4178
|
var CONTROL_CLASSES = {
|
|
4123
4179
|
sm: "h-3.5 w-3.5",
|
|
4124
4180
|
md: "h-4 w-4",
|
|
@@ -4129,7 +4185,7 @@ var DOT_CLASSES = {
|
|
|
4129
4185
|
md: "h-1.5 w-1.5",
|
|
4130
4186
|
lg: "h-2 w-2"
|
|
4131
4187
|
};
|
|
4132
|
-
var RadioGroup3 =
|
|
4188
|
+
var RadioGroup3 = React33.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4133
4189
|
RadioGroupPrimitive.Root,
|
|
4134
4190
|
{
|
|
4135
4191
|
ref,
|
|
@@ -4139,10 +4195,10 @@ var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref)
|
|
|
4139
4195
|
}
|
|
4140
4196
|
) }));
|
|
4141
4197
|
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
4142
|
-
var RadioGroupItem =
|
|
4143
|
-
const groupSize =
|
|
4198
|
+
var RadioGroupItem = React33.forwardRef(({ className, size, ...props }, ref) => {
|
|
4199
|
+
const groupSize = React33.useContext(RadioGroupSizeContext);
|
|
4144
4200
|
const resolved = size ?? groupSize;
|
|
4145
|
-
return /* @__PURE__ */ (0,
|
|
4201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4146
4202
|
RadioGroupPrimitive.Item,
|
|
4147
4203
|
{
|
|
4148
4204
|
ref,
|
|
@@ -4159,7 +4215,7 @@ var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
4159
4215
|
className
|
|
4160
4216
|
),
|
|
4161
4217
|
...props,
|
|
4162
|
-
children: /* @__PURE__ */ (0,
|
|
4218
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4163
4219
|
"div",
|
|
4164
4220
|
{
|
|
4165
4221
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -4172,7 +4228,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
4172
4228
|
|
|
4173
4229
|
// src/resizable.tsx
|
|
4174
4230
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
4175
|
-
var
|
|
4231
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4176
4232
|
var HANDLE_SIZES = {
|
|
4177
4233
|
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
4178
4234
|
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
@@ -4186,7 +4242,7 @@ var HANDLE_SIZES = {
|
|
|
4186
4242
|
var ResizablePanelGroup = ({
|
|
4187
4243
|
className,
|
|
4188
4244
|
...props
|
|
4189
|
-
}) => /* @__PURE__ */ (0,
|
|
4245
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4190
4246
|
import_react_resizable_panels.Group,
|
|
4191
4247
|
{
|
|
4192
4248
|
"data-slot": "resizable-group",
|
|
@@ -4201,7 +4257,7 @@ var ResizableHandle = ({
|
|
|
4201
4257
|
size = "xs",
|
|
4202
4258
|
className,
|
|
4203
4259
|
...props
|
|
4204
|
-
}) => /* @__PURE__ */ (0,
|
|
4260
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4205
4261
|
import_react_resizable_panels.Separator,
|
|
4206
4262
|
{
|
|
4207
4263
|
"data-slot": "resizable-handle",
|
|
@@ -4221,15 +4277,15 @@ var ResizableHandle = ({
|
|
|
4221
4277
|
className
|
|
4222
4278
|
),
|
|
4223
4279
|
...props,
|
|
4224
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
4280
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("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__ */ (0, import_jsx_runtime44.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
|
|
4225
4281
|
}
|
|
4226
4282
|
);
|
|
4227
4283
|
ResizableHandle.displayName = "ResizableHandle";
|
|
4228
4284
|
|
|
4229
4285
|
// src/slider.tsx
|
|
4230
4286
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
4231
|
-
var
|
|
4232
|
-
var
|
|
4287
|
+
var React34 = __toESM(require("react"), 1);
|
|
4288
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
4233
4289
|
var TRACK_CLASSES = {
|
|
4234
4290
|
sm: "h-1",
|
|
4235
4291
|
md: "h-1.5",
|
|
@@ -4240,12 +4296,12 @@ var THUMB_CLASSES = {
|
|
|
4240
4296
|
md: "h-4 w-4",
|
|
4241
4297
|
lg: "h-5 w-5"
|
|
4242
4298
|
};
|
|
4243
|
-
var Slider =
|
|
4299
|
+
var Slider = React34.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
4244
4300
|
const thumbCount = Math.max(
|
|
4245
4301
|
1,
|
|
4246
4302
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
4247
4303
|
);
|
|
4248
|
-
return /* @__PURE__ */ (0,
|
|
4304
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
4249
4305
|
SliderPrimitive.Root,
|
|
4250
4306
|
{
|
|
4251
4307
|
ref,
|
|
@@ -4257,7 +4313,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4257
4313
|
),
|
|
4258
4314
|
...props,
|
|
4259
4315
|
children: [
|
|
4260
|
-
/* @__PURE__ */ (0,
|
|
4316
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4261
4317
|
SliderPrimitive.Track,
|
|
4262
4318
|
{
|
|
4263
4319
|
"data-slot": "slider-track",
|
|
@@ -4266,7 +4322,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4266
4322
|
TRACK_CLASSES[size],
|
|
4267
4323
|
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
4268
4324
|
),
|
|
4269
|
-
children: /* @__PURE__ */ (0,
|
|
4325
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4270
4326
|
SliderPrimitive.Range,
|
|
4271
4327
|
{
|
|
4272
4328
|
"data-slot": "slider-range",
|
|
@@ -4275,7 +4331,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4275
4331
|
)
|
|
4276
4332
|
}
|
|
4277
4333
|
),
|
|
4278
|
-
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0,
|
|
4334
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4279
4335
|
SliderPrimitive.Thumb,
|
|
4280
4336
|
{
|
|
4281
4337
|
"data-slot": "slider-thumb",
|
|
@@ -4302,8 +4358,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
4302
4358
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
4303
4359
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
4304
4360
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4305
|
-
var
|
|
4306
|
-
var
|
|
4361
|
+
var React35 = __toESM(require("react"), 1);
|
|
4362
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
4307
4363
|
var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
4308
4364
|
"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",
|
|
4309
4365
|
{
|
|
@@ -4324,7 +4380,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
|
4324
4380
|
}
|
|
4325
4381
|
}
|
|
4326
4382
|
);
|
|
4327
|
-
var Toggle =
|
|
4383
|
+
var Toggle = React35.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4328
4384
|
TogglePrimitive.Root,
|
|
4329
4385
|
{
|
|
4330
4386
|
ref,
|
|
@@ -4334,21 +4390,21 @@ var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
4334
4390
|
}
|
|
4335
4391
|
));
|
|
4336
4392
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
4337
|
-
var ToggleGroupContext =
|
|
4338
|
-
var ToggleGroup =
|
|
4393
|
+
var ToggleGroupContext = React35.createContext({ size: "default", variant: "default" });
|
|
4394
|
+
var ToggleGroup = React35.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4339
4395
|
ToggleGroupPrimitive.Root,
|
|
4340
4396
|
{
|
|
4341
4397
|
ref,
|
|
4342
4398
|
"data-slot": "toggle-group",
|
|
4343
4399
|
className: cn("flex items-center justify-center gap-1", className),
|
|
4344
4400
|
...props,
|
|
4345
|
-
children: /* @__PURE__ */ (0,
|
|
4401
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4346
4402
|
}
|
|
4347
4403
|
));
|
|
4348
4404
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
4349
|
-
var ToggleGroupItem =
|
|
4350
|
-
const context =
|
|
4351
|
-
return /* @__PURE__ */ (0,
|
|
4405
|
+
var ToggleGroupItem = React35.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
4406
|
+
const context = React35.useContext(ToggleGroupContext);
|
|
4407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4352
4408
|
ToggleGroupPrimitive.Item,
|
|
4353
4409
|
{
|
|
4354
4410
|
ref,
|
|
@@ -4369,14 +4425,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
4369
4425
|
|
|
4370
4426
|
// src/tooltip.tsx
|
|
4371
4427
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
4372
|
-
var
|
|
4373
|
-
var
|
|
4428
|
+
var React36 = __toESM(require("react"), 1);
|
|
4429
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4374
4430
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4375
4431
|
var Tooltip = TooltipPrimitive.Root;
|
|
4376
4432
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4377
|
-
var TooltipContent =
|
|
4433
|
+
var TooltipContent = React36.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4378
4434
|
const resolved = usePortalContainer(container);
|
|
4379
|
-
return /* @__PURE__ */ (0,
|
|
4435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
4380
4436
|
TooltipPrimitive.Content,
|
|
4381
4437
|
{
|
|
4382
4438
|
ref,
|