autoforma 1.0.85 → 1.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.
Files changed (54) hide show
  1. package/README.md +211 -157
  2. package/dist/components/AutoForm/AutoForm.d.ts +3 -0
  3. package/dist/components/AutoForm/AutoForm.types.d.ts +54 -0
  4. package/dist/components/AutoForm/context/FormContext.d.ts +3 -0
  5. package/dist/components/AutoForm/context/RenderersContext.d.ts +7 -0
  6. package/dist/components/AutoForm/context/UpdateFieldSchemaContext.d.ts +7 -0
  7. package/dist/components/AutoForm/index.d.ts +0 -0
  8. package/dist/fields/FieldRenderer/ArrayLayout.d.ts +4 -0
  9. package/dist/fields/FieldRenderer/DefaultFieldRender.d.ts +3 -0
  10. package/dist/fields/FieldRenderer/FieldLayoutWrapper.d.ts +9 -0
  11. package/dist/fields/FieldRenderer/FieldRenderer.d.ts +5 -0
  12. package/dist/fields/FieldRenderer/FieldRenderer.types.d.ts +7 -0
  13. package/dist/fields/FieldRenderer/ObjectLayout.d.ts +4 -0
  14. package/dist/fields/renderer-resolver/BuiltInHandler.d.ts +9 -0
  15. package/dist/fields/renderer-resolver/FieldNameHandler.d.ts +8 -0
  16. package/dist/fields/renderer-resolver/FieldTypeHandler.d.ts +8 -0
  17. package/dist/fields/renderer-resolver/RendererHandler.d.ts +6 -0
  18. package/dist/fields/renderer-resolver/RendererResolverChain.d.ts +7 -0
  19. package/dist/fields/renderer.types.d.ts +12 -0
  20. package/dist/fields/renderers/CheckBoxFieldRenderer.d.ts +4 -0
  21. package/dist/fields/renderers/DateFieldRenderer.d.ts +4 -0
  22. package/dist/fields/renderers/DateTimeFieldRenderer.d.ts +4 -0
  23. package/dist/fields/renderers/NumberFieldRenderer.d.ts +4 -0
  24. package/dist/fields/renderers/RichTextEditorFieldRenderer.d.ts +4 -0
  25. package/dist/fields/renderers/SelectFieldRenderer.d.ts +4 -0
  26. package/dist/fields/renderers/SwitchFieldRenderer.d.ts +4 -0
  27. package/dist/fields/renderers/TagsFieldRenderer.d.ts +4 -0
  28. package/dist/fields/renderers/TextFieldRenderer.d.ts +4 -0
  29. package/dist/fields/renderers/TimeFieldRenderer.d.ts +4 -0
  30. package/dist/fields/resolver/FieldSchemaResolver.d.ts +8 -0
  31. package/dist/fields/types.d.ts +58 -0
  32. package/dist/fields/utils/layout.utils.d.ts +5 -0
  33. package/dist/fields/utils/schema.utils.d.ts +2 -0
  34. package/dist/fields/utils/values.utils.d.ts +4 -0
  35. package/dist/index.cjs.js +179 -15
  36. package/dist/index.d.ts +4 -2
  37. package/dist/index.es.js +23472 -1062
  38. package/dist/theme.d.ts +2 -2
  39. package/package.json +47 -10
  40. package/dist/components/AutoForm.d.ts +0 -18
  41. package/dist/components/FieldRender.d.ts +0 -16
  42. package/dist/components/fields/ArrayField.d.ts +0 -13
  43. package/dist/components/fields/CheckField.d.ts +0 -7
  44. package/dist/components/fields/DateField.d.ts +0 -6
  45. package/dist/components/fields/DateTimeField.d.ts +0 -6
  46. package/dist/components/fields/NumberField.d.ts +0 -6
  47. package/dist/components/fields/ObjectField.d.ts +0 -9
  48. package/dist/components/fields/SelectField.d.ts +0 -10
  49. package/dist/components/fields/TextAreaField.d.ts +0 -6
  50. package/dist/components/fields/TextField.d.ts +0 -6
  51. package/dist/components/fields/TimeField.d.ts +0 -6
  52. package/dist/types/custom-render.d.ts +0 -11
  53. package/dist/types/field.d.ts +0 -30
  54. package/dist/types/form.d.ts +0 -7
package/dist/theme.d.ts CHANGED
@@ -6,9 +6,9 @@ export declare const theme: {
6
6
  black?: string | undefined;
7
7
  colors?: {
8
8
  [x: string & {}]: import('@mantine/core').MantineColorsTuple | undefined;
9
- red?: import('@mantine/core').MantineColorsTuple | undefined;
10
- dark?: import('@mantine/core').MantineColorsTuple | undefined;
11
9
  gray?: import('@mantine/core').MantineColorsTuple | undefined;
10
+ dark?: import('@mantine/core').MantineColorsTuple | undefined;
11
+ red?: import('@mantine/core').MantineColorsTuple | undefined;
12
12
  pink?: import('@mantine/core').MantineColorsTuple | undefined;
13
13
  grape?: import('@mantine/core').MantineColorsTuple | undefined;
14
14
  violet?: import('@mantine/core').MantineColorsTuple | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "1.0.85",
3
+ "version": "1.1.0",
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,26 +51,45 @@
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": {
58
+ "@mantine/dates": "^8.3.2",
59
+ "@mantine/form": "^8.3.2",
60
+ "@mantine/hooks": "^8.3.2",
61
+ "@mantine/tiptap": "^8.3.2",
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",
39
71
  "dayjs": "^1.11.13",
40
72
  "react-router-dom": "^7.4.0"
41
73
  },
42
74
  "devDependencies": {
43
- "@types/react": "^18.3.1",
44
- "@types/react-dom": "^18.3.1",
75
+ "@types/node": "^24.10.1",
76
+ "@types/react": "^19.1.0",
77
+ "@types/react-dom": "^19.1.0",
45
78
  "@vitejs/plugin-react": "^4.3.4",
46
- "postcss-preset-mantine": "^1.17.0",
79
+ "postcss-preset-mantine": "^1.18.0",
47
80
  "typescript": "^5.8.2",
48
81
  "vite": "^6.2.2",
49
82
  "vite-plugin-dts": "^4.5.3",
50
83
  "vite-tsconfig-paths": "^5.1.4"
51
84
  },
52
85
  "peerDependencies": {
53
- "react": "^18.0.0",
54
- "react-dom": "^18.0.0",
55
- "@mantine/core": "7.17.5"
86
+ "@mantine/core": "^8.3.2",
87
+ "@mantine/dates": "^8.3.2",
88
+ "@mantine/form": "^8.3.2",
89
+ "@mantine/hooks": "^8.3.2",
90
+ "@mantine/tiptap": "^8.3.2",
91
+ "react": "^19.0.0",
92
+ "react-dom": "^19.0.0"
56
93
  },
57
94
  "packageManager": "yarn@4.9.1"
58
95
  }
@@ -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, value: any, values: Record<string, any>) => 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,30 +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
- }
20
- export interface BaseFieldProps<T> {
21
- name: string;
22
- value: T;
23
- onChange: (name: string, value: T | null) => void;
24
- readOnly?: true;
25
- }
26
- export type ArrayFieldOptions = {
27
- addElement: (value: Record<string, any>) => void;
28
- replaceElement: (index: number, val: Record<string, any>) => void;
29
- removeElement: (index: number) => void;
30
- };
@@ -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
- }