@tiny-codes/react-easy 1.1.3 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/es/components/ConfirmAction/index.d.ts +97 -28
  3. package/es/components/ConfirmAction/index.js +47 -28
  4. package/es/components/ConfirmAction/index.js.map +1 -1
  5. package/es/components/ConfirmAction/withConfirmAction.d.ts +48 -0
  6. package/es/components/ConfirmAction/withConfirmAction.js +131 -0
  7. package/es/components/ConfirmAction/withConfirmAction.js.map +1 -0
  8. package/es/components/ContextMenu/index.d.ts +42 -0
  9. package/es/components/ContextMenu/index.js +188 -0
  10. package/es/components/ContextMenu/index.js.map +1 -0
  11. package/es/components/ContextMenu/style/index.d.ts +3 -0
  12. package/es/components/ContextMenu/style/index.js +25 -0
  13. package/es/components/ContextMenu/style/index.js.map +1 -0
  14. package/es/components/DeleteConfirmAction/index.d.ts +1 -1
  15. package/es/components/DeleteConfirmAction/index.js +9 -3
  16. package/es/components/DeleteConfirmAction/index.js.map +1 -1
  17. package/es/components/DeleteConfirmAction/withDeleteConfirmAction.d.ts +19 -0
  18. package/es/components/DeleteConfirmAction/withDeleteConfirmAction.js +20 -0
  19. package/es/components/DeleteConfirmAction/withDeleteConfirmAction.js.map +1 -0
  20. package/es/components/EditableText/form.d.ts +12 -6
  21. package/es/components/EditableText/form.js +106 -56
  22. package/es/components/EditableText/form.js.map +1 -1
  23. package/es/components/EditableText/index.d.ts +31 -9
  24. package/es/components/EditableText/index.js +13 -7
  25. package/es/components/EditableText/index.js.map +1 -1
  26. package/es/components/Loading/index.d.ts +2 -2
  27. package/es/components/Loading/index.js +5 -5
  28. package/es/components/Loading/index.js.map +1 -1
  29. package/es/components/ModalAction/index.d.ts +35 -29
  30. package/es/components/ModalAction/index.js +16 -9
  31. package/es/components/ModalAction/index.js.map +1 -1
  32. package/es/components/index.d.ts +5 -1
  33. package/es/components/index.js +3 -0
  34. package/es/components/index.js.map +1 -1
  35. package/lib/components/ConfirmAction/index.d.ts +97 -28
  36. package/lib/components/ConfirmAction/index.js +57 -32
  37. package/lib/components/ConfirmAction/index.js.map +2 -2
  38. package/lib/components/ConfirmAction/withConfirmAction.d.ts +48 -0
  39. package/lib/components/ConfirmAction/withConfirmAction.js +123 -0
  40. package/lib/components/ConfirmAction/withConfirmAction.js.map +7 -0
  41. package/lib/components/ContextMenu/index.d.ts +42 -0
  42. package/lib/components/ContextMenu/index.js +190 -0
  43. package/lib/components/ContextMenu/index.js.map +7 -0
  44. package/lib/components/ContextMenu/style/index.d.ts +3 -0
  45. package/lib/components/ContextMenu/style/index.js +48 -0
  46. package/lib/components/ContextMenu/style/index.js.map +7 -0
  47. package/lib/components/DeleteConfirmAction/index.d.ts +1 -1
  48. package/lib/components/DeleteConfirmAction/index.js +28 -16
  49. package/lib/components/DeleteConfirmAction/index.js.map +2 -2
  50. package/lib/components/DeleteConfirmAction/withDeleteConfirmAction.d.ts +19 -0
  51. package/lib/components/DeleteConfirmAction/withDeleteConfirmAction.js +38 -0
  52. package/lib/components/DeleteConfirmAction/withDeleteConfirmAction.js.map +7 -0
  53. package/lib/components/EditableText/form.d.ts +12 -6
  54. package/lib/components/EditableText/form.js +69 -39
  55. package/lib/components/EditableText/form.js.map +2 -2
  56. package/lib/components/EditableText/index.d.ts +31 -9
  57. package/lib/components/EditableText/index.js +12 -5
  58. package/lib/components/EditableText/index.js.map +2 -2
  59. package/lib/components/Loading/index.d.ts +2 -2
  60. package/lib/components/Loading/index.js +4 -4
  61. package/lib/components/Loading/index.js.map +2 -2
  62. package/lib/components/ModalAction/index.d.ts +35 -29
  63. package/lib/components/ModalAction/index.js +22 -17
  64. package/lib/components/ModalAction/index.js.map +2 -2
  65. package/lib/components/index.d.ts +5 -1
  66. package/lib/components/index.js +9 -0
  67. package/lib/components/index.js.map +2 -2
  68. package/package.json +3 -2
@@ -0,0 +1,20 @@
1
+ import { CloseCircleFilled } from '@ant-design/icons';
2
+ import { withConfirmActionInternal } from "../ConfirmAction/withConfirmAction";
3
+
4
+ /**
5
+ * - **EN:** Wrap a component into a delete confirmation dialog component, supporting custom triggers
6
+ * and default properties
7
+ * - **CN:** 将一个组件包装成一个删除确认弹框组件,支持自定义触发器和默认属性
8
+ *
9
+ * @param actionComponent Custom trigger component | 自定义触发器组件
10
+ * @param defaultProps Default properties of the deletion confirm box | 删除确认弹框的默认属性
11
+ */
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export default function withDeleteConfirmAction(ActionComponent, defaultProps) {
14
+ return withConfirmActionInternal(ActionComponent, {
15
+ confirmType: 'delete',
16
+ danger: true,
17
+ icon: /*#__PURE__*/_jsx(CloseCircleFilled, {})
18
+ }, defaultProps);
19
+ }
20
+ //# sourceMappingURL=withDeleteConfirmAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CloseCircleFilled","withConfirmActionInternal","jsx","_jsx","withDeleteConfirmAction","ActionComponent","defaultProps","confirmType","danger","icon"],"sources":["../../../src/components/DeleteConfirmAction/withDeleteConfirmAction.tsx"],"sourcesContent":["import { CloseCircleFilled } from '@ant-design/icons';\nimport type { ActionCompConstraint, ConfirmActionProps } from '../ConfirmAction';\nimport { type ActionComponentInterface, withConfirmActionInternal } from '../ConfirmAction/withConfirmAction';\n\n/**\n * - **EN:** Wrap a component into a delete confirmation dialog component, supporting custom triggers\n * and default properties\n * - **CN:** 将一个组件包装成一个删除确认弹框组件,支持自定义触发器和默认属性\n *\n * @param actionComponent Custom trigger component | 自定义触发器组件\n * @param defaultProps Default properties of the deletion confirm box | 删除确认弹框的默认属性\n */\nexport default function withDeleteConfirmAction<\n P extends ActionCompConstraint,\n OuterTriggerProp extends object,\n OuterEvent extends keyof OuterTriggerProp,\n Ref extends object,\n>(\n ActionComponent: ActionComponentInterface<P, Ref>,\n defaultProps?:\n | Partial<Omit<P, keyof ActionCompConstraint> & ConfirmActionProps<OuterTriggerProp, OuterEvent>>\n | ((\n actualProps: Omit<P, keyof ActionCompConstraint> & ConfirmActionProps<OuterTriggerProp, OuterEvent>\n ) => Partial<Omit<P, keyof ActionCompConstraint> & ConfirmActionProps<OuterTriggerProp, OuterEvent>>)\n) {\n return withConfirmActionInternal(\n ActionComponent,\n {\n confirmType: 'delete',\n danger: true,\n icon: <CloseCircleFilled />,\n },\n defaultProps\n );\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,mBAAmB;AAErD,SAAwCC,yBAAyB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAAAC,GAAA,IAAAC,IAAA;AAQA,eAAe,SAASC,uBAAuBA,CAM7CC,eAAiD,EACjDC,YAIyG,EACzG;EACA,OAAOL,yBAAyB,CAC9BI,eAAe,EACf;IACEE,WAAW,EAAE,QAAQ;IACrBC,MAAM,EAAE,IAAI;IACZC,IAAI,eAAEN,IAAA,CAACH,iBAAiB,IAAE;EAC5B,CAAC,EACDM,YACF,CAAC;AACH"}
@@ -1,13 +1,13 @@
1
- import type { CSSProperties } from 'react';
1
+ import type { CSSProperties, ReactElement } from 'react';
2
2
  import type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';
3
3
  import type { TextAreaProps } from 'antd/es/input';
