@orangecheck/design 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chrome.d.mts +1 -1
- package/dist/chrome.d.ts +1 -1
- package/dist/chrome.js +16 -0
- package/dist/chrome.js.map +1 -1
- package/dist/chrome.mjs +16 -0
- package/dist/chrome.mjs.map +1 -1
- package/dist/components.d.mts +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +830 -178
- package/dist/components.js.map +1 -1
- package/dist/components.mjs +780 -143
- package/dist/components.mjs.map +1 -1
- package/dist/composites.d.mts +142 -1
- package/dist/composites.d.ts +142 -1
- package/dist/composites.js +641 -3
- package/dist/composites.js.map +1 -1
- package/dist/composites.mjs +627 -4
- package/dist/composites.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +538 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +522 -13
- package/dist/index.mjs.map +1 -1
- package/dist/primitives.d.mts +24 -4
- package/dist/primitives.d.ts +24 -4
- package/dist/primitives.js +123 -11
- package/dist/primitives.js.map +1 -1
- package/dist/primitives.mjs +121 -13
- package/dist/primitives.mjs.map +1 -1
- package/dist/styles/fonts/hanken-grotesk-latin-ext.woff2 +0 -0
- package/dist/styles/fonts/hanken-grotesk-latin.woff2 +0 -0
- package/dist/styles/fonts.css +29 -0
- package/dist/styles/theme.css +43 -5
- package/dist/styles/themes/ember.css +223 -0
- package/dist/styles/themes.css +1 -0
- package/dist/styles.css +1 -0
- package/dist/tokens.js +6 -0
- package/dist/tokens.js.map +1 -1
- package/dist/tokens.mjs +6 -0
- package/dist/tokens.mjs.map +1 -1
- package/package.json +1 -1
package/dist/primitives.d.mts
CHANGED
|
@@ -17,7 +17,7 @@ import { ToasterProps } from 'sonner';
|
|
|
17
17
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
18
18
|
|
|
19
19
|
declare const buttonVariants: (props?: ({
|
|
20
|
-
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
20
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | "onBrand" | "onBrandOutline" | null | undefined;
|
|
21
21
|
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
22
22
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
23
23
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
@@ -25,7 +25,7 @@ declare function Button({ className, variant, size, asChild, ...props }: React.C
|
|
|
25
25
|
}): react_jsx_runtime.JSX.Element;
|
|
26
26
|
|
|
27
27
|
declare const badgeVariants: (props?: ({
|
|
28
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "warning" | "success" | "info" | "brand" | null | undefined;
|
|
28
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "warning" | "success" | "info" | "brand" | "neutral" | null | undefined;
|
|
29
29
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
30
30
|
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
31
31
|
asChild?: boolean;
|
|
@@ -216,7 +216,9 @@ declare function Tooltip({ content, children, side, align, sideOffset, collision
|
|
|
216
216
|
|
|
217
217
|
declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
|
218
218
|
declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
219
|
-
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> &
|
|
219
|
+
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
|
|
220
|
+
icon?: "chevron" | "plusMinus";
|
|
221
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
220
222
|
declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
221
223
|
|
|
222
224
|
declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
@@ -234,6 +236,24 @@ declare function SelectScrollDownButton({ className, ...props }: React.Component
|
|
|
234
236
|
|
|
235
237
|
declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
|
|
236
238
|
|
|
239
|
+
declare const surfaceVariants: (props?: ({
|
|
240
|
+
tone?: "default" | "outline" | "onBrand" | "brand" | "muted" | "contrast" | null | undefined;
|
|
241
|
+
elevation?: "none" | "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
242
|
+
bordered?: boolean | null | undefined;
|
|
243
|
+
pad?: "none" | "sm" | "lg" | "md" | null | undefined;
|
|
244
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
245
|
+
interface SurfaceProps extends Omit<React.ComponentProps<'div'>, 'color'>, VariantProps<typeof surfaceVariants> {
|
|
246
|
+
}
|
|
247
|
+
declare function Surface({ className, tone, elevation, bordered, pad, ...props }: SurfaceProps): react_jsx_runtime.JSX.Element;
|
|
248
|
+
|
|
249
|
+
declare const iconBadgeVariants: (props?: ({
|
|
250
|
+
tone?: "dark" | "onBrand" | "brand" | "muted" | "surface" | "peach" | null | undefined;
|
|
251
|
+
size?: "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
252
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
253
|
+
interface IconBadgeProps extends Omit<React.ComponentProps<'span'>, 'color'>, VariantProps<typeof iconBadgeVariants> {
|
|
254
|
+
}
|
|
255
|
+
declare function IconBadge({ className, tone, size, children, ...props }: IconBadgeProps): react_jsx_runtime.JSX.Element;
|
|
256
|
+
|
|
237
257
|
interface CardProps {
|
|
238
258
|
id?: string;
|
|
239
259
|
title: string;
|
|
@@ -346,4 +366,4 @@ interface QrCodeProps {
|
|
|
346
366
|
}
|
|
347
367
|
declare function QrCode({ value, size, label, className }: QrCodeProps): react_jsx_runtime.JSX.Element;
|
|
348
368
|
|
|
349
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, type AlertWithActionProps, AlertWithCountdown, type AlertWithCountdownProps, Badge, Bar, type BarProps, BitcoinAddress, type BitcoinAddressProps, Button, Card, type CardProps, Checkbox, ConfirmHost, type ConfirmOptions, CopyButton, type CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, type ModalProps, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, type PromptOptions, QrCode, type QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, type SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Sparkline, type SparklineProps, StatBlock, type StatBlockProps, StatusPill, type StatusPillProps, type StatusPillSpec, type StatusPillVariant, type StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, type TooltipProps, Working, WorkingPanel, type WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt };
|
|
369
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, type AlertWithActionProps, AlertWithCountdown, type AlertWithCountdownProps, Badge, Bar, type BarProps, BitcoinAddress, type BitcoinAddressProps, Button, Card, type CardProps, Checkbox, ConfirmHost, type ConfirmOptions, CopyButton, type CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, IconBadge, type IconBadgeProps, Input, Label, Modal, type ModalProps, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, type PromptOptions, QrCode, type QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, type SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Sparkline, type SparklineProps, StatBlock, type StatBlockProps, StatusPill, type StatusPillProps, type StatusPillSpec, type StatusPillVariant, type StatusTone, Surface, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, type TooltipProps, Working, WorkingPanel, type WorkingProps, badgeVariants, buttonVariants, confirm, iconBadgeVariants, makeStatusPill, prompt, surfaceVariants };
|
package/dist/primitives.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { ToasterProps } from 'sonner';
|
|
|
17
17
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
18
18
|
|
|
19
19
|
declare const buttonVariants: (props?: ({
|
|
20
|
-
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
20
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | "onBrand" | "onBrandOutline" | null | undefined;
|
|
21
21
|
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
22
22
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
23
23
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
@@ -25,7 +25,7 @@ declare function Button({ className, variant, size, asChild, ...props }: React.C
|
|
|
25
25
|
}): react_jsx_runtime.JSX.Element;
|
|
26
26
|
|
|
27
27
|
declare const badgeVariants: (props?: ({
|
|
28
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "warning" | "success" | "info" | "brand" | null | undefined;
|
|
28
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "warning" | "success" | "info" | "brand" | "neutral" | null | undefined;
|
|
29
29
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
30
30
|
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
31
31
|
asChild?: boolean;
|
|
@@ -216,7 +216,9 @@ declare function Tooltip({ content, children, side, align, sideOffset, collision
|
|
|
216
216
|
|
|
217
217
|
declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
|
218
218
|
declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
219
|
-
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> &
|
|
219
|
+
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
|
|
220
|
+
icon?: "chevron" | "plusMinus";
|
|
221
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
220
222
|
declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
221
223
|
|
|
222
224
|
declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
@@ -234,6 +236,24 @@ declare function SelectScrollDownButton({ className, ...props }: React.Component
|
|
|
234
236
|
|
|
235
237
|
declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
|
|
236
238
|
|
|
239
|
+
declare const surfaceVariants: (props?: ({
|
|
240
|
+
tone?: "default" | "outline" | "onBrand" | "brand" | "muted" | "contrast" | null | undefined;
|
|
241
|
+
elevation?: "none" | "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
242
|
+
bordered?: boolean | null | undefined;
|
|
243
|
+
pad?: "none" | "sm" | "lg" | "md" | null | undefined;
|
|
244
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
245
|
+
interface SurfaceProps extends Omit<React.ComponentProps<'div'>, 'color'>, VariantProps<typeof surfaceVariants> {
|
|
246
|
+
}
|
|
247
|
+
declare function Surface({ className, tone, elevation, bordered, pad, ...props }: SurfaceProps): react_jsx_runtime.JSX.Element;
|
|
248
|
+
|
|
249
|
+
declare const iconBadgeVariants: (props?: ({
|
|
250
|
+
tone?: "dark" | "onBrand" | "brand" | "muted" | "surface" | "peach" | null | undefined;
|
|
251
|
+
size?: "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
252
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
253
|
+
interface IconBadgeProps extends Omit<React.ComponentProps<'span'>, 'color'>, VariantProps<typeof iconBadgeVariants> {
|
|
254
|
+
}
|
|
255
|
+
declare function IconBadge({ className, tone, size, children, ...props }: IconBadgeProps): react_jsx_runtime.JSX.Element;
|
|
256
|
+
|
|
237
257
|
interface CardProps {
|
|
238
258
|
id?: string;
|
|
239
259
|
title: string;
|
|
@@ -346,4 +366,4 @@ interface QrCodeProps {
|
|
|
346
366
|
}
|
|
347
367
|
declare function QrCode({ value, size, label, className }: QrCodeProps): react_jsx_runtime.JSX.Element;
|
|
348
368
|
|
|
349
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, type AlertWithActionProps, AlertWithCountdown, type AlertWithCountdownProps, Badge, Bar, type BarProps, BitcoinAddress, type BitcoinAddressProps, Button, Card, type CardProps, Checkbox, ConfirmHost, type ConfirmOptions, CopyButton, type CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, Input, Label, Modal, type ModalProps, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, type PromptOptions, QrCode, type QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, type SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Sparkline, type SparklineProps, StatBlock, type StatBlockProps, StatusPill, type StatusPillProps, type StatusPillSpec, type StatusPillVariant, type StatusTone, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, type TooltipProps, Working, WorkingPanel, type WorkingProps, badgeVariants, buttonVariants, confirm, makeStatusPill, prompt };
|
|
369
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AlertWithAction, type AlertWithActionProps, AlertWithCountdown, type AlertWithCountdownProps, Badge, Bar, type BarProps, BitcoinAddress, type BitcoinAddressProps, Button, Card, type CardProps, Checkbox, ConfirmHost, type ConfirmOptions, CopyButton, type CopyButtonProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, ErrorBoundary, IconBadge, type IconBadgeProps, Input, Label, Modal, type ModalProps, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptHost, type PromptOptions, QrCode, type QrCodeProps, RadioGroup, RadioGroupItem, SatsAmount, type SatsAmountProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Sparkline, type SparklineProps, StatBlock, type StatBlockProps, StatusPill, type StatusPillProps, type StatusPillSpec, type StatusPillVariant, type StatusTone, Surface, type SurfaceProps, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, ThemeToggleLink, Toaster, Tooltip, type TooltipProps, Working, WorkingPanel, type WorkingProps, badgeVariants, buttonVariants, confirm, iconBadgeVariants, makeStatusPill, prompt, surfaceVariants };
|
package/dist/primitives.js
CHANGED
|
@@ -68,7 +68,14 @@ var buttonVariants = classVarianceAuthority.cva(
|
|
|
68
68
|
outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",
|
|
69
69
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
70
70
|
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
71
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
71
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
72
|
+
// For CTAs placed ON a saturated brand band or a dark section
|
|
73
|
+
// (e.g. a terracotta hero / footer / a forced-dark block) where
|
|
74
|
+
// the surface is dark+light-text in either mode. A neutral white
|
|
75
|
+
// pill + a translucent-white ghost read on any such surface;
|
|
76
|
+
// hardcoded white is deliberate (cf. destructive's text-white).
|
|
77
|
+
onBrand: "bg-white text-neutral-900 shadow-sm hover:bg-white/90",
|
|
78
|
+
onBrandOutline: "border border-white/40 bg-transparent text-white hover:bg-white/10"
|
|
72
79
|
},
|
|
73
80
|
size: {
|
|
74
81
|
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
@@ -111,7 +118,8 @@ var badgeVariants = classVarianceAuthority.cva(
|
|
|
111
118
|
warning: "bg-warning text-warning-foreground [a&]:hover:bg-warning/90 border-transparent",
|
|
112
119
|
success: "bg-success text-success-foreground [a&]:hover:bg-success/90 border-transparent",
|
|
113
120
|
info: "bg-info text-info-foreground [a&]:hover:bg-info/90 border-transparent",
|
|
114
|
-
brand: "bg-brand-soft text-
|
|
121
|
+
brand: "bg-brand-soft text-accent-foreground border-transparent",
|
|
122
|
+
neutral: "bg-foreground text-background [a&]:hover:bg-foreground/90 border-transparent",
|
|
115
123
|
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
116
124
|
}
|
|
117
125
|
},
|
|
@@ -136,7 +144,7 @@ function Input({ className, type, ...props }) {
|
|
|
136
144
|
className: cn(
|
|
137
145
|
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground border-input bg-input/30 hover:bg-input/50 dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow,background-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
138
146
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
139
|
-
"aria-invalid:ring-
|
|
147
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
140
148
|
className
|
|
141
149
|
),
|
|
142
150
|
...props
|
|
@@ -166,7 +174,7 @@ function Checkbox({ className, ...props }) {
|
|
|
166
174
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
167
175
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
168
176
|
"data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground",
|
|
169
|
-
"aria-invalid:ring-
|
|
177
|
+
"aria-invalid:ring-2 aria-invalid:ring-destructive/50 aria-invalid:border-destructive",
|
|
170
178
|
className
|
|
171
179
|
),
|
|
172
180
|
...props,
|
|
@@ -207,7 +215,7 @@ function RadioGroupItem({
|
|
|
207
215
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
208
216
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
209
217
|
"data-[state=checked]:border-primary",
|
|
210
|
-
"aria-invalid:ring-
|
|
218
|
+
"aria-invalid:ring-2 aria-invalid:ring-destructive/50 aria-invalid:border-destructive",
|
|
211
219
|
className
|
|
212
220
|
),
|
|
213
221
|
...props,
|
|
@@ -232,7 +240,7 @@ function Switch({ className, ...props }) {
|
|
|
232
240
|
"data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
233
241
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
234
242
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
235
|
-
"aria-invalid:ring-
|
|
243
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",
|
|
236
244
|
className
|
|
237
245
|
),
|
|
238
246
|
...props,
|
|
@@ -390,7 +398,7 @@ function Textarea({ className, ...props }) {
|
|
|
390
398
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
391
399
|
// aria-invalid parity with Input — error styling when a consumer
|
|
392
400
|
// marks the field invalid.
|
|
393
|
-
"aria-invalid:ring-
|
|
401
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
394
402
|
className
|
|
395
403
|
),
|
|
396
404
|
...props
|
|
@@ -1222,18 +1230,19 @@ function Tooltip({
|
|
|
1222
1230
|
var Accordion = AccordionPrimitive__namespace.Root;
|
|
1223
1231
|
var AccordionItem = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Item, { ref, className: cn("border-b", className), ...props }));
|
|
1224
1232
|
AccordionItem.displayName = "AccordionItem";
|
|
1225
|
-
var AccordionTrigger = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1233
|
+
var AccordionTrigger = React2__namespace.forwardRef(({ className, children, icon = "chevron", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1226
1234
|
AccordionPrimitive__namespace.Trigger,
|
|
1227
1235
|
{
|
|
1228
1236
|
ref,
|
|
1229
1237
|
className: cn(
|
|
1230
|
-
"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline
|
|
1238
|
+
"flex flex-1 items-center justify-between gap-4 py-4 text-left font-medium transition-all hover:underline",
|
|
1239
|
+
icon === "chevron" ? "[&[data-state=open]>svg]:rotate-180" : "[&[data-state=open]>svg]:rotate-45",
|
|
1231
1240
|
className
|
|
1232
1241
|
),
|
|
1233
1242
|
...props,
|
|
1234
1243
|
children: [
|
|
1235
1244
|
children,
|
|
1236
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
|
|
1245
|
+
icon === "chevron" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "text-primary h-5 w-5 shrink-0 transition-transform duration-200" })
|
|
1237
1246
|
]
|
|
1238
1247
|
}
|
|
1239
1248
|
) }));
|
|
@@ -1426,6 +1435,105 @@ var Toaster = ({ ...props }) => {
|
|
|
1426
1435
|
}
|
|
1427
1436
|
);
|
|
1428
1437
|
};
|
|
1438
|
+
var surfaceVariants = classVarianceAuthority.cva("rounded-xl transition-colors", {
|
|
1439
|
+
variants: {
|
|
1440
|
+
tone: {
|
|
1441
|
+
/* Crisp panel floating on the page — the default soft card. */
|
|
1442
|
+
default: "bg-card text-card-foreground",
|
|
1443
|
+
/* Warm-gray recessed panel. */
|
|
1444
|
+
muted: "bg-muted text-foreground",
|
|
1445
|
+
/* Solid brand fill — small terracotta panel; inverts child text. */
|
|
1446
|
+
brand: "bg-brand text-brand-foreground",
|
|
1447
|
+
/* High-contrast neutral panel (near-black in light, near-white in dark). */
|
|
1448
|
+
contrast: "bg-foreground text-background",
|
|
1449
|
+
/* Translucent lightened tile for cards sitting ON a brand band. */
|
|
1450
|
+
onBrand: "text-brand-foreground [background:color-mix(in_oklch,white_16%,var(--brand))] [border-color:color-mix(in_oklch,white_24%,transparent)]",
|
|
1451
|
+
/* Frame only, transparent fill. */
|
|
1452
|
+
outline: "bg-transparent text-foreground"
|
|
1453
|
+
},
|
|
1454
|
+
elevation: {
|
|
1455
|
+
none: "shadow-none",
|
|
1456
|
+
sm: "shadow-sm",
|
|
1457
|
+
md: "shadow-md",
|
|
1458
|
+
lg: "shadow-lg",
|
|
1459
|
+
xl: "shadow-xl"
|
|
1460
|
+
},
|
|
1461
|
+
bordered: {
|
|
1462
|
+
true: "border",
|
|
1463
|
+
false: ""
|
|
1464
|
+
},
|
|
1465
|
+
pad: {
|
|
1466
|
+
none: "p-0",
|
|
1467
|
+
sm: "p-4",
|
|
1468
|
+
md: "p-5 sm:p-6",
|
|
1469
|
+
lg: "p-6 sm:p-8"
|
|
1470
|
+
}
|
|
1471
|
+
},
|
|
1472
|
+
defaultVariants: {
|
|
1473
|
+
tone: "default",
|
|
1474
|
+
elevation: "sm",
|
|
1475
|
+
bordered: true,
|
|
1476
|
+
pad: "md"
|
|
1477
|
+
}
|
|
1478
|
+
});
|
|
1479
|
+
function Surface({
|
|
1480
|
+
className,
|
|
1481
|
+
tone,
|
|
1482
|
+
elevation,
|
|
1483
|
+
bordered,
|
|
1484
|
+
pad,
|
|
1485
|
+
...props
|
|
1486
|
+
}) {
|
|
1487
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1488
|
+
"div",
|
|
1489
|
+
{
|
|
1490
|
+
"data-slot": "surface",
|
|
1491
|
+
className: cn(surfaceVariants({ tone, elevation, bordered, pad }), className),
|
|
1492
|
+
...props
|
|
1493
|
+
}
|
|
1494
|
+
);
|
|
1495
|
+
}
|
|
1496
|
+
var iconBadgeVariants = classVarianceAuthority.cva(
|
|
1497
|
+
"inline-flex shrink-0 items-center justify-center rounded-md font-semibold [&_svg]:pointer-events-none",
|
|
1498
|
+
{
|
|
1499
|
+
variants: {
|
|
1500
|
+
tone: {
|
|
1501
|
+
/* The signature peach tile — soft accent fill, terracotta glyph.
|
|
1502
|
+
Auto-swaps to warm-dark + light-peach in dark mode via tokens. */
|
|
1503
|
+
peach: "bg-accent text-accent-foreground",
|
|
1504
|
+
/* Inverted near-black tile, light glyph ("never do" promises). */
|
|
1505
|
+
dark: "bg-foreground text-background",
|
|
1506
|
+
/* Solid brand tile. */
|
|
1507
|
+
brand: "bg-primary text-primary-foreground",
|
|
1508
|
+
/* White tile on a brand band, terracotta glyph (numbered steps). */
|
|
1509
|
+
onBrand: "bg-brand-foreground text-primary",
|
|
1510
|
+
/* Quiet neutral tile. */
|
|
1511
|
+
muted: "bg-muted text-foreground",
|
|
1512
|
+
/* Crisp white (card-colored) tile with a terracotta glyph and a
|
|
1513
|
+
soft lift — the elevated icon chip on muted/colored cards. */
|
|
1514
|
+
surface: "bg-card text-primary shadow-sm"
|
|
1515
|
+
},
|
|
1516
|
+
size: {
|
|
1517
|
+
sm: "size-9 text-xs [&_svg]:size-4",
|
|
1518
|
+
md: "size-11 text-sm [&_svg]:size-5",
|
|
1519
|
+
lg: "size-12 text-base [&_svg]:size-6",
|
|
1520
|
+
xl: "size-14 text-lg [&_svg]:size-7"
|
|
1521
|
+
}
|
|
1522
|
+
},
|
|
1523
|
+
defaultVariants: { tone: "peach", size: "md" }
|
|
1524
|
+
}
|
|
1525
|
+
);
|
|
1526
|
+
function IconBadge({ className, tone, size, children, ...props }) {
|
|
1527
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1528
|
+
"span",
|
|
1529
|
+
{
|
|
1530
|
+
"data-slot": "icon-badge",
|
|
1531
|
+
className: cn(iconBadgeVariants({ tone, size }), className),
|
|
1532
|
+
...props,
|
|
1533
|
+
children
|
|
1534
|
+
}
|
|
1535
|
+
);
|
|
1536
|
+
}
|
|
1429
1537
|
function Card({
|
|
1430
1538
|
id,
|
|
1431
1539
|
title,
|
|
@@ -1538,7 +1646,7 @@ function Sparkline({ data, width = 96, height = 24, area = false, className }) {
|
|
|
1538
1646
|
function StatBlock({ label, value, sub, delta, tone = "default", className }) {
|
|
1539
1647
|
const toneClass = tone === "success" ? "text-success" : tone === "warning" ? "text-warning" : tone === "destructive" ? "text-destructive" : "text-foreground";
|
|
1540
1648
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-1", className), children: [
|
|
1541
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "label-mono text-[10px]", children: label }),
|
|
1649
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "label-mono text-muted-foreground text-[10px]", children: label }),
|
|
1542
1650
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1543
1651
|
"span",
|
|
1544
1652
|
{
|
|
@@ -1870,6 +1978,7 @@ exports.DialogPortal = DialogPortal;
|
|
|
1870
1978
|
exports.DialogTitle = DialogTitle;
|
|
1871
1979
|
exports.DialogTrigger = DialogTrigger;
|
|
1872
1980
|
exports.ErrorBoundary = ErrorBoundary;
|
|
1981
|
+
exports.IconBadge = IconBadge;
|
|
1873
1982
|
exports.Input = Input;
|
|
1874
1983
|
exports.Label = Label;
|
|
1875
1984
|
exports.Modal = Modal;
|
|
@@ -1908,6 +2017,7 @@ exports.Skeleton = Skeleton;
|
|
|
1908
2017
|
exports.Sparkline = Sparkline;
|
|
1909
2018
|
exports.StatBlock = StatBlock;
|
|
1910
2019
|
exports.StatusPill = StatusPill;
|
|
2020
|
+
exports.Surface = Surface;
|
|
1911
2021
|
exports.Switch = Switch;
|
|
1912
2022
|
exports.Tabs = Tabs;
|
|
1913
2023
|
exports.TabsContent = TabsContent;
|
|
@@ -1923,7 +2033,9 @@ exports.WorkingPanel = WorkingPanel;
|
|
|
1923
2033
|
exports.badgeVariants = badgeVariants;
|
|
1924
2034
|
exports.buttonVariants = buttonVariants;
|
|
1925
2035
|
exports.confirm = confirm;
|
|
2036
|
+
exports.iconBadgeVariants = iconBadgeVariants;
|
|
1926
2037
|
exports.makeStatusPill = makeStatusPill;
|
|
1927
2038
|
exports.prompt = prompt;
|
|
2039
|
+
exports.surfaceVariants = surfaceVariants;
|
|
1928
2040
|
//# sourceMappingURL=primitives.js.map
|
|
1929
2041
|
//# sourceMappingURL=primitives.js.map
|