@rjsf/core 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 (177) hide show
  1. package/dist/components/AddButton.d.ts +5 -0
  2. package/dist/components/ErrorList.d.ts +1 -0
  3. package/dist/components/Form.d.ts +48 -0
  4. package/dist/components/IconButton.d.ts +1 -0
  5. package/dist/components/fields/ArrayField.d.ts +51 -0
  6. package/dist/components/fields/BooleanField.d.ts +45 -0
  7. package/dist/components/fields/DescriptionField.d.ts +9 -0
  8. package/dist/components/fields/MultiSchemaField.d.ts +40 -0
  9. package/dist/components/fields/NullField.d.ts +6 -0
  10. package/dist/components/fields/NumberField.d.ts +63 -0
  11. package/dist/components/fields/ObjectField.d.ts +22 -0
  12. package/dist/components/fields/SchemaField.d.ts +39 -0
  13. package/dist/components/fields/StringField.d.ts +45 -0
  14. package/dist/components/fields/TitleField.d.ts +10 -0
  15. package/dist/components/fields/UnsupportedField.d.ts +14 -0
  16. package/dist/components/fields/index.d.ts +26 -0
  17. package/dist/components/widgets/AltDateTimeWidget.d.ts +22 -0
  18. package/dist/components/widgets/AltDateWidget.d.ts +22 -0
  19. package/dist/components/widgets/BaseInput.d.ts +23 -0
  20. package/dist/components/widgets/CheckboxWidget.d.ts +18 -0
  21. package/dist/components/widgets/CheckboxesWidget.d.ts +26 -0
  22. package/dist/components/widgets/ColorWidget.d.ts +15 -0
  23. package/dist/components/widgets/DateTimeWidget.d.ts +8 -0
  24. package/dist/components/widgets/DateWidget.d.ts +8 -0
  25. package/dist/components/widgets/EmailWidget.d.ts +8 -0
  26. package/dist/components/widgets/FileWidget.d.ts +19 -0
  27. package/dist/components/widgets/HiddenWidget.d.ts +12 -0
  28. package/dist/components/widgets/PasswordWidget.d.ts +8 -0
  29. package/dist/components/widgets/RadioWidget.d.ts +22 -0
  30. package/dist/components/widgets/RangeWidget.d.ts +8 -0
  31. package/dist/components/widgets/SelectWidget.d.ts +24 -0
  32. package/dist/components/widgets/SubmitButton.d.ts +3 -0
  33. package/dist/components/widgets/TextWidget.d.ts +9 -0
  34. package/dist/components/widgets/TextareaWidget.d.ts +25 -0
  35. package/dist/components/widgets/URLWidget.d.ts +8 -0
  36. package/dist/components/widgets/UpDownWidget.d.ts +8 -0
  37. package/dist/components/widgets/index.d.ts +43 -0
  38. package/dist/core.cjs.development.js +5714 -0
  39. package/dist/core.cjs.development.js.map +1 -0
  40. package/dist/core.cjs.production.min.js +2 -0
  41. package/dist/core.cjs.production.min.js.map +1 -0
  42. package/dist/core.esm.js +5706 -0
  43. package/dist/core.esm.js.map +1 -0
  44. package/dist/defaultRegistry.d.ts +41 -0
  45. package/dist/index.d.ts +71 -0
  46. package/dist/index.js +8 -0
  47. package/dist/react-jsonschema-form.js +18 -3
  48. package/dist/react-jsonschema-form.js.map +1 -1
  49. package/dist/types.d.ts +50 -0
  50. package/dist/utils.d.ts +81 -0
  51. package/dist/validate.d.ts +21 -0
  52. package/dist/withTheme.d.ts +10 -0
  53. package/index.d.ts +35 -14
  54. package/package.json +23 -24
  55. package/dist/cjs/components/AddButton.js +0 -32
  56. package/dist/cjs/components/ErrorList.js +0 -29
  57. package/dist/cjs/components/Form.js +0 -576
  58. package/dist/cjs/components/IconButton.js +0 -32
  59. package/dist/cjs/components/fields/ArrayField.js +0 -916
  60. package/dist/cjs/components/fields/BooleanField.js +0 -105
  61. package/dist/cjs/components/fields/DescriptionField.js +0 -44
  62. package/dist/cjs/components/fields/MultiSchemaField.js +0 -265
  63. package/dist/cjs/components/fields/NullField.js +0 -66
  64. package/dist/cjs/components/fields/NumberField.js +0 -153
  65. package/dist/cjs/components/fields/ObjectField.js +0 -345
  66. package/dist/cjs/components/fields/SchemaField.js +0 -475
  67. package/dist/cjs/components/fields/StringField.js +0 -96
  68. package/dist/cjs/components/fields/TitleField.js +0 -37
  69. package/dist/cjs/components/fields/UnsupportedField.js +0 -33
  70. package/dist/cjs/components/fields/index.js +0 -47
  71. package/dist/cjs/components/widgets/AltDateTimeWidget.js +0 -45
  72. package/dist/cjs/components/widgets/AltDateWidget.js +0 -282
  73. package/dist/cjs/components/widgets/BaseInput.js +0 -144
  74. package/dist/cjs/components/widgets/CheckboxWidget.js +0 -74
  75. package/dist/cjs/components/widgets/CheckboxesWidget.js +0 -106
  76. package/dist/cjs/components/widgets/ColorWidget.js +0 -42
  77. package/dist/cjs/components/widgets/DateTimeWidget.js +0 -40
  78. package/dist/cjs/components/widgets/DateWidget.js +0 -36
  79. package/dist/cjs/components/widgets/EmailWidget.js +0 -31
  80. package/dist/cjs/components/widgets/FileWidget.js +0 -198
  81. package/dist/cjs/components/widgets/HiddenWidget.js +0 -33
  82. package/dist/cjs/components/widgets/PasswordWidget.js +0 -31
  83. package/dist/cjs/components/widgets/RadioWidget.js +0 -92
  84. package/dist/cjs/components/widgets/RangeWidget.js +0 -39
  85. package/dist/cjs/components/widgets/SelectWidget.js +0 -143
  86. package/dist/cjs/components/widgets/TextWidget.js +0 -28
  87. package/dist/cjs/components/widgets/TextareaWidget.js +0 -78
  88. package/dist/cjs/components/widgets/URLWidget.js +0 -31
  89. package/dist/cjs/components/widgets/UpDownWidget.js +0 -33
  90. package/dist/cjs/components/widgets/index.js +0 -70
  91. package/dist/cjs/index.js +0 -28
  92. package/dist/cjs/types.js +0 -47
  93. package/dist/cjs/utils.js +0 -1381
  94. package/dist/cjs/validate.js +0 -354
  95. package/dist/cjs/withTheme.js +0 -50
  96. package/dist/es/components/AddButton.js +0 -21
  97. package/dist/es/components/ErrorList.js +0 -19
  98. package/dist/es/components/Form.js +0 -561
  99. package/dist/es/components/IconButton.js +0 -22
  100. package/dist/es/components/fields/ArrayField.js +0 -898
  101. package/dist/es/components/fields/BooleanField.js +0 -91
  102. package/dist/es/components/fields/DescriptionField.js +0 -33
  103. package/dist/es/components/fields/MultiSchemaField.js +0 -251
  104. package/dist/es/components/fields/NullField.js +0 -55
  105. package/dist/es/components/fields/NumberField.js +0 -138
  106. package/dist/es/components/fields/ObjectField.js +0 -330
  107. package/dist/es/components/fields/SchemaField.js +0 -457
  108. package/dist/es/components/fields/StringField.js +0 -82
  109. package/dist/es/components/fields/TitleField.js +0 -25
  110. package/dist/es/components/fields/UnsupportedField.js +0 -22
  111. package/dist/es/components/fields/index.js +0 -26
  112. package/dist/es/components/widgets/AltDateTimeWidget.js +0 -33
  113. package/dist/es/components/widgets/AltDateWidget.js +0 -268
  114. package/dist/es/components/widgets/BaseInput.js +0 -133
  115. package/dist/es/components/widgets/CheckboxWidget.js +0 -62
  116. package/dist/es/components/widgets/CheckboxesWidget.js +0 -93
  117. package/dist/es/components/widgets/ColorWidget.js +0 -31
  118. package/dist/es/components/widgets/DateTimeWidget.js +0 -28
  119. package/dist/es/components/widgets/DateWidget.js +0 -25
  120. package/dist/es/components/widgets/EmailWidget.js +0 -20
  121. package/dist/es/components/widgets/FileWidget.js +0 -184
  122. package/dist/es/components/widgets/HiddenWidget.js +0 -22
  123. package/dist/es/components/widgets/PasswordWidget.js +0 -20
  124. package/dist/es/components/widgets/RadioWidget.js +0 -79
  125. package/dist/es/components/widgets/RangeWidget.js +0 -27
  126. package/dist/es/components/widgets/SelectWidget.js +0 -130
  127. package/dist/es/components/widgets/TextWidget.js +0 -17
  128. package/dist/es/components/widgets/TextareaWidget.js +0 -67
  129. package/dist/es/components/widgets/URLWidget.js +0 -20
  130. package/dist/es/components/widgets/UpDownWidget.js +0 -21
  131. package/dist/es/components/widgets/index.js +0 -41
  132. package/dist/es/index.js +0 -6
  133. package/dist/es/types.js +0 -34
  134. package/dist/es/utils.js +0 -1281
  135. package/dist/es/validate.js +0 -338
  136. package/dist/es/withTheme.js +0 -36
  137. package/lib/components/AddButton.js +0 -21
  138. package/lib/components/ErrorList.js +0 -19
  139. package/lib/components/Form.js +0 -561
  140. package/lib/components/IconButton.js +0 -22
  141. package/lib/components/fields/ArrayField.js +0 -898
  142. package/lib/components/fields/BooleanField.js +0 -91
  143. package/lib/components/fields/DescriptionField.js +0 -33
  144. package/lib/components/fields/MultiSchemaField.js +0 -251
  145. package/lib/components/fields/NullField.js +0 -55
  146. package/lib/components/fields/NumberField.js +0 -138
  147. package/lib/components/fields/ObjectField.js +0 -330
  148. package/lib/components/fields/SchemaField.js +0 -457
  149. package/lib/components/fields/StringField.js +0 -82
  150. package/lib/components/fields/TitleField.js +0 -25
  151. package/lib/components/fields/UnsupportedField.js +0 -22
  152. package/lib/components/fields/index.js +0 -26
  153. package/lib/components/widgets/AltDateTimeWidget.js +0 -33
  154. package/lib/components/widgets/AltDateWidget.js +0 -268
  155. package/lib/components/widgets/BaseInput.js +0 -133
  156. package/lib/components/widgets/CheckboxWidget.js +0 -62
  157. package/lib/components/widgets/CheckboxesWidget.js +0 -93
  158. package/lib/components/widgets/ColorWidget.js +0 -31
  159. package/lib/components/widgets/DateTimeWidget.js +0 -28
  160. package/lib/components/widgets/DateWidget.js +0 -25
  161. package/lib/components/widgets/EmailWidget.js +0 -20
  162. package/lib/components/widgets/FileWidget.js +0 -184
  163. package/lib/components/widgets/HiddenWidget.js +0 -22
  164. package/lib/components/widgets/PasswordWidget.js +0 -20
  165. package/lib/components/widgets/RadioWidget.js +0 -79
  166. package/lib/components/widgets/RangeWidget.js +0 -27
  167. package/lib/components/widgets/SelectWidget.js +0 -130
  168. package/lib/components/widgets/TextWidget.js +0 -17
  169. package/lib/components/widgets/TextareaWidget.js +0 -67
  170. package/lib/components/widgets/URLWidget.js +0 -20
  171. package/lib/components/widgets/UpDownWidget.js +0 -21
  172. package/lib/components/widgets/index.js +0 -41
  173. package/lib/index.js +0 -6
  174. package/lib/types.js +0 -34
  175. package/lib/utils.js +0 -1281
  176. package/lib/validate.js +0 -338
  177. package/lib/withTheme.js +0 -36
