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