@1money/component-ui 0.0.20 → 0.0.22

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 (95) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/AGENTS.md +7 -1
  3. package/es/components/Calendar/style/Calendar.css +1 -1
  4. package/es/components/ProForm/ProForm.js +93 -116
  5. package/es/components/ProForm/ProFormDependency.js +2 -4
  6. package/es/components/ProForm/ProFormItem.d.ts +4 -0
  7. package/es/components/ProForm/ProFormItem.js +213 -0
  8. package/es/components/ProForm/ProFormList.js +5 -6
  9. package/es/components/ProForm/Submitter.js +2 -2
  10. package/es/components/ProForm/context.d.ts +10 -2
  11. package/es/components/ProForm/context.js +17 -14
  12. package/es/components/{Form → ProForm/core}/constants.d.ts +1 -1
  13. package/es/components/ProForm/core/constants.js +18 -0
  14. package/es/components/ProForm/core/hooks/useForm.js +541 -0
  15. package/es/components/ProForm/core/hooks/useFormCore.js +347 -0
  16. package/es/components/ProForm/core/index.d.ts +6 -0
  17. package/es/components/ProForm/core/index.js +6 -0
  18. package/es/components/{Form → ProForm/core}/interface.d.ts +21 -60
  19. package/es/components/ProForm/core/interface.js +2 -0
  20. package/es/components/ProForm/core/useFormItem.d.ts +20 -0
  21. package/es/components/ProForm/core/useFormItem.js +121 -0
  22. package/es/components/ProForm/fields/ProFormFieldSet.js +7 -6
  23. package/es/components/ProForm/fields/createProFormField.js +76 -151
  24. package/es/components/ProForm/index.d.ts +12 -5
  25. package/es/components/ProForm/index.js +20 -8
  26. package/es/components/ProForm/interface.d.ts +76 -41
  27. package/es/components/ProForm/style/ProForm.css +1 -1
  28. package/es/index.css +1 -1
  29. package/es/index.d.ts +3 -4
  30. package/es/index.js +2 -3
  31. package/lib/components/Calendar/style/Calendar.css +1 -1
  32. package/lib/components/ProForm/ProForm.js +94 -117
  33. package/lib/components/ProForm/ProFormDependency.js +2 -4
  34. package/lib/components/ProForm/ProFormItem.d.ts +4 -0
  35. package/lib/components/ProForm/ProFormItem.js +222 -0
  36. package/lib/components/ProForm/ProFormList.js +4 -5
  37. package/lib/components/ProForm/Submitter.js +2 -2
  38. package/lib/components/ProForm/context.d.ts +10 -2
  39. package/lib/components/ProForm/context.js +18 -15
  40. package/lib/components/{Form → ProForm/core}/constants.d.ts +1 -1
  41. package/lib/components/ProForm/core/constants.js +24 -0
  42. package/lib/components/ProForm/core/hooks/useForm.js +551 -0
  43. package/lib/components/ProForm/core/hooks/useFormCore.js +354 -0
  44. package/lib/components/ProForm/core/index.d.ts +6 -0
  45. package/lib/components/ProForm/core/index.js +56 -0
  46. package/lib/components/{Form → ProForm/core}/interface.d.ts +21 -60
  47. package/lib/components/ProForm/core/interface.js +6 -0
  48. package/lib/components/ProForm/core/useFormItem.d.ts +20 -0
  49. package/lib/components/ProForm/core/useFormItem.js +131 -0
  50. package/lib/components/ProForm/fields/ProFormFieldSet.js +7 -6
  51. package/lib/components/ProForm/fields/createProFormField.js +76 -151
  52. package/lib/components/ProForm/index.d.ts +12 -5
  53. package/lib/components/ProForm/index.js +41 -28
  54. package/lib/components/ProForm/interface.d.ts +76 -41
  55. package/lib/components/ProForm/style/ProForm.css +1 -1
  56. package/lib/index.css +1 -1
  57. package/lib/index.d.ts +3 -4
  58. package/lib/index.js +49 -50
  59. package/package.json +1 -1
  60. package/es/components/Form/Form.d.ts +0 -4
  61. package/es/components/Form/Form.js +0 -73
  62. package/es/components/Form/FormItem.d.ts +0 -4
  63. package/es/components/Form/FormItem.js +0 -183
  64. package/es/components/Form/constants.js +0 -19
  65. package/es/components/Form/context.d.ts +0 -5
  66. package/es/components/Form/context.js +0 -19
  67. package/es/components/Form/hooks/useForm.js +0 -541
  68. package/es/components/Form/hooks/useFormCore.js +0 -348
  69. package/es/components/Form/index.d.ts +0 -10
  70. package/es/components/Form/index.js +0 -17
  71. package/es/components/Form/interface.js +0 -2
  72. package/es/components/Form/style/Form.css +0 -1
  73. package/es/components/Form/style/css.js +0 -2
  74. package/es/components/Form/style/index.d.ts +0 -1
  75. package/es/components/Form/style/index.js +0 -2
  76. package/lib/components/Form/Form.d.ts +0 -4
  77. package/lib/components/Form/Form.js +0 -80
  78. package/lib/components/Form/FormItem.d.ts +0 -4
  79. package/lib/components/Form/FormItem.js +0 -193
  80. package/lib/components/Form/constants.js +0 -25
  81. package/lib/components/Form/context.d.ts +0 -5
  82. package/lib/components/Form/context.js +0 -25
  83. package/lib/components/Form/hooks/useForm.js +0 -551
  84. package/lib/components/Form/hooks/useFormCore.js +0 -355
  85. package/lib/components/Form/index.d.ts +0 -10
  86. package/lib/components/Form/index.js +0 -83
  87. package/lib/components/Form/interface.js +0 -6
  88. package/lib/components/Form/style/Form.css +0 -1
  89. package/lib/components/Form/style/css.js +0 -4
  90. package/lib/components/Form/style/index.d.ts +0 -1
  91. package/lib/components/Form/style/index.js +0 -4
  92. /package/es/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  93. /package/es/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
  94. /package/lib/components/{Form → ProForm/core}/hooks/useForm.d.ts +0 -0
  95. /package/lib/components/{Form → ProForm/core}/hooks/useFormCore.d.ts +0 -0
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useFormItem = useFormItem;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _hooks = require("@1money/hooks");
12
+ var _context = require("../context");
13
+ var _constants = require("./constants");
14
+ 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); }
15
+ 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; }
16
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
17
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
18
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19
+ function getNestedValue(obj, path) {
20
+ var keys = path.split('.');
21
+ var current = obj;
22
+ var _iterator = _createForOfIteratorHelper(keys),
23
+ _step;
24
+ try {
25
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
26
+ var key = _step.value;
27
+ if (current === null || current === undefined || (0, _typeof2["default"])(current) !== 'object') return undefined;
28
+ current = current[key];
29
+ }
30
+ } catch (err) {
31
+ _iterator.e(err);
32
+ } finally {
33
+ _iterator.f();
34
+ }
35
+ return current;
36
+ }
37
+ function useFormItem(options) {
38
+ var name = options.name,
39
+ _options$rules = options.rules,
40
+ rules = _options$rules === void 0 ? [] : _options$rules,
41
+ required = options.required,
42
+ validateStatus = options.validateStatus;
43
+ var ctx = (0, _context.useProFormContext)();
44
+ var values = ctx.values,
45
+ errors = ctx.errors,
46
+ setFieldValue = ctx.setFieldValue,
47
+ validateField = ctx.validateField,
48
+ registerField = ctx.registerField,
49
+ unregisterField = ctx.unregisterField,
50
+ size = ctx.size,
51
+ labelAlign = ctx.labelAlign,
52
+ requiredMark = ctx.requiredMark,
53
+ validateTrigger = ctx.validateTrigger;
54
+ var isRequired = Boolean(required || rules.some(function (rule) {
55
+ return rule.required;
56
+ }));
57
+ var fieldValue = name ? name.includes('.') ? getNestedValue(values, name) : values[name] : undefined;
58
+ var fieldError = name ? name.includes('.') ? getNestedValue(errors, name) : errors[name] : undefined;
59
+ var finalStatus = validateStatus || (fieldError ? 'error' : undefined);
60
+ var runValidate = (0, _hooks.useEventCallback)(function (value) {
61
+ if (name && rules.length > 0) return validateField(name, rules, value);
62
+ return true;
63
+ });
64
+ var handleChange = (0, _hooks.useEventCallback)(function (value) {
65
+ if (name) {
66
+ setFieldValue(name, value);
67
+ if (validateTrigger === 'onChange') runValidate(value);
68
+ }
69
+ });
70
+ var handleBlur = (0, _hooks.useEventCallback)(function () {
71
+ if (validateTrigger === 'onBlur') runValidate(fieldValue);
72
+ });
73
+ (0, _react.useEffect)(function () {
74
+ if (name && registerField) registerField(name, rules);
75
+ return function () {
76
+ if (name && unregisterField) unregisterField(name);
77
+ };
78
+ }, [name]);
79
+ var injectField = function injectField(child) {
80
+ var _a;
81
+ if (!name || ! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
82
+ var childProps = child.props;
83
+ var displayName = (_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName;
84
+ var isFormComponent = _constants.FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined;
85
+ if (!isFormComponent) return child;
86
+ var safeValue = fieldValue;
87
+ if (safeValue === null || safeValue === undefined) {
88
+ if (['Input', 'TextArea', 'InputNumber'].includes(displayName || '') || childProps.placeholder !== undefined) {
89
+ safeValue = '';
90
+ } else if (['Checkbox', 'Switch'].includes(displayName || '')) {
91
+ safeValue = false;
92
+ }
93
+ } else if (['Input', 'TextArea'].includes(displayName || '') && typeof safeValue !== 'string' && typeof safeValue !== 'number') {
94
+ safeValue = '';
95
+ }
96
+ var injectedProps = Object.assign({
97
+ value: safeValue,
98
+ onChange: function onChange(e) {
99
+ var actualValue = e && (0, _typeof2["default"])(e) === 'object' && 'target' in e ? e.target.value : e;
100
+ handleChange(actualValue);
101
+ if (typeof childProps.onChange === 'function') {
102
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
103
+ args[_key - 1] = arguments[_key];
104
+ }
105
+ childProps.onChange.apply(childProps, [e].concat(args));
106
+ }
107
+ },
108
+ onBlur: function onBlur() {
109
+ handleBlur();
110
+ if (typeof childProps.onBlur === 'function') {
111
+ childProps.onBlur.apply(childProps, arguments);
112
+ }
113
+ },
114
+ size: childProps.size || size
115
+ }, finalStatus === 'error' && {
116
+ status: 'error'
117
+ });
118
+ return /*#__PURE__*/_react["default"].cloneElement(child, injectedProps);
119
+ };
120
+ return {
121
+ fieldValue: fieldValue,
122
+ fieldError: fieldError,
123
+ validateStatus: finalStatus,
124
+ isRequired: isRequired,
125
+ size: size,
126
+ labelAlign: labelAlign,
127
+ requiredMark: requiredMark,
128
+ injectField: injectField
129
+ };
130
+ }
131
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaG9va3MiLCJfY29udGV4dCIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImdldE5lc3RlZFZhbHVlIiwib2JqIiwicGF0aCIsImtleXMiLCJzcGxpdCIsImN1cnJlbnQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImtleSIsInVuZGVmaW5lZCIsIl90eXBlb2YyIiwiZXJyIiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInJlcXVpcmVkIiwidmFsaWRhdGVTdGF0dXMiLCJjdHgiLCJ1c2VQcm9Gb3JtQ29udGV4dCIsInZhbHVlcyIsImVycm9ycyIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiaXNSZXF1aXJlZCIsIkJvb2xlYW4iLCJzb21lIiwicnVsZSIsImZpZWxkVmFsdWUiLCJpbmNsdWRlcyIsImZpZWxkRXJyb3IiLCJmaW5hbFN0YXR1cyIsInJ1blZhbGlkYXRlIiwidXNlRXZlbnRDYWxsYmFjayIsImhhbmRsZUNoYW5nZSIsImhhbmRsZUJsdXIiLCJ1c2VFZmZlY3QiLCJpbmplY3RGaWVsZCIsImNoaWxkIiwiX2EiLCJSZWFjdCIsImlzVmFsaWRFbGVtZW50IiwiY2hpbGRQcm9wcyIsInByb3BzIiwiZGlzcGxheU5hbWUiLCJ0eXBlIiwiaXNGb3JtQ29tcG9uZW50IiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJwbGFjZWhvbGRlciIsInNhZmVWYWx1ZSIsImluamVjdGVkUHJvcHMiLCJhc3NpZ24iLCJvbkNoYW5nZSIsImFjdHVhbFZhbHVlIiwidGFyZ2V0IiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJfa2V5IiwiYXBwbHkiLCJjb25jYXQiLCJvbkJsdXIiLCJzdGF0dXMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUFtRCxTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxD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bkIsVUFBVSxDQUFDbUIsTUFBb0MsQ0FBQUYsS0FBQSxDQUEvQ2pCLFVBQVUsRUFBQWMsU0FBNkMsQ0FBQztRQUMzRDtNQUNGLENBQUM7TUFDRHBDLElBQUksRUFBRXNCLFVBQVUsQ0FBQ3RCLElBQUksSUFBSUE7SUFBSSxDQUFBLEVBQ3pCVyxXQUFXLEtBQUssT0FBTyxJQUFJO01BQUUrQixNQUFNLEVBQUU7SUFBTyxDQUFHLENBQ3BEO0lBRUQsb0JBQU90QixpQkFBSyxDQUFDdUIsWUFBWSxDQUFDekIsS0FBSyxFQUFFWSxhQUFhLENBQUM7RUFDakQsQ0FBQztFQUVELE9BQU87SUFDTHRCLFVBQVUsRUFBVkEsVUFBVTtJQUNWRSxVQUFVLEVBQVZBLFVBQVU7SUFDVm5CLGNBQWMsRUFBRW9CLFdBQVc7SUFDM0JQLFVBQVUsRUFBVkEsVUFBVTtJQUNWSixJQUFJLEVBQUpBLElBQUk7SUFDSkMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFlBQVksRUFBWkEsWUFBWTtJQUNaZSxXQUFXLEVBQVhBO0VDL0NBLENEZ0REO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBnZXROZXN0ZWRWYWx1ZShvYmosIHBhdGgpIHtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50ID0gb2JqO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudCA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBjdXJyZW50ICE9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm1JdGVtKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIHJ1bGVzID0gW10sIHJlcXVpcmVkLCB2YWxpZGF0ZVN0YXR1cyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjdHggPSB1c2VQcm9Gb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHsgdmFsdWVzLCBlcnJvcnMsIHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHJlZ2lzdGVyRmllbGQsIHVucmVnaXN0ZXJGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgcmVxdWlyZWRNYXJrLCB2YWxpZGF0ZVRyaWdnZXIsIH0gPSBjdHg7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IEJvb2xlYW4ocmVxdWlyZWQgfHwgcnVsZXMuc29tZSgocnVsZSkgPT4gcnVsZS5yZXF1aXJlZCkpO1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKSA/IGdldE5lc3RlZFZhbHVlKHZhbHVlcywgbmFtZSkgOiB2YWx1ZXNbbmFtZV0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShlcnJvcnMsIG5hbWUpXG4gICAgICAgICAgICA6IGVycm9yc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcnVsZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUZpZWxkKG5hbWUsIHJ1bGVzLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBzZXRGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0ZVRyaWdnZXIgPT09ICdvbkNoYW5nZScpXG4gICAgICAgICAgICAgICAgcnVuVmFsaWRhdGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAodmFsaWRhdGVUcmlnZ2VyID09PSAnb25CbHVyJylcbiAgICAgICAgICAgIHJ1blZhbGlkYXRlKGZpZWxkVmFsdWUpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmIChuYW1lICYmIHVucmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChbJ0lucHV0JywgJ1RleHRBcmVhJywgJ0lucHV0TnVtYmVyJ10uaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFsnSW5wdXQnLCAnVGV4dEFyZWEnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyB2YWx1ZTogc2FmZVZhbHVlLCBvbkNoYW5nZTogKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGUgJiYgdHlwZW9mIGUgPT09ICdvYmplY3QnICYmICd0YXJnZXQnIGluIGVcbiAgICAgICAgICAgICAgICAgICAgPyBlLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGU7XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGFjdHVhbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkUHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkNoYW5nZShlLCAuLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBvbkJsdXI6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgc2l6ZTogY2hpbGRQcm9wcy5zaXplIHx8IHNpemUgfSwgKGZpbmFsU3RhdHVzID09PSAnZXJyb3InICYmIHsgc3RhdHVzOiAnZXJyb3InIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogZmluYWxTdGF0dXMsXG4gICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIHJlcXVpcmVkTWFyayxcbiAgICAgICAgaW5qZWN0RmllbGQsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -10,7 +10,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var _Form = require("../../Form");
13
+ var _ProFormItem = require("../ProFormItem");
14
+ var _context = require("../context");
14
15
  var _classnames = _interopRequireDefault(require("../../../utils/classnames"));
15
16
  var _constants = require("../constants");
16
17
  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); }
