autoforma 1.0.38 → 1.0.41

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 (44) hide show
  1. package/README.md +237 -157
  2. package/dist/components/AutoForm/AutoForm.d.ts +3 -0
  3. package/dist/components/AutoForm/AutoForm.types.d.ts +23 -0
  4. package/dist/components/AutoForm/index.d.ts +0 -0
  5. package/dist/fields/FieldRenderer/DefaultFieldRender.d.ts +10 -0
  6. package/dist/fields/FieldRenderer/FieldLayoutWrapper.d.ts +9 -0
  7. package/dist/fields/FieldRenderer/FieldRenderer.d.ts +3 -0
  8. package/dist/fields/FieldRenderer/FieldRenderer.types.d.ts +10 -0
  9. package/dist/fields/renderer.types.d.ts +9 -0
  10. package/dist/fields/renderers/ArrayFieldRenderer.d.ts +6 -0
  11. package/dist/fields/renderers/CheckBoxFieldRenderer.d.ts +4 -0
  12. package/dist/fields/renderers/DateFieldRenderer.d.ts +4 -0
  13. package/dist/fields/renderers/DateTimeFieldRenderer.d.ts +4 -0
  14. package/dist/fields/renderers/NumberFieldRenderer.d.ts +4 -0
  15. package/dist/fields/renderers/ObjectFieldRenderer.d.ts +6 -0
  16. package/dist/fields/renderers/RichTextEditorFieldRenderer.d.ts +4 -0
  17. package/dist/fields/renderers/SelectFieldRenderer.d.ts +4 -0
  18. package/dist/fields/renderers/SwitchFieldRenderer.d.ts +4 -0
  19. package/dist/fields/renderers/TagsFieldRenderer.d.ts +4 -0
  20. package/dist/fields/renderers/TextFieldRenderer.d.ts +4 -0
  21. package/dist/fields/renderers/TimeFieldRenderer.d.ts +4 -0
  22. package/dist/fields/types.d.ts +61 -0
  23. package/dist/fields/utils/layout.utils.d.ts +5 -0
  24. package/dist/fields/utils/values.utils.d.ts +3 -0
  25. package/dist/index.cjs.js +145 -10
  26. package/dist/index.d.ts +4 -3
  27. package/dist/index.es.js +21052 -3755
  28. package/dist/theme.d.ts +6 -6
  29. package/package.json +34 -4
  30. package/dist/components/AutoForm.d.ts +0 -18
  31. package/dist/components/FieldRender.d.ts +0 -16
  32. package/dist/components/fields/ArrayField.d.ts +0 -13
  33. package/dist/components/fields/CheckField.d.ts +0 -7
  34. package/dist/components/fields/DateField.d.ts +0 -6
  35. package/dist/components/fields/DateTimeField.d.ts +0 -6
  36. package/dist/components/fields/NumberField.d.ts +0 -6
  37. package/dist/components/fields/ObjectField.d.ts +0 -9
  38. package/dist/components/fields/SelectField.d.ts +0 -10
  39. package/dist/components/fields/TextAreaField.d.ts +0 -6
  40. package/dist/components/fields/TextField.d.ts +0 -6
  41. package/dist/components/fields/TimeField.d.ts +0 -6
  42. package/dist/types/custom-render.d.ts +0 -11
  43. package/dist/types/field.d.ts +0 -31
  44. package/dist/types/form.d.ts +0 -7
package/dist/theme.d.ts CHANGED
@@ -70,9 +70,9 @@ export declare const theme: {
70
70
  } | undefined;
71
71
  radius?: {
72
72
  [x: string & {}]: string | undefined;
73
+ md?: string | undefined;
73
74
  xs?: string | undefined;
74
75
  sm?: string | undefined;
75
- md?: string | undefined;
76
76
  lg?: string | undefined;
77
77
  xl?: string | undefined;
78
78
  } | undefined;
