iglooform 3.7.8 → 3.7.9

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 (72) hide show
  1. package/.dumi/tmp/core/defineApp.ts +1 -1
  2. package/.dumi/tmp/core/helmet.ts +1 -1
  3. package/.dumi/tmp/core/history.ts +1 -1
  4. package/.dumi/tmp/core/historyIntelli.ts +1 -1
  5. package/.dumi/tmp/core/plugin.ts +2 -2
  6. package/.dumi/tmp/core/polyfill.ts +197 -197
  7. package/.dumi/tmp/core/route.tsx +33 -33
  8. package/.dumi/tmp/dumi/exports.ts +1 -1
  9. package/.dumi/tmp/dumi/locales/runtime.tsx +2 -2
  10. package/.dumi/tmp/dumi/meta/index.ts +33 -33
  11. package/.dumi/tmp/dumi/meta/runtime.ts +1 -1
  12. package/.dumi/tmp/dumi/theme/ContextWrapper.tsx +2 -2
  13. package/.dumi/tmp/dumi/theme/builtins/API.ts +1 -1
  14. package/.dumi/tmp/dumi/theme/builtins/Badge.ts +1 -1
  15. package/.dumi/tmp/dumi/theme/builtins/Container.ts +1 -1
  16. package/.dumi/tmp/dumi/theme/builtins/Previewer.ts +1 -1
  17. package/.dumi/tmp/dumi/theme/builtins/SourceCode.ts +1 -1
  18. package/.dumi/tmp/dumi/theme/builtins/Table.ts +1 -1
  19. package/.dumi/tmp/dumi/theme/builtins/Tree.ts +1 -1
  20. package/.dumi/tmp/dumi/theme/layouts/DocLayout.ts +1 -1
  21. package/.dumi/tmp/dumi/theme/loading.tsx +1 -1
  22. package/.dumi/tmp/dumi/theme/slots/ColorSwitch.ts +1 -1
  23. package/.dumi/tmp/dumi/theme/slots/Content.ts +1 -1
  24. package/.dumi/tmp/dumi/theme/slots/ContentFooter.ts +1 -1
  25. package/.dumi/tmp/dumi/theme/slots/ContentTabs.ts +1 -1
  26. package/.dumi/tmp/dumi/theme/slots/Features.ts +1 -1
  27. package/.dumi/tmp/dumi/theme/slots/Footer.ts +1 -1
  28. package/.dumi/tmp/dumi/theme/slots/Header.ts +1 -1
  29. package/.dumi/tmp/dumi/theme/slots/HeaderExtra.ts +1 -1
  30. package/.dumi/tmp/dumi/theme/slots/Hero.ts +1 -1
  31. package/.dumi/tmp/dumi/theme/slots/HeroTitle.ts +1 -1
  32. package/.dumi/tmp/dumi/theme/slots/LangSwitch.ts +1 -1
  33. package/.dumi/tmp/dumi/theme/slots/Logo.ts +1 -1
  34. package/.dumi/tmp/dumi/theme/slots/Navbar.ts +1 -1
  35. package/.dumi/tmp/dumi/theme/slots/NavbarExtra.ts +1 -1
  36. package/.dumi/tmp/dumi/theme/slots/NotFound.ts +1 -1
  37. package/.dumi/tmp/dumi/theme/slots/PreviewerActions.ts +1 -1
  38. package/.dumi/tmp/dumi/theme/slots/PreviewerActionsExtra.ts +1 -1
  39. package/.dumi/tmp/dumi/theme/slots/RtlSwitch.ts +1 -1
  40. package/.dumi/tmp/dumi/theme/slots/SearchBar.ts +2 -2
  41. package/.dumi/tmp/dumi/theme/slots/SearchResult.ts +1 -1
  42. package/.dumi/tmp/dumi/theme/slots/Sidebar.ts +1 -1
  43. package/.dumi/tmp/dumi/theme/slots/SocialIcon.ts +1 -1
  44. package/.dumi/tmp/dumi/theme/slots/Toc.ts +1 -1
  45. package/.dumi/tmp/exports.ts +5 -5
  46. package/.dumi/tmp/testBrowser.tsx +3 -3
  47. package/.dumi/tmp/umi.ts +4 -4
  48. package/.idea/codeStyles/Project.xml +80 -0
  49. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  50. package/.idea/iglooformv3.iml +12 -0
  51. package/.idea/modules.xml +8 -0
  52. package/.idea/prettier.xml +6 -0
  53. package/.idea/vcs.xml +6 -0
  54. package/es/form/element/index.d.ts +12 -0
  55. package/es/form/element/index.js +6 -3
  56. package/es/form/element/style/index.less +4 -0
  57. package/es/free-form/element/index.d.ts +11 -0
  58. package/es/free-form/element/index.js +6 -3
  59. package/es/free-form/element/style/index.less +7 -3
  60. package/es/types.d.ts +190 -0
  61. package/es/upload-preview/index.d.ts +9 -0
  62. package/es/utils/form-utils.d.ts +79 -0
  63. package/lib/form/element/index.d.ts +12 -0
  64. package/lib/form/element/index.js +6 -3
  65. package/lib/form/element/style/index.less +4 -0
  66. package/lib/free-form/element/index.d.ts +11 -0
  67. package/lib/free-form/element/index.js +6 -3
  68. package/lib/free-form/element/style/index.less +7 -3
  69. package/lib/types.d.ts +190 -0
  70. package/lib/upload-preview/index.d.ts +9 -0
  71. package/lib/utils/form-utils.d.ts +79 -0
  72. package/package.json +1 -1
