@1money/component-ui 0.0.19 → 0.0.21

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 (235) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/AGENTS.md +7 -1
  3. package/es/components/Alert/Alert.js +5 -6
  4. package/es/components/Alert/style/Alert.css +1 -1
  5. package/es/components/Button/Button.js +29 -1
  6. package/es/components/Button/constants.d.ts +14 -1
  7. package/es/components/Button/constants.js +23 -3
  8. package/es/components/Button/interface.d.ts +9 -0
  9. package/es/components/Cell/Cell.d.ts +5 -0
  10. package/es/components/Cell/Cell.js +57 -0
  11. package/es/components/Cell/index.d.ts +4 -0
  12. package/es/components/Cell/index.js +5 -0
  13. package/es/components/Cell/interface.d.ts +12 -0
  14. package/es/components/{Form → Cell}/interface.js +1 -1
  15. package/es/components/Cell/style/Cell.css +1 -0
  16. package/es/components/Cell/style/css.js +2 -0
  17. package/es/components/Cell/style/index.d.ts +1 -0
  18. package/es/components/Cell/style/index.js +2 -0
  19. package/es/components/Dialog/Dialog.d.ts +4 -0
  20. package/es/components/Dialog/Dialog.js +383 -0
  21. package/es/components/Dialog/constants.d.ts +60 -0
  22. package/es/components/Dialog/constants.js +57 -0
  23. package/es/components/Dialog/index.d.ts +4 -0
  24. package/es/components/Dialog/index.js +5 -0
  25. package/es/components/{Modal → Dialog}/interface.d.ts +7 -7
  26. package/es/components/Dialog/interface.js +2 -0
  27. package/es/components/Dialog/style/Dialog.css +1 -0
  28. package/es/components/Dialog/style/css.js +2 -0
  29. package/es/components/Dialog/style/index.d.ts +1 -0
  30. package/es/components/Dialog/style/index.js +2 -0
  31. package/es/components/Divider/Divider.js +15 -18
  32. package/es/components/Divider/constants.d.ts +36 -0
  33. package/es/components/Divider/constants.js +41 -0
  34. package/es/components/Divider/interface.d.ts +2 -3
  35. package/es/components/Drawer/Drawer.js +13 -129
  36. package/es/components/Drawer/constants.d.ts +8 -5
  37. package/es/components/Drawer/constants.js +9 -6
  38. package/es/components/Drawer/hooks/index.d.ts +4 -0
  39. package/es/components/Drawer/hooks/index.js +5 -0
  40. package/es/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
  41. package/es/components/Drawer/hooks/useBodyScrollLock.js +29 -0
  42. package/es/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
  43. package/es/components/Drawer/hooks/useDialogFocus.js +22 -0
  44. package/es/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
  45. package/es/components/Drawer/hooks/useDrawerTransition.js +57 -0
  46. package/es/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
  47. package/es/components/Drawer/hooks/useEscapeClose.js +16 -0
  48. package/es/components/ProForm/ProForm.js +93 -116
  49. package/es/components/ProForm/ProFormDependency.js +2 -4
  50. package/es/components/ProForm/ProFormItem.d.ts +4 -0
  51. package/es/components/ProForm/ProFormItem.js +213 -0
  52. package/es/components/ProForm/ProFormList.js +5 -6
  53. package/es/components/ProForm/Submitter.js +2 -2
  54. package/es/components/ProForm/context.d.ts +10 -2
  55. package/es/components/ProForm/context.js +17 -14
  56. package/es/components/{Form → ProForm/core}/constants.d.ts +1 -1
  57. package/es/components/ProForm/core/constants.js +18 -0
  58. package/es/components/ProForm/core/hooks/useForm.js +541 -0
  59. package/es/components/ProForm/core/hooks/useFormCore.js +347 -0
  60. package/es/components/ProForm/core/index.d.ts +6 -0
  61. package/es/components/ProForm/core/index.js +6 -0
  62. package/es/components/{Form → ProForm/core}/interface.d.ts +21 -60
  63. package/es/components/ProForm/core/interface.js +2 -0
  64. package/es/components/ProForm/core/useFormItem.d.ts +20 -0
  65. package/es/components/ProForm/core/useFormItem.js +121 -0
  66. package/es/components/ProForm/fields/ProFormFieldSet.js +7 -6
  67. package/es/components/ProForm/fields/createProFormField.js +76 -151
  68. package/es/components/ProForm/index.d.ts +13 -6
  69. package/es/components/ProForm/index.js +21 -9
  70. package/es/components/ProForm/interface.d.ts +79 -44
  71. package/es/components/ProForm/layouts/DialogForm.d.ts +3 -0
  72. package/es/components/ProForm/layouts/DialogForm.js +74 -0
  73. package/es/components/ProForm/layouts/index.d.ts +1 -1
  74. package/es/components/ProForm/layouts/index.js +2 -2
  75. package/es/components/ProForm/style/ProForm.css +1 -1
  76. package/es/components/Select/Select.js +5 -5
  77. package/es/components/Select/SelectFieldShell.js +7 -7
  78. package/es/components/Select/SelectOptionContent.js +5 -5
  79. package/es/components/Select/constants.d.ts +37 -13
  80. package/es/components/Select/constants.js +36 -20
  81. package/es/components/Select/style/Select.css +1 -1
  82. package/es/components/Switch/Switch.js +7 -7
  83. package/es/components/Switch/constants.d.ts +23 -9
  84. package/es/components/Switch/constants.js +26 -11
  85. package/es/components/Switch/interface.d.ts +2 -2
  86. package/es/index.css +1 -1
  87. package/es/index.d.ts +7 -6
  88. package/es/index.js +4 -4
  89. package/lib/components/Alert/Alert.js +5 -6
  90. package/lib/components/Alert/style/Alert.css +1 -1
  91. package/lib/components/Button/Button.js +29 -1
  92. package/lib/components/Button/constants.d.ts +14 -1
  93. package/lib/components/Button/constants.js +23 -3
  94. package/lib/components/Button/interface.d.ts +9 -0
  95. package/lib/components/Cell/Cell.d.ts +5 -0
  96. package/lib/components/Cell/Cell.js +66 -0
  97. package/lib/components/Cell/index.d.ts +4 -0
  98. package/lib/components/Cell/index.js +33 -0
  99. package/lib/components/Cell/interface.d.ts +12 -0
  100. package/lib/components/{Form → Cell}/interface.js +1 -1
  101. package/lib/components/Cell/style/Cell.css +1 -0
  102. package/lib/components/Cell/style/css.js +4 -0
  103. package/lib/components/Cell/style/index.d.ts +1 -0
  104. package/lib/components/Cell/style/index.js +4 -0
  105. package/lib/components/Dialog/Dialog.d.ts +4 -0
  106. package/lib/components/Dialog/Dialog.js +390 -0
  107. package/lib/components/Dialog/constants.d.ts +60 -0
  108. package/lib/components/Dialog/constants.js +64 -0
  109. package/lib/components/Dialog/index.d.ts +4 -0
  110. package/lib/components/Dialog/index.js +33 -0
  111. package/lib/components/{Modal → Dialog}/interface.d.ts +7 -7
  112. package/lib/components/Dialog/interface.js +6 -0
  113. package/lib/components/Dialog/style/Dialog.css +1 -0
  114. package/lib/components/Dialog/style/css.js +4 -0
  115. package/lib/components/Dialog/style/index.d.ts +1 -0
  116. package/lib/components/Dialog/style/index.js +4 -0
  117. package/lib/components/Divider/Divider.js +16 -18
  118. package/lib/components/Divider/constants.d.ts +36 -0
  119. package/lib/components/Divider/constants.js +48 -0
  120. package/lib/components/Divider/interface.d.ts +2 -3
  121. package/lib/components/Drawer/Drawer.js +14 -130
  122. package/lib/components/Drawer/constants.d.ts +8 -5
  123. package/lib/components/Drawer/constants.js +10 -7
  124. package/lib/components/Drawer/hooks/index.d.ts +4 -0
  125. package/lib/components/Drawer/hooks/index.js +34 -0
  126. package/lib/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
  127. package/lib/components/Drawer/hooks/useBodyScrollLock.js +35 -0
  128. package/lib/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
  129. package/lib/components/Drawer/hooks/useDialogFocus.js +28 -0
  130. package/lib/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
  131. package/lib/components/Drawer/hooks/useDrawerTransition.js +64 -0
  132. package/lib/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
  133. package/lib/components/Drawer/hooks/useEscapeClose.js +22 -0
  134. package/lib/components/ProForm/ProForm.js +94 -117
  135. package/lib/components/ProForm/ProFormDependency.js +2 -4
  136. package/lib/components/ProForm/ProFormItem.d.ts +4 -0
  137. package/lib/components/ProForm/ProFormItem.js +222 -0
  138. package/lib/components/ProForm/ProFormList.js +4 -5
  139. package/lib/components/ProForm/Submitter.js +2 -2
  140. package/lib/components/ProForm/context.d.ts +10 -2
  141. package/lib/components/ProForm/context.js +18 -15
  142. package/lib/components/{Form → ProForm/core}/constants.d.ts +1 -1
  143. package/lib/components/ProForm/core/constants.js +24 -0
  144. package/lib/components/ProForm/core/hooks/useForm.js +551 -0
  145. package/lib/components/ProForm/core/hooks/useFormCore.js +354 -0
  146. package/lib/components/ProForm/core/index.d.ts +6 -0
  147. package/lib/components/ProForm/core/index.js +56 -0
  148. package/lib/components/{Form → ProForm/core}/interface.d.ts +21 -60
  149. package/lib/components/ProForm/core/interface.js +6 -0
  150. package/lib/components/ProForm/core/useFormItem.d.ts +20 -0
  151. package/lib/components/ProForm/core/useFormItem.js +131 -0
  152. package/lib/components/ProForm/fields/ProFormFieldSet.js +7 -6
  153. package/lib/components/ProForm/fields/createProFormField.js +76 -151
  154. package/lib/components/ProForm/index.d.ts +13 -6
  155. package/lib/components/ProForm/index.js +46 -33
  156. package/lib/components/ProForm/interface.d.ts +79 -44
  157. package/lib/components/ProForm/layouts/DialogForm.d.ts +3 -0
  158. package/lib/components/ProForm/layouts/DialogForm.js +81 -0
  159. package/lib/components/ProForm/layouts/index.d.ts +1 -1
  160. package/lib/components/ProForm/layouts/index.js +6 -6
  161. package/lib/components/ProForm/style/ProForm.css +1 -1
  162. package/lib/components/Select/Select.js +4 -4
  163. package/lib/components/Select/SelectFieldShell.js +6 -6
  164. package/lib/components/Select/SelectOptionContent.js +4 -4
  165. package/lib/components/Select/constants.d.ts +37 -13
  166. package/lib/components/Select/constants.js +37 -21
  167. package/lib/components/Select/style/Select.css +1 -1
  168. package/lib/components/Switch/Switch.js +6 -6
  169. package/lib/components/Switch/constants.d.ts +23 -9
  170. package/lib/components/Switch/constants.js +27 -12
  171. package/lib/components/Switch/interface.d.ts +2 -2
  172. package/lib/index.css +1 -1
  173. package/lib/index.d.ts +7 -6
  174. package/lib/index.js +69 -63
  175. package/package.json +11 -6
  176. package/es/components/Form/Form.d.ts +0 -4
  177. package/es/components/Form/Form.js +0 -73
  178. package/es/components/Form/FormItem.d.ts +0 -4
  179. package/es/components/Form/FormItem.js +0 -183
  180. package/es/components/Form/constants.js +0 -19
  181. package/es/components/Form/context.d.ts +0 -5
  182. package/es/components/Form/context.js +0 -19
  183. package/es/components/Form/hooks/useForm.js +0 -541
  184. package/es/components/Form/hooks/useFormCore.js +0 -348
  185. package/es/components/Form/index.d.ts +0 -10
  186. package/es/components/Form/index.js +0 -17
  187. package/es/components/Form/style/Form.css +0 -1
  188. package/es/components/Form/style/css.js +0 -2
  189. package/es/components/Form/style/index.d.ts +0 -1
  190. package/es/components/Form/style/index.js +0 -2
  191. package/es/components/Modal/Modal.d.ts +0 -4
  192. package/es/components/Modal/Modal.js +0 -383
  193. package/es/components/Modal/constants.d.ts +0 -58
  194. package/es/components/Modal/constants.js +0 -55
  195. package/es/components/Modal/index.d.ts +0 -4
  196. package/es/components/Modal/index.js +0 -5
  197. package/es/components/Modal/interface.js +0 -2
  198. package/es/components/Modal/style/Modal.css +0 -1
  199. package/es/components/Modal/style/css.js +0 -2
  200. package/es/components/Modal/style/index.d.ts +0 -1
  201. package/es/components/Modal/style/index.js +0 -2
  202. package/es/components/ProForm/layouts/ModalForm.d.ts +0 -3
  203. package/es/components/ProForm/layouts/ModalForm.js +0 -74
  204. package/lib/components/Form/Form.d.ts +0 -4
  205. package/lib/components/Form/Form.js +0 -80
  206. package/lib/components/Form/FormItem.d.ts +0 -4
  207. package/lib/components/Form/FormItem.js +0 -193
  208. package/lib/components/Form/constants.js +0 -25
  209. package/lib/components/Form/context.d.ts +0 -5
  210. package/lib/components/Form/context.js +0 -25
  211. package/lib/components/Form/hooks/useForm.js +0 -551
  212. package/lib/components/Form/hooks/useFormCore.js +0 -355
  213. package/lib/components/Form/index.d.ts +0 -10
  214. package/lib/components/Form/index.js +0 -83
  215. package/lib/components/Form/style/Form.css +0 -1
  216. package/lib/components/Form/style/css.js +0 -4
  217. package/lib/components/Form/style/index.d.ts +0 -1
  218. package/lib/components/Form/style/index.js +0 -4
  219. package/lib/components/Modal/Modal.d.ts +0 -4
  220. package/lib/components/Modal/Modal.js +0 -390
  221. package/lib/components/Modal/constants.d.ts +0 -58
  222. package/lib/components/Modal/constants.js +0 -62
  223. package/lib/components/Modal/index.d.ts +0 -4
  224. package/lib/components/Modal/index.js +0 -33
  225. package/lib/components/Modal/interface.js +0 -6
  226. package/lib/components/Modal/style/Modal.css +0 -1
  227. package/lib/components/Modal/style/css.js +0 -4
  228. package/lib/components/Modal/style/index.d.ts +0 -1
  229. package/lib/components/Modal/style/index.js +0 -4
  230. package/lib/components/ProForm/layouts/ModalForm.d.ts +0 -3
  231. package/lib/components/ProForm/layouts/ModalForm.js +0 -81
  232. /package/es/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  233. /package/es/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
  234. /package/lib/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  235. /package/lib/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
