@1money/component-ui 0.0.75 → 0.0.77

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 (153) hide show
  1. package/es/components/ProForm/ProForm.d.ts +1 -1
  2. package/es/components/ProForm/ProForm.js +46 -34
  3. package/es/components/ProForm/ProFormDependency.d.ts +2 -1
  4. package/es/components/ProForm/ProFormDependency.js +6 -16
  5. package/es/components/ProForm/ProFormItem.d.ts +7 -2
  6. package/es/components/ProForm/ProFormItem.js +5 -7
  7. package/es/components/ProForm/ProFormList.d.ts +6 -1
  8. package/es/components/ProForm/ProFormList.js +122 -42
  9. package/es/components/ProForm/SchemaForm.d.ts +1 -1
  10. package/es/components/ProForm/SchemaForm.js +8 -5
  11. package/es/components/ProForm/context.d.ts +8 -7
  12. package/es/components/ProForm/context.js +1 -1
  13. package/es/components/ProForm/core/constants.d.ts +3 -1
  14. package/es/components/ProForm/core/constants.js +8 -2
  15. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  16. package/es/components/ProForm/core/devWarning.js +22 -0
  17. package/es/components/ProForm/core/formStore.d.ts +14 -6
  18. package/es/components/ProForm/core/formStore.js +21 -2
  19. package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
  20. package/es/components/ProForm/core/hooks/useForm.js +275 -107
  21. package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  22. package/es/components/ProForm/core/hooks/useFormCore.js +121 -121
  23. package/es/components/ProForm/core/interface.d.ts +157 -103
  24. package/es/components/ProForm/core/namePathType.d.ts +25 -0
  25. package/es/components/ProForm/core/namePathType.js +2 -0
  26. package/es/components/ProForm/core/pathUtils.d.ts +5 -3
  27. package/es/components/ProForm/core/pathUtils.js +19 -1
  28. package/es/components/ProForm/core/runRules.d.ts +40 -17
  29. package/es/components/ProForm/core/runRules.js +480 -136
  30. package/es/components/ProForm/core/useFormItem.d.ts +7 -8
  31. package/es/components/ProForm/core/useFormItem.js +52 -82
  32. package/es/components/ProForm/core/validationError.d.ts +13 -0
  33. package/es/components/ProForm/core/validationError.js +29 -0
  34. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  35. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  36. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  37. package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  38. package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
  39. package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  40. package/es/components/ProForm/fields/ProFormFieldSet.js +49 -12
  41. package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  42. package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  43. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  44. package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  45. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  46. package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  47. package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  48. package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
  49. package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  50. package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  51. package/es/components/ProForm/fields/ProFormUpload.js +1 -1
  52. package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
  53. package/es/components/ProForm/fields/createProFormField.js +20 -27
  54. package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  55. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  56. package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  57. package/es/components/ProForm/hooks/useUrlSync.js +1 -1
  58. package/es/components/ProForm/index.d.ts +37 -27
  59. package/es/components/ProForm/index.js +4 -1
  60. package/es/components/ProForm/interface.d.ts +115 -119
  61. package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
  62. package/es/components/ProForm/layouts/DialogForm.js +1 -1
  63. package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  64. package/es/components/ProForm/layouts/DrawerForm.js +1 -1
  65. package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  66. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  67. package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  68. package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
  69. package/es/components/ProForm/utils.d.ts +15 -7
  70. package/es/components/ProForm/utils.js +51 -3
  71. package/es/components/Table/core/useTableSetup.js +2 -2
  72. package/es/components/Table/interface.d.ts +1 -1
  73. package/es/index.css +1 -1
  74. package/es/index.d.ts +1 -1
  75. package/es/index.js +1 -1
  76. package/lib/components/ProForm/ProForm.d.ts +1 -1
  77. package/lib/components/ProForm/ProForm.js +45 -33
  78. package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
  79. package/lib/components/ProForm/ProFormDependency.js +5 -15
  80. package/lib/components/ProForm/ProFormItem.d.ts +7 -2
  81. package/lib/components/ProForm/ProFormItem.js +5 -7
  82. package/lib/components/ProForm/ProFormList.d.ts +6 -1
  83. package/lib/components/ProForm/ProFormList.js +120 -40
  84. package/lib/components/ProForm/SchemaForm.d.ts +1 -1
  85. package/lib/components/ProForm/SchemaForm.js +8 -5
  86. package/lib/components/ProForm/context.d.ts +8 -7
  87. package/lib/components/ProForm/context.js +1 -1
  88. package/lib/components/ProForm/core/constants.d.ts +3 -1
  89. package/lib/components/ProForm/core/constants.js +9 -3
  90. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  91. package/lib/components/ProForm/core/devWarning.js +29 -0
  92. package/lib/components/ProForm/core/formStore.d.ts +14 -6
  93. package/lib/components/ProForm/core/formStore.js +23 -2
  94. package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
  95. package/lib/components/ProForm/core/hooks/useForm.js +271 -103
  96. package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  97. package/lib/components/ProForm/core/hooks/useFormCore.js +119 -119
  98. package/lib/components/ProForm/core/interface.d.ts +157 -103
  99. package/lib/components/ProForm/core/namePathType.d.ts +25 -0
  100. package/lib/components/ProForm/core/namePathType.js +6 -0
  101. package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
  102. package/lib/components/ProForm/core/pathUtils.js +20 -1
  103. package/lib/components/ProForm/core/runRules.d.ts +40 -17
  104. package/lib/components/ProForm/core/runRules.js +483 -137
  105. package/lib/components/ProForm/core/useFormItem.d.ts +7 -8
  106. package/lib/components/ProForm/core/useFormItem.js +54 -84
  107. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  108. package/lib/components/ProForm/core/validationError.js +36 -0
  109. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  110. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  111. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  112. package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  113. package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
  114. package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  115. package/lib/components/ProForm/fields/ProFormFieldSet.js +49 -12
  116. package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  117. package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  118. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  119. package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  120. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  121. package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  122. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  123. package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
  124. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  125. package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  126. package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
  127. package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
  128. package/lib/components/ProForm/fields/createProFormField.js +20 -27
  129. package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  130. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  131. package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  132. package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
  133. package/lib/components/ProForm/index.d.ts +37 -27
  134. package/lib/components/ProForm/index.js +10 -1
  135. package/lib/components/ProForm/interface.d.ts +115 -119
  136. package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
  137. package/lib/components/ProForm/layouts/DialogForm.js +1 -1
  138. package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  139. package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
  140. package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  141. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  142. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  143. package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
  144. package/lib/components/ProForm/utils.d.ts +15 -7
  145. package/lib/components/ProForm/utils.js +52 -3
  146. package/lib/components/Table/core/useTableSetup.js +2 -2
  147. package/lib/components/Table/interface.d.ts +1 -1
  148. package/lib/index.css +1 -1
  149. package/lib/index.d.ts +1 -1
  150. package/lib/index.js +1 -1
  151. package/package.json +1 -1
  152. package/scripts/mcp-server/examples.generated.json +95 -53
  153. package/scripts/mcp-server/index.generated.json +1715 -185
@@ -1,25 +1,24 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { FormSize, LabelAlign, Rule, ValidateStatus } from './interface';
2
+ import type { FormRule, FormSize, LabelAlign, ValidateStatus, ValidateTriggerProp } from './interface';
3
3
  export interface UseFormItemOptions {
4
4
  name?: string;
5
- rules?: Rule[];
6
- required?: boolean;
5
+ rules?: FormRule[];
7
6
  validateStatus?: ValidateStatus;
8
7
  /** Prop name the controlled value is injected under (e.g. `checked` for Switch/Checkbox). */
9
8
  valuePropName?: string;
10
9
  /** Debounce (ms) applied to onChange-triggered validation. */
11
10
  validateDebounce?: number;
11
+ /** Item-level validateTrigger — overrides the form-level setting. */
12
+ validateTrigger?: ValidateTriggerProp;
12
13
  }
