@1money/react-ui 1.16.0 → 1.17.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/AGENTS.md +393 -0
- package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
- package/es/components/CheckboxGroup/interface.d.ts +21 -15
- package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/es/components/Form/Form.d.ts +29 -0
- package/es/components/Form/Form.js +188 -0
- package/es/components/Form/FormItem.d.ts +4 -0
- package/es/components/Form/FormItem.js +165 -0
- package/es/components/Form/FormItemContent.d.ts +18 -0
- package/es/components/Form/FormItemContent.js +146 -0
- package/es/components/Form/constants.d.ts +46 -0
- package/es/components/Form/constants.js +65 -0
- package/es/components/Form/helper.d.ts +120 -0
- package/es/components/Form/helper.js +284 -0
- package/es/components/Form/index.d.ts +20 -0
- package/es/components/Form/index.js +21 -0
- package/es/components/Form/interface.d.ts +238 -0
- package/es/components/Form/interface.js +2 -0
- package/es/components/Form/style/Form.css +1 -0
- package/es/components/Form/style/Form.scss +167 -0
- package/es/components/Form/style/css.js +2 -0
- package/es/components/Form/style/index.d.ts +1 -0
- package/es/components/Form/style/index.js +2 -0
- package/es/components/Form/useFormItemContext.d.ts +32 -0
- package/es/components/Form/useFormItemContext.js +55 -0
- package/es/components/Form/useFormItemWatch.d.ts +51 -0
- package/es/components/Form/useFormItemWatch.js +69 -0
- package/es/components/Form/useValidationTrigger.d.ts +40 -0
- package/es/components/Form/useValidationTrigger.js +74 -0
- package/es/components/Input/Input.js +72 -74
- package/es/components/Input/interface.d.ts +9 -9
- package/es/components/InputAmount/InputAmount.js +228 -276
- package/es/components/InputAmount/helper.d.ts +46 -0
- package/es/components/InputAmount/helper.js +115 -0
- package/es/components/ProForm/ProForm.d.ts +33 -0
- package/es/components/ProForm/ProForm.js +208 -0
- package/es/components/ProForm/ProFormDependency.d.ts +12 -0
- package/es/components/ProForm/ProFormDependency.js +61 -0
- package/es/components/ProForm/ProFormList.d.ts +19 -0
- package/es/components/ProForm/ProFormList.js +348 -0
- package/es/components/ProForm/Submitter.d.ts +21 -0
- package/es/components/ProForm/Submitter.js +76 -0
- package/es/components/ProForm/constants.d.ts +34 -0
- package/es/components/ProForm/constants.js +40 -0
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
- package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormDigit.js +15 -0
- package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMoney.js +10 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
- package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormPassword.js +16 -0
- package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormRadio.js +13 -0
- package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSelect.js +13 -0
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
- package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormText.js +15 -0
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
- package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/es/components/ProForm/fields/createProFormField.js +200 -0
- package/es/components/ProForm/fields/index.d.ts +12 -0
- package/es/components/ProForm/fields/index.js +13 -0
- package/es/components/ProForm/index.d.ts +7 -0
- package/es/components/ProForm/index.js +7 -0
- package/es/components/ProForm/interface.d.ts +306 -0
- package/es/components/ProForm/interface.js +2 -0
- package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/es/components/ProForm/layouts/DrawerForm.js +79 -0
- package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/es/components/ProForm/layouts/ModalForm.js +89 -0
- package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/es/components/ProForm/layouts/QueryFilter.js +132 -0
- package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/es/components/ProForm/layouts/StepsForm.js +295 -0
- package/es/components/ProForm/layouts/index.d.ts +4 -0
- package/es/components/ProForm/layouts/index.js +5 -0
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
- package/es/components/ProForm/style/ProForm.module.css +1 -0
- package/es/components/ProForm/style/ProForm.module.scss +59 -0
- package/es/components/ProForm/style/css.js +3 -0
- package/es/components/ProForm/style/index.d.ts +1 -0
- package/es/components/ProForm/style/index.js +3 -0
- package/es/components/ProForm/utils.d.ts +72 -0
- package/es/components/ProForm/utils.js +206 -0
- package/es/components/RadioGroup/RadioGroup.js +46 -23
- package/es/components/RadioGroup/interface.d.ts +3 -1
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +113 -106
- package/es/components/Select/constants.d.ts +18 -0
- package/es/components/Select/constants.js +19 -0
- package/es/components/Sidebar/Sidebar.js +21 -23
- package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/es/components/Sidebar/SidebarLogo.js +33 -0
- package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/es/components/Sidebar/SimplySidebar.js +18 -22
- package/es/components/Sidebar/Stepper.js +14 -14
- package/es/components/Sidebar/constants.d.ts +16 -0
- package/es/components/Sidebar/constants.js +17 -0
- package/es/components/Sidebar/style/Stepper.css +1 -1
- package/es/components/Sidebar/style/Stepper.scss +11 -1
- package/es/components/Switch/Switch.js +28 -25
- package/es/components/Switch/interface.d.ts +9 -4
- package/es/components/useControlledState/index.d.ts +14 -0
- package/es/components/useControlledState/index.js +32 -0
- package/es/components/useEventCallback/index.d.ts +11 -0
- package/es/components/useEventCallback/index.js +17 -0
- package/es/components/useLayoutEffect/index.d.ts +11 -0
- package/es/components/useLayoutEffect/index.js +17 -0
- package/es/components/useLayoutState/index.d.ts +13 -0
- package/es/components/useLayoutState/index.js +71 -0
- package/es/components/useMemoizedFn/index.d.ts +12 -0
- package/es/components/useMemoizedFn/index.js +27 -0
- package/es/components/usePrevious/index.d.ts +11 -0
- package/es/components/usePrevious/index.js +19 -0
- package/es/components/useSafeState/index.d.ts +12 -0
- package/es/components/useSafeState/index.js +24 -0
- package/es/components/useSyncState/index.d.ts +14 -0
- package/es/components/useSyncState/index.js +37 -0
- package/es/components/useUpdateEffect/index.d.ts +9 -0
- package/es/components/useUpdateEffect/index.js +19 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +21 -2
- package/es/index.js +19 -1
- package/jest.setup.d.ts +1 -0
- package/jest.setup.ts +1 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
- package/lib/components/CheckboxGroup/interface.d.ts +21 -15
- package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/lib/components/Form/Form.d.ts +29 -0
- package/lib/components/Form/Form.js +199 -0
- package/lib/components/Form/FormItem.d.ts +4 -0
- package/lib/components/Form/FormItem.js +176 -0
- package/lib/components/Form/FormItemContent.d.ts +18 -0
- package/lib/components/Form/FormItemContent.js +156 -0
- package/lib/components/Form/constants.d.ts +46 -0
- package/lib/components/Form/constants.js +71 -0
- package/lib/components/Form/helper.d.ts +120 -0
- package/lib/components/Form/helper.js +290 -0
- package/lib/components/Form/index.d.ts +20 -0
- package/lib/components/Form/index.js +45 -0
- package/lib/components/Form/interface.d.ts +238 -0
- package/lib/components/Form/interface.js +6 -0
- package/lib/components/Form/style/Form.css +1 -0
- package/lib/components/Form/style/Form.scss +167 -0
- package/lib/components/Form/style/css.js +4 -0
- package/lib/components/Form/style/index.d.ts +1 -0
- package/lib/components/Form/style/index.js +4 -0
- package/lib/components/Form/useFormItemContext.d.ts +32 -0
- package/lib/components/Form/useFormItemContext.js +62 -0
- package/lib/components/Form/useFormItemWatch.d.ts +51 -0
- package/lib/components/Form/useFormItemWatch.js +76 -0
- package/lib/components/Form/useValidationTrigger.d.ts +40 -0
- package/lib/components/Form/useValidationTrigger.js +81 -0
- package/lib/components/Input/Input.js +71 -73
- package/lib/components/Input/interface.d.ts +9 -9
- package/lib/components/InputAmount/InputAmount.js +230 -278
- package/lib/components/InputAmount/helper.d.ts +46 -0
- package/lib/components/InputAmount/helper.js +122 -0
- package/lib/components/ProForm/ProForm.d.ts +33 -0
- package/lib/components/ProForm/ProForm.js +216 -0
- package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
- package/lib/components/ProForm/ProFormDependency.js +67 -0
- package/lib/components/ProForm/ProFormList.d.ts +19 -0
- package/lib/components/ProForm/ProFormList.js +355 -0
- package/lib/components/ProForm/Submitter.d.ts +21 -0
- package/lib/components/ProForm/Submitter.js +83 -0
- package/lib/components/ProForm/constants.d.ts +34 -0
- package/lib/components/ProForm/constants.js +46 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
- package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
- package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
- package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
- package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormText.js +22 -0
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
- package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/lib/components/ProForm/fields/createProFormField.js +208 -0
- package/lib/components/ProForm/fields/index.d.ts +12 -0
- package/lib/components/ProForm/fields/index.js +90 -0
- package/lib/components/ProForm/index.d.ts +7 -0
- package/lib/components/ProForm/index.js +73 -0
- package/lib/components/ProForm/interface.d.ts +306 -0
- package/lib/components/ProForm/interface.js +6 -0
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
- package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/ModalForm.js +96 -0
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
- package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/lib/components/ProForm/layouts/StepsForm.js +302 -0
- package/lib/components/ProForm/layouts/index.d.ts +4 -0
- package/lib/components/ProForm/layouts/index.js +40 -0
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
- package/lib/components/ProForm/style/ProForm.module.css +1 -0
- package/lib/components/ProForm/style/ProForm.module.scss +59 -0
- package/lib/components/ProForm/style/css.js +4 -0
- package/lib/components/ProForm/style/index.d.ts +1 -0
- package/lib/components/ProForm/style/index.js +4 -0
- package/lib/components/ProForm/utils.d.ts +72 -0
- package/lib/components/ProForm/utils.js +213 -0
- package/lib/components/RadioGroup/RadioGroup.js +45 -22
- package/lib/components/RadioGroup/interface.d.ts +3 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +114 -107
- package/lib/components/Select/constants.d.ts +18 -0
- package/lib/components/Select/constants.js +25 -0
- package/lib/components/Sidebar/Sidebar.js +21 -23
- package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/lib/components/Sidebar/SidebarLogo.js +39 -0
- package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/lib/components/Sidebar/SimplySidebar.js +17 -21
- package/lib/components/Sidebar/Stepper.js +14 -14
- package/lib/components/Sidebar/constants.d.ts +16 -0
- package/lib/components/Sidebar/constants.js +23 -0
- package/lib/components/Sidebar/style/Stepper.css +1 -1
- package/lib/components/Sidebar/style/Stepper.scss +11 -1
- package/lib/components/Switch/Switch.js +27 -24
- package/lib/components/Switch/interface.d.ts +9 -4
- package/lib/components/useControlledState/index.d.ts +14 -0
- package/lib/components/useControlledState/index.js +39 -0
- package/lib/components/useEventCallback/index.d.ts +11 -0
- package/lib/components/useEventCallback/index.js +24 -0
- package/lib/components/useLayoutEffect/index.d.ts +11 -0
- package/lib/components/useLayoutEffect/index.js +23 -0
- package/lib/components/useLayoutState/index.d.ts +13 -0
- package/lib/components/useLayoutState/index.js +79 -0
- package/lib/components/useMemoizedFn/index.d.ts +12 -0
- package/lib/components/useMemoizedFn/index.js +33 -0
- package/lib/components/usePrevious/index.d.ts +11 -0
- package/lib/components/usePrevious/index.js +25 -0
- package/lib/components/useSafeState/index.d.ts +12 -0
- package/lib/components/useSafeState/index.js +31 -0
- package/lib/components/useSyncState/index.d.ts +14 -0
- package/lib/components/useSyncState/index.js +44 -0
- package/lib/components/useUpdateEffect/index.d.ts +9 -0
- package/lib/components/useUpdateEffect/index.js +25 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +21 -2
- package/lib/index.js +213 -1
- package/package.json +16 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare const MIN_INPUT_WIDTH = 33;
|
|
2
|
+
export declare const DECIMAL_POINT_OFFSET = 2;
|
|
3
|
+
export declare const SKELETON_LABEL_WIDTH = "72px";
|
|
4
|
+
export declare const SKELETON_LABEL_HEIGHT = "18px";
|
|
5
|
+
export declare const SPINNER_STROKE_WIDTH = "4";
|
|
6
|
+
export declare const CSS_VAR_INPUT_WIDTH = "--input-width";
|
|
7
|
+
export declare const DEFAULT_TYPE: "primary";
|
|
8
|
+
export declare const DEFAULT_SIZE: "large";
|
|
9
|
+
export declare const DEFAULT_PLACEHOLDER = "0";
|
|
10
|
+
export declare const DEFAULT_PREFIX_CLS = "input-amount";
|
|
11
|
+
export declare const CHAR_MINUS = "-";
|
|
12
|
+
export declare const CHAR_DOT = ".";
|
|
13
|
+
export declare const CHAR_COMMA = ",";
|
|
14
|
+
export declare const isNumericType: (val: unknown) => val is number | bigint;
|
|
15
|
+
export declare const normalizeNumberInput: (val: string) => string;
|
|
16
|
+
export declare const stripCommas: (val: string) => string;
|
|
17
|
+
export declare const stripMinus: (val: string) => string;
|
|
18
|
+
export declare const formatThousands: (val: string, allowNegative?: boolean) => string;
|
|
19
|
+
export declare const calcValueInRange: (val: string, min?: number | bigint, max?: number | bigint) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Normalize a raw numeric value string:
|
|
22
|
+
* - Strips leading zeros via BigNumber
|
|
23
|
+
* - Preserves negative-zero representation when applicable
|
|
24
|
+
* - Appends trailing decimal point if present in input
|
|
25
|
+
*/
|
|
26
|
+
export declare const normalizeValue: (val: string, hasDecimalPoint: boolean, negative?: boolean) => string;
|
|
27
|
+
export declare const truncateFractionDigits: (val: string, maxDecimals: number) => {
|
|
28
|
+
int: string;
|
|
29
|
+
truncated: string;
|
|
30
|
+
overflow: boolean;
|
|
31
|
+
};
|
|
32
|
+
export declare const calcGapWidth: (hasPrefix: boolean, hasSuffix: boolean, hasCurrency: boolean) => 0 | 8 | 16 | 24;
|
|
33
|
+
export interface ParsedInput {
|
|
34
|
+
val: string;
|
|
35
|
+
hasDecimalPoint: boolean;
|
|
36
|
+
isStandaloneMinus: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Parse and sanitize a raw string input value.
|
|
40
|
+
* Returns `null` if the value is invalid and should be rejected.
|
|
41
|
+
*/
|
|
42
|
+
export declare const parseRawInput: (raw: string, negative?: boolean) => ParsedInput | null;
|
|
43
|
+
/**
|
|
44
|
+
* Ensure a numeric value is non-negative when `negative` is not allowed.
|
|
45
|
+
*/
|
|
46
|
+
export declare const absValue: (val: number | bigint) => number | bigint;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { numericFormatter } from 'react-number-format';
|
|
4
|
+
export var MIN_INPUT_WIDTH = 33;
|
|
5
|
+
export var DECIMAL_POINT_OFFSET = 2;
|
|
6
|
+
export var SKELETON_LABEL_WIDTH = '72px';
|
|
7
|
+
export var SKELETON_LABEL_HEIGHT = '18px';
|
|
8
|
+
export var SPINNER_STROKE_WIDTH = '4';
|
|
9
|
+
export var CSS_VAR_INPUT_WIDTH = '--input-width';
|
|
10
|
+
export var DEFAULT_TYPE = 'primary';
|
|
11
|
+
export var DEFAULT_SIZE = 'large';
|
|
12
|
+
export var DEFAULT_PLACEHOLDER = '0';
|
|
13
|
+
export var DEFAULT_PREFIX_CLS = 'input-amount';
|
|
14
|
+
export var CHAR_MINUS = '-';
|
|
15
|
+
export var CHAR_DOT = '.';
|
|
16
|
+
export var CHAR_COMMA = ',';
|
|
17
|
+
var GAP_SINGLE = 8;
|
|
18
|
+
var GAP_DOUBLE = 16;
|
|
19
|
+
var GAP_TRIPLE = 24;
|
|
20
|
+
/** Fullwidth decimal/period → ASCII dot, fullwidth comma → ASCII comma */
|
|
21
|
+
var FULLWIDTH_DOT_RE = /[\u3002\uff0e\uff61]/g;
|
|
22
|
+
var FULLWIDTH_COMMA_RE = /[\uFF0C]/g;
|
|
23
|
+
var MINUS_RE = /-/g;
|
|
24
|
+
var TRAILING_DECIMALS_RE = /\.(\d+)$/;
|
|
25
|
+
export var isNumericType = function isNumericType(val) {
|
|
26
|
+
return typeof val === 'number' || typeof val === 'bigint';
|
|
27
|
+
};
|
|
28
|
+
export var normalizeNumberInput = function normalizeNumberInput(val) {
|
|
29
|
+
return val.replace(FULLWIDTH_DOT_RE, CHAR_DOT).replace(FULLWIDTH_COMMA_RE, CHAR_COMMA);
|
|
30
|
+
};
|
|
31
|
+
export var stripCommas = function stripCommas(val) {
|
|
32
|
+
return val.split(CHAR_COMMA).join('');
|
|
33
|
+
};
|
|
34
|
+
export var stripMinus = function stripMinus(val) {
|
|
35
|
+
return val.replace(MINUS_RE, '');
|
|
36
|
+
};
|
|
37
|
+
export var formatThousands = function formatThousands(val, allowNegative) {
|
|
38
|
+
return numericFormatter(val, {
|
|
39
|
+
thousandSeparator: true,
|
|
40
|
+
allowNegative: allowNegative
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
export var calcValueInRange = function calcValueInRange(val, min, max) {
|
|
44
|
+
if (val === '' || val === CHAR_MINUS || isNaN(+val)) return val;
|
|
45
|
+
var bnVal = BigNumber(val);
|
|
46
|
+
if (isNumericType(min) && bnVal.lt(BigNumber(min))) return "".concat(min);
|
|
47
|
+
if (isNumericType(max) && bnVal.gt(BigNumber(max))) return "".concat(max);
|
|
48
|
+
return val;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Normalize a raw numeric value string:
|
|
52
|
+
* - Strips leading zeros via BigNumber
|
|
53
|
+
* - Preserves negative-zero representation when applicable
|
|
54
|
+
* - Appends trailing decimal point if present in input
|
|
55
|
+
*/
|
|
56
|
+
export var normalizeValue = function normalizeValue(val, hasDecimalPoint, negative) {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
var decimals = (_c = (_b = (_a = val.match(TRAILING_DECIMALS_RE)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
|
|
59
|
+
var bn = BigNumber(val);
|
|
60
|
+
var normalized = bn.toFixed(decimals);
|
|
61
|
+
if (negative && val.trim().startsWith(CHAR_MINUS) && bn.isZero()) {
|
|
62
|
+
normalized = normalized.startsWith(CHAR_MINUS) ? normalized : "".concat(CHAR_MINUS).concat(normalized);
|
|
63
|
+
}
|
|
64
|
+
return "".concat(normalized).concat(hasDecimalPoint ? CHAR_DOT : '').trim();
|
|
65
|
+
};
|
|
66
|
+
export var truncateFractionDigits = function truncateFractionDigits(val, maxDecimals) {
|
|
67
|
+
var _val$split = val.split(CHAR_DOT),
|
|
68
|
+
_val$split2 = _slicedToArray(_val$split, 2),
|
|
69
|
+
_int = _val$split2[0],
|
|
70
|
+
decimal = _val$split2[1];
|
|
71
|
+
if (decimal != null && decimal.length > maxDecimals) {
|
|
72
|
+
return {
|
|
73
|
+
"int": _int,
|
|
74
|
+
truncated: "".concat(_int).concat(CHAR_DOT).concat(decimal.slice(0, maxDecimals)),
|
|
75
|
+
overflow: true
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
"int": _int,
|
|
80
|
+
truncated: val,
|
|
81
|
+
overflow: false
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export var calcGapWidth = function calcGapWidth(hasPrefix, hasSuffix, hasCurrency) {
|
|
85
|
+
var count = +hasPrefix + +hasSuffix + +hasCurrency;
|
|
86
|
+
if (count >= 3) return GAP_TRIPLE;
|
|
87
|
+
if (count === 2) return GAP_DOUBLE;
|
|
88
|
+
if (count === 1) return GAP_SINGLE;
|
|
89
|
+
return 0;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Parse and sanitize a raw string input value.
|
|
93
|
+
* Returns `null` if the value is invalid and should be rejected.
|
|
94
|
+
*/
|
|
95
|
+
export var parseRawInput = function parseRawInput(raw, negative) {
|
|
96
|
+
var val = stripCommas(normalizeNumberInput(raw));
|
|
97
|
+
var hasDecimalPoint = val.endsWith(CHAR_DOT);
|
|
98
|
+
if (hasDecimalPoint) val = val.slice(0, -1);
|
|
99
|
+
if (!negative && val.includes(CHAR_MINUS)) return null;
|
|
100
|
+
var isStandaloneMinus = !!negative && val === CHAR_MINUS;
|
|
101
|
+
if (!isStandaloneMinus && isNaN(+val)) return null;
|
|
102
|
+
return {
|
|
103
|
+
val: val,
|
|
104
|
+
hasDecimalPoint: hasDecimalPoint,
|
|
105
|
+
isStandaloneMinus: isStandaloneMinus
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Ensure a numeric value is non-negative when `negative` is not allowed.
|
|
110
|
+
*/
|
|
111
|
+
export var absValue = function absValue(val) {
|
|
112
|
+
if (typeof val === 'number') return Math.abs(val);
|
|
113
|
+
return val < BigInt(0) ? -val : val;
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvSW5wdXRBbW91bnQvaGVscGVyLnRzIiwiY29tcG9uZW50cy9JbnB1dEFtb3VudC9oZWxwZXIuanMiXSwibmFtZXMiOlsiQmlnTnVtYmVyIiwibnVtZXJpY0Zvcm1hdHRlciIsIk1JTl9JTlBVVF9XSURUSCIsIkRFQ0lNQUxfUE9JTlRfT0ZGU0VUIiwiU0tFTEVUT05fTEFCRUxfV0lEVEgiLCJTS0VMRVRPTl9MQUJFTF9IRUlHSFQiLCJTUElOTkVSX1NUUk9LRV9XSURUSCIsIkNTU19WQVJfSU5QVVRfV0lEVEgiLCJERUZBVUxUX1RZUEUiLCJERUZBVUxUX1NJWkUiLCJERUZBVUxUX1BMQUNFSE9MREVSIiwiREVGQVVMVF9QUkVGSVhfQ0xTIiwiQ0hBUl9NSU5VUyIsIkNIQVJfRE9UIiwiQ0hBUl9DT01NQSIsIkdBUF9TSU5HTEUiLCJHQVBfRE9VQkxFIiwiR0FQX1RSSVBMRSIsIkZVTExXSURUSF9ET1RfUkUiLCJGVUxMV0lEVEhfQ09NTUFfUkUiLCJNSU5VU19SRSIsIlRSQUlMSU5HX0RFQ0lNQUxTX1JFIiwiaXNOdW1lcmljVHlwZSIsInZhbCIsIm5vcm1hbGl6ZU51bWJlcklucHV0IiwicmVwbGFjZSIsInN0cmlwQ29tbWFzIiwic3BsaXQiLCJqb2luIiwic3RyaXBNaW51cyIsImZvcm1hdFRob3VzYW5kcyIsImFsbG93TmVnYXRpdmUiLCJ0aG91c2FuZFNlcGFyYXRvciIsImNhbGNWYWx1ZUluUmFuZ2UiLCJtaW4iLCJtYXgiLCJpc05hTiIsImJuVmFsIiwibHQiLCJjb25jYXQiLCJndCIsIm5vcm1hbGl6ZVZhbHVlIiwiaGFzRGVjaW1hbFBvaW50IiwibmVnYXRpdmUiLCJfYSIsIl9iIiwiX2MiLCJkZWNpbWFscyIsIm1hdGNoIiwibGVuZ3RoIiwiYm4iLCJub3JtYWxpemVkIiwidG9GaXhlZCIsInRyaW0iLCJzdGFydHNXaXRoIiwiaXNaZXJvIiwidHJ1bmNhdGVGcmFjdGlvbkRpZ2l0cyIsIm1heERlY2ltYWxzIiwiX3ZhbCRzcGxpdCIsIl92YWwkc3BsaXQyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnQiLCJkZWNpbWFsIiwidHJ1bmNhdGVkIiwic2xpY2UiLCJvdmVyZmxvdyIsImNhbGNHYXBXaWR0aCIsImhhc1ByZWZpeCIsImhhc1N1ZmZpeCIsImhhc0N1cnJlbmN5IiwiY291bnQiLCJwYXJzZVJhd0lucHV0IiwicmF3IiwiZW5kc1dpdGgiLCJpbmNsdWRlcyIsImlzU3RhbmRhbG9uZU1pbnVzIiwiYWJzVmFsdWUiLCJNYXRoIiwiYWJzIiwiQmlnSW50Il0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsU0FBUyxNQUFNLGNBQWM7QUFDcEMsU0FBU0MsZ0JBQWdCLFFBQVEscUJBQXFCO0FBRXRELE9BQU8sSUFBTUMsZUFBZSxHQUFHLEVBQUU7QUFDakMsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxDQUFDO0FBQ3JDLE9BQU8sSUFBTUMsb0JBQW9CLEdBQUcsTUFBTTtBQUMxQyxPQUFPLElBQU1DLHFCQUFxQixHQUFHLE1BQU07QUFDM0MsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxHQUFHO0FBQ3ZDLE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsZUFBZTtBQUVsRCxPQUFPLElBQU1DLFlBQVksR0FBRyxTQUFrQjtBQUM5QyxPQUFPLElBQU1DLFlBQVksR0FBRyxPQUFnQjtBQUM1QyxPQUFPLElBQU1DLG1CQUFtQixHQUFHLEdBQUc7QUFDdEMsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxjQUFjO0FBRWhELE9BQU8sSUFBTUMsVUFBVSxHQUFHLEdBQUc7QUFDN0IsT0FBTyxJQUFNQyxRQUFRLEdBQUcsR0FBRztBQUMzQixPQUFPLElBQU1DLFVBQVUsR0FBRyxHQUFHO0FBRTdCLElBQU1DLFVBQVUsR0FBRyxDQUFDO0FBQ3BCLElBQU1DLFVBQVUsR0FBRyxFQUFFO0FBQ3JCLElBQU1DLFVBQVUsR0FBRyxFQUFFO0FBRXJCO0FBQ0EsSUFBTUMsZ0JBQWdCLEdBQUcsdUJBQXVCO0FBQ2hELElBQU1DLGtCQUFrQixHQUFH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RUQ7QUM5QkE7QUFDQTtBRGdDQSxPQUFPLElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJckQsR0FBb0IsRUFBcUI7RUFDaEUsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFLE9BQU9zRCxJQUFJLENBQUNDLEdBQUcsQ0FBQ3ZELEdBQUcsQ0FBQztFQUNqRCxPQUFPQSxHQUFHLEdBQUd3RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQ3hELEdBQUcsR0FBR0EsR0FBRztBQUNyQyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXRBbW91bnQvaGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5leHBvcnQgY29uc3QgTUlOX0lOUFVUX1dJRFRIID0gMzM7XG5leHBvcnQgY29uc3QgREVDSU1BTF9QT0lOVF9PRkZTRVQgPSAyO1xuZXhwb3J0IGNvbnN0IFNLRUxFVE9OX0xBQkVMX1dJRFRIID0gJzcycHgnO1xuZXhwb3J0IGNvbnN0IFNLRUxFVE9OX0xBQkVMX0hFSUdIVCA9ICcxOHB4JztcbmV4cG9ydCBjb25zdCBTUElOTkVSX1NUUk9LRV9XSURUSCA9ICc0JztcbmV4cG9ydCBjb25zdCBDU1NfVkFSX0lOUFVUX1dJRFRIID0gJy0taW5wdXQtd2lkdGgnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVFlQRSA9ICdwcmltYXJ5JztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NJWkUgPSAnbGFyZ2UnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVIgPSAnMCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9QUkVGSVhfQ0xTID0gJ2lucHV0LWFtb3VudCc7XG5leHBvcnQgY29uc3QgQ0hBUl9NSU5VUyA9ICctJztcbmV4cG9ydCBjb25zdCBDSEFSX0RPVCA9ICcuJztcbmV4cG9ydCBjb25zdCBDSEFSX0NPTU1BID0gJywnO1xuY29uc3QgR0FQX1NJTkdMRSA9IDg7XG5jb25zdCBHQVBfRE9VQkxFID0gMTY7XG5jb25zdCBHQVBfVFJJUExFID0gMjQ7XG4vKiogRnVsbHdpZHRoIGRlY2ltYWwvcGVyaW9kIOKGkiBBU0NJSSBkb3QsIGZ1bGx3aWR0aCBjb21tYSDihpIgQVNDSUkgY29tbWEgKi9cbmNvbnN0IEZVTExXSURUSF9ET1RfUkUgPSAvW1xcdTMwMDJcXHVmZjBlXFx1ZmY2MV0vZztcbmNvbnN0IEZVTExXSURUSF9DT01NQV9SRSA9IC9bXFx1RkYwQ10vZztcbmNvbnN0IE1JTlVTX1JFID0gLy0vZztcbmNvbnN0IFRSQUlMSU5HX0RFQ0lNQUxTX1JFID0gL1xcLihcXGQrKSQvO1xuZXhwb3J0IGNvbnN0IGlzTnVtZXJpY1R5cGUgPSAodmFsKSA9PiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsID09PSAnYmlnaW50JztcbmV4cG9ydCBjb25zdCBub3JtYWxpemVOdW1iZXJJbnB1dCA9ICh2YWwpID0+IHZhbFxuICAgIC5yZXBsYWNlKEZVTExXSURUSF9ET1RfUkUsIENIQVJfRE9UKVxuICAgIC5yZXBsYWNlKEZVTExXSURUSF9DT01NQV9SRSwgQ0hBUl9DT01NQSk7XG5leHBvcnQgY29uc3Qgc3RyaXBDb21tYXMgPSAodmFsKSA9PiB2YWwuc3BsaXQoQ0hBUl9DT01NQSkuam9pbignJyk7XG5leHBvcnQgY29uc3Qgc3RyaXBNaW51cyA9ICh2YWwpID0+IHZhbC5yZXBsYWNlKE1JTlVTX1JFLCAnJyk7XG5leHBvcnQgY29uc3QgZm9ybWF0VGhvdXNhbmRzID0gKHZhbCwgYWxsb3dOZWdhdGl2ZSkgPT4gbnVtZXJpY0Zvcm1hdHRlcih2YWwsIHsgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsIGFsbG93TmVnYXRpdmUgfSk7XG5leHBvcnQgY29uc3QgY2FsY1ZhbHVlSW5SYW5nZSA9ICh2YWwsIG1pbiwgbWF4KSA9PiB7XG4gICAgaWYgKHZhbCA9PT0gJycgfHwgdmFsID09PSBDSEFSX01JTlVTIHx8IGlzTmFOKCt2YWwpKVxuICAgICAgICByZXR1cm4gdmFsO1xuICAgIGNvbnN0IGJuVmFsID0gQmlnTnVtYmVyKHZhbCk7XG4gICAgaWYgKGlzTnVtZXJpY1R5cGUobWluKSAmJiBiblZhbC5sdChCaWdOdW1iZXIobWluKSkpXG4gICAgICAgIHJldHVybiBgJHttaW59YDtcbiAgICBpZiAoaXNOdW1lcmljVHlwZShtYXgpICYmIGJuVmFsLmd0KEJpZ051bWJlcihtYXgpKSlcbiAgICAgICAgcmV0dXJuIGAke21heH1gO1xuICAgIHJldHVybiB2YWw7XG59O1xuLyoqXG4gKiBOb3JtYWxpemUgYSByYXcgbnVtZXJpYyB2YWx1ZSBzdHJpbmc6XG4gKiAtIFN0cmlwcyBsZWFkaW5nIHplcm9zIHZpYSBCaWdOdW1iZXJcbiAqIC0gUHJlc2VydmVzIG5lZ2F0aXZlLXplcm8gcmVwcmVzZW50YXRpb24gd2hlbiBhcHBsaWNhYmxlXG4gKiAtIEFwcGVuZHMgdHJhaWxpbmcgZGVjaW1hbCBwb2ludCBpZiBwcmVzZW50IGluIGlucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVWYWx1ZSA9ICh2YWwsIGhhc0RlY2ltYWxQb2ludCwgbmVnYXRpdmUpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBkZWNpbWFscyA9IChfYyA9IChfYiA9IChfYSA9IHZhbC5tYXRjaChUUkFJTElOR19ERUNJTUFMU19SRSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsxXSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxlbmd0aCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICBjb25zdCBibiA9IEJpZ051bWJlcih2YWwpO1xuICAgIGxldCBub3JtYWxpemVkID0gYm4udG9GaXhlZChkZWNpbWFscyk7XG4gICAgaWYgKG5lZ2F0aXZlICYmIHZhbC50cmltKCkuc3RhcnRzV2l0aChDSEFSX01JTlVTKSAmJiBibi5pc1plcm8oKSkge1xuICAgICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplZC5zdGFydHNXaXRoKENIQVJfTUlOVVMpID8gbm9ybWFsaXplZCA6IGAke0NIQVJfTUlOVVN9JHtub3JtYWxpemVkfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtub3JtYWxpemVkfSR7aGFzRGVjaW1hbFBvaW50ID8gQ0hBUl9ET1QgOiAnJ31gLnRyaW0oKTtcbn07XG5leHBvcnQgY29uc3QgdHJ1bmNhdGVGcmFjdGlvbkRpZ2l0cyA9ICh2YWwsIG1heERlY2ltYWxzKSA9PiB7XG4gICAgY29uc3QgW2ludCwgZGVjaW1hbF0gPSB2YWwuc3BsaXQoQ0hBUl9ET1QpO1xuICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBtYXhEZWNpbWFscykge1xuICAgICAgICByZXR1cm4geyBpbnQsIHRydW5jYXRlZDogYCR7aW50fSR7Q0hBUl9ET1R9JHtkZWNpbWFsLnNsaWNlKDAsIG1heERlY2ltYWxzKX1gLCBvdmVyZmxvdzogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBpbnQsIHRydW5jYXRlZDogdmFsLCBvdmVyZmxvdzogZmFsc2UgfTtcbn07XG5leHBvcnQgY29uc3QgY2FsY0dhcFdpZHRoID0gKGhhc1ByZWZpeCwgaGFzU3VmZml4LCBoYXNDdXJyZW5jeSkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gK2hhc1ByZWZpeCArICtoYXNTdWZmaXggKyAraGFzQ3VycmVuY3k7XG4gICAgaWYgKGNvdW50ID49IDMpXG4gICAgICAgIHJldHVybiBHQVBfVFJJUExFO1xuICAgIGlmIChjb3VudCA9PT0gMilcbiAgICAgICAgcmV0dXJuIEdBUF9ET1VCTEU7XG4gICAgaWYgKGNvdW50ID09PSAxKVxuICAgICAgICByZXR1cm4gR0FQX1NJTkdMRTtcbiAgICByZXR1cm4gMDtcbn07XG4vKipcbiAqIFBhcnNlIGFuZCBzYW5pdGl6ZSBhIHJhdyBzdHJpbmcgaW5wdXQgdmFsdWUuXG4gKiBSZXR1cm5zIGBudWxsYCBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCBhbmQgc2hvdWxkIGJlIHJlamVjdGVkLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VSYXdJbnB1dCA9IChyYXcsIG5lZ2F0aXZlKSA9PiB7XG4gICAgbGV0IHZhbCA9IHN0cmlwQ29tbWFzKG5vcm1hbGl6ZU51bWJlcklucHV0KHJhdykpO1xuICAgIGNvbnN0IGhhc0RlY2ltYWxQb2ludCA9IHZhbC5lbmRzV2l0aChDSEFSX0RPVCk7XG4gICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICBpZiAoIW5lZ2F0aXZlICYmIHZhbC5pbmNsdWRlcyhDSEFSX01JTlVTKSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgaXNTdGFuZGFsb25lTWludXMgPSAhIW5lZ2F0aXZlICYmIHZhbCA9PT0gQ0hBUl9NSU5VUztcbiAgICBpZiAoIWlzU3RhbmRhbG9uZU1pbnVzICYmIGlzTmFOKCt2YWwpKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4geyB2YWwsIGhhc0RlY2ltYWxQb2ludCwgaXNTdGFuZGFsb25lTWludXMgfTtcbn07XG4vKipcbiAqIEVuc3VyZSBhIG51bWVyaWMgdmFsdWUgaXMgbm9uLW5lZ2F0aXZlIHdoZW4gYG5lZ2F0aXZlYCBpcyBub3QgYWxsb3dlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFic1ZhbHVlID0gKHZhbCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIE1hdGguYWJzKHZhbCk7XG4gICAgcmV0dXJuIHZhbCA8IEJpZ0ludCgwKSA/IC12YWwgOiB2YWw7XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { ProFormProps } from './interface';
|
|
3
|
+
/** Context value providing ProForm-level configuration to descendant field components. */
|
|
4
|
+
export interface ProFormContextValue {
|
|
5
|
+
/** Whether all fields should render in readonly mode. */
|
|
6
|
+
readonly?: boolean;
|
|
7
|
+
/** Whether grid layout is enabled. */
|
|
8
|
+
grid?: boolean;
|
|
9
|
+
/** Default column props for grid fields. */
|
|
10
|
+
colProps?: {
|
|
11
|
+
span?: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* React context that propagates ProForm configuration (readonly, grid, colProps)
|
|
16
|
+
* to nested field components created via {@link createProFormField}.
|
|
17
|
+
*/
|
|
18
|
+
export declare const ProFormContext: import("react").Context<ProFormContextValue>;
|
|
19
|
+
/**
|
|
20
|
+
* Enhanced form component with built-in submit/reset buttons, grid layout,
|
|
21
|
+
* readonly mode, and async remote data loading via `request`.
|
|
22
|
+
*
|
|
23
|
+
* @typeParam TFieldValues - The form values type.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <ProForm onFinish={async (values) => { await save(values); }}>
|
|
28
|
+
* <ProFormText name="username" label="Username" />
|
|
29
|
+
* </ProForm>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function ProForm<TFieldValues extends FieldValues = FieldValues>(props: ProFormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export default ProForm;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) {
|
|
4
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
5
|
+
resolve(value);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
+
function fulfilled(value) {
|
|
10
|
+
try {
|
|
11
|
+
step(generator.next(value));
|
|
12
|
+
} catch (e) {
|
|
13
|
+
reject(e);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function rejected(value) {
|
|
17
|
+
try {
|
|
18
|
+
step(generator["throw"](value));
|
|
19
|
+
} catch (e) {
|
|
20
|
+
reject(e);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function step(result) {
|
|
24
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
25
|
+
}
|
|
26
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
30
|
+
var t = {};
|
|
31
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
32
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
33
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
34
|
+
}
|
|
35
|
+
return t;
|
|
36
|
+
};
|
|
37
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
38
|
+
import { createContext, useEffect, useMemo, useRef } from 'react';
|
|
39
|
+
import useLatest from '../useLatest';
|
|
40
|
+
import useMemoizedFn from '../useMemoizedFn';
|
|
41
|
+
import { useForm } from 'react-hook-form';
|
|
42
|
+
import { Row } from '../Grid';
|
|
43
|
+
import { Form } from '../Form';
|
|
44
|
+
import Submitter from './Submitter';
|
|
45
|
+
import { DEFAULT_COL_SPAN } from './constants';
|
|
46
|
+
import { isSubmitterEnabled, stableSerialize } from './utils';
|
|
47
|
+
/**
|
|
48
|
+
* React context that propagates ProForm configuration (readonly, grid, colProps)
|
|
49
|
+
* to nested field components created via {@link createProFormField}.
|
|
50
|
+
*/
|
|
51
|
+
export var ProFormContext = /*#__PURE__*/createContext({
|
|
52
|
+
readonly: false,
|
|
53
|
+
grid: false,
|
|
54
|
+
colProps: {
|
|
55
|
+
span: DEFAULT_COL_SPAN
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Enhanced form component with built-in submit/reset buttons, grid layout,
|
|
60
|
+
* readonly mode, and async remote data loading via `request`.
|
|
61
|
+
*
|
|
62
|
+
* @typeParam TFieldValues - The form values type.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* <ProForm onFinish={async (values) => { await save(values); }}>
|
|
67
|
+
* <ProFormText name="username" label="Username" />
|
|
68
|
+
* </ProForm>
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export function ProForm(props) {
|
|
72
|
+
var _this = this;
|
|
73
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
74
|
+
var submitter = props.submitter,
|
|
75
|
+
_props$readonly = props.readonly,
|
|
76
|
+
readonly = _props$readonly === void 0 ? false : _props$readonly,
|
|
77
|
+
_props$grid = props.grid,
|
|
78
|
+
grid = _props$grid === void 0 ? false : _props$grid,
|
|
79
|
+
colProps = props.colProps,
|
|
80
|
+
rowProps = props.rowProps,
|
|
81
|
+
externalForm = props.form,
|
|
82
|
+
request = props.request,
|
|
83
|
+
params = props.params,
|
|
84
|
+
_props$loading = props.loading,
|
|
85
|
+
loading = _props$loading === void 0 ? false : _props$loading,
|
|
86
|
+
children = props.children,
|
|
87
|
+
onFinish = props.onFinish,
|
|
88
|
+
defaultValues = props.defaultValues,
|
|
89
|
+
rest = __rest(props, ["submitter", "readonly", "grid", "colProps", "rowProps", "form", "request", "params", "loading", "children", "onFinish", "defaultValues"]);
|
|
90
|
+
// Always create an internal form to keep hook ordering stable.
|
|
91
|
+
// When `externalForm` is provided, this instance is unused. We pass
|
|
92
|
+
// `shouldUnregister: true` to minimize overhead of the unused form.
|
|
93
|
+
var internalForm = useForm({
|
|
94
|
+
defaultValues: defaultValues,
|
|
95
|
+
shouldUnregister: true
|
|
96
|
+
});
|
|
97
|
+
var form = externalForm !== null && externalForm !== void 0 ? externalForm : internalForm;
|
|
98
|
+
var paramsKey = useMemo(function () {
|
|
99
|
+
return stableSerialize(params);
|
|
100
|
+
}, [params]);
|
|
101
|
+
var stableParams = useMemo(function () {
|
|
102
|
+
return params;
|
|
103
|
+
}, [paramsKey]);
|
|
104
|
+
var stableColProps = useMemo(function () {
|
|
105
|
+
return colProps !== null && colProps !== void 0 ? colProps : {
|
|
106
|
+
span: DEFAULT_COL_SPAN
|
|
107
|
+
};
|
|
108
|
+
}, [colProps === null || colProps === void 0 ? void 0 : colProps.span]);
|
|
109
|
+
var latestRequestRef = useLatest(request);
|
|
110
|
+
var latestResetValuesRef = useRef(defaultValues);
|
|
111
|
+
var formRest = rest;
|
|
112
|
+
var onFinishFailed = formRest.onFinishFailed,
|
|
113
|
+
forwardedFormProps = __rest(formRest, ["onFinishFailed"]);
|
|
114
|
+
useEffect(function () {
|
|
115
|
+
latestResetValuesRef.current = defaultValues;
|
|
116
|
+
}, [defaultValues]);
|
|
117
|
+
useEffect(function () {
|
|
118
|
+
var cancelled = false;
|
|
119
|
+
var currentRequest = latestRequestRef.current;
|
|
120
|
+
if (!currentRequest) return;
|
|
121
|
+
currentRequest(stableParams).then(function (values) {
|
|
122
|
+
if (cancelled || !values) return;
|
|
123
|
+
form.reset(values);
|
|
124
|
+
latestResetValuesRef.current = values;
|
|
125
|
+
})["catch"](function () {
|
|
126
|
+
// Silently ignore — consumers should handle request errors
|
|
127
|
+
// via their own error boundaries or by wrapping the `request` function.
|
|
128
|
+
});
|
|
129
|
+
return function () {
|
|
130
|
+
cancelled = true;
|
|
131
|
+
};
|
|
132
|
+
}, [stableParams, form]);
|
|
133
|
+
var ctx = useMemo(function () {
|
|
134
|
+
return {
|
|
135
|
+
readonly: readonly,
|
|
136
|
+
grid: grid,
|
|
137
|
+
colProps: stableColProps
|
|
138
|
+
};
|
|
139
|
+
}, [readonly, grid, stableColProps]);
|
|
140
|
+
var handleFinish = useMemoizedFn(function (values) {
|
|
141
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
142
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
143
|
+
while (1) switch (_context.prev = _context.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
_context.next = 2;
|
|
146
|
+
return onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
|
|
147
|
+
case 2:
|
|
148
|
+
case "end":
|
|
149
|
+
return _context.stop();
|
|
150
|
+
}
|
|
151
|
+
}, _callee);
|
|
152
|
+
}));
|
|
153
|
+
});
|
|
154
|
+
var handleReset = useMemoizedFn(function () {
|
|
155
|
+
var _a;
|
|
156
|
+
form.reset(latestResetValuesRef.current);
|
|
157
|
+
if (isSubmitterEnabled(submitter)) {
|
|
158
|
+
(_a = submitter.onReset) === null || _a === void 0 ? void 0 : _a.call(submitter);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
var triggerSubmitterOnSubmit = useMemoizedFn(function () {
|
|
162
|
+
var _a;
|
|
163
|
+
if (isSubmitterEnabled(submitter)) {
|
|
164
|
+
(_a = submitter.onSubmit) === null || _a === void 0 ? void 0 : _a.call(submitter);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
var handleSubmitFromRender = useMemoizedFn(function () {
|
|
168
|
+
triggerSubmitterOnSubmit();
|
|
169
|
+
try {
|
|
170
|
+
var submitPromise = form.handleSubmit(handleFinish, onFinishFailed)(undefined);
|
|
171
|
+
submitPromise["catch"](function (error) {
|
|
172
|
+
console.error('[ProForm] handleSubmitFromRender rejected after triggerSubmitterOnSubmit via form.handleSubmit(handleFinish, onFinishFailed).', error);
|
|
173
|
+
});
|
|
174
|
+
} catch (error) {
|
|
175
|
+
console.error('[ProForm] handleSubmitFromRender threw after triggerSubmitterOnSubmit via form.handleSubmit(handleFinish, onFinishFailed).', error);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
var mergedDisabled = (_a = rest.disabled) !== null && _a !== void 0 ? _a : loading;
|
|
179
|
+
var content = !grid ? children : _jsx(Row, {
|
|
180
|
+
gutter: rowProps === null || rowProps === void 0 ? void 0 : rowProps.gutter,
|
|
181
|
+
children: children
|
|
182
|
+
});
|
|
183
|
+
return _jsx(ProFormContext.Provider, {
|
|
184
|
+
value: ctx,
|
|
185
|
+
children: _jsxs(Form, Object.assign({}, forwardedFormProps, {
|
|
186
|
+
form: form,
|
|
187
|
+
disabled: mergedDisabled,
|
|
188
|
+
defaultValues: defaultValues,
|
|
189
|
+
onFinish: handleFinish,
|
|
190
|
+
onFinishFailed: onFinishFailed,
|
|
191
|
+
children: [content, submitter !== false && _jsx(Submitter, Object.assign({}, submitter || {}, {
|
|
192
|
+
form: form,
|
|
193
|
+
submitButtonProps: Object.assign(Object.assign({}, (submitter === null || submitter === void 0 ? void 0 : submitter.submitButtonProps) || {}), {
|
|
194
|
+
loading: (_c = (_b = submitter === null || submitter === void 0 ? void 0 : submitter.submitButtonProps) === null || _b === void 0 ? void 0 : _b.loading) !== null && _c !== void 0 ? _c : loading,
|
|
195
|
+
disabled: (_e = (_d = submitter === null || submitter === void 0 ? void 0 : submitter.submitButtonProps) === null || _d === void 0 ? void 0 : _d.disabled) !== null && _e !== void 0 ? _e : loading
|
|
196
|
+
}),
|
|
197
|
+
resetButtonProps: Object.assign(Object.assign({}, (submitter === null || submitter === void 0 ? void 0 : submitter.resetButtonProps) || {}), {
|
|
198
|
+
disabled: (_g = (_f = submitter === null || submitter === void 0 ? void 0 : submitter.resetButtonProps) === null || _f === void 0 ? void 0 : _f.disabled) !== null && _g !== void 0 ? _g : loading
|
|
199
|
+
}),
|
|
200
|
+
onSubmit: triggerSubmitterOnSubmit,
|
|
201
|
+
onSubmitForm: handleSubmitFromRender,
|
|
202
|
+
onReset: handleReset
|
|
203
|
+
}))]
|
|
204
|
+
}))
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export default ProForm;
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsIl9fcmVzdCIsInMiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiY3JlYXRlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VMYXRlc3QiLCJ1c2VNZW1vaXplZEZuIiwidXNlRm9ybSIsIlJvdyIsIkZvcm0iLCJTdWJtaXR0ZXIiLCJERUZBVUxUX0NPTF9TUEFOIiwiaXNTdWJtaXR0ZXJFbmFibGVkIiwic3RhYmxlU2VyaWFsaXplIiwiUHJvRm9ybUNvbnRleHQiLCJyZWFkb25seSIsImdyaWQiLCJjb2xQcm9wcyIsInNwYW4iLCJQcm9Gb3JtIiwicHJvcHMiLCJfdGhpcyIsIl9hIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJfZiIsIl9nIiwic3VibWl0dGVyIiwiX3Byb3BzJHJlYWRvbmx5IiwiX3Byb3BzJGdyaWQiLCJyb3dQcm9wcyIsImV4dGVybmFsRm9ybSIsImZvcm0iLCJyZXF1ZXN0IiwicGFyYW1zIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiY2hpbGRyZW4iLCJvbkZpbmlzaCIsImRlZmF1bHRWYWx1ZXMiLCJyZXN0IiwiaW50ZXJuYWxGb3JtIiwic2hvdWxkVW5yZWdpc3RlciIsInBhcmFtc0tleSIsInN0YWJsZVBhcmFtcyIsInN0YWJsZUNvbFByb3BzIiwibGF0ZXN0UmVxdWVzdFJlZiIsImxhdGVzdFJlc2V0VmFsdWVzUmVmIiwiZm9ybVJlc3QiLCJvbkZpbmlzaEZhaWxlZCIsImZvcndhcmRlZEZvcm1Qcm9wcyIsImN1cnJlbnQiLCJjYW5jZWxsZWQiLCJjdXJyZW50UmVxdWVzdCIsInZhbHVlcyIsInJlc2V0IiwiY3R4IiwiaGFuZGxlRmluaXNoIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2Iiwic3RvcCIsImhhbmRsZVJlc2V0Iiwib25SZXNldCIsInRyaWdnZXJTdWJtaXR0ZXJPblN1Ym1pdCIsIm9uU3VibWl0IiwiaGFuZGxlU3VibWl0RnJvbVJlbmRlciIsInN1Ym1pdFByb21pc2UiLCJoYW5kbGVTdWJtaXQiLCJ1bmRlZmluZWQiLCJlcnJvciIsImNvbnNvbGUiLCJtZXJnZWREaXNhYmxlZCIsImRpc2FibGVkIiwiY29udGVudCIsImd1dHRlciIsIlByb3ZpZGVyIiwiYXNzaWduIiwic3VibWl0QnV0dG9uUHJvcHMiLCJyZXNldEJ1dHRvblByb3BzIiwib25TdWJtaXRGb3JtIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FB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R0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFFdUQsaUJBQWlCLE1BQUEsSUFBQSxJQUFBM0QsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVzRCxRQUFRLE1BQUEsSUFBQSxJQUFBckQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlZO1FBQU8sQ0FBQSxDQUFBO1FBRTdEK0MsZ0JBQWdCLEVBQUFqRyxNQUFBLENBQUErRixNQUFBLENBQUEvRixNQUFBLENBQUErRixNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ1YsQ0FBQXRELFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFFd0QsZ0JBQWdCLEtBQUksQ0FBQSxDQUFHLENBQUEsRUFBQTtVQUN0Q04sUUFBUSxFQUFFLENBQUFuRCxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBRSxTQUFTLEtBQUEsSUFBQSxJQUFUQSxTQUFTLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVRBLFNBQVMsQ0FBRXdELGdCQUFnQixNQUFBLElBQUEsSUFBQTFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFb0QsUUFBUSxNQUFBLElBQUEsSUFBQW5ELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJVTtRQUFPLENBQUEsQ0FBQTtRQUU1RGlDLFFBQVEsRUFBRUQsd0JBQXdCO1FBQ2xDZ0IsWUFBWSxFQUFFZCxzQkFBc0I7UUFDcENILE9BQU8sRUFBRUQ7TUFBVyxDQUFBLENBQUEsQ0FFdkI7SUFBQSxDQUFBLENBQUE7RUFDSSxDQUFBLENBQ2lCO0FBRTlCO0FBRUEsZUFBZWpELE9BQU8iLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTGF0ZXN0IGZyb20gJy4uL3VzZUxhdGVzdCc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICcuLi91c2VNZW1vaXplZEZuJztcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vR3JpZCc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi4vRm9ybSc7XG5pbXBvcnQgU3VibWl0dGVyIGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IERFRkFVTFRfQ09MX1NQQU4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc1N1Ym1pdHRlckVuYWJsZWQsIHN0YWJsZVNlcmlhbGl6ZSB9IGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiBSZWFjdCBjb250ZXh0IHRoYXQgcHJvcGFnYXRlcyBQcm9Gb3JtIGNvbmZpZ3VyYXRpb24gKHJlYWRvbmx5LCBncmlkLCBjb2xQcm9wcylcbiAqIHRvIG5lc3RlZCBmaWVsZCBjb21wb25lbnRzIGNyZWF0ZWQgdmlhIHtAbGluayBjcmVhdGVQcm9Gb3JtRmllbGR9LlxuICovXG5leHBvcnQgY29uc3QgUHJvRm9ybUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgICByZWFkb25seTogZmFsc2UsXG4gICAgZ3JpZDogZmFsc2UsXG4gICAgY29sUHJvcHM6IHsgc3BhbjogREVGQVVMVF9DT0xfU1BBTiB9LFxufSk7XG4vKipcbiAqIEVuaGFuY2VkIGZvcm0gY29tcG9uZW50IHdpdGggYnVpbHQtaW4gc3VibWl0L3Jlc2V0IGJ1dHRvbnMsIGdyaWQgbGF5b3V0LFxuICogcmVhZG9ubHkgbW9kZSwgYW5kIGFzeW5jIHJlbW90ZSBkYXRhIGxvYWRpbmcgdmlhIGByZXF1ZXN0YC5cbiAqXG4gKiBAdHlwZVBhcmFtIFRGaWVsZFZhbHVlcyAtIFRoZSBmb3JtIHZhbHVlcyB0eXBlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIDxQcm9Gb3JtIG9uRmluaXNoPXthc3luYyAodmFsdWVzKSA9PiB7IGF3YWl0IHNhdmUodmFsdWVzKTsgfX0+XG4gKiAgIDxQcm9Gb3JtVGV4dCBuYW1lPVwidXNlcm5hbWVcIiBsYWJlbD1cIlVzZXJuYW1lXCIgLz5cbiAqIDwvUHJvRm9ybT5cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvRm9ybShwcm9wcykge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZztcbiAgICBjb25zdCB7IHN1Ym1pdHRlciwgcmVhZG9ubHkgPSBmYWxzZSwgZ3JpZCA9IGZhbHNlLCBjb2xQcm9wcywgcm93UHJvcHMsIGZvcm06IGV4dGVybmFsRm9ybSwgcmVxdWVzdCwgcGFyYW1zLCBsb2FkaW5nID0gZmFsc2UsIGNoaWxkcmVuLCBvbkZpbmlzaCwgZGVmYXVsdFZhbHVlcyB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInN1Ym1pdHRlclwiLCBcInJlYWRvbmx5XCIsIFwiZ3JpZFwiLCBcImNvbFByb3BzXCIsIFwicm93UHJvcHNcIiwgXCJmb3JtXCIsIFwicmVxdWVzdFwiLCBcInBhcmFtc1wiLCBcImxvYWRpbmdcIiwgXCJjaGlsZHJlblwiLCBcIm9uRmluaXNoXCIsIFwiZGVmYXVsdFZhbHVlc1wiXSk7XG4gICAgLy8gQWx3YXlzIGNyZWF0ZSBhbiBpbnRlcm5hbCBmb3JtIHRvIGtlZXAgaG9vayBvcmRlcmluZyBzdGFibGUuXG4gICAgLy8gV2hlbiBgZXh0ZXJuYWxGb3JtYCBpcyBwcm92aWRlZCwgdGhpcyBpbnN0YW5jZSBpcyB1bnVzZWQuIFdlIHBhc3NcbiAgICAvLyBgc2hvdWxkVW5yZWdpc3RlcjogdHJ1ZWAgdG8gbWluaW1pemUgb3ZlcmhlYWQgb2YgdGhlIHVudXNlZCBmb3JtLlxuICAgIGNvbnN0IGludGVybmFsRm9ybSA9IHVzZUZvcm0oeyBkZWZhdWx0VmFsdWVzLCBzaG91bGRVbnJlZ2lzdGVyOiB0cnVlIH0pO1xuICAgIGNvbnN0IGZvcm0gPSBleHRlcm5hbEZvcm0gIT09IG51bGwgJiYgZXh0ZXJuYWxGb3JtICE9PSB2b2lkIDAgPyBleHRlcm5hbEZvcm0gOiBpbnRlcm5hbEZvcm07XG4gICAgY29uc3QgcGFyYW1zS2V5ID0gdXNlTWVtbygoKSA9PiBzdGFibGVTZXJpYWxpemUocGFyYW1zKSwgW3BhcmFtc10pO1xuICAgIGNvbnN0IHN0YWJsZVBhcmFtcyA9IHVzZU1lbW8oKCkgPT4gcGFyYW1zLCBbcGFyYW1zS2V5XSk7XG4gICAgY29uc3Qgc3RhYmxlQ29sUHJvcHMgPSB1c2VNZW1vKCgpID0+IGNvbFByb3BzICE9PSBudWxsICYmIGNvbFByb3BzICE9PSB2b2lkIDAgPyBjb2xQcm9wcyA6IHsgc3BhbjogREVGQVVMVF9DT0xfU1BBTiB9LCBbY29sUHJvcHMgPT09IG51bGwgfHwgY29sUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbFByb3BzLnNwYW5dKTtcbiAgICBjb25zdCBsYXRlc3RSZXF1ZXN0UmVmID0gdXNlTGF0ZXN0KHJlcXVlc3QpO1xuICAgIGNvbnN0IGxhdGVzdFJlc2V0VmFsdWVzUmVmID0gdXNlUmVmKGRlZmF1bHRWYWx1ZXMpO1xuICAgIGNvbnN0IGZvcm1SZXN0ID0gcmVzdDtcbiAgICBjb25zdCB7IG9uRmluaXNoRmFpbGVkIH0gPSBmb3JtUmVzdCwgZm9yd2FyZGVkRm9ybVByb3BzID0gX19yZXN0KGZvcm1SZXN0LCBbXCJvbkZpbmlzaEZhaWxlZFwiXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGF0ZXN0UmVzZXRWYWx1ZXNSZWYuY3VycmVudCA9IGRlZmF1bHRWYWx1ZXM7XG4gICAgfSwgW2RlZmF1bHRWYWx1ZXNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRSZXF1ZXN0ID0gbGF0ZXN0UmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWN1cnJlbnRSZXF1ZXN0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjdXJyZW50UmVxdWVzdChzdGFibGVQYXJhbXMpXG4gICAgICAgICAgICAudGhlbih2YWx1ZXMgPT4ge1xuICAgICAgICAgICAgaWYgKGNhbmNlbGxlZCB8fCAhdmFsdWVzKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGZvcm0ucmVzZXQodmFsdWVzKTtcbiAgICAgICAgICAgIGxhdGVzdFJlc2V0VmFsdWVzUmVmLmN1cnJlbnQgPSB2YWx1ZXM7XG4gICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgLy8gU2lsZW50bHkgaWdub3JlIOKAlCBjb25zdW1lcnMgc2hvdWxkIGhhbmRsZSByZXF1ZXN0IGVycm9yc1xuICAgICAgICAgICAgLy8gdmlhIHRoZWlyIG93biBlcnJvciBib3VuZGFyaWVzIG9yIGJ5IHdyYXBwaW5nIHRoZSBgcmVxdWVzdGAgZnVuY3Rpb24uXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9LCBbc3RhYmxlUGFyYW1zLCBmb3JtXSk7XG4gICAgY29uc3QgY3R4ID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICByZWFkb25seSxcbiAgICAgICAgZ3JpZCxcbiAgICAgICAgY29sUHJvcHM6IHN0YWJsZUNvbFByb3BzLFxuICAgIH0pLCBbcmVhZG9ubHksIGdyaWQsIHN0YWJsZUNvbFByb3BzXSk7XG4gICAgY29uc3QgaGFuZGxlRmluaXNoID0gdXNlTWVtb2l6ZWRGbigodmFsdWVzKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIChvbkZpbmlzaCA9PT0gbnVsbCB8fCBvbkZpbmlzaCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2godmFsdWVzKSk7XG4gICAgfSkpO1xuICAgIGNvbnN0IGhhbmRsZVJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgZm9ybS5yZXNldChsYXRlc3RSZXNldFZhbHVlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKGlzU3VibWl0dGVyRW5hYmxlZChzdWJtaXR0ZXIpKSB7XG4gICAgICAgICAgICAoX2EgPSBzdWJtaXR0ZXIub25SZXNldCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoc3VibWl0dGVyKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHRyaWdnZXJTdWJtaXR0ZXJPblN1Ym1pdCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpc1N1Ym1pdHRlckVuYWJsZWQoc3VibWl0dGVyKSkge1xuICAgICAgICAgICAgKF9hID0gc3VibWl0dGVyLm9uU3VibWl0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChzdWJtaXR0ZXIpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU3VibWl0RnJvbVJlbmRlciA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICB0cmlnZ2VyU3VibWl0dGVyT25TdWJtaXQoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHN1Ym1pdFByb21pc2UgPSBmb3JtLmhhbmRsZVN1Ym1pdChoYW5kbGVGaW5pc2gsIG9uRmluaXNoRmFpbGVkKSh1bmRlZmluZWQpO1xuICAgICAgICAgICAgc3VibWl0UHJvbWlzZS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbUHJvRm9ybV0gaGFuZGxlU3VibWl0RnJvbVJlbmRlciByZWplY3RlZCBhZnRlciB0cmlnZ2VyU3VibWl0dGVyT25TdWJtaXQgdmlhIGZvcm0uaGFuZGxlU3VibWl0KGhhbmRsZUZpbmlzaCwgb25GaW5pc2hGYWlsZWQpLicsIGVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignW1Byb0Zvcm1dIGhhbmRsZVN1Ym1pdEZyb21SZW5kZXIgdGhyZXcgYWZ0ZXIgdHJpZ2dlclN1Ym1pdHRlck9uU3VibWl0IHZpYSBmb3JtLmhhbmRsZVN1Ym1pdChoYW5kbGVGaW5pc2gsIG9uRmluaXNoRmFpbGVkKS4nLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBtZXJnZWREaXNhYmxlZCA9IChfYSA9IHJlc3QuZGlzYWJsZWQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGxvYWRpbmc7XG4gICAgY29uc3QgY29udGVudCA9ICFncmlkXG4gICAgICAgID8gY2hpbGRyZW5cbiAgICAgICAgOiAoX2pzeChSb3csIHsgZ3V0dGVyOiByb3dQcm9wcyA9PT0gbnVsbCB8fCByb3dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93UHJvcHMuZ3V0dGVyLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpO1xuICAgIHJldHVybiAoX2pzeChQcm9Gb3JtQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogY3R4LCBjaGlsZHJlbjogX2pzeHMoRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9yd2FyZGVkRm9ybVByb3BzLCB7IGZvcm06IGZvcm0sIGRpc2FibGVkOiBtZXJnZWREaXNhYmxlZCwgZGVmYXVsdFZhbHVlczogZGVmYXVsdFZhbHVlcywgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgb25GaW5pc2hGYWlsZWQ6IG9uRmluaXNoRmFpbGVkLCBjaGlsZHJlbjogW2NvbnRlbnQsIHN1Ym1pdHRlciAhPT0gZmFsc2UgJiYgKF9qc3goU3VibWl0dGVyLCBPYmplY3QuYXNzaWduKHt9LCAoc3VibWl0dGVyIHx8IHt9KSwgeyBmb3JtOiBmb3JtLCBzdWJtaXRCdXR0b25Qcm9wczogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAoKHN1Ym1pdHRlciA9PT0gbnVsbCB8fCBzdWJtaXR0ZXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdHRlci5zdWJtaXRCdXR0b25Qcm9wcykgfHwge30pKSwgeyBsb2FkaW5nOiAoX2MgPSAoX2IgPSBzdWJtaXR0ZXIgPT09IG51bGwgfHwgc3VibWl0dGVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdWJtaXR0ZXIuc3VibWl0QnV0dG9uUHJvcHMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5sb2FkaW5nKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBsb2FkaW5nLCBkaXNhYmxlZDogKF9lID0gKF9kID0gc3VibWl0dGVyID09PSBudWxsIHx8IHN1Ym1pdHRlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3VibWl0dGVyLnN1Ym1pdEJ1dHRvblByb3BzKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuZGlzYWJsZWQpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IGxvYWRpbmcgfSksIHJlc2V0QnV0dG9uUHJvcHM6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKChzdWJtaXR0ZXIgPT09IG51bGwgfHwgc3VibWl0dGVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdWJtaXR0ZXIucmVzZXRCdXR0b25Qcm9wcykgfHwge30pKSwgeyBkaXNhYmxlZDogKF9nID0gKF9mID0gc3VibWl0dGVyID09PSBudWxsIHx8IHN1Ym1pdHRlciA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3VibWl0dGVyLnJlc2V0QnV0dG9uUHJvcHMpID09PSBudWxsIHx8IF9mID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZi5kaXNhYmxlZCkgIT09IG51bGwgJiYgX2cgIT09IHZvaWQgMCA/IF9nIDogbG9hZGluZyB9KSwgb25TdWJtaXQ6IHRyaWdnZXJTdWJtaXR0ZXJPblN1Ym1pdCwgb25TdWJtaXRGb3JtOiBoYW5kbGVTdWJtaXRGcm9tUmVuZGVyLCBvblJlc2V0OiBoYW5kbGVSZXNldCB9KSkpXSB9KSkgfSkpO1xufVxuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link ProFormDependency}.
|
|
4
|
+
*/
|
|
5
|
+
export interface ProFormDependencyProps {
|
|
6
|
+
/** Field names to watch for changes. */
|
|
7
|
+
name: string[];
|
|
8
|
+
/** Render function that receives the watched field values as a keyed object. */
|
|
9
|
+
children: (values: Record<string, unknown>) => ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare const ProFormDependency: import("react").NamedExoticComponent<ProFormDependencyProps>;
|
|
12
|
+
export default ProFormDependency;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useContext, useMemo } from 'react';
|
|
3
|
+
import { useWatch } from 'react-hook-form';
|
|
4
|
+
import { FormContext } from '../Form/Form';
|
|
5
|
+
import { FallbackFormProvider, useFormItemContext } from '../Form/useFormItemContext';
|
|
6
|
+
var __DEV__ = function () {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
var maybeProcess = globalThis;
|
|
9
|
+
return ((_b = (_a = maybeProcess.process) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.NODE_ENV) !== 'production';
|
|
10
|
+
}();
|
|
11
|
+
var hasWarnedIsolatedDependency = false;
|
|
12
|
+
/**
|
|
13
|
+
* Watches one or more form fields and re-renders its children whenever
|
|
14
|
+
* the watched values change. Useful for conditional field visibility or
|
|
15
|
+
* cross-field derived content.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <ProFormDependency name={['country']}>
|
|
20
|
+
* {({ country }) => country === 'US' && <ProFormText name="state" label="State" />}
|
|
21
|
+
* </ProFormDependency>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
var ProFormDependencyInner = function ProFormDependencyInner(props) {
|
|
25
|
+
var name = props.name,
|
|
26
|
+
children = props.children;
|
|
27
|
+
var _useFormItemContext = useFormItemContext(),
|
|
28
|
+
methods = _useFormItemContext.methods;
|
|
29
|
+
var watchedValues = useWatch({
|
|
30
|
+
control: methods.control,
|
|
31
|
+
name: name
|
|
32
|
+
});
|
|
33
|
+
var values = useMemo(function () {
|
|
34
|
+
var names = name;
|
|
35
|
+
var list = watchedValues;
|
|
36
|
+
return names.reduce(function (acc, key, index) {
|
|
37
|
+
acc[key] = list[index];
|
|
38
|
+
return acc;
|
|
39
|
+
}, {});
|
|
40
|
+
}, [name, watchedValues]);
|
|
41
|
+
return _jsx(_Fragment, {
|
|
42
|
+
children: children(values)
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var ProFormDependencyBase = function ProFormDependencyBase(props) {
|
|
46
|
+
var ctx = useContext(FormContext);
|
|
47
|
+
if (!(ctx === null || ctx === void 0 ? void 0 : ctx.methods)) {
|
|
48
|
+
if (__DEV__ && !hasWarnedIsolatedDependency) {
|
|
49
|
+
hasWarnedIsolatedDependency = true;
|
|
50
|
+
console.warn('[ProFormDependencyBase] Missing FormContext methods. Rendering with FallbackFormProvider. ' + 'ProFormDependencyInner will use an isolated form instance, and useWatch may return undefined ' + 'for watched fields when ProFormDependency is used outside a Form.');
|
|
51
|
+
}
|
|
52
|
+
return _jsx(FallbackFormProvider, {
|
|
53
|
+
children: _jsx(ProFormDependencyInner, Object.assign({}, props))
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return _jsx(ProFormDependencyInner, Object.assign({}, props));
|
|
57
|
+
};
|
|
58
|
+
ProFormDependencyBase.displayName = 'ProFormDependency';
|
|
59
|
+
export var ProFormDependency = /*#__PURE__*/memo(ProFormDependencyBase);
|
|
60
|
+
export default ProFormDependency;
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtRGVwZW5kZW5jeS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtRGVwZW5kZW5jeS50c3giXSwibmFtZXMiOlsiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3giLCJfanN4IiwibWVtbyIsInVzZUNvbnRleHQiLCJ1c2VNZW1vIiwidXNlV2F0Y2giLCJGb3JtQ29udGV4dCIsIkZhbGxiYWNrRm9ybVByb3ZpZGVyIiwidXNlRm9ybUl0ZW1Db250ZXh0IiwiX19ERVZfXyIsIl9hIiwiX2IiLCJtYXliZVByb2Nlc3MiLCJnbG9iYWxUaGlzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiaGFzV2FybmVkSXNvbGF0ZWREZXBlbmRlbmN5IiwiUHJvRm9ybURlcGVuZGVuY3lJbm5lciIsInByb3BzIiwibmFtZSIsImNoaWxkcmVuIiwiX3VzZUZvcm1JdGVtQ29udGV4dCIsIm1ldGhvZHMiLCJ3YXRjaGVkVmFsdWVzIiwiY29udHJvbCIsInZhbHVlcyIsIm5hbWVzIiwibGlzdCIsInJlZHVjZSIsImFjYyIsImtleSIsImluZGV4IiwiUHJvRm9ybURlcGVuZGVuY3lCYXNlIiwiY3R4IiwiY29uc29sZSIsIndhcm4iLCJPYmplY3QiLCJhc3NpZ24iLCJkaXNwbGF5TmFtZSIsIlByb0Zvcm1EZXBlbmRlbmN5Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLElBQUlDLFNBQVMsRUFBRUMsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQXRFLFNBQVNDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUNqRCxTQUFTQyxRQUFRLFFBQVEsaUJBQWlCO0FBRzFDLFNBQVNDLFdBQVcsUUFBUSxjQUFjO0FBQzFDLFNBQVNDLG9CQUFvQixFQUFFQyxrQkFBa0IsUUFBUSw0QkFBNEI7QUFFckYsSUFBTUMsT0FBTyxHQUFJLFlBQUs7RUREbEIsSUFBSUMsRUFB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aWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm1EZXBlbmRlbmN5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVdhdGNoIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IEZvcm1Db250ZXh0IH0gZnJvbSAnLi4vRm9ybS9Gb3JtJztcbmltcG9ydCB7IEZhbGxiYWNrRm9ybVByb3ZpZGVyLCB1c2VGb3JtSXRlbUNvbnRleHQgfSBmcm9tICcuLi9Gb3JtL3VzZUZvcm1JdGVtQ29udGV4dCc7XG5jb25zdCBfX0RFVl9fID0gKCgpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IG1heWJlUHJvY2VzcyA9IGdsb2JhbFRoaXM7XG4gICAgcmV0dXJuICgoX2IgPSAoX2EgPSBtYXliZVByb2Nlc3MucHJvY2VzcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmVudikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLk5PREVfRU5WKSAhPT0gJ3Byb2R1Y3Rpb24nO1xufSkoKTtcbmxldCBoYXNXYXJuZWRJc29sYXRlZERlcGVuZGVuY3kgPSBmYWxzZTtcbi8qKlxuICogV2F0Y2hlcyBvbmUgb3IgbW9yZSBmb3JtIGZpZWxkcyBhbmQgcmUtcmVuZGVycyBpdHMgY2hpbGRyZW4gd2hlbmV2ZXJcbiAqIHRoZSB3YXRjaGVkIHZhbHVlcyBjaGFuZ2UuIFVzZWZ1bCBmb3IgY29uZGl0aW9uYWwgZmllbGQgdmlzaWJpbGl0eSBvclxuICogY3Jvc3MtZmllbGQgZGVyaXZlZCBjb250ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIDxQcm9Gb3JtRGVwZW5kZW5jeSBuYW1lPXtbJ2NvdW50cnknXX0+XG4gKiAgIHsoeyBjb3VudHJ5IH0pID0+IGNvdW50cnkgPT09ICdVUycgJiYgPFByb0Zvcm1UZXh0IG5hbWU9XCJzdGF0ZVwiIGxhYmVsPVwiU3RhdGVcIiAvPn1cbiAqIDwvUHJvRm9ybURlcGVuZGVuY3k+XG4gKiBgYGBcbiAqL1xuY29uc3QgUHJvRm9ybURlcGVuZGVuY3lJbm5lciA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgbmFtZSwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgbWV0aG9kcyB9ID0gdXNlRm9ybUl0ZW1Db250ZXh0KCk7XG4gICAgY29uc3Qgd2F0Y2hlZFZhbHVlcyA9IHVzZVdhdGNoKHsgY29udHJvbDogbWV0aG9kcy5jb250cm9sLCBuYW1lIH0pO1xuICAgIGNvbnN0IHZhbHVlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lcyA9IG5hbWU7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB3YXRjaGVkVmFsdWVzO1xuICAgICAgICByZXR1cm4gbmFtZXMucmVkdWNlKChhY2MsIGtleSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGFjY1trZXldID0gbGlzdFtpbmRleF07XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG4gICAgfSwgW25hbWUsIHdhdGNoZWRWYWx1ZXNdKTtcbiAgICByZXR1cm4gX2pzeChfRnJhZ21lbnQsIHsgY2hpbGRyZW46IGNoaWxkcmVuKHZhbHVlcykgfSk7XG59O1xuY29uc3QgUHJvRm9ybURlcGVuZGVuY3lCYXNlID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChGb3JtQ29udGV4dCk7XG4gICAgaWYgKCEoY3R4ID09PSBudWxsIHx8IGN0eCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3R4Lm1ldGhvZHMpKSB7XG4gICAgICAgIGlmIChfX0RFVl9fICYmICFoYXNXYXJuZWRJc29sYXRlZERlcGVuZGVuY3kpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZElzb2xhdGVkRGVwZW5kZW5jeSA9IHRydWU7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tQcm9Gb3JtRGVwZW5kZW5jeUJhc2VdIE1pc3NpbmcgRm9ybUNvbnRleHQgbWV0aG9kcy4gUmVuZGVyaW5nIHdpdGggRmFsbGJhY2tGb3JtUHJvdmlkZXIuICcgK1xuICAgICAgICAgICAgICAgICdQcm9Gb3JtRGVwZW5kZW5jeUlubmVyIHdpbGwgdXNlIGFuIGlzb2xhdGVkIGZvcm0gaW5zdGFuY2UsIGFuZCB1c2VXYXRjaCBtYXkgcmV0dXJuIHVuZGVmaW5lZCAnICtcbiAgICAgICAgICAgICAgICAnZm9yIHdhdGNoZWQgZmllbGRzIHdoZW4gUHJvRm9ybURlcGVuZGVuY3kgaXMgdXNlZCBvdXRzaWRlIGEgRm9ybS4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKF9qc3goRmFsbGJhY2tGb3JtUHJvdmlkZXIsIHsgY2hpbGRyZW46IF9qc3goUHJvRm9ybURlcGVuZGVuY3lJbm5lciwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpKSB9KSk7XG4gICAgfVxuICAgIHJldHVybiBfanN4KFByb0Zvcm1EZXBlbmRlbmN5SW5uZXIsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzKSk7XG59O1xuUHJvRm9ybURlcGVuZGVuY3lCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1EZXBlbmRlbmN5JztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtRGVwZW5kZW5jeSA9IG1lbW8oUHJvRm9ybURlcGVuZGVuY3lCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1EZXBlbmRlbmN5OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DragEndEvent } from '@dnd-kit/core';
|
|
2
|
+
import type { FieldValues } from 'react-hook-form';
|
|
3
|
+
import type { ProFormListProps } from './interface';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a `DndContext` `onDragEnd` handler that translates drag events
|
|
6
|
+
* into field array `move` calls.
|
|
7
|
+
*
|
|
8
|
+
* @param options.move - The `move` function from `useFieldArray`.
|
|
9
|
+
* @param options.fields - The current field array entries.
|
|
10
|
+
* @returns A drag-end event handler.
|
|
11
|
+
*/
|
|
12
|
+
export declare const buildOnDragEnd: ({ move, fields, }: {
|
|
13
|
+
move: (from: number, to: number) => void;
|
|
14
|
+
fields: Array<{
|
|
15
|
+
id: string;
|
|
16
|
+
}>;
|
|
17
|
+
}) => ({ active, over }: DragEndEvent) => void;
|
|
18
|
+
export declare const ProFormList: import("react").NamedExoticComponent<ProFormListProps<FieldValues>>;
|
|
19
|
+
export default ProFormList;
|