@blibliki/ui 0.9.2

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/README.md ADDED
@@ -0,0 +1,91 @@
1
+ # @blibliki/ui
2
+
3
+ Foundational UI package for Blibliki applications.
4
+
5
+ ## Goals
6
+
7
+ - Provide reusable UI primitives with a consistent API.
8
+ - Enforce UI governance rules (class bloat + palette discipline).
9
+ - Provide an opinionated themeable UI system with simple app integration.
10
+
11
+ ## Included in bootstrap
12
+
13
+ - `cn(...)` utility (`clsx` + `tailwind-merge`)
14
+ - `Button` component (`color`, `variant`, `size`, `asChild`)
15
+ - `UIProvider` + `createTheme(...)` for runtime theme customization
16
+ - Shared UI governance ESLint plugin/config
17
+ - Shared palette tokens (`tokens.css`) and component styles (`styles.css`)
18
+ - CSS palette checker script
19
+
20
+ ## Governance usage in an app
21
+
22
+ ```js
23
+ import { createUIGovernanceConfig } from "@blibliki/ui/eslint";
24
+ import { defineConfig } from "eslint/config";
25
+ import baseConfig from "../../eslint.config.js";
26
+
27
+ export default defineConfig([baseConfig, createUIGovernanceConfig()]);
28
+ ```
29
+
30
+ ## Quick start
31
+
32
+ Import styles once:
33
+
34
+ ```css
35
+ @import "@blibliki/ui/styles.css";
36
+ ```
37
+
38
+ No Tailwind `@source` wiring is required in consuming apps.
39
+
40
+ Render with provider:
41
+
42
+ ```tsx
43
+ import { Button, UIProvider } from "@blibliki/ui";
44
+
45
+ export function Example() {
46
+ return (
47
+ <UIProvider mode="dark">
48
+ <Button color="secondary" variant="contained">
49
+ Save
50
+ </Button>
51
+ </UIProvider>
52
+ );
53
+ }
54
+ ```
55
+
56
+ Dark mode is handled via `mode="light" | "dark"` and corresponding CSS variables.
57
+
58
+ Button API:
59
+
60
+ - `color`: `primary | neutral | secondary | error | warning | info | success`
61
+ - `variant`: `contained | outlined | text`
62
+ - `size`: `md | sm | lg | icon`
63
+
64
+ ## Theme customization
65
+
66
+ ```tsx
67
+ import { UIProvider, createTheme } from "@blibliki/ui";
68
+
69
+ const theme = createTheme({
70
+ light: {
71
+ primary500: "oklch(0.72 0.18 185)",
72
+ primary600: "oklch(0.66 0.19 185)",
73
+ success500: "oklch(0.7 0.18 155)",
74
+ },
75
+ dark: {
76
+ surface0: "oklch(0.09 0.01 260)",
77
+ surface1: "oklch(0.13 0.01 260)",
78
+ },
79
+ radius: {
80
+ md: "10px",
81
+ },
82
+ });
83
+
84
+ export function ThemedApp() {
85
+ return (
86
+ <UIProvider mode="light" theme={theme}>
87
+ {/* app */}
88
+ </UIProvider>
89
+ );
90
+ }
91
+ ```
@@ -0,0 +1,542 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import * as React$1 from "react";
3
+ import { ComponentProps, HTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes } from "react";
4
+ import { ClassValue } from "clsx";
5
+ import * as LabelPrimitive from "@radix-ui/react-label";
6
+ import * as SelectPrimitive from "@radix-ui/react-select";
7
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
8
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
9
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
10
+
11
+ //#region src/components/button.d.ts
12
+ declare const buttonVariants: (props?: ({
13
+ variant?: "contained" | "outlined" | "text" | null | undefined;
14
+ color?: "primary" | "neutral" | "secondary" | "error" | "warning" | "info" | "success" | null | undefined;
15
+ size?: "md" | "sm" | "lg" | "icon" | null | undefined;
16
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
+ type ButtonElement = HTMLButtonElement;
18
+ interface ButtonProps extends Omit<React$1.ButtonHTMLAttributes<ButtonElement>, "color">, VariantProps<typeof buttonVariants> {
19
+ asChild?: boolean;
20
+ }
21
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
22
+ //#endregion
23
+ //#region src/components/card.d.ts
24
+ declare const Card: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
25
+ declare function CardHeader({
26
+ className,
27
+ ...props
28
+ }: ComponentProps<"div">): import("react").JSX.Element;
29
+ declare function CardTitle({
30
+ className,
31
+ ...props
32
+ }: ComponentProps<"div">): import("react").JSX.Element;
33
+ declare function CardDescription({
34
+ className,
35
+ ...props
36
+ }: ComponentProps<"div">): import("react").JSX.Element;
37
+ declare function CardAction({
38
+ className,
39
+ ...props
40
+ }: ComponentProps<"div">): import("react").JSX.Element;
41
+ declare function CardContent({
42
+ className,
43
+ ...props
44
+ }: ComponentProps<"div">): import("react").JSX.Element;
45
+ declare function CardFooter({
46
+ className,
47
+ ...props
48
+ }: ComponentProps<"div">): import("react").JSX.Element;
49
+ //#endregion
50
+ //#region src/components/surface.d.ts
51
+ declare const surfaceVariants: (props?: ({
52
+ tone?: "subtle" | "canvas" | "panel" | "raised" | null | undefined;
53
+ border?: "none" | "subtle" | null | undefined;
54
+ radius?: "md" | "sm" | "lg" | "none" | null | undefined;
55
+ shadow?: "md" | "sm" | "lg" | "none" | "xl" | null | undefined;
56
+ intent?: "neutral" | "error" | "warning" | "info" | "success" | null | undefined;
57
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
58
+ type SurfaceElement = HTMLDivElement;
59
+ interface SurfaceProps extends React$1.HTMLAttributes<SurfaceElement>, VariantProps<typeof surfaceVariants> {
60
+ asChild?: boolean;
61
+ }
62
+ declare const Surface: React$1.ForwardRefExoticComponent<SurfaceProps & React$1.RefAttributes<HTMLDivElement>>;
63
+ //#endregion
64
+ //#region src/components/stack.d.ts
65
+ declare const stackVariants: (props?: ({
66
+ direction?: "row" | "column" | null | undefined;
67
+ align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
68
+ justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
69
+ gap?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | null | undefined;
70
+ wrap?: boolean | null | undefined;
71
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
72
+ type StackElement = HTMLDivElement;
73
+ interface StackProps extends React$1.HTMLAttributes<StackElement>, VariantProps<typeof stackVariants> {
74
+ asChild?: boolean;
75
+ }
76
+ declare const Stack: React$1.ForwardRefExoticComponent<StackProps & React$1.RefAttributes<HTMLDivElement>>;
77
+ //#endregion
78
+ //#region src/components/divider.d.ts
79
+ declare const dividerVariants: (props?: ({
80
+ orientation?: "vertical" | "horizontal" | null | undefined;
81
+ tone?: "subtle" | "strong" | null | undefined;
82
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
83
+ type DividerElement = HTMLDivElement;
84
+ interface DividerProps extends React$1.HTMLAttributes<DividerElement>, VariantProps<typeof dividerVariants> {}
85
+ declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.RefAttributes<HTMLDivElement>>;
86
+ //#endregion
87
+ //#region src/components/icon-button.d.ts
88
+ type IconButtonSize = "xs" | "sm" | "md";
89
+ interface IconButtonProps extends Omit<ButtonProps, "children" | "size" | "asChild"> {
90
+ icon: React$1.ReactNode;
91
+ size?: IconButtonSize;
92
+ "aria-label": string;
93
+ }
94
+ declare const IconButton: React$1.ForwardRefExoticComponent<IconButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
95
+ //#endregion
96
+ //#region src/components/input.d.ts
97
+ declare const inputVariants: (props?: ({
98
+ size?: "md" | "sm" | null | undefined;
99
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
100
+ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {}
101
+ declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
102
+ //#endregion
103
+ //#region src/components/textarea.d.ts
104
+ declare const textareaVariants: (props?: ({
105
+ size?: "md" | "sm" | null | undefined;
106
+ resize?: "none" | "vertical" | "both" | null | undefined;
107
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
108
+ interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size">, VariantProps<typeof textareaVariants> {}
109
+ declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
110
+ //#endregion
111
+ //#region src/components/label.d.ts
112
+ declare function Label({
113
+ className,
114
+ ...props
115
+ }: ComponentProps<typeof LabelPrimitive.Root>): import("react").JSX.Element;
116
+ //#endregion
117
+ //#region src/components/text.d.ts
118
+ declare const textVariants: (props?: ({
119
+ tone?: "primary" | "secondary" | "error" | "warning" | "info" | "success" | "muted" | null | undefined;
120
+ size?: "md" | "sm" | "lg" | "xs" | null | undefined;
121
+ weight?: "regular" | "medium" | "semibold" | null | undefined;
122
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
123
+ type TextElement = HTMLParagraphElement;
124
+ interface TextProps extends HTMLAttributes<TextElement>, VariantProps<typeof textVariants> {
125
+ asChild?: boolean;
126
+ }
127
+ declare const Text: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<HTMLParagraphElement>>;
128
+ //#endregion
129
+ //#region src/components/badge.d.ts
130
+ declare const badgeVariants: (props?: ({
131
+ tone?: "primary" | "neutral" | "secondary" | "error" | "warning" | "info" | "success" | null | undefined;
132
+ variant?: "soft" | "solid" | "outline" | null | undefined;
133
+ size?: "md" | "sm" | null | undefined;
134
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
135
+ type BadgeElement = HTMLSpanElement;
136
+ interface BadgeProps extends HTMLAttributes<BadgeElement>, VariantProps<typeof badgeVariants> {
137
+ asChild?: boolean;
138
+ }
139
+ declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
140
+ //#endregion
141
+ //#region src/components/switch.d.ts
142
+ declare const switchVariants: (props?: ({
143
+ size?: "md" | "sm" | null | undefined;
144
+ color?: "primary" | "secondary" | "error" | "warning" | "info" | "success" | null | undefined;
145
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
146
+ interface SwitchProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "color" | "onChange">, VariantProps<typeof switchVariants> {
147
+ checked?: boolean;
148
+ onCheckedChange?: (checked: boolean) => void;
149
+ }
150
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
151
+ //#endregion
152
+ //#region src/components/select.d.ts
153
+ declare function Select(props: ComponentProps<typeof SelectPrimitive.Root>): import("react").JSX.Element;
154
+ declare function SelectGroup(props: ComponentProps<typeof SelectPrimitive.Group>): import("react").JSX.Element;
155
+ declare function SelectValue({
156
+ className,
157
+ ...props
158
+ }: ComponentProps<typeof SelectPrimitive.Value>): import("react").JSX.Element;
159
+ declare function SelectTrigger({
160
+ className,
161
+ size,
162
+ children,
163
+ ...props
164
+ }: ComponentProps<typeof SelectPrimitive.Trigger> & {
165
+ size?: "sm" | "md";
166
+ }): import("react").JSX.Element;
167
+ declare function SelectContent({
168
+ className,
169
+ children,
170
+ position,
171
+ ...props
172
+ }: ComponentProps<typeof SelectPrimitive.Content>): import("react").JSX.Element;
173
+ declare function SelectLabel({
174
+ className,
175
+ ...props
176
+ }: ComponentProps<typeof SelectPrimitive.Label>): import("react").JSX.Element;
177
+ declare function SelectItem({
178
+ className,
179
+ children,
180
+ ...props
181
+ }: ComponentProps<typeof SelectPrimitive.Item>): import("react").JSX.Element;
182
+ declare function SelectSeparator({
183
+ className,
184
+ ...props
185
+ }: ComponentProps<typeof SelectPrimitive.Separator>): import("react").JSX.Element;
186
+ declare function SelectScrollUpButton({
187
+ className,
188
+ ...props
189
+ }: ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react").JSX.Element;
190
+ declare function SelectScrollDownButton({
191
+ className,
192
+ ...props
193
+ }: ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react").JSX.Element;
194
+ type OptionSelectValue = string | number;
195
+ type OptionSelectValueOption = {
196
+ name: string;
197
+ value: OptionSelectValue;
198
+ };
199
+ type OptionSelectIdOption = {
200
+ id: string;
201
+ name: string;
202
+ };
203
+ type OptionSelectInput = readonly string[] | readonly number[] | readonly OptionSelectValueOption[] | readonly OptionSelectIdOption[];
204
+ interface OptionSelectProps<T extends OptionSelectValue | undefined> {
205
+ value: T;
206
+ options: OptionSelectInput;
207
+ label?: string;
208
+ contentClassName?: string;
209
+ triggerClassName?: string;
210
+ disabled?: boolean;
211
+ onChange: (value: T) => void;
212
+ }
213
+ declare function OptionSelect<T extends OptionSelectValue | undefined>({
214
+ value,
215
+ options,
216
+ label,
217
+ contentClassName,
218
+ triggerClassName,
219
+ disabled,
220
+ onChange
221
+ }: OptionSelectProps<T>): import("react").JSX.Element;
222
+ //#endregion
223
+ //#region src/components/fader.d.ts
224
+ type TOrientation = "vertical" | "horizontal";
225
+ type MarkProps = {
226
+ value: number;
227
+ label: string;
228
+ };
229
+ interface FaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
230
+ name: string;
231
+ onChange: (value: number, calculatedValue: number) => void;
232
+ defaultValue?: number;
233
+ value?: number;
234
+ orientation?: TOrientation;
235
+ marks?: readonly MarkProps[];
236
+ hideMarks?: boolean;
237
+ max?: number;
238
+ min?: number;
239
+ step?: number;
240
+ exp?: number;
241
+ }
242
+ declare function Fader(props: FaderProps): import("react").JSX.Element;
243
+ declare namespace Fader {
244
+ var displayName: string;
245
+ }
246
+ //#endregion
247
+ //#region src/components/encoder.d.ts
248
+ type EncoderSize = "sm" | "md";
249
+ interface EncoderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
250
+ name: string;
251
+ onChange: (value: number) => void;
252
+ defaultValue?: number;
253
+ value?: number;
254
+ max?: number;
255
+ min?: number;
256
+ step?: number;
257
+ exp?: number;
258
+ size?: EncoderSize;
259
+ disabled?: boolean;
260
+ formatValue?: (value: number) => string;
261
+ }
262
+ declare const Encoder: import("react").ForwardRefExoticComponent<EncoderProps & import("react").RefAttributes<HTMLDivElement>>;
263
+ //#endregion
264
+ //#region src/components/dialog.d.ts
265
+ declare function Dialog(props: React$1.ComponentProps<typeof DialogPrimitive.Root>): React$1.JSX.Element;
266
+ declare function DialogTrigger(props: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): React$1.JSX.Element;
267
+ declare function DialogPortal(props: React$1.ComponentProps<typeof DialogPrimitive.Portal>): React$1.JSX.Element;
268
+ declare function DialogClose(props: React$1.ComponentProps<typeof DialogPrimitive.Close>): React$1.JSX.Element;
269
+ declare function DialogOverlay({
270
+ className,
271
+ ...props
272
+ }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): React$1.JSX.Element;
273
+ interface DialogContentProps extends React$1.ComponentProps<typeof DialogPrimitive.Content> {
274
+ hideCloseButton?: boolean;
275
+ }
276
+ declare function DialogContent({
277
+ className,
278
+ children,
279
+ hideCloseButton,
280
+ ...props
281
+ }: DialogContentProps): React$1.JSX.Element;
282
+ declare function DialogHeader({
283
+ className,
284
+ ...props
285
+ }: React$1.ComponentProps<"div">): React$1.JSX.Element;
286
+ declare function DialogFooter({
287
+ className,
288
+ ...props
289
+ }: React$1.ComponentProps<"div">): React$1.JSX.Element;
290
+ declare function DialogTitle({
291
+ className,
292
+ ...props
293
+ }: React$1.ComponentProps<typeof DialogPrimitive.Title>): React$1.JSX.Element;
294
+ declare function DialogDescription({
295
+ className,
296
+ ...props
297
+ }: React$1.ComponentProps<typeof DialogPrimitive.Description>): React$1.JSX.Element;
298
+ //#endregion
299
+ //#region src/components/context-menu.d.ts
300
+ declare function ContextMenu(props: ComponentProps<typeof ContextMenuPrimitive.Root>): import("react").JSX.Element;
301
+ declare function ContextMenuTrigger(props: ComponentProps<typeof ContextMenuPrimitive.Trigger>): import("react").JSX.Element;
302
+ declare function ContextMenuGroup(props: ComponentProps<typeof ContextMenuPrimitive.Group>): import("react").JSX.Element;
303
+ declare function ContextMenuPortal(props: ComponentProps<typeof ContextMenuPrimitive.Portal>): import("react").JSX.Element;
304
+ declare function ContextMenuSub(props: ComponentProps<typeof ContextMenuPrimitive.Sub>): import("react").JSX.Element;
305
+ declare function ContextMenuRadioGroup(props: ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): import("react").JSX.Element;
306
+ declare function ContextMenuSubTrigger({
307
+ className,
308
+ inset,
309
+ children,
310
+ ...props
311
+ }: ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
312
+ inset?: boolean;
313
+ }): import("react").JSX.Element;
314
+ declare function ContextMenuSubContent({
315
+ className,
316
+ ...props
317
+ }: ComponentProps<typeof ContextMenuPrimitive.SubContent>): import("react").JSX.Element;
318
+ declare function ContextMenuContent({
319
+ className,
320
+ ...props
321
+ }: ComponentProps<typeof ContextMenuPrimitive.Content>): import("react").JSX.Element;
322
+ declare function ContextMenuItem({
323
+ className,
324
+ inset,
325
+ variant,
326
+ ...props
327
+ }: ComponentProps<typeof ContextMenuPrimitive.Item> & {
328
+ inset?: boolean;
329
+ variant?: "default" | "destructive";
330
+ }): import("react").JSX.Element;
331
+ declare function ContextMenuCheckboxItem({
332
+ className,
333
+ children,
334
+ checked,
335
+ ...props
336
+ }: ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): import("react").JSX.Element;
337
+ declare function ContextMenuRadioItem({
338
+ className,
339
+ children,
340
+ ...props
341
+ }: ComponentProps<typeof ContextMenuPrimitive.RadioItem>): import("react").JSX.Element;
342
+ declare function ContextMenuLabel({
343
+ className,
344
+ inset,
345
+ ...props
346
+ }: ComponentProps<typeof ContextMenuPrimitive.Label> & {
347
+ inset?: boolean;
348
+ }): import("react").JSX.Element;
349
+ declare function ContextMenuSeparator({
350
+ className,
351
+ ...props
352
+ }: ComponentProps<typeof ContextMenuPrimitive.Separator>): import("react").JSX.Element;
353
+ declare function ContextMenuShortcut({
354
+ className,
355
+ ...props
356
+ }: ComponentProps<"span">): import("react").JSX.Element;
357
+ //#endregion
358
+ //#region src/components/dropdown-menu.d.ts
359
+ declare function DropdownMenu(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): React$1.JSX.Element;
360
+ declare function DropdownMenuPortal(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React$1.JSX.Element;
361
+ declare function DropdownMenuTrigger(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React$1.JSX.Element;
362
+ declare function DropdownMenuContent({
363
+ className,
364
+ sideOffset,
365
+ ...props
366
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): React$1.JSX.Element;
367
+ declare function DropdownMenuGroup(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): React$1.JSX.Element;
368
+ declare function DropdownMenuItem({
369
+ className,
370
+ inset,
371
+ variant,
372
+ ...props
373
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
374
+ inset?: boolean;
375
+ variant?: "default" | "destructive";
376
+ }): React$1.JSX.Element;
377
+ declare function DropdownMenuCheckboxItem({
378
+ className,
379
+ children,
380
+ checked,
381
+ ...props
382
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): React$1.JSX.Element;
383
+ declare function DropdownMenuRadioGroup(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React$1.JSX.Element;
384
+ declare function DropdownMenuRadioItem({
385
+ className,
386
+ children,
387
+ ...props
388
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): React$1.JSX.Element;
389
+ declare function DropdownMenuLabel({
390
+ className,
391
+ inset,
392
+ ...props
393
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
394
+ inset?: boolean;
395
+ }): React$1.JSX.Element;
396
+ declare function DropdownMenuSeparator({
397
+ className,
398
+ ...props
399
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React$1.JSX.Element;
400
+ declare function DropdownMenuShortcut({
401
+ className,
402
+ ...props
403
+ }: React$1.ComponentProps<"span">): React$1.JSX.Element;
404
+ declare function DropdownMenuSub(props: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React$1.JSX.Element;
405
+ declare function DropdownMenuSubTrigger({
406
+ className,
407
+ inset,
408
+ children,
409
+ ...props
410
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
411
+ inset?: boolean;
412
+ }): React$1.JSX.Element;
413
+ declare function DropdownMenuSubContent({
414
+ className,
415
+ ...props
416
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React$1.JSX.Element;
417
+ //#endregion
418
+ //#region src/theme.d.ts
419
+ type UIMode = "light" | "dark";
420
+ interface UIColorTokens {
421
+ surface0: string;
422
+ surfaceRaised: string;
423
+ surfaceRaisedHover: string;
424
+ surface1: string;
425
+ surface2: string;
426
+ borderSubtle: string;
427
+ textPrimary: string;
428
+ textSecondary: string;
429
+ textMuted: string;
430
+ primary500: string;
431
+ primary600: string;
432
+ primaryContrast: string;
433
+ secondary500: string;
434
+ secondary600: string;
435
+ secondaryContrast: string;
436
+ error500: string;
437
+ error600: string;
438
+ errorContrast: string;
439
+ warning500: string;
440
+ warning600: string;
441
+ warningContrast: string;
442
+ info500: string;
443
+ info600: string;
444
+ infoContrast: string;
445
+ success500: string;
446
+ success600: string;
447
+ successContrast: string;
448
+ }
449
+ interface UIRadiusTokens {
450
+ sm: string;
451
+ md: string;
452
+ lg: string;
453
+ }
454
+ interface UITheme {
455
+ light?: Partial<UIColorTokens>;
456
+ dark?: Partial<UIColorTokens>;
457
+ radius?: Partial<UIRadiusTokens>;
458
+ }
459
+ interface UIResolvedTheme {
460
+ light: UIColorTokens;
461
+ dark: UIColorTokens;
462
+ radius: UIRadiusTokens;
463
+ }
464
+ declare const createTheme: (theme?: UITheme) => UIResolvedTheme;
465
+ declare function themeToCssVariables(theme: UIResolvedTheme, mode: UIMode): Record<string, string>;
466
+ //#endregion
467
+ //#region src/UIProvider.d.ts
468
+ interface UIProviderProps {
469
+ children: React$1.ReactNode;
470
+ mode?: UIMode;
471
+ theme?: UITheme;
472
+ className?: string;
473
+ }
474
+ declare function UIProvider({
475
+ children,
476
+ mode,
477
+ theme,
478
+ className
479
+ }: UIProviderProps): React$1.JSX.Element;
480
+ //#endregion
481
+ //#region src/lib/cn.d.ts
482
+ declare function cn(...inputs: ClassValue[]): string;
483
+ //#endregion
484
+ //#region src/semantic.d.ts
485
+ declare const uiVars: {
486
+ readonly surface: {
487
+ readonly canvas: "var(--ui-color-surface-0)";
488
+ readonly panel: "var(--ui-color-surface-1)";
489
+ readonly raised: "var(--ui-color-surface-raised)";
490
+ readonly subtle: "var(--ui-color-surface-2)";
491
+ };
492
+ readonly text: {
493
+ readonly primary: "var(--ui-color-text-primary)";
494
+ readonly secondary: "var(--ui-color-text-secondary)";
495
+ readonly muted: "var(--ui-color-text-muted)";
496
+ };
497
+ readonly border: {
498
+ readonly subtle: "var(--ui-color-border-subtle)";
499
+ };
500
+ };
501
+ declare const toneVars: {
502
+ readonly primary: {
503
+ readonly "500": "var(--ui-color-primary-500)";
504
+ readonly "600": "var(--ui-color-primary-600)";
505
+ readonly contrast: "var(--ui-color-primary-contrast)";
506
+ };
507
+ readonly secondary: {
508
+ readonly "500": "var(--ui-color-secondary-500)";
509
+ readonly "600": "var(--ui-color-secondary-600)";
510
+ readonly contrast: "var(--ui-color-secondary-contrast)";
511
+ };
512
+ readonly success: {
513
+ readonly "500": "var(--ui-color-success-500)";
514
+ readonly "600": "var(--ui-color-success-600)";
515
+ readonly contrast: "var(--ui-color-success-contrast)";
516
+ };
517
+ readonly warning: {
518
+ readonly "500": "var(--ui-color-warning-500)";
519
+ readonly "600": "var(--ui-color-warning-600)";
520
+ readonly contrast: "var(--ui-color-warning-contrast)";
521
+ };
522
+ readonly error: {
523
+ readonly "500": "var(--ui-color-error-500)";
524
+ readonly "600": "var(--ui-color-error-600)";
525
+ readonly contrast: "var(--ui-color-error-contrast)";
526
+ };
527
+ readonly info: {
528
+ readonly "500": "var(--ui-color-info-500)";
529
+ readonly "600": "var(--ui-color-info-600)";
530
+ readonly contrast: "var(--ui-color-info-contrast)";
531
+ };
532
+ };
533
+ type UIIntentTone = keyof typeof toneVars;
534
+ type UIIntentToneLevel = keyof (typeof toneVars)[UIIntentTone];
535
+ declare function uiTone(tone: UIIntentTone, level?: UIIntentToneLevel): string;
536
+ declare function uiColorMix(base: string, mixWith: string, mixWithPercent: number): string;
537
+ //#endregion
538
+ //#region src/index.d.ts
539
+ declare const UI_MAX_TAILWIND_CLASSES = 12;
540
+ //#endregion
541
+ export { Badge, type BadgeProps, Button, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, type DividerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Encoder, type EncoderProps, Fader, type FaderProps, IconButton, type IconButtonProps, Input, type InputProps, Label, type MarkProps, OptionSelect, type OptionSelectProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Stack, type StackProps, Surface, type SurfaceProps, Switch, type SwitchProps, type TOrientation, Text, type TextProps, Textarea, type TextareaProps, type UIColorTokens, type UIIntentTone, type UIIntentToneLevel, type UIMode, UIProvider, type UIProviderProps, type UIRadiusTokens, type UIResolvedTheme, type UITheme, UI_MAX_TAILWIND_CLASSES, badgeVariants, buttonVariants, cn, createTheme, dividerVariants, inputVariants, stackVariants, surfaceVariants, textVariants, textareaVariants, themeToCssVariables, uiColorMix, uiTone, uiVars };
542
+ //# sourceMappingURL=index.d.ts.map