ui-lab-registry 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -0
- package/dist/categories.d.ts +5 -0
- package/dist/categories.d.ts.map +1 -0
- package/dist/categories.js +81 -0
- package/dist/categories.js.map +1 -0
- package/dist/components/badge.d.ts +15 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +31 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button-group.d.ts +27 -0
- package/dist/components/button-group.d.ts.map +1 -0
- package/dist/components/button-group.js +99 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.d.ts +13 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +26 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/card.d.ts +19 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +20 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox.d.ts +21 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +69 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/command-palette.d.ts +32 -0
- package/dist/components/command-palette.d.ts.map +1 -0
- package/dist/components/command-palette.js +256 -0
- package/dist/components/command-palette.js.map +1 -0
- package/dist/components/confirmation.d.ts +25 -0
- package/dist/components/confirmation.d.ts.map +1 -0
- package/dist/components/confirmation.js +120 -0
- package/dist/components/confirmation.js.map +1 -0
- package/dist/components/context-menu.d.ts +28 -0
- package/dist/components/context-menu.d.ts.map +1 -0
- package/dist/components/context-menu.js +36 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/divider.d.ts +19 -0
- package/dist/components/divider.d.ts.map +1 -0
- package/dist/components/divider.js +240 -0
- package/dist/components/divider.js.map +1 -0
- package/dist/components/form-wrapper.d.ts +48 -0
- package/dist/components/form-wrapper.d.ts.map +1 -0
- package/dist/components/form-wrapper.js +122 -0
- package/dist/components/form-wrapper.js.map +1 -0
- package/dist/components/index.d.ts +24 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +24 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/input.d.ts +17 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +38 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.d.ts +17 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +31 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/logo.d.ts +2 -0
- package/dist/components/logo.d.ts.map +1 -0
- package/dist/components/logo.js +6 -0
- package/dist/components/logo.js.map +1 -0
- package/dist/components/modal.d.ts +21 -0
- package/dist/components/modal.d.ts.map +1 -0
- package/dist/components/modal.js +67 -0
- package/dist/components/modal.js.map +1 -0
- package/dist/components/popover.d.ts +18 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +243 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.d.ts +19 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/progress.js +38 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio.d.ts +17 -0
- package/dist/components/radio.d.ts.map +1 -0
- package/dist/components/radio.js +62 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/select.d.ts +13 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +26 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/slider.d.ts +9 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +32 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/switch.d.ts +24 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +92 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/tabs.d.ts +20 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +85 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +17 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +62 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toast/index.d.ts +5 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +4 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/store.d.ts +55 -0
- package/dist/components/toast/store.d.ts.map +1 -0
- package/dist/components/toast/store.js +76 -0
- package/dist/components/toast/store.js.map +1 -0
- package/dist/components/toast/toast.d.ts +10 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +148 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/toaster.d.ts +2 -0
- package/dist/components/toast/toaster.d.ts.map +1 -0
- package/dist/components/toast/toaster.js +391 -0
- package/dist/components/toast/toaster.js.map +1 -0
- package/dist/components/toast/use-toast.d.ts +9 -0
- package/dist/components/toast/use-toast.d.ts.map +1 -0
- package/dist/components/toast/use-toast.js +17 -0
- package/dist/components/toast/use-toast.js.map +1 -0
- package/dist/components/tooltip.d.ts +17 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +227 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/helpers.d.ts +9 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +36 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +5 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/registry.d.ts +10 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +418 -0
- package/dist/registry.js.map +1 -0
- package/dist/starters/presets.d.ts +4 -0
- package/dist/starters/presets.d.ts.map +1 -0
- package/dist/starters/presets.js +49 -0
- package/dist/starters/presets.js.map +1 -0
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +66 -0
- package/src/categories.ts +84 -0
- package/src/helpers.ts +44 -0
- package/src/index.ts +29 -0
- package/src/lib/utils.ts +5 -0
- package/src/registry.ts +443 -0
- package/src/starters/presets.ts +51 -0
- package/src/types.ts +48 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
|
+
import React from "react";
|
|
5
|
+
const dividerVariants = cva("shrink-0", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
solid: "",
|
|
9
|
+
dashed: "",
|
|
10
|
+
dotted: "",
|
|
11
|
+
},
|
|
12
|
+
orientation: {
|
|
13
|
+
horizontal: "w-full",
|
|
14
|
+
vertical: "",
|
|
15
|
+
},
|
|
16
|
+
size: {
|
|
17
|
+
sm: "",
|
|
18
|
+
md: "",
|
|
19
|
+
lg: "",
|
|
20
|
+
},
|
|
21
|
+
color: {
|
|
22
|
+
default: "",
|
|
23
|
+
muted: "",
|
|
24
|
+
subtle: "",
|
|
25
|
+
},
|
|
26
|
+
spacing: {
|
|
27
|
+
none: "",
|
|
28
|
+
sm: "",
|
|
29
|
+
md: "",
|
|
30
|
+
lg: "",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
compoundVariants: [
|
|
34
|
+
{
|
|
35
|
+
orientation: "horizontal",
|
|
36
|
+
size: "sm",
|
|
37
|
+
class: "h-px",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
orientation: "vertical",
|
|
41
|
+
size: "sm",
|
|
42
|
+
class: "w-px self-stretch",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
orientation: "horizontal",
|
|
46
|
+
size: "md",
|
|
47
|
+
class: "h-0.5",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
orientation: "vertical",
|
|
51
|
+
size: "md",
|
|
52
|
+
class: "w-0.5 self-stretch",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
orientation: "horizontal",
|
|
56
|
+
size: "lg",
|
|
57
|
+
class: "h-1",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
orientation: "vertical",
|
|
61
|
+
size: "lg",
|
|
62
|
+
class: "w-1 self-stretch",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
orientation: "horizontal",
|
|
66
|
+
spacing: "none",
|
|
67
|
+
class: "my-0",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
orientation: "vertical",
|
|
71
|
+
spacing: "none",
|
|
72
|
+
class: "mx-0",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
orientation: "horizontal",
|
|
76
|
+
spacing: "sm",
|
|
77
|
+
class: "my-1",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
orientation: "vertical",
|
|
81
|
+
spacing: "sm",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
orientation: "horizontal",
|
|
85
|
+
spacing: "md",
|
|
86
|
+
class: "my-1",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
orientation: "vertical",
|
|
90
|
+
spacing: "md",
|
|
91
|
+
class: "mx-1",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
orientation: "horizontal",
|
|
95
|
+
spacing: "lg",
|
|
96
|
+
class: "my-1",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
orientation: "vertical",
|
|
100
|
+
spacing: "lg",
|
|
101
|
+
class: "mx-1",
|
|
102
|
+
},
|
|
103
|
+
// --- Solid Variant & Color Compounds ---
|
|
104
|
+
{
|
|
105
|
+
variant: "solid",
|
|
106
|
+
orientation: "horizontal",
|
|
107
|
+
color: "default",
|
|
108
|
+
class: "border-t-background-700 border-t",
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
variant: "solid",
|
|
112
|
+
orientation: "horizontal",
|
|
113
|
+
color: "muted",
|
|
114
|
+
class: "border-t-background-500 border-t",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
variant: "solid",
|
|
118
|
+
orientation: "horizontal",
|
|
119
|
+
color: "subtle",
|
|
120
|
+
class: "border-t-background-400 border-t",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
variant: "solid",
|
|
124
|
+
orientation: "vertical",
|
|
125
|
+
color: "default",
|
|
126
|
+
class: "border-l-background-700 border-l",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
variant: "solid",
|
|
130
|
+
orientation: "vertical",
|
|
131
|
+
color: "muted",
|
|
132
|
+
class: "border-l-background-500 border-l",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
variant: "solid",
|
|
136
|
+
orientation: "vertical",
|
|
137
|
+
color: "subtle",
|
|
138
|
+
class: "border-l-background-400 border-l",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
variant: "dashed",
|
|
142
|
+
orientation: "horizontal",
|
|
143
|
+
color: "default",
|
|
144
|
+
class: "border-t-dashed border-t-background-600 border-t",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
variant: "dashed",
|
|
148
|
+
orientation: "horizontal",
|
|
149
|
+
color: "muted",
|
|
150
|
+
class: "border-t-dashed border-t-background-500 border-t",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
variant: "dashed",
|
|
154
|
+
orientation: "horizontal",
|
|
155
|
+
color: "subtle",
|
|
156
|
+
class: "border-t-dashed border-t-background-400 border-t",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
variant: "dashed",
|
|
160
|
+
orientation: "vertical",
|
|
161
|
+
color: "default",
|
|
162
|
+
class: "border-l-dashed border-l-background-600 border-l",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
variant: "dashed",
|
|
166
|
+
orientation: "vertical",
|
|
167
|
+
color: "muted",
|
|
168
|
+
class: "border-l-dashed border-l-background-500 border-l",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
variant: "dashed",
|
|
172
|
+
orientation: "vertical",
|
|
173
|
+
color: "subtle",
|
|
174
|
+
class: "border-l-dashed border-l-background-400 border-l",
|
|
175
|
+
},
|
|
176
|
+
// --- Dotted Variant ---
|
|
177
|
+
{
|
|
178
|
+
variant: "dotted",
|
|
179
|
+
orientation: "horizontal",
|
|
180
|
+
color: "default",
|
|
181
|
+
class: "border-t-dotted border-t-background-600 border-t",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
variant: "dotted",
|
|
185
|
+
orientation: "horizontal",
|
|
186
|
+
color: "muted",
|
|
187
|
+
class: "border-t-dotted border-t-background-500 border-t",
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
variant: "dotted",
|
|
191
|
+
orientation: "horizontal",
|
|
192
|
+
color: "subtle",
|
|
193
|
+
class: "border-t-dotted border-t-background-400 border-t",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
variant: "dotted",
|
|
197
|
+
orientation: "vertical",
|
|
198
|
+
color: "default",
|
|
199
|
+
class: "border-l-dotted border-l-background-600 border-l",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
variant: "dotted",
|
|
203
|
+
orientation: "vertical",
|
|
204
|
+
color: "muted",
|
|
205
|
+
class: "border-l-dotted border-l-background-500 border-l",
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
variant: "dotted",
|
|
209
|
+
orientation: "vertical",
|
|
210
|
+
color: "subtle",
|
|
211
|
+
class: "border-l-dotted border-l-background-400 border-l",
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
defaultVariants: {
|
|
215
|
+
variant: "solid",
|
|
216
|
+
orientation: "horizontal",
|
|
217
|
+
size: "md",
|
|
218
|
+
color: "default",
|
|
219
|
+
spacing: "md",
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
const Divider = React.forwardRef(({ className, variant, orientation, size,
|
|
223
|
+
// Destructure 'color'
|
|
224
|
+
color, spacing, style, ...props }, ref) => {
|
|
225
|
+
// 3. The logic is greatly simplified as cva handles all conditional styling.
|
|
226
|
+
const baseClasses = cn(dividerVariants({
|
|
227
|
+
variant,
|
|
228
|
+
orientation,
|
|
229
|
+
size,
|
|
230
|
+
color, // Pass the 'color' prop
|
|
231
|
+
spacing,
|
|
232
|
+
className,
|
|
233
|
+
}));
|
|
234
|
+
// Ensure style is an object for maintainability (though TS should catch string styles)
|
|
235
|
+
const styleObject = typeof style === "string" ? {} : style;
|
|
236
|
+
return (_jsx("div", { ref: ref, className: baseClasses, style: styleObject, role: "separator", "aria-orientation": orientation, ...props }));
|
|
237
|
+
});
|
|
238
|
+
Divider.displayName = "Divider";
|
|
239
|
+
export { Divider, dividerVariants };
|
|
240
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../src/components/divider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface FormErrors {
|
|
3
|
+
[fieldName: string]: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FormValues {
|
|
6
|
+
[fieldName: string]: any;
|
|
7
|
+
}
|
|
8
|
+
export interface ValidationRule {
|
|
9
|
+
validate: (value: any) => boolean | Promise<boolean>;
|
|
10
|
+
message: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ValidationRules {
|
|
13
|
+
[fieldName: string]: ValidationRule | ValidationRule[];
|
|
14
|
+
}
|
|
15
|
+
interface FormContextType {
|
|
16
|
+
values: FormValues;
|
|
17
|
+
errors: FormErrors;
|
|
18
|
+
touched: Set<string>;
|
|
19
|
+
isSubmitting: boolean;
|
|
20
|
+
setFieldValue: (name: string, value: any) => void;
|
|
21
|
+
setFieldError: (name: string, error: string) => void;
|
|
22
|
+
setFieldTouched: (name: string, touched?: boolean) => void;
|
|
23
|
+
validateField: (name: string) => Promise<boolean>;
|
|
24
|
+
validateForm: () => Promise<boolean>;
|
|
25
|
+
resetForm: (values?: FormValues) => void;
|
|
26
|
+
submitForm: () => Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export declare function useFormContext(): FormContextType;
|
|
29
|
+
export interface FormWrapperProps {
|
|
30
|
+
initialValues: FormValues;
|
|
31
|
+
validationRules?: ValidationRules;
|
|
32
|
+
onSubmit: (values: FormValues) => Promise<void> | void;
|
|
33
|
+
onError?: (errors: FormErrors) => void;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
errorBoundaryFallback?: (error: Error) => ReactNode;
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function FormWrapper({ initialValues, validationRules, onSubmit, onError, children, errorBoundaryFallback, className, }: FormWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export interface FormFieldProps {
|
|
40
|
+
name: string;
|
|
41
|
+
label?: string;
|
|
42
|
+
required?: boolean;
|
|
43
|
+
className?: string;
|
|
44
|
+
children: (context: FormContextType) => ReactNode;
|
|
45
|
+
}
|
|
46
|
+
export declare function FormField({ name, label, required, className, children, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=form-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-wrapper.d.ts","sourceRoot":"","sources":["../../src/components/form-wrapper.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAoD,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3F,MAAM,WAAW,UAAU;IACzB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;CACxD;AAGD,UAAU,eAAe;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAID,wBAAgB,cAAc,oBAM7B;AA4CD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,UAAU,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,aAAa,EACb,eAAoB,EACpB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,SAAS,GACV,EAAE,gBAAgB,2CAwGlB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC;CACnD;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,cAAc,2CAoBhB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React, { createContext, useContext, useState, useCallback } from "react";
|
|
4
|
+
import { cn } from "../lib/utils";
|
|
5
|
+
const FormContext = createContext(undefined);
|
|
6
|
+
export function useFormContext() {
|
|
7
|
+
const context = useContext(FormContext);
|
|
8
|
+
if (!context) {
|
|
9
|
+
throw new Error("useFormContext must be used within a FormWrapper");
|
|
10
|
+
}
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
class FormErrorBoundary extends React.Component {
|
|
14
|
+
constructor(props) {
|
|
15
|
+
super(props);
|
|
16
|
+
this.state = { hasError: false, error: null };
|
|
17
|
+
}
|
|
18
|
+
static getDerivedStateFromError(error) {
|
|
19
|
+
return { hasError: true, error };
|
|
20
|
+
}
|
|
21
|
+
componentDidCatch(error) {
|
|
22
|
+
console.error("Form wrapper error:", error);
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
if (this.state.hasError && this.state.error) {
|
|
26
|
+
return this.props.fallback ? (this.props.fallback(this.state.error)) : (_jsxs("div", { className: "p-4 bg-red-50 border border-red-200 rounded-lg", children: [_jsx("h3", { className: "text-red-800 font-semibold", children: "Form Error" }), _jsx("p", { className: "text-red-700 text-sm mt-1", children: this.state.error.message })] }));
|
|
27
|
+
}
|
|
28
|
+
return this.props.children;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function FormWrapper({ initialValues, validationRules = {}, onSubmit, onError, children, errorBoundaryFallback, className, }) {
|
|
32
|
+
const [values, setValues] = useState(initialValues);
|
|
33
|
+
const [errors, setErrors] = useState({});
|
|
34
|
+
const [touched, setTouched] = useState(new Set());
|
|
35
|
+
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
36
|
+
const setFieldValue = useCallback((name, value) => {
|
|
37
|
+
setValues((prev) => ({ ...prev, [name]: value }));
|
|
38
|
+
}, []);
|
|
39
|
+
const setFieldError = useCallback((name, error) => {
|
|
40
|
+
setErrors((prev) => ({ ...prev, [name]: error }));
|
|
41
|
+
}, []);
|
|
42
|
+
const setFieldTouched = useCallback((name, touched = true) => {
|
|
43
|
+
setTouched((prev) => {
|
|
44
|
+
const newTouched = new Set(prev);
|
|
45
|
+
if (touched) {
|
|
46
|
+
newTouched.add(name);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
newTouched.delete(name);
|
|
50
|
+
}
|
|
51
|
+
return newTouched;
|
|
52
|
+
});
|
|
53
|
+
}, []);
|
|
54
|
+
const validateField = useCallback(async (name) => {
|
|
55
|
+
const rules = validationRules[name];
|
|
56
|
+
if (!rules)
|
|
57
|
+
return true;
|
|
58
|
+
const rulesList = Array.isArray(rules) ? rules : [rules];
|
|
59
|
+
const value = values[name];
|
|
60
|
+
for (const rule of rulesList) {
|
|
61
|
+
const isValid = await rule.validate(value);
|
|
62
|
+
if (!isValid) {
|
|
63
|
+
setFieldError(name, rule.message);
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
setFieldError(name, "");
|
|
68
|
+
return true;
|
|
69
|
+
}, [validationRules, values, setFieldError]);
|
|
70
|
+
const validateForm = useCallback(async () => {
|
|
71
|
+
const fieldNames = Object.keys(validationRules);
|
|
72
|
+
const results = await Promise.all(fieldNames.map(validateField));
|
|
73
|
+
return results.every((result) => result);
|
|
74
|
+
}, [validationRules, validateField]);
|
|
75
|
+
const resetForm = useCallback((newValues) => {
|
|
76
|
+
setValues(newValues || initialValues);
|
|
77
|
+
setErrors({});
|
|
78
|
+
setTouched(new Set());
|
|
79
|
+
}, [initialValues]);
|
|
80
|
+
const submitForm = useCallback(async () => {
|
|
81
|
+
setIsSubmitting(true);
|
|
82
|
+
try {
|
|
83
|
+
const isValid = await validateForm();
|
|
84
|
+
if (!isValid) {
|
|
85
|
+
onError?.(errors);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
await onSubmit(values);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.error("Form submission error:", error);
|
|
92
|
+
onError?.(errors);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
setIsSubmitting(false);
|
|
96
|
+
}
|
|
97
|
+
}, [validateForm, onSubmit, values, errors, onError]);
|
|
98
|
+
const contextValue = {
|
|
99
|
+
values,
|
|
100
|
+
errors,
|
|
101
|
+
touched,
|
|
102
|
+
isSubmitting,
|
|
103
|
+
setFieldValue,
|
|
104
|
+
setFieldError,
|
|
105
|
+
setFieldTouched,
|
|
106
|
+
validateField,
|
|
107
|
+
validateForm,
|
|
108
|
+
resetForm,
|
|
109
|
+
submitForm,
|
|
110
|
+
};
|
|
111
|
+
const handleSubmit = (e) => {
|
|
112
|
+
e.preventDefault();
|
|
113
|
+
};
|
|
114
|
+
return (_jsx(FormErrorBoundary, { fallback: errorBoundaryFallback, children: _jsx(FormContext.Provider, { value: contextValue, children: _jsx("form", { className: cn("space-y-4 min-w-80", className), onSubmit: handleSubmit, children: children }) }) }));
|
|
115
|
+
}
|
|
116
|
+
export function FormField({ name, label, required, className, children, }) {
|
|
117
|
+
const context = useFormContext();
|
|
118
|
+
const error = context.errors[name];
|
|
119
|
+
const isTouched = context.touched.has(name);
|
|
120
|
+
return (_jsxs("div", { className: cn("space-y-1.5", className), children: [label && (_jsxs("label", { className: "text-sm font-medium text-foreground-50", children: [label, " ", required && _jsx("span", { className: "text-red-600", children: "*" })] })), _jsx("div", { children: children(context) }), error && isTouched && (_jsx("p", { className: "text-sm text-red-600", children: error }))] }));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=form-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-wrapper.js","sourceRoot":"","sources":["../../src/components/form-wrapper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { Button, buttonVariants } from './button';
|
|
2
|
+
export { ButtonGroup, ButtonGroupItem } from './button-group';
|
|
3
|
+
export { Input } from './input';
|
|
4
|
+
export { Label } from './label';
|
|
5
|
+
export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';
|
|
6
|
+
export { TextArea } from './textarea';
|
|
7
|
+
export { Checkbox } from './checkbox';
|
|
8
|
+
export { Radio } from './radio';
|
|
9
|
+
export { Badge } from './badge';
|
|
10
|
+
export { Tooltip } from './tooltip';
|
|
11
|
+
export { Popover } from './popover';
|
|
12
|
+
export { FormWrapper } from './form-wrapper';
|
|
13
|
+
export { Toast, Toaster, useToast, toast } from './toast';
|
|
14
|
+
export { Modal } from './modal';
|
|
15
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs';
|
|
16
|
+
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem } from './context-menu';
|
|
17
|
+
export { Root as SliderRoot, Thumb as SliderThumb } from './slider';
|
|
18
|
+
export { Progress } from './progress';
|
|
19
|
+
export { Card } from './card';
|
|
20
|
+
export { CommandPalette } from './command-palette';
|
|
21
|
+
export { Confirmation } from './confirmation';
|
|
22
|
+
export { Divider } from './divider';
|
|
23
|
+
export { Switch } from './switch';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { Button, buttonVariants } from './button';
|
|
2
|
+
export { ButtonGroup, ButtonGroupItem } from './button-group';
|
|
3
|
+
export { Input } from './input';
|
|
4
|
+
export { Label } from './label';
|
|
5
|
+
export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';
|
|
6
|
+
export { TextArea } from './textarea';
|
|
7
|
+
export { Checkbox } from './checkbox';
|
|
8
|
+
export { Radio } from './radio';
|
|
9
|
+
export { Badge } from './badge';
|
|
10
|
+
export { Tooltip } from './tooltip';
|
|
11
|
+
export { Popover } from './popover';
|
|
12
|
+
export { FormWrapper } from './form-wrapper';
|
|
13
|
+
export { Toast, Toaster, useToast, toast } from './toast';
|
|
14
|
+
export { Modal } from './modal';
|
|
15
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent } from './tabs';
|
|
16
|
+
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem } from './context-menu';
|
|
17
|
+
export { Root as SliderRoot, Thumb as SliderThumb } from './slider';
|
|
18
|
+
export { Progress } from './progress';
|
|
19
|
+
export { Card } from './card';
|
|
20
|
+
export { CommandPalette } from './command-palette';
|
|
21
|
+
export { Confirmation } from './confirmation';
|
|
22
|
+
export { Divider } from './divider';
|
|
23
|
+
export { Switch } from './switch';
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
declare const inputVariants: (props?: ({
|
|
3
|
+
variant?: "default" | "ghost" | null | undefined;
|
|
4
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
5
|
+
error?: boolean | null | undefined;
|
|
6
|
+
disabled?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "disabled" | "error" | "variant">, VariantProps<typeof inputVariants> {
|
|
9
|
+
prefixIcon?: React.ReactNode;
|
|
10
|
+
suffixIcon?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
declare const Input: {
|
|
13
|
+
({ className, variant, size, error, disabled, prefixIcon, suffixIcon, type, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
export { Input, inputVariants };
|
|
17
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,aAAa;;;;;8EA6BlB,CAAC;AAEF,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC,EACpG,YAAY,CAAC,OAAO,aAAa,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,QAAA,MAAM,KAAK;4FAUR,UAAU;;CA4BZ,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
|
+
const inputVariants = cva("w-full px-3 py-2 rounded-md text-foreground-50 placeholder-foreground-500", {
|
|
5
|
+
variants: {
|
|
6
|
+
variant: {
|
|
7
|
+
default: "bg-background-800 border border-background-700",
|
|
8
|
+
ghost: "focus:ring-transparent",
|
|
9
|
+
},
|
|
10
|
+
size: {
|
|
11
|
+
sm: "h-8 text-sm px-2 py-1",
|
|
12
|
+
md: "h-10 text-sm px-3 py-2",
|
|
13
|
+
lg: "h-12 text-base px-4 py-3",
|
|
14
|
+
},
|
|
15
|
+
error: {
|
|
16
|
+
true: "border-danger-600 focus:ring-2 focus:ring-danger-600/50 focus:border-danger-600",
|
|
17
|
+
false: "hover:border-background-600 focus:outline-none focus:ring-2 focus:ring-accent-500/50 focus:border-accent-500",
|
|
18
|
+
},
|
|
19
|
+
disabled: {
|
|
20
|
+
true: "bg-background-900 text-foreground-500 cursor-not-allowed opacity-60",
|
|
21
|
+
false: "",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "md",
|
|
27
|
+
error: false,
|
|
28
|
+
disabled: false,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
const Input = ({ className, variant, size, error, disabled, prefixIcon, suffixIcon, type = "text", ...props }) => {
|
|
32
|
+
const hasPrefix = !!prefixIcon;
|
|
33
|
+
const hasSuffix = !!suffixIcon;
|
|
34
|
+
return (_jsxs("div", { className: "relative w-full", children: [hasPrefix && (_jsx("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-foreground-500 flex items-center pointer-events-none", children: prefixIcon })), _jsx("input", { type: type, disabled: disabled ?? undefined, className: cn(inputVariants({ variant, size, error, disabled: disabled ?? false, className }), hasPrefix && "pl-8", hasSuffix && "pr-8"), ...props }), hasSuffix && (_jsx("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-foreground-500 flex items-center pointer-events-none", children: suffixIcon }))] }));
|
|
35
|
+
};
|
|
36
|
+
Input.displayName = "Input";
|
|
37
|
+
export { Input, inputVariants };
|
|
38
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,CACvB,2EAA2E,EAC3E;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,gDAAgD;YACzD,KAAK,EAAE,wBAAwB;SAChC;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,uBAAuB;YAC3B,EAAE,EAAE,wBAAwB;YAC5B,EAAE,EAAE,0BAA0B;SAC/B;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iFAAiF;YACvF,KAAK,EAAE,8GAA8G;SACtH;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,qEAAqE;YAC3E,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;KAChB;CACF,CACF,CAAC;AASF,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,IAAI,GAAG,MAAM,EACb,GAAG,KAAK,EACG,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;IAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC;IAE/B,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAC7B,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,oGAAoG,YAChH,UAAU,GACP,CACP,EACD,gBACE,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,SAAS,EAAE,EAAE,CACX,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC,EAC/E,SAAS,IAAI,MAAM,EACnB,SAAS,IAAI,MAAM,CACpB,KACG,KAAK,GACT,EACD,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,qGAAqG,YACjH,UAAU,GACP,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
declare const labelVariants: (props?: ({
|
|
3
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
4
|
+
disabled?: boolean | null | undefined;
|
|
5
|
+
error?: boolean | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement>, VariantProps<typeof labelVariants> {
|
|
8
|
+
required?: boolean;
|
|
9
|
+
helperText?: React.ReactNode;
|
|
10
|
+
helperTextError?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const Label: {
|
|
13
|
+
({ className, size, disabled, error, required, helperText, helperTextError, children, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
export { Label, labelVariants };
|
|
17
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,aAAa;;;;8EAwBlB,CAAC;AAEF,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACnD,YAAY,CAAC,OAAO,aAAa,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,KAAK;sGAUR,UAAU;;CA0BZ,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
|
+
const labelVariants = cva("block text-foreground-300 transition-colors", {
|
|
5
|
+
variants: {
|
|
6
|
+
size: {
|
|
7
|
+
sm: "text-xs",
|
|
8
|
+
md: "text-sm",
|
|
9
|
+
lg: "text-base",
|
|
10
|
+
},
|
|
11
|
+
disabled: {
|
|
12
|
+
true: "text-foreground-500 opacity-60 cursor-not-allowed",
|
|
13
|
+
false: "",
|
|
14
|
+
},
|
|
15
|
+
error: {
|
|
16
|
+
true: "text-danger-600",
|
|
17
|
+
false: "",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md",
|
|
22
|
+
disabled: false,
|
|
23
|
+
error: false,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
const Label = ({ className, size, disabled, error, required, helperText, helperTextError, children, ...props }) => {
|
|
27
|
+
return (_jsxs("div", { className: "w-full", children: [_jsxs("label", { className: cn(labelVariants({ size, disabled, error, className })), ...props, children: [children, required && (_jsx("span", { className: "text-danger-600 ml-1", "aria-label": "required", children: "*" }))] }), helperText && (_jsx("p", { className: cn("text-xs mt-1 transition-colors", helperTextError ? "text-danger-600" : "text-foreground-500"), children: helperText }))] }));
|
|
28
|
+
};
|
|
29
|
+
Label.displayName = "Label";
|
|
30
|
+
export { Label, labelVariants };
|
|
31
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,CACvB,6CAA6C,EAC7C;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,WAAW;SAChB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,mDAAmD;YACzD,KAAK,EAAE,EAAE;SACV;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;KACb;CACF,CACF,CAAC;AAUF,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,GAAG,KAAK,EACG,EAAE,EAAE;IACf,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,iBACE,SAAS,EAAE,EAAE,CACX,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CACpD,KACG,KAAK,aAER,QAAQ,EACR,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,sBAAsB,gBAAY,UAAU,kBAErD,CACR,IACK,EACP,UAAU,IAAI,CACb,YAAG,SAAS,EAAE,EAAE,CACd,gCAAgC,EAChC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAC5D,YACE,UAAU,GACT,CACL,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/components/logo.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,4CAkBnB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
export function Logo() {
|
|
4
|
+
return (_jsx("svg", { width: "34", height: "34", viewBox: "0 0 23 23", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "text-foreground-300", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11.0982 4.6488C11.2657 4.55211 11.4721 4.55211 11.6396 4.6488L17.0533 7.77443C17.2208 7.87114 17.324 8.04988 17.324 8.24329V14.4945C17.324 14.688 17.2208 14.8667 17.0533 14.9634L15.7977 15.6883C15.5388 15.8378 15.2077 15.7491 15.0582 15.4901L14.5276 14.5712C14.3781 14.3123 14.4669 13.9812 14.7258 13.8317L14.9095 13.7256C15.077 13.6289 15.1802 13.4502 15.1802 13.2568V9.48103C15.1802 9.28763 15.077 9.10889 14.9095 9.0122L11.6396 7.12432C11.4721 7.0276 11.2657 7.0276 11.0982 7.12432L7.82828 9.0122C7.66078 9.10889 7.5576 9.28763 7.5576 9.48103V13.2568C7.5576 13.4502 7.66078 13.6289 7.82828 13.7256L11.0982 15.6135C11.2657 15.7102 11.4721 15.7102 11.6396 15.6135L11.7337 15.5591C11.9927 15.4097 12.3238 15.4984 12.4733 15.7573L13.0038 16.6762C13.1533 16.9352 13.0646 17.2663 12.8057 17.4158L11.6396 18.089C11.4721 18.1857 11.2657 18.1857 11.0982 18.089L5.68444 14.9634C5.51694 14.8667 5.41375 14.688 5.41375 14.4945V8.24329C5.41375 8.04988 5.51694 7.87114 5.68444 7.77443L11.0982 4.6488Z", fill: "currentColor" }) }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=logo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/components/logo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,MAAM,UAAU,IAAI;IAClB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,qBAAqB,YAE/B,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,g+BAAg+B,EACl+B,IAAI,EAAC,cAAc,GACnB,GACE,CACP,CAAC;AACJ,CAAC"}
|