13
14
  export interface UseFormItemReturn {
14
- fieldValue: unknown;
15
- fieldError: string | undefined;
16
- fieldWarning: string | undefined;
15
+ fieldValue: any;
16
+ fieldError: ReactNode | undefined;
17
+ fieldWarning: ReactNode | undefined;
17
18
  fieldValidating: boolean;
18
19
  validateStatus: ValidateStatus | undefined;
19
- isRequired: boolean;
20
20
  size: FormSize;
21
21
  labelAlign: LabelAlign;
22
- requiredMark: boolean;
23
22
  /**
24
23
  * Clone a form-component child injecting value/onChange/onBlur/status.
25
24
  * Form `size` cascades into size-aware controls as a default — an explicit
@@ -1,41 +1,13 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _typeof from "@babel/runtime/helpers/esm/typeof";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
6
- function adopt(value) {
7
- return value instanceof P ? value : new P(function (resolve) {
8
- resolve(value);
9
- });
10
- }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) {
13
- try {
14
- step(generator.next(value));
15
- } catch (e) {
16
- reject(e);
17
- }
18
- }
19
- function rejected(value) {
20
- try {
21
- step(generator["throw"](value));
22
- } catch (e) {
23
- reject(e);
24
- }
25
- }
26
- function step(result) {
27
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
28
- }
29
- step((generator = generator.apply(thisArg, _arguments || [])).next());
30
- });
31
- };
32
4
  import React, { useEffect, useRef } from 'react';
33
5
  import useEventCallback from '@1money/hooks/useEventCallback';
34
6
  import useDebouncedCallback from '@1money/hooks/useDebouncedCallback';
35
7
  import { useProFormStable, useProFormStore } from '../context';
36
8
  import { useStoreSelector, shallowEqualArrays } from './formStore';
37
9
  import { getNestedValue } from './pathUtils';
38
- import { filterRulesByTrigger } from './runRules';
10
+ import { filterRulesByTrigger, normalizeTriggers, resolveRules } from './runRules';
39
11
  import { FORM_COMPONENT_NAMES, SIZE_AWARE_COMPONENT_NAMES, TEXT_LIKE_COMPONENT_NAMES } from './constants';
40
12
  /**
41
13
  * Normalise a change-handler argument: unwrap `e.target[valuePropName]` /
@@ -57,30 +29,31 @@ function extractEventValue(e) {
57
29
  return e;
58
30
  }
59
31
  export function useFormItem(options) {
60
- var _this = this;
61
32
  var name = options.name,
62
33
  _options$rules = options.rules,
63
34
  rules = _options$rules === void 0 ? [] : _options$rules,
64
- required = options.required,
65
35
  validateStatus = options.validateStatus,
66
36
  _options$valuePropNam = options.valuePropName,
67
37
  valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
68
- validateDebounce = options.validateDebounce;
38
+ validateDebounce = options.validateDebounce,
39
+ itemValidateTrigger = options.validateTrigger;
69
40
  var _useProFormStable = useProFormStable(),
41
+ formInstance = _useProFormStable.formInstance,
70
42
  setFieldValue = _useProFormStable.setFieldValue,
71
- validateField = _useProFormStable.validateField,
43
+ setFieldError = _useProFormStable.setFieldError,
44
+ setFieldWarning = _useProFormStable.setFieldWarning,
72
45
  validateFieldAsync = _useProFormStable.validateFieldAsync,
73
46
  registerField = _useProFormStable.registerField,
74
- unregisterField = _useProFormStable.unregisterField,
47
+ retainField = _useProFormStable.retainField,
48
+ releaseField = _useProFormStable.releaseField,
75
49
  size = _useProFormStable.size,
76
50
  labelAlign = _useProFormStable.labelAlign,
77
- requiredMark = _useProFormStable.requiredMark,
78
- validateTrigger = _useProFormStable.validateTrigger,
51
+ formValidateTrigger = _useProFormStable.validateTrigger,
79
52
  formDisabled = _useProFormStable.disabled;
80
53
  var store = useProFormStore();
81
- var isRequired = Boolean(required || rules.some(function (rule) {
82
- return rule.required;
83
- }));
54
+ // The item-level validateTrigger overrides the form-level one;
55
+ // the result is the set of interactive events that validate this field.
56
+ var activeTriggers = normalizeTriggers(itemValidateTrigger, formValidateTrigger);
84
57
  // Per-field store subscription: this item re-renders ONLY when its own
85
58
  // value/error/warning/validating slice changes — typing in a sibling field
86
59
  // produces an equal tuple and the selector short-circuits.
@@ -95,41 +68,21 @@ export function useFormItem(options) {
95
68
  fieldWarning = _useStoreSelector2[2],
96
69
  fieldValidating = _useStoreSelector2[3];
97
70
  var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
98
- // Run only the rules applicable to the given interactive trigger; rules
99
- // without an explicit validateTrigger follow the form-level setting.
71
+ // Unified async validation dispatch. EVERY interactive trigger (onChange,
72
+ // onBlur) validates through the SAME async path, so a rule behaves identically
73
+ // on each of its effective triggers — whether it is a builtin check, a
74
+ // sync-throwing validator, or a Promise-returning one (matching the upstream
75
+ // field-form / pro-components model: a validator runs on each of its
76
+ // triggers, awaited). Trigger filtering needs resolved rules — a function-form
77
+ // rule's validateTrigger is only known after resolving it against the live
78
+ // values. The per-field epoch + `validating` flag are owned by
79
+ // validateFieldAsync, so a slow async check can never stamp a stale error.
100
80
  var runValidate = useEventCallback(function (value, trigger) {
101
- if (!name || rules.length === 0) return true;
102
- var applicable = filterRulesByTrigger(rules, trigger, validateTrigger);
103
- if (applicable.length === 0) return true;
104
- return validateField(name, applicable, value);
105
- });
106
- var runValidateAsync = useEventCallback(function (value, trigger) {
107
- return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
108
- var applicable;
109
- return _regeneratorRuntime.wrap(function (_context) {
110
- while (1) switch (_context.prev = _context.next) {
111
- case 0:
112
- if (!(!name || rules.length === 0)) {
113
- _context.next = 1;
114
- break;
115
- }
116
- return _context.abrupt("return");
117
- case 1:
118
- applicable = filterRulesByTrigger(rules, trigger, validateTrigger);
119
- if (!(applicable.length === 0)) {
120
- _context.next = 2;
121
- break;
122
- }
123
- return _context.abrupt("return");
124
- case 2:
125
- _context.next = 3;
126
- return validateFieldAsync(name, value, applicable);
127
- case 3:
128
- case "end":
129
- return _context.stop();
130
- }
131
- }, _callee);
132
- }));
81
+ if (!name || rules.length === 0) return;
82
+ var resolved = resolveRules(rules, store.getState().values, formInstance);
83
+ var applicable = filterRulesByTrigger(resolved, trigger, activeTriggers, name);
84
+ if (applicable.length === 0) return;
85
+ validateFieldAsync(name, value, applicable);
133
86
  });
134
87
  var _useDebouncedCallback = useDebouncedCallback(function (value) {
135
88
  runValidate(value, 'onChange');
@@ -158,7 +111,7 @@ export function useFormItem(options) {
158
111
  // tick (change → immediate blur) must be validated, not the render-time
159
112
  // snapshot.
160
113
  var currentValue = name ? name.includes('.') ? getNestedValue(store.getState().values, name) : store.getState().values[name] : undefined;
161
- runValidateAsync(currentValue, 'onBlur');
114
+ runValidate(currentValue, 'onBlur');
162
115
  });
163
116
  // Latest child-provided callbacks, captured at injectField time. The STABLE
164
117
  // injected handlers below delegate through this ref instead of being
@@ -183,17 +136,36 @@ export function useFormItem(options) {
183
136
  }
184
137
  (_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
185
138
  });
139
+ // A FRESH field instance must not inherit error/warning meta stamped on the
140
+ // same name by a previous, since-unmounted instance (errors outlive
141
+ // unregisterField by design — list remapping depends on that). MOUNT only:
142
+ // a NAME change must not clear, or ProFormList's meta remapping (which
143
+ // renames rows positionally) would lose the very meta it just moved.
144
+ useEffect(function () {
145
+ if (name) {
146
+ setFieldError(name, null);
147
+ setFieldWarning(name, null);
148
+ }
149
+ // Mount-only by design (see above).
150
+ }, []);
151
+ // Mount-counted lifetime: releaseField removes the rules only when the LAST
152
+ // same-name instance unmounts — a memo-bailed survivor (which won't
153
+ // re-render to re-register) keeps its registration intact. Declared BEFORE
154
+ // the register effect: retain must run first so the registration below is
155
+ // classified as instance-owned.
156
+ useEffect(function () {
157
+ if (!name) return;
158
+ retainField(name);
159
+ return function () {
160
+ releaseField(name);
161
+ };
162
+ }, [name]);
186
163
  // Keep the registry in sync with the LATEST rules every render (registration
187
164
  // is a cheap ref mutation): dynamic rules (e.g. required toggled by another
188
165
  // field) must be visible to submit-time validation, not just onChange.
189
166
  useEffect(function () {
190
167
  if (name && registerField) registerField(name, rules);
191
168
  });
192
- useEffect(function () {
193
- return function () {
194
- if (name && unregisterField) unregisterField(name);
195
- };
196
- }, [name]);
197
169
  var injectField = function injectField(child) {
198
170
  var _a;
199
171
  if (!name || ! /*#__PURE__*/React.isValidElement(child)) return child;
