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