@tachui/forms 0.7.1-alpha → 0.8.1-alpha

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 (90) hide show
  1. package/README.md +87 -272
  2. package/dist/DatePicker-D5nRFTUm.js +475 -0
  3. package/dist/DatePicker-D5nRFTUm.js.map +1 -0
  4. package/dist/Select-yZyKooXk.js +945 -0
  5. package/dist/Select-yZyKooXk.js.map +1 -0
  6. package/dist/Slider-0-oal5YR.js +644 -0
  7. package/dist/Slider-0-oal5YR.js.map +1 -0
  8. package/dist/TextField-hX15dY3U.js +509 -0
  9. package/dist/TextField-hX15dY3U.js.map +1 -0
  10. package/dist/components/advanced/Slider.d.ts +190 -0
  11. package/dist/components/advanced/Slider.d.ts.map +1 -0
  12. package/dist/components/advanced/Stepper.d.ts +161 -0
  13. package/dist/components/advanced/Stepper.d.ts.map +1 -0
  14. package/dist/components/advanced/index.d.ts +15 -0
  15. package/dist/components/advanced/index.d.ts.map +1 -0
  16. package/dist/components/advanced/index.js +6 -0
  17. package/dist/components/advanced/index.js.map +1 -0
  18. package/dist/components/date-picker/DatePicker.d.ts +126 -0
  19. package/dist/components/date-picker/DatePicker.d.ts.map +1 -0
  20. package/dist/components/date-picker/index.d.ts +14 -0
  21. package/dist/components/date-picker/index.d.ts.map +1 -0
  22. package/dist/components/date-picker/index.js +5 -0
  23. package/dist/components/date-picker/index.js.map +1 -0
  24. package/dist/components/form-container/index.d.ts +58 -0
  25. package/dist/components/form-container/index.d.ts.map +1 -0
  26. package/dist/components/selection/Checkbox.d.ts.map +1 -0
  27. package/dist/components/selection/Radio.d.ts.map +1 -0
  28. package/dist/components/selection/Select.d.ts.map +1 -0
  29. package/dist/components/selection/index.d.ts +68 -0
  30. package/dist/components/selection/index.d.ts.map +1 -0
  31. package/dist/components/selection/index.js +12 -0
  32. package/dist/components/selection/index.js.map +1 -0
  33. package/dist/components/text-input/TextField.d.ts.map +1 -0
  34. package/dist/components/text-input/index.d.ts +8 -0
  35. package/dist/components/text-input/index.d.ts.map +1 -0
  36. package/dist/components/text-input/index.js +18 -0
  37. package/dist/components/text-input/index.js.map +1 -0
  38. package/dist/{state/index.js → index-D3WfkqVv.js} +15 -8
  39. package/dist/index-D3WfkqVv.js.map +1 -0
  40. package/dist/index.d.ts +10 -15
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +198 -376
  43. package/dist/index.js.map +1 -0
  44. package/dist/state/index.d.ts.map +1 -1
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/utils/index.d.ts +19 -0
  47. package/dist/utils/index.d.ts.map +1 -0
  48. package/dist/validation/component-validation.d.ts +11 -2
  49. package/dist/validation/component-validation.d.ts.map +1 -1
  50. package/dist/validation/index.d.ts.map +1 -1
  51. package/dist/validation/index.js +282 -191
  52. package/dist/validation/index.js.map +1 -0
  53. package/package.json +53 -39
  54. package/src/components/advanced/Slider.ts +722 -0
  55. package/src/components/advanced/Stepper.ts +715 -0
  56. package/src/components/advanced/index.ts +20 -0
  57. package/src/components/date-picker/DatePicker.ts +925 -0
  58. package/src/components/date-picker/index.ts +20 -0
  59. package/src/components/form-container/index.ts +266 -0
  60. package/src/components/selection/Checkbox.ts +478 -0
  61. package/src/components/selection/Radio.ts +470 -0
  62. package/src/components/selection/Select.ts +620 -0
  63. package/src/components/selection/index.ts +81 -0
  64. package/src/components/text-input/TextField.ts +728 -0
  65. package/src/components/text-input/index.ts +35 -0
  66. package/src/index.ts +48 -0
  67. package/src/state/index.ts +544 -0
  68. package/src/types/index.ts +579 -0
  69. package/src/utils/formatters.ts +184 -0
  70. package/src/utils/index.ts +57 -0
  71. package/src/validation/component-validation.ts +429 -0
  72. package/src/validation/index.ts +641 -0
  73. package/dist/TextField-CGBM3x7K.js +0 -1799
  74. package/dist/components/Form.d.ts +0 -76
  75. package/dist/components/Form.d.ts.map +0 -1
  76. package/dist/components/index.d.ts +0 -9
  77. package/dist/components/index.d.ts.map +0 -1
  78. package/dist/components/index.js +0 -28
  79. package/dist/components/input/Checkbox.d.ts.map +0 -1
  80. package/dist/components/input/Radio.d.ts.map +0 -1
  81. package/dist/components/input/Select.d.ts.map +0 -1
  82. package/dist/components/input/TextField.d.ts.map +0 -1
  83. package/dist/components/input/index.d.ts +0 -11
  84. package/dist/components/input/index.d.ts.map +0 -1
  85. package/dist/utils/validators.d.ts +0 -101
  86. package/dist/utils/validators.d.ts.map +0 -1
  87. /package/dist/components/{input → selection}/Checkbox.d.ts +0 -0
  88. /package/dist/components/{input → selection}/Radio.d.ts +0 -0
  89. /package/dist/components/{input → selection}/Select.d.ts +0 -0
  90. /package/dist/components/{input → text-input}/TextField.d.ts +0 -0
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Form Container Components
3
+ *
4
+ * Core form structure and state management components
5
+ */
6
+ import type { FormState, FormSubmitHandler, FieldValidation } from '../../types';
7
+ export interface FormProps {
8
+ onSubmit?: FormSubmitHandler;
9
+ validation?: Record<string, FieldValidation>;
10
+ initialValues?: Record<string, any>;
11
+ children?: any;
12
+ className?: string;
13
+ id?: string;
14
+ resetOnSubmit?: boolean;
15
+ validateOnSubmit?: boolean;
16
+ [key: string]: any;
17
+ }
18
+ export interface FormSectionProps {
19
+ title?: string;
20
+ description?: string;
21
+ children?: any;
22
+ className?: string;
23
+ collapsible?: boolean;
24
+ defaultExpanded?: boolean;
25
+ [key: string]: any;
26
+ }
27
+ export declare class Form {
28
+ readonly properties: FormProps;
29
+ readonly type = "form-container";
30
+ private formState;
31
+ constructor(properties: FormProps);
32
+ get state(): FormState;
33
+ handleSubmit(): Promise<void>;
34
+ register(fieldName: string, validation?: FieldValidation): void;
35
+ setValue(fieldName: string, value: any): void;
36
+ getValue(fieldName: string): any;
37
+ getError(fieldName: string): string | undefined;
38
+ validateField(fieldName: string): Promise<boolean>;
39
+ validateForm(): Promise<boolean>;
40
+ resetForm(): void;
41
+ render(): HTMLElement;
42
+ }
43
+ export declare class FormSection {
44
+ readonly properties: FormSectionProps;
45
+ readonly type = "form-section";
46
+ private expanded;
47
+ private setExpanded;
48
+ constructor(properties: FormSectionProps);
49
+ get isExpanded(): boolean;
50
+ toggle(): void;
51
+ expand(): void;
52
+ collapse(): void;
53
+ render(): HTMLElement;
54
+ }
55
+ export declare function form(props: FormProps): Form;
56
+ export declare function formSection(props: FormSectionProps): FormSection;
57
+ export type { FormState, FormSubmitHandler, FieldValidation };
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form-container/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,qBAAa,IAAI;aAIa,UAAU,EAAE,SAAS;IAHjD,QAAQ,CAAC,IAAI,oBAAmB;IAChC,OAAO,CAAC,SAAS,CAAoC;gBAEzB,UAAU,EAAE,SAAS;IAajD,IAAI,KAAK,IAAI,SAAS,CAErB;IAEK,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAI/D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAI7C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAIhC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,SAAS,IAAI,IAAI;IAIjB,MAAM,IAAI,WAAW;CA2CtB;AAED,qBAAa,WAAW;aAKM,UAAU,EAAE,gBAAgB;IAJxD,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAA0B;gBAEjB,UAAU,EAAE,gBAAgB;IAQxD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,MAAM,IAAI,IAAI;IAMd,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,IAAI;IAMhB,MAAM,IAAI,WAAW;CA2EtB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAE3C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW,CAEhE;AAGD,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/selection/Checkbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAA;AAGhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAwQ7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,CAC5B,aAAa,GAAG;IACd,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACpC,CAoCF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,GAAG,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9D,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACrC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAkIA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/selection/Radio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAA;AAGhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,UAAU,CAmNvC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,GAAG,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC7C,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACrC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CA2NA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/selection/Select.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAA;AAUhE,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAA;AAE5D;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,WAAW,CAukBzC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,WAAW,CAE9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,WAAW,CAE3C,CAAA"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Selection Components
3
+ *
4
+ * Checkbox, radio, select, and other selection input components
5
+ */
6
+ export { Checkbox, CheckboxGroup, Switch } from './Checkbox';
7
+ export { Radio, RadioGroup } from './Radio';
8
+ export { Combobox, MultiSelect, Select } from './Select';
9
+ export type CheckboxGroupProps = {
10
+ name: string;
11
+ label?: string;
12
+ options: Array<{
13
+ value: any;
14
+ label: string;
15
+ disabled?: boolean;
16
+ }>;
17
+ value?: any[];
18
+ defaultValue?: any[];
19
+ onChange?: (name: string, value: any[], selected: any) => void;
20
+ validation?: any;
21
+ error?: string;
22
+ helperText?: string;
23
+ disabled?: boolean;
24
+ required?: boolean;
25
+ direction?: 'horizontal' | 'vertical';
26
+ id?: string;
27
+ [key: string]: any;
28
+ };
29
+ export type RadioGroupProps = {
30
+ name: string;
31
+ label?: string;
32
+ options: Array<{
33
+ value: any;
34
+ label: string;
35
+ disabled?: boolean;
36
+ }>;
37
+ value?: any;
38
+ defaultValue?: any;
39
+ onChange?: (name: string, value: any) => void;
40
+ validation?: any;
41
+ error?: string;
42
+ helperText?: string;
43
+ disabled?: boolean;
44
+ required?: boolean;
45
+ direction?: 'horizontal' | 'vertical';
46
+ id?: string;
47
+ [key: string]: any;
48
+ };
49
+ export interface SwitchProps {
50
+ name: string;
51
+ label?: string;
52
+ checked?: boolean;
53
+ defaultChecked?: boolean;
54
+ indeterminate?: boolean;
55
+ disabled?: boolean;
56
+ required?: boolean;
57
+ validation?: any;
58
+ onChange?: any;
59
+ onBlur?: any;
60
+ onFocus?: any;
61
+ error?: string;
62
+ helperText?: string;
63
+ size?: 'small' | 'medium' | 'large';
64
+ [key: string]: any;
65
+ }
66
+ export type { CheckboxProps, RadioProps, SelectProps, SelectOption, } from '../../types';
67
+ export type OptionValue = any;
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/selection/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { C as s, a as e, c, M as b, R as t, b as i, d as r, S as x } from "../../Select-yZyKooXk.js";
2
+ export {
3
+ s as Checkbox,
4
+ e as CheckboxGroup,
5
+ c as Combobox,
6
+ b as MultiSelect,
7
+ t as Radio,
8
+ i as RadioGroup,
9
+ r as Select,
10
+ x as Switch
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/TextField.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,cAAc,CAAA;AAGxE,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAejE;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CA8Z/C,CAAA;AASD,eAAO,MAAM,UAAU,EAAE,SAAS,CAChC,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAC1C,CAcF,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,CACnC,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CA6BF,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,cAAc,CASjD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAC1C,CAaF,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,CAChC,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,IAAI,GAAG,eAAe,CAAA;CAChC,CAiBF,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,CACjC,cAAc,GAAG;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAiCF,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,CACrC,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAC1C,CAgBF,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAC1C,CAgBF,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,CACrC,cAAc,GAAG;IACf,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CAC1C,CAgBF,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,cAAc,CAM9C,CAAA;AAGD,eAAO,MAAM,SAAS,EAAE,SAAS,CAC/B,cAAc,GAAG;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAwBF,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CAW/C,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,CAAC,cAAc,CAMhD,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Text Input Components
3
+ *
4
+ * All text-based input components with validation
5
+ */
6
+ export { TextField, EmailField, PasswordField, SearchField, URLField, PhoneField, NumberField, CreditCardField, SSNField, PostalCodeField, TextArea, DateField, TimeField, ColorField, } from './TextField';
7
+ export type { TextFieldProps, NumberFieldProps, TextFieldType, TextFieldFormatter, TextFieldParser, AutoCapitalization, KeyboardType, ReturnKeyType, } from '../../types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAA;AAGpB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { f as d, C as s, D as i, E as l, N as F, P as r, a as o, c as t, b as C, S as m, d as P, T as S, e as T, U as x } from "../../TextField-hX15dY3U.js";
2
+ export {
3
+ d as ColorField,
4
+ s as CreditCardField,
5
+ i as DateField,
6
+ l as EmailField,
7
+ F as NumberField,
8
+ r as PasswordField,
9
+ o as PhoneField,
10
+ t as PostalCodeField,
11
+ C as SSNField,
12
+ m as SearchField,
13
+ P as TextArea,
14
+ S as TextField,
15
+ T as TimeField,
16
+ x as URLField
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,5 @@
1
1
  import { createSignal as v, createComputed as O, createEffect as C } from "@tachui/core";
2
- import { validateValueAsync as k } from "../validation/index.js";
2
+ import { validateValueAsync as k } from "./validation/index.js";
3
3
  function P(c) {
4
4
  const [r, n] = v(c), [s, l] = v(void 0), [h, g] = v(!1), [u, p] = v(!1), [V, E] = v(!1), [F, b] = v(!1);
5
5
  C(() => {
@@ -138,7 +138,10 @@ function $(c = {}) {
138
138
  async function T(c, r) {
139
139
  return !r.rules || r.rules.length === 0 ? { valid: !0 } : r.debounceMs ? new Promise((n) => {
140
140
  setTimeout(async () => {
141
- const s = await k(c.value, r.rules);
141
+ const s = await k(
142
+ c.value,
143
+ r.rules
144
+ );
142
145
  n(s);
143
146
  }, r.debounceMs);
144
147
  }) : k(c.value, r.rules);
@@ -193,7 +196,9 @@ function B(c, r, n) {
193
196
  };
194
197
  }
195
198
  function D(c, r = {}) {
196
- const [n, s] = v(0), [l, h] = v(/* @__PURE__ */ new Set()), g = /* @__PURE__ */ new Map();
199
+ const [n, s] = v(0), [l, h] = v(
200
+ /* @__PURE__ */ new Set()
201
+ ), g = /* @__PURE__ */ new Map();
197
202
  return c.forEach((a, f) => {
198
203
  const i = Object.keys(r).filter((y) => y.startsWith(`step_${f}_`)).reduce(
199
204
  (y, S) => {
@@ -226,7 +231,9 @@ function D(c, r = {}) {
226
231
  }), a;
227
232
  },
228
233
  validateAllSteps: async () => {
229
- const a = Array.from(g.values()).map((i) => i.validateForm());
234
+ const a = Array.from(g.values()).map(
235
+ (i) => i.validateForm()
236
+ );
230
237
  return (await Promise.all(a)).every((i) => i);
231
238
  },
232
239
  getStepForm: (a) => g.get(a),
@@ -235,8 +242,8 @@ function D(c, r = {}) {
235
242
  };
236
243
  }
237
244
  export {
238
- B as createField,
239
- $ as createFormState,
240
- D as createMultiStepFormState,
241
- k as validateValueAsync
245
+ B as a,
246
+ D as b,
247
+ $ as c
242
248
  };
249
+ //# sourceMappingURL=index-D3WfkqVv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D3WfkqVv.js","sources":["../src/state/index.ts"],"sourcesContent":["/**\n * TachUI Forms State Management\n *\n * Reactive form state management with validation, field tracking,\n * and form lifecycle management using TachUI's signal system.\n */\n\nimport { createComputed, createEffect, createSignal } from '@tachui/core'\nimport type {\n FieldState,\n FieldValidation,\n FormState,\n FormSubmitHandler,\n UseFormReturn,\n ValidationResult,\n} from '../types'\nimport { validateValueAsync } from '../validation'\n\n/**\n * Create a reactive field state\n */\nfunction createFieldState<T = any>(\n initialValue?: T\n): {\n state: () => FieldState<T>\n setValue: (value: T) => void\n setError: (error: string | undefined) => void\n setTouched: (touched: boolean) => void\n setFocused: (focused: boolean) => void\n setValidating: (validating: boolean) => void\n} {\n const [value, setValue] = createSignal<T>(initialValue as T)\n const [error, setError] = createSignal<string | undefined>(undefined)\n const [touched, setTouched] = createSignal(false)\n const [dirty, setDirty] = createSignal(false)\n const [focused, setFocused] = createSignal(false)\n const [validating, setValidating] = createSignal(false)\n\n // Mark dirty when value changes from initial\n createEffect(() => {\n const currentValue = value()\n if (currentValue !== initialValue) {\n setDirty(true)\n }\n })\n\n const valid = createComputed(() => !error())\n\n const state = createComputed(\n (): FieldState<T> => ({\n value: value(),\n error: error(),\n touched: touched(),\n dirty: dirty(),\n valid: valid(),\n validating: validating(),\n focused: focused(),\n })\n )\n\n return {\n state,\n setValue: (newValue: T) => {\n setValue(newValue)\n // Mark dirty if value changed from initial\n if (newValue !== initialValue) {\n setDirty(true)\n } else {\n setDirty(false)\n }\n if (touched()) {\n // Trigger validation if field is touched\n // This will be handled by the form's validation system\n }\n },\n setError,\n setTouched,\n setFocused,\n setValidating,\n }\n}\n\n/**\n * Create a form state manager\n */\nexport function createFormState(\n initialValues: Record<string, any> = {}\n): UseFormReturn {\n const fields = new Map<string, ReturnType<typeof createFieldState>>()\n const validations = new Map<string, FieldValidation>()\n\n const [submitting, setSubmitting] = createSignal(false)\n const [submitted, setSubmitted] = createSignal(false)\n\n // Auto-register fields from initial values\n Object.keys(initialValues).forEach(name => {\n const fieldManager = createFieldState(initialValues[name])\n fields.set(name, fieldManager)\n })\n\n // Reactive form state\n const formState = createComputed((): FormState => {\n const fieldStates: Record<string, FieldState> = {}\n const errors: Record<string, string> = {}\n const touched: Record<string, boolean> = {}\n let valid = true\n let dirty = false\n\n for (const [name, fieldManager] of fields) {\n const fieldState = fieldManager.state()\n fieldStates[name] = fieldState\n\n if (fieldState.error) {\n errors[name] = fieldState.error\n valid = false\n }\n\n if (fieldState.touched) {\n touched[name] = true\n }\n\n if (fieldState.dirty) {\n dirty = true\n }\n }\n\n return {\n fields: fieldStates,\n valid,\n dirty,\n submitting: submitting(),\n submitted: submitted(),\n errors,\n touched,\n }\n })\n\n // Register a field\n const register = (name: string, validation?: FieldValidation) => {\n if (fields.has(name)) {\n // Field already exists, just update validation if provided\n if (validation) {\n validations.set(name, validation)\n }\n return\n }\n\n const fieldManager = createFieldState(initialValues[name])\n fields.set(name, fieldManager)\n\n if (validation) {\n validations.set(name, validation)\n }\n\n // Set up validation effects\n if (validation) {\n const fieldState = fieldManager.state\n\n createEffect(async () => {\n const state = fieldState()\n const shouldValidate =\n validation.validateOn === 'change' ||\n (validation.validateOn === 'blur' && state.touched) ||\n (validation.validateOn === 'submit' && submitted())\n\n if (shouldValidate && (state.dirty || state.touched)) {\n fieldManager.setValidating(true)\n\n try {\n const result = await validateFieldAsync(state, validation)\n fieldManager.setError(result.valid ? undefined : result.message)\n } catch (_error) {\n fieldManager.setError('Validation error occurred')\n } finally {\n fieldManager.setValidating(false)\n }\n }\n })\n }\n }\n\n // Unregister a field\n const unregister = (name: string) => {\n fields.delete(name)\n validations.delete(name)\n }\n\n // Set field value\n const setValue = (name: string, value: any) => {\n const fieldManager = fields.get(name)\n if (fieldManager) {\n fieldManager.setValue(value)\n }\n }\n\n // Get field value\n const getValue = (name: string) => {\n const fieldManager = fields.get(name)\n return fieldManager?.state().value\n }\n\n // Get field error\n const getError = (name: string) => {\n const fieldManager = fields.get(name)\n return fieldManager?.state().error\n }\n\n // Validate a specific field\n const validateField = async (name: string): Promise<boolean> => {\n const fieldManager = fields.get(name)\n const validation = validations.get(name)\n\n if (!fieldManager || !validation) {\n return true\n }\n\n const fieldState = fieldManager.state()\n fieldManager.setValidating(true)\n\n try {\n const result = await validateFieldAsync(fieldState, validation)\n fieldManager.setError(result.valid ? undefined : result.message)\n return result.valid\n } catch (_error) {\n fieldManager.setError('Validation error occurred')\n return false\n } finally {\n fieldManager.setValidating(false)\n }\n }\n\n // Validate entire form\n const validateForm = async (): Promise<boolean> => {\n const validationPromises = Array.from(fields.keys()).map(validateField)\n const results = await Promise.all(validationPromises)\n return results.every(result => result)\n }\n\n // Reset form to initial state\n const resetForm = () => {\n for (const [name, fieldManager] of fields) {\n fieldManager.setValue(initialValues[name])\n fieldManager.setError(undefined)\n fieldManager.setTouched(false)\n fieldManager.setFocused(false)\n fieldManager.setValidating(false)\n }\n setSubmitting(false)\n setSubmitted(false)\n }\n\n // Submit form\n const submitForm = async (handler?: FormSubmitHandler) => {\n setSubmitting(true)\n setSubmitted(true)\n\n try {\n // Validate all fields\n const isValid = await validateForm()\n\n if (isValid && handler) {\n // Collect form values\n const values: Record<string, any> = {}\n for (const [name, fieldManager] of fields) {\n values[name] = fieldManager.state().value\n }\n\n await handler(values, formState())\n }\n } finally {\n setSubmitting(false)\n }\n }\n\n // Watch for changes in specific fields\n const watch = (fieldNames?: string[]): Record<string, any> => {\n const values: Record<string, any> = {}\n const fieldsToWatch = fieldNames || Array.from(fields.keys())\n\n for (const name of fieldsToWatch) {\n if (fields.has(name)) {\n values[name] = getValue(name)\n }\n }\n\n return values\n }\n\n // Trigger validation for specific fields\n const trigger = async (fieldNames?: string[]): Promise<boolean> => {\n const fieldsToValidate = fieldNames || Array.from(fields.keys())\n const validationPromises = fieldsToValidate.map(validateField)\n const results = await Promise.all(validationPromises)\n return results.every(result => result)\n }\n\n return {\n fields: formState().fields,\n state: formState(),\n register,\n unregister,\n setValue,\n getValue,\n getError,\n validateField,\n validateForm,\n resetForm,\n submitForm,\n watch,\n trigger,\n }\n}\n\n/**\n * Async field validation helper\n */\nasync function validateFieldAsync(\n fieldState: FieldState,\n validation: FieldValidation\n): Promise<ValidationResult> {\n if (!validation.rules || validation.rules.length === 0) {\n return { valid: true }\n }\n\n // Use debounced validation if specified\n if (validation.debounceMs) {\n return new Promise(resolve => {\n setTimeout(async () => {\n const result = await validateValueAsync(\n fieldState.value,\n validation.rules!\n )\n resolve(result)\n }, validation.debounceMs)\n\n // Store timeout ID for potential cleanup\n // In a real implementation, you'd want to manage this better\n })\n }\n\n return validateValueAsync(fieldState.value, validation.rules)\n}\n\n/**\n * Form field hook for individual field management\n */\nexport function createField<T = any>(\n _name: string,\n initialValue?: T,\n validation?: FieldValidation\n): {\n value: () => T\n setValue: (value: T) => void\n error: () => string | undefined\n touched: () => boolean\n dirty: () => boolean\n valid: () => boolean\n validating: () => boolean\n focused: () => boolean\n onFocus: () => void\n onBlur: () => void\n validate: () => Promise<boolean>\n reset: () => void\n} {\n const fieldManager = createFieldState(initialValue)\n const fieldState = fieldManager.state\n\n // Validation effect\n if (validation) {\n createEffect(async () => {\n const state = fieldState()\n const shouldValidate =\n validation.validateOn === 'change' ||\n (validation.validateOn === 'blur' && state.touched)\n\n if (shouldValidate && (state.dirty || state.touched)) {\n fieldManager.setValidating(true)\n\n try {\n const result = await validateFieldAsync(state, validation)\n fieldManager.setError(result.valid ? undefined : result.message)\n } catch (_error) {\n fieldManager.setError('Validation error occurred')\n } finally {\n fieldManager.setValidating(false)\n }\n }\n })\n }\n\n const validate = async (): Promise<boolean> => {\n if (!validation) return true\n\n fieldManager.setValidating(true)\n try {\n const result = await validateFieldAsync(fieldState(), validation)\n fieldManager.setError(result.valid ? undefined : result.message)\n return result.valid\n } catch (_error) {\n fieldManager.setError('Validation error occurred')\n return false\n } finally {\n fieldManager.setValidating(false)\n }\n }\n\n const reset = () => {\n fieldManager.setValue(initialValue as T)\n fieldManager.setError(undefined)\n fieldManager.setTouched(false)\n fieldManager.setFocused(false)\n fieldManager.setValidating(false)\n }\n\n return {\n value: () => fieldState().value,\n setValue: fieldManager.setValue,\n error: () => fieldState().error,\n touched: () => fieldState().touched,\n dirty: () => fieldState().dirty,\n valid: () => fieldState().valid,\n validating: () => fieldState().validating,\n focused: () => fieldState().focused,\n onFocus: () => {\n fieldManager.setFocused(true)\n },\n onBlur: () => {\n fieldManager.setFocused(false)\n fieldManager.setTouched(true)\n },\n validate,\n reset,\n }\n}\n\n/**\n * Multi-step form state manager\n */\nexport function createMultiStepFormState(\n steps: string[],\n initialValues: Record<string, any> = {}\n) {\n const [currentStep, setCurrentStep] = createSignal(0)\n const [completedSteps, setCompletedSteps] = createSignal<Set<number>>(\n new Set()\n )\n const stepForms = new Map<number, UseFormReturn>()\n\n // Create form state for each step\n steps.forEach((_, index) => {\n const stepValues = Object.keys(initialValues)\n .filter(key => key.startsWith(`step_${index}_`))\n .reduce(\n (acc, key) => {\n const fieldName = key.replace(`step_${index}_`, '')\n acc[fieldName] = initialValues[key]\n return acc\n },\n {} as Record<string, any>\n )\n\n stepForms.set(index, createFormState(stepValues))\n })\n\n const nextStep = async (validateCurrent = true): Promise<boolean> => {\n const current = currentStep()\n const currentForm = stepForms.get(current)\n\n if (validateCurrent && currentForm) {\n const isValid = await currentForm.validateForm()\n if (!isValid) {\n return false\n }\n }\n\n if (current < steps.length - 1) {\n setCompletedSteps(prev => new Set([...prev, current]))\n setCurrentStep(current + 1)\n return true\n }\n\n return false\n }\n\n const previousStep = (): boolean => {\n const current = currentStep()\n if (current > 0) {\n setCurrentStep(current - 1)\n return true\n }\n return false\n }\n\n const goToStep = (stepIndex: number): boolean => {\n if (stepIndex >= 0 && stepIndex < steps.length) {\n setCurrentStep(stepIndex)\n return true\n }\n return false\n }\n\n const getCurrentForm = (): UseFormReturn | undefined => {\n return stepForms.get(currentStep())\n }\n\n const getAllValues = (): Record<string, any> => {\n const allValues: Record<string, any> = {}\n\n stepForms.forEach((form, stepIndex) => {\n const stepValues = form.watch()\n Object.keys(stepValues).forEach(fieldName => {\n allValues[`step_${stepIndex}_${fieldName}`] = stepValues[fieldName]\n })\n })\n\n return allValues\n }\n\n const validateAllSteps = async (): Promise<boolean> => {\n const validationPromises = Array.from(stepForms.values()).map(form =>\n form.validateForm()\n )\n const results = await Promise.all(validationPromises)\n return results.every(result => result)\n }\n\n return {\n currentStep,\n completedSteps,\n nextStep,\n previousStep,\n goToStep,\n getCurrentForm,\n getAllValues,\n validateAllSteps,\n getStepForm: (stepIndex: number) => stepForms.get(stepIndex),\n isStepCompleted: (stepIndex: number) => completedSteps().has(stepIndex),\n canGoToStep: (stepIndex: number) =>\n stepIndex <= currentStep() || completedSteps().has(stepIndex),\n }\n}\n\n// Export validation function for internal use\nexport { validateValueAsync } from '../validation'\n"],"names":["createFieldState","initialValue","value","setValue","createSignal","error","setError","touched","setTouched","dirty","setDirty","focused","setFocused","validating","setValidating","createEffect","valid","createComputed","newValue","createFormState","initialValues","fields","validations","submitting","setSubmitting","submitted","setSubmitted","name","fieldManager","formState","fieldStates","errors","fieldState","register","validation","state","result","validateFieldAsync","unregister","getValue","getError","validateField","validateForm","validationPromises","resetForm","submitForm","handler","values","watch","fieldNames","fieldsToWatch","trigger","resolve","validateValueAsync","createField","_name","validate","reset","createMultiStepFormState","steps","currentStep","setCurrentStep","completedSteps","setCompletedSteps","stepForms","_","index","stepValues","key","acc","fieldName","validateCurrent","current","currentForm","prev","stepIndex","allValues","form"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,21 +1,16 @@
1
1
  /**
2
- * TachUI Forms Plugin - Simplified Implementation
2
+ * TachUI Forms - Comprehensive Form Components and Validation
3
3
  *
4
- * Complete form solution for TachUI with validation, state management,
5
- * and SwiftUI-inspired component APIs. Reduces bundle size by ~35KB
6
- * for applications that don't need form functionality.
4
+ * Unified package combining all form functionality from @tachui/forms and @tachui/advanced-forms
5
+ * Provides 27 components with comprehensive validation and optimal tree-shaking
7
6
  */
8
- import type { TachUIPlugin, TachUIInstance } from '@tachui/core/plugins';
9
- /**
10
- * TachUI Forms Plugin Implementation - Simplified
11
- */
12
- declare const FormsPlugin: TachUIPlugin;
13
- export default FormsPlugin;
14
- export * from './components';
7
+ export * from './components/form-container';
8
+ export * from './components/text-input';
9
+ export * from './components/selection';
10
+ export * from './components/advanced';
11
+ export * from './components/date-picker';
15
12
  export * from './state';
16
- export * from './types';
17
- export { TextFieldFormatters, TextFieldParsers } from './utils/formatters';
18
- export { TextFieldValidators } from './utils/validators';
19
13
  export * from './validation';
20
- export declare const installFormsPlugin: (instance: TachUIInstance) => Promise<void>;
14
+ export * from './utils';
15
+ export type { ValidationRule, ValidationResult, FieldValidation, FieldState, TextFieldProps, NumberFieldProps, TextFieldFormatter, TextFieldParser, AutoCapitalization, KeyboardType, ReturnKeyType, } from './types';
21
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AA4CxE;;GAEG;AACH,QAAA,MAAM,WAAW,EAAE,YAmKlB,CAAA;AAGD,eAAe,WAAW,CAAA;AAG1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AAEvB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,cAAc,CAAA;AAG5B,eAAO,MAAM,kBAAkB,GAAU,UAAU,cAAc,kBAEhE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,6BAA6B,CAAA;AAG3C,cAAc,yBAAyB,CAAA;AAGvC,cAAc,wBAAwB,CAAA;AAGtC,cAAc,uBAAuB,CAAA;AAGrC,cAAc,0BAA0B,CAAA;AAGxC,cAAc,SAAS,CAAA;AAGvB,cAAc,cAAc,CAAA;AAG5B,cAAc,SAAS,CAAA;AAGvB,YAAY,EAEV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,UAAU,EAGV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAA"}