@@ -230,11 +202,9 @@ export function useFormItem(options) {
230
202
  fieldWarning: fieldWarning,
231
203
  fieldValidating: fieldValidating,
232
204
  validateStatus: finalStatus,
233
- isRequired: isRequired,
234
205
  size: size,
235
206
  labelAlign: labelAlign,
236
- requiredMark: requiredMark,
237
207
  injectField: injectField
238
208
  };
239
209
  }
240
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ1c2VTdG9yZVNlbGVjdG9yIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiZ2V0TmVzdGVkVmFsdWUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwiU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZiIsImV2ZW50IiwidGFyZ2V0IiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwiX3RoaXMiLCJuYW1lIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInJlcXVpcmVkIiwidmFsaWRhdGVTdGF0dXMiLCJfb3B0aW9ucyR2YWx1ZVByb3BOYW0iLCJ2YWxpZGF0ZURlYm91bmNlIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJzZXRGaWVsZFZhbHVlIiwidmFsaWRhdGVGaWVsZCIsInZhbGlkYXRlRmllbGRBc3luYyIsInJlZ2lzdGVyRmllbGQiLCJ1bnJlZ2lzdGVyRmllbGQiLCJzaXplIiwibGFiZWxBbGlnbiIsInJlcXVpcmVkTWFyayIsInZhbGlkYXRlVHJpZ2dlciIsImZvcm1EaXNhYmxlZCIsImRpc2FibGVkIiwic3RvcmUiLCJpc1JlcXVpcmVkIiwiQm9vbGVhbiIsInNvbWUiLCJydWxlIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwidmFsdWVzIiwiZXJyb3JzIiwid2FybmluZ3MiLCJ2YWxpZGF0aW5nIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ0cmlnZ2VyIiwiYXBwbGljYWJsZSIsInJ1blZhbGlkYXRlQXN5bmMiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiYWJydXB0Iiwic3RvcCIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsImRlYm91bmNlZFZhbGlkYXRlIiwicnVuIiwiaGFuZGxlQ2hhbmdlIiwidG91Y2hlZCIsImdldFN0YXRlIiwic2V0U3RhdGUiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkiLCJoYW5kbGVCbHVyIiwiY3VycmVudFZhbHVlIiwiY2hpbGRDYWxsYmFja3NSZWYiLCJpbmplY3RlZE9uQ2hhbmdlIiwiX2IyIiwiX2EiLCJfYiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY3VycmVudCIsIm9uQ2hhbmdlIiwiY2FsbCIsImNvbmNhdCIsImluamVjdGVkT25CbHVyIiwiX2IzIiwiX2xlbjIiLCJfa2V5MiIsIm9uQmx1ciIsImluamVjdEZpZWxkIiwiY2hpbGQiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsInBsYWNl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O0lBQ1ZDLFlBQVksRUFBWkEsWUFBWTtJQUNaQyxlQUFlLEVBQWZBLGVBQWU7SUFDZmhDLGNBQWMsRUFBRWlDLFdBQVc7SUFDM0JqQixVQUFVLEVBQVZBLFVBQVU7SUFDVlAsSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWmlFLFdBQVcsRUFBWEE7RUQzRUEsQ0M0RUQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciB9IGZyb20gJy4vcnVuUnVsZXMnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMsIFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBCb29sZWFuKHJlcXVpcmVkIHx8IHJ1bGVzLnNvbWUoKHJ1bGUpID0+IHJ1bGUucmVxdWlyZWQpKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFJ1biBvbmx5IHRoZSBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBnaXZlbiBpbnRlcmFjdGl2ZSB0cmlnZ2VyOyBydWxlc1xuICAgIC8vIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsaWRhdGVUcmlnZ2VyIGZvbGxvdyB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihydWxlcywgdHJpZ2dlciwgdmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pKTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgLy8gdG91Y2hlZCBpcyBzZXQgYnkgdGhlIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgc2V0RmllbGRzVmFsdWUgZG9lcyBub3QgbWFyayBmaWVsZHMgdG91Y2hlZC5cbiAgICAgICAgICAgIGNvbnN0IHRvdWNoZWQgPSBzdG9yZS5nZXRTdGF0ZSgpLnRvdWNoZWQ7XG4gICAgICAgICAgICBpZiAoIXRvdWNoZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zZXRTdGF0ZSh7IHRvdWNoZWQ6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdG91Y2hlZCksIHsgW25hbWVdOiB0cnVlIH0pIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUgZnJvbSB0aGUgc3RvcmUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZVxuICAgICAgICAvLyB0aWNrIChjaGFuZ2Ug4oaSIGltbWVkaWF0ZSBibHVyKSBtdXN0IGJlIHZhbGlkYXRlZCwgbm90IHRoZSByZW5kZXItdGltZVxuICAgICAgICAvLyBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgbmFtZSlcbiAgICAgICAgICAgICAgICA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJ1blZhbGlkYXRlQXN5bmMoY3VycmVudFZhbHVlLCAnb25CbHVyJyk7XG4gICAgfSk7XG4gICAgLy8gTGF0ZXN0IGNoaWxkLXByb3ZpZGVkIGNhbGxiYWNrcywgY2FwdHVyZWQgYXQgaW5qZWN0RmllbGQgdGltZS4gVGhlIFNUQUJMRVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGJlbG93IGRlbGVnYXRlIHRocm91Z2ggdGhpcyByZWYgaW5zdGVhZCBvZiBiZWluZ1xuICAgIC8vIHJlY3JlYXRlZCBwZXIgcmVuZGVyIOKAlCBzbyBhIG1lbW9pemVkIGZpZWxkIGNvbXBvbmVudCBzZWVzIHNoYWxsb3ctZXF1YWxcbiAgICAvLyBwcm9wcyBhY3Jvc3MgcmVuZGVycyBhbmQgY2FuIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaXMgdHlwaW5nLlxuICAgIGNvbnN0IGNoaWxkQ2FsbGJhY2tzUmVmID0gdXNlUmVmKHt9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSwgLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSkpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdGVkT25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQmx1cikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgdGhlIHJlZ2lzdHJ5IGluIHN5bmMgd2l0aCB0aGUgTEFURVNUIHJ1bGVzIGV2ZXJ5IHJlbmRlciAocmVnaXN0cmF0aW9uXG4gICAgLy8gaXMgYSBjaGVhcCByZWYgbXV0YXRpb24pOiBkeW5hbWljIHJ1bGVzIChlLmcuIHJlcXVpcmVkIHRvZ2dsZWQgYnkgYW5vdGhlclxuICAgIC8vIGZpZWxkKSBtdXN0IGJlIHZpc2libGUgdG8gc3VibWl0LXRpbWUgdmFsaWRhdGlvbiwgbm90IGp1c3Qgb25DaGFuZ2UuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgIHJlZ2lzdGVyRmllbGQobmFtZSwgcnVsZXMpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wc1t2YWx1ZVByb3BOYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcgfHwgWydDaGVja2JveCcsICdTd2l0Y2gnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkNoYW5nZVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25CbHVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGluamVjdGVkUHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpLCAoZm9ybURpc2FibGVkICYmIGNoaWxkUHJvcHMuZGlzYWJsZWQgPT09IHVuZGVmaW5lZCAmJiB7IGRpc2FibGVkOiB0cnVlIH0pKSwgKFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgY2hpbGRQcm9wcy5zaXplID09PSB1bmRlZmluZWQgJiYgeyBzaXplIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
210
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ1c2VTdG9yZVNlbGVjdG9yIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiZ2V0TmVzdGVkVmFsdWUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIm5vcm1hbGl6ZVRyaWdnZXJzIiwicmVzb2x2ZVJ1bGVzIiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUyIsIlRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMiLCJleHRyYWN0RXZlbnRWYWx1ZSIsImUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZiIsImV2ZW50IiwidGFyZ2V0IiwidmFsdWUiLCJ1c2VGb3JtSXRlbSIsIm9wdGlvbnMiLCJuYW1lIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInZhbGlkYXRlU3RhdHVzIiwiX29wdGlvbnMkdmFsdWVQcm9wTmFtIiwidmFsaWRhdGVEZWJvdW5jZSIsIml0ZW1WYWxpZGF0ZVRyaWdnZXIiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJfdXNlUHJvRm9ybVN0YWJsZSIsImZvcm1JbnN0YW5jZSIsInNldEZpZWxkVmFsdWUiLCJzZXRGaWVsZEVycm9yIiwic2V0RmllbGRXYXJuaW5nIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInJldGFpbkZpZWxkIiwicmVsZWFzZUZpZWxkIiwic2l6ZSIsImxhYmVsQWxpZ24iLCJmb3JtVmFsaWRhdGVUcmlnZ2VyIiwiZm9ybURpc2FibGVkIiwiZGlzYWJsZWQiLCJzdG9yZSIsImFjdGl2ZVRyaWdnZXJzIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwidmFsdWVzIiwiZXJyb3JzIiwid2FybmluZ3MiLCJ2YWxpZGF0aW5nIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ0cmlnZ2VyIiwicmVzb2x2ZWQiLCJnZXRTdGF0ZSIsImFwcGxpY2FibGUiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJkZWJvdW5jZWRWYWxpZGF0ZSIsInJ1biIsImhhbmRsZUNoYW5nZSIsInRvdWNoZWQiLCJzZXRTdGF0ZSIsIk9iamVjdCIsImFzc2lnbiIsIl9kZWZpbmVQcm9wZXJ0eSIsImhhbmRsZUJsdXIiLCJjdXJyZW50VmFsdWUiLCJjaGlsZENhbGxiYWNrc1JlZiIsImluamVjdGVkT25DaGFuZ2UiLCJfYjIiLCJfYSIsIl9iIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjdXJyZW50Iiwib25DaGFuZ2UiLCJjYWxsIiwiYXBwbHkiLCJjb25jYXQiLCJpbmplY3RlZE9uQmx1ciIsIl9iMyIsIl9sZW4yIiwiX2tleTIiLCJvbkJsdXIiLCJpbmplY3RGaWVsZCIsImNoaWxkIiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZFByb3BzIiwicHJvcHMiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJpc0Zvcm1Db21wb25lbnQiLCJwbGFjZWhvbGRlciIsInNhZmVWYWx1ZSIsImluamVjdGVkUHJvcHMiLCJzdGF0dXMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUVoRCxPQUFPQyxnQkFBZ0IsTUFBTSxnQ0FBZ0M7QUFDN0QsT0FBT0Ms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QVEsRUFBRTtJQUFJLENBQUcsQ0FBQSxFQUd4RW5DLDBCQUEwQixDQUFDd0MsUUFBUSxDQUFDb0QsV0FBVyxJQUFJLEVBQUUsQ0FBQyxJQUN4REYsVUFBVSxDQUFDM0QsSUFBSSxLQUFLeEIsU0FBUyxJQUFJO01BQUV3QixJQUFJLEVBQUpBO0lBQUksQ0FBRyxDQUM3QztJQUVELG9CQUFPN0MsS0FBSyxDQUFDaUgsWUFBWSxDQUFDWCxLQUFLLEVBQUVTLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNMbEQsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZqQyxjQUFjLEVBQUVrQyxXQUFXO0lBQzNCcEIsSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWdUQsV0FBVyxFQUFYQTtFQy9GQSxDRGdHRDtBQUNIIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlUHJvRm9ybVN0YWJsZSwgdXNlUHJvRm9ybVN0b3JlIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VTdG9yZVNlbGVjdG9yLCBzaGFsbG93RXF1YWxBcnJheXMgfSBmcm9tICcuL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyBnZXROZXN0ZWRWYWx1ZSB9IGZyb20gJy4vcGF0aFV0aWxzJztcbmltcG9ydCB7IGZpbHRlclJ1bGVzQnlUcmlnZ2VyLCBub3JtYWxpemVUcmlnZ2VycywgcmVzb2x2ZVJ1bGVzIH0gZnJvbSAnLi9ydW5SdWxlcyc7XG5pbXBvcnQgeyBGT1JNX0NPTVBPTkVOVF9OQU1FUywgU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMsIFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuLyoqXG4gKiBOb3JtYWxpc2UgYSBjaGFuZ2UtaGFuZGxlciBhcmd1bWVudDogdW53cmFwIGBlLnRhcmdldFt2YWx1ZVByb3BOYW1lXWAgL1xuICogYGVbdmFsdWVQcm9wTmFtZV1gIChlLmcuIENoZWNrYm94IGVtaXRzIGB7IGNoZWNrZWQgfWApLCBlbHNlIGBlLnRhcmdldC52YWx1ZWAsXG4gKiBlbHNlIHBhc3MgdGhlIHZhbHVlIHRocm91Z2ggKGUuZy4gU3dpdGNoIGVtaXRzIHRoZSBib29sZWFuIGRpcmVjdGx5KS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSA9ICd2YWx1ZScpIHtcbiAgICBpZiAoZSA9PT0gbnVsbCB8fCB0eXBlb2YgZSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiBlO1xuICAgIGNvbnN0IGV2ZW50ID0gZTtcbiAgICBpZiAodmFsdWVQcm9wTmFtZSAhPT0gJ3ZhbHVlJyAmJiB2YWx1ZVByb3BOYW1lIGluIGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBldmVudFt2YWx1ZVByb3BOYW1lXTtcbiAgICB9XG4gICAgaWYgKCd0YXJnZXQnIGluIGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0eXBlb2YgZXZlbnQudGFyZ2V0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGlmICh2YWx1ZVByb3BOYW1lIGluIHRhcmdldClcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRbdmFsdWVQcm9wTmFtZV07XG4gICAgICAgIGlmICgndmFsdWUnIGluIHRhcmdldClcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm1JdGVtKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIHJ1bGVzID0gW10sIHZhbGlkYXRlU3RhdHVzLCB2YWx1ZVByb3BOYW1lID0gJ3ZhbHVlJywgdmFsaWRhdGVEZWJvdW5jZSwgdmFsaWRhdGVUcmlnZ2VyOiBpdGVtVmFsaWRhdGVUcmlnZ2VyLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSwgc2V0RmllbGRWYWx1ZSwgc2V0RmllbGRFcnJvciwgc2V0RmllbGRXYXJuaW5nLCB2YWxpZGF0ZUZpZWxkQXN5bmMsIHJlZ2lzdGVyRmllbGQsIHJldGFpbkZpZWxkLCByZWxlYXNlRmllbGQsIHNpemUsIGxhYmVsQWxpZ24sIHZhbGlkYXRlVHJpZ2dlcjogZm9ybVZhbGlkYXRlVHJpZ2dlciwgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIC8vIFRoZSBpdGVtLWxldmVsIHZhbGlkYXRlVHJpZ2dlciBvdmVycmlkZXMgdGhlIGZvcm0tbGV2ZWwgb25lO1xuICAgIC8vIHRoZSByZXN1bHQgaXMgdGhlIHNldCBvZiBpbnRlcmFjdGl2ZSBldmVudHMgdGhhdCB2YWxpZGF0ZSB0aGlzIGZpZWxkLlxuICAgIGNvbnN0IGFjdGl2ZVRyaWdnZXJzID0gbm9ybWFsaXplVHJpZ2dlcnMoaXRlbVZhbGlkYXRlVHJpZ2dlciwgZm9ybVZhbGlkYXRlVHJpZ2dlcik7XG4gICAgLy8gUGVyLWZpZWxkIHN0b3JlIHN1YnNjcmlwdGlvbjogdGhpcyBpdGVtIHJlLXJlbmRlcnMgT05MWSB3aGVuIGl0cyBvd25cbiAgICAvLyB2YWx1ZS9lcnJvci93YXJuaW5nL3ZhbGlkYXRpbmcgc2xpY2UgY2hhbmdlcyDigJQgdHlwaW5nIGluIGEgc2libGluZyBmaWVsZFxuICAgIC8vIHByb2R1Y2VzIGFuIGVxdWFsIHR1cGxlIGFuZCB0aGUgc2VsZWN0b3Igc2hvcnQtY2lyY3VpdHMuXG4gICAgLy8gRXJyb3JzL3dhcm5pbmdzIGFyZSBzdG9yZWQgRkxBVCwga2V5ZWQgYnkgdGhlIGZ1bGwgKHBvc3NpYmx5IGRvdHRlZCkgZmllbGRcbiAgICAvLyBuYW1lIOKAlCBuZXZlciByZXNvbHZlIHRoZW0gYXMgbmVzdGVkIHBhdGhzIG9yIGRvdHRlZCBuYW1lcyB3b3VsZCBtaXNzLlxuICAgIGNvbnN0IFtmaWVsZFZhbHVlLCBmaWVsZEVycm9yLCBmaWVsZFdhcm5pbmcsIGZpZWxkVmFsaWRhdGluZ10gPSB1c2VTdG9yZVNlbGVjdG9yKHN0b3JlLCAoc3RhdGUpID0+IFtcbiAgICAgICAgbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpID8gZ2V0TmVzdGVkVmFsdWUoc3RhdGUudmFsdWVzLCBuYW1lKSA6IHN0YXRlLnZhbHVlc1tuYW1lXSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBuYW1lID8gc3RhdGUuZXJyb3JzW25hbWVdIDogdW5kZWZpbmVkLFxuICAgICAgICBuYW1lID8gc3RhdGUud2FybmluZ3NbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyAoc3RhdGUudmFsaWRhdGluZ1tuYW1lXSB8fCBmYWxzZSkgOiBmYWxzZSxcbiAgICBdLCBzaGFsbG93RXF1YWxBcnJheXMpO1xuICAgIGNvbnN0IGZpbmFsU3RhdHVzID0gdmFsaWRhdGVTdGF0dXMgfHwgKGZpZWxkRXJyb3IgPyAnZXJyb3InIDogZmllbGRXYXJuaW5nID8gJ3dhcm5pbmcnIDogdW5kZWZpbmVkKTtcbiAgICAvLyBVbmlmaWVkIGFzeW5jIHZhbGlkYXRpb24gZGlzcGF0Y2guIEVWRVJZIGludGVyYWN0aXZlIHRyaWdnZXIgKG9uQ2hhbmdlLFxuICAgIC8vIG9uQmx1cikgdmFsaWRhdGVzIHRocm91Z2ggdGhlIFNBTUUgYXN5bmMgcGF0aCwgc28gYSBydWxlIGJlaGF2ZXMgaWRlbnRpY2FsbHlcbiAgICAvLyBvbiBlYWNoIG9mIGl0cyBlZmZlY3RpdmUgdHJpZ2dlcnMg4oCUIHdoZXRoZXIgaXQgaXMgYSBidWlsdGluIGNoZWNrLCBhXG4gICAgLy8gc3luYy10aHJvd2luZyB2YWxpZGF0b3IsIG9yIGEgUHJvbWlzZS1yZXR1cm5pbmcgb25lIChtYXRjaGluZyB0aGUgdXBzdHJlYW1cbiAgICAvLyBmaWVsZC1mb3JtIC8gcHJvLWNvbXBvbmVudHMgbW9kZWw6IGEgdmFsaWRhdG9yIHJ1bnMgb24gZWFjaCBvZiBpdHNcbiAgICAvLyB0cmlnZ2VycywgYXdhaXRlZCkuIFRyaWdnZXIgZmlsdGVyaW5nIG5lZWRzIHJlc29sdmVkIHJ1bGVzIOKAlCBhIGZ1bmN0aW9uLWZvcm1cbiAgICAvLyBydWxlJ3MgdmFsaWRhdGVUcmlnZ2VyIGlzIG9ubHkga25vd24gYWZ0ZXIgcmVzb2x2aW5nIGl0IGFnYWluc3QgdGhlIGxpdmVcbiAgICAvLyB2YWx1ZXMuIFRoZSBwZXItZmllbGQgZXBvY2ggKyBgdmFsaWRhdGluZ2AgZmxhZyBhcmUgb3duZWQgYnlcbiAgICAvLyB2YWxpZGF0ZUZpZWxkQXN5bmMsIHNvIGEgc2xvdyBhc3luYyBjaGVjayBjYW4gbmV2ZXIgc3RhbXAgYSBzdGFsZSBlcnJvci5cbiAgICBjb25zdCBydW5WYWxpZGF0ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVJ1bGVzKHJ1bGVzLCBzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgZm9ybUluc3RhbmNlKTtcbiAgICAgICAgY29uc3QgYXBwbGljYWJsZSA9IGZpbHRlclJ1bGVzQnlUcmlnZ2VyKHJlc29sdmVkLCB0cmlnZ2VyLCBhY3RpdmVUcmlnZ2VycywgbmFtZSk7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIHZhbHVlLCBhcHBsaWNhYmxlKTtcbiAgICB9KTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgLy8gdG91Y2hlZCBpcyBzZXQgYnkgdGhlIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgc2V0RmllbGRzVmFsdWUgZG9lcyBub3QgbWFyayBmaWVsZHMgdG91Y2hlZC5cbiAgICAgICAgICAgIGNvbnN0IHRvdWNoZWQgPSBzdG9yZS5nZXRTdGF0ZSgpLnRvdWNoZWQ7XG4gICAgICAgICAgICBpZiAoIXRvdWNoZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zZXRTdGF0ZSh7IHRvdWNoZWQ6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdG91Y2hlZCksIHsgW25hbWVdOiB0cnVlIH0pIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUgZnJvbSB0aGUgc3RvcmUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZVxuICAgICAgICAvLyB0aWNrIChjaGFuZ2Ug4oaSIGltbWVkaWF0ZSBibHVyKSBtdXN0IGJlIHZhbGlkYXRlZCwgbm90IHRoZSByZW5kZXItdGltZVxuICAgICAgICAvLyBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgbmFtZSlcbiAgICAgICAgICAgICAgICA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJ1blZhbGlkYXRlKGN1cnJlbnRWYWx1ZSwgJ29uQmx1cicpO1xuICAgIH0pO1xuICAgIC8vIExhdGVzdCBjaGlsZC1wcm92aWRlZCBjYWxsYmFja3MsIGNhcHR1cmVkIGF0IGluamVjdEZpZWxkIHRpbWUuIFRoZSBTVEFCTEVcbiAgICAvLyBpbmplY3RlZCBoYW5kbGVycyBiZWxvdyBkZWxlZ2F0ZSB0aHJvdWdoIHRoaXMgcmVmIGluc3RlYWQgb2YgYmVpbmdcbiAgICAvLyByZWNyZWF0ZWQgcGVyIHJlbmRlciDigJQgc28gYSBtZW1vaXplZCBmaWVsZCBjb21wb25lbnQgc2VlcyBzaGFsbG93LWVxdWFsXG4gICAgLy8gcHJvcHMgYWNyb3NzIHJlbmRlcnMgYW5kIGNhbiBiYWlsIG91dCB3aGlsZSBhbm90aGVyIGZpZWxkIGlzIHR5cGluZy5cbiAgICBjb25zdCBjaGlsZENhbGxiYWNrc1JlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgaW5qZWN0ZWRPbkNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQ2hhbmdlKGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUpKTtcbiAgICAgICAgKF9iID0gKF9hID0gY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCkub25DaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBlLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkJsdXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICAvLyBBIEZSRVNIIGZpZWxkIGluc3RhbmNlIG11c3Qgbm90IGluaGVyaXQgZXJyb3Ivd2FybmluZyBtZXRhIHN0YW1wZWQgb24gdGhlXG4gICAgLy8gc2FtZSBuYW1lIGJ5IGEgcHJldmlvdXMsIHNpbmNlLXVubW91bnRlZCBpbnN0YW5jZSAoZXJyb3JzIG91dGxpdmVcbiAgICAvLyB1bnJlZ2lzdGVyRmllbGQgYnkgZGVzaWduIOKAlCBsaXN0IHJlbWFwcGluZyBkZXBlbmRzIG9uIHRoYXQpLiBNT1VOVCBvbmx5OlxuICAgIC8vIGEgTkFNRSBjaGFuZ2UgbXVzdCBub3QgY2xlYXIsIG9yIFByb0Zvcm1MaXN0J3MgbWV0YSByZW1hcHBpbmcgKHdoaWNoXG4gICAgLy8gcmVuYW1lcyByb3dzIHBvc2l0aW9uYWxseSkgd291bGQgbG9zZSB0aGUgdmVyeSBtZXRhIGl0IGp1c3QgbW92ZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkRXJyb3IobmFtZSwgbnVsbCk7XG4gICAgICAgICAgICBzZXRGaWVsZFdhcm5pbmcobmFtZSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTW91bnQtb25seSBieSBkZXNpZ24gKHNlZSBhYm92ZSkuXG4gICAgfSwgW10pO1xuICAgIC8vIE1vdW50LWNvdW50ZWQgbGlmZXRpbWU6IHJlbGVhc2VGaWVsZCByZW1vdmVzIHRoZSBydWxlcyBvbmx5IHdoZW4gdGhlIExBU1RcbiAgICAvLyBzYW1lLW5hbWUgaW5zdGFuY2UgdW5tb3VudHMg4oCUIGEgbWVtby1iYWlsZWQgc3Vydml2b3IgKHdoaWNoIHdvbid0XG4gICAgLy8gcmUtcmVuZGVyIHRvIHJlLXJlZ2lzdGVyKSBrZWVwcyBpdHMgcmVnaXN0cmF0aW9uIGludGFjdC4gRGVjbGFyZWQgQkVGT1JFXG4gICAgLy8gdGhlIHJlZ2lzdGVyIGVmZmVjdDogcmV0YWluIG11c3QgcnVuIGZpcnN0IHNvIHRoZSByZWdpc3RyYXRpb24gYmVsb3cgaXNcbiAgICAvLyBjbGFzc2lmaWVkIGFzIGluc3RhbmNlLW93bmVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgcmV0YWluRmllbGQobmFtZSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICByZWxlYXNlRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICAvLyBLZWVwIHRoZSByZWdpc3RyeSBpbiBzeW5jIHdpdGggdGhlIExBVEVTVCBydWxlcyBldmVyeSByZW5kZXIgKHJlZ2lzdHJhdGlvblxuICAgIC8vIGlzIGEgY2hlYXAgcmVmIG11dGF0aW9uKTogZHluYW1pYyBydWxlcyAoZS5nLiByZXF1aXJlZCB0b2dnbGVkIGJ5IGFub3RoZXJcbiAgICAvLyBmaWVsZCkgbXVzdCBiZSB2aXNpYmxlIHRvIHN1Ym1pdC10aW1lIHZhbGlkYXRpb24sIG5vdCBqdXN0IG9uQ2hhbmdlLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzW3ZhbHVlUHJvcE5hbWVdICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghaXNGb3JtQ29tcG9uZW50KVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBsZXQgc2FmZVZhbHVlID0gZmllbGRWYWx1ZTtcbiAgICAgICAgaWYgKHNhZmVWYWx1ZSA9PT0gbnVsbCB8fCBzYWZlVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcE5hbWUgPT09ICdjaGVja2VkJyB8fCBbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgfHxcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgdHlwZW9mIHNhZmVWYWx1ZSAhPT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgb25DaGFuZ2U6IHR5cGVvZiBjaGlsZFByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjaGlsZFByb3BzLm9uQ2hhbmdlXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6IHR5cGVvZiBjaGlsZFByb3BzLm9uQmx1ciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkJsdXJcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHsgW3ZhbHVlUHJvcE5hbWVdOiBzYWZlVmFsdWUsIG9uQ2hhbmdlOiBpbmplY3RlZE9uQ2hhbmdlLCBvbkJsdXI6IGluamVjdGVkT25CbHVyIH0sIChmaW5hbFN0YXR1cyA9PT0gJ2Vycm9yJyAmJiB7IHN0YXR1czogJ2Vycm9yJyB9KSksIChmb3JtRGlzYWJsZWQgJiYgY2hpbGRQcm9wcy5kaXNhYmxlZCA9PT0gdW5kZWZpbmVkICYmIHsgZGlzYWJsZWQ6IHRydWUgfSkpLCAoU0laRV9BV0FSRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpICYmXG4gICAgICAgICAgICBjaGlsZFByb3BzLnNpemUgPT09IHVuZGVmaW5lZCAmJiB7IHNpemUgfSkpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmplY3RlZFByb3BzKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkRXJyb3IsXG4gICAgICAgIGZpZWxkV2FybmluZyxcbiAgICAgICAgZmllbGRWYWxpZGF0aW5nLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogZmluYWxTdGF0dXMsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Rejection type of `validateFields`. Submit handlers use the `instanceof`
4
+ * check to tell a VALIDATION failure (route to `onFinishFailed` with the
5
+ * field errors) apart from a consumer `onFinish` rejection (which must NOT
6
+ * be reported as a validation failure).
7
+ */
8
+ export declare class FormValidationError extends Error {
9
+ values: Record<string, any>;
10
+ errors: Record<string, ReactNode>;
11
+ constructor(values: Record<string, any>, errors: Record<string, ReactNode>);
12
+ }
13
+ export default FormValidationError;
@@ -0,0 +1,29 @@
1
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _wrapNativeSuper from "@babel/runtime/helpers/esm/wrapNativeSuper";
7
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
+ /**
10
+ * Rejection type of `validateFields`. Submit handlers use the `instanceof`
11
+ * check to tell a VALIDATION failure (route to `onFinishFailed` with the
12
+ * field errors) apart from a consumer `onFinish` rejection (which must NOT
13
+ * be reported as a validation failure).
14
+ */
15
+ export var FormValidationError = /*#__PURE__*/function (_Error) {
16
+ function FormValidationError(values, errors) {
17
+ var _this;
18
+ _classCallCheck(this, FormValidationError);
19
+ _this = _callSuper(this, FormValidationError, ['Validation failed']);
20
+ _this.name = 'FormValidationError';
21
+ _this.values = values;
22
+ _this.errors = errors;
23
+ return _this;
24
+ }
25
+ _inherits(FormValidationError, _Error);
26
+ return _createClass(FormValidationError);
27
+ }(/*#__PURE__*/_wrapNativeSuper(Error));
28
+ export default FormValidationError;
29
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLmpzIl0sIm5hbWVzIjpbIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJfRXJyb3IiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJuYW1lIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwiX3dyYXBOYXRpdmVTdXBlciIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBO0FDREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBREdBLFdBQWFBLG1CQUFvQiwwQkFBQUMsTUFBQTtFQUkvQixTQUFBRCxvQkFBWUUsTUFBMkIsRUFBRUMsTUFBaUMsRUFBQTtJQUFBLElBQUFDLEtBQUE7SUFBQUMsZUFBQSxPQUFBTCxtQkFBQTtJQUN4RUksS0FBQSxHQUFBRSxVQUFBLE9BQUFOLG1CQUFBLEdBQU0sbUJBQW1CO0lBQ3pCSSxLQUFBLENBQUtHLElBQUksR0FBRyxxQkFBcUI7SUFDakNILEtBQUEsQ0FBS0YsTUFBTSxHQUFHQSxNQUFNO0lBQ3BCRSxLQUFBLENBQUtELE1BQU0sR0FBR0EsTUFBTTtJQUFDLE9BQUFDLEtBQUE7RUFDdkI7RUFBQ0ksU0FBQSxDQUFBUixtQkFBQSxFQUFBQyxNQUFBO0VBQUEsT0FBQVEsWUFBQSxDQUFBVCxtQkFBQTtBQUFBLGVBQUFVLGdCQUFBLENBVHNDQyxLQUFLO0FBWTlDLGVBQWVYLG1CQUFtQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS92YWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogUmVqZWN0aW9uIHR5cGUgb2YgYHZhbGlkYXRlRmllbGRzYC4gU3VibWl0IGhhbmRsZXJzIHVzZSB0aGUgYGluc3RhbmNlb2ZgXG4gKiBjaGVjayB0byB0ZWxsIGEgVkFMSURBVElPTiBmYWlsdXJlIChyb3V0ZSB0byBgb25GaW5pc2hGYWlsZWRgIHdpdGggdGhlXG4gKiBmaWVsZCBlcnJvcnMpIGFwYXJ0IGZyb20gYSBjb25zdW1lciBgb25GaW5pc2hgIHJlamVjdGlvbiAod2hpY2ggbXVzdCBOT1RcbiAqIGJlIHJlcG9ydGVkIGFzIGEgdmFsaWRhdGlvbiBmYWlsdXJlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZvcm1WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWVzLCBlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdGb3JtVmFsaWRhdGlvbkVycm9yJztcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEZvcm1WYWxpZGF0aW9uRXJyb3I7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,3 +1,3 @@
1
1
  import type { CheckboxProps } from "../../Checkbox";
