@ai-matrx/design-system 0.12.1 → 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 +37 -0
- package/README.md +14 -1
- package/dist/index.cjs +207 -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 +207 -153
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2910,11 +2910,60 @@ function SegmentedControl({
|
|
|
2910
2910
|
);
|
|
2911
2911
|
}
|
|
2912
2912
|
|
|
2913
|
+
// src/archive-filter.tsx
|
|
2914
|
+
import * as React24 from "react";
|
|
2915
|
+
import { jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2916
|
+
var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
|
|
2917
|
+
var DEFAULT_ARCHIVE_FILTER = "active";
|
|
2918
|
+
var ARCHIVE_FILTER_LABELS = {
|
|
2919
|
+
active: "Active only",
|
|
2920
|
+
archived: "Archived only",
|
|
2921
|
+
all: "Active + archived"
|
|
2922
|
+
};
|
|
2923
|
+
function toArchiveFilter(value, fallback = DEFAULT_ARCHIVE_FILTER) {
|
|
2924
|
+
return ARCHIVE_FILTER_VALUES.includes(value) ? value : fallback;
|
|
2925
|
+
}
|
|
2926
|
+
function ArchiveFilter({
|
|
2927
|
+
value,
|
|
2928
|
+
onValueChange,
|
|
2929
|
+
counts,
|
|
2930
|
+
labels,
|
|
2931
|
+
size = "sm",
|
|
2932
|
+
className,
|
|
2933
|
+
"aria-label": ariaLabel = "Archive filter",
|
|
2934
|
+
disabled = false
|
|
2935
|
+
}) {
|
|
2936
|
+
const data = React24.useMemo(
|
|
2937
|
+
() => ARCHIVE_FILTER_VALUES.map((state) => {
|
|
2938
|
+
const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
|
|
2939
|
+
const count = counts?.[state];
|
|
2940
|
+
return {
|
|
2941
|
+
value: state,
|
|
2942
|
+
disabled,
|
|
2943
|
+
label: typeof count === "number" ? /* @__PURE__ */ jsxs17("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
2944
|
+
/* @__PURE__ */ jsx31("span", { children: text }),
|
|
2945
|
+
/* @__PURE__ */ jsx31("span", { className: "text-muted-foreground tabular-nums", children: count })
|
|
2946
|
+
] }) : text
|
|
2947
|
+
};
|
|
2948
|
+
}),
|
|
2949
|
+
[counts, labels, disabled]
|
|
2950
|
+
);
|
|
2951
|
+
return /* @__PURE__ */ jsx31("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ jsx31(
|
|
2952
|
+
SegmentedControl,
|
|
2953
|
+
{
|
|
2954
|
+
value,
|
|
2955
|
+
onValueChange: (next) => onValueChange(toArchiveFilter(next, value)),
|
|
2956
|
+
data,
|
|
2957
|
+
size
|
|
2958
|
+
}
|
|
2959
|
+
) });
|
|
2960
|
+
}
|
|
2961
|
+
|
|
2913
2962
|
// src/select.tsx
|
|
2914
2963
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2915
2964
|
import { cva as cva4 } from "class-variance-authority";
|
|
2916
|
-
import * as
|
|
2917
|
-
import { jsx as
|
|
2965
|
+
import * as React25 from "react";
|
|
2966
|
+
import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2918
2967
|
var Select = SelectPrimitive.Root;
|
|
2919
2968
|
var SelectGroup = SelectPrimitive.Group;
|
|
2920
2969
|
var SelectValue = SelectPrimitive.Value;
|
|
@@ -2933,7 +2982,7 @@ var selectTriggerVariants = cva4(
|
|
|
2933
2982
|
}
|
|
2934
2983
|
}
|
|
2935
2984
|
);
|
|
2936
|
-
var SelectTrigger =
|
|
2985
|
+
var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs18(
|
|
2937
2986
|
SelectPrimitive.Trigger,
|
|
2938
2987
|
{
|
|
2939
2988
|
ref,
|
|
@@ -2941,12 +2990,12 @@ var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false
|
|
|
2941
2990
|
...props,
|
|
2942
2991
|
children: [
|
|
2943
2992
|
children,
|
|
2944
|
-
!hideArrow && /* @__PURE__ */
|
|
2993
|
+
!hideArrow && /* @__PURE__ */ jsx32(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx32(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
2945
2994
|
]
|
|
2946
2995
|
}
|
|
2947
2996
|
));
|
|
2948
2997
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2949
|
-
var SelectScrollUpButton =
|
|
2998
|
+
var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
2950
2999
|
SelectPrimitive.ScrollUpButton,
|
|
2951
3000
|
{
|
|
2952
3001
|
ref,
|
|
@@ -2955,11 +3004,11 @@ var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) =>
|
|
|
2955
3004
|
className
|
|
2956
3005
|
),
|
|
2957
3006
|
...props,
|
|
2958
|
-
children: /* @__PURE__ */
|
|
3007
|
+
children: /* @__PURE__ */ jsx32(RadixChevronUpIcon, {})
|
|
2959
3008
|
}
|
|
2960
3009
|
));
|
|
2961
3010
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2962
|
-
var SelectScrollDownButton =
|
|
3011
|
+
var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
2963
3012
|
SelectPrimitive.ScrollDownButton,
|
|
2964
3013
|
{
|
|
2965
3014
|
ref,
|
|
@@ -2968,11 +3017,11 @@ var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) =
|
|
|
2968
3017
|
className
|
|
2969
3018
|
),
|
|
2970
3019
|
...props,
|
|
2971
|
-
children: /* @__PURE__ */
|
|
3020
|
+
children: /* @__PURE__ */ jsx32(RadixChevronDownIcon, {})
|
|
2972
3021
|
}
|
|
2973
3022
|
));
|
|
2974
3023
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2975
|
-
var SelectContent =
|
|
3024
|
+
var SelectContent = React25.forwardRef(
|
|
2976
3025
|
({
|
|
2977
3026
|
className,
|
|
2978
3027
|
children,
|
|
@@ -2982,7 +3031,7 @@ var SelectContent = React24.forwardRef(
|
|
|
2982
3031
|
...props
|
|
2983
3032
|
}, ref) => {
|
|
2984
3033
|
const portalContainer = usePortalContainer(container);
|
|
2985
|
-
return /* @__PURE__ */
|
|
3034
|
+
return /* @__PURE__ */ jsx32(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs18(
|
|
2986
3035
|
SelectPrimitive.Content,
|
|
2987
3036
|
{
|
|
2988
3037
|
ref,
|
|
@@ -3000,8 +3049,8 @@ var SelectContent = React24.forwardRef(
|
|
|
3000
3049
|
position,
|
|
3001
3050
|
...props,
|
|
3002
3051
|
children: [
|
|
3003
|
-
/* @__PURE__ */
|
|
3004
|
-
/* @__PURE__ */
|
|
3052
|
+
/* @__PURE__ */ jsx32(SelectScrollUpButton, {}),
|
|
3053
|
+
/* @__PURE__ */ jsx32(
|
|
3005
3054
|
SelectPrimitive.Viewport,
|
|
3006
3055
|
{
|
|
3007
3056
|
className: cn(
|
|
@@ -3011,14 +3060,14 @@ var SelectContent = React24.forwardRef(
|
|
|
3011
3060
|
children
|
|
3012
3061
|
}
|
|
3013
3062
|
),
|
|
3014
|
-
/* @__PURE__ */
|
|
3063
|
+
/* @__PURE__ */ jsx32(SelectScrollDownButton, {})
|
|
3015
3064
|
]
|
|
3016
3065
|
}
|
|
3017
3066
|
) });
|
|
3018
3067
|
}
|
|
3019
3068
|
);
|
|
3020
3069
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
3021
|
-
var SelectLabel =
|
|
3070
|
+
var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
3022
3071
|
SelectPrimitive.Label,
|
|
3023
3072
|
{
|
|
3024
3073
|
ref,
|
|
@@ -3027,7 +3076,7 @@ var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3027
3076
|
}
|
|
3028
3077
|
));
|
|
3029
3078
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
3030
|
-
var SelectItem =
|
|
3079
|
+
var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs18(
|
|
3031
3080
|
SelectPrimitive.Item,
|
|
3032
3081
|
{
|
|
3033
3082
|
ref,
|
|
@@ -3038,14 +3087,14 @@ var SelectItem = React24.forwardRef(({ className, children, description, ...prop
|
|
|
3038
3087
|
),
|
|
3039
3088
|
...props,
|
|
3040
3089
|
children: [
|
|
3041
|
-
/* @__PURE__ */
|
|
3042
|
-
/* @__PURE__ */
|
|
3043
|
-
description ? /* @__PURE__ */
|
|
3090
|
+
/* @__PURE__ */ jsx32("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx32(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx32(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
3091
|
+
/* @__PURE__ */ jsx32(SelectPrimitive.ItemText, { children }),
|
|
3092
|
+
description ? /* @__PURE__ */ jsx32("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
|
|
3044
3093
|
]
|
|
3045
3094
|
}
|
|
3046
3095
|
));
|
|
3047
3096
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
3048
|
-
var SelectSeparator =
|
|
3097
|
+
var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
|
|
3049
3098
|
SelectPrimitive.Separator,
|
|
3050
3099
|
{
|
|
3051
3100
|
ref,
|
|
@@ -3057,9 +3106,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3057
3106
|
|
|
3058
3107
|
// src/separator.tsx
|
|
3059
3108
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
3060
|
-
import * as
|
|
3061
|
-
import { jsx as
|
|
3062
|
-
var Separator4 =
|
|
3109
|
+
import * as React26 from "react";
|
|
3110
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
3111
|
+
var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
3063
3112
|
SeparatorPrimitive.Root,
|
|
3064
3113
|
{
|
|
3065
3114
|
ref,
|
|
@@ -3079,11 +3128,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
3079
3128
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
3080
3129
|
import { treeContainsComponent as treeContainsComponent4 } from "@ai-matrx/kit/react-tree";
|
|
3081
3130
|
import { cva as cva5 } from "class-variance-authority";
|
|
3082
|
-
import * as
|
|
3083
|
-
import { jsx as
|
|
3084
|
-
var SheetContentBase =
|
|
3131
|
+
import * as React27 from "react";
|
|
3132
|
+
import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3133
|
+
var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
|
|
3085
3134
|
const isModal = useRadixDialogModal();
|
|
3086
|
-
return /* @__PURE__ */
|
|
3135
|
+
return /* @__PURE__ */ jsx34(
|
|
3087
3136
|
SheetPrimitive.Content,
|
|
3088
3137
|
{
|
|
3089
3138
|
...props,
|
|
@@ -3093,15 +3142,15 @@ var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
|
|
|
3093
3142
|
);
|
|
3094
3143
|
});
|
|
3095
3144
|
SheetContentBase.displayName = "SheetContentBase";
|
|
3096
|
-
var Sheet =
|
|
3145
|
+
var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
|
|
3097
3146
|
const modal = props.modal ?? true;
|
|
3098
|
-
return /* @__PURE__ */
|
|
3147
|
+
return /* @__PURE__ */ jsx34(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx34(SheetPrimitive.Root, { ...props, modal, children }) });
|
|
3099
3148
|
});
|
|
3100
3149
|
Sheet.displayName = "Sheet";
|
|
3101
3150
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
3102
3151
|
var SheetClose = SheetPrimitive.Close;
|
|
3103
3152
|
var SheetPortal = SheetPrimitive.Portal;
|
|
3104
|
-
var SheetOverlay =
|
|
3153
|
+
var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
3105
3154
|
SheetPrimitive.Overlay,
|
|
3106
3155
|
{
|
|
3107
3156
|
className: cn(
|
|
@@ -3138,7 +3187,7 @@ var sheetVariants = cva5(
|
|
|
3138
3187
|
}
|
|
3139
3188
|
}
|
|
3140
3189
|
);
|
|
3141
|
-
var SheetDescription =
|
|
3190
|
+
var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
3142
3191
|
SheetPrimitive.Description,
|
|
3143
3192
|
{
|
|
3144
3193
|
ref,
|
|
@@ -3147,7 +3196,7 @@ var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3147
3196
|
}
|
|
3148
3197
|
));
|
|
3149
3198
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
3150
|
-
var SheetContent =
|
|
3199
|
+
var SheetContent = React27.forwardRef(
|
|
3151
3200
|
({
|
|
3152
3201
|
side = "right",
|
|
3153
3202
|
className,
|
|
@@ -3159,9 +3208,9 @@ var SheetContent = React26.forwardRef(
|
|
|
3159
3208
|
...props
|
|
3160
3209
|
}, ref) => {
|
|
3161
3210
|
const hasDescription = treeContainsComponent4(children, SheetDescription) || treeContainsComponent4(children, SheetPrimitive.Description);
|
|
3162
|
-
return /* @__PURE__ */
|
|
3163
|
-
!hideOverlay && /* @__PURE__ */
|
|
3164
|
-
/* @__PURE__ */
|
|
3211
|
+
return /* @__PURE__ */ jsxs19(SheetPortal, { children: [
|
|
3212
|
+
!hideOverlay && /* @__PURE__ */ jsx34(SheetOverlay, { className: overlayClassName }),
|
|
3213
|
+
/* @__PURE__ */ jsxs19(
|
|
3165
3214
|
SheetContentBase,
|
|
3166
3215
|
{
|
|
3167
3216
|
ref,
|
|
@@ -3173,9 +3222,9 @@ var SheetContent = React26.forwardRef(
|
|
|
3173
3222
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
3174
3223
|
...props,
|
|
3175
3224
|
children: [
|
|
3176
|
-
!hideCloseButton && /* @__PURE__ */
|
|
3177
|
-
/* @__PURE__ */
|
|
3178
|
-
/* @__PURE__ */
|
|
3225
|
+
!hideCloseButton && /* @__PURE__ */ jsxs19(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: [
|
|
3226
|
+
/* @__PURE__ */ jsx34(Cross2Icon, { className: "h-4 w-4" }),
|
|
3227
|
+
/* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Close" })
|
|
3179
3228
|
] }),
|
|
3180
3229
|
children
|
|
3181
3230
|
]
|
|
@@ -3188,7 +3237,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
3188
3237
|
var SheetHeader = ({
|
|
3189
3238
|
className,
|
|
3190
3239
|
...props
|
|
3191
|
-
}) => /* @__PURE__ */
|
|
3240
|
+
}) => /* @__PURE__ */ jsx34(
|
|
3192
3241
|
"div",
|
|
3193
3242
|
{
|
|
3194
3243
|
className: cn(
|
|
@@ -3202,7 +3251,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
3202
3251
|
var SheetFooter = ({
|
|
3203
3252
|
className,
|
|
3204
3253
|
...props
|
|
3205
|
-
}) => /* @__PURE__ */
|
|
3254
|
+
}) => /* @__PURE__ */ jsx34(
|
|
3206
3255
|
"div",
|
|
3207
3256
|
{
|
|
3208
3257
|
"data-slot": "sheet-footer",
|
|
@@ -3214,7 +3263,7 @@ var SheetFooter = ({
|
|
|
3214
3263
|
}
|
|
3215
3264
|
);
|
|
3216
3265
|
SheetFooter.displayName = "SheetFooter";
|
|
3217
|
-
var SheetTitle =
|
|
3266
|
+
var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
3218
3267
|
SheetPrimitive.Title,
|
|
3219
3268
|
{
|
|
3220
3269
|
ref,
|
|
@@ -3225,9 +3274,9 @@ var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3225
3274
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3226
3275
|
|
|
3227
3276
|
// src/skeleton.tsx
|
|
3228
|
-
import { jsx as
|
|
3277
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3229
3278
|
function Skeleton({ className, animated = true, ...props }) {
|
|
3230
|
-
return /* @__PURE__ */
|
|
3279
|
+
return /* @__PURE__ */ jsx35(
|
|
3231
3280
|
"div",
|
|
3232
3281
|
{
|
|
3233
3282
|
"data-slot": "skeleton",
|
|
@@ -3243,8 +3292,8 @@ function Skeleton({ className, animated = true, ...props }) {
|
|
|
3243
3292
|
|
|
3244
3293
|
// src/switch.tsx
|
|
3245
3294
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3246
|
-
import * as
|
|
3247
|
-
import { jsx as
|
|
3295
|
+
import * as React28 from "react";
|
|
3296
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3248
3297
|
var SWITCH_SIZES = {
|
|
3249
3298
|
sm: {
|
|
3250
3299
|
root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
|
|
@@ -3255,7 +3304,7 @@ var SWITCH_SIZES = {
|
|
|
3255
3304
|
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
3256
3305
|
}
|
|
3257
3306
|
};
|
|
3258
|
-
var Switch =
|
|
3307
|
+
var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx36(
|
|
3259
3308
|
SwitchPrimitives.Root,
|
|
3260
3309
|
{
|
|
3261
3310
|
ref,
|
|
@@ -3266,7 +3315,7 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3266
3315
|
className
|
|
3267
3316
|
),
|
|
3268
3317
|
...props,
|
|
3269
|
-
children: /* @__PURE__ */
|
|
3318
|
+
children: /* @__PURE__ */ jsx36(
|
|
3270
3319
|
SwitchPrimitives.Thumb,
|
|
3271
3320
|
{
|
|
3272
3321
|
"data-slot": "switch-thumb",
|
|
@@ -3281,14 +3330,14 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3281
3330
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
3282
3331
|
|
|
3283
3332
|
// src/organization-picker.tsx
|
|
3284
|
-
import { Fragment as Fragment2, jsx as
|
|
3333
|
+
import { Fragment as Fragment2, jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3285
3334
|
function OrganizationAbbreviation({
|
|
3286
3335
|
abbreviation,
|
|
3287
3336
|
name,
|
|
3288
3337
|
className
|
|
3289
3338
|
}) {
|
|
3290
3339
|
const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
|
|
3291
|
-
return /* @__PURE__ */
|
|
3340
|
+
return /* @__PURE__ */ jsx37(
|
|
3292
3341
|
"span",
|
|
3293
3342
|
{
|
|
3294
3343
|
className: cn(
|
|
@@ -3315,20 +3364,20 @@ function OrganizationPicker({
|
|
|
3315
3364
|
}) {
|
|
3316
3365
|
const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
|
|
3317
3366
|
const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
|
|
3318
|
-
return /* @__PURE__ */
|
|
3319
|
-
!hideHeading && /* @__PURE__ */
|
|
3320
|
-
loading ? /* @__PURE__ */
|
|
3321
|
-
/* @__PURE__ */
|
|
3322
|
-
/* @__PURE__ */
|
|
3323
|
-
] }) : loadFailed ? /* @__PURE__ */
|
|
3324
|
-
active ? /* @__PURE__ */
|
|
3367
|
+
return /* @__PURE__ */ jsxs20("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
|
|
3368
|
+
!hideHeading && /* @__PURE__ */ jsx37("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
|
|
3369
|
+
loading ? /* @__PURE__ */ jsxs20("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
|
|
3370
|
+
/* @__PURE__ */ jsx37(Skeleton, { className: "h-7 rounded-md" }),
|
|
3371
|
+
/* @__PURE__ */ jsx37(Skeleton, { className: "h-7 rounded-md" })
|
|
3372
|
+
] }) : loadFailed ? /* @__PURE__ */ jsx37("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ jsx37("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__ */ jsxs20(Fragment2, { children: [
|
|
3373
|
+
active ? /* @__PURE__ */ jsxs20("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
|
|
3325
3374
|
"Working in",
|
|
3326
3375
|
" ",
|
|
3327
|
-
/* @__PURE__ */
|
|
3328
|
-
] }) : /* @__PURE__ */
|
|
3329
|
-
/* @__PURE__ */
|
|
3376
|
+
/* @__PURE__ */ jsx37("span", { className: "font-medium text-foreground", children: active.name })
|
|
3377
|
+
] }) : /* @__PURE__ */ jsx37("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
|
|
3378
|
+
/* @__PURE__ */ jsx37("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
|
|
3330
3379
|
const isActive = org.id === activeOrganizationId;
|
|
3331
|
-
return /* @__PURE__ */
|
|
3380
|
+
return /* @__PURE__ */ jsx37("li", { role: "none", children: /* @__PURE__ */ jsxs20(
|
|
3332
3381
|
"button",
|
|
3333
3382
|
{
|
|
3334
3383
|
type: "button",
|
|
@@ -3345,7 +3394,7 @@ function OrganizationPicker({
|
|
|
3345
3394
|
itemClassName
|
|
3346
3395
|
),
|
|
3347
3396
|
children: [
|
|
3348
|
-
/* @__PURE__ */
|
|
3397
|
+
/* @__PURE__ */ jsx37(
|
|
3349
3398
|
OrganizationAbbreviation,
|
|
3350
3399
|
{
|
|
3351
3400
|
abbreviation: org.abbreviation,
|
|
@@ -3356,9 +3405,9 @@ function OrganizationPicker({
|
|
|
3356
3405
|
)
|
|
3357
3406
|
}
|
|
3358
3407
|
),
|
|
3359
|
-
/* @__PURE__ */
|
|
3360
|
-
org.isPersonal && /* @__PURE__ */
|
|
3361
|
-
isDefault(org.id) && /* @__PURE__ */
|
|
3408
|
+
/* @__PURE__ */ jsx37("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
|
|
3409
|
+
org.isPersonal && /* @__PURE__ */ jsx37("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
|
|
3410
|
+
isDefault(org.id) && /* @__PURE__ */ jsx37(
|
|
3362
3411
|
StarIcon,
|
|
3363
3412
|
{
|
|
3364
3413
|
className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
|
|
@@ -3367,14 +3416,14 @@ function OrganizationPicker({
|
|
|
3367
3416
|
role: "img"
|
|
3368
3417
|
}
|
|
3369
3418
|
),
|
|
3370
|
-
isActive && /* @__PURE__ */
|
|
3419
|
+
isActive && /* @__PURE__ */ jsx37(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
|
|
3371
3420
|
]
|
|
3372
3421
|
}
|
|
3373
3422
|
) }, org.id);
|
|
3374
3423
|
}) }),
|
|
3375
|
-
onSetDefault && /* @__PURE__ */
|
|
3376
|
-
/* @__PURE__ */
|
|
3377
|
-
/* @__PURE__ */
|
|
3424
|
+
onSetDefault && /* @__PURE__ */ jsxs20(Fragment2, { children: [
|
|
3425
|
+
/* @__PURE__ */ jsx37("div", { className: "my-1 border-t border-border" }),
|
|
3426
|
+
/* @__PURE__ */ jsx37(
|
|
3378
3427
|
DefaultOrganizationSwitch,
|
|
3379
3428
|
{
|
|
3380
3429
|
active,
|
|
@@ -3392,17 +3441,17 @@ function DefaultOrganizationSwitch({
|
|
|
3392
3441
|
onChange
|
|
3393
3442
|
}) {
|
|
3394
3443
|
const disabled = !active;
|
|
3395
|
-
return /* @__PURE__ */
|
|
3444
|
+
return /* @__PURE__ */ jsxs20(
|
|
3396
3445
|
"div",
|
|
3397
3446
|
{
|
|
3398
3447
|
className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
|
|
3399
3448
|
"data-slot": "organization-picker-default",
|
|
3400
3449
|
children: [
|
|
3401
|
-
/* @__PURE__ */
|
|
3402
|
-
/* @__PURE__ */
|
|
3403
|
-
/* @__PURE__ */
|
|
3450
|
+
/* @__PURE__ */ jsxs20("div", { className: "min-w-0", children: [
|
|
3451
|
+
/* @__PURE__ */ jsx37("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
|
|
3452
|
+
/* @__PURE__ */ jsx37("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
3453
|
] }),
|
|
3405
|
-
/* @__PURE__ */
|
|
3454
|
+
/* @__PURE__ */ jsx37(
|
|
3406
3455
|
Switch,
|
|
3407
3456
|
{
|
|
3408
3457
|
checked,
|
|
@@ -3418,7 +3467,7 @@ function DefaultOrganizationSwitch({
|
|
|
3418
3467
|
|
|
3419
3468
|
// src/tabbed-bottom-sheet.tsx
|
|
3420
3469
|
import { useState as useState7 } from "react";
|
|
3421
|
-
import { jsx as
|
|
3470
|
+
import { jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3422
3471
|
function TabbedBottomSheet({
|
|
3423
3472
|
open,
|
|
3424
3473
|
onOpenChange,
|
|
@@ -3432,15 +3481,15 @@ function TabbedBottomSheet({
|
|
|
3432
3481
|
if (open) setSelectedTabId(null);
|
|
3433
3482
|
}
|
|
3434
3483
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
3435
|
-
return /* @__PURE__ */
|
|
3484
|
+
return /* @__PURE__ */ jsx38(
|
|
3436
3485
|
BottomSheet,
|
|
3437
3486
|
{
|
|
3438
3487
|
open,
|
|
3439
3488
|
onOpenChange,
|
|
3440
3489
|
title,
|
|
3441
3490
|
size: "full",
|
|
3442
|
-
children: /* @__PURE__ */
|
|
3443
|
-
/* @__PURE__ */
|
|
3491
|
+
children: /* @__PURE__ */ jsxs21("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
3492
|
+
/* @__PURE__ */ jsx38(
|
|
3444
3493
|
BottomSheetHeader,
|
|
3445
3494
|
{
|
|
3446
3495
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -3448,19 +3497,19 @@ function TabbedBottomSheet({
|
|
|
3448
3497
|
onBack: () => setSelectedTabId(null)
|
|
3449
3498
|
}
|
|
3450
3499
|
),
|
|
3451
|
-
selectedTab ? /* @__PURE__ */
|
|
3500
|
+
selectedTab ? /* @__PURE__ */ jsx38("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx38(BottomSheetBody, { children: /* @__PURE__ */ jsx38("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
|
|
3452
3501
|
const Icon2 = tab.icon;
|
|
3453
|
-
return /* @__PURE__ */
|
|
3502
|
+
return /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsxs21(
|
|
3454
3503
|
"button",
|
|
3455
3504
|
{
|
|
3456
3505
|
type: "button",
|
|
3457
3506
|
onClick: () => setSelectedTabId(tab.id),
|
|
3458
3507
|
className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
|
|
3459
3508
|
children: [
|
|
3460
|
-
Icon2 ? /* @__PURE__ */
|
|
3461
|
-
/* @__PURE__ */
|
|
3509
|
+
Icon2 ? /* @__PURE__ */ jsx38(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
3510
|
+
/* @__PURE__ */ jsx38("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
3462
3511
|
tab.trailing,
|
|
3463
|
-
/* @__PURE__ */
|
|
3512
|
+
/* @__PURE__ */ jsx38(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
3464
3513
|
]
|
|
3465
3514
|
}
|
|
3466
3515
|
) }, tab.id);
|
|
@@ -3471,19 +3520,19 @@ function TabbedBottomSheet({
|
|
|
3471
3520
|
}
|
|
3472
3521
|
|
|
3473
3522
|
// src/table.tsx
|
|
3474
|
-
import * as
|
|
3475
|
-
import { jsx as
|
|
3523
|
+
import * as React29 from "react";
|
|
3524
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3476
3525
|
var TABLE_SIZES = {
|
|
3477
3526
|
sm: { head: "px-2", cell: "p-2" },
|
|
3478
3527
|
md: { head: "px-3", cell: "p-3" }
|
|
3479
3528
|
};
|
|
3480
|
-
var TableSizeContext =
|
|
3529
|
+
var TableSizeContext = React29.createContext("md");
|
|
3481
3530
|
function useTableSize() {
|
|
3482
|
-
return
|
|
3531
|
+
return React29.useContext(TableSizeContext);
|
|
3483
3532
|
}
|
|
3484
|
-
var Table =
|
|
3533
|
+
var Table = React29.forwardRef(
|
|
3485
3534
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3486
|
-
const table = /* @__PURE__ */
|
|
3535
|
+
const table = /* @__PURE__ */ jsx39(
|
|
3487
3536
|
"table",
|
|
3488
3537
|
{
|
|
3489
3538
|
ref,
|
|
@@ -3493,7 +3542,7 @@ var Table = React28.forwardRef(
|
|
|
3493
3542
|
...props
|
|
3494
3543
|
}
|
|
3495
3544
|
);
|
|
3496
|
-
return /* @__PURE__ */
|
|
3545
|
+
return /* @__PURE__ */ jsx39(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx39(
|
|
3497
3546
|
"div",
|
|
3498
3547
|
{
|
|
3499
3548
|
"data-slot": "table-wrapper",
|
|
@@ -3504,7 +3553,7 @@ var Table = React28.forwardRef(
|
|
|
3504
3553
|
}
|
|
3505
3554
|
);
|
|
3506
3555
|
Table.displayName = "Table";
|
|
3507
|
-
var TableHeader =
|
|
3556
|
+
var TableHeader = React29.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3508
3557
|
"thead",
|
|
3509
3558
|
{
|
|
3510
3559
|
ref,
|
|
@@ -3518,7 +3567,7 @@ var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3518
3567
|
}
|
|
3519
3568
|
));
|
|
3520
3569
|
TableHeader.displayName = "TableHeader";
|
|
3521
|
-
var TableBody =
|
|
3570
|
+
var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3522
3571
|
"tbody",
|
|
3523
3572
|
{
|
|
3524
3573
|
ref,
|
|
@@ -3528,7 +3577,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3528
3577
|
}
|
|
3529
3578
|
));
|
|
3530
3579
|
TableBody.displayName = "TableBody";
|
|
3531
|
-
var TableFooter =
|
|
3580
|
+
var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3532
3581
|
"tfoot",
|
|
3533
3582
|
{
|
|
3534
3583
|
ref,
|
|
@@ -3541,7 +3590,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3541
3590
|
}
|
|
3542
3591
|
));
|
|
3543
3592
|
TableFooter.displayName = "TableFooter";
|
|
3544
|
-
var TableRow =
|
|
3593
|
+
var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3545
3594
|
"tr",
|
|
3546
3595
|
{
|
|
3547
3596
|
ref,
|
|
@@ -3554,9 +3603,9 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3554
3603
|
}
|
|
3555
3604
|
));
|
|
3556
3605
|
TableRow.displayName = "TableRow";
|
|
3557
|
-
var TableHead =
|
|
3606
|
+
var TableHead = React29.forwardRef(({ className, ...props }, ref) => {
|
|
3558
3607
|
const size = useTableSize();
|
|
3559
|
-
return /* @__PURE__ */
|
|
3608
|
+
return /* @__PURE__ */ jsx39(
|
|
3560
3609
|
"th",
|
|
3561
3610
|
{
|
|
3562
3611
|
ref,
|
|
@@ -3571,9 +3620,9 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3571
3620
|
);
|
|
3572
3621
|
});
|
|
3573
3622
|
TableHead.displayName = "TableHead";
|
|
3574
|
-
var TableCell =
|
|
3623
|
+
var TableCell = React29.forwardRef(({ className, ...props }, ref) => {
|
|
3575
3624
|
const size = useTableSize();
|
|
3576
|
-
return /* @__PURE__ */
|
|
3625
|
+
return /* @__PURE__ */ jsx39(
|
|
3577
3626
|
"td",
|
|
3578
3627
|
{
|
|
3579
3628
|
ref,
|
|
@@ -3588,7 +3637,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
|
3588
3637
|
);
|
|
3589
3638
|
});
|
|
3590
3639
|
TableCell.displayName = "TableCell";
|
|
3591
|
-
var TableCaption =
|
|
3640
|
+
var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
3592
3641
|
"caption",
|
|
3593
3642
|
{
|
|
3594
3643
|
ref,
|
|
@@ -3601,11 +3650,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
3601
3650
|
|
|
3602
3651
|
// src/tabs.tsx
|
|
3603
3652
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3604
|
-
import * as
|
|
3605
|
-
import { jsx as
|
|
3653
|
+
import * as React30 from "react";
|
|
3654
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
3606
3655
|
var Tabs = TabsPrimitive.Root;
|
|
3607
3656
|
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";
|
|
3608
|
-
var TabsList =
|
|
3657
|
+
var TabsList = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3609
3658
|
TabsPrimitive.List,
|
|
3610
3659
|
{
|
|
3611
3660
|
ref,
|
|
@@ -3618,7 +3667,7 @@ var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3618
3667
|
}
|
|
3619
3668
|
));
|
|
3620
3669
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3621
|
-
var TabsTrigger =
|
|
3670
|
+
var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3622
3671
|
TabsPrimitive.Trigger,
|
|
3623
3672
|
{
|
|
3624
3673
|
ref,
|
|
@@ -3632,7 +3681,7 @@ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3632
3681
|
}
|
|
3633
3682
|
));
|
|
3634
3683
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3635
|
-
var TabsTriggerCore =
|
|
3684
|
+
var TabsTriggerCore = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3636
3685
|
TabsPrimitive.Trigger,
|
|
3637
3686
|
{
|
|
3638
3687
|
ref,
|
|
@@ -3642,7 +3691,7 @@ var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
3642
3691
|
}
|
|
3643
3692
|
));
|
|
3644
3693
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
3645
|
-
var TabsContent =
|
|
3694
|
+
var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3646
3695
|
TabsPrimitive.Content,
|
|
3647
3696
|
{
|
|
3648
3697
|
ref,
|
|
@@ -3658,8 +3707,8 @@ var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3658
3707
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3659
3708
|
|
|
3660
3709
|
// src/textarea.tsx
|
|
3661
|
-
import * as
|
|
3662
|
-
import { jsx as
|
|
3710
|
+
import * as React31 from "react";
|
|
3711
|
+
import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3663
3712
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
3664
3713
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
3665
3714
|
function getStretchClasses(className) {
|
|
@@ -3672,7 +3721,7 @@ function getStretchClasses(className) {
|
|
|
3672
3721
|
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";
|
|
3673
3722
|
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";
|
|
3674
3723
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
3675
|
-
|
|
3724
|
+
React31.useEffect(() => {
|
|
3676
3725
|
if (!autoGrow || !ref.current) return;
|
|
3677
3726
|
const textarea = ref.current;
|
|
3678
3727
|
textarea.style.height = "auto";
|
|
@@ -3688,8 +3737,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
3688
3737
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
3689
3738
|
}
|
|
3690
3739
|
function useMergedTextareaRef(forwarded) {
|
|
3691
|
-
const internal =
|
|
3692
|
-
const callback =
|
|
3740
|
+
const internal = React31.useRef(null);
|
|
3741
|
+
const callback = React31.useCallback(
|
|
3693
3742
|
(node) => {
|
|
3694
3743
|
internal.current = node;
|
|
3695
3744
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -3706,13 +3755,13 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
3706
3755
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
3707
3756
|
};
|
|
3708
3757
|
}
|
|
3709
|
-
var Textarea =
|
|
3758
|
+
var Textarea = React31.forwardRef(
|
|
3710
3759
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
3711
3760
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3712
3761
|
const stretchClasses = getStretchClasses(className);
|
|
3713
3762
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
3714
3763
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3715
|
-
const textarea = /* @__PURE__ */
|
|
3764
|
+
const textarea = /* @__PURE__ */ jsx41(
|
|
3716
3765
|
"textarea",
|
|
3717
3766
|
{
|
|
3718
3767
|
ref: callback,
|
|
@@ -3728,15 +3777,15 @@ var Textarea = React30.forwardRef(
|
|
|
3728
3777
|
}
|
|
3729
3778
|
);
|
|
3730
3779
|
if (!needsWrapper) return textarea;
|
|
3731
|
-
return /* @__PURE__ */
|
|
3780
|
+
return /* @__PURE__ */ jsx41("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
3732
3781
|
}
|
|
3733
3782
|
);
|
|
3734
3783
|
Textarea.displayName = "Textarea";
|
|
3735
|
-
var BasicTextarea =
|
|
3784
|
+
var BasicTextarea = React31.forwardRef(
|
|
3736
3785
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
3737
3786
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3738
3787
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3739
|
-
return /* @__PURE__ */
|
|
3788
|
+
return /* @__PURE__ */ jsx41(
|
|
3740
3789
|
"textarea",
|
|
3741
3790
|
{
|
|
3742
3791
|
ref: callback,
|
|
@@ -3754,7 +3803,7 @@ var BasicTextarea = React30.forwardRef(
|
|
|
3754
3803
|
}
|
|
3755
3804
|
);
|
|
3756
3805
|
BasicTextarea.displayName = "BasicTextarea";
|
|
3757
|
-
var TextareaWithPrefix =
|
|
3806
|
+
var TextareaWithPrefix = React31.forwardRef(
|
|
3758
3807
|
({
|
|
3759
3808
|
prefix,
|
|
3760
3809
|
className,
|
|
@@ -3766,13 +3815,13 @@ var TextareaWithPrefix = React30.forwardRef(
|
|
|
3766
3815
|
}, forwarded) => {
|
|
3767
3816
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3768
3817
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3769
|
-
return /* @__PURE__ */
|
|
3818
|
+
return /* @__PURE__ */ jsxs22(
|
|
3770
3819
|
"div",
|
|
3771
3820
|
{
|
|
3772
3821
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
3773
3822
|
children: [
|
|
3774
|
-
prefix ? /* @__PURE__ */
|
|
3775
|
-
/* @__PURE__ */
|
|
3823
|
+
prefix ? /* @__PURE__ */ jsx41("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
|
|
3824
|
+
/* @__PURE__ */ jsx41(
|
|
3776
3825
|
"textarea",
|
|
3777
3826
|
{
|
|
3778
3827
|
ref: callback,
|
|
@@ -3851,14 +3900,14 @@ function useScrollFade() {
|
|
|
3851
3900
|
|
|
3852
3901
|
// src/hover-card.tsx
|
|
3853
3902
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3854
|
-
import * as
|
|
3855
|
-
import { jsx as
|
|
3903
|
+
import * as React32 from "react";
|
|
3904
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
3856
3905
|
var HoverCard = HoverCardPrimitive.Root;
|
|
3857
3906
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
3858
|
-
var HoverCardContent =
|
|
3907
|
+
var HoverCardContent = React32.forwardRef(
|
|
3859
3908
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
3860
3909
|
const resolved = usePortalContainer(container);
|
|
3861
|
-
return /* @__PURE__ */
|
|
3910
|
+
return /* @__PURE__ */ jsx42(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx42(
|
|
3862
3911
|
HoverCardPrimitive.Content,
|
|
3863
3912
|
{
|
|
3864
3913
|
ref,
|
|
@@ -3879,9 +3928,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
3879
3928
|
|
|
3880
3929
|
// src/radio-group.tsx
|
|
3881
3930
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3882
|
-
import * as
|
|
3883
|
-
import { jsx as
|
|
3884
|
-
var RadioGroupSizeContext =
|
|
3931
|
+
import * as React33 from "react";
|
|
3932
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
3933
|
+
var RadioGroupSizeContext = React33.createContext("md");
|
|
3885
3934
|
var CONTROL_CLASSES = {
|
|
3886
3935
|
sm: "h-3.5 w-3.5",
|
|
3887
3936
|
md: "h-4 w-4",
|
|
@@ -3892,7 +3941,7 @@ var DOT_CLASSES = {
|
|
|
3892
3941
|
md: "h-1.5 w-1.5",
|
|
3893
3942
|
lg: "h-2 w-2"
|
|
3894
3943
|
};
|
|
3895
|
-
var RadioGroup3 =
|
|
3944
|
+
var RadioGroup3 = React33.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx43(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx43(
|
|
3896
3945
|
RadioGroupPrimitive.Root,
|
|
3897
3946
|
{
|
|
3898
3947
|
ref,
|
|
@@ -3902,10 +3951,10 @@ var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref)
|
|
|
3902
3951
|
}
|
|
3903
3952
|
) }));
|
|
3904
3953
|
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
3905
|
-
var RadioGroupItem =
|
|
3906
|
-
const groupSize =
|
|
3954
|
+
var RadioGroupItem = React33.forwardRef(({ className, size, ...props }, ref) => {
|
|
3955
|
+
const groupSize = React33.useContext(RadioGroupSizeContext);
|
|
3907
3956
|
const resolved = size ?? groupSize;
|
|
3908
|
-
return /* @__PURE__ */
|
|
3957
|
+
return /* @__PURE__ */ jsx43(
|
|
3909
3958
|
RadioGroupPrimitive.Item,
|
|
3910
3959
|
{
|
|
3911
3960
|
ref,
|
|
@@ -3922,7 +3971,7 @@ var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
3922
3971
|
className
|
|
3923
3972
|
),
|
|
3924
3973
|
...props,
|
|
3925
|
-
children: /* @__PURE__ */
|
|
3974
|
+
children: /* @__PURE__ */ jsx43(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx43(
|
|
3926
3975
|
"div",
|
|
3927
3976
|
{
|
|
3928
3977
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -3935,7 +3984,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
3935
3984
|
|
|
3936
3985
|
// src/resizable.tsx
|
|
3937
3986
|
import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
|
|
3938
|
-
import { jsx as
|
|
3987
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3939
3988
|
var HANDLE_SIZES = {
|
|
3940
3989
|
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3941
3990
|
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
@@ -3949,7 +3998,7 @@ var HANDLE_SIZES = {
|
|
|
3949
3998
|
var ResizablePanelGroup = ({
|
|
3950
3999
|
className,
|
|
3951
4000
|
...props
|
|
3952
|
-
}) => /* @__PURE__ */
|
|
4001
|
+
}) => /* @__PURE__ */ jsx44(
|
|
3953
4002
|
Group4,
|
|
3954
4003
|
{
|
|
3955
4004
|
"data-slot": "resizable-group",
|
|
@@ -3964,7 +4013,7 @@ var ResizableHandle = ({
|
|
|
3964
4013
|
size = "xs",
|
|
3965
4014
|
className,
|
|
3966
4015
|
...props
|
|
3967
|
-
}) => /* @__PURE__ */
|
|
4016
|
+
}) => /* @__PURE__ */ jsx44(
|
|
3968
4017
|
Separator5,
|
|
3969
4018
|
{
|
|
3970
4019
|
"data-slot": "resizable-handle",
|
|
@@ -3984,15 +4033,15 @@ var ResizableHandle = ({
|
|
|
3984
4033
|
className
|
|
3985
4034
|
),
|
|
3986
4035
|
...props,
|
|
3987
|
-
children: withHandle ? /* @__PURE__ */
|
|
4036
|
+
children: withHandle ? /* @__PURE__ */ jsx44("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__ */ jsx44(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
|
|
3988
4037
|
}
|
|
3989
4038
|
);
|
|
3990
4039
|
ResizableHandle.displayName = "ResizableHandle";
|
|
3991
4040
|
|
|
3992
4041
|
// src/slider.tsx
|
|
3993
4042
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3994
|
-
import * as
|
|
3995
|
-
import { jsx as
|
|
4043
|
+
import * as React34 from "react";
|
|
4044
|
+
import { jsx as jsx45, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3996
4045
|
var TRACK_CLASSES = {
|
|
3997
4046
|
sm: "h-1",
|
|
3998
4047
|
md: "h-1.5",
|
|
@@ -4003,12 +4052,12 @@ var THUMB_CLASSES = {
|
|
|
4003
4052
|
md: "h-4 w-4",
|
|
4004
4053
|
lg: "h-5 w-5"
|
|
4005
4054
|
};
|
|
4006
|
-
var Slider =
|
|
4055
|
+
var Slider = React34.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
4007
4056
|
const thumbCount = Math.max(
|
|
4008
4057
|
1,
|
|
4009
4058
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
4010
4059
|
);
|
|
4011
|
-
return /* @__PURE__ */
|
|
4060
|
+
return /* @__PURE__ */ jsxs23(
|
|
4012
4061
|
SliderPrimitive.Root,
|
|
4013
4062
|
{
|
|
4014
4063
|
ref,
|
|
@@ -4020,7 +4069,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4020
4069
|
),
|
|
4021
4070
|
...props,
|
|
4022
4071
|
children: [
|
|
4023
|
-
/* @__PURE__ */
|
|
4072
|
+
/* @__PURE__ */ jsx45(
|
|
4024
4073
|
SliderPrimitive.Track,
|
|
4025
4074
|
{
|
|
4026
4075
|
"data-slot": "slider-track",
|
|
@@ -4029,7 +4078,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4029
4078
|
TRACK_CLASSES[size],
|
|
4030
4079
|
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
4031
4080
|
),
|
|
4032
|
-
children: /* @__PURE__ */
|
|
4081
|
+
children: /* @__PURE__ */ jsx45(
|
|
4033
4082
|
SliderPrimitive.Range,
|
|
4034
4083
|
{
|
|
4035
4084
|
"data-slot": "slider-range",
|
|
@@ -4038,7 +4087,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
4038
4087
|
)
|
|
4039
4088
|
}
|
|
4040
4089
|
),
|
|
4041
|
-
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */
|
|
4090
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx45(
|
|
4042
4091
|
SliderPrimitive.Thumb,
|
|
4043
4092
|
{
|
|
4044
4093
|
"data-slot": "slider-thumb",
|
|
@@ -4065,8 +4114,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
4065
4114
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
4066
4115
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
4067
4116
|
import { cva as cva6 } from "class-variance-authority";
|
|
4068
|
-
import * as
|
|
4069
|
-
import { jsx as
|
|
4117
|
+
import * as React35 from "react";
|
|
4118
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
4070
4119
|
var toggleVariants = cva6(
|
|
4071
4120
|
"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",
|
|
4072
4121
|
{
|
|
@@ -4087,7 +4136,7 @@ var toggleVariants = cva6(
|
|
|
4087
4136
|
}
|
|
4088
4137
|
}
|
|
4089
4138
|
);
|
|
4090
|
-
var Toggle =
|
|
4139
|
+
var Toggle = React35.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx46(
|
|
4091
4140
|
TogglePrimitive.Root,
|
|
4092
4141
|
{
|
|
4093
4142
|
ref,
|
|
@@ -4097,21 +4146,21 @@ var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
4097
4146
|
}
|
|
4098
4147
|
));
|
|
4099
4148
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
4100
|
-
var ToggleGroupContext =
|
|
4101
|
-
var ToggleGroup =
|
|
4149
|
+
var ToggleGroupContext = React35.createContext({ size: "default", variant: "default" });
|
|
4150
|
+
var ToggleGroup = React35.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx46(
|
|
4102
4151
|
ToggleGroupPrimitive.Root,
|
|
4103
4152
|
{
|
|
4104
4153
|
ref,
|
|
4105
4154
|
"data-slot": "toggle-group",
|
|
4106
4155
|
className: cn("flex items-center justify-center gap-1", className),
|
|
4107
4156
|
...props,
|
|
4108
|
-
children: /* @__PURE__ */
|
|
4157
|
+
children: /* @__PURE__ */ jsx46(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4109
4158
|
}
|
|
4110
4159
|
));
|
|
4111
4160
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
4112
|
-
var ToggleGroupItem =
|
|
4113
|
-
const context =
|
|
4114
|
-
return /* @__PURE__ */
|
|
4161
|
+
var ToggleGroupItem = React35.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
4162
|
+
const context = React35.useContext(ToggleGroupContext);
|
|
4163
|
+
return /* @__PURE__ */ jsx46(
|
|
4115
4164
|
ToggleGroupPrimitive.Item,
|
|
4116
4165
|
{
|
|
4117
4166
|
ref,
|
|
@@ -4132,14 +4181,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
4132
4181
|
|
|
4133
4182
|
// src/tooltip.tsx
|
|
4134
4183
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
4135
|
-
import * as
|
|
4136
|
-
import { jsx as
|
|
4184
|
+
import * as React36 from "react";
|
|
4185
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
4137
4186
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4138
4187
|
var Tooltip = TooltipPrimitive.Root;
|
|
4139
4188
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4140
|
-
var TooltipContent =
|
|
4189
|
+
var TooltipContent = React36.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4141
4190
|
const resolved = usePortalContainer(container);
|
|
4142
|
-
return /* @__PURE__ */
|
|
4191
|
+
return /* @__PURE__ */ jsx47(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx47(
|
|
4143
4192
|
TooltipPrimitive.Content,
|
|
4144
4193
|
{
|
|
4145
4194
|
ref,
|
|
@@ -4157,6 +4206,8 @@ var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container,
|
|
|
4157
4206
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
4158
4207
|
export {
|
|
4159
4208
|
ALL_MOTION_CLASSES,
|
|
4209
|
+
ARCHIVE_FILTER_LABELS,
|
|
4210
|
+
ARCHIVE_FILTER_VALUES,
|
|
4160
4211
|
Accordion,
|
|
4161
4212
|
AccordionContent,
|
|
4162
4213
|
AccordionItem,
|
|
@@ -4176,6 +4227,7 @@ export {
|
|
|
4176
4227
|
AlertDialogTitle,
|
|
4177
4228
|
AlertDialogTrigger,
|
|
4178
4229
|
AlertTitle,
|
|
4230
|
+
ArchiveFilter,
|
|
4179
4231
|
Avatar,
|
|
4180
4232
|
AvatarFallback,
|
|
4181
4233
|
AvatarImage,
|
|
@@ -4226,6 +4278,7 @@ export {
|
|
|
4226
4278
|
ContextMenuSubTrigger,
|
|
4227
4279
|
ContextMenuTrigger,
|
|
4228
4280
|
CreatablePicker,
|
|
4281
|
+
DEFAULT_ARCHIVE_FILTER,
|
|
4229
4282
|
DEFAULT_SCORE_THRESHOLDS,
|
|
4230
4283
|
Dialog,
|
|
4231
4284
|
DialogClose,
|
|
@@ -4357,6 +4410,7 @@ export {
|
|
|
4357
4410
|
scoreRingColorClasses,
|
|
4358
4411
|
selectTriggerVariants,
|
|
4359
4412
|
sheetVariants,
|
|
4413
|
+
toArchiveFilter,
|
|
4360
4414
|
toggleVariants,
|
|
4361
4415
|
useAccordionSize,
|
|
4362
4416
|
useCardSize,
|