4
- export interface EditableFormProps<IT extends 'Input' | 'TextArea'> {
4
+ export interface EditableFormProps<V, IT extends 'Input' | 'TextArea' | RenderInputInterface> {
5
5
  prefixCls?: string;
6
6
  /**
7
7
  * - **EN:** The value to edit
8
8
  * - **CN:** 编辑的值
9
9
  */
10
- value: string | undefined;
10
+ value: V | undefined;
11
11
  /**
12
12
  * - **EN:** Whether the text is required when editing, default is `true`, if `formItemProps.rules`
13
13
  * is set, it will override this value
@@ -37,7 +37,7 @@ export interface EditableFormProps<IT extends 'Input' | 'TextArea'> {
37
37
  * - **EN:** Input component properties
38
38
  * - **CN:** 输入框组件属性
39
39
  */
40
- inputProps?: IT extends 'TextArea' ? TextAreaProps : InputProps;
40
+ inputProps?: IT extends 'TextArea' ? TextAreaProps : IT extends 'Input' ? InputProps : never;
41
41
  /**
42
42
  * - **EN:** Whether to display as a block-level element, with width 100%
43
43
  * - **CN:** 是否显示为块级元素,宽度100%
@@ -133,12 +133,18 @@ export interface EditableFormProps<IT extends 'Input' | 'TextArea'> {
133
133
  * - **EN:** Confirm button click event, supports asynchronous operations
134
134
  * - **CN:** 确认按钮点击事件,支持异步操作
135
135
  */
136
- onOk: (value: string) => void | Promise<void>;
136
+ onOk: (value: V | undefined) => void | Promise<void>;
137
137
  /**
138
138
  * - **EN:** Cancel button click event, supports asynchronous operations
139
139
  * - **CN:** 取消按钮点击事件,支持异步操作
140
140
  */
141
141
  onCancel?: () => void | Promise<void>;
142
142
  }
143
- declare const EditableTextForm: <IT extends "Input" | "TextArea">({ prefixCls, value, required, classNames, styles: styleNames, inputComp, block: blockInProps, formProps, formItemProps, inputProps, actionAlign, submitProps, cancelProps, onOk, onCancel, }: EditableFormProps<IT>) => import("react/jsx-runtime").JSX.Element;
143
+ declare const EditableTextForm: <V, IT extends "Input" | RenderInputInterface | "TextArea">(props: EditableFormProps<V, IT>) => import("react/jsx-runtime").JSX.Element;
144
+ export type RenderInputInterface = <V>(props: RenderInputProps<V>) => ReactElement | null;
145
+ export interface RenderInputProps<V> extends Omit<EditableFormProps<V, 'Input'>, 'inputComp' | 'inputProps' | 'onOk' | 'onCancel'> {
146
+ onChange?: (value: V | undefined) => void;
147
+ submit(): Promise<void>;
148
+ cancel(): Promise<void>;
149
+ }
144
150
  export default EditableTextForm;
@@ -1,4 +1,7 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["render", "value", "onChange"];
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
2
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -21,27 +24,30 @@ import useT from "../../hooks/useT";
21
24
  import { jsx as _jsx } from "react/jsx-runtime";
22
25
  import { jsxs as _jsxs } from "react/jsx-runtime";
23
26
  var defaultInputActionGap = 8;
24
- var EditableTextForm = function EditableTextForm(_ref) {
27
+ // eslint-disable-next-line @typescript-eslint/ban-types
28
+
29
+ // eslint-disable-next-line @typescript-eslint/ban-types
30
+ var EditableTextForm = function EditableTextForm(props) {
25
31
  var _formItemProps$style$, _formItemProps$style, _formItemProps$style2;
26
- var prefixCls = _ref.prefixCls,
27
- value = _ref.value,
28
- _ref$required = _ref.required,
29
- required = _ref$required === void 0 ? true : _ref$required,
30
- classNames = _ref.classNames,
31
- styleNames = _ref.styles,
32
- _ref$inputComp = _ref.inputComp,
33
- inputComp = _ref$inputComp === void 0 ? 'Input' : _ref$inputComp,
34
- _ref$block = _ref.block,
35
- blockInProps = _ref$block === void 0 ? false : _ref$block,
36
- formProps = _ref.formProps,
37
- formItemProps = _ref.formItemProps,
38
- inputProps = _ref.inputProps,
39
- _ref$actionAlign = _ref.actionAlign,
40
- actionAlign = _ref$actionAlign === void 0 ? 'center' : _ref$actionAlign,
41
- submitProps = _ref.submitProps,
42
- cancelProps = _ref.cancelProps,
43
- onOk = _ref.onOk,
44
- onCancel = _ref.onCancel;
32
+ var prefixCls = props.prefixCls,
33
+ value = props.value,
34
+ _props$required = props.required,
35
+ required = _props$required === void 0 ? true : _props$required,
36
+ classNames = props.classNames,
37
+ styleNames = props.styles,
38
+ _props$inputComp = props.inputComp,
39
+ inputComp = _props$inputComp === void 0 ? 'Input' : _props$inputComp,
40
+ _props$block = props.block,
41
+ blockInProps = _props$block === void 0 ? false : _props$block,
42
+ formProps = props.formProps,
43
+ formItemProps = props.formItemProps,
44
+ inputProps = props.inputProps,
45
+ _props$actionAlign = props.actionAlign,
46
+ actionAlign = _props$actionAlign === void 0 ? 'center' : _props$actionAlign,
47
+ submitProps = props.submitProps,
48
+ cancelProps = props.cancelProps,
49
+ onOk = props.onOk,
50
+ onCancel = props.onCancel;
45
51
  var t = useT();
46
52
  var _useContext = useContext(ConfigProvider.ConfigContext),
47
53
  getAntPrefixCls = _useContext.getPrefixCls;
@@ -50,6 +56,7 @@ var EditableTextForm = function EditableTextForm(_ref) {
50
56
  form = _Form$useForm2[0];
51
57
  var wrapperRef = useRef(null);
52
58
  var inputRef = useRef(null);
59
+ var supportAutoScale = inputComp === 'Input' || inputComp === 'TextArea';
53
60
  var detectorRef = useRef(null);
54
61
  var actionRef = useRef(null);
55
62
  var _useState = useState(),
@@ -71,21 +78,23 @@ var EditableTextForm = function EditableTextForm(_ref) {
71
78
  var inputActionGapRef = useRef(0);
72
79
  inputActionGapRef.current = pxToNumber((_formItemProps$style$ = formItemProps === null || formItemProps === void 0 || (_formItemProps$style = formItemProps.style) === null || _formItemProps$style === void 0 ? void 0 : _formItemProps$style.marginRight) !== null && _formItemProps$style$ !== void 0 ? _formItemProps$style$ : formItemProps === null || formItemProps === void 0 || (_formItemProps$style2 = formItemProps.style) === null || _formItemProps$style2 === void 0 ? void 0 : _formItemProps$style2.marginInlineEnd) || defaultInputActionGap;
73
80
  var block = blockInProps || forceBlock;
74
- var InputComp = inputComp === 'TextArea' ? Input.TextArea : Input;
75
81
 
76
82
  // Update form value when `value` prop changes
77
83
  useEffect(function () {
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
85
  form.setFieldsValue({
79
86
  value: value
80
87
  });
81
88
  }, [form, value]);
82
89
 
83
- // Detect the width of the text and dynamically adjust the input width
90
+ // Detect the width of the text and dynamically scale the input width until it reaches the max width of the container.
91
+ // Only built-in Input and TextArea components are supported.
84
92
  useEffect(function () {
85
93
  var _inputRef$current, _actionRef$current;
86
94
  var contentWidth = 0;
87
- if (detectorRef.current && (_inputRef$current = inputRef.current) !== null && _inputRef$current !== void 0 && _inputRef$current.input) {
88
- var inputStyle = getComputedStyle(inputRef.current.input);
95
+ var inputElement = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input;
96
+ if (detectorRef.current && inputElement && supportAutoScale) {
97
+ var inputStyle = getComputedStyle(inputElement);
89
98
  contentWidth = detectorRef.current.offsetWidth + pxToNumber(inputStyle.paddingLeft) + pxToNumber(inputStyle.paddingRight) + pxToNumber(inputStyle.borderLeftWidth) + pxToNumber(inputStyle.borderRightWidth);
90
99
  setInputWidth(contentWidth);
91
100
  }
@@ -93,9 +102,9 @@ var EditableTextForm = function EditableTextForm(_ref) {
93
102
  var gap = inputActionGapRef.current; // Gap between input box and action buttons
94
103
  setVisibility('visible');
95
104
  // Listen to the width of the wrapper container, if the input box width is greater than the wrapper container width,
96
- var observer = new ResizeObserver(function (_ref2) {
97
- var _ref3 = _slicedToArray(_ref2, 1),
98
- entity = _ref3[0];
105
+ var observer = new ResizeObserver(function (_ref) {
106
+ var _ref2 = _slicedToArray(_ref, 1),
107
+ entity = _ref2[0];
99
108
  var wrapperWidth = entity.contentRect.width;
100
109
  // Width deviation greater than 1px is considered overflow, to avoid misjudgment due to pixel density or scaling
101
110
  if (contentWidth + actionWidth + gap - wrapperWidth > 1) {
@@ -110,11 +119,11 @@ var EditableTextForm = function EditableTextForm(_ref) {
110
119
  return function () {
111
120
  return observer.disconnect();
112
121
  };
113
- }, []);
122
+ }, [supportAutoScale]);
114
123
 
115
124
  // Cancel editing
116
125
  var handleCancel = /*#__PURE__*/function () {
117
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
126
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
118
127
  return _regeneratorRuntime().wrap(function _callee$(_context) {
119
128
  while (1) switch (_context.prev = _context.next) {
120
129
  case 0:
@@ -136,17 +145,17 @@ var EditableTextForm = function EditableTextForm(_ref) {
136
145
  }, _callee, null, [[1, 6]]);
137
146
  }));
138
147
  return function handleCancel() {
139
- return _ref4.apply(this, arguments);
148
+ return _ref3.apply(this, arguments);
140
149
  };
141
150
  }();
142
151
  // Pressing the Escape key to cancel editing
143
152
  var handleEscape = /*#__PURE__*/function () {
144
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
153
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
145
154
  var _cancelProps$onClick;
146
155
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
147
156
  while (1) switch (_context2.prev = _context2.next) {
148
157
  case 0:
149
- if (!(e.key === 'Escape')) {
158
+ if (!((inputComp === 'Input' || inputComp === 'TextArea') && e.key === 'Escape')) {
150
159
  _context2.next = 4;
151
160
  break;
152
161
  }
@@ -161,12 +170,12 @@ var EditableTextForm = function EditableTextForm(_ref) {
161
170
  }, _callee2);
162
171
  }));
163
172
  return function handleEscape(_x) {
164
- return _ref5.apply(this, arguments);
173
+ return _ref4.apply(this, arguments);
165
174
  };
166
175
  }();
167
176
  // Submit editing
168
177
  var handleSubmit = /*#__PURE__*/function () {
169
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(values) {
178
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(values) {
170
179
  var value;
171
180
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
172
181
  while (1) switch (_context3.prev = _context3.next) {
@@ -194,9 +203,51 @@ var EditableTextForm = function EditableTextForm(_ref) {
194
203
  }, _callee3, null, [[1, 7, 10, 13]]);
195
204
  }));
196
205
  return function handleSubmit(_x2) {
197
- return _ref6.apply(this, arguments);
206
+ return _ref5.apply(this, arguments);
198
207
  };
199
208
  }();
209
+ var renderInput = function renderInput() {
210
+ if (inputComp === 'Input' || inputComp === 'TextArea') {
211
+ var COMP = inputComp === 'Input' ? Input : Input.TextArea;
212
+ return /*#__PURE__*/_jsx(COMP, _objectSpread(_objectSpread({
213
+ ref: inputRef,
214
+ placeholder: t('components.EditableText.placeholder')
215
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
216
+ }, inputProps), {}, {
217
+ style: _objectSpread({
218
+ width: block ? undefined : inputWidth
219
+ }, inputProps && 'style' in inputProps ? inputProps === null || inputProps === void 0 ? void 0 : inputProps.style : {}),
220
+ onPressEnter: function onPressEnter() {
221
+ if (inputComp === 'Input') {
222
+ form.submit();
223
+ }
224
+ },
225
+ onKeyUp: handleEscape
226
+ }));
227
+ } else {
228
+ return /*#__PURE__*/_jsx(CustomInput, _objectSpread(_objectSpread({}, props), {}, {
229
+ render: inputComp,
230
+ submit: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
231
+ var values;
232
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
233
+ while (1) switch (_context4.prev = _context4.next) {
234
+ case 0:
235
+ _context4.next = 2;
236
+ return form.validateFields();
237
+ case 2:
238
+ values = _context4.sent;
239
+ _context4.next = 5;
240
+ return handleSubmit(values);
241
+ case 5:
242
+ case "end":
243
+ return _context4.stop();
244
+ }
245
+ }, _callee4);
246
+ })),
247
+ cancel: handleCancel
248
+ }));
249
+ }
250
+ };
200
251
  return /*#__PURE__*/_jsx("div", {
201
252
  ref: wrapperRef,
202
253
  className: names("".concat(prefixCls, "-form"), classNames === null || classNames === void 0 ? void 0 : classNames.wrapper),
@@ -226,20 +277,8 @@ var EditableTextForm = function EditableTextForm(_ref) {
226
277
  marginInlineEnd: defaultInputActionGap
227
278
  }, formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.style),
228
279
  name: "value",
229
- children: /*#__PURE__*/_jsx(InputComp, _objectSpread(_objectSpread({
230
- ref: inputRef,
231
- placeholder: t('components.EditableText.placeholder')
232
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
233
- }, inputProps), {}, {
234
- style: _objectSpread({
235
- width: block ? undefined : inputWidth
236
- }, inputProps === null || inputProps === void 0 ? void 0 : inputProps.style),
237
- onPressEnter: function onPressEnter() {
238
- return form.submit();
239
- },
240
- onKeyUp: handleEscape
241
- }))
242
- })), /*#__PURE__*/_jsx("span", {
280
+ children: renderInput()
281
+ })), supportAutoScale && /*#__PURE__*/_jsx("span", {
243
282
  ref: detectorRef,
244
283
  style: {
245
284
  position: 'absolute',
@@ -247,7 +286,7 @@ var EditableTextForm = function EditableTextForm(_ref) {
247
286
  height: 0,
248
287
  whiteSpace: 'pre'
249
288
  },
250
- children: value
289
+ children: value === null || value === void 0 ? void 0 : value.toString()
251
290
  }), /*#__PURE__*/_jsxs(Space, {
252
291
  ref: actionRef,
253
292
  className: "".concat(prefixCls, "-form-btns"),
@@ -278,20 +317,20 @@ var EditableTextForm = function EditableTextForm(_ref) {
278
317
  style: styleNames === null || styleNames === void 0 ? void 0 : styleNames.cancelIcon
279
318
  }),
280
319
  onClick: ( /*#__PURE__*/function () {
281
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(e) {
320
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(e) {
282
321
  var _cancelProps$onClick2;
283
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
284
- while (1) switch (_context4.prev = _context4.next) {
322
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
323
+ while (1) switch (_context5.prev = _context5.next) {
285
324
  case 0:
286
- _context4.next = 2;
325
+ _context5.next = 2;
287
326
  return handleCancel();
288
327
  case 2:
289
328
  cancelProps === null || cancelProps === void 0 || (_cancelProps$onClick2 = cancelProps.onClick) === null || _cancelProps$onClick2 === void 0 || _cancelProps$onClick2.call(cancelProps, e);
290
329
  case 3:
291
330
  case "end":
292
- return _context4.stop();
331
+ return _context5.stop();
293
332
  }
294
- }, _callee4);
333
+ }, _callee5);
295
334
  }));
