@twintag/twintag-form 1.4.0-beta.0 → 1.4.0-beta.1

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.
Files changed (59) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +6 -0
  3. package/README.md +121 -62
  4. package/dev/main.tsx +233 -209
  5. package/dist/common/button.d.ts +3 -2
  6. package/dist/common/calendar.d.ts +4 -4
  7. package/dist/common/form.d.ts +11 -11
  8. package/dist/common/icon.d.ts +2 -1
  9. package/dist/common/input.d.ts +3 -2
  10. package/dist/common/label.d.ts +3 -2
  11. package/dist/common/slider.d.ts +4 -0
  12. package/dist/common/textarea.d.ts +3 -2
  13. package/dist/components/config.d.ts +4 -2
  14. package/dist/components/containers/accordion.d.ts +3 -2
  15. package/dist/components/containers/category.d.ts +3 -2
  16. package/dist/components/fields/checkbox.d.ts +4 -2
  17. package/dist/components/fields/date-picker.d.ts +3 -1
  18. package/dist/components/fields/file.d.ts +4 -2
  19. package/dist/components/fields/input.d.ts +4 -2
  20. package/dist/components/fields/radiogroup.d.ts +4 -2
  21. package/dist/components/fields/submit.d.ts +3 -2
  22. package/dist/components/fields/textarea.d.ts +4 -2
  23. package/dist/components/fields/toggle.d.ts +4 -2
  24. package/dist/components/fields/tri-toggle.d.ts +5 -0
  25. package/dist/components/form.d.ts +2 -2
  26. package/dist/components/provider.d.ts +21 -0
  27. package/dist/components/renderer.d.ts +1 -0
  28. package/dist/index.d.ts +4 -3
  29. package/dist/twintag-form.react.js +12828 -12261
  30. package/dist/types/index.d.ts +25 -17
  31. package/dist/utils/data.d.ts +2 -1
  32. package/dist/utils/style.d.ts +2 -1
  33. package/index.html +5 -3
  34. package/lib/common/slider.tsx +38 -0
  35. package/lib/components/config.tsx +46 -17
  36. package/lib/components/containers/accordion.tsx +1 -1
  37. package/lib/components/containers/category.tsx +1 -1
  38. package/lib/components/fields/checkbox.tsx +4 -2
  39. package/lib/components/fields/date-picker.tsx +4 -1
  40. package/lib/components/fields/file.tsx +83 -82
  41. package/lib/components/fields/input.tsx +4 -2
  42. package/lib/components/fields/radiogroup.tsx +4 -2
  43. package/lib/components/fields/submit.tsx +1 -1
  44. package/lib/components/fields/textarea.tsx +4 -2
  45. package/lib/components/fields/toggle.tsx +4 -2
  46. package/lib/components/fields/tri-toggle.tsx +141 -0
  47. package/lib/components/form.tsx +5 -7
  48. package/lib/components/provider.tsx +159 -0
  49. package/lib/components/{Render/index.tsx → renderer.tsx} +19 -2
  50. package/lib/index.tsx +41 -41
  51. package/lib/types/index.ts +49 -40
  52. package/package.json +7 -9
  53. package/dist/components/Render/index.d.ts +0 -7
  54. package/dist/components/Render/useJson.d.ts +0 -2
  55. package/dist/components/index.d.ts +0 -7
  56. package/dist/provider.d.ts +0 -8
  57. package/lib/components/Render/useJson.ts +0 -76
  58. package/lib/components/index.tsx +0 -24
  59. package/lib/provider.tsx +0 -39
