@1money/component-ui 0.0.73 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/es/components/ProForm/ProForm.js +201 -48
  2. package/es/components/ProForm/ProFormDependency.d.ts +11 -2
  3. package/es/components/ProForm/ProFormDependency.js +29 -136
  4. package/es/components/ProForm/ProFormItem.js +81 -24
  5. package/es/components/ProForm/ProFormList.js +114 -62
  6. package/es/components/ProForm/Submitter.js +15 -4
  7. package/es/components/ProForm/context.d.ts +11 -3
  8. package/es/components/ProForm/context.js +32 -12
  9. package/es/components/ProForm/core/constants.d.ts +10 -2
  10. package/es/components/ProForm/core/constants.js +17 -3
  11. package/es/components/ProForm/core/formStore.d.ts +24 -0
  12. package/es/components/ProForm/core/formStore.js +101 -0
  13. package/es/components/ProForm/core/hooks/useForm.d.ts +4 -1
  14. package/es/components/ProForm/core/hooks/useForm.js +220 -120
  15. package/es/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
  16. package/es/components/ProForm/core/hooks/useFormCore.js +114 -90
  17. package/es/components/ProForm/core/runRules.d.ts +5 -3
  18. package/es/components/ProForm/core/runRules.js +13 -5
  19. package/es/components/ProForm/core/useFormItem.d.ts +2 -2
  20. package/es/components/ProForm/core/useFormItem.js +46 -23
  21. package/es/components/ProForm/fields/ProFormFieldSet.js +20 -7
  22. package/es/components/ProForm/fields/createProFormField.js +14 -4
  23. package/es/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
  24. package/es/components/ProForm/hooks/useFieldRequest.js +54 -9
  25. package/es/components/ProForm/hooks/useUrlSync.d.ts +16 -0
  26. package/es/components/ProForm/hooks/useUrlSync.js +170 -0
  27. package/es/components/ProForm/index.d.ts +2 -2
  28. package/es/components/ProForm/index.js +1 -1
  29. package/es/components/ProForm/interface.d.ts +105 -23
  30. package/es/components/ProForm/layouts/DialogForm.js +17 -7
  31. package/es/components/ProForm/layouts/DrawerForm.js +16 -7
  32. package/es/components/ProForm/layouts/QueryFilter.js +46 -135
  33. package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  34. package/es/components/ProForm/layouts/useOverlayForm.js +27 -8
  35. package/es/components/ProForm/style/ProForm.css +0 -6
  36. package/es/components/ProForm/utils.js +32 -8
  37. package/es/components/ProTable/ProTable.js +3 -3
  38. package/es/index.css +1 -1
  39. package/es/index.d.ts +1 -1
  40. package/es/index.js +1 -1
  41. package/lib/components/ProForm/ProForm.js +201 -48
  42. package/lib/components/ProForm/ProFormDependency.d.ts +11 -2
  43. package/lib/components/ProForm/ProFormDependency.js +30 -138
  44. package/lib/components/ProForm/ProFormItem.js +78 -21
  45. package/lib/components/ProForm/ProFormList.js +112 -60
  46. package/lib/components/ProForm/Submitter.js +15 -4
  47. package/lib/components/ProForm/context.d.ts +11 -3
  48. package/lib/components/ProForm/context.js +33 -13
  49. package/lib/components/ProForm/core/constants.d.ts +10 -2
  50. package/lib/components/ProForm/core/constants.js +18 -4
  51. package/lib/components/ProForm/core/formStore.d.ts +24 -0
  52. package/lib/components/ProForm/core/formStore.js +110 -0
  53. package/lib/components/ProForm/core/hooks/useForm.d.ts +4 -1
  54. package/lib/components/ProForm/core/hooks/useForm.js +220 -120
  55. package/lib/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
  56. package/lib/components/ProForm/core/hooks/useFormCore.js +113 -89
  57. package/lib/components/ProForm/core/runRules.d.ts +5 -3
  58. package/lib/components/ProForm/core/runRules.js +13 -5
  59. package/lib/components/ProForm/core/useFormItem.d.ts +2 -2
  60. package/lib/components/ProForm/core/useFormItem.js +44 -21
  61. package/lib/components/ProForm/fields/ProFormFieldSet.js +19 -6
  62. package/lib/components/ProForm/fields/createProFormField.js +14 -4
  63. package/lib/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
  64. package/lib/components/ProForm/hooks/useFieldRequest.js +53 -8
  65. package/lib/components/ProForm/hooks/useUrlSync.d.ts +16 -0
  66. package/lib/components/ProForm/hooks/useUrlSync.js +178 -0
  67. package/lib/components/ProForm/index.d.ts +2 -2
  68. package/lib/components/ProForm/index.js +1 -1
  69. package/lib/components/ProForm/interface.d.ts +105 -23
  70. package/lib/components/ProForm/layouts/DialogForm.js +17 -7
  71. package/lib/components/ProForm/layouts/DrawerForm.js +16 -7
  72. package/lib/components/ProForm/layouts/QueryFilter.js +45 -134
  73. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  74. package/lib/components/ProForm/layouts/useOverlayForm.js +30 -8
  75. package/lib/components/ProForm/style/ProForm.css +0 -6
  76. package/lib/components/ProForm/utils.js +32 -8
  77. package/lib/components/ProTable/ProTable.js +3 -3
  78. package/lib/index.css +1 -1
  79. package/lib/index.d.ts +1 -1
  80. package/lib/index.js +1 -1
  81. package/package.json +1 -1
  82. package/scripts/mcp-server/examples.generated.json +36 -0
  83. package/scripts/mcp-server/index.generated.json +538 -16
@@ -1,9 +1,15 @@
1
- export var FORM_SIZES = ['large', 'middle', 'small'];
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
- export var FORM_LABEL_SIZE = 'lg';
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIkZPUk1fU0laRVMiLCJGT1JNX0xBWU9VVFMiLCJMQUJFTF9BTElHTlMiLCJWQUxJREFURV9TVEFUVVNFUyIsIlZBTElEQVRFX1RSSUdHRVJTIiwiRk9STV9MQUJFTF9TSVpFIiwiRk9STV9MQUJFTF9DT0xPUiIsIkZPUk1fRVJST1JfU0laRSIsIkZPUk1fRVJST1JfQ09MT1IiLCJGT1JNX1dBUk5JTkdfU0laRSIsIkZPUk1fV0FSTklOR19DT0xPUiIsIkZPUk1fREVTQ1JJUFRJT05fU0laRSIsIkZPUk1fREVTQ1JJUFRJT05fQ09MT1IiLCJGT1JNX0ZFRURCQUNLX1NJWkUiLCJGT1JNX0ZFRURCQUNLX0NPTE9SIiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLElBQU1BLFVBQVUsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFVO0FBQy9ELE9BQU8sSUFBTUMsWUFBWSxHQUFHLENBQUMsVUFBVSxDQUFVO0FBQ2pELE9BQU8sSUFBTUMsWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBVTtBQUN0RCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFVO0FBQ3ZGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFVO0FBUWhFLE9BQU8sSUFBTUMsZUFBZSxHQUF3QixJQUFJO0FBQ3hELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQW9CLFNBQVM7QUFDMUQsT0FBTyxJQUFNQyxlQUFlLEdBQXVCLElBQUk7QUFDdkQsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBb0IsUUFBUTtBQUN6RCxPQUFPLElBQU1DLGlCQUFpQixHQUF1QixJQUFJO0FBQ3pELE9BQU8sSUFBTUMsa0JBQWtCLEdBQW9CLFNBQVM7QUFDNUQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBdUIsSUFBSTtBQUM3RCxPQUFPLElBQU1DLHNCQUFzQixHQUFvQixrQkFBa0I7QUFDekUsT0FBTyxJQUFNQyxrQkFBa0IsR0FBdUIsSUFBSTtBQUMxRCxPQUFPLElBQU1DLG1CQUFtQixHQUFvQixrQkFBa0I7QUFFdEUsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxDQUNsQyxPQUFPLEVBQ1AsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLFdBQVcsRUFDWCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixlQUFlLEVBQ2YsT0FBTyxFQUNQLFlBQVksRUFDWixRQUFRLEVBQ1IsUUFBUSxFQUNSLFVBQVUsQ0FDRjtBQUVWO0FDVkE7QUFDQTtBQUNBO0FBQ0E7QURZQSxPQUFPLElBQU1DLHlCQUF5QixHQUFzQixDQUMxRCxPQUFPLEVBQ1AsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixhQUFhLEVBQ2IsV0FBVyxFQUNYLFVBQVUsRUFDVixhQUFhLENBQ2QiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJleHBvcnQgY29uc3QgRk9STV9TSVpFUyA9IFsnbGFyZ2UnLCAnbWlkZGxlJywgJ3NtYWxsJ107XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRTID0gWyd2ZXJ0aWNhbCddO1xuZXhwb3J0IGNvbnN0IExBQkVMX0FMSUdOUyA9IFsnbGVmdCcsICdyaWdodCddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1NUQVRVU0VTID0gWydzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZXJyb3InLCAndmFsaWRhdGluZyddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1RSSUdHRVJTID0gWydvbkNoYW5nZScsICdvbkJsdXInXTtcbmV4cG9ydCBjb25zdCBGT1JNX0xBQkVMX1NJWkUgPSAnbGcnO1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFCRUxfQ09MT1IgPSAnZGVmYXVsdCc7XG5leHBvcnQgY29uc3QgRk9STV9FUlJPUl9TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX0VSUk9SX0NPTE9SID0gJ2Rhbmdlcic7XG5leHBvcnQgY29uc3QgRk9STV9XQVJOSU5HX1NJWkUgPSAnc20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fV0FSTklOR19DT0xPUiA9ICd3YXJuaW5nJztcbmV4cG9ydCBjb25zdCBGT1JNX0RFU0NSSVBUSU9OX1NJWkUgPSAnbWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fREVTQ1JJUFRJT05fQ09MT1IgPSAnZGVmYXVsdC10ZXJ0aWFyeSc7XG5leHBvcnQgY29uc3QgRk9STV9GRUVEQkFDS19TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX0ZFRURCQUNLX0NPTE9SID0gJ2RlZmF1bHQtdGVydGlhcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0TnVtYmVyJyxcbiAgICAnSW5wdXRQYXNzd29yZCcsXG4gICAgJ0lucHV0VGV4dEFyZWEnLFxuICAgICdJbnB1dFNlYXJjaCcsXG4gICAgJ0lucHV0T1RQJyxcbiAgICAnSW5wdXRUcmFkZScsXG4gICAgJ0lucHV0QW1vdW50JyxcbiAgICAnSW5wdXRNYXNrJyxcbiAgICAnU2VsZWN0JyxcbiAgICAnQmFzZVNlbGVjdCcsXG4gICAgJ0RhdGVQaWNrZXInLFxuICAgICdUaW1lUGlja2VyJyxcbiAgICAnQ2FsZW5kYXInLFxuICAgICdDaGVja2JveCcsXG4gICAgJ0NoZWNrYm94R3JvdXAnLFxuICAgICdSYWRpbycsXG4gICAgJ1JhZGlvR3JvdXAnLFxuICAgICdTd2l0Y2gnLFxuICAgICdTbGlkZXInLFxuICAgICdUZXh0QXJlYScsXG5dO1xuLyoqXG4gKiBUZXh0LWxpa2UgZm9ybSBjb250cm9scyB3aG9zZSBlbXB0eSB2YWx1ZSBtdXN0IGRlZmF1bHQgdG8gJycgKGEgY29udHJvbGxlZFxuICogc3RyaW5nIGlucHV0KSByYXRoZXIgdGhhbiB1bmRlZmluZWQuIFVzZWQgYnkgYGluamVjdEZpZWxkYCB0byBwaWNrIGEgc2FmZVxuICogZmFsbGJhY2sgdmFsdWUuXG4gKi9cbmV4cG9ydCBjb25zdCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0VHJhZGUnLFxuICAgICdJbnB1dEFtb3VudCcsXG4gICAgJ0lucHV0TWFzaycsXG4gICAgJ1RleHRBcmVhJyxcbiAgICAnSW5wdXROdW1iZXInLFxuXTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
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;