@@ -26,9 +27,9 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
26
27
  gap = _props$gap === void 0 ? 8 : _props$gap,
27
28
  style = props.style,
28
29
  children = props.children;
29
- var _useFormContext = (0, _Form.useFormContext)(),
30
- values = _useFormContext.values,
31
- setFieldValue = _useFormContext.setFieldValue;
30
+ var _useProFormContext = (0, _context.useProFormContext)(),
31
+ values = _useProFormContext.values,
32
+ setFieldValue = _useProFormContext.setFieldValue;
32
33
  var value = name ? Array.isArray(values[name]) ? values[name] : [] : [];
33
34
  var itemIndex = -1;
34
35
  var list = _react["default"].Children.map(children, function (child) {
@@ -55,7 +56,7 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
55
56
  children: list
56
57
  });
57
58
  if (name) {
58
- return (0, _jsxRuntime.jsx)(_Form.FormItem, {
59
+ return (0, _jsxRuntime.jsx)(_ProFormItem.ProFormItem, {
59
60
  label: label,
60
61
  name: name,
61
62
  rules: rules,
@@ -69,4 +70,4 @@ var ProFormFieldSetBase = function ProFormFieldSetBase(props) {
69
70
  ProFormFieldSetBase.displayName = 'ProFormFieldSet';
70
71
  var ProFormFieldSet = exports.ProFormFieldSet = /*#__PURE__*/(0, _react.memo)(ProFormFieldSetBase);
71
72
  var _default = exports["default"] = ProFormFieldSet;
72
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfRm9ybSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJjb25jYXQiLCJDU1NfUFJFRklYIiwiUHJvRm9ybUZpZWxkU2V0QmFzZSIsInByb3BzIiwibmFtZSIsImxhYmVsIiwicnVsZXMiLCJyZXF1aXJlZCIsImhlbHAiLCJfcHJvcHMkZ2FwIiwiZ2FwIiwic3R5bGUiLCJjaGlsZHJlbiIsIl91c2VGb3JtQ29udGV4dCIsInVzZUZvcm1Db250ZXh0IiwidmFsdWVzIiwic2V0RmllbGRWYWx1ZSIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbUluZGV4IiwibGlzdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImlzVmFsaWRFbGVtZW50IiwiaW5kZXgiLCJjbG9uZUVsZW1lbnQiLCJvbkNoYW5nZSIsInZhbCIsIm5ld1ZhbHVlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIl90eXBlb2YyIiwidGFyZ2V0IiwiY29udGVudCIsIl9qc3giLCJjbGFzc05hbWUiLCJhc3NpZ24iLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsIkZvcm1JdGVtIiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRmllbGRTZXQiLCJleHBvcnRzIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQTBDLFNBQUFPLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxRQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENB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QUE7SUFBQUMsUUFBQSxFQUN6RlM7RUFBSSxDQUFBLENBRVI7RUFFRCxJQUFJakIsSUFBSSxFQUFFO0lBQ1IsT0FDRSxJQUFBZ0MsZUFBQSxFQUFDSyxjQUFRLEVBQUE7TUFBQ3BDLEtBQUssRUFBRUEsS0FBSztNQUFFRCxJQUFJLEVBQUVBLElBQUk7TUFBRUUsS0FBSyxFQUFFQSxLQUFLO01BQUVDLFFBQVEsRUFBRUEsUUFBUTtNQUFFQyxJQUFJLEVBQUVBLElBQUk7TUFBQUksUUFBQSxFQUM3RXVCO0lBQU8sQ0FBQSxDQUNDO0VBRWY7RUFFQSxPQUFPQSxPQUFPO0FBQ2hCLENBQUM7QUFFRGpDLG1CQUFtQixDQUFDd0MsV0FBVyxHQUFHLGlCQUFpQjtBQUU1QyxJQUFNQyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUMzQyxtQkFBbUIsQ0FBQztBQUFDLElBQUE0QyxRQUFBLEdBQUFGLE9BQUEsY0FFMUNELGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRmllbGRTZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtSXRlbSwgdXNlRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9Gb3JtJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQ1NTX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5jb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhgJHtDU1NfUFJFRklYfS1maWVsZHNldGApO1xuY29uc3QgUHJvRm9ybUZpZWxkU2V0QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgbmFtZSwgbGFiZWwsIHJ1bGVzLCByZXF1aXJlZCwgaGVscCwgZ2FwID0gOCwgc3R5bGUsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyB2YWx1ZXMsIHNldEZpZWxkVmFsdWUgfSA9IHVzZUZvcm1Db250ZXh0KCk7XG4gICAgY29uc3QgdmFsdWUgPSBuYW1lID8gKEFycmF5LmlzQXJyYXkodmFsdWVzW25hbWVdKSA/IHZhbHVlc1tuYW1lXSA6IFtdKSA6IFtdO1xuICAgIGxldCBpdGVtSW5kZXggPSAtMTtcbiAgICBjb25zdCBsaXN0ID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKCFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGl0ZW1JbmRleCArPSAxO1xuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1JbmRleDtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgdmFsdWU6IHZhbHVlW2luZGV4XSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuYW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBbLi4udmFsdWVdO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW2luZGV4XSA9IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiAndGFyZ2V0JyBpbiB2YWxcbiAgICAgICAgICAgICAgICAgICAgPyB2YWwudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdmFsO1xuICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgY29udGVudCA9IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIHN0eWxlOiBPYmplY3QuYXNzaWduKHsgZGlzcGxheTogJ2ZsZXgnLCBnYXAsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyB9LCBzdHlsZSksIGNoaWxkcmVuOiBsaXN0IH0pKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgICByZXR1cm4gKF9qc3goRm9ybUl0ZW0sIHsgbGFiZWw6IGxhYmVsLCBuYW1lOiBuYW1lLCBydWxlczogcnVsZXMsIHJlcXVpcmVkOiByZXF1aXJlZCwgaGVscDogaGVscCwgY2hpbGRyZW46IGNvbnRlbnQgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbn07XG5Qcm9Gb3JtRmllbGRTZXRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1GaWVsZFNldCc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUZpZWxkU2V0ID0gbWVtbyhQcm9Gb3JtRmllbGRTZXRCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1GaWVsZFNldDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
73
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUZpZWxkU2V0LmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1GaWVsZFNldC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUHJvRm9ybUl0ZW0iLCJfY29udGV4dCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJjb25jYXQiLCJDU1NfUFJFRklYIiwiUHJvRm9ybUZpZWxkU2V0QmFzZSIsInByb3BzIiwibmFtZSIsImxhYmVsIiwicnVsZXMiLCJyZXF1aXJlZCIsImhlbHAiLCJfcHJvcHMkZ2FwIiwiZ2FwIiwic3R5bGUiLCJjaGlsZHJlbiIsIl91c2VQcm9Gb3JtQ29udGV4dCIsInVzZVByb0Zvcm1Db250ZXh0IiwidmFsdWVzIiwic2V0RmllbGRWYWx1ZSIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbUluZGV4IiwibGlzdCIsIlJlYWN0IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImlzVmFsaWRFbGVtZW50IiwiaW5kZXgiLCJjbG9uZUVsZW1lbnQiLCJvbkNoYW5nZSIsInZhbCIsIm5ld1ZhbHVlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIl90eXBlb2YyIiwidGFyZ2V0IiwiY29udGVudCIsIl9qc3giLCJjbGFzc05hbWUiLCJhc3NpZ24iLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsIlByb0Zvcm1JdGVtIiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRmllbGRTZXQiLCJleHBvcnRzIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBQyxzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQTBDLFNBQUFRLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUCx3QkFBQU8sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxRQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFB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LEdBQUcsRUFBSEEsR0FBRztNQUFFOEIsVUFBVSxFQUFFO0lBQVksQ0FBQSxFQUFLN0IsS0FBSyxDQUFBO0lBQUFDLFFBQUEsRUFDekZTO0VBQUksQ0FBQSxDQUVSO0VBRUQsSUFBSWpCLElBQUksRUFBRTtJQUNSLE9BQ0UsSUFBQWdDLGVBQUEsRUFBQ0ssd0JBQVcsRUFBQTtNQUFDcEMsS0FBSyxFQUFFQSxLQUFLO01BQUVELElBQUksRUFBRUEsSUFBSTtNQUFFRSxLQUFLLEVBQUVBLEtBQUs7TUFBRUMsUUFBUSxFQUFFQSxRQUFRO01BQUVDLElBQUksRUFBRUEsSUFBSTtNQUFBSSxRQUFBLEVBQ2hGdUI7SUFBTyxDQUFBLENBQ0k7RUFFbEI7RUFFQSxPQUFPQSxPQUFPO0FBQ2hCLENBQUM7QUFFRGpDLG1CQUFtQixDQUFDd0MsV0FBVyxHQUFHLGlCQUFpQjtBQUU1QyxJQUFNQyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUMzQyxtQkFBbUIsQ0FBQztBQUFDLElBQUE0QyxRQUFBLEdBQUFGLE9BQUEsY0FFMUNELGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRmllbGRTZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4uL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IHVzZVByb0Zvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tZmllbGRzZXRgKTtcbmNvbnN0IFByb0Zvcm1GaWVsZFNldEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IG5hbWUsIGxhYmVsLCBydWxlcywgcmVxdWlyZWQsIGhlbHAsIGdhcCA9IDgsIHN0eWxlLCBjaGlsZHJlbiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgdmFsdWVzLCBzZXRGaWVsZFZhbHVlIH0gPSB1c2VQcm9Gb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHZhbHVlID0gbmFtZSA/IChBcnJheS5pc0FycmF5KHZhbHVlc1tuYW1lXSkgPyB2YWx1ZXNbbmFtZV0gOiBbXSkgOiBbXTtcbiAgICBsZXQgaXRlbUluZGV4ID0gLTE7XG4gICAgY29uc3QgbGlzdCA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgICAgIGlmICghUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBpdGVtSW5kZXggKz0gMTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpdGVtSW5kZXg7XG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVtpbmRleF0sXG4gICAgICAgICAgICBvbkNoYW5nZTogKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbmFtZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gWy4uLnZhbHVlXTtcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZVtpbmRleF0gPSB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgJ3RhcmdldCcgaW4gdmFsXG4gICAgICAgICAgICAgICAgICAgID8gdmFsLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHZhbDtcbiAgICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlKG5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBzdHlsZTogT2JqZWN0LmFzc2lnbih7IGRpc3BsYXk6ICdmbGV4JywgZ2FwLCBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcgfSwgc3R5bGUpLCBjaGlsZHJlbjogbGlzdCB9KSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IGxhYmVsOiBsYWJlbCwgbmFtZTogbmFtZSwgcnVsZXM6IHJ1bGVzLCByZXF1aXJlZDogcmVxdWlyZWQsIGhlbHA6IGhlbHAsIGNoaWxkcmVuOiBjb250ZW50IH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG59O1xuUHJvRm9ybUZpZWxkU2V0QmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRmllbGRTZXQnO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm1GaWVsZFNldCA9IG1lbW8oUHJvRm9ybUZpZWxkU2V0QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRmllbGRTZXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -9,13 +9,10 @@ exports["default"] = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _react = require("react");
12
- var _Form = require("../../Form");
13
- var _Grid = require("../../Grid");
14
- var _context = require("../context");
12
+ var _ProFormItem = require("../ProFormItem");
15
13
  var _ProFormDependency = require("../ProFormDependency");
16
14
  var _useFieldRequest3 = require("../hooks/useFieldRequest");
17
15
  var _utils = require("../utils");
18
- var _constants = require("../constants");
19
16
  var __rest = void 0 && (void 0).__rest || function (s, e) {
20
17
  var t = {};
21
18
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -24,34 +21,6 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
24
21
  }
25
22
  return t;
26
23
  };
27
- var ReadonlyFieldBase = function ReadonlyFieldBase(_ref) {
28
- var name = _ref.name,
29
- renderReadonly = _ref.renderReadonly;
30
- var _useFormContext = (0, _Form.useFormContext)(),
31
- values = _useFormContext.values;
32
- var value = name ? values[name] : undefined;
33
- var rendered = renderReadonly ? renderReadonly(value) : value != null && value !== '' ? String(value) : '-';
34
- return (0, _jsxRuntime.jsx)("span", {
35
- children: rendered
36
- });
37
- };
38
- ReadonlyFieldBase.displayName = 'ReadonlyField';
39
- var ReadonlyField = /*#__PURE__*/(0, _react.memo)(ReadonlyFieldBase);
40
- function ConvertValueWrapperBase(_ref2) {
41
- var name = _ref2.name,
42
- convertValue = _ref2.convertValue,
43
- Comp = _ref2.component,
44
- componentProps = _ref2.componentProps;
45
- var _useFormContext2 = (0, _Form.useFormContext)(),
46
- values = _useFormContext2.values;
47
- var rawValue = values[name];
48
- var converted = convertValue(rawValue, name);
49
- return (0, _jsxRuntime.jsx)(Comp, Object.assign({}, componentProps, {
50
- value: converted
51
- }));
52
- }
53
- ConvertValueWrapperBase.displayName = 'ConvertValueWrapper';
54
- var ConvertValueWrapper = /*#__PURE__*/(0, _react.memo)(ConvertValueWrapperBase);
55
24
  // ---------------------------------------------------------------------------
56
25
  // createProFormField — factory that produces a ProForm-aware field component
57
26
  // ---------------------------------------------------------------------------
@@ -59,50 +28,36 @@ function createProFormField(config) {
59
28
  var Component = config.component,
60
29
  mapProps = config.mapProps,
61
30
  renderReadonly = config.renderReadonly;
62
- // Inner component — handles mode, transform, request, valueEnum, debounce, render
31
+ // Inner component — handles mode, request, valueEnum, debounce, render
63
32
  var InnerField = function InnerField(props) {
64
- var _a, _b;
65
- var _c = props,
66
- name = _c.name,
67
- label = _c.label,
68
- rules = _c.rules,
69
- required = _c.required,
70
- help = _c.help,
71
- validateStatus = _c.validateStatus,
72
- labelCol = _c.labelCol,
73
- wrapperCol = _c.wrapperCol,
74
- colon = _c.colon,
75
- readonly = _c.readonly,
76
- modeProp = _c.mode,
77
- hidden = _c.hidden,
78
- colProps = _c.colProps,
79
- fieldProps = _c.fieldProps,
80
- placeholder = _c.placeholder,
81
- disabled = _c.disabled,
82
- width = _c.width,
83
- transform = _c.transform,
84
- convertValue = _c.convertValue,
85
- _deps = _c.dependencies,
86
- request = _c.request,
87
- params = _c.params,
88
- valueEnum = _c.valueEnum,
89
- debounceTime = _c.debounceTime,
90
- dependenciesValues = _c.dependenciesValues,
91
- rest = __rest(_c, ["name", "label", "rules", "required", "help", "validateStatus", "labelCol", "wrapperCol", "colon", "readonly", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "dependenciesValues"]);
92
- var ctx = (0, _context.useProFormContext)();
93
- // Mode resolution
94
- var mergedMode = (_b = (_a = modeProp !== null && modeProp !== void 0 ? modeProp : readonly !== undefined ? readonly ? 'read' : 'edit' : undefined) !== null && _a !== void 0 ? _a : ctx === null || ctx === void 0 ? void 0 : ctx.mode) !== null && _b !== void 0 ? _b : (ctx === null || ctx === void 0 ? void 0 : ctx.readonly) ? 'read' : 'edit';
95
- var isReadonly = mergedMode === 'read';
96
- // ── Register / unregister transform ──
97
- (0, _react.useEffect)(function () {
98
- var _a;
99
- if (!name || !transform) return;
100
- (_a = ctx.registerTransform) === null || _a === void 0 ? void 0 : _a.call(ctx, name, transform);
101
- return function () {
102
- var _a;
103
- (_a = ctx.unregisterTransform) === null || _a === void 0 ? void 0 : _a.call(ctx, name);
104
- };
105
- }, [name, transform, ctx.registerTransform, ctx.unregisterTransform]);
33
+ var _a = props,
34
+ name = _a.name,
35
+ label = _a.label,
36
+ rules = _a.rules,
37
+ required = _a.required,
38
+ help = _a.help,
39
+ validateStatus = _a.validateStatus,
40
+ colon = _a.colon,
41
+ readonly = _a.readonly,
42
+ modeProp = _a.mode,
43
+ hidden = _a.hidden,
44
+ colProps = _a.colProps,
45
+ fieldProps = _a.fieldProps,
46
+ placeholder = _a.placeholder,
47
+ disabled = _a.disabled,
48
+ width = _a.width,
49
+ transform = _a.transform,
50
+ convertValue = _a.convertValue,
51
+ _deps = _a.dependencies,
52
+ request = _a.request,
53
+ params = _a.params,
54
+ valueEnum = _a.valueEnum,
55
+ debounceTime = _a.debounceTime,
56
+ dependenciesValues = _a.dependenciesValues,
57
+ rest = __rest(_a, ["name", "label", "rules", "required", "help", "validateStatus", "colon", "readonly", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "dependenciesValues"]);
58
+
59
+ // Mode resolution: explicit mode > legacy readonly > ctx.mode (ProFormItem)
60
+ var resolvedMode = modeProp !== null && modeProp !== void 0 ? modeProp : readonly !== undefined ? readonly ? 'read' : 'edit' : undefined;
106
61
  // ── Field-level request ──
107
62
  var mergedRequestParams = dependenciesValues ? Object.assign(Object.assign({}, params), dependenciesValues) : params;
108
63
  var _useFieldRequest = (0, _useFieldRequest3.useFieldRequest)(request, mergedRequestParams),
@@ -134,86 +89,56 @@ function createProFormField(config) {
134
89
  if (debounceRef.current) clearTimeout(debounceRef.current);
135
90
  };
136
91
  }, []);
137
- if (hidden) return null;
138
- // Build FormItem props
139
- var formItemProps = {
140
- label: label,
92
+ // Build the field child
93
+ var mapped = mapProps ? mapProps(rest) : {};
94
+ var widthStyle = width !== undefined ? {
95
+ width: (0, _utils.resolveWidth)(width)
96
+ } : undefined;
97
+ var fieldStyle = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style;
98
+ var mergedStyle = widthStyle ? Object.assign(Object.assign({}, fieldStyle || {}), widthStyle) : fieldStyle;
99
+ // Merge valueEnum + request options into fieldProps.options
100
+ var mergedOptions = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options;
101
+ if (valueEnum) {
102
+ mergedOptions = (0, _utils.valueEnumToOptions)(valueEnum);
103
+ }
104
+ if (requestOptions.length > 0) {
105
+ mergedOptions = requestOptions;
106
+ }
107
+ var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), fieldProps || {}), mergedOptions !== undefined ? {
108
+ options: mergedOptions
109
+ } : {}), requestLoading ? {
110
+ loading: true
111
+ } : {}), placeholder !== undefined ? {
112
+ placeholder: placeholder
113
+ } : {}), disabled !== undefined ? {
114
+ disabled: disabled
115
+ } : {}), mergedStyle ? {
116
+ style: mergedStyle
117
+ } : {});
118
+ // Wire debounce — capture the user's onChange before ProFormItem injects its own
119
+ if (debounceTime && debounceTime > 0) {
120
+ var fp = componentProps;
121
+ originalOnChangeRef.current = fp.onChange;
122
+ fp.onChange = debouncedOnChange;
123
+ }
124
+ return (0, _jsxRuntime.jsx)(_ProFormItem.ProFormItem, {
141
125
  name: name,
126
+ label: label,
142
127
  rules: rules,
143
128
  required: required,
144
129
  help: help,
145
130
  validateStatus: validateStatus,
146
- labelCol: labelCol,
147
- wrapperCol: wrapperCol,
148
- colon: colon
149
- };
150
- // Build the child component
151
- var child;
152
- if (isReadonly) {
153
- child = (0, _jsxRuntime.jsx)(ReadonlyField, {
154
- name: name,
155
- renderReadonly: renderReadonly
156
- });
157
- } else {
158
- var mapped = mapProps ? mapProps(rest) : {};
159
- var widthStyle = width !== undefined ? {
160
- width: (0, _utils.resolveWidth)(width)
161
- } : undefined;
162
- var fieldStyle = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style;
163
- var mergedStyle = widthStyle ? Object.assign(Object.assign({}, fieldStyle || {}), widthStyle) : fieldStyle;
164
- // Merge valueEnum + request options into fieldProps.options
165
- var mergedOptions = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options;
166
- if (valueEnum) {
167
- mergedOptions = (0, _utils.valueEnumToOptions)(valueEnum);
168
- }
169
- if (requestOptions.length > 0) {
170
- mergedOptions = requestOptions;
171
- }
172
- var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), fieldProps || {}), mergedOptions !== undefined ? {
173
- options: mergedOptions
174
- } : {}), requestLoading ? {
175
- loading: true
176
- } : {}), placeholder !== undefined ? {
177
- placeholder: placeholder
178
- } : {}), disabled !== undefined ? {
179
- disabled: disabled
180
- } : {}), mergedStyle ? {
181
- style: mergedStyle
182
- } : {});
183
- // Wire debounce — capture the original onChange from fieldProps before FormItem injects it
184
- if (debounceTime && debounceTime > 0) {
185
- var fp = componentProps;
186
- originalOnChangeRef.current = fp.onChange;
187
- fp.onChange = debouncedOnChange;
188
- }
189
- child = convertValue && name ? (0, _jsxRuntime.jsx)(ConvertValueWrapper, {
190
- name: name,
191
- convertValue: convertValue,
192
- component: Component,
193
- componentProps: componentProps
194
- }) : (0, _jsxRuntime.jsx)(Component, Object.assign({}, componentProps));
195
- }
196
- // Wrap in FormItem
197
- var node = (0, _jsxRuntime.jsx)(_Form.FormItem, Object.assign({}, formItemProps, {
198
- children: child
199
- }));
200
- // Wrap in Col if grid mode is active
201
- if (ctx === null || ctx === void 0 ? void 0 : ctx.grid) {
202
- var merged = Object.assign(Object.assign({}, ctx === null || ctx === void 0 ? void 0 : ctx.colProps), colProps);
203
- var _merged$span = merged.span,
204
- span = _merged$span === void 0 ? _constants.DEFAULT_COL_SPAN : _merged$span,
205
- sm = merged.sm,
206
- md = merged.md,
207
- lg = merged.lg;
208
- return (0, _jsxRuntime.jsx)(_Grid.Col, {
209
- span: span,
210
- sm: sm,
211
- md: md,
212
- lg: lg,
213
- children: node
214
- });
215
- }
216
- return node;
131
+ colon: colon,
132
+ hidden: hidden,
133
+ mode: resolvedMode,
134
+ colProps: colProps,
135
+ transform: transform,
136
+ convertValue: convertValue,
137
+ readonlyRender: renderReadonly ? function (value) {
138
+ return renderReadonly(value);
139
+ } : undefined,
140
+ children: (0, _jsxRuntime.jsx)(Component, Object.assign({}, componentProps))
141
+ });
217
142
  };
218
143
  // Outer component — handles auto-wrapping with ProFormDependency
219
144
  var ProFormFieldComponent = function ProFormFieldComponent(props) {
@@ -234,4 +159,4 @@ function createProFormField(config) {
234
159
  return MemoizedField;
235
160
  }
236
161
  var _default = exports["default"] = createProFormField;
237
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0Zvcm0iLCJfR3JpZCIsIl9jb250ZXh0IiwiX1Byb0Zvcm1EZXBlbmRlbmN5IiwiX3VzZUZpZWxkUmVxdWVzdDMiLCJfdXRpbHMiLCJfY29uc3RhbnRzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJSZWFkb25seUZpZWxkQmFzZSIsIl9yZWYiLCJuYW1lIiwicmVuZGVyUmVhZG9ubHkiLCJfdXNlRm9ybUNvbnRleHQiLCJ1c2VGb3JtQ29udGV4dCIsInZhbHVlcyIsInZhbHVlIiwidW5kZWZpbmVkIiwicmVuZGVyZWQiLCJTdHJpbmciLCJfanN4IiwiY2hpbGRyZW4iLCJkaXNwbGF5TmFtZSIsIlJlYWRvbmx5RmllbGQiLCJtZW1vIiwiQ29udmVydFZhbHVlV3JhcHBlckJhc2UiLCJfcmVmMiIsImNvbnZlcnRWYWx1ZSIsIkNvbXAiLCJjb21wb25lbnQiLCJjb21wb25lbnRQcm9wcyIsIl91c2VGb3JtQ29udGV4dDIiLCJyYXdWYWx1ZSIsImNvbnZlcnRlZCIsImFzc2lnbiIsIkNvbnZlcnRWYWx1ZVdyYXBwZXIiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJtYXBQcm9wcyIsIklubmVyRmllbGQiLCJwcm9wcyIsIl9hIiwiX2IiLCJfYyIsImxhYmVsIiwicnVsZXMiLCJyZXF1aXJlZCIsImhlbHAiLCJ2YWxpZGF0ZVN0YXR1cyIsImxhYmVsQ29sIiwid3JhcHBlckNvbCIsImNvbG9uIiwicmVhZG9ubHkiLCJtb2RlUHJvcCIsIm1vZGUiLCJoaWRkZW4iLCJjb2xQcm9wcyIsImZpZWxkUHJvcHMiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwid2lkdGgiLCJ0cmFuc2Zvcm0iLCJfZGVwcyIsImRlcGVuZGVuY2llcyIsInJlcXVlc3QiLCJwYXJhbXMiLCJ2YWx1ZUVudW0iLCJkZWJvdW5jZVRpbWUiLCJkZXBlbmRlbmNpZXNWYWx1ZXMiLCJyZXN0IiwiY3R4IiwidXNlUHJvRm9ybUNvbnRleHQiLCJtZXJnZWRNb2RlIiwiaXNSZWFkb25seSIsInVzZUVmZmVjdCIsInJlZ2lzdGVyVHJhbnNmb3JtIiwidW5yZWdpc3RlclRyYW5zZm9ybSIsIm1lcmdlZFJlcXVlc3RQYXJhbXMiLCJfdXNlRmllbGRSZXF1ZXN0IiwidXNlRmllbGRSZXF1ZXN0IiwiX3VzZUZpZWxkUmVxdWVzdDIiLCJfc2xpY2VkVG9BcnJheTIiLCJyZXF1ZXN0TG9hZGluZyIsInJlcXVlc3RPcHRpb25zIiwiZGVib3VuY2VSZWYiLCJ1c2VSZWYiLCJvcmlnaW5hbE9uQ2hhbmdlUmVmIiwiZGVib3VuY2VkT25DaGFuZ2UiLCJ1c2VDYWxsYmFjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2EyIiwiY3VycmVudCIsImFwcGx5IiwiY29uY2F0IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsIl9hMyIsImZvcm1JdGVtUHJvcHMiLCJjaGlsZCIsIm1hcHBlZCIsIndpZHRoU3R5bGUiLCJyZXNvbHZlV2lkdGgiLCJmaWVsZFN0eWxlIiwic3R5bGUiLCJtZXJnZWRTdHlsZSIsIm1lcmdlZE9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWVFbnVtVG9PcHRpb25zIiwibG9hZGluZyIsImZwIiwib25DaGFuZ2UiLCJub2RlIiwiRm9ybUl0ZW0iLCJncmlkIiwibWVyZ2VkIiwiX21lcmdlZCRzcGFuIiwic3BhbiIsIkRFRkFVTFRfQ09MX1NQQU4iLCJzbSIsIm1kIiwibGciLCJDb2wiLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FEUkEsSUFBSVMsTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVB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QUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtPLEtBQUssQ0FBQSxDQUFJO0VBQ2xDLENBQUM7RUFFRCxJQUFNeUYsYUFBYSxnQkFBRyxJQUFBMUcsV0FBSSxFQUFDdUcscUJBQXFCLENBQUM7RUFDakQsT0FBT0csYUFBYTtBQUN0QjtBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVjaEcsa0JBQWtCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm1JdGVtLCB1c2VGb3JtQ29udGV4dCB9IGZyb20gJy4uLy4uL0Zvcm0nO1xuaW1wb3J0IHsgQ29sIH0gZnJvbSAnLi4vLi4vR3JpZCc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5pbXBvcnQgeyB1c2VGaWVsZFJlcXVlc3QgfSBmcm9tICcuLi9ob29rcy91c2VGaWVsZFJlcXVlc3QnO1xuaW1wb3J0IHsgcmVzb2x2ZVdpZHRoLCB2YWx1ZUVudW1Ub09wdGlvbnMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTF9TUEFOIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmNvbnN0IFJlYWRvbmx5RmllbGRCYXNlID0gKHsgbmFtZSwgcmVuZGVyUmVhZG9ubHkgfSkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWVzIH0gPSB1c2VGb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHZhbHVlID0gbmFtZSA/IHZhbHVlc1tuYW1lXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCByZW5kZXJlZCA9IHJlbmRlclJlYWRvbmx5ID8gcmVuZGVyUmVhZG9ubHkodmFsdWUpIDogKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT09ICcnID8gU3RyaW5nKHZhbHVlKSA6ICctJyk7XG4gICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IHJlbmRlcmVkIH0pO1xufTtcblJlYWRvbmx5RmllbGRCYXNlLmRpc3BsYXlOYW1lID0gJ1JlYWRvbmx5RmllbGQnO1xuY29uc3QgUmVhZG9ubHlGaWVsZCA9IG1lbW8oUmVhZG9ubHlGaWVsZEJhc2UpO1xuZnVuY3Rpb24gQ29udmVydFZhbHVlV3JhcHBlckJhc2UoeyBuYW1lLCBjb252ZXJ0VmFsdWUsIGNvbXBvbmVudDogQ29tcCwgY29tcG9uZW50UHJvcHMsIH0pIHtcbiAgICBjb25zdCB7IHZhbHVlcyB9ID0gdXNlRm9ybUNvbnRleHQoKTtcbiAgICBjb25zdCByYXdWYWx1ZSA9IHZhbHVlc1tuYW1lXTtcbiAgICBjb25zdCBjb252ZXJ0ZWQgPSBjb252ZXJ0VmFsdWUocmF3VmFsdWUsIG5hbWUpO1xuICAgIHJldHVybiBfanN4KENvbXAsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzLCB7IHZhbHVlOiBjb252ZXJ0ZWQgfSkpO1xufVxuQ29udmVydFZhbHVlV3JhcHBlckJhc2UuZGlzcGxheU5hbWUgPSAnQ29udmVydFZhbHVlV3JhcHBlcic7XG5jb25zdCBDb252ZXJ0VmFsdWVXcmFwcGVyID0gbWVtbyhDb252ZXJ0VmFsdWVXcmFwcGVyQmFzZSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNyZWF0ZVByb0Zvcm1GaWVsZCDigJQgZmFjdG9yeSB0aGF0IHByb2R1Y2VzIGEgUHJvRm9ybS1hd2FyZSBmaWVsZCBjb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb0Zvcm1GaWVsZChjb25maWcpIHtcbiAgICBjb25zdCB7IGNvbXBvbmVudDogQ29tcG9uZW50LCBtYXBQcm9wcywgcmVuZGVyUmVhZG9ubHksIH0gPSBjb25maWc7XG4gICAgLy8gSW5uZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIG1vZGUsIHRyYW5zZm9ybSwgcmVxdWVzdCwgdmFsdWVFbnVtLCBkZWJvdW5jZSwgcmVuZGVyXG4gICAgY29uc3QgSW5uZXJGaWVsZCA9IChwcm9wcykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBfYyA9IHByb3BzLCB7IG5hbWUsIGxhYmVsLCBydWxlcywgcmVxdWlyZWQsIGhlbHAsIHZhbGlkYXRlU3RhdHVzLCBsYWJlbENvbCwgd3JhcHBlckNvbCwgY29sb24sIHJlYWRvbmx5LCBtb2RlOiBtb2RlUHJvcCwgaGlkZGVuLCBjb2xQcm9wcywgZmllbGRQcm9wcywgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCB3aWR0aCwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIFxuICAgICAgICAvLyBGaWVsZC1sZXZlbCBmZWF0dXJlc1xuICAgICAgICBkZXBlbmRlbmNpZXM6IF9kZXBzLCByZXF1ZXN0LCBwYXJhbXMsIHZhbHVlRW51bSwgZGVib3VuY2VUaW1lLCBkZXBlbmRlbmNpZXNWYWx1ZXMgfSA9IF9jLCByZXN0ID0gX19yZXN0KF9jLCBbXCJuYW1lXCIsIFwibGFiZWxcIiwgXCJydWxlc1wiLCBcInJlcXVpcmVkXCIsIFwiaGVscFwiLCBcInZhbGlkYXRlU3RhdHVzXCIsIFwibGFiZWxDb2xcIiwgXCJ3cmFwcGVyQ29sXCIsIFwiY29sb25cIiwgXCJyZWFkb25seVwiLCBcIm1vZGVcIiwgXCJoaWRkZW5cIiwgXCJjb2xQcm9wc1wiLCBcImZpZWxkUHJvcHNcIiwgXCJwbGFjZWhvbGRlclwiLCBcImRpc2FibGVkXCIsIFwid2lkdGhcIiwgXCJ0cmFuc2Zvcm1cIiwgXCJjb252ZXJ0VmFsdWVcIiwgXCJkZXBlbmRlbmNpZXNcIiwgXCJyZXF1ZXN0XCIsIFwicGFyYW1zXCIsIFwidmFsdWVFbnVtXCIsIFwiZGVib3VuY2VUaW1lXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgY29uc3QgY3R4ID0gdXNlUHJvRm9ybUNvbnRleHQoKTtcbiAgICAgICAgLy8gTW9kZSByZXNvbHV0aW9uXG4gICAgICAgIGNvbnN0IG1lcmdlZE1vZGUgPSAoX2IgPSAoX2EgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiAocmVhZG9ubHkgIT09IHVuZGVmaW5lZCA/IChyZWFkb25seSA/ICdyZWFkJyA6ICdlZGl0JykgOiB1bmRlZmluZWQpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgubW9kZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogKChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgucmVhZG9ubHkpID8gJ3JlYWQnIDogJ2VkaXQnKTtcbiAgICAgICAgY29uc3QgaXNSZWFkb25seSA9IG1lcmdlZE1vZGUgPT09ICdyZWFkJztcbiAgICAgICAgLy8g4pSA4pSAIFJlZ2lzdGVyIC8gdW5yZWdpc3RlciB0cmFuc2Zvcm0g4pSA4pSAXG4gICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIW5hbWUgfHwgIXRyYW5zZm9ybSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAoX2EgPSBjdHgucmVnaXN0ZXJUcmFuc2Zvcm0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGN0eCwgbmFtZSwgdHJhbnNmb3JtKTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIChfYSA9IGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChjdHgsIG5hbWUpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgW25hbWUsIHRyYW5zZm9ybSwgY3R4LnJlZ2lzdGVyVHJhbnNmb3JtLCBjdHgudW5yZWdpc3RlclRyYW5zZm9ybV0pO1xuICAgICAgICAvLyDilIDilIAgRmllbGQtbGV2ZWwgcmVxdWVzdCDilIDilIBcbiAgICAgICAgY29uc3QgbWVyZ2VkUmVxdWVzdFBhcmFtcyA9IGRlcGVuZGVuY2llc1ZhbHVlc1xuICAgICAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHBhcmFtcyksIGRlcGVuZGVuY2llc1ZhbHVlcykgOiBwYXJhbXM7XG4gICAgICAgIGNvbnN0IFtyZXF1ZXN0TG9hZGluZywgcmVxdWVzdE9wdGlvbnNdID0gdXNlRmllbGRSZXF1ZXN0KHJlcXVlc3QsIG1lcmdlZFJlcXVlc3RQYXJhbXMpO1xuICAgICAgICAvLyDilIDilIAgRGVib3VuY2Ugb25DaGFuZ2Ug4pSA4pSAXG4gICAgICAgIGNvbnN0IGRlYm91bmNlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgICAgICBjb25zdCBvcmlnaW5hbE9uQ2hhbmdlUmVmID0gdXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgICAgIGNvbnN0IGRlYm91bmNlZE9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghZGVib3VuY2VUaW1lIHx8IGRlYm91bmNlVGltZSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgKF9hID0gb3JpZ2luYWxPbkNoYW5nZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChvcmlnaW5hbE9uQ2hhbmdlUmVmLCAuLi5hcmdzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVib3VuY2VSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VSZWYuY3VycmVudCk7XG4gICAgICAgICAgICBkZWJvdW5jZVJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIChfYSA9IG9yaWdpbmFsT25DaGFuZ2VSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob3JpZ2luYWxPbkNoYW5nZVJlZiwgLi4uYXJncyk7XG4gICAgICAgICAgICB9LCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICB9LCBbZGVib3VuY2VUaW1lXSk7XG4gICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkZWJvdW5jZVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZGVib3VuY2VSZWYuY3VycmVudCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LCBbXSk7XG4gICAgICAgIGlmIChoaWRkZW4pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgLy8gQnVpbGQgRm9ybUl0ZW0gcHJvcHNcbiAgICAgICAgY29uc3QgZm9ybUl0ZW1Qcm9wcyA9IHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHJ1bGVzLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBoZWxwLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IHZhbGlkYXRlU3RhdHVzLFxuICAgICAgICAgICAgbGFiZWxDb2wsXG4gICAgICAgICAgICB3cmFwcGVyQ29sLFxuICAgICAgICAgICAgY29sb24sXG4gICAgICAgIH07XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBjaGlsZCBjb21wb25lbnRcbiAgICAgICAgbGV0IGNoaWxkO1xuICAgICAgICBpZiAoaXNSZWFkb25seSkge1xuICAgICAgICAgICAgY2hpbGQgPSBfanN4KFJlYWRvbmx5RmllbGQsIHsgbmFtZTogbmFtZSwgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJlYWRvbmx5IH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWFwcGVkID0gbWFwUHJvcHMgPyBtYXBQcm9wcyhyZXN0KSA6IHt9O1xuICAgICAgICAgICAgY29uc3Qgd2lkdGhTdHlsZSA9IHdpZHRoICE9PSB1bmRlZmluZWQgPyB7IHdpZHRoOiByZXNvbHZlV2lkdGgod2lkdGgpIH0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFN0eWxlID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLnN0eWxlO1xuICAgICAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICAgICAgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIChmaWVsZFN0eWxlIHx8IHt9KSksIHdpZHRoU3R5bGUpIDogZmllbGRTdHlsZTtcbiAgICAgICAgICAgIC8vIE1lcmdlIHZhbHVlRW51bSArIHJlcXVlc3Qgb3B0aW9ucyBpbnRvIGZpZWxkUHJvcHMub3B0aW9uc1xuICAgICAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub3B0aW9ucztcbiAgICAgICAgICAgIGlmICh2YWx1ZUVudW0pIHtcbiAgICAgICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gdmFsdWVFbnVtVG9PcHRpb25zKHZhbHVlRW51bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVxdWVzdE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbWFwcGVkKSwgKGZpZWxkUHJvcHMgfHwge30pKSwgKG1lcmdlZE9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IHsgb3B0aW9uczogbWVyZ2VkT3B0aW9ucyB9IDoge30pKSwgKHJlcXVlc3RMb2FkaW5nID8geyBsb2FkaW5nOiB0cnVlIH0gOiB7fSkpLCAocGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCA/IHsgcGxhY2Vob2xkZXIgfSA6IHt9KSksIChkaXNhYmxlZCAhPT0gdW5kZWZpbmVkID8geyBkaXNhYmxlZCB9IDoge30pKSwgKG1lcmdlZFN0eWxlID8geyBzdHlsZTogbWVyZ2VkU3R5bGUgfSA6IHt9KSk7XG4gICAgICAgICAgICAvLyBXaXJlIGRlYm91bmNlIOKAlCBjYXB0dXJlIHRoZSBvcmlnaW5hbCBvbkNoYW5nZSBmcm9tIGZpZWxkUHJvcHMgYmVmb3JlIEZvcm1JdGVtIGluamVjdHMgaXRcbiAgICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWUgJiYgZGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZwID0gY29tcG9uZW50UHJvcHM7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxPbkNoYW5nZVJlZi5jdXJyZW50ID0gZnAub25DaGFuZ2U7XG4gICAgICAgICAgICAgICAgZnAub25DaGFuZ2UgPSBkZWJvdW5jZWRPbkNoYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoaWxkID0gY29udmVydFZhbHVlICYmIG5hbWVcbiAgICAgICAgICAgICAgICA/IF9qc3goQ29udmVydFZhbHVlV3JhcHBlciwgeyBuYW1lOiBuYW1lLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgY29tcG9uZW50OiBDb21wb25lbnQsIGNvbXBvbmVudFByb3BzOiBjb21wb25lbnRQcm9wcyB9KVxuICAgICAgICAgICAgICAgIDogX2pzeChDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gV3JhcCBpbiBGb3JtSXRlbVxuICAgICAgICBjb25zdCBub2RlID0gX2pzeChGb3JtSXRlbSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybUl0ZW1Qcm9wcywgeyBjaGlsZHJlbjogY2hpbGQgfSkpO1xuICAgICAgICAvLyBXcmFwIGluIENvbCBpZiBncmlkIG1vZGUgaXMgYWN0aXZlXG4gICAgICAgIGlmIChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHguZ3JpZCkge1xuICAgICAgICAgICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHguY29sUHJvcHMpLCBjb2xQcm9wcyk7XG4gICAgICAgICAgICBjb25zdCB7IHNwYW4gPSBERUZBVUxUX0NPTF9TUEFOLCBzbSwgbWQsIGxnIH0gPSBtZXJnZWQ7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChDb2wsIHsgc3Bhbjogc3Bhbiwgc206IHNtLCBtZDogbWQsIGxnOiBsZywgY2hpbGRyZW46IG5vZGUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfTtcbiAgICAvLyBPdXRlciBjb21wb25lbnQg4oCUIGhhbmRsZXMgYXV0by13cmFwcGluZyB3aXRoIFByb0Zvcm1EZXBlbmRlbmN5XG4gICAgY29uc3QgUHJvRm9ybUZpZWxkQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGVwZW5kZW5jaWVzIH0gPSBwcm9wcztcbiAgICAgICAgaWYgKGRlcGVuZGVuY2llcyAmJiBkZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1EZXBlbmRlbmN5LCB7IG5hbWU6IGRlcGVuZGVuY2llcywgY2hpbGRyZW46IChkZXBWYWx1ZXMpID0+IChfanN4KElubmVyRmllbGQsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzLCB7IGRlcGVuZGVuY2llc1ZhbHVlczogZGVwVmFsdWVzIH0pKSkgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfanN4KElubmVyRmllbGQsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzKSk7XG4gICAgfTtcbiAgICBjb25zdCBNZW1vaXplZEZpZWxkID0gbWVtbyhQcm9Gb3JtRmllbGRDb21wb25lbnQpO1xuICAgIHJldHVybiBNZW1vaXplZEZpZWxkO1xufVxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlUHJvRm9ybUZpZWxkOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
162
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX1Byb0Zvcm1JdGVtIiwiX1Byb0Zvcm1EZXBlbmRlbmN5IiwiX3VzZUZpZWxkUmVxdWVzdDMiLCJfdXRpbHMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNyZWF0ZVByb0Zvcm1GaWVsZCIsImNvbmZpZyIsIkNvbXBvbmVudCIsImNvbXBvbmVudCIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIm5hbWUiLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJoZWxwIiwidmFsaWRhdGVTdGF0dXMiLCJjb2xvbiIsInJlYWRvbmx5IiwibW9kZVByb3AiLCJtb2RlIiwiaGlkZGVuIiwiY29sUHJvcHMiLCJmaWVsZFByb3BzIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIndpZHRoIiwidHJhbnNmb3JtIiwiY29udmVydFZhbHVlIiwiX2RlcHMiLCJkZXBlbmRlbmNpZXMiLCJyZXF1ZXN0IiwicGFyYW1zIiwidmFsdWVFbnVtIiwiZGVib3VuY2VUaW1lIiwiZGVwZW5kZW5jaWVzVmFsdWVzIiwicmVzdCIsInJlc29sdmVkTW9kZSIsInVuZGVmaW5lZCIsIm1lcmdlZFJlcXVlc3RQYXJhbXMiLCJhc3NpZ24iLCJfdXNlRmllbGRSZXF1ZXN0IiwidXNlRmllbGRSZXF1ZXN0IiwiX3VzZUZpZWxkUmVxdWVzdDIiLCJfc2xpY2VkVG9BcnJheTIiLCJyZXF1ZXN0TG9hZGluZyIsInJlcXVlc3RPcHRpb25zIiwiZGVib3VuY2VSZWYiLCJ1c2VSZWYiLCJvcmlnaW5hbE9uQ2hhbmdlUmVmIiwiZGVib3VuY2VkT25DaGFuZ2UiLCJ1c2VDYWxsYmFjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2EyIiwiY3VycmVudCIsImFwcGx5IiwiY29uY2F0IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsIl9hMyIsInVzZUVmZmVjdCIsIm1hcHBlZCIsIndpZHRoU3R5bGUiLCJyZXNvbHZlV2lkdGgiLCJmaWVsZFN0eWxlIiwic3R5bGUiLCJtZXJnZWRTdHlsZSIsIm1lcmdlZE9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWVFbnVtVG9PcHRpb25zIiwiY29tcG9uZW50UHJvcHMiLCJsb2FkaW5nIiwiZnAiLCJvbkNoYW5nZSIsIl9qc3giLCJQcm9Gb3JtSXRlbSIsInJlYWRvbmx5UmVuZGVyIiwidmFsdWUiLCJjaGlsZHJlbiIsIlByb0Zvcm1GaWVsZENvbXBvbmVudCIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiZGVwVmFsdWVzIiwiTWVtb2l6ZWRGaWVsZCIsIm1lbW8iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGtCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FETEEsSUFBSU0sTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElB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bGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4uL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgdXNlRmllbGRSZXF1ZXN0IH0gZnJvbSAnLi4vaG9va3MvdXNlRmllbGRSZXF1ZXN0JztcbmltcG9ydCB7IHJlc29sdmVXaWR0aCwgdmFsdWVFbnVtVG9PcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjcmVhdGVQcm9Gb3JtRmllbGQg4oCUIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBhIFByb0Zvcm0tYXdhcmUgZmllbGQgY29tcG9uZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9Gb3JtRmllbGQoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb21wb25lbnQ6IENvbXBvbmVudCwgbWFwUHJvcHMsIHJlbmRlclJlYWRvbmx5LCB9ID0gY29uZmlnO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IF9hID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIHJ1bGVzLCByZXF1aXJlZCwgaGVscCwgdmFsaWRhdGVTdGF0dXMsIGNvbG9uLCByZWFkb25seSwgbW9kZTogbW9kZVByb3AsIGhpZGRlbiwgY29sUHJvcHMsIGZpZWxkUHJvcHMsIHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgd2lkdGgsIHRyYW5zZm9ybSwgY29udmVydFZhbHVlLCBcbiAgICAgICAgLy8gRmllbGQtbGV2ZWwgZmVhdHVyZXNcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBfZGVwcywgcmVxdWVzdCwgcGFyYW1zLCB2YWx1ZUVudW0sIGRlYm91bmNlVGltZSwgZGVwZW5kZW5jaWVzVmFsdWVzIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wibmFtZVwiLCBcImxhYmVsXCIsIFwicnVsZXNcIiwgXCJyZXF1aXJlZFwiLCBcImhlbHBcIiwgXCJ2YWxpZGF0ZVN0YXR1c1wiLCBcImNvbG9uXCIsIFwicmVhZG9ubHlcIiwgXCJtb2RlXCIsIFwiaGlkZGVuXCIsIFwiY29sUHJvcHNcIiwgXCJmaWVsZFByb3BzXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJkaXNhYmxlZFwiLCBcIndpZHRoXCIsIFwidHJhbnNmb3JtXCIsIFwiY29udmVydFZhbHVlXCIsIFwiZGVwZW5kZW5jaWVzXCIsIFwicmVxdWVzdFwiLCBcInBhcmFtc1wiLCBcInZhbHVlRW51bVwiLCBcImRlYm91bmNlVGltZVwiLCBcImRlcGVuZGVuY2llc1ZhbHVlc1wiXSk7XG4gICAgICAgIC8vIE1vZGUgcmVzb2x1dGlvbjogZXhwbGljaXQgbW9kZSA+IGxlZ2FjeSByZWFkb25seSA+IGN0eC5tb2RlIChQcm9Gb3JtSXRlbSlcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRNb2RlID0gbW9kZVByb3AgIT09IG51bGwgJiYgbW9kZVByb3AgIT09IHZvaWQgMCA/IG1vZGVQcm9wIDogKHJlYWRvbmx5ICE9PSB1bmRlZmluZWQgPyAocmVhZG9ubHkgPyAncmVhZCcgOiAnZWRpdCcpIDogdW5kZWZpbmVkKTtcbiAgICAgICAgLy8g4pSA4pSAIEZpZWxkLWxldmVsIHJlcXVlc3Qg4pSA4pSAXG4gICAgICAgIGNvbnN0IG1lcmdlZFJlcXVlc3RQYXJhbXMgPSBkZXBlbmRlbmNpZXNWYWx1ZXNcbiAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwYXJhbXMpLCBkZXBlbmRlbmNpZXNWYWx1ZXMpIDogcGFyYW1zO1xuICAgICAgICBjb25zdCBbcmVxdWVzdExvYWRpbmcsIHJlcXVlc3RPcHRpb25zXSA9IHVzZUZpZWxkUmVxdWVzdChyZXF1ZXN0LCBtZXJnZWRSZXF1ZXN0UGFyYW1zKTtcbiAgICAgICAgLy8g4pSA4pSAIERlYm91bmNlIG9uQ2hhbmdlIOKUgOKUgFxuICAgICAgICBjb25zdCBkZWJvdW5jZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxPbkNoYW5nZVJlZiA9IHVzZVJlZih1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBkZWJvdW5jZWRPbkNoYW5nZSA9IHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIWRlYm91bmNlVGltZSB8fCBkZWJvdW5jZVRpbWUgPD0gMCkge1xuICAgICAgICAgICAgICAgIChfYSA9IG9yaWdpbmFsT25DaGFuZ2VSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob3JpZ2luYWxPbkNoYW5nZVJlZiwgLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRlYm91bmNlUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgZGVib3VuY2VSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAoX2EgPSBvcmlnaW5hbE9uQ2hhbmdlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKG9yaWdpbmFsT25DaGFuZ2VSZWYsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgfSwgZGVib3VuY2VUaW1lKTtcbiAgICAgICAgfSwgW2RlYm91bmNlVGltZV0pO1xuICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGVib3VuY2VSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgW10pO1xuICAgICAgICAvLyBCdWlsZCB0aGUgZmllbGQgY2hpbGRcbiAgICAgICAgY29uc3QgbWFwcGVkID0gbWFwUHJvcHMgPyBtYXBQcm9wcyhyZXN0KSA6IHt9O1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnNcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub3B0aW9ucztcbiAgICAgICAgaWYgKHZhbHVlRW51bSkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHZhbHVlRW51bVRvT3B0aW9ucyh2YWx1ZUVudW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXF1ZXN0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCAoZmllbGRQcm9wcyB8fCB7fSkpLCAobWVyZ2VkT3B0aW9ucyAhPT0gdW5kZWZpbmVkID8geyBvcHRpb25zOiBtZXJnZWRPcHRpb25zIH0gOiB7fSkpLCAocmVxdWVzdExvYWRpbmcgPyB7IGxvYWRpbmc6IHRydWUgfSA6IHt9KSksIChwbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8geyBwbGFjZWhvbGRlciB9IDoge30pKSwgKGRpc2FibGVkICE9PSB1bmRlZmluZWQgPyB7IGRpc2FibGVkIH0gOiB7fSkpLCAobWVyZ2VkU3R5bGUgPyB7IHN0eWxlOiBtZXJnZWRTdHlsZSB9IDoge30pKTtcbiAgICAgICAgLy8gV2lyZSBkZWJvdW5jZSDigJQgY2FwdHVyZSB0aGUgdXNlcidzIG9uQ2hhbmdlIGJlZm9yZSBQcm9Gb3JtSXRlbSBpbmplY3RzIGl0cyBvd25cbiAgICAgICAgaWYgKGRlYm91bmNlVGltZSAmJiBkZWJvdW5jZVRpbWUgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmcCA9IGNvbXBvbmVudFByb3BzO1xuICAgICAgICAgICAgb3JpZ2luYWxPbkNoYW5nZVJlZi5jdXJyZW50ID0gZnAub25DaGFuZ2U7XG4gICAgICAgICAgICBmcC5vbkNoYW5nZSA9IGRlYm91bmNlZE9uQ2hhbmdlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtSXRlbSwgeyBuYW1lOiBuYW1lLCBsYWJlbDogbGFiZWwsIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBoZWxwOiBoZWxwLCB2YWxpZGF0ZVN0YXR1czogdmFsaWRhdGVTdGF0dXMsIGNvbG9uOiBjb2xvbiwgaGlkZGVuOiBoaWRkZW4sIG1vZGU6IHJlc29sdmVkTW9kZSwgY29sUHJvcHM6IGNvbFByb3BzLCB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHJlYWRvbmx5UmVuZGVyOiByZW5kZXJSZWFkb25seSA/ICh2YWx1ZSkgPT4gcmVuZGVyUmVhZG9ubHkodmFsdWUpIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=