package/dev/main.tsx CHANGED
@@ -1,209 +1,233 @@
1
- import type { ComponentProps } from 'react';
2
- import type { Form } from '../lib';
3
-
4
- import '../lib/webcomponent';
5
- import './index.css';
6
-
7
- const config = [
8
- {
9
- type: 'category',
10
- props: {
11
- label: 'Category 1st',
12
- },
13
- children: [
14
- {
15
- type: 'input',
16
- props: {
17
- subtype: 'datepicker',
18
- label: 'Date picker',
19
- bind: 'datepicker',
20
- options: {
21
- description: 'this field is required',
22
- },
23
- },
24
- },
25
- {
26
- type: 'accordion',
27
- children: [
28
- {
29
- type: 'accordion',
30
- props: {
31
- subtype: 'item',
32
- label: 'Required',
33
- icon: 'archive-box-x-mark',
34
- },
35
- children: [
36
- {
37
- type: 'input',
38
- props: {
39
- subtype: 'toggle',
40
- label: 'Required',
41
- bind: 'required',
42
- options: {
43
- description: 'this field is required',
44
- },
45
- },
46
- },
47
- ],
48
- },
49
- ],
50
- },
51
- ],
52
- },
53
- {
54
- type: 'category',
55
- props: {
56
- label: 'Category 2nd',
57
- },
58
- children: [
59
- {
60
- type: 'input',
61
- props: {
62
- subtype: 'simple',
63
- label: 'Email',
64
- bind: 'email',
65
- options: {
66
- error: 'This field is required',
67
- description: 'This field is required',
68
- },
69
- },
70
- },
71
- {
72
- type: 'input',
73
- props: {
74
- subtype: 'radiogroup',
75
- label: 'Radio Group',
76
- bind: 'radiogroup',
77
- options: {
78
- description: 'This field is required',
79
- error: 'This field is required',
80
- },
81
- },
82
- children: [
83
- {
84
- type: 'item',
85
- props: {
86
- label: 'Checkbox',
87
- bind: 'checkbox',
88
- options: {
89
- description: 'This field is required',
90
- error: 'This field is required',
91
- },
92
- },
93
- },
94
- {
95
- type: 'item',
96
- props: {
97
- label: 'Mote',
98
- bind: 'mote',
99
- options: {
100
- description: 'This field is required',
101
- error: 'This field is required',
102
- },
103
- },
104
- },
105
- ],
106
- },
107
- ],
108
- },
109
- {
110
- type: 'category',
111
- props: {
112
- label: 'Category 3rd',
113
- },
114
- children: [
115
- {
116
- type: 'input',
117
- props: {
118
- subtype: 'file',
119
- label: 'File',
120
- bind: 'file',
121
- options: {
122
- error: 'This field is required',
123
- description: 'This field is required',
124
- },
125
- },
126
- },
127
- ],
128
- },
129
- {
130
- type: 'category',
131
- props: {
132
- label: 'Category 4th',
133
- },
134
- children: [
135
- {
136
- type: 'input',
137
- props: {
138
- subtype: 'textarea',
139
- label: 'Textarea',
140
- bind: 'textarea',
141
- options: {
142
- description: 'This field is required',
143
- error: 'This field is required',
144
- },
145
- },
146
- },
147
- {
148
- type: 'input',
149
- props: {
150
- subtype: 'checkbox',
151
- label: 'Checkbox',
152
- bind: 'checkbox',
153
- options: {
154
- description: 'This field is required',
155
- error: 'This field is required',
156
- },
157
- },
158
- },
159
- ],
160
- },
161
- {
162
- type: 'input',
163
- props: {
164
- subtype: 'submit',
165
- label: 'Submit',
166
- },
167
- },
168
- ] satisfies React.ComponentProps<typeof Form>['config'];
169
-
170
- const options = {
171
- defaultValues: {
172
- required: 'true',
173
- email: 'This should work',
174
- radiogroup: 'mote',
175
- checkbox: true,
176
- textarea: 'This is a textarea',
177
- },
178
- resetOnSubmit: true,
179
- } as ComponentProps<typeof Form>['options'];
180
-
181
- // the key properties for the defaultValues object are the same as the bind properties
182
- const form = document.querySelector('twintag-form');
183
-
184
- form?.setAttribute('config', JSON.stringify(config));
185
- form?.setAttribute('options', JSON.stringify(options));
186
-
187
- form?.addEventListener('twintag-form-values', (event) => {
188
- console.log('form values', (event as CustomEvent).detail);
189
- });
190
- form?.addEventListener('twintag-form-valid', (e) => {
191
- console.log('form valid', (e as CustomEvent).detail);
192
- });
193
- form?.addEventListener('twintag-form-invalid', (e) => {
194
- console.log('form invalid', (e as CustomEvent).detail);
195
- });
196
-
197
- const getValues = document.getElementById('get-values');
198
- getValues?.addEventListener('click', () => {
199
- form?.shadowRoot
200
- ?.querySelector('form')
201
- ?.dispatchEvent(new CustomEvent('twintag-form-get_values'));
202
- });
203
-
204
- const submit = document.getElementById('submit');
205
- submit?.addEventListener('click', () => {
206
- form?.shadowRoot
207
- ?.querySelector('form')
208
- ?.dispatchEvent(new CustomEvent('twintag-form-validate'));
209
- });
1
+ import type { ComponentProps } from 'react';
2
+ import type { Form } from '../lib';
3
+
4
+ import '../lib/webcomponent';
5
+ import './index.css';
6
+
7
+ const config = [
8
+ {
9
+ type: 'category',
10
+ props: {
11
+ label: 'Category 1st',
12
+ },
13
+ children: [
14
+ {
15
+ type: 'input',
16
+ props: {
17
+ subtype: 'toggle',
18
+ label: 'Switch',
19
+ bind: 'switch',
20
+ options: {
21
+ description: 'this field is required',
22
+ },
23
+ },
24
+ },
25
+ {
26
+ type: 'input',
27
+ props: {
28
+ subtype: 'tri-toggle',
29
+ label: 'Tri-toggle',
30
+ bind: 'tri-toggle-bind',
31
+ options: {
32
+ description: 'this field is never required',
33
+ },
34
+ },
35
+ },
36
+ {
37
+ type: 'input',
38
+ props: {
39
+ subtype: 'datepicker',
40
+ label: 'Date picker',
41
+ bind: 'datepicker',
42
+ options: {
43
+ description: 'this field is required',
44
+ },
45
+ },
46
+ },
47
+ {
48
+ type: 'accordion',
49
+ children: [
50
+ {
51
+ type: 'accordion',
52
+ props: {
53
+ subtype: 'item',
54
+ label: 'Required',
55
+ icon: 'archive-box-x-mark',
56
+ },
57
+ children: [
58
+ {
59
+ type: 'input',
60
+ props: {
61
+ subtype: 'toggle',
62
+ label: 'Required',
63
+ bind: 'required',
64
+ options: {
65
+ description: 'this field is required',
66
+ },
67
+ },
68
+ },
69
+ ],
70
+ },
71
+ ],
72
+ },
73
+ ],
74
+ },
75
+ {
76
+ type: 'category',
77
+ props: {
78
+ label: 'Category 2nd',
79
+ },
80
+ children: [
81
+ {
82
+ type: 'input',
83
+ props: {
84
+ subtype: 'simple',
85
+ label: 'Email',
86
+ bind: 'email',
87
+ options: {
88
+ error: 'This field is required',
89
+ description: 'This field is required',
90
+ },
91
+ },
92
+ },
93
+ {
94
+ type: 'input',
95
+ props: {
96
+ subtype: 'radiogroup',
97
+ label: 'Radio Group',
98
+ bind: 'radiogroup',
99
+ options: {
100
+ description: 'This field is required',
101
+ error: 'This field is required',
102
+ },
103
+ },
104
+ children: [
105
+ {
106
+ type: 'item',
107
+ props: {
108
+ label: 'Checkbox',
109
+ bind: 'checkbox',
110
+ options: {
111
+ description: 'This field is required',
112
+ error: 'This field is required',
113
+ },
114
+ },
115
+ },
116
+ {
117
+ type: 'item',
118
+ props: {
119
+ label: 'Mote',
120
+ bind: 'mote',
121
+ options: {
122
+ description: 'This field is required',
123
+ error: 'This field is required',
124
+ },
125
+ },
126
+ },
127
+ ],
128
+ },
129
+ ],
130
+ },
131
+ {
132
+ type: 'category',
133
+ props: {
134
+ label: 'Category 3rd',
135
+ },
136
+ children: [
137
+ {
138
+ type: 'input',
139
+ props: {
140
+ subtype: 'file',
141
+ label: 'File',
142
+ bind: 'file',
143
+ options: {
144
+ error: 'This field is required',
145
+ description: 'This field is required',
146
+ },
147
+ },
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ type: 'category',
153
+ props: {
154
+ label: 'Category 4th',
155
+ },
156
+ children: [
157
+ {
158
+ type: 'input',
159
+ props: {
160
+ subtype: 'textarea',
161
+ label: 'Textarea',
162
+ bind: 'textarea',
163
+ options: {
164
+ description: 'This field is required',
165
+ error: 'This field is required',
166
+ },
167
+ },
168
+ },
169
+ {
170
+ type: 'input',
171
+ props: {
172
+ subtype: 'checkbox',
173
+ label: 'Checkbox',
174
+ bind: 'checkbox',
175
+ options: {
176
+ description: 'This field is required',
177
+ error: 'This field is required',
178
+ },
179
+ },
180
+ },
181
+ ],
182
+ },
183
+ {
184
+ type: 'input',
185
+ props: {
186
+ subtype: 'submit',
187
+ label: 'Submit',
188
+ },
189
+ },
190
+ ] satisfies React.ComponentProps<typeof Form>['config'];
191
+
192
+ const options = {
193
+ defaultValues: {
194
+ 'tri-toggle-bind': null,
195
+ required: true,
196
+ email: 'This should work',
197
+ radiogroup: 'mote',
198
+ checkbox: true,
199
+ textarea: 'This is a textarea',
200
+ },
201
+ variant: 'beta',
202
+ resetOnSubmit: true,
203
+ } as ComponentProps<typeof Form>['options'];
204
+
205
+ // the key properties for the defaultValues object are the same as the bind properties
206
+ const form = document.querySelector('twintag-form');
207
+
208
+ form?.setAttribute('config', JSON.stringify(config));
209
+ form?.setAttribute('options', JSON.stringify(options));
210
+
211
+ form?.addEventListener('twintag-form-values', (event) => {
212
+ console.log('form values', (event as CustomEvent).detail);
213
+ });
214
+ form?.addEventListener('twintag-form-valid', (e) => {
215
+ console.log('form valid', (e as CustomEvent).detail);
216
+ });
217
+ form?.addEventListener('twintag-form-invalid', (e) => {
218
+ console.log('form invalid', (e as CustomEvent).detail);
219
+ });
220
+
221
+ const getValues = document.getElementById('get-values');
222
+ getValues?.addEventListener('click', () => {
223
+ form?.shadowRoot
224
+ ?.querySelector('form')
225
+ ?.dispatchEvent(new CustomEvent('twintag-form-get_values'));
226
+ });
227
+
228
+ const submit = document.getElementById('submit');
229
+ submit?.addEventListener('click', () => {
230
+ form?.shadowRoot
231
+ ?.querySelector('form')
232
+ ?.dispatchEvent(new CustomEvent('twintag-form-validate'));
233
+ });
@@ -1,5 +1,6 @@
1
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
1
2
  import { TVConfig } from 'tailwind-variants/dist/config.js';
2
- import { TVReturnType, VariantProps } from 'tailwind-variants';
3
+
3
4
  import * as React from 'react';
4
5
  declare const buttonVariants: TVReturnType<{
5
6
  variant: {
@@ -75,7 +76,7 @@ declare const buttonVariants: TVReturnType<{
75
76
  export type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants> & {
76
77
  asChild?: boolean;
77
78
  };
78
- declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<TVReturnType<{
79
+ declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps< TVReturnType<{
79
80
  variant: {
80
81
  default: string;
81
82
  outline: string;
@@ -1,8 +1,8 @@
1
- import { JSX } from 'react/jsx-runtime';
1
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
2
+ import { DayPicker } from 'react-day-picker';
2
3
  import { TVConfig } from 'tailwind-variants/dist/config.js';
3
- import { TVReturnType, VariantProps } from 'tailwind-variants';
4
+
4
5
  import * as React from 'react';
5
- import { DayPicker } from 'react-day-picker';
6
6
  declare const calendarVariants: TVReturnType<{
7
7
  variant: {
8
8
  dropdown: {
@@ -210,7 +210,7 @@ declare const calendarVariants: TVReturnType<{
210
210
  };
211
211
  }>, unknown, unknown, undefined>>;
212
212
  export type CalendarProps = React.ComponentProps<typeof DayPicker> & VariantProps<typeof calendarVariants>;
213
- declare function Calendar({ size, className, classNames, showOutsideDays, ...props }: CalendarProps): JSX.Element;
213
+ declare function Calendar({ size, className, classNames, showOutsideDays, ...props }: CalendarProps): import("react/jsx-runtime").JSX.Element;
214
214
  declare namespace Calendar {
215
215
  var displayName: string;
216
216
  }
@@ -1,12 +1,12 @@
1
- import { SlotProps } from '@radix-ui/react-slot';
2
- import { LabelProps } from '@radix-ui/react-label';
1
+ import { ControllerProps, FieldPath, FieldValues, FormProviderProps, FieldError } from 'react-hook-form';
2
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
3
3
  import { TVConfig } from 'tailwind-variants/dist/config.js';
4
- import { JSX } from 'react/jsx-runtime';
5
- import { FormProviderProps, FieldError, ControllerProps, FieldPath, FieldValues } from 'react-hook-form';
6
- import { TVReturnType, VariantProps } from 'tailwind-variants';
4
+ import { LabelProps } from '@radix-ui/react-label';
5
+ import { SlotProps } from '@radix-ui/react-slot';
6
+
7
7
  import * as React from 'react';
8
8
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues extends FieldValues = TFieldValues>(props: FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
9
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => JSX.Element;
9
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
10
10
  declare const useFormField: () => {
11
11
  invalid: boolean;
12
12
  isDirty: boolean;
@@ -18,7 +18,7 @@ declare const useFormField: () => {
18
18
  formDescriptionId: string;
19
19
  formMessageId: string;
20
20
  };
21
- declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<TVReturnType<{
21
+ declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps< TVReturnType<{
22
22
  variant: {
23
23
  default: string;
24
24
  beta: string;
@@ -54,7 +54,7 @@ declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTM
54
54
  beta: string;
55
55
  };
56
56
  }>, unknown, unknown, undefined>>> & React.RefAttributes<HTMLDivElement>>;
57
- declare const FormLabel: React.ForwardRefExoticComponent<Omit<Omit<LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<TVReturnType<{
57
+ declare const FormLabel: React.ForwardRefExoticComponent<Omit<Omit< LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps< TVReturnType<{
58
58
  size: {
59
59
  sm: string;
60
60
  base: string;
@@ -90,8 +90,8 @@ declare const FormLabel: React.ForwardRefExoticComponent<Omit<Omit<LabelProps &
90
90
  base: string;
91
91
  };
92
92
  }>, unknown, unknown, undefined>>> & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
93
- declare const FormControl: React.ForwardRefExoticComponent<Omit<SlotProps & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
94
- declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & VariantProps<TVReturnType<{
93
+ declare const FormControl: React.ForwardRefExoticComponent<Omit< SlotProps & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
94
+ declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & VariantProps< TVReturnType<{
95
95
  size: {
96
96
  sm: string;
97
97
  base: string;
@@ -127,7 +127,7 @@ declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttribu
127
127
  base: string;
128
128
  };
129
129
  }>, unknown, unknown, undefined>>> & React.RefAttributes<HTMLParagraphElement>>;
130
- declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & VariantProps<TVReturnType<{
130
+ declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & VariantProps< TVReturnType<{
131
131
  size: {
132
132
  sm: string;
133
133
  base: string;
@@ -1,4 +1,5 @@
1
- import type { FC } from 'react';
1
+ import { FC } from 'react';
2
+
2
3
  type Props = {
3
4
  name: string;
4
5
  className?: string;
@@ -1,5 +1,6 @@
1
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
1
2
  import { TVConfig } from 'tailwind-variants/dist/config.js';
2
- import { TVReturnType, VariantProps } from 'tailwind-variants';
3
+
3
4
  import * as React from 'react';
4
5
  declare const inputVariants: TVReturnType<{
5
6
  variant: {
@@ -138,7 +139,7 @@ declare const inputVariants: TVReturnType<{
138
139
  };
139
140
  }>, unknown, unknown, undefined>>;
140
141
  export type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> & VariantProps<typeof inputVariants>;
141
- declare const Input: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<TVReturnType<{
142
+ declare const Input: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps< TVReturnType<{
142
143
  variant: {
143
144
  default: {
144
145
  input: string;
@@ -1,8 +1,9 @@
1
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
1
2
  import { TVConfig } from 'tailwind-variants/dist/config.js';
2
- import { TVReturnType, VariantProps } from 'tailwind-variants';
3
+
3
4
  import * as React from 'react';
4
5
  import * as LabelPrimitive from '@radix-ui/react-label';
5
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<TVReturnType<{
6
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps< TVReturnType<{
6
7
  size: {
7
8
  sm: string;
8
9
  base: string;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import * as SliderPrimitive from '@radix-ui/react-slider';
3
+ declare const Slider: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
4
+ export { Slider };
@@ -1,7 +1,8 @@
1
+ import { VariantProps, TVReturnType } from 'tailwind-variants';
1
2
  import { TVConfig } from 'tailwind-variants/dist/config.js';
2
- import { TVReturnType, VariantProps } from 'tailwind-variants';
3
+
3
4
  import * as React from 'react';
4
- declare const Textarea: React.ForwardRefExoticComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement> & VariantProps<TVReturnType<{
5
+ declare const Textarea: React.ForwardRefExoticComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement> & VariantProps< TVReturnType<{
5
6
  variant: {
6
7
  default: {
7
8
  textarea: string;
@@ -1,4 +1,6 @@
1
- import type { ElementType } from 'react';
2
- export declare const Inputs: Map<string, ElementType>;
1
+ import { ElementType } from 'react';
2
+ import { ComponentConfig } from '../types';
3
+
4
+ export declare const Inputs: Map<string, ComponentConfig>;
3
5
  export declare const Containers: Map<string, ElementType>;
4
6
  export declare const components: Map<string, ElementType>;
@@ -1,5 +1,6 @@
1
- import type { WithChildren } from 'twintag-types/dom';
2
- import { type FC } from 'react';
1
+ import { WithChildren } from 'twintag-types/dom';
2
+ import { FC } from 'react';
3
+
3
4
  type AccordionProps = {
4
5
  subtype?: 'item' | 'multiple' | 'single';
5
6
  label?: string;
@@ -1,5 +1,6 @@
1
- import type { FC } from 'react';
2
- import type { WithChildren } from 'twintag-types/dom';
1
+ import { FC } from 'react';
2
+ import { WithChildren } from 'twintag-types/dom';
3
+
3
4
  type Props = {
4
5
  label?: string;
5
6
  } & WithChildren;
@@ -1,3 +1,5 @@
1
- import type { FC } from 'react';
2
- import type { Props } from '../../types';
1
+ import { FC } from 'react';
2
+ import { Props } from '../../types';
3
+
4
+ export declare const DEFAULT_CHECKBOX_VALUE = false;
3
5
  export declare const Checkbox: FC<Props>;
@@ -1,3 +1,5 @@
1
- import type { Props } from '../../types';
1
+ import { Props } from '../../types';
2
+
2
3
  import * as React from 'react';
4
+ export declare const DEFAULT_DATE_PICKER_VALUE: null;
3
5
  export declare const DatePicker: React.FC<Props>;
@@ -1,3 +1,5 @@
1
- import type { FC } from 'react';
2
- import type { Props } from '../../types';
1
+ import { FC } from 'react';
2
+ import { Props } from '../../types';
3
+
4
+ export declare const DEFAULT_FILE_VALUE = "";
3
5
  export declare const File: FC<Props>;