2
- export declare const ProFormCheckbox: import("react").FC<import("..").ProFormFieldProps<CheckboxProps>>;
2
+ export declare const ProFormCheckbox: import("./createProFormField").ProFormFieldComponent<CheckboxProps>;
3
3
  export default ProFormCheckbox;
@@ -1,3 +1,3 @@
1
1
  import type { CheckboxGroupProps } from "../../Checkbox";
2
- export declare const ProFormCheckboxGroup: import("react").FC<import("..").ProFormFieldProps<CheckboxGroupProps>>;
2
+ export declare const ProFormCheckboxGroup: import("./createProFormField").ProFormFieldComponent<CheckboxGroupProps>;
3
3
  export default ProFormCheckboxGroup;
@@ -1,12 +1,26 @@
1
+ import { jsxs as _jsxs, Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Fragment } from 'react';
1
3
  import { CheckboxGroup } from '../../Checkbox';
2
4
  import { createProFormField } from './createProFormField';
3
- import { renderTextReadonly } from '../utils';
5
+ import { findOptionLabel, renderTextReadonly } from '../utils';
6
+ function renderCheckboxGroupReadonly(value, props) {
7
+ if (!Array.isArray(value)) return renderTextReadonly(value);
8
+ if (value.length === 0) return '-';
9
+ // Labels are ReactNode — join with ', ' as element children rather than
10
+ // string-concatenating (which would collapse element labels to '').
11
+ return _jsx(_Fragment, {
12
+ children: value.map(function (item, index) {
13
+ var _a;
14
+ return _jsxs(Fragment, {
15
+ children: [index > 0 && ', ', (_a = findOptionLabel(props === null || props === void 0 ? void 0 : props.options, item)) !== null && _a !== void 0 ? _a : String(item)]
16
+ }, index);
17
+ })
18
+ });
19
+ }
4
20
  export var ProFormCheckboxGroup = createProFormField({
5
21
  component: CheckboxGroup,
6
- renderReadonly: function renderReadonly(value) {
7
- return renderTextReadonly(Array.isArray(value) ? value.join(', ') : value);
8
- }
22
+ renderReadonly: renderCheckboxGroupReadonly
9
23
  });