@@ -80,41 +80,41 @@ export declare const theme: {
80
80
  spacing?: {
81
81
  [x: number]: string | undefined;
82
82
  [x: string & {}]: string | undefined;
83
+ md?: string | undefined;
83
84
  xs?: string | undefined;
84
85
  sm?: string | undefined;
85
- md?: string | undefined;
86
86
  lg?: string | undefined;
87
87
  xl?: string | undefined;
88
88
  } | undefined;
89
89
  fontSizes?: {
90
90
  [x: string & {}]: string | undefined;
91
+ md?: string | undefined;
91
92
  xs?: string | undefined;
92
93
  sm?: string | undefined;
93
- md?: string | undefined;
94
94
  lg?: string | undefined;
95
95
  xl?: string | undefined;
96
96
  } | undefined;
97
97
  lineHeights?: {
98
98
  [x: string & {}]: string | undefined;
99
+ md?: string | undefined;
99
100
  xs?: string | undefined;
100
101
  sm?: string | undefined;
101
- md?: string | undefined;
102
102
  lg?: string | undefined;
103
103
  xl?: string | undefined;
104
104
  } | undefined;
105
105
  breakpoints?: {
106
106
  [x: string & {}]: string | undefined;
107
+ md?: string | undefined;
107
108
  xs?: string | undefined;
108
109
  sm?: string | undefined;
109
- md?: string | undefined;
110
110
  lg?: string | undefined;
111
111
  xl?: string | undefined;
112
112
  } | undefined;
113
113
  shadows?: {
114
114
  [x: string & {}]: string | undefined;
115
+ md?: string | undefined;
115
116
  xs?: string | undefined;
116
117
  sm?: string | undefined;
117
- md?: string | undefined;
118
118
  lg?: string | undefined;
119
119
  xl?: string | undefined;
120
120
  } | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "1.0.38",
3
+ "version": "1.0.41",
4
4
  "description": "AutoForma is a dynamic form builder based on Mantine and React",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.es.js",
@@ -15,10 +15,28 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
+ "sideEffects": false,
18
19
  "type": "module",
19
- "homepage": "http://sajinael98.github.io/AutoForma",
20
+ "homepage": "https://sajinael98.github.io/AutoForma",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/sajinael98/AutoForma.git"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/sajinael98/AutoForma/issues"
27
+ },
28
+ "license": "MIT",
29
+ "keywords": [
30
+ "react",
31
+ "form",
32
+ "autoform",
33
+ "dynamic-form",
34
+ "mantine",
35
+ "form-builder",
36
+ "react-forms",
37
+ "typescript"
38
+ ],
20
39
  "scripts": {
21
- "dev": "vite",
22
40
  "build": "vite build",
23
41
  "preview": "vite preview",
24
42
  "typecheck": "tsc --noEmit",
@@ -33,11 +51,23 @@
33
51
  "storybook": "storybook dev -p 6006",
34
52
  "storybook:build": "storybook build",
35
53
  "predeploy": "npm run build-storybook",
36
- "deploy-storybook": "gh-pages -d storybook-static"
54
+ "deploy-storybook": "gh-pages -d storybook-static",
55
+ "dev": "vite --config vite.config.dev.ts"
37
56
  },
38
57
  "dependencies": {
39
58
  "@mantine/dates": "^7.17.5",
40
59
  "@mantine/form": "^7.17.5",
60
+ "@mantine/hooks": "^7.17.5",
61
+ "@mantine/tiptap": "^7.17.5",
62
+ "@tiptap/extension-highlight": "^3.6.6",
63
+ "@tiptap/extension-link": "^3.6.6",
64
+ "@tiptap/extension-subscript": "^3.6.6",
65
+ "@tiptap/extension-superscript": "^3.6.6",
66
+ "@tiptap/extension-text-align": "^3.6.6",
67
+ "@tiptap/extension-underline": "^3.6.6",
68
+ "@tiptap/pm": "^3.6.6",
69
+ "@tiptap/react": "^3.6.6",
70
+ "@tiptap/starter-kit": "^3.6.6",
41
71
  "dayjs": "^1.11.13",
42
72
  "react-router-dom": "^7.4.0"
43
73
  },
