@1money/component-ui 0.0.73 → 0.0.75
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/es/components/Dialog/Dialog.js +7 -39
- package/es/components/Dialog/constants.d.ts +0 -3
- package/es/components/Dialog/constants.js +1 -4
- package/es/components/Dialog/style/Dialog.css +0 -21
- package/es/components/ProForm/ProForm.js +201 -48
- package/es/components/ProForm/ProFormDependency.d.ts +11 -2
- package/es/components/ProForm/ProFormDependency.js +29 -136
- package/es/components/ProForm/ProFormItem.js +81 -24
- package/es/components/ProForm/ProFormList.js +114 -62
- package/es/components/ProForm/Submitter.js +15 -4
- package/es/components/ProForm/context.d.ts +11 -3
- package/es/components/ProForm/context.js +32 -12
- package/es/components/ProForm/core/constants.d.ts +10 -2
- package/es/components/ProForm/core/constants.js +17 -3
- package/es/components/ProForm/core/formStore.d.ts +24 -0
- package/es/components/ProForm/core/formStore.js +101 -0
- package/es/components/ProForm/core/hooks/useForm.d.ts +4 -1
- package/es/components/ProForm/core/hooks/useForm.js +220 -120
- package/es/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
- package/es/components/ProForm/core/hooks/useFormCore.js +114 -90
- package/es/components/ProForm/core/runRules.d.ts +5 -3
- package/es/components/ProForm/core/runRules.js +13 -5
- package/es/components/ProForm/core/useFormItem.d.ts +2 -2
- package/es/components/ProForm/core/useFormItem.js +46 -23
- package/es/components/ProForm/fields/ProFormFieldSet.js +20 -7
- package/es/components/ProForm/fields/createProFormField.js +14 -4
- package/es/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +54 -9
- package/es/components/ProForm/hooks/useUrlSync.d.ts +16 -0
- package/es/components/ProForm/hooks/useUrlSync.js +170 -0
- package/es/components/ProForm/index.d.ts +2 -2
- package/es/components/ProForm/index.js +1 -1
- package/es/components/ProForm/interface.d.ts +105 -23
- package/es/components/ProForm/layouts/DialogForm.js +17 -7
- package/es/components/ProForm/layouts/DrawerForm.js +16 -7
- package/es/components/ProForm/layouts/QueryFilter.js +46 -135
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +27 -8
- package/es/components/ProForm/style/ProForm.css +0 -7
- package/es/components/ProForm/utils.js +32 -8
- package/es/components/ProTable/ProTable.js +3 -3
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/Dialog/Dialog.js +6 -38
- package/lib/components/Dialog/constants.d.ts +0 -3
- package/lib/components/Dialog/constants.js +1 -4
- package/lib/components/Dialog/style/Dialog.css +0 -21
- package/lib/components/ProForm/ProForm.js +201 -48
- package/lib/components/ProForm/ProFormDependency.d.ts +11 -2
- package/lib/components/ProForm/ProFormDependency.js +30 -138
- package/lib/components/ProForm/ProFormItem.js +78 -21
- package/lib/components/ProForm/ProFormList.js +112 -60
- package/lib/components/ProForm/Submitter.js +15 -4
- package/lib/components/ProForm/context.d.ts +11 -3
- package/lib/components/ProForm/context.js +33 -13
- package/lib/components/ProForm/core/constants.d.ts +10 -2
- package/lib/components/ProForm/core/constants.js +18 -4
- package/lib/components/ProForm/core/formStore.d.ts +24 -0
- package/lib/components/ProForm/core/formStore.js +110 -0
- package/lib/components/ProForm/core/hooks/useForm.d.ts +4 -1
- package/lib/components/ProForm/core/hooks/useForm.js +220 -120
- package/lib/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
- package/lib/components/ProForm/core/hooks/useFormCore.js +113 -89
- package/lib/components/ProForm/core/runRules.d.ts +5 -3
- package/lib/components/ProForm/core/runRules.js +13 -5
- package/lib/components/ProForm/core/useFormItem.d.ts +2 -2
- package/lib/components/ProForm/core/useFormItem.js +44 -21
- package/lib/components/ProForm/fields/ProFormFieldSet.js +19 -6
- package/lib/components/ProForm/fields/createProFormField.js +14 -4
- package/lib/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +53 -8
- package/lib/components/ProForm/hooks/useUrlSync.d.ts +16 -0
- package/lib/components/ProForm/hooks/useUrlSync.js +178 -0
- package/lib/components/ProForm/index.d.ts +2 -2
- package/lib/components/ProForm/index.js +1 -1
- package/lib/components/ProForm/interface.d.ts +105 -23
- package/lib/components/ProForm/layouts/DialogForm.js +17 -7
- package/lib/components/ProForm/layouts/DrawerForm.js +16 -7
- package/lib/components/ProForm/layouts/QueryFilter.js +45 -134
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/lib/components/ProForm/layouts/useOverlayForm.js +30 -8
- package/lib/components/ProForm/style/ProForm.css +0 -7
- package/lib/components/ProForm/utils.js +32 -8
- package/lib/components/ProTable/ProTable.js +3 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +36 -0
- package/scripts/mcp-server/index.generated.json +538 -16
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
export var FORM_SIZES = ['large', '
|
|
1
|
+
export var FORM_SIZES = ['large', 'small'];
|
|
2
2
|
export var FORM_LAYOUTS = ['vertical'];
|
|
3
3
|
export var LABEL_ALIGNS = ['left', 'right'];
|
|
4
4
|
export var VALIDATE_STATUSES = ['success', 'warning', 'error', 'validating'];
|
|
5
5
|
export var VALIDATE_TRIGGERS = ['onChange', 'onBlur'];
|
|
6
|
-
|
|
6
|
+
// Label typography pairs with the field control's text size for each form
|
|
7
|
+
// size: large control text is body/lg (16px) → label lg; small is body/md
|
|
8
|
+
// (14px) → label md.
|
|
9
|
+
export var FORM_LABEL_SIZES = {
|
|
10
|
+
large: 'lg',
|
|
11
|
+
small: 'md'
|
|
12
|
+
};
|
|
7
13
|
export var FORM_LABEL_COLOR = 'default';
|
|
8
14
|
export var FORM_ERROR_SIZE = 'sm';
|
|
9
15
|
export var FORM_ERROR_COLOR = 'danger';
|
|
@@ -14,10 +20,18 @@ export var FORM_DESCRIPTION_COLOR = 'default-tertiary';
|
|
|
14
20
|
export var FORM_FEEDBACK_SIZE = 'sm';
|
|
15
21
|
export var FORM_FEEDBACK_COLOR = 'default-tertiary';
|
|
16
22
|
export var FORM_COMPONENT_NAMES = ['Input', 'InputNumber', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'Select', 'BaseSelect', 'DatePicker', 'TimePicker', 'Calendar', 'Checkbox', 'CheckboxGroup', 'Radio', 'RadioGroup', 'Switch', 'Slider', 'TextArea'];
|
|
23
|
+
/**
|
|
24
|
+
* Form controls that declare a `size` prop accepting `'large' | 'small'`.
|
|
25
|
+
* `injectField` cascades the form-level `size` into these as a DEFAULT — an
|
|
26
|
+
* explicit field-level `size` (own prop or via `fieldProps`) wins. Controls
|
|
27
|
+
* without a size prop (Checkbox, Switch, Slider, …) must stay off this list:
|
|
28
|
+
* an unknown `size` prop could leak onto the DOM element.
|
|
29
|
+
*/
|
|
30
|
+
export var SIZE_AWARE_COMPONENT_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputAmount', 'InputMask', 'Select', 'Calendar', 'Radio', 'RadioGroup'];
|
|
17
31
|
/**
|
|
18
32
|
* Text-like form controls whose empty value must default to '' (a controlled
|
|
19
33
|
* string input) rather than undefined. Used by `injectField` to pick a safe
|
|
20
34
|
* fallback value.
|
|
21
35
|
*/
|
|
22
36
|
export var TEXT_LIKE_COMPONENT_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'TextArea', 'InputNumber'];
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIkZPUk1fU0laRVMiLCJGT1JNX0xBWU9VVFMiLCJMQUJFTF9BTElHTlMiLCJWQUxJREFURV9TVEFUVVNFUyIsIlZBTElEQVRFX1RSSUdHRVJTIiwiRk9STV9MQUJFTF9TSVpFUyIsImxhcmdlIiwic21hbGwiLCJGT1JNX0xBQkVMX0NPTE9SIiwiRk9STV9FUlJPUl9TSVpFIiwiRk9STV9FUlJPUl9DT0xPUiIsIkZPUk1fV0FSTklOR19TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9ERVNDUklQVElPTl9TSVpFIiwiRk9STV9ERVNDUklQVElPTl9DT0xPUiIsIkZPUk1fRkVFREJBQ0tfU0laRSIsIkZPUk1fRkVFREJBQ0tfQ09MT1IiLCJGT1JNX0NPTVBPTkVOVF9OQU1FUyIsIlNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTIiwiVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxJQUFNQSxVQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFVO0FBQ3JELE9BQU8sSUFBTUMsWUFBWSxHQUFHLENBQUMsVUFBVSxDQUFVO0FBQ2pELE9BQU8sSUFBTUMsWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBVTtBQUN0RCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFVO0FBQ3ZGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFVO0FBUWhFO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsZ0JBQWdCLEdBQTBDO0VBQ3JFQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxLQUFLLEVBQUU7QUNSVCxDRFNDO0FBQ0QsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBb0IsU0FBUztBQUMxRCxPQUFPLElBQU1DLGVBQWUsR0FBdUIsSUFBSTtBQUN2RCxPQUFPLElBQU1DLGdCQUFnQixHQUFvQixRQUFRO0FBQ3pELE9BQU8sSUFBTUMsaUJBQWlCLEdBQXVCLElBQUk7QUFDekQsT0FBTyxJQUFNQyxrQkFBa0IsR0FBb0IsU0FBUztBQUM1RCxPQUFPLElBQU1DLHFCQUFxQixHQUF1QixJQUFJO0FBQzdELE9BQU8sSUFBTUMsc0JBQXNCLEdBQW9CLGtCQUFrQjtBQUN6RSxPQUFPLElBQU1DLGtCQUFrQixHQUF1QixJQUFJO0FBQzFELE9BQU8sSUFBTUMsbUJBQW1CLEdBQW9CLGtCQUFrQjtBQUV0RSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLENBQ2xDLE9BQU8sRUFDUCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixhQUFhLEVBQ2IsV0FBVyxFQUNYLFFBQVEsRUFDUixZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLGVBQWUsRUFDZixPQUFPLEVBQ1AsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQ1IsVUFBVSxDQUNGO0FBRVY7QUNWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURZQSxPQUFPLElBQU1DLDBCQUEwQixHQUFzQixDQUMzRCxPQUFPLEVBQ1AsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLFVBQVUsRUFDVixPQUFPLEVBQ1AsWUFBWSxDQUNiO0FBRUQ7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBRGFBLE9BQU8sSUFBTUMseUJBQXlCLEdBQXNCLENBQzFELE9BQU8sRUFDUCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLGFBQWEsRUFDYixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsQ0FDZCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBGT1JNX1NJWkVTID0gWydsYXJnZScsICdzbWFsbCddO1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUUyA9IFsndmVydGljYWwnXTtcbmV4cG9ydCBjb25zdCBMQUJFTF9BTElHTlMgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbmV4cG9ydCBjb25zdCBWQUxJREFURV9TVEFUVVNFUyA9IFsnc3VjY2VzcycsICd3YXJuaW5nJywgJ2Vycm9yJywgJ3ZhbGlkYXRpbmcnXTtcbmV4cG9ydCBjb25zdCBWQUxJREFURV9UUklHR0VSUyA9IFsnb25DaGFuZ2UnLCAnb25CbHVyJ107XG4vLyBMYWJlbCB0eXBvZ3JhcGh5IHBhaXJzIHdpdGggdGhlIGZpZWxkIGNvbnRyb2wncyB0ZXh0IHNpemUgZm9yIGVhY2ggZm9ybVxuLy8gc2l6ZTogbGFyZ2UgY29udHJvbCB0ZXh0IGlzIGJvZHkvbGcgKDE2cHgpIOKGkiBsYWJlbCBsZzsgc21hbGwgaXMgYm9keS9tZFxuLy8gKDE0cHgpIOKGkiBsYWJlbCBtZC5cbmV4cG9ydCBjb25zdCBGT1JNX0xBQkVMX1NJWkVTID0ge1xuICAgIGxhcmdlOiAnbGcnLFxuICAgIHNtYWxsOiAnbWQnLFxufTtcbmV4cG9ydCBjb25zdCBGT1JNX0xBQkVMX0NPTE9SID0gJ2RlZmF1bHQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fRVJST1JfU0laRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgRk9STV9FUlJPUl9DT0xPUiA9ICdkYW5nZXInO1xuZXhwb3J0IGNvbnN0IEZPUk1fV0FSTklOR19TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX1dBUk5JTkdfQ09MT1IgPSAnd2FybmluZyc7XG5leHBvcnQgY29uc3QgRk9STV9ERVNDUklQVElPTl9TSVpFID0gJ21kJztcbmV4cG9ydCBjb25zdCBGT1JNX0RFU0NSSVBUSU9OX0NPTE9SID0gJ2RlZmF1bHQtdGVydGlhcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fRkVFREJBQ0tfU0laRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgRk9STV9GRUVEQkFDS19DT0xPUiA9ICdkZWZhdWx0LXRlcnRpYXJ5JztcbmV4cG9ydCBjb25zdCBGT1JNX0NPTVBPTkVOVF9OQU1FUyA9IFtcbiAgICAnSW5wdXQnLFxuICAgICdJbnB1dE51bWJlcicsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0VHJhZGUnLFxuICAgICdJbnB1dEFtb3VudCcsXG4gICAgJ0lucHV0TWFzaycsXG4gICAgJ1NlbGVjdCcsXG4gICAgJ0Jhc2VTZWxlY3QnLFxuICAgICdEYXRlUGlja2VyJyxcbiAgICAnVGltZVBpY2tlcicsXG4gICAgJ0NhbGVuZGFyJyxcbiAgICAnQ2hlY2tib3gnLFxuICAgICdDaGVja2JveEdyb3VwJyxcbiAgICAnUmFkaW8nLFxuICAgICdSYWRpb0dyb3VwJyxcbiAgICAnU3dpdGNoJyxcbiAgICAnU2xpZGVyJyxcbiAgICAnVGV4dEFyZWEnLFxuXTtcbi8qKlxuICogRm9ybSBjb250cm9scyB0aGF0IGRlY2xhcmUgYSBgc2l6ZWAgcHJvcCBhY2NlcHRpbmcgYCdsYXJnZScgfCAnc21hbGwnYC5cbiAqIGBpbmplY3RGaWVsZGAgY2FzY2FkZXMgdGhlIGZvcm0tbGV2ZWwgYHNpemVgIGludG8gdGhlc2UgYXMgYSBERUZBVUxUIOKAlCBhblxuICogZXhwbGljaXQgZmllbGQtbGV2ZWwgYHNpemVgIChvd24gcHJvcCBvciB2aWEgYGZpZWxkUHJvcHNgKSB3aW5zLiBDb250cm9sc1xuICogd2l0aG91dCBhIHNpemUgcHJvcCAoQ2hlY2tib3gsIFN3aXRjaCwgU2xpZGVyLCDigKYpIG11c3Qgc3RheSBvZmYgdGhpcyBsaXN0OlxuICogYW4gdW5rbm93biBgc2l6ZWAgcHJvcCBjb3VsZCBsZWFrIG9udG8gdGhlIERPTSBlbGVtZW50LlxuICovXG5leHBvcnQgY29uc3QgU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMgPSBbXG4gICAgJ0lucHV0JyxcbiAgICAnSW5wdXRQYXNzd29yZCcsXG4gICAgJ0lucHV0VGV4dEFyZWEnLFxuICAgICdJbnB1dFNlYXJjaCcsXG4gICAgJ0lucHV0T1RQJyxcbiAgICAnSW5wdXRBbW91bnQnLFxuICAgICdJbnB1dE1hc2snLFxuICAgICdTZWxlY3QnLFxuICAgICdDYWxlbmRhcicsXG4gICAgJ1JhZGlvJyxcbiAgICAnUmFkaW9Hcm91cCcsXG5dO1xuLyoqXG4gKiBUZXh0LWxpa2UgZm9ybSBjb250cm9scyB3aG9zZSBlbXB0eSB2YWx1ZSBtdXN0IGRlZmF1bHQgdG8gJycgKGEgY29udHJvbGxlZFxuICogc3RyaW5nIGlucHV0KSByYXRoZXIgdGhhbiB1bmRlZmluZWQuIFVzZWQgYnkgYGluamVjdEZpZWxkYCB0byBwaWNrIGEgc2FmZVxuICogZmFsbGJhY2sgdmFsdWUuXG4gKi9cbmV4cG9ydCBjb25zdCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0VHJhZGUnLFxuICAgICdJbnB1dEFtb3VudCcsXG4gICAgJ0lucHV0TWFzaycsXG4gICAgJ1RleHRBcmVhJyxcbiAgICAnSW5wdXROdW1iZXInLFxuXTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface FormStoreState {
|
|
2
|
+
values: Record<string, unknown>;
|
|
3
|
+
errors: Record<string, string>;
|
|
4
|
+
warnings: Record<string, string>;
|
|
5
|
+
touched: Record<string, boolean>;
|
|
6
|
+
validating: Record<string, boolean>;
|
|
7
|
+
}
|
|
8
|
+
export type FormStoreListener = () => void;
|
|
9
|
+
export interface FormStore {
|
|
10
|
+
getState: () => FormStoreState;
|
|
11
|
+
/** Shallow-merge a patch and synchronously notify every subscriber. */
|
|
12
|
+
setState: (patch: Partial<FormStoreState>) => void;
|
|
13
|
+
subscribe: (listener: FormStoreListener) => () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const createFormStore: (initialValues?: Record<string, unknown>) => FormStore;
|
|
16
|
+
export declare function useStoreSelector<T>(store: FormStore, selector: (state: FormStoreState) => T, isEqual?: (a: T, b: T) => boolean): T;
|
|
17
|
+
export declare const shallowEqualArrays: (a: readonly unknown[], b: readonly unknown[]) => boolean;
|
|
18
|
+
export declare const shallowEqualObjects: (a: Record<string, unknown> | undefined, b: Record<string, unknown> | undefined) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Return a referentially-stable version of an (often inline-literal) props
|
|
21
|
+
* object: the previous reference is kept while the content stays
|
|
22
|
+
* shallow-equal, so downstream memo/context deps don't churn per render.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useShallowStable<T extends object | undefined>(value: T): T;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { useEffect, useReducer, useRef } from 'react';
|
|
3
|
+
import useLatest from '@1money/hooks/useLatest';
|
|
4
|
+
export var createFormStore = function createFormStore() {
|
|
5
|
+
var initialValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
var state = {
|
|
7
|
+
values: initialValues,
|
|
8
|
+
errors: {},
|
|
9
|
+
warnings: {},
|
|
10
|
+
touched: {},
|
|
11
|
+
validating: {}
|
|
12
|
+
};
|
|
13
|
+
var listeners = new Set();
|
|
14
|
+
return {
|
|
15
|
+
getState: function getState() {
|
|
16
|
+
return state;
|
|
17
|
+
},
|
|
18
|
+
setState: function setState(patch) {
|
|
19
|
+
state = Object.assign(Object.assign({}, state), patch);
|
|
20
|
+
listeners.forEach(function (listener) {
|
|
21
|
+
return listener();
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
subscribe: function subscribe(listener) {
|
|
25
|
+
listeners.add(listener);
|
|
26
|
+
return function () {
|
|
27
|
+
listeners["delete"](listener);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// useStoreSelector — subscribe to a selected slice of the store.
|
|
34
|
+
//
|
|
35
|
+
// The component re-renders ONLY when `isEqual(prevSelected, nextSelected)` is
|
|
36
|
+
// false. The selector/equality/selected trio is re-captured in a ref on every
|
|
37
|
+
// render, so inline selectors (closing over the latest props) are safe.
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
export function useStoreSelector(store, selector) {
|
|
40
|
+
var isEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Object.is;
|
|
41
|
+
var _useReducer = useReducer(function (count) {
|
|
42
|
+
return count + 1;
|
|
43
|
+
}, 0),
|
|
44
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
45
|
+
forceRender = _useReducer2[1];
|
|
46
|
+
var selected = selector(store.getState());
|
|
47
|
+
var latestRef = useLatest({
|
|
48
|
+
selector: selector,
|
|
49
|
+
isEqual: isEqual,
|
|
50
|
+
selected: selected
|
|
51
|
+
});
|
|
52
|
+
useEffect(function () {
|
|
53
|
+
var checkForUpdates = function checkForUpdates() {
|
|
54
|
+
var latest = latestRef.current;
|
|
55
|
+
var next = latest.selector(store.getState());
|
|
56
|
+
if (!latest.isEqual(latest.selected, next)) {
|
|
57
|
+
forceRender();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
// Catch commits that landed between render and subscription.
|
|
61
|
+
checkForUpdates();
|
|
62
|
+
return store.subscribe(checkForUpdates);
|
|
63
|
+
}, [store]);
|
|
64
|
+
return selected;
|
|
65
|
+
}
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Equality helpers for multi-value selectors / props stabilization
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
export var shallowEqualArrays = function shallowEqualArrays(a, b) {
|
|
70
|
+
if (a === b) return true;
|
|
71
|
+
if (a.length !== b.length) return false;
|
|
72
|
+
for (var i = 0; i < a.length; i++) {
|
|
73
|
+
if (!Object.is(a[i], b[i])) return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
};
|
|
77
|
+
export var shallowEqualObjects = function shallowEqualObjects(a, b) {
|
|
78
|
+
if (a === b) return true;
|
|
79
|
+
if (!a || !b) return false;
|
|
80
|
+
var aKeys = Object.keys(a);
|
|
81
|
+
var bKeys = Object.keys(b);
|
|
82
|
+
if (aKeys.length !== bKeys.length) return false;
|
|
83
|
+
for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {
|
|
84
|
+
var key = _aKeys[_i];
|
|
85
|
+
if (!Object.is(a[key], b[key])) return false;
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Return a referentially-stable version of an (often inline-literal) props
|
|
91
|
+
* object: the previous reference is kept while the content stays
|
|
92
|
+
* shallow-equal, so downstream memo/context deps don't churn per render.
|
|
93
|
+
*/
|
|
94
|
+
export function useShallowStable(value) {
|
|
95
|
+
var ref = useRef(value);
|
|
96
|
+
if (!shallowEqualObjects(ref.current, value)) {
|
|
97
|
+
ref.current = value;
|
|
98
|
+
}
|
|
99
|
+
return ref.current;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLmpzIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVJlZHVjZXIiLCJ1c2VSZWYiLCJ1c2VMYXRlc3QiLCJjcmVhdGVGb3JtU3RvcmUiLCJpbml0aWFsVmFsdWVzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwic3RhdGUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInRvdWNoZWQiLCJ2YWxpZGF0aW5nIiwibGlzdGVuZXJzIiwiU2V0IiwiZ2V0U3RhdGUiLCJzZXRTdGF0ZSIsInBhdGNoIiwiT2JqZWN0IiwiYXNzaWduIiwiZm9yRWFjaCIsImxpc3RlbmVyIiwic3Vic2NyaWJlIiwiYWRkIiwidXNlU3RvcmVTZWxlY3RvciIsInN0b3JlIiwic2VsZWN0b3IiLCJpc0VxdWFsIiwiaXMiLCJfdXNlUmVkdWNlciIsImNvdW50IiwiX3VzZVJlZHVjZXIyIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JjZVJlbmRlciIsInNlbGVjdGVkIiwibGF0ZXN0UmVmIiwiY2hlY2tGb3JVcGRhdGVzIiwibGF0ZXN0IiwiY3VycmVudCIsIm5leHQiLCJzaGFsbG93RXF1YWxBcnJheXMiLCJhIiwiYiIsImkiLCJzaGFsbG93RXF1YWxPYmplY3RzIiwiYUtleXMiLCJrZXlzIiwiYktleXMiLCJfaSIsIl9hS2V5cyIsImtleSIsInVzZVNoYWxsb3dTdGFibGUiLCJ2YWx1ZSIsInJlZiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNyRCxPQUFPQyxTQUFTLE1BQU0seUJBQXlCO0FBOEIvQyxPQUFPLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUViO0VBQUEsSUFEYkMsYUFBQSxHQUFBQyxTQUFB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LElBQUk7QUFDYixDQUFDO0FBRUQ7QUN6Q0E7QUFDQTtBQUNBO0FBQ0E7QUQyQ0EsT0FBTSxTQUFVQyxnQkFBZ0JBLENBQStCQyxLQUFRLEVBQUE7RUFDckUsSUFBTUMsR0FBRyxHQUFHckQsTUFBTSxDQUFDb0QsS0FBSyxDQUFDO0VBQ3pCLElBQ0UsQ0FBQ1IsbUJBQW1CLENBQ2xCUyxHQUFHLENBQUNmLE9BQThDLEVBQ2xEYyxLQUE0QyxDQUM3QyxFQUNEO0lBQ0FDLEdBQUcsQ0FBQ2YsT0FBTyxHQUFHYyxLQUFLO0VBQ3JCO0VBQ0EsT0FBT0MsR0FBRyxDQUFDZixPQUFPO0FBQ3BCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL2Zvcm1TdG9yZS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWR1Y2VyLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTGF0ZXN0IGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTGF0ZXN0JztcbmV4cG9ydCBjb25zdCBjcmVhdGVGb3JtU3RvcmUgPSAoaW5pdGlhbFZhbHVlcyA9IHt9KSA9PiB7XG4gICAgbGV0IHN0YXRlID0ge1xuICAgICAgICB2YWx1ZXM6IGluaXRpYWxWYWx1ZXMsXG4gICAgICAgIGVycm9yczoge30sXG4gICAgICAgIHdhcm5pbmdzOiB7fSxcbiAgICAgICAgdG91Y2hlZDoge30sXG4gICAgICAgIHZhbGlkYXRpbmc6IHt9LFxuICAgIH07XG4gICAgY29uc3QgbGlzdGVuZXJzID0gbmV3IFNldCgpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGdldFN0YXRlOiAoKSA9PiBzdGF0ZSxcbiAgICAgICAgc2V0U3RhdGU6IChwYXRjaCkgPT4ge1xuICAgICAgICAgICAgc3RhdGUgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0YXRlKSwgcGF0Y2gpO1xuICAgICAgICAgICAgbGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lcigpKTtcbiAgICAgICAgfSxcbiAgICAgICAgc3Vic2NyaWJlOiAobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgIGxpc3RlbmVycy5hZGQobGlzdGVuZXIpO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBsaXN0ZW5lcnMuZGVsZXRlKGxpc3RlbmVyKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfTtcbn07XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHVzZVN0b3JlU2VsZWN0b3Ig4oCUIHN1YnNjcmliZSB0byBhIHNlbGVjdGVkIHNsaWNlIG9mIHRoZSBzdG9yZS5cbi8vXG4vLyBUaGUgY29tcG9uZW50IHJlLXJlbmRlcnMgT05MWSB3aGVuIGBpc0VxdWFsKHByZXZTZWxlY3RlZCwgbmV4dFNlbGVjdGVkKWAgaXNcbi8vIGZhbHNlLiBUaGUgc2VsZWN0b3IvZXF1YWxpdHkvc2VsZWN0ZWQgdHJpbyBpcyByZS1jYXB0dXJlZCBpbiBhIHJlZiBvbiBldmVyeVxuLy8gcmVuZGVyLCBzbyBpbmxpbmUgc2VsZWN0b3JzIChjbG9zaW5nIG92ZXIgdGhlIGxhdGVzdCBwcm9wcykgYXJlIHNhZmUuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBmdW5jdGlvbiB1c2VTdG9yZVNlbGVjdG9yKHN0b3JlLCBzZWxlY3RvciwgaXNFcXVhbCA9IE9iamVjdC5pcykge1xuICAgIGNvbnN0IFssIGZvcmNlUmVuZGVyXSA9IHVzZVJlZHVjZXIoKGNvdW50KSA9PiBjb3VudCArIDEsIDApO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gc2VsZWN0b3Ioc3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgY29uc3QgbGF0ZXN0UmVmID0gdXNlTGF0ZXN0KHsgc2VsZWN0b3IsIGlzRXF1YWwsIHNlbGVjdGVkIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoZWNrRm9yVXBkYXRlcyA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhdGVzdCA9IGxhdGVzdFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGxhdGVzdC5zZWxlY3RvcihzdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICAgICAgICAgIGlmICghbGF0ZXN0LmlzRXF1YWwobGF0ZXN0LnNlbGVjdGVkLCBuZXh0KSkge1xuICAgICAgICAgICAgICAgIGZvcmNlUmVuZGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIC8vIENhdGNoIGNvbW1pdHMgdGhhdCBsYW5kZWQgYmV0d2VlbiByZW5kZXIgYW5kIHN1YnNjcmlwdGlvbi5cbiAgICAgICAgY2hlY2tGb3JVcGRhdGVzKCk7XG4gICAgICAgIHJldHVybiBzdG9yZS5zdWJzY3JpYmUoY2hlY2tGb3JVcGRhdGVzKTtcbiAgICB9LCBbc3RvcmVdKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQ7XG59XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVxdWFsaXR5IGhlbHBlcnMgZm9yIG11bHRpLXZhbHVlIHNlbGVjdG9ycyAvIHByb3BzIHN0YWJpbGl6YXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGNvbnN0IHNoYWxsb3dFcXVhbEFycmF5cyA9IChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFPYmplY3QuaXMoYVtpXSwgYltpXSkpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufTtcbmV4cG9ydCBjb25zdCBzaGFsbG93RXF1YWxPYmplY3RzID0gKGEsIGIpID0+IHtcbiAgICBpZiAoYSA9PT0gYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCFhIHx8ICFiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgYUtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBjb25zdCBiS2V5cyA9IE9iamVjdC5rZXlzKGIpO1xuICAgIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGFLZXlzKSB7XG4gICAgICAgIGlmICghT2JqZWN0LmlzKGFba2V5XSwgYltrZXldKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuLyoqXG4gKiBSZXR1cm4gYSByZWZlcmVudGlhbGx5LXN0YWJsZSB2ZXJzaW9uIG9mIGFuIChvZnRlbiBpbmxpbmUtbGl0ZXJhbCkgcHJvcHNcbiAqIG9iamVjdDogdGhlIHByZXZpb3VzIHJlZmVyZW5jZSBpcyBrZXB0IHdoaWxlIHRoZSBjb250ZW50IHN0YXlzXG4gKiBzaGFsbG93LWVxdWFsLCBzbyBkb3duc3RyZWFtIG1lbW8vY29udGV4dCBkZXBzIGRvbid0IGNodXJuIHBlciByZW5kZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTaGFsbG93U3RhYmxlKHZhbHVlKSB7XG4gICAgY29uc3QgcmVmID0gdXNlUmVmKHZhbHVlKTtcbiAgICBpZiAoIXNoYWxsb3dFcXVhbE9iamVjdHMocmVmLmN1cnJlbnQsIHZhbHVlKSkge1xuICAgICAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { FormStore } from '../formStore';
|
|
1
2
|
import type { UseFormConfig, UseFormReturn } from '../interface';
|
|
2
|
-
export declare const useForm: (config?: UseFormConfig) => UseFormReturn
|
|
3
|
+
export declare const useForm: (config?: UseFormConfig) => UseFormReturn & {
|
|
4
|
+
store: FormStore;
|
|
5
|
+
};
|
|
3
6
|
export default useForm;
|