org.eclipse.sirius
sirius-components-collaborative-forms
diff --git a/packages/forms/backend/sirius-components-forms-graphql/src/main/java/org/eclipse/sirius/components/forms/graphql/datafetchers/form/SelectOptionIconURLDataFetcher.java b/packages/forms/backend/sirius-components-forms-graphql/src/main/java/org/eclipse/sirius/components/forms/graphql/datafetchers/form/SelectOptionIconURLDataFetcher.java
new file mode 100644
index 0000000000..abb05b51f0
--- /dev/null
+++ b/packages/forms/backend/sirius-components-forms-graphql/src/main/java/org/eclipse/sirius/components/forms/graphql/datafetchers/form/SelectOptionIconURLDataFetcher.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2023 Obeo.
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.components.forms.graphql.datafetchers.form;
+
+import org.eclipse.sirius.components.annotations.spring.graphql.QueryDataFetcher;
+import org.eclipse.sirius.components.forms.SelectOption;
+import org.eclipse.sirius.components.graphql.api.IDataFetcherWithFieldCoordinates;
+import org.eclipse.sirius.components.graphql.api.URLConstants;
+
+import graphql.schema.DataFetchingEnvironment;
+
+/**
+ * Data fetcher for SelectOption.iconURL, to rewrite the relative path of the image into an absolute path on the server.
+ *
+ * If the SelectOption.iconURL
is of the form path/to/image.svg
, the rewritten value which will
+ * be seen by the frontend will be /api/images/path/to/image.svg
.
+ *
+ * @author mcharfadi
+ */
+@QueryDataFetcher(type = "SelectOption", field = "iconURL")
+public class SelectOptionIconURLDataFetcher implements IDataFetcherWithFieldCoordinates {
+
+ @Override
+ public String get(DataFetchingEnvironment environment) throws Exception {
+ SelectOption option = environment.getSource();
+ String result = option.getIconURL();
+ if (result != null && !result.isBlank()) {
+ result = URLConstants.IMAGE_BASE_PATH + result;
+ }
+ return result;
+ }
+}
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/MultiSelectStyle.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/MultiSelectStyle.java
index e338a7ad88..afbec6cd1c 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/MultiSelectStyle.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/MultiSelectStyle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2022 Obeo.
+ * Copyright (c) 2022, 2023 Obeo.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
@@ -29,6 +29,8 @@ public final class MultiSelectStyle extends AbstractFontStyle {
private String foregroundColor;
+ private boolean showIcon;
+
private MultiSelectStyle() {
// Prevent instantiation
}
@@ -41,14 +43,18 @@ public String getForegroundColor() {
return this.foregroundColor;
}
+ public boolean isShowIcon() {
+ return this.showIcon;
+ }
+
public static Builder newMultiSelectStyle() {
return new Builder();
}
@Override
public String toString() {
- String pattern = "{0} '{'backgroundColor: {1}, foregroundColor: {2}, fontSize: {3}, italic: {4}, bold: {5}, underline: {6}, strikeThrough: {7},'}'";
- return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.backgroundColor, this.foregroundColor, this.fontSize, this.italic, this.bold, this.underline, this.strikeThrough);
+ String pattern = "{0} '{'backgroundColor: {1}, foregroundColor: {2}, fontSize: {3}, italic: {4}, bold: {5}, underline: {6}, strikeThrough: {7}, isShowIcon: {8'}'}'";
+ return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.backgroundColor, this.foregroundColor, this.fontSize, this.italic, this.bold, this.underline, this.strikeThrough, this.showIcon);
}
/**
@@ -72,6 +78,8 @@ public static final class Builder {
private boolean strikeThrough;
+ private boolean showIcon;
+
private Builder() {
}
@@ -100,6 +108,11 @@ public Builder bold(boolean bold) {
return this;
}
+ public Builder showIcon(boolean showIcon) {
+ this.showIcon = showIcon;
+ return this;
+ }
+
public Builder underline(boolean underline) {
this.underline = underline;
return this;
@@ -119,6 +132,7 @@ public MultiSelectStyle build() {
multiSelectStyle.bold = this.bold;
multiSelectStyle.underline = this.underline;
multiSelectStyle.strikeThrough = this.strikeThrough;
+ multiSelectStyle.showIcon = this.showIcon;
return multiSelectStyle;
}
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectOption.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectOption.java
index 2125549c4c..744ca8cebe 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectOption.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectOption.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019, 2022 Obeo.
+ * Copyright (c) 2019, 2023 Obeo.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,8 @@ public final class SelectOption {
private String label;
+ private String iconURL;
+
private SelectOption() {
// Prevent instantiation
}
@@ -40,14 +42,18 @@ public String getLabel() {
return this.label;
}
+ public String getIconURL() {
+ return this.iconURL;
+ }
+
public static Builder newSelectOption(String id) {
return new Builder(id);
}
@Override
public String toString() {
- String pattern = "{0} '{'id: {1}, label: {2}'}'";
- return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.id, this.label);
+ String pattern = "{0} '{'id: {1}, label: {2}', iconUrl: {3}'";
+ return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.id, this.label, this.iconURL);
}
/**
@@ -61,6 +67,8 @@ public static final class Builder {
private String label;
+ private String iconURL;
+
private Builder(String id) {
this.id = Objects.requireNonNull(id);
}
@@ -70,10 +78,16 @@ public Builder label(String label) {
return this;
}
+ public Builder iconURL(String iconURL) {
+ this.iconURL = iconURL;
+ return this;
+ }
+
public SelectOption build() {
SelectOption selectOption = new SelectOption();
selectOption.id = Objects.requireNonNull(this.id);
selectOption.label = Objects.requireNonNull(this.label);
+ selectOption.iconURL = this.iconURL;
return selectOption;
}
}
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectStyle.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectStyle.java
index 7f48760884..ea90c41583 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectStyle.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/SelectStyle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2022 Obeo.
+ * Copyright (c) 2022, 2023 Obeo.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,8 @@ public final class SelectStyle extends AbstractFontStyle {
private String foregroundColor;
+ private boolean showIcon;
+
private SelectStyle() {
// Prevent instantiation
}
@@ -40,14 +42,18 @@ public String getForegroundColor() {
return this.foregroundColor;
}
+ public boolean isShowIcon() {
+ return this.showIcon;
+ }
+
public static Builder newSelectStyle() {
return new Builder();
}
@Override
public String toString() {
- String pattern = "{0} '{'backgroundColor: {1}, foregroundColor: {2}, fontSize: {3}, italic: {4}, bold: {5}, underline: {6}, strikeThrough: {7},'}'";
- return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.backgroundColor, this.foregroundColor, this.fontSize, this.italic, this.bold, this.underline, this.strikeThrough);
+ String pattern = "{0} '{'backgroundColor: {1}, foregroundColor: {2}, fontSize: {3}, italic: {4}, bold: {5}, underline: {6}, strikeThrough: {7}, isShowIcon: {8'}'";
+ return MessageFormat.format(pattern, this.getClass().getSimpleName(), this.backgroundColor, this.foregroundColor, this.fontSize, this.italic, this.bold, this.underline, this.strikeThrough, this.showIcon);
}
/**
@@ -71,6 +77,8 @@ public static final class Builder {
private boolean strikeThrough;
+ private boolean showIcon;
+
private Builder() {
}
@@ -99,6 +107,11 @@ public Builder bold(boolean bold) {
return this;
}
+ public Builder showIcon(boolean showIcon) {
+ this.showIcon = showIcon;
+ return this;
+ }
+
public Builder underline(boolean underline) {
this.underline = underline;
return this;
@@ -118,6 +131,7 @@ public SelectStyle build() {
selectStyle.bold = this.bold;
selectStyle.underline = this.underline;
selectStyle.strikeThrough = this.strikeThrough;
+ selectStyle.showIcon = this.showIcon;
return selectStyle;
}
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/MultiSelectComponent.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/MultiSelectComponent.java
index cdea78500c..b5e8b4dcb4 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/MultiSelectComponent.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/MultiSelectComponent.java
@@ -54,6 +54,7 @@ public Element render() {
String iconURL = multiSelectDescription.getIconURLProvider().apply(variableManager);
List> optionCandidates = multiSelectDescription.getOptionsProvider().apply(variableManager);
List values = multiSelectDescription.getValuesProvider().apply(variableManager);
+ var multiSelectStyle = multiSelectDescription.getStyleProvider().apply(variableManager);
List children = List.of(new Element(DiagnosticComponent.class, new DiagnosticComponentProps(multiSelectDescription, variableManager)));
@@ -65,18 +66,21 @@ public Element render() {
String optionId = multiSelectDescription.getOptionIdProvider().apply(optionVariableManager);
String optionLabel = multiSelectDescription.getOptionLabelProvider().apply(optionVariableManager);
- // @formatter:off
- SelectOption option = SelectOption.newSelectOption(optionId)
- .label(optionLabel)
- .build();
- // @formatter:on
+ var selectOptionBuilder = SelectOption.newSelectOption(optionId)
+ .label(optionLabel);
+ if (multiSelectStyle != null && multiSelectStyle.isShowIcon()) {
+ String optionIconUrl = multiSelectDescription.getOptionIconURLProvider().apply(optionVariableManager);
+ if (optionIconUrl != null && !optionIconUrl.isBlank()) {
+ selectOptionBuilder.iconURL(optionIconUrl);
+ }
+ }
+ SelectOption option = selectOptionBuilder.build();
options.add(option);
}
Function, IStatus> newValuesHandler = newValues -> {
return multiSelectDescription.getNewValuesHandler().apply(variableManager, newValues);
};
- var multiSelectStyle = multiSelectDescription.getStyleProvider().apply(variableManager);
// @formatter:off
Builder multiSelectElementPropsBuilder = MultiSelectElementProps.newMultiSelectElementProps(id)
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/SelectComponent.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/SelectComponent.java
index f9265902fe..ab8a34df75 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/SelectComponent.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/components/SelectComponent.java
@@ -53,6 +53,7 @@ public Element render() {
String iconURL = selectDescription.getIconURLProvider().apply(variableManager);
List> optionCandidates = selectDescription.getOptionsProvider().apply(variableManager);
String value = selectDescription.getValueProvider().apply(variableManager);
+ var selectStyle = selectDescription.getStyleProvider().apply(variableManager);
List children = List.of(new Element(DiagnosticComponent.class, new DiagnosticComponentProps(selectDescription, variableManager)));
@@ -64,18 +65,21 @@ public Element render() {
String optionId = selectDescription.getOptionIdProvider().apply(optionVariableManager);
String optionLabel = selectDescription.getOptionLabelProvider().apply(optionVariableManager);
- // @formatter:off
- SelectOption option = SelectOption.newSelectOption(optionId)
- .label(optionLabel)
- .build();
- // @formatter:on
+ var selectOptionBuilder = SelectOption.newSelectOption(optionId)
+ .label(optionLabel);
+ if (selectStyle != null && selectStyle.isShowIcon()) {
+ String optionIconUrl = selectDescription.getOptionIconURLProvider().apply(optionVariableManager);
+ if (optionIconUrl != null && !optionIconUrl.isBlank()) {
+ selectOptionBuilder.iconURL(optionIconUrl);
+ }
+ }
+ SelectOption option = selectOptionBuilder.build();
options.add(option);
}
Function specializedHandler = newValue -> {
return selectDescription.getNewValueHandler().apply(variableManager, newValue);
};
- var selectStyle = selectDescription.getStyleProvider().apply(variableManager);
// @formatter:off
Builder selectElementPropsBuilder = SelectElementProps.newSelectElementProps(id)
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/MultiSelectDescription.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/MultiSelectDescription.java
index d7e943fd6a..ebf9a7f914 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/MultiSelectDescription.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/MultiSelectDescription.java
@@ -44,6 +44,8 @@ public final class MultiSelectDescription extends AbstractWidgetDescription {
private Function optionLabelProvider;
+ private Function optionIconURLProvider;
+
private Function> valuesProvider;
private BiFunction, IStatus> newValuesHandler;
@@ -78,6 +80,10 @@ public Function getOptionLabelProvider() {
return this.optionLabelProvider;
}
+ public Function getOptionIconURLProvider() {
+ return this.optionIconURLProvider;
+ }
+
public Function> getValuesProvider() {
return this.valuesProvider;
}
@@ -122,6 +128,8 @@ public static final class Builder {
private Function optionLabelProvider;
+ private Function optionIconURLProvider = variableManager -> null;
+
private Function> valuesProvider;
private BiFunction, IStatus> newValuesHandler;
@@ -170,6 +178,11 @@ public Builder optionLabelProvider(Function optionLabel
return this;
}
+ public Builder optionIconURLProvider(Function optionIconURLProvider) {
+ this.optionIconURLProvider = Objects.requireNonNull(optionIconURLProvider);
+ return this;
+ }
+
public Builder valuesProvider(Function> valuesProvider) {
this.valuesProvider = Objects.requireNonNull(valuesProvider);
return this;
@@ -214,6 +227,7 @@ public MultiSelectDescription build() {
multiSelectDescription.optionsProvider = Objects.requireNonNull(this.optionsProvider);
multiSelectDescription.optionIdProvider = Objects.requireNonNull(this.optionIdProvider);
multiSelectDescription.optionLabelProvider = Objects.requireNonNull(this.optionLabelProvider);
+ multiSelectDescription.optionIconURLProvider = Objects.requireNonNull(this.optionIconURLProvider);
multiSelectDescription.valuesProvider = Objects.requireNonNull(this.valuesProvider);
multiSelectDescription.newValuesHandler = Objects.requireNonNull(this.newValuesHandler);
multiSelectDescription.diagnosticsProvider = Objects.requireNonNull(this.diagnosticsProvider);
diff --git a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/SelectDescription.java b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/SelectDescription.java
index 34f1c59347..c23710ba2a 100644
--- a/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/SelectDescription.java
+++ b/packages/forms/backend/sirius-components-forms/src/main/java/org/eclipse/sirius/components/forms/description/SelectDescription.java
@@ -43,6 +43,8 @@ public final class SelectDescription extends AbstractWidgetDescription {
private Function optionLabelProvider;
+ private Function optionIconURLProvider;
+
private Function valueProvider;
private BiFunction newValueHandler;
@@ -77,6 +79,10 @@ public Function getOptionLabelProvider() {
return this.optionLabelProvider;
}
+ public Function getOptionIconURLProvider() {
+ return this.optionIconURLProvider;
+ }
+
public Function getValueProvider() {
return this.valueProvider;
}
@@ -120,6 +126,8 @@ public static final class Builder {
private Function optionLabelProvider;
+ private Function optionIconURLProvider = variableManager -> null;
+
private Function valueProvider;
private BiFunction newValueHandler;
@@ -168,6 +176,11 @@ public Builder optionLabelProvider(Function optionLabel
return this;
}
+ public Builder optionIconURLProvider(Function optionIconURLProvider) {
+ this.optionIconURLProvider = Objects.requireNonNull(optionIconURLProvider);
+ return this;
+ }
+
public Builder valueProvider(Function valueProvider) {
this.valueProvider = Objects.requireNonNull(valueProvider);
return this;
@@ -212,6 +225,7 @@ public SelectDescription build() {
selectDescription.optionsProvider = Objects.requireNonNull(this.optionsProvider);
selectDescription.optionIdProvider = Objects.requireNonNull(this.optionIdProvider);
selectDescription.optionLabelProvider = Objects.requireNonNull(this.optionLabelProvider);
+ selectDescription.optionIconURLProvider = Objects.requireNonNull(this.optionIconURLProvider);
selectDescription.valueProvider = Objects.requireNonNull(this.valueProvider);
selectDescription.newValueHandler = Objects.requireNonNull(this.newValueHandler);
selectDescription.diagnosticsProvider = Objects.requireNonNull(this.diagnosticsProvider);
diff --git a/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.ts b/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.ts
index 21c0daeec4..c51385af58 100644
--- a/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.ts
+++ b/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.ts
@@ -98,6 +98,7 @@ export const widgetFields = (contributions: Array) => `
options {
id
label
+ iconURL
}
style {
backgroundColor
@@ -117,6 +118,7 @@ export const widgetFields = (contributions: Array) => `
options {
id
label
+ iconURL
}
style {
backgroundColor
diff --git a/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.types.ts b/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.types.ts
index 779b484d82..f3cfbb41f2 100644
--- a/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.types.ts
+++ b/packages/forms/frontend/sirius-components-forms/src/form/FormEventFragments.types.ts
@@ -207,6 +207,7 @@ export interface GQLMultiSelectStyle {
export interface GQLSelectOption {
id: string;
label: string;
+ iconURL: string;
}
export interface GQLRadio extends GQLWidget {
diff --git a/packages/forms/frontend/sirius-components-forms/src/propertysections/MultiSelectPropertySection.tsx b/packages/forms/frontend/sirius-components-forms/src/propertysections/MultiSelectPropertySection.tsx
index 71f5eb4737..d86fa03ced 100644
--- a/packages/forms/frontend/sirius-components-forms/src/propertysections/MultiSelectPropertySection.tsx
+++ b/packages/forms/frontend/sirius-components-forms/src/propertysections/MultiSelectPropertySection.tsx
@@ -11,15 +11,16 @@
* Obeo - initial API and implementation
*******************************************************************************/
import { gql, useMutation } from '@apollo/client';
-import { useMultiToast } from '@eclipse-sirius/sirius-components-core';
+import { ServerContext, useMultiToast } from '@eclipse-sirius/sirius-components-core';
import Checkbox from '@material-ui/core/Checkbox';
import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
+import ListItemIcon from '@material-ui/core/ListItemIcon';
import ListItemText from '@material-ui/core/ListItemText';
import MenuItem from '@material-ui/core/MenuItem';
import Select from '@material-ui/core/Select';
import { Theme, makeStyles } from '@material-ui/core/styles';
-import { useEffect, useState } from 'react';
+import { useContext, useEffect, useState } from 'react';
import {
GQLEditMultiSelectMutationData,
GQLEditMultiSelectPayload,
@@ -33,7 +34,7 @@ import {
import { PropertySectionLabel } from './PropertySectionLabel';
import { getTextDecorationLineValue } from './getTextDecorationLineValue';
-const useStyle = makeStyles(() => ({
+const useStyle = makeStyles((theme) => ({
style: {
backgroundColor: ({ backgroundColor }) => (backgroundColor ? backgroundColor : 'inherit'),
color: ({ foregroundColor }) => (foregroundColor ? foregroundColor : 'inherit'),
@@ -42,6 +43,13 @@ const useStyle = makeStyles(() => ({
fontWeight: ({ bold }) => (bold ? 'bold' : 'inherit'),
textDecorationLine: ({ underline, strikeThrough }) => getTextDecorationLineValue(underline, strikeThrough),
},
+ icon: {
+ width: '16px',
+ height: '16px',
+ },
+ iconRoot: {
+ minWidth: theme.spacing(3),
+ },
}));
export const editMultiSelectMutation = gql`
@@ -102,6 +110,8 @@ export const MultiSelectPropertySection = ({
};
const classes = useStyle(props);
+ const { httpOrigin } = useContext(ServerContext);
+
const [isFocused, setFocus] = useState(false);
const [editMultiSelect, { loading, error, data }] =
@@ -214,6 +224,11 @@ export const MultiSelectPropertySection = ({
{widget.options.map((option) => (
))}
diff --git a/packages/forms/frontend/sirius-components-forms/src/propertysections/__tests__/__snapshots__/MultiSelectPropertySection.test.tsx.snap b/packages/forms/frontend/sirius-components-forms/src/propertysections/__tests__/__snapshots__/MultiSelectPropertySection.test.tsx.snap
index 27d18ccf8c..fa88bd023b 100644
--- a/packages/forms/frontend/sirius-components-forms/src/propertysections/__tests__/__snapshots__/MultiSelectPropertySection.test.tsx.snap
+++ b/packages/forms/frontend/sirius-components-forms/src/propertysections/__tests__/__snapshots__/MultiSelectPropertySection.test.tsx.snap
@@ -7,7 +7,7 @@ exports[`should render the multiSelect help hint 1`] = `
class="MuiFormControl-root"
>