@revealui/presentation 0.3.0 → 0.3.3
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 +14 -0
- package/dist/Text-mMOCv1lF.js +204 -0
- package/dist/Text-mMOCv1lF.js.map +1 -0
- package/dist/client.d.ts +3 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +92 -266
- package/dist/client.js.map +1 -1
- package/dist/components/BuiltWithRevealUI.d.ts +6 -3
- package/dist/components/BuiltWithRevealUI.d.ts.map +1 -1
- package/dist/components/Button.d.ts +6 -3
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/alert.d.ts.map +1 -1
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/button-headless.d.ts.map +1 -1
- package/dist/components/callout.d.ts.map +1 -1
- package/dist/components/checkbox-headless.d.ts.map +1 -1
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/empty-state.d.ts.map +1 -1
- package/dist/components/fieldset.d.ts.map +1 -1
- package/dist/components/form-field.d.ts +23 -0
- package/dist/components/form-field.d.ts.map +1 -0
- package/dist/components/icon.d.ts +53 -0
- package/dist/components/icon.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input-headless.d.ts.map +1 -1
- package/dist/components/kbd.d.ts.map +1 -1
- package/dist/components/listbox.d.ts.map +1 -1
- package/dist/components/navbar.d.ts.map +1 -1
- package/dist/components/radio.d.ts.map +1 -1
- package/dist/components/select-headless.d.ts.map +1 -1
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/skeleton.d.ts.map +1 -1
- package/dist/components/stat.d.ts.map +1 -1
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/textarea-headless.d.ts.map +1 -1
- package/dist/components/timeline.d.ts.map +1 -1
- package/dist/components/toast.d.ts.map +1 -1
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-theme.d.ts +26 -0
- package/dist/hooks/use-theme.d.ts.map +1 -0
- package/dist/index.js +65 -224
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +402 -32
- package/dist/server.js.map +1 -1
- package/dist/skeleton-CHPpiyJj.js +472 -0
- package/dist/skeleton-CHPpiyJj.js.map +1 -0
- package/dist/tokens.css +265 -0
- package/dist/use-theme-QxeZadnD.js +4024 -0
- package/dist/use-theme-QxeZadnD.js.map +1 -0
- package/dist/utils/cn.d.ts +21 -4
- package/dist/utils/cn.d.ts.map +1 -1
- package/package.json +13 -15
- package/dist/Box-DC3F8eRf.js +0 -430
- package/dist/Box-DC3F8eRf.js.map +0 -1
- package/dist/Text-jQVi12Hi.js +0 -218
- package/dist/Text-jQVi12Hi.js.map +0 -1
- package/dist/tooltip-DQYjYWbe.js +0 -5085
- package/dist/tooltip-DQYjYWbe.js.map +0 -1
package/README.md
CHANGED
|
@@ -159,6 +159,20 @@ pnpm dev
|
|
|
159
159
|
3. Use CVA for variant-based styling
|
|
160
160
|
4. Follow WCAG 2.1 accessibility patterns
|
|
161
161
|
|
|
162
|
+
## When to Use This
|
|
163
|
+
|
|
164
|
+
- You need accessible, styled UI components (buttons, forms, cards, dialogs) for a RevealUI app
|
|
165
|
+
- You want headless + styled variants so you can choose between full control and quick defaults
|
|
166
|
+
- You need React hooks for common UI patterns (focus trap, click outside, popover positioning)
|
|
167
|
+
- **Not** for CMS admin UI — `@revealui/core/admin` provides the admin dashboard
|
|
168
|
+
- **Not** for rich text editing — use `@revealui/core/richtext/client` (Lexical-based)
|
|
169
|
+
|
|
170
|
+
## JOSHUA Alignment
|
|
171
|
+
|
|
172
|
+
- **Sovereign**: Zero external UI library dependencies — only clsx and CVA, so you own every component
|
|
173
|
+
- **Orthogonal**: Components, primitives, and hooks are independent subpath exports with no cross-cutting entanglement
|
|
174
|
+
- **Justifiable**: Every component ships headless and styled variants because different contexts need different levels of control
|
|
175
|
+
|
|
162
176
|
## Related
|
|
163
177
|
|
|
164
178
|
- [Core Package](../core/README.md) — CMS engine (uses presentation components)
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { v as cn } from "./skeleton-CHPpiyJj.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/auth-layout.tsx
|
|
4
|
+
function AuthLayout({ children, header, footer }) {
|
|
5
|
+
return /* @__PURE__ */ jsx("main", {
|
|
6
|
+
className: "flex min-h-dvh flex-col p-2",
|
|
7
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
8
|
+
className: "flex grow flex-col items-center justify-center gap-6 p-6 lg:rounded-lg lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-zinc-950/5 dark:lg:bg-zinc-900 dark:lg:ring-white/10",
|
|
9
|
+
children: [
|
|
10
|
+
header,
|
|
11
|
+
children,
|
|
12
|
+
footer
|
|
13
|
+
]
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/Card.tsx
|
|
19
|
+
function Card({ className, ref, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx("div", {
|
|
21
|
+
className: cn("rounded-lg border bg-card text-card-foreground shadow-sm hover:shadow-md", className),
|
|
22
|
+
style: {
|
|
23
|
+
borderRadius: "var(--rvui-radius-lg, 16px)",
|
|
24
|
+
transition: "box-shadow var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1))"
|
|
25
|
+
},
|
|
26
|
+
ref,
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function CardHeader({ className, ref, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ jsx("div", {
|
|
32
|
+
className: cn("flex flex-col space-y-1.5 p-6", className),
|
|
33
|
+
ref,
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function CardTitle({ className, ref, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
39
|
+
className: cn("text-2xl font-semibold leading-none tracking-tight", className),
|
|
40
|
+
ref,
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function CardDescription({ className, ref, ...props }) {
|
|
45
|
+
return /* @__PURE__ */ jsx("p", {
|
|
46
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
47
|
+
ref,
|
|
48
|
+
...props
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function CardContent({ className, ref, ...props }) {
|
|
52
|
+
return /* @__PURE__ */ jsx("div", {
|
|
53
|
+
className: cn("p-6 pt-0", className),
|
|
54
|
+
ref,
|
|
55
|
+
...props
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function CardFooter({ className, ref, ...props }) {
|
|
59
|
+
return /* @__PURE__ */ jsx("div", {
|
|
60
|
+
className: cn("flex items-center p-6 pt-0", className),
|
|
61
|
+
ref,
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/components/Label.tsx
|
|
67
|
+
function Label({ className, ref, ...props }) {
|
|
68
|
+
return /* @__PURE__ */ jsx("label", {
|
|
69
|
+
ref,
|
|
70
|
+
className: cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className),
|
|
71
|
+
...props
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
Label.displayName = "Label";
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/components/FormLabel.tsx
|
|
77
|
+
function FormLabel({ required, className, children, ref, ...props }) {
|
|
78
|
+
return /* @__PURE__ */ jsxs(Label, {
|
|
79
|
+
ref,
|
|
80
|
+
className: cn(className),
|
|
81
|
+
...props,
|
|
82
|
+
children: [children, required && /* @__PURE__ */ jsx("span", {
|
|
83
|
+
className: "text-destructive ml-1",
|
|
84
|
+
children: "*"
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
FormLabel.displayName = "FormLabel";
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/components/form-field.tsx
|
|
91
|
+
function FormField({ id, label, error, description, required, className, children }) {
|
|
92
|
+
const descriptionId = description ? `${id}-description` : void 0;
|
|
93
|
+
const errorId = error ? `${id}-error` : void 0;
|
|
94
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
95
|
+
className: cn("space-y-1.5", className),
|
|
96
|
+
children: [
|
|
97
|
+
/* @__PURE__ */ jsx(FormLabel, {
|
|
98
|
+
htmlFor: id,
|
|
99
|
+
required,
|
|
100
|
+
children: label
|
|
101
|
+
}),
|
|
102
|
+
children,
|
|
103
|
+
description && !error && /* @__PURE__ */ jsx("p", {
|
|
104
|
+
id: descriptionId,
|
|
105
|
+
className: "text-xs text-zinc-500 dark:text-zinc-400",
|
|
106
|
+
children: description
|
|
107
|
+
}),
|
|
108
|
+
error && /* @__PURE__ */ jsx("p", {
|
|
109
|
+
id: errorId,
|
|
110
|
+
role: "alert",
|
|
111
|
+
className: "text-xs text-red-600 dark:text-red-400",
|
|
112
|
+
children: error
|
|
113
|
+
})
|
|
114
|
+
]
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
FormField.displayName = "FormField";
|
|
118
|
+
//#endregion
|
|
119
|
+
//#region src/components/Input.tsx
|
|
120
|
+
function Input({ type, className, ref, ...props }) {
|
|
121
|
+
return /* @__PURE__ */ jsx("input", {
|
|
122
|
+
className: cn("flex h-10 w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
123
|
+
style: {
|
|
124
|
+
borderRadius: "var(--rvui-radius-md, 10px)",
|
|
125
|
+
transition: "border-color var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1)), box-shadow var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1))"
|
|
126
|
+
},
|
|
127
|
+
ref,
|
|
128
|
+
type,
|
|
129
|
+
...props
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/components/Textarea.tsx
|
|
134
|
+
function Textarea({ className, ref, ...props }) {
|
|
135
|
+
return /* @__PURE__ */ jsx("textarea", {
|
|
136
|
+
className: cn("flex min-h-[80px] w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
137
|
+
ref,
|
|
138
|
+
...props
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region src/primitives/Flex.tsx
|
|
143
|
+
/**
|
|
144
|
+
* Flex primitive - Flexbox container component
|
|
145
|
+
*/
|
|
146
|
+
function Flex({ direction = "row", align, justify, wrap, gap, className, style, ref, ...props }) {
|
|
147
|
+
return /* @__PURE__ */ jsx("div", {
|
|
148
|
+
ref,
|
|
149
|
+
className: cn("flex", direction && `flex-${direction}`, align && `items-${align === "start" ? "start" : align === "end" ? "end" : align}`, justify && `justify-${justify === "start" ? "start" : justify === "end" ? "end" : justify === "between" ? "between" : justify === "around" ? "around" : justify === "evenly" ? "evenly" : "center"}`, wrap === true && "flex-wrap", wrap === "wrap" && "flex-wrap", wrap === "nowrap" && "flex-nowrap", wrap === "wrap-reverse" && "flex-wrap-reverse", className),
|
|
150
|
+
style: {
|
|
151
|
+
...style,
|
|
152
|
+
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
153
|
+
},
|
|
154
|
+
...props
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/primitives/Grid.tsx
|
|
159
|
+
/**
|
|
160
|
+
* Grid primitive - CSS Grid container component
|
|
161
|
+
*/
|
|
162
|
+
function Grid({ cols, rows, gap, className, style, ref, ...props }) {
|
|
163
|
+
const gridStyle = {
|
|
164
|
+
...style,
|
|
165
|
+
...cols && { gridTemplateColumns: typeof cols === "number" ? `repeat(${cols}, 1fr)` : cols },
|
|
166
|
+
...rows && { gridTemplateRows: typeof rows === "number" ? `repeat(${rows}, 1fr)` : rows },
|
|
167
|
+
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
168
|
+
};
|
|
169
|
+
return /* @__PURE__ */ jsx("div", {
|
|
170
|
+
ref,
|
|
171
|
+
className: cn("grid", className),
|
|
172
|
+
style: gridStyle,
|
|
173
|
+
...props
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
//#region src/primitives/Heading.tsx
|
|
178
|
+
/**
|
|
179
|
+
* Heading primitive - Heading component
|
|
180
|
+
*/
|
|
181
|
+
function Heading({ as, size = "base", className, children, ref, ...props }) {
|
|
182
|
+
return /* @__PURE__ */ jsx(as || "h2", {
|
|
183
|
+
ref,
|
|
184
|
+
className: cn(size === "sm" && "text-sm", size === "base" && "text-base", size === "lg" && "text-lg", size === "xl" && "text-xl", size === "2xl" && "text-2xl", size === "3xl" && "text-3xl", size === "4xl" && "text-4xl", "font-semibold", className),
|
|
185
|
+
...props,
|
|
186
|
+
children
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region src/primitives/Text.tsx
|
|
191
|
+
/**
|
|
192
|
+
* Text primitive - Typography component
|
|
193
|
+
*/
|
|
194
|
+
function Text({ as: Component = "p", size = "base", weight = "normal", color = "default", className, ref, ...props }) {
|
|
195
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
196
|
+
ref,
|
|
197
|
+
className: cn(size === "xs" && "text-xs", size === "sm" && "text-sm", size === "base" && "text-base", size === "lg" && "text-lg", size === "xl" && "text-xl", size === "2xl" && "text-2xl", weight === "normal" && "font-normal", weight === "medium" && "font-medium", weight === "semibold" && "font-semibold", weight === "bold" && "font-bold", color === "muted" && "text-muted-foreground", color === "primary" && "text-primary", color === "secondary" && "text-secondary-foreground", color === "destructive" && "text-destructive", className),
|
|
198
|
+
...props
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
//#endregion
|
|
202
|
+
export { Textarea as a, FormLabel as c, CardContent as d, CardDescription as f, AuthLayout as g, CardTitle as h, Flex as i, Label as l, CardHeader as m, Heading as n, Input as o, CardFooter as p, Grid as r, FormField as s, Text as t, Card as u };
|
|
203
|
+
|
|
204
|
+
//# sourceMappingURL=Text-mMOCv1lF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text-mMOCv1lF.js","names":[],"sources":["../src/components/auth-layout.tsx","../src/components/Card.tsx","../src/components/Label.tsx","../src/components/FormLabel.tsx","../src/components/form-field.tsx","../src/components/Input.tsx","../src/components/Textarea.tsx","../src/primitives/Flex.tsx","../src/primitives/Grid.tsx","../src/primitives/Heading.tsx","../src/primitives/Text.tsx"],"sourcesContent":["import type React from 'react';\n\nexport interface AuthLayoutProps {\n children: React.ReactNode;\n /** Optional branding slot rendered above the auth form */\n header?: React.ReactNode;\n /** Optional branding slot rendered below the auth form */\n footer?: React.ReactNode;\n}\n\nexport function AuthLayout({ children, header, footer }: AuthLayoutProps) {\n return (\n <main className=\"flex min-h-dvh flex-col p-2\">\n <div className=\"flex grow flex-col items-center justify-center gap-6 p-6 lg:rounded-lg lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-zinc-950/5 dark:lg:bg-zinc-900 dark:lg:ring-white/10\">\n {header}\n {children}\n {footer}\n </div>\n </main>\n );\n}\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nfunction Card({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return (\n <div\n className={cn(\n 'rounded-lg border bg-card text-card-foreground shadow-sm hover:shadow-md',\n className,\n )}\n style={{\n borderRadius: 'var(--rvui-radius-lg, 16px)',\n transition:\n 'box-shadow var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1))',\n }}\n ref={ref}\n {...props}\n />\n );\n}\n\nfunction CardHeader({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('flex flex-col space-y-1.5 p-6', className)} ref={ref} {...props} />;\n}\n\nfunction CardTitle({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLHeadingElement> & { ref?: React.Ref<HTMLParagraphElement> }) {\n return (\n <h3\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n ref={ref}\n {...props}\n />\n );\n}\n\nfunction CardDescription({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement> & { ref?: React.Ref<HTMLParagraphElement> }) {\n return <p className={cn('text-sm text-muted-foreground', className)} ref={ref} {...props} />;\n}\n\nfunction CardContent({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('p-6 pt-0', className)} ref={ref} {...props} />;\n}\n\nfunction CardFooter({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('flex items-center p-6 pt-0', className)} ref={ref} {...props} />;\n}\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type LabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & {\n ref?: React.Ref<HTMLLabelElement>;\n};\n\nfunction Label({ className, ref, ...props }: LabelProps) {\n return (\n // biome-ignore lint/a11y/noLabelWithoutControl: label associations are provided by consumers.\n <label\n ref={ref}\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className,\n )}\n {...props}\n />\n );\n}\n\nLabel.displayName = 'Label';\n\nexport { Label };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\nimport { Label, type LabelProps } from './Label.js';\n\nexport interface FormLabelProps extends LabelProps {\n required?: boolean;\n ref?: React.Ref<HTMLLabelElement>;\n}\n\nfunction FormLabel({ required, className, children, ref, ...props }: FormLabelProps) {\n return (\n <Label ref={ref} className={cn(className)} {...props}>\n {children}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </Label>\n );\n}\n\nFormLabel.displayName = 'FormLabel';\n\nexport { FormLabel };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\nimport { FormLabel } from './FormLabel.js';\n\nexport interface FormFieldProps {\n /** Unique ID linking label to input — must match the input's `id` prop */\n id: string;\n /** Label text */\n label: string;\n /** Error message — when set, field shows error styling */\n error?: string;\n /** Helper text shown below the input */\n description?: string;\n /** Show required asterisk on label */\n required?: boolean;\n /** Additional class on wrapper */\n className?: string;\n /** The input/select/textarea element */\n children: React.ReactNode;\n}\n\nfunction FormField({\n id,\n label,\n error,\n description,\n required,\n className,\n children,\n}: FormFieldProps) {\n const descriptionId = description ? `${id}-description` : undefined;\n const errorId = error ? `${id}-error` : undefined;\n\n return (\n <div className={cn('space-y-1.5', className)}>\n <FormLabel htmlFor={id} required={required}>\n {label}\n </FormLabel>\n {children}\n {description && !error && (\n <p id={descriptionId} className=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {description}\n </p>\n )}\n {error && (\n <p id={errorId} role=\"alert\" className=\"text-xs text-red-600 dark:text-red-400\">\n {error}\n </p>\n )}\n </div>\n );\n}\n\nFormField.displayName = 'FormField';\n\nexport { FormField };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n ref?: React.Ref<HTMLInputElement>;\n};\n\nfunction Input({ type, className, ref, ...props }: InputProps) {\n return (\n <input\n className={cn(\n 'flex h-10 w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n style={{\n borderRadius: 'var(--rvui-radius-md, 10px)',\n transition:\n 'border-color var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1)), box-shadow var(--rvui-duration-normal, 200ms) var(--rvui-ease, cubic-bezier(0.22, 1, 0.36, 1))',\n }}\n ref={ref}\n type={type}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n ref?: React.Ref<HTMLTextAreaElement>;\n};\n\nfunction Textarea({ className, ref, ...props }: TextareaProps) {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface FlexProps extends React.HTMLAttributes<HTMLDivElement> {\n direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';\n align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n wrap?: boolean | 'wrap' | 'nowrap' | 'wrap-reverse';\n gap?: number | string;\n ref?: React.Ref<HTMLDivElement>;\n}\n\n/**\n * Flex primitive - Flexbox container component\n */\nfunction Flex({\n direction = 'row',\n align,\n justify,\n wrap,\n gap,\n className,\n style,\n ref,\n ...props\n}: FlexProps) {\n const flexClasses = cn(\n 'flex',\n direction && `flex-${direction}`,\n align && `items-${align === 'start' ? 'start' : align === 'end' ? 'end' : align}`,\n justify &&\n `justify-${justify === 'start' ? 'start' : justify === 'end' ? 'end' : justify === 'between' ? 'between' : justify === 'around' ? 'around' : justify === 'evenly' ? 'evenly' : 'center'}`,\n wrap === true && 'flex-wrap',\n wrap === 'wrap' && 'flex-wrap',\n wrap === 'nowrap' && 'flex-nowrap',\n wrap === 'wrap-reverse' && 'flex-wrap-reverse',\n className,\n );\n\n const flexStyle = {\n ...style,\n ...(gap && { gap: typeof gap === 'number' ? `${gap}px` : gap }),\n };\n\n return <div ref={ref} className={flexClasses} style={flexStyle} {...props} />;\n}\n\nexport { Flex };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n cols?: number | string;\n rows?: number | string;\n gap?: number | string;\n ref?: React.Ref<HTMLDivElement>;\n}\n\n/**\n * Grid primitive - CSS Grid container component\n */\nfunction Grid({ cols, rows, gap, className, style, ref, ...props }: GridProps) {\n const gridStyle: React.CSSProperties = {\n ...style,\n ...(cols && {\n gridTemplateColumns: typeof cols === 'number' ? `repeat(${cols}, 1fr)` : cols,\n }),\n ...(rows && {\n gridTemplateRows: typeof rows === 'number' ? `repeat(${rows}, 1fr)` : rows,\n }),\n ...(gap && { gap: typeof gap === 'number' ? `${gap}px` : gap }),\n };\n\n return <div ref={ref} className={cn('grid', className)} style={gridStyle} {...props} />;\n}\n\nexport { Grid };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n size?: 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';\n ref?: React.Ref<HTMLHeadingElement>;\n}\n\n/**\n * Heading primitive - Heading component\n */\nfunction Heading({ as, size = 'base', className, children, ref, ...props }: HeadingProps) {\n const Component = as || 'h2';\n\n const headingClasses = cn(\n size === 'sm' && 'text-sm',\n size === 'base' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl',\n size === '2xl' && 'text-2xl',\n size === '3xl' && 'text-3xl',\n size === '4xl' && 'text-4xl',\n 'font-semibold',\n className,\n );\n\n return (\n <Component ref={ref} className={headingClasses} {...props}>\n {children}\n </Component>\n );\n}\n\nexport { Heading };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {\n as?: 'p' | 'span' | 'div';\n size?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl';\n weight?: 'normal' | 'medium' | 'semibold' | 'bold';\n color?: 'default' | 'muted' | 'primary' | 'secondary' | 'destructive';\n ref?: React.Ref<HTMLParagraphElement>;\n}\n\n/**\n * Text primitive - Typography component\n */\nfunction Text({\n as: Component = 'p',\n size = 'base',\n weight = 'normal',\n color = 'default',\n className,\n ref,\n ...props\n}: TextProps) {\n const textClasses = cn(\n size === 'xs' && 'text-xs',\n size === 'sm' && 'text-sm',\n size === 'base' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl',\n size === '2xl' && 'text-2xl',\n weight === 'normal' && 'font-normal',\n weight === 'medium' && 'font-medium',\n weight === 'semibold' && 'font-semibold',\n weight === 'bold' && 'font-bold',\n color === 'muted' && 'text-muted-foreground',\n color === 'primary' && 'text-primary',\n color === 'secondary' && 'text-secondary-foreground',\n color === 'destructive' && 'text-destructive',\n className,\n );\n\n return <Component ref={ref} className={textClasses} {...props} />;\n}\n\nexport { Text };\n"],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { Drawer, DrawerBody, DrawerFooter, DrawerHeader } from './components/dra
|
|
|
22
22
|
export { Dropdown, DropdownButton, DropdownDescription, DropdownDivider, DropdownHeader, DropdownHeading, DropdownItem, DropdownLabel, DropdownMenu, DropdownSection, DropdownShortcut, } from './components/dropdown.js';
|
|
23
23
|
export { EmptyState } from './components/empty-state.js';
|
|
24
24
|
export { Description, ErrorMessage, Field, FieldGroup, Fieldset, Label as FieldsetLabel, Legend, } from './components/fieldset.js';
|
|
25
|
-
export { Heading } from './components/heading.js';
|
|
25
|
+
export { Heading, Subheading } from './components/heading.js';
|
|
26
26
|
export { Input, InputGroup } from './components/input-headless.js';
|
|
27
27
|
export { Kbd, KbdShortcut } from './components/kbd.js';
|
|
28
28
|
export { Link } from './components/link.js';
|
|
@@ -45,9 +45,10 @@ export { Stepper, type StepperStep } from './components/stepper.js';
|
|
|
45
45
|
export { Switch, SwitchField, SwitchGroup } from './components/switch.js';
|
|
46
46
|
export { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './components/table.js';
|
|
47
47
|
export { Tab, TabList, TabPanel, Tabs } from './components/tabs.js';
|
|
48
|
-
export { Text } from './components/text.js';
|
|
48
|
+
export { Code, Strong, Text, TextLink } from './components/text.js';
|
|
49
49
|
export { Textarea } from './components/textarea-headless.js';
|
|
50
50
|
export { Timeline, TimelineItem } from './components/timeline.js';
|
|
51
51
|
export { ToastProvider, useToast } from './components/toast.js';
|
|
52
52
|
export { Tooltip } from './components/tooltip.js';
|
|
53
|
+
export { type ResolvedTheme, type Theme, useTheme } from './hooks/use-theme.js';
|
|
53
54
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EACL,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,GACP,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|