10
24
  ProFormCheckboxGroup.displayName = 'ProFormCheckboxGroup';
11
25
  export default ProFormCheckboxGroup;
12
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtQ2hlY2tib3hHcm91cC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1DaGVja2JveEdyb3VwLmpzIl0sIm5hbWVzIjpbIkNoZWNrYm94R3JvdXAiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsImNvbXBvbmVudCIsInJlbmRlclJlYWRvbmx5IiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBUSxnQkFBZ0I7QUFFOUMsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGtCQUFrQixRQUFRLFVBQVU7QUFFN0MsT0FBTyxJQUFNQyxvQkFBb0IsR0FBR0Ysa0JBQWtCLENBQXFCO0VBQ3pFRyxTQUFTLEVBQUVKLGFBQWE7RUFDeEJLLGNBQWMsRUFBRSxTQUFoQkEsY0FBY0EsQ0FBR0MsS0FBSztJQUFBLE9BQ3BCSixrQkFBa0IsQ0FBQ0ssS0FBSyxDQUFDQyxPQUFPLENBQUNGLEtBQUssQ0FBQyxHQUFHQSxLQUFLLENBQUNHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBR0gsS0FBSyxDQUFDO0VBQUE7QUNGdkUsQ0RHQyxDQUFDO0FBRUZILG9CQUFvQixDQUFDTyxXQUFXLEdBQUcsc0JBQXNCO0FBRXpELGVBQWVQLG9CQUFvQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1DaGVja2JveEdyb3VwLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBDaGVja2JveEdyb3VwIH0gZnJvbSAnLi4vLi4vQ2hlY2tib3gnO1xuaW1wb3J0IHsgY3JlYXRlUHJvRm9ybUZpZWxkIH0gZnJvbSAnLi9jcmVhdGVQcm9Gb3JtRmllbGQnO1xuaW1wb3J0IHsgcmVuZGVyVGV4dFJlYWRvbmx5IH0gZnJvbSAnLi4vdXRpbHMnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1DaGVja2JveEdyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENoZWNrYm94R3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6ICh2YWx1ZSkgPT4gcmVuZGVyVGV4dFJlYWRvbmx5KEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCAnKSA6IHZhbHVlKSxcbn0pO1xuUHJvRm9ybUNoZWNrYm94R3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUNoZWNrYm94R3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUNoZWNrYm94R3JvdXA7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
26
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4IiwiX2pzeCIsIkNoZWNrYm94R3JvdXAiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJmaW5kT3B0aW9uTGFiZWwiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJyZW5kZXJDaGVja2JveEdyb3VwUmVhZG9ubHkiLCJ2YWx1ZSIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJfYSIsIm9wdGlvbnMiLCJTdHJpbmciLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsImNvbXBvbmVudCIsInJlbmRlclJlYWRvbmx5IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLElBQUksSUFBSUMsS0FBSyxFQUFFQyxRQUFRLElBQUlDLFNBQVMsRUFBRUMsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQXJGLFNBQVNILFFBQVEsUUFBUSxPQUFPO0FBRWhDLFNBQVNJLGFBQWEsUUFBUSxnQkFBZ0I7QUFFOUMsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGVBQWUsRUFBRUMsa0JBQWtCLFFBQVEsVUFBVTtBQUU5RCxTQUFTQywyQkFBMkJBLENBQ2xDQyxLQUFVLEVBQ1ZDLEtBQW1DLEVBQUE7RUFFbkMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUUsT0FBT0Ysa0JBQWtCLENBQUNFLEtBQUssQ0FBQztFQUMzRCxJQUFJQSxLQUFLLENBQUNJLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHO0VBQ2xDO0VBQ0E7RUFDQSxPQUNFVixJQUFBLENBQUFGLFNBQUEsRUFBQTtJQUFBYSxRQUFBLEVBQ0dMLEtBQUssQ0FBQ00sR0FBRyxDQUFDLFVBQUNDLElBQUksRUFBRUMsS0FBSyxFQUFJO01ESnJCLElBQUlDLEVBQUU7TUNJZ0IsT0FDMUJuQixLQUFBLENBQUNDLFFBQVEsRUFBQTtRQUFBYyxRQUFBLEVBQUEsQ0FDTkcsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQ2pCLENBQUFDLEVBQUEsR0FBQVosZUFBZSxDQUFDSSxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRVMsT0FBTyxFQUFFSCxJQUFJLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRSxNQUFNLENBQUNKLElBQUksQ0FBQztNQUFBLENBQUEsRUFGekNDLEtBQUssQ0FHVDtJRE5YLENDT0Q7RUFBQyxDQUFBLENBQ0Q7QUFFUDtBQUVBLE9BQU8sSUFBTUksb0JBQW9CLEdBQUdoQixrQkFBa0IsQ0FBcUI7RUFDekVpQixTQUFTLEVBQUVsQixhQUFhO0VBQ3hCbUIsY0FBYyxFQUFFZjtBRFRsQixDQ1VDLENBQUM7QUFFRmEsb0JBQW9CLENBQUNHLFdBQVcsR0FBRyxzQkFBc0I7QUFFekQsZUFBZUgsb0JBQW9CIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENoZWNrYm94R3JvdXAgfSBmcm9tICcuLi8uLi9DaGVja2JveCc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5pbXBvcnQgeyBmaW5kT3B0aW9uTGFiZWwsIHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSh2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICByZXR1cm4gcmVuZGVyVGV4dFJlYWRvbmx5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIC8vIExhYmVscyBhcmUgUmVhY3ROb2RlIOKAlCBqb2luIHdpdGggJywgJyBhcyBlbGVtZW50IGNoaWxkcmVuIHJhdGhlciB0aGFuXG4gICAgLy8gc3RyaW5nLWNvbmNhdGVuYXRpbmcgKHdoaWNoIHdvdWxkIGNvbGxhcHNlIGVsZW1lbnQgbGFiZWxzIHRvICcnKS5cbiAgICByZXR1cm4gKF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiB2YWx1ZS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmICcsICcsIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgaXRlbSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFN0cmluZyhpdGVtKV0gfSwgaW5kZXgpKTtcbiAgICAgICAgfSkgfSkpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1DaGVja2JveEdyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENoZWNrYm94R3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSxcbn0pO1xuUHJvRm9ybUNoZWNrYm94R3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUNoZWNrYm94R3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUNoZWNrYm94R3JvdXA7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,3 +1,3 @@
1
1
  import type { CalendarProps } from "../../Calendar";
