@rjsf/core 3.0.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/cjs/components/AddButton.js +32 -0
  2. package/dist/cjs/components/ErrorList.js +29 -0
  3. package/dist/cjs/components/Form.js +567 -0
  4. package/dist/cjs/components/IconButton.js +32 -0
  5. package/dist/cjs/components/fields/ArrayField.js +854 -0
  6. package/dist/cjs/components/fields/BooleanField.js +105 -0
  7. package/dist/cjs/components/fields/DescriptionField.js +44 -0
  8. package/dist/cjs/components/fields/MultiSchemaField.js +257 -0
  9. package/dist/cjs/components/fields/NullField.js +66 -0
  10. package/dist/cjs/components/fields/NumberField.js +153 -0
  11. package/dist/cjs/components/fields/ObjectField.js +341 -0
  12. package/dist/cjs/components/fields/SchemaField.js +455 -0
  13. package/dist/cjs/components/fields/StringField.js +96 -0
  14. package/dist/cjs/components/fields/TitleField.js +37 -0
  15. package/dist/cjs/components/fields/UnsupportedField.js +33 -0
  16. package/dist/cjs/components/fields/index.js +47 -0
  17. package/dist/cjs/components/widgets/AltDateTimeWidget.js +45 -0
  18. package/dist/cjs/components/widgets/AltDateWidget.js +282 -0
  19. package/dist/cjs/components/widgets/BaseInput.js +144 -0
  20. package/dist/cjs/components/widgets/CheckboxWidget.js +74 -0
  21. package/dist/cjs/components/widgets/CheckboxesWidget.js +106 -0
  22. package/dist/cjs/components/widgets/ColorWidget.js +42 -0
  23. package/dist/cjs/components/widgets/DateTimeWidget.js +40 -0
  24. package/dist/cjs/components/widgets/DateWidget.js +36 -0
  25. package/dist/cjs/components/widgets/EmailWidget.js +31 -0
  26. package/dist/cjs/components/widgets/FileWidget.js +198 -0
  27. package/dist/cjs/components/widgets/HiddenWidget.js +33 -0
  28. package/dist/cjs/components/widgets/PasswordWidget.js +31 -0
  29. package/dist/cjs/components/widgets/RadioWidget.js +92 -0
  30. package/dist/cjs/components/widgets/RangeWidget.js +39 -0
  31. package/dist/cjs/components/widgets/SelectWidget.js +143 -0
  32. package/dist/cjs/components/widgets/TextWidget.js +28 -0
  33. package/dist/cjs/components/widgets/TextareaWidget.js +78 -0
  34. package/dist/cjs/components/widgets/URLWidget.js +31 -0
  35. package/dist/cjs/components/widgets/UpDownWidget.js +33 -0
  36. package/dist/cjs/components/widgets/index.js +70 -0
  37. package/dist/cjs/index.js +28 -0
  38. package/dist/cjs/types.js +47 -0
  39. package/dist/cjs/utils.js +1337 -0
  40. package/dist/cjs/validate.js +354 -0
  41. package/dist/cjs/withTheme.js +50 -0
  42. package/dist/es/components/AddButton.js +21 -0
  43. package/dist/es/components/ErrorList.js +19 -0
  44. package/dist/es/components/Form.js +552 -0
  45. package/dist/es/components/IconButton.js +22 -0
  46. package/dist/es/components/fields/ArrayField.js +836 -0
  47. package/dist/es/components/fields/BooleanField.js +91 -0
  48. package/dist/es/components/fields/DescriptionField.js +33 -0
  49. package/dist/es/components/fields/MultiSchemaField.js +243 -0
  50. package/dist/es/components/fields/NullField.js +55 -0
  51. package/dist/es/components/fields/NumberField.js +138 -0
  52. package/dist/es/components/fields/ObjectField.js +326 -0
  53. package/dist/es/components/fields/SchemaField.js +437 -0
  54. package/dist/es/components/fields/StringField.js +82 -0
  55. package/dist/es/components/fields/TitleField.js +25 -0
  56. package/dist/es/components/fields/UnsupportedField.js +22 -0
  57. package/dist/es/components/fields/index.js +26 -0
  58. package/dist/es/components/widgets/AltDateTimeWidget.js +33 -0
  59. package/dist/es/components/widgets/AltDateWidget.js +268 -0
  60. package/dist/es/components/widgets/BaseInput.js +133 -0
  61. package/dist/es/components/widgets/CheckboxWidget.js +62 -0
  62. package/dist/es/components/widgets/CheckboxesWidget.js +93 -0
  63. package/dist/es/components/widgets/ColorWidget.js +31 -0
  64. package/dist/es/components/widgets/DateTimeWidget.js +28 -0
  65. package/dist/es/components/widgets/DateWidget.js +25 -0
  66. package/dist/es/components/widgets/EmailWidget.js +20 -0
  67. package/dist/es/components/widgets/FileWidget.js +184 -0
  68. package/dist/es/components/widgets/HiddenWidget.js +22 -0
  69. package/dist/es/components/widgets/PasswordWidget.js +20 -0
  70. package/dist/es/components/widgets/RadioWidget.js +79 -0
  71. package/dist/es/components/widgets/RangeWidget.js +27 -0
  72. package/dist/es/components/widgets/SelectWidget.js +130 -0
  73. package/dist/es/components/widgets/TextWidget.js +17 -0
  74. package/dist/es/components/widgets/TextareaWidget.js +67 -0
  75. package/dist/es/components/widgets/URLWidget.js +20 -0
  76. package/dist/es/components/widgets/UpDownWidget.js +21 -0
  77. package/dist/es/components/widgets/index.js +41 -0
  78. package/dist/es/index.js +6 -0
  79. package/dist/es/types.js +34 -0
  80. package/dist/es/utils.js +1239 -0
  81. package/dist/es/validate.js +338 -0
  82. package/dist/es/withTheme.js +36 -0
  83. package/dist/react-jsonschema-form.js +11 -0
  84. package/dist/react-jsonschema-form.js.map +1 -0
  85. package/index.d.ts +30 -23
  86. package/lib/components/AddButton.js +21 -0
  87. package/lib/components/ErrorList.js +19 -0
  88. package/lib/components/Form.js +552 -0
  89. package/lib/components/IconButton.js +22 -0
  90. package/lib/components/fields/ArrayField.js +836 -0
  91. package/lib/components/fields/BooleanField.js +91 -0
  92. package/lib/components/fields/DescriptionField.js +33 -0
  93. package/lib/components/fields/MultiSchemaField.js +243 -0
  94. package/lib/components/fields/NullField.js +55 -0
  95. package/lib/components/fields/NumberField.js +138 -0
  96. package/lib/components/fields/ObjectField.js +326 -0
  97. package/lib/components/fields/SchemaField.js +437 -0
  98. package/lib/components/fields/StringField.js +82 -0
  99. package/lib/components/fields/TitleField.js +25 -0
  100. package/lib/components/fields/UnsupportedField.js +22 -0
  101. package/lib/components/fields/index.js +26 -0
  102. package/lib/components/widgets/AltDateTimeWidget.js +33 -0
  103. package/lib/components/widgets/AltDateWidget.js +268 -0
  104. package/lib/components/widgets/BaseInput.js +133 -0
  105. package/lib/components/widgets/CheckboxWidget.js +62 -0
  106. package/lib/components/widgets/CheckboxesWidget.js +93 -0
  107. package/lib/components/widgets/ColorWidget.js +31 -0
  108. package/lib/components/widgets/DateTimeWidget.js +28 -0
  109. package/lib/components/widgets/DateWidget.js +25 -0
  110. package/lib/components/widgets/EmailWidget.js +20 -0
  111. package/lib/components/widgets/FileWidget.js +184 -0
  112. package/lib/components/widgets/HiddenWidget.js +22 -0
  113. package/lib/components/widgets/PasswordWidget.js +20 -0
  114. package/lib/components/widgets/RadioWidget.js +79 -0
  115. package/lib/components/widgets/RangeWidget.js +27 -0
  116. package/lib/components/widgets/SelectWidget.js +130 -0
  117. package/lib/components/widgets/TextWidget.js +17 -0
  118. package/lib/components/widgets/TextareaWidget.js +67 -0
  119. package/lib/components/widgets/URLWidget.js +20 -0
  120. package/lib/components/widgets/UpDownWidget.js +21 -0
  121. package/lib/components/widgets/index.js +41 -0
  122. package/lib/index.js +6 -0
  123. package/lib/types.js +34 -0
  124. package/lib/utils.js +1239 -0
  125. package/lib/validate.js +338 -0
  126. package/lib/withTheme.js +36 -0
  127. package/package.json +3 -3