@@ -1,18 +0,0 @@
1
- import { FieldRenderCustomRender } from '../types/custom-render';
2
- import { FieldSchema } from '../types/field';
3
- import { FormValidateInput } from '@mantine/form';
4
- import { default as React } from 'react';
5
- export interface AutoFormProps {
6
- values?: Record<string, any>;
7
- schema: FieldSchema[];
8
- onSubmit: (values: Record<string, any>) => void;
9
- container: (Form: React.ReactNode, onSubmit: VoidFunction, readOnly?: true) => React.ReactNode;
10
- fieldContainer?: (field: React.ReactNode, fieldSchema: FieldSchema) => React.ReactNode;
11
- customRender?: FieldRenderCustomRender;
12
- validate?: FormValidateInput<Record<string, any>>;
13
- readOnly?: true;
14
- onFieldChange?: (name: string, oldValue: any, newValue: any, values: Record<string, any>) => Record<string, any> | Promise<Record<string, any>>;
15
- }
16
- export declare const validateRequiredFields: (schema: FieldSchema[], values: Record<string, any>, parentPath?: string) => Record<string, string>;
17
- declare const AutoForm: React.FC<AutoFormProps>;
18
- export default AutoForm;
@@ -1,16 +0,0 @@
1
- import { default as React } from 'react';
2
- import { FieldRenderCustomRender } from '../types/custom-render';
3
- import { ArrayFieldOptions, FieldSchema } from '../types/field';
4
- interface FieldRenderProps {
5
- field: FieldSchema;
6
- value: any;
7
- error?: React.ReactNode | Record<string, React.ReactNode>;
8
- onChange: (name: string, value: any) => void;
9
- formValues: Record<string, any>;
10
- fieldContainer?: (field: React.ReactNode, fieldSchema: FieldSchema) => React.ReactNode;
11
- customRender?: FieldRenderCustomRender;
12
- readOnly?: true;
13
- }
14
- export declare function getArrayOptions(name: string, onChange: (name: string, value: any) => void, value: Record<string, any>[]): ArrayFieldOptions;
15
- declare const FieldRender: React.FC<FieldRenderProps>;
16
- export default FieldRender;
@@ -1,13 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps, FieldSchema } from '../../types/field';
3
- interface ArrayFieldProps extends BaseFieldProps<Record<string, any>[]> {
4
- fields: FieldSchema[];
5
- options: {
6
- addElement: (val: Record<string, any>) => void;
7
- replaceElement: (index: number, val: Record<string, any>) => void;
8
- removeElement: (index: number) => void;
9
- };
10
- error?: Record<string, React.ReactNode>;
11
- }
12
- declare const ArrayField: React.FC<ArrayFieldProps>;
13
- export default ArrayField;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface CheckFieldProps extends BaseFieldProps<boolean> {
4
- label: string;
5
- }
6
- declare const CheckField: React.FC<CheckFieldProps>;
7
- export default CheckField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface DateFieldProps extends BaseFieldProps<Date> {
4
- }
5
- declare const DateField: React.FC<DateFieldProps>;
6
- export default DateField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface DateTimeFieldProps extends BaseFieldProps<Date> {
4
- }
5
- declare const DateTimeField: React.FC<DateTimeFieldProps>;
6
- export default DateTimeField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface NumberFieldProps extends BaseFieldProps<number> {
4
- }
5
- declare const NumberField: React.FC<NumberFieldProps>;
6
- export default NumberField;
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps, FieldSchema } from '../../types/field';
3
- interface ObjectFieldProps extends BaseFieldProps<Record<string, any>> {
4
- fields: FieldSchema[];
5
- formValues: Record<string, any>;
6
- error?: Record<string, React.ReactNode>;
7
- }
8
- declare const ObjectField: React.FC<ObjectFieldProps>;
9
- export default ObjectField;
@@ -1,10 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface SelectFieldProps extends BaseFieldProps<string> {
4
- data: {
5
- label: string;
6
- value: string;
7
- }[];
8
- }
9
- declare const SelectField: React.FC<SelectFieldProps>;
10
- export default SelectField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface TextAreaFieldProps extends BaseFieldProps<string> {
4
- }
5
- declare const TextAreaField: React.FC<TextAreaFieldProps>;
6
- export default TextAreaField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface TextFieldProps extends BaseFieldProps<string> {
4
- }
5
- declare const TextField: React.FC<TextFieldProps>;
6
- export default TextField;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- import { BaseFieldProps } from '../../types/field';
3
- interface TimeFieldProps extends BaseFieldProps<string> {
4
- }
5
- declare const TimeField: React.FC<TimeFieldProps>;
6
- export default TimeField;
@@ -1,11 +0,0 @@
1
- import { ArrayFieldOptions, FieldSchema } from './field';
2
- export type FieldRenderCustomRender = (field: FieldSchema, value: any, error: React.ReactNode | Record<string, React.ReactNode>, onChange: (name: string, value: any) => void, formValues: Record<string, any>, options?: ArrayFieldOptions, readOnly?: true) => React.ReactNode;
3
- export interface CustomFieldRender {
4
- field: FieldSchema;
5
- value: any;
6
- error: React.ReactNode | Record<string, React.ReactNode>;
7
- onChange: (name: string, value: any) => void;
8
- formValues: Record<string, any>;
9
- options?: ArrayFieldOptions;
10
- readOnly?: true;
11
- }
@@ -1,31 +0,0 @@
1
- export type FieldType = "text" | "number" | "object" | "array" | "check" | "select" | "textarea" | "date" | "datetime" | "time";
2
- export interface FieldSchema {
3
- name: string;
4
- type: FieldType;
5
- label: string;
6
- description?: string;
7
- placeholder?: string;
8
- extra?: Record<string, any>;
9
- disabled?: (values: Record<string, any>) => boolean | boolean;
10
- visible?: (values: Record<string, any>) => boolean | boolean;
11
- initialValue?: any;
12
- required?: true;
13
- readOnly?: true;
14
- fields?: FieldSchema[];
15
- data?: {
16
- label: string;
17
- value: string;
18
- }[];
19
- meta?: Record<string, any>;
20
- }
21
- export interface BaseFieldProps<T> {
22
- name: string;
23
- value: T;
24
- onChange: (name: string, value: T | null) => void;
25
- readOnly?: true;
26
- }
27
- export type ArrayFieldOptions = {
28
- addElement: (value: Record<string, any>) => void;
29
- replaceElement: (index: number, val: Record<string, any>) => void;
30
- removeElement: (index: number) => void;
31
- };
@@ -1,7 +0,0 @@
1
- import { FieldSchema } from './field';
2
- export interface FormSchema {
3
- fields: FieldSchema[];
4
- onSubmit?: (values: Record<string, any>) => void;
5
- formData?: Record<string, any>;
6
- initialValues?: Record<string, any>;
7
- }