@kne/react-form-antd 2.0.12 → 2.0.13-alpha.0.3
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/LICENSE +21 -21
- package/README.md +35 -35
- package/dist/index.js +34 -29
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +33 -28
- package/dist/index.modern.js.map +1 -1
- package/package.json +89 -89
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 kne-union
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019 kne-union
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# react-form
|
|
2
|
-
用于表单验证的react组件
|
|
3
|
-
|
|
4
|
-
### demo
|
|
5
|
-
``
|
|
6
|
-
|
|
7
|
-
<Avatar editor={{open: true, width: 250, height: 250, borderRadius: 1}}
|
|
8
|
-
beforeUpload={(file) => {}}/>
|
|
9
|
-
|
|
10
|
-
<Input realtime debounce={1000} name="name" label="姓名" rule="REQ TEL EXIT"/>
|
|
11
|
-
{isShow ? <Input name="rname" label="姓名哈哈哈" rule="REQ TEL EXIT"/> : null}
|
|
12
|
-
<Select name="select" label="选项" rule="REQ">
|
|
13
|
-
<Select.Option value="1">选项一</Select.Option>
|
|
14
|
-
<Select.Option value="2">选项二</Select.Option>
|
|
15
|
-
<Select.Option value="3">选项三</Select.Option>
|
|
16
|
-
</Select>
|
|
17
|
-
<DatePicker name="date" label="日期" rule="REQ" format="" YYYY-MM-DD/>
|
|
18
|
-
<RadioGroup name="radio" label="单选" rule="REQ">
|
|
19
|
-
<RadioGroup.Radio value="1">选项一</RadioGroup.Radio>
|
|
20
|
-
<RadioGroup.Radio value="2">选项二</RadioGroup.Radio>
|
|
21
|
-
<RadioGroup.Radio value="3">选项三</RadioGroup.Radio>
|
|
22
|
-
</RadioGroup>
|
|
23
|
-
|
|
24
|
-
``
|
|
25
|
-
|
|
26
|
-
# Change Log
|
|
27
|
-
|
|
28
|
-
20200430 v0.1.13 添加了SelectFetch和SelectSearch控件
|
|
29
|
-
20200430 v0.1.14 修改Select组件样式的默认宽度为100%
|
|
30
|
-
20200508 v0.1.16 删除field last-child 样式 margin-bottom 为0
|
|
31
|
-
20200509 v0.1.17 修改导出文件结构,增加fields导出所有field组件
|
|
32
|
-
20200522 v0.1.20 添加头像上传组件
|
|
33
|
-
20200525 v0.1.22 更新@kne/react-fetch以支持setData方法
|
|
34
|
-
20200529 v0.1.23 添加头像上传组件field Avatar
|
|
35
|
-
20200603 v0.1.24 修正Switch的值转换bug
|
|
1
|
+
# react-form
|
|
2
|
+
用于表单验证的react组件
|
|
3
|
+
|
|
4
|
+
### demo
|
|
5
|
+
``
|
|
6
|
+
|
|
7
|
+
<Avatar editor={{open: true, width: 250, height: 250, borderRadius: 1}}
|
|
8
|
+
beforeUpload={(file) => {}}/>
|
|
9
|
+
|
|
10
|
+
<Input realtime debounce={1000} name="name" label="姓名" rule="REQ TEL EXIT"/>
|
|
11
|
+
{isShow ? <Input name="rname" label="姓名哈哈哈" rule="REQ TEL EXIT"/> : null}
|
|
12
|
+
<Select name="select" label="选项" rule="REQ">
|
|
13
|
+
<Select.Option value="1">选项一</Select.Option>
|
|
14
|
+
<Select.Option value="2">选项二</Select.Option>
|
|
15
|
+
<Select.Option value="3">选项三</Select.Option>
|
|
16
|
+
</Select>
|
|
17
|
+
<DatePicker name="date" label="日期" rule="REQ" format="" YYYY-MM-DD/>
|
|
18
|
+
<RadioGroup name="radio" label="单选" rule="REQ">
|
|
19
|
+
<RadioGroup.Radio value="1">选项一</RadioGroup.Radio>
|
|
20
|
+
<RadioGroup.Radio value="2">选项二</RadioGroup.Radio>
|
|
21
|
+
<RadioGroup.Radio value="3">选项三</RadioGroup.Radio>
|
|
22
|
+
</RadioGroup>
|
|
23
|
+
|
|
24
|
+
``
|
|
25
|
+
|
|
26
|
+
# Change Log
|
|
27
|
+
|
|
28
|
+
20200430 v0.1.13 添加了SelectFetch和SelectSearch控件
|
|
29
|
+
20200430 v0.1.14 修改Select组件样式的默认宽度为100%
|
|
30
|
+
20200508 v0.1.16 删除field last-child 样式 margin-bottom 为0
|
|
31
|
+
20200509 v0.1.17 修改导出文件结构,增加fields导出所有field组件
|
|
32
|
+
20200522 v0.1.20 添加头像上传组件
|
|
33
|
+
20200525 v0.1.22 更新@kne/react-fetch以支持setData方法
|
|
34
|
+
20200529 v0.1.23 添加头像上传组件field Avatar
|
|
35
|
+
20200603 v0.1.24 修正Switch的值转换bug
|
package/dist/index.js
CHANGED
|
@@ -176,7 +176,10 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
176
176
|
size = _ref.fileSize,
|
|
177
177
|
children = _ref.children,
|
|
178
178
|
onError = _ref.onError,
|
|
179
|
-
|
|
179
|
+
openEditor = _ref.openEditor,
|
|
180
|
+
targetEditor = _ref.editor,
|
|
181
|
+
previewImg = _ref.previewImg,
|
|
182
|
+
previewRender = _ref.previewRender;
|
|
180
183
|
|
|
181
184
|
var _useState = React.useState(false),
|
|
182
185
|
loading = _useState[0],
|
|
@@ -187,13 +190,24 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
187
190
|
setImageUrl = _useState2[1];
|
|
188
191
|
|
|
189
192
|
var editorRef = React.useRef();
|
|
193
|
+
var defaultEditor = {
|
|
194
|
+
open: false,
|
|
195
|
+
width: 250,
|
|
196
|
+
height: 250,
|
|
197
|
+
borderRadius: 1,
|
|
198
|
+
text: "确定",
|
|
199
|
+
title: "裁剪图片"
|
|
200
|
+
};
|
|
201
|
+
var editor = merge__default["default"]({}, defaultEditor, {
|
|
202
|
+
open: openEditor
|
|
203
|
+
}, targetEditor);
|
|
190
204
|
React.useEffect(function () {
|
|
191
205
|
setImageUrl(imageUrl);
|
|
192
206
|
}, [imageUrl]);
|
|
193
207
|
/* base64转blob */
|
|
194
208
|
|
|
195
209
|
var dataURLtoBlob = function dataURLtoBlob(dataurl) {
|
|
196
|
-
var arr = dataurl.split(
|
|
210
|
+
var arr = dataurl.split(","); // 注意base64的最后面中括号和引号是不转译的
|
|
197
211
|
|
|
198
212
|
var _arr = arr[1].substring(0, arr[1].length - 2);
|
|
199
213
|
|
|
@@ -229,19 +243,17 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
229
243
|
setScale = _useState4[1];
|
|
230
244
|
|
|
231
245
|
var onChange = function onChange(v) {
|
|
232
|
-
console.log(v);
|
|
233
246
|
setRotate(v);
|
|
234
247
|
};
|
|
235
248
|
|
|
236
249
|
var onChangeScale = function onChangeScale(v) {
|
|
237
|
-
console.log(v);
|
|
238
250
|
setScale(v);
|
|
239
251
|
};
|
|
240
252
|
|
|
241
253
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
242
254
|
style: {
|
|
243
|
-
|
|
244
|
-
|
|
255
|
+
"width": editor.width,
|
|
256
|
+
"margin": "auto"
|
|
245
257
|
}
|
|
246
258
|
}, /*#__PURE__*/React__default["default"].createElement(AvatarEditor__default["default"], {
|
|
247
259
|
ref: editorRef,
|
|
@@ -287,13 +299,12 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
287
299
|
var beforeUpload = function beforeUpload(file) {
|
|
288
300
|
try {
|
|
289
301
|
return Promise.resolve(new Promise(function (resolve, reject) {
|
|
290
|
-
console.log('文件', file);
|
|
291
302
|
var isJpgOrPng = imageType.indexOf(file.type) > -1;
|
|
292
303
|
|
|
293
304
|
if (!isJpgOrPng) {
|
|
294
305
|
onError("\u53EA\u652F\u6301" + imageType.map(function (str) {
|
|
295
|
-
return str.replace(
|
|
296
|
-
}).join(
|
|
306
|
+
return str.replace("image/", "");
|
|
307
|
+
}).join("/") + "\u683C\u5F0F\u56FE\u7247!", "typeError", {
|
|
297
308
|
type: imageType,
|
|
298
309
|
fileType: file.type
|
|
299
310
|
});
|
|
@@ -304,7 +315,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
304
315
|
var isLt = file.size / 1024 / 1024 < size;
|
|
305
316
|
|
|
306
317
|
if (!isLt) {
|
|
307
|
-
onError("\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7" + size + "MB!",
|
|
318
|
+
onError("\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7" + size + "MB!", "sizeError", {
|
|
308
319
|
size: size,
|
|
309
320
|
fileSize: file.size
|
|
310
321
|
});
|
|
@@ -317,15 +328,14 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
317
328
|
|
|
318
329
|
if (editor.open) {
|
|
319
330
|
antd.Modal.success({
|
|
320
|
-
|
|
321
|
-
icon:
|
|
331
|
+
title: editor.title,
|
|
332
|
+
icon: "",
|
|
322
333
|
width: editor.width * 2,
|
|
323
334
|
content: /*#__PURE__*/React__default["default"].createElement(AvatarEditorBox, {
|
|
324
335
|
file: file
|
|
325
336
|
}),
|
|
326
337
|
okText: editor.text,
|
|
327
338
|
onOk: function onOk(close) {
|
|
328
|
-
// console.log(editorRef.current);
|
|
329
339
|
var base64 = editorRef.current.getImage().toDataURL();
|
|
330
340
|
setImageUrl(base64);
|
|
331
341
|
var blob = dataURLtoBlob(base64);
|
|
@@ -333,14 +343,13 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
333
343
|
type: file.type
|
|
334
344
|
});
|
|
335
345
|
onBeforeUpload && onBeforeUpload(files);
|
|
336
|
-
resolve(files);
|
|
337
|
-
|
|
346
|
+
resolve(files);
|
|
338
347
|
close();
|
|
339
348
|
}
|
|
340
349
|
});
|
|
341
350
|
} else {
|
|
342
351
|
onBeforeUpload && onBeforeUpload(file);
|
|
343
|
-
resolve(file);
|
|
352
|
+
resolve(file);
|
|
344
353
|
}
|
|
345
354
|
}));
|
|
346
355
|
} catch (e) {
|
|
@@ -349,31 +358,31 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
349
358
|
};
|
|
350
359
|
|
|
351
360
|
var onChange = function onChange(info) {
|
|
352
|
-
if (info.file.status ===
|
|
361
|
+
if (info.file.status === "uploading") {
|
|
353
362
|
setLoading(true);
|
|
354
363
|
return;
|
|
355
364
|
}
|
|
356
365
|
|
|
357
|
-
if (info.file.status ===
|
|
366
|
+
if (info.file.status === "done") {
|
|
358
367
|
setLoading(false);
|
|
359
368
|
var response = (transformResponse || avatarParams.transformResponse)(info.file.response);
|
|
360
369
|
|
|
361
370
|
if (response.code === 200) {
|
|
362
371
|
propsChange(response.results);
|
|
363
372
|
} else {
|
|
364
|
-
onError(response.msg,
|
|
373
|
+
onError(response.msg, "xhrError", response);
|
|
365
374
|
}
|
|
366
375
|
}
|
|
367
376
|
};
|
|
368
377
|
|
|
369
378
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Upload, {
|
|
370
|
-
className: classnames__default["default"](className,
|
|
379
|
+
className: classnames__default["default"](className, "react-form-avatar"),
|
|
371
380
|
listType: "picture-card",
|
|
372
381
|
showUploadList: false,
|
|
373
382
|
action: action || avatarParams.action,
|
|
374
383
|
beforeUpload: beforeUpload,
|
|
375
384
|
onChange: onChange
|
|
376
|
-
}, showImageUrl ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
385
|
+
}, previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
377
386
|
className: "preview"
|
|
378
387
|
}, /*#__PURE__*/React__default["default"].createElement("img", {
|
|
379
388
|
src: showImageUrl,
|
|
@@ -382,7 +391,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
382
391
|
};
|
|
383
392
|
|
|
384
393
|
_Avatar.defaultProps = {
|
|
385
|
-
imageType: [
|
|
394
|
+
imageType: ["image/jpeg", "image/png"],
|
|
386
395
|
fileSize: 2,
|
|
387
396
|
// 单位MB
|
|
388
397
|
children: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -391,13 +400,9 @@ _Avatar.defaultProps = {
|
|
|
391
400
|
onError: function onError(info) {
|
|
392
401
|
return antd.message.error(info);
|
|
393
402
|
},
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
height: 250,
|
|
398
|
-
borderRadius: 1,
|
|
399
|
-
text: '剪切'
|
|
400
|
-
}
|
|
403
|
+
previewImg: true,
|
|
404
|
+
previewRender: null,
|
|
405
|
+
openEditor: false
|
|
401
406
|
};
|
|
402
407
|
|
|
403
408
|
var AvatarInput = function AvatarInput(props) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactForm from '@kne/react-form';\nimport {widget} from '@kne/react-form-helper';\nimport './assets/index.scss';\n\nexport * from '@kne/react-form';\nexport {hooks, widget, utils} from '@kne/react-form-helper';\n\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\n\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\n let computedClass = 'react-form';\n if (type !== 'default') {\n computedClass += `--${type}`;\n }\n\n if (size !== 'middle') {\n computedClass += `--${size}`;\n }\n\n const maxLabel = <MaxLabelProvider>\n {children}\n </MaxLabelProvider>;\n\n return (\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}>\n <SizeProvider value={{size}}>\n <ReactForm {...props} ref={ref}>\n {cache ? <FormStore cache={cache}/> : null}\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\n {enterSubmit ? <EnterSubmit>\n {maxLabel}\n </EnterSubmit> : maxLabel}\n </ReactForm>\n </SizeProvider>\n </form>\n );\n});\n\nForm.defaultProps = {\n type: 'default',\n size: 'middle',\n scrollToError: true,\n enterSubmit: false,\n scrollProps: {\n block: 'center'\n }\n};\n\nForm.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\n size: PropTypes.oneOf(['small', 'middle', 'large']),\n enterSubmit: PropTypes.bool,\n scrollToError: PropTypes.bool,\n scrollProps: PropTypes.shape({\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\n behavior: PropTypes.oneOf(['auto', 'smooth']),\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\n })\n};\n\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\nimport merge from 'lodash/merge';\nimport get from \"lodash/get\";\n\nexport const globalParams = {\n rules: {},\n field: {\n upload: {\n displayFilename: 'filename',\n action: '/open-api/upload_static_file/interview-manager',\n transformResponse: (response) => {\n const targetPath = get(response, 'results[0].targetPath');\n const filename = get(response, 'results[0].filename');\n return {\n code: response.code,\n msg: response.msg,\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\n };\n }\n },\n avatar: {\n transformResponse: (response) => {\n return {\n code: response.code,\n results: response.results,\n msg: response.msg\n }\n },\n action: '/upload'\n }\n }\n};\n\nexport default (props) => {\n merge(globalParams, props);\n presetRules(globalParams.rules);\n};\n","import React, {useState, useRef, useEffect} from 'react';\nimport {Upload, message, Modal, Slider, Row, Col, Space} from 'antd';\nimport {globalParams} from '../preset';\nimport classnames from 'classnames';\nimport {\n PlusOutlined,\n LoadingOutlined\n} from '@ant-design/icons';\nimport AvatarEditor from \"react-avatar-editor\";\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\nconst avatarParams = globalParams.field.avatar;\n\n\nconst _Avatar = ({className, value: imageUrl, onChange: propsChange, beforeUpload: onBeforeUpload, transformResponse, action, imageType, fileSize: size, children, onError, editor}) => {\n const [loading, setLoading] = useState(false);\n const [showImageUrl, setImageUrl] = useState(imageUrl);\n const editorRef = useRef();\n\n useEffect(() => {\n setImageUrl(imageUrl)\n }, [imageUrl])\n\n /* base64转blob */\n const dataURLtoBlob = (dataurl) => {\n let arr = dataurl.split(',');\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime\n });\n };\n\n\n\n const AvatarEditorBox = ({file})=>{\n const [rotate, setRotate] = useState(0);\n const [scale, setScale] = useState(()=>{\n if(editor.width===editor.height){\n return 1\n }\n return 0.35\n });\n\n const onChange = (v)=>{\n console.log(v);\n setRotate(v);\n }\n const onChangeScale = (v)=>{\n console.log(v);\n setScale(v);\n }\n return (\n <div style={{'width': editor.width,\n 'margin': 'auto'}}>\n <AvatarEditor\n ref={editorRef}\n image={file}\n width={editor.width}\n height={editor.height}\n border={1}\n borderRadius={editor.borderRadius}\n color={[24, 144, 255, 1]} // RGBA\n scale={scale}\n rotate={rotate}\n />\n <Row gutter={4}>\n <Col span={4}><span>旋转</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\n </Col>\n </Row>\n <Row gutter={4}>\n <Col span={4}><span>放大</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3} onChange={onChangeScale} />\n </Col>\n </Row>\n </div>\n )\n }\n\n const uploadButton = (\n <div>\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\n {children}\n </div>\n );\n\n const beforeUpload = async (file) => {\n return new Promise((resolve, reject) => {\n\n console.log('文件', file);\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\n if (!isJpgOrPng) {\n onError(`只支持${imageType.map((str) => str.replace('image/', '')).join('/')}格式图片!`, 'typeError', {\n type: imageType,\n fileType: file.type\n });\n reject();\n return false;\n }\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`图片不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n reject();\n return false;\n }\n\n /*剪切图像*/\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\n if (editor.open) {\n Modal.success({\n // title: '剪切图像',\n icon: '',\n width: editor.width*2,\n content: <AvatarEditorBox file={file}/>,\n okText: editor.text,\n onOk: (close) => {\n // console.log(editorRef.current);\n let base64 = editorRef.current.getImage().toDataURL();\n setImageUrl(base64);\n let blob = dataURLtoBlob(base64);\n const files = new window.File(\n [blob],\n file.name,\n { type: file.type }\n );\n onBeforeUpload && onBeforeUpload(files);\n resolve(files);\n // console.log(files);\n close();\n }\n })\n } else {\n onBeforeUpload && onBeforeUpload(file);\n resolve(file);\n // return onBeforeUpload && onBeforeUpload(file);\n }\n })\n\n };\n\n const onChange = (info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n return;\n }\n if (info.file.status === 'done') {\n setLoading(false);\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\n if (response.code === 200) {\n propsChange(response.results);\n } else {\n onError(response.msg, 'xhrError', response);\n }\n }\n };\n\n return (\n <>\n <Upload className={classnames(className, 'react-form-avatar')} listType=\"picture-card\"\n showUploadList={false}\n action={action || avatarParams.action}\n beforeUpload={beforeUpload} onChange={onChange}>\n {showImageUrl ? <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\n </Upload>\n </>\n );\n};\n\n_Avatar.defaultProps = {\n imageType: ['image/jpeg', 'image/png'],\n fileSize: 2, // 单位MB\n children: <div className=\"ant-upload-text\">点击上传</div>,\n onError: (info) => message.error(info),\n editor: {open: false, width: 250, height: 250, borderRadius: 1, text: '剪切'}\n};\n\nconst AvatarInput = (props) => {\n const render = useOnChange(props);\n return render(_Avatar);\n};\n\nAvatarInput.field = _Avatar;\n\nexport default AvatarInput;\n","import {Cascader as _Cascader} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(props);\n return render(_Cascader);\n};\n\nexport default Cascader;\n\n","import {Checkbox as _Checkbox} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\n\nconst WithCheckbox = withChecked(_Checkbox);\n\nconst Checkbox = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithCheckbox);\n};\n\nexport default Checkbox;\n","import {Checkbox} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _CheckboxGroup = Checkbox.Group;\n\nconst CheckboxGroup = (props) => {\n const render = useOnChange(props);\n return render(_CheckboxGroup);\n};\n\nCheckboxGroup.Checkbox = Checkbox;\n\nexport default CheckboxGroup;\n","import {DatePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\n\nconst _DatePicker = (props) => {\n const render = useOnChange(props);\n return render(DatePicker);\n};\n\nconst _MonthPicker = (props) => {\n const render = useOnChange(props);\n return render(MonthPicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n // if(props.selectToday){\n // return render(RangePickerToday);\n // }\n return render(RangePicker);\n};\n\nconst _WeekPicker = (props) => {\n const render = useOnChange(props);\n return render(WeekPicker);\n};\n\n_DatePicker.MonthPicker = _MonthPicker;\n_DatePicker.RangePicker = _RangePicker;\n_DatePicker.WeekPicker = _WeekPicker;\n\n\nexport default _DatePicker;\n","import {Button, DatePicker} from 'antd';\nimport React, {useRef, useEffect, useMemo} from 'react'\nimport moment from 'moment'\nimport get from 'lodash/get'\nimport useControlValue from '@kne/use-control-value'\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst PickerToday = (props) => {\n // console.log('>>>>data', data);\n const [data, onChange] = useControlValue(props);\n const ref_d = useRef();\n const newData = useMemo(() => {\n // console.log('......', data);\n const s = get(data, 0, '');\n const d = get(data, 1, '');\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\n return {\n start: s ? moment(s) : '',\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\n showZj: d === '至今',\n placeholder: p\n }\n }, [data]);\n\n const startChange = (v) => {\n // 比较日期大小\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\n onChange([newData.end, v]);\n return\n }\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\n };\n\n const endChange = (v) => {\n if (newData.start && v && v.isBefore(newData.start)) {\n onChange([v, newData.start]);\n return\n }\n onChange([newData.start, v || '']);\n };\n\n const foot = () => {\n return (\n <Button onClick={(v) => {\n ref_d.current.blur();\n onChange([newData.start || '', '至今']);\n }}>\n 至今\n </Button>\n )\n }\n return (\n <div style={{display: 'flex'}}>\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\n onChange={startChange}/>\n <div className={'svg_box'}>\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\n fill=\"currentColor\" aria-hidden=\"true\">\n <path\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\n </svg>\n </div>\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\n <DatePicker {...{\n showToday: false,\n ...props,\n placeholder: newData.showZj ? '' : newData.placeholder[1],\n value: newData.end\n }} ref={ref_d}\n onChange={endChange} renderExtraFooter={foot}/>\n </div>\n </div>\n );\n}\n\n\nconst RangePickerToday = (props) => {\n const render = useOnChange(props);\n return render(PickerToday);\n};\n\nRangePickerToday.field = PickerToday;\n\nexport default RangePickerToday;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputField = (props) => {\n const render = useDecorator(props);\n return render(Input);\n};\n\nInputField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputField;\n","import {InputNumber} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputNumberField = (props) => {\n const render = useDecorator(props);\n return render(InputNumber);\n};\n\nInputNumberField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputNumberField;\n","import React, {useCallback} from 'react';\nimport {Radio} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst RadioGroup = ({onChange, ...props})=>{\n const handler = useCallback((e) => {\n onChange && onChange(e.target.value);\n }, [onChange]);\n return <Radio.Group {...props} onChange={handler}/>\n};\n\nconst _RadioGroup = (props) => {\n const render = useOnChange(props);\n return render(RadioGroup);\n};\n\n_RadioGroup.Radio = Radio;\n\nexport default _RadioGroup;\n","import {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _Select = (props) => {\n const render = useOnChange(props);\n return render(Select);\n};\n\n_Select.Option = Select.Option;\n_Select.OptGroup = Select.OptGroup;\n\nexport default _Select;\n","import React from 'react';\nimport {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\nimport {withFetch} from '@kne/react-fetch';\n\nconst {useOnChange} = hooks;\n\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\n});\n\nconst SelectFetch = (props) => {\n const render = useOnChange(props);\n return render(_SelectFetch);\n};\n\nSelectFetch.Option = Select.Option;\nSelectFetch.OptGroup = Select.OptGroup;\n\nexport default SelectFetch;\n","import {Switch as _Switch} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\nconst WithSwitch = withChecked(_Switch);\n\nconst Switch = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nexport default Switch;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst TextArea = (props) => {\n const render = useDecorator(props);\n return render(Input.TextArea);\n};\n\nexport default TextArea;\n","import {TimePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {RangePicker} = TimePicker;\n\nconst _TimePicker = (props) => {\n const render = useOnChange(props);\n return render(TimePicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n return render(RangePicker);\n};\n\n_TimePicker.RangePicker = _RangePicker;\n\nexport default _TimePicker;\n","import {TreeSelect} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _TreeSelect = (props) => {\n const render = useOnChange(props);\n return render(TreeSelect);\n};\n\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\n\nexport default _TreeSelect;\n","import React, {useState, useMemo} from 'react';\nimport {Upload, message, Button} from 'antd';\nimport {\n UploadOutlined\n} from '@ant-design/icons';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport uniqueId from 'lodash/uniqueId';\nimport {hooks} from '@kne/react-form-helper';\nimport {globalParams} from \"../preset\";\n\nconst {useOnChange} = hooks;\n\nconst {Dragger} = Upload;\n\nconst uploadParams = globalParams.field.upload;\n\nconst computedFilename = (path, displayFilename = 'filename') => {\n const strArray = path.split('?');\n if (strArray[1]) {\n const query = {};\n strArray[1].split('&').forEach((str) => {\n const [key, value] = str.split('=');\n query[key] = value;\n });\n if (query[displayFilename]) {\n return decodeURIComponent(query[displayFilename]);\n }\n }\n return path;\n};\n\nconst valueToList = (value, displayFilename) => {\n if (!value) {\n return [];\n }\n return value.map((item) => {\n return {\n uid: uniqueId(),\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\n status: 'done',\n response: {code: 200, results: item}\n }\n });\n};\n\nconst listToValue = (value) => {\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\n};\n\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\n displayFilename = displayFilename || uploadParams.displayFilename;\n const [list, setList] = useState([]);\n const valueList = useMemo(() => {\n return valueToList(value.filter((url) => {\n return !list.find((file) => get(file, 'response.results') === url);\n }), displayFilename).concat(list);\n }, [list, value, displayFilename]);\n const changeHandler = (info) => {\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\n return;\n }\n if (info.fileList.length > maxLength) {\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\n return;\n }\n if (info.file.status === 'done') {\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\n if (info.file.response.code === 200) {\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\n onUploadComplete(info);\n } else {\n info.file.status = 'error';\n onError(info.file.response.msg, 'xhrError', info.file.response);\n }\n }\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\n onChange(listToValue(done));\n }\n setList(info.fileList);\n };\n const beforeUploadHandler = (file) => {\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n return false;\n }\n if (maxLength === 1) {\n onChange([]);\n setList([]);\n }\n return onBeforeUpload && onBeforeUpload(file);\n };\n const UploadComponent = drag ? Dragger : Upload;\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\n {children}\n </UploadComponent>\n};\n\n_Upload.defaultProps = {\n value: [],\n accept: [],\n fileSize: 2,\n maxLength: 1,\n children: <Button><UploadOutlined/>点击上传</Button>,\n onError: (info) => message.error(info),\n onUploadComplete: () => {\n }\n};\n\nconst UploadInput = (props) => {\n const render = useOnChange(props);\n return render(_Upload);\n};\n\n\nUploadInput.field = _Upload;\n\nexport default UploadInput;\n","import React from 'react';\nimport {useSubmit} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst SubmitButton = (props) => {\n const {isPass, isLoading,...submitProps} = useSubmit(props);\n return (\n <Button loading={isLoading} {...submitProps} {...props}/>\n );\n};\n\nexport default SubmitButton;\n","import React from 'react';\nimport {useReset} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst ResetButton = (props) => {\n const resetProps = useReset();\n return (\n <Button {...resetProps} {...props}/>\n );\n};\n\nexport default ResetButton;\n","import React from 'react';\nimport {Modal, Space} from 'antd';\nimport SubmitButton from './SubmitButton';\nimport ResetButton from './ResetButton';\nimport Form from \"./Form\";\nimport {withFetch} from '@kne/react-fetch';\nimport classnames from 'classnames';\n\nconst FetchForm = withFetch(Form);\n\nconst CommonModal = ({formProps, footer, children}) => {\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\n return <TargetForm {...formProps}>\n <div className=\"ant-modal-body\">\n {children}\n </div>\n <div className=\"ant-modal-footer\">\n {footer ? footer : <Space>\n <ResetButton>重置</ResetButton>\n <SubmitButton type=\"primary\">确定</SubmitButton>\n </Space>}\n </div>\n </TargetForm>;\n};\n\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\n </Modal>\n};\n\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\n ...props,\n title: title ? <div className=\"ant-modal-header\">\n <div className=\"ant-modal-title\">{title}</div>\n </div> : null,\n className: classnames(className, 'react-form-modal'),\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\n icon: null,\n footer: null\n});\n\nexport default FormModal;\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","widget","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","React","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","imageUrl","value","propsChange","onChange","onBeforeUpload","beforeUpload","imageType","fileSize","onError","editor","useState","loading","setLoading","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","width","height","scale","setScale","v","console","log","onChangeScale","AvatarEditor","borderRadius","Row","Col","Slider","uploadButton","LoadingOutlined","PlusOutlined","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","DatePicker","RangePicker","WeekPicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","useControlValue","data","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","Button","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","Radio","_RadioGroup","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","groupBy","done","beforeUploadHandler","UploadComponent","UploadOutlined","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","Space","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAOA,aAAP,GAAgFC,sBAAhF,CAAOD,aAAP;AAAA,IAAsBE,WAAtB,GAAgFD,sBAAhF,CAAsBC,WAAtB;AAAA,IAAmCC,SAAnC,GAAgFF,sBAAhF,CAAmCE,SAAnC;AAAA,IAA8CC,gBAA9C,GAAgFH,sBAAhF,CAA8CG,gBAA9C;AAAA,IAAgEC,YAAhE,GAAgFJ,sBAAhF,CAAgEI,YAAhE;IAEMC,IAAI,GAAGC,gBAAU,CAAC,gBAA8FC,GAA9F,EAAsG;AAAA,MAApGC,SAAoG,QAApGA,SAAoG;AAAA,MAAzFC,KAAyF,QAAzFA,KAAyF;AAAA,MAAlFC,WAAkF,QAAlFA,WAAkF;AAAA,MAArEC,aAAqE,QAArEA,aAAqE;AAAA,MAAtDC,WAAsD,QAAtDA,WAAsD;AAAA,MAAzCC,IAAyC,QAAzCA,IAAyC;AAAA,MAAnCC,IAAmC,QAAnCA,IAAmC;AAAA,MAA7BC,QAA6B,QAA7BA,QAA6B;AAAA,MAAhBC,KAAgB;;AAC1H,MAAIC,aAAa,GAAG,YAApB;;AACA,MAAIJ,IAAI,KAAK,SAAb,EAAwB;AACpBI,IAAAA,aAAa,WAASJ,IAAtB;AACH;;AAED,MAAIC,IAAI,KAAK,QAAb,EAAuB;AACnBG,IAAAA,aAAa,WAASH,IAAtB;AACH;;AAED,MAAMI,QAAQ,gBAAGC,wCAAC,gBAAD,QACZJ,QADY,CAAjB;AAIA,sBACII;AAAM,IAAA,SAAS,EAAEC,8BAAU,CAACH,aAAD,EAAgBT,SAAhB,CAA3B;AAAuD,IAAA,QAAQ,EAAE,kBAACa,CAAD,EAAO;AACpEA,MAAAA,CAAC,CAACC,cAAF;AACAD,MAAAA,CAAC,CAACE,eAAF;AACH;AAHD,kBAIIJ,wCAAC,YAAD;AAAc,IAAA,KAAK,EAAE;AAACL,MAAAA,IAAI,EAAJA;AAAD;AAArB,kBACIK,wCAACK,6BAAD,eAAeR,KAAf;AAAsB,IAAA,GAAG,EAAET;AAA3B,MACKE,KAAK,gBAAGU,wCAAC,SAAD;AAAW,IAAA,KAAK,EAAEV;AAAlB,IAAH,GAAgC,IAD1C,EAEKE,aAAa,gBAAGQ,wCAAC,aAAD;AAAe,IAAA,WAAW,EAAEP;AAA5B,IAAH,GAAgD,IAFlE,EAGKF,WAAW,gBAAGS,wCAAC,WAAD,QACVD,QADU,CAAH,GAEKA,QALrB,CADJ,CAJJ,CADJ;AAgBH,CA9BsB;AAgCvBb,IAAI,CAACoB,YAAL,GAAoB;AAChBZ,EAAAA,IAAI,EAAE,SADU;AAEhBC,EAAAA,IAAI,EAAE,QAFU;AAGhBH,EAAAA,aAAa,EAAE,IAHC;AAIhBD,EAAAA,WAAW,EAAE,KAJG;AAKhBE,EAAAA,WAAW,EAAE;AACTc,IAAAA,KAAK,EAAE;AADE;AALG,CAApB;AAUArB,IAAI,CAACsB,SAAL,GAAiB;AACbnB,EAAAA,SAAS,EAAEoB,6BAAS,CAACC,MADR;AAEbhB,EAAAA,IAAI,EAAEe,6BAAS,CAACE,KAAV,CAAgB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,CAAhB,CAFO;AAGbhB,EAAAA,IAAI,EAAEc,6BAAS,CAACE,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAAhB,CAHO;AAIbpB,EAAAA,WAAW,EAAEkB,6BAAS,CAACG,IAJV;AAKbpB,EAAAA,aAAa,EAAEiB,6BAAS,CAACG,IALZ;AAMbnB,EAAAA,WAAW,EAAEgB,6BAAS,CAACI,KAAV,CAAgB;AACzBN,IAAAA,KAAK,EAAEE,6BAAS,CAACE,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,EAA2B,SAA3B,CAAhB,CADkB;AAEzBG,IAAAA,QAAQ,EAAEL,6BAAS,CAACE,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CAFe;AAGzBI,IAAAA,MAAM,EAAEN,6BAAS,CAACE,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,EAA2B,SAA3B,CAAhB;AAHiB,GAAhB;AANA,CAAjB;;AClDO,IAAMK,YAAY,GAAG;AACxBC,EAAAA,KAAK,EAAE,EADiB;AAExBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,MAAM,EAAE;AACJC,MAAAA,eAAe,EAAE,UADb;AAEJC,MAAAA,MAAM,EAAE,gDAFJ;AAGJC,MAAAA,iBAAiB,EAAE,2BAACC,QAAD,EAAc;AAC7B,YAAMC,UAAU,GAAGC,uBAAG,CAACF,QAAD,EAAW,uBAAX,CAAtB;AACA,YAAMG,QAAQ,GAAGD,uBAAG,CAACF,QAAD,EAAW,qBAAX,CAApB;AACA,eAAO;AACHI,UAAAA,IAAI,EAAEJ,QAAQ,CAACI,IADZ;AAEHC,UAAAA,GAAG,EAAEL,QAAQ,CAACK,GAFX;AAGHC,UAAAA,OAAO,EAAEL,UAAU,IAAIE,QAAQ,GAAG,MAAIV,YAAY,CAACE,KAAb,CAAmBC,MAAnB,CAA0BC,eAA9B,SAAmDU,kBAAkB,CAACJ,QAAD,CAAxE,GAAqF,EAAjG;AAHhB,SAAP;AAKH;AAXG,KADL;AAcHK,IAAAA,MAAM,EAAE;AACJT,MAAAA,iBAAiB,EAAE,2BAACC,QAAD,EAAc;AAC7B,eAAO;AACHI,UAAAA,IAAI,EAAEJ,QAAQ,CAACI,IADZ;AAEHE,UAAAA,OAAO,EAAEN,QAAQ,CAACM,OAFf;AAGHD,UAAAA,GAAG,EAAEL,QAAQ,CAACK;AAHX,SAAP;AAKH,OAPG;AAQJP,MAAAA,MAAM,EAAE;AARJ;AAdL;AAFiB,CAArB;AA6BP,cAAe,UAACxB,KAAD,EAAW;AACtBmC,EAAAA,yBAAK,CAAChB,YAAD,EAAenB,KAAf,CAAL;AACAoC,EAAAA,gBAAW,CAACjB,YAAY,CAACC,KAAd,CAAX;AACH,CAHD;;ACtBA,IAAOiB,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;AACA,IAAME,YAAY,GAAGpB,YAAY,CAACE,KAAb,CAAmBa,MAAxC;;AAGA,IAAMM,OAAO,GAAG,SAAVA,OAAU,OAAwK;AAAA,MAAtKhD,SAAsK,QAAtKA,SAAsK;AAAA,MAApJiD,QAAoJ,QAA3JC,KAA2J;AAAA,MAAhIC,WAAgI,QAA1IC,QAA0I;AAAA,MAArGC,cAAqG,QAAnHC,YAAmH;AAAA,MAArFrB,iBAAqF,QAArFA,iBAAqF;AAAA,MAAlED,MAAkE,QAAlEA,MAAkE;AAAA,MAA1DuB,SAA0D,QAA1DA,SAA0D;AAAA,MAArCjD,IAAqC,QAA/CkD,QAA+C;AAAA,MAA/BjD,QAA+B,QAA/BA,QAA+B;AAAA,MAArBkD,OAAqB,QAArBA,OAAqB;AAAA,MAAZC,MAAY,QAAZA,MAAY;;AACpL,kBAA8BC,cAAQ,CAAC,KAAD,CAAtC;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAoCF,cAAQ,CAACV,QAAD,CAA5C;AAAA,MAAOa,YAAP;AAAA,MAAqBC,WAArB;;AACA,MAAMC,SAAS,GAAGC,YAAM,EAAxB;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACZH,IAAAA,WAAW,CAACd,QAAD,CAAX;AACH,GAFQ,EAEN,CAACA,QAAD,CAFM,CAAT;AAIA;;AACA,MAAMkB,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD,EAAa;AAC/B,QAAIC,GAAG,GAAGD,OAAO,CAACE,KAAR,CAAc,GAAd,CAAV,CAD+B;;AAG/B,QAAIC,IAAI,GAAGF,GAAG,CAAC,CAAD,CAAH,CAAOG,SAAP,CAAiB,CAAjB,EAAoBH,GAAG,CAAC,CAAD,CAAH,CAAOI,MAAP,GAAgB,CAApC,CAAX;;AACA,QAAIC,IAAI,GAAGL,GAAG,CAAC,CAAD,CAAH,CAAOM,KAAP,CAAa,SAAb,EAAwB,CAAxB,CAAX;AAAA,QACIC,IAAI,GAAGC,IAAI,CAACN,IAAD,CADf;AAAA,QAEIO,CAAC,GAAGF,IAAI,CAACH,MAFb;AAAA,QAGIM,KAAK,GAAG,IAAIC,UAAJ,CAAeF,CAAf,CAHZ;;AAIA,WAAOA,CAAC,EAAR,EAAY;AACRC,MAAAA,KAAK,CAACD,CAAD,CAAL,GAAWF,IAAI,CAACK,UAAL,CAAgBH,CAAhB,CAAX;AACH;;AACD,WAAO,IAAII,IAAJ,CAAS,CAACH,KAAD,CAAT,EAAkB;AACrB1E,MAAAA,IAAI,EAAEqE;AADe,KAAlB,CAAP;AAGH,GAdD;;AAkBA,MAAMS,eAAe,GAAG,SAAlBA,eAAkB,QAAU;AAAA,QAARC,IAAQ,SAARA,IAAQ;;AAC9B,qBAA4BzB,cAAQ,CAAC,CAAD,CAApC;AAAA,QAAO0B,MAAP;AAAA,QAAeC,SAAf;;AACA,qBAA0B3B,cAAQ,CAAC,YAAI;AACnC,UAAGD,MAAM,CAAC6B,KAAP,KAAe7B,MAAM,CAAC8B,MAAzB,EAAgC;AAC5B,eAAO,CAAP;AACH;;AACD,aAAO,IAAP;AACH,KALiC,CAAlC;AAAA,QAAOC,KAAP;AAAA,QAAcC,QAAd;;AAOA,QAAMtC,QAAQ,GAAG,SAAXA,QAAW,CAACuC,CAAD,EAAK;AAClBC,MAAAA,OAAO,CAACC,GAAR,CAAYF,CAAZ;AACAL,MAAAA,SAAS,CAACK,CAAD,CAAT;AACH,KAHD;;AAIA,QAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAACH,CAAD,EAAK;AACvBC,MAAAA,OAAO,CAACC,GAAR,CAAYF,CAAZ;AACAD,MAAAA,QAAQ,CAACC,CAAD,CAAR;AACH,KAHD;;AAIA,wBACIhF;AAAK,MAAA,KAAK,EAAE;AAAC,iBAAS+C,MAAM,CAAC6B,KAAjB;AACR,kBAAU;AADF;AAAZ,oBAEI5E,wCAACoF,gCAAD;AACI,MAAA,GAAG,EAAE/B,SADT;AAEI,MAAA,KAAK,EAAEoB,IAFX;AAGI,MAAA,KAAK,EAAE1B,MAAM,CAAC6B,KAHlB;AAII,MAAA,MAAM,EAAE7B,MAAM,CAAC8B,MAJnB;AAKI,MAAA,MAAM,EAAE,CALZ;AAMI,MAAA,YAAY,EAAE9B,MAAM,CAACsC,YANzB;AAOI,MAAA,KAAK,EAAE,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,CAAf,CAPX;AAAA;AAQI,MAAA,KAAK,EAAEP,KARX;AASI,MAAA,MAAM,EAAEJ;AATZ,MAFJ,eAaI1E,wCAACsF,QAAD;AAAK,MAAA,MAAM,EAAE;AAAb,oBACItF,wCAACuF,QAAD;AAAK,MAAA,IAAI,EAAE;AAAX,oBAAcvF,qEAAd,CADJ,eAEIA,wCAACuF,QAAD;AAAK,MAAA,IAAI,EAAE;AAAX,oBACIvF,wCAACwF,WAAD;AAAQ,MAAA,cAAc,EAAE,KAAxB;AAA+B,MAAA,YAAY,EAAEd,MAA7C;AAAqD,MAAA,GAAG,EAAE,CAAC,GAA3D;AAAgE,MAAA,GAAG,EAAE,GAArE;AAA0E,MAAA,QAAQ,EAAEjC;AAApF,MADJ,CAFJ,CAbJ,eAmBIzC,wCAACsF,QAAD;AAAK,MAAA,MAAM,EAAE;AAAb,oBACItF,wCAACuF,QAAD;AAAK,MAAA,IAAI,EAAE;AAAX,oBAAcvF,qEAAd,CADJ,eAEIA,wCAACuF,QAAD;AAAK,MAAA,IAAI,EAAE;AAAX,oBACIvF,wCAACwF,WAAD;AAAQ,MAAA,cAAc,EAAE,KAAxB;AAA+B,MAAA,YAAY,EAAEV,KAA7C;AAAoD,MAAA,IAAI,EAAE,IAA1D;AAAgE,MAAA,GAAG,EAAE,GAArE;AAA0E,MAAA,GAAG,EAAE,CAA/E;AAAkF,MAAA,QAAQ,EAAEK;AAA5F,MADJ,CAFJ,CAnBJ,CADJ;AA4BH,GA7CD;;AA+CA,MAAMM,YAAY,gBACdzF,qDACKiD,OAAO,gBAAGjD,wCAAC0F,qBAAD,OAAH,gBAAwB1F,wCAAC2F,kBAAD,OADpC,EAEK/F,QAFL,CADJ;;AAOA,MAAM+C,YAAY,YAAZA,YAAY,CAAU8B,IAAV;AAAA,QAAmB;AACjC,6BAAO,IAAImB,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAEpCb,QAAAA,OAAO,CAACC,GAAR,CAAY,IAAZ,EAAkBT,IAAlB;AACA,YAAMsB,UAAU,GAAGnD,SAAS,CAACoD,OAAV,CAAkBvB,IAAI,CAAC/E,IAAvB,IAA+B,CAAC,CAAnD;;AACA,YAAI,CAACqG,UAAL,EAAiB;AACbjD,UAAAA,OAAO,wBAAOF,SAAS,CAACqD,GAAV,CAAc,UAACC,GAAD;AAAA,mBAASA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsB,EAAtB,CAAT;AAAA,WAAd,EAAkDC,IAAlD,CAAuD,GAAvD,CAAP,gCAA2E,WAA3E,EAAwF;AAC3F1G,YAAAA,IAAI,EAAEkD,SADqF;AAE3FyD,YAAAA,QAAQ,EAAE5B,IAAI,CAAC/E;AAF4E,WAAxF,CAAP;AAIAoG,UAAAA,MAAM;AACN,iBAAO,KAAP;AACH;;AACD,YAAMQ,IAAI,GAAG7B,IAAI,CAAC9E,IAAL,GAAY,IAAZ,GAAmB,IAAnB,GAA0BA,IAAvC;;AACA,YAAI,CAAC2G,IAAL,EAAW;AACPxD,UAAAA,OAAO,0CAAUnD,IAAV,UAAqB,WAArB,EAAkC;AAACA,YAAAA,IAAI,EAAJA,IAAD;AAAOkD,YAAAA,QAAQ,EAAE4B,IAAI,CAAC9E;AAAtB,WAAlC,CAAP;AACAmG,UAAAA,MAAM;AACN,iBAAO,KAAP;AACH;AAED;AACA;;;AACA,YAAI/C,MAAM,CAACwD,IAAX,EAAiB;AACbC,UAAAA,UAAK,CAACC,OAAN,CAAc;AACV;AACAC,YAAAA,IAAI,EAAE,EAFI;AAGV9B,YAAAA,KAAK,EAAE7B,MAAM,CAAC6B,KAAP,GAAa,CAHV;AAIV+B,YAAAA,OAAO,eAAE3G,wCAAC,eAAD;AAAiB,cAAA,IAAI,EAAEyE;AAAvB,cAJC;AAKVmC,YAAAA,MAAM,EAAE7D,MAAM,CAAC8D,IALL;AAMVC,YAAAA,IAAI,EAAE,cAACC,KAAD,EAAW;AACb;AACA,kBAAIC,MAAM,GAAG3D,SAAS,CAAC4D,OAAV,CAAkBC,QAAlB,GAA6BC,SAA7B,EAAb;AACA/D,cAAAA,WAAW,CAAC4D,MAAD,CAAX;AACA,kBAAII,IAAI,GAAG5D,aAAa,CAACwD,MAAD,CAAxB;AACA,kBAAMK,KAAK,GAAG,IAAIC,MAAM,CAACC,IAAX,CACV,CAACH,IAAD,CADU,EAEV3C,IAAI,CAAC+C,IAFK,EAGV;AAAE9H,gBAAAA,IAAI,EAAE+E,IAAI,CAAC/E;AAAb,eAHU,CAAd;AAKAgD,cAAAA,cAAc,IAAIA,cAAc,CAAC2E,KAAD,CAAhC;AACAxB,cAAAA,OAAO,CAACwB,KAAD,CAAP,CAXa;;AAabN,cAAAA,KAAK;AACR;AApBS,WAAd;AAsBH,SAvBD,MAuBO;AACHrE,UAAAA,cAAc,IAAIA,cAAc,CAAC+B,IAAD,CAAhC;AACAoB,UAAAA,OAAO,CAACpB,IAAD,CAAP,CAFG;AAIN;AACJ,OAjDM,CAAP;AAmDH,KApDiB;AAAA;AAAA;AAAA,GAAlB;;AAsDA,MAAMhC,QAAQ,GAAG,SAAXA,QAAW,CAACgF,IAAD,EAAU;AACvB,QAAIA,IAAI,CAAChD,IAAL,CAAUiD,MAAV,KAAqB,WAAzB,EAAsC;AAClCxE,MAAAA,UAAU,CAAC,IAAD,CAAV;AACA;AACH;;AACD,QAAIuE,IAAI,CAAChD,IAAL,CAAUiD,MAAV,KAAqB,MAAzB,EAAiC;AAC7BxE,MAAAA,UAAU,CAAC,KAAD,CAAV;AACA,UAAM3B,QAAQ,GAAG,CAACD,iBAAiB,IAAIc,YAAY,CAACd,iBAAnC,EAAsDmG,IAAI,CAAChD,IAAL,CAAUlD,QAAhE,CAAjB;;AACA,UAAIA,QAAQ,CAACI,IAAT,KAAkB,GAAtB,EAA2B;AACvBa,QAAAA,WAAW,CAACjB,QAAQ,CAACM,OAAV,CAAX;AACH,OAFD,MAEO;AACHiB,QAAAA,OAAO,CAACvB,QAAQ,CAACK,GAAV,EAAe,UAAf,EAA2BL,QAA3B,CAAP;AACH;AACJ;AACJ,GAdD;;AAgBA,sBACIvB,+FACIA,wCAAC2H,WAAD;AAAQ,IAAA,SAAS,EAAE1H,8BAAU,CAACZ,SAAD,EAAY,mBAAZ,CAA7B;AAA+D,IAAA,QAAQ,EAAC,cAAxE;AACQ,IAAA,cAAc,EAAE,KADxB;AAEQ,IAAA,MAAM,EAAEgC,MAAM,IAAIe,YAAY,CAACf,MAFvC;AAGQ,IAAA,YAAY,EAAEsB,YAHtB;AAGoC,IAAA,QAAQ,EAAEF;AAH9C,KAIKU,YAAY,gBAAGnD;AAAK,IAAA,SAAS,EAAC;AAAf,kBAAyBA;AAAK,IAAA,GAAG,EAAEmD,YAAV;AAAwB,IAAA,GAAG,EAAC;AAA5B,IAAzB,CAAH,GAA2EsC,YAJ5F,CADJ,CADJ;AAUH,CAlKD;;AAoKApD,OAAO,CAAC/B,YAAR,GAAuB;AACnBsC,EAAAA,SAAS,EAAE,CAAC,YAAD,EAAe,WAAf,CADQ;AAEnBC,EAAAA,QAAQ,EAAE,CAFS;AAEN;AACbjD,EAAAA,QAAQ,eAAEI;AAAK,IAAA,SAAS,EAAC;AAAf,gCAHS;AAInB8C,EAAAA,OAAO,EAAE,iBAAC2E,IAAD;AAAA,WAAUG,YAAO,CAACC,KAAR,CAAcJ,IAAd,CAAV;AAAA,GAJU;AAKnB1E,EAAAA,MAAM,EAAE;AAACwD,IAAAA,IAAI,EAAE,KAAP;AAAc3B,IAAAA,KAAK,EAAE,GAArB;AAA0BC,IAAAA,MAAM,EAAE,GAAlC;AAAuCQ,IAAAA,YAAY,EAAE,CAArD;AAAwDwB,IAAAA,IAAI,EAAE;AAA9D;AALW,CAAvB;;AAQA,IAAMiB,WAAW,GAAG,SAAdA,WAAc,CAACjI,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAAC1F,OAAD,CAAb;AACH,CAHD;;AAKAyF,WAAW,CAAC5G,KAAZ,GAAoBmB,OAApB;;AC7LA,IAAOH,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAM8F,UAAQ,GAAG,SAAXA,QAAW,CAACnI,KAAD,EAAW;AACxB,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACE,aAAD,CAAb;AACH,CAHD;;ACFA,IAAO/F,aAAP,GAAyCC,qBAAzC,CAAOD,WAAP;AAAA,IAAoBgG,mBAApB,GAAyC/F,qBAAzC,CAAoB+F,iBAApB;AACA,IAAOC,aAAP,GAAsBC,mBAAtB,CAAOD,WAAP;AAEA,IAAME,YAAY,GAAGF,aAAW,CAACG,aAAD,CAAhC;;AAEA,IAAMC,UAAQ,GAAG,SAAXA,QAAW,CAAC1I,KAAD,EAAW;AACxB,MAAM2I,YAAY,GAAGN,mBAAiB,CAACrI,KAAD,CAAtC;AACA,MAAMkI,MAAM,GAAG7F,aAAW,CAACsG,YAAD,CAA1B;AACA,SAAOT,MAAM,CAACM,YAAD,CAAb;AACH,CAJD;;ACLA,IAAOnG,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;AAEA,IAAMuG,cAAc,GAAGF,aAAQ,CAACG,KAAhC;;AAEA,IAAMC,eAAa,GAAG,SAAhBA,aAAgB,CAAC9I,KAAD,EAAW;AAC7B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACU,cAAD,CAAb;AACH,CAHD;;AAKAE,eAAa,CAACJ,QAAd,GAAyBA,aAAzB;;ACTA,IAAOrG,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;AAEA,IAAO0G,WAAP,GAA+CC,eAA/C,CAAOD,WAAP;AAAA,IAAoBE,aAApB,GAA+CD,eAA/C,CAAoBC,WAApB;AAAA,IAAiCC,UAAjC,GAA+CF,eAA/C,CAAiCE,UAAjC;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACnJ,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACc,eAAD,CAAb;AACH,CAHD;;AAKA,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAACpJ,KAAD,EAAW;AAC5B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACa,WAAD,CAAb;AACH,CAHD;;AAKA,IAAMM,cAAY,GAAG,SAAfA,YAAe,CAACrJ,KAAD,EAAW;AAC5B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B,CAD4B;AAG5B;AACA;;AACA,SAAOkI,MAAM,CAACe,aAAD,CAAb;AACH,CAND;;AAQA,IAAMK,WAAW,GAAG,SAAdA,WAAc,CAACtJ,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACgB,UAAD,CAAb;AACH,CAHD;;AAKAC,WAAW,CAACJ,WAAZ,GAA0BK,YAA1B;AACAD,WAAW,CAACF,WAAZ,GAA0BI,cAA1B;AACAF,WAAW,CAACD,UAAZ,GAAyBI,WAAzB;;ACzBA,IAAOjH,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAMkH,WAAW,GAAG,SAAdA,WAAc,CAACvJ,KAAD,EAAW;AAC7B;AACA,yBAAyBwJ,mCAAe,CAACxJ,KAAD,CAAxC;AAAA,MAAOyJ,IAAP;AAAA,MAAa7G,QAAb;;AACA,MAAM8G,KAAK,GAAGjG,YAAM,EAApB;AACA,MAAMkG,OAAO,GAAGC,aAAO,CAAC,YAAM;AAC5B;AACA,QAAMC,CAAC,GAAGjI,uBAAG,CAAC6H,IAAD,EAAO,CAAP,EAAU,EAAV,CAAb;AACA,QAAMK,CAAC,GAAGlI,uBAAG,CAAC6H,IAAD,EAAO,CAAP,EAAU,EAAV,CAAb;AACA,QAAMM,CAAC,GAAGnI,uBAAG,CAAC5B,KAAD,EAAQ,CAAC,aAAD,CAAR,EAAyB,CAAC,MAAD,EAAS,MAAT,CAAzB,CAAb;AACA,WAAO;AACLgK,MAAAA,KAAK,EAAEH,CAAC,GAAGI,0BAAM,CAACJ,CAAD,CAAT,GAAe,EADlB;AAELK,MAAAA,GAAG,EAAEJ,CAAC,KAAK,IAAN,GAAaG,0BAAM,CAAC,YAAD,CAAnB,GAAqCH,CAAC,GAAGG,0BAAM,CAACH,CAAD,CAAT,GAAe,EAFrD;AAGLK,MAAAA,MAAM,EAAEL,CAAC,KAAK,IAHT;AAILM,MAAAA,WAAW,EAAEL;AAJR,KAAP;AAMD,GAXsB,EAWpB,CAACN,IAAD,CAXoB,CAAvB;;AAaA,MAAMY,WAAW,GAAG,SAAdA,WAAc,CAAClF,CAAD,EAAO;AACzB;AACA,QAAI,CAACwE,OAAO,CAACQ,MAAT,IAAmBR,OAAO,CAACO,GAA3B,IAAkC/E,CAAlC,IAAuCwE,OAAO,CAACO,GAAR,CAAYI,QAAZ,CAAqBnF,CAArB,CAA3C,EAAoE;AAClEvC,MAAAA,QAAQ,CAAC,CAAC+G,OAAO,CAACO,GAAT,EAAc/E,CAAd,CAAD,CAAR;AACA;AACD;;AACDvC,IAAAA,QAAQ,CAAC,CAACuC,CAAC,IAAI,EAAN,EAAUwE,OAAO,CAACQ,MAAR,GAAiB,IAAjB,GAAwBR,OAAO,CAACO,GAA1C,CAAD,CAAR;AACD,GAPD;;AASA,MAAMK,SAAS,GAAG,SAAZA,SAAY,CAACpF,CAAD,EAAO;AACvB,QAAIwE,OAAO,CAACK,KAAR,IAAiB7E,CAAjB,IAAsBA,CAAC,CAACmF,QAAF,CAAWX,OAAO,CAACK,KAAnB,CAA1B,EAAqD;AACnDpH,MAAAA,QAAQ,CAAC,CAACuC,CAAD,EAAIwE,OAAO,CAACK,KAAZ,CAAD,CAAR;AACA;AACD;;AACDpH,IAAAA,QAAQ,CAAC,CAAC+G,OAAO,CAACK,KAAT,EAAgB7E,CAAC,IAAI,EAArB,CAAD,CAAR;AACD,GAND;;AAQA,MAAMqF,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,wBACIrK,wCAACsK,WAAD;AAAQ,MAAA,OAAO,EAAE,iBAACtF,CAAD,EAAO;AACtBuE,QAAAA,KAAK,CAACtC,OAAN,CAAcsD,IAAd;AACA9H,QAAAA,QAAQ,CAAC,CAAC+G,OAAO,CAACK,KAAR,IAAiB,EAAlB,EAAsB,IAAtB,CAAD,CAAR;AACD;AAHD,sBADJ;AAQD,GATD;;AAUA,sBACI7J;AAAK,IAAA,KAAK,EAAE;AAACwK,MAAAA,OAAO,EAAE;AAAV;AAAZ,kBACExK,wCAAC6I,eAAD;AAAiB4B,IAAAA,SAAS,EAAE;AAA5B,KAAsC5K,KAAtC;AAA6CoK,IAAAA,WAAW,EAAET,OAAO,CAACS,WAAR,CAAoB,CAApB,CAA1D;AAAkF1H,IAAAA,KAAK,EAAEiH,OAAO,CAACK;AAAjG;AACY,IAAA,QAAQ,EAAEK;AADtB,KADF,eAGElK;AAAK,IAAA,SAAS,EAAE;AAAhB,kBACEA;AAAK,IAAA,OAAO,EAAC,eAAb;AAA6B,IAAA,SAAS,EAAC,OAAvC;AAA+C,iBAAU,YAAzD;AAAsE,IAAA,KAAK,EAAC,KAA5E;AAAkF,IAAA,MAAM,EAAC,KAAzF;AACK,IAAA,IAAI,EAAC,cADV;AACyB,mBAAY;AADrC,kBAEEA;AACI,IAAA,CAAC,EAAC;AADN,IAFF,CADF,CAHF,eAUEA;AAAK,IAAA,SAAS,EAAEwJ,OAAO,CAACQ,MAAR,GAAiB,yCAAjB,GAA6D;AAA7E,kBACEhK;AAAM,IAAA,SAAS,EAAEwJ,OAAO,CAACQ,MAAR,GAAiB,oBAAjB,GAAwC;AAAzD,oBADF,eAEEhK,wCAAC6I,eAAD;AACE4B,IAAAA,SAAS,EAAE;AADb,KAEK5K,KAFL;AAGEoK,IAAAA,WAAW,EAAET,OAAO,CAACQ,MAAR,GAAiB,EAAjB,GAAsBR,OAAO,CAACS,WAAR,CAAoB,CAApB,CAHrC;AAIE1H,IAAAA,KAAK,EAAEiH,OAAO,CAACO;AAJjB;AAKG,IAAA,GAAG,EAAER,KALR;AAMY,IAAA,QAAQ,EAAEa,SANtB;AAMiC,IAAA,iBAAiB,EAAEC;AANpD,KAFF,CAVF,CADJ;AAuBD,CAnED;;AAsEA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC7K,KAAD,EAAW;AAClC,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACqB,WAAD,CAAb;AACD,CAHD;;AAKAsB,gBAAgB,CAACxJ,KAAjB,GAAyBkI,WAAzB;;ACjFA,IAAOuB,cAAP,GAAuBxI,qBAAvB,CAAOwI,YAAP;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAC/K,KAAD,EAAW;AAC5B,MAAMkI,MAAM,GAAG4C,cAAY,CAAC9K,KAAD,CAA3B;AACA,SAAOkI,MAAM,CAAC8C,UAAD,CAAb;AACD,CAHD;;AAKAD,UAAU,CAACtK,YAAX,GAA0B;AACxBwK,EAAAA,YAAY,EAAE;AADU,CAA1B;;ACPA,IAAOH,cAAP,GAAuBxI,qBAAvB,CAAOwI,YAAP;;AAEA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAClL,KAAD,EAAW;AAClC,MAAMkI,MAAM,GAAG4C,cAAY,CAAC9K,KAAD,CAA3B;AACA,SAAOkI,MAAM,CAACiD,gBAAD,CAAb;AACD,CAHD;;AAKAD,gBAAgB,CAACzK,YAAjB,GAAgC;AAC9BwK,EAAAA,YAAY,EAAE;AADgB,CAAhC;;;ACNA,IAAO5I,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAM+I,YAAU,GAAG,SAAbA,UAAa,OAAwB;AAAA,MAAtBxI,QAAsB,QAAtBA,QAAsB;AAAA,MAAT5C,KAAS;;AACvC,MAAMqL,OAAO,GAAGC,iBAAW,CAAC,UAACjL,CAAD,EAAO;AAC/BuC,IAAAA,QAAQ,IAAIA,QAAQ,CAACvC,CAAC,CAACkL,MAAF,CAAS7I,KAAV,CAApB;AACH,GAF0B,EAExB,CAACE,QAAD,CAFwB,CAA3B;AAGA,sBAAOzC,wCAACqL,UAAD,CAAO,KAAP,eAAiBxL,KAAjB;AAAwB,IAAA,QAAQ,EAAEqL;AAAlC,KAAP;AACH,CALD;;AAOA,IAAMI,WAAW,GAAG,SAAdA,WAAc,CAACzL,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACkD,YAAD,CAAb;AACH,CAHD;;AAKAK,WAAW,CAACD,KAAZ,GAAoBA,UAApB;;ACfA,IAAOnJ,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAMqJ,OAAO,GAAG,SAAVA,OAAU,CAAC1L,KAAD,EAAW;AACvB,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACyD,WAAD,CAAb;AACH,CAHD;;AAKAD,OAAO,CAACE,MAAR,GAAiBD,WAAM,CAACC,MAAxB;AACAF,OAAO,CAACG,QAAR,GAAmBF,WAAM,CAACE,QAA1B;;;ACNA,IAAOxJ,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAMyJ,YAAY,GAAGC,oBAAS,CAAC,gBAA6D;AAAA,MAA3DtC,IAA2D,QAA3DA,IAA2D;AAAA,MAArDuC,OAAqD,QAArDA,OAAqD;AAAA,MAA5CC,OAA4C,QAA5CA,OAA4C;AAAA,MAAnCC,SAAmC,QAAnCA,SAAmC;AAAA,MAAxBnM,QAAwB,QAAxBA,QAAwB;AAAA,MAAXC,KAAW;;AACxF,sBAAOG,wCAACwL,WAAD,EAAY3L,KAAZ,EAAoBD,QAAQ,CAAC;AAAC0J,IAAAA,IAAI,EAAJA,IAAD;AAAOwC,IAAAA,OAAO,EAAPA,OAAP;AAAgBC,IAAAA,SAAS,EAATA,SAAhB;AAA2BF,IAAAA,OAAO,EAAPA;AAA3B,GAAD,CAA5B,CAAP;AACH,CAF6B,CAA9B;;AAIA,IAAMG,aAAW,GAAG,SAAdA,WAAc,CAACnM,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAAC4D,YAAD,CAAb;AACH,CAHD;;AAKAK,aAAW,CAACP,MAAZ,GAAqBD,WAAM,CAACC,MAA5B;AACAO,aAAW,CAACN,QAAZ,GAAuBF,WAAM,CAACE,QAA9B;;ACdA,IAAOxJ,aAAP,GAAyCC,qBAAzC,CAAOD,WAAP;AAAA,IAAoBgG,iBAApB,GAAyC/F,qBAAzC,CAAoB+F,iBAApB;AACA,IAAOC,WAAP,GAAsBC,mBAAtB,CAAOD,WAAP;AACA,IAAM8D,UAAU,GAAG9D,WAAW,CAAC+D,WAAD,CAA9B;;AAEA,IAAMC,QAAM,GAAG,SAATA,MAAS,CAACtM,KAAD,EAAW;AACtB,MAAM2I,YAAY,GAAGN,iBAAiB,CAACrI,KAAD,CAAtC;AACA,MAAMkI,MAAM,GAAG7F,aAAW,CAACsG,YAAD,CAA1B;AACA,SAAOT,MAAM,CAACkE,UAAD,CAAb;AACH,CAJD;;ACJA,IAAOtB,YAAP,GAAuBxI,qBAAvB,CAAOwI,YAAP;;AAEA,IAAMyB,UAAQ,GAAG,SAAXA,QAAW,CAACvM,KAAD,EAAW;AACxB,MAAMkI,MAAM,GAAG4C,YAAY,CAAC9K,KAAD,CAA3B;AACA,SAAOkI,MAAM,CAAC8C,UAAK,CAACuB,QAAP,CAAb;AACH,CAHD;;ACFA,IAAOlK,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;AAEA,IAAO4G,WAAP,GAAsBuD,eAAtB,CAAOvD,WAAP;;AAEA,IAAMwD,WAAW,GAAG,SAAdA,WAAc,CAACzM,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACsE,eAAD,CAAb;AACH,CAHD;;AAKA,IAAMnD,YAAY,GAAG,SAAfA,YAAe,CAACrJ,KAAD,EAAW;AAC5B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACe,WAAD,CAAb;AACH,CAHD;;AAKAwD,WAAW,CAACxD,WAAZ,GAA0BI,YAA1B;;ACdA,IAAOhH,aAAP,GAAsBC,qBAAtB,CAAOD,WAAP;;AAEA,IAAMqK,WAAW,GAAG,SAAdA,WAAc,CAAC1M,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,aAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAACyE,eAAD,CAAb;AACH,CAHD;;AAKAD,WAAW,CAACE,QAAZ,GAAuBD,eAAU,CAACC,QAAlC;;;ACCA,IAAOvK,WAAP,GAAsBC,qBAAtB,CAAOD,WAAP;AAEA,IAAOwK,OAAP,GAAkB/E,WAAlB,CAAO+E,OAAP;AAEA,IAAMC,YAAY,GAAG3L,YAAY,CAACE,KAAb,CAAmBC,MAAxC;;AAEA,IAAMyL,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOzL,eAAP,EAAwC;AAAA,MAAjCA,eAAiC;AAAjCA,IAAAA,eAAiC,GAAf,UAAe;AAAA;;AAC7D,MAAM0L,QAAQ,GAAGD,IAAI,CAAClJ,KAAL,CAAW,GAAX,CAAjB;;AACA,MAAImJ,QAAQ,CAAC,CAAD,CAAZ,EAAiB;AACb,QAAMC,KAAK,GAAG,EAAd;AACAD,IAAAA,QAAQ,CAAC,CAAD,CAAR,CAAYnJ,KAAZ,CAAkB,GAAlB,EAAuBqJ,OAAvB,CAA+B,UAAC9G,GAAD,EAAS;AACpC,uBAAqBA,GAAG,CAACvC,KAAJ,CAAU,GAAV,CAArB;AAAA,UAAOsJ,GAAP;AAAA,UAAY1K,KAAZ;;AACAwK,MAAAA,KAAK,CAACE,GAAD,CAAL,GAAa1K,KAAb;AACH,KAHD;;AAIA,QAAIwK,KAAK,CAAC3L,eAAD,CAAT,EAA4B;AACxB,aAAO8L,kBAAkB,CAACH,KAAK,CAAC3L,eAAD,CAAN,CAAzB;AACH;AACJ;;AACD,SAAOyL,IAAP;AACH,CAbD;;AAeA,IAAMM,WAAW,GAAG,SAAdA,WAAc,CAAC5K,KAAD,EAAQnB,eAAR,EAA4B;AAC5C,MAAI,CAACmB,KAAL,EAAY;AACR,WAAO,EAAP;AACH;;AACD,SAAOA,KAAK,CAAC0D,GAAN,CAAU,UAACmH,IAAD,EAAU;AACvB,WAAO;AACHC,MAAAA,GAAG,EAAEC,4BAAQ,EADV;AAEH9F,MAAAA,IAAI,EAAEoF,gBAAgB,CAACQ,IAAI,CAACG,MAAL,CAAYH,IAAI,CAACI,WAAL,CAAiB,GAAjB,IAAwB,CAApC,CAAD,EAAyCpM,eAAzC,CAFnB;AAGHsG,MAAAA,MAAM,EAAE,MAHL;AAIHnG,MAAAA,QAAQ,EAAE;AAACI,QAAAA,IAAI,EAAE,GAAP;AAAYE,QAAAA,OAAO,EAAEuL;AAArB;AAJP,KAAP;AAMH,GAPM,CAAP;AAQH,CAZD;;AAcA,IAAMK,WAAW,GAAG,SAAdA,WAAc,CAAClL,KAAD,EAAW;AAC3B,SAAO,CAACA,KAAK,IAAI,EAAV,EAAcmL,KAAd,CAAoB,CAApB,EAAuBC,MAAvB,CAA8B;AAAA,QAAEjG,MAAF,QAAEA,MAAF;AAAA,WAAcA,MAAM,KAAK,MAAzB;AAAA,GAA9B,EAA+DzB,GAA/D,CAAmE;AAAA,QAAE1E,QAAF,SAAEA,QAAF;AAAA,WAAgBA,QAAQ,CAACM,OAAzB;AAAA,GAAnE,CAAP;AACH,CAFD;;AAIA,IAAM+L,OAAO,GAAG,SAAVA,OAAU,QAA2K;AAAA,MAAzKvM,MAAyK,SAAzKA,MAAyK;AAAA,MAAjKkB,KAAiK,SAAjKA,KAAiK;AAAA,MAA1JE,QAA0J,SAA1JA,QAA0J;AAAA,MAAhJoL,IAAgJ,SAAhJA,IAAgJ;AAAA,MAA1IjO,QAA0I,SAA1IA,QAA0I;AAAA,MAAhIwB,eAAgI,SAAhIA,eAAgI;AAAA,MAA/G0M,MAA+G,SAA/GA,MAA+G;AAAA,MAA7FnO,IAA6F,SAAvGkD,QAAuG;AAAA,MAAvFC,OAAuF,SAAvFA,OAAuF;AAAA,MAA9EiL,gBAA8E,SAA9EA,gBAA8E;AAAA,MAA5DrL,cAA4D,SAA5DA,cAA4D;AAAA,MAA5CsL,SAA4C,SAA5CA,SAA4C;AAAA,MAAjC1M,iBAAiC,SAAjCA,iBAAiC;AAAA,MAAXzB,KAAW;;AACvLuB,EAAAA,eAAe,GAAGA,eAAe,IAAIuL,YAAY,CAACvL,eAAlD;;AACA,kBAAwB4B,cAAQ,CAAC,EAAD,CAAhC;AAAA,MAAOiL,IAAP;AAAA,MAAaC,OAAb;;AACA,MAAMC,SAAS,GAAG1E,aAAO,CAAC,YAAM;AAC5B,WAAO0D,WAAW,CAAC5K,KAAK,CAACoL,MAAN,CAAa,UAACS,GAAD,EAAS;AACrC,aAAO,CAACH,IAAI,CAACI,IAAL,CAAU,UAAC5J,IAAD;AAAA,eAAUhD,uBAAG,CAACgD,IAAD,EAAO,kBAAP,CAAH,KAAkC2J,GAA5C;AAAA,OAAV,CAAR;AACH,KAFkB,CAAD,EAEdhN,eAFc,CAAX,CAEckN,MAFd,CAEqBL,IAFrB,CAAP;AAGH,GAJwB,EAItB,CAACA,IAAD,EAAO1L,KAAP,EAAcnB,eAAd,CAJsB,CAAzB;;AAKA,MAAMmN,aAAa,GAAG,SAAhBA,aAAgB,CAAC9G,IAAD,EAAU;AAC5B,QAAI,CAAC,WAAD,EAAc,MAAd,EAAsB,OAAtB,EAA+B,SAA/B,EAA0CzB,OAA1C,CAAkDyB,IAAI,CAAChD,IAAL,CAAUiD,MAA5D,MAAwE,CAAC,CAA7E,EAAgF;AAC5E;AACH;;AACD,QAAID,IAAI,CAAC+G,QAAL,CAAc1K,MAAd,GAAuBkK,SAA3B,EAAsC;AAClClL,MAAAA,OAAO,0FAAkBkL,SAAlB,EAA+B,UAA/B,EAA2CA,SAA3C,CAAP;AACA;AACH;;AACD,QAAIvG,IAAI,CAAChD,IAAL,CAAUiD,MAAV,KAAqB,MAAzB,EAAiC;AAC7BD,MAAAA,IAAI,CAAChD,IAAL,CAAUlD,QAAV,GAAqB,CAACD,iBAAiB,IAAIqL,YAAY,CAACrL,iBAAnC,EAAsDmG,IAAI,CAAChD,IAAL,CAAUlD,QAAhE,CAArB;;AACA,UAAIkG,IAAI,CAAChD,IAAL,CAAUlD,QAAV,CAAmBI,IAAnB,KAA4B,GAAhC,EAAqC;AACjC8F,QAAAA,IAAI,CAAChD,IAAL,CAAU+C,IAAV,GAAiBoF,gBAAgB,CAACnF,IAAI,CAAChD,IAAL,CAAUlD,QAAV,CAAmBM,OAAnB,CAA2B0L,MAA3B,CAAkC9F,IAAI,CAAChD,IAAL,CAAUlD,QAAV,CAAmBM,OAAnB,CAA2B2L,WAA3B,CAAuC,GAAvC,IAA8C,CAAhF,CAAD,EAAqFpM,eAArF,CAAjC;AACA2M,QAAAA,gBAAgB,CAACtG,IAAD,CAAhB;AACH,OAHD,MAGO;AACHA,QAAAA,IAAI,CAAChD,IAAL,CAAUiD,MAAV,GAAmB,OAAnB;AACA5E,QAAAA,OAAO,CAAC2E,IAAI,CAAChD,IAAL,CAAUlD,QAAV,CAAmBK,GAApB,EAAyB,UAAzB,EAAqC6F,IAAI,CAAChD,IAAL,CAAUlD,QAA/C,CAAP;AACH;AACJ;;AACD,mBAAekN,2BAAO,CAAChH,IAAI,CAAC+G,QAAN,EAAgB,UAAC/J,IAAD;AAAA,aAAUA,IAAI,CAACiD,MAAL,KAAgB,MAAhB,GAAyB,MAAzB,GAAkC,WAA5C;AAAA,KAAhB,CAAtB;AAAA,QAAOgH,IAAP,YAAOA,IAAP;;AACA,QAAI,CAAC,MAAD,EAAS,SAAT,EAAoB1I,OAApB,CAA4ByB,IAAI,CAAChD,IAAL,CAAUiD,MAAtC,IAAgD,CAAC,CAArD,EAAwD;AACpDjF,MAAAA,QAAQ,CAACgL,WAAW,CAACiB,IAAD,CAAZ,CAAR;AACH;;AACDR,IAAAA,OAAO,CAACzG,IAAI,CAAC+G,QAAN,CAAP;AACH,GAvBD;;AAwBA,MAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAClK,IAAD,EAAU;AAClC,QAAM6B,IAAI,GAAG7B,IAAI,CAAC9E,IAAL,GAAY,IAAZ,GAAmB,IAAnB,GAA0BA,IAAvC;;AACA,QAAI,CAAC2G,IAAL,EAAW;AACPxD,MAAAA,OAAO,0CAAUnD,IAAV,UAAqB,WAArB,EAAkC;AAACA,QAAAA,IAAI,EAAJA,IAAD;AAAOkD,QAAAA,QAAQ,EAAE4B,IAAI,CAAC9E;AAAtB,OAAlC,CAAP;AACA,aAAO,KAAP;AACH;;AACD,QAAIqO,SAAS,KAAK,CAAlB,EAAqB;AACjBvL,MAAAA,QAAQ,CAAC,EAAD,CAAR;AACAyL,MAAAA,OAAO,CAAC,EAAD,CAAP;AACH;;AACD,WAAOxL,cAAc,IAAIA,cAAc,CAAC+B,IAAD,CAAvC;AACH,GAXD;;AAYA,MAAMmK,eAAe,GAAGf,IAAI,GAAGnB,OAAH,GAAa/E,WAAzC;AACA,sBAAO3H,wCAAC,eAAD,eAAqBH,KAArB;AAA4B,IAAA,MAAM,EAAEwB,MAAM,IAAIsL,YAAY,CAACtL,MAA3D;AAAmE,IAAA,QAAQ,EAAE8M,SAA7E;AACiB,IAAA,MAAM,EAAEL,MAAM,CAAC1H,IAAP,CAAY,GAAZ,CADzB;AAC2C,IAAA,QAAQ,EAAEmI,aADrD;AACoE,IAAA,YAAY,EAAEI;AADlF,MAEF/O,QAFE,CAAP;AAIH,CAjDD;;AAmDAgO,OAAO,CAACtN,YAAR,GAAuB;AACnBiC,EAAAA,KAAK,EAAE,EADY;AAEnBuL,EAAAA,MAAM,EAAE,EAFW;AAGnBjL,EAAAA,QAAQ,EAAE,CAHS;AAInBmL,EAAAA,SAAS,EAAE,CAJQ;AAKnBpO,EAAAA,QAAQ,eAAEI,wCAACsK,WAAD,qBAAQtK,wCAAC6O,oBAAD,OAAR,6BALS;AAMnB/L,EAAAA,OAAO,EAAE,iBAAC2E,IAAD;AAAA,WAAUG,YAAO,CAACC,KAAR,CAAcJ,IAAd,CAAV;AAAA,GANU;AAOnBsG,EAAAA,gBAAgB,EAAE,4BAAM;AAPL,CAAvB;;AAWA,IAAMe,WAAW,GAAG,SAAdA,WAAc,CAACjP,KAAD,EAAW;AAC3B,MAAMkI,MAAM,GAAG7F,WAAW,CAACrC,KAAD,CAA1B;AACA,SAAOkI,MAAM,CAAC6F,OAAD,CAAb;AACH,CAHD;;AAMAkB,WAAW,CAAC5N,KAAZ,GAAoB0M,OAApB;;;;IClHMmB,YAAY,GAAG,SAAfA,YAAe,CAAClP,KAAD,EAAW;AAC5B,mBAA2CmP,mBAAS,CAACnP,KAAD,CAApD;AAAA,MAAekM,SAAf,cAAeA,SAAf;AAAA,MAA4BkD,WAA5B;;AACA,sBACIjP,wCAACsK,WAAD;AAAQ,IAAA,OAAO,EAAEyB;AAAjB,KAAgCkD,WAAhC,EAAiDpP,KAAjD,EADJ;AAGH;;ICLKqP,WAAW,GAAG,SAAdA,WAAc,CAACrP,KAAD,EAAW;AAC3B,MAAMsP,UAAU,GAAGC,kBAAQ,EAA3B;AACA,sBACIpP,wCAACsK,WAAD,eAAY6E,UAAZ,EAA4BtP,KAA5B,EADJ;AAGH;;;;ACDD,IAAMwP,SAAS,GAAGzD,oBAAS,CAAC1M,IAAD,CAA3B;;AAEA,IAAMoQ,WAAW,GAAG,SAAdA,WAAc,OAAmC;AAAA,MAAjCC,SAAiC,QAAjCA,SAAiC;AAAA,MAAtBC,MAAsB,QAAtBA,MAAsB;AAAA,MAAd5P,QAAc,QAAdA,QAAc;AACnD,MAAM6P,UAAU,GAAGF,SAAS,CAACG,cAAV,CAAyB,KAAzB,IAAkCL,SAAlC,GAA8CnQ,IAAjE;AACA,sBAAOc,wCAAC,UAAD,EAAgBuP,SAAhB,eACHvP;AAAK,IAAA,SAAS,EAAC;AAAf,KACKJ,QADL,CADG,eAIHI;AAAK,IAAA,SAAS,EAAC;AAAf,KACKwP,MAAM,GAAGA,MAAH,gBAAYxP,wCAAC2P,UAAD,qBACf3P,wCAAC,WAAD,uBADe,eAEfA,wCAAC,YAAD;AAAc,IAAA,IAAI,EAAC;AAAnB,oBAFe,CADvB,CAJG,CAAP;AAWH,CAbD;;IAeM4P,SAAS,GAAG,SAAZA,SAAY,QAA6D;AAAA,MAA3DvQ,SAA2D,SAA3DA,SAA2D;AAAA,8BAAhDkQ,SAAgD;AAAA,MAAhDA,SAAgD,gCAApC,EAAoC;AAAA,MAAhCC,MAAgC,SAAhCA,MAAgC;AAAA,MAAxB5P,QAAwB,SAAxBA,QAAwB;AAAA,MAAXC,KAAW;;AAC3E,sBAAOG,wCAACwG,UAAD,eAAW3G,KAAX;AAAkB,IAAA,SAAS,EAAEI,8BAAU,CAACZ,SAAD,EAAY,kBAAZ,CAAvC;AAAwE,IAAA,MAAM,EAAE;AAAhF,mBACHW,wCAAC,WAAD;AAAa,IAAA,SAAS,EAAEuP,SAAxB;AAAmC,IAAA,MAAM,EAAEC;AAA3C,KAAoD5P,QAApD,CADG,CAAP;AAGH;;AAEDgQ,SAAS,CAACC,KAAV,GAAkB;AAAA,MAAExQ,SAAF,SAAEA,SAAF;AAAA,MAAayQ,KAAb,SAAaA,KAAb;AAAA,8BAAoBP,SAApB;AAAA,MAAoBA,SAApB,gCAAgC,EAAhC;AAAA,MAAoCC,MAApC,SAAoCA,MAApC;AAAA,MAA4C7I,OAA5C,SAA4CA,OAA5C;AAAA,MAAwD9G,KAAxD;;AAAA,SAAmE2G,UAAK,CAACiB,IAAN,cAC9E5H,KAD8E;AAEjFiQ,IAAAA,KAAK,EAAEA,KAAK,gBAAG9P;AAAK,MAAA,SAAS,EAAC;AAAf,oBACXA;AAAK,MAAA,SAAS,EAAC;AAAf,OAAkC8P,KAAlC,CADW,CAAH,GAEH,IAJwE;AAKjFzQ,IAAAA,SAAS,EAAEY,8BAAU,CAACZ,SAAD,EAAY,kBAAZ,CAL4D;AAMjFsH,IAAAA,OAAO,eAAE3G,wCAAC,WAAD;AAAa,MAAA,SAAS,EAAEuP,SAAxB;AAAmC,MAAA,MAAM,EAAEC;AAA3C,OAAoD7I,OAApD,CANwE;AAOjFD,IAAAA,IAAI,EAAE,IAP2E;AAQjF8I,IAAAA,MAAM,EAAE;AARyE,KAAnE;AAAA,CAAlB;;ICLaO,MAAM,GAAGC;IACThI,QAAQ,GAAGiI;IACX1H,QAAQ,GAAG2H;IACXvH,aAAa,GAAGwH;IAChBtH,UAAU,GAAGuH;IACbC,eAAe,GAAGC;IAClBzF,KAAK,GAAG0F;IACRvF,WAAW,GAAGwF;IACdvF,UAAU,GAAGwF;IACbjF,MAAM,GAAGkF;IACT1E,WAAW,GAAG2E;IACdxE,MAAM,GAAGyE;IACTxE,QAAQ,GAAGyE;IACXxE,UAAU,GAAGyE;IACbtE,UAAU,GAAGuE;IACbpJ,MAAM,GAAGqJ;IAETC,MAAM,GAAG;AAAElB,EAAAA,MAAM,EAANA,MAAF;AAAU/H,EAAAA,QAAQ,EAARA,QAAV;AAAoBO,EAAAA,QAAQ,EAARA,QAApB;AAA8BI,EAAAA,aAAa,EAAbA,aAA9B;AAA6CE,EAAAA,UAAU,EAAVA,UAA7C;AAAyDwH,EAAAA,eAAe,EAAfA,eAAzD;AAA0ExF,EAAAA,KAAK,EAALA,KAA1E;AAAiFG,EAAAA,WAAW,EAAXA,WAAjF;AAA8FC,EAAAA,UAAU,EAAVA,UAA9F;AAA0GO,EAAAA,MAAM,EAANA,MAA1G;AAAkHQ,EAAAA,WAAW,EAAXA,WAAlH;AAA+HG,EAAAA,MAAM,EAANA,MAA/H;AAAuIC,EAAAA,QAAQ,EAARA,QAAvI;AAAiJC,EAAAA,UAAU,EAAVA,UAAjJ;AAA6JG,EAAAA,UAAU,EAAVA,UAA7J;AAAyK7E,EAAAA,MAAM,EAANA;AAAzK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport ReactForm from '@kne/react-form';\r\nimport {widget} from '@kne/react-form-helper';\r\nimport './assets/index.scss';\r\n\r\nexport * from '@kne/react-form';\r\nexport {hooks, widget, utils} from '@kne/react-form-helper';\r\n\r\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\r\n\r\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\r\n let computedClass = 'react-form';\r\n if (type !== 'default') {\r\n computedClass += `--${type}`;\r\n }\r\n\r\n if (size !== 'middle') {\r\n computedClass += `--${size}`;\r\n }\r\n\r\n const maxLabel = <MaxLabelProvider>\r\n {children}\r\n </MaxLabelProvider>;\r\n\r\n return (\r\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}>\r\n <SizeProvider value={{size}}>\r\n <ReactForm {...props} ref={ref}>\r\n {cache ? <FormStore cache={cache}/> : null}\r\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\r\n {enterSubmit ? <EnterSubmit>\r\n {maxLabel}\r\n </EnterSubmit> : maxLabel}\r\n </ReactForm>\r\n </SizeProvider>\r\n </form>\r\n );\r\n});\r\n\r\nForm.defaultProps = {\r\n type: 'default',\r\n size: 'middle',\r\n scrollToError: true,\r\n enterSubmit: false,\r\n scrollProps: {\r\n block: 'center'\r\n }\r\n};\r\n\r\nForm.propTypes = {\r\n className: PropTypes.string,\r\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\r\n size: PropTypes.oneOf(['small', 'middle', 'large']),\r\n enterSubmit: PropTypes.bool,\r\n scrollToError: PropTypes.bool,\r\n scrollProps: PropTypes.shape({\r\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\r\n behavior: PropTypes.oneOf(['auto', 'smooth']),\r\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\r\n })\r\n};\r\n\r\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\r\nimport merge from 'lodash/merge';\r\nimport get from \"lodash/get\";\r\n\r\nexport const globalParams = {\r\n rules: {},\r\n field: {\r\n upload: {\r\n displayFilename: 'filename',\r\n action: '/open-api/upload_static_file/interview-manager',\r\n transformResponse: (response) => {\r\n const targetPath = get(response, 'results[0].targetPath');\r\n const filename = get(response, 'results[0].filename');\r\n return {\r\n code: response.code,\r\n msg: response.msg,\r\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\r\n };\r\n }\r\n },\r\n avatar: {\r\n transformResponse: (response) => {\r\n return {\r\n code: response.code,\r\n results: response.results,\r\n msg: response.msg\r\n }\r\n },\r\n action: '/upload'\r\n }\r\n }\r\n};\r\n\r\nexport default (props) => {\r\n merge(globalParams, props);\r\n presetRules(globalParams.rules);\r\n};\r\n","import React, {useState, useRef, useEffect} from \"react\";\r\nimport {Upload, message, Modal, Slider, Row, Col, Space} from \"antd\";\r\nimport {globalParams} from \"../preset\";\r\nimport classnames from \"classnames\";\r\nimport {\r\n PlusOutlined, LoadingOutlined\r\n} from \"@ant-design/icons\";\r\nimport AvatarEditor from \"react-avatar-editor\";\r\nimport {hooks} from \"@kne/react-form-helper\";\r\nimport merge from 'lodash/merge';\r\n\r\nconst {useOnChange} = hooks;\r\nconst avatarParams = globalParams.field.avatar;\r\n\r\n\r\nconst _Avatar = ({\r\n className,\r\n value: imageUrl,\r\n onChange: propsChange,\r\n beforeUpload: onBeforeUpload,\r\n transformResponse,\r\n action,\r\n imageType,\r\n fileSize: size,\r\n children,\r\n onError,\r\n openEditor,\r\n editor: targetEditor,\r\n previewImg,\r\n previewRender\r\n }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [showImageUrl, setImageUrl] = useState(imageUrl);\r\n const editorRef = useRef();\r\n\r\n const defaultEditor = {open: false, width: 250, height: 250, borderRadius: 1, text: \"确定\", title: \"裁剪图片\"};\r\n const editor = merge({}, defaultEditor, {open: openEditor}, targetEditor);\r\n\r\n useEffect(() => {\r\n setImageUrl(imageUrl);\r\n }, [imageUrl]);\r\n\r\n /* base64转blob */\r\n const dataURLtoBlob = (dataurl) => {\r\n let arr = dataurl.split(\",\");\r\n // 注意base64的最后面中括号和引号是不转译的\r\n let _arr = arr[1].substring(0, arr[1].length - 2);\r\n let mime = arr[0].match(/:(.*?);/)[1], bstr = atob(_arr), n = bstr.length, u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], {\r\n type: mime\r\n });\r\n };\r\n\r\n\r\n const AvatarEditorBox = ({file}) => {\r\n const [rotate, setRotate] = useState(0);\r\n const [scale, setScale] = useState(() => {\r\n if (editor.width === editor.height) {\r\n return 1;\r\n }\r\n return 0.35;\r\n });\r\n\r\n const onChange = (v) => {\r\n setRotate(v);\r\n };\r\n const onChangeScale = (v) => {\r\n setScale(v);\r\n };\r\n return (<div style={{\r\n \"width\": editor.width, \"margin\": \"auto\"\r\n }}>\r\n <AvatarEditor\r\n ref={editorRef}\r\n image={file}\r\n width={editor.width}\r\n height={editor.height}\r\n border={1}\r\n borderRadius={editor.borderRadius}\r\n color={[24, 144, 255, 1]} // RGBA\r\n scale={scale}\r\n rotate={rotate}\r\n />\r\n <Row gutter={4}>\r\n <Col span={4}><span>旋转</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange}/>\r\n </Col>\r\n </Row>\r\n <Row gutter={4}>\r\n <Col span={4}><span>放大</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3}\r\n onChange={onChangeScale}/>\r\n </Col>\r\n </Row>\r\n </div>);\r\n };\r\n\r\n const uploadButton = (<div>\r\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\r\n {children}\r\n </div>);\r\n\r\n const beforeUpload = async (file) => {\r\n return new Promise((resolve, reject) => {\r\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\r\n if (!isJpgOrPng) {\r\n onError(`只支持${imageType.map((str) => str.replace(\"image/\", \"\")).join(\"/\")}格式图片!`, \"typeError\", {\r\n type: imageType, fileType: file.type\r\n });\r\n reject();\r\n return false;\r\n }\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`图片不能超过${size}MB!`, \"sizeError\", {size, fileSize: file.size});\r\n reject();\r\n return false;\r\n }\r\n\r\n /*剪切图像*/\r\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\r\n if (editor.open) {\r\n Modal.success({\r\n title: editor.title,\r\n icon: \"\",\r\n width: editor.width * 2,\r\n content: <AvatarEditorBox file={file}/>,\r\n okText: editor.text,\r\n onOk: (close) => {\r\n let base64 = editorRef.current.getImage().toDataURL();\r\n setImageUrl(base64);\r\n let blob = dataURLtoBlob(base64);\r\n const files = new window.File([blob], file.name, {type: file.type});\r\n onBeforeUpload && onBeforeUpload(files);\r\n resolve(files);\r\n close();\r\n }\r\n });\r\n } else {\r\n onBeforeUpload && onBeforeUpload(file);\r\n resolve(file);\r\n }\r\n });\r\n\r\n };\r\n\r\n const onChange = (info) => {\r\n if (info.file.status === \"uploading\") {\r\n setLoading(true);\r\n return;\r\n }\r\n if (info.file.status === \"done\") {\r\n setLoading(false);\r\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\r\n if (response.code === 200) {\r\n propsChange(response.results);\r\n } else {\r\n onError(response.msg, \"xhrError\", response);\r\n }\r\n }\r\n };\r\n\r\n return (<>\r\n <Upload className={classnames(className, \"react-form-avatar\")} listType=\"picture-card\"\r\n showUploadList={false}\r\n action={action || avatarParams.action}\r\n beforeUpload={beforeUpload} onChange={onChange}>\r\n {previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) :\r\n <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\r\n </Upload>\r\n </>);\r\n};\r\n\r\n_Avatar.defaultProps = {\r\n imageType: [\"image/jpeg\", \"image/png\"],\r\n fileSize: 2, // 单位MB\r\n children: <div className=\"ant-upload-text\">点击上传</div>,\r\n onError: (info) => message.error(info),\r\n previewImg: true,\r\n previewRender: null,\r\n openEditor: false\r\n};\r\n\r\nconst AvatarInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Avatar);\r\n};\r\n\r\nAvatarInput.field = _Avatar;\r\n\r\nexport default AvatarInput;\r\n","import {Cascader as _Cascader} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst Cascader = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Cascader);\r\n};\r\n\r\nexport default Cascader;\r\n\r\n","import {Checkbox as _Checkbox} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\n\r\nconst WithCheckbox = withChecked(_Checkbox);\r\n\r\nconst Checkbox = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithCheckbox);\r\n};\r\n\r\nexport default Checkbox;\r\n","import {Checkbox} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _CheckboxGroup = Checkbox.Group;\r\n\r\nconst CheckboxGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(_CheckboxGroup);\r\n};\r\n\r\nCheckboxGroup.Checkbox = Checkbox;\r\n\r\nexport default CheckboxGroup;\r\n","import {DatePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\r\n\r\nconst _DatePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(DatePicker);\r\n};\r\n\r\nconst _MonthPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(MonthPicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n // if(props.selectToday){\r\n // return render(RangePickerToday);\r\n // }\r\n return render(RangePicker);\r\n};\r\n\r\nconst _WeekPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(WeekPicker);\r\n};\r\n\r\n_DatePicker.MonthPicker = _MonthPicker;\r\n_DatePicker.RangePicker = _RangePicker;\r\n_DatePicker.WeekPicker = _WeekPicker;\r\n\r\n\r\nexport default _DatePicker;\r\n","import {Button, DatePicker} from 'antd';\r\nimport React, {useRef, useEffect, useMemo} from 'react'\r\nimport moment from 'moment'\r\nimport get from 'lodash/get'\r\nimport useControlValue from '@kne/use-control-value'\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst PickerToday = (props) => {\r\n // console.log('>>>>data', data);\r\n const [data, onChange] = useControlValue(props);\r\n const ref_d = useRef();\r\n const newData = useMemo(() => {\r\n // console.log('......', data);\r\n const s = get(data, 0, '');\r\n const d = get(data, 1, '');\r\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\r\n return {\r\n start: s ? moment(s) : '',\r\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\r\n showZj: d === '至今',\r\n placeholder: p\r\n }\r\n }, [data]);\r\n\r\n const startChange = (v) => {\r\n // 比较日期大小\r\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\r\n onChange([newData.end, v]);\r\n return\r\n }\r\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\r\n };\r\n\r\n const endChange = (v) => {\r\n if (newData.start && v && v.isBefore(newData.start)) {\r\n onChange([v, newData.start]);\r\n return\r\n }\r\n onChange([newData.start, v || '']);\r\n };\r\n\r\n const foot = () => {\r\n return (\r\n <Button onClick={(v) => {\r\n ref_d.current.blur();\r\n onChange([newData.start || '', '至今']);\r\n }}>\r\n 至今\r\n </Button>\r\n )\r\n }\r\n return (\r\n <div style={{display: 'flex'}}>\r\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\r\n onChange={startChange}/>\r\n <div className={'svg_box'}>\r\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\r\n fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\r\n </svg>\r\n </div>\r\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\r\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\r\n <DatePicker {...{\r\n showToday: false,\r\n ...props,\r\n placeholder: newData.showZj ? '' : newData.placeholder[1],\r\n value: newData.end\r\n }} ref={ref_d}\r\n onChange={endChange} renderExtraFooter={foot}/>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n\r\nconst RangePickerToday = (props) => {\r\n const render = useOnChange(props);\r\n return render(PickerToday);\r\n};\r\n\r\nRangePickerToday.field = PickerToday;\r\n\r\nexport default RangePickerToday;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputField = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input);\r\n};\r\n\r\nInputField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputField;\r\n","import {InputNumber} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputNumberField = (props) => {\r\n const render = useDecorator(props);\r\n return render(InputNumber);\r\n};\r\n\r\nInputNumberField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputNumberField;\r\n","import React, {useCallback} from 'react';\r\nimport {Radio} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst RadioGroup = ({onChange, ...props})=>{\r\n const handler = useCallback((e) => {\r\n onChange && onChange(e.target.value);\r\n }, [onChange]);\r\n return <Radio.Group {...props} onChange={handler}/>\r\n};\r\n\r\nconst _RadioGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(RadioGroup);\r\n};\r\n\r\n_RadioGroup.Radio = Radio;\r\n\r\nexport default _RadioGroup;\r\n","import {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _Select = (props) => {\r\n const render = useOnChange(props);\r\n return render(Select);\r\n};\r\n\r\n_Select.Option = Select.Option;\r\n_Select.OptGroup = Select.OptGroup;\r\n\r\nexport default _Select;\r\n","import React from 'react';\r\nimport {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {withFetch} from '@kne/react-fetch';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\r\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\r\n});\r\n\r\nconst SelectFetch = (props) => {\r\n const render = useOnChange(props);\r\n return render(_SelectFetch);\r\n};\r\n\r\nSelectFetch.Option = Select.Option;\r\nSelectFetch.OptGroup = Select.OptGroup;\r\n\r\nexport default SelectFetch;\r\n","import {Switch as _Switch} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\nconst WithSwitch = withChecked(_Switch);\r\n\r\nconst Switch = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithSwitch);\r\n};\r\n\r\nexport default Switch;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst TextArea = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input.TextArea);\r\n};\r\n\r\nexport default TextArea;\r\n","import {TimePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {RangePicker} = TimePicker;\r\n\r\nconst _TimePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(TimePicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(RangePicker);\r\n};\r\n\r\n_TimePicker.RangePicker = _RangePicker;\r\n\r\nexport default _TimePicker;\r\n","import {TreeSelect} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _TreeSelect = (props) => {\r\n const render = useOnChange(props);\r\n return render(TreeSelect);\r\n};\r\n\r\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\r\n\r\nexport default _TreeSelect;\r\n","import React, {useState, useMemo} from 'react';\r\nimport {Upload, message, Button} from 'antd';\r\nimport {\r\n UploadOutlined\r\n} from '@ant-design/icons';\r\nimport get from 'lodash/get';\r\nimport groupBy from 'lodash/groupBy';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {globalParams} from \"../preset\";\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {Dragger} = Upload;\r\n\r\nconst uploadParams = globalParams.field.upload;\r\n\r\nconst computedFilename = (path, displayFilename = 'filename') => {\r\n const strArray = path.split('?');\r\n if (strArray[1]) {\r\n const query = {};\r\n strArray[1].split('&').forEach((str) => {\r\n const [key, value] = str.split('=');\r\n query[key] = value;\r\n });\r\n if (query[displayFilename]) {\r\n return decodeURIComponent(query[displayFilename]);\r\n }\r\n }\r\n return path;\r\n};\r\n\r\nconst valueToList = (value, displayFilename) => {\r\n if (!value) {\r\n return [];\r\n }\r\n return value.map((item) => {\r\n return {\r\n uid: uniqueId(),\r\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\r\n status: 'done',\r\n response: {code: 200, results: item}\r\n }\r\n });\r\n};\r\n\r\nconst listToValue = (value) => {\r\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\r\n};\r\n\r\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\r\n displayFilename = displayFilename || uploadParams.displayFilename;\r\n const [list, setList] = useState([]);\r\n const valueList = useMemo(() => {\r\n return valueToList(value.filter((url) => {\r\n return !list.find((file) => get(file, 'response.results') === url);\r\n }), displayFilename).concat(list);\r\n }, [list, value, displayFilename]);\r\n const changeHandler = (info) => {\r\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\r\n return;\r\n }\r\n if (info.fileList.length > maxLength) {\r\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\r\n return;\r\n }\r\n if (info.file.status === 'done') {\r\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\r\n if (info.file.response.code === 200) {\r\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\r\n onUploadComplete(info);\r\n } else {\r\n info.file.status = 'error';\r\n onError(info.file.response.msg, 'xhrError', info.file.response);\r\n }\r\n }\r\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\r\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\r\n onChange(listToValue(done));\r\n }\r\n setList(info.fileList);\r\n };\r\n const beforeUploadHandler = (file) => {\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\r\n return false;\r\n }\r\n if (maxLength === 1) {\r\n onChange([]);\r\n setList([]);\r\n }\r\n return onBeforeUpload && onBeforeUpload(file);\r\n };\r\n const UploadComponent = drag ? Dragger : Upload;\r\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\r\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\r\n {children}\r\n </UploadComponent>\r\n};\r\n\r\n_Upload.defaultProps = {\r\n value: [],\r\n accept: [],\r\n fileSize: 2,\r\n maxLength: 1,\r\n children: <Button><UploadOutlined/>点击上传</Button>,\r\n onError: (info) => message.error(info),\r\n onUploadComplete: () => {\r\n }\r\n};\r\n\r\nconst UploadInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Upload);\r\n};\r\n\r\n\r\nUploadInput.field = _Upload;\r\n\r\nexport default UploadInput;\r\n","import React from 'react';\r\nimport {useSubmit} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst SubmitButton = (props) => {\r\n const {isPass, isLoading,...submitProps} = useSubmit(props);\r\n return (\r\n <Button loading={isLoading} {...submitProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\nimport {useReset} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst ResetButton = (props) => {\r\n const resetProps = useReset();\r\n return (\r\n <Button {...resetProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default ResetButton;\r\n","import React from 'react';\r\nimport {Modal, Space} from 'antd';\r\nimport SubmitButton from './SubmitButton';\r\nimport ResetButton from './ResetButton';\r\nimport Form from \"./Form\";\r\nimport {withFetch} from '@kne/react-fetch';\r\nimport classnames from 'classnames';\r\n\r\nconst FetchForm = withFetch(Form);\r\n\r\nconst CommonModal = ({formProps, footer, children}) => {\r\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\r\n return <TargetForm {...formProps}>\r\n <div className=\"ant-modal-body\">\r\n {children}\r\n </div>\r\n <div className=\"ant-modal-footer\">\r\n {footer ? footer : <Space>\r\n <ResetButton>重置</ResetButton>\r\n <SubmitButton type=\"primary\">确定</SubmitButton>\r\n </Space>}\r\n </div>\r\n </TargetForm>;\r\n};\r\n\r\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\r\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\r\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\r\n </Modal>\r\n};\r\n\r\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\r\n ...props,\r\n title: title ? <div className=\"ant-modal-header\">\r\n <div className=\"ant-modal-title\">{title}</div>\r\n </div> : null,\r\n className: classnames(className, 'react-form-modal'),\r\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\r\n icon: null,\r\n footer: null\r\n});\r\n\r\nexport default FormModal;\r\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","widget","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","React","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","imageUrl","value","propsChange","onChange","onBeforeUpload","beforeUpload","imageType","fileSize","onError","openEditor","targetEditor","editor","previewImg","previewRender","useState","loading","setLoading","showImageUrl","setImageUrl","editorRef","useRef","defaultEditor","open","width","height","borderRadius","text","title","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","scale","setScale","v","onChangeScale","AvatarEditor","Row","Col","Slider","uploadButton","LoadingOutlined","PlusOutlined","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","Modal","success","icon","content","okText","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","DatePicker","RangePicker","WeekPicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","useControlValue","data","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","Button","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","Radio","_RadioGroup","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","groupBy","done","beforeUploadHandler","UploadComponent","UploadOutlined","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","Space","FormModal","modal","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -170,18 +170,32 @@ const _Avatar = ({
|
|
|
170
170
|
fileSize: size,
|
|
171
171
|
children,
|
|
172
172
|
onError,
|
|
173
|
-
|
|
173
|
+
openEditor,
|
|
174
|
+
editor: targetEditor,
|
|
175
|
+
previewImg,
|
|
176
|
+
previewRender
|
|
174
177
|
}) => {
|
|
175
178
|
const [loading, setLoading] = useState(false);
|
|
176
179
|
const [showImageUrl, setImageUrl] = useState(imageUrl);
|
|
177
180
|
const editorRef = useRef();
|
|
181
|
+
const defaultEditor = {
|
|
182
|
+
open: false,
|
|
183
|
+
width: 250,
|
|
184
|
+
height: 250,
|
|
185
|
+
borderRadius: 1,
|
|
186
|
+
text: "确定",
|
|
187
|
+
title: "裁剪图片"
|
|
188
|
+
};
|
|
189
|
+
const editor = merge({}, defaultEditor, {
|
|
190
|
+
open: openEditor
|
|
191
|
+
}, targetEditor);
|
|
178
192
|
useEffect(() => {
|
|
179
193
|
setImageUrl(imageUrl);
|
|
180
194
|
}, [imageUrl]);
|
|
181
195
|
/* base64转blob */
|
|
182
196
|
|
|
183
197
|
const dataURLtoBlob = dataurl => {
|
|
184
|
-
let arr = dataurl.split(
|
|
198
|
+
let arr = dataurl.split(","); // 注意base64的最后面中括号和引号是不转译的
|
|
185
199
|
|
|
186
200
|
let _arr = arr[1].substring(0, arr[1].length - 2);
|
|
187
201
|
|
|
@@ -212,19 +226,17 @@ const _Avatar = ({
|
|
|
212
226
|
});
|
|
213
227
|
|
|
214
228
|
const onChange = v => {
|
|
215
|
-
console.log(v);
|
|
216
229
|
setRotate(v);
|
|
217
230
|
};
|
|
218
231
|
|
|
219
232
|
const onChangeScale = v => {
|
|
220
|
-
console.log(v);
|
|
221
233
|
setScale(v);
|
|
222
234
|
};
|
|
223
235
|
|
|
224
236
|
return /*#__PURE__*/React.createElement("div", {
|
|
225
237
|
style: {
|
|
226
|
-
|
|
227
|
-
|
|
238
|
+
"width": editor.width,
|
|
239
|
+
"margin": "auto"
|
|
228
240
|
}
|
|
229
241
|
}, /*#__PURE__*/React.createElement(AvatarEditor, {
|
|
230
242
|
ref: editorRef,
|
|
@@ -269,11 +281,10 @@ const _Avatar = ({
|
|
|
269
281
|
|
|
270
282
|
const beforeUpload = async file => {
|
|
271
283
|
return new Promise((resolve, reject) => {
|
|
272
|
-
console.log('文件', file);
|
|
273
284
|
const isJpgOrPng = imageType.indexOf(file.type) > -1;
|
|
274
285
|
|
|
275
286
|
if (!isJpgOrPng) {
|
|
276
|
-
onError(`只支持${imageType.map(str => str.replace(
|
|
287
|
+
onError(`只支持${imageType.map(str => str.replace("image/", "")).join("/")}格式图片!`, "typeError", {
|
|
277
288
|
type: imageType,
|
|
278
289
|
fileType: file.type
|
|
279
290
|
});
|
|
@@ -284,7 +295,7 @@ const _Avatar = ({
|
|
|
284
295
|
const isLt = file.size / 1024 / 1024 < size;
|
|
285
296
|
|
|
286
297
|
if (!isLt) {
|
|
287
|
-
onError(`图片不能超过${size}MB!`,
|
|
298
|
+
onError(`图片不能超过${size}MB!`, "sizeError", {
|
|
288
299
|
size,
|
|
289
300
|
fileSize: file.size
|
|
290
301
|
});
|
|
@@ -297,15 +308,14 @@ const _Avatar = ({
|
|
|
297
308
|
|
|
298
309
|
if (editor.open) {
|
|
299
310
|
Modal.success({
|
|
300
|
-
|
|
301
|
-
icon:
|
|
311
|
+
title: editor.title,
|
|
312
|
+
icon: "",
|
|
302
313
|
width: editor.width * 2,
|
|
303
314
|
content: /*#__PURE__*/React.createElement(AvatarEditorBox, {
|
|
304
315
|
file: file
|
|
305
316
|
}),
|
|
306
317
|
okText: editor.text,
|
|
307
318
|
onOk: close => {
|
|
308
|
-
// console.log(editorRef.current);
|
|
309
319
|
let base64 = editorRef.current.getImage().toDataURL();
|
|
310
320
|
setImageUrl(base64);
|
|
311
321
|
let blob = dataURLtoBlob(base64);
|
|
@@ -313,44 +323,43 @@ const _Avatar = ({
|
|
|
313
323
|
type: file.type
|
|
314
324
|
});
|
|
315
325
|
onBeforeUpload && onBeforeUpload(files);
|
|
316
|
-
resolve(files);
|
|
317
|
-
|
|
326
|
+
resolve(files);
|
|
318
327
|
close();
|
|
319
328
|
}
|
|
320
329
|
});
|
|
321
330
|
} else {
|
|
322
331
|
onBeforeUpload && onBeforeUpload(file);
|
|
323
|
-
resolve(file);
|
|
332
|
+
resolve(file);
|
|
324
333
|
}
|
|
325
334
|
});
|
|
326
335
|
};
|
|
327
336
|
|
|
328
337
|
const onChange = info => {
|
|
329
|
-
if (info.file.status ===
|
|
338
|
+
if (info.file.status === "uploading") {
|
|
330
339
|
setLoading(true);
|
|
331
340
|
return;
|
|
332
341
|
}
|
|
333
342
|
|
|
334
|
-
if (info.file.status ===
|
|
343
|
+
if (info.file.status === "done") {
|
|
335
344
|
setLoading(false);
|
|
336
345
|
const response = (transformResponse || avatarParams.transformResponse)(info.file.response);
|
|
337
346
|
|
|
338
347
|
if (response.code === 200) {
|
|
339
348
|
propsChange(response.results);
|
|
340
349
|
} else {
|
|
341
|
-
onError(response.msg,
|
|
350
|
+
onError(response.msg, "xhrError", response);
|
|
342
351
|
}
|
|
343
352
|
}
|
|
344
353
|
};
|
|
345
354
|
|
|
346
355
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Upload$1, {
|
|
347
|
-
className: classnames(className,
|
|
356
|
+
className: classnames(className, "react-form-avatar"),
|
|
348
357
|
listType: "picture-card",
|
|
349
358
|
showUploadList: false,
|
|
350
359
|
action: action || avatarParams.action,
|
|
351
360
|
beforeUpload: beforeUpload,
|
|
352
361
|
onChange: onChange
|
|
353
|
-
}, showImageUrl ? /*#__PURE__*/React.createElement("div", {
|
|
362
|
+
}, previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) : /*#__PURE__*/React.createElement("div", {
|
|
354
363
|
className: "preview"
|
|
355
364
|
}, /*#__PURE__*/React.createElement("img", {
|
|
356
365
|
src: showImageUrl,
|
|
@@ -359,20 +368,16 @@ const _Avatar = ({
|
|
|
359
368
|
};
|
|
360
369
|
|
|
361
370
|
_Avatar.defaultProps = {
|
|
362
|
-
imageType: [
|
|
371
|
+
imageType: ["image/jpeg", "image/png"],
|
|
363
372
|
fileSize: 2,
|
|
364
373
|
// 单位MB
|
|
365
374
|
children: /*#__PURE__*/React.createElement("div", {
|
|
366
375
|
className: "ant-upload-text"
|
|
367
376
|
}, "\u70B9\u51FB\u4E0A\u4F20"),
|
|
368
377
|
onError: info => message.error(info),
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
height: 250,
|
|
373
|
-
borderRadius: 1,
|
|
374
|
-
text: '剪切'
|
|
375
|
-
}
|
|
378
|
+
previewImg: true,
|
|
379
|
+
previewRender: null,
|
|
380
|
+
openEditor: false
|
|
376
381
|
};
|
|
377
382
|
|
|
378
383
|
const AvatarInput = props => {
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactForm from '@kne/react-form';\nimport {widget} from '@kne/react-form-helper';\nimport './assets/index.scss';\n\nexport * from '@kne/react-form';\nexport {hooks, widget, utils} from '@kne/react-form-helper';\n\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\n\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\n let computedClass = 'react-form';\n if (type !== 'default') {\n computedClass += `--${type}`;\n }\n\n if (size !== 'middle') {\n computedClass += `--${size}`;\n }\n\n const maxLabel = <MaxLabelProvider>\n {children}\n </MaxLabelProvider>;\n\n return (\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}>\n <SizeProvider value={{size}}>\n <ReactForm {...props} ref={ref}>\n {cache ? <FormStore cache={cache}/> : null}\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\n {enterSubmit ? <EnterSubmit>\n {maxLabel}\n </EnterSubmit> : maxLabel}\n </ReactForm>\n </SizeProvider>\n </form>\n );\n});\n\nForm.defaultProps = {\n type: 'default',\n size: 'middle',\n scrollToError: true,\n enterSubmit: false,\n scrollProps: {\n block: 'center'\n }\n};\n\nForm.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\n size: PropTypes.oneOf(['small', 'middle', 'large']),\n enterSubmit: PropTypes.bool,\n scrollToError: PropTypes.bool,\n scrollProps: PropTypes.shape({\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\n behavior: PropTypes.oneOf(['auto', 'smooth']),\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\n })\n};\n\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\nimport merge from 'lodash/merge';\nimport get from \"lodash/get\";\n\nexport const globalParams = {\n rules: {},\n field: {\n upload: {\n displayFilename: 'filename',\n action: '/open-api/upload_static_file/interview-manager',\n transformResponse: (response) => {\n const targetPath = get(response, 'results[0].targetPath');\n const filename = get(response, 'results[0].filename');\n return {\n code: response.code,\n msg: response.msg,\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\n };\n }\n },\n avatar: {\n transformResponse: (response) => {\n return {\n code: response.code,\n results: response.results,\n msg: response.msg\n }\n },\n action: '/upload'\n }\n }\n};\n\nexport default (props) => {\n merge(globalParams, props);\n presetRules(globalParams.rules);\n};\n","import React, {useState, useRef, useEffect} from 'react';\nimport {Upload, message, Modal, Slider, Row, Col, Space} from 'antd';\nimport {globalParams} from '../preset';\nimport classnames from 'classnames';\nimport {\n PlusOutlined,\n LoadingOutlined\n} from '@ant-design/icons';\nimport AvatarEditor from \"react-avatar-editor\";\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\nconst avatarParams = globalParams.field.avatar;\n\n\nconst _Avatar = ({className, value: imageUrl, onChange: propsChange, beforeUpload: onBeforeUpload, transformResponse, action, imageType, fileSize: size, children, onError, editor}) => {\n const [loading, setLoading] = useState(false);\n const [showImageUrl, setImageUrl] = useState(imageUrl);\n const editorRef = useRef();\n\n useEffect(() => {\n setImageUrl(imageUrl)\n }, [imageUrl])\n\n /* base64转blob */\n const dataURLtoBlob = (dataurl) => {\n let arr = dataurl.split(',');\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime\n });\n };\n\n\n\n const AvatarEditorBox = ({file})=>{\n const [rotate, setRotate] = useState(0);\n const [scale, setScale] = useState(()=>{\n if(editor.width===editor.height){\n return 1\n }\n return 0.35\n });\n\n const onChange = (v)=>{\n console.log(v);\n setRotate(v);\n }\n const onChangeScale = (v)=>{\n console.log(v);\n setScale(v);\n }\n return (\n <div style={{'width': editor.width,\n 'margin': 'auto'}}>\n <AvatarEditor\n ref={editorRef}\n image={file}\n width={editor.width}\n height={editor.height}\n border={1}\n borderRadius={editor.borderRadius}\n color={[24, 144, 255, 1]} // RGBA\n scale={scale}\n rotate={rotate}\n />\n <Row gutter={4}>\n <Col span={4}><span>旋转</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\n </Col>\n </Row>\n <Row gutter={4}>\n <Col span={4}><span>放大</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3} onChange={onChangeScale} />\n </Col>\n </Row>\n </div>\n )\n }\n\n const uploadButton = (\n <div>\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\n {children}\n </div>\n );\n\n const beforeUpload = async (file) => {\n return new Promise((resolve, reject) => {\n\n console.log('文件', file);\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\n if (!isJpgOrPng) {\n onError(`只支持${imageType.map((str) => str.replace('image/', '')).join('/')}格式图片!`, 'typeError', {\n type: imageType,\n fileType: file.type\n });\n reject();\n return false;\n }\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`图片不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n reject();\n return false;\n }\n\n /*剪切图像*/\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\n if (editor.open) {\n Modal.success({\n // title: '剪切图像',\n icon: '',\n width: editor.width*2,\n content: <AvatarEditorBox file={file}/>,\n okText: editor.text,\n onOk: (close) => {\n // console.log(editorRef.current);\n let base64 = editorRef.current.getImage().toDataURL();\n setImageUrl(base64);\n let blob = dataURLtoBlob(base64);\n const files = new window.File(\n [blob],\n file.name,\n { type: file.type }\n );\n onBeforeUpload && onBeforeUpload(files);\n resolve(files);\n // console.log(files);\n close();\n }\n })\n } else {\n onBeforeUpload && onBeforeUpload(file);\n resolve(file);\n // return onBeforeUpload && onBeforeUpload(file);\n }\n })\n\n };\n\n const onChange = (info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n return;\n }\n if (info.file.status === 'done') {\n setLoading(false);\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\n if (response.code === 200) {\n propsChange(response.results);\n } else {\n onError(response.msg, 'xhrError', response);\n }\n }\n };\n\n return (\n <>\n <Upload className={classnames(className, 'react-form-avatar')} listType=\"picture-card\"\n showUploadList={false}\n action={action || avatarParams.action}\n beforeUpload={beforeUpload} onChange={onChange}>\n {showImageUrl ? <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\n </Upload>\n </>\n );\n};\n\n_Avatar.defaultProps = {\n imageType: ['image/jpeg', 'image/png'],\n fileSize: 2, // 单位MB\n children: <div className=\"ant-upload-text\">点击上传</div>,\n onError: (info) => message.error(info),\n editor: {open: false, width: 250, height: 250, borderRadius: 1, text: '剪切'}\n};\n\nconst AvatarInput = (props) => {\n const render = useOnChange(props);\n return render(_Avatar);\n};\n\nAvatarInput.field = _Avatar;\n\nexport default AvatarInput;\n","import {Cascader as _Cascader} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(props);\n return render(_Cascader);\n};\n\nexport default Cascader;\n\n","import {Checkbox as _Checkbox} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\n\nconst WithCheckbox = withChecked(_Checkbox);\n\nconst Checkbox = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithCheckbox);\n};\n\nexport default Checkbox;\n","import {Checkbox} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _CheckboxGroup = Checkbox.Group;\n\nconst CheckboxGroup = (props) => {\n const render = useOnChange(props);\n return render(_CheckboxGroup);\n};\n\nCheckboxGroup.Checkbox = Checkbox;\n\nexport default CheckboxGroup;\n","import {DatePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\n\nconst _DatePicker = (props) => {\n const render = useOnChange(props);\n return render(DatePicker);\n};\n\nconst _MonthPicker = (props) => {\n const render = useOnChange(props);\n return render(MonthPicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n // if(props.selectToday){\n // return render(RangePickerToday);\n // }\n return render(RangePicker);\n};\n\nconst _WeekPicker = (props) => {\n const render = useOnChange(props);\n return render(WeekPicker);\n};\n\n_DatePicker.MonthPicker = _MonthPicker;\n_DatePicker.RangePicker = _RangePicker;\n_DatePicker.WeekPicker = _WeekPicker;\n\n\nexport default _DatePicker;\n","import {Button, DatePicker} from 'antd';\nimport React, {useRef, useEffect, useMemo} from 'react'\nimport moment from 'moment'\nimport get from 'lodash/get'\nimport useControlValue from '@kne/use-control-value'\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst PickerToday = (props) => {\n // console.log('>>>>data', data);\n const [data, onChange] = useControlValue(props);\n const ref_d = useRef();\n const newData = useMemo(() => {\n // console.log('......', data);\n const s = get(data, 0, '');\n const d = get(data, 1, '');\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\n return {\n start: s ? moment(s) : '',\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\n showZj: d === '至今',\n placeholder: p\n }\n }, [data]);\n\n const startChange = (v) => {\n // 比较日期大小\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\n onChange([newData.end, v]);\n return\n }\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\n };\n\n const endChange = (v) => {\n if (newData.start && v && v.isBefore(newData.start)) {\n onChange([v, newData.start]);\n return\n }\n onChange([newData.start, v || '']);\n };\n\n const foot = () => {\n return (\n <Button onClick={(v) => {\n ref_d.current.blur();\n onChange([newData.start || '', '至今']);\n }}>\n 至今\n </Button>\n )\n }\n return (\n <div style={{display: 'flex'}}>\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\n onChange={startChange}/>\n <div className={'svg_box'}>\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\n fill=\"currentColor\" aria-hidden=\"true\">\n <path\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\n </svg>\n </div>\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\n <DatePicker {...{\n showToday: false,\n ...props,\n placeholder: newData.showZj ? '' : newData.placeholder[1],\n value: newData.end\n }} ref={ref_d}\n onChange={endChange} renderExtraFooter={foot}/>\n </div>\n </div>\n );\n}\n\n\nconst RangePickerToday = (props) => {\n const render = useOnChange(props);\n return render(PickerToday);\n};\n\nRangePickerToday.field = PickerToday;\n\nexport default RangePickerToday;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputField = (props) => {\n const render = useDecorator(props);\n return render(Input);\n};\n\nInputField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputField;\n","import {InputNumber} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputNumberField = (props) => {\n const render = useDecorator(props);\n return render(InputNumber);\n};\n\nInputNumberField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputNumberField;\n","import React, {useCallback} from 'react';\nimport {Radio} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst RadioGroup = ({onChange, ...props})=>{\n const handler = useCallback((e) => {\n onChange && onChange(e.target.value);\n }, [onChange]);\n return <Radio.Group {...props} onChange={handler}/>\n};\n\nconst _RadioGroup = (props) => {\n const render = useOnChange(props);\n return render(RadioGroup);\n};\n\n_RadioGroup.Radio = Radio;\n\nexport default _RadioGroup;\n","import {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _Select = (props) => {\n const render = useOnChange(props);\n return render(Select);\n};\n\n_Select.Option = Select.Option;\n_Select.OptGroup = Select.OptGroup;\n\nexport default _Select;\n","import React from 'react';\nimport {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\nimport {withFetch} from '@kne/react-fetch';\n\nconst {useOnChange} = hooks;\n\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\n});\n\nconst SelectFetch = (props) => {\n const render = useOnChange(props);\n return render(_SelectFetch);\n};\n\nSelectFetch.Option = Select.Option;\nSelectFetch.OptGroup = Select.OptGroup;\n\nexport default SelectFetch;\n","import {Switch as _Switch} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\nconst WithSwitch = withChecked(_Switch);\n\nconst Switch = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nexport default Switch;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst TextArea = (props) => {\n const render = useDecorator(props);\n return render(Input.TextArea);\n};\n\nexport default TextArea;\n","import {TimePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {RangePicker} = TimePicker;\n\nconst _TimePicker = (props) => {\n const render = useOnChange(props);\n return render(TimePicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n return render(RangePicker);\n};\n\n_TimePicker.RangePicker = _RangePicker;\n\nexport default _TimePicker;\n","import {TreeSelect} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _TreeSelect = (props) => {\n const render = useOnChange(props);\n return render(TreeSelect);\n};\n\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\n\nexport default _TreeSelect;\n","import React, {useState, useMemo} from 'react';\nimport {Upload, message, Button} from 'antd';\nimport {\n UploadOutlined\n} from '@ant-design/icons';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport uniqueId from 'lodash/uniqueId';\nimport {hooks} from '@kne/react-form-helper';\nimport {globalParams} from \"../preset\";\n\nconst {useOnChange} = hooks;\n\nconst {Dragger} = Upload;\n\nconst uploadParams = globalParams.field.upload;\n\nconst computedFilename = (path, displayFilename = 'filename') => {\n const strArray = path.split('?');\n if (strArray[1]) {\n const query = {};\n strArray[1].split('&').forEach((str) => {\n const [key, value] = str.split('=');\n query[key] = value;\n });\n if (query[displayFilename]) {\n return decodeURIComponent(query[displayFilename]);\n }\n }\n return path;\n};\n\nconst valueToList = (value, displayFilename) => {\n if (!value) {\n return [];\n }\n return value.map((item) => {\n return {\n uid: uniqueId(),\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\n status: 'done',\n response: {code: 200, results: item}\n }\n });\n};\n\nconst listToValue = (value) => {\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\n};\n\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\n displayFilename = displayFilename || uploadParams.displayFilename;\n const [list, setList] = useState([]);\n const valueList = useMemo(() => {\n return valueToList(value.filter((url) => {\n return !list.find((file) => get(file, 'response.results') === url);\n }), displayFilename).concat(list);\n }, [list, value, displayFilename]);\n const changeHandler = (info) => {\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\n return;\n }\n if (info.fileList.length > maxLength) {\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\n return;\n }\n if (info.file.status === 'done') {\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\n if (info.file.response.code === 200) {\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\n onUploadComplete(info);\n } else {\n info.file.status = 'error';\n onError(info.file.response.msg, 'xhrError', info.file.response);\n }\n }\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\n onChange(listToValue(done));\n }\n setList(info.fileList);\n };\n const beforeUploadHandler = (file) => {\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n return false;\n }\n if (maxLength === 1) {\n onChange([]);\n setList([]);\n }\n return onBeforeUpload && onBeforeUpload(file);\n };\n const UploadComponent = drag ? Dragger : Upload;\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\n {children}\n </UploadComponent>\n};\n\n_Upload.defaultProps = {\n value: [],\n accept: [],\n fileSize: 2,\n maxLength: 1,\n children: <Button><UploadOutlined/>点击上传</Button>,\n onError: (info) => message.error(info),\n onUploadComplete: () => {\n }\n};\n\nconst UploadInput = (props) => {\n const render = useOnChange(props);\n return render(_Upload);\n};\n\n\nUploadInput.field = _Upload;\n\nexport default UploadInput;\n","import React from 'react';\nimport {useSubmit} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst SubmitButton = (props) => {\n const {isPass, isLoading,...submitProps} = useSubmit(props);\n return (\n <Button loading={isLoading} {...submitProps} {...props}/>\n );\n};\n\nexport default SubmitButton;\n","import React from 'react';\nimport {useReset} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst ResetButton = (props) => {\n const resetProps = useReset();\n return (\n <Button {...resetProps} {...props}/>\n );\n};\n\nexport default ResetButton;\n","import React from 'react';\nimport {Modal, Space} from 'antd';\nimport SubmitButton from './SubmitButton';\nimport ResetButton from './ResetButton';\nimport Form from \"./Form\";\nimport {withFetch} from '@kne/react-fetch';\nimport classnames from 'classnames';\n\nconst FetchForm = withFetch(Form);\n\nconst CommonModal = ({formProps, footer, children}) => {\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\n return <TargetForm {...formProps}>\n <div className=\"ant-modal-body\">\n {children}\n </div>\n <div className=\"ant-modal-footer\">\n {footer ? footer : <Space>\n <ResetButton>重置</ResetButton>\n <SubmitButton type=\"primary\">确定</SubmitButton>\n </Space>}\n </div>\n </TargetForm>;\n};\n\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\n </Modal>\n};\n\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\n ...props,\n title: title ? <div className=\"ant-modal-header\">\n <div className=\"ant-modal-title\">{title}</div>\n </div> : null,\n className: classnames(className, 'react-form-modal'),\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\n icon: null,\n footer: null\n});\n\nexport default FormModal;\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","widget","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","value","imageUrl","onChange","propsChange","beforeUpload","onBeforeUpload","imageType","fileSize","onError","editor","loading","setLoading","useState","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","scale","setScale","width","height","v","console","log","onChangeScale","borderRadius","uploadButton","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","RangePicker","WeekPicker","DatePicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","data","useControlValue","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","_RadioGroup","Radio","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","done","groupBy","beforeUploadHandler","UploadComponent","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport ReactForm from '@kne/react-form';\r\nimport {widget} from '@kne/react-form-helper';\r\nimport './assets/index.scss';\r\n\r\nexport * from '@kne/react-form';\r\nexport {hooks, widget, utils} from '@kne/react-form-helper';\r\n\r\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\r\n\r\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\r\n let computedClass = 'react-form';\r\n if (type !== 'default') {\r\n computedClass += `--${type}`;\r\n }\r\n\r\n if (size !== 'middle') {\r\n computedClass += `--${size}`;\r\n }\r\n\r\n const maxLabel = <MaxLabelProvider>\r\n {children}\r\n </MaxLabelProvider>;\r\n\r\n return (\r\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}>\r\n <SizeProvider value={{size}}>\r\n <ReactForm {...props} ref={ref}>\r\n {cache ? <FormStore cache={cache}/> : null}\r\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\r\n {enterSubmit ? <EnterSubmit>\r\n {maxLabel}\r\n </EnterSubmit> : maxLabel}\r\n </ReactForm>\r\n </SizeProvider>\r\n </form>\r\n );\r\n});\r\n\r\nForm.defaultProps = {\r\n type: 'default',\r\n size: 'middle',\r\n scrollToError: true,\r\n enterSubmit: false,\r\n scrollProps: {\r\n block: 'center'\r\n }\r\n};\r\n\r\nForm.propTypes = {\r\n className: PropTypes.string,\r\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\r\n size: PropTypes.oneOf(['small', 'middle', 'large']),\r\n enterSubmit: PropTypes.bool,\r\n scrollToError: PropTypes.bool,\r\n scrollProps: PropTypes.shape({\r\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\r\n behavior: PropTypes.oneOf(['auto', 'smooth']),\r\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\r\n })\r\n};\r\n\r\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\r\nimport merge from 'lodash/merge';\r\nimport get from \"lodash/get\";\r\n\r\nexport const globalParams = {\r\n rules: {},\r\n field: {\r\n upload: {\r\n displayFilename: 'filename',\r\n action: '/open-api/upload_static_file/interview-manager',\r\n transformResponse: (response) => {\r\n const targetPath = get(response, 'results[0].targetPath');\r\n const filename = get(response, 'results[0].filename');\r\n return {\r\n code: response.code,\r\n msg: response.msg,\r\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\r\n };\r\n }\r\n },\r\n avatar: {\r\n transformResponse: (response) => {\r\n return {\r\n code: response.code,\r\n results: response.results,\r\n msg: response.msg\r\n }\r\n },\r\n action: '/upload'\r\n }\r\n }\r\n};\r\n\r\nexport default (props) => {\r\n merge(globalParams, props);\r\n presetRules(globalParams.rules);\r\n};\r\n","import React, {useState, useRef, useEffect} from \"react\";\r\nimport {Upload, message, Modal, Slider, Row, Col, Space} from \"antd\";\r\nimport {globalParams} from \"../preset\";\r\nimport classnames from \"classnames\";\r\nimport {\r\n PlusOutlined, LoadingOutlined\r\n} from \"@ant-design/icons\";\r\nimport AvatarEditor from \"react-avatar-editor\";\r\nimport {hooks} from \"@kne/react-form-helper\";\r\nimport merge from 'lodash/merge';\r\n\r\nconst {useOnChange} = hooks;\r\nconst avatarParams = globalParams.field.avatar;\r\n\r\n\r\nconst _Avatar = ({\r\n className,\r\n value: imageUrl,\r\n onChange: propsChange,\r\n beforeUpload: onBeforeUpload,\r\n transformResponse,\r\n action,\r\n imageType,\r\n fileSize: size,\r\n children,\r\n onError,\r\n openEditor,\r\n editor: targetEditor,\r\n previewImg,\r\n previewRender\r\n }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [showImageUrl, setImageUrl] = useState(imageUrl);\r\n const editorRef = useRef();\r\n\r\n const defaultEditor = {open: false, width: 250, height: 250, borderRadius: 1, text: \"确定\", title: \"裁剪图片\"};\r\n const editor = merge({}, defaultEditor, {open: openEditor}, targetEditor);\r\n\r\n useEffect(() => {\r\n setImageUrl(imageUrl);\r\n }, [imageUrl]);\r\n\r\n /* base64转blob */\r\n const dataURLtoBlob = (dataurl) => {\r\n let arr = dataurl.split(\",\");\r\n // 注意base64的最后面中括号和引号是不转译的\r\n let _arr = arr[1].substring(0, arr[1].length - 2);\r\n let mime = arr[0].match(/:(.*?);/)[1], bstr = atob(_arr), n = bstr.length, u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], {\r\n type: mime\r\n });\r\n };\r\n\r\n\r\n const AvatarEditorBox = ({file}) => {\r\n const [rotate, setRotate] = useState(0);\r\n const [scale, setScale] = useState(() => {\r\n if (editor.width === editor.height) {\r\n return 1;\r\n }\r\n return 0.35;\r\n });\r\n\r\n const onChange = (v) => {\r\n setRotate(v);\r\n };\r\n const onChangeScale = (v) => {\r\n setScale(v);\r\n };\r\n return (<div style={{\r\n \"width\": editor.width, \"margin\": \"auto\"\r\n }}>\r\n <AvatarEditor\r\n ref={editorRef}\r\n image={file}\r\n width={editor.width}\r\n height={editor.height}\r\n border={1}\r\n borderRadius={editor.borderRadius}\r\n color={[24, 144, 255, 1]} // RGBA\r\n scale={scale}\r\n rotate={rotate}\r\n />\r\n <Row gutter={4}>\r\n <Col span={4}><span>旋转</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange}/>\r\n </Col>\r\n </Row>\r\n <Row gutter={4}>\r\n <Col span={4}><span>放大</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3}\r\n onChange={onChangeScale}/>\r\n </Col>\r\n </Row>\r\n </div>);\r\n };\r\n\r\n const uploadButton = (<div>\r\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\r\n {children}\r\n </div>);\r\n\r\n const beforeUpload = async (file) => {\r\n return new Promise((resolve, reject) => {\r\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\r\n if (!isJpgOrPng) {\r\n onError(`只支持${imageType.map((str) => str.replace(\"image/\", \"\")).join(\"/\")}格式图片!`, \"typeError\", {\r\n type: imageType, fileType: file.type\r\n });\r\n reject();\r\n return false;\r\n }\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`图片不能超过${size}MB!`, \"sizeError\", {size, fileSize: file.size});\r\n reject();\r\n return false;\r\n }\r\n\r\n /*剪切图像*/\r\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\r\n if (editor.open) {\r\n Modal.success({\r\n title: editor.title,\r\n icon: \"\",\r\n width: editor.width * 2,\r\n content: <AvatarEditorBox file={file}/>,\r\n okText: editor.text,\r\n onOk: (close) => {\r\n let base64 = editorRef.current.getImage().toDataURL();\r\n setImageUrl(base64);\r\n let blob = dataURLtoBlob(base64);\r\n const files = new window.File([blob], file.name, {type: file.type});\r\n onBeforeUpload && onBeforeUpload(files);\r\n resolve(files);\r\n close();\r\n }\r\n });\r\n } else {\r\n onBeforeUpload && onBeforeUpload(file);\r\n resolve(file);\r\n }\r\n });\r\n\r\n };\r\n\r\n const onChange = (info) => {\r\n if (info.file.status === \"uploading\") {\r\n setLoading(true);\r\n return;\r\n }\r\n if (info.file.status === \"done\") {\r\n setLoading(false);\r\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\r\n if (response.code === 200) {\r\n propsChange(response.results);\r\n } else {\r\n onError(response.msg, \"xhrError\", response);\r\n }\r\n }\r\n };\r\n\r\n return (<>\r\n <Upload className={classnames(className, \"react-form-avatar\")} listType=\"picture-card\"\r\n showUploadList={false}\r\n action={action || avatarParams.action}\r\n beforeUpload={beforeUpload} onChange={onChange}>\r\n {previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) :\r\n <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\r\n </Upload>\r\n </>);\r\n};\r\n\r\n_Avatar.defaultProps = {\r\n imageType: [\"image/jpeg\", \"image/png\"],\r\n fileSize: 2, // 单位MB\r\n children: <div className=\"ant-upload-text\">点击上传</div>,\r\n onError: (info) => message.error(info),\r\n previewImg: true,\r\n previewRender: null,\r\n openEditor: false\r\n};\r\n\r\nconst AvatarInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Avatar);\r\n};\r\n\r\nAvatarInput.field = _Avatar;\r\n\r\nexport default AvatarInput;\r\n","import {Cascader as _Cascader} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst Cascader = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Cascader);\r\n};\r\n\r\nexport default Cascader;\r\n\r\n","import {Checkbox as _Checkbox} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\n\r\nconst WithCheckbox = withChecked(_Checkbox);\r\n\r\nconst Checkbox = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithCheckbox);\r\n};\r\n\r\nexport default Checkbox;\r\n","import {Checkbox} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _CheckboxGroup = Checkbox.Group;\r\n\r\nconst CheckboxGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(_CheckboxGroup);\r\n};\r\n\r\nCheckboxGroup.Checkbox = Checkbox;\r\n\r\nexport default CheckboxGroup;\r\n","import {DatePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\r\n\r\nconst _DatePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(DatePicker);\r\n};\r\n\r\nconst _MonthPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(MonthPicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n // if(props.selectToday){\r\n // return render(RangePickerToday);\r\n // }\r\n return render(RangePicker);\r\n};\r\n\r\nconst _WeekPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(WeekPicker);\r\n};\r\n\r\n_DatePicker.MonthPicker = _MonthPicker;\r\n_DatePicker.RangePicker = _RangePicker;\r\n_DatePicker.WeekPicker = _WeekPicker;\r\n\r\n\r\nexport default _DatePicker;\r\n","import {Button, DatePicker} from 'antd';\r\nimport React, {useRef, useEffect, useMemo} from 'react'\r\nimport moment from 'moment'\r\nimport get from 'lodash/get'\r\nimport useControlValue from '@kne/use-control-value'\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst PickerToday = (props) => {\r\n // console.log('>>>>data', data);\r\n const [data, onChange] = useControlValue(props);\r\n const ref_d = useRef();\r\n const newData = useMemo(() => {\r\n // console.log('......', data);\r\n const s = get(data, 0, '');\r\n const d = get(data, 1, '');\r\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\r\n return {\r\n start: s ? moment(s) : '',\r\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\r\n showZj: d === '至今',\r\n placeholder: p\r\n }\r\n }, [data]);\r\n\r\n const startChange = (v) => {\r\n // 比较日期大小\r\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\r\n onChange([newData.end, v]);\r\n return\r\n }\r\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\r\n };\r\n\r\n const endChange = (v) => {\r\n if (newData.start && v && v.isBefore(newData.start)) {\r\n onChange([v, newData.start]);\r\n return\r\n }\r\n onChange([newData.start, v || '']);\r\n };\r\n\r\n const foot = () => {\r\n return (\r\n <Button onClick={(v) => {\r\n ref_d.current.blur();\r\n onChange([newData.start || '', '至今']);\r\n }}>\r\n 至今\r\n </Button>\r\n )\r\n }\r\n return (\r\n <div style={{display: 'flex'}}>\r\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\r\n onChange={startChange}/>\r\n <div className={'svg_box'}>\r\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\r\n fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\r\n </svg>\r\n </div>\r\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\r\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\r\n <DatePicker {...{\r\n showToday: false,\r\n ...props,\r\n placeholder: newData.showZj ? '' : newData.placeholder[1],\r\n value: newData.end\r\n }} ref={ref_d}\r\n onChange={endChange} renderExtraFooter={foot}/>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n\r\nconst RangePickerToday = (props) => {\r\n const render = useOnChange(props);\r\n return render(PickerToday);\r\n};\r\n\r\nRangePickerToday.field = PickerToday;\r\n\r\nexport default RangePickerToday;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputField = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input);\r\n};\r\n\r\nInputField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputField;\r\n","import {InputNumber} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputNumberField = (props) => {\r\n const render = useDecorator(props);\r\n return render(InputNumber);\r\n};\r\n\r\nInputNumberField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputNumberField;\r\n","import React, {useCallback} from 'react';\r\nimport {Radio} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst RadioGroup = ({onChange, ...props})=>{\r\n const handler = useCallback((e) => {\r\n onChange && onChange(e.target.value);\r\n }, [onChange]);\r\n return <Radio.Group {...props} onChange={handler}/>\r\n};\r\n\r\nconst _RadioGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(RadioGroup);\r\n};\r\n\r\n_RadioGroup.Radio = Radio;\r\n\r\nexport default _RadioGroup;\r\n","import {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _Select = (props) => {\r\n const render = useOnChange(props);\r\n return render(Select);\r\n};\r\n\r\n_Select.Option = Select.Option;\r\n_Select.OptGroup = Select.OptGroup;\r\n\r\nexport default _Select;\r\n","import React from 'react';\r\nimport {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {withFetch} from '@kne/react-fetch';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\r\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\r\n});\r\n\r\nconst SelectFetch = (props) => {\r\n const render = useOnChange(props);\r\n return render(_SelectFetch);\r\n};\r\n\r\nSelectFetch.Option = Select.Option;\r\nSelectFetch.OptGroup = Select.OptGroup;\r\n\r\nexport default SelectFetch;\r\n","import {Switch as _Switch} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\nconst WithSwitch = withChecked(_Switch);\r\n\r\nconst Switch = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithSwitch);\r\n};\r\n\r\nexport default Switch;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst TextArea = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input.TextArea);\r\n};\r\n\r\nexport default TextArea;\r\n","import {TimePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {RangePicker} = TimePicker;\r\n\r\nconst _TimePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(TimePicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(RangePicker);\r\n};\r\n\r\n_TimePicker.RangePicker = _RangePicker;\r\n\r\nexport default _TimePicker;\r\n","import {TreeSelect} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _TreeSelect = (props) => {\r\n const render = useOnChange(props);\r\n return render(TreeSelect);\r\n};\r\n\r\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\r\n\r\nexport default _TreeSelect;\r\n","import React, {useState, useMemo} from 'react';\r\nimport {Upload, message, Button} from 'antd';\r\nimport {\r\n UploadOutlined\r\n} from '@ant-design/icons';\r\nimport get from 'lodash/get';\r\nimport groupBy from 'lodash/groupBy';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {globalParams} from \"../preset\";\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {Dragger} = Upload;\r\n\r\nconst uploadParams = globalParams.field.upload;\r\n\r\nconst computedFilename = (path, displayFilename = 'filename') => {\r\n const strArray = path.split('?');\r\n if (strArray[1]) {\r\n const query = {};\r\n strArray[1].split('&').forEach((str) => {\r\n const [key, value] = str.split('=');\r\n query[key] = value;\r\n });\r\n if (query[displayFilename]) {\r\n return decodeURIComponent(query[displayFilename]);\r\n }\r\n }\r\n return path;\r\n};\r\n\r\nconst valueToList = (value, displayFilename) => {\r\n if (!value) {\r\n return [];\r\n }\r\n return value.map((item) => {\r\n return {\r\n uid: uniqueId(),\r\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\r\n status: 'done',\r\n response: {code: 200, results: item}\r\n }\r\n });\r\n};\r\n\r\nconst listToValue = (value) => {\r\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\r\n};\r\n\r\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\r\n displayFilename = displayFilename || uploadParams.displayFilename;\r\n const [list, setList] = useState([]);\r\n const valueList = useMemo(() => {\r\n return valueToList(value.filter((url) => {\r\n return !list.find((file) => get(file, 'response.results') === url);\r\n }), displayFilename).concat(list);\r\n }, [list, value, displayFilename]);\r\n const changeHandler = (info) => {\r\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\r\n return;\r\n }\r\n if (info.fileList.length > maxLength) {\r\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\r\n return;\r\n }\r\n if (info.file.status === 'done') {\r\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\r\n if (info.file.response.code === 200) {\r\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\r\n onUploadComplete(info);\r\n } else {\r\n info.file.status = 'error';\r\n onError(info.file.response.msg, 'xhrError', info.file.response);\r\n }\r\n }\r\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\r\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\r\n onChange(listToValue(done));\r\n }\r\n setList(info.fileList);\r\n };\r\n const beforeUploadHandler = (file) => {\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\r\n return false;\r\n }\r\n if (maxLength === 1) {\r\n onChange([]);\r\n setList([]);\r\n }\r\n return onBeforeUpload && onBeforeUpload(file);\r\n };\r\n const UploadComponent = drag ? Dragger : Upload;\r\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\r\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\r\n {children}\r\n </UploadComponent>\r\n};\r\n\r\n_Upload.defaultProps = {\r\n value: [],\r\n accept: [],\r\n fileSize: 2,\r\n maxLength: 1,\r\n children: <Button><UploadOutlined/>点击上传</Button>,\r\n onError: (info) => message.error(info),\r\n onUploadComplete: () => {\r\n }\r\n};\r\n\r\nconst UploadInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Upload);\r\n};\r\n\r\n\r\nUploadInput.field = _Upload;\r\n\r\nexport default UploadInput;\r\n","import React from 'react';\r\nimport {useSubmit} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst SubmitButton = (props) => {\r\n const {isPass, isLoading,...submitProps} = useSubmit(props);\r\n return (\r\n <Button loading={isLoading} {...submitProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\nimport {useReset} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst ResetButton = (props) => {\r\n const resetProps = useReset();\r\n return (\r\n <Button {...resetProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default ResetButton;\r\n","import React from 'react';\r\nimport {Modal, Space} from 'antd';\r\nimport SubmitButton from './SubmitButton';\r\nimport ResetButton from './ResetButton';\r\nimport Form from \"./Form\";\r\nimport {withFetch} from '@kne/react-fetch';\r\nimport classnames from 'classnames';\r\n\r\nconst FetchForm = withFetch(Form);\r\n\r\nconst CommonModal = ({formProps, footer, children}) => {\r\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\r\n return <TargetForm {...formProps}>\r\n <div className=\"ant-modal-body\">\r\n {children}\r\n </div>\r\n <div className=\"ant-modal-footer\">\r\n {footer ? footer : <Space>\r\n <ResetButton>重置</ResetButton>\r\n <SubmitButton type=\"primary\">确定</SubmitButton>\r\n </Space>}\r\n </div>\r\n </TargetForm>;\r\n};\r\n\r\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\r\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\r\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\r\n </Modal>\r\n};\r\n\r\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\r\n ...props,\r\n title: title ? <div className=\"ant-modal-header\">\r\n <div className=\"ant-modal-title\">{title}</div>\r\n </div> : null,\r\n className: classnames(className, 'react-form-modal'),\r\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\r\n icon: null,\r\n footer: null\r\n});\r\n\r\nexport default FormModal;\r\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","widget","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","value","imageUrl","onChange","propsChange","beforeUpload","onBeforeUpload","imageType","fileSize","onError","openEditor","editor","targetEditor","previewImg","previewRender","loading","setLoading","useState","showImageUrl","setImageUrl","editorRef","useRef","defaultEditor","open","width","height","borderRadius","text","title","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","scale","setScale","v","onChangeScale","uploadButton","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","Modal","success","icon","content","okText","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","RangePicker","WeekPicker","DatePicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","data","useControlValue","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","_RadioGroup","Radio","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","done","groupBy","beforeUploadHandler","UploadComponent","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","FormModal","modal","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@kne/react-form-antd",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "把@kne/react-form 表单校验逻辑应用到antd",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.modern.js",
|
|
7
|
-
"source": "src/index.js",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"init": "npm install && cd example && npm install",
|
|
10
|
-
"create-fields": "node ./scripts/createIndex.js",
|
|
11
|
-
"start": "run-p start:lib start:example",
|
|
12
|
-
"build": "run-s build:lib build:example create-fields",
|
|
13
|
-
"build:lib": "microbundle --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
14
|
-
"start:lib": "microbundle watch --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
15
|
-
"test": "run-s test:unit test:lint test:build",
|
|
16
|
-
"test:build": "run-s build",
|
|
17
|
-
"test:lint": "eslint .",
|
|
18
|
-
"test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
|
|
19
|
-
"test:watch": "react-scripts test --env=jsdom",
|
|
20
|
-
"build:example": "cd example && npm run build",
|
|
21
|
-
"start:example": "cd example && npm run start",
|
|
22
|
-
"deploy": "gh-pages -d example/build",
|
|
23
|
-
"prettier": "prettier --config .prettierrc --write 'src/**/*.{js,jsx,ts,tsx,json,css,scss,md}'"
|
|
24
|
-
},
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "git+https://github.com/kne-union/react-form-antd.git"
|
|
28
|
-
},
|
|
29
|
-
"husky": {
|
|
30
|
-
"hooks": {
|
|
31
|
-
"pre-commit": "lint-staged"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"lint-staged": {
|
|
35
|
-
"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
|
|
36
|
-
"prettier --config .prettierrc --write",
|
|
37
|
-
"git add"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
"files": [
|
|
41
|
-
"dist"
|
|
42
|
-
],
|
|
43
|
-
"keywords": [
|
|
44
|
-
"react",
|
|
45
|
-
"form",
|
|
46
|
-
"validate"
|
|
47
|
-
],
|
|
48
|
-
"author": "linzp",
|
|
49
|
-
"license": "ISC",
|
|
50
|
-
"bugs": {
|
|
51
|
-
"url": "https://github.com/kne-union/react-form-antd/issues"
|
|
52
|
-
},
|
|
53
|
-
"homepage": "https://github.com/kne-union/react-form-antd#readme",
|
|
54
|
-
"peerDependencies": {
|
|
55
|
-
"@kne/react-fetch": "0.1.x",
|
|
56
|
-
"antd": ">=4.x",
|
|
57
|
-
"prop-types": ">=15.x",
|
|
58
|
-
"react": ">=16.x"
|
|
59
|
-
},
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@ant-design/icons": "^4.2.1",
|
|
62
|
-
"@babel/runtime": "^7.10.3",
|
|
63
|
-
"@kne/react-form": "^2.0.4",
|
|
64
|
-
"@kne/react-form-helper": "^1.0.
|
|
65
|
-
"@kne/use-control-value": "^0.1.1",
|
|
66
|
-
"classnames": "^2.2.6",
|
|
67
|
-
"lodash": "^4.17.15",
|
|
68
|
-
"moment": "^2.29.1",
|
|
69
|
-
"react-avatar-editor": "^12.0.0"
|
|
70
|
-
},
|
|
71
|
-
"devDependencies": {
|
|
72
|
-
"@kne/react-fetch": "^0.1.12",
|
|
73
|
-
"antd": "^4.16.13",
|
|
74
|
-
"axios": "^0.21.4",
|
|
75
|
-
"cross-env": "^7.0.3",
|
|
76
|
-
"fs-extra": "^9.0.1",
|
|
77
|
-
"gh-pages": "^3.2.3",
|
|
78
|
-
"glob": "^7.1.6",
|
|
79
|
-
"husky": "^7.0.2",
|
|
80
|
-
"microbundle": "^0.13.3",
|
|
81
|
-
"node-sass": "^6.0.1",
|
|
82
|
-
"npm-run-all": "^4.1.5",
|
|
83
|
-
"pify": "^5.0.0",
|
|
84
|
-
"prettier": "^2.4.1",
|
|
85
|
-
"react": "^17.0.2",
|
|
86
|
-
"react-dom": "^17.0.2",
|
|
87
|
-
"react-scripts": "^4.0.3"
|
|
88
|
-
}
|
|
89
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@kne/react-form-antd",
|
|
3
|
+
"version": "2.0.13-alpha.0.3",
|
|
4
|
+
"description": "把@kne/react-form 表单校验逻辑应用到antd",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.modern.js",
|
|
7
|
+
"source": "src/index.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"init": "npm install && cd example && npm install",
|
|
10
|
+
"create-fields": "node ./scripts/createIndex.js",
|
|
11
|
+
"start": "run-p start:lib start:example",
|
|
12
|
+
"build": "run-s build:lib build:example create-fields",
|
|
13
|
+
"build:lib": "microbundle --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
14
|
+
"start:lib": "microbundle watch --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
15
|
+
"test": "run-s test:unit test:lint test:build",
|
|
16
|
+
"test:build": "run-s build",
|
|
17
|
+
"test:lint": "eslint .",
|
|
18
|
+
"test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
|
|
19
|
+
"test:watch": "react-scripts test --env=jsdom",
|
|
20
|
+
"build:example": "cd example && npm run build",
|
|
21
|
+
"start:example": "cd example && npm run start",
|
|
22
|
+
"deploy": "gh-pages -d example/build",
|
|
23
|
+
"prettier": "prettier --config .prettierrc --write 'src/**/*.{js,jsx,ts,tsx,json,css,scss,md}'"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/kne-union/react-form-antd.git"
|
|
28
|
+
},
|
|
29
|
+
"husky": {
|
|
30
|
+
"hooks": {
|
|
31
|
+
"pre-commit": "lint-staged"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"lint-staged": {
|
|
35
|
+
"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
|
|
36
|
+
"prettier --config .prettierrc --write",
|
|
37
|
+
"git add"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"react",
|
|
45
|
+
"form",
|
|
46
|
+
"validate"
|
|
47
|
+
],
|
|
48
|
+
"author": "linzp",
|
|
49
|
+
"license": "ISC",
|
|
50
|
+
"bugs": {
|
|
51
|
+
"url": "https://github.com/kne-union/react-form-antd/issues"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/kne-union/react-form-antd#readme",
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@kne/react-fetch": "0.1.x",
|
|
56
|
+
"antd": ">=4.x",
|
|
57
|
+
"prop-types": ">=15.x",
|
|
58
|
+
"react": ">=16.x"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@ant-design/icons": "^4.2.1",
|
|
62
|
+
"@babel/runtime": "^7.10.3",
|
|
63
|
+
"@kne/react-form": "^2.0.4",
|
|
64
|
+
"@kne/react-form-helper": "^1.0.11",
|
|
65
|
+
"@kne/use-control-value": "^0.1.1",
|
|
66
|
+
"classnames": "^2.2.6",
|
|
67
|
+
"lodash": "^4.17.15",
|
|
68
|
+
"moment": "^2.29.1",
|
|
69
|
+
"react-avatar-editor": "^12.0.0"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@kne/react-fetch": "^0.1.12",
|
|
73
|
+
"antd": "^4.16.13",
|
|
74
|
+
"axios": "^0.21.4",
|
|
75
|
+
"cross-env": "^7.0.3",
|
|
76
|
+
"fs-extra": "^9.0.1",
|
|
77
|
+
"gh-pages": "^3.2.3",
|
|
78
|
+
"glob": "^7.1.6",
|
|
79
|
+
"husky": "^7.0.2",
|
|
80
|
+
"microbundle": "^0.13.3",
|
|
81
|
+
"node-sass": "^6.0.1",
|
|
82
|
+
"npm-run-all": "^4.1.5",
|
|
83
|
+
"pify": "^5.0.0",
|
|
84
|
+
"prettier": "^2.4.1",
|
|
85
|
+
"react": "^17.0.2",
|
|
86
|
+
"react-dom": "^17.0.2",
|
|
87
|
+
"react-scripts": "^4.0.3"
|
|
88
|
+
}
|
|
89
|
+
}
|