@rjsf/core 5.16.0 → 5.17.0

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.
@@ -3,7 +3,7 @@ import { Component } from 'react';
3
3
  import get from 'lodash/get';
4
4
  import isEmpty from 'lodash/isEmpty';
5
5
  import omit from 'lodash/omit';
6
- import { deepEquals, ERRORS_KEY, getDiscriminatorFieldFromSchema, getUiOptions, getWidget, mergeSchemas, TranslatableString, } from '@rjsf/utils';
6
+ import { ANY_OF_KEY, deepEquals, ERRORS_KEY, getDiscriminatorFieldFromSchema, getUiOptions, getWidget, mergeSchemas, ONE_OF_KEY, TranslatableString, } from '@rjsf/utils';
7
7
  /** The `AnyOfField` component is used to render a field in the schema that is an `anyOf`, `allOf` or `oneOf`. It tracks
8
8
  * the currently selected option and cleans up any irrelevant data in `formData`.
9
9
  *
@@ -112,15 +112,42 @@ class AnyOfField extends Component {
112
112
  // Merge in all the non-oneOf/anyOf properties and also skip the special ADDITIONAL_PROPERTY_FLAG property
113
113
  optionSchema = required ? mergeSchemas({ required }, option) : option;
114
114
  }
115
+ // First we will check to see if there is an anyOf/oneOf override for the UI schema
116
+ let optionsUiSchema = [];
117
+ if (ONE_OF_KEY in schema && uiSchema && ONE_OF_KEY in uiSchema) {
118
+ if (Array.isArray(uiSchema[ONE_OF_KEY])) {
119
+ optionsUiSchema = uiSchema[ONE_OF_KEY];
120
+ }
121
+ else {
122
+ console.warn(`uiSchema.oneOf is not an array for "${title || name}"`);
123
+ }
124
+ }
125
+ else if (ANY_OF_KEY in schema && uiSchema && ANY_OF_KEY in uiSchema) {
126
+ if (Array.isArray(uiSchema[ANY_OF_KEY])) {
127
+ optionsUiSchema = uiSchema[ANY_OF_KEY];
128
+ }
129
+ else {
130
+ console.warn(`uiSchema.anyOf is not an array for "${title || name}"`);
131
+ }
132
+ }
133
+ // Then we pick the one that matches the selected option index, if one exists otherwise default to the main uiSchema
134
+ let optionUiSchema = uiSchema;
135
+ if (selectedOption >= 0 && optionsUiSchema.length > selectedOption) {
136
+ optionUiSchema = optionsUiSchema[selectedOption];
137
+ }
115
138
  const translateEnum = title
116
139
  ? TranslatableString.TitleOptionPrefix
117
140
  : TranslatableString.OptionPrefix;
118
141
  const translateParams = title ? [title] : [];
119
- const enumOptions = retrievedOptions.map((opt, index) => ({
120
- label: opt.title || translateString(translateEnum, translateParams.concat(String(index + 1))),
121
- value: index,
122
- }));
123
- return (_jsxs("div", { className: 'panel panel-default panel-body', children: [_jsx("div", { className: 'form-group', children: _jsx(Widget, { id: this.getFieldId(), name: `${name}${schema.oneOf ? '__oneof_select' : '__anyof_select'}`, schema: { type: 'number', default: 0 }, onChange: this.onOptionChange, onBlur: onBlur, onFocus: onFocus, disabled: disabled || isEmpty(enumOptions), multiple: false, rawErrors: rawErrors, errorSchema: fieldErrorSchema, value: selectedOption >= 0 ? selectedOption : undefined, options: { enumOptions, ...uiOptions }, registry: registry, formContext: formContext, placeholder: placeholder, autocomplete: autocomplete, autofocus: autofocus, label: title !== null && title !== void 0 ? title : name, hideLabel: !displayLabel }) }), option !== null && _jsx(_SchemaField, { ...this.props, schema: optionSchema })] }));
142
+ const enumOptions = retrievedOptions.map((opt, index) => {
143
+ // Also see if there is an override title in the uiSchema for each option, otherwise use the title from the option
144
+ const { title: uiTitle = opt.title } = getUiOptions(optionsUiSchema[index]);
145
+ return {
146
+ label: uiTitle || translateString(translateEnum, translateParams.concat(String(index + 1))),
147
+ value: index,
148
+ };
149
+ });
150
+ return (_jsxs("div", { className: 'panel panel-default panel-body', children: [_jsx("div", { className: 'form-group', children: _jsx(Widget, { id: this.getFieldId(), name: `${name}${schema.oneOf ? '__oneof_select' : '__anyof_select'}`, schema: { type: 'number', default: 0 }, onChange: this.onOptionChange, onBlur: onBlur, onFocus: onFocus, disabled: disabled || isEmpty(enumOptions), multiple: false, rawErrors: rawErrors, errorSchema: fieldErrorSchema, value: selectedOption >= 0 ? selectedOption : undefined, options: { enumOptions, ...uiOptions }, registry: registry, formContext: formContext, placeholder: placeholder, autocomplete: autocomplete, autofocus: autofocus, label: title !== null && title !== void 0 ? title : name, hideLabel: !displayLabel }) }), optionSchema && _jsx(_SchemaField, { ...this.props, schema: optionSchema, uiSchema: optionUiSchema })] }));
124
151
  }
125
152
  }
126
153
  export default AnyOfField;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSchemaField.js","sourceRoot":"","sources":["../../../src/components/fields/MultiSchemaField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiSchemaField.js","sourceRoot":"","sources":["../../../src/components/fields/MultiSchemaField.tsx"],"names":[],"mappings":"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"}
@@ -44,9 +44,13 @@ function FileInfoPreview({ fileInfo, registry, }) {
44
44
  if (!dataURL) {
45
45
  return null;
46
46
  }
47
- if (type.indexOf('image') !== -1) {
47
+ // If type is JPEG or PNG then show image preview.
48
+ // Originally, any type of image was supported, but this was changed into a whitelist
49
+ // since SVGs and animated GIFs are also images, which are generally considered a security risk.
50
+ if (['image/jpeg', 'image/png'].includes(type)) {
48
51
  return _jsx("img", { src: dataURL, style: { maxWidth: '100%' }, className: 'file-preview' });
49
52
  }
53
+ // otherwise, let users download file
50
54
  return (_jsxs(_Fragment, { children: [' ', _jsx("a", { download: `preview-${name}`, href: dataURL, className: 'file-download', children: translateString(TranslatableString.PreviewLabel) })] }));
51
55
  }
52
56
  function FilesInfo({ filesInfo, registry, preview, onRemove, options, }) {
@@ -62,17 +66,27 @@ function FilesInfo({ filesInfo, registry, preview, onRemove, options, }) {
62
66
  }) }));
63
67
  }
64
68
  function extractFileInfo(dataURLs) {
65
- return dataURLs
66
- .filter((dataURL) => dataURL)
67
- .map((dataURL) => {
68
- const { blob, name } = dataURItoBlob(dataURL);
69
- return {
70
- dataURL,
71
- name: name,
72
- size: blob.size,
73
- type: blob.type,
74
- };
75
- });
69
+ return dataURLs.reduce((acc, dataURL) => {
70
+ if (!dataURL) {
71
+ return acc;
72
+ }
73
+ try {
74
+ const { blob, name } = dataURItoBlob(dataURL);
75
+ return [
76
+ ...acc,
77
+ {
78
+ dataURL,
79
+ name: name,
80
+ size: blob.size,
81
+ type: blob.type,
82
+ },
83
+ ];
84
+ }
85
+ catch (e) {
86
+ // Invalid dataURI, so just ignore it.
87
+ return acc;
88
+ }
89
+ }, []);
76
90
  }
77
91
  /**
78
92
  * The `FileWidget` is a widget for rendering file upload fields.
@@ -1 +1 @@
1
- {"version":3,"file":"FileWidget.js","sourceRoot":"","sources":["../../../src/components/widgets/FileWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileWidget.js","sourceRoot":"","sources":["../../../src/components/widgets/FileWidget.tsx"],"names":[],"mappings":"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"}