@1money/component-ui 0.0.70 → 0.0.73

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 (247) hide show
  1. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +3 -2
  2. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +2 -2
  3. package/es/business/Select/Network/NetworkSelect.js +2 -2
  4. package/es/components/Accordion/Accordion.js +3 -2
  5. package/es/components/Calendar/Calendar.js +3 -2
  6. package/es/components/Carousel/Carousel.js +3 -2
  7. package/es/components/Checkbox/BaseCheckbox.js +3 -2
  8. package/es/components/Checkbox/Checkbox.js +2 -2
  9. package/es/components/Checkbox/CheckboxGroup.js +3 -2
  10. package/es/components/CoachMark/CoachMark.js +3 -2
  11. package/es/components/Copy/Copy.js +2 -2
  12. package/es/components/Dialog/Dialog.js +2 -2
  13. package/es/components/Drawer/Drawer.js +2 -2
  14. package/es/components/Input/Amount/Amount.js +2 -2
  15. package/es/components/Input/Input/Input.js +3 -2
  16. package/es/components/Input/Mask/Mask.js +3 -2
  17. package/es/components/Input/OTP/OTP.js +3 -2
  18. package/es/components/Input/Password/Password.js +3 -2
  19. package/es/components/Input/Search/Search.js +3 -2
  20. package/es/components/Input/TextArea/TextArea.js +3 -2
  21. package/es/components/Input/Trade/Trade.js +2 -2
  22. package/es/components/Input/useAmountInput.js +4 -2
  23. package/es/components/Input/useSyncRef.js +2 -2
  24. package/es/components/Navigation/Nav.js +2 -2
  25. package/es/components/Navigation/Navigation.js +5 -2
  26. package/es/components/Pagination/Pagination.js +2 -2
  27. package/es/components/Pagination/usePagination.js +3 -2
  28. package/es/components/Popconfirm/Popconfirm.js +2 -2
  29. package/es/components/Portal/Portal.js +2 -2
  30. package/es/components/ProForm/ProForm.d.ts +10 -2
  31. package/es/components/ProForm/ProForm.js +60 -24
  32. package/es/components/ProForm/ProFormDependency.js +4 -1
  33. package/es/components/ProForm/ProFormGroup.js +2 -2
  34. package/es/components/ProForm/ProFormItem.js +73 -36
  35. package/es/components/ProForm/ProFormList.js +3 -2
  36. package/es/components/ProForm/SchemaForm.d.ts +7 -0
  37. package/es/components/ProForm/SchemaForm.js +103 -0
  38. package/es/components/ProForm/Submitter.js +13 -3
  39. package/es/components/ProForm/context.d.ts +22 -3
  40. package/es/components/ProForm/context.js +49 -10
  41. package/es/components/ProForm/core/constants.d.ts +8 -1
  42. package/es/components/ProForm/core/constants.js +9 -6
  43. package/es/components/ProForm/core/hooks/useForm.js +174 -320
  44. package/es/components/ProForm/core/hooks/useFormCore.js +84 -178
  45. package/es/components/ProForm/core/interface.d.ts +33 -12
  46. package/es/components/ProForm/core/pathUtils.d.ts +6 -0
  47. package/es/components/ProForm/core/pathUtils.js +59 -0
  48. package/es/components/ProForm/core/runRules.d.ts +23 -0
  49. package/es/components/ProForm/core/runRules.js +233 -0
  50. package/es/components/ProForm/core/useFormItem.d.ts +10 -1
  51. package/es/components/ProForm/core/useFormItem.js +105 -61
  52. package/es/components/ProForm/fields/ProFormDatePicker.js +4 -1
  53. package/es/components/ProForm/fields/createProFormField.js +64 -59
  54. package/es/components/ProForm/hooks/useFieldRequest.js +7 -5
  55. package/es/components/ProForm/index.d.ts +11 -4
  56. package/es/components/ProForm/index.js +7 -2
  57. package/es/components/ProForm/interface.d.ts +89 -14
  58. package/es/components/ProForm/layouts/DialogForm.d.ts +5 -1
  59. package/es/components/ProForm/layouts/DialogForm.js +2 -1
  60. package/es/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  61. package/es/components/ProForm/layouts/DrawerForm.js +2 -1
  62. package/es/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  63. package/es/components/ProForm/layouts/QueryFilter.js +79 -13
  64. package/es/components/ProForm/layouts/useOverlayForm.js +23 -21
  65. package/es/components/ProForm/style/ProForm.css +6 -0
  66. package/es/components/ProForm/utils.d.ts +14 -3
  67. package/es/components/ProForm/utils.js +73 -70
  68. package/es/components/ProTable/ProTable.js +3 -2
  69. package/es/components/ProTable/core/useAwaitableReload.js +3 -2
  70. package/es/components/ProTable/useFetchData.js +4 -2
  71. package/es/components/Radio/Radio.js +3 -2
  72. package/es/components/Radio/RadioGroup.js +3 -2
  73. package/es/components/ResizeObserver/useResizeObserver.js +2 -2
  74. package/es/components/Segment/Segment.js +4 -2
  75. package/es/components/Select/Select.js +3 -2
  76. package/es/components/Select/SelectCustom.js +2 -2
  77. package/es/components/Select/useSelectShell.js +3 -2
  78. package/es/components/Slider/Slider.js +3 -2
  79. package/es/components/Switch/Switch.js +3 -2
  80. package/es/components/Table/Table.js +14 -28
  81. package/es/components/Table/VirtualTable.js +18 -28
  82. package/es/components/Table/core/columnUtil.d.ts +9 -0
  83. package/es/components/Table/core/columnUtil.js +34 -0
  84. package/es/components/Table/core/useTableColumns.d.ts +4 -13
  85. package/es/components/Table/core/useTableColumns.js +55 -24
  86. package/es/components/Table/core/useTableDataPipeline.d.ts +11 -16
  87. package/es/components/Table/core/useTableDataPipeline.js +66 -73
  88. package/es/components/Table/core/useTableExpand.js +3 -2
  89. package/es/components/Table/core/useTableSelection.js +7 -4
  90. package/es/components/Table/core/useTableSetup.js +4 -2
  91. package/es/components/Table/features/ExpandTrigger.d.ts +9 -3
  92. package/es/components/Table/features/ExpandTrigger.js +14 -8
  93. package/es/components/Table/features/FilterTrigger.js +21 -17
  94. package/es/components/Table/features/SelectionColumn.d.ts +11 -6
  95. package/es/components/Table/features/SelectionColumn.js +12 -5
  96. package/es/components/Table/features/SortTrigger.d.ts +4 -2
  97. package/es/components/Table/features/SortTrigger.js +8 -3
  98. package/es/components/Table/internal/kernel/Body/MeasureCell.js +2 -2
  99. package/es/components/Table/internal/kernel/Cell/index.js +2 -2
  100. package/es/components/Table/internal/kernel/Table.js +3 -3
  101. package/es/components/Table/internal/kernel/VirtualTable/index.js +2 -2
  102. package/es/components/Table/internal/kernel/hooks/useRowInfo.js +2 -2
  103. package/es/components/Table/internal/kernel/selector-context/context.js +3 -3
  104. package/es/components/Table/renderers/HeaderCell.js +3 -2
  105. package/es/components/Table/renderers/TableShell.d.ts +13 -0
  106. package/es/components/Table/renderers/TableShell.js +25 -0
  107. package/es/components/Table/style/Table.css +3 -0
  108. package/es/components/Tabs/Tabs.js +4 -2
  109. package/es/components/Tooltip/Tooltip.js +3 -2
  110. package/es/components/Tooltip/style/Tooltip.css +1 -0
  111. package/es/components/Tour/Tour.js +3 -2
  112. package/es/components/Trigger/Trigger.js +3 -2
  113. package/es/components/Typography/Typography.js +2 -2
  114. package/es/components/Typography/useTypographyEnhancements.js +3 -2
  115. package/es/components/Upload/Upload.js +2 -2
  116. package/es/components/Upload/UploadFileBar.js +2 -2
  117. package/es/components/VirtualList/VirtualList.js +3 -2
  118. package/es/components/VirtualList/hooks/useMobileTouchMove.js +2 -2
  119. package/es/components/VirtualList/hooks/useScrollTo.js +2 -2
  120. package/es/index.css +1 -1
  121. package/es/index.d.ts +2 -2
  122. package/es/index.js +2 -2
  123. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +9 -8
  124. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +3 -3
  125. package/lib/business/Select/Network/NetworkSelect.js +3 -3
  126. package/lib/components/Accordion/Accordion.js +5 -4
  127. package/lib/components/Calendar/Calendar.js +6 -5
  128. package/lib/components/Carousel/Carousel.js +5 -4
  129. package/lib/components/Checkbox/BaseCheckbox.js +5 -4
  130. package/lib/components/Checkbox/Checkbox.js +3 -3
  131. package/lib/components/Checkbox/CheckboxGroup.js +7 -6
  132. package/lib/components/CoachMark/CoachMark.js +7 -6
  133. package/lib/components/Copy/Copy.js +3 -3
  134. package/lib/components/Dialog/Dialog.js +6 -6
  135. package/lib/components/Drawer/Drawer.js +10 -10
  136. package/lib/components/Input/Amount/Amount.js +6 -5
  137. package/lib/components/Input/Input/Input.js +7 -6
  138. package/lib/components/Input/Mask/Mask.js +9 -8
  139. package/lib/components/Input/OTP/OTP.js +9 -8
  140. package/lib/components/Input/Password/Password.js +6 -5
  141. package/lib/components/Input/Search/Search.js +8 -7
  142. package/lib/components/Input/TextArea/TextArea.js +5 -4
  143. package/lib/components/Input/Trade/Trade.js +5 -4
  144. package/lib/components/Input/useAmountInput.js +13 -11
  145. package/lib/components/Input/useSyncRef.js +4 -3
  146. package/lib/components/Navigation/Nav.js +3 -3
  147. package/lib/components/Navigation/Navigation.js +10 -7
  148. package/lib/components/Pagination/Pagination.js +4 -3
  149. package/lib/components/Pagination/usePagination.js +7 -6
  150. package/lib/components/Popconfirm/Popconfirm.js +3 -3
  151. package/lib/components/Portal/Portal.js +4 -4
  152. package/lib/components/ProForm/ProForm.d.ts +10 -2
  153. package/lib/components/ProForm/ProForm.js +66 -30
  154. package/lib/components/ProForm/ProFormDependency.js +4 -1
  155. package/lib/components/ProForm/ProFormGroup.js +3 -3
  156. package/lib/components/ProForm/ProFormItem.js +72 -34
  157. package/lib/components/ProForm/ProFormList.js +10 -9
  158. package/lib/components/ProForm/SchemaForm.d.ts +7 -0
  159. package/lib/components/ProForm/SchemaForm.js +110 -0
  160. package/lib/components/ProForm/Submitter.js +15 -5
  161. package/lib/components/ProForm/context.d.ts +22 -3
  162. package/lib/components/ProForm/context.js +49 -10
  163. package/lib/components/ProForm/core/constants.d.ts +8 -1
  164. package/lib/components/ProForm/core/constants.js +10 -7
  165. package/lib/components/ProForm/core/hooks/useForm.js +181 -327
  166. package/lib/components/ProForm/core/hooks/useFormCore.js +96 -190
  167. package/lib/components/ProForm/core/interface.d.ts +33 -12
  168. package/lib/components/ProForm/core/pathUtils.d.ts +6 -0
  169. package/lib/components/ProForm/core/pathUtils.js +68 -0
  170. package/lib/components/ProForm/core/runRules.d.ts +23 -0
  171. package/lib/components/ProForm/core/runRules.js +242 -0
  172. package/lib/components/ProForm/core/useFormItem.d.ts +10 -1
  173. package/lib/components/ProForm/core/useFormItem.js +106 -62
  174. package/lib/components/ProForm/fields/ProFormDatePicker.js +4 -1
  175. package/lib/components/ProForm/fields/createProFormField.js +63 -58
  176. package/lib/components/ProForm/hooks/useFieldRequest.js +9 -7
  177. package/lib/components/ProForm/index.d.ts +11 -4
  178. package/lib/components/ProForm/index.js +16 -1
  179. package/lib/components/ProForm/interface.d.ts +89 -14
  180. package/lib/components/ProForm/layouts/DialogForm.d.ts +5 -1
  181. package/lib/components/ProForm/layouts/DialogForm.js +2 -1
  182. package/lib/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  183. package/lib/components/ProForm/layouts/DrawerForm.js +2 -1
  184. package/lib/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  185. package/lib/components/ProForm/layouts/QueryFilter.js +84 -18
  186. package/lib/components/ProForm/layouts/useOverlayForm.js +27 -27
  187. package/lib/components/ProForm/style/ProForm.css +6 -0
  188. package/lib/components/ProForm/utils.d.ts +14 -3
  189. package/lib/components/ProForm/utils.js +91 -74
  190. package/lib/components/ProTable/ProTable.js +10 -9
  191. package/lib/components/ProTable/core/useAwaitableReload.js +6 -5
  192. package/lib/components/ProTable/useFetchData.js +15 -13
  193. package/lib/components/Radio/Radio.js +6 -5
  194. package/lib/components/Radio/RadioGroup.js +5 -4
  195. package/lib/components/ResizeObserver/useResizeObserver.js +4 -3
  196. package/lib/components/Segment/Segment.js +7 -5
  197. package/lib/components/Select/Select.js +23 -22
  198. package/lib/components/Select/SelectCustom.js +8 -8
  199. package/lib/components/Select/useSelectShell.js +5 -4
  200. package/lib/components/Slider/Slider.js +6 -5
  201. package/lib/components/Switch/Switch.js +5 -4
  202. package/lib/components/Table/Table.js +13 -27
  203. package/lib/components/Table/VirtualTable.js +17 -27
  204. package/lib/components/Table/core/columnUtil.d.ts +9 -0
  205. package/lib/components/Table/core/columnUtil.js +42 -0
  206. package/lib/components/Table/core/useTableColumns.d.ts +4 -13
  207. package/lib/components/Table/core/useTableColumns.js +57 -26
  208. package/lib/components/Table/core/useTableDataPipeline.d.ts +11 -16
  209. package/lib/components/Table/core/useTableDataPipeline.js +73 -80
  210. package/lib/components/Table/core/useTableExpand.js +6 -5
  211. package/lib/components/Table/core/useTableSelection.js +13 -10
  212. package/lib/components/Table/core/useTableSetup.js +8 -5
  213. package/lib/components/Table/features/ExpandTrigger.d.ts +9 -3
  214. package/lib/components/Table/features/ExpandTrigger.js +14 -8
  215. package/lib/components/Table/features/FilterTrigger.js +21 -17
  216. package/lib/components/Table/features/SelectionColumn.d.ts +11 -6
  217. package/lib/components/Table/features/SelectionColumn.js +12 -5
  218. package/lib/components/Table/features/SortTrigger.d.ts +4 -2
  219. package/lib/components/Table/features/SortTrigger.js +8 -3
  220. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +3 -3
  221. package/lib/components/Table/internal/kernel/Cell/index.js +4 -4
  222. package/lib/components/Table/internal/kernel/Table.js +7 -6
  223. package/lib/components/Table/internal/kernel/VirtualTable/index.js +4 -4
  224. package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +3 -3
  225. package/lib/components/Table/internal/kernel/selector-context/context.js +6 -5
  226. package/lib/components/Table/renderers/HeaderCell.js +3 -2
  227. package/lib/components/Table/renderers/TableShell.d.ts +13 -0
  228. package/lib/components/Table/renderers/TableShell.js +31 -0
  229. package/lib/components/Table/style/Table.css +3 -0
  230. package/lib/components/Tabs/Tabs.js +7 -5
  231. package/lib/components/Tooltip/Tooltip.js +5 -4
  232. package/lib/components/Tooltip/style/Tooltip.css +1 -0
  233. package/lib/components/Tour/Tour.js +7 -6
  234. package/lib/components/Trigger/Trigger.js +5 -4
  235. package/lib/components/Typography/Typography.js +5 -4
  236. package/lib/components/Typography/useTypographyEnhancements.js +8 -7
  237. package/lib/components/Upload/Upload.js +5 -4
  238. package/lib/components/Upload/UploadFileBar.js +4 -3
  239. package/lib/components/VirtualList/VirtualList.js +8 -7
  240. package/lib/components/VirtualList/hooks/useMobileTouchMove.js +4 -3
  241. package/lib/components/VirtualList/hooks/useScrollTo.js +3 -3
  242. package/lib/index.css +1 -1
  243. package/lib/index.d.ts +2 -2
  244. package/lib/index.js +13 -1
  245. package/package.json +2 -2
  246. package/scripts/mcp-server/examples.generated.json +54 -0
  247. package/scripts/mcp-server/index.generated.json +1212 -80
