@1money/component-ui 0.0.71 → 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.
- package/es/components/ProForm/ProForm.d.ts +10 -2
- package/es/components/ProForm/ProForm.js +55 -22
- package/es/components/ProForm/ProFormDependency.js +4 -1
- package/es/components/ProForm/ProFormItem.js +73 -36
- package/es/components/ProForm/SchemaForm.d.ts +7 -0
- package/es/components/ProForm/SchemaForm.js +103 -0
- package/es/components/ProForm/Submitter.js +12 -2
- package/es/components/ProForm/context.d.ts +22 -3
- package/es/components/ProForm/context.js +49 -10
- package/es/components/ProForm/core/constants.d.ts +2 -1
- package/es/components/ProForm/core/constants.js +3 -6
- package/es/components/ProForm/core/hooks/useForm.js +155 -131
- package/es/components/ProForm/core/hooks/useFormCore.js +73 -39
- package/es/components/ProForm/core/interface.d.ts +33 -12
- package/es/components/ProForm/core/runRules.d.ts +16 -6
- package/es/components/ProForm/core/runRules.js +94 -47
- package/es/components/ProForm/core/useFormItem.d.ts +10 -1
- package/es/components/ProForm/core/useFormItem.js +101 -39
- package/es/components/ProForm/fields/ProFormDatePicker.js +4 -1
- package/es/components/ProForm/fields/createProFormField.js +50 -31
- package/es/components/ProForm/index.d.ts +11 -4
- package/es/components/ProForm/index.js +7 -2
- package/es/components/ProForm/interface.d.ts +89 -14
- package/es/components/ProForm/layouts/DialogForm.d.ts +5 -1
- package/es/components/ProForm/layouts/DialogForm.js +2 -1
- package/es/components/ProForm/layouts/DrawerForm.d.ts +5 -1
- package/es/components/ProForm/layouts/DrawerForm.js +2 -1
- package/es/components/ProForm/layouts/QueryFilter.d.ts +5 -2
- package/es/components/ProForm/layouts/QueryFilter.js +77 -12
- package/es/components/ProForm/style/ProForm.css +6 -0
- package/es/components/ProForm/utils.d.ts +12 -1
- package/es/components/ProForm/utils.js +70 -21
- package/es/components/Tooltip/style/Tooltip.css +1 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/lib/components/ProForm/ProForm.d.ts +10 -2
- package/lib/components/ProForm/ProForm.js +53 -20
- package/lib/components/ProForm/ProFormDependency.js +4 -1
- package/lib/components/ProForm/ProFormItem.js +72 -34
- package/lib/components/ProForm/SchemaForm.d.ts +7 -0
- package/lib/components/ProForm/SchemaForm.js +110 -0
- package/lib/components/ProForm/Submitter.js +12 -2
- package/lib/components/ProForm/context.d.ts +22 -3
- package/lib/components/ProForm/context.js +49 -10
- package/lib/components/ProForm/core/constants.d.ts +2 -1
- package/lib/components/ProForm/core/constants.js +4 -7
- package/lib/components/ProForm/core/hooks/useForm.js +154 -130
- package/lib/components/ProForm/core/hooks/useFormCore.js +72 -38
- package/lib/components/ProForm/core/interface.d.ts +33 -12
- package/lib/components/ProForm/core/runRules.d.ts +16 -6
- package/lib/components/ProForm/core/runRules.js +95 -47
- package/lib/components/ProForm/core/useFormItem.d.ts +10 -1
- package/lib/components/ProForm/core/useFormItem.js +100 -38
- package/lib/components/ProForm/fields/ProFormDatePicker.js +4 -1
- package/lib/components/ProForm/fields/createProFormField.js +50 -31
- package/lib/components/ProForm/index.d.ts +11 -4
- package/lib/components/ProForm/index.js +16 -1
- package/lib/components/ProForm/interface.d.ts +89 -14
- package/lib/components/ProForm/layouts/DialogForm.d.ts +5 -1
- package/lib/components/ProForm/layouts/DialogForm.js +2 -1
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +5 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +2 -1
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +5 -2
- package/lib/components/ProForm/layouts/QueryFilter.js +77 -12
- package/lib/components/ProForm/style/ProForm.css +6 -0
- package/lib/components/ProForm/utils.d.ts +12 -1
- package/lib/components/ProForm/utils.js +73 -21
- package/lib/components/Tooltip/style/Tooltip.css +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +13 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +54 -0
- package/scripts/mcp-server/index.generated.json +1212 -80
|
@@ -7,11 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.useFormItem = useFormItem;
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
14
|
+
var _useDebouncedCallback2 = _interopRequireDefault(require("@1money/hooks/useDebouncedCallback"));
|
|
13
15
|
var _context2 = require("../context");
|
|
14
16
|
var _pathUtils = require("./pathUtils");
|
|
17
|
+
var _runRules = require("./runRules");
|
|
15
18
|
var _constants = require("./constants");
|
|
16
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -42,9 +45,24 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
42
45
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
46
|
});
|
|
44
47
|
};
|
|
45
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Normalise a change-handler argument: unwrap `e.target[valuePropName]` /
|
|
50
|
+
* `e[valuePropName]` (e.g. Checkbox emits `{ checked }`), else `e.target.value`,
|
|
51
|
+
* else pass the value through (e.g. Switch emits the boolean directly).
|
|
52
|
+
*/
|
|
46
53
|
function extractEventValue(e) {
|
|
47
|
-
|
|
54
|
+
var valuePropName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'value';
|
|
55
|
+
if (e === null || (0, _typeof2["default"])(e) !== 'object') return e;
|
|
56
|
+
var event = e;
|
|
57
|
+
if (valuePropName !== 'value' && valuePropName in event) {
|
|
58
|
+
return event[valuePropName];
|
|
59
|
+
}
|
|
60
|
+
if ('target' in event && event.target && (0, _typeof2["default"])(event.target) === 'object') {
|
|
61
|
+
var target = event.target;
|
|
62
|
+
if (valuePropName in target) return target[valuePropName];
|
|
63
|
+
if ('value' in target) return target.value;
|
|
64
|
+
}
|
|
65
|
+
return e;
|
|
48
66
|
}
|
|
49
67
|
function useFormItem(options) {
|
|
50
68
|
var _this = this;
|
|
@@ -52,10 +70,14 @@ function useFormItem(options) {
|
|
|
52
70
|
_options$rules = options.rules,
|
|
53
71
|
rules = _options$rules === void 0 ? [] : _options$rules,
|
|
54
72
|
required = options.required,
|
|
55
|
-
validateStatus = options.validateStatus
|
|
73
|
+
validateStatus = options.validateStatus,
|
|
74
|
+
_options$valuePropNam = options.valuePropName,
|
|
75
|
+
valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
|
|
76
|
+
validateDebounce = options.validateDebounce;
|
|
56
77
|
var ctx = (0, _context2.useProFormContext)();
|
|
57
78
|
var values = ctx.values,
|
|
58
79
|
errors = ctx.errors,
|
|
80
|
+
warnings = ctx.warnings,
|
|
59
81
|
validating = ctx.validating,
|
|
60
82
|
setFieldValue = ctx.setFieldValue,
|
|
61
83
|
validateField = ctx.validateField,
|
|
@@ -70,42 +92,95 @@ function useFormItem(options) {
|
|
|
70
92
|
return rule.required;
|
|
71
93
|
}));
|
|
72
94
|
var fieldValue = name ? name.includes('.') ? (0, _pathUtils.getNestedValue)(values, name) : values[name] : undefined;
|
|
73
|
-
|
|
95
|
+
// Errors/warnings are stored FLAT, keyed by the full (possibly dotted) field
|
|
96
|
+
// name — never resolve them as nested paths or dotted names would miss.
|
|
97
|
+
var fieldError = name ? errors[name] : undefined;
|
|
98
|
+
var fieldWarning = name ? warnings[name] : undefined;
|
|
74
99
|
var fieldValidating = name ? validating[name] || false : false;
|
|
75
|
-
var finalStatus = validateStatus || (fieldError ? 'error' : undefined);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
100
|
+
var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
|
|
101
|
+
// Run only the rules applicable to the given interactive trigger; rules
|
|
102
|
+
// without an explicit validateTrigger follow the form-level setting.
|
|
103
|
+
var runValidate = (0, _useEventCallback["default"])(function (value, trigger) {
|
|
104
|
+
if (!name || rules.length === 0) return true;
|
|
105
|
+
var applicable = (0, _runRules.filterRulesByTrigger)(rules, trigger, validateTrigger);
|
|
106
|
+
if (applicable.length === 0) return true;
|
|
107
|
+
return validateField(name, applicable, value);
|
|
79
108
|
});
|
|
80
|
-
var runValidateAsync = (0, _useEventCallback["default"])(function (value) {
|
|
109
|
+
var runValidateAsync = (0, _useEventCallback["default"])(function (value, trigger) {
|
|
81
110
|
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
111
|
+
var applicable;
|
|
82
112
|
return _regenerator["default"].wrap(function (_context) {
|
|
83
113
|
while (1) switch (_context.prev = _context.next) {
|
|
84
114
|
case 0:
|
|
85
|
-
if (!(name
|
|
115
|
+
if (!(!name || rules.length === 0)) {
|
|
86
116
|
_context.next = 1;
|
|
87
117
|
break;
|
|
88
118
|
}
|
|
89
|
-
_context.
|
|
90
|
-
return validateFieldAsync(name, value, rules);
|
|
119
|
+
return _context.abrupt("return");
|
|
91
120
|
case 1:
|
|
121
|
+
applicable = (0, _runRules.filterRulesByTrigger)(rules, trigger, validateTrigger);
|
|
122
|
+
if (!(applicable.length === 0)) {
|
|
123
|
+
_context.next = 2;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
return _context.abrupt("return");
|
|
127
|
+
case 2:
|
|
128
|
+
_context.next = 3;
|
|
129
|
+
return validateFieldAsync(name, value, applicable);
|
|
130
|
+
case 3:
|
|
92
131
|
case "end":
|
|
93
132
|
return _context.stop();
|
|
94
133
|
}
|
|
95
134
|
}, _callee);
|
|
96
135
|
}));
|
|
97
136
|
});
|
|
137
|
+
var _useDebouncedCallback = (0, _useDebouncedCallback2["default"])(function (value) {
|
|
138
|
+
runValidate(value, 'onChange');
|
|
139
|
+
}, validateDebounce),
|
|
140
|
+
debouncedValidate = _useDebouncedCallback.run;
|
|
98
141
|
var handleChange = (0, _useEventCallback["default"])(function (value) {
|
|
99
142
|
if (name) {
|
|
100
143
|
setFieldValue(name, value);
|
|
101
|
-
if (
|
|
144
|
+
if (validateDebounce && validateDebounce > 0) {
|
|
145
|
+
debouncedValidate(value);
|
|
146
|
+
} else {
|
|
147
|
+
runValidate(value, 'onChange');
|
|
148
|
+
}
|
|
102
149
|
}
|
|
103
150
|
});
|
|
104
151
|
var handleBlur = (0, _useEventCallback["default"])(function () {
|
|
105
|
-
|
|
152
|
+
runValidateAsync(fieldValue, 'onBlur');
|
|
153
|
+
});
|
|
154
|
+
// Latest child-provided callbacks, captured at injectField time. The STABLE
|
|
155
|
+
// injected handlers below delegate through this ref instead of being
|
|
156
|
+
// recreated per render — so a memoized field component sees shallow-equal
|
|
157
|
+
// props across renders and can bail out while another field is typing.
|
|
158
|
+
var childCallbacksRef = (0, _react.useRef)({});
|
|
159
|
+
var injectedOnChange = (0, _useEventCallback["default"])(function (e) {
|
|
160
|
+
var _b2;
|
|
161
|
+
var _a, _b;
|
|
162
|
+
handleChange(extractEventValue(e, valuePropName));
|
|
163
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
164
|
+
args[_key - 1] = arguments[_key];
|
|
165
|
+
}
|
|
166
|
+
(_b = (_a = childCallbacksRef.current).onChange) === null || _b === void 0 ? void 0 : (_b2 = _b).call.apply(_b2, [_a, e].concat(args));
|
|
167
|
+
});
|
|
168
|
+
var injectedOnBlur = (0, _useEventCallback["default"])(function () {
|
|
169
|
+
var _b3;
|
|
170
|
+
var _a, _b;
|
|
171
|
+
handleBlur();
|
|
172
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
173
|
+
args[_key2] = arguments[_key2];
|
|
174
|
+
}
|
|
175
|
+
(_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
|
|
106
176
|
});
|
|
177
|
+
// Keep the registry in sync with the LATEST rules every render (registration
|
|
178
|
+
// is a cheap ref mutation): dynamic rules (e.g. required toggled by another
|
|
179
|
+
// field) must be visible to submit-time validation, not just onChange.
|
|
107
180
|
(0, _react.useEffect)(function () {
|
|
108
181
|
if (name && registerField) registerField(name, rules);
|
|
182
|
+
});
|
|
183
|
+
(0, _react.useEffect)(function () {
|
|
109
184
|
return function () {
|
|
110
185
|
if (name && unregisterField) unregisterField(name);
|
|
111
186
|
};
|
|
@@ -115,37 +190,23 @@ function useFormItem(options) {
|
|
|
115
190
|
if (!name || ! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
|
|
116
191
|
var childProps = child.props;
|
|
117
192
|
var displayName = (_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName;
|
|
118
|
-
var isFormComponent = _constants.FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined;
|
|
193
|
+
var isFormComponent = _constants.FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined || childProps[valuePropName] !== undefined;
|
|
119
194
|
if (!isFormComponent) return child;
|
|
120
195
|
var safeValue = fieldValue;
|
|
121
196
|
if (safeValue === null || safeValue === undefined) {
|
|
122
|
-
if (
|
|
123
|
-
safeValue = '';
|
|
124
|
-
} else if (['Checkbox', 'Switch'].includes(displayName || '')) {
|
|
197
|
+
if (valuePropName === 'checked' || ['Checkbox', 'Switch'].includes(displayName || '')) {
|
|
125
198
|
safeValue = false;
|
|
199
|
+
} else if (_constants.TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') || childProps.placeholder !== undefined) {
|
|
200
|
+
safeValue = '';
|
|
126
201
|
}
|
|
127
202
|
} else if (_constants.TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') && typeof safeValue !== 'string' && typeof safeValue !== 'number') {
|
|
128
203
|
safeValue = '';
|
|
129
204
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
136
|
-
args[_key - 1] = arguments[_key];
|
|
137
|
-
}
|
|
138
|
-
childProps.onChange.apply(childProps, [e].concat(args));
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
onBlur: function onBlur() {
|
|
142
|
-
handleBlur();
|
|
143
|
-
if (typeof childProps.onBlur === 'function') {
|
|
144
|
-
childProps.onBlur.apply(childProps, arguments);
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
size: childProps.size || size
|
|
148
|
-
}, finalStatus === 'error' && {
|
|
205
|
+
childCallbacksRef.current = {
|
|
206
|
+
onChange: typeof childProps.onChange === 'function' ? childProps.onChange : undefined,
|
|
207
|
+
onBlur: typeof childProps.onBlur === 'function' ? childProps.onBlur : undefined
|
|
208
|
+
};
|
|
209
|
+
var injectedProps = Object.assign((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, valuePropName, safeValue), "onChange", injectedOnChange), "onBlur", injectedOnBlur), finalStatus === 'error' && {
|
|
149
210
|
status: 'error'
|
|
150
211
|
});
|
|
151
212
|
return /*#__PURE__*/_react["default"].cloneElement(child, injectedProps);
|
|
@@ -153,6 +214,7 @@ function useFormItem(options) {
|
|
|
153
214
|
return {
|
|
154
215
|
fieldValue: fieldValue,
|
|
155
216
|
fieldError: fieldError,
|
|
217
|
+
fieldWarning: fieldWarning,
|
|
156
218
|
fieldValidating: fieldValidating,
|
|
157
219
|
validateStatus: finalStatus,
|
|
158
220
|
isRequired: isRequired,
|
|
@@ -162,4 +224,4 @@ function useFormItem(options) {
|
|
|
162
224
|
injectField: injectField
|
|
163
225
|
};
|
|
164
226
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29udGV4dDIiLCJfcGF0aFV0aWxzIiwiX2NvbnN0YW50cyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsImV4dHJhY3RFdmVudFZhbHVlIiwiX3R5cGVvZjIiLCJ0YXJnZXQiLCJ1c2VGb3JtSXRlbSIsIm9wdGlvbnMiLCJfdGhpcyIsIm5hbWUiLCJfb3B0aW9ucyRydWxlcyIsInJ1bGVzIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZVN0YXR1cyIsImN0eCIsInVzZVByb0Zvcm1Db250ZXh0IiwidmFsdWVzIiwiZXJyb3JzIiwidmFsaWRhdGluZyIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiaXNSZXF1aXJlZCIsIkJvb2xlYW4iLCJzb21lIiwicnVsZSIsImZpZWxkVmFsdWUiLCJpbmNsdWRlcyIsImdldE5lc3RlZFZhbHVlIiwidW5kZWZpbmVkIiwiZmllbGRFcnJvciIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwibGVuZ3RoIiwicnVuVmFsaWRhdGVBc3luYyIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsInN0b3AiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVCbHVyIiwidXNlRWZmZWN0IiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIl9hIiwiUmVhY3QiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiaW5qZWN0ZWRQcm9wcyIsImFzc2lnbiIsIm9uQ2hhbmdlIiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJvbkJsdXIiLCJzdGF0dXMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQThFLFNBQUFNLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFE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YSxDQUFDO0VBQ2pELENBQUM7RUFFRCxPQUFPO0lBQ0xuQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkksVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLGVBQWUsRUFBZkEsZUFBZTtJQUNmeEIsY0FBYyxFQUFFeUIsV0FBVztJQUMzQlYsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZKLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1oyQixXQUFXLEVBQVhBO0VDMUNBLENEMkNEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBGT1JNX0NPTVBPTkVOVF9OQU1FUywgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKiBOb3JtYWxpc2UgYSBjaGFuZ2UtaGFuZGxlciBhcmd1bWVudDogdW53cmFwIGBlLnRhcmdldC52YWx1ZWAsIGVsc2UgcGFzcyB0aGUgdmFsdWUgdGhyb3VnaC4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUpIHtcbiAgICByZXR1cm4gZSAmJiB0eXBlb2YgZSA9PT0gJ29iamVjdCcgJiYgJ3RhcmdldCcgaW4gZVxuICAgICAgICA/IGUudGFyZ2V0LnZhbHVlXG4gICAgICAgIDogZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgY3R4ID0gdXNlUHJvRm9ybUNvbnRleHQoKTtcbiAgICBjb25zdCB7IHZhbHVlcywgZXJyb3JzLCB2YWxpZGF0aW5nLCBzZXRGaWVsZFZhbHVlLCB2YWxpZGF0ZUZpZWxkLCB2YWxpZGF0ZUZpZWxkQXN5bmMsIHJlZ2lzdGVyRmllbGQsIHVucmVnaXN0ZXJGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgcmVxdWlyZWRNYXJrLCB2YWxpZGF0ZVRyaWdnZXIsIH0gPSBjdHg7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IEJvb2xlYW4ocmVxdWlyZWQgfHwgcnVsZXMuc29tZSgocnVsZSkgPT4gcnVsZS5yZXF1aXJlZCkpO1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKSA/IGdldE5lc3RlZFZhbHVlKHZhbHVlcywgbmFtZSkgOiB2YWx1ZXNbbmFtZV0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShlcnJvcnMsIG5hbWUpXG4gICAgICAgICAgICA6IGVycm9yc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmllbGRWYWxpZGF0aW5nID0gbmFtZSA/ICh2YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlO1xuICAgIGNvbnN0IGZpbmFsU3RhdHVzID0gdmFsaWRhdGVTdGF0dXMgfHwgKGZpZWxkRXJyb3IgPyAnZXJyb3InIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBydW5WYWxpZGF0ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJ1bGVzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBydWxlcywgdmFsdWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgICBjb25zdCBydW5WYWxpZGF0ZUFzeW5jID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcnVsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgeWllbGQgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIHZhbHVlLCBydWxlcyk7XG4gICAgICAgIH1cbiAgICB9KSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRlVHJpZ2dlciA9PT0gJ29uQ2hhbmdlJylcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVRyaWdnZXIgPT09ICdvbkJsdXInKVxuICAgICAgICAgICAgcnVuVmFsaWRhdGVBc3luYyhmaWVsZFZhbHVlKTtcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmFtZSAmJiByZWdpc3RlckZpZWxkKVxuICAgICAgICAgICAgcmVnaXN0ZXJGaWVsZChuYW1lLCBydWxlcyk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFpc0Zvcm1Db21wb25lbnQpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGxldCBzYWZlVmFsdWUgPSBmaWVsZFZhbHVlO1xuICAgICAgICBpZiAoc2FmZVZhbHVlID09PSBudWxsIHx8IHNhZmVWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgfHxcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFsnQ2hlY2tib3gnLCAnU3dpdGNoJ10uaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyB2YWx1ZTogc2FmZVZhbHVlLCBvbkNoYW5nZTogKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSkpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQ2hhbmdlKGUsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG9uQmx1cjogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZFByb3BzLm9uQmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFByb3BzLm9uQmx1ciguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBzaXplOiBjaGlsZFByb3BzLnNpemUgfHwgc2l6ZSB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmplY3RlZFByb3BzKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkRXJyb3IsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
227
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2syIiwiX2NvbnRleHQyIiwiX3BhdGhVdGlscyIsIl9ydW5SdWxlcyIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJleHRyYWN0RXZlbnRWYWx1ZSIsInZhbHVlUHJvcE5hbWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJfdHlwZW9mMiIsImV2ZW50IiwidGFyZ2V0IiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwiX3RoaXMiLCJuYW1lIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInJlcXVpcmVkIiwidmFsaWRhdGVTdGF0dXMiLCJfb3B0aW9ucyR2YWx1ZVByb3BOYW0iLCJ2YWxpZGF0ZURlYm91bmNlIiwiY3R4IiwidXNlUHJvRm9ybUNvbnRleHQiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInZhbGlkYXRpbmciLCJzZXRGaWVsZFZhbHVlIiwidmFsaWRhdGVGaWVsZCIsInZhbGlkYXRlRmllbGRBc3luYyIsInJlZ2lzdGVyRmllbGQiLCJ1bnJlZ2lzdGVyRmllbGQiLCJzaXplIiwibGFiZWxBbGlnbiIsInJlcXVpcmVkTWFyayIsInZhbGlkYXRlVHJpZ2dlciIsImlzUmVxdWlyZWQiLCJCb29sZWFuIiwic29tZSIsInJ1bGUiLCJmaWVsZFZhbHVlIiwiaW5jbHVkZXMiLCJnZXROZXN0ZWRWYWx1ZSIsImZpZWxkRXJyb3IiLCJmaWVsZFdhcm5pbmciLCJmaWVsZFZhbGlkYXRpbmciLCJmaW5hbFN0YXR1cyIsInJ1blZhbGlkYXRlIiwidXNlRXZlbnRDYWxsYmFjayIsInRyaWdnZXIiLCJhcHBsaWNhYmxlIiwiZmlsdGVyUnVsZXNCeVRyaWdnZXIiLCJydW5WYWxpZGF0ZUFzeW5jIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiYWJydXB0Iiwic3RvcCIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiZGVib3VuY2VkVmFsaWRhdGUiLCJydW4iLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVCbHVyIiwiY2hpbGRDYWxsYmFja3NSZWYiLCJ1c2VSZWYiLCJpbmplY3RlZE9uQ2hhbmdlIiwiX2IyIiwiX2EiLCJfYiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY3VycmVudCIsIm9uQ2hhbmdlIiwiY29uY2F0IiwiaW5qZWN0ZWRPbkJsdXIiLCJfYjMiLCJfbGVuMiIsIl9rZXkyIiwib25CbHVyIiwidXNlRWZmZWN0IiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIlJlYWN0IiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZFByb3BzIiwicHJvcHMiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJpc0Zvcm1Db21wb25lbnQiLCJGT1JNX0NPTVBPTkVOVF9OQU1FUyIsInBsYWNlaG9sZGVyIiwic2FmZVZhbHVlIiwiVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyIsImluamVjdGVkUHJvcHMiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkyIiwic3RhdHVzIiwiY2xvbmVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxzQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQThFLFNBQUFRLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVix3QkFBQVUsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxRQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FB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QUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2YzQixjQUFjLEVBQUU0QixXQUFXO0lBQzNCVixVQUFVLEVBQVZBLFVBQVU7SUFDVkosSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWm9ELFdBQVcsRUFBWEE7RUNoRUEsQ0RpRUQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlUHJvRm9ybUNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IGdldE5lc3RlZFZhbHVlIH0gZnJvbSAnLi9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyUnVsZXNCeVRyaWdnZXIgfSBmcm9tICcuL3J1blJ1bGVzJztcbmltcG9ydCB7IEZPUk1fQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuLyoqXG4gKiBOb3JtYWxpc2UgYSBjaGFuZ2UtaGFuZGxlciBhcmd1bWVudDogdW53cmFwIGBlLnRhcmdldFt2YWx1ZVByb3BOYW1lXWAgL1xuICogYGVbdmFsdWVQcm9wTmFtZV1gIChlLmcuIENoZWNrYm94IGVtaXRzIGB7IGNoZWNrZWQgfWApLCBlbHNlIGBlLnRhcmdldC52YWx1ZWAsXG4gKiBlbHNlIHBhc3MgdGhlIHZhbHVlIHRocm91Z2ggKGUuZy4gU3dpdGNoIGVtaXRzIHRoZSBib29sZWFuIGRpcmVjdGx5KS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSA9ICd2YWx1ZScpIHtcbiAgICBpZiAoZSA9PT0gbnVsbCB8fCB0eXBlb2YgZSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiBlO1xuICAgIGNvbnN0IGV2ZW50ID0gZTtcbiAgICBpZiAodmFsdWVQcm9wTmFtZSAhPT0gJ3ZhbHVlJyAmJiB2YWx1ZVByb3BOYW1lIGluIGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBldmVudFt2YWx1ZVByb3BOYW1lXTtcbiAgICB9XG4gICAgaWYgKCd0YXJnZXQnIGluIGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiB0eXBlb2YgZXZlbnQudGFyZ2V0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGlmICh2YWx1ZVByb3BOYW1lIGluIHRhcmdldClcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRbdmFsdWVQcm9wTmFtZV07XG4gICAgICAgIGlmICgndmFsdWUnIGluIHRhcmdldClcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm1JdGVtKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIHJ1bGVzID0gW10sIHJlcXVpcmVkLCB2YWxpZGF0ZVN0YXR1cywgdmFsdWVQcm9wTmFtZSA9ICd2YWx1ZScsIHZhbGlkYXRlRGVib3VuY2UsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGN0eCA9IHVzZVByb0Zvcm1Db250ZXh0KCk7XG4gICAgY29uc3QgeyB2YWx1ZXMsIGVycm9ycywgd2FybmluZ3MsIHZhbGlkYXRpbmcsIHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgfSA9IGN0eDtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gQm9vbGVhbihyZXF1aXJlZCB8fCBydWxlcy5zb21lKChydWxlKSA9PiBydWxlLnJlcXVpcmVkKSk7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IG5hbWVcbiAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpID8gZ2V0TmVzdGVkVmFsdWUodmFsdWVzLCBuYW1lKSA6IHZhbHVlc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgLy8gRXJyb3JzL3dhcm5pbmdzIGFyZSBzdG9yZWQgRkxBVCwga2V5ZWQgYnkgdGhlIGZ1bGwgKHBvc3NpYmx5IGRvdHRlZCkgZmllbGRcbiAgICAvLyBuYW1lIOKAlCBuZXZlciByZXNvbHZlIHRoZW0gYXMgbmVzdGVkIHBhdGhzIG9yIGRvdHRlZCBuYW1lcyB3b3VsZCBtaXNzLlxuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSBuYW1lID8gZXJyb3JzW25hbWVdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZpZWxkV2FybmluZyA9IG5hbWUgPyB3YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaWVsZFZhbGlkYXRpbmcgPSBuYW1lID8gKHZhbGlkYXRpbmdbbmFtZV0gfHwgZmFsc2UpIDogZmFsc2U7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFJ1biBvbmx5IHRoZSBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBnaXZlbiBpbnRlcmFjdGl2ZSB0cmlnZ2VyOyBydWxlc1xuICAgIC8vIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsaWRhdGVUcmlnZ2VyIGZvbGxvdyB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihydWxlcywgdHJpZ2dlciwgdmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pKTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHJ1blZhbGlkYXRlQXN5bmMoZmllbGRWYWx1ZSwgJ29uQmx1cicpO1xuICAgIH0pO1xuICAgIC8vIExhdGVzdCBjaGlsZC1wcm92aWRlZCBjYWxsYmFja3MsIGNhcHR1cmVkIGF0IGluamVjdEZpZWxkIHRpbWUuIFRoZSBTVEFCTEVcbiAgICAvLyBpbmplY3RlZCBoYW5kbGVycyBiZWxvdyBkZWxlZ2F0ZSB0aHJvdWdoIHRoaXMgcmVmIGluc3RlYWQgb2YgYmVpbmdcbiAgICAvLyByZWNyZWF0ZWQgcGVyIHJlbmRlciDigJQgc28gYSBtZW1vaXplZCBmaWVsZCBjb21wb25lbnQgc2VlcyBzaGFsbG93LWVxdWFsXG4gICAgLy8gcHJvcHMgYWNyb3NzIHJlbmRlcnMgYW5kIGNhbiBiYWlsIG91dCB3aGlsZSBhbm90aGVyIGZpZWxkIGlzIHR5cGluZy5cbiAgICBjb25zdCBjaGlsZENhbGxiYWNrc1JlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgaW5qZWN0ZWRPbkNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQ2hhbmdlKGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUpKTtcbiAgICAgICAgKF9iID0gKF9hID0gY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCkub25DaGFuZ2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBlLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkJsdXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICAvLyBLZWVwIHRoZSByZWdpc3RyeSBpbiBzeW5jIHdpdGggdGhlIExBVEVTVCBydWxlcyBldmVyeSByZW5kZXIgKHJlZ2lzdHJhdGlvblxuICAgIC8vIGlzIGEgY2hlYXAgcmVmIG11dGF0aW9uKTogZHluYW1pYyBydWxlcyAoZS5nLiByZXF1aXJlZCB0b2dnbGVkIGJ5IGFub3RoZXJcbiAgICAvLyBmaWVsZCkgbXVzdCBiZSB2aXNpYmxlIHRvIHN1Ym1pdC10aW1lIHZhbGlkYXRpb24sIG5vdCBqdXN0IG9uQ2hhbmdlLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKG5hbWUgJiYgdW5yZWdpc3RlckZpZWxkKVxuICAgICAgICAgICAgICAgIHVucmVnaXN0ZXJGaWVsZChuYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbbmFtZV0pO1xuICAgIGNvbnN0IGluamVjdEZpZWxkID0gKGNoaWxkKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFuYW1lIHx8ICFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGNvbnN0IGNoaWxkUHJvcHMgPSBjaGlsZC5wcm9wcztcbiAgICAgICAgY29uc3QgZGlzcGxheU5hbWUgPSAoX2EgPSBjaGlsZC50eXBlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzcGxheU5hbWU7XG4gICAgICAgIGNvbnN0IGlzRm9ybUNvbXBvbmVudCA9IEZPUk1fQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lKSB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHNbdmFsdWVQcm9wTmFtZV0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFpc0Zvcm1Db21wb25lbnQpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGxldCBzYWZlVmFsdWUgPSBmaWVsZFZhbHVlO1xuICAgICAgICBpZiAoc2FmZVZhbHVlID09PSBudWxsIHx8IHNhZmVWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSA9PT0gJ2NoZWNrZWQnIHx8IFsnQ2hlY2tib3gnLCAnU3dpdGNoJ10uaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSB8fFxuICAgICAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgdHlwZW9mIHNhZmVWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHNhZmVWYWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQgPSB7XG4gICAgICAgICAgICBvbkNoYW5nZTogdHlwZW9mIGNoaWxkUHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25DaGFuZ2VcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG9uQmx1cjogdHlwZW9mIGNoaWxkUHJvcHMub25CbHVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjaGlsZFByb3BzLm9uQmx1clxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBpbmplY3RlZFByb3BzID0gT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpO1xuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmplY3RlZFByb3BzKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkRXJyb3IsXG4gICAgICAgIGZpZWxkV2FybmluZyxcbiAgICAgICAgZmllbGRWYWxpZGF0aW5nLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogZmluYWxTdGF0dXMsXG4gICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIHJlcXVpcmVkTWFyayxcbiAgICAgICAgaW5qZWN0RmllbGQsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -22,8 +22,11 @@ function renderDateReadonly(value) {
|
|
|
22
22
|
}
|
|
23
23
|
var ProFormDatePicker = exports.ProFormDatePicker = (0, _createProFormField.createProFormField)({
|
|
24
24
|
component: _Calendar.Calendar,
|
|
25
|
+
// Registers into the form's valueType registry so dateFormatter formats this
|
|
26
|
+
// field as a date; pass valueType="dateTime" per field for time-of-day output.
|
|
27
|
+
valueType: 'date',
|
|
25
28
|
renderReadonly: renderDateReadonly
|
|
26
29
|
});
|
|
27
30
|
ProFormDatePicker.displayName = 'ProFormDatePicker';
|
|
28
31
|
var _default = exports["default"] = ProFormDatePicker;
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIl9DYWxlbmRhciIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiQ2FsZW5kYXIiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFFQSxTQUFTRSxrQkFBa0JBLENBQUNDLEtBQWMsRUFBQTtFQUN4QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFTyxJQUFNWSxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFnQjtFQUNqRUMsU0FBUyxFQUFFQyxrQkFBUTtFQUNuQjtFQUNBO0VBQ0FDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxjQUFjLEVBQUVuQjtBQ0psQixDREtDLENBQUM7QUFFRmEsaUJBQWlCLENBQUNPLFdBQVcsR0FBRyxtQkFBbUI7QUFBQyxJQUFBQyxRQUFBLEdBQUFQLE9BQUEsY0FFckNELGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uL0NhbGVuZGFyJztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmZ1bmN0aW9uIHJlbmRlckRhdGVSZWFkb25seSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuZmlsdGVyKCh2KSA9PiB2IGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgIC5tYXAoKGQpID0+IGQudG9Mb2NhbGVEYXRlU3RyaW5nKCkpXG4gICAgICAgICAgICAuam9pbignIH4gJyk7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1EYXRlUGlja2VyID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENhbGVuZGFyLFxuICAgIC8vIFJlZ2lzdGVycyBpbnRvIHRoZSBmb3JtJ3MgdmFsdWVUeXBlIHJlZ2lzdHJ5IHNvIGRhdGVGb3JtYXR0ZXIgZm9ybWF0cyB0aGlzXG4gICAgLy8gZmllbGQgYXMgYSBkYXRlOyBwYXNzIHZhbHVlVHlwZT1cImRhdGVUaW1lXCIgcGVyIGZpZWxkIGZvciB0aW1lLW9mLWRheSBvdXRwdXQuXG4gICAgdmFsdWVUeXBlOiAnZGF0ZScsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckRhdGVSZWFkb25seSxcbn0pO1xuUHJvRm9ybURhdGVQaWNrZXIuZGlzcGxheU5hbWUgPSAnUHJvRm9ybURhdGVQaWNrZXInO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybURhdGVQaWNrZXI7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -12,6 +12,7 @@ var _react = require("react");
|
|
|
12
12
|
var _useDebouncedCallback2 = _interopRequireDefault(require("@1money/hooks/useDebouncedCallback"));
|
|
13
13
|
var _ProFormItem = require("../ProFormItem");
|
|
14
14
|
var _ProFormDependency = require("../ProFormDependency");
|
|
15
|
+
var _context = require("../context");
|
|
15
16
|
var _useFieldRequest3 = require("../hooks/useFieldRequest");
|
|
16
17
|
var _utils = require("../utils");
|
|
17
18
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
@@ -27,40 +28,55 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
28
29
|
function createProFormField(config) {
|
|
29
30
|
var Component = config.component,
|
|
31
|
+
valuePropName = config.valuePropName,
|
|
32
|
+
defaultValueType = config.valueType,
|
|
30
33
|
mapProps = config.mapProps,
|
|
31
34
|
renderReadonly = config.renderReadonly;
|
|
35
|
+
// Memo boundary around the wrapped control: combined with the stable
|
|
36
|
+
// injected handlers from useFormItem, fields whose value didn't change can
|
|
37
|
+
// bail out while another field in the form is typing. displayName must be
|
|
38
|
+
// carried over — injectField uses it to recognize form controls.
|
|
39
|
+
var MemoizedComponent = /*#__PURE__*/(0, _react.memo)(Component);
|
|
40
|
+
MemoizedComponent.displayName = Component.displayName || Component.name;
|
|
32
41
|
// Inner component — handles mode, request, valueEnum, debounce, render
|
|
33
42
|
var InnerField = function InnerField(props) {
|
|
34
|
-
var _a;
|
|
35
|
-
var
|
|
36
|
-
name =
|
|
37
|
-
label =
|
|
38
|
-
description =
|
|
39
|
-
rules =
|
|
40
|
-
required =
|
|
41
|
-
feedback =
|
|
42
|
-
validateStatus =
|
|
43
|
-
colon =
|
|
44
|
-
readonly =
|
|
45
|
-
modeProp =
|
|
46
|
-
hidden =
|
|
47
|
-
colProps =
|
|
48
|
-
fieldProps =
|
|
49
|
-
placeholder =
|
|
50
|
-
disabled =
|
|
51
|
-
width =
|
|
52
|
-
transform =
|
|
53
|
-
convertValue =
|
|
54
|
-
_deps =
|
|
55
|
-
request =
|
|
56
|
-
params =
|
|
57
|
-
valueEnum =
|
|
58
|
-
debounceTime =
|
|
59
|
-
|
|
60
|
-
|
|
43
|
+
var _a, _b;
|
|
44
|
+
var _c = props,
|
|
45
|
+
name = _c.name,
|
|
46
|
+
label = _c.label,
|
|
47
|
+
description = _c.description,
|
|
48
|
+
rules = _c.rules,
|
|
49
|
+
required = _c.required,
|
|
50
|
+
feedback = _c.feedback,
|
|
51
|
+
validateStatus = _c.validateStatus,
|
|
52
|
+
colon = _c.colon,
|
|
53
|
+
readonly = _c.readonly,
|
|
54
|
+
modeProp = _c.mode,
|
|
55
|
+
hidden = _c.hidden,
|
|
56
|
+
colProps = _c.colProps,
|
|
57
|
+
fieldProps = _c.fieldProps,
|
|
58
|
+
placeholder = _c.placeholder,
|
|
59
|
+
disabled = _c.disabled,
|
|
60
|
+
width = _c.width,
|
|
61
|
+
transform = _c.transform,
|
|
62
|
+
convertValue = _c.convertValue,
|
|
63
|
+
_deps = _c.dependencies,
|
|
64
|
+
request = _c.request,
|
|
65
|
+
params = _c.params,
|
|
66
|
+
valueEnum = _c.valueEnum,
|
|
67
|
+
debounceTime = _c.debounceTime,
|
|
68
|
+
validateDebounce = _c.validateDebounce,
|
|
69
|
+
valueType = _c.valueType,
|
|
70
|
+
dependenciesValues = _c.dependenciesValues,
|
|
71
|
+
rest = __rest(_c, ["name", "label", "description", "rules", "required", "feedback", "validateStatus", "colon", "readonly", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "validateDebounce", "valueType", "dependenciesValues"]);
|
|
61
72
|
|
|
62
73
|
// Mode resolution: explicit mode > legacy readonly > ctx.mode (ProFormItem)
|
|
63
74
|
var resolvedMode = modeProp !== null && modeProp !== void 0 ? modeProp : readonly !== undefined ? readonly ? 'read' : 'edit' : undefined;
|
|
75
|
+
// Form-level fieldProps (lowest priority after mapProps defaults).
|
|
76
|
+
// Stable slice only — the field shell must NOT re-render per keystroke;
|
|
77
|
+
// value/error reactivity lives inside ProFormItem.
|
|
78
|
+
var _useProFormStable = (0, _context.useProFormStable)(),
|
|
79
|
+
contextFieldProps = _useProFormStable.fieldProps;
|
|
64
80
|
// ── Field-level request ──
|
|
65
81
|
var mergedRequestParams = dependenciesValues ? Object.assign(Object.assign({}, params), dependenciesValues) : params;
|
|
66
82
|
var _useFieldRequest = (0, _useFieldRequest3.useFieldRequest)(request, mergedRequestParams),
|
|
@@ -74,7 +90,7 @@ function createProFormField(config) {
|
|
|
74
90
|
// over mapped, matching the spread order below). useDebouncedCallback reads
|
|
75
91
|
// the latest callback internally, so the wrapper never goes stale and the
|
|
76
92
|
// pending call is auto-cancelled on unmount.
|
|
77
|
-
var userOnChange = (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange) !== null && _a !== void 0 ? _a : mapped === null || mapped === void 0 ? void 0 : mapped.onChange;
|
|
93
|
+
var userOnChange = (_b = (_a = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange) !== null && _a !== void 0 ? _a : contextFieldProps === null || contextFieldProps === void 0 ? void 0 : contextFieldProps.onChange) !== null && _b !== void 0 ? _b : mapped === null || mapped === void 0 ? void 0 : mapped.onChange;
|
|
78
94
|
var _useDebouncedCallback = (0, _useDebouncedCallback2["default"])(function () {
|
|
79
95
|
return userOnChange === null || userOnChange === void 0 ? void 0 : userOnChange.apply(void 0, arguments);
|
|
80
96
|
}, debounceTime),
|
|
@@ -92,7 +108,7 @@ function createProFormField(config) {
|
|
|
92
108
|
if (requestOptions.length > 0) {
|
|
93
109
|
mergedOptions = requestOptions;
|
|
94
110
|
}
|
|
95
|
-
var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), fieldProps || {}), mergedOptions !== undefined ? {
|
|
111
|
+
var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), contextFieldProps || {}), fieldProps || {}), mergedOptions !== undefined ? {
|
|
96
112
|
options: mergedOptions
|
|
97
113
|
} : {}), requestLoading ? {
|
|
98
114
|
loading: true
|
|
@@ -122,10 +138,13 @@ function createProFormField(config) {
|
|
|
122
138
|
colProps: colProps,
|
|
123
139
|
transform: transform,
|
|
124
140
|
convertValue: convertValue,
|
|
141
|
+
valuePropName: valuePropName,
|
|
142
|
+
validateDebounce: validateDebounce,
|
|
143
|
+
valueType: valueType !== null && valueType !== void 0 ? valueType : defaultValueType,
|
|
125
144
|
readonlyRender: renderReadonly ? function (value) {
|
|
126
145
|
return renderReadonly(value);
|
|
127
146
|
} : undefined,
|
|
128
|
-
children: (0, _jsxRuntime.jsx)(
|
|
147
|
+
children: (0, _jsxRuntime.jsx)(MemoizedComponent, Object.assign({}, componentProps))
|
|
129
148
|
});
|
|
130
149
|
};
|
|
131
150
|
// Outer component — handles auto-wrapping with ProFormDependency
|
|
@@ -147,4 +166,4 @@ function createProFormField(config) {
|
|
|
147
166
|
return MemoizedField;
|
|
148
167
|
}
|
|
149
168
|
var _default = exports["default"] = createProFormField;
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfdXNlRmllbGRSZXF1ZXN0MyIsIl91dGlscyIsIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29uZmlnIiwiQ29tcG9uZW50IiwiY29tcG9uZW50IiwibWFwUHJvcHMiLCJyZW5kZXJSZWFkb25seSIsIklubmVyRmllbGQiLCJwcm9wcyIsIl9hIiwiX2IiLCJuYW1lIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsInJ1bGVzIiwicmVxdWlyZWQiLCJmZWVkYmFjayIsInZhbGlkYXRlU3RhdHVzIiwiY29sb24iLCJyZWFkb25seSIsIm1vZGVQcm9wIiwibW9kZSIsImhpZGRlbiIsImNvbFByb3BzIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbnZlcnRWYWx1ZSIsIl9kZXBzIiwiZGVwZW5kZW5jaWVzIiwicmVxdWVzdCIsInBhcmFtcyIsInZhbHVlRW51bSIsImRlYm91bmNlVGltZSIsImRlcGVuZGVuY2llc1ZhbHVlcyIsInJlc3QiLCJyZXNvbHZlZE1vZGUiLCJ1bmRlZmluZWQiLCJtZXJnZWRSZXF1ZXN0UGFyYW1zIiwiYXNzaWduIiwiX3VzZUZpZWxkUmVxdWVzdCIsInVzZUZpZWxkUmVxdWVzdCIsIl91c2VGaWVsZFJlcXVlc3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJyZXF1ZXN0T3B0aW9ucyIsIm1hcHBlZCIsInVzZXJPbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJhcHBseSIsImFyZ3VtZW50cyIsImRlYm91bmNlZE9uQ2hhbmdlIiwicnVuIiwid2lkdGhTdHlsZSIsInJlc29sdmVXaWR0aCIsImZpZWxkU3R5bGUiLCJzdHlsZSIsIm1lcmdlZFN0eWxlIiwibWVyZ2VkT3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZUVudW1Ub09wdGlvbnMiLCJjb21wb25lbnRQcm9wcyIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJtZW1vIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxzQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUROQSxJQUFJUSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJ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QUEsQ0FBSTtRQUFBO01BQ3pELENBQUEsQ0FDaUI7SUFFeEI7SUFFQSxPQUFPLElBQUFQLGVBQUEsRUFBQzVELFVBQVUsRUFBQWYsTUFBQSxDQUFBaUQsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLakMsS0FBSyxDQUFBLENBQUk7RUFDbEMsQ0FBQztFQUVELElBQU1tRSxhQUFhLGdCQUFHLElBQUFDLFdBQUksRUFBQ0oscUJBQXFCLENBQUM7RUFDakQsT0FBT0csYUFBYTtBQUN0QjtBQUFDLElBQUFFLFFBQUEsR0FBQUMsT0FBQSxjQUVjN0Usa0JBQWtCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRGVib3VuY2VkQ2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjayc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4uL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgdXNlRmllbGRSZXF1ZXN0IH0gZnJvbSAnLi4vaG9va3MvdXNlRmllbGRSZXF1ZXN0JztcbmltcG9ydCB7IHJlc29sdmVXaWR0aCwgdmFsdWVFbnVtVG9PcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjcmVhdGVQcm9Gb3JtRmllbGQg4oCUIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBhIFByb0Zvcm0tYXdhcmUgZmllbGQgY29tcG9uZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9Gb3JtRmllbGQoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb21wb25lbnQ6IENvbXBvbmVudCwgbWFwUHJvcHMsIHJlbmRlclJlYWRvbmx5LCB9ID0gY29uZmlnO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgX2IgPSBwcm9wcywgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCByZXF1aXJlZCwgZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzLCBjb2xvbiwgcmVhZG9ubHksIG1vZGU6IG1vZGVQcm9wLCBoaWRkZW4sIGNvbFByb3BzLCBmaWVsZFByb3BzLCBwbGFjZWhvbGRlciwgZGlzYWJsZWQsIHdpZHRoLCB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZSwgXG4gICAgICAgIC8vIEZpZWxkLWxldmVsIGZlYXR1cmVzXG4gICAgICAgIGRlcGVuZGVuY2llczogX2RlcHMsIHJlcXVlc3QsIHBhcmFtcywgdmFsdWVFbnVtLCBkZWJvdW5jZVRpbWUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2IsIHJlc3QgPSBfX3Jlc3QoX2IsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJyZXF1aXJlZFwiLCBcImZlZWRiYWNrXCIsIFwidmFsaWRhdGVTdGF0dXNcIiwgXCJjb2xvblwiLCBcInJlYWRvbmx5XCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJkZXBlbmRlbmNpZXNWYWx1ZXNcIl0pO1xuICAgICAgICAvLyBNb2RlIHJlc29sdXRpb246IGV4cGxpY2l0IG1vZGUgPiBsZWdhY3kgcmVhZG9ubHkgPiBjdHgubW9kZSAoUHJvRm9ybUl0ZW0pXG4gICAgICAgIGNvbnN0IHJlc29sdmVkTW9kZSA9IG1vZGVQcm9wICE9PSBudWxsICYmIG1vZGVQcm9wICE9PSB2b2lkIDAgPyBtb2RlUHJvcCA6IChyZWFkb25seSAhPT0gdW5kZWZpbmVkID8gKHJlYWRvbmx5ID8gJ3JlYWQnIDogJ2VkaXQnKSA6IHVuZGVmaW5lZCk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG1hcHBlZCA9PT0gbnVsbCB8fCBtYXBwZWQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG1hcHBlZC5vbkNoYW5nZSk7XG4gICAgICAgIGNvbnN0IHsgcnVuOiBkZWJvdW5jZWRPbkNoYW5nZSB9ID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHVzZXJPbkNoYW5nZSA9PT0gbnVsbCB8fCB1c2VyT25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHVzZXJPbkNoYW5nZSguLi5hcmdzKSwgZGVib3VuY2VUaW1lKTtcbiAgICAgICAgY29uc3Qgd2lkdGhTdHlsZSA9IHdpZHRoICE9PSB1bmRlZmluZWQgPyB7IHdpZHRoOiByZXNvbHZlV2lkdGgod2lkdGgpIH0gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGZpZWxkU3R5bGUgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMuc3R5bGU7XG4gICAgICAgIGNvbnN0IG1lcmdlZFN0eWxlID0gd2lkdGhTdHlsZVxuICAgICAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIChmaWVsZFN0eWxlIHx8IHt9KSksIHdpZHRoU3R5bGUpIDogZmllbGRTdHlsZTtcbiAgICAgICAgLy8gTWVyZ2UgdmFsdWVFbnVtICsgcmVxdWVzdCBvcHRpb25zIGludG8gZmllbGRQcm9wcy5vcHRpb25zXG4gICAgICAgIGxldCBtZXJnZWRPcHRpb25zID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLm9wdGlvbnM7XG4gICAgICAgIGlmICh2YWx1ZUVudW0pIHtcbiAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSB2YWx1ZUVudW1Ub09wdGlvbnModmFsdWVFbnVtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxdWVzdE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbWFwcGVkKSwgKGZpZWxkUHJvcHMgfHwge30pKSwgKG1lcmdlZE9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IHsgb3B0aW9uczogbWVyZ2VkT3B0aW9ucyB9IDoge30pKSwgKHJlcXVlc3RMb2FkaW5nID8geyBsb2FkaW5nOiB0cnVlIH0gOiB7fSkpLCAocGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCA/IHsgcGxhY2Vob2xkZXIgfSA6IHt9KSksIChkaXNhYmxlZCAhPT0gdW5kZWZpbmVkID8geyBkaXNhYmxlZCB9IDoge30pKSwgKG1lcmdlZFN0eWxlID8geyBzdHlsZTogbWVyZ2VkU3R5bGUgfSA6IHt9KSk7XG4gICAgICAgIC8vIFdpcmUgZGVib3VuY2UuIFRoZSB3cmFwcGVyIGZvcndhcmRzIHRvIHRoZSBsYXRlc3QgdXNlciBvbkNoYW5nZSB2aWFcbiAgICAgICAgLy8gYG9uQ2hhbmdlTGF0ZXN0YCwgc28gbm8gbmVlZCB0byBzdGFzaCBpdCBvbiBhIHJlZiBoZXJlLlxuICAgICAgICBpZiAoZGVib3VuY2VUaW1lICYmIGRlYm91bmNlVGltZSA+IDApIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFByb3BzLm9uQ2hhbmdlID0gZGVib3VuY2VkT25DaGFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IG5hbWU6IG5hbWUsIGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBydWxlczogcnVsZXMsIHJlcXVpcmVkOiByZXF1aXJlZCwgZmVlZGJhY2s6IGZlZWRiYWNrLCB2YWxpZGF0ZVN0YXR1czogdmFsaWRhdGVTdGF0dXMsIGNvbG9uOiBjb2xvbiwgaGlkZGVuOiBoaWRkZW4sIG1vZGU6IHJlc29sdmVkTW9kZSwgY29sUHJvcHM6IGNvbFByb3BzLCB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHJlYWRvbmx5UmVuZGVyOiByZW5kZXJSZWFkb25seSA/ICh2YWx1ZSkgPT4gcmVuZGVyUmVhZG9ubHkodmFsdWUpIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJyZXF1aXJlZCIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJjb2xvbiIsInJlYWRvbmx5IiwibW9kZVByb3AiLCJtb2RlIiwiaGlkZGVuIiwiY29sUHJvcHMiLCJmaWVsZFByb3BzIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIndpZHRoIiwidHJhbnNmb3JtIiwiY29udmVydFZhbHVlIiwiX2RlcHMiLCJkZXBlbmRlbmNpZXMiLCJyZXF1ZXN0IiwicGFyYW1zIiwidmFsdWVFbnVtIiwiZGVib3VuY2VUaW1lIiwidmFsaWRhdGVEZWJvdW5jZSIsImRlcGVuZGVuY2llc1ZhbHVlcyIsInJlc3QiLCJyZXNvbHZlZE1vZGUiLCJ1bmRlZmluZWQiLCJfdXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdGFibGUiLCJjb250ZXh0RmllbGRQcm9wcyIsIm1lcmdlZFJlcXVlc3RQYXJhbXMiLCJhc3NpZ24iLCJfdXNlRmllbGRSZXF1ZXN0IiwidXNlRmllbGRSZXF1ZXN0IiwiX3VzZUZpZWxkUmVxdWVzdDIiLCJfc2xpY2VkVG9BcnJheTIiLCJyZXF1ZXN0TG9hZGluZyIsInJlcXVlc3RPcHRpb25zIiwibWFwcGVkIiwidXNlck9uQ2hhbmdlIiwib25DaGFuZ2UiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGVib3VuY2VkT25DaGFuZ2UiLCJydW4iLCJ3aWR0aFN0eWxlIiwicmVzb2x2ZVdpZHRoIiwiZmllbGRTdHlsZSIsInN0eWxlIiwibWVyZ2VkU3R5bGUiLCJtZXJnZWRPcHRpb25zIiwib3B0aW9ucyIsInZhbHVlRW51bVRvT3B0aW9ucyIsImNvbXBvbmVudFByb3BzIiwibG9hZGluZyIsIl9qc3giLCJQcm9Gb3JtSXRlbSIsInJlYWRvbmx5UmVuZGVyIiwidmFsdWUiLCJjaGlsZHJlbiIsIlByb0Zvcm1GaWVsZENvbXBvbmVudCIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiZGVwVmFsdWVzIiwiTWVtb2l6ZWRGaWVsZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsc0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFD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QUFBdEIsTUFBQSxDQUFBNEQsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLckMsS0FBSyxFQUFBO1lBQUU2QixrQkFBa0IsRUFBRXlDO1VBQVMsQ0FBQSxDQUFBLENBQUk7UUFBQTtNQUN6RCxDQUFBLENBQ2lCO0lBRXhCO0lBRUEsT0FBTyxJQUFBUCxlQUFBLEVBQUNoRSxVQUFVLEVBQUF0QixNQUFBLENBQUE0RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtyQyxLQUFLLENBQUEsQ0FBSTtFQUNsQyxDQUFDO0VBRUQsSUFBTXVFLGFBQWEsZ0JBQUcsSUFBQTNFLFdBQUksRUFBQ3dFLHFCQUFxQixDQUFDO0VBQ2pELE9BQU9HLGFBQWE7QUFDdEI7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFY3ZGLGtCQUFrQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4uL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZUZpZWxkUmVxdWVzdCB9IGZyb20gJy4uL2hvb2tzL3VzZUZpZWxkUmVxdWVzdCc7XG5pbXBvcnQgeyByZXNvbHZlV2lkdGgsIHZhbHVlRW51bVRvT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY3JlYXRlUHJvRm9ybUZpZWxkIOKAlCBmYWN0b3J5IHRoYXQgcHJvZHVjZXMgYSBQcm9Gb3JtLWF3YXJlIGZpZWxkIGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvRm9ybUZpZWxkKGNvbmZpZykge1xuICAgIGNvbnN0IHsgY29tcG9uZW50OiBDb21wb25lbnQsIHZhbHVlUHJvcE5hbWUsIHZhbHVlVHlwZTogZGVmYXVsdFZhbHVlVHlwZSwgbWFwUHJvcHMsIHJlbmRlclJlYWRvbmx5LCB9ID0gY29uZmlnO1xuICAgIC8vIE1lbW8gYm91bmRhcnkgYXJvdW5kIHRoZSB3cmFwcGVkIGNvbnRyb2w6IGNvbWJpbmVkIHdpdGggdGhlIHN0YWJsZVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGZyb20gdXNlRm9ybUl0ZW0sIGZpZWxkcyB3aG9zZSB2YWx1ZSBkaWRuJ3QgY2hhbmdlIGNhblxuICAgIC8vIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaW4gdGhlIGZvcm0gaXMgdHlwaW5nLiBkaXNwbGF5TmFtZSBtdXN0IGJlXG4gICAgLy8gY2FycmllZCBvdmVyIOKAlCBpbmplY3RGaWVsZCB1c2VzIGl0IHRvIHJlY29nbml6ZSBmb3JtIGNvbnRyb2xzLlxuICAgIGNvbnN0IE1lbW9pemVkQ29tcG9uZW50ID0gbWVtbyhDb21wb25lbnQpO1xuICAgIE1lbW9pemVkQ29tcG9uZW50LmRpc3BsYXlOYW1lID1cbiAgICAgICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IF9jID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgcmVxdWlyZWQsIGZlZWRiYWNrLCB2YWxpZGF0ZVN0YXR1cywgY29sb24sIHJlYWRvbmx5LCBtb2RlOiBtb2RlUHJvcCwgaGlkZGVuLCBjb2xQcm9wcywgZmllbGRQcm9wcywgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCB3aWR0aCwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIFxuICAgICAgICAvLyBGaWVsZC1sZXZlbCBmZWF0dXJlc1xuICAgICAgICBkZXBlbmRlbmNpZXM6IF9kZXBzLCByZXF1ZXN0LCBwYXJhbXMsIHZhbHVlRW51bSwgZGVib3VuY2VUaW1lLCB2YWxpZGF0ZURlYm91bmNlLCB2YWx1ZVR5cGUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2MsIHJlc3QgPSBfX3Jlc3QoX2MsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJyZXF1aXJlZFwiLCBcImZlZWRiYWNrXCIsIFwidmFsaWRhdGVTdGF0dXNcIiwgXCJjb2xvblwiLCBcInJlYWRvbmx5XCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJ2YWxpZGF0ZURlYm91bmNlXCIsIFwidmFsdWVUeXBlXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgLy8gTW9kZSByZXNvbHV0aW9uOiBleHBsaWNpdCBtb2RlID4gbGVnYWN5IHJlYWRvbmx5ID4gY3R4Lm1vZGUgKFByb0Zvcm1JdGVtKVxuICAgICAgICBjb25zdCByZXNvbHZlZE1vZGUgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiAocmVhZG9ubHkgIT09IHVuZGVmaW5lZCA/IChyZWFkb25seSA/ICdyZWFkJyA6ICdlZGl0JykgOiB1bmRlZmluZWQpO1xuICAgICAgICAvLyBGb3JtLWxldmVsIGZpZWxkUHJvcHMgKGxvd2VzdCBwcmlvcml0eSBhZnRlciBtYXBQcm9wcyBkZWZhdWx0cykuXG4gICAgICAgIC8vIFN0YWJsZSBzbGljZSBvbmx5IOKAlCB0aGUgZmllbGQgc2hlbGwgbXVzdCBOT1QgcmUtcmVuZGVyIHBlciBrZXlzdHJva2U7XG4gICAgICAgIC8vIHZhbHVlL2Vycm9yIHJlYWN0aXZpdHkgbGl2ZXMgaW5zaWRlIFByb0Zvcm1JdGVtLlxuICAgICAgICBjb25zdCB7IGZpZWxkUHJvcHM6IGNvbnRleHRGaWVsZFByb3BzIH0gPSB1c2VQcm9Gb3JtU3RhYmxlKCk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2IgPSAoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGNvbnRleHRGaWVsZFByb3BzID09PSBudWxsIHx8IGNvbnRleHRGaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb250ZXh0RmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbWFwcGVkID09PSBudWxsIHx8IG1hcHBlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWFwcGVkLm9uQ2hhbmdlKTtcbiAgICAgICAgY29uc3QgeyBydW46IGRlYm91bmNlZE9uQ2hhbmdlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoLi4uYXJncykgPT4gdXNlck9uQ2hhbmdlID09PSBudWxsIHx8IHVzZXJPbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uQ2hhbmdlKC4uLmFyZ3MpLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnNcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub3B0aW9ucztcbiAgICAgICAgaWYgKHZhbHVlRW51bSkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHZhbHVlRW51bVRvT3B0aW9ucyh2YWx1ZUVudW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXF1ZXN0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG1hcHBlZCksIChjb250ZXh0RmllbGRQcm9wcyB8fCB7fSkpLCAoZmllbGRQcm9wcyB8fCB7fSkpLCAobWVyZ2VkT3B0aW9ucyAhPT0gdW5kZWZpbmVkID8geyBvcHRpb25zOiBtZXJnZWRPcHRpb25zIH0gOiB7fSkpLCAocmVxdWVzdExvYWRpbmcgPyB7IGxvYWRpbmc6IHRydWUgfSA6IHt9KSksIChwbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8geyBwbGFjZWhvbGRlciB9IDoge30pKSwgKGRpc2FibGVkICE9PSB1bmRlZmluZWQgPyB7IGRpc2FibGVkIH0gOiB7fSkpLCAobWVyZ2VkU3R5bGUgPyB7IHN0eWxlOiBtZXJnZWRTdHlsZSB9IDoge30pKTtcbiAgICAgICAgLy8gV2lyZSBkZWJvdW5jZS4gVGhlIHdyYXBwZXIgZm9yd2FyZHMgdG8gdGhlIGxhdGVzdCB1c2VyIG9uQ2hhbmdlIHZpYVxuICAgICAgICAvLyBgb25DaGFuZ2VMYXRlc3RgLCBzbyBubyBuZWVkIHRvIHN0YXNoIGl0IG9uIGEgcmVmIGhlcmUuXG4gICAgICAgIGlmIChkZWJvdW5jZVRpbWUgJiYgZGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgICAgICAgY29tcG9uZW50UHJvcHMub25DaGFuZ2UgPSBkZWJvdW5jZWRPbkNoYW5nZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzOiB2YWxpZGF0ZVN0YXR1cywgY29sb246IGNvbG9uLCBoaWRkZW46IGhpZGRlbiwgbW9kZTogcmVzb2x2ZWRNb2RlLCBjb2xQcm9wczogY29sUHJvcHMsIHRyYW5zZm9ybTogdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgdmFsdWVQcm9wTmFtZTogdmFsdWVQcm9wTmFtZSwgdmFsaWRhdGVEZWJvdW5jZTogdmFsaWRhdGVEZWJvdW5jZSwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUgIT09IG51bGwgJiYgdmFsdWVUeXBlICE9PSB2b2lkIDAgPyB2YWx1ZVR5cGUgOiBkZWZhdWx0VmFsdWVUeXBlLCByZWFkb25seVJlbmRlcjogcmVuZGVyUmVhZG9ubHkgPyAodmFsdWUpID0+IHJlbmRlclJlYWRvbmx5KHZhbHVlKSA6IHVuZGVmaW5lZCwgY2hpbGRyZW46IF9qc3goTWVtb2l6ZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { ProFormItem } from './ProFormItem';
|
|
2
2
|
import type { FormInstance, UseFormConfig } from './core/interface';
|
|
3
3
|
import './style';
|
|
4
|
-
declare const ProForm: import("
|
|
4
|
+
declare const ProForm: import("./ProForm").ProFormComponent & {
|
|
5
5
|
Item: import("react").NamedExoticComponent<import("./interface").ProFormItemProps>;
|
|
6
|
-
useForm: (config?: UseFormConfig) => [FormInstance];
|
|
7
|
-
useInstance: () => import("./interface").ProFormFormInstance
|
|
6
|
+
useForm: <Values = Record<string, unknown>>(config?: UseFormConfig<Values>) => [FormInstance<Values>];
|
|
7
|
+
useInstance: <Values = Record<string, unknown>>() => import("./interface").ProFormFormInstance<Values>;
|
|
8
8
|
useContext: () => import("./interface").ProFormContextValue;
|
|
9
|
+
useWatch: import("./context").UseFormWatch;
|
|
9
10
|
Dependency: import("react").NamedExoticComponent<import("./interface").ProFormDependencyProps>;
|
|
10
11
|
List: import("react").NamedExoticComponent<import("./interface").ProFormListProps>;
|
|
11
12
|
Group: import("react").NamedExoticComponent<import("./interface").ProFormGroupProps>;
|
|
12
13
|
FieldSet: import("react").NamedExoticComponent<import("./interface").ProFormFieldSetProps>;
|
|
14
|
+
SchemaForm: (<Values = Record<string, unknown>>(props: import("./interface").SchemaFormProps<Values>) => import("react").ReactElement | null) & {
|
|
15
|
+
displayName?: string;
|
|
16
|
+
};
|
|
13
17
|
Submitter: import("react").NamedExoticComponent<import("./Submitter").SubmitterInternalProps>;
|
|
14
18
|
Text: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputProps>>;
|
|
15
19
|
Password: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputPasswordProps>>;
|
|
@@ -29,10 +33,13 @@ export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProF
|
|
|
29
33
|
export { ProFormDependency } from './ProFormDependency';
|
|
30
34
|
export { ProFormList } from './ProFormList';
|
|
31
35
|
export { ProFormGroup } from './ProFormGroup';
|
|
36
|
+
export { SchemaForm } from './SchemaForm';
|
|
32
37
|
export { DrawerForm } from './layouts/DrawerForm';
|
|
33
38
|
export { DialogForm } from './layouts/DialogForm';
|
|
34
39
|
export { QueryFilter } from './layouts/QueryFilter';
|
|
35
|
-
export
|
|
40
|
+
export { useFormWatch } from './context';
|
|
41
|
+
export type { UseFormWatch } from './context';
|
|
42
|
+
export type { ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, } from './interface';
|
|
36
43
|
export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
|
|
37
44
|
export type { ProFormMode } from './constants';
|
|
38
45
|
export type { FormInstance, FormCoreInstance, Rule, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
|