296
335
  return function (_x3) {
297
336
  return _ref7.apply(this, arguments);
@@ -302,6 +341,17 @@ var EditableTextForm = function EditableTextForm(_ref) {
302
341
  }))
303
342
  });
304
343
  };
344
+ function CustomInput(props) {
345
+ var render = props.render,
346
+ value = props.value,
347
+ onChange = props.onChange,
348
+ restProps = _objectWithoutProperties(props, _excluded);
349
+ var useInput = render;
350
+ return useInput(_objectSpread(_objectSpread({}, restProps), {}, {
351
+ value: value,
352
+ onChange: onChange
353
+ }));
354
+ }
305
355
  function pxToNumber(px) {
306
356
  return px ? parseFloat(px.toString().replace('px', '')) : 0;
307
357
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useContext","useEffect","useRef","useState","Button","ConfigProvider","Form","Input","Space","names","CheckSquareFilled","CloseSquareFilled","useT","jsx","_jsx","jsxs","_jsxs","defaultInputActionGap","EditableTextForm","_ref","_formItemProps$style$","_formItemProps$style","_formItemProps$style2","prefixCls","_ref$required","required","classNames","styleNames","styles","_ref$inputComp","inputComp","_ref$block","block","blockInProps","formProps","formItemProps","inputProps","_ref$actionAlign","actionAlign","submitProps","cancelProps","onOk","onCancel","_useContext","ConfigContext","getAntPrefixCls","getPrefixCls","_Form$useForm","useForm","_Form$useForm2","form","wrapperRef","inputRef","detectorRef","actionRef","_useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","visibility","setVisibility","_useState5","_useState6","forceBlock","setForceBlock","_useState7","_useState8","saving","setSaving","inputActionGapRef","current","pxToNumber","style","marginRight","marginInlineEnd","InputComp","TextArea","setFieldsValue","_inputRef$current","_actionRef$current","contentWidth","input","inputStyle","getComputedStyle","offsetWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","actionWidth","gap","observer","ResizeObserver","_ref2","_ref3","entity","wrapperWidth","contentRect","width","observe","disconnect","handleCancel","_ref4","_callee","_callee$","_context","resetFields","t0","console","handleEscape","_ref5","_callee2","_cancelProps$onClick","_callee2$","_context2","onClick","_x","handleSubmit","_ref6","_callee3","_callee3$","_context3","_x2","ref","className","concat","wrapper","children","_objectSpread","component","layout","initialValues","autoComplete","onFinish","Item","rules","message","_defineProperty","placeholder","onPressEnter","submit","onKeyUp","position","height","whiteSpace","align","size","disabled","loading","title","icon","submitIcon","submitButton","cancelButton","cancelIcon","_ref7","_callee4","_cancelProps$onClick2","_callee4$","_context4","_x3","px","parseFloat","replace"],"sources":["../../../src/components/EditableText/form.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport type React from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';\nimport { Button, ConfigProvider, Form, Input, Space } from 'antd';\nimport type { InputRef, TextAreaProps } from 'antd/es/input';\nimport names from 'classnames';\nimport { CheckSquareFilled, CloseSquareFilled } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\n\nconst defaultInputActionGap = 8;\nexport interface EditableFormProps<IT extends 'Input' | 'TextArea'> {\n prefixCls?: string;\n /**\n * - **EN:** The value to edit\n * - **CN:** 编辑的值\n */\n value: string | undefined;\n /**\n * - **EN:** Whether the text is required when editing, default is `true`, if `formItemProps.rules`\n * is set, it will override this value\n * - **CN:** 编辑文本时是否必填,默认值为`true`,如果设置了`formItemProps.rules`,将会覆盖此值\n *\n * @default true\n */\n required?: boolean;\n /**\n * - **EN:** Form properties\n * - **CN:** 表单属性\n */\n formProps?: FormProps;\n /**\n * - **EN:** Form item properties\n * - **CN:** 表单项属性\n */\n formItemProps?: FormItemProps;\n /**\n * - **EN:** Custom component type for rendering the input box\n * - **CN:** 自定义设置渲染输入框的组件类型\n *\n * @default 'Input'\n */\n inputComp?: IT;\n /**\n * - **EN:** Input component properties\n * - **CN:** 输入框组件属性\n */\n inputProps?: IT extends 'TextArea' ? TextAreaProps : InputProps;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?: boolean;\n /**\n * - **EN:** Semantic class names\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Edit mode parent container class name\n * - **CN:** 编辑模式父容器类名\n */\n wrapper?: string;\n /**\n * - **EN:** Submit button class name\n * - **CN:** 提交按钮类名\n */\n submitButton?: string;\n /**\n * - **EN:** Cancel button class name\n * - **CN:** 取消按钮类名\n */\n cancelButton?: string;\n /**\n * - **EN:** Submit button icon class name\n * - **CN:** 提交按钮图标类名\n */\n submitIcon?: string;\n /**\n * - **EN:** Cancel button icon class name\n * - **CN:** 取消按钮图标类名\n */\n cancelIcon?: string;\n };\n /**\n * - **EN:** Semantic styles\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Edit mode parent container style\n * - **CN:** 编辑模式父容器样式\n */\n wrapper?: CSSProperties;\n /**\n * - **EN:** Submit button style\n * - **CN:** 提交按钮样式\n */\n submitButton?: CSSProperties;\n /**\n * - **EN:** Cancel button style\n * - **CN:** 取消按钮样式\n */\n cancelButton?: CSSProperties;\n /**\n * - **EN:** Submit button icon style\n * - **CN:** 提交按钮图标样式\n */\n submitIcon?: CSSProperties;\n /**\n * - **EN:** Cancel button icon style\n * - **CN:** 取消按钮图标样式\n */\n cancelIcon?: CSSProperties;\n };\n /**\n * **EN:** Submit and cancel action button alignment\n *\n * **CN:** 提交、取消操作按钮的对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n *\n * @default 'center'\n */\n actionAlign?: SpaceProps['align'];\n /**\n * - **EN:** Submit button properties\n * - **CN:** 提交操作按钮属性\n */\n submitProps?: ButtonProps;\n /**\n * - **EN:** Cancel button properties\n * - **CN:** 取消操作按钮属性\n */\n cancelProps?: ButtonProps;\n /**\n * - **EN:** Confirm button click event, supports asynchronous operations\n * - **CN:** 确认按钮点击事件,支持异步操作\n */\n onOk: (value: string) => void | Promise<void>;\n /**\n * - **EN:** Cancel button click event, supports asynchronous operations\n * - **CN:** 取消按钮点击事件,支持异步操作\n */\n onCancel?: () => void | Promise<void>;\n}\n\nconst EditableTextForm = <IT extends 'Input' | 'TextArea'>({\n prefixCls,\n value,\n required = true,\n classNames,\n styles: styleNames,\n inputComp = 'Input' as IT,\n block: blockInProps = false,\n formProps,\n formItemProps,\n inputProps,\n actionAlign = 'center',\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n}: EditableFormProps<IT>) => {\n const t = useT();\n const { getPrefixCls: getAntPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const [form] = Form.useForm<{ value?: string }>();\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<InputRef>(null);\n const detectorRef = useRef<HTMLSpanElement>(null);\n const actionRef = useRef<HTMLDivElement>(null);\n const [inputWidth, setInputWidth] = useState<number>();\n const [visibility, setVisibility] = useState<CSSProperties['visibility']>('hidden');\n const [forceBlock, setForceBlock] = useState(false);\n const [saving, setSaving] = useState(false);\n const inputActionGapRef = useRef<number>(0);\n inputActionGapRef.current =\n pxToNumber(formItemProps?.style?.marginRight ?? formItemProps?.style?.marginInlineEnd) || defaultInputActionGap;\n const block = blockInProps || forceBlock;\n const InputComp = inputComp === 'TextArea' ? Input.TextArea : Input;\n\n // Update form value when `value` prop changes\n useEffect(() => {\n form.setFieldsValue({ value });\n }, [form, value]);\n\n // Detect the width of the text and dynamically adjust the input width\n useEffect(() => {\n let contentWidth = 0;\n if (detectorRef.current && inputRef.current?.input) {\n const inputStyle = getComputedStyle(inputRef.current.input);\n contentWidth =\n detectorRef.current.offsetWidth +\n pxToNumber(inputStyle.paddingLeft) +\n pxToNumber(inputStyle.paddingRight) +\n pxToNumber(inputStyle.borderLeftWidth) +\n pxToNumber(inputStyle.borderRightWidth);\n setInputWidth(contentWidth);\n }\n const actionWidth = actionRef.current?.offsetWidth || 0; // Width of action buttons\n const gap = inputActionGapRef.current; // Gap between input box and action buttons\n setVisibility('visible');\n // Listen to the width of the wrapper container, if the input box width is greater than the wrapper container width,\n const observer = new ResizeObserver(([entity]) => {\n const wrapperWidth = entity.contentRect.width;\n // Width deviation greater than 1px is considered overflow, to avoid misjudgment due to pixel density or scaling\n if (contentWidth + actionWidth + gap - wrapperWidth > 1) {\n setForceBlock(true);\n } else {\n setForceBlock(false);\n }\n });\n if (wrapperRef.current) {\n observer.observe(wrapperRef.current);\n }\n return () => observer.disconnect();\n }, []);\n\n // Cancel editing\n const handleCancel = async () => {\n form.resetFields();\n try {\n await onCancel?.();\n } catch (error) {\n console.error(error);\n }\n };\n // Pressing the Escape key to cancel editing\n const handleEscape: InputProps['onKeyUp'] = async (e) => {\n if (e.key === 'Escape') {\n await handleCancel();\n cancelProps?.onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\n }\n };\n // Submit editing\n const handleSubmit = async (values: { value: string }) => {\n const { value } = values;\n try {\n setSaving(true);\n await onOk?.(value);\n } catch (error) {\n console.error(error);\n } finally {\n setSaving(false);\n }\n };\n\n return (\n <div ref={wrapperRef} className={names(`${prefixCls}-form`, classNames?.wrapper)} style={styleNames?.wrapper}>\n <Form\n component=\"div\" // Do not use form tag to avoid conflicts with external form, which may be nested in other forms\n layout=\"inline\"\n form={form}\n initialValues={{ value }}\n autoComplete=\"off\"\n onFinish={handleSubmit}\n {...formProps}\n style={{\n visibility,\n ...formProps?.style,\n }}\n >\n {/* Input box */}\n <Form.Item\n rules={[{ required, message: t('components.EditableText.requiredMsg') }]}\n {...formItemProps}\n className={names(formItemProps?.className, { [`${getAntPrefixCls('form-item-block')}`]: block })}\n style={{\n marginInlineEnd: defaultInputActionGap,\n ...formItemProps?.style,\n }}\n name=\"value\"\n >\n <InputComp\n ref={inputRef}\n placeholder={t('components.EditableText.placeholder')}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(inputProps as any)}\n style={{\n width: block ? undefined : inputWidth, // Width is 100% in block mode, no need to set width\n ...inputProps?.style,\n }}\n onPressEnter={() => form.submit()}\n onKeyUp={handleEscape}\n />\n </Form.Item>\n {/* Used to calculate the width of the text content */}\n <span\n ref={detectorRef}\n style={{\n position: 'absolute',\n visibility: 'hidden',\n height: 0,\n whiteSpace: 'pre',\n }}\n >\n {value}\n </span>\n\n {/* Action buttons */}\n <Space ref={actionRef} className={`${prefixCls}-form-btns`} align={actionAlign} size={4}>\n <Button\n type=\"text\"\n disabled={saving}\n loading={saving}\n title={t('components.EditableText.save')}\n icon={<CheckSquareFilled className={classNames?.submitIcon} style={styleNames?.submitIcon} />}\n style={styleNames?.submitButton}\n onClick={() => form.submit()}\n {...submitProps}\n className={names(\n `${prefixCls}-form-btn`,\n `${prefixCls}-form-btn-save`,\n classNames?.submitButton,\n submitProps?.className\n )}\n />\n <Button\n type=\"text\"\n style={styleNames?.cancelButton}\n className={names(`${prefixCls}-form-btn`, `${prefixCls}-form-btn-close`, classNames?.cancelButton)}\n title={t('components.EditableText.cancel')}\n icon={<CloseSquareFilled className={classNames?.cancelIcon} style={styleNames?.cancelIcon} />}\n onClick={async (e) => {\n await handleCancel();\n cancelProps?.onClick?.(e);\n }}\n {...cancelProps}\n />\n </Space>\n </Form>\n </div>\n );\n};\n\nfunction pxToNumber(px: string | number | null | undefined) {\n return px ? parseFloat(px.toString().replace('px', '')) : 0;\n}\n\nexport default EditableTextForm;\n"],"mappings":";;;;;;+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,mBAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAhF,GAAA,cAAAiF,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAAhF,GAAA,OAAApB,KAAA,GAAAqG,IAAA,CAAArG,KAAA,WAAAsG,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAvD,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAuD,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAA3B,OAAA,WAAAvC,OAAA,EAAAwD,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAR,MAAAlG,KAAA,IAAA+F,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAnG,KAAA,cAAAmG,OAAAU,GAAA,IAAAd,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAU,GAAA,KAAAX,KAAA,CAAAY,SAAA;AAAA,SAAAC,eAAAC,GAAA,EAAA/G,CAAA,WAAAgH,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAA/G,CAAA,KAAAkH,2BAAA,CAAAH,GAAA,EAAA/G,CAAA,KAAAmH,gBAAA;AAAA,SAAAA,iBAAA,cAAA7D,SAAA;AAAA,SAAA4D,4BAAArH,CAAA,EAAAuH,MAAA,SAAAvH,CAAA,qBAAAA,CAAA,sBAAAwH,iBAAA,CAAAxH,CAAA,EAAAuH,MAAA,OAAAzH,CAAA,GAAAF,MAAA,CAAAC,SAAA,CAAA4H,QAAA,CAAAlG,IAAA,CAAAvB,CAAA,EAAAwF,KAAA,aAAA1F,CAAA,iBAAAE,CAAA,CAAA2E,WAAA,EAAA7E,CAAA,GAAAE,CAAA,CAAA2E,WAAA,CAAAC,IAAA,MAAA9E,CAAA,cAAAA,CAAA,mBAAA4H,KAAA,CAAAC,IAAA,CAAA3H,CAAA,OAAAF,CAAA,+DAAA8H,IAAA,CAAA9H,CAAA,UAAA0H,iBAAA,CAAAxH,CAAA,EAAAuH,MAAA;AAAA,SAAAC,kBAAAN,GAAA,EAAAW,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAX,GAAA,CAAA1C,MAAA,EAAAqD,GAAA,GAAAX,GAAA,CAAA1C,MAAA,WAAArE,CAAA,MAAA2H,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAA1H,CAAA,GAAA0H,GAAA,EAAA1H,CAAA,IAAA2H,IAAA,CAAA3H,CAAA,IAAA+G,GAAA,CAAA/G,CAAA,UAAA2H,IAAA;AAAA,SAAAV,sBAAAzH,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAAgE,IAAA,QAAAlC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA8D,IAAA,CAAA1E,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAmE,MAAA,KAAA/C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,CAAA8D,MAAA,KAAA/C,CAAA,GAAAf,CAAA,CAAA8D,MAAA,IAAA5D,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAA8G,gBAAAD,GAAA,QAAAQ,KAAA,CAAAK,OAAA,CAAAb,GAAA,UAAAA,GAAA;AACA,SAASc,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAE/D,SAASC,MAAM,EAAEC,cAAc,EAAEC,IAAI,EAAEC,KAAK,EAAEC,KAAK,QAAQ,MAAM;AAEjE,OAAOC,KAAK,MAAM,YAAY;AAC9B,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACxE,OAAOC,IAAI;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpC,IAAMC,qBAAqB,GAAG,CAAC;AA6I/B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAgBO;EAAA,IAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA;EAAA,IAf3BC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTrJ,KAAK,GAAAiJ,IAAA,CAALjJ,KAAK;IAAAsJ,aAAA,GAAAL,IAAA,CACLM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IACfE,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACFC,UAAU,GAAAR,IAAA,CAAlBS,MAAM;IAAAC,cAAA,GAAAV,IAAA,CACNW,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,OAAO,GAAAA,cAAA;IAAAE,UAAA,GAAAZ,IAAA,CACnBa,KAAK;IAAEC,YAAY,GAAAF,UAAA,cAAG,KAAK,GAAAA,UAAA;IAC3BG,SAAS,GAAAf,IAAA,CAATe,SAAS;IACTC,aAAa,GAAAhB,IAAA,CAAbgB,aAAa;IACbC,UAAU,GAAAjB,IAAA,CAAViB,UAAU;IAAAC,gBAAA,GAAAlB,IAAA,CACVmB,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,QAAQ,GAAAA,gBAAA;IACtBE,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,WAAW,GAAArB,IAAA,CAAXqB,WAAW;IACXC,IAAI,GAAAtB,IAAA,CAAJsB,IAAI;IACJC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;EAER,IAAMhL,CAAC,GAAGkJ,IAAI,CAAC,CAAC;EAChB,IAAA+B,WAAA,GAA0C3C,UAAU,CAACK,cAAc,CAACuC,aAAa,CAAC;IAA5DC,eAAe,GAAAF,WAAA,CAA7BG,YAAY;EACpB,IAAAC,aAAA,GAAezC,IAAI,CAAC0C,OAAO,CAAqB,CAAC;IAAAC,cAAA,GAAAhE,cAAA,CAAA8D,aAAA;IAA1CG,IAAI,GAAAD,cAAA;EACX,IAAME,UAAU,GAAGjD,MAAM,CAAiB,IAAI,CAAC;EAC/C,IAAMkD,QAAQ,GAAGlD,MAAM,CAAW,IAAI,CAAC;EACvC,IAAMmD,WAAW,GAAGnD,MAAM,CAAkB,IAAI,CAAC;EACjD,IAAMoD,SAAS,GAAGpD,MAAM,CAAiB,IAAI,CAAC;EAC9C,IAAAqD,SAAA,GAAoCpD,QAAQ,CAAS,CAAC;IAAAqD,UAAA,GAAAvE,cAAA,CAAAsE,SAAA;IAA/CE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAAoCxD,QAAQ,CAA8B,QAAQ,CAAC;IAAAyD,UAAA,GAAA3E,cAAA,CAAA0E,UAAA;IAA5EE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAAoC5D,QAAQ,CAAC,KAAK,CAAC;IAAA6D,UAAA,GAAA/E,cAAA,CAAA8E,UAAA;IAA5CE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAA4BhE,QAAQ,CAAC,KAAK,CAAC;IAAAiE,UAAA,GAAAnF,cAAA,CAAAkF,UAAA;IAApCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAMG,iBAAiB,GAAGrE,MAAM,CAAS,CAAC,CAAC;EAC3CqE,iBAAiB,CAACC,OAAO,GACvBC,UAAU,EAAArD,qBAAA,GAACe,aAAa,aAAbA,aAAa,gBAAAd,oBAAA,GAAbc,aAAa,CAAEuC,KAAK,cAAArD,oBAAA,uBAApBA,oBAAA,CAAsBsD,WAAW,cAAAvD,qBAAA,cAAAA,qBAAA,GAAIe,aAAa,aAAbA,aAAa,gBAAAb,qBAAA,GAAba,aAAa,CAAEuC,KAAK,cAAApD,qBAAA,uBAApBA,qBAAA,CAAsBsD,eAAe,CAAC,IAAI3D,qBAAqB;EACjH,IAAMe,KAAK,GAAGC,YAAY,IAAIgC,UAAU;EACxC,IAAMY,SAAS,GAAG/C,SAAS,KAAK,UAAU,GAAGvB,KAAK,CAACuE,QAAQ,GAAGvE,KAAK;;EAEnE;EACAN,SAAS,CAAC,YAAM;IACdiD,IAAI,CAAC6B,cAAc,CAAC;MAAE7M,KAAK,EAALA;IAAM,CAAC,CAAC;EAChC,CAAC,EAAE,CAACgL,IAAI,EAAEhL,KAAK,CAAC,CAAC;;EAEjB;EACA+H,SAAS,CAAC,YAAM;IAAA,IAAA+E,iBAAA,EAAAC,kBAAA;IACd,IAAIC,YAAY,GAAG,CAAC;IACpB,IAAI7B,WAAW,CAACmB,OAAO,KAAAQ,iBAAA,GAAI5B,QAAQ,CAACoB,OAAO,cAAAQ,iBAAA,eAAhBA,iBAAA,CAAkBG,KAAK,EAAE;MAClD,IAAMC,UAAU,GAAGC,gBAAgB,CAACjC,QAAQ,CAACoB,OAAO,CAACW,KAAK,CAAC;MAC3DD,YAAY,GACV7B,WAAW,CAACmB,OAAO,CAACc,WAAW,GAC/Bb,UAAU,CAACW,UAAU,CAACG,WAAW,CAAC,GAClCd,UAAU,CAACW,UAAU,CAACI,YAAY,CAAC,GACnCf,UAAU,CAACW,UAAU,CAACK,eAAe,CAAC,GACtChB,UAAU,CAACW,UAAU,CAACM,gBAAgB,CAAC;MACzChC,aAAa,CAACwB,YAAY,CAAC;IAC7B;IACA,IAAMS,WAAW,GAAG,EAAAV,kBAAA,GAAA3B,SAAS,CAACkB,OAAO,cAAAS,kBAAA,uBAAjBA,kBAAA,CAAmBK,WAAW,KAAI,CAAC,CAAC,CAAC;IACzD,IAAMM,GAAG,GAAGrB,iBAAiB,CAACC,OAAO,CAAC,CAAC;IACvCV,aAAa,CAAC,SAAS,CAAC;IACxB;IACA,IAAM+B,QAAQ,GAAG,IAAIC,cAAc,CAAC,UAAAC,KAAA,EAAc;MAAA,IAAAC,KAAA,GAAA/G,cAAA,CAAA8G,KAAA;QAAZE,MAAM,GAAAD,KAAA;MAC1C,IAAME,YAAY,GAAGD,MAAM,CAACE,WAAW,CAACC,KAAK;MAC7C;MACA,IAAIlB,YAAY,GAAGS,WAAW,GAAGC,GAAG,GAAGM,YAAY,GAAG,CAAC,EAAE;QACvDhC,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAM;QACLA,aAAa,CAAC,KAAK,CAAC;MACtB;IACF,CAAC,CAAC;IACF,IAAIf,UAAU,CAACqB,OAAO,EAAE;MACtBqB,QAAQ,CAACQ,OAAO,CAAClD,UAAU,CAACqB,OAAO,CAAC;IACtC;IACA,OAAO;MAAA,OAAMqB,QAAQ,CAACS,UAAU,CAAC,CAAC;IAAA;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAMC,YAAY;IAAA,IAAAC,KAAA,GAAA/H,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAA4J,QAAA;MAAA,OAAAjP,mBAAA,GAAAuB,IAAA,UAAA2N,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAArJ,IAAA,GAAAqJ,QAAA,CAAAhL,IAAA;UAAA;YACnBuH,IAAI,CAAC0D,WAAW,CAAC,CAAC;YAACD,QAAA,CAAArJ,IAAA;YAAAqJ,QAAA,CAAAhL,IAAA;YAAA,OAEX+G,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;UAAA;YAAAiE,QAAA,CAAAhL,IAAA;YAAA;UAAA;YAAAgL,QAAA,CAAArJ,IAAA;YAAAqJ,QAAA,CAAAE,EAAA,GAAAF,QAAA;YAElBG,OAAO,CAACtI,KAAK,CAAAmI,QAAA,CAAAE,EAAM,CAAC;UAAC;UAAA;YAAA,OAAAF,QAAA,CAAAlJ,IAAA;QAAA;MAAA,GAAAgJ,OAAA;IAAA,CAExB;IAAA,gBAPKF,YAAYA,CAAA;MAAA,OAAAC,KAAA,CAAA1H,KAAA,OAAAD,SAAA;IAAA;EAAA,GAOjB;EACD;EACA,IAAMkI,YAAmC;IAAA,IAAAC,KAAA,GAAAvI,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAAoK,SAAOxP,CAAC;MAAA,IAAAyP,oBAAA;MAAA,OAAA1P,mBAAA,GAAAuB,IAAA,UAAAoO,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA9J,IAAA,GAAA8J,SAAA,CAAAzL,IAAA;UAAA;YAAA,MAC9ClE,CAAC,CAAC6G,GAAG,KAAK,QAAQ;cAAA8I,SAAA,CAAAzL,IAAA;cAAA;YAAA;YAAAyL,SAAA,CAAAzL,IAAA;YAAA,OACd4K,YAAY,CAAC,CAAC;UAAA;YACpB/D,WAAW,aAAXA,WAAW,gBAAA0E,oBAAA,GAAX1E,WAAW,CAAE6E,OAAO,cAAAH,oBAAA,eAApBA,oBAAA,CAAA3N,IAAA,CAAAiJ,WAAW,EAAY/K,CAA6C,CAAC;UAAC;UAAA;YAAA,OAAA2P,SAAA,CAAA3J,IAAA;QAAA;MAAA,GAAAwJ,QAAA;IAAA,CAEzE;IAAA,gBALKF,YAAmCA,CAAAO,EAAA;MAAA,OAAAN,KAAA,CAAAlI,KAAA,OAAAD,SAAA;IAAA;EAAA,GAKxC;EACD;EACA,IAAM0I,YAAY;IAAA,IAAAC,KAAA,GAAA/I,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAA4K,SAAOtN,MAAyB;MAAA,IAAAjC,KAAA;MAAA,OAAAV,mBAAA,GAAAuB,IAAA,UAAA2O,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArK,IAAA,GAAAqK,SAAA,CAAAhM,IAAA;UAAA;YAC3CzD,KAAK,GAAKiC,MAAM,CAAhBjC,KAAK;YAAAyP,SAAA,CAAArK,IAAA;YAEXgH,SAAS,CAAC,IAAI,CAAC;YAACqD,SAAA,CAAAhM,IAAA;YAAA,OACV8G,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAGvK,KAAK,CAAC;UAAA;YAAAyP,SAAA,CAAAhM,IAAA;YAAA;UAAA;YAAAgM,SAAA,CAAArK,IAAA;YAAAqK,SAAA,CAAAd,EAAA,GAAAc,SAAA;YAEnBb,OAAO,CAACtI,KAAK,CAAAmJ,SAAA,CAAAd,EAAM,CAAC;UAAC;YAAAc,SAAA,CAAArK,IAAA;YAErBgH,SAAS,CAAC,KAAK,CAAC;YAAC,OAAAqD,SAAA,CAAA9J,MAAA;UAAA;UAAA;YAAA,OAAA8J,SAAA,CAAAlK,IAAA;QAAA;MAAA,GAAAgK,QAAA;IAAA,CAEpB;IAAA,gBAVKF,YAAYA,CAAAK,GAAA;MAAA,OAAAJ,KAAA,CAAA1I,KAAA,OAAAD,SAAA;IAAA;EAAA,GAUjB;EAED,oBACEiC,IAAA;IAAK+G,GAAG,EAAE1E,UAAW;IAAC2E,SAAS,EAAErH,KAAK,IAAAsH,MAAA,CAAIxG,SAAS,YAASG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsG,OAAO,CAAE;IAACtD,KAAK,EAAE/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqG,OAAQ;IAAAC,QAAA,eAC3GjH,KAAA,CAACV,IAAI,EAAA4H,aAAA,CAAAA,aAAA;MACHC,SAAS,EAAC,KAAK,CAAC;MAAA;MAChBC,MAAM,EAAC,QAAQ;MACflF,IAAI,EAAEA,IAAK;MACXmF,aAAa,EAAE;QAAEnQ,KAAK,EAALA;MAAM,CAAE;MACzBoQ,YAAY,EAAC,KAAK;MAClBC,QAAQ,EAAEhB;IAAa,GACnBrF,SAAS;MACbwC,KAAK,EAAAwD,aAAA;QACHrE,UAAU,EAAVA;MAAU,GACP3B,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEwC,KAAK,CACnB;MAAAuD,QAAA,gBAGFnH,IAAA,CAACR,IAAI,CAACkI,IAAI,EAAAN,aAAA,CAAAA,aAAA;QACRO,KAAK,EAAE,CAAC;UAAEhH,QAAQ,EAARA,QAAQ;UAAEiH,OAAO,EAAEhR,CAAC,CAAC,qCAAqC;QAAE,CAAC;MAAE,GACrEyK,aAAa;QACjB2F,SAAS,EAAErH,KAAK,CAAC0B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE2F,SAAS,EAAAa,eAAA,QAAAZ,MAAA,CAAQlF,eAAe,CAAC,iBAAiB,CAAC,GAAKb,KAAK,CAAE,CAAE;QACjG0C,KAAK,EAAAwD,aAAA;UACHtD,eAAe,EAAE3D;QAAqB,GACnCkB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEuC,KAAK,CACvB;QACF9H,IAAI,EAAC,OAAO;QAAAqL,QAAA,eAEZnH,IAAA,CAAC+D,SAAS,EAAAqD,aAAA,CAAAA,aAAA;UACRL,GAAG,EAAEzE,QAAS;UACdwF,WAAW,EAAElR,CAAC,CAAC,qCAAqC;UACpD;QAAA,GACK0K,UAAU;UACfsC,KAAK,EAAAwD,aAAA;YACH9B,KAAK,EAAEpE,KAAK,GAAGhD,SAAS,GAAGyE;UAAU,GAClCrB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsC,KAAK,CACpB;UACFmE,YAAY,EAAE,SAAAA,aAAA;YAAA,OAAM3F,IAAI,CAAC4F,MAAM,CAAC,CAAC;UAAA,CAAC;UAClCC,OAAO,EAAEhC;QAAa,EACvB;MAAC,EACO,CAAC,eAEZjG,IAAA;QACE+G,GAAG,EAAExE,WAAY;QACjBqB,KAAK,EAAE;UACLsE,QAAQ,EAAE,UAAU;UACpBnF,UAAU,EAAE,QAAQ;UACpBoF,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE;QACd,CAAE;QAAAjB,QAAA,EAED/P;MAAK,CACF,CAAC,eAGP8I,KAAA,CAACR,KAAK;QAACqH,GAAG,EAAEvE,SAAU;QAACwE,SAAS,KAAAC,MAAA,CAAKxG,SAAS,eAAa;QAAC4H,KAAK,EAAE7G,WAAY;QAAC8G,IAAI,EAAE,CAAE;QAAAnB,QAAA,gBACtFnH,IAAA,CAACV,MAAM,EAAA8H,aAAA,CAAAA,aAAA;UACL7O,IAAI,EAAC,MAAM;UACXgQ,QAAQ,EAAEhF,MAAO;UACjBiF,OAAO,EAAEjF,MAAO;UAChBkF,KAAK,EAAE7R,CAAC,CAAC,8BAA8B,CAAE;UACzC8R,IAAI,eAAE1I,IAAA,CAACJ,iBAAiB;YAACoH,SAAS,EAAEpG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE+H,UAAW;YAAC/E,KAAK,EAAE/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE8H;UAAW,CAAE,CAAE;UAC9F/E,KAAK,EAAE/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE+H,YAAa;UAChCrC,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMnE,IAAI,CAAC4F,MAAM,CAAC,CAAC;UAAA;QAAC,GACzBvG,WAAW;UACfuF,SAAS,EAAErH,KAAK,IAAAsH,MAAA,CACXxG,SAAS,mBAAAwG,MAAA,CACTxG,SAAS,qBACZG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgI,YAAY,EACxBnH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuF,SACf;QAAE,EACH,CAAC,eACFhH,IAAA,CAACV,MAAM,EAAA8H,aAAA;UACL7O,IAAI,EAAC,MAAM;UACXqL,KAAK,EAAE/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgI,YAAa;UAChC7B,SAAS,EAAErH,KAAK,IAAAsH,MAAA,CAAIxG,SAAS,mBAAAwG,MAAA,CAAgBxG,SAAS,sBAAmBG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiI,YAAY,CAAE;UACnGJ,KAAK,EAAE7R,CAAC,CAAC,gCAAgC,CAAE;UAC3C8R,IAAI,eAAE1I,IAAA,CAACH,iBAAiB;YAACmH,SAAS,EAAEpG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEkI,UAAW;YAAClF,KAAK,EAAE/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiI;UAAW,CAAE,CAAE;UAC9FvC,OAAO;YAAA,IAAAwC,KAAA,GAAApL,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAE,SAAAiN,SAAOrS,CAAC;cAAA,IAAAsS,qBAAA;cAAA,OAAAvS,mBAAA,GAAAuB,IAAA,UAAAiR,UAAAC,SAAA;gBAAA,kBAAAA,SAAA,CAAA3M,IAAA,GAAA2M,SAAA,CAAAtO,IAAA;kBAAA;oBAAAsO,SAAA,CAAAtO,IAAA;oBAAA,OACT4K,YAAY,CAAC,CAAC;kBAAA;oBACpB/D,WAAW,aAAXA,WAAW,gBAAAuH,qBAAA,GAAXvH,WAAW,CAAE6E,OAAO,cAAA0C,qBAAA,eAApBA,qBAAA,CAAAxQ,IAAA,CAAAiJ,WAAW,EAAY/K,CAAC,CAAC;kBAAC;kBAAA;oBAAA,OAAAwS,SAAA,CAAAxM,IAAA;gBAAA;cAAA,GAAAqM,QAAA;YAAA,CAC3B;YAAA,iBAAAI,GAAA;cAAA,OAAAL,KAAA,CAAA/K,KAAA,OAAAD,SAAA;YAAA;UAAA;QAAC,GACE2D,WAAW,CAChB,CAAC;MAAA,CACG,CAAC;IAAA,EACJ;EAAC,CACJ,CAAC;AAEV,CAAC;AAED,SAASiC,UAAUA,CAAC0F,EAAsC,EAAE;EAC1D,OAAOA,EAAE,GAAGC,UAAU,CAACD,EAAE,CAAC1K,QAAQ,CAAC,CAAC,CAAC4K,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;AAC7D;AAEA,eAAenJ,gBAAgB"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useContext","useEffect","useRef","useState","Button","ConfigProvider","Form","Input","Space","names","CheckSquareFilled","CloseSquareFilled","useT","jsx","_jsx","jsxs","_jsxs","defaultInputActionGap","EditableTextForm","props","_formItemProps$style$","_formItemProps$style","_formItemProps$style2","prefixCls","_props$required","required","classNames","styleNames","styles","_props$inputComp","inputComp","_props$block","block","blockInProps","formProps","formItemProps","inputProps","_props$actionAlign","actionAlign","submitProps","cancelProps","onOk","onCancel","_useContext","ConfigContext","getAntPrefixCls","getPrefixCls","_Form$useForm","useForm","_Form$useForm2","form","wrapperRef","inputRef","supportAutoScale","detectorRef","actionRef","_useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","visibility","setVisibility","_useState5","_useState6","forceBlock","setForceBlock","_useState7","_useState8","saving","setSaving","inputActionGapRef","current","pxToNumber","style","marginRight","marginInlineEnd","setFieldsValue","_inputRef$current","_actionRef$current","contentWidth","inputElement","input","inputStyle","getComputedStyle","offsetWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","actionWidth","gap","observer","ResizeObserver","_ref","_ref2","entity","wrapperWidth","contentRect","width","observe","disconnect","handleCancel","_ref3","_callee","_callee$","_context","resetFields","t0","console","handleEscape","_ref4","_callee2","_cancelProps$onClick","_callee2$","_context2","onClick","_x","handleSubmit","_ref5","_callee3","_callee3$","_context3","_x2","renderInput","COMP","TextArea","_objectSpread","ref","placeholder","onPressEnter","submit","onKeyUp","CustomInput","render","_callee4","_callee4$","_context4","validateFields","cancel","className","concat","wrapper","children","component","layout","initialValues","autoComplete","onFinish","Item","rules","message","_defineProperty","position","height","whiteSpace","align","size","disabled","loading","title","icon","submitIcon","submitButton","cancelButton","cancelIcon","_ref7","_callee5","_cancelProps$onClick2","_callee5$","_context5","_x3","onChange","restProps","_objectWithoutProperties","_excluded","useInput","px","parseFloat","replace"],"sources":["../../../src/components/EditableText/form.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';\nimport { Button, ConfigProvider, Form, Input, Space } from 'antd';\nimport type { InputRef, TextAreaProps } from 'antd/es/input';\nimport names from 'classnames';\nimport { CheckSquareFilled, CloseSquareFilled } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\n\nconst defaultInputActionGap = 8;\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport interface EditableFormProps<V, IT extends 'Input' | 'TextArea' | RenderInputInterface> {\n prefixCls?: string;\n /**\n * - **EN:** The value to edit\n * - **CN:** 编辑的值\n */\n value: V | undefined;\n /**\n * - **EN:** Whether the text is required when editing, default is `true`, if `formItemProps.rules`\n * is set, it will override this value\n * - **CN:** 编辑文本时是否必填,默认值为`true`,如果设置了`formItemProps.rules`,将会覆盖此值\n *\n * @default true\n */\n required?: boolean;\n /**\n * - **EN:** Form properties\n * - **CN:** 表单属性\n */\n formProps?: FormProps;\n /**\n * - **EN:** Form item properties\n * - **CN:** 表单项属性\n */\n formItemProps?: FormItemProps;\n /**\n * - **EN:** Custom component type for rendering the input box\n * - **CN:** 自定义设置渲染输入框的组件类型\n *\n * @default 'Input'\n */\n inputComp?: IT;\n /**\n * - **EN:** Input component properties\n * - **CN:** 输入框组件属性\n */\n inputProps?: IT extends 'TextArea' ? TextAreaProps : IT extends 'Input' ? InputProps : never;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?: boolean;\n /**\n * - **EN:** Semantic class names\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Edit mode parent container class name\n * - **CN:** 编辑模式父容器类名\n */\n wrapper?: string;\n /**\n * - **EN:** Submit button class name\n * - **CN:** 提交按钮类名\n */\n submitButton?: string;\n /**\n * - **EN:** Cancel button class name\n * - **CN:** 取消按钮类名\n */\n cancelButton?: string;\n /**\n * - **EN:** Submit button icon class name\n * - **CN:** 提交按钮图标类名\n */\n submitIcon?: string;\n /**\n * - **EN:** Cancel button icon class name\n * - **CN:** 取消按钮图标类名\n */\n cancelIcon?: string;\n };\n /**\n * - **EN:** Semantic styles\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Edit mode parent container style\n * - **CN:** 编辑模式父容器样式\n */\n wrapper?: CSSProperties;\n /**\n * - **EN:** Submit button style\n * - **CN:** 提交按钮样式\n */\n submitButton?: CSSProperties;\n /**\n * - **EN:** Cancel button style\n * - **CN:** 取消按钮样式\n */\n cancelButton?: CSSProperties;\n /**\n * - **EN:** Submit button icon style\n * - **CN:** 提交按钮图标样式\n */\n submitIcon?: CSSProperties;\n /**\n * - **EN:** Cancel button icon style\n * - **CN:** 取消按钮图标样式\n */\n cancelIcon?: CSSProperties;\n };\n /**\n * **EN:** Submit and cancel action button alignment\n *\n * **CN:** 提交、取消操作按钮的对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n *\n * @default 'center'\n */\n actionAlign?: SpaceProps['align'];\n /**\n * - **EN:** Submit button properties\n * - **CN:** 提交操作按钮属性\n */\n submitProps?: ButtonProps;\n /**\n * - **EN:** Cancel button properties\n * - **CN:** 取消操作按钮属性\n */\n cancelProps?: ButtonProps;\n /**\n * - **EN:** Confirm button click event, supports asynchronous operations\n * - **CN:** 确认按钮点击事件,支持异步操作\n */\n onOk: (value: V | undefined) => void | Promise<void>;\n /**\n * - **EN:** Cancel button click event, supports asynchronous operations\n * - **CN:** 取消按钮点击事件,支持异步操作\n */\n onCancel?: () => void | Promise<void>;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst EditableTextForm = <V, IT extends 'Input' | 'TextArea' | RenderInputInterface>(\n props: EditableFormProps<V, IT>\n) => {\n const {\n prefixCls,\n value,\n required = true,\n classNames,\n styles: styleNames,\n inputComp = 'Input' as IT,\n block: blockInProps = false,\n formProps,\n formItemProps,\n inputProps,\n actionAlign = 'center',\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n } = props;\n const t = useT();\n const { getPrefixCls: getAntPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const [form] = Form.useForm<{ value: V | undefined }>();\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<InputRef>(null);\n const supportAutoScale = inputComp === 'Input' || inputComp === 'TextArea';\n const detectorRef = useRef<HTMLSpanElement>(null);\n const actionRef = useRef<HTMLDivElement>(null);\n const [inputWidth, setInputWidth] = useState<number>();\n const [visibility, setVisibility] = useState<CSSProperties['visibility']>('hidden');\n const [forceBlock, setForceBlock] = useState(false);\n const [saving, setSaving] = useState(false);\n const inputActionGapRef = useRef<number>(0);\n inputActionGapRef.current =\n pxToNumber(formItemProps?.style?.marginRight ?? formItemProps?.style?.marginInlineEnd) || defaultInputActionGap;\n const block = blockInProps || forceBlock;\n\n // Update form value when `value` prop changes\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n form.setFieldsValue({ value: value as any });\n }, [form, value]);\n\n // Detect the width of the text and dynamically scale the input width until it reaches the max width of the container.\n // Only built-in Input and TextArea components are supported.\n useEffect(() => {\n let contentWidth = 0;\n const inputElement = inputRef.current?.input;\n if (detectorRef.current && inputElement && supportAutoScale) {\n const inputStyle = getComputedStyle(inputElement);\n contentWidth =\n detectorRef.current.offsetWidth +\n pxToNumber(inputStyle.paddingLeft) +\n pxToNumber(inputStyle.paddingRight) +\n pxToNumber(inputStyle.borderLeftWidth) +\n pxToNumber(inputStyle.borderRightWidth);\n setInputWidth(contentWidth);\n }\n const actionWidth = actionRef.current?.offsetWidth || 0; // Width of action buttons\n const gap = inputActionGapRef.current; // Gap between input box and action buttons\n setVisibility('visible');\n // Listen to the width of the wrapper container, if the input box width is greater than the wrapper container width,\n const observer = new ResizeObserver(([entity]) => {\n const wrapperWidth = entity.contentRect.width;\n // Width deviation greater than 1px is considered overflow, to avoid misjudgment due to pixel density or scaling\n if (contentWidth + actionWidth + gap - wrapperWidth > 1) {\n setForceBlock(true);\n } else {\n setForceBlock(false);\n }\n });\n if (wrapperRef.current) {\n observer.observe(wrapperRef.current);\n }\n return () => observer.disconnect();\n }, [supportAutoScale]);\n\n // Cancel editing\n const handleCancel = async () => {\n form.resetFields();\n try {\n await onCancel?.();\n } catch (error) {\n console.error(error);\n }\n };\n // Pressing the Escape key to cancel editing\n const handleEscape: InputProps['onKeyUp'] = async (e) => {\n if ((inputComp === 'Input' || inputComp === 'TextArea') && e.key === 'Escape') {\n await handleCancel();\n cancelProps?.onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\n }\n };\n // Submit editing\n const handleSubmit = async (values: { value: V | undefined }) => {\n const { value } = values;\n try {\n setSaving(true);\n await onOk?.(value);\n } catch (error) {\n console.error(error);\n } finally {\n setSaving(false);\n }\n };\n\n const renderInput = () => {\n if (inputComp === 'Input' || inputComp === 'TextArea') {\n const COMP = inputComp === 'Input' ? Input : Input.TextArea;\n return (\n <COMP\n ref={inputRef}\n placeholder={t('components.EditableText.placeholder')}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(inputProps as any)}\n style={{\n width: block ? undefined : inputWidth, // Width is 100% in block mode, no need to set width\n ...(inputProps && 'style' in inputProps ? inputProps?.style : {}),\n }}\n onPressEnter={() => {\n if (inputComp === 'Input') {\n form.submit();\n }\n }}\n onKeyUp={handleEscape}\n />\n );\n } else {\n return (\n <CustomInput<V>\n {...props}\n render={inputComp}\n submit={async () => {\n const values = await form.validateFields();\n await handleSubmit(values);\n }}\n cancel={handleCancel}\n />\n );\n }\n };\n\n return (\n <div ref={wrapperRef} className={names(`${prefixCls}-form`, classNames?.wrapper)} style={styleNames?.wrapper}>\n <Form\n component=\"div\" // Do not use form tag to avoid conflicts with external form, which may be nested in other forms\n layout=\"inline\"\n form={form}\n initialValues={{ value }}\n autoComplete=\"off\"\n onFinish={handleSubmit}\n {...formProps}\n style={{\n visibility,\n ...formProps?.style,\n }}\n >\n {/* Input box */}\n <Form.Item\n rules={[{ required, message: t('components.EditableText.requiredMsg') }]}\n {...formItemProps}\n className={names(formItemProps?.className, { [`${getAntPrefixCls('form-item-block')}`]: block })}\n style={{\n marginInlineEnd: defaultInputActionGap,\n ...formItemProps?.style,\n }}\n name=\"value\"\n >\n {renderInput()}\n </Form.Item>\n {/* Used to calculate the width of the text content */}\n {supportAutoScale && (\n <span\n ref={detectorRef}\n style={{\n position: 'absolute',\n visibility: 'hidden',\n height: 0,\n whiteSpace: 'pre',\n }}\n >\n {value?.toString()}\n </span>\n )}\n\n {/* Action buttons */}\n <Space ref={actionRef} className={`${prefixCls}-form-btns`} align={actionAlign} size={4}>\n <Button\n type=\"text\"\n disabled={saving}\n loading={saving}\n title={t('components.EditableText.save')}\n icon={<CheckSquareFilled className={classNames?.submitIcon} style={styleNames?.submitIcon} />}\n style={styleNames?.submitButton}\n onClick={() => form.submit()}\n {...submitProps}\n className={names(\n `${prefixCls}-form-btn`,\n `${prefixCls}-form-btn-save`,\n classNames?.submitButton,\n submitProps?.className\n )}\n />\n <Button\n type=\"text\"\n style={styleNames?.cancelButton}\n className={names(`${prefixCls}-form-btn`, `${prefixCls}-form-btn-close`, classNames?.cancelButton)}\n title={t('components.EditableText.cancel')}\n icon={<CloseSquareFilled className={classNames?.cancelIcon} style={styleNames?.cancelIcon} />}\n onClick={async (e) => {\n await handleCancel();\n cancelProps?.onClick?.(e);\n }}\n {...cancelProps}\n />\n </Space>\n </Form>\n </div>\n );\n};\n\nfunction CustomInput<V>(\n props: RenderInputProps<V> & {\n render: RenderInputInterface;\n }\n): ReactElement | null {\n const { render, value, onChange, ...restProps } = props;\n const useInput = render;\n return useInput({ ...restProps, value, onChange });\n}\n\nfunction pxToNumber(px: string | number | null | undefined) {\n return px ? parseFloat(px.toString().replace('px', '')) : 0;\n}\n\nexport type RenderInputInterface = <V>(props: RenderInputProps<V>) => ReactElement | null;\nexport interface RenderInputProps<V>\n extends Omit<EditableFormProps<V, 'Input'>, 'inputComp' | 'inputProps' | 'onOk' | 'onCancel'> {\n onChange?: (value: V | undefined) => void;\n submit(): Promise<void>;\n cancel(): Promise<void>;\n}\n\nexport default EditableTextForm;\n"],"mappings":"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"}