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