@@ -3,13 +3,23 @@ import type { FC, ReactNode } from 'react';
3
3
  import type { FormSize, FormLayout, LabelAlign, ValidateStatus, ValidateTrigger } from './constants';
4
4
  export type { FormSize, FormLayout, LabelAlign, ValidateStatus, ValidateTrigger, };
5
5
  export interface Rule {
6
+ /** Fails on undefined / null / '' / empty array */
6
7
  required?: boolean;
7
8
  message?: string;
9
+ /** For strings: min length; arrays: min item count; numbers: min value */
8
10
  min?: number;
11
+ /** For strings: max length; arrays: max item count; numbers: max value */
9
12
  max?: number;
10
13
  pattern?: RegExp;
11
14
  type?: 'number' | 'email' | 'url';
12
15
  enum?: unknown[];
16
+ /** A failing rule produces a non-blocking warning instead of an error */
17
+ warningOnly?: boolean;
18
+ /**
19
+ * Run this rule only on the given interactive trigger(s); rules without it
20
+ * follow the form-level validateTrigger. Submit always runs every rule.
21
+ */
22
+ validateTrigger?: ValidateTrigger | ValidateTrigger[];
13
23
  validator?: (value: unknown, values: Record<string, unknown>) => boolean | string | Promise<boolean | string>;
14
24
  }