@@ -1,354 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.toErrorList = toErrorList;
7
- exports["default"] = validateFormData;
8
- exports.withIdRefPrefix = withIdRefPrefix;
9
- exports.isValid = isValid;
10
-
11
- var _toPath = _interopRequireDefault(require("lodash/toPath"));
12
-
13
- var _ajv = _interopRequireDefault(require("ajv"));
14
-
15
- var _utils = require("./utils");
16
-
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
-
19
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
20
-
21
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
22
-
23
- function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
24
-
25
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
26
-
27
- 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; }
28
-
29
- 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; }
30
-
31
- var ajv = createAjvInstance();
32
- var formerCustomFormats = null;
33
- var formerMetaSchema = null;
34
- var ROOT_SCHEMA_PREFIX = "__rjsf_rootSchema";
35
-
36
- function createAjvInstance() {
37
- var ajv = new _ajv["default"]({
38
- errorDataPath: "property",
39
- allErrors: true,
40
- multipleOfPrecision: 8,
41
- schemaId: "auto",
42
- unknownFormats: "ignore"
43
- }); // add custom formats
44
-
45
- ajv.addFormat("data-url", /^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/);
46
- ajv.addFormat("color", /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/);
47
- return ajv;
48
- }
49
-
50
- function toErrorSchema(errors) {
51
- // Transforms a ajv validation errors list:
52
- // [
53
- // {property: ".level1.level2[2].level3", message: "err a"},
54
- // {property: ".level1.level2[2].level3", message: "err b"},
55
- // {property: ".level1.level2[4].level3", message: "err b"},
56
- // ]
57
- // Into an error tree:
58
- // {
59
- // level1: {
60
- // level2: {
61
- // 2: {level3: {errors: ["err a", "err b"]}},
62
- // 4: {level3: {errors: ["err b"]}},
63
- // }
64
- // }
65
- // };
66
- if (!errors.length) {
67
- return {};
68
- }
69
-
70
- return errors.reduce(function (errorSchema, error) {
71
- var property = error.property,
72
- message = error.message;
73
- var path = (0, _toPath["default"])(property);
74
- var parent = errorSchema; // If the property is at the root (.level1) then toPath creates
75
- // an empty array element at the first index. Remove it.
76
-
77
- if (path.length > 0 && path[0] === "") {
78
- path.splice(0, 1);
79
- }
80
-
81
- var _iteratorNormalCompletion = true;
82
- var _didIteratorError = false;
83
- var _iteratorError = undefined;
84
-
85
- try {
86
- for (var _iterator = path.slice(0)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
87
- var segment = _step.value;
88
-
89
- if (!(segment in parent)) {
90
- parent[segment] = {};
91
- }
92
-
93
- parent = parent[segment];
94
- }
95
- } catch (err) {
96
- _didIteratorError = true;
97
- _iteratorError = err;
98
- } finally {
99
- try {
100
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
101
- _iterator["return"]();
102
- }
103
- } finally {
104
- if (_didIteratorError) {
105
- throw _iteratorError;
106
- }
107
- }
108
- }
109
-
110
- if (Array.isArray(parent.__errors)) {
111
- // We store the list of errors for this node in a property named __errors
112
- // to avoid name collision with a possible sub schema field named
113
- // "errors" (see `validate.createErrorHandler`).
114
- parent.__errors = parent.__errors.concat(message);
115
- } else {
116
- if (message) {
117
- parent.__errors = [message];
118
- }
119
- }
120
-
121
- return errorSchema;
122
- }, {});
123
- }
124
-
125
- function toErrorList(errorSchema) {
126
- var fieldName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "root";
127
- // XXX: We should transform fieldName as a full field path string.
128
- var errorList = [];
129
-
130
- if ("__errors" in errorSchema) {
131
- errorList = errorList.concat(errorSchema.__errors.map(function (stack) {
132
- return {
133
- stack: "".concat(fieldName, ": ").concat(stack)
134
- };
135
- }));
136
- }
137
-
138
- return Object.keys(errorSchema).reduce(function (acc, key) {
139
- if (key !== "__errors") {
140
- acc = acc.concat(toErrorList(errorSchema[key], key));
141
- }
142
-
143
- return acc;
144
- }, errorList);
145
- }
146
-
147
- function createErrorHandler(formData) {
148
- var handler = {
149
- // We store the list of errors for this node in a property named __errors
150
- // to avoid name collision with a possible sub schema field named
151
- // "errors" (see `utils.toErrorSchema`).
152
- __errors: [],
153
- addError: function addError(message) {
154
- this.__errors.push(message);
155
- }
156
- };
157
-
158
- if ((0, _utils.isObject)(formData)) {
159
- return Object.keys(formData).reduce(function (acc, key) {
160
- return _objectSpread({}, acc, _defineProperty({}, key, createErrorHandler(formData[key])));
161
- }, handler);
162
- }
163
-
164
- if (Array.isArray(formData)) {
165
- return formData.reduce(function (acc, value, key) {
166
- return _objectSpread({}, acc, _defineProperty({}, key, createErrorHandler(value)));
167
- }, handler);
168
- }
169
-
170
- return handler;
171
- }
172
-
173
- function unwrapErrorHandler(errorHandler) {
174
- return Object.keys(errorHandler).reduce(function (acc, key) {
175
- if (key === "addError") {
176
- return acc;
177
- } else if (key === "__errors") {
178
- return _objectSpread({}, acc, _defineProperty({}, key, errorHandler[key]));
179
- }
180
-
181
- return _objectSpread({}, acc, _defineProperty({}, key, unwrapErrorHandler(errorHandler[key])));
182
- }, {});
183
- }
184
- /**
185
- * Transforming the error output from ajv to format used by jsonschema.
186
- * At some point, components should be updated to support ajv.
187
- */
188
-
189
-
190
- function transformAjvErrors() {
191
- var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
192
-
193
- if (errors === null) {
194
- return [];
195
- }
196
-
197
- return errors.map(function (e) {
198
- var dataPath = e.dataPath,
199
- keyword = e.keyword,
200
- message = e.message,
201
- params = e.params,
202
- schemaPath = e.schemaPath;
203
- var property = "".concat(dataPath); // put data in expected format
204
-
205
- return {
206
- name: keyword,
207
- property: property,
208
- message: message,
209
- params: params,
210
- // specific to ajv
211
- stack: "".concat(property, " ").concat(message).trim(),
212
- schemaPath: schemaPath
213
- };
214
- });
215
- }
216
- /**
217
- * This function processes the formData with a user `validate` contributed
218
- * function, which receives the form data and an `errorHandler` object that
219
- * will be used to add custom validation errors for each field.
220
- */
221
-
222
-
223
- function validateFormData(formData, schema, customValidate, transformErrors) {
224
- var additionalMetaSchemas = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
225
- var customFormats = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
226
- // Include form data with undefined values, which is required for validation.
227
- var rootSchema = schema;
228
- formData = (0, _utils.getDefaultFormState)(schema, formData, rootSchema, true);
229
- var newMetaSchemas = !(0, _utils.deepEquals)(formerMetaSchema, additionalMetaSchemas);
230
- var newFormats = !(0, _utils.deepEquals)(formerCustomFormats, customFormats);
231
-
232
- if (newMetaSchemas || newFormats) {
233
- ajv = createAjvInstance();
234
- } // add more schemas to validate against
235
-
236
-
237
- if (additionalMetaSchemas && newMetaSchemas && Array.isArray(additionalMetaSchemas)) {
238
- ajv.addMetaSchema(additionalMetaSchemas);
239
- formerMetaSchema = additionalMetaSchemas;
240
- } // add more custom formats to validate against
241
-
242
-
243
- if (customFormats && newFormats && (0, _utils.isObject)(customFormats)) {
244
- Object.keys(customFormats).forEach(function (formatName) {
245
- ajv.addFormat(formatName, customFormats[formatName]);
246
- });
247
- formerCustomFormats = customFormats;
248
- }
249
-
250
- var validationError = null;
251
-
252
- try {
253
- ajv.validate(schema, formData);
254
- } catch (err) {
255
- validationError = err;
256
- }
257
-
258
- var errors = transformAjvErrors(ajv.errors); // Clear errors to prevent persistent errors, see #1104
259
-
260
- ajv.errors = null;
261
- var noProperMetaSchema = validationError && validationError.message && typeof validationError.message === "string" && validationError.message.includes("no schema with key or ref ");
262
-
263
- if (noProperMetaSchema) {
264
- errors = [].concat(_toConsumableArray(errors), [{
265
- stack: validationError.message
266
- }]);
267
- }
268
-
269
- if (typeof transformErrors === "function") {
270
- errors = transformErrors(errors);
271
- }
272
-
273
- var errorSchema = toErrorSchema(errors);
274
-
275
- if (noProperMetaSchema) {
276
- errorSchema = _objectSpread({}, errorSchema, {
277
- $schema: {
278
- __errors: [validationError.message]
279
- }
280
- });
281
- }
282
-
283
- if (typeof customValidate !== "function") {
284
- return {
285
- errors: errors,
286
- errorSchema: errorSchema
287
- };
288
- }
289
-
290
- var errorHandler = customValidate(formData, createErrorHandler(formData));
291
- var userErrorSchema = unwrapErrorHandler(errorHandler);
292
- var newErrorSchema = (0, _utils.mergeObjects)(errorSchema, userErrorSchema, true); // XXX: The errors list produced is not fully compliant with the format
293
- // exposed by the jsonschema lib, which contains full field paths and other
294
- // properties.
295
-
296
- var newErrors = toErrorList(newErrorSchema);
297
- return {
298
- errors: newErrors,
299
- errorSchema: newErrorSchema
300
- };
301
- }
302
- /**
303
- * Recursively prefixes all $ref's in a schema with `ROOT_SCHEMA_PREFIX`
304
- * This is used in isValid to make references to the rootSchema
305
- */
306
-
307
-
308
- function withIdRefPrefix(schemaNode) {
309
- var obj = schemaNode;
310
-
311
- if (schemaNode.constructor === Object) {
312
- obj = _objectSpread({}, schemaNode);
313
-
314
- for (var key in obj) {
315
- var value = obj[key];
316
-
317
- if (key === "$ref" && typeof value === "string" && value.startsWith("#")) {
318
- obj[key] = ROOT_SCHEMA_PREFIX + value;
319
- } else {
320
- obj[key] = withIdRefPrefix(value);
321
- }
322
- }
323
- } else if (Array.isArray(schemaNode)) {
324
- obj = _toConsumableArray(schemaNode);
325
-
326
- for (var i = 0; i < obj.length; i++) {
327
- obj[i] = withIdRefPrefix(obj[i]);
328
- }
329
- }
330
-
331
- return obj;
332
- }
333
- /**
334
- * Validates data against a schema, returning true if the data is valid, or
335
- * false otherwise. If the schema is invalid, then this function will return
336
- * false.
337
- */
338
-
339
-
340
- function isValid(schema, data, rootSchema) {
341
- try {
342
- // add the rootSchema ROOT_SCHEMA_PREFIX as id.
343
- // then rewrite the schema ref's to point to the rootSchema
344
- // this accounts for the case where schema have references to models
345
- // that lives in the rootSchema but not in the schema in question.
346
- return ajv.addSchema(rootSchema, ROOT_SCHEMA_PREFIX).validate(withIdRefPrefix(schema), data);
347
- } catch (e) {
348
- return false;
349
- } finally {
350
- // make sure we remove the rootSchema from the global ajv instance
351
- ajv.removeSchema(ROOT_SCHEMA_PREFIX);
352
- }
353
- }
354
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0ZS5qcyJdLCJuYW1lcyI6WyJhanYiLCJjcmVhdGVBanZJbnN0YW5jZSIsImZvcm1lckN1c3RvbUZvcm1hdHMiLCJmb3JtZXJNZXRhU2NoZW1hIiwiUk9PVF9TQ0hFTUFfUFJFRklYIiwiQWp2IiwiZXJyb3JEYXRhUGF0aCIsImFsbEVycm9ycyIsIm11bHRpcGxlT2ZQcmVjaXNpb24iLCJzY2hlbWFJZCIsInVua25vd25Gb3JtYXRzIiwiYWRkRm9ybWF0IiwidG9FcnJvclNjaGVtYSIsImVycm9ycyIsImxlbmd0aCIsInJlZHVjZSIsImVycm9yU2NoZW1hIiwiZXJyb3IiLCJwcm9wZXJ0eSIsIm1lc3NhZ2UiLCJwYXRoIiwicGFyZW50Iiwic3BsaWNlIiwic2xpY2UiLCJzZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiX19lcnJvcnMiLCJjb25jYXQiLCJ0b0Vycm9yTGlzdCIsImZpZWxkTmFtZSIsImVycm9yTGlzdCIsIm1hcCIsInN0YWNrIiwiT2JqZWN0Iiwia2V5cyIsImFjYyIsImtleSIsImNyZWF0ZUVycm9ySGFuZGxlciIsImZvcm1EYXRhIiwiaGFuZGxlciIsImFkZEVycm9yIiwicHVzaCIsInZhbHVlIiwidW53cmFwRXJyb3JIYW5kbGVyIiwiZXJyb3JIYW5kbGVyIiwidHJhbnNmb3JtQWp2RXJyb3JzIiwiZSIsImRhdGFQYXRoIiwia2V5d29yZCIsInBhcmFtcyIsInNjaGVtYVBhdGgiLCJuYW1lIiwidHJpbSIsInZhbGlkYXRlRm9ybURhdGEiLCJzY2hlbWEiLCJjdXN0b21WYWxpZGF0ZSIsInRyYW5zZm9ybUVycm9ycyIsImFkZGl0aW9uYWxNZXRhU2NoZW1hcyIsImN1c3RvbUZvcm1hdHMiLCJyb290U2NoZW1hIiwibmV3TWV0YVNjaGVtYXMiLCJuZXdGb3JtYXRzIiwiYWRkTWV0YVNjaGVtYSIsImZvckVhY2giLCJmb3JtYXROYW1lIiwidmFsaWRhdGlvbkVycm9yIiwidmFsaWRhdGUiLCJlcnIiLCJub1Byb3Blck1ldGFTY2hlbWEiLCJpbmNsdWRlcyIsIiRzY2hlbWEiLCJ1c2VyRXJyb3JTY2hlbWEiLCJuZXdFcnJvclNjaGVtYSIsIm5ld0Vycm9ycyIsIndpdGhJZFJlZlByZWZpeCIsInNjaGVtYU5vZGUiLCJvYmoiLCJjb25zdHJ1Y3RvciIsInN0YXJ0c1dpdGgiLCJpIiwiaXNWYWxpZCIsImRhdGEiLCJhZGRTY2hlbWEiLCJyZW1vdmVTY2hlbWEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztBQURBLElBQUlBLEdBQUcsR0FBR0MsaUJBQWlCLEVBQTNCO0FBR0EsSUFBSUMsbUJBQW1CLEdBQUcsSUFBMUI7QUFDQSxJQUFJQyxnQkFBZ0IsR0FBRyxJQUF2QjtBQUNBLElBQU1DLGtCQUFrQixHQUFHLG1CQUEzQjs7QUFJQSxTQUFTSCxpQkFBVCxHQUE2QjtBQUMzQixNQUFNRCxHQUFHLEdBQUcsSUFBSUssZUFBSixDQUFRO0FBQ2xCQyxJQUFBQSxhQUFhLEVBQUUsVUFERztBQUVsQkMsSUFBQUEsU0FBUyxFQUFFLElBRk87QUFHbEJDLElBQUFBLG1CQUFtQixFQUFFLENBSEg7QUFJbEJDLElBQUFBLFFBQVEsRUFBRSxNQUpRO0FBS2xCQyxJQUFBQSxjQUFjLEVBQUU7QUFMRSxHQUFSLENBQVosQ0FEMkIsQ0FTM0I7O0FBQ0FWLEVBQUFBLEdBQUcsQ0FBQ1csU0FBSixDQUNFLFVBREYsRUFFRSwyREFGRjtBQUlBWCxFQUFBQSxHQUFHLENBQUNXLFNBQUosQ0FDRSxPQURGLEVBRUUsNFlBRkY7QUFJQSxTQUFPWCxHQUFQO0FBQ0Q7O0FBRUQsU0FBU1ksYUFBVCxDQUF1QkMsTUFBdkIsRUFBK0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSSxDQUFDQSxNQUFNLENBQUNDLE1BQVosRUFBb0I7QUFDbEIsV0FBTyxFQUFQO0FBQ0Q7O0FBQ0QsU0FB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QVNJLE9BQVQsQ0FBaUIxQixNQUFqQixFQUF5QjJCLElBQXpCLEVBQStCdEIsVUFBL0IsRUFBMkM7QUFDaEQsTUFBSTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBTzVELEdBQUcsQ0FDUG1GLFNBREksQ0FDTXZCLFVBRE4sRUFDa0J4RCxrQkFEbEIsRUFFSitELFFBRkksQ0FFS1EsZUFBZSxDQUFDcEIsTUFBRCxDQUZwQixFQUU4QjJCLElBRjlCLENBQVA7QUFHRCxHQVJELENBUUUsT0FBT25DLENBQVAsRUFBVTtBQUNWLFdBQU8sS0FBUDtBQUNELEdBVkQsU0FVVTtBQUNSO0FBQ0EvQyxJQUFBQSxHQUFHLENBQUNvRixZQUFKLENBQWlCaEYsa0JBQWpCO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b1BhdGggZnJvbSBcImxvZGFzaC90b1BhdGhcIjtcbmltcG9ydCBBanYgZnJvbSBcImFqdlwiO1xubGV0IGFqdiA9IGNyZWF0ZUFqdkluc3RhbmNlKCk7XG5pbXBvcnQgeyBkZWVwRXF1YWxzLCBnZXREZWZhdWx0Rm9ybVN0YXRlIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxubGV0IGZvcm1lckN1c3RvbUZvcm1hdHMgPSBudWxsO1xubGV0IGZvcm1lck1ldGFTY2hlbWEgPSBudWxsO1xuY29uc3QgUk9PVF9TQ0hFTUFfUFJFRklYID0gXCJfX3Jqc2Zfcm9vdFNjaGVtYVwiO1xuXG5pbXBvcnQgeyBpc09iamVjdCwgbWVyZ2VPYmplY3RzIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZnVuY3Rpb24gY3JlYXRlQWp2SW5zdGFuY2UoKSB7XG4gIGNvbnN0IGFqdiA9IG5ldyBBanYoe1xuICAgIGVycm9yRGF0YVBhdGg6IFwicHJvcGVydHlcIixcbiAgICBhbGxFcnJvcnM6IHRydWUsXG4gICAgbXVsdGlwbGVPZlByZWNpc2lvbjogOCxcbiAgICBzY2hlbWFJZDogXCJhdXRvXCIsXG4gICAgdW5rbm93bkZvcm1hdHM6IFwiaWdub3JlXCIsXG4gIH0pO1xuXG4gIC8vIGFkZCBjdXN0b20gZm9ybWF0c1xuICBhanYuYWRkRm9ybWF0KFxuICAgIFwiZGF0YS11cmxcIixcbiAgICAvXmRhdGE6KFthLXpdK1xcL1thLXowLTktKy5dKyk/Oyg/Om5hbWU9KC4qKTspP2Jhc2U2NCwoLiopJC9cbiAgKTtcbiAgYWp2LmFkZEZvcm1hdChcbiAgICBcImNvbG9yXCIsXG4gICAgL14oIz8oWzAtOUEtRmEtZl17M30pezEsMn1cXGJ8YXF1YXxibGFja3xibHVlfGZ1Y2hzaWF8Z3JheXxncmVlbnxsaW1lfG1hcm9vbnxuYXZ5fG9saXZlfG9yYW5nZXxwdXJwbGV8cmVkfHNpbHZlcnx0ZWFsfHdoaXRlfHllbGxvd3wocmdiXFwoXFxzKlxcYihbMC05XXxbMS05XVswLTldfDFbMC05XVswLTldfDJbMC00XVswLTldfDI1WzAtNV0pXFxiXFxzKixcXHMqXFxiKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcXGJcXHMqLFxccypcXGIoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKVxcYlxccypcXCkpfChyZ2JcXChcXHMqKFxcZD9cXGQlfDEwMCUpK1xccyosXFxzKihcXGQ/XFxkJXwxMDAlKStcXHMqLFxccyooXFxkP1xcZCV8MTAwJSkrXFxzKlxcKSkpJC9cbiAgKTtcbiAgcmV0dXJuIGFqdjtcbn1cblxuZnVuY3Rpb24gdG9FcnJvclNjaGVtYShlcnJvcnMpIHtcbiAgLy8gVHJhbnNmb3JtcyBhIGFqdiB2YWxpZGF0aW9uIGVycm9ycyBsaXN0OlxuICAvLyBbXG4gIC8vICAge3Byb3BlcnR5OiBcIi5sZXZlbDEubGV2ZWwyWzJdLmxldmVsM1wiLCBtZXNzYWdlOiBcImVyciBhXCJ9LFxuICAvLyAgIHtwcm9wZXJ0eTogXCIubGV2ZWwxLmxldmVsMlsyXS5sZXZlbDNcIiwgbWVzc2FnZTogXCJlcnIgYlwifSxcbiAgLy8gICB7cHJvcGVydHk6IFwiLmxldmVsMS5sZXZlbDJbNF0ubGV2ZWwzXCIsIG1lc3NhZ2U6IFwiZXJyIGJcIn0sXG4gIC8vIF1cbiAgLy8gSW50byBhbiBlcnJvciB0cmVlOlxuICAvLyB7XG4gIC8vICAgbGV2ZWwxOiB7XG4gIC8vICAgICBsZXZlbDI6IHtcbiAgLy8gICAgICAgMjoge2xldmVsMzoge2Vycm9yczogW1wiZXJyIGFcIiwgXCJlcnIgYlwiXX19LFxuICAvLyAgICAgICA0OiB7bGV2ZWwzOiB7ZXJyb3JzOiBbXCJlcnIgYlwiXX19LFxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfTtcbiAgaWYgKCFlcnJvcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIHJldHVybiBlcnJvcnMucmVkdWNlKChlcnJvclNjaGVtYSwgZXJyb3IpID0+IHtcbiAgICBjb25zdCB7IHByb3BlcnR5LCBtZXNzYWdlIH0gPSBlcnJvcjtcbiAgICBjb25zdCBwYXRoID0gdG9QYXRoKHByb3BlcnR5KTtcbiAgICBsZXQgcGFyZW50ID0gZXJyb3JTY2hlbWE7XG5cbiAgICAvLyBJZiB0aGUgcHJvcGVydHkgaXMgYXQgdGhlIHJvb3QgKC5sZXZlbDEpIHRoZW4gdG9QYXRoIGNyZWF0ZXNcbiAgICAvLyBhbiBlbXB0eSBhcnJheSBlbGVtZW50IGF0IHRoZSBmaXJzdCBpbmRleC4gUmVtb3ZlIGl0LlxuICAgIGlmIChwYXRoLmxlbmd0aCA+IDAgJiYgcGF0aFswXSA9PT0gXCJcIikge1xuICAgICAgcGF0aC5zcGxpY2UoMCwgMSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc2xpY2UoMCkpIHtcbiAgICAgIGlmICghKHNlZ21lbnQgaW4gcGFyZW50KSkge1xuICAgICAgICBwYXJlbnRbc2VnbWVudF0gPSB7fTtcbiAgICAgIH1cbiAgICAgIHBhcmVudCA9IHBhcmVudFtzZWdtZW50XTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJlbnQuX19lcnJvcnMpKSB7XG4gICAgICAvLyBXZSBzdG9yZSB0aGUgbGlzdCBvZiBlcnJvcnMgZm9yIHRoaXMgbm9kZSBpbiBhIHByb3BlcnR5IG5hbWVkIF9fZXJyb3JzXG4gICAgICAvLyB0byBhdm9pZCBuYW1lIGNvbGxpc2lvbiB3aXRoIGEgcG9zc2libGUgc3ViIHNjaGVtYSBmaWVsZCBuYW1lZFxuICAgICAgLy8gXCJlcnJvcnNcIiAoc2VlIGB2YWxpZGF0ZS5jcmVhdGVFcnJvckhhbmRsZXJgKS5cbiAgICAgIHBhcmVudC5fX2Vycm9ycyA9IHBhcmVudC5fX2Vycm9ycy5jb25jYXQobWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICAgIHBhcmVudC5fX2Vycm9ycyA9IFttZXNzYWdlXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVycm9yU2NoZW1hO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Vycm9yTGlzdChlcnJvclNjaGVtYSwgZmllbGROYW1lID0gXCJyb290XCIpIHtcbiAgLy8gWFhYOiBXZSBzaG91bGQgdHJhbnNmb3JtIGZpZWxkTmFtZSBhcyBhIGZ1bGwgZmllbGQgcGF0aCBzdHJpbmcuXG4gIGxldCBlcnJvckxpc3QgPSBbXTtcbiAgaWYgKFwiX19lcnJvcnNcIiBpbiBlcnJvclNjaGVtYSkge1xuICAgIGVycm9yTGlzdCA9IGVycm9yTGlzdC5jb25jYXQoXG4gICAgICBlcnJvclNjaGVtYS5fX2Vycm9ycy5tYXAoc3RhY2sgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN0YWNrOiBgJHtmaWVsZE5hbWV9OiAke3N0YWNrfWAsXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGVycm9yU2NoZW1hKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgaWYgKGtleSAhPT0gXCJfX2Vycm9yc1wiKSB7XG4gICAgICBhY2MgPSBhY2MuY29uY2F0KHRvRXJyb3JMaXN0KGVycm9yU2NoZW1hW2tleV0sIGtleSkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBlcnJvckxpc3QpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFcnJvckhhbmRsZXIoZm9ybURhdGEpIHtcbiAgY29uc3QgaGFuZGxlciA9IHtcbiAgICAvLyBXZSBzdG9yZSB0aGUgbGlzdCBvZiBlcnJvcnMgZm9yIHRoaXMgbm9kZSBpbiBhIHByb3BlcnR5IG5hbWVkIF9fZXJyb3JzXG4gICAgLy8gdG8gYXZvaWQgbmFtZSBjb2xsaXNpb24gd2l0aCBhIHBvc3NpYmxlIHN1YiBzY2hlbWEgZmllbGQgbmFtZWRcbiAgICAvLyBcImVycm9yc1wiIChzZWUgYHV0aWxzLnRvRXJyb3JTY2hlbWFgKS5cbiAgICBfX2Vycm9yczogW10sXG4gICAgYWRkRXJyb3IobWVzc2FnZSkge1xuICAgICAgdGhpcy5fX2Vycm9ycy5wdXNoKG1lc3NhZ2UpO1xuICAgIH0sXG4gIH07XG4gIGlmIChpc09iamVjdChmb3JtRGF0YSkpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZm9ybURhdGEpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IGNyZWF0ZUVycm9ySGFuZGxlcihmb3JtRGF0YVtrZXldKSB9O1xuICAgIH0sIGhhbmRsZXIpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KGZvcm1EYXRhKSkge1xuICAgIHJldHVybiBmb3JtRGF0YS5yZWR1Y2UoKGFjYywgdmFsdWUsIGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogY3JlYXRlRXJyb3JIYW5kbGVyKHZhbHVlKSB9O1xuICAgIH0sIGhhbmRsZXIpO1xuICB9XG4gIHJldHVybiBoYW5kbGVyO1xufVxuXG5mdW5jdGlvbiB1bndyYXBFcnJvckhhbmRsZXIoZXJyb3JIYW5kbGVyKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhlcnJvckhhbmRsZXIpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICBpZiAoa2V5ID09PSBcImFkZEVycm9yXCIpIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09IFwiX19lcnJvcnNcIikge1xuICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogZXJyb3JIYW5kbGVyW2tleV0gfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdW53cmFwRXJyb3JIYW5kbGVyKGVycm9ySGFuZGxlcltrZXldKSB9O1xuICB9LCB7fSk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtaW5nIHRoZSBlcnJvciBvdXRwdXQgZnJvbSBhanYgdG8gZm9ybWF0IHVzZWQgYnkganNvbnNjaGVtYS5cbiAqIEF0IHNvbWUgcG9pbnQsIGNvbXBvbmVudHMgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gc3VwcG9ydCBhanYuXG4gKi9cbmZ1bmN0aW9uIHRyYW5zZm9ybUFqdkVycm9ycyhlcnJvcnMgPSBbXSkge1xuICBpZiAoZXJyb3JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycy5tYXAoZSA9PiB7XG4gICAgY29uc3QgeyBkYXRhUGF0aCwga2V5d29yZCwgbWVzc2FnZSwgcGFyYW1zLCBzY2hlbWFQYXRoIH0gPSBlO1xuICAgIGxldCBwcm9wZXJ0eSA9IGAke2RhdGFQYXRofWA7XG5cbiAgICAvLyBwdXQgZGF0YSBpbiBleHBlY3RlZCBmb3JtYXRcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZToga2V5d29yZCxcbiAgICAgIHByb3BlcnR5LFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHBhcmFtcywgLy8gc3BlY2lmaWMgdG8gYWp2XG4gICAgICBzdGFjazogYCR7cHJvcGVydHl9ICR7bWVzc2FnZX1gLnRyaW0oKSxcbiAgICAgIHNjaGVtYVBhdGgsXG4gICAgfTtcbiAgfSk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBwcm9jZXNzZXMgdGhlIGZvcm1EYXRhIHdpdGggYSB1c2VyIGB2YWxpZGF0ZWAgY29udHJpYnV0ZWRcbiAqIGZ1bmN0aW9uLCB3aGljaCByZWNlaXZlcyB0aGUgZm9ybSBkYXRhIGFuZCBhbiBgZXJyb3JIYW5kbGVyYCBvYmplY3QgdGhhdFxuICogd2lsbCBiZSB1c2VkIHRvIGFkZCBjdXN0b20gdmFsaWRhdGlvbiBlcnJvcnMgZm9yIGVhY2ggZmllbGQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybURhdGEoXG4gIGZvcm1EYXRhLFxuICBzY2hlbWEsXG4gIGN1c3RvbVZhbGlkYXRlLFxuICB0cmFuc2Zvcm1FcnJvcnMsXG4gIGFkZGl0aW9uYWxNZXRhU2NoZW1hcyA9IFtdLFxuICBjdXN0b21Gb3JtYXRzID0ge31cbikge1xuICAvLyBJbmNsdWRlIGZvcm0gZGF0YSB3aXRoIHVuZGVmaW5lZCB2YWx1ZXMsIHdoaWNoIGlzIHJlcXVpcmVkIGZvciB2YWxpZGF0aW9uLlxuICBjb25zdCByb290U2NoZW1hID0gc2NoZW1hO1xuICBmb3JtRGF0YSA9IGdldERlZmF1bHRGb3JtU3RhdGUoc2NoZW1hLCBmb3JtRGF0YSwgcm9vdFNjaGVtYSwgdHJ1ZSk7XG5cbiAgY29uc3QgbmV3TWV0YVNjaGVtYXMgPSAhZGVlcEVxdWFscyhmb3JtZXJNZXRhU2NoZW1hLCBhZGRpdGlvbmFsTWV0YVNjaGVtYXMpO1xuICBjb25zdCBuZXdGb3JtYXRzID0gIWRlZXBFcXVhbHMoZm9ybWVyQ3VzdG9tRm9ybWF0cywgY3VzdG9tRm9ybWF0cyk7XG5cbiAgaWYgKG5ld01ldGFTY2hlbWFzIHx8IG5ld0Zvcm1hdHMpIHtcbiAgICBhanYgPSBjcmVhdGVBanZJbnN0YW5jZSgpO1xuICB9XG5cbiAgLy8gYWRkIG1vcmUgc2NoZW1hcyB0byB2YWxpZGF0ZSBhZ2FpbnN0XG4gIGlmIChcbiAgICBhZGRpdGlvbmFsTWV0YVNjaGVtYXMgJiZcbiAgICBuZXdNZXRhU2NoZW1hcyAmJlxuICAgIEFycmF5LmlzQXJyYXkoYWRkaXRpb25hbE1ldGFTY2hlbWFzKVxuICApIHtcbiAgICBhanYuYWRkTWV0YVNjaGVtYShhZGRpdGlvbmFsTWV0YVNjaGVtYXMpO1xuICAgIGZvcm1lck1ldGFTY2hlbWEgPSBhZGRpdGlvbmFsTWV0YVNjaGVtYXM7XG4gIH1cblxuICAvLyBhZGQgbW9yZSBjdXN0b20gZm9ybWF0cyB0byB2YWxpZGF0ZSBhZ2FpbnN0XG4gIGlmIChjdXN0b21Gb3JtYXRzICYmIG5ld0Zvcm1hdHMgJiYgaXNPYmplY3QoY3VzdG9tRm9ybWF0cykpIHtcbiAgICBPYmplY3Qua2V5cyhjdXN0b21Gb3JtYXRzKS5mb3JFYWNoKGZvcm1hdE5hbWUgPT4ge1xuICAgICAgYWp2LmFkZEZvcm1hdChmb3JtYXROYW1lLCBjdXN0b21Gb3JtYXRzW2Zvcm1hdE5hbWVdKTtcbiAgICB9KTtcblxuICAgIGZvcm1lckN1c3RvbUZvcm1hdHMgPSBjdXN0b21Gb3JtYXRzO1xuICB9XG5cbiAgbGV0IHZhbGlkYXRpb25FcnJvciA9IG51bGw7XG4gIHRyeSB7XG4gICAgYWp2LnZhbGlkYXRlKHNjaGVtYSwgZm9ybURhdGEpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB2YWxpZGF0aW9uRXJyb3IgPSBlcnI7XG4gIH1cblxuICBsZXQgZXJyb3JzID0gdHJhbnNmb3JtQWp2RXJyb3JzKGFqdi5lcnJvcnMpO1xuICAvLyBDbGVhciBlcnJvcnMgdG8gcHJldmVudCBwZXJzaXN0ZW50IGVycm9ycywgc2VlICMxMTA0XG5cbiAgYWp2LmVycm9ycyA9IG51bGw7XG5cbiAgY29uc3Qgbm9Qcm9wZXJNZXRhU2NoZW1hID1cbiAgICB2YWxpZGF0aW9uRXJyb3IgJiZcbiAgICB2YWxpZGF0aW9uRXJyb3IubWVzc2FnZSAmJlxuICAgIHR5cGVvZiB2YWxpZGF0aW9uRXJyb3IubWVzc2FnZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIHZhbGlkYXRpb25FcnJvci5tZXNzYWdlLmluY2x1ZGVzKFwibm8gc2NoZW1hIHdpdGgga2V5IG9yIHJlZiBcIik7XG5cbiAgaWYgKG5vUHJvcGVyTWV0YVNjaGVtYSkge1xuICAgIGVycm9ycyA9IFtcbiAgICAgIC4uLmVycm9ycyxcbiAgICAgIHtcbiAgICAgICAgc3RhY2s6IHZhbGlkYXRpb25FcnJvci5tZXNzYWdlLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG4gIGlmICh0eXBlb2YgdHJhbnNmb3JtRXJyb3JzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBlcnJvcnMgPSB0cmFuc2Zvcm1FcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIGxldCBlcnJvclNjaGVtYSA9IHRvRXJyb3JTY2hlbWEoZXJyb3JzKTtcblxuICBpZiAobm9Qcm9wZXJNZXRhU2NoZW1hKSB7XG4gICAgZXJyb3JTY2hlbWEgPSB7XG4gICAgICAuLi5lcnJvclNjaGVtYSxcbiAgICAgIC4uLntcbiAgICAgICAgJHNjaGVtYToge1xuICAgICAgICAgIF9fZXJyb3JzOiBbdmFsaWRhdGlvbkVycm9yLm1lc3NhZ2VdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjdXN0b21WYWxpZGF0ZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIHsgZXJyb3JzLCBlcnJvclNjaGVtYSB9O1xuICB9XG5cbiAgY29uc3QgZXJyb3JIYW5kbGVyID0gY3VzdG9tVmFsaWRhdGUoZm9ybURhdGEsIGNyZWF0ZUVycm9ySGFuZGxlcihmb3JtRGF0YSkpO1xuICBjb25zdCB1c2VyRXJyb3JTY2hlbWEgPSB1bndyYXBFcnJvckhhbmRsZXIoZXJyb3JIYW5kbGVyKTtcbiAgY29uc3QgbmV3RXJyb3JTY2hlbWEgPSBtZXJnZU9iamVjdHMoZXJyb3JTY2hlbWEsIHVzZXJFcnJvclNjaGVtYSwgdHJ1ZSk7XG4gIC8vIFhYWDogVGhlIGVycm9ycyBsaXN0IHByb2R1Y2VkIGlzIG5vdCBmdWxseSBjb21wbGlhbnQgd2l0aCB0aGUgZm9ybWF0XG4gIC8vIGV4cG9zZWQgYnkgdGhlIGpzb25zY2hlbWEgbGliLCB3aGljaCBjb250YWlucyBmdWxsIGZpZWxkIHBhdGhzIGFuZCBvdGhlclxuICAvLyBwcm9wZXJ0aWVzLlxuICBjb25zdCBuZXdFcnJvcnMgPSB0b0Vycm9yTGlzdChuZXdFcnJvclNjaGVtYSk7XG5cbiAgcmV0dXJuIHtcbiAgICBlcnJvcnM6IG5ld0Vycm9ycyxcbiAgICBlcnJvclNjaGVtYTogbmV3RXJyb3JTY2hlbWEsXG4gIH07XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgcHJlZml4ZXMgYWxsICRyZWYncyBpbiBhIHNjaGVtYSB3aXRoIGBST09UX1NDSEVNQV9QUkVGSVhgXG4gKiBUaGlzIGlzIHVzZWQgaW4gaXNWYWxpZCB0byBtYWtlIHJlZmVyZW5jZXMgdG8gdGhlIHJvb3RTY2hlbWFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhJZFJlZlByZWZpeChzY2hlbWFOb2RlKSB7XG4gIGxldCBvYmogPSBzY2hlbWFOb2RlO1xuICBpZiAoc2NoZW1hTm9kZS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgb2JqID0geyAuLi5zY2hlbWFOb2RlIH07XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgaWYgKFxuICAgICAgICBrZXkgPT09IFwiJHJlZlwiICYmXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICB2YWx1ZS5zdGFydHNXaXRoKFwiI1wiKVxuICAgICAgKSB7XG4gICAgICAgIG9ialtrZXldID0gUk9PVF9TQ0hFTUFfUFJFRklYICsgdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmpba2V5XSA9IHdpdGhJZFJlZlByZWZpeCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc2NoZW1hTm9kZSkpIHtcbiAgICBvYmogPSBbLi4uc2NoZW1hTm9kZV07XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgIG9ialtpXSA9IHdpdGhJZFJlZlByZWZpeChvYmpbaV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBkYXRhIGFnYWluc3QgYSBzY2hlbWEsIHJldHVybmluZyB0cnVlIGlmIHRoZSBkYXRhIGlzIHZhbGlkLCBvclxuICogZmFsc2Ugb3RoZXJ3aXNlLiBJZiB0aGUgc2NoZW1hIGlzIGludmFsaWQsIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIHJldHVyblxuICogZmFsc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkKHNjaGVtYSwgZGF0YSwgcm9vdFNjaGVtYSkge1xuICB0cnkge1xuICAgIC8vIGFkZCB0aGUgcm9vdFNjaGVtYSBST09UX1NDSEVNQV9QUkVGSVggYXMgaWQuXG4gICAgLy8gdGhlbiByZXdyaXRlIHRoZSBzY2hlbWEgcmVmJ3MgdG8gcG9pbnQgdG8gdGhlIHJvb3RTY2hlbWFcbiAgICAvLyB0aGlzIGFjY291bnRzIGZvciB0aGUgY2FzZSB3aGVyZSBzY2hlbWEgaGF2ZSByZWZlcmVuY2VzIHRvIG1vZGVsc1xuICAgIC8vIHRoYXQgbGl2ZXMgaW4gdGhlIHJvb3RTY2hlbWEgYnV0IG5vdCBpbiB0aGUgc2NoZW1hIGluIHF1ZXN0aW9uLlxuICAgIHJldHVybiBhanZcbiAgICAgIC5hZGRTY2hlbWEocm9vdFNjaGVtYSwgUk9PVF9TQ0hFTUFfUFJFRklYKVxuICAgICAgLnZhbGlkYXRlKHdpdGhJZFJlZlByZWZpeChzY2hlbWEpLCBkYXRhKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBtYWtlIHN1cmUgd2UgcmVtb3ZlIHRoZSByb290U2NoZW1hIGZyb20gdGhlIGdsb2JhbCBhanYgaW5zdGFuY2VcbiAgICBhanYucmVtb3ZlU2NoZW1hKFJPT1RfU0NIRU1BX1BSRUZJWCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _ = _interopRequireDefault(require("./"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
- 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; } }
17
-
18
- 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); }
19
-
20
- 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; }
21
-
22
- 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; }
23
-
24
- 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; }
25
-
26
- 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; }
27
-
28
- function withTheme(themeProps) {
29
- return (0, _react.forwardRef)(function (_ref, ref) {
30
- var fields = _ref.fields,
31
- widgets = _ref.widgets,
32
- directProps = _objectWithoutProperties(_ref, ["fields", "widgets"]);
33
-
34
- fields = _objectSpread({}, themeProps.fields, fields);
35
- widgets = _objectSpread({}, themeProps.widgets, widgets);
36
- return _react["default"].createElement(_["default"], _extends({}, themeProps, directProps, {
37
- fields: fields,
38
- widgets: widgets,
39
- ref: ref
40
- }));
41
- });
42
- }
43
-
44
- withTheme.propTypes = {
45
- widgets: _propTypes["default"].object,
46
- fields: _propTypes["default"].object
47
- };
48
- var _default = withTheme;
49
- exports["default"] = _default;
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoVGhlbWUuanMiXSwibmFtZXMiOlsid2l0aFRoZW1lIiwidGhlbWVQcm9wcyIsInJlZiIsImZpZWxkcyIsIndpZGdldHMiLCJkaXJlY3RQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0EsU0FBVCxDQUFtQkMsVUFBbkIsRUFBK0I7QUFDN0IsU0FBTyx1QkFBVyxnQkFBc0NDLEdBQXRDLEVBQThDO0FBQUEsUUFBM0NDLE1BQTJDLFFBQTNDQSxNQUEyQztBQUFBLFFBQW5DQyxPQUFtQyxRQUFuQ0EsT0FBbUM7QUFBQSxRQUF2QkMsV0FBdUI7O0FBQzlERixJQUFBQSxNQUFNLHFCQUFRRixVQUFVLENBQUNFLE1BQW5CLEVBQThCQSxNQUE5QixDQUFOO0FBQ0FDLElBQUFBLE9BQU8scUJBQVFILFVBQVUsQ0FBQ0csT0FBbkIsRUFBK0JBLE9BQS9CLENBQVA7QUFFQSxXQUNFLGdDQUFDLFlBQUQsZUFDTUgsVUFETixFQUVNSSxXQUZOO0FBR0UsTUFBQSxNQUFNLEVBQUVGLE1BSFY7QUFJRSxNQUFBLE9BQU8sRUFBRUMsT0FKWDtBQUtFLE1BQUEsR0FBRyxFQUFFRjtBQUxQLE9BREY7QUFTRCxHQWJNLENBQVA7QUFjRDs7QUFFREYsU0FBUyxDQUFDTSxTQUFWLEdBQXNCO0FBQ3BCRixFQUFBQSxPQUFPLEVBQUVHLHNCQUFVQyxNQURDO0FBRXBCTCxFQUFBQSxNQUFNLEVBQUVJLHNCQUFVQztBQUZFLENBQXRCO2VBS2VSLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IEZvcm0gZnJvbSBcIi4vXCI7XG5cbmZ1bmN0aW9uIHdpdGhUaGVtZSh0aGVtZVByb3BzKSB7XG4gIHJldHVybiBmb3J3YXJkUmVmKCh7IGZpZWxkcywgd2lkZ2V0cywgLi4uZGlyZWN0UHJvcHMgfSwgcmVmKSA9PiB7XG4gICAgZmllbGRzID0geyAuLi50aGVtZVByb3BzLmZpZWxkcywgLi4uZmllbGRzIH07XG4gICAgd2lkZ2V0cyA9IHsgLi4udGhlbWVQcm9wcy53aWRnZXRzLCAuLi53aWRnZXRzIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgey4uLnRoZW1lUHJvcHN9XG4gICAgICAgIHsuLi5kaXJlY3RQcm9wc31cbiAgICAgICAgZmllbGRzPXtmaWVsZHN9XG4gICAgICAgIHdpZGdldHM9e3dpZGdldHN9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgLz5cbiAgICApO1xuICB9KTtcbn1cblxud2l0aFRoZW1lLnByb3BUeXBlcyA9IHtcbiAgd2lkZ2V0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgZmllbGRzOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lO1xuIl19
@@ -1,21 +0,0 @@
1
- import React from "react";
2
- import IconButton from "./IconButton";
3
- export default function AddButton(_ref) {
4
- var className = _ref.className,
5
- onClick = _ref.onClick,
6
- disabled = _ref.disabled;
7
- return React.createElement("div", {
8
- className: "row"
9
- }, React.createElement("p", {
10
- className: "col-xs-3 col-xs-offset-9 text-right ".concat(className)
11
- }, React.createElement(IconButton, {
12
- type: "info",
13
- icon: "plus",
14
- className: "btn-add col-xs-12",
15
- "aria-label": "Add",
16
- tabIndex: "0",
17
- onClick: onClick,
18
- disabled: disabled
19
- })));
20
- }
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FkZEJ1dHRvbi5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsIkljb25CdXR0b24iLCJBZGRCdXR0b24iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiZGlzYWJsZWQiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQVAsTUFBa0IsT0FBbEI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBRUEsZUFBZSxTQUFTQyxTQUFULE9BQXFEO0FBQUEsTUFBaENDLFNBQWdDLFFBQWhDQSxTQUFnQztBQUFBLE1BQXJCQyxPQUFxQixRQUFyQkEsT0FBcUI7QUFBQSxNQUFaQyxRQUFZLFFBQVpBLFFBQVk7QUFDbEUsU0FDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRTtBQUFHLElBQUEsU0FBUyxnREFBeUNGLFNBQXpDO0FBQVosS0FDRSxvQkFBQyxVQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUMsTUFEUDtBQUVFLElBQUEsSUFBSSxFQUFDLE1BRlA7QUFHRSxJQUFBLFNBQVMsRUFBQyxtQkFIWjtBQUlFLGtCQUFXLEtBSmI7QUFLRSxJQUFBLFFBQVEsRUFBQyxHQUxYO0FBTUUsSUFBQSxPQUFPLEVBQUVDLE9BTlg7QUFPRSxJQUFBLFFBQVEsRUFBRUM7QUFQWixJQURGLENBREYsQ0FERjtBQWVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSBcIi4vSWNvbkJ1dHRvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBZGRCdXR0b24oeyBjbGFzc05hbWUsIG9uQ2xpY2ssIGRpc2FibGVkIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgPHAgY2xhc3NOYW1lPXtgY29sLXhzLTMgY29sLXhzLW9mZnNldC05IHRleHQtcmlnaHQgJHtjbGFzc05hbWV9YH0+XG4gICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgdHlwZT1cImluZm9cIlxuICAgICAgICAgIGljb249XCJwbHVzXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJidG4tYWRkIGNvbC14cy0xMlwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkFkZFwiXG4gICAgICAgICAgdGFiSW5kZXg9XCIwXCJcbiAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import React from "react";
2
- export default function ErrorList(props) {
3
- var errors = props.errors;
4
- return React.createElement("div", {
5
- className: "panel panel-danger errors"
6
- }, React.createElement("div", {
7
- className: "panel-heading"
8
- }, React.createElement("h3", {
9
- className: "panel-title"
10
- }, "Errors")), React.createElement("ul", {
11
- className: "list-group"
12
- }, errors.map(function (error, i) {
13
- return React.createElement("li", {
14
- key: i,
15
- className: "list-group-item text-danger"
16
- }, error.stack);
17
- })));
18
- }
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Vycm9yTGlzdC5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsIkVycm9yTGlzdCIsInByb3BzIiwiZXJyb3JzIiwibWFwIiwiZXJyb3IiLCJpIiwic3RhY2siXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQVAsTUFBa0IsT0FBbEI7QUFFQSxlQUFlLFNBQVNDLFNBQVQsQ0FBbUJDLEtBQW5CLEVBQTBCO0FBQUEsTUFDL0JDLE1BRCtCLEdBQ3BCRCxLQURvQixDQUMvQkMsTUFEK0I7QUFFdkMsU0FDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDRTtBQUFJLElBQUEsU0FBUyxFQUFDO0FBQWQsY0FERixDQURGLEVBSUU7QUFBSSxJQUFBLFNBQVMsRUFBQztBQUFkLEtBQ0dBLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXLFVBQUNDLEtBQUQsRUFBUUMsQ0FBUixFQUFjO0FBQ3hCLFdBQ0U7QUFBSSxNQUFBLEdBQUcsRUFBRUEsQ0FBVDtBQUFZLE1BQUEsU0FBUyxFQUFDO0FBQXRCLE9BQ0dELEtBQUssQ0FBQ0UsS0FEVCxDQURGO0FBS0QsR0FOQSxDQURILENBSkYsQ0FERjtBQWdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXJyb3JMaXN0KHByb3BzKSB7XG4gIGNvbnN0IHsgZXJyb3JzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBhbmVsIHBhbmVsLWRhbmdlciBlcnJvcnNcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFuZWwtaGVhZGluZ1wiPlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwicGFuZWwtdGl0bGVcIj5FcnJvcnM8L2gzPlxuICAgICAgPC9kaXY+XG4gICAgICA8dWwgY2xhc3NOYW1lPVwibGlzdC1ncm91cFwiPlxuICAgICAgICB7ZXJyb3JzLm1hcCgoZXJyb3IsIGkpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGxpIGtleT17aX0gY2xhc3NOYW1lPVwibGlzdC1ncm91cC1pdGVtIHRleHQtZGFuZ2VyXCI+XG4gICAgICAgICAgICAgIHtlcnJvci5zdGFja31cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl19