@1money/component-ui 0.0.71 → 0.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/ProForm/ProForm.d.ts +10 -2
- package/es/components/ProForm/ProForm.js +241 -55
- package/es/components/ProForm/ProFormDependency.d.ts +11 -2
- package/es/components/ProForm/ProFormDependency.js +29 -133
- package/es/components/ProForm/ProFormItem.js +146 -52
- package/es/components/ProForm/ProFormList.js +114 -62
- package/es/components/ProForm/SchemaForm.d.ts +7 -0
- package/es/components/ProForm/SchemaForm.js +103 -0
- package/es/components/ProForm/Submitter.js +26 -5
- package/es/components/ProForm/context.d.ts +30 -3
- package/es/components/ProForm/context.js +69 -10
- package/es/components/ProForm/core/constants.d.ts +12 -3
- package/es/components/ProForm/core/constants.js +18 -7
- package/es/components/ProForm/core/formStore.d.ts +24 -0
- package/es/components/ProForm/core/formStore.js +101 -0
- package/es/components/ProForm/core/hooks/useForm.d.ts +4 -1
- package/es/components/ProForm/core/hooks/useForm.js +336 -212
- package/es/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
- package/es/components/ProForm/core/hooks/useFormCore.js +151 -93
- package/es/components/ProForm/core/interface.d.ts +33 -12
- package/es/components/ProForm/core/runRules.d.ts +20 -8
- package/es/components/ProForm/core/runRules.js +105 -50
- package/es/components/ProForm/core/useFormItem.d.ts +10 -1
- package/es/components/ProForm/core/useFormItem.js +141 -56
- package/es/components/ProForm/fields/ProFormDatePicker.js +4 -1
- package/es/components/ProForm/fields/ProFormFieldSet.js +20 -7
- package/es/components/ProForm/fields/createProFormField.js +61 -32
- package/es/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +54 -9
- package/es/components/ProForm/hooks/useUrlSync.d.ts +16 -0
- package/es/components/ProForm/hooks/useUrlSync.js +170 -0
- package/es/components/ProForm/index.d.ts +12 -5
- package/es/components/ProForm/index.js +7 -2
- package/es/components/ProForm/interface.d.ts +185 -28
- package/es/components/ProForm/layouts/DialogForm.d.ts +5 -1
- package/es/components/ProForm/layouts/DialogForm.js +18 -7
- package/es/components/ProForm/layouts/DrawerForm.d.ts +5 -1
- package/es/components/ProForm/layouts/DrawerForm.js +17 -7
- package/es/components/ProForm/layouts/QueryFilter.d.ts +5 -2
- package/es/components/ProForm/layouts/QueryFilter.js +47 -71
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +27 -8
- package/es/components/ProForm/style/ProForm.css +4 -4
- package/es/components/ProForm/utils.d.ts +12 -1
- package/es/components/ProForm/utils.js +101 -28
- package/es/components/ProTable/ProTable.js +3 -3
- package/es/components/Tooltip/style/Tooltip.css +1 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/lib/components/ProForm/ProForm.d.ts +10 -2
- package/lib/components/ProForm/ProForm.js +239 -53
- package/lib/components/ProForm/ProFormDependency.d.ts +11 -2
- package/lib/components/ProForm/ProFormDependency.js +30 -135
- package/lib/components/ProForm/ProFormItem.js +143 -48
- package/lib/components/ProForm/ProFormList.js +112 -60
- package/lib/components/ProForm/SchemaForm.d.ts +7 -0
- package/lib/components/ProForm/SchemaForm.js +110 -0
- package/lib/components/ProForm/Submitter.js +26 -5
- package/lib/components/ProForm/context.d.ts +30 -3
- package/lib/components/ProForm/context.js +69 -10
- package/lib/components/ProForm/core/constants.d.ts +12 -3
- package/lib/components/ProForm/core/constants.js +19 -8
- package/lib/components/ProForm/core/formStore.d.ts +24 -0
- package/lib/components/ProForm/core/formStore.js +110 -0
- package/lib/components/ProForm/core/hooks/useForm.d.ts +4 -1
- package/lib/components/ProForm/core/hooks/useForm.js +336 -212
- package/lib/components/ProForm/core/hooks/useFormCore.d.ts +5 -1
- package/lib/components/ProForm/core/hooks/useFormCore.js +150 -92
- package/lib/components/ProForm/core/interface.d.ts +33 -12
- package/lib/components/ProForm/core/runRules.d.ts +20 -8
- package/lib/components/ProForm/core/runRules.js +106 -50
- package/lib/components/ProForm/core/useFormItem.d.ts +10 -1
- package/lib/components/ProForm/core/useFormItem.js +138 -53
- package/lib/components/ProForm/fields/ProFormDatePicker.js +4 -1
- package/lib/components/ProForm/fields/ProFormFieldSet.js +19 -6
- package/lib/components/ProForm/fields/createProFormField.js +61 -32
- package/lib/components/ProForm/hooks/useFieldRequest.d.ts +6 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +53 -8
- package/lib/components/ProForm/hooks/useUrlSync.d.ts +16 -0
- package/lib/components/ProForm/hooks/useUrlSync.js +178 -0
- package/lib/components/ProForm/index.d.ts +12 -5
- package/lib/components/ProForm/index.js +16 -1
- package/lib/components/ProForm/interface.d.ts +185 -28
- package/lib/components/ProForm/layouts/DialogForm.d.ts +5 -1
- package/lib/components/ProForm/layouts/DialogForm.js +18 -7
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +5 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +17 -7
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +5 -2
- package/lib/components/ProForm/layouts/QueryFilter.js +46 -70
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/lib/components/ProForm/layouts/useOverlayForm.js +30 -8
- package/lib/components/ProForm/style/ProForm.css +4 -4
- package/lib/components/ProForm/utils.d.ts +12 -1
- package/lib/components/ProForm/utils.js +104 -28
- package/lib/components/ProTable/ProTable.js +3 -3
- package/lib/components/Tooltip/style/Tooltip.css +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +13 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +90 -0
- package/scripts/mcp-server/index.generated.json +1866 -212
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
1
2
|
var __rest = this && this.__rest || function (s, e) {
|
|
2
3
|
var t = {};
|
|
3
4
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -26,12 +27,15 @@ var DrawerFormBase = function DrawerFormBase(props) {
|
|
|
26
27
|
submitTimeout = props.submitTimeout,
|
|
27
28
|
_props$autoClose = props.autoClose,
|
|
28
29
|
autoClose = _props$autoClose === void 0 ? true : _props$autoClose,
|
|
30
|
+
_props$closeOnReset = props.closeOnReset,
|
|
31
|
+
closeOnReset = _props$closeOnReset === void 0 ? true : _props$closeOnReset,
|
|
29
32
|
drawerProps = props.drawerProps,
|
|
30
33
|
onFinish = props.onFinish,
|
|
34
|
+
_onReset = props.onReset,
|
|
31
35
|
submitter = props.submitter,
|
|
32
36
|
children = props.children,
|
|
33
37
|
_destroyOnClose = props.destroyOnClose,
|
|
34
|
-
formProps = __rest(props, ["open", "onOpenChange", "trigger", "title", "width", "placement", "submitTimeout", "autoClose", "drawerProps", "onFinish", "submitter", "children", "destroyOnClose"]);
|
|
38
|
+
formProps = __rest(props, ["open", "onOpenChange", "trigger", "title", "width", "placement", "submitTimeout", "autoClose", "closeOnReset", "drawerProps", "onFinish", "onReset", "submitter", "children", "destroyOnClose"]);
|
|
35
39
|
var _useOverlayForm = useOverlayForm({
|
|
36
40
|
open: open,
|
|
37
41
|
onOpenChange: onOpenChange,
|
|
@@ -54,13 +58,18 @@ var DrawerFormBase = function DrawerFormBase(props) {
|
|
|
54
58
|
children: _jsx("div", {
|
|
55
59
|
className: classes(),
|
|
56
60
|
children: _jsx(ProForm, Object.assign({}, formProps, {
|
|
61
|
+
formComponentType: "DrawerForm",
|
|
57
62
|
onFinish: handleFinish,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
// Close rides the FORM-LEVEL reset channel — the single point
|
|
64
|
+
// where every reset surface converges. Consumer onReset runs
|
|
65
|
+
// first; closeOnReset opts out.
|
|
66
|
+
onReset: function onReset(values) {
|
|
67
|
+
_onReset === null || _onReset === void 0 ? void 0 : _onReset(values);
|
|
68
|
+
if (closeOnReset) handleHide();
|
|
63
69
|
},
|
|
70
|
+
submitter: submitter === false ? false : Object.assign({
|
|
71
|
+
resetText: 'Cancel'
|
|
72
|
+
}, _typeof(submitter) === 'object' ? submitter : {}),
|
|
64
73
|
children: children
|
|
65
74
|
}))
|
|
66
75
|
})
|
|
@@ -68,6 +77,7 @@ var DrawerFormBase = function DrawerFormBase(props) {
|
|
|
68
77
|
});
|
|
69
78
|
};
|
|
70
79
|
DrawerFormBase.displayName = 'DrawerForm';
|
|
80
|
+
/** Generic-aware export — keeps `<DrawerForm<MyValues> …>` fully typed. */
|
|
71
81
|
export var DrawerForm = /*#__PURE__*/memo(DrawerFormBase);
|
|
72
82
|
export default DrawerForm;
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0uanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwibWVtbyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiRHJhd2VyIiwiUHJvRm9ybSIsIkNTU19QUkVGSVgiLCJ1c2VPdmVybGF5Rm9ybSIsImNsYXNzZXMiLCJjb25jYXQiLCJEcmF3ZXJGb3JtQmFzZSIsInByb3BzIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsInRyaWdnZXIiLCJ0aXRsZSIsIl9wcm9wcyR3aWR0aCIsIndpZHRoIiwiX3Byb3BzJHBsYWNlbWVudCIsInBsYWNlbWVudCIsInN1Ym1pdFRpbWVvdXQiLCJfcHJvcHMkYXV0b0Nsb3NlIiwiYXV0b0Nsb3NlIiwiZHJhd2VyUHJvcHMiLCJvbkZpbmlzaCIsInN1Ym1pdHRlciIsImNoaWxkcmVuIiwiX2Rlc3Ryb3lPbkNsb3NlIiwiZGVzdHJveU9uQ2xvc2UiLCJmb3JtUHJvcHMiLCJfdXNlT3ZlcmxheUZvcm0iLCJtZXJnZWRPcGVuIiwidHJpZ2dlck5vZGUiLCJoYW5kbGVGaW5pc2giLCJoYW5kbGVIaWRlIiwiYXNzaWduIiwib25DbG9zZSIsImZvb3RlciIsImNsYXNzTmFtZSIsInVuZGVmaW5lZCIsInJlc2V0QnV0dG9uUHJvcHMiLCJvbkNsaWNrIiwicmVzZXRUZXh0IiwiZGlzcGxheU5hbWUiLCJEcmF3ZXJGb3JtIl0sIm1hcHBpbmdzIjoi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Q3RCUixTQUFTLEVBQUVBLFNBQVMsS0FBS2MsU0FBUyxHQUFHZCxTQUFTLEdBQUc7WUFDL0NlLGdCQUFnQixFQUFFO2NBQUVDLE9BQU8sRUFBRVA7WUFBVSxDQUFFO1lBQ3pDUSxTQUFTLEVBQUU7VUQvQkQsQ0NnQ1g7VUFBQWhCLFFBQUEsRUFFQUE7UUFBUSxDQUFBLENBQUE7TUFDRCxDQUFBO0lBQ04sQ0FBQSxDQUFBLENBQ0M7RUFBQSxDQUFBLENBQ1I7QUFFUCxDQUFDO0FBRURoQixjQUFjLENBQUNpQyxXQUFXLEdBQUcsWUFBWTtBQUV6QyxPQUFPLElBQU1DLFVBQVUsZ0JBQUczQyxJQUFJLENBQUNTLGNBQWMsQ0FBQztBQUU5QyxlQUFla0MsVUFBVSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9EcmF3ZXJGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRHJhd2VyIH0gZnJvbSAnLi4vLi4vRHJhd2VyJztcbmltcG9ydCB7IFByb0Zvcm0gfSBmcm9tICcuLi9Qcm9Gb3JtJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlT3ZlcmxheUZvcm0gfSBmcm9tICcuL3VzZU92ZXJsYXlGb3JtJztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LWRyYXdlci1mb3JtYCk7XG5jb25zdCBEcmF3ZXJGb3JtQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCB0aXRsZSwgd2lkdGggPSA0ODAsIHBsYWNlbWVudCA9ICdyaWdodCcsIHN1Ym1pdFRpbWVvdXQsIGF1dG9DbG9zZSA9IHRydWUsIGRyYXdlclByb3BzLCBvbkZpbmlzaCwgc3VibWl0dGVyLCBjaGlsZHJlbiwgXG4gICAgLy8gZGVzdHJveU9uQ2xvc2UgaXMgYWNjZXB0ZWQgZm9yIEFQSSBjb21wYXQgYnV0IG5vdCB1c2VkIOKAlFxuICAgIC8vIERyYXdlcidzIG93biB1c2VEcmF3ZXJUcmFuc2l0aW9uIGFscmVhZHkgdW5tb3VudHMgdGhlIGVudGlyZVxuICAgIC8vIERPTSB0cmVlIChpbmNsdWRpbmcgZm9ybSBjb250ZW50KSBhZnRlciB0aGUgY2xvc2UgYW5pbWF0aW9uLlxuICAgIGRlc3Ryb3lPbkNsb3NlOiBfZGVzdHJveU9uQ2xvc2UgfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm9wZW5cIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJ0cmlnZ2VyXCIsIFwidGl0bGVcIiwgXCJ3aWR0aFwiLCBcInBsYWNlbWVudFwiLCBcInN1Ym1pdFRpbWVvdXRcIiwgXCJhdXRvQ2xvc2VcIiwgXCJkcmF3ZXJQcm9wc1wiLCBcIm9uRmluaXNoXCIsIFwic3VibWl0dGVyXCIsIFwiY2hpbGRyZW5cIiwgXCJkZXN0cm95T25DbG9zZVwiXSk7XG4gICAgY29uc3QgeyBtZXJnZWRPcGVuLCB0cmlnZ2VyTm9kZSwgaGFuZGxlRmluaXNoLCBoYW5kbGVIaWRlLCB9ID0gdXNlT3ZlcmxheUZvcm0oeyBvcGVuLCBvbk9wZW5DaGFuZ2UsIHRyaWdnZXIsIGF1dG9DbG9zZSwgc3VibWl0VGltZW91dCB9LCBvbkZpbmlzaCk7XG4gICAgcmV0dXJuIChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFt0cmlnZ2VyTm9kZSwgX2pzeChEcmF3ZXIsIE9iamVjdC5hc3NpZ24oe30sIGRyYXdlclByb3BzLCB7IG9wZW46IG1lcmdlZE9wZW4sIHRpdGxlOiB0aXRsZSwgcGxhY2VtZW50OiBwbGFjZW1lbnQsIHdpZHRoOiB3aWR0aCwgb25DbG9zZTogaGFuZGxlSGlkZSwgZm9vdGVyOiBudWxsLCBjaGlsZHJlbjogX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBjaGlsZHJlbjogX2pzeChQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgc3VibWl0dGVyOiBzdWJtaXR0ZXIgIT09IHVuZGVmaW5lZCA/IHN1Ym1pdHRlciA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldEJ1dHRvblByb3BzOiB7IG9uQ2xpY2s6IGhhbmRsZUhpZGUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldFRleHQ6ICdDYW5jZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSldIH0pKTtcbn07XG5EcmF3ZXJGb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdEcmF3ZXJGb3JtJztcbmV4cG9ydCBjb25zdCBEcmF3ZXJGb3JtID0gbWVtbyhEcmF3ZXJGb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBEcmF3ZXJGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0uanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL0RyYXdlckZvcm0udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwibWVtbyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiRHJhd2VyIiwiUHJvRm9ybSIsIkNTU19QUkVGSVgiLCJ1c2VPdmVybGF5Rm9ybSIsImNsYXNzZXMiLCJjb25jYXQiLCJEcmF3ZXJGb3JtQmFzZSIsInByb3BzIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsInRyaWdnZXIiLCJ0aXRsZSIsIl9wcm9wcyR3aWR0aCIsIndpZHRoIiwiX3Byb3BzJHBsYWNlbWVudCIsInBsYWNlbWVudCIsInN1Ym1pdFRpbWVvdXQiLCJfcHJvcHMkYXV0b0Nsb3NlIiwiYXV0b0Nsb3NlIiwiX3Byb3BzJGNsb3NlT25SZXNldCIsImNsb3NlT25SZXNldCIsImRyYXdlclByb3BzIiwib25GaW5pc2giLCJvblJlc2V0Iiwic3VibWl0dGVyIiwiY2hpbGRyZW4iLCJfZGVzdHJveU9uQ2xvc2UiLCJkZXN0cm95T25DbG9zZSIsImZvcm1Qcm9wcyIsIl91c2VPdmVybGF5Rm9ybSIsIm1lcmdlZE9wZW4iLCJ0cmlnZ2VyTm9kZSIsImhhbmRsZUZpbmlzaCIsImhhbmRsZUhpZGUiLCJhc3NpZ24iLCJvbkNsb3NlIiwiZm9vdGVyIiwiY2xhc3NOYW1lIiwiZm9ybUNvbXBvbmVudFR5cGUiLCJ2YWx1ZXMiLCJyZXNldFRleHQiLCJfdHlw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STtNQUFBWCxRQUFBLEVBRVpqQyxJQUFBLENBQUEsS0FBQSxFQUFBO1FBQUs2QyxTQUFTLEVBQUVqQyxPQUFPLENBQUEsQ0FBRTtRQUFBcUIsUUFBQSxFQUN2QmpDLElBQUEsQ0FBQ1MsT0FBTyxFQUFBbkIsTUFBQSxDQUFBb0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNGTixTQUFTLEVBQUE7VUFDYlUsaUJBQWlCLEVBQUMsWUFBWTtVQUM5QmhCLFFBQVEsRUFBRVUsWUFBWTtVQUN0QjtVQUNBO1VBQ0E7VUFDQVQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdnQixNQUFNLEVBQUk7WUFDbEJoQixRQUFPLEtBQUEsSUFBQSxJQUFQQSxRQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLFFBQU8sQ0FBR2dCLE1BQU0sQ0FBQztZQUNqQixJQUFJbkIsWUFBWSxFQUFFYSxVQUFVLENBQUEsQ0FBRTtVQUNoQyxDQUFDO1VBQ0RULFNBQVMsRUFBRUEsU0FBUyxLQUFLLEtBQUssR0FBRyxLQUFLLEdBQUUxQyxNQUFBLENBQUFvRCxNQUFBLENBQUE7WUFDdENNLFNBQVMsRUFBRTtVQUFRLENBQUEsRUFDZkMsT0FBQSxDQUFPakIsU0FBUyxNQUFLLFFBQVEsR0FBR0EsU0FBUyxHQUFHLENBQUEsQ0FBRyxDQUNwRDtVQUFBQyxRQUFBLEVBRUFBO1FBQVEsQ0FBQSxDQUFBO01BQ0QsQ0FBQTtJQUNOLENBQUEsQ0FBQSxDQUNDO0VBQUEsQ0FBQSxDQUNSO0FBRVAsQ0FBQztBQUVEbkIsY0FBYyxDQUFDb0MsV0FBVyxHQUFHLFlBQVk7QUFFekM7QUFDQSxPQUFPLElBQU1DLFVBQVUsZ0JBQUc5QyxJQUFJLENBQUNTLGNBQWMsQ0FFTztBQUVwRCxlQUFlcUMsVUFBVSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9EcmF3ZXJGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRHJhd2VyIH0gZnJvbSAnLi4vLi4vRHJhd2VyJztcbmltcG9ydCB7IFByb0Zvcm0gfSBmcm9tICcuLi9Qcm9Gb3JtJztcbmltcG9ydCB7IENTU19QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlT3ZlcmxheUZvcm0gfSBmcm9tICcuL3VzZU92ZXJsYXlGb3JtJztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LWRyYXdlci1mb3JtYCk7XG5jb25zdCBEcmF3ZXJGb3JtQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCB0aXRsZSwgd2lkdGggPSA0ODAsIHBsYWNlbWVudCA9ICdyaWdodCcsIHN1Ym1pdFRpbWVvdXQsIGF1dG9DbG9zZSA9IHRydWUsIGNsb3NlT25SZXNldCA9IHRydWUsIGRyYXdlclByb3BzLCBvbkZpbmlzaCwgb25SZXNldCwgc3VibWl0dGVyLCBjaGlsZHJlbiwgXG4gICAgLy8gZGVzdHJveU9uQ2xvc2UgaXMgYWNjZXB0ZWQgZm9yIEFQSSBjb21wYXQgYnV0IG5vdCB1c2VkIOKAlFxuICAgIC8vIERyYXdlcidzIG93biB1c2VEcmF3ZXJUcmFuc2l0aW9uIGFscmVhZHkgdW5tb3VudHMgdGhlIGVudGlyZVxuICAgIC8vIERPTSB0cmVlIChpbmNsdWRpbmcgZm9ybSBjb250ZW50KSBhZnRlciB0aGUgY2xvc2UgYW5pbWF0aW9uLlxuICAgIGRlc3Ryb3lPbkNsb3NlOiBfZGVzdHJveU9uQ2xvc2UgfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm9wZW5cIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJ0cmlnZ2VyXCIsIFwidGl0bGVcIiwgXCJ3aWR0aFwiLCBcInBsYWNlbWVudFwiLCBcInN1Ym1pdFRpbWVvdXRcIiwgXCJhdXRvQ2xvc2VcIiwgXCJjbG9zZU9uUmVzZXRcIiwgXCJkcmF3ZXJQcm9wc1wiLCBcIm9uRmluaXNoXCIsIFwib25SZXNldFwiLCBcInN1Ym1pdHRlclwiLCBcImNoaWxkcmVuXCIsIFwiZGVzdHJveU9uQ2xvc2VcIl0pO1xuICAgIGNvbnN0IHsgbWVyZ2VkT3BlbiwgdHJpZ2dlck5vZGUsIGhhbmRsZUZpbmlzaCwgaGFuZGxlSGlkZSwgfSA9IHVzZU92ZXJsYXlGb3JtKHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCBhdXRvQ2xvc2UsIHN1Ym1pdFRpbWVvdXQgfSwgb25GaW5pc2gpO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbdHJpZ2dlck5vZGUsIF9qc3goRHJhd2VyLCBPYmplY3QuYXNzaWduKHt9LCBkcmF3ZXJQcm9wcywgeyBvcGVuOiBtZXJnZWRPcGVuLCB0aXRsZTogdGl0bGUsIHBsYWNlbWVudDogcGxhY2VtZW50LCB3aWR0aDogd2lkdGgsIG9uQ2xvc2U6IGhhbmRsZUhpZGUsIGZvb3RlcjogbnVsbCwgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoKSwgY2hpbGRyZW46IF9qc3goUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybVByb3BzLCB7IGZvcm1Db21wb25lbnRUeXBlOiBcIkRyYXdlckZvcm1cIiwgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDbG9zZSByaWRlcyB0aGUgRk9STS1MRVZFTCByZXNldCBjaGFubmVsIOKAlCB0aGUgc2luZ2xlIHBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVyZSBldmVyeSByZXNldCBzdXJmYWNlIGNvbnZlcmdlcy4gQ29uc3VtZXIgb25SZXNldCBydW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdDsgY2xvc2VPblJlc2V0IG9wdHMgb3V0LlxuICAgICAgICAgICAgICAgICAgICAgICAgb25SZXNldDogKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVzZXQgPT09IG51bGwgfHwgb25SZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25SZXNldCh2YWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjbG9zZU9uUmVzZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHN1Ym1pdHRlcjogc3VibWl0dGVyID09PSBmYWxzZSA/IGZhbHNlIDogT2JqZWN0LmFzc2lnbih7IHJlc2V0VGV4dDogJ0NhbmNlbCcgfSwgKHR5cGVvZiBzdWJtaXR0ZXIgPT09ICdvYmplY3QnID8gc3VibWl0dGVyIDoge30pKSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSldIH0pKTtcbn07XG5EcmF3ZXJGb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdEcmF3ZXJGb3JtJztcbi8qKiBHZW5lcmljLWF3YXJlIGV4cG9ydCDigJQga2VlcHMgYDxEcmF3ZXJGb3JtPE15VmFsdWVzPiDigKY+YCBmdWxseSB0eXBlZC4gKi9cbmV4cG9ydCBjb25zdCBEcmF3ZXJGb3JtID0gbWVtbyhEcmF3ZXJGb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBEcmF3ZXJGb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
1
2
|
import type { QueryFilterProps } from '../interface';
|
|
2
|
-
|
|
3
|
-
export declare const QueryFilter:
|
|
3
|
+
/** Generic-aware export — keeps `<QueryFilter<MyValues> …>` fully typed. */
|
|
4
|
+
export declare const QueryFilter: (<Values = Record<string, unknown>>(props: QueryFilterProps<Values>) => ReactElement | null) & {
|
|
5
|
+
displayName?: string;
|
|
6
|
+
};
|
|
4
7
|
export default QueryFilter;
|
|
@@ -8,7 +8,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
8
8
|
return t;
|
|
9
9
|
};
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { memo, useMemo
|
|
11
|
+
import { memo, useMemo } from 'react';
|
|
12
12
|
import useControlledState from '@1money/hooks/useControlledState';
|
|
13
13
|
import useMemoizedFn from '@1money/hooks/useMemoizedFn';
|
|
14
14
|
import { default as classnames } from '../../../utils/classnames';
|
|
@@ -17,34 +17,20 @@ import { ProForm } from '../ProForm';
|
|
|
17
17
|
import { CSS_PREFIX, DEFAULT_TEXT } from '../constants';
|
|
18
18
|
import React from 'react';
|
|
19
19
|
var classes = classnames("".concat(CSS_PREFIX, "-query-filter"));
|
|
20
|
+
var HIDDEN_STYLE = {
|
|
21
|
+
display: 'none'
|
|
22
|
+
};
|
|
23
|
+
// Keeps the wrapper layout-neutral: the field stays a direct flex item.
|
|
24
|
+
var CONTENTS_STYLE = {
|
|
25
|
+
display: 'contents'
|
|
26
|
+
};
|
|
20
27
|
// ---------------------------------------------------------------------------
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
params[k] = v;
|
|
28
|
-
});
|
|
29
|
-
return params;
|
|
30
|
-
}
|
|
31
|
-
function setUrlParams(params) {
|
|
32
|
-
if (typeof window === 'undefined') return;
|
|
33
|
-
var sp = new URLSearchParams();
|
|
34
|
-
for (var _i = 0, _Object$entries = Object.entries(params); _i < _Object$entries.length; _i++) {
|
|
35
|
-
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
36
|
-
k = _Object$entries$_i[0],
|
|
37
|
-
v = _Object$entries$_i[1];
|
|
38
|
-
if (v !== null && v !== undefined && v !== '') {
|
|
39
|
-
sp.set(k, String(v));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
var search = sp.toString();
|
|
43
|
-
var url = search ? "".concat(window.location.pathname, "?").concat(search) : window.location.pathname;
|
|
44
|
-
window.history.replaceState(null, '', url);
|
|
45
|
-
}
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
// QueryFilter
|
|
28
|
+
// QueryFilter — a compact filter bar on top of ProForm.
|
|
29
|
+
//
|
|
30
|
+
// URL synchronization is handled by ProForm itself (`syncToUrl`); QueryFilter
|
|
31
|
+
// only flips the default of `syncToUrlAsImportant` to true: a filter's reason
|
|
32
|
+
// to sync is restoring state from the URL on refresh, so URL params win over
|
|
33
|
+
// `initialValues` here (plain ProForm keeps the opposite default).
|
|
48
34
|
// ---------------------------------------------------------------------------
|
|
49
35
|
var QueryFilterBase = function QueryFilterBase(props) {
|
|
50
36
|
var _a, _b;
|
|
@@ -58,47 +44,37 @@ var QueryFilterBase = function QueryFilterBase(props) {
|
|
|
58
44
|
_props$split = props.split,
|
|
59
45
|
split = _props$split === void 0 ? false : _props$split,
|
|
60
46
|
searchConfig = props.searchConfig,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onReset = props.onReset,
|
|
47
|
+
_props$syncToUrlAsImp = props.syncToUrlAsImportant,
|
|
48
|
+
syncToUrlAsImportant = _props$syncToUrlAsImp === void 0 ? true : _props$syncToUrlAsImp,
|
|
64
49
|
children = props.children,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
formProps = __rest(props, ["defaultCollapsed", "collapsed", "onCollapse", "defaultColsNumber", "labelWidth", "split", "searchConfig", "syncToUrl", "onFinish", "onReset", "children", "submitter", "initialValues"]);
|
|
50
|
+
onFinishFailed = props.onFinishFailed,
|
|
51
|
+
_submitter = props.submitter,
|
|
52
|
+
formProps = __rest(props, ["defaultCollapsed", "collapsed", "onCollapse", "defaultColsNumber", "labelWidth", "split", "searchConfig", "syncToUrlAsImportant", "children", "onFinishFailed", "submitter"]);
|
|
69
53
|
var _useControlledState = useControlledState(defaultCollapsed, controlledCollapsed),
|
|
70
54
|
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
71
55
|
collapsed = _useControlledState2[0],
|
|
72
56
|
setCollapsed = _useControlledState2[1];
|
|
73
|
-
// ── syncToUrl: merge URL params into initial values on mount ──
|
|
74
|
-
var syncInitRef = useRef(false);
|
|
75
|
-
var initialValues = useMemo(function () {
|
|
76
|
-
if (!syncToUrl || syncInitRef.current) return initialValuesProp;
|
|
77
|
-
syncInitRef.current = true;
|
|
78
|
-
var urlParams = getUrlParams();
|
|
79
|
-
if (typeof syncToUrl === 'function') {
|
|
80
|
-
return Object.assign(Object.assign({}, initialValuesProp), syncToUrl(urlParams, 'get'));
|
|
81
|
-
}
|
|
82
|
-
return Object.assign(Object.assign({}, initialValuesProp), urlParams);
|
|
83
|
-
}, []);
|
|
84
|
-
var handleSyncSet = useMemoizedFn(function (values) {
|
|
85
|
-
if (!syncToUrl) return;
|
|
86
|
-
var toWrite = typeof syncToUrl === 'function' ? syncToUrl(values, 'set') : values;
|
|
87
|
-
setUrlParams(toWrite);
|
|
88
|
-
});
|
|
89
|
-
var handleFinish = useMemoizedFn(function (values) {
|
|
90
|
-
handleSyncSet(values);
|
|
91
|
-
onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
|
|
92
|
-
});
|
|
93
|
-
var handleReset = useMemoizedFn(function () {
|
|
94
|
-
if (syncToUrl) setUrlParams({});
|
|
95
|
-
onReset === null || onReset === void 0 ? void 0 : onReset();
|
|
96
|
-
});
|
|
97
57
|
var handleCollapse = useMemoizedFn(function () {
|
|
98
58
|
var next = !collapsed;
|
|
99
59
|
setCollapsed(next);
|
|
100
60
|
onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(next);
|
|
101
61
|
});
|
|
62
|
+
// A collapsed (display:none) field failing validation would block Search
|
|
63
|
+
// with an INVISIBLE error — auto-expand so the user can see and fix it.
|
|
64
|
+
var handleFinishFailed = useMemoizedFn(function (errorInfo) {
|
|
65
|
+
if (collapsed) {
|
|
66
|
+
var overflowHasError = React.Children.toArray(children).slice(defaultColsNumber).some(function (child) {
|
|
67
|
+
if (! /*#__PURE__*/React.isValidElement(child)) return false;
|
|
68
|
+
var childName = child.props.name;
|
|
69
|
+
return childName !== undefined && errorInfo.errors[childName] !== undefined;
|
|
70
|
+
});
|
|
71
|
+
if (overflowHasError) {
|
|
72
|
+
setCollapsed(false);
|
|
73
|
+
onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(false);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errorInfo);
|
|
77
|
+
});
|
|
102
78
|
// Count children and split visible/hidden
|
|
103
79
|
var childArray = useMemo(function () {
|
|
104
80
|
var arr = [];
|
|
@@ -109,7 +85,6 @@ var QueryFilterBase = function QueryFilterBase(props) {
|
|
|
109
85
|
});
|
|
110
86
|
return arr;
|
|
111
87
|
}, [children]);
|
|
112
|
-
var visibleChildren = collapsed ? childArray.slice(0, defaultColsNumber) : childArray;
|
|
113
88
|
var hasMore = childArray.length > defaultColsNumber;
|
|
114
89
|
var searchText = (_a = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchText) !== null && _a !== void 0 ? _a : DEFAULT_TEXT.search;
|
|
115
90
|
var resetText = (_b = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.resetText) !== null && _b !== void 0 ? _b : DEFAULT_TEXT.reset;
|
|
@@ -118,20 +93,21 @@ var QueryFilterBase = function QueryFilterBase(props) {
|
|
|
118
93
|
width: labelWidth
|
|
119
94
|
} : undefined;
|
|
120
95
|
return _jsx(ProForm, Object.assign({}, formProps, {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
96
|
+
syncToUrlAsImportant: syncToUrlAsImportant,
|
|
97
|
+
formComponentType: "QueryFilter",
|
|
98
|
+
onFinishFailed: handleFinishFailed,
|
|
124
99
|
submitter: false,
|
|
125
100
|
children: _jsxs("div", {
|
|
126
101
|
className: classes(),
|
|
127
|
-
children: [
|
|
102
|
+
children: [childArray.map(function (child, index) {
|
|
103
|
+
var hiddenByCollapse = collapsed && index >= defaultColsNumber;
|
|
128
104
|
return _jsxs(React.Fragment, {
|
|
129
|
-
children: [split && index > 0 && _jsx("div", {
|
|
105
|
+
children: [split && index > 0 && !hiddenByCollapse && _jsx("div", {
|
|
130
106
|
className: classes('split')
|
|
131
|
-
}),
|
|
132
|
-
style: labelStyle,
|
|
107
|
+
}), _jsx("div", {
|
|
108
|
+
style: hiddenByCollapse ? HIDDEN_STYLE : labelStyle !== null && labelStyle !== void 0 ? labelStyle : CONTENTS_STYLE,
|
|
133
109
|
children: child
|
|
134
|
-
})
|
|
110
|
+
})]
|
|
135
111
|
}, index);
|
|
136
112
|
}), _jsxs("div", {
|
|
137
113
|
className: classes('actions'),
|
|
@@ -141,10 +117,9 @@ var QueryFilterBase = function QueryFilterBase(props) {
|
|
|
141
117
|
size: buttonSize,
|
|
142
118
|
children: searchText
|
|
143
119
|
}), _jsx(Button, {
|
|
144
|
-
type: "
|
|
120
|
+
type: "reset",
|
|
145
121
|
color: "secondary",
|
|
146
122
|
size: buttonSize,
|
|
147
|
-
onClick: handleReset,
|
|
148
123
|
children: resetText
|
|
149
124
|
}), hasMore && _jsx(Button, {
|
|
150
125
|
type: "button",
|
|
@@ -158,6 +133,7 @@ var QueryFilterBase = function QueryFilterBase(props) {
|
|
|
158
133
|
}));
|
|
159
134
|
};
|
|
160
135
|
QueryFilterBase.displayName = 'QueryFilter';
|
|
136
|
+
/** Generic-aware export — keeps `<QueryFilter<MyValues> …>` fully typed. */
|
|
161
137
|
export var QueryFilter = /*#__PURE__*/memo(QueryFilterBase);
|
|
162
138
|
export default QueryFilter;
|
|
163
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL1F1ZXJ5RmlsdGVyLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9RdWVyeUZpbHRlci50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VNZW1vaXplZEZuIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJCdXR0b24iLCJQcm9Gb3JtIiwiQ1NTX1BSRUZJWCIsIkRFRkFVTFRfVEVYVCIsIlJlYWN0IiwiY2xhc3NlcyIsImNvbmNhdCIsImdldFVybFBhcmFtcyIsIndpbmRvdyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZm9yRWFjaCIsInYiLCJrIiwic2V0VXJsUGFyYW1zIiwic3AiLCJfaSIsIl9PYmplY3QkZW50cmllcyIsImVudHJpZXMiLCJfT2JqZWN0JGVudHJpZXMkX2kiLCJfc2xpY2VkVG9BcnJheSIsInVuZGVmaW5lZCIsInNldCIsIlN0cmluZyIsInRvU3RyaW5nIiwidXJsIiwicGF0aG5hbWUiLCJoaXN0b3J5IiwicmVwbGFjZVN0YXRlIiwiUXVlcnlGaWx0ZXJCYXNlIiwicHJvcHMiLCJfYSIsIl9iIiwiX3Byb3BzJGRlZmF1bHRDb2xsYXBzIiwiZGVmYXVsdENvbGxhcHNlZCIsImNvbnRyb2xsZWRDb2xsYXBzZWQiLCJjb2xsYXBzZWQiLCJvbkNvbGxhcHNlIiwiX3Byb3BzJGRlZmF1bHRDb2xzTnVtIiwiZGVmYXVsdENvbHNOdW1iZXIiLCJsYWJlbFdpZHRoIiwiX3Byb3BzJHNwbGl0Iiwic3BsaXQiLCJzZWFyY2hDb25maWciLCJzeW5jVG9VcmwiLCJvbkZpbmlzaCIsIm9uUmVzZXQiLCJjaGlsZHJlbiIsIl9wcm9wcyRzdWJtaXR0ZXIiLCJzdWJtaXR0ZXIiLCJpbml0aWFsVmFsdWVzUHJvcCIsImluaXRpYWxWYWx1ZXMiLCJmb3JtUHJvcHMiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJzZXRDb2xsYXBzZWQiLCJzeW5jSW5pdFJlZiIsImN1cnJlbnQiLCJ1cmxQYXJhbXMiLCJhc3NpZ24iLCJoYW5kbGVTeW5jU2V0IiwidmFsdWVzIiwidG9Xcml0ZSIsImhhbmRsZUZpbmlzaCIsImhhbmRsZVJlc2V0IiwiaGFuZGxlQ29sbGFwc2UiLCJuZXh0IiwiY2hpbGRBcnJheSIsImFyciIsIkNoaWxkcmVuIiwiY2hpbGQiLCJpc1ZhbGlkRWxlbWVudCIsInB1c2giLCJ2aXNpYmxlQ2hpbGRyZW4iLCJzbGljZSIsImhhc01vcmUiLCJzZWFyY2hUZXh0IiwicmVzZXRUZXh0IiwicmVzZXQiLCJidXR0b25TaXplIiwic2l6ZSIsImxhYmVsU3R5bGUiLCJ3aWR0aCIsImNsYXNzTmFtZSIsIm1hcCIsImluZGV4IiwiRnJhZ21lbnQiLCJzdHlsZSIsInR5cGUiLCJjb2xvciIsIm9uQ2xpY2siLCJ2YXJpYW50IiwiZXhwYW5kIiwiY29sbGFwc2UiLCJkaXNwbGF5TmFtZSIsIlF1ZXJ5RmlsdGVyIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxD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QUEsRUFDbkQ2QjtRQUFVLENBQUEsQ0FDSixFQUNUeEYsSUFBQSxDQUFDVSxNQUFNLEVBQUE7VUFBQzBGLElBQUksRUFBQyxRQUFRO1VBQUNDLEtBQUssRUFBQyxXQUFXO1VBQUNULElBQUksRUFBRUQsVUFBVTtVQUFFVyxPQUFPLEVBQUUxQixXQUFXO1VBQUFqQixRQUFBLEVBQzNFOEI7UUFBUyxDQUFBLENBQ0gsRUFDUkYsT0FBTyxJQUNOdkYsSUFBQSxDQUFDVSxNQUFNLEVBQUE7VUFBQzBGLElBQUksRUFBQyxRQUFRO1VBQUNHLE9BQU8sRUFBQyxNQUFNO1VBQUNYLElBQUksRUFBRUQsVUFBVTtVQUFFVyxPQUFPLEVBQUV6QixjQUFjO1VBQUFsQixRQUFBLEVBQzNFWCxTQUFTLEdBQUduQyxZQUFZLENBQUMyRixNQUFNLEdBQUczRixZQUFZLENBQUM0RjtRQUFRLENBQUEsQ0FFM0Q7TUFBQSxDQUFBLENBQ0c7SUFBQSxDQUFBO0VBQ0YsQ0FBQSxDQUFBLENBQ0U7QUFFZCxDQUFDO0FBRURoRSxlQUFlLENBQUNpRSxXQUFXLEdBQUcsYUFBYTtBQUUzQyxPQUFPLElBQU1DLFdBQVcsZ0JBQUd4RyxJQUFJLENBQUNzQyxlQUFlLENBQUM7QUFFaEQsZUFBZWtFLFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvUXVlcnlGaWx0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuaW1wb3J0IHsgUHJvRm9ybSB9IGZyb20gJy4uL1Byb0Zvcm0nO1xuaW1wb3J0IHsgQ1NTX1BSRUZJWCwgREVGQVVMVF9URVhUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5jb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhgJHtDU1NfUFJFRklYfS1xdWVyeS1maWx0ZXJgKTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVVJMIHN5bmMgaGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBnZXRVcmxQYXJhbXMoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgIHBhcmFtc1trXSA9IHY7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIHNldFVybFBhcmFtcyhwYXJhbXMpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBzcCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICAgIGlmICh2ICE9PSBudWxsICYmIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSAnJykge1xuICAgICAgICAgICAgc3Auc2V0KGssIFN0cmluZyh2KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoID0gc3AudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSBzZWFyY2ggPyBgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9PyR7c2VhcmNofWAgOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsICcnLCB1cmwpO1xufVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBRdWVyeUZpbHRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb25zdCBRdWVyeUZpbHRlckJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHsgZGVmYXVsdENvbGxhcHNlZCA9IHRydWUsIGNvbGxhcHNlZDogY29udHJvbGxlZENvbGxhcHNlZCwgb25Db2xsYXBzZSwgZGVmYXVsdENvbHNOdW1iZXIgPSAzLCBsYWJlbFdpZHRoLCBzcGxpdCA9IGZhbHNlLCBzZWFyY2hDb25maWcsIHN5bmNUb1VybCwgb25GaW5pc2gsIG9uUmVzZXQsIGNoaWxkcmVuLCBzdWJtaXR0ZXIgPSBmYWxzZSwgaW5pdGlhbFZhbHVlczogaW5pdGlhbFZhbHVlc1Byb3AgfSA9IHByb3BzLCBmb3JtUHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcImRlZmF1bHRDb2xsYXBzZWRcIiwgXCJjb2xsYXBzZWRcIiwgXCJvbkNvbGxhcHNlXCIsIFwiZGVmYXVsdENvbHNOdW1iZXJcIiwgXCJsYWJlbFdpZHRoXCIsIFwic3BsaXRcIiwgXCJzZWFyY2hDb25maWdcIiwgXCJzeW5jVG9VcmxcIiwgXCJvbkZpbmlzaFwiLCBcIm9uUmVzZXRcIiwgXCJjaGlsZHJlblwiLCBcInN1Ym1pdHRlclwiLCBcImluaXRpYWxWYWx1ZXNcIl0pO1xuICAgIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdENvbGxhcHNlZCwgY29udHJvbGxlZENvbGxhcHNlZCk7XG4gICAgLy8g4pSA4pSAIHN5bmNUb1VybDogbWVyZ2UgVVJMIHBhcmFtcyBpbnRvIGluaXRpYWwgdmFsdWVzIG9uIG1vdW50IOKUgOKUgFxuICAgIGNvbnN0IHN5bmNJbml0UmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBpbml0aWFsVmFsdWVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmICghc3luY1RvVXJsIHx8IHN5bmNJbml0UmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gaW5pdGlhbFZhbHVlc1Byb3A7XG4gICAgICAgIHN5bmNJbml0UmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSBnZXRVcmxQYXJhbXMoKTtcbiAgICAgICAgaWYgKHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGluaXRpYWxWYWx1ZXNQcm9wKSwgc3luY1RvVXJsKHVybFBhcmFtcywgJ2dldCcpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBpbml0aWFsVmFsdWVzUHJvcCksIHVybFBhcmFtcyk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZVN5bmNTZXQgPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHRvV3JpdGUgPSB0eXBlb2Ygc3luY1RvVXJsID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHN5bmNUb1VybCh2YWx1ZXMsICdzZXQnKVxuICAgICAgICAgICAgOiB2YWx1ZXM7XG4gICAgICAgIHNldFVybFBhcmFtcyh0b1dyaXRlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVGaW5pc2ggPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgaGFuZGxlU3luY1NldCh2YWx1ZXMpO1xuICAgICAgICBvbkZpbmlzaCA9PT0gbnVsbCB8fCBvbkZpbmlzaCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2godmFsdWVzKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVSZXNldCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBpZiAoc3luY1RvVXJsKVxuICAgICAgICAgICAgc2V0VXJsUGFyYW1zKHt9KTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ29sbGFwc2UgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dCA9ICFjb2xsYXBzZWQ7XG4gICAgICAgIHNldENvbGxhcHNlZChuZXh0KTtcbiAgICAgICAgb25Db2xsYXBzZSA9PT0gbnVsbCB8fCBvbkNvbGxhcHNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNvbGxhcHNlKG5leHQpO1xuICAgIH0pO1xuICAgIC8vIENvdW50IGNoaWxkcmVuIGFuZCBzcGxpdCB2aXNpYmxlL2hpZGRlblxuICAgIGNvbnN0IGNoaWxkQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgIFJlYWN0LkNoaWxkcmVuLmZvckVhY2goY2hpbGRyZW4sIChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKFJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGFyci5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgfSwgW2NoaWxkcmVuXSk7XG4gICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY29sbGFwc2VkXG4gICAgICAgID8gY2hpbGRBcnJheS5zbGljZSgwLCBkZWZhdWx0Q29sc051bWJlcilcbiAgICAgICAgOiBjaGlsZEFycmF5O1xuICAgIGNvbnN0IGhhc01vcmUgPSBjaGlsZEFycmF5Lmxlbmd0aCA+IGRlZmF1bHRDb2xzTnVtYmVyO1xuICAgIGNvbnN0IHNlYXJjaFRleHQgPSAoX2EgPSBzZWFyY2hDb25maWcgPT09IG51bGwgfHwgc2VhcmNoQ29uZmlnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDb25maWcuc2VhcmNoVGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogREVGQVVMVF9URVhULnNlYXJjaDtcbiAgICBjb25zdCByZXNldFRleHQgPSAoX2IgPSBzZWFyY2hDb25maWcgPT09IG51bGwgfHwgc2VhcmNoQ29uZmlnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDb25maWcucmVzZXRUZXh0KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RFWFQucmVzZXQ7XG4gICAgY29uc3QgYnV0dG9uU2l6ZSA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5zaXplO1xuICAgIGNvbnN0IGxhYmVsU3R5bGUgPSBsYWJlbFdpZHRoICE9PSB1bmRlZmluZWQgJiYgbGFiZWxXaWR0aCAhPT0gJ2F1dG8nXG4gICAgICAgID8geyB3aWR0aDogbGFiZWxXaWR0aCB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeChQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgaW5pdGlhbFZhbHVlczogaW5pdGlhbFZhbHVlcywgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgb25SZXNldDogaGFuZGxlUmVzZXQsIHN1Ym1pdHRlcjogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygpLCBjaGlsZHJlbjogW3Zpc2libGVDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT4gKF9qc3hzKFJlYWN0LkZyYWdtZW50LCB7IGNoaWxkcmVuOiBbc3BsaXQgJiYgaW5kZXggPiAwICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NwbGl0JykgfSksIGxhYmVsU3R5bGUgPyAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBsYWJlbFN0eWxlLCBjaGlsZHJlbjogY2hpbGQgfSkpIDogKGNoaWxkKV0gfSwgaW5kZXgpKSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdhY3Rpb25zJyksIGNoaWxkcmVuOiBbX2pzeChCdXR0b24sIHsgdHlwZTogXCJzdWJtaXRcIiwgY29sb3I6IFwicHJpbWFyeVwiLCBzaXplOiBidXR0b25TaXplLCBjaGlsZHJlbjogc2VhcmNoVGV4dCB9KSwgX2pzeChCdXR0b24sIHsgdHlwZTogXCJidXR0b25cIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIsIHNpemU6IGJ1dHRvblNpemUsIG9uQ2xpY2s6IGhhbmRsZVJlc2V0LCBjaGlsZHJlbjogcmVzZXRUZXh0IH0pLCBoYXNNb3JlICYmIChfanN4KEJ1dHRvbiwgeyB0eXBlOiBcImJ1dHRvblwiLCB2YXJpYW50OiBcInRleHRcIiwgc2l6ZTogYnV0dG9uU2l6ZSwgb25DbGljazogaGFuZGxlQ29sbGFwc2UsIGNoaWxkcmVuOiBjb2xsYXBzZWQgPyBERUZBVUxUX1RFWFQuZXhwYW5kIDogREVGQVVMVF9URVhULmNvbGxhcHNlIH0pKV0gfSldIH0pIH0pKSk7XG59O1xuUXVlcnlGaWx0ZXJCYXNlLmRpc3BsYXlOYW1lID0gJ1F1ZXJ5RmlsdGVyJztcbmV4cG9ydCBjb25zdCBRdWVyeUZpbHRlciA9IG1lbW8oUXVlcnlGaWx0ZXJCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFF1ZXJ5RmlsdGVyOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL1F1ZXJ5RmlsdGVyLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9RdWVyeUZpbHRlci50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZU1lbW8iLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VNZW1vaXplZEZuIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJCdXR0b24iLCJQcm9Gb3JtIiwiQ1NTX1BSRUZJWCIsIkRFRkFVTFRfVEVYVCIsIlJlYWN0IiwiY2xhc3NlcyIsImNvbmNhdCIsIkhJRERFTl9TVFlMRSIsImRpc3BsYXkiLCJDT05URU5UU19TVFlMRSIsIlF1ZXJ5RmlsdGVyQmFzZSIsInByb3BzIiwiX2EiLCJfYiIsIl9wcm9wcyRkZWZhdWx0Q29sbGFwcyIsImRlZmF1bHRDb2xsYXBzZWQiLCJjb250cm9sbGVkQ29sbGFwc2VkIiwiY29sbGFwc2VkIiwib25Db2xsYXBzZSIsIl9wcm9wcyRkZWZhdWx0Q29sc051bSIsImRlZmF1bHRDb2xzTnVtYmVyIiwibGFiZWxXaWR0aCIsIl9wcm9wcyRzcGxpdCIsInNwbGl0Iiwic2VhcmNoQ29uZmlnIiwiX3Byb3BzJHN5bmNUb1VybEFzSW1wIiwic3luY1RvVXJsQXNJbXBvcnRhbnQiLCJjaGlsZHJlbiIsIm9uRmluaXNoRmFpbGVkIiwiX3N1Ym1pdHRlciIsInN1Ym1pdHRlciIsImZvcm1Qcm9wcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0Q29sbGFwc2VkIiwiaGFuZGxlQ29sbGFwc2UiLCJuZXh0IiwiaGFuZGxlRmluaXNoRmFpbGVkIiwiZXJyb3JJbmZvIiwib3ZlcmZsb3dIYXNFcnJvciIsIkNoaWxkcmVuIiwidG9BcnJheSIsInNsaWNlIiwic29tZSIsImNoaWxkIiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZE5hbWUiLCJuYW1lIiwidW5kZWZpbmVkIiwiZXJyb3JzIiwiY2hpbGRBcnJheSIsImFyciIsImZvckVhY2giLCJwdXNoIiwiaGFzTW9yZSIsInNlYXJjaFRleHQiLCJzZWFyY2giLCJyZXNldFRleHQiLCJyZXNldCIsImJ1dHRvblNpemUiLCJzaXplIiwibGFiZWxTdHlsZSIsIndpZHRoIiwiYXNzaWduIiwiZm9ybUNvbXBvbmVudFR5cGUiLCJjbGFzc05hbWUiLCJtYXAiLCJpbmRleCIsImhpZGRlbkJ5Q29sbGFwc2UiLCJGcmFnbWVudCIsInN0eWxlIiwidHlwZSIsImNvbG9yIiwidmFyaWFudCIsIm9uQ2xpY2siLCJleHBhbmQiLCJjb2xsYXBzZSIsImRpc3BsYXlOYW1lIiwiUXVlcnlGaWx0ZXIiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUs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O1VBQUssQ0FBQSxDQUNGO1FBQUEsQ0FBQSxFQUphdUIsS0FBSyxDQUtUO01BRXJCLENBQUMsQ0FBQyxFQUVGM0UsS0FBQSxDQUFBLEtBQUEsRUFBQTtRQUFLeUUsU0FBUyxFQUFFN0QsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUFBc0IsUUFBQSxFQUFBLENBQ2hDcEMsSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFBQ3dFLElBQUksRUFBQyxRQUFRO1VBQUNDLEtBQUssRUFBQyxTQUFTO1VBQUNaLElBQUksRUFBRUQsVUFBVTtVQUFBakMsUUFBQSxFQUNuRDZCO1FBQVUsQ0FBQSxDQUNKLEVBR1RqRSxJQUFBLENBQUNTLE1BQU0sRUFBQTtVQUFDd0UsSUFBSSxFQUFDLE9BQU87VUFBQ0MsS0FBSyxFQUFDLFdBQVc7VUFBQ1osSUFBSSxFQUFFRCxVQUFVO1VBQUFqQyxRQUFBLEVBQ3BEK0I7UUFBUyxDQUFBLENBQ0gsRUFDUkgsT0FBTyxJQUNOaEUsSUFBQSxDQUFDUyxNQUFNLEVBQUE7VUFBQ3dFLElBQUksRUFBQyxRQUFRO1VBQUNFLE9BQU8sRUFBQyxNQUFNO1VBQUNiLElBQUksRUFBRUQsVUFBVTtVQUFFZSxPQUFPLEVBQUV2QyxjQUFjO1VBQUFULFFBQUEsRUFDM0VWLFNBQVMsR0FBR2QsWUFBWSxDQUFDeUUsTUFBTSxHQUFHekUsWUFBWSxDQUFDMEU7UUFBUSxDQUFBLENBRTNEO01BQUEsQ0FBQSxDQUNHO0lBQUEsQ0FBQTtFQUNGLENBQUEsQ0FBQSxDQUNFO0FBRWQsQ0FBQztBQUVEbkUsZUFBZSxDQUFDb0UsV0FBVyxHQUFHLGFBQWE7QUFFM0M7QUFDQSxPQUFPLElBQU1DLFdBQVcsZ0JBQUdyRixJQUFJLENBQUNnQixlQUFlLENBRUs7QUFFcEQsZUFBZXFFLFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvUXVlcnlGaWx0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJztcbmltcG9ydCB7IFByb0Zvcm0gfSBmcm9tICcuLi9Qcm9Gb3JtJztcbmltcG9ydCB7IENTU19QUkVGSVgsIERFRkFVTFRfVEVYVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7Q1NTX1BSRUZJWH0tcXVlcnktZmlsdGVyYCk7XG5jb25zdCBISURERU5fU1RZTEUgPSB7IGRpc3BsYXk6ICdub25lJyB9O1xuLy8gS2VlcHMgdGhlIHdyYXBwZXIgbGF5b3V0LW5ldXRyYWw6IHRoZSBmaWVsZCBzdGF5cyBhIGRpcmVjdCBmbGV4IGl0ZW0uXG5jb25zdCBDT05URU5UU19TVFlMRSA9IHsgZGlzcGxheTogJ2NvbnRlbnRzJyB9O1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBRdWVyeUZpbHRlciDigJQgYSBjb21wYWN0IGZpbHRlciBiYXIgb24gdG9wIG9mIFByb0Zvcm0uXG4vL1xuLy8gVVJMIHN5bmNocm9uaXphdGlvbiBpcyBoYW5kbGVkIGJ5IFByb0Zvcm0gaXRzZWxmIChgc3luY1RvVXJsYCk7IFF1ZXJ5RmlsdGVyXG4vLyBvbmx5IGZsaXBzIHRoZSBkZWZhdWx0IG9mIGBzeW5jVG9VcmxBc0ltcG9ydGFudGAgdG8gdHJ1ZTogYSBmaWx0ZXIncyByZWFzb25cbi8vIHRvIHN5bmMgaXMgcmVzdG9yaW5nIHN0YXRlIGZyb20gdGhlIFVSTCBvbiByZWZyZXNoLCBzbyBVUkwgcGFyYW1zIHdpbiBvdmVyXG4vLyBgaW5pdGlhbFZhbHVlc2AgaGVyZSAocGxhaW4gUHJvRm9ybSBrZWVwcyB0aGUgb3Bwb3NpdGUgZGVmYXVsdCkuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IFF1ZXJ5RmlsdGVyQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QgeyBkZWZhdWx0Q29sbGFwc2VkID0gdHJ1ZSwgY29sbGFwc2VkOiBjb250cm9sbGVkQ29sbGFwc2VkLCBvbkNvbGxhcHNlLCBkZWZhdWx0Q29sc051bWJlciA9IDMsIGxhYmVsV2lkdGgsIHNwbGl0ID0gZmFsc2UsIHNlYXJjaENvbmZpZywgc3luY1RvVXJsQXNJbXBvcnRhbnQgPSB0cnVlLCBjaGlsZHJlbiwgb25GaW5pc2hGYWlsZWQsIFxuICAgIC8vIFF1ZXJ5RmlsdGVyIGFsd2F5cyByZW5kZXJzIGl0cyBvd24gU2VhcmNoL1Jlc2V0L0V4cGFuZCBidXR0b25zLlxuICAgIHN1Ym1pdHRlcjogX3N1Ym1pdHRlciB9ID0gcHJvcHMsIGZvcm1Qcm9wcyA9IF9fcmVzdChwcm9wcywgW1wiZGVmYXVsdENvbGxhcHNlZFwiLCBcImNvbGxhcHNlZFwiLCBcIm9uQ29sbGFwc2VcIiwgXCJkZWZhdWx0Q29sc051bWJlclwiLCBcImxhYmVsV2lkdGhcIiwgXCJzcGxpdFwiLCBcInNlYXJjaENvbmZpZ1wiLCBcInN5bmNUb1VybEFzSW1wb3J0YW50XCIsIFwiY2hpbGRyZW5cIiwgXCJvbkZpbmlzaEZhaWxlZFwiLCBcInN1Ym1pdHRlclwiXSk7XG4gICAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q29sbGFwc2VkLCBjb250cm9sbGVkQ29sbGFwc2VkKTtcbiAgICBjb25zdCBoYW5kbGVDb2xsYXBzZSA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0ID0gIWNvbGxhcHNlZDtcbiAgICAgICAgc2V0Q29sbGFwc2VkKG5leHQpO1xuICAgICAgICBvbkNvbGxhcHNlID09PSBudWxsIHx8IG9uQ29sbGFwc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29sbGFwc2UobmV4dCk7XG4gICAgfSk7XG4gICAgLy8gQSBjb2xsYXBzZWQgKGRpc3BsYXk6bm9uZSkgZmllbGQgZmFpbGluZyB2YWxpZGF0aW9uIHdvdWxkIGJsb2NrIFNlYXJjaFxuICAgIC8vIHdpdGggYW4gSU5WSVNJQkxFIGVycm9yIOKAlCBhdXRvLWV4cGFuZCBzbyB0aGUgdXNlciBjYW4gc2VlIGFuZCBmaXggaXQuXG4gICAgY29uc3QgaGFuZGxlRmluaXNoRmFpbGVkID0gdXNlTWVtb2l6ZWRGbigoZXJyb3JJbmZvKSA9PiB7XG4gICAgICAgIGlmIChjb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJmbG93SGFzRXJyb3IgPSBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKVxuICAgICAgICAgICAgICAgIC5zbGljZShkZWZhdWx0Q29sc051bWJlcilcbiAgICAgICAgICAgICAgICAuc29tZSgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkTmFtZSA9IGNoaWxkLnByb3BzLm5hbWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkTmFtZSAhPT0gdW5kZWZpbmVkICYmIGVycm9ySW5mby5lcnJvcnNbY2hpbGROYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob3ZlcmZsb3dIYXNFcnJvcikge1xuICAgICAgICAgICAgICAgIHNldENvbGxhcHNlZChmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25Db2xsYXBzZSA9PT0gbnVsbCB8fCBvbkNvbGxhcHNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNvbGxhcHNlKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkZpbmlzaEZhaWxlZCA9PT0gbnVsbCB8fCBvbkZpbmlzaEZhaWxlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2hGYWlsZWQoZXJyb3JJbmZvKTtcbiAgICB9KTtcbiAgICAvLyBDb3VudCBjaGlsZHJlbiBhbmQgc3BsaXQgdmlzaWJsZS9oaWRkZW5cbiAgICBjb25zdCBjaGlsZEFycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICBhcnIucHVzaChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYXJyO1xuICAgIH0sIFtjaGlsZHJlbl0pO1xuICAgIGNvbnN0IGhhc01vcmUgPSBjaGlsZEFycmF5Lmxlbmd0aCA+IGRlZmF1bHRDb2xzTnVtYmVyO1xuICAgIGNvbnN0IHNlYXJjaFRleHQgPSAoX2EgPSBzZWFyY2hDb25maWcgPT09IG51bGwgfHwgc2VhcmNoQ29uZmlnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDb25maWcuc2VhcmNoVGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogREVGQVVMVF9URVhULnNlYXJjaDtcbiAgICBjb25zdCByZXNldFRleHQgPSAoX2IgPSBzZWFyY2hDb25maWcgPT09IG51bGwgfHwgc2VhcmNoQ29uZmlnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDb25maWcucmVzZXRUZXh0KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RFWFQucmVzZXQ7XG4gICAgY29uc3QgYnV0dG9uU2l6ZSA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5zaXplO1xuICAgIGNvbnN0IGxhYmVsU3R5bGUgPSBsYWJlbFdpZHRoICE9PSB1bmRlZmluZWQgJiYgbGFiZWxXaWR0aCAhPT0gJ2F1dG8nXG4gICAgICAgID8geyB3aWR0aDogbGFiZWxXaWR0aCB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeChQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgc3luY1RvVXJsQXNJbXBvcnRhbnQ6IHN5bmNUb1VybEFzSW1wb3J0YW50LCBmb3JtQ29tcG9uZW50VHlwZTogXCJRdWVyeUZpbHRlclwiLCBvbkZpbmlzaEZhaWxlZDogaGFuZGxlRmluaXNoRmFpbGVkLCBzdWJtaXR0ZXI6IGZhbHNlLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoKSwgY2hpbGRyZW46IFtjaGlsZEFycmF5Lm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpZGRlbkJ5Q29sbGFwc2UgPSBjb2xsYXBzZWQgJiYgaW5kZXggPj0gZGVmYXVsdENvbHNOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeHMoUmVhY3QuRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtzcGxpdCAmJiBpbmRleCA+IDAgJiYgIWhpZGRlbkJ5Q29sbGFwc2UgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3BsaXQnKSB9KSwgX2pzeChcImRpdlwiLCB7IHN0eWxlOiBoaWRkZW5CeUNvbGxhcHNlID8gSElEREVOX1NUWUxFIDogKGxhYmVsU3R5bGUgIT09IG51bGwgJiYgbGFiZWxTdHlsZSAhPT0gdm9pZCAwID8gbGFiZWxTdHlsZSA6IENPTlRFTlRTX1NUWUxFKSwgY2hpbGRyZW46IGNoaWxkIH0pXSB9LCBpbmRleCkpO1xuICAgICAgICAgICAgICAgIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnYWN0aW9ucycpLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IHR5cGU6IFwic3VibWl0XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgc2l6ZTogYnV0dG9uU2l6ZSwgY2hpbGRyZW46IHNlYXJjaFRleHQgfSksIF9qc3goQnV0dG9uLCB7IHR5cGU6IFwicmVzZXRcIiwgY29sb3I6IFwic2Vjb25kYXJ5XCIsIHNpemU6IGJ1dHRvblNpemUsIGNoaWxkcmVuOiByZXNldFRleHQgfSksIGhhc01vcmUgJiYgKF9qc3goQnV0dG9uLCB7IHR5cGU6IFwiYnV0dG9uXCIsIHZhcmlhbnQ6IFwidGV4dFwiLCBzaXplOiBidXR0b25TaXplLCBvbkNsaWNrOiBoYW5kbGVDb2xsYXBzZSwgY2hpbGRyZW46IGNvbGxhcHNlZCA/IERFRkFVTFRfVEVYVC5leHBhbmQgOiBERUZBVUxUX1RFWFQuY29sbGFwc2UgfSkpXSB9KV0gfSkgfSkpKTtcbn07XG5RdWVyeUZpbHRlckJhc2UuZGlzcGxheU5hbWUgPSAnUXVlcnlGaWx0ZXInO1xuLyoqIEdlbmVyaWMtYXdhcmUgZXhwb3J0IOKAlCBrZWVwcyBgPFF1ZXJ5RmlsdGVyPE15VmFsdWVzPiDigKY+YCBmdWxseSB0eXBlZC4gKi9cbmV4cG9ydCBjb25zdCBRdWVyeUZpbHRlciA9IG1lbW8oUXVlcnlGaWx0ZXJCYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFF1ZXJ5RmlsdGVyOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -9,9 +9,9 @@ interface UseOverlayFormOptions {
|
|
|
9
9
|
interface UseOverlayFormReturn {
|
|
10
10
|
mergedOpen: boolean;
|
|
11
11
|
triggerNode: ReactElement | null;
|
|
12
|
-
handleFinish: (values: Record<string, unknown>) => Promise<void>;
|
|
12
|
+
handleFinish: (values: Record<string, unknown>) => Promise<void | boolean>;
|
|
13
13
|
handleHide: () => void;
|
|
14
14
|
handleShow: () => void;
|
|
15
15
|
}
|
|
16
|
-
export declare function useOverlayForm(options: UseOverlayFormOptions, onFinish?: (values: Record<string, unknown>) => void | Promise<void>): UseOverlayFormReturn;
|
|
16
|
+
export declare function useOverlayForm(options: UseOverlayFormOptions, onFinish?: (values: Record<string, unknown>) => void | boolean | Promise<void | boolean>): UseOverlayFormReturn;
|
|
17
17
|
export default useOverlayForm;
|
|
@@ -27,7 +27,7 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
|
|
|
27
27
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
import React from 'react';
|
|
30
|
+
import React, { useEffect, useRef } from 'react';
|
|
31
31
|
import useControlledState from '@1money/hooks/useControlledState';
|
|
32
32
|
import useDebouncedCallback from '@1money/hooks/useDebouncedCallback';
|
|
33
33
|
import useEventCallback from '@1money/hooks/useEventCallback';
|
|
@@ -45,18 +45,30 @@ export function useOverlayForm(options, onFinish) {
|
|
|
45
45
|
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
46
46
|
mergedOpen = _useControlledState2[0],
|
|
47
47
|
setMergedOpen = _useControlledState2[1];
|
|
48
|
+
// Session generation — every open-state change starts a new session, so a
|
|
49
|
+
// STALE in-flight submit (started in a previous session) can't auto-close
|
|
50
|
+
// the overlay the user has since closed and reopened.
|
|
51
|
+
var sessionRef = useRef(0);
|
|
48
52
|
var setOpen = useEventCallback(function (nextOpen) {
|
|
53
|
+
sessionRef.current += 1;
|
|
49
54
|
setMergedOpen(nextOpen);
|
|
50
55
|
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
|
|
51
56
|
});
|
|
52
|
-
// Deferred auto-close after submit.
|
|
53
|
-
//
|
|
57
|
+
// Deferred auto-close after submit. The fire-time session check makes a
|
|
58
|
+
// STALE timer (scheduled in a previous open/close session) a no-op;
|
|
59
|
+
// `cancel` clears any pending close and the timer also auto-cancels on
|
|
54
60
|
// unmount.
|
|
55
|
-
var _useDebouncedCallback = useDebouncedCallback(function () {
|
|
56
|
-
|
|
61
|
+
var _useDebouncedCallback = useDebouncedCallback(function (session) {
|
|
62
|
+
if (session === sessionRef.current) setOpen(false);
|
|
57
63
|
}, submitTimeout),
|
|
58
64
|
scheduleClose = _useDebouncedCallback.run,
|
|
59
65
|
cancelScheduledClose = _useDebouncedCallback.cancel;
|
|
66
|
+
// Any open-state transition — including CONTROLLED `open` prop flips that
|
|
67
|
+
// bypass setOpen — starts a new session and discards a pending close.
|
|
68
|
+
useEffect(function () {
|
|
69
|
+
sessionRef.current += 1;
|
|
70
|
+
cancelScheduledClose();
|
|
71
|
+
}, [mergedOpen, cancelScheduledClose]);
|
|
60
72
|
var handleShow = useEventCallback(function () {
|
|
61
73
|
setOpen(true);
|
|
62
74
|
});
|
|
@@ -64,21 +76,28 @@ export function useOverlayForm(options, onFinish) {
|
|
|
64
76
|
cancelScheduledClose();
|
|
65
77
|
setOpen(false);
|
|
66
78
|
});
|
|
79
|
+
// Propagate the consumer's return value — ProForm gates URL sync on it,
|
|
80
|
+
// and autoClose honors it too: an explicit `false` means the submit FAILED,
|
|
81
|
+
// so the overlay stays open instead of discarding the user's input.
|
|
67
82
|
var handleFinish = useEventCallback(function (values) {
|
|
68
83
|
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
84
|
+
var session, result;
|
|
69
85
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
70
86
|
while (1) switch (_context.prev = _context.next) {
|
|
71
87
|
case 0:
|
|
88
|
+
session = sessionRef.current;
|
|
72
89
|
_context.next = 1;
|
|
73
90
|
return onFinish === null || onFinish === void 0 ? void 0 : onFinish(values);
|
|
74
91
|
case 1:
|
|
75
|
-
|
|
92
|
+
result = _context.sent;
|
|
93
|
+
if (autoClose && result !== false && session === sessionRef.current) {
|
|
76
94
|
if (submitTimeout && submitTimeout > 0) {
|
|
77
|
-
scheduleClose();
|
|
95
|
+
scheduleClose(session);
|
|
78
96
|
} else {
|
|
79
97
|
setOpen(false);
|
|
80
98
|
}
|
|
81
99
|
}
|
|
100
|
+
return _context.abrupt("return", result);
|
|
82
101
|
case 2:
|
|
83
102
|
case "end":
|
|
84
103
|
return _context.stop();
|
|
@@ -106,4 +125,4 @@ export function useOverlayForm(options, onFinish) {
|
|
|
106
125
|
};
|
|
107
126
|
}
|
|
108
127
|
export default useOverlayForm;
|
|
109
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL3VzZU92ZXJsYXlGb3JtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy91c2VPdmVybGF5Rm9ybS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRXZlbnRDYWxsYmFjayIsInVzZU92ZXJsYXlGb3JtIiwib3B0aW9ucyIsIm9uRmluaXNoIiwiX3RoaXMiLCJjb250cm9sbGVkT3BlbiIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJ0cmlnZ2VyIiwiX29wdGlvbnMkYXV0b0Nsb3NlIiwiYXV0b0Nsb3NlIiwic3VibWl0VGltZW91dCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibWVyZ2VkT3BlbiIsInNldE1lcmdlZE9wZW4iLCJzZXRPcGVuIiwibmV4dE9wZW4iLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJzY2hlZHVsZUNsb3NlIiwicnVuIiwiY2FuY2VsU2NoZWR1bGVkQ2xvc2UiLCJjYW5jZWwiLCJoYW5kbGVTaG93IiwiaGFuZGxlSGlkZSIsImhhbmRsZUZpbmlzaCIsInZhbHVlcyIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzdG9wIiwidHJpZ2dlck5vZGUiLCJjbG9uZUVsZW1lbnQiLCJvbkNsaWNrIiwiX2EiLCJvcmlnaW5hbE9u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TUFBQSxHQUFBSixPQUFBO0lBQUEsQ0FDRixFQUFBO0VBQUEsRUFBQztFQUVGO0VBQ0EsSUFBTUssV0FBVyxHQUFHM0IsT0FBTyxnQkFDdkJYLEtBQUssQ0FBQ3VDLFlBQVksQ0FBQzVCLE9BQXNELEVBQUU7SUFDekU2QixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUF5QjtNRDNCeEIsSUFBSUMsRUFBRTtNQzRCWmQsVUFBVSxDQUFBLENBQUU7TUFDWixJQUFNZSxlQUFlLEdBQUcsQ0FBQUQsRUFBQSxHQUFDOUIsT0FBTyxDQUFDZ0MsS0FBaUMsTUFBQSxJQUFBLElBQUFGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRCxPQUFPO01BQzNFLElBQUksT0FBT0UsZUFBZSxLQUFLLFVBQVUsRUFBRTtRQUN4Q0EsZUFBNkMsQ0FBQTNDLEtBQUEsU0FBQTZDLFNBQVEsQ0FBQztNQUN6RDtJQUNGO0VEMUJBLENDMkJELENBQUMsR0FDRixJQUFJO0VBRVIsT0FBTztJQUNMMUIsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZvQixXQUFXLEVBQVhBLFdBQVc7SUFDWFQsWUFBWSxFQUFaQSxZQUFZO0lBQ1pELFVBQVUsRUFBVkEsVUFBVTtJQUNWRCxVQUFVLEVBQVZBO0VEM0JBLENDNEJEO0FBQ0g7QUFFQSxlQUFldkIsY0FBYyIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy91c2VPdmVybGF5Rm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmV4cG9ydCBmdW5jdGlvbiB1c2VPdmVybGF5Rm9ybShvcHRpb25zLCBvbkZpbmlzaCkge1xuICAgIGNvbnN0IHsgb3BlbjogY29udHJvbGxlZE9wZW4sIG9uT3BlbkNoYW5nZSwgdHJpZ2dlciwgYXV0b0Nsb3NlID0gdHJ1ZSwgc3VibWl0VGltZW91dCwgfSA9IG9wdGlvbnM7XG4gICAgLy8gQ29udHJvbGxlZCB3aGVuIGBjb250cm9sbGVkT3BlbmAgaXMgcGFzc2VkLCBpbnRlcm5hbCBvdGhlcndpc2Ug4oCUIGFuZCBhbHdheXNcbiAgICAvLyBmb3J3YXJkIHRoZSBjaGFuZ2UgdG8gYG9uT3BlbkNoYW5nZWAuXG4gICAgY29uc3QgW21lcmdlZE9wZW4sIHNldE1lcmdlZE9wZW5dID0gdXNlQ29udHJvbGxlZFN0YXRlKGZhbHNlLCBjb250cm9sbGVkT3Blbik7XG4gICAgY29uc3Qgc2V0T3BlbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE1lcmdlZE9wZW4obmV4dE9wZW4pO1xuICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dE9wZW4pO1xuICAgIH0pO1xuICAgIC8vIERlZmVycmVkIGF1dG8tY2xvc2UgYWZ0ZXIgc3VibWl0LiBgY2FuY2VsYCBjbGVhcnMgYW55IHBlbmRpbmcgY2xvc2UgKGUuZy5cbiAgICAvLyB3aGVuIHRoZSBvdmVybGF5IGlzIGhpZGRlbiBmaXJzdCk7IHRoZSB0aW1lciBpcyBhbHNvIGF1dG8tY2FuY2VsbGVkIG9uXG4gICAgLy8gdW5tb3VudC5cbiAgICBjb25zdCB7IHJ1bjogc2NoZWR1bGVDbG9zZSwgY2FuY2VsOiBjYW5jZWxTY2hlZHVsZWRDbG9zZSB9ID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKCkgPT4gc2V0T3BlbihmYWxzZSksIHN1Ym1pdFRpbWVvdXQpO1xuICAgIGNvbnN0IGhhbmRsZVNob3cgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0T3Blbih0cnVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVIaWRlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNhbmNlbFNjaGVkdWxlZENsb3NlKCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUZpbmlzaCA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlcykgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB5aWVsZCAob25GaW5pc2ggPT09IG51bGwgfHwgb25GaW5pc2ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRmluaXNoKHZhbHVlcykpO1xuICAgICAgICBpZiAoYXV0b0Nsb3NlKSB7XG4gICAgICAgICAgICBpZiAoc3VibWl0VGltZW91dCAmJiBzdWJtaXRUaW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgICAgIHNjaGVkdWxlQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIENsb25lIHRyaWdnZXIgd2l0aCBvbkNsaWNrIGhhbmRsZXJcbiAgICBjb25zdCB0cmlnZ2VyTm9kZSA9IHRyaWdnZXJcbiAgICAgICAgPyBSZWFjdC5jbG9uZUVsZW1lbnQodHJpZ2dlciwge1xuICAgICAgICAgICAgb25DbGljazogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2hvdygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsT25DbGljayA9IChfYSA9IHRyaWdnZXIucHJvcHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vbkNsaWNrO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxPbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsT25DbGljayguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWVyZ2VkT3BlbixcbiAgICAgICAgdHJpZ2dlck5vZGUsXG4gICAgICAgIGhhbmRsZUZpbmlzaCxcbiAgICAgICAgaGFuZGxlSGlkZSxcbiAgICAgICAgaGFuZGxlU2hvdyxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlT3ZlcmxheUZvcm07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL3VzZU92ZXJsYXlGb3JtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy91c2VPdmVybGF5Rm9ybS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRXZlbnRDYWxsYmFjayIsInVzZU92ZXJsYXlGb3JtIiwib3B0aW9ucyIsIm9uRmluaXNoIiwiX3RoaXMiLCJjb250cm9sbGVkT3BlbiIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJ0cmlnZ2VyIiwiX29wdGlvbnMkYXV0b0Nsb3NlIiwiYXV0b0Nsb3NlIiwic3VibWl0VGltZW91dCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibWVyZ2VkT3BlbiIsInNldE1lcmdlZE9wZW4iLCJzZXNzaW9uUmVmIiwic2V0T3BlbiIsIm5leHRPcGVuIiwiY3VycmVudCIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsInNlc3Npb24iLCJzY2hlZHVsZUNsb3NlIiwicnVuIiwiY2FuY2VsU2NoZWR1bGVkQ2xvc2UiLCJjYW5jZWwiLCJoYW5kbGVTaG93IiwiaGFuZGxlSGlkZSIsImhhbmRsZUZpbmlzaCIsInZhbHVlcyIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzZW50IiwiYWJydXB0Iiwic3RvcCIsInRyaWdnZXJOb2RlIiwiY2xvbmVFbGVtZW50Iiwib25DbGljayIsIl9hIiwib3JpZ2luYWxPbkNsaWNrIiwicHJvcHMiLCJhcmd1bWVudHMiXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFBSUEsQ0FBQ0ksTUFBTSxFQUFFO01BQUVBLE1BQU0sQ0FBQ0MsSUFBSSxHQUFHVCxPQUFPLENBQUNRLE1BQU0sQ0FBQ1QsS0FBSyxDQUFDLEdBQUdELEtBQUssQ0FBQ1UsTUFB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S0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUQsT0FBTztNQUMzRSxJQUFJLE9BQU9FLGVBQWUsS0FBSyxVQUFVLEVBQUU7UUFDeENBLGVBQTZDLENBQUFsRCxLQUFBLFNBQUFvRCxTQUFRLENBQUM7TUFDekQ7SUFDRjtFRDNCQSxDQzRCRCxDQUFDLEdBQ0YsSUFBSTtFQUVSLE9BQU87SUFDTC9CLFVBQVUsRUFBVkEsVUFBVTtJQUNWeUIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hYLFlBQVksRUFBWkEsWUFBWTtJQUNaRCxVQUFVLEVBQVZBLFVBQVU7SUFDVkQsVUFBVSxFQUFWQTtFRDVCQSxDQzZCRDtBQUNIO0FBRUEsZUFBZTFCLGNBQWMiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvdXNlT3ZlcmxheUZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmV4cG9ydCBmdW5jdGlvbiB1c2VPdmVybGF5Rm9ybShvcHRpb25zLCBvbkZpbmlzaCkge1xuICAgIGNvbnN0IHsgb3BlbjogY29udHJvbGxlZE9wZW4sIG9uT3BlbkNoYW5nZSwgdHJpZ2dlciwgYXV0b0Nsb3NlID0gdHJ1ZSwgc3VibWl0VGltZW91dCwgfSA9IG9wdGlvbnM7XG4gICAgLy8gQ29udHJvbGxlZCB3aGVuIGBjb250cm9sbGVkT3BlbmAgaXMgcGFzc2VkLCBpbnRlcm5hbCBvdGhlcndpc2Ug4oCUIGFuZCBhbHdheXNcbiAgICAvLyBmb3J3YXJkIHRoZSBjaGFuZ2UgdG8gYG9uT3BlbkNoYW5nZWAuXG4gICAgY29uc3QgW21lcmdlZE9wZW4sIHNldE1lcmdlZE9wZW5dID0gdXNlQ29udHJvbGxlZFN0YXRlKGZhbHNlLCBjb250cm9sbGVkT3Blbik7XG4gICAgLy8gU2Vzc2lvbiBnZW5lcmF0aW9uIOKAlCBldmVyeSBvcGVuLXN0YXRlIGNoYW5nZSBzdGFydHMgYSBuZXcgc2Vzc2lvbiwgc28gYVxuICAgIC8vIFNUQUxFIGluLWZsaWdodCBzdWJtaXQgKHN0YXJ0ZWQgaW4gYSBwcmV2aW91cyBzZXNzaW9uKSBjYW4ndCBhdXRvLWNsb3NlXG4gICAgLy8gdGhlIG92ZXJsYXkgdGhlIHVzZXIgaGFzIHNpbmNlIGNsb3NlZCBhbmQgcmVvcGVuZWQuXG4gICAgY29uc3Qgc2Vzc2lvblJlZiA9IHVzZVJlZigwKTtcbiAgICBjb25zdCBzZXRPcGVuID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2Vzc2lvblJlZi5jdXJyZW50ICs9IDE7XG4gICAgICAgIHNldE1lcmdlZE9wZW4obmV4dE9wZW4pO1xuICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dE9wZW4pO1xuICAgIH0pO1xuICAgIC8vIERlZmVycmVkIGF1dG8tY2xvc2UgYWZ0ZXIgc3VibWl0LiBUaGUgZmlyZS10aW1lIHNlc3Npb24gY2hlY2sgbWFrZXMgYVxuICAgIC8vIFNUQUxFIHRpbWVyIChzY2hlZHVsZWQgaW4gYSBwcmV2aW91cyBvcGVuL2Nsb3NlIHNlc3Npb24pIGEgbm8tb3A7XG4gICAgLy8gYGNhbmNlbGAgY2xlYXJzIGFueSBwZW5kaW5nIGNsb3NlIGFuZCB0aGUgdGltZXIgYWxzbyBhdXRvLWNhbmNlbHMgb25cbiAgICAvLyB1bm1vdW50LlxuICAgIGNvbnN0IHsgcnVuOiBzY2hlZHVsZUNsb3NlLCBjYW5jZWw6IGNhbmNlbFNjaGVkdWxlZENsb3NlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoc2Vzc2lvbikgPT4ge1xuICAgICAgICBpZiAoc2Vzc2lvbiA9PT0gc2Vzc2lvblJlZi5jdXJyZW50KVxuICAgICAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgc3VibWl0VGltZW91dCk7XG4gICAgLy8gQW55IG9wZW4tc3RhdGUgdHJhbnNpdGlvbiDigJQgaW5jbHVkaW5nIENPTlRST0xMRUQgYG9wZW5gIHByb3AgZmxpcHMgdGhhdFxuICAgIC8vIGJ5cGFzcyBzZXRPcGVuIOKAlCBzdGFydHMgYSBuZXcgc2Vzc2lvbiBhbmQgZGlzY2FyZHMgYSBwZW5kaW5nIGNsb3NlLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNlc3Npb25SZWYuY3VycmVudCArPSAxO1xuICAgICAgICBjYW5jZWxTY2hlZHVsZWRDbG9zZSgpO1xuICAgIH0sIFttZXJnZWRPcGVuLCBjYW5jZWxTY2hlZHVsZWRDbG9zZV0pO1xuICAgIGNvbnN0IGhhbmRsZVNob3cgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0T3Blbih0cnVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVIaWRlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNhbmNlbFNjaGVkdWxlZENsb3NlKCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0pO1xuICAgIC8vIFByb3BhZ2F0ZSB0aGUgY29uc3VtZXIncyByZXR1cm4gdmFsdWUg4oCUIFByb0Zvcm0gZ2F0ZXMgVVJMIHN5bmMgb24gaXQsXG4gICAgLy8gYW5kIGF1dG9DbG9zZSBob25vcnMgaXQgdG9vOiBhbiBleHBsaWNpdCBgZmFsc2VgIG1lYW5zIHRoZSBzdWJtaXQgRkFJTEVELFxuICAgIC8vIHNvIHRoZSBvdmVybGF5IHN0YXlzIG9wZW4gaW5zdGVhZCBvZiBkaXNjYXJkaW5nIHRoZSB1c2VyJ3MgaW5wdXQuXG4gICAgY29uc3QgaGFuZGxlRmluaXNoID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWVzKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBzZXNzaW9uUmVmLmN1cnJlbnQ7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHlpZWxkIChvbkZpbmlzaCA9PT0gbnVsbCB8fCBvbkZpbmlzaCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2godmFsdWVzKSk7XG4gICAgICAgIGlmIChhdXRvQ2xvc2UgJiYgcmVzdWx0ICE9PSBmYWxzZSAmJiBzZXNzaW9uID09PSBzZXNzaW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGlmIChzdWJtaXRUaW1lb3V0ICYmIHN1Ym1pdFRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgc2NoZWR1bGVDbG9zZShzZXNzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSkpO1xuICAgIC8vIENsb25lIHRyaWdnZXIgd2l0aCBvbkNsaWNrIGhhbmRsZXJcbiAgICBjb25zdCB0cmlnZ2VyTm9kZSA9IHRyaWdnZXJcbiAgICAgICAgPyBSZWFjdC5jbG9uZUVsZW1lbnQodHJpZ2dlciwge1xuICAgICAgICAgICAgb25DbGljazogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2hvdygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsT25DbGljayA9IChfYSA9IHRyaWdnZXIucHJvcHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vbkNsaWNrO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxPbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsT25DbGljayguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWVyZ2VkT3BlbixcbiAgICAgICAgdHJpZ2dlck5vZGUsXG4gICAgICAgIGhhbmRsZUZpbmlzaCxcbiAgICAgICAgaGFuZGxlSGlkZSxcbiAgICAgICAgaGFuZGxlU2hvdyxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlT3ZlcmxheUZvcm07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -25,10 +25,7 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.om-component-ui-form-item {
|
|
28
|
-
margin-bottom: var(--om-spacing-
|
|
29
|
-
}
|
|
30
|
-
.om-component-ui-form-item-small {
|
|
31
|
-
margin-bottom: var(--om-spacing-200, 8px);
|
|
28
|
+
margin-bottom: var(--om-spacing-600, 24px);
|
|
32
29
|
}
|
|
33
30
|
|
|
34
31
|
.om-component-ui-form-item-label-wrapper-vertical {
|
|
@@ -54,6 +51,9 @@
|
|
|
54
51
|
.om-component-ui-form-item .om-component-ui-form-item-error {
|
|
55
52
|
margin-top: 8px;
|
|
56
53
|
}
|
|
54
|
+
.om-component-ui-form-item .om-component-ui-form-item-warning {
|
|
55
|
+
margin-top: 8px;
|
|
56
|
+
}
|
|
57
57
|
.om-component-ui-form-item .om-component-ui-form-item-feedback {
|
|
58
58
|
margin-top: 8px;
|
|
59
59
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { ButtonProps } from "../Button";
|
|
3
3
|
import { getNestedValue, setNestedValue } from './core/pathUtils';
|
|
4
|
-
import type { ProFormFieldTransformFn, ProFormValueEnumObj } from './interface';
|
|
4
|
+
import type { ProFormDateFormatter, ProFormFieldTransformFn, ProFormValueEnumObj, ProFormValueType } from './interface';
|
|
5
5
|
export { getNestedValue, setNestedValue };
|
|
6
6
|
export declare function stableSerialize(value: unknown): string;
|
|
7
7
|
export declare function renderTextReadonly(value: unknown): ReactNode;
|
|
@@ -13,6 +13,17 @@ export declare function extractButtonProps(config: false | Partial<ButtonProps>
|
|
|
13
13
|
rest: Partial<ButtonProps>;
|
|
14
14
|
};
|
|
15
15
|
export declare function transformSubmitValues(values: Record<string, unknown>, transforms: Record<string, ProFormFieldTransformFn>): Record<string, unknown>;
|
|
16
|
+
export declare const DATE_FORMAT = "YYYY-MM-DD";
|
|
17
|
+
export declare const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
18
|
+
/** Minimal pattern formatter supporting YYYY / MM / DD / HH / mm / ss tokens. */
|
|
19
|
+
export declare function formatDateByPattern(date: Date, pattern: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Recursively serialize every `Date` in `values` according to `dateFormatter`.
|
|
22
|
+
* With `'string'`, fields registered as `valueType: 'dateTime'` use
|
|
23
|
+
* `YYYY-MM-DD HH:mm:ss`, everything else `YYYY-MM-DD`. Untouched when the
|
|
24
|
+
* formatter is `false`. Non-Date values pass through unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare function formatDateValues(values: Record<string, unknown>, dateFormatter: ProFormDateFormatter, valueTypes: Record<string, ProFormValueType>): Record<string, unknown>;
|
|
16
27
|
export declare function omitNilValues(values: Record<string, unknown>): Record<string, unknown>;
|
|
17
28
|
export interface ValueEnumOption {
|
|
18
29
|
label: string;
|