formio-react-native 1.0.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 +384 -0
- package/lib/commonjs/components/CheckboxField.js +2 -0
- package/lib/commonjs/components/DataGrid.js +2 -0
- package/lib/commonjs/components/DatePicker.js +2 -0
- package/lib/commonjs/components/EditGrid.js +2 -0
- package/lib/commonjs/components/FileUpload.js +2 -0
- package/lib/commonjs/components/FormioField.js +2 -0
- package/lib/commonjs/components/FormioForm.js +2 -0
- package/lib/commonjs/components/ResourceSelect.js +2 -0
- package/lib/commonjs/components/Wizard.js +2 -0
- package/lib/commonjs/components/renderers/CheckboxRenderer.js +2 -0
- package/lib/commonjs/components/renderers/EmailRenderer.js +2 -0
- package/lib/commonjs/components/renderers/FallbackRenderer.js +2 -0
- package/lib/commonjs/components/renderers/NumberRenderer.js +2 -0
- package/lib/commonjs/components/renderers/PasswordRenderer.js +2 -0
- package/lib/commonjs/components/renderers/PhoneNumberRenderer.js +2 -0
- package/lib/commonjs/components/renderers/RadioRenderer.js +2 -0
- package/lib/commonjs/components/renderers/SelectRenderer.js +2 -0
- package/lib/commonjs/components/renderers/SelectboxesRenderer.js +2 -0
- package/lib/commonjs/components/renderers/TextAreaRenderer.js +2 -0
- package/lib/commonjs/components/renderers/TextfieldRenderer.js +2 -0
- package/lib/commonjs/components/renderers/URLRenderer.js +2 -0
- package/lib/commonjs/components/renderers/index.js +2 -0
- package/lib/commonjs/constants/colors.js +2 -0
- package/lib/commonjs/constants/componentTypes.js +2 -0
- package/lib/commonjs/constants/index.js +2 -0
- package/lib/commonjs/constants/spacing.js +2 -0
- package/lib/commonjs/constants/typography.js +2 -0
- package/lib/commonjs/constants/validationMessages.js +2 -0
- package/lib/commonjs/context/FormioContext.js +2 -0
- package/lib/commonjs/errors/ErrorBoundary.js +2 -0
- package/lib/commonjs/errors/FormioError.js +2 -0
- package/lib/commonjs/errors/errorUtils.js +2 -0
- package/lib/commonjs/errors/index.js +2 -0
- package/lib/commonjs/hooks/useTheme.js +2 -0
- package/lib/commonjs/i18n/I18nContext.js +2 -0
- package/lib/commonjs/i18n/locales/ar/index.js +2 -0
- package/lib/commonjs/i18n/locales/fr/index.js +2 -0
- package/lib/commonjs/i18n/messages.js +2 -0
- package/lib/commonjs/i18n/translations/en.js +2 -0
- package/lib/commonjs/i18n/types.js +2 -0
- package/lib/commonjs/index.js +2 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/registry/ComponentRegistry.js +2 -0
- package/lib/commonjs/registry/index.js +2 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/utils/a11yUtils.js +2 -0
- package/lib/commonjs/utils/componentUtils.js +2 -0
- package/lib/commonjs/utils/index.js +2 -0
- package/lib/commonjs/utils/logger.js +2 -0
- package/lib/commonjs/utils/performanceUtils.js +2 -0
- package/lib/commonjs/utils/rtlUtils.js +2 -0
- package/lib/commonjs/utils/safeEval.js +21 -0
- package/lib/commonjs/utils/styleUtils.js +2 -0
- package/lib/commonjs/validation.js +2 -0
- package/lib/module/components/CheckboxField.js +2 -0
- package/lib/module/components/DataGrid.js +2 -0
- package/lib/module/components/DatePicker.js +2 -0
- package/lib/module/components/EditGrid.js +2 -0
- package/lib/module/components/FileUpload.js +2 -0
- package/lib/module/components/FormioField.js +2 -0
- package/lib/module/components/FormioForm.js +2 -0
- package/lib/module/components/ResourceSelect.js +2 -0
- package/lib/module/components/Wizard.js +2 -0
- package/lib/module/components/renderers/CheckboxRenderer.js +2 -0
- package/lib/module/components/renderers/EmailRenderer.js +2 -0
- package/lib/module/components/renderers/FallbackRenderer.js +2 -0
- package/lib/module/components/renderers/NumberRenderer.js +2 -0
- package/lib/module/components/renderers/PasswordRenderer.js +2 -0
- package/lib/module/components/renderers/PhoneNumberRenderer.js +2 -0
- package/lib/module/components/renderers/RadioRenderer.js +2 -0
- package/lib/module/components/renderers/SelectRenderer.js +2 -0
- package/lib/module/components/renderers/SelectboxesRenderer.js +2 -0
- package/lib/module/components/renderers/TextAreaRenderer.js +2 -0
- package/lib/module/components/renderers/TextfieldRenderer.js +2 -0
- package/lib/module/components/renderers/URLRenderer.js +2 -0
- package/lib/module/components/renderers/index.js +2 -0
- package/lib/module/constants/colors.js +2 -0
- package/lib/module/constants/componentTypes.js +2 -0
- package/lib/module/constants/index.js +2 -0
- package/lib/module/constants/spacing.js +2 -0
- package/lib/module/constants/typography.js +2 -0
- package/lib/module/constants/validationMessages.js +2 -0
- package/lib/module/context/FormioContext.js +2 -0
- package/lib/module/errors/ErrorBoundary.js +2 -0
- package/lib/module/errors/FormioError.js +2 -0
- package/lib/module/errors/errorUtils.js +2 -0
- package/lib/module/errors/index.js +2 -0
- package/lib/module/hooks/useTheme.js +2 -0
- package/lib/module/i18n/I18nContext.js +2 -0
- package/lib/module/i18n/locales/ar/index.js +2 -0
- package/lib/module/i18n/locales/fr/index.js +2 -0
- package/lib/module/i18n/messages.js +2 -0
- package/lib/module/i18n/translations/en.js +2 -0
- package/lib/module/i18n/types.js +2 -0
- package/lib/module/index.js +2 -0
- package/lib/module/package.json +1 -0
- package/lib/module/registry/ComponentRegistry.js +2 -0
- package/lib/module/registry/index.js +2 -0
- package/lib/module/types.js +2 -0
- package/lib/module/utils/a11yUtils.js +2 -0
- package/lib/module/utils/componentUtils.js +2 -0
- package/lib/module/utils/index.js +2 -0
- package/lib/module/utils/logger.js +2 -0
- package/lib/module/utils/performanceUtils.js +2 -0
- package/lib/module/utils/rtlUtils.js +2 -0
- package/lib/module/utils/safeEval.js +21 -0
- package/lib/module/utils/styleUtils.js +2 -0
- package/lib/module/validation.js +2 -0
- package/lib/typescript/commonjs/components/CheckboxField.d.ts +11 -0
- package/lib/typescript/commonjs/components/DataGrid.d.ts +20 -0
- package/lib/typescript/commonjs/components/DatePicker.d.ts +25 -0
- package/lib/typescript/commonjs/components/EditGrid.d.ts +18 -0
- package/lib/typescript/commonjs/components/FileUpload.d.ts +35 -0
- package/lib/typescript/commonjs/components/FormioField.d.ts +11 -0
- package/lib/typescript/commonjs/components/FormioForm.d.ts +4 -0
- package/lib/typescript/commonjs/components/ResourceSelect.d.ts +38 -0
- package/lib/typescript/commonjs/components/Wizard.d.ts +31 -0
- package/lib/typescript/commonjs/components/renderers/CheckboxRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/EmailRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/FallbackRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/NumberRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/PasswordRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/PhoneNumberRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/RadioRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/SelectRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/SelectboxesRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/TextAreaRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/TextfieldRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/URLRenderer.d.ts +4 -0
- package/lib/typescript/commonjs/components/renderers/index.d.ts +27 -0
- package/lib/typescript/commonjs/constants/colors.d.ts +18 -0
- package/lib/typescript/commonjs/constants/componentTypes.d.ts +42 -0
- package/lib/typescript/commonjs/constants/index.d.ts +53 -0
- package/lib/typescript/commonjs/constants/spacing.d.ts +10 -0
- package/lib/typescript/commonjs/constants/typography.d.ts +24 -0
- package/lib/typescript/commonjs/constants/validationMessages.d.ts +17 -0
- package/lib/typescript/commonjs/context/FormioContext.d.ts +151 -0
- package/lib/typescript/commonjs/errors/ErrorBoundary.d.ts +23 -0
- package/lib/typescript/commonjs/errors/FormioError.d.ts +28 -0
- package/lib/typescript/commonjs/errors/errorUtils.d.ts +8 -0
- package/lib/typescript/commonjs/errors/index.d.ts +5 -0
- package/lib/typescript/commonjs/hooks/useTheme.d.ts +10 -0
- package/lib/typescript/commonjs/i18n/I18nContext.d.ts +10 -0
- package/lib/typescript/commonjs/i18n/locales/ar/index.d.ts +3 -0
- package/lib/typescript/commonjs/i18n/locales/fr/index.d.ts +3 -0
- package/lib/typescript/commonjs/i18n/messages.d.ts +10 -0
- package/lib/typescript/commonjs/i18n/translations/en.d.ts +4 -0
- package/lib/typescript/commonjs/i18n/types.d.ts +12 -0
- package/lib/typescript/commonjs/index.d.ts +35 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/registry/ComponentRegistry.d.ts +32 -0
- package/lib/typescript/commonjs/registry/index.d.ts +3 -0
- package/lib/typescript/commonjs/types.d.ts +142 -0
- package/lib/typescript/commonjs/utils/a11yUtils.d.ts +31 -0
- package/lib/typescript/commonjs/utils/index.d.ts +9 -0
- package/lib/typescript/commonjs/utils/logger.d.ts +25 -0
- package/lib/typescript/commonjs/utils/rtlUtils.d.ts +18 -0
- package/lib/typescript/commonjs/utils/safeEval.d.ts +20 -0
- package/lib/typescript/commonjs/utils/styleUtils.d.ts +13 -0
- package/lib/typescript/commonjs/validation.d.ts +8 -0
- package/package.json +80 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const VALIDATION_MESSAGES: {
|
|
2
|
+
readonly REQUIRED: "This field is required";
|
|
3
|
+
readonly MIN_LENGTH: "Minimum length is {min}";
|
|
4
|
+
readonly MAX_LENGTH: "Maximum length is {max}";
|
|
5
|
+
readonly PATTERN: "Invalid format";
|
|
6
|
+
readonly MIN_VALUE: "Minimum value is {min}";
|
|
7
|
+
readonly MAX_VALUE: "Maximum value is {max}";
|
|
8
|
+
readonly INVALID_EMAIL: "Invalid email address";
|
|
9
|
+
readonly INVALID_URL: "Invalid URL";
|
|
10
|
+
readonly INVALID_PHONE: "Invalid phone number";
|
|
11
|
+
readonly INVALID_DATE: "Invalid date";
|
|
12
|
+
readonly FILE_TYPE_INVALID: "Invalid file type";
|
|
13
|
+
readonly FILE_SIZE_TOO_LARGE: "File is too large";
|
|
14
|
+
readonly CUSTOM_ERROR: "This field is invalid";
|
|
15
|
+
};
|
|
16
|
+
export type ValidationMessageKey = keyof typeof VALIDATION_MESSAGES;
|
|
17
|
+
//# sourceMappingURL=validationMessages.d.ts.map
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { FormioComponent } from '../types';
|
|
3
|
+
import { I18nConfig } from '../i18n/types';
|
|
4
|
+
import { ComponentRegistry } from '../registry';
|
|
5
|
+
export type ComponentRenderer = (component: FormioComponent, props: ComponentRenderProps) => ReactNode;
|
|
6
|
+
export interface ComponentRenderProps {
|
|
7
|
+
value: any;
|
|
8
|
+
onChange: (value: any) => void;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
readOnly?: boolean;
|
|
12
|
+
formData?: Record<string, any>;
|
|
13
|
+
}
|
|
14
|
+
export interface ComponentOverrides {
|
|
15
|
+
textfield?: ComponentRenderer;
|
|
16
|
+
number?: ComponentRenderer;
|
|
17
|
+
textarea?: ComponentRenderer;
|
|
18
|
+
email?: ComponentRenderer;
|
|
19
|
+
phoneNumber?: ComponentRenderer;
|
|
20
|
+
url?: ComponentRenderer;
|
|
21
|
+
password?: ComponentRenderer;
|
|
22
|
+
select?: ComponentRenderer;
|
|
23
|
+
checkbox?: ComponentRenderer;
|
|
24
|
+
radio?: ComponentRenderer;
|
|
25
|
+
selectboxes?: ComponentRenderer;
|
|
26
|
+
datetime?: ComponentRenderer;
|
|
27
|
+
date?: ComponentRenderer;
|
|
28
|
+
time?: ComponentRenderer;
|
|
29
|
+
day?: ComponentRenderer;
|
|
30
|
+
file?: ComponentRenderer;
|
|
31
|
+
panel?: ComponentRenderer;
|
|
32
|
+
container?: ComponentRenderer;
|
|
33
|
+
columns?: ComponentRenderer;
|
|
34
|
+
fieldset?: ComponentRenderer;
|
|
35
|
+
well?: ComponentRenderer;
|
|
36
|
+
button?: ComponentRenderer;
|
|
37
|
+
datagrid?: ComponentRenderer;
|
|
38
|
+
editgrid?: ComponentRenderer;
|
|
39
|
+
tree?: ComponentRenderer;
|
|
40
|
+
wizard?: ComponentRenderer;
|
|
41
|
+
[customType: string]: ComponentRenderer | undefined;
|
|
42
|
+
}
|
|
43
|
+
export interface FormioTheme {
|
|
44
|
+
colors?: {
|
|
45
|
+
primary?: string;
|
|
46
|
+
secondary?: string;
|
|
47
|
+
error?: string;
|
|
48
|
+
success?: string;
|
|
49
|
+
warning?: string;
|
|
50
|
+
info?: string;
|
|
51
|
+
background?: string;
|
|
52
|
+
surface?: string;
|
|
53
|
+
text?: string;
|
|
54
|
+
textSecondary?: string;
|
|
55
|
+
border?: string;
|
|
56
|
+
borderFocus?: string;
|
|
57
|
+
disabled?: string;
|
|
58
|
+
placeholder?: string;
|
|
59
|
+
};
|
|
60
|
+
spacing?: {
|
|
61
|
+
xs?: number;
|
|
62
|
+
sm?: number;
|
|
63
|
+
md?: number;
|
|
64
|
+
lg?: number;
|
|
65
|
+
xl?: number;
|
|
66
|
+
};
|
|
67
|
+
typography?: {
|
|
68
|
+
fontFamily?: string;
|
|
69
|
+
fontSize?: {
|
|
70
|
+
xs?: number;
|
|
71
|
+
sm?: number;
|
|
72
|
+
md?: number;
|
|
73
|
+
lg?: number;
|
|
74
|
+
xl?: number;
|
|
75
|
+
};
|
|
76
|
+
fontWeight?: {
|
|
77
|
+
light?: string;
|
|
78
|
+
normal?: string;
|
|
79
|
+
medium?: string;
|
|
80
|
+
bold?: string;
|
|
81
|
+
};
|
|
82
|
+
lineHeight?: {
|
|
83
|
+
tight?: number;
|
|
84
|
+
normal?: number;
|
|
85
|
+
relaxed?: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
borderRadius?: {
|
|
89
|
+
none?: number;
|
|
90
|
+
sm?: number;
|
|
91
|
+
md?: number;
|
|
92
|
+
lg?: number;
|
|
93
|
+
full?: number;
|
|
94
|
+
};
|
|
95
|
+
shadows?: {
|
|
96
|
+
sm?: object;
|
|
97
|
+
md?: object;
|
|
98
|
+
lg?: object;
|
|
99
|
+
};
|
|
100
|
+
components?: {
|
|
101
|
+
input?: {
|
|
102
|
+
borderRadius?: number;
|
|
103
|
+
borderWidth?: number;
|
|
104
|
+
padding?: number;
|
|
105
|
+
fontSize?: number;
|
|
106
|
+
minHeight?: number;
|
|
107
|
+
};
|
|
108
|
+
label?: {
|
|
109
|
+
fontSize?: number;
|
|
110
|
+
fontWeight?: string;
|
|
111
|
+
marginBottom?: number;
|
|
112
|
+
color?: string;
|
|
113
|
+
};
|
|
114
|
+
error?: {
|
|
115
|
+
fontSize?: number;
|
|
116
|
+
color?: string;
|
|
117
|
+
marginTop?: number;
|
|
118
|
+
};
|
|
119
|
+
button?: {
|
|
120
|
+
borderRadius?: number;
|
|
121
|
+
padding?: number;
|
|
122
|
+
fontSize?: number;
|
|
123
|
+
fontWeight?: string;
|
|
124
|
+
minHeight?: number;
|
|
125
|
+
};
|
|
126
|
+
container?: {
|
|
127
|
+
padding?: number;
|
|
128
|
+
marginBottom?: number;
|
|
129
|
+
backgroundColor?: string;
|
|
130
|
+
borderRadius?: number;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export interface FormioContextValue {
|
|
135
|
+
componentOverrides?: ComponentOverrides;
|
|
136
|
+
theme?: FormioTheme;
|
|
137
|
+
registerComponent: (type: string, renderer: ComponentRenderer) => void;
|
|
138
|
+
getThemeValue: (path: string, fallback?: any) => any;
|
|
139
|
+
registry?: ComponentRegistry;
|
|
140
|
+
}
|
|
141
|
+
export declare const useFormioContext: () => FormioContextValue;
|
|
142
|
+
export declare const useRegistry: () => ComponentRegistry | undefined;
|
|
143
|
+
interface FormioProviderProps {
|
|
144
|
+
children: ReactNode;
|
|
145
|
+
components?: ComponentOverrides;
|
|
146
|
+
theme?: FormioTheme;
|
|
147
|
+
i18n?: I18nConfig;
|
|
148
|
+
}
|
|
149
|
+
export declare const FormioProvider: React.FC<FormioProviderProps>;
|
|
150
|
+
export {};
|
|
151
|
+
//# sourceMappingURL=FormioContext.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export interface ErrorBoundaryProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);
|
|
5
|
+
onError?: (error: Error, info: {
|
|
6
|
+
componentStack: string;
|
|
7
|
+
}) => void;
|
|
8
|
+
}
|
|
9
|
+
interface ErrorBoundaryState {
|
|
10
|
+
hasError: boolean;
|
|
11
|
+
error?: Error;
|
|
12
|
+
}
|
|
13
|
+
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
14
|
+
constructor(props: ErrorBoundaryProps);
|
|
15
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
16
|
+
componentDidCatch(error: Error, errorInfo: {
|
|
17
|
+
componentStack: string;
|
|
18
|
+
}): void;
|
|
19
|
+
handleReset: () => void;
|
|
20
|
+
render(): ReactNode;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare class FormioError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class InvalidSchemaError extends FormioError {
|
|
5
|
+
readonly schema?: any;
|
|
6
|
+
constructor(message: string, schema?: any);
|
|
7
|
+
}
|
|
8
|
+
export declare class MissingComponentError extends FormioError {
|
|
9
|
+
readonly componentType: string;
|
|
10
|
+
constructor(componentType: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class ComponentRenderError extends FormioError {
|
|
13
|
+
readonly componentKey: string;
|
|
14
|
+
readonly originalError: Error;
|
|
15
|
+
constructor(message: string, componentKey: string, originalError: Error);
|
|
16
|
+
}
|
|
17
|
+
export declare class ValidationError extends FormioError {
|
|
18
|
+
readonly field: string;
|
|
19
|
+
readonly code?: string;
|
|
20
|
+
constructor(field: string, message: string, code?: string);
|
|
21
|
+
}
|
|
22
|
+
export declare class SubmissionError extends FormioError {
|
|
23
|
+
readonly errors?: ValidationError[];
|
|
24
|
+
constructor(message: string, errors?: ValidationError[]);
|
|
25
|
+
}
|
|
26
|
+
export declare function isFormioError(error: unknown): error is FormioError;
|
|
27
|
+
export declare function isValidationError(error: unknown): error is ValidationError;
|
|
28
|
+
//# sourceMappingURL=FormioError.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FormioError, ValidationError } from './FormioError';
|
|
2
|
+
export declare function handleError(error: unknown, context?: string): Error;
|
|
3
|
+
export declare function normalizeError(error: unknown): Error;
|
|
4
|
+
export declare function createValidationError(field: string, message: string, code?: string): ValidationError;
|
|
5
|
+
export declare function isError(value: unknown): value is Error;
|
|
6
|
+
export declare function isFormioError(value: unknown): value is FormioError;
|
|
7
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
8
|
+
//# sourceMappingURL=errorUtils.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { FormioError, InvalidSchemaError, MissingComponentError, ComponentRenderError, SubmissionError, isFormioError, isValidationError, } from './FormioError';
|
|
2
|
+
export { ErrorBoundary } from './ErrorBoundary';
|
|
3
|
+
export type { ErrorBoundaryProps } from './ErrorBoundary';
|
|
4
|
+
export { handleError, normalizeError, createValidationError, isError, isFormioError as isFormioErrorUtil, getErrorMessage, } from './errorUtils';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const useTheme: () => {
|
|
2
|
+
theme: import("../context/FormioContext").FormioTheme;
|
|
3
|
+
getThemeValue: (path: string, fallback?: any) => any;
|
|
4
|
+
createStyles: (styleFactory: (theme: any) => any) => any;
|
|
5
|
+
getColor: (colorKey: string, fallback?: string) => any;
|
|
6
|
+
getSpacing: (spacingKey: string, fallback?: number) => any;
|
|
7
|
+
getTypography: (typographyPath: string, fallback?: any) => any;
|
|
8
|
+
getComponent: (componentPath: string, fallback?: any) => any;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useTheme.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { I18nConfig, I18nContextValue } from './types';
|
|
3
|
+
interface I18nProviderProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
config?: I18nConfig;
|
|
6
|
+
}
|
|
7
|
+
export declare const I18nProvider: React.FC<I18nProviderProps>;
|
|
8
|
+
export declare const useI18n: () => I18nContextValue;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=I18nContext.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VALIDATION_MESSAGES } from '../constants/validationMessages';
|
|
2
|
+
type Params = Record<string, any> | undefined;
|
|
3
|
+
declare function formatMessage(template: string, params?: Params): string;
|
|
4
|
+
export declare function getValidationMessage(key: keyof typeof VALIDATION_MESSAGES, params?: Params, translate?: (k: string, fallback?: string) => string): string;
|
|
5
|
+
declare const _default: {
|
|
6
|
+
formatMessage: typeof formatMessage;
|
|
7
|
+
getValidationMessage: typeof getValidationMessage;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface I18nConfig {
|
|
2
|
+
language: string;
|
|
3
|
+
translations: Record<string, Record<string, string>>;
|
|
4
|
+
rtlLanguages?: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface I18nContextValue {
|
|
7
|
+
language: string;
|
|
8
|
+
isRTL: boolean;
|
|
9
|
+
translate: (key: string, fallback?: string) => string;
|
|
10
|
+
setLanguage: (language: string) => void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export { FormioForm } from './components/FormioForm';
|
|
2
|
+
export { FormioField } from './components/FormioField';
|
|
3
|
+
export { CheckboxField } from './components/CheckboxField';
|
|
4
|
+
export { DatePicker } from './components/DatePicker';
|
|
5
|
+
export { FileUpload } from './components/FileUpload';
|
|
6
|
+
export { ResourceSelect } from './components/ResourceSelect';
|
|
7
|
+
export { DataGrid } from './components/DataGrid';
|
|
8
|
+
export { EditGrid } from './components/EditGrid';
|
|
9
|
+
export { Wizard } from './components/Wizard';
|
|
10
|
+
export { TextfieldRenderer } from './components/renderers/TextfieldRenderer';
|
|
11
|
+
export { EmailRenderer } from './components/renderers/EmailRenderer';
|
|
12
|
+
export { NumberRenderer } from './components/renderers/NumberRenderer';
|
|
13
|
+
export { CheckboxRenderer } from './components/renderers/CheckboxRenderer';
|
|
14
|
+
export { RadioRenderer } from './components/renderers/RadioRenderer';
|
|
15
|
+
export { SelectRenderer } from './components/renderers/SelectRenderer';
|
|
16
|
+
export { SelectboxesRenderer } from './components/renderers/SelectboxesRenderer';
|
|
17
|
+
export { TextAreaRenderer } from './components/renderers/TextAreaRenderer';
|
|
18
|
+
export { PasswordRenderer } from './components/renderers/PasswordRenderer';
|
|
19
|
+
export { URLRenderer } from './components/renderers/URLRenderer';
|
|
20
|
+
export { PhoneNumberRenderer } from './components/renderers/PhoneNumberRenderer';
|
|
21
|
+
export { FallbackRenderer } from './components/renderers/FallbackRenderer';
|
|
22
|
+
export { DEFAULT_RENDERERS } from './components/renderers';
|
|
23
|
+
export { ComponentRegistry, createDefaultRegistry, createRegistryWithComponents } from './registry/ComponentRegistry';
|
|
24
|
+
export type { ComponentRenderer, ComponentRenderProps } from './registry/ComponentRegistry';
|
|
25
|
+
export { validateForm, validateField } from './validation';
|
|
26
|
+
export { FormioProvider, useFormioContext, useRegistry } from './context/FormioContext';
|
|
27
|
+
export { useTheme } from './hooks/useTheme';
|
|
28
|
+
export { useI18n } from './i18n/I18nContext';
|
|
29
|
+
export type { ComponentOverrides, FormioTheme } from './context/FormioContext';
|
|
30
|
+
export type { I18nConfig, I18nContextValue } from './i18n/types';
|
|
31
|
+
export * from './types';
|
|
32
|
+
export * from './utils';
|
|
33
|
+
export * from './constants';
|
|
34
|
+
export * from './errors';
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FormioComponent, FormData, ValidationError } from '../types';
|
|
3
|
+
export interface ComponentRenderProps {
|
|
4
|
+
component: FormioComponent;
|
|
5
|
+
value: any;
|
|
6
|
+
onChange: (value: any) => void;
|
|
7
|
+
error?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
formData?: FormData;
|
|
11
|
+
validationErrors?: ValidationError[];
|
|
12
|
+
}
|
|
13
|
+
export type ComponentRenderer = (props: ComponentRenderProps) => ReactNode;
|
|
14
|
+
export declare class ComponentRegistry {
|
|
15
|
+
private renderers;
|
|
16
|
+
register(type: string, renderer: ComponentRenderer): void;
|
|
17
|
+
registerBatch(components: Record<string, ComponentRenderer>): void;
|
|
18
|
+
unregister(type: string): boolean;
|
|
19
|
+
get(type: string): ComponentRenderer | null;
|
|
20
|
+
has(type: string): boolean;
|
|
21
|
+
list(): string[];
|
|
22
|
+
count(): number;
|
|
23
|
+
clear(): void;
|
|
24
|
+
override(type: string, renderer: ComponentRenderer): boolean;
|
|
25
|
+
getStats(): {
|
|
26
|
+
totalRegistered: number;
|
|
27
|
+
types: string[];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare function createDefaultRegistry(): ComponentRegistry;
|
|
31
|
+
export declare function createRegistryWithComponents(components: Record<string, ComponentRenderer>): ComponentRegistry;
|
|
32
|
+
//# sourceMappingURL=ComponentRegistry.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export type FormioValue = any;
|
|
2
|
+
export interface Conditional {
|
|
3
|
+
show?: boolean;
|
|
4
|
+
when?: string;
|
|
5
|
+
eq?: any;
|
|
6
|
+
json?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ValidateRule {
|
|
9
|
+
required?: boolean;
|
|
10
|
+
minLength?: number;
|
|
11
|
+
maxLength?: number;
|
|
12
|
+
pattern?: string;
|
|
13
|
+
min?: number;
|
|
14
|
+
max?: number;
|
|
15
|
+
custom?: string;
|
|
16
|
+
customMessage?: string;
|
|
17
|
+
}
|
|
18
|
+
export type DataSrc = 'values' | 'json' | 'resource' | 'url';
|
|
19
|
+
export interface DataSource {
|
|
20
|
+
dataSrc?: DataSrc;
|
|
21
|
+
values?: Array<{
|
|
22
|
+
label: string;
|
|
23
|
+
value: any;
|
|
24
|
+
}>;
|
|
25
|
+
json?: any;
|
|
26
|
+
resource?: string;
|
|
27
|
+
url?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface FormioComponentBase {
|
|
30
|
+
type: string;
|
|
31
|
+
key: string;
|
|
32
|
+
label?: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
required?: boolean;
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
hidden?: boolean;
|
|
38
|
+
multiple?: boolean;
|
|
39
|
+
defaultValue?: any;
|
|
40
|
+
input?: boolean;
|
|
41
|
+
components?: FormioComponent[];
|
|
42
|
+
conditional?: Conditional;
|
|
43
|
+
customConditional?: string;
|
|
44
|
+
calculateValue?: string;
|
|
45
|
+
validate?: ValidateRule;
|
|
46
|
+
data?: DataSource;
|
|
47
|
+
}
|
|
48
|
+
export type FormioComponent = FormioComponentBase & {
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
};
|
|
51
|
+
export interface DateComponent extends FormioComponent {
|
|
52
|
+
type: 'date' | 'datetime' | 'time';
|
|
53
|
+
format?: string;
|
|
54
|
+
enableTime?: boolean;
|
|
55
|
+
enableDate?: boolean;
|
|
56
|
+
minDate?: string;
|
|
57
|
+
maxDate?: string;
|
|
58
|
+
widget?: string;
|
|
59
|
+
validate?: ValidateRule & {
|
|
60
|
+
min?: string;
|
|
61
|
+
max?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export interface FileComponent extends FormioComponent {
|
|
65
|
+
type: 'file';
|
|
66
|
+
storage?: 'base64' | 's3' | 'url' | 'fileSystem';
|
|
67
|
+
fileTypes?: string[];
|
|
68
|
+
multiple?: boolean;
|
|
69
|
+
validate?: ValidateRule & {
|
|
70
|
+
maxSize?: string;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export interface ResourceSelectComponent extends FormioComponent {
|
|
74
|
+
type: 'select';
|
|
75
|
+
data?: DataSource & {
|
|
76
|
+
dataSrc: 'url' | 'resource';
|
|
77
|
+
url?: string;
|
|
78
|
+
resource?: string;
|
|
79
|
+
searchField?: string;
|
|
80
|
+
};
|
|
81
|
+
searchEnabled?: boolean;
|
|
82
|
+
debounce?: number;
|
|
83
|
+
placeholder?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface DataGridComponent extends FormioComponent {
|
|
86
|
+
type: 'datagrid';
|
|
87
|
+
components: FormioComponent[];
|
|
88
|
+
minLength?: number;
|
|
89
|
+
maxLength?: number;
|
|
90
|
+
validate?: ValidateRule;
|
|
91
|
+
}
|
|
92
|
+
export interface EditGridComponent extends FormioComponent {
|
|
93
|
+
type: 'editgrid';
|
|
94
|
+
components: FormioComponent[];
|
|
95
|
+
inlineEdit?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface ColumnsComponent extends FormioComponent {
|
|
98
|
+
type: 'columns';
|
|
99
|
+
columns: Array<{
|
|
100
|
+
width?: number;
|
|
101
|
+
offset?: number;
|
|
102
|
+
push?: number;
|
|
103
|
+
pull?: number;
|
|
104
|
+
components: FormioComponent[];
|
|
105
|
+
}>;
|
|
106
|
+
}
|
|
107
|
+
export interface WizardPage extends FormioComponent {
|
|
108
|
+
type: 'panel';
|
|
109
|
+
components: FormioComponent[];
|
|
110
|
+
}
|
|
111
|
+
export interface WizardComponent extends FormioComponent {
|
|
112
|
+
type: 'wizard';
|
|
113
|
+
pages: WizardPage[];
|
|
114
|
+
}
|
|
115
|
+
export interface FormioFormSchema {
|
|
116
|
+
components: FormioComponent[];
|
|
117
|
+
display?: string;
|
|
118
|
+
title?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface FormData {
|
|
121
|
+
[key: string]: any;
|
|
122
|
+
}
|
|
123
|
+
export interface ValidationError {
|
|
124
|
+
field: string;
|
|
125
|
+
message: string;
|
|
126
|
+
}
|
|
127
|
+
export interface RenderOptions {
|
|
128
|
+
readOnly?: boolean;
|
|
129
|
+
showAllErrors?: boolean;
|
|
130
|
+
}
|
|
131
|
+
export interface FormProps {
|
|
132
|
+
form: FormioFormSchema;
|
|
133
|
+
data?: FormData;
|
|
134
|
+
options?: RenderOptions;
|
|
135
|
+
components?: {
|
|
136
|
+
[type: string]: any;
|
|
137
|
+
};
|
|
138
|
+
onSubmit?: (data: FormData) => void;
|
|
139
|
+
onChange?: (data: FormData) => void;
|
|
140
|
+
onValidation?: (errors: ValidationError[]) => void;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type AriaRole = 'button' | 'checkbox' | 'radio' | 'textbox' | 'combobox' | 'listbox' | 'option' | 'group' | 'form' | 'alert' | 'alertdialog' | 'dialog' | 'progressbar' | 'status' | 'tab' | 'tablist' | 'tabpanel';
|
|
2
|
+
export interface AriaAttributes {
|
|
3
|
+
role?: AriaRole;
|
|
4
|
+
label?: string;
|
|
5
|
+
hint?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
valueText?: string;
|
|
9
|
+
errorMessage?: string;
|
|
10
|
+
invalid?: boolean;
|
|
11
|
+
keyboardHint?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function getFieldAriaAttributes(label: string | undefined, error: string | undefined, required?: boolean, disabled?: boolean, hint?: string): Record<string, any>;
|
|
14
|
+
export declare function getButtonAriaAttributes(label: string, disabled?: boolean, hint?: string): Record<string, any>;
|
|
15
|
+
export declare function getCheckboxAriaAttributes(label: string, checked: boolean, disabled?: boolean, hint?: string): Record<string, any>;
|
|
16
|
+
export declare function getRadioAriaAttributes(label: string, selected: boolean, disabled?: boolean, hint?: string): Record<string, any>;
|
|
17
|
+
export declare function getSelectAriaAttributes(label: string, selectedValue: string | undefined, disabled?: boolean, error?: string, hint?: string): Record<string, any>;
|
|
18
|
+
export declare function getTextInputAriaAttributes(label: string, value: string | undefined, disabled?: boolean, error?: string, hint?: string, required?: boolean): Record<string, any>;
|
|
19
|
+
export declare function getFormAriaAttributes(title?: string, description?: string): Record<string, any>;
|
|
20
|
+
export declare function getErrorAriaAttributes(message: string): Record<string, any>;
|
|
21
|
+
export declare function getLoadingAriaAttributes(message?: string): Record<string, any>;
|
|
22
|
+
export declare function getModalAriaAttributes(title: string, description?: string): Record<string, any>;
|
|
23
|
+
export declare function getListItemAriaAttributes(label: string, index: number, total: number): Record<string, any>;
|
|
24
|
+
export declare function getTabAriaAttributes(label: string, selected: boolean, index: number): Record<string, any>;
|
|
25
|
+
export declare function combineAriaAttributes(...attributes: Array<Record<string, any>>): Record<string, any>;
|
|
26
|
+
export declare function createAccessibleLabel(label: string, required?: boolean, error?: boolean): string;
|
|
27
|
+
export declare function getKeyboardHint(componentType: string): string;
|
|
28
|
+
export declare function isAccessibilityEnabled(): boolean;
|
|
29
|
+
export declare function announceToScreenReader(message: string): void;
|
|
30
|
+
export declare function getHeadingAriaAttributes(level: 1 | 2 | 3 | 4 | 5 | 6, text: string): Record<string, any>;
|
|
31
|
+
//# sourceMappingURL=a11yUtils.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { safeEval, safeEvalConditional, safeEvalValidation, safeEvalValue } from './safeEval';
|
|
2
|
+
export type { EvalContext, SafeEvalOptions, SafeEvalResult } from './safeEval';
|
|
3
|
+
export declare function isEmpty(val: any): boolean;
|
|
4
|
+
export { Logger, configureLogger, getLoggerConfig, globalLogger } from './logger';
|
|
5
|
+
export type { LoggerConfig } from './logger';
|
|
6
|
+
export { LogLevel } from './logger';
|
|
7
|
+
export { createStyleUtilities, createPlatformStyles } from './styleUtils';
|
|
8
|
+
export type { StyleUtilities } from './styleUtils';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = "debug",
|
|
3
|
+
INFO = "info",
|
|
4
|
+
WARN = "warn",
|
|
5
|
+
ERROR = "error"
|
|
6
|
+
}
|
|
7
|
+
export interface LoggerConfig {
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
level?: LogLevel;
|
|
10
|
+
prefix?: boolean;
|
|
11
|
+
colors?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function configureLogger(config: Partial<LoggerConfig>): void;
|
|
14
|
+
export declare function getLoggerConfig(): LoggerConfig;
|
|
15
|
+
export declare class Logger {
|
|
16
|
+
private readonly namespace;
|
|
17
|
+
constructor(namespace: string);
|
|
18
|
+
debug(message: string, ...args: any[]): void;
|
|
19
|
+
info(message: string, ...args: any[]): void;
|
|
20
|
+
warn(message: string, ...args: any[]): void;
|
|
21
|
+
error(message: string, error?: Error | any, ...args: any[]): void;
|
|
22
|
+
private _log;
|
|
23
|
+
}
|
|
24
|
+
export declare const globalLogger: Logger;
|
|
25
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ViewStyle, TextStyle } from 'react-native';
|
|
2
|
+
export declare function getTextAlign(isRTL: boolean): 'left' | 'right' | 'center';
|
|
3
|
+
export declare function getFlexDirection(isRTL: boolean): 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
4
|
+
export declare function getTextDirection(isRTL: boolean): 'rtl' | 'ltr';
|
|
5
|
+
export declare function swapMargins(style: ViewStyle | TextStyle, isRTL: boolean): ViewStyle | TextStyle;
|
|
6
|
+
export declare function swapPadding(style: ViewStyle | TextStyle, isRTL: boolean): ViewStyle | TextStyle;
|
|
7
|
+
export declare function swapBorderRadius(style: ViewStyle | TextStyle, isRTL: boolean): ViewStyle | TextStyle;
|
|
8
|
+
export declare function applyRTLStyle(style: ViewStyle | TextStyle, isRTL: boolean): ViewStyle | TextStyle;
|
|
9
|
+
export declare function createRTLStyle(ltrStyle: ViewStyle | TextStyle, rtlStyle?: ViewStyle | TextStyle, isRTL?: boolean): ViewStyle | TextStyle;
|
|
10
|
+
export declare function getIconRotation(isRTL: boolean, defaultRotation?: number): number;
|
|
11
|
+
export declare function getIconFlipTransform(isRTL: boolean): Array<{
|
|
12
|
+
scaleX: number;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function isSystemRTL(): boolean;
|
|
15
|
+
export declare function getAlignSelf(isRTL: boolean, alignment: 'flex-start' | 'flex-end' | 'center'): 'flex-start' | 'flex-end' | 'center';
|
|
16
|
+
export declare function getJustifyContent(isRTL: boolean, justify: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around'): string;
|
|
17
|
+
export declare function createRTLAwareStyle(style: ViewStyle | TextStyle, isRTL: boolean): ViewStyle | TextStyle;
|
|
18
|
+
//# sourceMappingURL=rtlUtils.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface EvalContext {
|
|
2
|
+
data: Record<string, any>;
|
|
3
|
+
row?: Record<string, any>;
|
|
4
|
+
value?: any;
|
|
5
|
+
util?: Record<string, any>;
|
|
6
|
+
input?: any;
|
|
7
|
+
show?: boolean;
|
|
8
|
+
valid?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface SafeEvalOptions {
|
|
11
|
+
timeout?: number;
|
|
12
|
+
allowedVariables?: string[];
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type SafeEvalResult = boolean | string | undefined | any;
|
|
16
|
+
export declare function safeEval(code: string, ctx: EvalContext, options?: SafeEvalOptions): SafeEvalResult;
|
|
17
|
+
export declare function safeEvalConditional(code: string, ctx: EvalContext, options?: SafeEvalOptions): boolean;
|
|
18
|
+
export declare function safeEvalValidation(code: string, ctx: EvalContext, options?: SafeEvalOptions): boolean | string;
|
|
19
|
+
export declare function safeEvalValue(code: string, ctx: EvalContext, options?: SafeEvalOptions): any;
|
|
20
|
+
//# sourceMappingURL=safeEval.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ViewStyle, TextStyle } from 'react-native';
|
|
2
|
+
import { FormioTheme } from '../context/FormioContext';
|
|
3
|
+
export interface StyleUtilities {
|
|
4
|
+
getColor: (key: string, fallback?: string) => string | undefined;
|
|
5
|
+
getSpacing: (key: string, fallback?: number) => number | undefined;
|
|
6
|
+
getFont: (key: string, fallback?: number) => number | undefined;
|
|
7
|
+
getComponentValue: (path: string, fallback?: any) => any;
|
|
8
|
+
createStyles: (callback: (theme: FormioTheme) => any) => any;
|
|
9
|
+
createRTLStyles: (ltrStyle: ViewStyle | TextStyle, rtlStyle?: ViewStyle | TextStyle) => ViewStyle | TextStyle;
|
|
10
|
+
}
|
|
11
|
+
export declare function createStyleUtilities(theme?: FormioTheme): StyleUtilities;
|
|
12
|
+
export declare function createPlatformStyles(iosStyle: ViewStyle | TextStyle, androidStyle?: ViewStyle | TextStyle): ViewStyle | TextStyle;
|
|
13
|
+
//# sourceMappingURL=styleUtils.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FormioComponent, FormData, ValidationError } from './types';
|
|
2
|
+
export declare const validateField: (component: FormioComponent, value: any, fullData?: Record<string, any>, options?: {
|
|
3
|
+
translate?: (key: string, fallback?: string) => string;
|
|
4
|
+
}) => ValidationError[];
|
|
5
|
+
export declare const validateForm: (components: FormioComponent[], data: FormData, options?: {
|
|
6
|
+
translate?: (key: string, fallback?: string) => string;
|
|
7
|
+
}) => ValidationError[];
|
|
8
|
+
//# sourceMappingURL=validation.d.ts.map
|