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