package/lib/types.d.ts ADDED
@@ -0,0 +1,190 @@
1
+ /// <reference path="../typings.d.ts" />
2
+ import { BlinkIdSingleSideRecognizerResult } from '@microblink/blinkid-in-browser-sdk';
3
+ import { FormItemProps, FormInstance } from 'antd/es/form';
4
+ import { ReactNode } from 'react';
5
+ import { NamePath } from 'rc-field-form/lib/interface';
6
+ import { CheckboxOptionType } from 'antd/es/checkbox';
7
+ import { SelectProps } from 'antd/es/select';
8
+ export { Rule } from 'rc-field-form/lib/interface';
9
+ export interface OCRHooks {
10
+ microBlink?: {
11
+ initResult: {
12
+ error?: string;
13
+ failed: boolean;
14
+ };
15
+ recognize: ((file: File) => Promise<BlinkIdSingleSideRecognizerResult | null>) | null;
16
+ loading?: boolean;
17
+ };
18
+ }
19
+ export interface OCRConfig {
20
+ microBlink?: {
21
+ licenseKey: string;
22
+ };
23
+ }
24
+ export type FormItemName = NamePath;
25
+ export interface FormBasicConfig {
26
+ config: FormItemConfig;
27
+ className?: string;
28
+ style?: Object;
29
+ locales?: {
30
+ cancelText?: string;
31
+ submitText?: string;
32
+ previewText?: string;
33
+ nextText?: string;
34
+ continueText?: string;
35
+ validateMessages?: Object;
36
+ };
37
+ initialValues?: any;
38
+ form?: FormInstance;
39
+ onCancel?(): void;
40
+ onSubmit?(values: Object, allValues?: Object): any;
41
+ requiredMark?: boolean;
42
+ showSubmitButton?: boolean;
43
+ getScrollContainer?: () => HTMLElement | null;
44
+ onFirstModified?: () => any;
45
+ uploadApi?: string;
46
+ selectDatasourceApi?: string;
47
+ validationRule?: string;
48
+ getRuleValidationApi?: string;
49
+ stepDirection?: 'vertical' | 'horizontal';
50
+ customizeComponents?: {
51
+ [name: string]: FC;
52
+ };
53
+ ocr?: OCRConfig;
54
+ validationCodeExtraParams?: Record<string, any>;
55
+ onValuesChange?: (changedValues: any, values: any) => void;
56
+ }
57
+ export type FormItemAssert = {
58
+ field: NamePath;
59
+ value?: any;
60
+ operation?: 'eq' | 'ne' | 'in' | 'ni' | 'lt' | 'le' | 'gt' | 'ge' | 'co' | 'nc' | 'filled' | 'unfilled' | 'co-some' | 'co-every' | 'some-in' | 'every-in';
61
+ };
62
+ export type FormItemCopyValue = {
63
+ assert: FormItemAssert;
64
+ copyFrom: NamePath;
65
+ disabled?: boolean;
66
+ };
67
+ export type FormItemSelectValue = {
68
+ assert: FormItemAssert;
69
+ value: any;
70
+ disabled?: boolean;
71
+ };
72
+ export interface FormItemExtraConfig extends FormItemProps {
73
+ labelTooltip?: string;
74
+ elements?: FormItemConfig[];
75
+ required?: boolean;
76
+ requiredAsserts?: FormItemAssert[];
77
+ extraLabel?: any;
78
+ xl?: number;
79
+ md?: number;
80
+ xs?: number;
81
+ span?: number;
82
+ areaCode?: number | string | (number | string)[];
83
+ phoneNumber?: number | string;
84
+ mergeRules?: boolean;
85
+ dependencies?: NamePath[];
86
+ antdDependencies?: NamePath[];
87
+ asserts?: FormItemAssert[];
88
+ shouldRender?: (form?: FormInstance) => boolean;
89
+ ignore?: boolean;
90
+ copyValue?: FormItemCopyValue;
91
+ selectValue?: FormItemSelectValue[];
92
+ disabled?: boolean | FormItemAssert | FormItemAssert[];
93
+ halfRow?: boolean;
94
+ fullRow?: boolean;
95
+ limit?: number;
96
+ hideWhenPreview?: boolean;
97
+ hideWhenEdit?: boolean;
98
+ showExtraWhenPreview?: boolean;
99
+ requiredMessage?: string | ReactNode;
100
+ showOptional?: boolean;
101
+ previewFormater?(value: any, form?: FormInstance): any;
102
+ handleNext?(values: any): any;
103
+ render?(preview: boolean, form?: FormInstance, value?: any, onChange?: (params: any) => any, setShowStepButton?: IglooComponentProps['setShowStepButton']): any;
104
+ locales?: {
105
+ [key: string]: string;
106
+ };
107
+ options?: (CheckboxOptionType & {
108
+ extraInfo?: {
109
+ content: any;
110
+ shownTrigger: 'unchecked' | 'checked' | 'all';
111
+ };
112
+ })[] | SelectProps['options'];
113
+ sendOtp?: (value: any) => any;
114
+ dependField?: FormItemName;
115
+ countDownSeconds?: number;
116
+ getButtonDisabledState?: (form: FormInstance) => boolean;
117
+ getPreviousDisabledState?: (form: FormInstance) => boolean;
118
+ handleUpload?(file: File): PromiseLike<string>;
119
+ withoutForm?: boolean;
120
+ disableEditButton?: boolean;
121
+ hidePreviewDivider?: boolean;
122
+ valueFormater?: (value: any) => any;
123
+ currentStep?: number;
124
+ subscribedFields?: FormItemName[];
125
+ description?: string | React.ReactNode;
126
+ dateLimitationType?: 'relative' | 'absolute';
127
+ absoluteRangeStart?: number;
128
+ absoluteRangeEnd?: number;
129
+ relativeRangeStart?: {
130
+ type: 'day' | 'month' | 'year';
131
+ quantity: number;
132
+ pattern?: string;
133
+ dependField?: NamePath;
134
+ };
135
+ relativeRangeEnd?: {
136
+ type: 'day' | 'month' | 'year';
137
+ quantity: number;
138
+ pattern?: string;
139
+ dependField?: NamePath;
140
+ };
141
+ validationCode?: {
142
+ code: string;
143
+ errorMessage: string;
144
+ warningOnly?: boolean;
145
+ }[];
146
+ length?: number;
147
+ minLength?: number;
148
+ maxLength?: number;
149
+ idType?: 'KTP' | 'NIK';
150
+ validationRule?: string;
151
+ shouldRenderCode?: string;
152
+ disabledCode?: string;
153
+ automaticCalcCode?: string;
154
+ enableAutomaticCalc?: boolean;
155
+ [key: string]: any;
156
+ }
157
+ export interface FormItemConfig extends FormItemExtraConfig {
158
+ type?: string;
159
+ name?: NamePath;
160
+ label?: string | React.ReactNode;
161
+ previewLabel?: string | React.ReactNode;
162
+ labelProps?: any;
163
+ contentProps?: any;
164
+ ocr?: {
165
+ vender: string;
166
+ outputMap: {
167
+ field: string[];
168
+ source: string[];
169
+ }[];
170
+ };
171
+ }
172
+ export type FormItemPropsHandler = (config: FormItemConfig) => FormItemConfig;
173
+ export interface FC<P = {}> extends React.FunctionComponent<P> {
174
+ formItemPropsHandler?: FormItemPropsHandler;
175
+ isPreviewSupport?: boolean;
176
+ }
177
+ export interface Form extends React.ForwardRefExoticComponent<FormBasicConfig & React.RefAttributes<any>> {
178
+ useForm: () => FormInstance;
179
+ }
180
+ export interface IglooComponentProps {
181
+ validateField?: (nameList?: NamePath[]) => Promise<any>;
182
+ containerRef?: React.RefObject<any>;
183
+ setFieldError?(errorMsg?: string): void;
184
+ setFieldValue?(value?: any): void;
185
+ setShowStepButton?: (showButton: boolean) => void;
186
+ getFormInstance?: () => FormInstance;
187
+ locales?: {
188
+ [key: string]: string;
189
+ };
190
+ }
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ import './style';
3
+ interface Props {
4
+ files: string[];
5
+ label?: any;
6
+ description?: any;
7
+ }
8
+ declare const UploadPreview: FC<Props>;
9
+ export default UploadPreview;
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import { FormInstance } from 'antd/es/form';
3
+ import { FormItemConfig, FormItemExtraConfig, FormItemName, FormItemCopyValue, FormItemSelectValue, FormItemAssert, Rule } from '../types';
4
+ import { NamePath } from 'antd/es/form/interface';
5
+ export declare const calcNamePath: (parentName: FormItemName | undefined, name: FormItemName | undefined) => any[];
6
+ export declare const testAssert: (form: FormInstance, assert: FormItemAssert) => boolean;
7
+ export declare const calcFormItemProps: (config: FormItemConfig, extraProps: FormItemExtraConfig, form?: FormInstance, parentName?: FormItemName, validationCodeExtraParams?: Record<string, any>) => {
8
+ colProps: {
9
+ span: number;
10
+ xs: number;
11
+ sm: number;
12
+ md: number;
13
+ halfRow: boolean | undefined;
14
+ };
15
+ formItemProps: {
16
+ name: any[];
17
+ className: string | undefined;
18
+ initialValue: any;
19
+ copiedValue: {
20
+ copied: boolean;
21
+ value?: undefined;
22
+ disabled?: undefined;
23
+ } | {
24
+ copied: boolean;
25
+ value: any;
26
+ disabled: boolean | undefined;
27
+ };
28
+ selectedValue: {
29
+ selected: boolean;
30
+ value?: undefined;
31
+ disabled?: undefined;
32
+ } | {
33
+ selected: boolean;
34
+ value: any;
35
+ disabled: boolean | undefined;
36
+ };
37
+ normalize: ((value: any, prevValue: any, allValues: import("rc-field-form/lib/interface").Store) => any) | undefined;
38
+ rules: Rule[];
39
+ validateTrigger: any[];
40
+ label: import("react/jsx-runtime").JSX.Element | null;
41
+ getValueFromEvent: ((...args: import("rc-field-form/lib/interface").EventArgs) => any) | undefined;
42
+ getValueProps: ((value: any) => Record<string, unknown>) | undefined;
43
+ extra: false | "" | 0 | import("react/jsx-runtime").JSX.Element | null | undefined;
44
+ help: React.ReactNode;
45
+ valuePropName: string | undefined;
46
+ messageVariables: {
47
+ label: string;
48
+ };
49
+ dependencies: any[] | undefined;
50
+ };
51
+ elementProps: {
52
+ [key: string]: any;
53
+ };
54
+ display: any;
55
+ previewFormater: ((value: any, form?: FormInstance<any> | undefined) => any) | undefined;
56
+ };
57
+ export declare const calcDisabled: (disabled?: boolean | FormItemAssert | FormItemAssert[], form?: FormInstance, disabledCode?: string, name?: FormItemName, parentName?: FormItemName) => any;
58
+ export declare const calcCopyValue: (copyValue?: FormItemCopyValue, form?: FormInstance) => {
59
+ copied: boolean;
60
+ value?: undefined;
61
+ disabled?: undefined;
62
+ } | {
63
+ copied: boolean;
64
+ value: any;
65
+ disabled: boolean | undefined;
66
+ };
67
+ export declare const calcSelectValue: (selectValue?: FormItemSelectValue[], form?: FormInstance) => {
68
+ selected: boolean;
69
+ value?: undefined;
70
+ disabled?: undefined;
71
+ } | {
72
+ selected: boolean;
73
+ value: any;
74
+ disabled: boolean | undefined;
75
+ };
76
+ export declare const calcShouldRender: (name: NamePath, parentName: NamePath, dependencies?: NamePath[], asserts?: FormItemAssert[], shouldRender?: ((form?: FormInstance) => boolean) | undefined, shouldRenderCode?: string, form?: FormInstance) => any;
77
+ export declare const automaticCalculate: (name: NamePath, parentName: NamePath, automaticCalcCode?: string, form?: FormInstance) => void;
78
+ export declare const getRuleValidation: (url: string, rule: string | string[], values?: any, lang?: string) => Promise<any>;
79
+ export declare const calcAddableSectionAssertField: (name: any[], field: FormItemAssert['field'], index: number, elements: FormItemConfig[] | React.ReactElement[]) => any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iglooform",
3
- "version": "3.7.8",
3
+ "version": "3.7.9",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "build-dev": "dumi build",