2
- export declare const ProFormDatePicker: import("react").FC<import("..").ProFormFieldProps<CalendarProps>>;
2
+ export declare const ProFormDatePicker: import("./createProFormField").ProFormFieldComponent<CalendarProps>;
3
3
  export default ProFormDatePicker;
@@ -23,4 +23,4 @@ export var ProFormDatePicker = createProFormField({
23
23
  });
24
24
  ProFormDatePicker.displayName = 'ProFormDatePicker';
25
25
  export default ProFormDatePicker;
26
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIkNhbGVuZGFyIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJjb21wb25lbnQiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZ0JBQWdCO0FBRXpDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxTQUFTQyxrQkFBa0JBLENBQUNDLEtBQWMsRUFBQTtFQUN4QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFQSxPQUFPLElBQU1ZLGlCQUFpQixHQUFHZCxrQkFBa0IsQ0FBZ0I7RUFDakVlLFNBQVMsRUFBRWhCLFFBQVE7RUFDbkI7RUFDQTtFQUNBaUIsU0FBUyxFQUFFLE1BQU07RUFDakJDLGNBQWMsRUFBRWhCO0FDSmxCLENES0MsQ0FBQztBQUVGYSxpQkFBaUIsQ0FBQ0ksV0FBVyxHQUFHLG1CQUFtQjtBQUVuRCxlQUFlSixpQkFBaUIiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9DYWxlbmRhcic7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiByZW5kZXJEYXRlUmVhZG9ubHkodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuICctJztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLmZpbHRlcigodikgPT4gdiBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICAubWFwKChkKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpKVxuICAgICAgICAgICAgLmpvaW4oJyB+ICcpO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbmV4cG9ydCBjb25zdCBQcm9Gb3JtRGF0ZVBpY2tlciA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBDYWxlbmRhcixcbiAgICAvLyBSZWdpc3RlcnMgaW50byB0aGUgZm9ybSdzIHZhbHVlVHlwZSByZWdpc3RyeSBzbyBkYXRlRm9ybWF0dGVyIGZvcm1hdHMgdGhpc1xuICAgIC8vIGZpZWxkIGFzIGEgZGF0ZTsgcGFzcyB2YWx1ZVR5cGU9XCJkYXRlVGltZVwiIHBlciBmaWVsZCBmb3IgdGltZS1vZi1kYXkgb3V0cHV0LlxuICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgIHJlbmRlclJlYWRvbmx5OiByZW5kZXJEYXRlUmVhZG9ubHksXG59KTtcblByb0Zvcm1EYXRlUGlja2VyLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1EYXRlUGlja2VyJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1EYXRlUGlja2VyOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
26
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIkNhbGVuZGFyIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJjb21wb25lbnQiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZ0JBQWdCO0FBRXpDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxTQUFTQyxrQkFBa0JBLENBQUNDLEtBQVUsRUFBQTtFQUNwQyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFQSxPQUFPLElBQU1ZLGlCQUFpQixHQUFHZCxrQkFBa0IsQ0FBZ0I7RUFDakVlLFNBQVMsRUFBRWhCLFFBQVE7RUFDbkI7RUFDQTtFQUNBaUIsU0FBUyxFQUFFLE1BQU07RUFDakJDLGNBQWMsRUFBRWhCO0FDSmxCLENES0MsQ0FBQztBQUVGYSxpQkFBaUIsQ0FBQ0ksV0FBVyxHQUFHLG1CQUFtQjtBQUVuRCxlQUFlSixpQkFBaUIiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9DYWxlbmRhcic7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiByZW5kZXJEYXRlUmVhZG9ubHkodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuICctJztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLmZpbHRlcigodikgPT4gdiBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICAubWFwKChkKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpKVxuICAgICAgICAgICAgLmpvaW4oJyB+ICcpO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbmV4cG9ydCBjb25zdCBQcm9Gb3JtRGF0ZVBpY2tlciA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBDYWxlbmRhcixcbiAgICAvLyBSZWdpc3RlcnMgaW50byB0aGUgZm9ybSdzIHZhbHVlVHlwZSByZWdpc3RyeSBzbyBkYXRlRm9ybWF0dGVyIGZvcm1hdHMgdGhpc1xuICAgIC8vIGZpZWxkIGFzIGEgZGF0ZTsgcGFzcyB2YWx1ZVR5cGU9XCJkYXRlVGltZVwiIHBlciBmaWVsZCBmb3IgdGltZS1vZi1kYXkgb3V0cHV0LlxuICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgIHJlbmRlclJlYWRvbmx5OiByZW5kZXJEYXRlUmVhZG9ubHksXG59KTtcblByb0Zvcm1EYXRlUGlja2VyLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1EYXRlUGlja2VyJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1EYXRlUGlja2VyOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,4 +1,9 @@
1
- import React from 'react';
1
+ import type { ReactElement } from 'react';
2
2
  import type { ProFormFieldSetProps } from '../interface';
3
- export declare const ProFormFieldSet: React.NamedExoticComponent<ProFormFieldSetProps>;
3
+ import type { ProFormFieldName } from '../core/namePathType';
4
+ export interface ProFormFieldSetComponent {
5
+ <Values = Record<string, any>, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>>(props: ProFormFieldSetProps<Values, Name>): ReactElement | null;
6
+ displayName?: string;
7
+ }
8
+ export declare const ProFormFieldSet: ProFormFieldSetComponent;
4
9
  export default ProFormFieldSet;