@hachej/boring-ui-kit 0.1.81 → 0.1.83
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 +183 -152
- package/dist/styles.css +64 -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.ComponentProps<'progress'>, 'role' | 'value' | 'max'> {
|
|
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. A native `<progress>` element
|
|
187
|
+
* gives the browser the dynamic fill without inline styles, which keeps it
|
|
188
|
+
* compatible with applications that enforce nonce-only style CSPs.
|
|
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,38 @@ 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: "[&::-webkit-progress-value]:bg-primary [&::-moz-progress-bar]:bg-primary",
|
|
1051
|
+
warning: "[&::-webkit-progress-value]:bg-[color:var(--boring-warning,var(--accent-foreground))] [&::-moz-progress-bar]:bg-[color:var(--boring-warning,var(--accent-foreground))]",
|
|
1052
|
+
danger: "[&::-webkit-progress-value]:bg-destructive [&::-moz-progress-bar]: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
|
+
"progress",
|
|
1058
|
+
{
|
|
1059
|
+
role: "progressbar",
|
|
1060
|
+
value: clamped,
|
|
1061
|
+
max: 100,
|
|
1062
|
+
"aria-valuenow": Math.round(clamped),
|
|
1063
|
+
"aria-valuemin": 0,
|
|
1064
|
+
"aria-valuemax": 100,
|
|
1065
|
+
"aria-label": label,
|
|
1066
|
+
"data-slot": "meter",
|
|
1067
|
+
className: cn(
|
|
1068
|
+
"h-2 w-full overflow-hidden rounded-full border-0 bg-muted [&::-webkit-progress-bar]:bg-muted [&::-webkit-progress-value]:rounded-full [&::-webkit-progress-value]:transition-all [&::-webkit-progress-value]:duration-300 [&::-moz-progress-bar]:rounded-full",
|
|
1069
|
+
toneFill[tone],
|
|
1070
|
+
className
|
|
1071
|
+
),
|
|
1072
|
+
...props
|
|
1073
|
+
}
|
|
1074
|
+
);
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1047
1077
|
// src/notice.tsx
|
|
1048
|
-
import { jsx as
|
|
1078
|
+
import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1049
1079
|
var noticeToneClasses = {
|
|
1050
1080
|
info: "border-border bg-muted/20 text-foreground [&_[data-slot=notice-icon]]:text-muted-foreground",
|
|
1051
1081
|
success: "border-success/35 bg-[color:var(--success-soft)] text-success [&_[data-slot=notice-description]]:text-foreground",
|
|
@@ -1076,22 +1106,22 @@ function Notice({
|
|
|
1076
1106
|
),
|
|
1077
1107
|
...props,
|
|
1078
1108
|
children: [
|
|
1079
|
-
icon && /* @__PURE__ */
|
|
1109
|
+
icon && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-icon", className: "mt-0.5 shrink-0", children: icon }),
|
|
1080
1110
|
/* @__PURE__ */ jsxs8("div", { className: "min-w-0 flex-1", children: [
|
|
1081
|
-
title && /* @__PURE__ */
|
|
1082
|
-
description && /* @__PURE__ */
|
|
1111
|
+
title && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-title", className: "font-medium leading-snug", children: title }),
|
|
1112
|
+
description && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-description", className: cn("text-muted-foreground", title && "mt-0.5"), children: description }),
|
|
1083
1113
|
children
|
|
1084
1114
|
] }),
|
|
1085
|
-
actions && /* @__PURE__ */
|
|
1115
|
+
actions && /* @__PURE__ */ jsx21("div", { "data-slot": "notice-actions", className: "flex shrink-0 items-center gap-2", children: actions })
|
|
1086
1116
|
]
|
|
1087
1117
|
}
|
|
1088
1118
|
);
|
|
1089
1119
|
}
|
|
1090
1120
|
|
|
1091
1121
|
// src/skeleton.tsx
|
|
1092
|
-
import { jsx as
|
|
1122
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1093
1123
|
function Skeleton({ className, ...props }) {
|
|
1094
|
-
return /* @__PURE__ */
|
|
1124
|
+
return /* @__PURE__ */ jsx22(
|
|
1095
1125
|
"div",
|
|
1096
1126
|
{
|
|
1097
1127
|
"data-slot": "skeleton",
|
|
@@ -1103,9 +1133,9 @@ function Skeleton({ className, ...props }) {
|
|
|
1103
1133
|
}
|
|
1104
1134
|
|
|
1105
1135
|
// src/inline-code.tsx
|
|
1106
|
-
import { jsx as
|
|
1136
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1107
1137
|
function InlineCode({ className, ...props }) {
|
|
1108
|
-
return /* @__PURE__ */
|
|
1138
|
+
return /* @__PURE__ */ jsx23(
|
|
1109
1139
|
"code",
|
|
1110
1140
|
{
|
|
1111
1141
|
"data-slot": "inline-code",
|
|
@@ -1116,9 +1146,9 @@ function InlineCode({ className, ...props }) {
|
|
|
1116
1146
|
}
|
|
1117
1147
|
|
|
1118
1148
|
// src/toolbar.tsx
|
|
1119
|
-
import { jsx as
|
|
1149
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1120
1150
|
function Toolbar({ className, ...props }) {
|
|
1121
|
-
return /* @__PURE__ */
|
|
1151
|
+
return /* @__PURE__ */ jsx24(
|
|
1122
1152
|
"div",
|
|
1123
1153
|
{
|
|
1124
1154
|
"data-slot": "toolbar",
|
|
@@ -1129,19 +1159,19 @@ function Toolbar({ className, ...props }) {
|
|
|
1129
1159
|
);
|
|
1130
1160
|
}
|
|
1131
1161
|
function ToolbarGroup({ className, ...props }) {
|
|
1132
|
-
return /* @__PURE__ */
|
|
1162
|
+
return /* @__PURE__ */ jsx24("div", { "data-slot": "toolbar-group", className: cn("flex items-center gap-0.5", className), ...props });
|
|
1133
1163
|
}
|
|
1134
1164
|
function ToolbarButton({ className, variant = "ghost", size = "icon-sm", ...props }) {
|
|
1135
|
-
return /* @__PURE__ */
|
|
1165
|
+
return /* @__PURE__ */ jsx24(Button, { "data-slot": "toolbar-button", variant, size, className: cn("shrink-0", className), ...props });
|
|
1136
1166
|
}
|
|
1137
1167
|
function ToolbarSeparator({ className, ...props }) {
|
|
1138
|
-
return /* @__PURE__ */
|
|
1168
|
+
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
1169
|
}
|
|
1140
1170
|
|
|
1141
1171
|
// src/chip.tsx
|
|
1142
|
-
import { jsx as
|
|
1172
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1143
1173
|
function Chip({ className, selected, ...props }) {
|
|
1144
|
-
return /* @__PURE__ */
|
|
1174
|
+
return /* @__PURE__ */ jsx25(
|
|
1145
1175
|
"span",
|
|
1146
1176
|
{
|
|
1147
1177
|
"data-slot": "chip",
|
|
@@ -1156,7 +1186,7 @@ function Chip({ className, selected, ...props }) {
|
|
|
1156
1186
|
);
|
|
1157
1187
|
}
|
|
1158
1188
|
function ChipButton({ className, selected, variant = "outline", size = "xs", ...props }) {
|
|
1159
|
-
return /* @__PURE__ */
|
|
1189
|
+
return /* @__PURE__ */ jsx25(
|
|
1160
1190
|
Button,
|
|
1161
1191
|
{
|
|
1162
1192
|
"data-slot": "chip-button",
|
|
@@ -1173,7 +1203,7 @@ function ChipButton({ className, selected, variant = "outline", size = "xs", ...
|
|
|
1173
1203
|
);
|
|
1174
1204
|
}
|
|
1175
1205
|
function ChipRemove({ className, children, variant = "ghost", size = "icon-xs", ...props }) {
|
|
1176
|
-
return /* @__PURE__ */
|
|
1206
|
+
return /* @__PURE__ */ jsx25(
|
|
1177
1207
|
Button,
|
|
1178
1208
|
{
|
|
1179
1209
|
"data-slot": "chip-remove",
|
|
@@ -1181,15 +1211,15 @@ function ChipRemove({ className, children, variant = "ghost", size = "icon-xs",
|
|
|
1181
1211
|
size,
|
|
1182
1212
|
className: cn("size-4 rounded-full text-muted-foreground hover:text-foreground", className),
|
|
1183
1213
|
...props,
|
|
1184
|
-
children: children ?? /* @__PURE__ */
|
|
1214
|
+
children: children ?? /* @__PURE__ */ jsx25("span", { "aria-hidden": "true", className: "text-[13px] leading-none", children: "\xD7" })
|
|
1185
1215
|
}
|
|
1186
1216
|
);
|
|
1187
1217
|
}
|
|
1188
1218
|
|
|
1189
1219
|
// src/segmented-control.tsx
|
|
1190
|
-
import { jsx as
|
|
1220
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1191
1221
|
function SegmentedControl({ className, ...props }) {
|
|
1192
|
-
return /* @__PURE__ */
|
|
1222
|
+
return /* @__PURE__ */ jsx26(
|
|
1193
1223
|
"div",
|
|
1194
1224
|
{
|
|
1195
1225
|
"data-slot": "segmented-control",
|
|
@@ -1200,7 +1230,7 @@ function SegmentedControl({ className, ...props }) {
|
|
|
1200
1230
|
);
|
|
1201
1231
|
}
|
|
1202
1232
|
function SegmentedControlItem({ className, selected, variant = "ghost", size = "xs", ...props }) {
|
|
1203
|
-
return /* @__PURE__ */
|
|
1233
|
+
return /* @__PURE__ */ jsx26(
|
|
1204
1234
|
Button,
|
|
1205
1235
|
{
|
|
1206
1236
|
"data-slot": "segmented-control-item",
|
|
@@ -1220,7 +1250,7 @@ function SegmentedControlItem({ className, selected, variant = "ghost", size = "
|
|
|
1220
1250
|
}
|
|
1221
1251
|
|
|
1222
1252
|
// src/settings.tsx
|
|
1223
|
-
import { jsx as
|
|
1253
|
+
import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1224
1254
|
function SettingsPanel({ className, icon, title, description, footer, danger, testId, children, ...props }) {
|
|
1225
1255
|
return /* @__PURE__ */ jsxs9(
|
|
1226
1256
|
"section",
|
|
@@ -1231,24 +1261,24 @@ function SettingsPanel({ className, icon, title, description, footer, danger, te
|
|
|
1231
1261
|
...props,
|
|
1232
1262
|
children: [
|
|
1233
1263
|
/* @__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__ */
|
|
1264
|
+
icon && /* @__PURE__ */ jsx27("span", { "data-slot": "settings-panel-icon", className: danger ? "text-destructive" : "text-muted-foreground", children: icon }),
|
|
1235
1265
|
/* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
1236
|
-
/* @__PURE__ */
|
|
1237
|
-
description ? /* @__PURE__ */
|
|
1266
|
+
/* @__PURE__ */ jsx27("h2", { "data-slot": "settings-panel-title", className: cn("text-[13px] font-medium leading-5", danger ? "text-destructive" : "text-foreground"), children: title }),
|
|
1267
|
+
description ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-panel-description", className: "text-[12px] leading-5 text-muted-foreground", children: description }) : null
|
|
1238
1268
|
] })
|
|
1239
1269
|
] }),
|
|
1240
|
-
/* @__PURE__ */
|
|
1241
|
-
footer ? /* @__PURE__ */
|
|
1270
|
+
/* @__PURE__ */ jsx27("div", { "data-slot": "settings-panel-body", className: "p-4", children }),
|
|
1271
|
+
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
1272
|
]
|
|
1243
1273
|
}
|
|
1244
1274
|
);
|
|
1245
1275
|
}
|
|
1246
1276
|
function SettingsNav({ className, label, items, ...props }) {
|
|
1247
1277
|
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__ */
|
|
1278
|
+
/* @__PURE__ */ jsx27("p", { "data-slot": "settings-nav-label", className: "boring-settings-nav-label", children: label }),
|
|
1279
|
+
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: [
|
|
1280
|
+
/* @__PURE__ */ jsx27("span", { className: "block truncate text-[12.5px] font-medium text-foreground", children: item.label }),
|
|
1281
|
+
item.description ? /* @__PURE__ */ jsx27("span", { className: "block truncate text-[11.5px] leading-4 text-muted-foreground", children: item.description }) : null
|
|
1252
1282
|
] }) }, item.href))
|
|
1253
1283
|
] });
|
|
1254
1284
|
}
|
|
@@ -1256,9 +1286,9 @@ function SettingsPageHeader({ className, eyebrow, title, description, context, c
|
|
|
1256
1286
|
return /* @__PURE__ */ jsxs9("header", { "data-slot": "settings-page-header", className: cn("boring-settings-page-header", className), ...props, children: [
|
|
1257
1287
|
context,
|
|
1258
1288
|
/* @__PURE__ */ jsxs9("div", { className: "max-w-2xl", children: [
|
|
1259
|
-
eyebrow ? /* @__PURE__ */
|
|
1260
|
-
/* @__PURE__ */
|
|
1261
|
-
description ? /* @__PURE__ */
|
|
1289
|
+
eyebrow ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-page-eyebrow", className: "text-[11px] font-medium uppercase leading-4 text-muted-foreground", children: eyebrow }) : null,
|
|
1290
|
+
/* @__PURE__ */ jsx27("h1", { "data-slot": "settings-page-title", className: "mt-1 text-[20px] font-semibold leading-7 tracking-tight text-foreground", children: title }),
|
|
1291
|
+
description ? /* @__PURE__ */ jsx27("p", { "data-slot": "settings-page-description", className: "mt-2 text-[13px] leading-5 text-muted-foreground", children: description }) : null
|
|
1262
1292
|
] }),
|
|
1263
1293
|
children
|
|
1264
1294
|
] });
|
|
@@ -1266,26 +1296,26 @@ function SettingsPageHeader({ className, eyebrow, title, description, context, c
|
|
|
1266
1296
|
function SettingsActionRow({ className, title, description, action, ...props }) {
|
|
1267
1297
|
return /* @__PURE__ */ jsxs9("div", { "data-slot": "settings-action-row", className: cn("boring-settings-action-row", className), ...props, children: [
|
|
1268
1298
|
/* @__PURE__ */ jsxs9("div", { className: "min-w-0", children: [
|
|
1269
|
-
/* @__PURE__ */
|
|
1270
|
-
description ? /* @__PURE__ */
|
|
1299
|
+
/* @__PURE__ */ jsx27("p", { "data-slot": "settings-action-title", className: "text-[13px] font-medium leading-5 text-foreground", children: title }),
|
|
1300
|
+
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
1301
|
] }),
|
|
1272
|
-
/* @__PURE__ */
|
|
1302
|
+
/* @__PURE__ */ jsx27("div", { "data-slot": "settings-action", className: "shrink-0", children: action })
|
|
1273
1303
|
] });
|
|
1274
1304
|
}
|
|
1275
1305
|
function DetailLine({ className, icon, label, children, ...props }) {
|
|
1276
1306
|
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__ */
|
|
1307
|
+
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,
|
|
1308
|
+
/* @__PURE__ */ jsx27("dt", { "data-slot": "detail-line-label", className: "w-32 shrink-0 text-[12px] text-muted-foreground", children: label }),
|
|
1309
|
+
/* @__PURE__ */ jsx27("dd", { "data-slot": "detail-line-value", className: "min-w-0 flex-1 text-foreground", children })
|
|
1280
1310
|
] });
|
|
1281
1311
|
}
|
|
1282
1312
|
|
|
1283
1313
|
// src/disclosure.tsx
|
|
1284
1314
|
import * as React6 from "react";
|
|
1285
1315
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
1286
|
-
import { jsx as
|
|
1316
|
+
import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1287
1317
|
var Disclosure = CollapsiblePrimitive.Root;
|
|
1288
|
-
var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1318
|
+
var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
1289
1319
|
CollapsiblePrimitive.Content,
|
|
1290
1320
|
{
|
|
1291
1321
|
ref,
|
|
@@ -1296,7 +1326,7 @@ var DisclosureContent = React6.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1296
1326
|
));
|
|
1297
1327
|
DisclosureContent.displayName = "DisclosureContent";
|
|
1298
1328
|
var DisclosureTrigger = React6.forwardRef(
|
|
1299
|
-
({ className, children, chevron, variant = "ghost", size = "sm", ...props }, ref) => /* @__PURE__ */
|
|
1329
|
+
({ className, children, chevron, variant = "ghost", size = "sm", ...props }, ref) => /* @__PURE__ */ jsx28(CollapsiblePrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs10(
|
|
1300
1330
|
Button,
|
|
1301
1331
|
{
|
|
1302
1332
|
ref,
|
|
@@ -1306,7 +1336,7 @@ var DisclosureTrigger = React6.forwardRef(
|
|
|
1306
1336
|
className: cn("group/disclosure justify-start gap-2", className),
|
|
1307
1337
|
...props,
|
|
1308
1338
|
children: [
|
|
1309
|
-
chevron ?? /* @__PURE__ */
|
|
1339
|
+
chevron ?? /* @__PURE__ */ jsx28(DisclosureChevron, {}),
|
|
1310
1340
|
children
|
|
1311
1341
|
]
|
|
1312
1342
|
}
|
|
@@ -1314,7 +1344,7 @@ var DisclosureTrigger = React6.forwardRef(
|
|
|
1314
1344
|
);
|
|
1315
1345
|
DisclosureTrigger.displayName = "DisclosureTrigger";
|
|
1316
1346
|
function DisclosureChevron({ className, ...props }) {
|
|
1317
|
-
return /* @__PURE__ */
|
|
1347
|
+
return /* @__PURE__ */ jsx28(
|
|
1318
1348
|
"span",
|
|
1319
1349
|
{
|
|
1320
1350
|
"data-slot": "disclosure-chevron",
|
|
@@ -1327,7 +1357,7 @@ function DisclosureChevron({ className, ...props }) {
|
|
|
1327
1357
|
}
|
|
1328
1358
|
|
|
1329
1359
|
// src/resize-handle.tsx
|
|
1330
|
-
import { jsx as
|
|
1360
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1331
1361
|
function ResizeHandle({
|
|
1332
1362
|
className,
|
|
1333
1363
|
orientation = "vertical",
|
|
@@ -1336,7 +1366,7 @@ function ResizeHandle({
|
|
|
1336
1366
|
tabIndex = 0,
|
|
1337
1367
|
...props
|
|
1338
1368
|
}) {
|
|
1339
|
-
return /* @__PURE__ */
|
|
1369
|
+
return /* @__PURE__ */ jsx29(
|
|
1340
1370
|
"div",
|
|
1341
1371
|
{
|
|
1342
1372
|
"data-slot": "resize-handle",
|
|
@@ -1356,9 +1386,9 @@ function ResizeHandle({
|
|
|
1356
1386
|
}
|
|
1357
1387
|
|
|
1358
1388
|
// src/avatar.tsx
|
|
1359
|
-
import { jsx as
|
|
1389
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1360
1390
|
function Avatar({ className, ...props }) {
|
|
1361
|
-
return /* @__PURE__ */
|
|
1391
|
+
return /* @__PURE__ */ jsx30(
|
|
1362
1392
|
"div",
|
|
1363
1393
|
{
|
|
1364
1394
|
"data-slot": "avatar",
|
|
@@ -1368,7 +1398,7 @@ function Avatar({ className, ...props }) {
|
|
|
1368
1398
|
);
|
|
1369
1399
|
}
|
|
1370
1400
|
function AvatarFallback({ className, ...props }) {
|
|
1371
|
-
return /* @__PURE__ */
|
|
1401
|
+
return /* @__PURE__ */ jsx30(
|
|
1372
1402
|
"span",
|
|
1373
1403
|
{
|
|
1374
1404
|
"data-slot": "avatar-fallback",
|
|
@@ -1378,13 +1408,13 @@ function AvatarFallback({ className, ...props }) {
|
|
|
1378
1408
|
);
|
|
1379
1409
|
}
|
|
1380
1410
|
function InitialsAvatar({ initials, className, ...props }) {
|
|
1381
|
-
return /* @__PURE__ */
|
|
1411
|
+
return /* @__PURE__ */ jsx30(Avatar, { className, ...props, children: /* @__PURE__ */ jsx30(AvatarFallback, { children: initials }) });
|
|
1382
1412
|
}
|
|
1383
1413
|
|
|
1384
1414
|
// src/toast.tsx
|
|
1385
1415
|
import * as React7 from "react";
|
|
1386
1416
|
import { createPortal } from "react-dom";
|
|
1387
|
-
import { jsx as
|
|
1417
|
+
import { jsx as jsx31, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1388
1418
|
var toasts = [];
|
|
1389
1419
|
var listeners = /* @__PURE__ */ new Set();
|
|
1390
1420
|
var nextId = 0;
|
|
@@ -1443,7 +1473,7 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1443
1473
|
const [items, setItems] = React7.useState(() => toasts);
|
|
1444
1474
|
React7.useEffect(() => subscribeToasts(setItems), []);
|
|
1445
1475
|
if (typeof document === "undefined") return null;
|
|
1446
|
-
const node = /* @__PURE__ */
|
|
1476
|
+
const node = /* @__PURE__ */ jsx31(
|
|
1447
1477
|
"div",
|
|
1448
1478
|
{
|
|
1449
1479
|
role: "region",
|
|
@@ -1471,12 +1501,12 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1471
1501
|
VARIANT_CLASS[variant]
|
|
1472
1502
|
),
|
|
1473
1503
|
children: [
|
|
1474
|
-
/* @__PURE__ */
|
|
1504
|
+
/* @__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
1505
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0 flex-1", children: [
|
|
1476
|
-
item.title && /* @__PURE__ */
|
|
1477
|
-
item.description && /* @__PURE__ */
|
|
1506
|
+
item.title && /* @__PURE__ */ jsx31("div", { className: "text-sm font-medium leading-snug", children: item.title }),
|
|
1507
|
+
item.description && /* @__PURE__ */ jsx31("div", { className: cn("text-xs text-muted-foreground", item.title ? "mt-0.5" : "leading-snug"), children: item.description })
|
|
1478
1508
|
] }),
|
|
1479
|
-
/* @__PURE__ */
|
|
1509
|
+
/* @__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
1510
|
]
|
|
1481
1511
|
},
|
|
1482
1512
|
item.id
|
|
@@ -1488,7 +1518,7 @@ function Toaster({ position = "bottom-right", className }) {
|
|
|
1488
1518
|
}
|
|
1489
1519
|
|
|
1490
1520
|
// src/loading-state.tsx
|
|
1491
|
-
import { jsx as
|
|
1521
|
+
import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1492
1522
|
function LoadingState({ className, label = "Loading\u2026", centered = false, children, ...props }) {
|
|
1493
1523
|
return /* @__PURE__ */ jsxs12(
|
|
1494
1524
|
"div",
|
|
@@ -1502,20 +1532,20 @@ function LoadingState({ className, label = "Loading\u2026", centered = false, ch
|
|
|
1502
1532
|
),
|
|
1503
1533
|
...props,
|
|
1504
1534
|
children: [
|
|
1505
|
-
/* @__PURE__ */
|
|
1506
|
-
/* @__PURE__ */
|
|
1535
|
+
/* @__PURE__ */ jsx32(Spinner, { className: "size-3.5" }),
|
|
1536
|
+
/* @__PURE__ */ jsx32("span", { children: children ?? label })
|
|
1507
1537
|
]
|
|
1508
1538
|
}
|
|
1509
1539
|
);
|
|
1510
1540
|
}
|
|
1511
1541
|
|
|
1512
1542
|
// src/list.tsx
|
|
1513
|
-
import { jsx as
|
|
1543
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1514
1544
|
function List2({ className, ...props }) {
|
|
1515
|
-
return /* @__PURE__ */
|
|
1545
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list", className: cn("divide-y divide-border/60", className), ...props });
|
|
1516
1546
|
}
|
|
1517
1547
|
function ListRow({ className, interactive, ...props }) {
|
|
1518
|
-
return /* @__PURE__ */
|
|
1548
|
+
return /* @__PURE__ */ jsx33(
|
|
1519
1549
|
"div",
|
|
1520
1550
|
{
|
|
1521
1551
|
"data-slot": "list-row",
|
|
@@ -1530,25 +1560,25 @@ function ListRow({ className, interactive, ...props }) {
|
|
|
1530
1560
|
);
|
|
1531
1561
|
}
|
|
1532
1562
|
function ListRowMain({ className, ...props }) {
|
|
1533
|
-
return /* @__PURE__ */
|
|
1563
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list-row-main", className: cn("min-w-0 flex-1", className), ...props });
|
|
1534
1564
|
}
|
|
1535
1565
|
function ListRowTitle({ className, ...props }) {
|
|
1536
|
-
return /* @__PURE__ */
|
|
1566
|
+
return /* @__PURE__ */ jsx33("p", { "data-slot": "list-row-title", className: cn("truncate text-sm font-medium text-foreground", className), ...props });
|
|
1537
1567
|
}
|
|
1538
1568
|
function ListRowDescription({ className, ...props }) {
|
|
1539
|
-
return /* @__PURE__ */
|
|
1569
|
+
return /* @__PURE__ */ jsx33("p", { "data-slot": "list-row-description", className: cn("truncate text-xs text-muted-foreground", className), ...props });
|
|
1540
1570
|
}
|
|
1541
1571
|
function ListRowMeta({ className, ...props }) {
|
|
1542
|
-
return /* @__PURE__ */
|
|
1572
|
+
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
1573
|
}
|
|
1544
1574
|
function ListRowActions({ className, ...props }) {
|
|
1545
|
-
return /* @__PURE__ */
|
|
1575
|
+
return /* @__PURE__ */ jsx33("div", { "data-slot": "list-row-actions", className: cn("flex shrink-0 items-center gap-2", className), ...props });
|
|
1546
1576
|
}
|
|
1547
1577
|
|
|
1548
1578
|
// src/detail-list.tsx
|
|
1549
|
-
import { jsx as
|
|
1579
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1550
1580
|
function DetailList({ className, ...props }) {
|
|
1551
|
-
return /* @__PURE__ */
|
|
1581
|
+
return /* @__PURE__ */ jsx34(
|
|
1552
1582
|
"dl",
|
|
1553
1583
|
{
|
|
1554
1584
|
"data-slot": "detail-list",
|
|
@@ -1559,9 +1589,9 @@ function DetailList({ className, ...props }) {
|
|
|
1559
1589
|
}
|
|
1560
1590
|
|
|
1561
1591
|
// src/floating-panel.tsx
|
|
1562
|
-
import { jsx as
|
|
1592
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1563
1593
|
function FloatingPanel({ className, ...props }) {
|
|
1564
|
-
return /* @__PURE__ */
|
|
1594
|
+
return /* @__PURE__ */ jsx35(
|
|
1565
1595
|
"div",
|
|
1566
1596
|
{
|
|
1567
1597
|
"data-slot": "floating-panel",
|
|
@@ -1571,16 +1601,16 @@ function FloatingPanel({ className, ...props }) {
|
|
|
1571
1601
|
);
|
|
1572
1602
|
}
|
|
1573
1603
|
function FloatingPanelHeader({ className, ...props }) {
|
|
1574
|
-
return /* @__PURE__ */
|
|
1604
|
+
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
1605
|
}
|
|
1576
1606
|
function FloatingPanelBody({ className, ...props }) {
|
|
1577
|
-
return /* @__PURE__ */
|
|
1607
|
+
return /* @__PURE__ */ jsx35("div", { "data-slot": "floating-panel-body", className: cn("py-1", className), ...props });
|
|
1578
1608
|
}
|
|
1579
1609
|
|
|
1580
1610
|
// src/card.tsx
|
|
1581
|
-
import { jsx as
|
|
1611
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1582
1612
|
function Card({ className, ...props }) {
|
|
1583
|
-
return /* @__PURE__ */
|
|
1613
|
+
return /* @__PURE__ */ jsx36(
|
|
1584
1614
|
"div",
|
|
1585
1615
|
{
|
|
1586
1616
|
"data-slot": "card",
|
|
@@ -1593,7 +1623,7 @@ function Card({ className, ...props }) {
|
|
|
1593
1623
|
);
|
|
1594
1624
|
}
|
|
1595
1625
|
function CardHeader({ className, ...props }) {
|
|
1596
|
-
return /* @__PURE__ */
|
|
1626
|
+
return /* @__PURE__ */ jsx36(
|
|
1597
1627
|
"div",
|
|
1598
1628
|
{
|
|
1599
1629
|
"data-slot": "card-header",
|
|
@@ -1606,7 +1636,7 @@ function CardHeader({ className, ...props }) {
|
|
|
1606
1636
|
);
|
|
1607
1637
|
}
|
|
1608
1638
|
function CardTitle({ className, ...props }) {
|
|
1609
|
-
return /* @__PURE__ */
|
|
1639
|
+
return /* @__PURE__ */ jsx36(
|
|
1610
1640
|
"div",
|
|
1611
1641
|
{
|
|
1612
1642
|
"data-slot": "card-title",
|
|
@@ -1616,7 +1646,7 @@ function CardTitle({ className, ...props }) {
|
|
|
1616
1646
|
);
|
|
1617
1647
|
}
|
|
1618
1648
|
function CardDescription({ className, ...props }) {
|
|
1619
|
-
return /* @__PURE__ */
|
|
1649
|
+
return /* @__PURE__ */ jsx36(
|
|
1620
1650
|
"div",
|
|
1621
1651
|
{
|
|
1622
1652
|
"data-slot": "card-description",
|
|
@@ -1626,7 +1656,7 @@ function CardDescription({ className, ...props }) {
|
|
|
1626
1656
|
);
|
|
1627
1657
|
}
|
|
1628
1658
|
function CardAction({ className, ...props }) {
|
|
1629
|
-
return /* @__PURE__ */
|
|
1659
|
+
return /* @__PURE__ */ jsx36(
|
|
1630
1660
|
"div",
|
|
1631
1661
|
{
|
|
1632
1662
|
"data-slot": "card-action",
|
|
@@ -1639,7 +1669,7 @@ function CardAction({ className, ...props }) {
|
|
|
1639
1669
|
);
|
|
1640
1670
|
}
|
|
1641
1671
|
function CardContent({ className, ...props }) {
|
|
1642
|
-
return /* @__PURE__ */
|
|
1672
|
+
return /* @__PURE__ */ jsx36(
|
|
1643
1673
|
"div",
|
|
1644
1674
|
{
|
|
1645
1675
|
"data-slot": "card-content",
|
|
@@ -1649,7 +1679,7 @@ function CardContent({ className, ...props }) {
|
|
|
1649
1679
|
);
|
|
1650
1680
|
}
|
|
1651
1681
|
function CardFooter({ className, ...props }) {
|
|
1652
|
-
return /* @__PURE__ */
|
|
1682
|
+
return /* @__PURE__ */ jsx36(
|
|
1653
1683
|
"div",
|
|
1654
1684
|
{
|
|
1655
1685
|
"data-slot": "card-footer",
|
|
@@ -1661,12 +1691,12 @@ function CardFooter({ className, ...props }) {
|
|
|
1661
1691
|
|
|
1662
1692
|
// src/label.tsx
|
|
1663
1693
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1664
|
-
import { jsx as
|
|
1694
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1665
1695
|
function Label3({
|
|
1666
1696
|
className,
|
|
1667
1697
|
...props
|
|
1668
1698
|
}) {
|
|
1669
|
-
return /* @__PURE__ */
|
|
1699
|
+
return /* @__PURE__ */ jsx37(
|
|
1670
1700
|
LabelPrimitive.Root,
|
|
1671
1701
|
{
|
|
1672
1702
|
"data-slot": "label",
|
|
@@ -1681,12 +1711,12 @@ function Label3({
|
|
|
1681
1711
|
|
|
1682
1712
|
// src/checkbox.tsx
|
|
1683
1713
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
1684
|
-
import { jsx as
|
|
1714
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
1685
1715
|
function Checkbox({
|
|
1686
1716
|
className,
|
|
1687
1717
|
...props
|
|
1688
1718
|
}) {
|
|
1689
|
-
return /* @__PURE__ */
|
|
1719
|
+
return /* @__PURE__ */ jsx38(
|
|
1690
1720
|
CheckboxPrimitive.Root,
|
|
1691
1721
|
{
|
|
1692
1722
|
"data-slot": "checkbox",
|
|
@@ -1695,12 +1725,12 @@ function Checkbox({
|
|
|
1695
1725
|
className
|
|
1696
1726
|
),
|
|
1697
1727
|
...props,
|
|
1698
|
-
children: /* @__PURE__ */
|
|
1728
|
+
children: /* @__PURE__ */ jsx38(
|
|
1699
1729
|
CheckboxPrimitive.Indicator,
|
|
1700
1730
|
{
|
|
1701
1731
|
"data-slot": "checkbox-indicator",
|
|
1702
1732
|
className: "grid place-content-center text-current transition-none",
|
|
1703
|
-
children: /* @__PURE__ */
|
|
1733
|
+
children: /* @__PURE__ */ jsx38("span", { "aria-hidden": "true", className: "text-xs leading-none", children: "\u2713" })
|
|
1704
1734
|
}
|
|
1705
1735
|
)
|
|
1706
1736
|
}
|
|
@@ -1709,8 +1739,8 @@ function Checkbox({
|
|
|
1709
1739
|
|
|
1710
1740
|
// src/radio.tsx
|
|
1711
1741
|
import * as React8 from "react";
|
|
1712
|
-
import { jsx as
|
|
1713
|
-
var Radio = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1742
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
1743
|
+
var Radio = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
|
|
1714
1744
|
"input",
|
|
1715
1745
|
{
|
|
1716
1746
|
ref,
|
|
@@ -1727,27 +1757,27 @@ Radio.displayName = "Radio";
|
|
|
1727
1757
|
|
|
1728
1758
|
// src/alert-dialog.tsx
|
|
1729
1759
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
1730
|
-
import { jsx as
|
|
1760
|
+
import { jsx as jsx40, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1731
1761
|
function AlertDialog({
|
|
1732
1762
|
...props
|
|
1733
1763
|
}) {
|
|
1734
|
-
return /* @__PURE__ */
|
|
1764
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
1735
1765
|
}
|
|
1736
1766
|
function AlertDialogTrigger({
|
|
1737
1767
|
...props
|
|
1738
1768
|
}) {
|
|
1739
|
-
return /* @__PURE__ */
|
|
1769
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
1740
1770
|
}
|
|
1741
1771
|
function AlertDialogPortal({
|
|
1742
1772
|
...props
|
|
1743
1773
|
}) {
|
|
1744
|
-
return /* @__PURE__ */
|
|
1774
|
+
return /* @__PURE__ */ jsx40(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
1745
1775
|
}
|
|
1746
1776
|
function AlertDialogOverlay({
|
|
1747
1777
|
className,
|
|
1748
1778
|
...props
|
|
1749
1779
|
}) {
|
|
1750
|
-
return /* @__PURE__ */
|
|
1780
|
+
return /* @__PURE__ */ jsx40(
|
|
1751
1781
|
AlertDialogPrimitive.Overlay,
|
|
1752
1782
|
{
|
|
1753
1783
|
"data-slot": "alert-dialog-overlay",
|
|
@@ -1765,8 +1795,8 @@ function AlertDialogContent({
|
|
|
1765
1795
|
...props
|
|
1766
1796
|
}) {
|
|
1767
1797
|
return /* @__PURE__ */ jsxs13(AlertDialogPortal, { children: [
|
|
1768
|
-
/* @__PURE__ */
|
|
1769
|
-
/* @__PURE__ */
|
|
1798
|
+
/* @__PURE__ */ jsx40(AlertDialogOverlay, {}),
|
|
1799
|
+
/* @__PURE__ */ jsx40(
|
|
1770
1800
|
AlertDialogPrimitive.Content,
|
|
1771
1801
|
{
|
|
1772
1802
|
"data-slot": "alert-dialog-content",
|
|
@@ -1784,7 +1814,7 @@ function AlertDialogHeader({
|
|
|
1784
1814
|
className,
|
|
1785
1815
|
...props
|
|
1786
1816
|
}) {
|
|
1787
|
-
return /* @__PURE__ */
|
|
1817
|
+
return /* @__PURE__ */ jsx40(
|
|
1788
1818
|
"div",
|
|
1789
1819
|
{
|
|
1790
1820
|
"data-slot": "alert-dialog-header",
|
|
@@ -1800,7 +1830,7 @@ function AlertDialogFooter({
|
|
|
1800
1830
|
className,
|
|
1801
1831
|
...props
|
|
1802
1832
|
}) {
|
|
1803
|
-
return /* @__PURE__ */
|
|
1833
|
+
return /* @__PURE__ */ jsx40(
|
|
1804
1834
|
"div",
|
|
1805
1835
|
{
|
|
1806
1836
|
"data-slot": "alert-dialog-footer",
|
|
@@ -1816,7 +1846,7 @@ function AlertDialogTitle({
|
|
|
1816
1846
|
className,
|
|
1817
1847
|
...props
|
|
1818
1848
|
}) {
|
|
1819
|
-
return /* @__PURE__ */
|
|
1849
|
+
return /* @__PURE__ */ jsx40(
|
|
1820
1850
|
AlertDialogPrimitive.Title,
|
|
1821
1851
|
{
|
|
1822
1852
|
"data-slot": "alert-dialog-title",
|
|
@@ -1832,7 +1862,7 @@ function AlertDialogDescription({
|
|
|
1832
1862
|
className,
|
|
1833
1863
|
...props
|
|
1834
1864
|
}) {
|
|
1835
|
-
return /* @__PURE__ */
|
|
1865
|
+
return /* @__PURE__ */ jsx40(
|
|
1836
1866
|
AlertDialogPrimitive.Description,
|
|
1837
1867
|
{
|
|
1838
1868
|
"data-slot": "alert-dialog-description",
|
|
@@ -1845,7 +1875,7 @@ function AlertDialogMedia({
|
|
|
1845
1875
|
className,
|
|
1846
1876
|
...props
|
|
1847
1877
|
}) {
|
|
1848
|
-
return /* @__PURE__ */
|
|
1878
|
+
return /* @__PURE__ */ jsx40(
|
|
1849
1879
|
"div",
|
|
1850
1880
|
{
|
|
1851
1881
|
"data-slot": "alert-dialog-media",
|
|
@@ -1863,7 +1893,7 @@ function AlertDialogAction({
|
|
|
1863
1893
|
size = "default",
|
|
1864
1894
|
...props
|
|
1865
1895
|
}) {
|
|
1866
|
-
return /* @__PURE__ */
|
|
1896
|
+
return /* @__PURE__ */ jsx40(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx40(
|
|
1867
1897
|
AlertDialogPrimitive.Action,
|
|
1868
1898
|
{
|
|
1869
1899
|
"data-slot": "alert-dialog-action",
|
|
@@ -1878,7 +1908,7 @@ function AlertDialogCancel({
|
|
|
1878
1908
|
size = "default",
|
|
1879
1909
|
...props
|
|
1880
1910
|
}) {
|
|
1881
|
-
return /* @__PURE__ */
|
|
1911
|
+
return /* @__PURE__ */ jsx40(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx40(
|
|
1882
1912
|
AlertDialogPrimitive.Cancel,
|
|
1883
1913
|
{
|
|
1884
1914
|
"data-slot": "alert-dialog-cancel",
|
|
@@ -1890,16 +1920,16 @@ function AlertDialogCancel({
|
|
|
1890
1920
|
|
|
1891
1921
|
// src/popover.tsx
|
|
1892
1922
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1893
|
-
import { jsx as
|
|
1923
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
1894
1924
|
function Popover({
|
|
1895
1925
|
...props
|
|
1896
1926
|
}) {
|
|
1897
|
-
return /* @__PURE__ */
|
|
1927
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1898
1928
|
}
|
|
1899
1929
|
function PopoverTrigger({
|
|
1900
1930
|
...props
|
|
1901
1931
|
}) {
|
|
1902
|
-
return /* @__PURE__ */
|
|
1932
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1903
1933
|
}
|
|
1904
1934
|
function PopoverContent({
|
|
1905
1935
|
className,
|
|
@@ -1907,7 +1937,7 @@ function PopoverContent({
|
|
|
1907
1937
|
sideOffset = 4,
|
|
1908
1938
|
...props
|
|
1909
1939
|
}) {
|
|
1910
|
-
return /* @__PURE__ */
|
|
1940
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
1911
1941
|
PopoverPrimitive.Content,
|
|
1912
1942
|
{
|
|
1913
1943
|
"data-slot": "popover-content",
|
|
@@ -1924,10 +1954,10 @@ function PopoverContent({
|
|
|
1924
1954
|
function PopoverAnchor({
|
|
1925
1955
|
...props
|
|
1926
1956
|
}) {
|
|
1927
|
-
return /* @__PURE__ */
|
|
1957
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
1928
1958
|
}
|
|
1929
1959
|
function PopoverHeader({ className, ...props }) {
|
|
1930
|
-
return /* @__PURE__ */
|
|
1960
|
+
return /* @__PURE__ */ jsx41(
|
|
1931
1961
|
"div",
|
|
1932
1962
|
{
|
|
1933
1963
|
"data-slot": "popover-header",
|
|
@@ -1937,7 +1967,7 @@ function PopoverHeader({ className, ...props }) {
|
|
|
1937
1967
|
);
|
|
1938
1968
|
}
|
|
1939
1969
|
function PopoverTitle({ className, ...props }) {
|
|
1940
|
-
return /* @__PURE__ */
|
|
1970
|
+
return /* @__PURE__ */ jsx41(
|
|
1941
1971
|
"div",
|
|
1942
1972
|
{
|
|
1943
1973
|
"data-slot": "popover-title",
|
|
@@ -1950,7 +1980,7 @@ function PopoverDescription({
|
|
|
1950
1980
|
className,
|
|
1951
1981
|
...props
|
|
1952
1982
|
}) {
|
|
1953
|
-
return /* @__PURE__ */
|
|
1983
|
+
return /* @__PURE__ */ jsx41(
|
|
1954
1984
|
"p",
|
|
1955
1985
|
{
|
|
1956
1986
|
"data-slot": "popover-description",
|
|
@@ -1962,7 +1992,7 @@ function PopoverDescription({
|
|
|
1962
1992
|
|
|
1963
1993
|
// src/scroll-area.tsx
|
|
1964
1994
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
1965
|
-
import { jsx as
|
|
1995
|
+
import { jsx as jsx42, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1966
1996
|
function ScrollArea({
|
|
1967
1997
|
className,
|
|
1968
1998
|
children,
|
|
@@ -1975,7 +2005,7 @@ function ScrollArea({
|
|
|
1975
2005
|
className: cn("relative", className),
|
|
1976
2006
|
...props,
|
|
1977
2007
|
children: [
|
|
1978
|
-
/* @__PURE__ */
|
|
2008
|
+
/* @__PURE__ */ jsx42(
|
|
1979
2009
|
ScrollAreaPrimitive.Viewport,
|
|
1980
2010
|
{
|
|
1981
2011
|
"data-slot": "scroll-area-viewport",
|
|
@@ -1983,8 +2013,8 @@ function ScrollArea({
|
|
|
1983
2013
|
children
|
|
1984
2014
|
}
|
|
1985
2015
|
),
|
|
1986
|
-
/* @__PURE__ */
|
|
1987
|
-
/* @__PURE__ */
|
|
2016
|
+
/* @__PURE__ */ jsx42(ScrollBar, {}),
|
|
2017
|
+
/* @__PURE__ */ jsx42(ScrollAreaPrimitive.Corner, {})
|
|
1988
2018
|
]
|
|
1989
2019
|
}
|
|
1990
2020
|
);
|
|
@@ -1994,7 +2024,7 @@ function ScrollBar({
|
|
|
1994
2024
|
orientation = "vertical",
|
|
1995
2025
|
...props
|
|
1996
2026
|
}) {
|
|
1997
|
-
return /* @__PURE__ */
|
|
2027
|
+
return /* @__PURE__ */ jsx42(
|
|
1998
2028
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1999
2029
|
{
|
|
2000
2030
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -2006,7 +2036,7 @@ function ScrollBar({
|
|
|
2006
2036
|
className
|
|
2007
2037
|
),
|
|
2008
2038
|
...props,
|
|
2009
|
-
children: /* @__PURE__ */
|
|
2039
|
+
children: /* @__PURE__ */ jsx42(
|
|
2010
2040
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
2011
2041
|
{
|
|
2012
2042
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2019,30 +2049,30 @@ function ScrollBar({
|
|
|
2019
2049
|
|
|
2020
2050
|
// src/sheet.tsx
|
|
2021
2051
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
2022
|
-
import { jsx as
|
|
2052
|
+
import { jsx as jsx43, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2023
2053
|
function Sheet({ ...props }) {
|
|
2024
|
-
return /* @__PURE__ */
|
|
2054
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
2025
2055
|
}
|
|
2026
2056
|
function SheetTrigger({
|
|
2027
2057
|
...props
|
|
2028
2058
|
}) {
|
|
2029
|
-
return /* @__PURE__ */
|
|
2059
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
2030
2060
|
}
|
|
2031
2061
|
function SheetClose({
|
|
2032
2062
|
...props
|
|
2033
2063
|
}) {
|
|
2034
|
-
return /* @__PURE__ */
|
|
2064
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
2035
2065
|
}
|
|
2036
2066
|
function SheetPortal({
|
|
2037
2067
|
...props
|
|
2038
2068
|
}) {
|
|
2039
|
-
return /* @__PURE__ */
|
|
2069
|
+
return /* @__PURE__ */ jsx43(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
2040
2070
|
}
|
|
2041
2071
|
function SheetOverlay({
|
|
2042
2072
|
className,
|
|
2043
2073
|
...props
|
|
2044
2074
|
}) {
|
|
2045
|
-
return /* @__PURE__ */
|
|
2075
|
+
return /* @__PURE__ */ jsx43(
|
|
2046
2076
|
SheetPrimitive.Overlay,
|
|
2047
2077
|
{
|
|
2048
2078
|
"data-slot": "sheet-overlay",
|
|
@@ -2062,7 +2092,7 @@ function SheetContent({
|
|
|
2062
2092
|
...props
|
|
2063
2093
|
}) {
|
|
2064
2094
|
return /* @__PURE__ */ jsxs15(SheetPortal, { children: [
|
|
2065
|
-
/* @__PURE__ */
|
|
2095
|
+
/* @__PURE__ */ jsx43(SheetOverlay, {}),
|
|
2066
2096
|
/* @__PURE__ */ jsxs15(
|
|
2067
2097
|
SheetPrimitive.Content,
|
|
2068
2098
|
{
|
|
@@ -2079,8 +2109,8 @@ function SheetContent({
|
|
|
2079
2109
|
children: [
|
|
2080
2110
|
children,
|
|
2081
2111
|
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__ */
|
|
2112
|
+
/* @__PURE__ */ jsx43("span", { "aria-hidden": "true", className: "text-base leading-none", children: "\xD7" }),
|
|
2113
|
+
/* @__PURE__ */ jsx43("span", { className: "sr-only", children: "Close" })
|
|
2084
2114
|
] })
|
|
2085
2115
|
]
|
|
2086
2116
|
}
|
|
@@ -2088,7 +2118,7 @@ function SheetContent({
|
|
|
2088
2118
|
] });
|
|
2089
2119
|
}
|
|
2090
2120
|
function SheetHeader({ className, ...props }) {
|
|
2091
|
-
return /* @__PURE__ */
|
|
2121
|
+
return /* @__PURE__ */ jsx43(
|
|
2092
2122
|
"div",
|
|
2093
2123
|
{
|
|
2094
2124
|
"data-slot": "sheet-header",
|
|
@@ -2098,7 +2128,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
2098
2128
|
);
|
|
2099
2129
|
}
|
|
2100
2130
|
function SheetFooter({ className, ...props }) {
|
|
2101
|
-
return /* @__PURE__ */
|
|
2131
|
+
return /* @__PURE__ */ jsx43(
|
|
2102
2132
|
"div",
|
|
2103
2133
|
{
|
|
2104
2134
|
"data-slot": "sheet-footer",
|
|
@@ -2111,7 +2141,7 @@ function SheetTitle({
|
|
|
2111
2141
|
className,
|
|
2112
2142
|
...props
|
|
2113
2143
|
}) {
|
|
2114
|
-
return /* @__PURE__ */
|
|
2144
|
+
return /* @__PURE__ */ jsx43(
|
|
2115
2145
|
SheetPrimitive.Title,
|
|
2116
2146
|
{
|
|
2117
2147
|
"data-slot": "sheet-title",
|
|
@@ -2124,7 +2154,7 @@ function SheetDescription({
|
|
|
2124
2154
|
className,
|
|
2125
2155
|
...props
|
|
2126
2156
|
}) {
|
|
2127
|
-
return /* @__PURE__ */
|
|
2157
|
+
return /* @__PURE__ */ jsx43(
|
|
2128
2158
|
SheetPrimitive.Description,
|
|
2129
2159
|
{
|
|
2130
2160
|
"data-slot": "sheet-description",
|
|
@@ -2147,10 +2177,10 @@ function useToast() {
|
|
|
2147
2177
|
// src/hover-card.tsx
|
|
2148
2178
|
import * as React9 from "react";
|
|
2149
2179
|
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
2150
|
-
import { jsx as
|
|
2180
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
2151
2181
|
var HoverCard = HoverCardPrimitive.Root;
|
|
2152
2182
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
2153
|
-
var HoverCardContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
2183
|
+
var HoverCardContent = React9.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx44(
|
|
2154
2184
|
HoverCardPrimitive.Content,
|
|
2155
2185
|
{
|
|
2156
2186
|
ref,
|
|
@@ -2174,7 +2204,7 @@ var CollapsibleContent2 = CollapsiblePrimitive2.CollapsibleContent;
|
|
|
2174
2204
|
// src/button-group.tsx
|
|
2175
2205
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
2176
2206
|
import { cva as cva4 } from "class-variance-authority";
|
|
2177
|
-
import { jsx as
|
|
2207
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
2178
2208
|
var buttonGroupVariants = cva4(
|
|
2179
2209
|
"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
2210
|
{
|
|
@@ -2192,7 +2222,7 @@ function ButtonGroup({
|
|
|
2192
2222
|
orientation,
|
|
2193
2223
|
...props
|
|
2194
2224
|
}) {
|
|
2195
|
-
return /* @__PURE__ */
|
|
2225
|
+
return /* @__PURE__ */ jsx45(
|
|
2196
2226
|
"div",
|
|
2197
2227
|
{
|
|
2198
2228
|
role: "group",
|
|
@@ -2209,7 +2239,7 @@ function ButtonGroupText({
|
|
|
2209
2239
|
...props
|
|
2210
2240
|
}) {
|
|
2211
2241
|
const Comp = asChild ? Slot3 : "div";
|
|
2212
|
-
return /* @__PURE__ */
|
|
2242
|
+
return /* @__PURE__ */ jsx45(
|
|
2213
2243
|
Comp,
|
|
2214
2244
|
{
|
|
2215
2245
|
className: cn(
|
|
@@ -2225,7 +2255,7 @@ function ButtonGroupSeparator({
|
|
|
2225
2255
|
orientation = "vertical",
|
|
2226
2256
|
...props
|
|
2227
2257
|
}) {
|
|
2228
|
-
return /* @__PURE__ */
|
|
2258
|
+
return /* @__PURE__ */ jsx45(
|
|
2229
2259
|
Separator,
|
|
2230
2260
|
{
|
|
2231
2261
|
"data-slot": "button-group-separator",
|
|
@@ -2238,9 +2268,9 @@ function ButtonGroupSeparator({
|
|
|
2238
2268
|
|
|
2239
2269
|
// src/input-group.tsx
|
|
2240
2270
|
import { cva as cva5 } from "class-variance-authority";
|
|
2241
|
-
import { jsx as
|
|
2271
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
2242
2272
|
function InputGroup({ className, ...props }) {
|
|
2243
|
-
return /* @__PURE__ */
|
|
2273
|
+
return /* @__PURE__ */ jsx46(
|
|
2244
2274
|
"div",
|
|
2245
2275
|
{
|
|
2246
2276
|
"data-slot": "input-group",
|
|
@@ -2278,7 +2308,7 @@ function InputGroupAddon({
|
|
|
2278
2308
|
align = "inline-start",
|
|
2279
2309
|
...props
|
|
2280
2310
|
}) {
|
|
2281
|
-
return /* @__PURE__ */
|
|
2311
|
+
return /* @__PURE__ */ jsx46(
|
|
2282
2312
|
"div",
|
|
2283
2313
|
{
|
|
2284
2314
|
role: "group",
|
|
@@ -2311,10 +2341,10 @@ function InputGroupButton({
|
|
|
2311
2341
|
size = "xs",
|
|
2312
2342
|
...props
|
|
2313
2343
|
}) {
|
|
2314
|
-
return /* @__PURE__ */
|
|
2344
|
+
return /* @__PURE__ */ jsx46(Button, { type, "data-size": size, variant, className: cn(inputGroupButtonVariants({ size }), className), ...props });
|
|
2315
2345
|
}
|
|
2316
2346
|
function InputGroupText({ className, ...props }) {
|
|
2317
|
-
return /* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ jsx46(
|
|
2318
2348
|
"span",
|
|
2319
2349
|
{
|
|
2320
2350
|
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 +2353,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
2323
2353
|
);
|
|
2324
2354
|
}
|
|
2325
2355
|
function InputGroupInput({ className, ...props }) {
|
|
2326
|
-
return /* @__PURE__ */
|
|
2356
|
+
return /* @__PURE__ */ jsx46(
|
|
2327
2357
|
Input,
|
|
2328
2358
|
{
|
|
2329
2359
|
"data-slot": "input-group-control",
|
|
@@ -2333,7 +2363,7 @@ function InputGroupInput({ className, ...props }) {
|
|
|
2333
2363
|
);
|
|
2334
2364
|
}
|
|
2335
2365
|
function InputGroupTextarea({ className, ...props }) {
|
|
2336
|
-
return /* @__PURE__ */
|
|
2366
|
+
return /* @__PURE__ */ jsx46(
|
|
2337
2367
|
Textarea,
|
|
2338
2368
|
{
|
|
2339
2369
|
"data-slot": "input-group-control",
|
|
@@ -2344,15 +2374,15 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
2344
2374
|
}
|
|
2345
2375
|
|
|
2346
2376
|
// src/choice-group.tsx
|
|
2347
|
-
import { jsx as
|
|
2377
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
2348
2378
|
function ChoiceGroup({ className, ...props }) {
|
|
2349
|
-
return /* @__PURE__ */
|
|
2379
|
+
return /* @__PURE__ */ jsx47("fieldset", { "data-slot": "choice-group", className: cn("grid gap-2", className), ...props });
|
|
2350
2380
|
}
|
|
2351
2381
|
function ChoiceGroupLegend({ className, ...props }) {
|
|
2352
|
-
return /* @__PURE__ */
|
|
2382
|
+
return /* @__PURE__ */ jsx47("legend", { "data-slot": "choice-group-legend", className: cn("mb-2 text-sm font-medium leading-5 text-foreground", className), ...props });
|
|
2353
2383
|
}
|
|
2354
2384
|
function ChoiceItem({ className, ...props }) {
|
|
2355
|
-
return /* @__PURE__ */
|
|
2385
|
+
return /* @__PURE__ */ jsx47(
|
|
2356
2386
|
"label",
|
|
2357
2387
|
{
|
|
2358
2388
|
"data-slot": "choice-item",
|
|
@@ -2367,13 +2397,13 @@ function ChoiceItem({ className, ...props }) {
|
|
|
2367
2397
|
);
|
|
2368
2398
|
}
|
|
2369
2399
|
function ChoiceItemBody({ className, ...props }) {
|
|
2370
|
-
return /* @__PURE__ */
|
|
2400
|
+
return /* @__PURE__ */ jsx47("span", { "data-slot": "choice-item-body", className: cn("flex flex-col gap-1", className), ...props });
|
|
2371
2401
|
}
|
|
2372
2402
|
function ChoiceItemTitle({ className, ...props }) {
|
|
2373
|
-
return /* @__PURE__ */
|
|
2403
|
+
return /* @__PURE__ */ jsx47("span", { "data-slot": "choice-item-title", className: cn("leading-5", className), ...props });
|
|
2374
2404
|
}
|
|
2375
2405
|
function ChoiceItemDescription({ className, ...props }) {
|
|
2376
|
-
return /* @__PURE__ */
|
|
2406
|
+
return /* @__PURE__ */ jsx47("small", { "data-slot": "choice-item-description", className: cn("text-sm leading-5 text-muted-foreground", className), ...props });
|
|
2377
2407
|
}
|
|
2378
2408
|
|
|
2379
2409
|
// src/perspective-theme.ts
|
|
@@ -2543,6 +2573,7 @@ export {
|
|
|
2543
2573
|
ListRowMeta,
|
|
2544
2574
|
ListRowTitle,
|
|
2545
2575
|
LoadingState,
|
|
2576
|
+
Meter,
|
|
2546
2577
|
Notice,
|
|
2547
2578
|
Pane,
|
|
2548
2579
|
PaneBody,
|
package/dist/styles.css
CHANGED
|
@@ -170,6 +170,9 @@
|
|
|
170
170
|
.grid {
|
|
171
171
|
display: grid;
|
|
172
172
|
}
|
|
173
|
+
.inline {
|
|
174
|
+
display: inline;
|
|
175
|
+
}
|
|
173
176
|
.inline-block {
|
|
174
177
|
display: inline-block;
|
|
175
178
|
}
|
|
@@ -219,6 +222,9 @@
|
|
|
219
222
|
.h-1 {
|
|
220
223
|
height: var(--spacing);
|
|
221
224
|
}
|
|
225
|
+
.h-2 {
|
|
226
|
+
height: calc(var(--spacing) * 2);
|
|
227
|
+
}
|
|
222
228
|
.h-2\.5 {
|
|
223
229
|
height: calc(var(--spacing) * 2.5);
|
|
224
230
|
}
|
|
@@ -2423,6 +2429,64 @@
|
|
|
2423
2429
|
height: calc(var(--spacing) * 4);
|
|
2424
2430
|
}
|
|
2425
2431
|
}
|
|
2432
|
+
.\[\&\:\:-moz-progress-bar\]\:rounded-full {
|
|
2433
|
+
&::-moz-progress-bar {
|
|
2434
|
+
border-radius: calc(infinity * 1px);
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
.\[\&\:\:-moz-progress-bar\]\:bg-\[color\:var\(--boring-warning\,var\(--accent-foreground\)\)\] {
|
|
2438
|
+
&::-moz-progress-bar {
|
|
2439
|
+
background-color: var(--boring-warning,var(--accent-foreground));
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
.\[\&\:\:-moz-progress-bar\]\:bg-destructive {
|
|
2443
|
+
&::-moz-progress-bar {
|
|
2444
|
+
background-color: var(--boring-destructive);
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
.\[\&\:\:-moz-progress-bar\]\:bg-primary {
|
|
2448
|
+
&::-moz-progress-bar {
|
|
2449
|
+
background-color: var(--boring-primary);
|
|
2450
|
+
}
|
|
2451
|
+
}
|
|
2452
|
+
.\[\&\:\:-webkit-progress-bar\]\:bg-muted {
|
|
2453
|
+
&::-webkit-progress-bar {
|
|
2454
|
+
background-color: var(--boring-muted);
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
.\[\&\:\:-webkit-progress-value\]\:rounded-full {
|
|
2458
|
+
&::-webkit-progress-value {
|
|
2459
|
+
border-radius: calc(infinity * 1px);
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
.\[\&\:\:-webkit-progress-value\]\:bg-\[color\:var\(--boring-warning\,var\(--accent-foreground\)\)\] {
|
|
2463
|
+
&::-webkit-progress-value {
|
|
2464
|
+
background-color: var(--boring-warning,var(--accent-foreground));
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
.\[\&\:\:-webkit-progress-value\]\:bg-destructive {
|
|
2468
|
+
&::-webkit-progress-value {
|
|
2469
|
+
background-color: var(--boring-destructive);
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
.\[\&\:\:-webkit-progress-value\]\:bg-primary {
|
|
2473
|
+
&::-webkit-progress-value {
|
|
2474
|
+
background-color: var(--boring-primary);
|
|
2475
|
+
}
|
|
2476
|
+
}
|
|
2477
|
+
.\[\&\:\:-webkit-progress-value\]\:transition-all {
|
|
2478
|
+
&::-webkit-progress-value {
|
|
2479
|
+
transition-property: all;
|
|
2480
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
2481
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
2482
|
+
}
|
|
2483
|
+
}
|
|
2484
|
+
.\[\&\:\:-webkit-progress-value\]\:duration-300 {
|
|
2485
|
+
&::-webkit-progress-value {
|
|
2486
|
+
--tw-duration: 300ms;
|
|
2487
|
+
transition-duration: 300ms;
|
|
2488
|
+
}
|
|
2489
|
+
}
|
|
2426
2490
|
.\[\&\:\:-webkit-scrollbar\]\:hidden {
|
|
2427
2491
|
&::-webkit-scrollbar {
|
|
2428
2492
|
display: none;
|