@hachej/boring-ui-kit 0.1.81 → 0.1.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +16 -1
- package/dist/index.js +185 -152
- package/dist/styles.css +20 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -174,6 +174,21 @@ type StatusBadgeProps = BadgeProps & {
|
|
|
174
174
|
};
|
|
175
175
|
declare function StatusBadge({ className, tone, variant, ...props }: StatusBadgeProps): React.JSX.Element;
|
|
176
176
|
|
|
177
|
+
type MeterTone = 'default' | 'warning' | 'danger';
|
|
178
|
+
interface MeterProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'role'> {
|
|
179
|
+
/** Filled fraction as a percentage in the range 0..100. */
|
|
180
|
+
value: number;
|
|
181
|
+
/** Accessible label for the progressbar (screen readers). */
|
|
182
|
+
label?: string;
|
|
183
|
+
tone?: MeterTone;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Accessible horizontal usage/progress bar. Renders a subtle track with a
|
|
187
|
+
* proportional fill and exposes `role="progressbar"` with aria value props so
|
|
188
|
+
* consumers get an accessible meter out of the box.
|
|
189
|
+
*/
|
|
190
|
+
declare function Meter({ value, label, tone, className, ...props }: MeterProps): React.JSX.Element;
|
|
191
|
+
|
|
177
192
|
type NoticeTone = 'info' | 'success' | 'warning' | 'error' | 'accent' | 'destructive';
|
|
178
193
|
type NoticeProps = React.ComponentProps<'div'> & {
|
|
179
194
|
tone?: NoticeTone;
|
|
@@ -454,4 +469,4 @@ interface BoringPerspectiveThemeOptions {
|
|
|
454
469
|
declare function boringPerspectiveThemeName(root?: Pick<Element, "classList"> | null | undefined): "Pro Light" | "Pro Dark";
|
|
455
470
|
declare function applyBoringPerspectiveTheme(element: HTMLElement, options?: BoringPerspectiveThemeOptions): void;
|
|
456
471
|
|
|
457
|
-
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarFallback, type AvatarFallbackProps, type AvatarProps, Badge, type BadgeProps, type BoringPerspectiveThemeOptions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, ChipButton, type ChipButtonProps, type ChipProps, ChipRemove, type ChipRemoveProps, ChoiceGroup, ChoiceGroupLegend, ChoiceItem, ChoiceItemBody, ChoiceItemDescription, ChoiceItemTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DetailLine, type DetailLineProps, DetailList, type DetailListProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Disclosure, DisclosureChevron, DisclosureContent, DisclosureTrigger, type DisclosureTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FieldDescription, FieldError, FieldLabel, FloatingPanel, FloatingPanelBody, type FloatingPanelBodyProps, FloatingPanelHeader, type FloatingPanelHeaderProps, type FloatingPanelProps, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, type IconButtonProps, InitialsAvatar, type InitialsAvatarProps, InlineCode, type InlineCodeProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type InputProps, Kbd, type KbdProps, Label, List, type ListProps, ListRow, ListRowActions, type ListRowActionsProps, ListRowDescription, type ListRowDescriptionProps, ListRowMain, type ListRowMainProps, ListRowMeta, type ListRowMetaProps, type ListRowProps, ListRowTitle, type ListRowTitleProps, LoadingState, type LoadingStateProps, Notice, type NoticeProps, type NoticeTone, Pane, PaneBody, PaneDescription, PaneFooter, PaneHeader, PaneTitle, PaneToolbar, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Radio, type RadioProps, ResizeHandle, type ResizeHandleOrientation, type ResizeHandleProps, ScrollArea, ScrollBar, SegmentedControl, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeparatorProps, SettingsActionRow, type SettingsActionRowProps, SettingsNav, type SettingsNavItem, type SettingsNavProps, SettingsPageHeader, type SettingsPageHeaderProps, SettingsPanel, type SettingsPanelProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, type ToastApi$1 as ToastApi, type ToastApi as ToastEventApi, type ToastInput as ToastEventInput, type ToastVariant as ToastEventVariant, type ToastInput$1 as ToastInput, type ToastRecord, type ToastVariant$1 as ToastVariant, Toaster, type ToasterProps, Toolbar, ToolbarButton, type ToolbarButtonProps, ToolbarGroup, type ToolbarGroupProps, type ToolbarProps, ToolbarSeparator, type ToolbarSeparatorProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, applyBoringPerspectiveTheme, badgeVariants, boringPerspectiveThemeName, buttonGroupVariants, buttonVariants, clearToasts, cn, dismissToast, getActiveToasts, subscribeToasts, tabsListVariants, toast, useToast };
|
|
472
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarFallback, type AvatarFallbackProps, type AvatarProps, Badge, type BadgeProps, type BoringPerspectiveThemeOptions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Chip, ChipButton, type ChipButtonProps, type ChipProps, ChipRemove, type ChipRemoveProps, ChoiceGroup, ChoiceGroupLegend, ChoiceItem, ChoiceItemBody, ChoiceItemDescription, ChoiceItemTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DetailLine, type DetailLineProps, DetailList, type DetailListProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Disclosure, DisclosureChevron, DisclosureContent, DisclosureTrigger, type DisclosureTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FieldDescription, FieldError, FieldLabel, FloatingPanel, FloatingPanelBody, type FloatingPanelBodyProps, FloatingPanelHeader, type FloatingPanelHeaderProps, type FloatingPanelProps, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, type IconButtonProps, InitialsAvatar, type InitialsAvatarProps, InlineCode, type InlineCodeProps, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, type InputProps, Kbd, type KbdProps, Label, List, type ListProps, ListRow, ListRowActions, type ListRowActionsProps, ListRowDescription, type ListRowDescriptionProps, ListRowMain, type ListRowMainProps, ListRowMeta, type ListRowMetaProps, type ListRowProps, ListRowTitle, type ListRowTitleProps, LoadingState, type LoadingStateProps, Meter, type MeterProps, type MeterTone, Notice, type NoticeProps, type NoticeTone, Pane, PaneBody, PaneDescription, PaneFooter, PaneHeader, PaneTitle, PaneToolbar, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Radio, type RadioProps, ResizeHandle, type ResizeHandleOrientation, type ResizeHandleProps, ScrollArea, ScrollBar, SegmentedControl, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeparatorProps, SettingsActionRow, type SettingsActionRowProps, SettingsNav, type SettingsNavItem, type SettingsNavProps, SettingsPageHeader, type SettingsPageHeaderProps, SettingsPanel, type SettingsPanelProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, type ToastApi$1 as ToastApi, type ToastApi as ToastEventApi, type ToastInput as ToastEventInput, type ToastVariant as ToastEventVariant, type ToastInput$1 as ToastInput, type ToastRecord, type ToastVariant$1 as ToastVariant, Toaster, type ToasterProps, Toolbar, ToolbarButton, type ToolbarButtonProps, ToolbarGroup, type ToolbarGroupProps, type ToolbarProps, ToolbarSeparator, type ToolbarSeparatorProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, applyBoringPerspectiveTheme, badgeVariants, boringPerspectiveThemeName, buttonGroupVariants, buttonVariants, clearToasts, cn, dismissToast, getActiveToasts, subscribeToasts, tabsListVariants, toast, useToast };
|
package/dist/index.js
CHANGED
|
@@ -1044,8 +1044,40 @@ function StatusBadge({ className, tone = "neutral", variant = "ghost", ...props
|
|
|
1044
1044
|
return /* @__PURE__ */ jsx19(Badge, { "data-slot": "status-badge", variant, className: cn(toneClasses[tone], className), ...props });
|
|
1045
1045
|
}
|
|
1046
1046
|
|
|
1047
|
+
// src/meter.tsx
|
|
1048
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1049
|
+
var toneFill = {
|
|
1050
|
+
default: "bg-primary",
|
|
1051
|
+
warning: "bg-[color:var(--boring-warning,var(--accent-foreground))]",
|
|
1052
|
+
danger: "bg-destructive"
|
|
1053
|
+
};
|
|
1054
|
+
function Meter({ value, label, tone = "default", className, ...props }) {
|
|
1055
|
+
const clamped = Number.isFinite(value) ? Math.max(0, Math.min(100, value)) : 0;
|
|
1056
|
+
return /* @__PURE__ */ jsx20(
|
|
1057
|
+
"div",
|
|
1058
|
+
{
|
|
1059
|
+
role: "progressbar",
|
|
1060
|
+
"aria-valuenow": Math.round(clamped),
|
|
1061
|
+
"aria-valuemin": 0,
|
|
1062
|
+
"aria-valuemax": 100,
|
|
1063
|
+
"aria-label": label,
|
|
1064
|
+
"data-slot": "meter",
|
|
1065
|
+
className: cn("relative h-2 w-full overflow-hidden rounded-full bg-muted", className),
|
|
1066
|
+
...props,
|
|
1067
|
+
children: /* @__PURE__ */ jsx20(
|
|
1068
|
+
"div",
|
|
1069
|
+
{
|
|
1070
|
+
"data-slot": "meter-fill",
|
|
1071
|
+
className: cn("h-full rounded-full transition-[width] duration-300 ease-out", toneFill[tone]),
|
|
1072
|
+
style: { width: `${clamped}%` }
|
|
1073
|
+
}
|
|
1074
|
+
)
|
|
1075
|
+
}
|
|
1076
|
+
);
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1047
1079
|
// src/notice.tsx
|
|
1048
|
-
import { jsx as
|
|
1080
|
+
import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1049
1081
|
var noticeToneClasses = {
|
|
1050
1082
|
info: "border-border bg-muted/20 text-foreground [&_[data-slot=notice-icon]]:text-muted-foreground",
|
|
1051
1083
|
success: "border-success/35 bg-[color:var(--success-soft)] text-success [&_[data-slot=notice-description]]:text-foreground",
|
|
@@ -1076,22 +1108,22 @@ function Notice({
|
|
|
1076
1108
|
),
|
|
1077
1109
|
...props,
|
|
1078
1110
|
children: [
|
|
1079
|
-
icon && /* @__PURE__ */
|
|
1111
|
+
icon && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-icon", className: "mt-0.5 shrink-0", children: icon }),
|
|
1080
1112
|
/* @__PURE__ */ jsxs8("div", { className: "min-w-0 flex-1", children: [
|
|
1081
|
-
title && /* @__PURE__ */
|
|
1082
|
-
description && /* @__PURE__ */
|
|
1113
|
+
title && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-title", className: "font-medium leading-snug", children: title }),
|
|
1114
|
+
description && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-description", className: cn("text-muted-foreground", title && "mt-0.5"), children: description }),
|
|
1083
1115
|
children
|
|
1084
1116
|
] }),
|
|
1085
|
-
actions && /* @__PURE__ */
|
|
1117
|
+
actions && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-actions", className: "flex shrink-0 items-center gap-2", children: actions })
|
|
1086
1118
|
]
|
|
1087
1119
|
}
|
|
1088
1120
|
);
|
|
1089
1121
|
}
|
|
1090
1122
|
|
|
1091
1123
|
// src/skeleton.tsx
|
|
1092
|
-
import { jsx as
|
|
1124
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1093
1125
|
function Skeleton({ className, ...props }) {
|
|
1094
|
-
return /* @__PURE__ */
|
|
1126
|
+
return /* @__PURE__ */ jsx22(
|
|
1095
1127
|
"div",
|
|
1096
1128
|
{
|
|
1097
1129
|
"data-slot": "skeleton",
|
|
@@ -1103,9 +1135,9 @@ function Skeleton({ className, ...props }) {
|
|
|
1103
1135
|
}
|
|
1104
1136
|
|
|
1105
1137
|
// src/inline-code.tsx
|
|
1106
|
-
import { jsx as
|
|
1138
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1107
1139
|
function InlineCode({ className, ...props }) {
|
|
1108
|
-
return /* @__PURE__ */
|
|
1140
|
+
return /* @__PURE__ */ jsx23(
|
|
1109
1141
|
"code",
|
|
1110
1142
|
{
|
|
1111
1143
|
"data-slot": "inline-code",
|
|
@@ -1116,9 +1148,9 @@ function InlineCode({ className, ...props }) {
|
|
|
1116
1148
|
}
|
|
1117
1149
|
|
|
1118
1150
|
// src/toolbar.tsx
|
|
1119
|
-
import { jsx as
|
|
1151
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1120
1152
|
function Toolbar({ className, ...props }) {
|
|
1121
|
-
return /* @__PURE__ */
|
|
1153
|
+
return /* @__PURE__ */ jsx24(
|
|
1122
1154
|
"div",
|
|
1123
1155
|
{
|
|
1124
1156
|
"data-slot": "toolbar",
|
|
@@ -1129,19 +1161,19 @@ function Toolbar({ className, ...props }) {
|
|
|
1129
1161
|
);
|
|
1130
1162
|
}
|
|
1131
1163
|
function ToolbarGroup({ className, ...props }) {
|
|
1132
|
-
return /* @__PURE__ */
|
|
1164
|
+
return /* @__PURE__ */ jsx24("div", { "data-slot": "toolbar-group", className: cn("flex items-center gap-0.5", className), ...props });
|
|
1133
1165
|
}
|
|
1134
1166
|
function ToolbarButton({ className, variant = "ghost", size = "icon-sm", ...props }) {
|
|
1135
|
-
return /* @__PURE__ */
|
|
1167
|
+
return /* @__PURE__ */ jsx24(Button, { "data-slot": "toolbar-button", variant, size, className: cn("shrink-0", className), ...props });
|
|
1136
1168
|
}
|
|
1137
1169
|
function ToolbarSeparator({ className, ...props }) {
|
|
1138
|
-
return /* @__PURE__ */
|
|
1170
|
+
return /* @__PURE__ */ jsx24("div", { "data-slot": "toolbar-separator", "aria-hidden": "true", className: cn("mx-1 h-4 w-px shrink-0 bg-border/60", className), ...props });
|
|
1139
1171
|
}
|
|
1140
1172
|
|
|
1141
1173
|
// src/chip.tsx
|
|
1142
|
-
import { jsx as
|
|
1174
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1143
1175
|
function Chip({ className, selected, ...props }) {
|
|
1144
|
-
return /* @__PURE__ */
|
|
1176
|
+
return /* @__PURE__ */ jsx25(
|
|
1145
1177
|
"span",
|
|
1146
1178
|
{
|
|
1147
1179
|
"data-slot": "chip",
|
|
@@ -1156,7 +1188,7 @@ function Chip({ className, selected, ...props }) {
|
|
|
1156
1188
|
);
|
|
1157
1189
|
}
|
|
1158
1190
|
function ChipButton({ className, selected, variant = "outline", size = "xs", ...props }) {
|
|
1159
|
-
return /* @__PURE__ */
|
|
1191
|
+
return /* @__PURE__ */ jsx25(
|
|
1160
1192
|
Button,
|
|
1161
1193
|
{
|
|
1162
1194
|
"data-slot": "chip-button",
|
|
@@ -1173,7 +1205,7 @@ function ChipButton({ className, selected, variant = "outline", size = "xs", ...
|
|
|
1173
1205
|
);
|
|
1174
1206
|
}
|
|
1175
1207
|
function ChipRemove({ className, children, variant = "ghost", size = "icon-xs", ...props }) {
|
|
1176
|
-
return /* @__PURE__ */
|
|
1208
|
+
return /* @__PURE__ */ jsx25(
|
|
1177
1209
|
Button,
|
|
1178
1210
|
{
|
|
1179
1211
|
"data-slot": "chip-remove",
|
|
@@ -1181,15 +1213,15 @@ function ChipRemove({ className, children, variant = "ghost", size = "icon-xs",
|
|
|
1181
1213
|
size,
|
|
1182
1214
|
className: cn("size-4 rounded-full text-muted-foreground hover:text-foreground", className),
|
|
1183
1215
|
...props,
|
|
1184
|
-
children: children ?? /* @__PURE__ */
|
|
1216
|
+
children: children ?? /* @__PURE__ */ jsx25("span", { "aria-hidden": "true", className: "text-[13px] leading-none", children: "\xD7" })
|
|
1185
1217
|
}
|
|
1186
1218
|
);
|
|
1187
1219
|
}
|
|
1188
1220
|
|
|
1189
1221
|
// src/segmented-control.tsx
|
|
1190
|
-
import { jsx as
|
|
1222
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1191
1223
|
function SegmentedControl({ className, ...props }) {
|
|
1192
|
-
return /* @__PURE__ */
|
|
1224
|
+
return /* @__PURE__ */ jsx26(
|
|
1193
1225
|
"div",
|
|
1194
1226
|
{
|
|
1195
1227
|
"data-slot": "segmented-control",
|
|
@@ -1200,7 +1232,7 @@ function SegmentedControl({ className, ...props }) {
|
|
|
1200
1232
|
);
|
|
1201
1233
|
}
|
|
1202
1234
|
function SegmentedControlItem({ className, selected, variant = "ghost", size = "xs", ...props }) {
|
|
1203
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx26(
|
|
1204
1236
|
Button,
|
|
1205
1237
|
{
|
|
1206
1238
|
"data-slot": "segmented-control-item",
|
|
@@ -1220,7 +1252,7 @@ function SegmentedControlItem({ className, selected, variant = "ghost", size = "
|
|
|
1220
1252
|
}
|
|
1221
1253
|
|
|
1222
1254
|
// src/settings.tsx
|
|
1223
|
-
import { jsx as
|
|
1255
|
+
import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1224
1256
|
function SettingsPanel({ className, icon, title, description, footer, danger, testId, children, ...props }) {
|
|
1225
1257
|
return /* @__PURE__ */ jsxs9(
|
|
1226
1258
|
"section",
|
|
@@ -1231,24 +1263,24 @@ function SettingsPanel({ className, icon, title, description, footer, danger, te
|
|
|
1231
1263
|
...props,
|
|
1232
1264
|
children: [
|
|
1233
1265
|
/* @__PURE__ */ jsxs9("div", { "data-slot": "settings-panel-header", className: "flex min-h-11 items-center gap-2 border-b border-border/50 px-4 py-2.5", children: [
|
|
1234
|
-
icon && /* @__PURE__ */
|
|
1266
|
+
icon && /* @__PURE__ */ jsx27("span", { "data-slot": "settings-panel-icon", className: danger ? "text-destructive" : "text-muted-foreground", children: icon }),
|
|
1235
1267
|
/* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
1236
|
-
/* @__PURE__ */
|
|
1237
|
-
description ? /* @__PURE__ */
|
|
1268
|
+
/* @__PURE__ */ jsx27("h2", { "data-slot": "settings-panel-title", className: cn("text-[13px] font-medium leading-5", danger ? "text-destructive" : "text-foreground"), children: title }),
|
|
1269
|
+
description ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-panel-description", className: "text-[12px] leading-5 text-muted-foreground", children: description }) : null
|
|
1238
1270
|
] })
|
|
1239
1271
|
] }),
|
|
1240
|
-
/* @__PURE__ */
|
|
1241
|
-
footer ? /* @__PURE__ */
|
|
1272
|
+
/* @__PURE__ */ jsx27("div", { "data-slot": "settings-panel-body", className: "p-4", children }),
|
|
1273
|
+
footer ? /* @__PURE__ */ jsx27("div", { "data-slot": "settings-panel-footer", className: "flex items-center justify-end gap-2 border-t border-border/50 bg-muted/10 px-4 py-3", children: footer }) : null
|
|
1242
1274
|
]
|
|
1243
1275
|
}
|
|
1244
1276
|
);
|
|
1245
1277
|
}
|
|
1246
1278
|
function SettingsNav({ className, label, items, ...props }) {
|
|
1247
1279
|
return /* @__PURE__ */ jsxs9("nav", { "data-slot": "settings-nav", "aria-label": `${label} sections`, className: cn("boring-settings-nav", className), ...props, children: [
|
|
1248
|
-
/* @__PURE__ */
|
|
1249
|
-
items.map((item) => /* @__PURE__ */
|
|
1250
|
-
/* @__PURE__ */
|
|
1251
|
-
item.description ? /* @__PURE__ */
|
|
1280
|
+
/* @__PURE__ */ jsx27("p", { "data-slot": "settings-nav-label", className: "boring-settings-nav-label", children: label }),
|
|
1281
|
+
items.map((item) => /* @__PURE__ */ jsx27("a", { "data-slot": "settings-nav-item", href: item.href, className: "boring-settings-nav-item", children: /* @__PURE__ */ jsxs9("span", { className: "min-w-0", children: [
|
|
1282
|
+
/* @__PURE__ */ jsx27("span", { className: "block truncate text-[12.5px] font-medium text-foreground", children: item.label }),
|
|
1283
|
+
item.description ? /* @__PURE__ */ jsx27("span", { className: "block truncate text-[11.5px] leading-4 text-muted-foreground", children: item.description }) : null
|
|
1252
1284
|
] }) }, item.href))
|
|
1253
1285
|
] });
|
|
1254
1286
|
}
|
|
@@ -1256,9 +1288,9 @@ function SettingsPageHeader({ className, eyebrow, title, description, context, c
|
|
|
1256
1288
|
return /* @__PURE__ */ jsxs9("header", { "data-slot": "settings-page-header", className: cn("boring-settings-page-header", className), ...props, children: [
|
|
1257
1289
|
context,
|
|
1258
1290
|
/* @__PURE__ */ jsxs9("div", { className: "max-w-2xl", children: [
|
|
1259
|
-
eyebrow ? /* @__PURE__ */
|
|
1260
|
-
/* @__PURE__ */
|
|
1261
|
-
description ? /* @__PURE__ */
|
|
1291
|
+
eyebrow ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-page-eyebrow", className: "text-[11px] font-medium uppercase leading-4 text-muted-foreground", children: eyebrow }) : null,
|
|
1292
|
+
/* @__PURE__ */ jsx27("h1", { "data-slot": "settings-page-title", className: "mt-1 text-[20px] font-semibold leading-7 tracking-tight text-foreground", children: title }),
|
|
1293
|
+
description ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-page-description", className: "mt-2 text-[13px] leading-5 text-muted-foreground", children: description }) : null
|
|
1262
1294
|
] }),
|
|
1263
1295
|
children
|
|
1264
1296
|
] });
|
|
@@ -1266,26 +1298,26 @@ function SettingsPageHeader({ className, eyebrow, title, description, context, c
|
|
|
1266
1298
|
function SettingsActionRow({ className, title, description, action, ...props }) {
|
|
1267
1299
|
return /* @__PURE__ */ jsxs9("div", { "data-slot": "settings-action-row", className: cn("boring-settings-action-row", className), ...props, children: [
|
|
1268
1300
|
/* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
1269
|
-
/* @__PURE__ */
|
|
1270
|
-
description ? /* @__PURE__ */
|
|
1301
|
+
/* @__PURE__ */ jsx27("p", { "data-slot": "settings-action-title", className: "text-[13px] font-medium leading-5 text-foreground", children: title }),
|
|
1302
|
+
description ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-action-description", className: "mt-1 max-w-xl text-[12px] leading-5 text-muted-foreground", children: description }) : null
|
|
1271
1303
|
] }),
|
|
1272
|
-
/* @__PURE__ */
|
|
1304
|
+
/* @__PURE__ */ jsx27("div", { "data-slot": "settings-action", className: "shrink-0", children: action })
|
|
1273
1305
|
] });
|
|
1274
1306
|
}
|
|
1275
1307
|
function DetailLine({ className, icon, label, children, ...props }) {
|
|
1276
1308
|
return /* @__PURE__ */ jsxs9("div", { "data-slot": "detail-line", className: cn("flex min-h-12 items-center gap-3 px-3 py-2 text-[13px]", className), ...props, children: [
|
|
1277
|
-
icon ? /* @__PURE__ */
|
|
1278
|
-
/* @__PURE__ */
|
|
1279
|
-
/* @__PURE__ */
|
|
1309
|
+
icon ? /* @__PURE__ */ jsx27("span", { "data-slot": "detail-line-icon", className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground", children: icon }) : null,
|
|
1310
|
+
/* @__PURE__ */ jsx27("dt", { "data-slot": "detail-line-label", className: "w-32 shrink-0 text-[12px] text-muted-foreground", children: label }),
|
|
1311
|
+
/* @__PURE__ */ jsx27("dd", { "data-slot": "detail-line-value", className: "min-w-0 flex-1 text-foreground", children })
|
|
1280
1312
|
] });
|
|
1281
1313
|
}
|
|
1282
1314
|
|
|
1283
1315
|
// src/disclosure.tsx
|
|
1284
1316
|
import * as React6 from "react";
|
|
1285
1317
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1286
|
-
import { jsx as
|
|
1318
|
+
import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1287
1319
|
var Disclosure = CollapsiblePrimitive.Root;
|
|
1288
|
-
var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1320
|
+
var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1289
1321
|
CollapsiblePrimitive.Content,
|
|
1290
1322
|
{
|
|
1291
1323
|
ref,
|
|
@@ -1296,7 +1328,7 @@ var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1296
1328
|
));
|
|
1297
1329
|
DisclosureContent.displayName = "DisclosureContent";
|
|
1298
1330
|
var DisclosureTrigger = React6.forwardRef(
|
|
1299
|
-
({ className, children, chevron, variant = "ghost", size = "sm", ...props }, ref) => /* @__PURE__ */
|
|
1331
|
+
({ className, children, chevron, variant = "ghost", size = "sm", ...props }, ref) => /* @__PURE__ */ jsx28(CollapsiblePrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs10(
|
|
1300
1332
|
Button,
|
|
1301
1333
|
{
|
|
1302
1334
|
ref,
|
|
@@ -1306,7 +1338,7 @@ var DisclosureTrigger = React6.forwardRef(
|
|
|
1306
1338
|
className: cn("group/disclosure justify-start gap-2", className),
|
|
1307
1339
|
...props,
|
|
1308
1340
|
children: [
|
|
1309
|
-
chevron ?? /* @__PURE__ */
|
|
1341
|
+
chevron ?? /* @__PURE__ */ jsx28(DisclosureChevron, {}),
|
|
1310
1342
|
children
|
|
1311
1343
|
]
|
|
1312
1344
|
}
|
|
@@ -1314,7 +1346,7 @@ var DisclosureTrigger = React6.forwardRef(
|
|
|
1314
1346
|
);
|
|
1315
1347
|
DisclosureTrigger.displayName = "DisclosureTrigger";
|
|
1316
1348
|
function DisclosureChevron({ className, ...props }) {
|
|
1317
|
-
return /* @__PURE__ */
|
|
1349
|
+
return /* @__PURE__ */ jsx28(
|
|
1318
1350
|
"span",
|
|
1319
1351
|
{
|
|
1320
1352
|
"data-slot": "disclosure-chevron",
|
|
@@ -1327,7 +1359,7 @@ function DisclosureChevron({ className, ...props }) {
|
|
|
1327
1359
|
}
|
|
1328
1360
|
|
|
1329
1361
|
// src/resize-handle.tsx
|
|
1330
|
-
import { jsx as
|
|
1362
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1331
1363
|
function ResizeHandle({
|
|
1332
1364
|
className,
|
|
1333
1365
|
orientation = "vertical",
|
|
@@ -1336,7 +1368,7 @@ function ResizeHandle({
|
|
|
1336
1368
|
tabIndex = 0,
|
|
1337
1369
|
...props
|
|
1338
1370
|
}) {
|
|
1339
|
-
return /* @__PURE__ */
|
|
1371
|
+
return /* @__PURE__ */ jsx29(
|
|
1340
1372
|
"div",
|
|
1341
1373
|
{
|
|
1342
1374
|
"data-slot": "resize-handle",
|
|
@@ -1356,9 +1388,9 @@ function ResizeHandle({
|
|
|
1356
1388
|
}
|
|
1357
1389
|
|
|
1358
1390
|
// src/avatar.tsx
|
|
1359
|
-
import { jsx as
|
|
1391
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1360
1392
|
function Avatar({ className, ...props }) {
|
|
1361
|
-
return /* @__PURE__ */
|
|
1393
|
+
return /* @__PURE__ */ jsx30(
|
|
1362
1394
|
"div",
|
|
1363
1395
|
{
|
|
1364
1396
|
"data-slot": "avatar",
|
|
@@ -1368,7 +1400,7 @@ function Avatar({ className, ...props }) {
|
|
|
1368
1400
|
);
|
|
1369
1401
|
}
|
|
1370
1402
|
function AvatarFallback({ className, ...props }) {
|
|
1371
|
-
return /* @__PURE__ */
|
|
1403
|
+
return /* @__PURE__ */ jsx30(
|
|
1372
1404
|
"span",
|
|
1373
1405
|
{
|
|
1374
1406
|
"data-slot": "avatar-fallback",
|
|
@@ -1378,13 +1410,13 @@ function AvatarFallback({ className, ...props }) {
|
|
|
1378
1410
|
);
|
|
1379
1411
|
}
|
|
1380
1412
|
function InitialsAvatar({ initials, className, ...props }) {
|
|
1381
|
-
return /* @__PURE__ */
|
|
1413
|
+
return /* @__PURE__ */ jsx30(Avatar, { className, ...props, children: /* @__PURE__ */ jsx30(AvatarFallback, { children: initials }) });
|
|
1382
1414
|
}
|
|
1383
1415
|
|
|
1384
1416
|
// src/toast.tsx
|
|
1385
1417
|
import * as React7 from "react";
|
|
1386
1418
|
import { createPortal } from "react-dom";
|
|
1387
|
-
import { jsx as
|
|
1419
|
+
import { jsx as jsx31, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1388
1420
|
var toasts = [];
|
|
1389
1421
|
var listeners = /* @__PURE__ */ new Set();
|
|
1390
1422
|
var nextId = 0;
|
|
@@ -1443,7 +1475,7 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1443
1475
|
const [items, setItems] = React7.useState(() => toasts);
|
|
1444
1476
|
React7.useEffect(() => subscribeToasts(setItems), []);
|
|
1445
1477
|
if (typeof document === "undefined") return null;
|
|
1446
|
-
const node = /* @__PURE__ */
|
|
1478
|
+
const node = /* @__PURE__ */ jsx31(
|
|
1447
1479
|
"div",
|
|
1448
1480
|
{
|
|
1449
1481
|
role: "region",
|
|
@@ -1471,12 +1503,12 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1471
1503
|
VARIANT_CLASS[variant]
|
|
1472
1504
|
),
|
|
1473
1505
|
children: [
|
|
1474
|
-
/* @__PURE__ */
|
|
1506
|
+
/* @__PURE__ */ jsx31("span", { "data-toast-icon": true, className: "mt-0.5 flex h-3.5 w-3.5 shrink-0 items-center justify-center text-[11px] font-semibold leading-none", children: VARIANT_ICON[variant] }),
|
|
1475
1507
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0 flex-1", children: [
|
|
1476
|
-
item.title && /* @__PURE__ */
|
|
1477
|
-
item.description && /* @__PURE__ */
|
|
1508
|
+
item.title && /* @__PURE__ */ jsx31("div", { className: "text-sm font-medium leading-snug", children: item.title }),
|
|
1509
|
+
item.description && /* @__PURE__ */ jsx31("div", { className: cn("text-xs text-muted-foreground", item.title ? "mt-0.5" : "leading-snug"), children: item.description })
|
|
1478
1510
|
] }),
|
|
1479
|
-
/* @__PURE__ */
|
|
1511
|
+
/* @__PURE__ */ jsx31(IconButton, { type: "button", variant: "ghost", size: "icon-xs", onClick: () => dismissToast(item.id), "aria-label": "Dismiss", className: "shrink-0 text-muted-foreground/70", children: /* @__PURE__ */ jsx31("span", { "aria-hidden": "true", className: "text-[13px] leading-none", children: "\xD7" }) })
|
|
1480
1512
|
]
|
|
1481
1513
|
},
|
|
1482
1514
|
item.id
|
|
@@ -1488,7 +1520,7 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1488
1520
|
}
|
|
1489
1521
|
|
|
1490
1522
|
// src/loading-state.tsx
|
|
1491
|
-
import { jsx as
|
|
1523
|
+
import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1492
1524
|
function LoadingState({ className, label = "Loading\u2026", centered = false, children, ...props }) {
|
|
1493
1525
|
return /* @__PURE__ */ jsxs12(
|
|
1494
1526
|
"div",
|
|
@@ -1502,20 +1534,20 @@ function LoadingState({ className, label = "Loading\u2026", centered = false, ch
|
|
|
1502
1534
|
),
|
|
1503
1535
|
...props,
|
|
1504
1536
|
children: [
|
|
1505
|
-
/* @__PURE__ */
|
|
1506
|
-
/* @__PURE__ */
|
|
1537
|
+
/* @__PURE__ */ jsx32(Spinner, { className: "size-3.5" }),
|
|
1538
|
+
/* @__PURE__ */ jsx32("span", { children: children ?? label })
|
|
1507
1539
|
]
|
|
1508
1540
|
}
|
|
1509
1541
|
);
|
|
1510
1542
|
}
|
|
1511
1543
|
|
|
1512
1544
|
// src/list.tsx
|
|
1513
|
-
import { jsx as
|
|
1545
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1514
1546
|
function List2({ className, ...props }) {
|
|
1515
|
-
return /* @__PURE__ */
|
|
1547
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list", className: cn("divide-y divide-border/60", className), ...props });
|
|
1516
1548
|
}
|
|
1517
1549
|
function ListRow({ className, interactive, ...props }) {
|
|
1518
|
-
return /* @__PURE__ */
|
|
1550
|
+
return /* @__PURE__ */ jsx33(
|
|
1519
1551
|
"div",
|
|
1520
1552
|
{
|
|
1521
1553
|
"data-slot": "list-row",
|
|
@@ -1530,25 +1562,25 @@ function ListRow({ className, interactive, ...props }) {
|
|
|
1530
1562
|
);
|
|
1531
1563
|
}
|
|
1532
1564
|
function ListRowMain({ className, ...props }) {
|
|
1533
|
-
return /* @__PURE__ */
|
|
1565
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list-row-main", className: cn("min-w-0 flex-1", className), ...props });
|
|
1534
1566
|
}
|
|
1535
1567
|
function ListRowTitle({ className, ...props }) {
|
|
1536
|
-
return /* @__PURE__ */
|
|
1568
|
+
return /* @__PURE__ */ jsx33("p", { "data-slot": "list-row-title", className: cn("truncate text-sm font-medium text-foreground", className), ...props });
|
|
1537
1569
|
}
|
|
1538
1570
|
function ListRowDescription({ className, ...props }) {
|
|
1539
|
-
return /* @__PURE__ */
|
|
1571
|
+
return /* @__PURE__ */ jsx33("p", { "data-slot": "list-row-description", className: cn("truncate text-xs text-muted-foreground", className), ...props });
|
|
1540
1572
|
}
|
|
1541
1573
|
function ListRowMeta({ className, ...props }) {
|
|
1542
|
-
return /* @__PURE__ */
|
|
1574
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list-row-meta", className: cn("flex shrink-0 items-center gap-2 text-xs text-muted-foreground", className), ...props });
|
|
1543
1575
|
}
|
|
1544
1576
|
function ListRowActions({ className, ...props }) {
|
|
1545
|
-
return /* @__PURE__ */
|
|
1577
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list-row-actions", className: cn("flex shrink-0 items-center gap-2", className), ...props });
|
|
1546
1578
|
}
|
|
1547
1579
|
|
|
1548
1580
|
// src/detail-list.tsx
|
|
1549
|
-
import { jsx as
|
|
1581
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1550
1582
|
function DetailList({ className, ...props }) {
|
|
1551
|
-
return /* @__PURE__ */
|
|
1583
|
+
return /* @__PURE__ */ jsx34(
|
|
1552
1584
|
"dl",
|
|
1553
1585
|
{
|
|
1554
1586
|
"data-slot": "detail-list",
|
|
@@ -1559,9 +1591,9 @@ function DetailList({ className, ...props }) {
|
|
|
1559
1591
|
}
|
|
1560
1592
|
|
|
1561
1593
|
// src/floating-panel.tsx
|
|
1562
|
-
import { jsx as
|
|
1594
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1563
1595
|
function FloatingPanel({ className, ...props }) {
|
|
1564
|
-
return /* @__PURE__ */
|
|
1596
|
+
return /* @__PURE__ */ jsx35(
|
|
1565
1597
|
"div",
|
|
1566
1598
|
{
|
|
1567
1599
|
"data-slot": "floating-panel",
|
|
@@ -1571,16 +1603,16 @@ function FloatingPanel({ className, ...props }) {
|
|
|
1571
1603
|
);
|
|
1572
1604
|
}
|
|
1573
1605
|
function FloatingPanelHeader({ className, ...props }) {
|
|
1574
|
-
return /* @__PURE__ */
|
|
1606
|
+
return /* @__PURE__ */ jsx35("div", { "data-slot": "floating-panel-header", className: cn("flex items-center justify-between gap-2 border-b border-border px-1 pb-2", className), ...props });
|
|
1575
1607
|
}
|
|
1576
1608
|
function FloatingPanelBody({ className, ...props }) {
|
|
1577
|
-
return /* @__PURE__ */
|
|
1609
|
+
return /* @__PURE__ */ jsx35("div", { "data-slot": "floating-panel-body", className: cn("py-1", className), ...props });
|
|
1578
1610
|
}
|
|
1579
1611
|
|
|
1580
1612
|
// src/card.tsx
|
|
1581
|
-
import { jsx as
|
|
1613
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1582
1614
|
function Card({ className, ...props }) {
|
|
1583
|
-
return /* @__PURE__ */
|
|
1615
|
+
return /* @__PURE__ */ jsx36(
|
|
1584
1616
|
"div",
|
|
1585
1617
|
{
|
|
1586
1618
|
"data-slot": "card",
|
|
@@ -1593,7 +1625,7 @@ function Card({ className, ...props }) {
|
|
|
1593
1625
|
);
|
|
1594
1626
|
}
|
|
1595
1627
|
function CardHeader({ className, ...props }) {
|
|
1596
|
-
return /* @__PURE__ */
|
|
1628
|
+
return /* @__PURE__ */ jsx36(
|
|
1597
1629
|
"div",
|
|
1598
1630
|
{
|
|
1599
1631
|
"data-slot": "card-header",
|
|
@@ -1606,7 +1638,7 @@ function CardHeader({ className, ...props }) {
|
|
|
1606
1638
|
);
|
|
1607
1639
|
}
|
|
1608
1640
|
function CardTitle({ className, ...props }) {
|
|
1609
|
-
return /* @__PURE__ */
|
|
1641
|
+
return /* @__PURE__ */ jsx36(
|
|
1610
1642
|
"div",
|
|
1611
1643
|
{
|
|
1612
1644
|
"data-slot": "card-title",
|
|
@@ -1616,7 +1648,7 @@ function CardTitle({ className, ...props }) {
|
|
|
1616
1648
|
);
|
|
1617
1649
|
}
|
|
1618
1650
|
function CardDescription({ className, ...props }) {
|
|
1619
|
-
return /* @__PURE__ */
|
|
1651
|
+
return /* @__PURE__ */ jsx36(
|
|
1620
1652
|
"div",
|
|
1621
1653
|
{
|
|
1622
1654
|
"data-slot": "card-description",
|
|
@@ -1626,7 +1658,7 @@ function CardDescription({ className, ...props }) {
|
|
|
1626
1658
|
);
|
|
1627
1659
|
}
|
|
1628
1660
|
function CardAction({ className, ...props }) {
|
|
1629
|
-
return /* @__PURE__ */
|
|
1661
|
+
return /* @__PURE__ */ jsx36(
|
|
1630
1662
|
"div",
|
|
1631
1663
|
{
|
|
1632
1664
|
"data-slot": "card-action",
|
|
@@ -1639,7 +1671,7 @@ function CardAction({ className, ...props }) {
|
|
|
1639
1671
|
);
|
|
1640
1672
|
}
|
|
1641
1673
|
function CardContent({ className, ...props }) {
|
|
1642
|
-
return /* @__PURE__ */
|
|
1674
|
+
return /* @__PURE__ */ jsx36(
|
|
1643
1675
|
"div",
|
|
1644
1676
|
{
|
|
1645
1677
|
"data-slot": "card-content",
|
|
@@ -1649,7 +1681,7 @@ function CardContent({ className, ...props }) {
|
|
|
1649
1681
|
);
|
|
1650
1682
|
}
|
|
1651
1683
|
function CardFooter({ className, ...props }) {
|
|
1652
|
-
return /* @__PURE__ */
|
|
1684
|
+
return /* @__PURE__ */ jsx36(
|
|
1653
1685
|
"div",
|
|
1654
1686
|
{
|
|
1655
1687
|
"data-slot": "card-footer",
|
|
@@ -1661,12 +1693,12 @@ function CardFooter({ className, ...props }) {
|
|
|
1661
1693
|
|
|
1662
1694
|
// src/label.tsx
|
|
1663
1695
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1664
|
-
import { jsx as
|
|
1696
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1665
1697
|
function Label3({
|
|
1666
1698
|
className,
|
|
1667
1699
|
...props
|
|
1668
1700
|
}) {
|
|
1669
|
-
return /* @__PURE__ */
|
|
1701
|
+
return /* @__PURE__ */ jsx37(
|
|
1670
1702
|
LabelPrimitive.Root,
|
|
1671
1703
|
{
|
|
1672
1704
|
"data-slot": "label",
|
|
@@ -1681,12 +1713,12 @@ function Label3({
|
|
|
1681
1713
|
|
|
1682
1714
|
// src/checkbox.tsx
|
|
1683
1715
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1684
|
-
import { jsx as
|
|
1716
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
1685
1717
|
function Checkbox({
|
|
1686
1718
|
className,
|
|
1687
1719
|
...props
|
|
1688
1720
|
}) {
|
|
1689
|
-
return /* @__PURE__ */
|
|
1721
|
+
return /* @__PURE__ */ jsx38(
|
|
1690
1722
|
CheckboxPrimitive.Root,
|
|
1691
1723
|
{
|
|
1692
1724
|
"data-slot": "checkbox",
|
|
@@ -1695,12 +1727,12 @@ function Checkbox({
|
|
|
1695
1727
|
className
|
|
1696
1728
|
),
|
|
1697
1729
|
...props,
|
|
1698
|
-
children: /* @__PURE__ */
|
|
1730
|
+
children: /* @__PURE__ */ jsx38(
|
|
1699
1731
|
CheckboxPrimitive.Indicator,
|
|
1700
1732
|
{
|
|
1701
1733
|
"data-slot": "checkbox-indicator",
|
|
1702
1734
|
className: "grid place-content-center text-current transition-none",
|
|
1703
|
-
children: /* @__PURE__ */
|
|
1735
|
+
children: /* @__PURE__ */ jsx38("span", { "aria-hidden": "true", className: "text-xs leading-none", children: "\u2713" })
|
|
1704
1736
|
}
|
|
1705
1737
|
)
|
|
1706
1738
|
}
|
|
@@ -1709,8 +1741,8 @@ function Checkbox({
|
|
|
1709
1741
|
|
|
1710
1742
|
// src/radio.tsx
|
|
1711
1743
|
import * as React8 from "react";
|
|
1712
|
-
import { jsx as
|
|
1713
|
-
var Radio = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1744
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
1745
|
+
var Radio = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1714
1746
|
"input",
|
|
1715
1747
|
{
|
|
1716
1748
|
ref,
|
|
@@ -1727,27 +1759,27 @@ Radio.displayName = "Radio";
|
|
|
1727
1759
|
|
|
1728
1760
|
// src/alert-dialog.tsx
|
|
1729
1761
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
1730
|
-
import { jsx as
|
|
1762
|
+
import { jsx as jsx40, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1731
1763
|
function AlertDialog({
|
|
1732
1764
|
...props
|
|
1733
1765
|
}) {
|
|
1734
|
-
return /* @__PURE__ */
|
|
1766
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
1735
1767
|
}
|
|
1736
1768
|
function AlertDialogTrigger({
|
|
1737
1769
|
...props
|
|
1738
1770
|
}) {
|
|
1739
|
-
return /* @__PURE__ */
|
|
1771
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
1740
1772
|
}
|
|
1741
1773
|
function AlertDialogPortal({
|
|
1742
1774
|
...props
|
|
1743
1775
|
}) {
|
|
1744
|
-
return /* @__PURE__ */
|
|
1776
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
1745
1777
|
}
|
|
1746
1778
|
function AlertDialogOverlay({
|
|
1747
1779
|
className,
|
|
1748
1780
|
...props
|
|
1749
1781
|
}) {
|
|
1750
|
-
return /* @__PURE__ */
|
|
1782
|
+
return /* @__PURE__ */ jsx40(
|
|
1751
1783
|
AlertDialogPrimitive.Overlay,
|
|
1752
1784
|
{
|
|
1753
1785
|
"data-slot": "alert-dialog-overlay",
|
|
@@ -1765,8 +1797,8 @@ function AlertDialogContent({
|
|
|
1765
1797
|
...props
|
|
1766
1798
|
}) {
|
|
1767
1799
|
return /* @__PURE__ */ jsxs13(AlertDialogPortal, { children: [
|
|
1768
|
-
/* @__PURE__ */
|
|
1769
|
-
/* @__PURE__ */
|
|
1800
|
+
/* @__PURE__ */ jsx40(AlertDialogOverlay, {}),
|
|
1801
|
+
/* @__PURE__ */ jsx40(
|
|
1770
1802
|
AlertDialogPrimitive.Content,
|
|
1771
1803
|
{
|
|
1772
1804
|
"data-slot": "alert-dialog-content",
|
|
@@ -1784,7 +1816,7 @@ function AlertDialogHeader({
|
|
|
1784
1816
|
className,
|
|
1785
1817
|
...props
|
|
1786
1818
|
}) {
|
|
1787
|
-
return /* @__PURE__ */
|
|
1819
|
+
return /* @__PURE__ */ jsx40(
|
|
1788
1820
|
"div",
|
|
1789
1821
|
{
|
|
1790
1822
|
"data-slot": "alert-dialog-header",
|
|
@@ -1800,7 +1832,7 @@ function AlertDialogFooter({
|
|
|
1800
1832
|
className,
|
|
1801
1833
|
...props
|
|
1802
1834
|
}) {
|
|
1803
|
-
return /* @__PURE__ */
|
|
1835
|
+
return /* @__PURE__ */ jsx40(
|
|
1804
1836
|
"div",
|
|
1805
1837
|
{
|
|
1806
1838
|
"data-slot": "alert-dialog-footer",
|
|
@@ -1816,7 +1848,7 @@ function AlertDialogTitle({
|
|
|
1816
1848
|
className,
|
|
1817
1849
|
...props
|
|
1818
1850
|
}) {
|
|
1819
|
-
return /* @__PURE__ */
|
|
1851
|
+
return /* @__PURE__ */ jsx40(
|
|
1820
1852
|
AlertDialogPrimitive.Title,
|
|
1821
1853
|
{
|
|
1822
1854
|
"data-slot": "alert-dialog-title",
|
|
@@ -1832,7 +1864,7 @@ function AlertDialogDescription({
|
|
|
1832
1864
|
className,
|
|
1833
1865
|
...props
|
|
1834
1866
|
}) {
|
|
1835
|
-
return /* @__PURE__ */
|
|
1867
|
+
return /* @__PURE__ */ jsx40(
|
|
1836
1868
|
AlertDialogPrimitive.Description,
|
|
1837
1869
|
{
|
|
1838
1870
|
"data-slot": "alert-dialog-description",
|
|
@@ -1845,7 +1877,7 @@ function AlertDialogMedia({
|
|
|
1845
1877
|
className,
|
|
1846
1878
|
...props
|
|
1847
1879
|
}) {
|
|
1848
|
-
return /* @__PURE__ */
|
|
1880
|
+
return /* @__PURE__ */ jsx40(
|
|
1849
1881
|
"div",
|
|
1850
1882
|
{
|
|
1851
1883
|
"data-slot": "alert-dialog-media",
|
|
@@ -1863,7 +1895,7 @@ function AlertDialogAction({
|
|
|
1863
1895
|
size = "default",
|
|
1864
1896
|
...props
|
|
1865
1897
|
}) {
|
|
1866
|
-
return /* @__PURE__ */
|
|
1898
|
+
return /* @__PURE__ */ jsx40(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx40(
|
|
1867
1899
|
AlertDialogPrimitive.Action,
|
|
1868
1900
|
{
|
|
1869
1901
|
"data-slot": "alert-dialog-action",
|
|
@@ -1878,7 +1910,7 @@ function AlertDialogCancel({
|
|
|
1878
1910
|
size = "default",
|
|
1879
1911
|
...props
|
|
1880
1912
|
}) {
|
|
1881
|
-
return /* @__PURE__ */
|
|
1913
|
+
return /* @__PURE__ */ jsx40(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx40(
|
|
1882
1914
|
AlertDialogPrimitive.Cancel,
|
|
1883
1915
|
{
|
|
1884
1916
|
"data-slot": "alert-dialog-cancel",
|
|
@@ -1890,16 +1922,16 @@ function AlertDialogCancel({
|
|
|
1890
1922
|
|
|
1891
1923
|
// src/popover.tsx
|
|
1892
1924
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1893
|
-
import { jsx as
|
|
1925
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1894
1926
|
function Popover({
|
|
1895
1927
|
...props
|
|
1896
1928
|
}) {
|
|
1897
|
-
return /* @__PURE__ */
|
|
1929
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1898
1930
|
}
|
|
1899
1931
|
function PopoverTrigger({
|
|
1900
1932
|
...props
|
|
1901
1933
|
}) {
|
|
1902
|
-
return /* @__PURE__ */
|
|
1934
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1903
1935
|
}
|
|
1904
1936
|
function PopoverContent({
|
|
1905
1937
|
className,
|
|
@@ -1907,7 +1939,7 @@ function PopoverContent({
|
|
|
1907
1939
|
sideOffset = 4,
|
|
1908
1940
|
...props
|
|
1909
1941
|
}) {
|
|
1910
|
-
return /* @__PURE__ */
|
|
1942
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
1911
1943
|
PopoverPrimitive.Content,
|
|
1912
1944
|
{
|
|
1913
1945
|
"data-slot": "popover-content",
|
|
@@ -1924,10 +1956,10 @@ function PopoverContent({
|
|
|
1924
1956
|
function PopoverAnchor({
|
|
1925
1957
|
...props
|
|
1926
1958
|
}) {
|
|
1927
|
-
return /* @__PURE__ */
|
|
1959
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
1928
1960
|
}
|
|
1929
1961
|
function PopoverHeader({ className, ...props }) {
|
|
1930
|
-
return /* @__PURE__ */
|
|
1962
|
+
return /* @__PURE__ */ jsx41(
|
|
1931
1963
|
"div",
|
|
1932
1964
|
{
|
|
1933
1965
|
"data-slot": "popover-header",
|
|
@@ -1937,7 +1969,7 @@ function PopoverHeader({ className, ...props }) {
|
|
|
1937
1969
|
);
|
|
1938
1970
|
}
|
|
1939
1971
|
function PopoverTitle({ className, ...props }) {
|
|
1940
|
-
return /* @__PURE__ */
|
|
1972
|
+
return /* @__PURE__ */ jsx41(
|
|
1941
1973
|
"div",
|
|
1942
1974
|
{
|
|
1943
1975
|
"data-slot": "popover-title",
|
|
@@ -1950,7 +1982,7 @@ function PopoverDescription({
|
|
|
1950
1982
|
className,
|
|
1951
1983
|
...props
|
|
1952
1984
|
}) {
|
|
1953
|
-
return /* @__PURE__ */
|
|
1985
|
+
return /* @__PURE__ */ jsx41(
|
|
1954
1986
|
"p",
|
|
1955
1987
|
{
|
|
1956
1988
|
"data-slot": "popover-description",
|
|
@@ -1962,7 +1994,7 @@ function PopoverDescription({
|
|
|
1962
1994
|
|
|
1963
1995
|
// src/scroll-area.tsx
|
|
1964
1996
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
1965
|
-
import { jsx as
|
|
1997
|
+
import { jsx as jsx42, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1966
1998
|
function ScrollArea({
|
|
1967
1999
|
className,
|
|
1968
2000
|
children,
|
|
@@ -1975,7 +2007,7 @@ function ScrollArea({
|
|
|
1975
2007
|
className: cn("relative", className),
|
|
1976
2008
|
...props,
|
|
1977
2009
|
children: [
|
|
1978
|
-
/* @__PURE__ */
|
|
2010
|
+
/* @__PURE__ */ jsx42(
|
|
1979
2011
|
ScrollAreaPrimitive.Viewport,
|
|
1980
2012
|
{
|
|
1981
2013
|
"data-slot": "scroll-area-viewport",
|
|
@@ -1983,8 +2015,8 @@ function ScrollArea({
|
|
|
1983
2015
|
children
|
|
1984
2016
|
}
|
|
1985
2017
|
),
|
|
1986
|
-
/* @__PURE__ */
|
|
1987
|
-
/* @__PURE__ */
|
|
2018
|
+
/* @__PURE__ */ jsx42(ScrollBar, {}),
|
|
2019
|
+
/* @__PURE__ */ jsx42(ScrollAreaPrimitive.Corner, {})
|
|
1988
2020
|
]
|
|
1989
2021
|
}
|
|
1990
2022
|
);
|
|
@@ -1994,7 +2026,7 @@ function ScrollBar({
|
|
|
1994
2026
|
orientation = "vertical",
|
|
1995
2027
|
...props
|
|
1996
2028
|
}) {
|
|
1997
|
-
return /* @__PURE__ */
|
|
2029
|
+
return /* @__PURE__ */ jsx42(
|
|
1998
2030
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1999
2031
|
{
|
|
2000
2032
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -2006,7 +2038,7 @@ function ScrollBar({
|
|
|
2006
2038
|
className
|
|
2007
2039
|
),
|
|
2008
2040
|
...props,
|
|
2009
|
-
children: /* @__PURE__ */
|
|
2041
|
+
children: /* @__PURE__ */ jsx42(
|
|
2010
2042
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
2011
2043
|
{
|
|
2012
2044
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2019,30 +2051,30 @@ function ScrollBar({
|
|
|
2019
2051
|
|
|
2020
2052
|
// src/sheet.tsx
|
|
2021
2053
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
2022
|
-
import { jsx as
|
|
2054
|
+
import { jsx as jsx43, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2023
2055
|
function Sheet({ ...props }) {
|
|
2024
|
-
return /* @__PURE__ */
|
|
2056
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
2025
2057
|
}
|
|
2026
2058
|
function SheetTrigger({
|
|
2027
2059
|
...props
|
|
2028
2060
|
}) {
|
|
2029
|
-
return /* @__PURE__ */
|
|
2061
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
2030
2062
|
}
|
|
2031
2063
|
function SheetClose({
|
|
2032
2064
|
...props
|
|
2033
2065
|
}) {
|
|
2034
|
-
return /* @__PURE__ */
|
|
2066
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
2035
2067
|
}
|
|
2036
2068
|
function SheetPortal({
|
|
2037
2069
|
...props
|
|
2038
2070
|
}) {
|
|
2039
|
-
return /* @__PURE__ */
|
|
2071
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
2040
2072
|
}
|
|
2041
2073
|
function SheetOverlay({
|
|
2042
2074
|
className,
|
|
2043
2075
|
...props
|
|
2044
2076
|
}) {
|
|
2045
|
-
return /* @__PURE__ */
|
|
2077
|
+
return /* @__PURE__ */ jsx43(
|
|
2046
2078
|
SheetPrimitive.Overlay,
|
|
2047
2079
|
{
|
|
2048
2080
|
"data-slot": "sheet-overlay",
|
|
@@ -2062,7 +2094,7 @@ function SheetContent({
|
|
|
2062
2094
|
...props
|
|
2063
2095
|
}) {
|
|
2064
2096
|
return /* @__PURE__ */ jsxs15(SheetPortal, { children: [
|
|
2065
|
-
/* @__PURE__ */
|
|
2097
|
+
/* @__PURE__ */ jsx43(SheetOverlay, {}),
|
|
2066
2098
|
/* @__PURE__ */ jsxs15(
|
|
2067
2099
|
SheetPrimitive.Content,
|
|
2068
2100
|
{
|
|
@@ -2079,8 +2111,8 @@ function SheetContent({
|
|
|
2079
2111
|
children: [
|
|
2080
2112
|
children,
|
|
2081
2113
|
showCloseButton && /* @__PURE__ */ jsxs15(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
2082
|
-
/* @__PURE__ */
|
|
2083
|
-
/* @__PURE__ */
|
|
2114
|
+
/* @__PURE__ */ jsx43("span", { "aria-hidden": "true", className: "text-base leading-none", children: "\xD7" }),
|
|
2115
|
+
/* @__PURE__ */ jsx43("span", { className: "sr-only", children: "Close" })
|
|
2084
2116
|
] })
|
|
2085
2117
|
]
|
|
2086
2118
|
}
|
|
@@ -2088,7 +2120,7 @@ function SheetContent({
|
|
|
2088
2120
|
] });
|
|
2089
2121
|
}
|
|
2090
2122
|
function SheetHeader({ className, ...props }) {
|
|
2091
|
-
return /* @__PURE__ */
|
|
2123
|
+
return /* @__PURE__ */ jsx43(
|
|
2092
2124
|
"div",
|
|
2093
2125
|
{
|
|
2094
2126
|
"data-slot": "sheet-header",
|
|
@@ -2098,7 +2130,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
2098
2130
|
);
|
|
2099
2131
|
}
|
|
2100
2132
|
function SheetFooter({ className, ...props }) {
|
|
2101
|
-
return /* @__PURE__ */
|
|
2133
|
+
return /* @__PURE__ */ jsx43(
|
|
2102
2134
|
"div",
|
|
2103
2135
|
{
|
|
2104
2136
|
"data-slot": "sheet-footer",
|
|
@@ -2111,7 +2143,7 @@ function SheetTitle({
|
|
|
2111
2143
|
className,
|
|
2112
2144
|
...props
|
|
2113
2145
|
}) {
|
|
2114
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ jsx43(
|
|
2115
2147
|
SheetPrimitive.Title,
|
|
2116
2148
|
{
|
|
2117
2149
|
"data-slot": "sheet-title",
|
|
@@ -2124,7 +2156,7 @@ function SheetDescription({
|
|
|
2124
2156
|
className,
|
|
2125
2157
|
...props
|
|
2126
2158
|
}) {
|
|
2127
|
-
return /* @__PURE__ */
|
|
2159
|
+
return /* @__PURE__ */ jsx43(
|
|
2128
2160
|
SheetPrimitive.Description,
|
|
2129
2161
|
{
|
|
2130
2162
|
"data-slot": "sheet-description",
|
|
@@ -2147,10 +2179,10 @@ function useToast() {
|
|
|
2147
2179
|
// src/hover-card.tsx
|
|
2148
2180
|
import * as React9 from "react";
|
|
2149
2181
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
2150
|
-
import { jsx as
|
|
2182
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
2151
2183
|
var HoverCard = HoverCardPrimitive.Root;
|
|
2152
2184
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
2153
|
-
var HoverCardContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
2185
|
+
var HoverCardContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx44(
|
|
2154
2186
|
HoverCardPrimitive.Content,
|
|
2155
2187
|
{
|
|
2156
2188
|
ref,
|
|
@@ -2174,7 +2206,7 @@ var CollapsibleContent2 = CollapsiblePrimitive2.CollapsibleContent;
|
|
|
2174
2206
|
// src/button-group.tsx
|
|
2175
2207
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
2176
2208
|
import { cva as cva4 } from "class-variance-authority";
|
|
2177
|
-
import { jsx as
|
|
2209
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
2178
2210
|
var buttonGroupVariants = cva4(
|
|
2179
2211
|
"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
2180
2212
|
{
|
|
@@ -2192,7 +2224,7 @@ function ButtonGroup({
|
|
|
2192
2224
|
orientation,
|
|
2193
2225
|
...props
|
|
2194
2226
|
}) {
|
|
2195
|
-
return /* @__PURE__ */
|
|
2227
|
+
return /* @__PURE__ */ jsx45(
|
|
2196
2228
|
"div",
|
|
2197
2229
|
{
|
|
2198
2230
|
role: "group",
|
|
@@ -2209,7 +2241,7 @@ function ButtonGroupText({
|
|
|
2209
2241
|
...props
|
|
2210
2242
|
}) {
|
|
2211
2243
|
const Comp = asChild ? Slot3 : "div";
|
|
2212
|
-
return /* @__PURE__ */
|
|
2244
|
+
return /* @__PURE__ */ jsx45(
|
|
2213
2245
|
Comp,
|
|
2214
2246
|
{
|
|
2215
2247
|
className: cn(
|
|
@@ -2225,7 +2257,7 @@ function ButtonGroupSeparator({
|
|
|
2225
2257
|
orientation = "vertical",
|
|
2226
2258
|
...props
|
|
2227
2259
|
}) {
|
|
2228
|
-
return /* @__PURE__ */
|
|
2260
|
+
return /* @__PURE__ */ jsx45(
|
|
2229
2261
|
Separator,
|
|
2230
2262
|
{
|
|
2231
2263
|
"data-slot": "button-group-separator",
|
|
@@ -2238,9 +2270,9 @@ function ButtonGroupSeparator({
|
|
|
2238
2270
|
|
|
2239
2271
|
// src/input-group.tsx
|
|
2240
2272
|
import { cva as cva5 } from "class-variance-authority";
|
|
2241
|
-
import { jsx as
|
|
2273
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
2242
2274
|
function InputGroup({ className, ...props }) {
|
|
2243
|
-
return /* @__PURE__ */
|
|
2275
|
+
return /* @__PURE__ */ jsx46(
|
|
2244
2276
|
"div",
|
|
2245
2277
|
{
|
|
2246
2278
|
"data-slot": "input-group",
|
|
@@ -2278,7 +2310,7 @@ function InputGroupAddon({
|
|
|
2278
2310
|
align = "inline-start",
|
|
2279
2311
|
...props
|
|
2280
2312
|
}) {
|
|
2281
|
-
return /* @__PURE__ */
|
|
2313
|
+
return /* @__PURE__ */ jsx46(
|
|
2282
2314
|
"div",
|
|
2283
2315
|
{
|
|
2284
2316
|
role: "group",
|
|
@@ -2311,10 +2343,10 @@ function InputGroupButton({
|
|
|
2311
2343
|
size = "xs",
|
|
2312
2344
|
...props
|
|
2313
2345
|
}) {
|
|
2314
|
-
return /* @__PURE__ */
|
|
2346
|
+
return /* @__PURE__ */ jsx46(Button, { type, "data-size": size, variant, className: cn(inputGroupButtonVariants({ size }), className), ...props });
|
|
2315
2347
|
}
|
|
2316
2348
|
function InputGroupText({ className, ...props }) {
|
|
2317
|
-
return /* @__PURE__ */
|
|
2349
|
+
return /* @__PURE__ */ jsx46(
|
|
2318
2350
|
"span",
|
|
2319
2351
|
{
|
|
2320
2352
|
className: cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg:not([class*=size-])]:size-4 [&_svg]:pointer-events-none", className),
|
|
@@ -2323,7 +2355,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
2323
2355
|
);
|
|
2324
2356
|
}
|
|
2325
2357
|
function InputGroupInput({ className, ...props }) {
|
|
2326
|
-
return /* @__PURE__ */
|
|
2358
|
+
return /* @__PURE__ */ jsx46(
|
|
2327
2359
|
Input,
|
|
2328
2360
|
{
|
|
2329
2361
|
"data-slot": "input-group-control",
|
|
@@ -2333,7 +2365,7 @@ function InputGroupInput({ className, ...props }) {
|
|
|
2333
2365
|
);
|
|
2334
2366
|
}
|
|
2335
2367
|
function InputGroupTextarea({ className, ...props }) {
|
|
2336
|
-
return /* @__PURE__ */
|
|
2368
|
+
return /* @__PURE__ */ jsx46(
|
|
2337
2369
|
Textarea,
|
|
2338
2370
|
{
|
|
2339
2371
|
"data-slot": "input-group-control",
|
|
@@ -2344,15 +2376,15 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
2344
2376
|
}
|
|
2345
2377
|
|
|
2346
2378
|
// src/choice-group.tsx
|
|
2347
|
-
import { jsx as
|
|
2379
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
2348
2380
|
function ChoiceGroup({ className, ...props }) {
|
|
2349
|
-
return /* @__PURE__ */
|
|
2381
|
+
return /* @__PURE__ */ jsx47("fieldset", { "data-slot": "choice-group", className: cn("grid gap-2", className), ...props });
|
|
2350
2382
|
}
|
|
2351
2383
|
function ChoiceGroupLegend({ className, ...props }) {
|
|
2352
|
-
return /* @__PURE__ */
|
|
2384
|
+
return /* @__PURE__ */ jsx47("legend", { "data-slot": "choice-group-legend", className: cn("mb-2 text-sm font-medium leading-5 text-foreground", className), ...props });
|
|
2353
2385
|
}
|
|
2354
2386
|
function ChoiceItem({ className, ...props }) {
|
|
2355
|
-
return /* @__PURE__ */
|
|
2387
|
+
return /* @__PURE__ */ jsx47(
|
|
2356
2388
|
"label",
|
|
2357
2389
|
{
|
|
2358
2390
|
"data-slot": "choice-item",
|
|
@@ -2367,13 +2399,13 @@ function ChoiceItem({ className, ...props }) {
|
|
|
2367
2399
|
);
|
|
2368
2400
|
}
|
|
2369
2401
|
function ChoiceItemBody({ className, ...props }) {
|
|
2370
|
-
return /* @__PURE__ */
|
|
2402
|
+
return /* @__PURE__ */ jsx47("span", { "data-slot": "choice-item-body", className: cn("flex flex-col gap-1", className), ...props });
|
|
2371
2403
|
}
|
|
2372
2404
|
function ChoiceItemTitle({ className, ...props }) {
|
|
2373
|
-
return /* @__PURE__ */
|
|
2405
|
+
return /* @__PURE__ */ jsx47("span", { "data-slot": "choice-item-title", className: cn("leading-5", className), ...props });
|
|
2374
2406
|
}
|
|
2375
2407
|
function ChoiceItemDescription({ className, ...props }) {
|
|
2376
|
-
return /* @__PURE__ */
|
|
2408
|
+
return /* @__PURE__ */ jsx47("small", { "data-slot": "choice-item-description", className: cn("text-sm leading-5 text-muted-foreground", className), ...props });
|
|
2377
2409
|
}
|
|
2378
2410
|
|
|
2379
2411
|
// src/perspective-theme.ts
|
|
@@ -2543,6 +2575,7 @@ export {
|
|
|
2543
2575
|
ListRowMeta,
|
|
2544
2576
|
ListRowTitle,
|
|
2545
2577
|
LoadingState,
|
|
2578
|
+
Meter,
|
|
2546
2579
|
Notice,
|
|
2547
2580
|
Pane,
|
|
2548
2581
|
PaneBody,
|
package/dist/styles.css
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
--tracking-widest: 0.1em;
|
|
28
28
|
--leading-snug: 1.375;
|
|
29
29
|
--radius-xs: 0.125rem;
|
|
30
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
30
31
|
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
31
32
|
--animate-spin: spin 1s linear infinite;
|
|
32
33
|
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
@@ -219,6 +220,9 @@
|
|
|
219
220
|
.h-1 {
|
|
220
221
|
height: var(--spacing);
|
|
221
222
|
}
|
|
223
|
+
.h-2 {
|
|
224
|
+
height: calc(var(--spacing) * 2);
|
|
225
|
+
}
|
|
222
226
|
.h-2\.5 {
|
|
223
227
|
height: calc(var(--spacing) * 2.5);
|
|
224
228
|
}
|
|
@@ -709,6 +713,9 @@
|
|
|
709
713
|
.bg-\[color\:var\(--boring-success-soft\,var\(--secondary\)\)\] {
|
|
710
714
|
background-color: var(--boring-success-soft,var(--secondary));
|
|
711
715
|
}
|
|
716
|
+
.bg-\[color\:var\(--boring-warning\,var\(--accent-foreground\)\)\] {
|
|
717
|
+
background-color: var(--boring-warning,var(--accent-foreground));
|
|
718
|
+
}
|
|
712
719
|
.bg-\[color\:var\(--boring-warning-soft\,var\(--accent\)\)\] {
|
|
713
720
|
background-color: var(--boring-warning-soft,var(--accent));
|
|
714
721
|
}
|
|
@@ -1126,6 +1133,11 @@
|
|
|
1126
1133
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1127
1134
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1128
1135
|
}
|
|
1136
|
+
.transition-\[width\] {
|
|
1137
|
+
transition-property: width;
|
|
1138
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1139
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1140
|
+
}
|
|
1129
1141
|
.transition-all {
|
|
1130
1142
|
transition-property: all;
|
|
1131
1143
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -1162,10 +1174,18 @@
|
|
|
1162
1174
|
--tw-duration: 200ms;
|
|
1163
1175
|
transition-duration: 200ms;
|
|
1164
1176
|
}
|
|
1177
|
+
.duration-300 {
|
|
1178
|
+
--tw-duration: 300ms;
|
|
1179
|
+
transition-duration: 300ms;
|
|
1180
|
+
}
|
|
1165
1181
|
.ease-in-out {
|
|
1166
1182
|
--tw-ease: var(--ease-in-out);
|
|
1167
1183
|
transition-timing-function: var(--ease-in-out);
|
|
1168
1184
|
}
|
|
1185
|
+
.ease-out {
|
|
1186
|
+
--tw-ease: var(--ease-out);
|
|
1187
|
+
transition-timing-function: var(--ease-out);
|
|
1188
|
+
}
|
|
1169
1189
|
.outline-none {
|
|
1170
1190
|
--tw-outline-style: none;
|
|
1171
1191
|
outline-style: none;
|