15
25
  export interface FieldProps {
@@ -43,19 +53,24 @@ export interface FormCoreInstance {
43
53
  setFieldValue: (name: string, value: unknown) => void;
44
54
  validateFields: (fieldsRules?: Record<string, Rule[]>) => boolean;
45
55
  }
46
- /** Full form instance returned by useForm — extends FormCoreInstance with async validation, field helpers, etc. */
47
- export interface FormInstance {
56
+ /**
57
+ * Full form instance returned by useForm — extends FormCoreInstance with async
58
+ * validation, field helpers, etc. `Values` types the whole-form value shape
59
+ * (defaults to an open record for backward compatibility).
60
+ */
61
+ export interface FormInstance<Values = Record<string, unknown>> {
48
62
  getFieldValue: (name: string) => unknown;
49
- getFieldsValue: (nameList?: string[]) => Record<string, unknown>;
63
+ getFieldsValue: (nameList?: string[]) => Values;
50
64
  setFieldValue: (name: string, value: unknown) => void;
51
- setFieldsValue: (values: Record<string, unknown>) => void;
65
+ setFieldsValue: (values: Partial<Values>) => void;
52
66
  setFieldError: (name: string, error: string | null) => void;
53
67
  setFieldsError: (errors: Record<string, string>) => void;
54
68
  resetFields: (fields?: string[]) => void;
55
- validateFields: (nameList?: string[]) => Promise<Record<string, unknown>>;
56
- submit: (callback?: (values: Record<string, unknown>) => void | Promise<void>) => Promise<Record<string, unknown> | undefined>;
69
+ validateFields: (nameList?: string[]) => Promise<Values>;
70
+ submit: (callback?: (values: Values) => void | Promise<void>) => Promise<Values | undefined>;
57
71
  getFieldError: (name: string) => string | undefined;
58
72
  getFieldsError: (nameList?: string[]) => Record<string, string>;
73
+ getFieldWarning: (name: string) => string | undefined;
59
74
  isFieldTouched: (name: string) => boolean;
60
75
  isFieldsTouched: (nameList?: string[], allTouched?: boolean) => boolean;
61
76
  isFieldValidating: (name: string) => boolean;
@@ -70,14 +85,14 @@ export interface UseFormOptions {
70
85
  validateTrigger?: ValidateTrigger;
71
86
  rules?: Record<string, Rule[]>;
72
87
  }
73
- export interface UseFormCoreConfig {
74
- initialValues?: Record<string, unknown>;
75
- onFinish?: (values: Record<string, unknown>) => void;
88
+ export interface UseFormCoreConfig<Values = Record<string, unknown>> {
89
+ initialValues?: Partial<Values>;
90
+ onFinish?: (values: Values) => void;
76
91
  onFinishFailed?: (errorInfo: {
77
- values: Record<string, unknown>;
92
+ values: Values;
78
93
  errors: Record<string, string>;
79
94
  }) => void;
80
- onValuesChange?: (changedValues: Record<string, unknown>, allValues: Record<string, unknown>) => void;
95
+ onValuesChange?: (changedValues: Partial<Values>, allValues: Values) => void;
81
96
  onReset?: () => void;
82
97
  size?: FormSize;
83
98
  labelAlign?: LabelAlign;
@@ -90,10 +105,12 @@ export interface UseFormCoreConfig {
90
105
  export interface FormCoreContextShape {
91
106
  values: Record<string, unknown>;
92
107
  errors: Record<string, string>;
108
+ warnings: Record<string, string>;
93
109
  touched: Record<string, boolean>;
94
110
  formInstance: FormCoreInstance;
95
111
  setFieldValue: (name: string, value: unknown) => void;
96
112
  setFieldError: (name: string, error: string | null) => void;
113
+ setFieldWarning: (name: string, warning: string | null) => void;
97
114
  validateField: (name: string, rules: Rule[], providedValue?: unknown) => boolean;
98
115
  registerField: (name: string, rules: Rule[]) => void;
99
116
  unregisterField: (name: string) => void;
@@ -105,16 +122,18 @@ export interface FormCoreContextShape {
105
122
  validateTrigger: ValidateTrigger;
106
123
  }
107
124
  /** Config for useForm — accepts all UseFormCoreConfig fields */
108
- export type UseFormConfig = UseFormCoreConfig;
125
+ export type UseFormConfig<Values = Record<string, unknown>> = UseFormCoreConfig<Values>;
109
126
  /** Internal state exposed by useForm for ProForm integration */
110
127
  export interface UseFormInternals {
111
128
  values: Record<string, unknown>;
112
129
  errors: Record<string, string>;
130
+ warnings: Record<string, string>;
113
131
  touched: Record<string, boolean>;
114
132
  validating: Record<string, boolean>;
115
133
  fieldRules: Record<string, Rule[]>;
116
134
  setFieldValue: (name: string, value: unknown) => void;
117
135
  setFieldError: (name: string, error: string | null) => void;
136
+ setFieldWarning: (name: string, warning: string | null) => void;
118
137
  validateField: (name: string, rules: Rule[], providedValue?: unknown) => boolean;
119
138
  validateFieldAsync: (name: string, value: unknown, rules: Rule[]) => Promise<{
120
139
  isValid: boolean;
@@ -133,11 +152,13 @@ export interface UseFormReturn {
133
152
  export interface UseFormCoreReturn {
134
153
  values: Record<string, unknown>;
135
154
  errors: Record<string, string>;
155
+ warnings: Record<string, string>;
136
156
  touched: Record<string, boolean>;
137
157
  fieldRules: Record<string, Rule[]>;
138
158
  getFieldRules: (name: string) => Rule[] | undefined;
139
159
  setFieldValue: (name: string, value: unknown) => void;
140
160
  setFieldError: (name: string, error: string | null) => void;
161
+ setFieldWarning: (name: string, warning: string | null) => void;
141
162
  setFieldsValue: (values: Record<string, unknown>) => void;
142
163
  getFieldValue: (name: string) => unknown;
143
164
  getFieldsValue: () => Record<string, unknown>;
@@ -0,0 +1,6 @@
1
+ /** Read a dot-path value out of a nested object. Returns undefined if any segment is missing. */
2
+ export declare function getNestedValue(obj: Record<string, unknown>, path: string): unknown;
3
+ /** Immutably set a dot-path value, cloning each object/array along the path. */
4
+ export declare function setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): Record<string, unknown>;
5
+ /** Read a field value, taking the fast path for flat (non-dotted) names. */
6
+ export declare function resolveValue(values: Record<string, unknown>, name: string): unknown;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getNestedValue = getNestedValue;
8
+ exports.resolveValue = resolveValue;
9
+ exports.setNestedValue = setNestedValue;
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+ 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; } } }; }
14
+ 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; } }
15
+ 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; }
16
+ // ---------------------------------------------------------------------------
17
+ // Nested path helpers (dot-notation support, e.g. "items.0.title").
18
+ //
19
+ // Single source of truth — these were previously copy-pasted across
20
+ // useFormCore, useFormItem, useForm and utils.
21
+ // ---------------------------------------------------------------------------
22
+ /** Read a dot-path value out of a nested object. Returns undefined if any segment is missing. */
23
+ function getNestedValue(obj, path) {
24
+ var keys = path.split('.');
25
+ var current = obj;
26
+ var _iterator = _createForOfIteratorHelper(keys),
27
+ _step;
28
+ try {
29
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
+ var key = _step.value;
31
+ if (current === null || current === undefined || (0, _typeof2["default"])(current) !== 'object') return undefined;
32
+ current = current[key];
33
+ }
34
+ } catch (err) {
35
+ _iterator.e(err);
36
+ } finally {
37
+ _iterator.f();
38
+ }
39
+ return current;
40
+ }
41
+ /** Immutably set a dot-path value, cloning each object/array along the path. */
42
+ function setNestedValue(obj, path, value) {
43
+ var keys = path.split('.');
44
+ if (keys.length === 1) return Object.assign(Object.assign({}, obj), (0, _defineProperty2["default"])({}, path, value));
45
+ var result = Object.assign({}, obj);
46
+ var current = result;
47
+ for (var i = 0; i < keys.length - 1; i++) {
48
+ var key = keys[i];
49
+ var nextKey = keys[i + 1];
50
+ var isNextArray = /^\d+$/.test(nextKey);
51
+ if (current[key] === undefined || current[key] === null) {
52
+ current[key] = isNextArray ? [] : {};
53
+ }
54
+ if (Array.isArray(current[key])) {
55
+ current[key] = (0, _toConsumableArray2["default"])(current[key]);
56
+ } else {
57
+ current[key] = Object.assign({}, current[key]);
58
+ }
59
+ current = current[key];
60
+ }
61
+ current[keys[keys.length - 1]] = value;
62
+ return result;
63
+ }
64
+ /** Read a field value, taking the fast path for flat (non-dotted) names. */
65
+ function resolveValue(values, name) {
66
+ return name.includes('.') ? getNestedValue(values, name) : values[name];
67
+ }
68
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvcGF0aFV0aWxzLnRzIl0sIm5hbWVzIjpbImdldE5lc3RlZFZhbHVlIiwib2JqIiwicGF0aCIsImtleXMiLCJzcGxpdCIsImN1cnJlbnQiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwia2V5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJfdHlwZW9mMiIsImVyciIsImUiLCJmIiwic2V0TmVzdGVkVmFsdWUiLCJsZW5ndGgiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkyIiwicmVzdWx0IiwiaSIsIm5leHRLZXkiLCJpc05leHRBcnJheSIsInRlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwicmVzb2x2ZVZhbHVlIiwidmFsdWVzIiwibmFtZSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNNLFNBQVVBLGNBQWNBLENBQUNDLEdBQTRCLEVBQUVDLElBQVksRUFBQTtFQUN2RSxJQUFNQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUM1QixJQUFJQyxPQUFPLEdBQVlKLEdBQUc7RUFBQyxJQUFBSyxTQUFBLEdBQUFDLDBCQUFBLENBQ1RKLElBQUk7SUFBQUssS0FBQTtFQUFBO0lBQXRCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBQyxJQUFBLEdBQXdCO01BQUEsSUFBYkMsR0FBRyxHQUFBSixLQUFBLENBQUFLLEtBQUE7TUFDWixJQUFJUixPQUFPLEtBQUssSUFBSSxJQUFJQSxPQUFPLEtBQUtTLFNBQVMsSUFBSSxJQUFBQyxRQUFBLGFBQU9WLE9BQU8sTUFBSyxRQUFRLEVBQUUsT0FBT1MsU0FBUztNQUM5RlQsT0FBTyxHQUFJQSxPQUFtQyxDQUFDTyxHQUFHLENBQUM7SUFDckQ7RUFBQyxTQUFBSSxHQUFBO0lBQUFWLFNBQUEsQ0FBQVcsQ0FBQSxDQUFBRCxHQUFBO0VBQUE7SUFBQVYsU0FBQSxDQUFBWSxDQUFBO0VBQUE7RUFDRCxPQUFPYixPQUFPO0FBQ2hCO0FBRUE7QUFDTSxTQUFVYyxjQUFjQSxDQUM1QmxCLEdBQTRCLEVBQzVCQyxJQUFZLEVBQ1pXLEtBQWMsRUFBQTtFQUVkLElBQU1WLElBQUksR0FBR0QsSUFBSSxDQUFDRSxLQUFLLENBQUMsR0FBRyxDQUFDO0VBQzVCLElBQUlELElBQUksQ0FBQ2lCLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFZckIsR0FBRyxDQUFBLE1BQUFzQixnQkFBQSxpQkFBR3JCLElBQUksRUFBR1csS0FBSyxDQUFBLENBQUE7RUFFckQsSUFBTVcsTUFBTSxHQUFBSCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBUXJCLEdBQUcsQ0FBRTtFQUN6QixJQUFJSSxPQUFPLEdBQTRCbUIsTUFBTTtFQUM3QyxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3RCLElBQUksQ0FBQ2lCLE1BQU0sR0FBRyxDQUFDLEVBQUVLLENBQUMsRUFBRSxFQUFFO0lBQ3hDLElBQU1iLEdBQUcsR0FBR1QsSUFBSSxDQUFDc0IsQ0FBQyxDQUFDO0lBQ25CLElBQU1DLE9BQU8sR0FBR3ZCLElBQUksQ0FBQ3NCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsSUFBTUUsV0FBVyxHQUFHLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDRixPQUFPLENBQUM7SUFDekMsSUFBSXJCLE9BQU8sQ0FBQ08sR0FBRyxDQUFDLEtBQUtFLFNBQVMsSUFBSVQsT0FBTyxDQUFDTyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7TUFDdkRQLE9BQU8sQ0FBQ08sR0FBRyxDQUFDLEdBQUdlLFdBQVcsR0FBRyxFQUFFLEdBQUcsQ0FBQSxDQUFFO0lBQ3RDO0lBQ0EsSUFBSUUsS0FBSyxDQUFDQyxPQUFPLENBQUN6QixPQUFPLENBQUNPLEdBQUcsQ0FBQyxDQUFDLEVBQUU7TUFDL0JQLE9BQU8sQ0FBQ08sR0FBRyxDQUFDLE9BQUFtQixtQkFBQSxhQUFRMUIsT0FBTyxDQUFDTyxHQUFHLENBQWUsQ0FBQztJQUNqRCxDQUFDLE1BQU07TUFDTFAsT0FBTyxDQUFDTyxHQUFHLENBQUMsR0FBQVMsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVNqQixPQUFPLENBQUNPLEdBQUcsQ0FBNkIsQ0FBRTtJQUNqRTtJQUNBUCxPQUFPLEdBQUdBLE9BQU8sQ0FBQ08sR0FBRyxDQUE0QjtFQUNuRDtFQUNBUCxPQUFPLENBQUNGLElBQUksQ0FBQ0EsSUFBSSxDQUFDaUIsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUdQLEtBQUs7RUFDdEMsT0FBT1csTUFBTTtBQUNmO0FBRUE7QUFDTSxTQUFVUSxZQUFZQSxDQUFDQyxNQUErQixFQUFFQyxJQUFZLEVBQUE7RUFDeEUsT0FBT0EsSUFBSSxDQUFDQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUduQyxjQUFjLENBQUNpQyxNQUFNLEVBQUVDLElBQUksQ0FBQyxHQUFHRCxNQUFNLENBQUNDLElBQUksQ0FBQztBQUN6RSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS9wYXRoVXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,23 @@
1
+ import type { Rule, ValidateTrigger } from './interface';
2
+ export interface RuleRunResult {
3
+ error: string | null;
4
+ warning: string | null;
5
+ }
6
+ /**
7
+ * Filter rules applicable to an interactive trigger. A rule WITHOUT an
8
+ * explicit `validateTrigger` follows the form-level trigger; a rule WITH one
9
+ * runs on exactly those trigger(s), regardless of the form-level setting.
10
+ * Submit-time validation bypasses this filter and runs every rule.
11
+ */
12
+ export declare function filterRulesByTrigger(rules: Rule[], trigger: ValidateTrigger, formTrigger: ValidateTrigger): Rule[];
13
+ /**
14
+ * Synchronous rule run. Custom validators are invoked but NOT awaited — a
15
+ * promise-returning validator is treated as failing (matches the legacy sync
16
+ * `validateField` behaviour).
17
+ */
18
+ export declare function runRulesSync(name: string, value: unknown, values: Record<string, unknown>, rules: Rule[]): RuleRunResult;
19
+ /**
20
+ * Asynchronous rule run. Custom validators are awaited (sync or async). A
21
+ * validator returning `undefined` is treated as passing.
22
+ */
23
+ export declare function runRulesAsync(name: string, value: unknown, values: Record<string, unknown>, rules: Rule[]): Promise<RuleRunResult>;
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.filterRulesByTrigger = filterRulesByTrigger;
8
+ exports.runRulesAsync = runRulesAsync;
9
+ exports.runRulesSync = runRulesSync;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ 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; } } }; }
12
+ 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; } }
13
+ 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; }
14
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) {
16
+ return value instanceof P ? value : new P(function (resolve) {
17
+ resolve(value);
18
+ });
19
+ }
20
+ return new (P || (P = Promise))(function (resolve, reject) {
21
+ function fulfilled(value) {
22
+ try {
23
+ step(generator.next(value));
24
+ } catch (e) {
25
+ reject(e);
26
+ }
27
+ }
28
+ function rejected(value) {
29
+ try {
30
+ step(generator["throw"](value));
31
+ } catch (e) {
32
+ reject(e);
33
+ }
34
+ }
35
+ function step(result) {
36
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
37
+ }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ /** Empty for `required`: undefined / null / '' / empty array. */
42
+ function isEmptyValue(value) {
43
+ return value === undefined || value === null || value === '' || Array.isArray(value) && value.length === 0;
44
+ }
45
+ /**
46
+ * Filter rules applicable to an interactive trigger. A rule WITHOUT an
47
+ * explicit `validateTrigger` follows the form-level trigger; a rule WITH one
48
+ * runs on exactly those trigger(s), regardless of the form-level setting.
49
+ * Submit-time validation bypasses this filter and runs every rule.
50
+ */
51
+ function filterRulesByTrigger(rules, trigger, formTrigger) {
52
+ return rules.filter(function (rule) {
53
+ var ruleTrigger = rule.validateTrigger;
54
+ if (!ruleTrigger) return formTrigger === trigger;
55
+ return Array.isArray(ruleTrigger) ? ruleTrigger.includes(trigger) : ruleTrigger === trigger;
56
+ });
57
+ }
58
+ /**
59
+ * Evaluate every built-in (non-`validator`) rule kind for a single rule.
60
+ * Returns the error message for the first failing check, or null.
61
+ */
62
+ function checkBuiltinRules(rule, value, name) {
63
+ if (rule.required && isEmptyValue(value)) {
64
+ return rule.message || "".concat(name, " is required");
65
+ }
66
+ // min/max: string → length, array → item count, number → numeric value
67
+ if (rule.min !== undefined || rule.max !== undefined) {
68
+ var measured = null;
69
+ var unit = '';
70
+ if (typeof value === 'string') {
71
+ measured = value.length;
72
+ unit = ' characters';
73
+ } else if (Array.isArray(value)) {
74
+ measured = value.length;
75
+ unit = ' items';
76
+ } else if (typeof value === 'number' && !Number.isNaN(value)) {
77
+ measured = value;
78
+ }
79
+ if (measured !== null) {
80
+ if (rule.min !== undefined && measured < rule.min) {
81
+ return rule.message || "".concat(name, " must be at least ").concat(rule.min).concat(unit);
82
+ }
83
+ if (rule.max !== undefined && measured > rule.max) {
84
+ return rule.message || "".concat(name, " must be no more than ").concat(rule.max).concat(unit);
85
+ }
86
+ }
87
+ }
88
+ if (rule.pattern && typeof value === 'string' && !rule.pattern.test(value)) {
89
+ return rule.message || "".concat(name, " format is invalid");
90
+ }
91
+ if (rule["enum"] && Array.isArray(rule["enum"]) && value) {
92
+ if (!rule["enum"].includes(value)) {
93
+ return rule.message || "".concat(name, " must be one of ").concat(rule["enum"].join(', '));
94
+ }
95
+ }
96
+ if (rule.type === 'number' && value !== undefined && value !== null && value !== '') {
97
+ if (typeof value !== 'number' || isNaN(value)) {
98
+ return rule.message || "".concat(name, " must be a number");
99
+ }
100
+ }
101
+ if (rule.type === 'email' && value) {
102
+ var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
103
+ if (!emailPattern.test(String(value))) {
104
+ return rule.message || "".concat(name, " must be a valid email");
105
+ }
106
+ }
107
+ if (rule.type === 'url' && value) {
108
+ try {
109
+ new URL(String(value));
110
+ } catch (_a) {
111
+ return rule.message || "".concat(name, " must be a valid URL");
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ /**
117
+ * Synchronous rule run. Custom validators are invoked but NOT awaited — a
118
+ * promise-returning validator is treated as failing (matches the legacy sync
119
+ * `validateField` behaviour).
120
+ */
121
+ function runRulesSync(name, value, values, rules) {
122
+ var warning = null;
123
+ var _iterator = _createForOfIteratorHelper(rules),
124
+ _step;
125
+ try {
126
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
127
+ var rule = _step.value;
128
+ var failure = checkBuiltinRules(rule, value, name);
129
+ if (failure === null && typeof rule.validator === 'function') {
130
+ try {
131
+ var result = rule.validator(value, values);
132
+ if (result !== true) {
133
+ failure = typeof result === 'string' ? result : 'Validation failed';
134
+ }
135
+ } catch (err) {
136
+ failure = err instanceof Error ? err.message : 'Validation error';
137
+ }
138
+ }
139
+ if (failure !== null) {
140
+ if (rule.warningOnly) {
141
+ warning = warning !== null && warning !== void 0 ? warning : failure;
142
+ } else {
143
+ return {
144
+ error: failure,
145
+ warning: warning
146
+ };
147
+ }
148
+ }
149
+ }
150
+ } catch (err) {
151
+ _iterator.e(err);
152
+ } finally {
153
+ _iterator.f();
154
+ }
155
+ return {
156
+ error: null,
157
+ warning: warning
158
+ };
159
+ }
160
+ /**
161
+ * Asynchronous rule run. Custom validators are awaited (sync or async). A
162
+ * validator returning `undefined` is treated as passing.
163
+ */
164
+ function runRulesAsync(name, value, values, rules) {
165
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
166
+ var warning, _iterator2, _step2, rule, failure, result, _t, _t2;
167
+ return _regenerator["default"].wrap(function (_context) {
168
+ while (1) switch (_context.prev = _context.next) {
169
+ case 0:
170
+ warning = null;
171
+ _iterator2 = _createForOfIteratorHelper(rules);
172
+ _context.prev = 1;
173
+ _iterator2.s();
174
+ case 2:
175
+ if ((_step2 = _iterator2.n()).done) {
176
+ _context.next = 9;
177
+ break;
178
+ }
179
+ rule = _step2.value;
180
+ failure = checkBuiltinRules(rule, value, name);
181
+ if (!(failure === null && typeof rule.validator === 'function')) {
182
+ _context.next = 6;
183
+ break;
184
+ }
185
+ _context.prev = 3;
186
+ _context.next = 4;
187
+ return Promise.resolve(rule.validator(value, values));
188
+ case 4:
189
+ result = _context.sent;
190
+ if (result !== true && result !== undefined) {
191
+ failure = typeof result === 'string' ? result : 'Validation failed';
192
+ }
193
+ _context.next = 6;
194
+ break;
195
+ case 5:
196
+ _context.prev = 5;
197
+ _t = _context["catch"](3);
198
+ failure = _t instanceof Error ? _t.message : 'Validation error';
199
+ case 6:
200
+ if (!(failure !== null)) {
201
+ _context.next = 8;
202
+ break;
203
+ }
204
+ if (!rule.warningOnly) {
205
+ _context.next = 7;
206
+ break;
207
+ }
208
+ warning = warning !== null && warning !== void 0 ? warning : failure;
209
+ _context.next = 8;
210
+ break;
211
+ case 7:
212
+ return _context.abrupt("return", {
213
+ error: failure,
214
+ warning: warning
215
+ });
216
+ case 8:
217
+ _context.next = 2;
218
+ break;
219
+ case 9:
220
+ _context.next = 11;
221
+ break;
222
+ case 10:
223
+ _context.prev = 10;
224
+ _t2 = _context["catch"](1);
225
+ _iterator2.e(_t2);
226
+ case 11:
227
+ _context.prev = 11;
228
+ _iterator2.f();
229
+ return _context.finish(11);
230
+ case 12:
231
+ return _context.abrupt("return", {
232
+ error: null,
233
+ warning: warning
234
+ });
235
+ case 13:
236
+ case "end":
237
+ return _context.stop();
238
+ }
239
+ }, _callee, null, [[1, 10, 11, 12], [3, 5]]);
240
+ }));
241
+ }
242
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3J1blJ1bGVzLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS9ydW5SdWxlcy50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJpc0VtcHR5VmFsdWUiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsInJ1bGVzIiwidHJpZ2dlciIsImZvcm1UcmlnZ2VyIiwiZmlsdGVyIiwicnVsZSIsInJ1bGVUcmlnZ2VyIiwidmFsaWRhdGVUcmlnZ2VyIiwiaW5jbHVkZXMiLCJjaGVja0J1aWx0aW5SdWxlcyIsIm5hbWUiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJjb25jYXQiLCJtaW4iLCJtYXgiLCJtZWFzdXJlZCIsInVuaXQiLCJOdW1iZXIiLCJpc05hTiIsInBhdHRlcm4iLCJ0ZXN0Iiwiam9pbiIsInR5cGUiLCJlbWFpbFBhdHRlcm4iLCJTdHJpbmciLCJVUkwiLCJfYSIsInJ1blJ1bGVzU3luYyIsInZhbHVlcyIsIndhcm5pbmciLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJmYWlsdXJlIiwidmFsaWRhdG9yIiwiZXJyIiwiRXJyb3IiLCJ3YXJuaW5nT25seSIsImVycm9yIiwiZiIsInJ1blJ1bGVzQXN5bmMiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfdCIsIl90MiIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzZW50IiwiYWJydXB0IiwiZmluaXNoIiwic3RvcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFBSUEsQ0FBQ0ksTUFBTSxFQUFFO01BQUVBLE1BQU0sQ0FBQ0MsSUFBSSxHQUFHVCxPQUFPLENBQUNRLE1BQU0sQ0FBQ1QsS0FBSyxDQUFDLEdBQUdELEtBQUssQ0FBQ1UsTUFBTSxDQUFDVCxLQUFLLENBQUMsQ0FBQ1csSUFBSSxDQUFDUCxTQUFTLEVBQUVJLFFBQVEsQ0FBQztJQUFFO0lBQzdHSCxJQUFJLENBQUMsQ0FBQ1AsU0FBUyxHQUFHQSxTQUFTLENBQUNjLEtBQUssQ0FBQ2pCLE9BQU8sRUFBRUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLENBQUMsQ0FBQztBQUNOLENBQUM7QUNlRDtBQUNBLFNBQVNPLFlBQVlBLENBQUNiLEtBQWMsRUFBQTtFQUNsQyxPQUNFQSxLQUFLLEtBQUtjLFNBQVMsSUFDbkJkLEtBQUssS0FBSyxJQUFJLElBQ2RBLEtBQUssS0FBSyxFQUFFLElBQ1hlLEtBQUssQ0FBQ0MsT0FBTyxDQUFDaEIsS0FBSyxDQUFDLElBQUlBLEtBQUssQ0FBQ2lCLE1BQU0sS0FBSyxDQUFFO0FBRWhEO0FBRUE7QURoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2tCTSxTQUFVQyxvQkFBb0JBLENBQ2xDQyxLQUFhLEVBQ2JDLE9BQXdCLEVBQ3hCQyxXQUE0QixFQUFBO0VBRTVCLE9BQU9GLEtBQUssQ0FBQ0csTUFBTSxDQUFDLFVBQUNDLElBQUksRUFBSTtJQUMzQixJQUFNQyxXQUFXLEdBQUdELElBQUksQ0FBQ0UsZUFBZTtJQUN4QyxJQUFJLENBQUNELFdBQVcsRUFBRSxPQUFPSCxXQUFXLEtBQUtELE9BQU87SUFDaEQsT0FBT0wsS0FBSyxDQUFDQyxPQUFPLENBQUNRLFdBQVcsQ0FBQyxHQUM3QkEsV0FBVyxDQUFDRSxRQUFRLENBQUNOLE9BQU8sQ0FBQyxHQUM3QkksV0FBVyxLQUFLSixPQUFPO0VBQzdCLENBQUMsQ0FBQztBQUNKO0FBRUE7QURwQkE7QUFDQTtBQUNBO0FDc0JBLFNBQVNPLGlCQUFpQkEsQ0FBQ0osSUFBVSxFQUFFdkIsS0FBYyxFQUFFNEIsSUFBWSxFQUFBO0VBQ2pFLElBQUlMLElBQUksQ0FBQ00sUUFBUSxJQUFJaEIsWUFBWSxDQUFDYixLQUFLLENBQUMsRUFBRTtJQUN4QyxPQUFPdUIsSUFBSSxDQUFDTyxPQUFPLE9BQUFDLE1BQUEsQ0FBT0gsSUFBSSxpQkFBYztFQUM5QztFQUVBO0VBQ0EsSUFBSUwsSUFBSSxDQUFDUyxHQUFHLEtBQUtsQixTQUFTLElBQUlTLElBQUksQ0FBQ1UsR0FBRyxLQUFLbkIsU0FBUyxFQUFFO0lBQ3BELElBQUlvQixRQUFRLEdBQWtCLElBQUk7SUFDbEMsSUFBSUMsSUFBSSxHQUFHLEVBQUU7SUFDYixJQUFJLE9BQU9uQyxLQUFLLEtBQUssUUFBUSxFQUFFO01BQzdCa0MsUUFBUSxHQUFHbEMsS0FBSyxDQUFDaUIsTUFBTTtNQUN2QmtCLElBQUksR0FBRyxhQUFhO0lBQ3RCLENBQUMsTUFBTSxJQUFJcEIsS0FBSyxDQUFDQyxPQUFPLENBQUNoQixLQUFLLENBQUMsRUFBRTtNQUMvQmtDLFFBQVEsR0FBR2xDLEtBQUssQ0FBQ2lCLE1BQU07TUFDdkJrQixJQUFJLEdBQUcsUUFBUTtJQUNqQixDQUFDLE1BQU0sSUFBSSxPQUFPbkMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDb0MsTUFBTSxDQUFDQyxLQUFLLENBQUNyQyxLQUFLLENBQUMsRUFBRTtNQUM1RGtDLFFBQVEsR0FBR2xDLEtBQUs7SUFDbEI7SUFDQSxJQUFJa0MsUUFBUSxLQUFLLElBQUksRUFBRTtNQUNyQixJQUFJWCxJQUFJLENBQUNTLEdBQUcsS0FBS2xCLFNBQVMsSUFBSW9CLFFBQVEsR0FBR1gsSUFBSSxDQUFDUyxHQUFHLEVBQUU7UUFDakQsT0FBT1QsSUFBSSxDQUFDTyxPQUFPLE9BQUFDLE1BQUEsQ0FBT0gsSUFBSSx3QkFBQUcsTUFBQSxDQUFxQlIsSUFBSSxDQUFDUyxHQUFHLEVBQUFELE1BQUEsQ0FBR0ksSUFBSSxDQUFFO01BQ3RFO01BQ0EsSUFBSVosSUFBSSxDQUFDVSxHQUFHLEtBQUtuQixTQUFTLElBQUlvQixRQUFRLEdBQUdYLElBQUksQ0FBQ1UsR0FBRyxFQUFFO1FBQ2pELE9BQU9WLElBQUksQ0FBQ08sT0FBTyxPQUFBQyxNQUFBLENBQU9ILElBQUksNEJBQUFHLE1BQUEsQ0FBeUJSLElBQUksQ0FBQ1UsR0FBRyxFQUFBRixNQUFBLENBQUdJLElBQUksQ0FBRTtNQUMxRTtJQUNGO0VBQ0Y7RUFFQSxJQUFJWixJQUFJLENBQUNlLE9BQU8sSUFBSSxPQUFPdEMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDdUIsSUFBSSxDQUFDZSxPQUFPLENBQUNDLElBQUksQ0FBQ3ZDLEtBQUssQ0FBQyxFQUFFO0lBQzFFLE9BQU91QixJQUFJLENBQUNPLE9BQU8sT0FBQUMsTUFBQSxDQUFPSCxJQUFJLHVCQUFvQjtFQUNwRDtFQUNBLElBQUlMLElBQUksUUFBSyxJQUFJUixLQUFLLENBQUNDLE9BQU8sQ0FBQ08sSUFBSSxRQUFLLENBQUMsSUFBSXZCLEtBQUssRUFBRTtJQUNsRCxJQUFJLENBQUN1QixJQUFJLFFBQUssQ0FBQ0csUUFBUSxDQUFDMUIsS0FBSyxDQUFDLEVBQUU7TUFDOUIsT0FBT3VCLElBQUksQ0FBQ08sT0FBTyxPQUFBQyxNQUFBLENBQU9ILElBQUksc0JBQUFHLE1BQUEsQ0FBbUJSLElBQUksUUFBSyxDQUFDaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFFO0lBQ3pFO0VBQ0Y7RUFDQSxJQUFJakIsSUFBSSxDQUFDa0IsSUFBSSxLQUFLLFFBQVEsSUFBSXpDLEtBQUssS0FBS2MsU0FBUyxJQUFJZCxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUssRUFBRSxFQUFFO0lBQ25GLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSXFDLEtBQUssQ0FBQ3JDLEtBQUssQ0FBQyxFQUFFO01BQzdDLE9BQU91QixJQUFJLENBQUNPLE9BQU8sT0FBQUMsTUFBQSxDQUFPSCxJQUFJLHNCQUFtQjtJQUNuRDtFQUNGO0VBQ0EsSUFBSUwsSUFBSSxDQUFDa0IsSUFBSSxLQUFLLE9BQU8sSUFBSXpDLEtBQUssRUFBRTtJQUNsQyxJQUFNMEMsWUFBWSxHQUFHLDRCQUE0QjtJQUNqRCxJQUFJLENBQUNBLFlBQVksQ0FBQ0gsSUFBSSxDQUFDSSxNQUFNLENBQUMzQyxLQUFLLENBQUMsQ0FBQyxFQUFFO01BQ3JDLE9BQU91QixJQUFJLENBQUNPLE9BQU8sT0FBQUMsTUFBQSxDQUFPSCxJQUFJLDJCQUF3QjtJQUN4RDtFQUNGO0VBQ0EsSUFBSUwsSUFBSSxDQUFDa0IsSUFBSSxLQUFLLEtBQUssSUFBSXpDLEtBQUssRUFBRTtJQUNoQyxJQUFJO01BQ0YsSUFBSTRDLEdBQUcsQ0FBQ0QsTUFBTSxDQUFDM0MsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDLE9BQUE2QyxFQUFBLEVBQU07TUFDTixPQUFPdEIsSUFBSSxDQUFDTyxPQUFPLE9BQUFDLE1BQUEsQ0FBT0gsSUFBSSx5QkFBc0I7SUFDdEQ7RUFDRjtFQUNBLE9BQU8sSUFBSTtBQUNiO0FBRUE7QURwQkE7QUFDQTtBQUNBO0FBQ0E7QUNzQk0sU0FBVWtCLFlBQVlBLENBQzFCbEIsSUFBWSxFQUNaNUIsS0FBYyxFQUNkK0MsTUFBK0IsRUFDL0I1QixLQUFhLEVBQUE7RUFFYixJQUFJNkIsT0FBTyxHQUFrQixJQUFJO0VBQUMsSUFBQUMsU0FBQSxHQUFBQywwQkFBQSxDQUVmL0IsS0FBSztJQUFBZ0MsS0FBQTtFQUFBO0lBQXhCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBM0MsSUFBQSxHQUEwQjtNQUFBLElBQWZhLElBQUksR0FBQTRCLEtBQUEsQ0FBQW5ELEtBQUE7TUFDYixJQUFJc0QsT0FBTyxHQUFrQjNCLGlCQUFpQixDQUFDSixJQUFJLEVBQUV2QixLQUFLLEVBQUU0QixJQUFJLENBQUM7TUFFakUsSUFBSTBCLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTy9CLElBQUksQ0FBQ2dDLFNBQVMsS0FBSyxVQUFVLEVBQUU7UUFDNUQsSUFBSTtVQUNGLElBQU05QyxNQUFNLEdBQUdjLElBQUksQ0FBQ2dDLFNBQVMsQ0FBQ3ZELEtBQUssRUFBRStDLE1BQU0sQ0FBQztVQUM1QyxJQUFJdEMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUNuQjZDLE9BQU8sR0FBRyxPQUFPN0MsTUFBTSxLQUFLLFFBQVEsR0FBR0EsTUFBTSxHQUFHLG1CQUFtQjtVQUNyRTtRQUNGLENBQUMsQ0FBQyxPQUFPK0MsR0FBRyxFQUFFO1VBQ1pGLE9BQU8sR0FBR0UsR0FBRyxZQUFZQyxLQUFLLEdBQUdELEdBQUcsQ0FBQzFCLE9BQU8sR0FBRyxrQkFBa0I7UUFDbkU7TUFDRjtNQUVBLElBQUl3QixPQUFPLEtBQUssSUFBSSxFQUFFO1FBQ3BCLElBQUkvQixJQUFJLENBQUNtQyxXQUFXLEVBQUU7VUFDcEJWLE9BQU8sR0FBR0EsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLEdBQUlNLE9BQU87UUFDOUIsQ0FBQyxNQUFNO1VBQ0wsT0FBTztZQUFFSyxLQUFLLEVBQUVMLE9BQU87WUFBRU4sT0FBTyxFQUFQQTtVQUFPLENBQUU7UUFDcEM7TUFDRjtJQUNGO0VBQUMsU0FBQVEsR0FBQTtJQUFBUCxTQUFBLENBQUExQyxDQUFBLENBQUFpRCxHQUFBO0VBQUE7SUFBQVAsU0FBQSxDQUFBVyxDQUFBO0VBQUE7RUFDRCxPQUFPO0lBQUVELEtBQUssRUFBRSxJQUFJO0lBQUVYLE9BQU8sRUFBUEE7RUFBTyxDQUFFO0FBQ2pDO0FBRUE7QUQzQkE7QUFDQTtBQUNBO0FDNkJNLFNBQWdCYSxhQUFhQSxDQUNqQ2pDLElBQVksRUFDWjVCLEtBQWMsRUFDZCtDLE1BQStCLEVBQy9CNUIsS0FBYSxFQUFBO0VEL0JYLE9BQU96QixTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxlQUFBb0UsWUFBQSxZQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtJQUFBLElBQUFoQixPQUFBLEVBQUFpQixVQUFBLEVBQUFDLE1BQUEsRUFBQTNDLElBQUEsRUFBQStCLE9BQUEsRUFBQTdDLE1BQUEsRUFBQTBELEVBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUFOLFlBQUEsWUFBQU8sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFoRSxJQUFBO1FBQUE7VUNpQ3JDMEMsT0FBTyxHQUFrQixJQUFJO1VBQUFpQixVQUFBLEdBQUFmLDBCQUFBLENBRWQvQixLQUFLO1VBQUFtRCxRQUFBLENBQUFDLElBQUE7VUFBQU4sVUFBQSxDQUFBYixDQUFBO1FBQUE7VUFBQSxLQUFBYyxNQUFBLEdBQUFELFVBQUEsQ0FBQVosQ0FBQSxJQUFBM0MsSUFBQTtZQUFBNEQsUUFBQSxDQUFBaEUsSUFBQTtZQUFBO1VBQUE7VUFBYmlCLElBQUksR0FBQTJDLE1BQUEsQ0FBQWxFLEtBQUE7VUFDVHNELE9BQU8sR0FBa0IzQixpQkFBaUIsQ0FBQ0osSUFBSSxFQUFFdkIsS0FBSyxFQUFFNEIsSUFBSSxDQUFDO1VBQUEsTUFFN0QwQixPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8vQixJQUFJLENBQUNnQyxTQUFTLEtBQUssVUFBVTtZQUFBZSxRQUFBLENBQUFoRSxJQUFBO1lBQUE7VUFBQTtVQUFBZ0UsUUFBQSxDQUFBQyxJQUFBO1VBQUFELFFBQUEsQ0FBQWhFLElBQUE7VUFFekMsT0FBTUosT0FBTyxDQUFDRCxPQUFPLENBQUNzQixJQUFJLENBQUNnQyxTQUFTLENBQUN2RCxLQUFLLEVBQUUrQyxNQUFNLENBQUMsQ0FBQztRQUFBO1VBQTdEdEMsTUFBTSxHQUFBNkQsUUFBQSxDQUFBRSxJQUFBO1VBQ1osSUFBSS9ELE1BQU0sS0FBSyxJQUFJLElBQUlBLE1BQU0sS0FBS0ssU0FBUyxFQUFFO1lBQzNDd0MsT0FBTyxHQUFHLE9BQU83QyxNQUFNLEtBQUssUUFBUSxHQUFHQSxNQUFNLEdBQUcsbUJBQW1CO1VBQ3JFO1VBQUM2RCxRQUFBLENBQUFoRSxJQUFBO1VBQUE7UUFBQTtVQUFBZ0UsUUFBQSxDQUFBQyxJQUFBO1VBQUFKLEVBQUEsR0FBQUcsUUFBQTtVQUVEaEIsT0FBTyxHQUFHYSxFQUFBLFlBQWVWLEtBQUssR0FBR1UsRUFBQSxDQUFJckMsT0FBTyxHQUFHLGtCQUFrQjtRQUFDO1VBQUEsTUFJbEV3QixPQUFPLEtBQUssSUFBSTtZQUFBZ0IsUUFBQSxDQUFBaEUsSUFBQTtZQUFBO1VBQUE7VUFBQSxLQUNkaUIsSUFBSSxDQUFDbUMsV0FBVztZQUFBWSxRQUFBLENBQUFoRSxJQUFBO1lBQUE7VUFBQTtVQUNsQjBDLE9BQU8sR0FBR0EsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLEdBQUlNLE9BQU87VUFBQ2dCLFFBQUEsQ0FBQWhFLElBQUE7VUFBQTtRQUFBO1VBQUEsT0FBQWdFLFFBQUEsQ0FBQUcsTUFBQSxXQUV0QjtZQUFFZCxLQUFLLEVBQUVMLE9BQU87WUFBRU4sT0FBTyxFQUFQQTtVQUFPLENBQUU7UUFBQTtVQUFBc0IsUUFBQSxDQUFBaEUsSUFBQTtVQUFBO1FBQUE7VUFBQWdFLFFBQUEsQ0FBQWhFLElBQUE7VUFBQTtRQUFBO1VBQUFnRSxRQUFBLENBQUFDLElBQUE7VUFBQUgsR0FBQSxHQUFBRSxRQUFBO1VBQUFMLFVBQUEsQ0FBQTFELENBQUEsQ0FBQTZELEdBQUE7UUFBQTtVQUFBRSxRQUFBLENBQUFDLElBQUE7VUFBQU4sVUFBQSxDQUFBTCxDQUFBO1VBQUEsT0FBQVUsUUFBQSxDQUFBSSxNQUFBO1FBQUE7VUFBQSxPQUFBSixRQUFBLENBQUFHLE1BQUEsV0FJakM7WUFBRWQsS0FBSyxFQUFFLElBQUk7WUFBRVgsT0FBTyxFQUFQQTtVQUFPLENBQUU7UUFBQTtRQUFBO1VBQUEsT0FBQXNCLFFBQUEsQ0FBQUssSUFBQTtNQUFBO0lBQUEsR0FBQVgsT0FBQTtFQUFBLENBQ2hDLEVBQUE7QURoQ0QiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvcnVuUnVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbi8qKiBFbXB0eSBmb3IgYHJlcXVpcmVkYDogdW5kZWZpbmVkIC8gbnVsbCAvICcnIC8gZW1wdHkgYXJyYXkuICovXG5mdW5jdGlvbiBpc0VtcHR5VmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gKHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgICAgdmFsdWUgPT09ICcnIHx8XG4gICAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKTtcbn1cbi8qKlxuICogRmlsdGVyIHJ1bGVzIGFwcGxpY2FibGUgdG8gYW4gaW50ZXJhY3RpdmUgdHJpZ2dlci4gQSBydWxlIFdJVEhPVVQgYW5cbiAqIGV4cGxpY2l0IGB2YWxpZGF0ZVRyaWdnZXJgIGZvbGxvd3MgdGhlIGZvcm0tbGV2ZWwgdHJpZ2dlcjsgYSBydWxlIFdJVEggb25lXG4gKiBydW5zIG9uIGV4YWN0bHkgdGhvc2UgdHJpZ2dlcihzKSwgcmVnYXJkbGVzcyBvZiB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICogU3VibWl0LXRpbWUgdmFsaWRhdGlvbiBieXBhc3NlcyB0aGlzIGZpbHRlciBhbmQgcnVucyBldmVyeSBydWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIGZvcm1UcmlnZ2VyKSB7XG4gICAgcmV0dXJuIHJ1bGVzLmZpbHRlcigocnVsZSkgPT4ge1xuICAgICAgICBjb25zdCBydWxlVHJpZ2dlciA9IHJ1bGUudmFsaWRhdGVUcmlnZ2VyO1xuICAgICAgICBpZiAoIXJ1bGVUcmlnZ2VyKVxuICAgICAgICAgICAgcmV0dXJuIGZvcm1UcmlnZ2VyID09PSB0cmlnZ2VyO1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShydWxlVHJpZ2dlcilcbiAgICAgICAgICAgID8gcnVsZVRyaWdnZXIuaW5jbHVkZXModHJpZ2dlcilcbiAgICAgICAgICAgIDogcnVsZVRyaWdnZXIgPT09IHRyaWdnZXI7XG4gICAgfSk7XG59XG4vKipcbiAqIEV2YWx1YXRlIGV2ZXJ5IGJ1aWx0LWluIChub24tYHZhbGlkYXRvcmApIHJ1bGUga2luZCBmb3IgYSBzaW5nbGUgcnVsZS5cbiAqIFJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBmaXJzdCBmYWlsaW5nIGNoZWNrLCBvciBudWxsLlxuICovXG5mdW5jdGlvbiBjaGVja0J1aWx0aW5SdWxlcyhydWxlLCB2YWx1ZSwgbmFtZSkge1xuICAgIGlmIChydWxlLnJlcXVpcmVkICYmIGlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBpcyByZXF1aXJlZGA7XG4gICAgfVxuICAgIC8vIG1pbi9tYXg6IHN0cmluZyDihpIgbGVuZ3RoLCBhcnJheSDihpIgaXRlbSBjb3VudCwgbnVtYmVyIOKGkiBudW1lcmljIHZhbHVlXG4gICAgaWYgKHJ1bGUubWluICE9PSB1bmRlZmluZWQgfHwgcnVsZS5tYXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgbWVhc3VyZWQgPSBudWxsO1xuICAgICAgICBsZXQgdW5pdCA9ICcnO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgbWVhc3VyZWQgPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB1bml0ID0gJyBjaGFyYWN0ZXJzJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgbWVhc3VyZWQgPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB1bml0ID0gJyBpdGVtcyc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgbWVhc3VyZWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWVhc3VyZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChydWxlLm1pbiAhPT0gdW5kZWZpbmVkICYmIG1lYXN1cmVkIDwgcnVsZS5taW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcnVsZS5tZXNzYWdlIHx8IGAke25hbWV9IG11c3QgYmUgYXQgbGVhc3QgJHtydWxlLm1pbn0ke3VuaXR9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChydWxlLm1heCAhPT0gdW5kZWZpbmVkICYmIG1lYXN1cmVkID4gcnVsZS5tYXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcnVsZS5tZXNzYWdlIHx8IGAke25hbWV9IG11c3QgYmUgbm8gbW9yZSB0aGFuICR7cnVsZS5tYXh9JHt1bml0fWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJ1bGUucGF0dGVybiAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFydWxlLnBhdHRlcm4udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBmb3JtYXQgaXMgaW52YWxpZGA7XG4gICAgfVxuICAgIGlmIChydWxlLmVudW0gJiYgQXJyYXkuaXNBcnJheShydWxlLmVudW0pICYmIHZhbHVlKSB7XG4gICAgICAgIGlmICghcnVsZS5lbnVtLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJ1bGUubWVzc2FnZSB8fCBgJHtuYW1lfSBtdXN0IGJlIG9uZSBvZiAke3J1bGUuZW51bS5qb2luKCcsICcpfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJ1bGUudHlwZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgfHwgaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gcnVsZS5tZXNzYWdlIHx8IGAke25hbWV9IG11c3QgYmUgYSBudW1iZXJgO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChydWxlLnR5cGUgPT09ICdlbWFpbCcgJiYgdmFsdWUpIHtcbiAgICAgICAgY29uc3QgZW1haWxQYXR0ZXJuID0gL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC87XG4gICAgICAgIGlmICghZW1haWxQYXR0ZXJuLnRlc3QoU3RyaW5nKHZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIGVtYWlsYDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocnVsZS50eXBlID09PSAndXJsJyAmJiB2YWx1ZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV3IFVSTChTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIHJldHVybiBydWxlLm1lc3NhZ2UgfHwgYCR7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIFVSTGA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIFN5bmNocm9ub3VzIHJ1bGUgcnVuLiBDdXN0b20gdmFsaWRhdG9ycyBhcmUgaW52b2tlZCBidXQgTk9UIGF3YWl0ZWQg4oCUIGFcbiAqIHByb21pc2UtcmV0dXJuaW5nIHZhbGlkYXRvciBpcyB0cmVhdGVkIGFzIGZhaWxpbmcgKG1hdGNoZXMgdGhlIGxlZ2FjeSBzeW5jXG4gKiBgdmFsaWRhdGVGaWVsZGAgYmVoYXZpb3VyKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1blJ1bGVzU3luYyhuYW1lLCB2YWx1ZSwgdmFsdWVzLCBydWxlcykge1xuICAgIGxldCB3YXJuaW5nID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IHJ1bGUgb2YgcnVsZXMpIHtcbiAgICAgICAgbGV0IGZhaWx1cmUgPSBjaGVja0J1aWx0aW5SdWxlcyhydWxlLCB2YWx1ZSwgbmFtZSk7XG4gICAgICAgIGlmIChmYWlsdXJlID09PSBudWxsICYmIHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBydWxlLnZhbGlkYXRvcih2YWx1ZSwgdmFsdWVzKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmUgPSB0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJyA/IHJlc3VsdCA6ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGZhaWx1cmUgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1ZhbGlkYXRpb24gZXJyb3InO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmYWlsdXJlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAocnVsZS53YXJuaW5nT25seSkge1xuICAgICAgICAgICAgICAgIHdhcm5pbmcgPSB3YXJuaW5nICE9PSBudWxsICYmIHdhcm5pbmcgIT09IHZvaWQgMCA/IHdhcm5pbmcgOiBmYWlsdXJlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXJyb3I6IGZhaWx1cmUsIHdhcm5pbmcgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBlcnJvcjogbnVsbCwgd2FybmluZyB9O1xufVxuLyoqXG4gKiBBc3luY2hyb25vdXMgcnVsZSBydW4uIEN1c3RvbSB2YWxpZGF0b3JzIGFyZSBhd2FpdGVkIChzeW5jIG9yIGFzeW5jKS4gQVxuICogdmFsaWRhdG9yIHJldHVybmluZyBgdW5kZWZpbmVkYCBpcyB0cmVhdGVkIGFzIHBhc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5SdWxlc0FzeW5jKG5hbWUsIHZhbHVlLCB2YWx1ZXMsIHJ1bGVzKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgbGV0IHdhcm5pbmcgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IHJ1bGUgb2YgcnVsZXMpIHtcbiAgICAgICAgICAgIGxldCBmYWlsdXJlID0gY2hlY2tCdWlsdGluUnVsZXMocnVsZSwgdmFsdWUsIG5hbWUpO1xuICAgICAgICAgICAgaWYgKGZhaWx1cmUgPT09IG51bGwgJiYgdHlwZW9mIHJ1bGUudmFsaWRhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgUHJvbWlzZS5yZXNvbHZlKHJ1bGUudmFsaWRhdG9yKHZhbHVlLCB2YWx1ZXMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSAmJiByZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSA9IHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnID8gcmVzdWx0IDogJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmUgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1ZhbGlkYXRpb24gZXJyb3InO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmYWlsdXJlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJ1bGUud2FybmluZ09ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IHdhcm5pbmcgIT09IG51bGwgJiYgd2FybmluZyAhPT0gdm9pZCAwID8gd2FybmluZyA6IGZhaWx1cmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBlcnJvcjogZmFpbHVyZSwgd2FybmluZyB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBlcnJvcjogbnVsbCwgd2FybmluZyB9O1xuICAgIH0pO1xufSIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -5,17 +5,26 @@ export interface UseFormItemOptions {
5
5
  rules?: Rule[];
6
6
  required?: boolean;
7
7
  validateStatus?: ValidateStatus;
8
+ /** Prop name the controlled value is injected under (e.g. `checked` for Switch/Checkbox). */
9
+ valuePropName?: string;
10
+ /** Debounce (ms) applied to onChange-triggered validation. */
11
+ validateDebounce?: number;
8
12
  }
9
13
  export interface UseFormItemReturn {
10
14
  fieldValue: unknown;
11
15
  fieldError: string | undefined;
16
+ fieldWarning: string | undefined;
12
17
  fieldValidating: boolean;
13
18
  validateStatus: ValidateStatus | undefined;
14
19
  isRequired: boolean;
15
20
  size: FormSize;
16
21
  labelAlign: LabelAlign;
17
22
  requiredMark: boolean;
18
- /** Clone a form-component child injecting value/onChange/onBlur/status/size. Non-form children pass through unchanged. */
23
+ /**
24
+ * Clone a form-component child injecting value/onChange/onBlur/status.
25
+ * Form `size` is intentionally NOT injected — it only controls item spacing;
26
+ * control sizes are set per-field. Non-form children pass through unchanged.
27
+ */
19
28
  injectField: (child: ReactNode) => ReactNode;
20
29
  }
21
30
  export declare function useFormItem(options: UseFormItemOptions): UseFormItemReturn;