@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/dist/Text-jQVi12Hi.js
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { j as cn } from "./Box-DC3F8eRf.js";
|
|
3
|
-
function AuthLayout({ children, header, footer }) {
|
|
4
|
-
return /* @__PURE__ */ jsx("main", { className: "flex min-h-dvh flex-col p-2", children: /* @__PURE__ */ jsxs("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", children: [
|
|
5
|
-
header,
|
|
6
|
-
children,
|
|
7
|
-
footer
|
|
8
|
-
] }) });
|
|
9
|
-
}
|
|
10
|
-
function Card({
|
|
11
|
-
className,
|
|
12
|
-
ref,
|
|
13
|
-
...props
|
|
14
|
-
}) {
|
|
15
|
-
return /* @__PURE__ */ jsx(
|
|
16
|
-
"div",
|
|
17
|
-
{
|
|
18
|
-
className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className),
|
|
19
|
-
ref,
|
|
20
|
-
...props
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
function CardHeader({
|
|
25
|
-
className,
|
|
26
|
-
ref,
|
|
27
|
-
...props
|
|
28
|
-
}) {
|
|
29
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col space-y-1.5 p-6", className), ref, ...props });
|
|
30
|
-
}
|
|
31
|
-
function CardTitle({
|
|
32
|
-
className,
|
|
33
|
-
ref,
|
|
34
|
-
...props
|
|
35
|
-
}) {
|
|
36
|
-
return /* @__PURE__ */ jsx(
|
|
37
|
-
"h3",
|
|
38
|
-
{
|
|
39
|
-
className: cn("text-2xl font-semibold leading-none tracking-tight", className),
|
|
40
|
-
ref,
|
|
41
|
-
...props
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
function CardDescription({
|
|
46
|
-
className,
|
|
47
|
-
ref,
|
|
48
|
-
...props
|
|
49
|
-
}) {
|
|
50
|
-
return /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground", className), ref, ...props });
|
|
51
|
-
}
|
|
52
|
-
function CardContent({
|
|
53
|
-
className,
|
|
54
|
-
ref,
|
|
55
|
-
...props
|
|
56
|
-
}) {
|
|
57
|
-
return /* @__PURE__ */ jsx("div", { className: cn("p-6 pt-0", className), ref, ...props });
|
|
58
|
-
}
|
|
59
|
-
function CardFooter({
|
|
60
|
-
className,
|
|
61
|
-
ref,
|
|
62
|
-
...props
|
|
63
|
-
}) {
|
|
64
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center p-6 pt-0", className), ref, ...props });
|
|
65
|
-
}
|
|
66
|
-
function Label({ className, ref, ...props }) {
|
|
67
|
-
return (
|
|
68
|
-
// biome-ignore lint/a11y/noLabelWithoutControl: label associations are provided by consumers.
|
|
69
|
-
/* @__PURE__ */ jsx(
|
|
70
|
-
"label",
|
|
71
|
-
{
|
|
72
|
-
ref,
|
|
73
|
-
className: cn(
|
|
74
|
-
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
75
|
-
className
|
|
76
|
-
),
|
|
77
|
-
...props
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
Label.displayName = "Label";
|
|
83
|
-
function FormLabel({ required, className, children, ref, ...props }) {
|
|
84
|
-
return /* @__PURE__ */ jsxs(Label, { ref, className: cn(className), ...props, children: [
|
|
85
|
-
children,
|
|
86
|
-
required && /* @__PURE__ */ jsx("span", { className: "text-destructive ml-1", children: "*" })
|
|
87
|
-
] });
|
|
88
|
-
}
|
|
89
|
-
FormLabel.displayName = "FormLabel";
|
|
90
|
-
function Input({ type, className, ref, ...props }) {
|
|
91
|
-
return /* @__PURE__ */ jsx(
|
|
92
|
-
"input",
|
|
93
|
-
{
|
|
94
|
-
className: cn(
|
|
95
|
-
"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",
|
|
96
|
-
className
|
|
97
|
-
),
|
|
98
|
-
ref,
|
|
99
|
-
type,
|
|
100
|
-
...props
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
function Textarea({ className, ref, ...props }) {
|
|
105
|
-
return /* @__PURE__ */ jsx(
|
|
106
|
-
"textarea",
|
|
107
|
-
{
|
|
108
|
-
className: cn(
|
|
109
|
-
"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",
|
|
110
|
-
className
|
|
111
|
-
),
|
|
112
|
-
ref,
|
|
113
|
-
...props
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
function Flex({
|
|
118
|
-
direction = "row",
|
|
119
|
-
align,
|
|
120
|
-
justify,
|
|
121
|
-
wrap,
|
|
122
|
-
gap,
|
|
123
|
-
className,
|
|
124
|
-
style,
|
|
125
|
-
ref,
|
|
126
|
-
...props
|
|
127
|
-
}) {
|
|
128
|
-
const flexClasses = cn(
|
|
129
|
-
"flex",
|
|
130
|
-
direction && `flex-${direction}`,
|
|
131
|
-
align && `items-${align === "start" ? "start" : align === "end" ? "end" : align}`,
|
|
132
|
-
justify && `justify-${justify === "start" ? "start" : justify === "end" ? "end" : justify === "between" ? "between" : justify === "around" ? "around" : justify === "evenly" ? "evenly" : "center"}`,
|
|
133
|
-
wrap === true && "flex-wrap",
|
|
134
|
-
wrap === "wrap" && "flex-wrap",
|
|
135
|
-
wrap === "nowrap" && "flex-nowrap",
|
|
136
|
-
wrap === "wrap-reverse" && "flex-wrap-reverse",
|
|
137
|
-
className
|
|
138
|
-
);
|
|
139
|
-
const flexStyle = {
|
|
140
|
-
...style,
|
|
141
|
-
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
142
|
-
};
|
|
143
|
-
return /* @__PURE__ */ jsx("div", { ref, className: flexClasses, style: flexStyle, ...props });
|
|
144
|
-
}
|
|
145
|
-
function Grid({ cols, rows, gap, className, style, ref, ...props }) {
|
|
146
|
-
const gridStyle = {
|
|
147
|
-
...style,
|
|
148
|
-
...cols && {
|
|
149
|
-
gridTemplateColumns: typeof cols === "number" ? `repeat(${cols}, 1fr)` : cols
|
|
150
|
-
},
|
|
151
|
-
...rows && {
|
|
152
|
-
gridTemplateRows: typeof rows === "number" ? `repeat(${rows}, 1fr)` : rows
|
|
153
|
-
},
|
|
154
|
-
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
155
|
-
};
|
|
156
|
-
return /* @__PURE__ */ jsx("div", { ref, className: cn("grid", className), style: gridStyle, ...props });
|
|
157
|
-
}
|
|
158
|
-
function Heading({ as, size = "base", className, children, ref, ...props }) {
|
|
159
|
-
const Component = as || "h2";
|
|
160
|
-
const headingClasses = cn(
|
|
161
|
-
size === "sm" && "text-sm",
|
|
162
|
-
size === "base" && "text-base",
|
|
163
|
-
size === "lg" && "text-lg",
|
|
164
|
-
size === "xl" && "text-xl",
|
|
165
|
-
size === "2xl" && "text-2xl",
|
|
166
|
-
size === "3xl" && "text-3xl",
|
|
167
|
-
size === "4xl" && "text-4xl",
|
|
168
|
-
"font-semibold",
|
|
169
|
-
className
|
|
170
|
-
);
|
|
171
|
-
return /* @__PURE__ */ jsx(Component, { ref, className: headingClasses, ...props, children });
|
|
172
|
-
}
|
|
173
|
-
function Text({
|
|
174
|
-
as: Component = "p",
|
|
175
|
-
size = "base",
|
|
176
|
-
weight = "normal",
|
|
177
|
-
color = "default",
|
|
178
|
-
className,
|
|
179
|
-
ref,
|
|
180
|
-
...props
|
|
181
|
-
}) {
|
|
182
|
-
const textClasses = cn(
|
|
183
|
-
size === "xs" && "text-xs",
|
|
184
|
-
size === "sm" && "text-sm",
|
|
185
|
-
size === "base" && "text-base",
|
|
186
|
-
size === "lg" && "text-lg",
|
|
187
|
-
size === "xl" && "text-xl",
|
|
188
|
-
size === "2xl" && "text-2xl",
|
|
189
|
-
weight === "normal" && "font-normal",
|
|
190
|
-
weight === "medium" && "font-medium",
|
|
191
|
-
weight === "semibold" && "font-semibold",
|
|
192
|
-
weight === "bold" && "font-bold",
|
|
193
|
-
color === "muted" && "text-muted-foreground",
|
|
194
|
-
color === "primary" && "text-primary",
|
|
195
|
-
color === "secondary" && "text-secondary-foreground",
|
|
196
|
-
color === "destructive" && "text-destructive",
|
|
197
|
-
className
|
|
198
|
-
);
|
|
199
|
-
return /* @__PURE__ */ jsx(Component, { ref, className: textClasses, ...props });
|
|
200
|
-
}
|
|
201
|
-
export {
|
|
202
|
-
AuthLayout as A,
|
|
203
|
-
Card as C,
|
|
204
|
-
Flex as F,
|
|
205
|
-
Grid as G,
|
|
206
|
-
Heading as H,
|
|
207
|
-
Input as I,
|
|
208
|
-
Label as L,
|
|
209
|
-
Text as T,
|
|
210
|
-
CardContent as a,
|
|
211
|
-
CardDescription as b,
|
|
212
|
-
CardFooter as c,
|
|
213
|
-
CardHeader as d,
|
|
214
|
-
CardTitle as e,
|
|
215
|
-
FormLabel as f,
|
|
216
|
-
Textarea as g
|
|
217
|
-
};
|
|
218
|
-
//# sourceMappingURL=Text-jQVi12Hi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text-jQVi12Hi.js","sources":["../src/components/auth-layout.tsx","../src/components/Card.tsx","../src/components/Label.tsx","../src/components/FormLabel.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('rounded-lg border bg-card text-card-foreground shadow-sm', className)}\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';\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 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"],"names":[],"mappings":"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"}
|