@@ -0,0 +1,455 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var types = _interopRequireWildcard(require("../../types"));
15
+
16
+ var _utils = require("../../utils");
17
+
18
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
23
+
24
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
25
+
26
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
27
+
28
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
29
+
30
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
31
+
32
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
+
34
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
+
36
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
37
+
38
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
39
+
40
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
41
+
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
43
+
44
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
+
46
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
47
+
48
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
49
+
50
+ var REQUIRED_FIELD_SYMBOL = "*";
51
+ var COMPONENT_TYPES = {
52
+ array: "ArrayField",
53
+ "boolean": "BooleanField",
54
+ integer: "NumberField",
55
+ number: "NumberField",
56
+ object: "ObjectField",
57
+ string: "StringField",
58
+ "null": "NullField"
59
+ };
60
+
61
+ function getFieldComponent(schema, uiSchema, idSchema, fields) {
62
+ var field = uiSchema["ui:field"];
63
+
64
+ if (typeof field === "function") {
65
+ return field;
66
+ }
67
+
68
+ if (typeof field === "string" && field in fields) {
69
+ return fields[field];
70
+ }
71
+
72
+ var componentName = COMPONENT_TYPES[(0, _utils.getSchemaType)(schema)]; // If the type is not defined and the schema uses 'anyOf' or 'oneOf', don't
73
+ // render a field and let the MultiSchemaField component handle the form display
74
+
75
+ if (!componentName && (schema.anyOf || schema.oneOf)) {
76
+ return function () {
77
+ return null;
78
+ };
79
+ }
80
+
81
+ return componentName in fields ? fields[componentName] : function () {
82
+ var UnsupportedField = fields.UnsupportedField;
83
+ return _react["default"].createElement(UnsupportedField, {
84
+ schema: schema,
85
+ idSchema: idSchema,
86
+ reason: "Unknown field type ".concat(schema.type)
87
+ });
88
+ };
89
+ }
90
+
91
+ function Label(props) {
92
+ var label = props.label,
93
+ required = props.required,
94
+ id = props.id;
95
+
96
+ if (!label) {
97
+ return null;
98
+ }
99
+
100
+ return _react["default"].createElement("label", {
101
+ className: "control-label",
102
+ htmlFor: id
103
+ }, label, required && _react["default"].createElement("span", {
104
+ className: "required"
105
+ }, REQUIRED_FIELD_SYMBOL));
106
+ }
107
+
108
+ function LabelInput(props) {
109
+ var id = props.id,
110
+ label = props.label,
111
+ onChange = props.onChange;
112
+ return _react["default"].createElement("input", {
113
+ className: "form-control",
114
+ type: "text",
115
+ id: id,
116
+ onBlur: function onBlur(event) {
117
+ return onChange(event.target.value);
118
+ },
119
+ defaultValue: label
120
+ });
121
+ }
122
+
123
+ function Help(props) {
124
+ var id = props.id,
125
+ help = props.help;
126
+
127
+ if (!help) {
128
+ return null;
129
+ }
130
+
131
+ if (typeof help === "string") {
132
+ return _react["default"].createElement("p", {
133
+ id: id,
134
+ className: "help-block"
135
+ }, help);
136
+ }
137
+
138
+ return _react["default"].createElement("div", {
139
+ id: id,
140
+ className: "help-block"
141
+ }, help);
142
+ }
143
+
144
+ function ErrorList(props) {
145
+ var _props$errors = props.errors,
146
+ errors = _props$errors === void 0 ? [] : _props$errors;
147
+
148
+ if (errors.length === 0) {
149
+ return null;
150
+ }
151
+
152
+ return _react["default"].createElement("div", null, _react["default"].createElement("ul", {
153
+ className: "error-detail bs-callout bs-callout-info"
154
+ }, errors.filter(function (elem) {
155
+ return !!elem;
156
+ }).map(function (error, index) {
157
+ return _react["default"].createElement("li", {
158
+ className: "text-danger",
159
+ key: index
160
+ }, error);
161
+ })));
162
+ }
163
+
164
+ function DefaultTemplate(props) {
165
+ var id = props.id,
166
+ label = props.label,
167
+ children = props.children,
168
+ errors = props.errors,
169
+ help = props.help,
170
+ description = props.description,
171
+ hidden = props.hidden,
172
+ required = props.required,
173
+ displayLabel = props.displayLabel;
174
+
175
+ if (hidden) {
176
+ return _react["default"].createElement("div", {
177
+ className: "hidden"
178
+ }, children);
179
+ }
180
+
181
+ return _react["default"].createElement(WrapIfAdditional, props, displayLabel && _react["default"].createElement(Label, {
182
+ label: label,
183
+ required: required,
184
+ id: id
185
+ }), displayLabel && description ? description : null, children, errors, help);
186
+ }
187
+
188
+ if (process.env.NODE_ENV !== "production") {
189
+ DefaultTemplate.propTypes = {
190
+ id: _propTypes["default"].string,
191
+ classNames: _propTypes["default"].string,
192
+ label: _propTypes["default"].string,
193
+ children: _propTypes["default"].node.isRequired,
194
+ errors: _propTypes["default"].element,
195
+ rawErrors: _propTypes["default"].arrayOf(_propTypes["default"].string),
196
+ help: _propTypes["default"].element,
197
+ rawHelp: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element]),
198
+ description: _propTypes["default"].element,
199
+ rawDescription: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].element]),
200
+ hidden: _propTypes["default"].bool,
201
+ required: _propTypes["default"].bool,
202
+ readonly: _propTypes["default"].bool,
203
+ displayLabel: _propTypes["default"].bool,
204
+ fields: _propTypes["default"].object,
205
+ formContext: _propTypes["default"].object
206
+ };
207
+ }
208
+
209
+ DefaultTemplate.defaultProps = {
210
+ hidden: false,
211
+ readonly: false,
212
+ required: false,
213
+ displayLabel: true
214
+ };
215
+
216
+ function WrapIfAdditional(props) {
217
+ var id = props.id,
218
+ classNames = props.classNames,
219
+ disabled = props.disabled,
220
+ label = props.label,
221
+ onKeyChange = props.onKeyChange,
222
+ onDropPropertyClick = props.onDropPropertyClick,
223
+ readonly = props.readonly,
224
+ required = props.required,
225
+ schema = props.schema;
226
+ var keyLabel = "".concat(label, " Key"); // i18n ?
227
+
228
+ var additional = schema.hasOwnProperty(_utils.ADDITIONAL_PROPERTY_FLAG);
229
+
230
+ if (!additional) {
231
+ return _react["default"].createElement("div", {
232
+ className: classNames
233
+ }, props.children);
234
+ }
235
+
236
+ return _react["default"].createElement("div", {
237
+ className: classNames
238
+ }, _react["default"].createElement("div", {
239
+ className: "row"
240
+ }, _react["default"].createElement("div", {
241
+ className: "col-xs-5 form-additional"
242
+ }, _react["default"].createElement("div", {
243
+ className: "form-group"
244
+ }, _react["default"].createElement(Label, {
245
+ label: keyLabel,
246
+ required: required,
247
+ id: "".concat(id, "-key")
248
+ }), _react["default"].createElement(LabelInput, {
249
+ label: label,
250
+ required: required,
251
+ id: "".concat(id, "-key"),
252
+ onChange: onKeyChange
253
+ }))), _react["default"].createElement("div", {
254
+ className: "form-additional form-group col-xs-5"
255
+ }, props.children), _react["default"].createElement("div", {
256
+ className: "col-xs-2"
257
+ }, _react["default"].createElement(_IconButton["default"], {
258
+ type: "danger",
259
+ icon: "remove",
260
+ className: "array-item-remove btn-block",
261
+ tabIndex: "-1",
262
+ style: {
263
+ border: "0"
264
+ },
265
+ disabled: disabled || readonly,
266
+ onClick: onDropPropertyClick(label)
267
+ }))));
268
+ }
269
+
270
+ function SchemaFieldRender(props) {
271
+ var uiSchema = props.uiSchema,
272
+ formData = props.formData,
273
+ errorSchema = props.errorSchema,
274
+ idPrefix = props.idPrefix,
275
+ name = props.name,
276
+ onChange = props.onChange,
277
+ onKeyChange = props.onKeyChange,
278
+ onDropPropertyClick = props.onDropPropertyClick,
279
+ required = props.required,
280
+ _props$registry = props.registry,
281
+ registry = _props$registry === void 0 ? (0, _utils.getDefaultRegistry)() : _props$registry,
282
+ _props$wasPropertyKey = props.wasPropertyKeyModified,
283
+ wasPropertyKeyModified = _props$wasPropertyKey === void 0 ? false : _props$wasPropertyKey;
284
+ var rootSchema = registry.rootSchema,
285
+ fields = registry.fields,
286
+ formContext = registry.formContext;
287
+ var FieldTemplate = uiSchema["ui:FieldTemplate"] || registry.FieldTemplate || DefaultTemplate;
288
+ var idSchema = props.idSchema;
289
+ var schema = (0, _utils.retrieveSchema)(props.schema, rootSchema, formData);
290
+ idSchema = (0, _utils.mergeObjects)((0, _utils.toIdSchema)(schema, null, rootSchema, formData, idPrefix), idSchema);
291
+ var FieldComponent = getFieldComponent(schema, uiSchema, idSchema, fields);
292
+ var DescriptionField = fields.DescriptionField;
293
+ var disabled = Boolean(props.disabled || uiSchema["ui:disabled"]);
294
+ var readonly = Boolean(props.readonly || uiSchema["ui:readonly"] || props.schema.readOnly || schema.readOnly);
295
+ var autofocus = Boolean(props.autofocus || uiSchema["ui:autofocus"]);
296
+
297
+ if (Object.keys(schema).length === 0) {
298
+ return null;
299
+ }
300
+
301
+ var displayLabel = (0, _utils.getDisplayLabel)(schema, uiSchema, rootSchema);
302
+
303
+ var __errors = errorSchema.__errors,
304
+ fieldErrorSchema = _objectWithoutProperties(errorSchema, ["__errors"]); // See #439: uiSchema: Don't pass consumed class names to child components
305
+
306
+
307
+ var field = _react["default"].createElement(FieldComponent, _extends({}, props, {
308
+ idSchema: idSchema,
309
+ schema: schema,
310
+ uiSchema: _objectSpread({}, uiSchema, {
311
+ classNames: undefined
312
+ }),
313
+ disabled: disabled,
314
+ readonly: readonly,
315
+ autofocus: autofocus,
316
+ errorSchema: fieldErrorSchema,
317
+ formContext: formContext,
318
+ rawErrors: __errors
319
+ }));
320
+
321
+ var id = idSchema.$id; // If this schema has a title defined, but the user has set a new key/label, retain their input.
322
+
323
+ var label;
324
+
325
+ if (wasPropertyKeyModified) {
326
+ label = name;
327
+ } else {
328
+ label = uiSchema["ui:title"] || props.schema.title || schema.title || name;
329
+ }
330
+
331
+ var description = uiSchema["ui:description"] || props.schema.description || schema.description;
332
+ var errors = __errors;
333
+ var help = uiSchema["ui:help"];
334
+ var hidden = uiSchema["ui:widget"] === "hidden";
335
+ var classNames = ["form-group", "field", "field-".concat(schema.type), errors && errors.length > 0 ? "field-error has-error has-danger" : "", uiSchema.classNames].join(" ").trim();
336
+ var fieldProps = {
337
+ description: _react["default"].createElement(DescriptionField, {
338
+ id: id + "__description",
339
+ description: description,
340
+ formContext: formContext
341
+ }),
342
+ rawDescription: description,
343
+ help: _react["default"].createElement(Help, {
344
+ id: id + "__help",
345
+ help: help
346
+ }),
347
+ rawHelp: typeof help === "string" ? help : undefined,
348
+ errors: _react["default"].createElement(ErrorList, {
349
+ errors: errors
350
+ }),
351
+ rawErrors: errors,
352
+ id: id,
353
+ label: label,
354
+ hidden: hidden,
355
+ onChange: onChange,
356
+ onKeyChange: onKeyChange,
357
+ onDropPropertyClick: onDropPropertyClick,
358
+ required: required,
359
+ disabled: disabled,
360
+ readonly: readonly,
361
+ displayLabel: displayLabel,
362
+ classNames: classNames,
363
+ formContext: formContext,
364
+ formData: formData,
365
+ fields: fields,
366
+ schema: schema,
367
+ uiSchema: uiSchema,
368
+ registry: registry
369
+ };
370
+ var _AnyOfField = registry.fields.AnyOfField;
371
+ var _OneOfField = registry.fields.OneOfField;
372
+ return _react["default"].createElement(FieldTemplate, fieldProps, _react["default"].createElement(_react["default"].Fragment, null, field, schema.anyOf && !(0, _utils.isSelect)(schema) && _react["default"].createElement(_AnyOfField, {
373
+ disabled: disabled,
374
+ errorSchema: errorSchema,
375
+ formData: formData,
376
+ idPrefix: idPrefix,
377
+ idSchema: idSchema,
378
+ onBlur: props.onBlur,
379
+ onChange: props.onChange,
380
+ onFocus: props.onFocus,
381
+ options: schema.anyOf.map(function (_schema) {
382
+ return (0, _utils.retrieveSchema)(_schema, rootSchema, formData);
383
+ }),
384
+ baseType: schema.type,
385
+ registry: registry,
386
+ schema: schema,
387
+ uiSchema: uiSchema
388
+ }), schema.oneOf && !(0, _utils.isSelect)(schema) && _react["default"].createElement(_OneOfField, {
389
+ disabled: disabled,
390
+ errorSchema: errorSchema,
391
+ formData: formData,
392
+ idPrefix: idPrefix,
393
+ idSchema: idSchema,
394
+ onBlur: props.onBlur,
395
+ onChange: props.onChange,
396
+ onFocus: props.onFocus,
397
+ options: schema.oneOf.map(function (_schema) {
398
+ return (0, _utils.retrieveSchema)(_schema, rootSchema, formData);
399
+ }),
400
+ baseType: schema.type,
401
+ registry: registry,
402
+ schema: schema,
403
+ uiSchema: uiSchema
404
+ })));
405
+ }
406
+
407
+ var SchemaField =
408
+ /*#__PURE__*/
409
+ function (_React$Component) {
410
+ _inherits(SchemaField, _React$Component);
411
+
412
+ function SchemaField() {
413
+ _classCallCheck(this, SchemaField);
414
+
415
+ return _possibleConstructorReturn(this, _getPrototypeOf(SchemaField).apply(this, arguments));
416
+ }
417
+
418
+ _createClass(SchemaField, [{
419
+ key: "shouldComponentUpdate",
420
+ value: function shouldComponentUpdate(nextProps, nextState) {
421
+ return !(0, _utils.deepEquals)(this.props, nextProps);
422
+ }
423
+ }, {
424
+ key: "render",
425
+ value: function render() {
426
+ return SchemaFieldRender(this.props);
427
+ }
428
+ }]);
429
+
430
+ return SchemaField;
431
+ }(_react["default"].Component);
432
+
433
+ SchemaField.defaultProps = {
434
+ uiSchema: {},
435
+ errorSchema: {},
436
+ idSchema: {},
437
+ disabled: false,
438
+ readonly: false,
439
+ autofocus: false
440
+ };
441
+
442
+ if (process.env.NODE_ENV !== "production") {
443
+ SchemaField.propTypes = {
444
+ schema: _propTypes["default"].object.isRequired,
445
+ uiSchema: _propTypes["default"].object,
446
+ idSchema: _propTypes["default"].object,
447
+ formData: _propTypes["default"].any,
448
+ errorSchema: _propTypes["default"].object,
449
+ registry: types.registry.isRequired
450
+ };
451
+ }
452
+
453
+ var _default = SchemaField;
454
+ exports["default"] = _default;
455
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZpZWxkcy9TY2hlbWFGaWVsZC5qcyJdLCJuYW1lcyI6WyJSRVFVSVJFRF9GSUVMRF9TWU1CT0wiLCJDT01QT05FTlRfVFlQRVMiLCJhcnJheSIsImludGVnZXIiLCJudW1iZXIiLCJvYmplY3QiLCJzdHJpbmciLCJnZXRGaWVsZENvbXBvbmVudCIsInNjaGVtYSIsInVpU2NoZW1hIiwiaWRTY2hlbWEiLCJmaWVsZHMiLCJmaWVsZCIsImNvbXBvbmVudE5hbWUiLCJhbnlPZiIsIm9uZU9mIiwiVW5zdXBwb3J0ZWRGaWVsZCIsInR5cGUiLCJMYWJlbCIsInByb3BzIiwibGFiZWwiLCJyZXF1aXJlZCIsImlkIiwiTGFiZWxJbnB1dCIsIm9uQ2hhbmdlIiwiZXZlbnQiLCJ0YXJnZXQiLCJ2YWx1ZSIsIkhlbHAiLCJoZWxwIiwiRXJyb3JMaXN0IiwiZXJyb3JzIiwibGVuZ3RoIiwiZmlsdGVyIiwiZWxlbSIsIm1hcCIsImVycm9yIiwiaW5kZXgiLCJEZWZhdWx0VGVtcGxhdGUiLCJjaGlsZHJlbiIsImRlc2NyaXB0aW9uIiwiaGlkZGVuIiwiZGlzcGxheUxhYmVsIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiY2xhc3NOYW1lcyIsIm5vZGUiLCJpc1JlcXVpcmVkIiwiZWxlbWVudCIsInJhd0Vycm9ycyIsImFycmF5T2YiLCJyYXdIZWxwIiwib25lT2ZUeXBlIiwicmF3RGVzY3JpcHRpb24iLCJib29sIiwicmVhZG9ubHkiLCJmb3JtQ29udGV4dCIsImRlZmF1bHRQcm9wcyIsIldyYXBJZkFkZGl0aW9uYWwiLCJkaXNhYmxlZCIsIm9uS2V5Q2hhbmdlIiwib25Ecm9wUHJvcGVydHlDbGljayIsImtleUxhYmVsIiwiYWRkaXRpb25hbCIsImhhc093blByb3BlcnR5IiwiQURESVRJT05BTF9QUk9QRVJUWV9GTEFHIiwiYm9yZGVyIiwiU2NoZW1hRmllbGRSZW5kZXIiLCJmb3JtRGF0YSIsImVycm9yU2NoZW1hIiwiaWRQcmVmaXgiLCJuYW1lIiwicmVnaXN0cnkiLCJ3YXNQcm9wZXJ0eUtleU1vZGlmaWVkIiwicm9vdFNjaGVtYSIsIkZpZWxkVGVtcGxhdGUiLCJGaWVsZENvbXBvbmVudCIsIkRlc2NyaXB0aW9uRmllbGQiLCJCb29sZWFuIiwicmVhZE9ubHkiLCJhdXRvZm9jdXMiLCJPYmplY3QiLCJrZXlzIiwiX19lcnJvcnMiLCJmaWVsZEVycm9yU2NoZW1hIiwidW5kZWZpbmVkIiwiJGlkIiwidGl0bGUiLCJqb2luIiwidHJpbSIsImZpZWxkUHJvcHMiLCJfQW55T2ZGaWVsZCIsIkFueU9mRmllbGQiLCJfT25lT2ZGaWVsZCIsIk9uZU9mRmllbGQiLCJvbkJsdXIiLCJvbkZvY3VzIiwiX3NjaGVtYSIsIlNjaGVtYUZpZWxkIiwibmV4dFByb3BzIiwibmV4dFN0YXRlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJhbnkiLCJ0eXBlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsSUFBTUEscUJBQXFCLEdBQUcsR0FBOUI7QUFDQSxJQUFNQyxlQUFlLEdBQUc7QUFDdEJDLEVBQUFBLEtBQUssRUFBRSxZQURlO0FBRXRCLGFBQVMsY0FGYTtBQUd0QkMsRUFBQUEsT0FBTyxFQUFFLGFBSGE7QUFJdEJDLEVBQUFBLE1BQU0sRUFBRSxhQUpjO0FBS3RCQyxFQUFBQSxNQUFNLEVBQUUsYUFMYztBQU10QkMsRUFBQUEsTUFBTSxFQUFFLGFBTmM7QUFPdEIsVUFBTTtBQVBnQixDQUF4Qjs7QUFVQSxTQUFTQyxpQkFBVCxDQUEyQkMsTUFBM0IsRUFBbUNDLFFBQW5DLEVBQTZDQyxRQUE3QyxFQUF1REMsTUFBdkQsRUFBK0Q7QUFDN0QsTUFBTUMsS0FBSyxHQUFHSCxRQUFRLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxNQUFJLE9BQU9HLEtBQVAsS0FBaUIsVUFBckIsRUFB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QUFBQSxTQUFTLEVBQUU7QUFOYyxDQUEzQjs7QUFTQSxJQUFJeEMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQVosS0FBeUIsWUFBN0IsRUFBMkM7QUFDekN3RCxFQUFBQSxXQUFXLENBQUN2RCxTQUFaLEdBQXdCO0FBQ3RCdEMsSUFBQUEsTUFBTSxFQUFFdUMsc0JBQVUxQyxNQUFWLENBQWlCNkMsVUFESDtBQUV0QnpDLElBQUFBLFFBQVEsRUFBRXNDLHNCQUFVMUMsTUFGRTtBQUd0QkssSUFBQUEsUUFBUSxFQUFFcUMsc0JBQVUxQyxNQUhFO0FBSXRCa0UsSUFBQUEsUUFBUSxFQUFFeEIsc0JBQVUyRCxHQUpFO0FBS3RCbEMsSUFBQUEsV0FBVyxFQUFFekIsc0JBQVUxQyxNQUxEO0FBTXRCc0UsSUFBQUEsUUFBUSxFQUFFZ0MsS0FBSyxDQUFDaEMsUUFBTixDQUFlekI7QUFOSCxHQUF4QjtBQVFEOztlQUVjbUQsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJY29uQnV0dG9uIGZyb20gXCIuLi9JY29uQnV0dG9uXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgQURESVRJT05BTF9QUk9QRVJUWV9GTEFHLFxuICBpc1NlbGVjdCxcbiAgcmV0cmlldmVTY2hlbWEsXG4gIHRvSWRTY2hlbWEsXG4gIGdldERlZmF1bHRSZWdpc3RyeSxcbiAgbWVyZ2VPYmplY3RzLFxuICBkZWVwRXF1YWxzLFxuICBnZXRTY2hlbWFUeXBlLFxuICBnZXREaXNwbGF5TGFiZWwsXG59IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuXG5jb25zdCBSRVFVSVJFRF9GSUVMRF9TWU1CT0wgPSBcIipcIjtcbmNvbnN0IENPTVBPTkVOVF9UWVBFUyA9IHtcbiAgYXJyYXk6IFwiQXJyYXlGaWVsZFwiLFxuICBib29sZWFuOiBcIkJvb2xlYW5GaWVsZFwiLFxuICBpbnRlZ2VyOiBcIk51bWJlckZpZWxkXCIsXG4gIG51bWJlcjogXCJOdW1iZXJGaWVsZFwiLFxuICBvYmplY3Q6IFwiT2JqZWN0RmllbGRcIixcbiAgc3RyaW5nOiBcIlN0cmluZ0ZpZWxkXCIsXG4gIG51bGw6IFwiTnVsbEZpZWxkXCIsXG59O1xuXG5mdW5jdGlvbiBnZXRGaWVsZENvbXBvbmVudChzY2hlbWEsIHVpU2NoZW1hLCBpZFNjaGVtYSwgZmllbGRzKSB7XG4gIGNvbnN0IGZpZWxkID0gdWlTY2hlbWFbXCJ1aTpmaWVsZFwiXTtcbiAgaWYgKHR5cGVvZiBmaWVsZCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG4gIGlmICh0eXBlb2YgZmllbGQgPT09IFwic3RyaW5nXCIgJiYgZmllbGQgaW4gZmllbGRzKSB7XG4gICAgcmV0dXJuIGZpZWxkc1tmaWVsZF07XG4gIH1cblxuICBjb25zdCBjb21wb25lbnROYW1lID0gQ09NUE9ORU5UX1RZUEVTW2dldFNjaGVtYVR5cGUoc2NoZW1hKV07XG5cbiAgLy8gSWYgdGhlIHR5cGUgaXMgbm90IGRlZmluZWQgYW5kIHRoZSBzY2hlbWEgdXNlcyAnYW55T2YnIG9yICdvbmVPZicsIGRvbid0XG4gIC8vIHJlbmRlciBhIGZpZWxkIGFuZCBsZXQgdGhlIE11bHRpU2NoZW1hRmllbGQgY29tcG9uZW50IGhhbmRsZSB0aGUgZm9ybSBkaXNwbGF5XG4gIGlmICghY29tcG9uZW50TmFtZSAmJiAoc2NoZW1hLmFueU9mIHx8IHNjaGVtYS5vbmVPZikpIHtcbiAgICByZXR1cm4gKCkgPT4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBjb21wb25lbnROYW1lIGluIGZpZWxkc1xuICAgID8gZmllbGRzW2NvbXBvbmVudE5hbWVdXG4gICAgOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgVW5zdXBwb3J0ZWRGaWVsZCB9ID0gZmllbGRzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFVuc3VwcG9ydGVkRmllbGRcbiAgICAgICAgICAgIHNjaGVtYT17c2NoZW1hfVxuICAgICAgICAgICAgaWRTY2hlbWE9e2lkU2NoZW1hfVxuICAgICAgICAgICAgcmVhc29uPXtgVW5rbm93biBmaWVsZCB0eXBlICR7c2NoZW1hLnR5cGV9YH1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfTtcbn1cblxuZnVuY3Rpb24gTGFiZWwocHJvcHMpIHtcbiAgY29uc3QgeyBsYWJlbCwgcmVxdWlyZWQsIGlkIH0gPSBwcm9wcztcbiAgaWYgKCFsYWJlbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGxhYmVsIGNsYXNzTmFtZT1cImNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPXtpZH0+XG4gICAgICB7bGFiZWx9XG4gICAgICB7cmVxdWlyZWQgJiYgPHNwYW4gY2xhc3NOYW1lPVwicmVxdWlyZWRcIj57UkVRVUlSRURfRklFTERfU1lNQk9MfTwvc3Bhbj59XG4gICAgPC9sYWJlbD5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTGFiZWxJbnB1dChwcm9wcykge1xuICBjb25zdCB7IGlkLCBsYWJlbCwgb25DaGFuZ2UgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGlkPXtpZH1cbiAgICAgIG9uQmx1cj17ZXZlbnQgPT4gb25DaGFuZ2UoZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgIGRlZmF1bHRWYWx1ZT17bGFiZWx9XG4gICAgLz5cbiAgKTtcbn1cblxuZnVuY3Rpb24gSGVscChwcm9wcykge1xuICBjb25zdCB7IGlkLCBoZWxwIH0gPSBwcm9wcztcbiAgaWYgKCFoZWxwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHR5cGVvZiBoZWxwID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxwIGlkPXtpZH0gY2xhc3NOYW1lPVwiaGVscC1ibG9ja1wiPlxuICAgICAgICB7aGVscH1cbiAgICAgIDwvcD5cbiAgICApO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGRpdiBpZD17aWR9IGNsYXNzTmFtZT1cImhlbHAtYmxvY2tcIj5cbiAgICAgIHtoZWxwfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBFcnJvckxpc3QocHJvcHMpIHtcbiAgY29uc3QgeyBlcnJvcnMgPSBbXSB9ID0gcHJvcHM7XG4gIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8dWwgY2xhc3NOYW1lPVwiZXJyb3ItZGV0YWlsIGJzLWNhbGxvdXQgYnMtY2FsbG91dC1pbmZvXCI+XG4gICAgICAgIHtlcnJvcnNcbiAgICAgICAgICAuZmlsdGVyKGVsZW0gPT4gISFlbGVtKVxuICAgICAgICAgIC5tYXAoKGVycm9yLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCIga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAge2Vycm9yfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICk7XG59XG5mdW5jdGlvbiBEZWZhdWx0VGVtcGxhdGUocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGxhYmVsLFxuICAgIGNoaWxkcmVuLFxuICAgIGVycm9ycyxcbiAgICBoZWxwLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGhpZGRlbixcbiAgICByZXF1aXJlZCxcbiAgICBkaXNwbGF5TGFiZWwsXG4gIH0gPSBwcm9wcztcbiAgaWYgKGhpZGRlbikge1xuICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImhpZGRlblwiPntjaGlsZHJlbn08L2Rpdj47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxXcmFwSWZBZGRpdGlvbmFsIHsuLi5wcm9wc30+XG4gICAgICB7ZGlzcGxheUxhYmVsICYmIDxMYWJlbCBsYWJlbD17bGFiZWx9IHJlcXVpcmVkPXtyZXF1aXJlZH0gaWQ9e2lkfSAvPn1cbiAgICAgIHtkaXNwbGF5TGFiZWwgJiYgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA6IG51bGx9XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7ZXJyb3JzfVxuICAgICAge2hlbHB9XG4gICAgPC9XcmFwSWZBZGRpdGlvbmFsPlxuICApO1xufVxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBEZWZhdWx0VGVtcGxhdGUucHJvcFR5cGVzID0ge1xuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzTmFtZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gICAgZXJyb3JzOiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICByYXdFcnJvcnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgIGhlbHA6IFByb3BUeXBlcy5lbGVtZW50LFxuICAgIHJhd0hlbHA6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5lbGVtZW50XSksXG4gICAgZGVzY3JpcHRpb246IFByb3BUeXBlcy5lbGVtZW50LFxuICAgIHJhd0Rlc2NyaXB0aW9uOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZWxlbWVudF0pLFxuICAgIGhpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgcmVxdWlyZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHJlYWRvbmx5OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNwbGF5TGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICAgIGZpZWxkczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBmb3JtQ29udGV4dDogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcbn1cblxuRGVmYXVsdFRlbXBsYXRlLmRlZmF1bHRQcm9wcyA9IHtcbiAgaGlkZGVuOiBmYWxzZSxcbiAgcmVhZG9ubHk6IGZhbHNlLFxuICByZXF1aXJlZDogZmFsc2UsXG4gIGRpc3BsYXlMYWJlbDogdHJ1ZSxcbn07XG5cbmZ1bmN0aW9uIFdyYXBJZkFkZGl0aW9uYWwocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGNsYXNzTmFtZXMsXG4gICAgZGlzYWJsZWQsXG4gICAgbGFiZWwsXG4gICAgb25LZXlDaGFuZ2UsXG4gICAgb25Ecm9wUHJvcGVydHlDbGljayxcbiAgICByZWFkb25seSxcbiAgICByZXF1aXJlZCxcbiAgICBzY2hlbWEsXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qga2V5TGFiZWwgPSBgJHtsYWJlbH0gS2V5YDsgLy8gaTE4biA/XG4gIGNvbnN0IGFkZGl0aW9uYWwgPSBzY2hlbWEuaGFzT3duUHJvcGVydHkoQURESVRJT05BTF9QUk9QRVJUWV9GTEFHKTtcblxuICBpZiAoIWFkZGl0aW9uYWwpIHtcbiAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXN9Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXhzLTUgZm9ybS1hZGRpdGlvbmFsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8TGFiZWwgbGFiZWw9e2tleUxhYmVsfSByZXF1aXJlZD17cmVxdWlyZWR9IGlkPXtgJHtpZH0ta2V5YH0gLz5cbiAgICAgICAgICAgIDxMYWJlbElucHV0XG4gICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgICBpZD17YCR7aWR9LWtleWB9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbktleUNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tYWRkaXRpb25hbCBmb3JtLWdyb3VwIGNvbC14cy01XCI+XG4gICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wteHMtMlwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgIGljb249XCJyZW1vdmVcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYXJyYXktaXRlbS1yZW1vdmUgYnRuLWJsb2NrXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgc3R5bGU9e3sgYm9yZGVyOiBcIjBcIiB9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IHJlYWRvbmx5fVxuICAgICAgICAgICAgb25DbGljaz17b25Ecm9wUHJvcGVydHlDbGljayhsYWJlbCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU2NoZW1hRmllbGRSZW5kZXIocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIHVpU2NoZW1hLFxuICAgIGZvcm1EYXRhLFxuICAgIGVycm9yU2NoZW1hLFxuICAgIGlkUHJlZml4LFxuICAgIG5hbWUsXG4gICAgb25DaGFuZ2UsXG4gICAgb25LZXlDaGFuZ2UsXG4gICAgb25Ecm9wUHJvcGVydHlDbGljayxcbiAgICByZXF1aXJlZCxcbiAgICByZWdpc3RyeSA9IGdldERlZmF1bHRSZWdpc3RyeSgpLFxuICAgIHdhc1Byb3BlcnR5S2V5TW9kaWZpZWQgPSBmYWxzZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IHJvb3RTY2hlbWEsIGZpZWxkcywgZm9ybUNvbnRleHQgfSA9IHJlZ2lzdHJ5O1xuICBjb25zdCBGaWVsZFRlbXBsYXRlID1cbiAgICB1aVNjaGVtYVtcInVpOkZpZWxkVGVtcGxhdGVcIl0gfHwgcmVnaXN0cnkuRmllbGRUZW1wbGF0ZSB8fCBEZWZhdWx0VGVtcGxhdGU7XG4gIGxldCBpZFNjaGVtYSA9IHByb3BzLmlkU2NoZW1hO1xuICBjb25zdCBzY2hlbWEgPSByZXRyaWV2ZVNjaGVtYShwcm9wcy5zY2hlbWEsIHJvb3RTY2hlbWEsIGZvcm1EYXRhKTtcbiAgaWRTY2hlbWEgPSBtZXJnZU9iamVjdHMoXG4gICAgdG9JZFNjaGVtYShzY2hlbWEsIG51bGwsIHJvb3RTY2hlbWEsIGZvcm1EYXRhLCBpZFByZWZpeCksXG4gICAgaWRTY2hlbWFcbiAgKTtcbiAgY29uc3QgRmllbGRDb21wb25lbnQgPSBnZXRGaWVsZENvbXBvbmVudChzY2hlbWEsIHVpU2NoZW1hLCBpZFNjaGVtYSwgZmllbGRzKTtcbiAgY29uc3QgeyBEZXNjcmlwdGlvbkZpZWxkIH0gPSBmaWVsZHM7XG4gIGNvbnN0IGRpc2FibGVkID0gQm9vbGVhbihwcm9wcy5kaXNhYmxlZCB8fCB1aVNjaGVtYVtcInVpOmRpc2FibGVkXCJdKTtcbiAgY29uc3QgcmVhZG9ubHkgPSBCb29sZWFuKFxuICAgIHByb3BzLnJlYWRvbmx5IHx8XG4gICAgICB1aVNjaGVtYVtcInVpOnJlYWRvbmx5XCJdIHx8XG4gICAgICBwcm9wcy5zY2hlbWEucmVhZE9ubHkgfHxcbiAgICAgIHNjaGVtYS5yZWFkT25seVxuICApO1xuICBjb25zdCBhdXRvZm9jdXMgPSBCb29sZWFuKHByb3BzLmF1dG9mb2N1cyB8fCB1aVNjaGVtYVtcInVpOmF1dG9mb2N1c1wiXSk7XG4gIGlmIChPYmplY3Qua2V5cyhzY2hlbWEpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZGlzcGxheUxhYmVsID0gZ2V0RGlzcGxheUxhYmVsKHNjaGVtYSwgdWlTY2hlbWEsIHJvb3RTY2hlbWEpO1xuXG4gIGNvbnN0IHsgX19lcnJvcnMsIC4uLmZpZWxkRXJyb3JTY2hlbWEgfSA9IGVycm9yU2NoZW1hO1xuXG4gIC8vIFNlZSAjNDM5OiB1aVNjaGVtYTogRG9uJ3QgcGFzcyBjb25zdW1lZCBjbGFzcyBuYW1lcyB0byBjaGlsZCBjb21wb25lbnRzXG4gIGNvbnN0IGZpZWxkID0gKFxuICAgIDxGaWVsZENvbXBvbmVudFxuICAgICAgey4uLnByb3BzfVxuICAgICAgaWRTY2hlbWE9e2lkU2NoZW1hfVxuICAgICAgc2NoZW1hPXtzY2hlbWF9XG4gICAgICB1aVNjaGVtYT17eyAuLi51aVNjaGVtYSwgY2xhc3NOYW1lczogdW5kZWZpbmVkIH19XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICByZWFkb25seT17cmVhZG9ubHl9XG4gICAgICBhdXRvZm9jdXM9e2F1dG9mb2N1c31cbiAgICAgIGVycm9yU2NoZW1hPXtmaWVsZEVycm9yU2NoZW1hfVxuICAgICAgZm9ybUNvbnRleHQ9e2Zvcm1Db250ZXh0fVxuICAgICAgcmF3RXJyb3JzPXtfX2Vycm9yc31cbiAgICAvPlxuICApO1xuXG4gIGNvbnN0IGlkID0gaWRTY2hlbWEuJGlkO1xuXG4gIC8vIElmIHRoaXMgc2NoZW1hIGhhcyBhIHRpdGxlIGRlZmluZWQsIGJ1dCB0aGUgdXNlciBoYXMgc2V0IGEgbmV3IGtleS9sYWJlbCwgcmV0YWluIHRoZWlyIGlucHV0LlxuICBsZXQgbGFiZWw7XG4gIGlmICh3YXNQcm9wZXJ0eUtleU1vZGlmaWVkKSB7XG4gICAgbGFiZWwgPSBuYW1lO1xuICB9IGVsc2Uge1xuICAgIGxhYmVsID0gdWlTY2hlbWFbXCJ1aTp0aXRsZVwiXSB8fCBwcm9wcy5zY2hlbWEudGl0bGUgfHwgc2NoZW1hLnRpdGxlIHx8IG5hbWU7XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdGlvbiA9XG4gICAgdWlTY2hlbWFbXCJ1aTpkZXNjcmlwdGlvblwiXSB8fFxuICAgIHByb3BzLnNjaGVtYS5kZXNjcmlwdGlvbiB8fFxuICAgIHNjaGVtYS5kZXNjcmlwdGlvbjtcbiAgY29uc3QgZXJyb3JzID0gX19lcnJvcnM7XG4gIGNvbnN0IGhlbHAgPSB1aVNjaGVtYVtcInVpOmhlbHBcIl07XG4gIGNvbnN0IGhpZGRlbiA9IHVpU2NoZW1hW1widWk6d2lkZ2V0XCJdID09PSBcImhpZGRlblwiO1xuICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgIFwiZm9ybS1ncm91cFwiLFxuICAgIFwiZmllbGRcIixcbiAgICBgZmllbGQtJHtzY2hlbWEudHlwZX1gLFxuICAgIGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoID4gMCA/IFwiZmllbGQtZXJyb3IgaGFzLWVycm9yIGhhcy1kYW5nZXJcIiA6IFwiXCIsXG4gICAgdWlTY2hlbWEuY2xhc3NOYW1lcyxcbiAgXVxuICAgIC5qb2luKFwiIFwiKVxuICAgIC50cmltKCk7XG5cbiAgY29uc3QgZmllbGRQcm9wcyA9IHtcbiAgICBkZXNjcmlwdGlvbjogKFxuICAgICAgPERlc2NyaXB0aW9uRmllbGRcbiAgICAgICAgaWQ9e2lkICsgXCJfX2Rlc2NyaXB0aW9uXCJ9XG4gICAgICAgIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn1cbiAgICAgICAgZm9ybUNvbnRleHQ9e2Zvcm1Db250ZXh0fVxuICAgICAgLz5cbiAgICApLFxuICAgIHJhd0Rlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICBoZWxwOiA8SGVscCBpZD17aWQgKyBcIl9faGVscFwifSBoZWxwPXtoZWxwfSAvPixcbiAgICByYXdIZWxwOiB0eXBlb2YgaGVscCA9PT0gXCJzdHJpbmdcIiA/IGhlbHAgOiB1bmRlZmluZWQsXG4gICAgZXJyb3JzOiA8RXJyb3JMaXN0IGVycm9ycz17ZXJyb3JzfSAvPixcbiAgICByYXdFcnJvcnM6IGVycm9ycyxcbiAgICBpZCxcbiAgICBsYWJlbCxcbiAgICBoaWRkZW4sXG4gICAgb25DaGFuZ2UsXG4gICAgb25LZXlDaGFuZ2UsXG4gICAgb25Ecm9wUHJvcGVydHlDbGljayxcbiAgICByZXF1aXJlZCxcbiAgICBkaXNhYmxlZCxcbiAgICByZWFkb25seSxcbiAgICBkaXNwbGF5TGFiZWwsXG4gICAgY2xhc3NOYW1lcyxcbiAgICBmb3JtQ29udGV4dCxcbiAgICBmb3JtRGF0YSxcbiAgICBmaWVsZHMsXG4gICAgc2NoZW1hLFxuICAgIHVpU2NoZW1hLFxuICAgIHJlZ2lzdHJ5LFxuICB9O1xuXG4gIGNvbnN0IF9BbnlPZkZpZWxkID0gcmVnaXN0cnkuZmllbGRzLkFueU9mRmllbGQ7XG4gIGNvbnN0IF9PbmVPZkZpZWxkID0gcmVnaXN0cnkuZmllbGRzLk9uZU9mRmllbGQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RmllbGRUZW1wbGF0ZSB7Li4uZmllbGRQcm9wc30+XG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIHtmaWVsZH1cblxuICAgICAgICB7LypcbiAgICAgICAgSWYgdGhlIHNjaGVtYSBgYW55T2ZgIG9yICdvbmVPZicgY2FuIGJlIHJlbmRlcmVkIGFzIGEgc2VsZWN0IGNvbnRyb2wsIGRvbid0XG4gICAgICAgIHJlbmRlciB0aGUgc2VsZWN0aW9uIGFuZCBsZXQgYFN0cmluZ0ZpZWxkYCBjb21wb25lbnQgaGFuZGxlXG4gICAgICAgIHJlbmRlcmluZ1xuICAgICAgKi99XG4gICAgICAgIHtzY2hlbWEuYW55T2YgJiYgIWlzU2VsZWN0KHNjaGVtYSkgJiYgKFxuICAgICAgICAgIDxfQW55T2ZGaWVsZFxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZXJyb3JTY2hlbWE9e2Vycm9yU2NoZW1hfVxuICAgICAgICAgICAgZm9ybURhdGE9e2Zvcm1EYXRhfVxuICAgICAgICAgICAgaWRQcmVmaXg9e2lkUHJlZml4fVxuICAgICAgICAgICAgaWRTY2hlbWE9e2lkU2NoZW1hfVxuICAgICAgICAgICAgb25CbHVyPXtwcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICBvbkNoYW5nZT17cHJvcHMub25DaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtwcm9wcy5vbkZvY3VzfVxuICAgICAgICAgICAgb3B0aW9ucz17c2NoZW1hLmFueU9mLm1hcChfc2NoZW1hID0+XG4gICAgICAgICAgICAgIHJldHJpZXZlU2NoZW1hKF9zY2hlbWEsIHJvb3RTY2hlbWEsIGZvcm1EYXRhKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIGJhc2VUeXBlPXtzY2hlbWEudHlwZX1cbiAgICAgICAgICAgIHJlZ2lzdHJ5PXtyZWdpc3RyeX1cbiAgICAgICAgICAgIHNjaGVtYT17c2NoZW1hfVxuICAgICAgICAgICAgdWlTY2hlbWE9e3VpU2NoZW1hfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAge3NjaGVtYS5vbmVPZiAmJiAhaXNTZWxlY3Qoc2NoZW1hKSAmJiAoXG4gICAgICAgICAgPF9PbmVPZkZpZWxkXG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvclNjaGVtYT17ZXJyb3JTY2hlbWF9XG4gICAgICAgICAgICBmb3JtRGF0YT17Zm9ybURhdGF9XG4gICAgICAgICAgICBpZFByZWZpeD17aWRQcmVmaXh9XG4gICAgICAgICAgICBpZFNjaGVtYT17aWRTY2hlbWF9XG4gICAgICAgICAgICBvbkJsdXI9e3Byb3BzLm9uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e3Byb3BzLm9uRm9jdXN9XG4gICAgICAgICAgICBvcHRpb25zPXtzY2hlbWEub25lT2YubWFwKF9zY2hlbWEgPT5cbiAgICAgICAgICAgICAgcmV0cmlldmVTY2hlbWEoX3NjaGVtYSwgcm9vdFNjaGVtYSwgZm9ybURhdGEpXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgYmFzZVR5cGU9e3NjaGVtYS50eXBlfVxuICAgICAgICAgICAgcmVnaXN0cnk9e3JlZ2lzdHJ5fVxuICAgICAgICAgICAgc2NoZW1hPXtzY2hlbWF9XG4gICAgICAgICAgICB1aVNjaGVtYT17dWlTY2hlbWF9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgPC9GaWVsZFRlbXBsYXRlPlxuICApO1xufVxuXG5jbGFzcyBTY2hlbWFGaWVsZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMsIG5leHRTdGF0ZSkge1xuICAgIHJldHVybiAhZGVlcEVxdWFscyh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiBTY2hlbWFGaWVsZFJlbmRlcih0aGlzLnByb3BzKTtcbiAgfVxufVxuXG5TY2hlbWFGaWVsZC5kZWZhdWx0UHJvcHMgPSB7XG4gIHVpU2NoZW1hOiB7fSxcbiAgZXJyb3JTY2hlbWE6IHt9LFxuICBpZFNjaGVtYToge30sXG4gIGRpc2FibGVkOiBmYWxzZSxcbiAgcmVhZG9ubHk6IGZhbHNlLFxuICBhdXRvZm9jdXM6IGZhbHNlLFxufTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBTY2hlbWFGaWVsZC5wcm9wVHlwZXMgPSB7XG4gICAgc2NoZW1hOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgdWlTY2hlbWE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaWRTY2hlbWE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZm9ybURhdGE6IFByb3BUeXBlcy5hbnksXG4gICAgZXJyb3JTY2hlbWE6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgcmVnaXN0cnk6IHR5cGVzLnJlZ2lzdHJ5LmlzUmVxdWlyZWQsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNjaGVtYUZpZWxkO1xuIl19
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var types = _interopRequireWildcard(require("../../types"));
11
+
12
+ var _utils = require("../../utils");
13
+
14
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
26
+ function StringField(props) {
27
+ var schema = props.schema,
28
+ name = props.name,
29
+ uiSchema = props.uiSchema,
30
+ idSchema = props.idSchema,
31
+ formData = props.formData,
32
+ required = props.required,
33
+ disabled = props.disabled,
34
+ readonly = props.readonly,
35
+ autofocus = props.autofocus,
36
+ onChange = props.onChange,
37
+ onBlur = props.onBlur,
38
+ onFocus = props.onFocus,
39
+ _props$registry = props.registry,
40
+ registry = _props$registry === void 0 ? (0, _utils.getDefaultRegistry)() : _props$registry,
41
+ rawErrors = props.rawErrors;
42
+ var title = schema.title,
43
+ format = schema.format;
44
+ var widgets = registry.widgets,
45
+ formContext = registry.formContext;
46
+ var enumOptions = (0, _utils.isSelect)(schema) && (0, _utils.optionsList)(schema);
47
+ var defaultWidget = enumOptions ? "select" : "text";
48
+
49
+ if (format && (0, _utils.hasWidget)(schema, format, widgets)) {
50
+ defaultWidget = format;
51
+ }
52
+
53
+ var _getUiOptions = (0, _utils.getUiOptions)(uiSchema),
54
+ _getUiOptions$widget = _getUiOptions.widget,
55
+ widget = _getUiOptions$widget === void 0 ? defaultWidget : _getUiOptions$widget,
56
+ _getUiOptions$placeho = _getUiOptions.placeholder,
57
+ placeholder = _getUiOptions$placeho === void 0 ? "" : _getUiOptions$placeho,
58
+ options = _objectWithoutProperties(_getUiOptions, ["widget", "placeholder"]);
59
+
60
+ var Widget = (0, _utils.getWidget)(schema, widget, widgets);
61
+ return _react["default"].createElement(Widget, {
62
+ options: _objectSpread({}, options, {
63
+ enumOptions: enumOptions
64
+ }),
65
+ schema: schema,
66
+ uiSchema: uiSchema,
67
+ id: idSchema && idSchema.$id,
68
+ label: title === undefined ? name : title,
69
+ value: formData,
70
+ onChange: onChange,
71
+ onBlur: onBlur,
72
+ onFocus: onFocus,
73
+ required: required,
74
+ disabled: disabled,
75
+ readonly: readonly,
76
+ formContext: formContext,
77
+ autofocus: autofocus,
78
+ registry: registry,
79
+ placeholder: placeholder,
80
+ rawErrors: rawErrors
81
+ });
82
+ }
83
+
84
+ if (process.env.NODE_ENV !== "production") {
85
+ StringField.propTypes = types.fieldProps;
86
+ }
87
+
88
+ StringField.defaultProps = {
89
+ uiSchema: {},
90
+ disabled: false,
91
+ readonly: false,
92
+ autofocus: false
93
+ };
94
+ var _default = StringField;
95
+ exports["default"] = _default;
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZpZWxkcy9TdHJpbmdGaWVsZC5qcyJdLCJuYW1lcyI6WyJTdHJpbmdGaWVsZCIsInByb3BzIiwic2NoZW1hIiwibmFtZSIsInVpU2NoZW1hIiwiaWRTY2hlbWEiLCJmb3JtRGF0YSIsInJlcXVpcmVkIiwiZGlzYWJsZWQiLCJyZWFkb25seSIsImF1dG9mb2N1cyIsIm9uQ2hhbmdlIiwib25CbHVyIiwib25Gb2N1cyIsInJlZ2lzdHJ5IiwicmF3RXJyb3JzIiwidGl0bGUiLCJmb3JtYXQiLCJ3aWRnZXRzIiwiZm9ybUNvbnRleHQiLCJlbnVtT3B0aW9ucyIsImRlZmF1bHRXaWRnZXQiLCJ3aWRnZXQiLCJwbGFjZWhvbGRlciIsIm9wdGlvbnMiLCJXaWRnZXQiLCIkaWQiLCJ1bmRlZmluZWQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcm9wVHlwZXMiLCJ0eXBlcyIsImZpZWxkUHJvcHMiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7QUFTQSxTQUFTQSxXQUFULENBQXFCQyxLQUFyQixFQUE0QjtBQUFBLE1BRXhCQyxNQUZ3QixHQWdCdEJELEtBaEJzQixDQUV4QkMsTUFGd0I7QUFBQSxNQUd4QkMsSUFId0IsR0FnQnRCRixLQWhCc0IsQ0FHeEJFLElBSHdCO0FBQUEsTUFJeEJDLFFBSndCLEdBZ0J0QkgsS0FoQnNCLENBSXhCRyxRQUp3QjtBQUFBLE1BS3hCQyxRQUx3QixHQWdCdEJKLEtBaEJzQixDQUt4QkksUUFMd0I7QUFBQSxNQU14QkMsUUFOd0IsR0FnQnRCTCxLQWhCc0IsQ0FNeEJLLFFBTndCO0FBQUEsTUFPeEJDLFFBUHdCLEdBZ0J0Qk4sS0FoQnNCLENBT3hCTSxRQVB3QjtBQUFBLE1BUXhCQyxRQVJ3QixHQWdCdEJQLEtBaEJzQixDQVF4Qk8sUUFSd0I7QUFBQSxNQVN4QkMsUUFUd0IsR0FnQnRCUixLQWhCc0Is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c0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldFdpZGdldCxcbiAgZ2V0VWlPcHRpb25zLFxuICBpc1NlbGVjdCxcbiAgb3B0aW9uc0xpc3QsXG4gIGdldERlZmF1bHRSZWdpc3RyeSxcbiAgaGFzV2lkZ2V0LFxufSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuZnVuY3Rpb24gU3RyaW5nRmllbGQocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIHNjaGVtYSxcbiAgICBuYW1lLFxuICAgIHVpU2NoZW1hLFxuICAgIGlkU2NoZW1hLFxuICAgIGZvcm1EYXRhLFxuICAgIHJlcXVpcmVkLFxuICAgIGRpc2FibGVkLFxuICAgIHJlYWRvbmx5LFxuICAgIGF1dG9mb2N1cyxcbiAgICBvbkNoYW5nZSxcbiAgICBvbkJsdXIsXG4gICAgb25Gb2N1cyxcbiAgICByZWdpc3RyeSA9IGdldERlZmF1bHRSZWdpc3RyeSgpLFxuICAgIHJhd0Vycm9ycyxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IHRpdGxlLCBmb3JtYXQgfSA9IHNjaGVtYTtcbiAgY29uc3QgeyB3aWRnZXRzLCBmb3JtQ29udGV4dCB9ID0gcmVnaXN0cnk7XG4gIGNvbnN0IGVudW1PcHRpb25zID0gaXNTZWxlY3Qoc2NoZW1hKSAmJiBvcHRpb25zTGlzdChzY2hlbWEpO1xuICBsZXQgZGVmYXVsdFdpZGdldCA9IGVudW1PcHRpb25zID8gXCJzZWxlY3RcIiA6IFwidGV4dFwiO1xuICBpZiAoZm9ybWF0ICYmIGhhc1dpZGdldChzY2hlbWEsIGZvcm1hdCwgd2lkZ2V0cykpIHtcbiAgICBkZWZhdWx0V2lkZ2V0ID0gZm9ybWF0O1xuICB9XG4gIGNvbnN0IHsgd2lkZ2V0ID0gZGVmYXVsdFdpZGdldCwgcGxhY2Vob2xkZXIgPSBcIlwiLCAuLi5vcHRpb25zIH0gPSBnZXRVaU9wdGlvbnMoXG4gICAgdWlTY2hlbWFcbiAgKTtcbiAgY29uc3QgV2lkZ2V0ID0gZ2V0V2lkZ2V0KHNjaGVtYSwgd2lkZ2V0LCB3aWRnZXRzKTtcbiAgcmV0dXJuIChcbiAgICA8V2lkZ2V0XG4gICAgICBvcHRpb25zPXt7IC4uLm9wdGlvbnMsIGVudW1PcHRpb25zIH19XG4gICAgICBzY2hlbWE9e3NjaGVtYX1cbiAgICAgIHVpU2NoZW1hPXt1aVNjaGVtYX1cbiAgICAgIGlkPXtpZFNjaGVtYSAmJiBpZFNjaGVtYS4kaWR9XG4gICAgICBsYWJlbD17dGl0bGUgPT09IHVuZGVmaW5lZCA/IG5hbWUgOiB0aXRsZX1cbiAgICAgIHZhbHVlPXtmb3JtRGF0YX1cbiAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIHJlYWRvbmx5PXtyZWFkb25seX1cbiAgICAgIGZvcm1Db250ZXh0PXtmb3JtQ29udGV4dH1cbiAgICAgIGF1dG9mb2N1cz17YXV0b2ZvY3VzfVxuICAgICAgcmVnaXN0cnk9e3JlZ2lzdHJ5fVxuICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgcmF3RXJyb3JzPXtyYXdFcnJvcnN9XG4gICAgLz5cbiAgKTtcbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICBTdHJpbmdGaWVsZC5wcm9wVHlwZXMgPSB0eXBlcy5maWVsZFByb3BzO1xufVxuXG5TdHJpbmdGaWVsZC5kZWZhdWx0UHJvcHMgPSB7XG4gIHVpU2NoZW1hOiB7fSxcbiAgZGlzYWJsZWQ6IGZhbHNlLFxuICByZWFkb25seTogZmFsc2UsXG4gIGF1dG9mb2N1czogZmFsc2UsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTdHJpbmdGaWVsZDtcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var REQUIRED_FIELD_SYMBOL = "*";
15
+
16
+ function TitleField(props) {
17
+ var id = props.id,
18
+ title = props.title,
19
+ required = props.required;
20
+ return _react["default"].createElement("legend", {
21
+ id: id
22
+ }, title, required && _react["default"].createElement("span", {
23
+ className: "required"
24
+ }, REQUIRED_FIELD_SYMBOL));
25
+ }
26
+
27
+ if (process.env.NODE_ENV !== "production") {
28
+ TitleField.propTypes = {
29
+ id: _propTypes["default"].string,
30
+ title: _propTypes["default"].string,
31
+ required: _propTypes["default"].bool
32
+ };
33
+ }
34
+
35
+ var _default = TitleField;
36
+ exports["default"] = _default;
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZpZWxkcy9UaXRsZUZpZWxkLmpzIl0sIm5hbWVzIjpbIlJFUVVJUkVEX0ZJRUxEX1NZTUJPTCIsIlRpdGxlRmllbGQiLCJwcm9wcyIsImlkIiwidGl0bGUiLCJyZXF1aXJlZCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLElBQU1BLHFCQUFxQixHQUFHLEdBQTlCOztBQUVBLFNBQVNDLFVBQVQsQ0FBb0JDLEtBQXBCLEVBQTJCO0FBQUEsTUFDakJDLEVBRGlCLEdBQ09ELEtBRFAsQ0FDakJDLEVBRGlCO0FBQUEsTUFDYkMsS0FEYSxHQUNPRixLQURQLENBQ2JFLEtBRGE7QUFBQSxNQUNOQyxRQURNLEdBQ09ILEtBRFAsQ0FDTkcsUUFETTtBQUV6QixTQUNFO0FBQVEsSUFBQSxFQUFFLEVBQUVGO0FBQVosS0FDR0MsS0FESCxFQUVHQyxRQUFRLElBQUk7QUFBTSxJQUFBLFNBQVMsRUFBQztBQUFoQixLQUE0QkwscUJBQTVCLENBRmYsQ0FERjtBQU1EOztBQUVELElBQUlNLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxRQUFaLEtBQXlCLFlBQTdCLEVBQTJDO0FBQ3pDUCxFQUFBQSxVQUFVLENBQUNRLFNBQVgsR0FBdUI7QUFDckJOLElBQUFBLEVBQUUsRUFBRU8sc0JBQVVDLE1BRE87QUFFckJQLElBQUFBLEtBQUssRUFBRU0sc0JBQVVDLE1BRkk7QUFHckJOLElBQUFBLFFBQVEsRUFBRUssc0JBQVVFO0FBSEMsR0FBdkI7QUFLRDs7ZUFFY1gsVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcblxuY29uc3QgUkVRVUlSRURfRklFTERfU1lNQk9MID0gXCIqXCI7XG5cbmZ1bmN0aW9uIFRpdGxlRmllbGQocHJvcHMpIHtcbiAgY29uc3QgeyBpZCwgdGl0bGUsIHJlcXVpcmVkIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8bGVnZW5kIGlkPXtpZH0+XG4gICAgICB7dGl0bGV9XG4gICAgICB7cmVxdWlyZWQgJiYgPHNwYW4gY2xhc3NOYW1lPVwicmVxdWlyZWRcIj57UkVRVUlSRURfRklFTERfU1lNQk9MfTwvc3Bhbj59XG4gICAgPC9sZWdlbmQ+XG4gICk7XG59XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgVGl0bGVGaWVsZC5wcm9wVHlwZXMgPSB7XG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcmVxdWlyZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBUaXRsZUZpZWxkO1xuIl19