@rjsf/antd 4.2.0 → 4.2.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.
Files changed (104) hide show
  1. package/dist/ErrorList.d.ts +4 -0
  2. package/dist/antd.cjs.development.js +1798 -0
  3. package/dist/antd.cjs.development.js.map +1 -0
  4. package/dist/antd.cjs.production.min.js +2 -0
  5. package/dist/antd.cjs.production.min.js.map +1 -0
  6. package/dist/antd.esm.js +1788 -0
  7. package/dist/antd.esm.js.map +1 -0
  8. package/dist/antd.umd.development.js +1799 -0
  9. package/dist/antd.umd.development.js.map +1 -0
  10. package/dist/antd.umd.production.min.js +2 -0
  11. package/dist/antd.umd.production.min.js.map +1 -0
  12. package/dist/components/DatePicker/index.d.ts +24 -0
  13. package/dist/fields/DescriptionField/index.d.ts +5 -0
  14. package/dist/fields/TitleField/index.d.ts +2 -0
  15. package/dist/index.d.ts +57 -0
  16. package/dist/index.js +8 -0
  17. package/dist/templates/ArrayFieldTemplate/ArrayFieldTemplateItem.d.ts +19 -0
  18. package/dist/templates/ArrayFieldTemplate/FixedArrayFieldTemplate.d.ts +2 -0
  19. package/dist/templates/ArrayFieldTemplate/NormalArrayFieldTemplate.d.ts +2 -0
  20. package/dist/templates/ArrayFieldTemplate/index.d.ts +27 -0
  21. package/dist/templates/FieldTemplate/WrapIfAdditional.d.ts +14 -0
  22. package/dist/templates/FieldTemplate/index.d.ts +21 -0
  23. package/dist/templates/ObjectFieldTemplate/index.d.ts +2 -0
  24. package/dist/widgets/AltDateTimeWidget/index.d.ts +13 -0
  25. package/dist/widgets/AltDateWidget/index.d.ts +26 -0
  26. package/dist/widgets/CheckboxWidget/index.d.ts +13 -0
  27. package/dist/widgets/CheckboxesWidget/index.d.ts +13 -0
  28. package/dist/widgets/ColorWidget/index.d.ts +12 -0
  29. package/dist/widgets/DateTimeWidget/index.d.ts +12 -0
  30. package/dist/widgets/DateWidget/index.d.ts +12 -0
  31. package/dist/widgets/EmailWidget/index.d.ts +13 -0
  32. package/dist/widgets/PasswordWidget/index.d.ts +13 -0
  33. package/dist/widgets/RadioWidget/index.d.ts +14 -0
  34. package/dist/widgets/RangeWidget/index.d.ts +15 -0
  35. package/dist/widgets/SelectWidget/index.d.ts +21 -0
  36. package/dist/widgets/SubmitButton/SubmitButton.d.ts +4 -0
  37. package/dist/widgets/SubmitButton/index.d.ts +2 -0
  38. package/dist/widgets/TextWidget/index.d.ts +14 -0
  39. package/dist/widgets/TextareaWidget/index.d.ts +13 -0
  40. package/dist/widgets/URLWidget/index.d.ts +13 -0
  41. package/dist/widgets/UpDownWidget/index.d.ts +12 -0
  42. package/package.json +11 -15
  43. package/dist/cjs/ErrorList.js +0 -44
  44. package/dist/cjs/components/DatePicker/index.js +0 -17
  45. package/dist/cjs/fields/DescriptionField/index.js +0 -22
  46. package/dist/cjs/fields/TitleField/index.js +0 -65
  47. package/dist/cjs/index.js +0 -109
  48. package/dist/cjs/templates/ArrayFieldTemplate/ArrayFieldTemplateItem.js +0 -84
  49. package/dist/cjs/templates/ArrayFieldTemplate/FixedArrayFieldTemplate.js +0 -103
  50. package/dist/cjs/templates/ArrayFieldTemplate/NormalArrayFieldTemplate.js +0 -103
  51. package/dist/cjs/templates/ArrayFieldTemplate/index.js +0 -186
  52. package/dist/cjs/templates/FieldTemplate/WrapIfAdditional.js +0 -123
  53. package/dist/cjs/templates/FieldTemplate/index.js +0 -102
  54. package/dist/cjs/templates/ObjectFieldTemplate/index.js +0 -142
  55. package/dist/cjs/widgets/AltDateTimeWidget/index.js +0 -34
  56. package/dist/cjs/widgets/AltDateWidget/index.js +0 -236
  57. package/dist/cjs/widgets/CheckboxWidget/index.js +0 -57
  58. package/dist/cjs/widgets/CheckboxesWidget/index.js +0 -70
  59. package/dist/cjs/widgets/ColorWidget/index.js +0 -62
  60. package/dist/cjs/widgets/DateTimeWidget/index.js +0 -66
  61. package/dist/cjs/widgets/DateWidget/index.js +0 -66
  62. package/dist/cjs/widgets/EmailWidget/index.js +0 -63
  63. package/dist/cjs/widgets/PasswordWidget/index.js +0 -58
  64. package/dist/cjs/widgets/RadioWidget/index.js +0 -69
  65. package/dist/cjs/widgets/RangeWidget/index.js +0 -72
  66. package/dist/cjs/widgets/SelectWidget/index.js +0 -128
  67. package/dist/cjs/widgets/SubmitButton/SubmitButton.js +0 -38
  68. package/dist/cjs/widgets/SubmitButton/index.js +0 -32
  69. package/dist/cjs/widgets/TextWidget/index.js +0 -81
  70. package/dist/cjs/widgets/TextareaWidget/index.js +0 -64
  71. package/dist/cjs/widgets/URLWidget/index.js +0 -63
  72. package/dist/cjs/widgets/UpDownWidget/index.js +0 -61
  73. package/dist/es/ErrorList.js +0 -30
  74. package/dist/es/components/DatePicker/index.js +0 -5
  75. package/dist/es/fields/DescriptionField/index.js +0 -12
  76. package/dist/es/fields/TitleField/index.js +0 -51
  77. package/dist/es/index.js +0 -71
  78. package/dist/es/templates/ArrayFieldTemplate/ArrayFieldTemplateItem.js +0 -67
  79. package/dist/es/templates/ArrayFieldTemplate/FixedArrayFieldTemplate.js +0 -84
  80. package/dist/es/templates/ArrayFieldTemplate/NormalArrayFieldTemplate.js +0 -84
  81. package/dist/es/templates/ArrayFieldTemplate/index.js +0 -172
  82. package/dist/es/templates/FieldTemplate/WrapIfAdditional.js +0 -105
  83. package/dist/es/templates/FieldTemplate/index.js +0 -89
  84. package/dist/es/templates/ObjectFieldTemplate/index.js +0 -122
  85. package/dist/es/widgets/AltDateTimeWidget/index.js +0 -23
  86. package/dist/es/widgets/AltDateWidget/index.js +0 -215
  87. package/dist/es/widgets/CheckboxWidget/index.js +0 -46
  88. package/dist/es/widgets/CheckboxesWidget/index.js +0 -58
  89. package/dist/es/widgets/ColorWidget/index.js +0 -50
  90. package/dist/es/widgets/DateTimeWidget/index.js +0 -53
  91. package/dist/es/widgets/DateWidget/index.js +0 -53
  92. package/dist/es/widgets/EmailWidget/index.js +0 -51
  93. package/dist/es/widgets/PasswordWidget/index.js +0 -47
  94. package/dist/es/widgets/RadioWidget/index.js +0 -58
  95. package/dist/es/widgets/RangeWidget/index.js +0 -59
  96. package/dist/es/widgets/SelectWidget/index.js +0 -115
  97. package/dist/es/widgets/SubmitButton/SubmitButton.js +0 -23
  98. package/dist/es/widgets/SubmitButton/index.js +0 -3
  99. package/dist/es/widgets/TextWidget/index.js +0 -68
  100. package/dist/es/widgets/TextareaWidget/index.js +0 -52
  101. package/dist/es/widgets/URLWidget/index.js +0 -51
  102. package/dist/es/widgets/UpDownWidget/index.js +0 -49
  103. package/dist/rjsf-antd.js +0 -38
  104. package/dist/rjsf-antd.js.map +0 -1
@@ -0,0 +1,1788 @@
1
+ import { utils, withTheme } from '@rjsf/core';
2
+ import React, { useState, useEffect } from 'react';
3
+ import classNames from 'classnames';
4
+ import { withConfigConsumer } from 'antd/lib/config-provider/context';
5
+ import Form$1 from 'antd/lib/form';
6
+ import Button from 'antd/lib/button';
7
+ import Col from 'antd/lib/col';
8
+ import Input from 'antd/lib/input';
9
+ import Row from 'antd/lib/row';
10
+ import DeleteOutlined from '@ant-design/icons/DeleteOutlined';
11
+ import _ from 'lodash-es';
12
+ import PlusCircleOutlined from '@ant-design/icons/PlusCircleOutlined';
13
+ import ArrowDownOutlined from '@ant-design/icons/ArrowDownOutlined';
14
+ import ArrowUpOutlined from '@ant-design/icons/ArrowUpOutlined';
15
+ import Checkbox from 'antd/lib/checkbox';
16
+ import dayjs from 'dayjs';
17
+ import dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs';
18
+ import generatePicker from 'antd/lib/date-picker/generatePicker';
19
+ import Radio from 'antd/lib/radio';
20
+ import Slider from 'antd/lib/slider';
21
+ import Select from 'antd/lib/select';
22
+ import InputNumber from 'antd/lib/input-number';
23
+ import Alert from 'antd/lib/alert';
24
+ import List from 'antd/lib/list';
25
+ import Space from 'antd/lib/space';
26
+ import ExclamationCircleOutlined from '@ant-design/icons/ExclamationCircleOutlined';
27
+
28
+ function _extends() {
29
+ _extends = Object.assign || function (target) {
30
+ for (var i = 1; i < arguments.length; i++) {
31
+ var source = arguments[i];
32
+
33
+ for (var key in source) {
34
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
35
+ target[key] = source[key];
36
+ }
37
+ }
38
+ }
39
+
40
+ return target;
41
+ };
42
+
43
+ return _extends.apply(this, arguments);
44
+ }
45
+
46
+ function _objectWithoutPropertiesLoose(source, excluded) {
47
+ if (source == null) return {};
48
+ var target = {};
49
+ var sourceKeys = Object.keys(source);
50
+ var key, i;
51
+
52
+ for (i = 0; i < sourceKeys.length; i++) {
53
+ key = sourceKeys[i];
54
+ if (excluded.indexOf(key) >= 0) continue;
55
+ target[key] = source[key];
56
+ }
57
+
58
+ return target;
59
+ }
60
+
61
+ var DescriptionField = function DescriptionField(_ref) {
62
+ var description = _ref.description,
63
+ id = _ref.id;
64
+ return /*#__PURE__*/React.createElement("span", {
65
+ id: id
66
+ }, description);
67
+ };
68
+
69
+ var TitleField = function TitleField(_ref) {
70
+ var _classNames;
71
+
72
+ var formContext = _ref.formContext,
73
+ id = _ref.id,
74
+ prefixCls = _ref.prefixCls,
75
+ required = _ref.required,
76
+ title = _ref.title;
77
+ var _formContext$colon = formContext.colon,
78
+ colon = _formContext$colon === void 0 ? true : _formContext$colon;
79
+ var labelChildren = title;
80
+
81
+ if (colon && typeof title === 'string' && title.trim() !== '') {
82
+ labelChildren = title.replace(/[::]\s*$/, '');
83
+ }
84
+
85
+ var labelClassName = classNames((_classNames = {}, _classNames[prefixCls + "-item-required"] = required, _classNames[prefixCls + "-item-no-colon"] = !colon, _classNames));
86
+
87
+ var handleLabelClick = function handleLabelClick() {
88
+ if (!id) {
89
+ return;
90
+ }
91
+
92
+ var control = document.querySelector("[id=\"" + id + "\"]");
93
+
94
+ if (control && control.focus) {
95
+ control.focus();
96
+ }
97
+ };
98
+
99
+ return title ? /*#__PURE__*/React.createElement("label", {
100
+ className: labelClassName,
101
+ htmlFor: id,
102
+ onClick: handleLabelClick,
103
+ title: typeof title === 'string' ? title : ''
104
+ }, labelChildren) : null;
105
+ };
106
+
107
+ TitleField.defaultProps = {
108
+ formContext: {}
109
+ };
110
+ var TitleField$1 = /*#__PURE__*/withConfigConsumer({
111
+ prefixCls: 'form'
112
+ })(TitleField);
113
+
114
+ var ADDITIONAL_PROPERTY_FLAG = utils.ADDITIONAL_PROPERTY_FLAG;
115
+ var VERTICAL_LABEL_COL = {
116
+ span: 24
117
+ };
118
+ var VERTICAL_WRAPPER_COL = {
119
+ span: 24
120
+ };
121
+ var INPUT_STYLE = {
122
+ width: '100%'
123
+ };
124
+
125
+ var WrapIfAdditional = function WrapIfAdditional(_ref) {
126
+ var children = _ref.children,
127
+ classNames = _ref.classNames,
128
+ disabled = _ref.disabled,
129
+ formContext = _ref.formContext,
130
+ id = _ref.id,
131
+ label = _ref.label,
132
+ onDropPropertyClick = _ref.onDropPropertyClick,
133
+ onKeyChange = _ref.onKeyChange,
134
+ readonly = _ref.readonly,
135
+ required = _ref.required,
136
+ schema = _ref.schema;
137
+ var colon = formContext.colon,
138
+ _formContext$labelCol = formContext.labelCol,
139
+ labelCol = _formContext$labelCol === void 0 ? VERTICAL_LABEL_COL : _formContext$labelCol,
140
+ _formContext$readonly = formContext.readonlyAsDisabled,
141
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly,
142
+ _formContext$rowGutte = formContext.rowGutter,
143
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte,
144
+ _formContext$toolbarA = formContext.toolbarAlign,
145
+ toolbarAlign = _formContext$toolbarA === void 0 ? 'top' : _formContext$toolbarA,
146
+ _formContext$wrapperC = formContext.wrapperCol,
147
+ wrapperCol = _formContext$wrapperC === void 0 ? VERTICAL_WRAPPER_COL : _formContext$wrapperC,
148
+ wrapperStyle = formContext.wrapperStyle;
149
+ var keyLabel = label + " Key"; // i18n ?
150
+
151
+ var additional = schema.hasOwnProperty(ADDITIONAL_PROPERTY_FLAG);
152
+
153
+ if (!additional) {
154
+ return /*#__PURE__*/React.createElement("div", {
155
+ className: classNames
156
+ }, children);
157
+ }
158
+
159
+ var handleBlur = function handleBlur(_ref2) {
160
+ var target = _ref2.target;
161
+ return onKeyChange(target.value);
162
+ };
163
+
164
+ return /*#__PURE__*/React.createElement("div", {
165
+ className: classNames
166
+ }, /*#__PURE__*/React.createElement(Row, {
167
+ align: toolbarAlign,
168
+ gutter: rowGutter
169
+ }, /*#__PURE__*/React.createElement(Col, {
170
+ className: "form-additional",
171
+ flex: "1"
172
+ }, /*#__PURE__*/React.createElement("div", {
173
+ className: "form-group"
174
+ }, /*#__PURE__*/React.createElement(Form$1.Item, {
175
+ colon: colon,
176
+ className: "form-group",
177
+ hasFeedback: true,
178
+ htmlFor: id + "-key",
179
+ label: keyLabel,
180
+ labelCol: labelCol,
181
+ required: required,
182
+ style: wrapperStyle,
183
+ wrapperCol: wrapperCol
184
+ }, /*#__PURE__*/React.createElement(Input, {
185
+ className: "form-control",
186
+ defaultValue: label,
187
+ disabled: disabled || readonlyAsDisabled && readonly,
188
+ id: id + "-key",
189
+ name: id + "-key",
190
+ onBlur: !readonly ? handleBlur : undefined,
191
+ style: INPUT_STYLE,
192
+ type: "text"
193
+ })))), /*#__PURE__*/React.createElement(Col, {
194
+ className: "form-additional",
195
+ flex: "1"
196
+ }, children), /*#__PURE__*/React.createElement(Col, {
197
+ flex: "192px"
198
+ }, /*#__PURE__*/React.createElement(Button, {
199
+ block: true,
200
+ className: "array-item-remove",
201
+ danger: true,
202
+ disabled: disabled || readonly,
203
+ icon: /*#__PURE__*/React.createElement(DeleteOutlined, null),
204
+ onClick: onDropPropertyClick(label),
205
+ type: "primary"
206
+ }))));
207
+ };
208
+
209
+ var VERTICAL_LABEL_COL$1 = {
210
+ span: 24
211
+ };
212
+ var VERTICAL_WRAPPER_COL$1 = {
213
+ span: 24
214
+ };
215
+
216
+ var FieldTemplate = function FieldTemplate(_ref) {
217
+ var children = _ref.children,
218
+ classNames = _ref.classNames,
219
+ description = _ref.description,
220
+ disabled = _ref.disabled,
221
+ displayLabel = _ref.displayLabel,
222
+ formContext = _ref.formContext,
223
+ help = _ref.help,
224
+ hidden = _ref.hidden,
225
+ id = _ref.id,
226
+ label = _ref.label,
227
+ onDropPropertyClick = _ref.onDropPropertyClick,
228
+ onKeyChange = _ref.onKeyChange,
229
+ rawErrors = _ref.rawErrors,
230
+ rawHelp = _ref.rawHelp,
231
+ readonly = _ref.readonly,
232
+ required = _ref.required,
233
+ schema = _ref.schema;
234
+ var colon = formContext.colon,
235
+ _formContext$labelCol = formContext.labelCol,
236
+ labelCol = _formContext$labelCol === void 0 ? VERTICAL_LABEL_COL$1 : _formContext$labelCol,
237
+ _formContext$wrapperC = formContext.wrapperCol,
238
+ wrapperCol = _formContext$wrapperC === void 0 ? VERTICAL_WRAPPER_COL$1 : _formContext$wrapperC,
239
+ wrapperStyle = formContext.wrapperStyle;
240
+
241
+ if (hidden) {
242
+ return /*#__PURE__*/React.createElement("div", {
243
+ className: "field-hidden"
244
+ }, children);
245
+ }
246
+
247
+ var renderFieldErrors = function renderFieldErrors() {
248
+ return [].concat(new Set(rawErrors)).map(function (error) {
249
+ return /*#__PURE__*/React.createElement("div", {
250
+ key: "field-" + id + "-error-" + error
251
+ }, error);
252
+ });
253
+ };
254
+
255
+ return /*#__PURE__*/React.createElement(WrapIfAdditional, {
256
+ classNames: classNames,
257
+ disabled: disabled,
258
+ formContext: formContext,
259
+ id: id,
260
+ label: label,
261
+ onDropPropertyClick: onDropPropertyClick,
262
+ onKeyChange: onKeyChange,
263
+ readonly: readonly,
264
+ required: required,
265
+ schema: schema
266
+ }, id === 'root' ? children : /*#__PURE__*/React.createElement(Form$1.Item, {
267
+ colon: colon,
268
+ extra: description,
269
+ hasFeedback: schema.type !== 'array' && schema.type !== 'object',
270
+ help: !!rawHelp && help || !!rawErrors && renderFieldErrors(),
271
+ htmlFor: id,
272
+ label: displayLabel && label,
273
+ labelCol: labelCol,
274
+ required: required,
275
+ style: wrapperStyle,
276
+ validateStatus: rawErrors ? 'error' : undefined,
277
+ wrapperCol: wrapperCol
278
+ }, children));
279
+ };
280
+
281
+ var canExpand = utils.canExpand;
282
+ var DESCRIPTION_COL_STYLE = {
283
+ paddingBottom: '8px'
284
+ };
285
+
286
+ var ObjectFieldTemplate = function ObjectFieldTemplate(_ref) {
287
+ var DescriptionField = _ref.DescriptionField,
288
+ TitleField = _ref.TitleField,
289
+ description = _ref.description,
290
+ disabled = _ref.disabled,
291
+ formContext = _ref.formContext,
292
+ formData = _ref.formData,
293
+ idSchema = _ref.idSchema,
294
+ onAddClick = _ref.onAddClick,
295
+ prefixCls = _ref.prefixCls,
296
+ properties = _ref.properties,
297
+ readonly = _ref.readonly,
298
+ required = _ref.required,
299
+ schema = _ref.schema,
300
+ title = _ref.title,
301
+ uiSchema = _ref.uiSchema;
302
+ var _formContext$colSpan = formContext.colSpan,
303
+ colSpan = _formContext$colSpan === void 0 ? 24 : _formContext$colSpan,
304
+ _formContext$labelAli = formContext.labelAlign,
305
+ labelAlign = _formContext$labelAli === void 0 ? 'right' : _formContext$labelAli,
306
+ _formContext$rowGutte = formContext.rowGutter,
307
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
308
+ var labelClsBasic = prefixCls + "-item-label";
309
+ var labelColClassName = classNames(labelClsBasic, labelAlign === 'left' && labelClsBasic + "-left" // labelCol.className,
310
+ );
311
+
312
+ var findSchema = function findSchema(element) {
313
+ return element.content.props.schema;
314
+ };
315
+
316
+ var findSchemaType = function findSchemaType(element) {
317
+ return findSchema(element).type;
318
+ };
319
+
320
+ var findUiSchema = function findUiSchema(element) {
321
+ return element.content.props.uiSchema;
322
+ };
323
+
324
+ var findUiSchemaField = function findUiSchemaField(element) {
325
+ return findUiSchema(element)['ui:field'];
326
+ };
327
+
328
+ var findUiSchemaWidget = function findUiSchemaWidget(element) {
329
+ return findUiSchema(element)['ui:widget'];
330
+ };
331
+
332
+ var calculateColSpan = function calculateColSpan(element) {
333
+ var type = findSchemaType(element);
334
+ var field = findUiSchemaField(element);
335
+ var widget = findUiSchemaWidget(element);
336
+ var defaultColSpan = properties.length < 2 || // Single or no field in object.
337
+ type === 'object' || type === 'array' || widget === 'textarea' ? 24 : 12;
338
+
339
+ if (_.isObject(colSpan)) {
340
+ return colSpan[widget] || colSpan[field] || colSpan[type] || defaultColSpan;
341
+ }
342
+
343
+ if (_.isNumber(colSpan)) {
344
+ return colSpan;
345
+ }
346
+
347
+ return defaultColSpan;
348
+ };
349
+
350
+ return /*#__PURE__*/React.createElement("fieldset", {
351
+ id: idSchema.$id
352
+ }, /*#__PURE__*/React.createElement(Row, {
353
+ gutter: rowGutter
354
+ }, uiSchema['ui:title'] !== false && (uiSchema['ui:title'] || title) && /*#__PURE__*/React.createElement(Col, {
355
+ className: labelColClassName,
356
+ span: 24
357
+ }, /*#__PURE__*/React.createElement(TitleField, {
358
+ id: idSchema.$id + "-title",
359
+ required: required,
360
+ title: uiSchema['ui:title'] || title
361
+ })), uiSchema['ui:description'] !== false && (uiSchema['ui:description'] || description) && /*#__PURE__*/React.createElement(Col, {
362
+ span: 24,
363
+ style: DESCRIPTION_COL_STYLE
364
+ }, /*#__PURE__*/React.createElement(DescriptionField, {
365
+ description: uiSchema['ui:description'] || description,
366
+ id: idSchema.$id + "-description"
367
+ })), properties.filter(function (e) {
368
+ return !e.hidden;
369
+ }).map(function (element) {
370
+ return /*#__PURE__*/React.createElement(Col, {
371
+ key: element.name,
372
+ span: calculateColSpan(element)
373
+ }, element.content);
374
+ })), canExpand(schema, uiSchema, formData) && /*#__PURE__*/React.createElement(Col, {
375
+ span: 24
376
+ }, /*#__PURE__*/React.createElement(Row, {
377
+ gutter: rowGutter,
378
+ justify: "end"
379
+ }, /*#__PURE__*/React.createElement(Col, {
380
+ flex: "192px"
381
+ }, /*#__PURE__*/React.createElement(Button, {
382
+ block: true,
383
+ className: "object-property-expand",
384
+ disabled: disabled || readonly,
385
+ onClick: onAddClick(schema),
386
+ type: "primary"
387
+ }, /*#__PURE__*/React.createElement(PlusCircleOutlined, null), " Add Item")))));
388
+ };
389
+
390
+ var ObjectFieldTemplate$1 = /*#__PURE__*/withConfigConsumer({
391
+ prefixCls: 'form'
392
+ })(ObjectFieldTemplate);
393
+
394
+ var BTN_GRP_STYLE = {
395
+ width: '100%'
396
+ };
397
+ var BTN_STYLE = {
398
+ width: 'calc(100% / 3)'
399
+ };
400
+
401
+ var ArrayFieldTemplateItem = function ArrayFieldTemplateItem(_ref) {
402
+ var children = _ref.children,
403
+ disabled = _ref.disabled,
404
+ formContext = _ref.formContext,
405
+ hasMoveDown = _ref.hasMoveDown,
406
+ hasMoveUp = _ref.hasMoveUp,
407
+ hasRemove = _ref.hasRemove,
408
+ hasToolbar = _ref.hasToolbar,
409
+ index = _ref.index,
410
+ onDropIndexClick = _ref.onDropIndexClick,
411
+ onReorderClick = _ref.onReorderClick,
412
+ readonly = _ref.readonly;
413
+ var _formContext$rowGutte = formContext.rowGutter,
414
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte,
415
+ _formContext$toolbarA = formContext.toolbarAlign,
416
+ toolbarAlign = _formContext$toolbarA === void 0 ? 'top' : _formContext$toolbarA;
417
+ return /*#__PURE__*/React.createElement(Row, {
418
+ align: toolbarAlign,
419
+ key: "array-item-" + index,
420
+ gutter: rowGutter
421
+ }, /*#__PURE__*/React.createElement(Col, {
422
+ flex: "1"
423
+ }, children), hasToolbar && /*#__PURE__*/React.createElement(Col, {
424
+ flex: "192px"
425
+ }, /*#__PURE__*/React.createElement(Button.Group, {
426
+ style: BTN_GRP_STYLE
427
+ }, (hasMoveUp || hasMoveDown) && /*#__PURE__*/React.createElement(Button, {
428
+ disabled: disabled || readonly || !hasMoveUp,
429
+ icon: /*#__PURE__*/React.createElement(ArrowUpOutlined, null),
430
+ onClick: onReorderClick(index, index - 1),
431
+ style: BTN_STYLE,
432
+ type: "default"
433
+ }), (hasMoveUp || hasMoveDown) && /*#__PURE__*/React.createElement(Button, {
434
+ disabled: disabled || readonly || !hasMoveDown,
435
+ icon: /*#__PURE__*/React.createElement(ArrowDownOutlined, null),
436
+ onClick: onReorderClick(index, index + 1),
437
+ style: BTN_STYLE,
438
+ type: "default"
439
+ }), hasRemove && /*#__PURE__*/React.createElement(Button, {
440
+ danger: true,
441
+ disabled: disabled || readonly,
442
+ icon: /*#__PURE__*/React.createElement(DeleteOutlined, null),
443
+ onClick: onDropIndexClick(index),
444
+ style: BTN_STYLE,
445
+ type: "primary"
446
+ }))));
447
+ };
448
+
449
+ ArrayFieldTemplateItem.defaultProps = {
450
+ formContext: {}
451
+ };
452
+
453
+ var DESCRIPTION_COL_STYLE$1 = {
454
+ paddingBottom: '8px'
455
+ };
456
+
457
+ var FixedArrayFieldTemplate = function FixedArrayFieldTemplate(_ref) {
458
+ var canAdd = _ref.canAdd,
459
+ className = _ref.className,
460
+ DescriptionField = _ref.DescriptionField,
461
+ disabled = _ref.disabled,
462
+ formContext = _ref.formContext,
463
+ idSchema = _ref.idSchema,
464
+ items = _ref.items,
465
+ onAddClick = _ref.onAddClick,
466
+ prefixCls = _ref.prefixCls,
467
+ readonly = _ref.readonly,
468
+ required = _ref.required,
469
+ schema = _ref.schema,
470
+ title = _ref.title,
471
+ TitleField = _ref.TitleField,
472
+ uiSchema = _ref.uiSchema;
473
+ var _formContext$labelAli = formContext.labelAlign,
474
+ labelAlign = _formContext$labelAli === void 0 ? 'right' : _formContext$labelAli,
475
+ _formContext$rowGutte = formContext.rowGutter,
476
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
477
+ var labelClsBasic = prefixCls + "-item-label";
478
+ var labelColClassName = classNames(labelClsBasic, labelAlign === 'left' && labelClsBasic + "-left" // labelCol.className,
479
+ );
480
+ return /*#__PURE__*/React.createElement("fieldset", {
481
+ className: className,
482
+ id: idSchema.$id
483
+ }, /*#__PURE__*/React.createElement(Row, {
484
+ gutter: rowGutter
485
+ }, title && /*#__PURE__*/React.createElement(Col, {
486
+ className: labelColClassName,
487
+ span: 24
488
+ }, /*#__PURE__*/React.createElement(TitleField, {
489
+ id: idSchema.$id + "__title",
490
+ key: "array-field-title-" + idSchema.$id,
491
+ required: required,
492
+ title: uiSchema['ui:title'] || title
493
+ })), (uiSchema['ui:description'] || schema.description) && /*#__PURE__*/React.createElement(Col, {
494
+ span: 24,
495
+ style: DESCRIPTION_COL_STYLE$1
496
+ }, /*#__PURE__*/React.createElement(DescriptionField, {
497
+ description: uiSchema['ui:description'] || schema.description,
498
+ id: idSchema.$id + "-description",
499
+ key: "array-field-description-" + idSchema.$id
500
+ })), /*#__PURE__*/React.createElement(Col, {
501
+ className: "row array-item-list",
502
+ span: 24
503
+ }, items && items.map(function (itemProps) {
504
+ return /*#__PURE__*/React.createElement(ArrayFieldTemplateItem, _extends({}, itemProps, {
505
+ formContext: formContext
506
+ }));
507
+ })), canAdd && /*#__PURE__*/React.createElement(Col, {
508
+ span: 24
509
+ }, /*#__PURE__*/React.createElement(Row, {
510
+ gutter: rowGutter,
511
+ justify: "end"
512
+ }, /*#__PURE__*/React.createElement(Col, {
513
+ flex: "192px"
514
+ }, /*#__PURE__*/React.createElement(Button, {
515
+ block: true,
516
+ className: "array-item-add",
517
+ disabled: disabled || readonly,
518
+ onClick: onAddClick,
519
+ type: "primary"
520
+ }, /*#__PURE__*/React.createElement(PlusCircleOutlined, null), " Add Item"))))));
521
+ };
522
+
523
+ var FixedArrayFieldTemplate$1 = /*#__PURE__*/withConfigConsumer({
524
+ prefixCls: 'form'
525
+ })(FixedArrayFieldTemplate);
526
+
527
+ var DESCRIPTION_COL_STYLE$2 = {
528
+ paddingBottom: '8px'
529
+ };
530
+
531
+ var NormalArrayFieldTemplate = function NormalArrayFieldTemplate(_ref) {
532
+ var canAdd = _ref.canAdd,
533
+ className = _ref.className,
534
+ DescriptionField = _ref.DescriptionField,
535
+ disabled = _ref.disabled,
536
+ formContext = _ref.formContext,
537
+ idSchema = _ref.idSchema,
538
+ items = _ref.items,
539
+ onAddClick = _ref.onAddClick,
540
+ prefixCls = _ref.prefixCls,
541
+ readonly = _ref.readonly,
542
+ required = _ref.required,
543
+ schema = _ref.schema,
544
+ title = _ref.title,
545
+ TitleField = _ref.TitleField,
546
+ uiSchema = _ref.uiSchema;
547
+ var _formContext$labelAli = formContext.labelAlign,
548
+ labelAlign = _formContext$labelAli === void 0 ? 'right' : _formContext$labelAli,
549
+ _formContext$rowGutte = formContext.rowGutter,
550
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
551
+ var labelClsBasic = prefixCls + "-item-label";
552
+ var labelColClassName = classNames(labelClsBasic, labelAlign === 'left' && labelClsBasic + "-left" // labelCol.className,
553
+ );
554
+ return /*#__PURE__*/React.createElement("fieldset", {
555
+ className: className,
556
+ id: idSchema.$id
557
+ }, /*#__PURE__*/React.createElement(Row, {
558
+ gutter: rowGutter
559
+ }, title && /*#__PURE__*/React.createElement(Col, {
560
+ className: labelColClassName,
561
+ span: 24
562
+ }, /*#__PURE__*/React.createElement(TitleField, {
563
+ id: idSchema.$id + "__title",
564
+ key: "array-field-title-" + idSchema.$id,
565
+ required: required,
566
+ title: uiSchema['ui:title'] || title
567
+ })), (uiSchema['ui:description'] || schema.description) && /*#__PURE__*/React.createElement(Col, {
568
+ span: 24,
569
+ style: DESCRIPTION_COL_STYLE$2
570
+ }, /*#__PURE__*/React.createElement(DescriptionField, {
571
+ description: uiSchema['ui:description'] || schema.description,
572
+ id: idSchema.$id + "__description",
573
+ key: "array-field-description-" + idSchema.$id
574
+ })), /*#__PURE__*/React.createElement(Col, {
575
+ className: "row array-item-list",
576
+ span: 24
577
+ }, items && items.map(function (itemProps) {
578
+ return /*#__PURE__*/React.createElement(ArrayFieldTemplateItem, _extends({}, itemProps, {
579
+ formContext: formContext
580
+ }));
581
+ })), canAdd && /*#__PURE__*/React.createElement(Col, {
582
+ span: 24
583
+ }, /*#__PURE__*/React.createElement(Row, {
584
+ gutter: rowGutter,
585
+ justify: "end"
586
+ }, /*#__PURE__*/React.createElement(Col, {
587
+ flex: "192px"
588
+ }, /*#__PURE__*/React.createElement(Button, {
589
+ block: true,
590
+ className: "array-item-add",
591
+ disabled: disabled || readonly,
592
+ onClick: onAddClick,
593
+ type: "primary"
594
+ }, /*#__PURE__*/React.createElement(PlusCircleOutlined, null), " Add Item"))))));
595
+ };
596
+
597
+ var NormalArrayFieldTemplate$1 = /*#__PURE__*/withConfigConsumer({
598
+ prefixCls: 'form'
599
+ })(NormalArrayFieldTemplate);
600
+
601
+ var getUiOptions = utils.getUiOptions,
602
+ getWidget = utils.getWidget,
603
+ isFilesArray = utils.isFilesArray,
604
+ isFixedItems = utils.isFixedItems,
605
+ isMultiSelect = utils.isMultiSelect,
606
+ optionsList = utils.optionsList,
607
+ retrieveSchema = utils.retrieveSchema;
608
+
609
+ var ArrayFieldTemplate = function ArrayFieldTemplate(_ref) {
610
+ var DescriptionField = _ref.DescriptionField,
611
+ TitleField = _ref.TitleField,
612
+ autofocus = _ref.autofocus,
613
+ canAdd = _ref.canAdd,
614
+ className = _ref.className,
615
+ disabled = _ref.disabled,
616
+ formContext = _ref.formContext,
617
+ formData = _ref.formData,
618
+ idSchema = _ref.idSchema,
619
+ items = _ref.items,
620
+ label = _ref.label,
621
+ name = _ref.name,
622
+ onAddClick = _ref.onAddClick,
623
+ onBlur = _ref.onBlur,
624
+ onChange = _ref.onChange,
625
+ onFocus = _ref.onFocus,
626
+ placeholder = _ref.placeholder,
627
+ rawErrors = _ref.rawErrors,
628
+ readonly = _ref.readonly,
629
+ registry = _ref.registry,
630
+ required = _ref.required,
631
+ schema = _ref.schema,
632
+ title = _ref.title,
633
+ uiSchema = _ref.uiSchema;
634
+ var fields = registry.fields,
635
+ rootSchema = registry.rootSchema,
636
+ widgets = registry.widgets;
637
+ var UnsupportedField = fields.UnsupportedField;
638
+
639
+ var renderFiles = function renderFiles() {
640
+ var _getUiOptions = getUiOptions(uiSchema),
641
+ _getUiOptions$widget = _getUiOptions.widget,
642
+ widget = _getUiOptions$widget === void 0 ? 'files' : _getUiOptions$widget,
643
+ options = _objectWithoutPropertiesLoose(_getUiOptions, ["widget"]);
644
+
645
+ var Widget = getWidget(schema, widget, widgets);
646
+ return /*#__PURE__*/React.createElement(Widget, {
647
+ autofocus: autofocus,
648
+ disabled: disabled,
649
+ formContext: formContext,
650
+ id: idSchema && idSchema.$id,
651
+ multiple: true,
652
+ onBlur: onBlur,
653
+ onChange: onChange,
654
+ onFocus: onFocus,
655
+ options: options,
656
+ rawErrors: rawErrors,
657
+ readonly: readonly,
658
+ registry: registry,
659
+ schema: schema,
660
+ title: schema.title || name // Why not props.title?
661
+ ,
662
+ value: formData
663
+ });
664
+ };
665
+
666
+ var renderMultiSelect = function renderMultiSelect() {
667
+ var itemsSchema = retrieveSchema(schema.items, rootSchema, formData);
668
+ var enumOptions = optionsList(itemsSchema);
669
+
670
+ var _getUiOptions$enumOpt = _extends({}, getUiOptions(uiSchema), {
671
+ enumOptions: enumOptions
672
+ }),
673
+ _getUiOptions$enumOpt2 = _getUiOptions$enumOpt.widget,
674
+ widget = _getUiOptions$enumOpt2 === void 0 ? 'select' : _getUiOptions$enumOpt2,
675
+ options = _objectWithoutPropertiesLoose(_getUiOptions$enumOpt, ["widget"]);
676
+
677
+ var Widget = getWidget(schema, widget, widgets);
678
+ return /*#__PURE__*/React.createElement(Widget, {
679
+ autofocus: autofocus,
680
+ disabled: disabled,
681
+ formContext: formContext,
682
+ id: idSchema && idSchema.$id,
683
+ label: label,
684
+ multiple: true,
685
+ onBlur: onBlur,
686
+ onChange: onChange,
687
+ onFocus: onFocus,
688
+ options: options,
689
+ placeholder: placeholder,
690
+ rawErrors: rawErrors,
691
+ readonly: readonly,
692
+ registry: registry,
693
+ required: required,
694
+ schema: schema,
695
+ value: formData
696
+ });
697
+ };
698
+
699
+ if (!Object.prototype.hasOwnProperty.call(schema, 'items')) {
700
+ return /*#__PURE__*/React.createElement(UnsupportedField, {
701
+ idSchema: idSchema,
702
+ reason: "Missing items definition",
703
+ schema: schema
704
+ });
705
+ }
706
+
707
+ if (isFixedItems(schema)) {
708
+ return /*#__PURE__*/React.createElement(FixedArrayFieldTemplate$1, {
709
+ canAdd: canAdd,
710
+ className: className,
711
+ DescriptionField: DescriptionField,
712
+ disabled: disabled,
713
+ formContext: formContext,
714
+ formData: formData,
715
+ idSchema: idSchema,
716
+ items: items,
717
+ onAddClick: onAddClick,
718
+ readonly: readonly,
719
+ registry: registry,
720
+ required: required,
721
+ schema: schema,
722
+ title: title,
723
+ TitleField: TitleField,
724
+ uiSchema: uiSchema
725
+ });
726
+ }
727
+
728
+ if (isFilesArray(schema, uiSchema, rootSchema)) {
729
+ return renderFiles();
730
+ }
731
+
732
+ if (isMultiSelect(schema, rootSchema)) {
733
+ return renderMultiSelect();
734
+ }
735
+
736
+ return /*#__PURE__*/React.createElement(NormalArrayFieldTemplate$1, {
737
+ canAdd: canAdd,
738
+ className: className,
739
+ DescriptionField: DescriptionField,
740
+ disabled: disabled,
741
+ formContext: formContext,
742
+ formData: formData,
743
+ idSchema: idSchema,
744
+ items: items,
745
+ onAddClick: onAddClick,
746
+ readonly: readonly,
747
+ registry: registry,
748
+ required: required,
749
+ schema: schema,
750
+ title: title,
751
+ TitleField: TitleField,
752
+ uiSchema: uiSchema
753
+ });
754
+ };
755
+
756
+ var pad = utils.pad,
757
+ parseDateString = utils.parseDateString,
758
+ toDateString = utils.toDateString;
759
+
760
+ var rangeOptions = function rangeOptions(start, stop) {
761
+ var options = [];
762
+
763
+ for (var i = start; i <= stop; i++) {
764
+ options.push({
765
+ value: i,
766
+ label: pad(i, 2)
767
+ });
768
+ }
769
+
770
+ return options;
771
+ };
772
+
773
+ var readyForChange = function readyForChange(state) {
774
+ return Object.keys(state).every(function (key) {
775
+ return typeof state[key] !== "undefined" && state[key] !== -1;
776
+ });
777
+ };
778
+
779
+ var AltDateWidget = function AltDateWidget(_ref) {
780
+ var autofocus = _ref.autofocus,
781
+ disabled = _ref.disabled,
782
+ formContext = _ref.formContext,
783
+ id = _ref.id,
784
+ onBlur = _ref.onBlur,
785
+ onChange = _ref.onChange,
786
+ onFocus = _ref.onFocus,
787
+ options = _ref.options,
788
+ readonly = _ref.readonly,
789
+ registry = _ref.registry,
790
+ showTime = _ref.showTime,
791
+ value = _ref.value;
792
+ var SelectWidget = registry.widgets.SelectWidget;
793
+ var _formContext$rowGutte = formContext.rowGutter,
794
+ rowGutter = _formContext$rowGutte === void 0 ? 24 : _formContext$rowGutte;
795
+
796
+ var _useState = useState(parseDateString(value, showTime)),
797
+ state = _useState[0],
798
+ setState = _useState[1];
799
+
800
+ useEffect(function () {
801
+ setState(parseDateString(value, showTime));
802
+ }, [showTime, value]);
803
+
804
+ var handleChange = function handleChange(property, nextValue) {
805
+ var _extends2;
806
+
807
+ var nextState = _extends({}, state, (_extends2 = {}, _extends2[property] = typeof nextValue === "undefined" ? -1 : nextValue, _extends2));
808
+
809
+ if (readyForChange(nextState)) {
810
+ onChange(toDateString(nextState, showTime));
811
+ } else {
812
+ setState(nextState);
813
+ }
814
+ };
815
+
816
+ var handleNow = function handleNow(event) {
817
+ event.preventDefault();
818
+
819
+ if (disabled || readonly) {
820
+ return;
821
+ }
822
+
823
+ var nextState = parseDateString(new Date().toJSON(), showTime);
824
+ onChange(toDateString(nextState, showTime));
825
+ };
826
+
827
+ var handleClear = function handleClear(event) {
828
+ event.preventDefault();
829
+
830
+ if (disabled || readonly) {
831
+ return;
832
+ }
833
+
834
+ onChange(undefined);
835
+ };
836
+
837
+ var dateElementProps = function dateElementProps() {
838
+ var year = state.year,
839
+ month = state.month,
840
+ day = state.day,
841
+ hour = state.hour,
842
+ minute = state.minute,
843
+ second = state.second;
844
+ var data = [{
845
+ type: "year",
846
+ range: options.yearsRange,
847
+ value: year
848
+ }, {
849
+ type: "month",
850
+ range: [1, 12],
851
+ value: month
852
+ }, {
853
+ type: "day",
854
+ range: [1, 31],
855
+ value: day
856
+ }];
857
+
858
+ if (showTime) {
859
+ data.push({
860
+ type: "hour",
861
+ range: [0, 23],
862
+ value: hour
863
+ }, {
864
+ type: "minute",
865
+ range: [0, 59],
866
+ value: minute
867
+ }, {
868
+ type: "second",
869
+ range: [0, 59],
870
+ value: second
871
+ });
872
+ }
873
+
874
+ return data;
875
+ };
876
+
877
+ var renderDateElement = function renderDateElement(elemProps) {
878
+ return /*#__PURE__*/React.createElement(SelectWidget, {
879
+ autofocus: elemProps.autofocus,
880
+ className: "form-control",
881
+ disabled: elemProps.disabled,
882
+ id: elemProps.id,
883
+ onBlur: elemProps.onBlur,
884
+ onChange: function onChange(elemValue) {
885
+ return elemProps.select(elemProps.type, elemValue);
886
+ },
887
+ onFocus: elemProps.onFocus,
888
+ options: {
889
+ enumOptions: rangeOptions(elemProps.range[0], elemProps.range[1])
890
+ },
891
+ placeholder: elemProps.type,
892
+ readonly: elemProps.readonly,
893
+ schema: {
894
+ type: "integer"
895
+ },
896
+ value: elemProps.value
897
+ });
898
+ };
899
+
900
+ return /*#__PURE__*/React.createElement(Row, {
901
+ gutter: [Math.floor(rowGutter / 2), Math.floor(rowGutter / 2)]
902
+ }, dateElementProps().map(function (elemProps, i) {
903
+ var elemId = id + "_" + elemProps.type;
904
+ return /*#__PURE__*/React.createElement(Col, {
905
+ flex: "88px",
906
+ key: elemId
907
+ }, renderDateElement(_extends({}, elemProps, {
908
+ autofocus: autofocus && i === 0,
909
+ disabled: disabled,
910
+ id: elemId,
911
+ onBlur: onBlur,
912
+ onFocus: onFocus,
913
+ readonly: readonly,
914
+ registry: registry,
915
+ select: handleChange,
916
+ // NOTE: antd components accept -1 rather than issue a warning
917
+ // like material-ui, so we need to convert -1 to undefined here.
918
+ value: elemProps.value < 0 ? undefined : elemProps.value
919
+ })));
920
+ }), !options.hideNowButton && /*#__PURE__*/React.createElement(Col, {
921
+ flex: "88px"
922
+ }, /*#__PURE__*/React.createElement(Button, {
923
+ block: true,
924
+ className: "btn-now",
925
+ onClick: handleNow,
926
+ type: "primary"
927
+ }, "Now")), !options.hideClearButton && /*#__PURE__*/React.createElement(Col, {
928
+ flex: "88px"
929
+ }, /*#__PURE__*/React.createElement(Button, {
930
+ block: true,
931
+ className: "btn-clear",
932
+ danger: true,
933
+ onClick: handleClear,
934
+ type: "primary"
935
+ }, "Clear")));
936
+ };
937
+
938
+ AltDateWidget.defaultProps = {
939
+ autofocus: false,
940
+ disabled: false,
941
+ options: {
942
+ yearsRange: [1900, /*#__PURE__*/new Date().getFullYear() + 2]
943
+ },
944
+ readonly: false,
945
+ showTime: false
946
+ };
947
+
948
+ var AltDateTimeWidget = function AltDateTimeWidget(props) {
949
+ var AltDateWidget = props.registry.widgets.AltDateWidget;
950
+ return /*#__PURE__*/React.createElement(AltDateWidget, _extends({
951
+ showTime: true
952
+ }, props));
953
+ };
954
+
955
+ AltDateTimeWidget.defaultProps = /*#__PURE__*/_extends({}, AltDateWidget.defaultProps, {
956
+ showTime: true
957
+ });
958
+
959
+ var CheckboxesWidget = function CheckboxesWidget(_ref) {
960
+ var autofocus = _ref.autofocus,
961
+ disabled = _ref.disabled,
962
+ formContext = _ref.formContext,
963
+ id = _ref.id,
964
+ onBlur = _ref.onBlur,
965
+ onChange = _ref.onChange,
966
+ onFocus = _ref.onFocus,
967
+ options = _ref.options,
968
+ readonly = _ref.readonly,
969
+ value = _ref.value;
970
+ var _formContext$readonly = formContext.readonlyAsDisabled,
971
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
972
+ var enumOptions = options.enumOptions,
973
+ enumDisabled = options.enumDisabled,
974
+ inline = options.inline;
975
+
976
+ var handleChange = function handleChange(nextValue) {
977
+ return onChange(nextValue);
978
+ };
979
+
980
+ var handleBlur = function handleBlur(_ref2) {
981
+ var target = _ref2.target;
982
+ return onBlur(id, target.value);
983
+ };
984
+
985
+ var handleFocus = function handleFocus(_ref3) {
986
+ var target = _ref3.target;
987
+ return onFocus(id, target.value);
988
+ };
989
+
990
+ return !_.isEmpty(enumOptions) ? /*#__PURE__*/React.createElement(Checkbox.Group, {
991
+ disabled: disabled || readonlyAsDisabled && readonly,
992
+ id: id,
993
+ name: id,
994
+ onBlur: !readonly ? handleBlur : undefined,
995
+ onChange: !readonly ? handleChange : undefined,
996
+ onFocus: !readonly ? handleFocus : undefined,
997
+ value: value
998
+ }, enumOptions.map(function (_ref4, i) {
999
+ var optionValue = _ref4.value,
1000
+ optionLabel = _ref4.label;
1001
+ return /*#__PURE__*/React.createElement("span", {
1002
+ key: optionValue
1003
+ }, /*#__PURE__*/React.createElement(Checkbox, {
1004
+ autoFocus: i === 0 ? autofocus : false,
1005
+ disabled: enumDisabled && enumDisabled.indexOf(value) !== -1,
1006
+ value: optionValue
1007
+ }, optionLabel), !inline && /*#__PURE__*/React.createElement("br", null));
1008
+ })) : null;
1009
+ };
1010
+
1011
+ var CheckboxWidget = function CheckboxWidget(_ref) {
1012
+ var autofocus = _ref.autofocus,
1013
+ disabled = _ref.disabled,
1014
+ formContext = _ref.formContext,
1015
+ id = _ref.id,
1016
+ label = _ref.label,
1017
+ onBlur = _ref.onBlur,
1018
+ onChange = _ref.onChange,
1019
+ onFocus = _ref.onFocus,
1020
+ readonly = _ref.readonly,
1021
+ value = _ref.value;
1022
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1023
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1024
+
1025
+ var handleChange = function handleChange(_ref2) {
1026
+ var target = _ref2.target;
1027
+ return onChange(target.checked);
1028
+ };
1029
+
1030
+ var handleBlur = function handleBlur(_ref3) {
1031
+ var target = _ref3.target;
1032
+ return onBlur(id, target.checked);
1033
+ };
1034
+
1035
+ var handleFocus = function handleFocus(_ref4) {
1036
+ var target = _ref4.target;
1037
+ return onFocus(id, target.checked);
1038
+ };
1039
+
1040
+ return /*#__PURE__*/React.createElement(Checkbox, {
1041
+ autoFocus: autofocus,
1042
+ checked: typeof value === 'undefined' ? false : value,
1043
+ disabled: disabled || readonlyAsDisabled && readonly,
1044
+ id: id,
1045
+ name: id,
1046
+ onBlur: !readonly ? handleBlur : undefined,
1047
+ onChange: !readonly ? handleChange : undefined,
1048
+ onFocus: !readonly ? handleFocus : undefined
1049
+ }, label);
1050
+ };
1051
+
1052
+ var INPUT_STYLE$1 = {
1053
+ width: '100%'
1054
+ };
1055
+
1056
+ var ColorWidget = function ColorWidget(_ref) {
1057
+ var disabled = _ref.disabled,
1058
+ formContext = _ref.formContext,
1059
+ id = _ref.id,
1060
+ onBlur = _ref.onBlur,
1061
+ onChange = _ref.onChange,
1062
+ onFocus = _ref.onFocus,
1063
+ placeholder = _ref.placeholder,
1064
+ readonly = _ref.readonly,
1065
+ value = _ref.value;
1066
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1067
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1068
+
1069
+ var handleChange = function handleChange(_ref2) {
1070
+ var target = _ref2.target;
1071
+ return onChange(target.value);
1072
+ };
1073
+
1074
+ var handleBlur = function handleBlur(_ref3) {
1075
+ var target = _ref3.target;
1076
+ return onBlur(id, target.value);
1077
+ };
1078
+
1079
+ var handleFocus = function handleFocus(_ref4) {
1080
+ var target = _ref4.target;
1081
+ return onFocus(id, target.value);
1082
+ };
1083
+
1084
+ return /*#__PURE__*/React.createElement(Checkbox, {
1085
+ disabled: disabled || readonlyAsDisabled && readonly,
1086
+ id: id,
1087
+ name: id,
1088
+ onBlur: !readonly ? handleBlur : undefined,
1089
+ onChange: !readonly ? handleChange : undefined,
1090
+ onFocus: !readonly ? handleFocus : undefined,
1091
+ placeholder: placeholder,
1092
+ style: INPUT_STYLE$1,
1093
+ type: "color",
1094
+ value: value
1095
+ });
1096
+ };
1097
+
1098
+ var DatePicker = /*#__PURE__*/generatePicker(dayjsGenerateConfig);
1099
+
1100
+ var DATE_PICKER_STYLE = {
1101
+ width: '100%'
1102
+ };
1103
+
1104
+ var DateTimeWidget = function DateTimeWidget(_ref) {
1105
+ var disabled = _ref.disabled,
1106
+ formContext = _ref.formContext,
1107
+ id = _ref.id,
1108
+ onBlur = _ref.onBlur,
1109
+ onChange = _ref.onChange,
1110
+ onFocus = _ref.onFocus,
1111
+ placeholder = _ref.placeholder,
1112
+ readonly = _ref.readonly,
1113
+ value = _ref.value;
1114
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1115
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1116
+
1117
+ var handleChange = function handleChange(nextValue) {
1118
+ return onChange(nextValue && nextValue.toISOString());
1119
+ };
1120
+
1121
+ var handleBlur = function handleBlur() {
1122
+ return onBlur(id, value);
1123
+ };
1124
+
1125
+ var handleFocus = function handleFocus() {
1126
+ return onFocus(id, value);
1127
+ };
1128
+
1129
+ var getPopupContainer = function getPopupContainer(node) {
1130
+ return node.parentNode;
1131
+ };
1132
+
1133
+ return /*#__PURE__*/React.createElement(DatePicker, {
1134
+ disabled: disabled || readonlyAsDisabled && readonly,
1135
+ getPopupContainer: getPopupContainer,
1136
+ id: id,
1137
+ name: id,
1138
+ onBlur: !readonly ? handleBlur : undefined,
1139
+ onChange: !readonly ? handleChange : undefined,
1140
+ onFocus: !readonly ? handleFocus : undefined,
1141
+ placeholder: placeholder,
1142
+ showTime: true,
1143
+ style: DATE_PICKER_STYLE,
1144
+ value: value && dayjs(value)
1145
+ });
1146
+ };
1147
+
1148
+ var DATE_PICKER_STYLE$1 = {
1149
+ width: '100%'
1150
+ };
1151
+
1152
+ var DateWidget = function DateWidget(_ref) {
1153
+ var disabled = _ref.disabled,
1154
+ formContext = _ref.formContext,
1155
+ id = _ref.id,
1156
+ onBlur = _ref.onBlur,
1157
+ onChange = _ref.onChange,
1158
+ onFocus = _ref.onFocus,
1159
+ placeholder = _ref.placeholder,
1160
+ readonly = _ref.readonly,
1161
+ value = _ref.value;
1162
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1163
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1164
+
1165
+ var handleChange = function handleChange(nextValue) {
1166
+ return onChange(nextValue && nextValue.format('YYYY-MM-DD'));
1167
+ };
1168
+
1169
+ var handleBlur = function handleBlur() {
1170
+ return onBlur(id, value);
1171
+ };
1172
+
1173
+ var handleFocus = function handleFocus() {
1174
+ return onFocus(id, value);
1175
+ };
1176
+
1177
+ var getPopupContainer = function getPopupContainer(node) {
1178
+ return node.parentNode;
1179
+ };
1180
+
1181
+ return /*#__PURE__*/React.createElement(DatePicker, {
1182
+ disabled: disabled || readonlyAsDisabled && readonly,
1183
+ getPopupContainer: getPopupContainer,
1184
+ id: id,
1185
+ name: id,
1186
+ onBlur: !readonly ? handleBlur : undefined,
1187
+ onChange: !readonly ? handleChange : undefined,
1188
+ onFocus: !readonly ? handleFocus : undefined,
1189
+ placeholder: placeholder,
1190
+ showTime: false,
1191
+ style: DATE_PICKER_STYLE$1,
1192
+ value: value && dayjs(value)
1193
+ });
1194
+ };
1195
+
1196
+ var INPUT_STYLE$2 = {
1197
+ width: '100%'
1198
+ };
1199
+
1200
+ var EmailWidget = function EmailWidget(_ref) {
1201
+ var disabled = _ref.disabled,
1202
+ formContext = _ref.formContext,
1203
+ id = _ref.id,
1204
+ onBlur = _ref.onBlur,
1205
+ onChange = _ref.onChange,
1206
+ onFocus = _ref.onFocus,
1207
+ options = _ref.options,
1208
+ placeholder = _ref.placeholder,
1209
+ readonly = _ref.readonly,
1210
+ value = _ref.value;
1211
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1212
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1213
+
1214
+ var handleChange = function handleChange(_ref2) {
1215
+ var target = _ref2.target;
1216
+ return onChange(target.value === '' ? options.emptyValue : target.value);
1217
+ };
1218
+
1219
+ var handleBlur = function handleBlur(_ref3) {
1220
+ var target = _ref3.target;
1221
+ return onBlur(id, target.value);
1222
+ };
1223
+
1224
+ var handleFocus = function handleFocus(_ref4) {
1225
+ var target = _ref4.target;
1226
+ return onFocus(id, target.value);
1227
+ };
1228
+
1229
+ return /*#__PURE__*/React.createElement(Input, {
1230
+ disabled: disabled || readonlyAsDisabled && readonly,
1231
+ id: id,
1232
+ name: id,
1233
+ onBlur: !readonly ? handleBlur : undefined,
1234
+ onChange: !readonly ? handleChange : undefined,
1235
+ onFocus: !readonly ? handleFocus : undefined,
1236
+ placeholder: placeholder,
1237
+ style: INPUT_STYLE$2,
1238
+ type: "email",
1239
+ value: value
1240
+ });
1241
+ };
1242
+
1243
+ var PasswordWidget = function PasswordWidget(_ref) {
1244
+ var disabled = _ref.disabled,
1245
+ formContext = _ref.formContext,
1246
+ id = _ref.id,
1247
+ onBlur = _ref.onBlur,
1248
+ onChange = _ref.onChange,
1249
+ onFocus = _ref.onFocus,
1250
+ options = _ref.options,
1251
+ placeholder = _ref.placeholder,
1252
+ readonly = _ref.readonly,
1253
+ value = _ref.value;
1254
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1255
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1256
+ var emptyValue = options.emptyValue || '';
1257
+
1258
+ var handleChange = function handleChange(_ref2) {
1259
+ var target = _ref2.target;
1260
+ return onChange(target.value === '' ? emptyValue : target.value);
1261
+ };
1262
+
1263
+ var handleBlur = function handleBlur(_ref3) {
1264
+ var target = _ref3.target;
1265
+ return onBlur(id, target.value);
1266
+ };
1267
+
1268
+ var handleFocus = function handleFocus(_ref4) {
1269
+ var target = _ref4.target;
1270
+ return onFocus(id, target.value);
1271
+ };
1272
+
1273
+ return /*#__PURE__*/React.createElement(Input.Password, {
1274
+ disabled: disabled || readonlyAsDisabled && readonly,
1275
+ id: id,
1276
+ name: id,
1277
+ onBlur: !readonly ? handleBlur : undefined,
1278
+ onChange: !readonly ? handleChange : undefined,
1279
+ onFocus: !readonly ? handleFocus : undefined,
1280
+ placeholder: placeholder,
1281
+ value: value || ''
1282
+ });
1283
+ };
1284
+
1285
+ /* eslint-disable no-else-return */
1286
+
1287
+ var RadioWidget = function RadioWidget(_ref) {
1288
+ var autofocus = _ref.autofocus,
1289
+ disabled = _ref.disabled,
1290
+ formContext = _ref.formContext,
1291
+ id = _ref.id,
1292
+ onBlur = _ref.onBlur,
1293
+ onChange = _ref.onChange,
1294
+ onFocus = _ref.onFocus,
1295
+ options = _ref.options,
1296
+ readonly = _ref.readonly,
1297
+ schema = _ref.schema,
1298
+ value = _ref.value;
1299
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1300
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1301
+ var enumOptions = options.enumOptions,
1302
+ enumDisabled = options.enumDisabled;
1303
+
1304
+ var handleChange = function handleChange(_ref2) {
1305
+ var nextValue = _ref2.target.value;
1306
+ return onChange(schema.type === 'boolean' ? nextValue !== 'false' : nextValue);
1307
+ };
1308
+
1309
+ var handleBlur = function handleBlur(_ref3) {
1310
+ var target = _ref3.target;
1311
+ return onBlur(id, target.value);
1312
+ };
1313
+
1314
+ var handleFocus = function handleFocus(_ref4) {
1315
+ var target = _ref4.target;
1316
+ return onFocus(id, target.value);
1317
+ };
1318
+
1319
+ return /*#__PURE__*/React.createElement(Radio.Group, {
1320
+ disabled: disabled || readonlyAsDisabled && readonly,
1321
+ id: id,
1322
+ name: id,
1323
+ onBlur: !readonly ? handleBlur : undefined,
1324
+ onChange: !readonly ? handleChange : undefined,
1325
+ onFocus: !readonly ? handleFocus : undefined,
1326
+ value: "" + value
1327
+ }, enumOptions.map(function (_ref5, i) {
1328
+ var optionValue = _ref5.value,
1329
+ optionLabel = _ref5.label;
1330
+ return /*#__PURE__*/React.createElement(Radio, {
1331
+ autoFocus: i === 0 ? autofocus : false,
1332
+ disabled: enumDisabled && enumDisabled.indexOf(value) !== -1,
1333
+ key: "" + optionValue,
1334
+ value: "" + optionValue
1335
+ }, optionLabel);
1336
+ }));
1337
+ };
1338
+
1339
+ /* eslint-disable no-else-return */
1340
+ var rangeSpec = utils.rangeSpec;
1341
+
1342
+ var RangeWidget = function RangeWidget(_ref) {
1343
+ var autofocus = _ref.autofocus,
1344
+ disabled = _ref.disabled,
1345
+ formContext = _ref.formContext,
1346
+ id = _ref.id,
1347
+ onBlur = _ref.onBlur,
1348
+ onChange = _ref.onChange,
1349
+ onFocus = _ref.onFocus,
1350
+ options = _ref.options,
1351
+ placeholder = _ref.placeholder,
1352
+ readonly = _ref.readonly,
1353
+ schema = _ref.schema,
1354
+ value = _ref.value;
1355
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1356
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1357
+
1358
+ var _rangeSpec = rangeSpec(schema),
1359
+ min = _rangeSpec.min,
1360
+ max = _rangeSpec.max,
1361
+ step = _rangeSpec.step;
1362
+
1363
+ var emptyValue = options.emptyValue || '';
1364
+
1365
+ var handleChange = function handleChange(nextValue) {
1366
+ return onChange(nextValue === '' ? emptyValue : nextValue);
1367
+ };
1368
+
1369
+ var handleBlur = function handleBlur() {
1370
+ return onBlur(id, value);
1371
+ };
1372
+
1373
+ var handleFocus = function handleFocus() {
1374
+ return onFocus(id, value);
1375
+ };
1376
+
1377
+ return /*#__PURE__*/React.createElement(Slider, {
1378
+ autoFocus: autofocus,
1379
+ disabled: disabled || readonlyAsDisabled && readonly,
1380
+ id: id,
1381
+ max: max,
1382
+ min: min,
1383
+ onBlur: !readonly ? handleBlur : undefined,
1384
+ onChange: !readonly ? handleChange : undefined,
1385
+ onFocus: !readonly ? handleFocus : undefined,
1386
+ placeholder: placeholder,
1387
+ range: false,
1388
+ step: step,
1389
+ value: value
1390
+ });
1391
+ };
1392
+
1393
+ /* eslint-disable no-else-return */
1394
+ var asNumber = utils.asNumber,
1395
+ guessType = utils.guessType;
1396
+ var SELECT_STYLE = {
1397
+ width: '100%'
1398
+ };
1399
+ var nums = /*#__PURE__*/new Set(['number', 'integer']);
1400
+ /**
1401
+ * This is a silly limitation in the DOM where option change event values are
1402
+ * always retrieved as strings.
1403
+ */
1404
+
1405
+ var processValue = function processValue(schema, value) {
1406
+ // "enum" is a reserved word, so only "type" and "items" can be destructured
1407
+ var type = schema.type,
1408
+ items = schema.items;
1409
+
1410
+ if (value === '') {
1411
+ return undefined;
1412
+ } else if (type === 'array' && items && nums.has(items.type)) {
1413
+ return value.map(asNumber);
1414
+ } else if (type === 'boolean') {
1415
+ return value === 'true';
1416
+ } else if (type === 'number') {
1417
+ return asNumber(value);
1418
+ } // If type is undefined, but an enum is present, try and infer the type from
1419
+ // the enum values
1420
+
1421
+
1422
+ if (schema.enum) {
1423
+ if (schema.enum.every(function (x) {
1424
+ return guessType(x) === 'number';
1425
+ })) {
1426
+ return asNumber(value);
1427
+ } else if (schema.enum.every(function (x) {
1428
+ return guessType(x) === 'boolean';
1429
+ })) {
1430
+ return value === 'true';
1431
+ }
1432
+ }
1433
+
1434
+ return value;
1435
+ };
1436
+
1437
+ var SelectWidget = function SelectWidget(_ref) {
1438
+ var autofocus = _ref.autofocus,
1439
+ disabled = _ref.disabled,
1440
+ formContext = _ref.formContext,
1441
+ id = _ref.id,
1442
+ multiple = _ref.multiple,
1443
+ onBlur = _ref.onBlur,
1444
+ onChange = _ref.onChange,
1445
+ onFocus = _ref.onFocus,
1446
+ options = _ref.options,
1447
+ placeholder = _ref.placeholder,
1448
+ readonly = _ref.readonly,
1449
+ schema = _ref.schema,
1450
+ value = _ref.value;
1451
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1452
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1453
+ var enumOptions = options.enumOptions,
1454
+ enumDisabled = options.enumDisabled;
1455
+
1456
+ var handleChange = function handleChange(nextValue) {
1457
+ return onChange(processValue(schema, nextValue));
1458
+ };
1459
+
1460
+ var handleBlur = function handleBlur() {
1461
+ return onBlur(id, processValue(schema, value));
1462
+ };
1463
+
1464
+ var handleFocus = function handleFocus() {
1465
+ return onFocus(id, processValue(schema, value));
1466
+ };
1467
+
1468
+ var getPopupContainer = function getPopupContainer(node) {
1469
+ return node.parentNode;
1470
+ };
1471
+
1472
+ var stringify = function stringify(currentValue) {
1473
+ return Array.isArray(currentValue) ? value.map(String) : String(value);
1474
+ };
1475
+
1476
+ return /*#__PURE__*/React.createElement(Select, {
1477
+ autoFocus: autofocus,
1478
+ disabled: disabled || readonlyAsDisabled && readonly,
1479
+ getPopupContainer: getPopupContainer,
1480
+ id: id,
1481
+ mode: typeof multiple !== 'undefined' ? 'multiple' : undefined,
1482
+ name: id,
1483
+ onBlur: !readonly ? handleBlur : undefined,
1484
+ onChange: !readonly ? handleChange : undefined,
1485
+ onFocus: !readonly ? handleFocus : undefined,
1486
+ placeholder: placeholder,
1487
+ style: SELECT_STYLE,
1488
+ value: typeof value !== 'undefined' ? stringify(value) : undefined
1489
+ }, enumOptions.map(function (_ref2) {
1490
+ var optionValue = _ref2.value,
1491
+ optionLabel = _ref2.label;
1492
+ return /*#__PURE__*/React.createElement(Select.Option, {
1493
+ disabled: enumDisabled && enumDisabled.indexOf(optionValue) !== -1,
1494
+ key: String(optionValue),
1495
+ value: String(optionValue)
1496
+ }, optionLabel);
1497
+ }));
1498
+ };
1499
+
1500
+ SelectWidget.defaultProps = {
1501
+ formContext: {}
1502
+ };
1503
+
1504
+ var INPUT_STYLE$3 = {
1505
+ width: '100%'
1506
+ };
1507
+
1508
+ var TextareaWidget = function TextareaWidget(_ref) {
1509
+ var disabled = _ref.disabled,
1510
+ formContext = _ref.formContext,
1511
+ id = _ref.id,
1512
+ onBlur = _ref.onBlur,
1513
+ onChange = _ref.onChange,
1514
+ onFocus = _ref.onFocus,
1515
+ options = _ref.options,
1516
+ placeholder = _ref.placeholder,
1517
+ readonly = _ref.readonly,
1518
+ value = _ref.value;
1519
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1520
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1521
+
1522
+ var handleChange = function handleChange(_ref2) {
1523
+ var target = _ref2.target;
1524
+ return onChange(target.value === '' ? options.emptyValue : target.value);
1525
+ };
1526
+
1527
+ var handleBlur = function handleBlur(_ref3) {
1528
+ var target = _ref3.target;
1529
+ return onBlur(id, target.value);
1530
+ };
1531
+
1532
+ var handleFocus = function handleFocus(_ref4) {
1533
+ var target = _ref4.target;
1534
+ return onFocus(id, target.value);
1535
+ };
1536
+
1537
+ return /*#__PURE__*/React.createElement(Input.TextArea, {
1538
+ disabled: disabled || readonlyAsDisabled && readonly,
1539
+ id: id,
1540
+ name: id,
1541
+ onBlur: !readonly ? handleBlur : undefined,
1542
+ onChange: !readonly ? handleChange : undefined,
1543
+ onFocus: !readonly ? handleFocus : undefined,
1544
+ placeholder: placeholder,
1545
+ rows: options.rows || 4,
1546
+ style: INPUT_STYLE$3,
1547
+ type: "textarea",
1548
+ value: value
1549
+ });
1550
+ };
1551
+
1552
+ var INPUT_STYLE$4 = {
1553
+ width: '100%'
1554
+ };
1555
+
1556
+ var TextWidget = function TextWidget(_ref) {
1557
+ var disabled = _ref.disabled,
1558
+ formContext = _ref.formContext,
1559
+ id = _ref.id,
1560
+ onBlur = _ref.onBlur,
1561
+ onChange = _ref.onChange,
1562
+ onFocus = _ref.onFocus,
1563
+ options = _ref.options,
1564
+ placeholder = _ref.placeholder,
1565
+ readonly = _ref.readonly,
1566
+ schema = _ref.schema,
1567
+ value = _ref.value;
1568
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1569
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1570
+
1571
+ var handleNumberChange = function handleNumberChange(nextValue) {
1572
+ return onChange(nextValue);
1573
+ };
1574
+
1575
+ var handleTextChange = function handleTextChange(_ref2) {
1576
+ var target = _ref2.target;
1577
+ return onChange(target.value === '' ? options.emptyValue : target.value);
1578
+ };
1579
+
1580
+ var handleBlur = function handleBlur(_ref3) {
1581
+ var target = _ref3.target;
1582
+ return onBlur(id, target.value);
1583
+ };
1584
+
1585
+ var handleFocus = function handleFocus(_ref4) {
1586
+ var target = _ref4.target;
1587
+ return onFocus(id, target.value);
1588
+ };
1589
+
1590
+ return schema.type === 'number' || schema.type === 'integer' ? /*#__PURE__*/React.createElement(InputNumber, {
1591
+ disabled: disabled || readonlyAsDisabled && readonly,
1592
+ id: id,
1593
+ name: id,
1594
+ onBlur: !readonly ? handleBlur : undefined,
1595
+ onChange: !readonly ? handleNumberChange : undefined,
1596
+ onFocus: !readonly ? handleFocus : undefined,
1597
+ placeholder: placeholder,
1598
+ style: INPUT_STYLE$4,
1599
+ type: "number",
1600
+ value: value
1601
+ }) : /*#__PURE__*/React.createElement(Input, {
1602
+ disabled: disabled || readonlyAsDisabled && readonly,
1603
+ id: id,
1604
+ name: id,
1605
+ onBlur: !readonly ? handleBlur : undefined,
1606
+ onChange: !readonly ? handleTextChange : undefined,
1607
+ onFocus: !readonly ? handleFocus : undefined,
1608
+ placeholder: placeholder,
1609
+ style: INPUT_STYLE$4,
1610
+ type: options.inputType || 'text',
1611
+ value: value
1612
+ });
1613
+ };
1614
+
1615
+ var INPUT_STYLE$5 = {
1616
+ width: '100%'
1617
+ };
1618
+
1619
+ var UpDownWidget = function UpDownWidget(_ref) {
1620
+ var disabled = _ref.disabled,
1621
+ formContext = _ref.formContext,
1622
+ id = _ref.id,
1623
+ onBlur = _ref.onBlur,
1624
+ onChange = _ref.onChange,
1625
+ onFocus = _ref.onFocus,
1626
+ placeholder = _ref.placeholder,
1627
+ readonly = _ref.readonly,
1628
+ value = _ref.value;
1629
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1630
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1631
+
1632
+ var handleChange = function handleChange(nextValue) {
1633
+ return onChange(nextValue);
1634
+ };
1635
+
1636
+ var handleBlur = function handleBlur(_ref2) {
1637
+ var target = _ref2.target;
1638
+ return onBlur(id, target.value);
1639
+ };
1640
+
1641
+ var handleFocus = function handleFocus(_ref3) {
1642
+ var target = _ref3.target;
1643
+ return onFocus(id, target.value);
1644
+ };
1645
+
1646
+ return /*#__PURE__*/React.createElement(InputNumber, {
1647
+ disabled: disabled || readonlyAsDisabled && readonly,
1648
+ id: id,
1649
+ name: id,
1650
+ onBlur: !readonly ? handleBlur : undefined,
1651
+ onChange: !readonly ? handleChange : undefined,
1652
+ onFocus: !readonly ? handleFocus : undefined,
1653
+ placeholder: placeholder,
1654
+ style: INPUT_STYLE$5,
1655
+ type: "number",
1656
+ value: value
1657
+ });
1658
+ };
1659
+
1660
+ var INPUT_STYLE$6 = {
1661
+ width: '100%'
1662
+ };
1663
+
1664
+ var URLWidget = function URLWidget(_ref) {
1665
+ var disabled = _ref.disabled,
1666
+ formContext = _ref.formContext,
1667
+ id = _ref.id,
1668
+ onBlur = _ref.onBlur,
1669
+ onChange = _ref.onChange,
1670
+ onFocus = _ref.onFocus,
1671
+ options = _ref.options,
1672
+ placeholder = _ref.placeholder,
1673
+ readonly = _ref.readonly,
1674
+ value = _ref.value;
1675
+ var _formContext$readonly = formContext.readonlyAsDisabled,
1676
+ readonlyAsDisabled = _formContext$readonly === void 0 ? true : _formContext$readonly;
1677
+
1678
+ var handleChange = function handleChange(_ref2) {
1679
+ var target = _ref2.target;
1680
+ return onChange(target.value === '' ? options.emptyValue : target.value);
1681
+ };
1682
+
1683
+ var handleBlur = function handleBlur(_ref3) {
1684
+ var target = _ref3.target;
1685
+ return onBlur(id, target.value);
1686
+ };
1687
+
1688
+ var handleFocus = function handleFocus(_ref4) {
1689
+ var target = _ref4.target;
1690
+ return onFocus(id, target.value);
1691
+ };
1692
+
1693
+ return /*#__PURE__*/React.createElement(Input, {
1694
+ disabled: disabled || readonlyAsDisabled && readonly,
1695
+ id: id,
1696
+ name: id,
1697
+ onBlur: !readonly ? handleBlur : undefined,
1698
+ onChange: !readonly ? handleChange : undefined,
1699
+ onFocus: !readonly ? handleFocus : undefined,
1700
+ placeholder: placeholder,
1701
+ style: INPUT_STYLE$6,
1702
+ type: "url",
1703
+ value: value
1704
+ });
1705
+ };
1706
+
1707
+ var getSubmitButtonOptions = utils.getSubmitButtonOptions;
1708
+ var SubmitButton = (function (_ref) {
1709
+ var uiSchema = _ref.uiSchema;
1710
+
1711
+ var _getSubmitButtonOptio = getSubmitButtonOptions(uiSchema),
1712
+ submitText = _getSubmitButtonOptio.submitText,
1713
+ norender = _getSubmitButtonOptio.norender,
1714
+ submitButtonProps = _getSubmitButtonOptio.props;
1715
+
1716
+ if (norender) {
1717
+ return null;
1718
+ }
1719
+
1720
+ return /*#__PURE__*/React.createElement(Button, _extends({
1721
+ htmlType: "submit"
1722
+ }, submitButtonProps), submitText);
1723
+ });
1724
+
1725
+ var ErrorList = function ErrorList(_ref) {
1726
+ var errors = _ref.errors;
1727
+
1728
+ var renderErrors = function renderErrors() {
1729
+ return /*#__PURE__*/React.createElement(List, {
1730
+ className: "list-group",
1731
+ size: "small"
1732
+ }, errors.map(function (error, index) {
1733
+ return /*#__PURE__*/React.createElement(List.Item, {
1734
+ key: index
1735
+ }, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null), error.stack));
1736
+ }));
1737
+ };
1738
+
1739
+ return /*#__PURE__*/React.createElement(Alert, {
1740
+ className: "panel panel-danger errors",
1741
+ description: renderErrors(),
1742
+ message: "Errors",
1743
+ type: "error"
1744
+ });
1745
+ };
1746
+
1747
+ var getDefaultRegistry = utils.getDefaultRegistry;
1748
+
1749
+ var _getDefaultRegistry = /*#__PURE__*/getDefaultRegistry(),
1750
+ fields = _getDefaultRegistry.fields,
1751
+ widgets = _getDefaultRegistry.widgets;
1752
+
1753
+ var Fields = {
1754
+ DescriptionField: DescriptionField,
1755
+ TitleField: TitleField$1
1756
+ };
1757
+ var Widgets = {
1758
+ AltDateTimeWidget: AltDateTimeWidget,
1759
+ AltDateWidget: AltDateWidget,
1760
+ CheckboxesWidget: CheckboxesWidget,
1761
+ CheckboxWidget: CheckboxWidget,
1762
+ ColorWidget: ColorWidget,
1763
+ DateTimeWidget: DateTimeWidget,
1764
+ DateWidget: DateWidget,
1765
+ EmailWidget: EmailWidget,
1766
+ PasswordWidget: PasswordWidget,
1767
+ RadioWidget: RadioWidget,
1768
+ RangeWidget: RangeWidget,
1769
+ SelectWidget: SelectWidget,
1770
+ TextareaWidget: TextareaWidget,
1771
+ TextWidget: TextWidget,
1772
+ UpDownWidget: UpDownWidget,
1773
+ URLWidget: URLWidget,
1774
+ SubmitButton: SubmitButton
1775
+ };
1776
+ var Theme = {
1777
+ ArrayFieldTemplate: ArrayFieldTemplate,
1778
+ fields: /*#__PURE__*/_extends({}, fields, Fields),
1779
+ FieldTemplate: FieldTemplate,
1780
+ ObjectFieldTemplate: ObjectFieldTemplate$1,
1781
+ widgets: /*#__PURE__*/_extends({}, widgets, Widgets),
1782
+ ErrorList: ErrorList
1783
+ };
1784
+ var Form = /*#__PURE__*/withTheme(Theme);
1785
+
1786
+ export default Form;
1787
+ export { Fields, Form, Theme, Widgets };
1788
+ //# sourceMappingURL=antd.esm.js.map