@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 +91 -0
- package/dist/index.d.ts +542 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/eslint/index.js +18 -0
- package/eslint/ui-governance-plugin.js +252 -0
- package/package.json +59 -0
- package/scripts/check-css-palette.mjs +92 -0
- package/src/UIProvider.tsx +38 -0
- package/src/components/badge.tsx +57 -0
- package/src/components/button.tsx +65 -0
- package/src/components/card.tsx +44 -0
- package/src/components/context-menu.tsx +239 -0
- package/src/components/dialog.tsx +127 -0
- package/src/components/divider.tsx +45 -0
- package/src/components/dropdown-menu.tsx +243 -0
- package/src/components/encoder.tsx +323 -0
- package/src/components/fader.tsx +230 -0
- package/src/components/icon-button.tsx +51 -0
- package/src/components/input.tsx +38 -0
- package/src/components/label.tsx +14 -0
- package/src/components/select.tsx +342 -0
- package/src/components/stack.tsx +90 -0
- package/src/components/surface.tsx +88 -0
- package/src/components/switch.tsx +72 -0
- package/src/components/text.tsx +59 -0
- package/src/components/textarea.tsx +43 -0
- package/src/index.ts +120 -0
- package/src/lib/cn.ts +6 -0
- package/src/semantic.ts +72 -0
- package/src/theme.ts +161 -0
- package/styles.css +2041 -0
- package/tokens.css +90 -0
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
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -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
|