@@ -1,348 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- import _typeof from "@babel/runtime/helpers/esm/typeof";
5
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
6
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
7
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
- import { useState, useMemo } from 'react';
9
- import { useEventCallback, useMemoizedFn } from '@1money/hooks';
10
- // ---------------------------------------------------------------------------
11
- // Nested path helpers (dot-notation support, e.g. "items.0.title")
12
- // ---------------------------------------------------------------------------
13
- function getNestedValue(obj, path) {
14
- var keys = path.split('.');
15
- var current = obj;
16
- var _iterator = _createForOfIteratorHelper(keys),
17
- _step;
18
- try {
19
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
20
- var key = _step.value;
21
- if (current === null || current === undefined || _typeof(current) !== 'object') return undefined;
22
- current = current[key];
23
- }
24
- } catch (err) {
25
- _iterator.e(err);
26
- } finally {
27
- _iterator.f();
28
- }
29
- return current;
30
- }
31
- function setNestedValue(obj, path, value) {
32
- var keys = path.split('.');
33
- if (keys.length === 1) return Object.assign(Object.assign({}, obj), _defineProperty({}, path, value));
34
- var result = Object.assign({}, obj);
35
- var current = result;
36
- for (var i = 0; i < keys.length - 1; i++) {
37
- var key = keys[i];
38
- var nextKey = keys[i + 1];
39
- var isNextArray = /^\d+$/.test(nextKey);
40
- if (current[key] === undefined || current[key] === null) {
41
- current[key] = isNextArray ? [] : {};
42
- }
43
- if (Array.isArray(current[key])) {
44
- current[key] = _toConsumableArray(current[key]);
45
- } else {
46
- current[key] = Object.assign({}, current[key]);
47
- }
48
- current = current[key];
49
- }
50
- current[keys[keys.length - 1]] = value;
51
- return result;
52
- }
53
- function resolveValue(values, name) {
54
- return name.includes('.') ? getNestedValue(values, name) : values[name];
55
- }
56
- export var useFormCore = function useFormCore() {
57
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
- var _config$initialValues = config.initialValues,
59
- initialValues = _config$initialValues === void 0 ? {} : _config$initialValues,
60
- onFinish = config.onFinish,
61
- onFinishFailed = config.onFinishFailed,
62
- onValuesChange = config.onValuesChange,
63
- onReset = config.onReset,
64
- _config$size = config.size,
65
- size = _config$size === void 0 ? 'middle' : _config$size,
66
- _config$labelAlign = config.labelAlign,
67
- labelAlign = _config$labelAlign === void 0 ? 'left' : _config$labelAlign,
68
- _config$disabled = config.disabled,
69
- disabled = _config$disabled === void 0 ? false : _config$disabled,
70
- _config$colon = config.colon,
71
- colon = _config$colon === void 0 ? true : _config$colon,
72
- _config$requiredMark = config.requiredMark,
73
- requiredMark = _config$requiredMark === void 0 ? true : _config$requiredMark,
74
- _config$validateTrigg = config.validateTrigger,
75
- validateTrigger = _config$validateTrigg === void 0 ? 'onChange' : _config$validateTrigg;
76
- var _useState = useState(initialValues),
77
- _useState2 = _slicedToArray(_useState, 2),
78
- values = _useState2[0],
79
- setValues = _useState2[1];
80
- var _useState3 = useState({}),
81
- _useState4 = _slicedToArray(_useState3, 2),
82
- errors = _useState4[0],
83
- setErrors = _useState4[1];
84
- var _useState5 = useState({}),
85
- _useState6 = _slicedToArray(_useState5, 2),
86
- touched = _useState6[0],
87
- setTouched = _useState6[1];
88
- var _useState7 = useState({}),
89
- _useState8 = _slicedToArray(_useState7, 2),
90
- fieldRules = _useState8[0],
91
- setFieldRules = _useState8[1];
92
- var setFieldValue = useMemoizedFn(function (name, value) {
93
- setValues(function (prev) {
94
- var newValues = name.includes('.') ? setNestedValue(prev, name, value) : Object.assign(Object.assign({}, prev), _defineProperty({}, name, value));
95
- onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(_defineProperty({}, name, value), newValues);
96
- return newValues;
97
- });
98
- if (value !== '' && value !== null && value !== undefined) {
99
- setErrors(function (prev) {
100
- if (!prev[name]) return prev;
101
- var newErrors = Object.assign({}, prev);
102
- delete newErrors[name];
103
- return newErrors;
104
- });
105
- }
106
- });
107
- var setFieldError = useMemoizedFn(function (name, error) {
108
- setErrors(function (prev) {
109
- if (error === null) {
110
- if (!prev[name]) return prev;
111
- var newErrors = Object.assign({}, prev);
112
- delete newErrors[name];
113
- return newErrors;
114
- }
115
- return Object.assign(Object.assign({}, prev), _defineProperty({}, name, error));
116
- });
117
- });
118
- var registerField = useMemoizedFn(function (name, rules) {
119
- setFieldRules(function (prev) {
120
- return Object.assign(Object.assign({}, prev), _defineProperty({}, name, rules));
121
- });
122
- });
123
- var getFieldRules = useMemoizedFn(function (name) {
124
- return fieldRules[name];
125
- });
126
- var unregisterField = useMemoizedFn(function (name) {
127
- setFieldRules(function (prev) {
128
- var newRules = Object.assign({}, prev);
129
- delete newRules[name];
130
- return newRules;
131
- });
132
- });
133
- var validateField = useMemoizedFn(function (name) {
134
- var rules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
135
- var providedValue = arguments.length > 2 ? arguments[2] : undefined;
136
- var value = providedValue !== undefined ? providedValue : resolveValue(values, name);
137
- var _iterator2 = _createForOfIteratorHelper(rules),
138
- _step2;
139
- try {
140
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
141
- var rule = _step2.value;
142
- if (rule.required && (value === undefined || value === null || value === '')) {
143
- var error = rule.message || "".concat(name, " is required");
144
- setFieldError(name, error);
145
- return false;
146
- }
147
- if (rule.min && typeof value === 'string' && value.length < rule.min) {
148
- var _error = rule.message || "".concat(name, " must be at least ").concat(rule.min, " characters");
149
- setFieldError(name, _error);
150
- return false;
151
- }
152
- if (rule.max && typeof value === 'string' && value.length > rule.max) {
153
- var _error2 = rule.message || "".concat(name, " must be no more than ").concat(rule.max, " characters");
154
- setFieldError(name, _error2);
155
- return false;
156
- }
157
- if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
158
- var _error3 = rule.message || "".concat(name, " format is invalid");
159
- setFieldError(name, _error3);
160
- return false;
161
- }
162
- if (rule.validator && typeof rule.validator === 'function') {
163
- try {
164
- var result = rule.validator(value, values);
165
- if (result !== true && _typeof(result) !== 'object') {
166
- setFieldError(name, typeof result === 'string' ? result : 'Validation failed');
167
- return false;
168
- }
169
- } catch (err) {
170
- var message = err instanceof Error ? err.message : 'Validation error';
171
- setFieldError(name, message);
172
- return false;
173
- }
174
- }
175
- }
176
- // Clear error if validation passes
177
- } catch (err) {
178
- _iterator2.e(err);
179
- } finally {
180
- _iterator2.f();
181
- }
182
- if (errors[name]) {
183
- setFieldError(name, null);
184
- }
185
- return true;
186
- });
187
- var validateFields = useMemoizedFn(function () {
188
- var fieldsRulesToValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : fieldRules;
189
- var isValid = true;
190
- Object.keys(fieldsRulesToValidate).forEach(function (name) {
191
- var rules = fieldsRulesToValidate[name];
192
- if (!validateField(name, rules)) {
193
- isValid = false;
194
- }
195
- });
196
- return isValid;
197
- });
198
- var handleSubmitInternal = useMemoizedFn(function () {
199
- var hasErrors = false;
200
- var newErrors = {};
201
- Object.keys(fieldRules).forEach(function (fieldName) {
202
- var rules = fieldRules[fieldName];
203
- var value = resolveValue(values, fieldName);
204
- var _iterator3 = _createForOfIteratorHelper(rules),
205
- _step3;
206
- try {
207
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
208
- var rule = _step3.value;
209
- if (rule.required && (value === undefined || value === null || value === '')) {
210
- newErrors[fieldName] = rule.message || "".concat(fieldName, " is required");
211
- hasErrors = true;
212
- break;
213
- }
214
- if (rule.min && typeof value === 'string' && value.length < rule.min) {
215
- newErrors[fieldName] = rule.message || "".concat(fieldName, " must be at least ").concat(rule.min, " characters");
216
- hasErrors = true;
217
- break;
218
- }
219
- if (rule.max && typeof value === 'string' && value.length > rule.max) {
220
- newErrors[fieldName] = rule.message || "".concat(fieldName, " must be no more than ").concat(rule.max, " characters");
221
- hasErrors = true;
222
- break;
223
- }
224
- if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
225
- newErrors[fieldName] = rule.message || "".concat(fieldName, " format is invalid");
226
- hasErrors = true;
227
- break;
228
- }
229
- if (rule.validator && typeof rule.validator === 'function') {
230
- try {
231
- var result = rule.validator(value, values);
232
- if (result !== true && _typeof(result) !== 'object') {
233
- newErrors[fieldName] = typeof result === 'string' ? result : 'Validation failed';
234
- hasErrors = true;
235
- break;
236
- }
237
- } catch (err) {
238
- newErrors[fieldName] = err instanceof Error ? err.message : 'Validation error';
239
- hasErrors = true;
240
- break;
241
- }
242
- }
243
- }
244
- } catch (err) {
245
- _iterator3.e(err);
246
- } finally {
247
- _iterator3.f();
248
- }
249
- });
250
- setErrors(newErrors);
251
- if (!hasErrors) {
252
- onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
253
- return {
254
- success: true,
255
- values: values
256
- };
257
- } else {
258
- onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed({
259
- values: values,
260
- errors: newErrors
261
- });
262
- return {
263
- success: false,
264
- errors: newErrors
265
- };
266
- }
267
- });
268
- var handleSubmit = useEventCallback(function (e) {
269
- e === null || e === void 0 ? void 0 : e.preventDefault();
270
- return handleSubmitInternal();
271
- });
272
- var resetFields = useMemoizedFn(function () {
273
- setValues(initialValues);
274
- setErrors({});
275
- setTouched({});
276
- onReset === null || onReset === void 0 ? void 0 : onReset();
277
- });
278
- var handleReset = useEventCallback(function (e) {
279
- e === null || e === void 0 ? void 0 : e.preventDefault();
280
- resetFields();
281
- });
282
- var getFieldValue = useMemoizedFn(function (name) {
283
- return resolveValue(values, name);
284
- });
285
- var getFieldsValue = useMemoizedFn(function () {
286
- return values;
287
- });
288
- var setFieldsValue = useMemoizedFn(function (newValues) {
289
- setValues(function (prev) {
290
- var updatedValues = Object.assign(Object.assign({}, prev), newValues);
291
- onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(newValues, updatedValues);
292
- return updatedValues;
293
- });
294
- });
295
- var formInstance = useMemo(function () {
296
- return {
297
- submit: handleSubmitInternal,
298
- resetFields: resetFields,
299
- getFieldValue: getFieldValue,
300
- getFieldsValue: getFieldsValue,
301
- setFieldsValue: setFieldsValue,
302
- setFieldValue: setFieldValue,
303
- validateFields: validateFields
304
- };
305
- }, [handleSubmitInternal, resetFields, getFieldValue, getFieldsValue, setFieldsValue, setFieldValue, validateFields]);
306
- var contextValue = useMemo(function () {
307
- return {
308
- values: values,
309
- errors: errors,
310
- touched: touched,
311
- formInstance: formInstance,
312
- setFieldValue: setFieldValue,
313
- setFieldError: setFieldError,
314
- validateField: validateField,
315
- registerField: registerField,
316
- unregisterField: unregisterField,
317
- size: size,
318
- labelAlign: labelAlign,
319
- disabled: disabled,
320
- colon: colon,
321
- requiredMark: requiredMark,
322
- validateTrigger: validateTrigger
323
- };
324
- }, [values, errors, touched, formInstance, setFieldValue, setFieldError, validateField, registerField, unregisterField, size, labelAlign, disabled, colon, requiredMark, validateTrigger]);
325
- return {
326
- values: values,
327
- errors: errors,
328
- touched: touched,
329
- fieldRules: fieldRules,
330
- getFieldRules: getFieldRules,
331
- setFieldValue: setFieldValue,
332
- setFieldError: setFieldError,
333
- setFieldsValue: setFieldsValue,
334
- getFieldValue: getFieldValue,
335
- getFieldsValue: getFieldsValue,
336
- validateField: validateField,
337
- validateFields: validateFields,
338
- registerField: registerField,
339
- unregisterField: unregisterField,
340
- handleSubmit: handleSubmit,
341
- handleReset: handleReset,
342
- resetFields: resetFields,
343
- formInstance: formInstance,
344
- contextValue: contextValue
345
- };
346
- };
347
- export default useFormCore;
348
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL2hvb2tzL3VzZUZvcm1Db3JlLnRzIiwiY29tcG9uZW50cy9Gb3JtL2hvb2tzL3VzZUZvcm1Db3JlLmpzIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlTWVtbyIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VNZW1vaXplZEZuIiwiZ2V0TmVzdGVkVmFsdWUiLCJvYmoiLCJwYXRoIiwia2V5cyIsInNwbGl0IiwiY3VycmVudCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJrZXkiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIl90eXBlb2YiLCJlcnIiLCJlIiwiZiIsInNldE5lc3RlZFZhbHVlIiwibGVuZ3RoIiwiT2JqZWN0IiwiYXNzaWduIiwiX2RlZmluZVByb3BlcnR5IiwicmVzdWx0IiwiaSIsIm5leHRLZXkiLCJpc05leHRBcnJheSIsInRlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyZXNvbHZlVmFsdWUiLCJ2YWx1ZXMiLCJuYW1lIiwiaW5jbHVkZXMiLCJ1c2VGb3JtQ29yZSIsImNvbmZpZyIsImFyZ3VtZW50cyIsIl9jb25maWckaW5pdGlhbFZhbHVlcyIsImluaXRpYWxWYWx1ZXMiLCJvbkZpbmlzaCIsIm9uRmluaXNoRmFpbGVkIiwib25WYWx1ZXNDaGFuZ2UiLCJvblJlc2V0IiwiX2NvbmZpZyRzaXplIiwic2l6ZSIsIl9jb25maWckbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJfY29uZmlnJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfY29uZmlnJGNvbG9uIiwiY29sb24iLCJfY29uZmlnJHJlcXVpcmVkTWFyayIsInJlcXVpcmVkTWFyayIsIl9jb25maWckdmFsaWRhdGVUcmlnZyIsInZhbGlkYXRlVHJpZ2dlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNldFZhbHVlcyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3JzIiwic2V0RXJyb3JzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0b3VjaGVkIiwic2V0VG91Y2hlZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiZmllbGRSdWxlcyIsInNldEZpZWxkUnVsZXMiLCJzZXRGaWVsZFZhbHVlIiwicHJldiIsIm5ld1ZhbHVlcyIsIm5ld0Vycm9ycyIsInNldEZpZWxkRXJyb3IiLCJlcnJvciIsInJlZ2lzdGVyRmllbGQiLCJydWxlcyIsImdldEZpZWxkUnVsZXMiLCJ1bnJlZ2lzdGVyRmllbGQiLCJuZXdSdWxlcyIsInZhbGlkYXRlRmllbGQiLCJwcm92aWRlZFZhbHVlIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInJ1bGUiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJjb25jYXQiLCJtaW4iLCJtYXgiLCJwYXR0ZXJuIiwidmFsaWRhdG9yIiwiRXJyb3IiLCJ2YWxpZGF0ZUZpZWxkcyIsImZpZWxkc1J1bGVzVG9WYWxpZGF0ZSIsImlzVmFsaWQiLCJmb3JFYWNoIiwiaGFuZGxlU3VibWl0SW50ZXJuYWwiLCJoYXNFcnJvcnMiLCJmaWVsZE5hbWUiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwic3VjY2VzcyIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwicmVzZXRGaWVsZHMiLCJoYW5kbGVSZXNldCIsImdldEZpZWxkVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsInNldEZpZWxkc1ZhbHVlIiwidXBkYXRlZFZhbHVlcyIsImZvcm1JbnN0YW5jZSIsInN1Ym1pdCIsImNvbnRleHRWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLFNBQVNBLFFBQVEsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFFekMsU0FBU0MsZ0JBQWdCLEVBQUVDLGFBQWEsUUFBUSxlQUFlO0FBUS9EO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGNBQWNBLENBQUNDLEdBQTRCLEVBQUVDLElBQVks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QUFZLEVBQVpBLFlBQVk7SUFDWkUsWUFBWSxFQUFaQTtFQzVFQSxDRDZFRDtBQUNILENBQUM7QUFFRCxlQUFlakYsV0FBVyIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vaG9va3MvdXNlRm9ybUNvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRXZlbnRDYWxsYmFjaywgdXNlTWVtb2l6ZWRGbiB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOZXN0ZWQgcGF0aCBoZWxwZXJzIChkb3Qtbm90YXRpb24gc3VwcG9ydCwgZS5nLiBcIml0ZW1zLjAudGl0bGVcIilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gZ2V0TmVzdGVkVmFsdWUob2JqLCBwYXRoKSB7XG4gICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICBsZXQgY3VycmVudCA9IG9iajtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgY3VycmVudCAhPT0gJ29iamVjdCcpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtrZXldO1xuICAgIH1cbiAgICByZXR1cm4gY3VycmVudDtcbn1cbmZ1bmN0aW9uIHNldE5lc3RlZFZhbHVlKG9iaiwgcGF0aCwgdmFsdWUpIHtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb2JqKSwgeyBbcGF0aF06IHZhbHVlIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5hc3NpZ24oe30sIG9iaik7XG4gICAgbGV0IGN1cnJlbnQgPSByZXN1bHQ7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlzW2ldO1xuICAgICAgICBjb25zdCBuZXh0S2V5ID0ga2V5c1tpICsgMV07XG4gICAgICAgIGNvbnN0IGlzTmV4dEFycmF5ID0gL15cXGQrJC8udGVzdChuZXh0S2V5KTtcbiAgICAgICAgaWYgKGN1cnJlbnRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IGN1cnJlbnRba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY3VycmVudFtrZXldID0gaXNOZXh0QXJyYXkgPyBbXSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRba2V5XSkpIHtcbiAgICAgICAgICAgIGN1cnJlbnRba2V5XSA9IFsuLi5jdXJyZW50W2tleV1dO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFtrZXldID0gT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtrZXldO1xuICAgIH1cbiAgICBjdXJyZW50W2tleXNba2V5cy5sZW5ndGggLSAxXV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcmVzb2x2ZVZhbHVlKHZhbHVlcywgbmFtZSkge1xuICAgIHJldHVybiBuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZSh2YWx1ZXMsIG5hbWUpIDogdmFsdWVzW25hbWVdO1xufVxuZXhwb3J0IGNvbnN0IHVzZUZvcm1Db3JlID0gKGNvbmZpZyA9IHt9KSA9PiB7XG4gICAgY29uc3QgeyBpbml0aWFsVmFsdWVzID0ge30sIG9uRmluaXNoLCBvbkZpbmlzaEZhaWxlZCwgb25WYWx1ZXNDaGFuZ2UsIG9uUmVzZXQsIHNpemUgPSAnbWlkZGxlJywgbGFiZWxBbGlnbiA9ICdsZWZ0JywgZGlzYWJsZWQgPSBmYWxzZSwgY29sb24gPSB0cnVlLCByZXF1aXJlZE1hcmsgPSB0cnVlLCB2YWxpZGF0ZVRyaWdnZXIgPSAnb25DaGFuZ2UnLCB9ID0gY29uZmlnO1xuICAgIGNvbnN0IFt2YWx1ZXMsIHNldFZhbHVlc10gPSB1c2VTdGF0ZShpbml0aWFsVmFsdWVzKTtcbiAgICBjb25zdCBbZXJyb3JzLCBzZXRFcnJvcnNdID0gdXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFt0b3VjaGVkLCBzZXRUb3VjaGVkXSA9IHVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbZmllbGRSdWxlcywgc2V0RmllbGRSdWxlc10gPSB1c2VTdGF0ZSh7fSk7XG4gICAgY29uc3Qgc2V0RmllbGRWYWx1ZSA9IHVzZU1lbW9pemVkRm4oKG5hbWUsIHZhbHVlKSA9PiB7XG4gICAgICAgIHNldFZhbHVlcygocHJldikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWVzID0gbmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBzZXROZXN0ZWRWYWx1ZShwcmV2LCBuYW1lLCB2YWx1ZSlcbiAgICAgICAgICAgICAgICA6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcHJldiksIHsgW25hbWVdOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlID09PSBudWxsIHx8IG9uVmFsdWVzQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblZhbHVlc0NoYW5nZSh7IFtuYW1lXTogdmFsdWUgfSwgbmV3VmFsdWVzKTtcbiAgICAgICAgICAgIHJldHVybiBuZXdWYWx1ZXM7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNldEVycm9ycygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldltuYW1lXSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RXJyb3JzID0gT2JqZWN0LmFzc2lnbih7fSwgcHJldik7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG5ld0Vycm9yc1tuYW1lXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3RXJyb3JzO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBzZXRGaWVsZEVycm9yID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgZXJyb3IpID0+IHtcbiAgICAgICAgc2V0RXJyb3JzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXZbbmFtZV0pXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0Vycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIHByZXYpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdFcnJvcnNbbmFtZV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld0Vycm9ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCB7IFtuYW1lXTogZXJyb3IgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlZ2lzdGVyRmllbGQgPSB1c2VNZW1vaXplZEZuKChuYW1lLCBydWxlcykgPT4ge1xuICAgICAgICBzZXRGaWVsZFJ1bGVzKChwcmV2KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcmV2KSwgeyBbbmFtZV06IHJ1bGVzIH0pKSk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0RmllbGRSdWxlcyA9IHVzZU1lbW9pemVkRm4oKG5hbWUpID0+IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkUnVsZXNbbmFtZV07XG4gICAgfSk7XG4gICAgY29uc3QgdW5yZWdpc3RlckZpZWxkID0gdXNlTWVtb2l6ZWRGbigobmFtZSkgPT4ge1xuICAgICAgICBzZXRGaWVsZFJ1bGVzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSdWxlcyA9IE9iamVjdC5hc3NpZ24oe30sIHByZXYpO1xuICAgICAgICAgICAgZGVsZXRlIG5ld1J1bGVzW25hbWVdO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1J1bGVzO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB2YWxpZGF0ZUZpZWxkID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgcnVsZXMgPSBbXSwgcHJvdmlkZWRWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3ZpZGVkVmFsdWUgIT09IHVuZGVmaW5lZCA/IHByb3ZpZGVkVmFsdWUgOiByZXNvbHZlVmFsdWUodmFsdWVzLCBuYW1lKTtcbiAgICAgICAgZm9yIChjb25zdCBydWxlIG9mIHJ1bGVzKSB7XG4gICAgICAgICAgICBpZiAocnVsZS5yZXF1aXJlZCAmJlxuICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUubWluICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoIDwgcnVsZS5taW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBtdXN0IGJlIGF0IGxlYXN0ICR7cnVsZS5taW59IGNoYXJhY3RlcnNgO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkRXJyb3IobmFtZSwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChydWxlLm1heCAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IHJ1bGUubWF4KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBubyBtb3JlIHRoYW4gJHtydWxlLm1heH0gY2hhcmFjdGVyc2A7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUucGF0dGVybiAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFydWxlLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBmb3JtYXQgaXMgaW52YWxpZGA7XG4gICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJ1bGUudmFsaWRhdG9yICYmIHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bGUudmFsaWRhdG9yKHZhbHVlLCB2YWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlICYmIHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRGaWVsZEVycm9yKG5hbWUsIHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdWYWxpZGF0aW9uIGVycm9yJztcbiAgICAgICAgICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBDbGVhciBlcnJvciBpZiB2YWxpZGF0aW9uIHBhc3Nlc1xuICAgICAgICBpZiAoZXJyb3JzW25hbWVdKSB7XG4gICAgICAgICAgICBzZXRGaWVsZEVycm9yKG5hbWUsIG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIGNvbnN0IHZhbGlkYXRlRmllbGRzID0gdXNlTWVtb2l6ZWRGbigoZmllbGRzUnVsZXNUb1ZhbGlkYXRlID0gZmllbGRSdWxlcykgPT4ge1xuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpZWxkc1J1bGVzVG9WYWxpZGF0ZSkuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcnVsZXMgPSBmaWVsZHNSdWxlc1RvVmFsaWRhdGVbbmFtZV07XG4gICAgICAgICAgICBpZiAoIXZhbGlkYXRlRmllbGQobmFtZSwgcnVsZXMpKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQ7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU3VibWl0SW50ZXJuYWwgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgbGV0IGhhc0Vycm9ycyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBuZXdFcnJvcnMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoZmllbGRSdWxlcykuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBydWxlcyA9IGZpZWxkUnVsZXNbZmllbGROYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcmVzb2x2ZVZhbHVlKHZhbHVlcywgZmllbGROYW1lKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcnVsZSBvZiBydWxlcykge1xuICAgICAgICAgICAgICAgIGlmIChydWxlLnJlcXVpcmVkICYmXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPSBydWxlLm1lc3NhZ2UgfHwgYCR7ZmllbGROYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocnVsZS5taW4gJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPCBydWxlLm1pbikge1xuICAgICAgICAgICAgICAgICAgICBuZXdFcnJvcnNbZmllbGROYW1lXSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBydWxlLm1lc3NhZ2UgfHwgYCR7ZmllbGROYW1lfSBtdXN0IGJlIGF0IGxlYXN0ICR7cnVsZS5taW59IGNoYXJhY3RlcnNgO1xuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJ1bGUubWF4ICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gcnVsZS5tYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5tZXNzYWdlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZmllbGROYW1lfSBtdXN0IGJlIG5vIG1vcmUgdGhhbiAke3J1bGUubWF4fSBjaGFyYWN0ZXJzYDtcbiAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChydWxlLnBhdHRlcm4gJiZcbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICAgICAgICAhcnVsZS5wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0Vycm9yc1tmaWVsZE5hbWVdID0gcnVsZS5tZXNzYWdlIHx8IGAke2ZpZWxkTmFtZX0gZm9ybWF0IGlzIGludmFsaWRgO1xuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJ1bGUudmFsaWRhdG9yICYmIHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcnVsZS52YWxpZGF0b3IodmFsdWUsIHZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlICYmIHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RXJyb3JzW2ZpZWxkTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJyA/IHJlc3VsdCA6ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdFcnJvcnNbZmllbGROYW1lXSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdWYWxpZGF0aW9uIGVycm9yJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHNldEVycm9ycyhuZXdFcnJvcnMpO1xuICAgICAgICBpZiAoIWhhc0Vycm9ycykge1xuICAgICAgICAgICAgb25GaW5pc2ggPT09IG51bGwgfHwgb25GaW5pc2ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRmluaXNoKHZhbHVlcyk7XG4gICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCB2YWx1ZXMgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG9uRmluaXNoRmFpbGVkID09PSBudWxsIHx8IG9uRmluaXNoRmFpbGVkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZpbmlzaEZhaWxlZCh7IHZhbHVlcywgZXJyb3JzOiBuZXdFcnJvcnMgfSk7XG4gICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3JzOiBuZXdFcnJvcnMgfTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybiBoYW5kbGVTdWJtaXRJbnRlcm5hbCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc2V0RmllbGRzID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHNldFZhbHVlcyhpbml0aWFsVmFsdWVzKTtcbiAgICAgICAgc2V0RXJyb3JzKHt9KTtcbiAgICAgICAgc2V0VG91Y2hlZCh7fSk7XG4gICAgICAgIG9uUmVzZXQgPT09IG51bGwgfHwgb25SZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25SZXNldCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlc2V0ID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICBlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmVzZXRGaWVsZHMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBnZXRGaWVsZFZhbHVlID0gdXNlTWVtb2l6ZWRGbigobmFtZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVZhbHVlKHZhbHVlcywgbmFtZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0RmllbGRzVmFsdWUgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGaWVsZHNWYWx1ZSA9IHVzZU1lbW9pemVkRm4oKG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICBzZXRWYWx1ZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXYpLCBuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgb25WYWx1ZXNDaGFuZ2UgPT09IG51bGwgfHwgb25WYWx1ZXNDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uVmFsdWVzQ2hhbmdlKG5ld1ZhbHVlcywgdXBkYXRlZFZhbHVlcyk7XG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZFZhbHVlcztcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgZm9ybUluc3RhbmNlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBzdWJtaXQ6IGhhbmRsZVN1Ym1pdEludGVybmFsLFxuICAgICAgICByZXNldEZpZWxkcyxcbiAgICAgICAgZ2V0RmllbGRWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRzVmFsdWUsXG4gICAgICAgIHNldEZpZWxkc1ZhbHVlLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICB2YWxpZGF0ZUZpZWxkcyxcbiAgICB9KSwgW1xuICAgICAgICBoYW5kbGVTdWJtaXRJbnRlcm5hbCxcbiAgICAgICAgcmVzZXRGaWVsZHMsXG4gICAgICAgIGdldEZpZWxkVmFsdWUsXG4gICAgICAgIGdldEZpZWxkc1ZhbHVlLFxuICAgICAgICBzZXRGaWVsZHNWYWx1ZSxcbiAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgdmFsaWRhdGVGaWVsZHMsXG4gICAgXSk7XG4gICAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICB2YWx1ZXMsXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgdG91Y2hlZCxcbiAgICAgICAgZm9ybUluc3RhbmNlLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICBzZXRGaWVsZEVycm9yLFxuICAgICAgICB2YWxpZGF0ZUZpZWxkLFxuICAgICAgICByZWdpc3RlckZpZWxkLFxuICAgICAgICB1bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBjb2xvbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSksIFtcbiAgICAgICAgdmFsdWVzLFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIHRvdWNoZWQsXG4gICAgICAgIGZvcm1JbnN0YW5jZSxcbiAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgc2V0RmllbGRFcnJvcixcbiAgICAgICAgdmFsaWRhdGVGaWVsZCxcbiAgICAgICAgcmVnaXN0ZXJGaWVsZCxcbiAgICAgICAgdW5yZWdpc3RlckZpZWxkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgY29sb24sXG4gICAgICAgIHJlcXVpcmVkTWFyayxcbiAgICAgICAgdmFsaWRhdGVUcmlnZ2VyLFxuICAgIF0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlcyxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgICB0b3VjaGVkLFxuICAgICAgICBmaWVsZFJ1bGVzLFxuICAgICAgICBnZXRGaWVsZFJ1bGVzLFxuICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICBzZXRGaWVsZEVycm9yLFxuICAgICAgICBzZXRGaWVsZHNWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRWYWx1ZSxcbiAgICAgICAgZ2V0RmllbGRzVmFsdWUsXG4gICAgICAgIHZhbGlkYXRlRmllbGQsXG4gICAgICAgIHZhbGlkYXRlRmllbGRzLFxuICAgICAgICByZWdpc3RlckZpZWxkLFxuICAgICAgICB1bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIGhhbmRsZVN1Ym1pdCxcbiAgICAgICAgaGFuZGxlUmVzZXQsXG4gICAgICAgIHJlc2V0RmllbGRzLFxuICAgICAgICBmb3JtSW5zdGFuY2UsXG4gICAgICAgIGNvbnRleHRWYWx1ZSxcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IHVzZUZvcm1Db3JlOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,10 +0,0 @@
1
- import { FormItem } from './FormItem';
2
- import { useFormContext, useFormInstance } from './context';
3
- import { useForm } from './hooks/useForm';
4
- import { useFormCore } from './hooks/useFormCore';
5
- import type { FormComponent } from './interface';
6
- declare const Form: FormComponent;
7
- export { Form, FormItem, useForm, useFormContext, useFormInstance, useFormCore };
8
- export default Form;
9
- export * from './interface';
10
- export * from './constants';
@@ -1,17 +0,0 @@
1
- import { Form as FormBase } from './Form';
2
- import { FormItem } from './FormItem';
3
- import { useFormContext, useFormInstance } from './context';
4
- import { useForm } from './hooks/useForm';
5
- import { useFormCore } from './hooks/useFormCore';
6
- var Form = Object.assign(FormBase, {
7
- Item: FormItem,
8
- useForm: useForm,
9
- useFormContext: useFormContext,
10
- useFormInstance: useFormInstance,
11
- useFormCore: useFormCore
12
- });
13
- export { Form, FormItem, useForm, useFormContext, useFormInstance, useFormCore };
14
- export default Form;
15
- export * from './interface';
16
- export * from './constants';
17
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJGb3JtIiwiRm9ybUJhc2UiLCJGb3JtSXRlbSIsInVzZUZvcm1Db250ZXh0IiwidXNlRm9ybUluc3RhbmNlIiwidXNlRm9ybSIsInVzZUZvcm1Db3JlIiwiT2JqZWN0IiwiYXNzaWduIiwiSXRlbSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsSUFBSSxJQUFJQyxRQUFRLFFBQVEsUUFBUTtBQUN6QyxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUNyQyxTQUFTQyxjQUFjLEVBQUVDLGVBQWUsUUFBUSxXQUFXO0FBQzNELFNBQVNDLE9BQU8sUUFBUSxpQkFBaUI7QUFDekMsU0FBU0MsV0FBVyxRQUFRLHFCQUFxQjtBQUdqRCxJQUFNTixJQUFJLEdBQUdPLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDUCxRQUFRLEVBQUU7RUFDbkNRLElBQUksRUFBRVAsUUFBUTtFQUNkRyxPQUFPLEVBQVBBLE9BQU87RUFDUEYsY0FBYyxFQUFkQSxjQUFjO0VBQ2RDLGVBQWUsRUFBZkEsZUFBZTtFQUNmRSxXQUFXLEVBQVhBO0FDREYsQ0RFQyxDQUE2QjtBQUU5QixTQUFTTixJQUFJLEVBQUVFLFFBQVEsRUFBRUcsT0FBTyxFQUFFRixjQUFjLEVBQUVDLGVBQWUsRUFBRUUsV0FBVztBQUM5RSxlQUFlTixJQUFJO0FBQ25CLGNBQWMsYUFBYTtBQUMzQixjQUFjLGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBGb3JtIGFzIEZvcm1CYXNlIH0gZnJvbSAnLi9Gb3JtJztcbmltcG9ydCB7IEZvcm1JdGVtIH0gZnJvbSAnLi9Gb3JtSXRlbSc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuL2hvb2tzL3VzZUZvcm0nO1xuaW1wb3J0IHsgdXNlRm9ybUNvcmUgfSBmcm9tICcuL2hvb2tzL3VzZUZvcm1Db3JlJztcbmNvbnN0IEZvcm0gPSBPYmplY3QuYXNzaWduKEZvcm1CYXNlLCB7XG4gICAgSXRlbTogRm9ybUl0ZW0sXG4gICAgdXNlRm9ybSxcbiAgICB1c2VGb3JtQ29udGV4dCxcbiAgICB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlRm9ybUNvcmUsXG59KTtcbmV4cG9ydCB7IEZvcm0sIEZvcm1JdGVtLCB1c2VGb3JtLCB1c2VGb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtQ29yZSB9O1xuZXhwb3J0IGRlZmF1bHQgRm9ybTtcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1 +0,0 @@
1
- .om-component-ui-form{width:100%}.om-component-ui-form-item{margin-bottom:var(--om-spacing-300,12px)}.om-component-ui-form-item-label-wrapper-vertical,.om-component-ui-form-item-small{margin-bottom:var(--om-spacing-200,8px)}.om-component-ui-form-item-label{display:inline;padding:0}.om-component-ui-form-item-label-required:before{margin-right:var(--om-spacing-050,2px);color:var(--om-text-danger,#ae0000);content:"*"}.om-component-ui-form-item-label-wrapper-left{text-align:left}.om-component-ui-form-item-label-wrapper-right{text-align:right}.om-component-ui-form-item-error,.om-component-ui-form-item-help{margin-top:var(--om-spacing-050,2px)}
@@ -1,2 +0,0 @@
1
- import './Form.css';
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1 +0,0 @@
1
- import './Form.css';
@@ -1,2 +0,0 @@
1
- import './Form.css';
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9zcmMvY29tcG9uZW50cy9Gb3JtL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,4 +0,0 @@
1
- import type { ModalProps } from './interface';
2
- import './style';
3
- export declare const Modal: import("react").NamedExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
4
- export default Modal;