@kne/react-form-antd 2.0.11 → 2.0.13-alpha.0.2

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 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
- editor = _ref.editor;
179
+ isEditor = _ref.isEditor,
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: isEditor
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(','); // 注意base64的最后面中括号和引号是不转译的
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
- 'width': editor.width,
244
- 'margin': 'auto'
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('image/', '');
296
- }).join('/') + "\u683C\u5F0F\u56FE\u7247!", 'typeError', {
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!", 'sizeError', {
318
+ onError("\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7" + size + "MB!", "sizeError", {
308
319
  size: size,
309
320
  fileSize: file.size
310
321
  });
@@ -318,14 +329,13 @@ var _Avatar = function _Avatar(_ref) {
318
329
  if (editor.open) {
319
330
  antd.Modal.success({
320
331
  // title: '剪切图像',
321
- icon: '',
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); // console.log(files);
337
-
346
+ resolve(files);
338
347
  close();
339
348
  }
340
349
  });
341
350
  } else {
342
351
  onBeforeUpload && onBeforeUpload(file);
343
- resolve(file); // return onBeforeUpload && onBeforeUpload(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 === 'uploading') {
361
+ if (info.file.status === "uploading") {
353
362
  setLoading(true);
354
363
  return;
355
364
  }
356
365
 
357
- if (info.file.status === 'done') {
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, 'xhrError', response);
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, 'react-form-avatar'),
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: ['image/jpeg', 'image/png'],
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
- editor: {
395
- open: false,
396
- width: 250,
397
- height: 250,
398
- borderRadius: 1,
399
- text: '剪切'
400
- }
403
+ previewImg: true,
404
+ previewRender: null,
405
+ isEditor: false
401
406
  };
402
407
 
403
408
  var AvatarInput = function AvatarInput(props) {
@@ -976,6 +981,10 @@ Object.defineProperty(exports, 'utils', {
976
981
  enumerable: true,
977
982
  get: function () { return reactFormHelper.utils; }
978
983
  });
984
+ Object.defineProperty(exports, 'widget', {
985
+ enumerable: true,
986
+ get: function () { return reactFormHelper.widget; }
987
+ });
979
988
  exports.Avatar = Avatar;
980
989
  exports.Cascader = Cascader;
981
990
  exports.Checkbox = Checkbox;
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, 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":"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"}
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 isEditor,\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: isEditor}, 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: '剪切图像',\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 isEditor: 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","isEditor","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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"}