@bpmn-io/form-js-viewer 1.5.0-alpha.0 → 1.5.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.
- package/dist/assets/form-js-base.css +24 -0
- package/dist/assets/form-js.css +457 -654
- package/dist/index.cjs +389 -227
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +386 -229
- package/dist/index.es.js.map +1 -1
- package/dist/types/core/FieldFactory.d.ts +1 -1
- package/dist/types/core/FormFieldRegistry.d.ts +1 -1
- package/dist/types/core/FormLayouter.d.ts +2 -2
- package/dist/types/core/Importer.d.ts +1 -1
- package/dist/types/core/PathRegistry.d.ts +1 -1
- package/dist/types/core/Validator.d.ts +1 -1
- package/dist/types/core/index.d.ts +8 -8
- package/dist/types/features/expression-language/ConditionChecker.d.ts +1 -1
- package/dist/types/features/expression-language/FeelExpressionLanguage.d.ts +1 -1
- package/dist/types/features/expression-language/FeelersTemplating.d.ts +1 -1
- package/dist/types/features/expression-language/index.d.ts +4 -4
- package/dist/types/features/markdown/MarkdownRenderer.d.ts +1 -1
- package/dist/types/features/markdown/index.d.ts +2 -2
- package/dist/types/features/viewerCommands/ViewerCommands.d.ts +1 -1
- package/dist/types/features/viewerCommands/cmd/UpdateFieldValidationHandler.d.ts +1 -1
- package/dist/types/features/viewerCommands/index.d.ts +3 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/types/render/Renderer.d.ts +1 -1
- package/dist/types/render/components/Sanitizer.d.ts +8 -0
- package/dist/types/render/components/form-fields/Button.d.ts +3 -3
- package/dist/types/render/components/form-fields/Checkbox.d.ts +4 -4
- package/dist/types/render/components/form-fields/Checklist.d.ts +5 -5
- package/dist/types/render/components/form-fields/Datetime.d.ts +4 -4
- package/dist/types/render/components/form-fields/Default.d.ts +4 -4
- package/dist/types/render/components/form-fields/Group.d.ts +4 -4
- package/dist/types/render/components/form-fields/IFrame.d.ts +12 -0
- package/dist/types/render/components/form-fields/Image.d.ts +3 -3
- package/dist/types/render/components/form-fields/Number.d.ts +4 -4
- package/dist/types/render/components/form-fields/Radio.d.ts +5 -5
- package/dist/types/render/components/form-fields/Select.d.ts +5 -5
- package/dist/types/render/components/form-fields/Separator.d.ts +3 -3
- package/dist/types/render/components/form-fields/Spacer.d.ts +3 -3
- package/dist/types/render/components/form-fields/Taglist.d.ts +5 -5
- package/dist/types/render/components/form-fields/Text.d.ts +3 -3
- package/dist/types/render/components/form-fields/Textarea.d.ts +4 -4
- package/dist/types/render/components/form-fields/Textfield.d.ts +4 -4
- package/dist/types/render/components/index.d.ts +3 -2
- package/dist/types/render/components/util/optionsUtil.d.ts +8 -0
- package/dist/types/render/hooks/useCleanupMultiSelectValues.d.ts +1 -0
- package/dist/types/render/hooks/useCleanupSingleSelectValue.d.ts +1 -0
- package/dist/types/render/hooks/useOptionsAsync.d.ts +28 -0
- package/dist/types/render/index.d.ts +4 -3
- package/dist/types/util/constants/DatetimeConstants.d.ts +6 -6
- package/dist/types/util/constants/ValuesSourceConstants.d.ts +3 -3
- package/package.json +4 -4
- package/dist/types/render/components/util/valuesUtil.d.ts +0 -8
- package/dist/types/render/hooks/useValuesAsync.d.ts +0 -28
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Ids from 'ids';
|
|
2
|
-
import { isString, get, isNumber, set, findIndex, isArray, isObject, values, uniqueBy, isFunction, bind, assign,
|
|
2
|
+
import { isString, get, isNumber, set, findIndex, isArray, isObject, isNil, values, uniqueBy, isFunction, bind, assign, groupBy, flatten, isUndefined } from 'min-dash';
|
|
3
3
|
import Big from 'big.js';
|
|
4
4
|
import { parseExpression, parseUnaryTests, evaluate, unaryTest } from 'feelin';
|
|
5
5
|
import { evaluate as evaluate$1, parser, buildSimpleTree } from 'feelers';
|
|
@@ -425,7 +425,7 @@ function prefixId(id, formId) {
|
|
|
425
425
|
return `fjs-form-${id}`;
|
|
426
426
|
}
|
|
427
427
|
|
|
428
|
-
const type$
|
|
428
|
+
const type$e = 'button';
|
|
429
429
|
function Button(props) {
|
|
430
430
|
const {
|
|
431
431
|
disabled,
|
|
@@ -437,7 +437,7 @@ function Button(props) {
|
|
|
437
437
|
action = 'submit'
|
|
438
438
|
} = field;
|
|
439
439
|
return jsx("div", {
|
|
440
|
-
class: formFieldClasses(type$
|
|
440
|
+
class: formFieldClasses(type$e),
|
|
441
441
|
children: jsx("button", {
|
|
442
442
|
class: "fjs-button",
|
|
443
443
|
type: action,
|
|
@@ -449,7 +449,7 @@ function Button(props) {
|
|
|
449
449
|
});
|
|
450
450
|
}
|
|
451
451
|
Button.config = {
|
|
452
|
-
type: type$
|
|
452
|
+
type: type$e,
|
|
453
453
|
keyed: false,
|
|
454
454
|
label: 'Button',
|
|
455
455
|
group: 'action',
|
|
@@ -747,7 +747,7 @@ function Label(props) {
|
|
|
747
747
|
});
|
|
748
748
|
}
|
|
749
749
|
|
|
750
|
-
const type$
|
|
750
|
+
const type$d = 'checkbox';
|
|
751
751
|
function Checkbox(props) {
|
|
752
752
|
const {
|
|
753
753
|
disabled,
|
|
@@ -780,7 +780,7 @@ function Checkbox(props) {
|
|
|
780
780
|
} = useContext(FormContext$1);
|
|
781
781
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
782
782
|
return jsxs("div", {
|
|
783
|
-
class: classNames(formFieldClasses(type$
|
|
783
|
+
class: classNames(formFieldClasses(type$d, {
|
|
784
784
|
errors,
|
|
785
785
|
disabled,
|
|
786
786
|
readonly
|
|
@@ -812,7 +812,7 @@ function Checkbox(props) {
|
|
|
812
812
|
});
|
|
813
813
|
}
|
|
814
814
|
Checkbox.config = {
|
|
815
|
-
type: type$
|
|
815
|
+
type: type$d,
|
|
816
816
|
keyed: true,
|
|
817
817
|
label: 'Checkbox',
|
|
818
818
|
group: 'selection',
|
|
@@ -826,54 +826,54 @@ Checkbox.config = {
|
|
|
826
826
|
};
|
|
827
827
|
|
|
828
828
|
// parses the options data from the provided form field and form data
|
|
829
|
-
function
|
|
829
|
+
function getOptionsData(formField, formData) {
|
|
830
830
|
const {
|
|
831
|
-
valuesKey,
|
|
832
|
-
values
|
|
831
|
+
valuesKey: optionsKey,
|
|
832
|
+
values: staticOptions
|
|
833
833
|
} = formField;
|
|
834
|
-
return
|
|
834
|
+
return optionsKey ? get(formData, [optionsKey]) : staticOptions;
|
|
835
835
|
}
|
|
836
836
|
|
|
837
837
|
// transforms the provided options into a normalized format, trimming invalid options
|
|
838
|
-
function
|
|
839
|
-
return
|
|
838
|
+
function normalizeOptionsData(optionsData) {
|
|
839
|
+
return optionsData.filter(_isOptionSomething).map(v => _normalizeOptionsData(v)).filter(v => v);
|
|
840
840
|
}
|
|
841
|
-
function
|
|
842
|
-
if (
|
|
841
|
+
function _normalizeOptionsData(optionData) {
|
|
842
|
+
if (_isAllowedOption(optionData)) {
|
|
843
843
|
// if a primitive is provided, use it as label and value
|
|
844
844
|
return {
|
|
845
|
-
value:
|
|
846
|
-
label: `${
|
|
845
|
+
value: optionData,
|
|
846
|
+
label: `${optionData}`
|
|
847
847
|
};
|
|
848
848
|
}
|
|
849
|
-
if (typeof
|
|
850
|
-
if (!
|
|
849
|
+
if (typeof optionData === 'object') {
|
|
850
|
+
if (!optionData.label && _isAllowedOption(optionData.value)) {
|
|
851
851
|
// if no label is provided, use the value as label
|
|
852
852
|
return {
|
|
853
|
-
value:
|
|
854
|
-
label: `${
|
|
853
|
+
value: optionData.value,
|
|
854
|
+
label: `${optionData.value}`
|
|
855
855
|
};
|
|
856
856
|
}
|
|
857
|
-
if (
|
|
857
|
+
if (_isOptionSomething(optionData.value) && _isAllowedOption(optionData.label)) {
|
|
858
858
|
// if both value and label are provided, use them as is, in this scenario, the value may also be an object
|
|
859
|
-
return
|
|
859
|
+
return optionData;
|
|
860
860
|
}
|
|
861
861
|
}
|
|
862
862
|
return null;
|
|
863
863
|
}
|
|
864
|
-
function
|
|
865
|
-
return _isReadableType(
|
|
864
|
+
function _isAllowedOption(option) {
|
|
865
|
+
return _isReadableType(option) && _isOptionSomething(option);
|
|
866
866
|
}
|
|
867
|
-
function _isReadableType(
|
|
868
|
-
return ['number', 'string', 'boolean'].includes(typeof
|
|
867
|
+
function _isReadableType(option) {
|
|
868
|
+
return ['number', 'string', 'boolean'].includes(typeof option);
|
|
869
869
|
}
|
|
870
|
-
function
|
|
871
|
-
return
|
|
870
|
+
function _isOptionSomething(option) {
|
|
871
|
+
return option || option === 0 || option === false;
|
|
872
872
|
}
|
|
873
873
|
function createEmptyOptions(options = {}) {
|
|
874
874
|
const defaults = {};
|
|
875
875
|
|
|
876
|
-
// provide default
|
|
876
|
+
// provide default options if valuesKey and valuesExpression are not set
|
|
877
877
|
if (!options.valuesKey && !options.valuesExpression) {
|
|
878
878
|
defaults.values = [{
|
|
879
879
|
label: 'Value',
|
|
@@ -896,72 +896,96 @@ const LOAD_STATES = {
|
|
|
896
896
|
};
|
|
897
897
|
|
|
898
898
|
/**
|
|
899
|
-
* @typedef {Object}
|
|
900
|
-
* @property {Object[]}
|
|
901
|
-
* @property {(LOAD_STATES)}
|
|
899
|
+
* @typedef {Object} OptionsGetter
|
|
900
|
+
* @property {Object[]} options - The options data
|
|
901
|
+
* @property {(LOAD_STATES)} loadState - The options data's loading state, to use for conditional rendering
|
|
902
902
|
*/
|
|
903
903
|
|
|
904
904
|
/**
|
|
905
|
-
* A hook to load
|
|
905
|
+
* A hook to load options for single and multiselect components.
|
|
906
906
|
*
|
|
907
|
-
* @param {Object} field - The form field to handle
|
|
908
|
-
* @return {
|
|
907
|
+
* @param {Object} field - The form field to handle options for
|
|
908
|
+
* @return {OptionsGetter} optionsGetter - A options getter object providing loading state and options
|
|
909
909
|
*/
|
|
910
|
-
function
|
|
910
|
+
function useOptionsAsync (field) {
|
|
911
911
|
const {
|
|
912
|
-
valuesExpression,
|
|
913
|
-
valuesKey,
|
|
914
|
-
values:
|
|
912
|
+
valuesExpression: optionsExpression,
|
|
913
|
+
valuesKey: optionsKey,
|
|
914
|
+
values: staticOptions
|
|
915
915
|
} = field;
|
|
916
|
-
const [
|
|
917
|
-
|
|
916
|
+
const [optionsGetter, setOptionsGetter] = useState({
|
|
917
|
+
options: [],
|
|
918
918
|
error: undefined,
|
|
919
|
-
|
|
919
|
+
loadState: LOAD_STATES.LOADING
|
|
920
920
|
});
|
|
921
921
|
const initialData = useService('form')._getState().initialData;
|
|
922
|
-
const expressionEvaluation = useExpressionEvaluation(
|
|
923
|
-
const
|
|
922
|
+
const expressionEvaluation = useExpressionEvaluation(optionsExpression);
|
|
923
|
+
const evaluatedOptions = useDeepCompareState(expressionEvaluation || [], []);
|
|
924
924
|
useEffect(() => {
|
|
925
|
-
let
|
|
925
|
+
let options = [];
|
|
926
926
|
|
|
927
|
-
// dynamic
|
|
928
|
-
if (
|
|
929
|
-
const
|
|
930
|
-
if (
|
|
931
|
-
|
|
927
|
+
// dynamic options
|
|
928
|
+
if (optionsKey !== undefined) {
|
|
929
|
+
const keyedOptions = (initialData || {})[optionsKey];
|
|
930
|
+
if (keyedOptions && Array.isArray(keyedOptions)) {
|
|
931
|
+
options = keyedOptions;
|
|
932
932
|
}
|
|
933
933
|
|
|
934
|
-
// static
|
|
935
|
-
} else if (
|
|
936
|
-
|
|
934
|
+
// static options
|
|
935
|
+
} else if (staticOptions !== undefined) {
|
|
936
|
+
options = Array.isArray(staticOptions) ? staticOptions : [];
|
|
937
937
|
|
|
938
938
|
// expression
|
|
939
|
-
} else if (
|
|
940
|
-
if (
|
|
941
|
-
|
|
939
|
+
} else if (optionsExpression) {
|
|
940
|
+
if (evaluatedOptions && Array.isArray(evaluatedOptions)) {
|
|
941
|
+
options = evaluatedOptions;
|
|
942
942
|
}
|
|
943
943
|
} else {
|
|
944
|
-
|
|
944
|
+
setOptionsGetter(buildErrorState('No options source defined in the form definition'));
|
|
945
945
|
return;
|
|
946
946
|
}
|
|
947
947
|
|
|
948
948
|
// normalize data to support primitives and partially defined objects
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
}, [
|
|
952
|
-
return
|
|
949
|
+
options = normalizeOptionsData(options);
|
|
950
|
+
setOptionsGetter(buildLoadedState(options));
|
|
951
|
+
}, [optionsKey, staticOptions, initialData, optionsExpression, evaluatedOptions]);
|
|
952
|
+
return optionsGetter;
|
|
953
953
|
}
|
|
954
954
|
const buildErrorState = error => ({
|
|
955
|
-
|
|
955
|
+
options: [],
|
|
956
956
|
error,
|
|
957
|
-
|
|
957
|
+
loadState: LOAD_STATES.ERROR
|
|
958
958
|
});
|
|
959
|
-
const buildLoadedState =
|
|
960
|
-
|
|
959
|
+
const buildLoadedState = options => ({
|
|
960
|
+
options,
|
|
961
961
|
error: undefined,
|
|
962
|
-
|
|
962
|
+
loadState: LOAD_STATES.LOADED
|
|
963
963
|
});
|
|
964
964
|
|
|
965
|
+
function useCleanupMultiSelectValues (props) {
|
|
966
|
+
const {
|
|
967
|
+
field,
|
|
968
|
+
options,
|
|
969
|
+
loadState,
|
|
970
|
+
onChange,
|
|
971
|
+
values
|
|
972
|
+
} = props;
|
|
973
|
+
|
|
974
|
+
// Ensures that the values are always a subset of the possible options
|
|
975
|
+
useEffect(() => {
|
|
976
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
977
|
+
return;
|
|
978
|
+
}
|
|
979
|
+
const hasValuesNotInOptions = values.some(v => !options.map(o => o.value).includes(v));
|
|
980
|
+
if (hasValuesNotInOptions) {
|
|
981
|
+
onChange({
|
|
982
|
+
field,
|
|
983
|
+
value: values.filter(v => options.map(o => o.value).includes(v))
|
|
984
|
+
});
|
|
985
|
+
}
|
|
986
|
+
}, [field, options, onChange, JSON.stringify(values), loadState]);
|
|
987
|
+
}
|
|
988
|
+
|
|
965
989
|
// config ///////////////////
|
|
966
990
|
|
|
967
991
|
const MINUTES_IN_DAY = 60 * 24;
|
|
@@ -1175,7 +1199,7 @@ function sanitizeSingleSelectValue(options) {
|
|
|
1175
1199
|
value
|
|
1176
1200
|
} = options;
|
|
1177
1201
|
try {
|
|
1178
|
-
const validValues =
|
|
1202
|
+
const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
|
|
1179
1203
|
return validValues.includes(value) ? value : null;
|
|
1180
1204
|
} catch (error) {
|
|
1181
1205
|
// use default value in case of formatting error
|
|
@@ -1190,7 +1214,7 @@ function sanitizeMultiSelectValue(options) {
|
|
|
1190
1214
|
value
|
|
1191
1215
|
} = options;
|
|
1192
1216
|
try {
|
|
1193
|
-
const validValues =
|
|
1217
|
+
const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
|
|
1194
1218
|
return value.filter(v => validValues.includes(v));
|
|
1195
1219
|
} catch (error) {
|
|
1196
1220
|
// use default value in case of formatting error
|
|
@@ -1199,7 +1223,7 @@ function sanitizeMultiSelectValue(options) {
|
|
|
1199
1223
|
}
|
|
1200
1224
|
}
|
|
1201
1225
|
|
|
1202
|
-
const type$
|
|
1226
|
+
const type$c = 'checklist';
|
|
1203
1227
|
function Checklist(props) {
|
|
1204
1228
|
const {
|
|
1205
1229
|
disabled,
|
|
@@ -1208,7 +1232,7 @@ function Checklist(props) {
|
|
|
1208
1232
|
onFocus,
|
|
1209
1233
|
field,
|
|
1210
1234
|
readonly,
|
|
1211
|
-
value = []
|
|
1235
|
+
value: values = []
|
|
1212
1236
|
} = props;
|
|
1213
1237
|
const {
|
|
1214
1238
|
description,
|
|
@@ -1221,7 +1245,7 @@ function Checklist(props) {
|
|
|
1221
1245
|
required
|
|
1222
1246
|
} = validate;
|
|
1223
1247
|
const toggleCheckbox = v => {
|
|
1224
|
-
let newValue = [...
|
|
1248
|
+
let newValue = [...values];
|
|
1225
1249
|
if (!newValue.includes(v)) {
|
|
1226
1250
|
newValue.push(v);
|
|
1227
1251
|
} else {
|
|
@@ -1245,15 +1269,22 @@ function Checklist(props) {
|
|
|
1245
1269
|
onFocus && onFocus();
|
|
1246
1270
|
};
|
|
1247
1271
|
const {
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
} =
|
|
1272
|
+
loadState,
|
|
1273
|
+
options
|
|
1274
|
+
} = useOptionsAsync(field);
|
|
1275
|
+
useCleanupMultiSelectValues({
|
|
1276
|
+
field,
|
|
1277
|
+
loadState,
|
|
1278
|
+
options,
|
|
1279
|
+
values,
|
|
1280
|
+
onChange: props.onChange
|
|
1281
|
+
});
|
|
1251
1282
|
const {
|
|
1252
1283
|
formId
|
|
1253
1284
|
} = useContext(FormContext$1);
|
|
1254
1285
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
1255
1286
|
return jsxs("div", {
|
|
1256
|
-
class: classNames(formFieldClasses(type$
|
|
1287
|
+
class: classNames(formFieldClasses(type$c, {
|
|
1257
1288
|
errors,
|
|
1258
1289
|
disabled,
|
|
1259
1290
|
readonly
|
|
@@ -1267,11 +1298,11 @@ function Checklist(props) {
|
|
|
1267
1298
|
id: prefixId(`${id}-${index}`, formId),
|
|
1268
1299
|
label: v.label,
|
|
1269
1300
|
class: classNames({
|
|
1270
|
-
'fjs-checked':
|
|
1301
|
+
'fjs-checked': values.includes(v.value)
|
|
1271
1302
|
}),
|
|
1272
1303
|
required: false,
|
|
1273
1304
|
children: jsx("input", {
|
|
1274
|
-
checked:
|
|
1305
|
+
checked: values.includes(v.value),
|
|
1275
1306
|
class: "fjs-input",
|
|
1276
1307
|
disabled: disabled,
|
|
1277
1308
|
readOnly: readonly,
|
|
@@ -1292,9 +1323,9 @@ function Checklist(props) {
|
|
|
1292
1323
|
});
|
|
1293
1324
|
}
|
|
1294
1325
|
Checklist.config = {
|
|
1295
|
-
type: type$
|
|
1326
|
+
type: type$c,
|
|
1296
1327
|
keyed: true,
|
|
1297
|
-
label: '
|
|
1328
|
+
label: 'Checkbox group',
|
|
1298
1329
|
group: 'selection',
|
|
1299
1330
|
emptyValue: [],
|
|
1300
1331
|
sanitizeValue: sanitizeMultiSelectValue,
|
|
@@ -1444,16 +1475,16 @@ FormComponent$1.config = {
|
|
|
1444
1475
|
})
|
|
1445
1476
|
};
|
|
1446
1477
|
|
|
1447
|
-
var _path$
|
|
1448
|
-
function _extends$
|
|
1478
|
+
var _path$k;
|
|
1479
|
+
function _extends$m() { _extends$m = Object.assign ? Object.assign.bind() : 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$m.apply(this, arguments); }
|
|
1449
1480
|
var SvgCalendar = function SvgCalendar(props) {
|
|
1450
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
1481
|
+
return /*#__PURE__*/React.createElement("svg", _extends$m({
|
|
1451
1482
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1452
1483
|
width: 14,
|
|
1453
1484
|
height: 15,
|
|
1454
1485
|
fill: "none",
|
|
1455
1486
|
viewBox: "0 0 28 30"
|
|
1456
|
-
}, props), _path$
|
|
1487
|
+
}, props), _path$k || (_path$k = /*#__PURE__*/React.createElement("path", {
|
|
1457
1488
|
fill: "currentColor",
|
|
1458
1489
|
fillRule: "evenodd",
|
|
1459
1490
|
d: "M19 2H9V0H7v2H2a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-5V0h-2v2ZM7 7V4H2v5h24V4h-5v3h-2V4H9v3H7Zm-5 4v17h24V11H2Z",
|
|
@@ -1716,19 +1747,19 @@ function Datepicker(props) {
|
|
|
1716
1747
|
});
|
|
1717
1748
|
}
|
|
1718
1749
|
|
|
1719
|
-
var _path$
|
|
1720
|
-
function _extends$
|
|
1750
|
+
var _path$j, _path2$4;
|
|
1751
|
+
function _extends$l() { _extends$l = Object.assign ? Object.assign.bind() : 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$l.apply(this, arguments); }
|
|
1721
1752
|
var SvgClock = function SvgClock(props) {
|
|
1722
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
1753
|
+
return /*#__PURE__*/React.createElement("svg", _extends$l({
|
|
1723
1754
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1724
1755
|
width: 16,
|
|
1725
1756
|
height: 16,
|
|
1726
1757
|
fill: "none",
|
|
1727
1758
|
viewBox: "0 0 28 29"
|
|
1728
|
-
}, props), _path$
|
|
1759
|
+
}, props), _path$j || (_path$j = /*#__PURE__*/React.createElement("path", {
|
|
1729
1760
|
fill: "currentColor",
|
|
1730
1761
|
d: "M13 14.41 18.59 20 20 18.59l-5-5.01V5h-2v9.41Z"
|
|
1731
|
-
})), _path2$
|
|
1762
|
+
})), _path2$4 || (_path2$4 = /*#__PURE__*/React.createElement("path", {
|
|
1732
1763
|
fill: "currentColor",
|
|
1733
1764
|
fillRule: "evenodd",
|
|
1734
1765
|
d: "M6.222 25.64A14 14 0 1 0 21.778 2.36 14 14 0 0 0 6.222 25.64ZM7.333 4.023a12 12 0 1 1 13.334 19.955A12 12 0 0 1 7.333 4.022Z",
|
|
@@ -1999,7 +2030,7 @@ function Timepicker(props) {
|
|
|
1999
2030
|
});
|
|
2000
2031
|
}
|
|
2001
2032
|
|
|
2002
|
-
const type$
|
|
2033
|
+
const type$b = 'datetime';
|
|
2003
2034
|
function Datetime(props) {
|
|
2004
2035
|
const {
|
|
2005
2036
|
disabled,
|
|
@@ -2171,7 +2202,7 @@ function Datetime(props) {
|
|
|
2171
2202
|
'aria-describedby': errorMessageId
|
|
2172
2203
|
};
|
|
2173
2204
|
return jsxs("div", {
|
|
2174
|
-
class: formFieldClasses(type$
|
|
2205
|
+
class: formFieldClasses(type$b, {
|
|
2175
2206
|
errors: allErrors,
|
|
2176
2207
|
disabled,
|
|
2177
2208
|
readonly
|
|
@@ -2195,7 +2226,7 @@ function Datetime(props) {
|
|
|
2195
2226
|
});
|
|
2196
2227
|
}
|
|
2197
2228
|
Datetime.config = {
|
|
2198
|
-
type: type$
|
|
2229
|
+
type: type$b,
|
|
2199
2230
|
keyed: true,
|
|
2200
2231
|
label: 'Date time',
|
|
2201
2232
|
group: 'basic-input',
|
|
@@ -2375,7 +2406,7 @@ Group.config = {
|
|
|
2375
2406
|
type: 'group',
|
|
2376
2407
|
pathed: true,
|
|
2377
2408
|
label: 'Group',
|
|
2378
|
-
group: '
|
|
2409
|
+
group: 'container',
|
|
2379
2410
|
create: (options = {}) => ({
|
|
2380
2411
|
components: [],
|
|
2381
2412
|
showOutline: true,
|
|
@@ -2389,6 +2420,7 @@ const ALLOWED_NODES = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'em', 'a', 'p
|
|
|
2389
2420
|
const ALLOWED_ATTRIBUTES = ['align', 'alt', 'class', 'href', 'id', 'name', 'rel', 'target', 'src'];
|
|
2390
2421
|
const ALLOWED_URI_PATTERN = /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i; // eslint-disable-line no-useless-escape
|
|
2391
2422
|
const ALLOWED_IMAGE_SRC_PATTERN = /^(https?|data):.*/i; // eslint-disable-line no-useless-escape
|
|
2423
|
+
const ALLOWED_IFRAME_SRC_PATTERN = /^(https):\/\/*/i; // eslint-disable-line no-useless-escape
|
|
2392
2424
|
const ATTR_WHITESPACE_PATTERN = /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g; // eslint-disable-line no-control-regex
|
|
2393
2425
|
|
|
2394
2426
|
const FORM_ELEMENT = document.createElement('form');
|
|
@@ -2429,6 +2461,18 @@ function sanitizeImageSource(src) {
|
|
|
2429
2461
|
return valid ? src : '';
|
|
2430
2462
|
}
|
|
2431
2463
|
|
|
2464
|
+
/**
|
|
2465
|
+
* Sanitizes an iframe source to ensure we only allow for links
|
|
2466
|
+
* that start with http(s).
|
|
2467
|
+
*
|
|
2468
|
+
* @param {string} src
|
|
2469
|
+
* @returns {string}
|
|
2470
|
+
*/
|
|
2471
|
+
function sanitizeIFrameSource(src) {
|
|
2472
|
+
const valid = ALLOWED_IFRAME_SRC_PATTERN.test(src);
|
|
2473
|
+
return valid ? src : '';
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2432
2476
|
/**
|
|
2433
2477
|
* Recursively sanitize a HTML node, potentially
|
|
2434
2478
|
* removing it, its children or attributes.
|
|
@@ -2510,9 +2554,77 @@ function isValidAttribute(lcTag, lcName, value) {
|
|
|
2510
2554
|
return true;
|
|
2511
2555
|
}
|
|
2512
2556
|
|
|
2513
|
-
|
|
2557
|
+
const type$a = 'iframe';
|
|
2558
|
+
const DEFAULT_HEIGHT = 300;
|
|
2559
|
+
function IFrame(props) {
|
|
2560
|
+
const {
|
|
2561
|
+
field,
|
|
2562
|
+
disabled,
|
|
2563
|
+
readonly
|
|
2564
|
+
} = props;
|
|
2565
|
+
const {
|
|
2566
|
+
height = DEFAULT_HEIGHT,
|
|
2567
|
+
id,
|
|
2568
|
+
label,
|
|
2569
|
+
url
|
|
2570
|
+
} = field;
|
|
2571
|
+
const evaluatedUrl = useSingleLineTemplateEvaluation(url, {
|
|
2572
|
+
debug: true
|
|
2573
|
+
});
|
|
2574
|
+
const safeUrl = useMemo(() => sanitizeIFrameSource(evaluatedUrl), [evaluatedUrl]);
|
|
2575
|
+
const evaluatedLabel = useSingleLineTemplateEvaluation(label, {
|
|
2576
|
+
debug: true
|
|
2577
|
+
});
|
|
2578
|
+
const {
|
|
2579
|
+
formId
|
|
2580
|
+
} = useContext(FormContext$1);
|
|
2581
|
+
return jsxs("div", {
|
|
2582
|
+
class: formFieldClasses(type$a, {
|
|
2583
|
+
disabled,
|
|
2584
|
+
readonly
|
|
2585
|
+
}),
|
|
2586
|
+
children: [jsx(Label, {
|
|
2587
|
+
id: prefixId(id, formId),
|
|
2588
|
+
label: evaluatedLabel
|
|
2589
|
+
}), !evaluatedUrl && jsx(IFramePlaceholder, {
|
|
2590
|
+
text: "No content to show."
|
|
2591
|
+
}), evaluatedUrl && safeUrl && jsx("iframe", {
|
|
2592
|
+
src: safeUrl,
|
|
2593
|
+
title: evaluatedLabel,
|
|
2594
|
+
height: height,
|
|
2595
|
+
class: "fjs-iframe",
|
|
2596
|
+
id: prefixId(id, formId),
|
|
2597
|
+
sandbox: ""
|
|
2598
|
+
}), evaluatedUrl && !safeUrl && jsx(IFramePlaceholder, {
|
|
2599
|
+
text: "External content couldn't be loaded."
|
|
2600
|
+
})]
|
|
2601
|
+
});
|
|
2602
|
+
}
|
|
2603
|
+
function IFramePlaceholder(props) {
|
|
2604
|
+
const {
|
|
2605
|
+
text = 'iFrame'
|
|
2606
|
+
} = props;
|
|
2607
|
+
return jsx("div", {
|
|
2608
|
+
class: "fjs-iframe-placeholder",
|
|
2609
|
+
children: jsx("p", {
|
|
2610
|
+
class: "fjs-iframe-placeholder-text",
|
|
2611
|
+
children: text
|
|
2612
|
+
})
|
|
2613
|
+
});
|
|
2614
|
+
}
|
|
2615
|
+
IFrame.config = {
|
|
2616
|
+
type: type$a,
|
|
2617
|
+
keyed: false,
|
|
2618
|
+
label: 'iFrame',
|
|
2619
|
+
group: 'container',
|
|
2620
|
+
create: (options = {}) => ({
|
|
2621
|
+
...options
|
|
2622
|
+
})
|
|
2623
|
+
};
|
|
2624
|
+
|
|
2625
|
+
function _extends$k() { _extends$k = Object.assign ? Object.assign.bind() : 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$k.apply(this, arguments); }
|
|
2514
2626
|
var SvgImagePlaceholder = function SvgImagePlaceholder(props) {
|
|
2515
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
2627
|
+
return /*#__PURE__*/React.createElement("svg", _extends$k({
|
|
2516
2628
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2517
2629
|
xmlSpace: "preserve",
|
|
2518
2630
|
width: 64,
|
|
@@ -2617,14 +2729,14 @@ function TemplatedInputAdorner(props) {
|
|
|
2617
2729
|
});
|
|
2618
2730
|
}
|
|
2619
2731
|
|
|
2620
|
-
var _path$
|
|
2621
|
-
function _extends$
|
|
2732
|
+
var _path$i;
|
|
2733
|
+
function _extends$j() { _extends$j = Object.assign ? Object.assign.bind() : 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$j.apply(this, arguments); }
|
|
2622
2734
|
var SvgAngelDown = function SvgAngelDown(props) {
|
|
2623
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
2735
|
+
return /*#__PURE__*/React.createElement("svg", _extends$j({
|
|
2624
2736
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2625
2737
|
width: 8,
|
|
2626
2738
|
height: 8
|
|
2627
|
-
}, props), _path$
|
|
2739
|
+
}, props), _path$i || (_path$i = /*#__PURE__*/React.createElement("path", {
|
|
2628
2740
|
fill: "currentColor",
|
|
2629
2741
|
fillRule: "evenodd",
|
|
2630
2742
|
stroke: "currentColor",
|
|
@@ -2635,14 +2747,14 @@ var SvgAngelDown = function SvgAngelDown(props) {
|
|
|
2635
2747
|
};
|
|
2636
2748
|
var AngelDownIcon = SvgAngelDown;
|
|
2637
2749
|
|
|
2638
|
-
var _path$
|
|
2639
|
-
function _extends$
|
|
2750
|
+
var _path$h;
|
|
2751
|
+
function _extends$i() { _extends$i = Object.assign ? Object.assign.bind() : 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$i.apply(this, arguments); }
|
|
2640
2752
|
var SvgAngelUp = function SvgAngelUp(props) {
|
|
2641
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
2753
|
+
return /*#__PURE__*/React.createElement("svg", _extends$i({
|
|
2642
2754
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2643
2755
|
width: 8,
|
|
2644
2756
|
height: 8
|
|
2645
|
-
}, props), _path$
|
|
2757
|
+
}, props), _path$h || (_path$h = /*#__PURE__*/React.createElement("path", {
|
|
2646
2758
|
fill: "currentColor",
|
|
2647
2759
|
fillRule: "evenodd",
|
|
2648
2760
|
stroke: "currentColor",
|
|
@@ -2899,13 +3011,10 @@ Numberfield.config = {
|
|
|
2899
3011
|
value,
|
|
2900
3012
|
formField
|
|
2901
3013
|
}) => {
|
|
2902
|
-
//
|
|
2903
|
-
if (isNullEquivalentValue(value)) return null;
|
|
3014
|
+
// invalid value types are sanitized to null
|
|
3015
|
+
if (isNullEquivalentValue(value) || !isValidNumber(value)) return null;
|
|
2904
3016
|
|
|
2905
|
-
//
|
|
2906
|
-
if (!isValidNumber(value)) return 'NaN';
|
|
2907
|
-
|
|
2908
|
-
// otherwise parse to formatting type
|
|
3017
|
+
// otherwise, we return a string or a number depending on the form field configuration
|
|
2909
3018
|
return formField.serializeToString ? value.toString() : Number(value);
|
|
2910
3019
|
},
|
|
2911
3020
|
create: (options = {}) => ({
|
|
@@ -2913,6 +3022,30 @@ Numberfield.config = {
|
|
|
2913
3022
|
})
|
|
2914
3023
|
};
|
|
2915
3024
|
|
|
3025
|
+
function useCleanupSingleSelectValue (props) {
|
|
3026
|
+
const {
|
|
3027
|
+
field,
|
|
3028
|
+
options,
|
|
3029
|
+
loadState,
|
|
3030
|
+
onChange,
|
|
3031
|
+
value
|
|
3032
|
+
} = props;
|
|
3033
|
+
|
|
3034
|
+
// Ensures that the value is always one of the possible options
|
|
3035
|
+
useEffect(() => {
|
|
3036
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
3037
|
+
return;
|
|
3038
|
+
}
|
|
3039
|
+
const hasValueNotInOptions = value && !options.map(o => o.value).includes(value);
|
|
3040
|
+
if (hasValueNotInOptions) {
|
|
3041
|
+
onChange({
|
|
3042
|
+
field,
|
|
3043
|
+
value: null
|
|
3044
|
+
});
|
|
3045
|
+
}
|
|
3046
|
+
}, [field, options, onChange, value, loadState]);
|
|
3047
|
+
}
|
|
3048
|
+
|
|
2916
3049
|
const type$7 = 'radio';
|
|
2917
3050
|
function Radio(props) {
|
|
2918
3051
|
const {
|
|
@@ -2953,9 +3086,16 @@ function Radio(props) {
|
|
|
2953
3086
|
onFocus && onFocus();
|
|
2954
3087
|
};
|
|
2955
3088
|
const {
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
} =
|
|
3089
|
+
loadState,
|
|
3090
|
+
options
|
|
3091
|
+
} = useOptionsAsync(field);
|
|
3092
|
+
useCleanupSingleSelectValue({
|
|
3093
|
+
field,
|
|
3094
|
+
loadState,
|
|
3095
|
+
options,
|
|
3096
|
+
value,
|
|
3097
|
+
onChange: props.onChange
|
|
3098
|
+
});
|
|
2959
3099
|
const {
|
|
2960
3100
|
formId
|
|
2961
3101
|
} = useContext(FormContext$1);
|
|
@@ -3002,21 +3142,21 @@ function Radio(props) {
|
|
|
3002
3142
|
Radio.config = {
|
|
3003
3143
|
type: type$7,
|
|
3004
3144
|
keyed: true,
|
|
3005
|
-
label: 'Radio',
|
|
3145
|
+
label: 'Radio group',
|
|
3006
3146
|
group: 'selection',
|
|
3007
3147
|
emptyValue: null,
|
|
3008
3148
|
sanitizeValue: sanitizeSingleSelectValue,
|
|
3009
3149
|
create: createEmptyOptions
|
|
3010
3150
|
};
|
|
3011
3151
|
|
|
3012
|
-
var _path$
|
|
3013
|
-
function _extends$
|
|
3152
|
+
var _path$g;
|
|
3153
|
+
function _extends$h() { _extends$h = Object.assign ? Object.assign.bind() : 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$h.apply(this, arguments); }
|
|
3014
3154
|
var SvgXMark = function SvgXMark(props) {
|
|
3015
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
3155
|
+
return /*#__PURE__*/React.createElement("svg", _extends$h({
|
|
3016
3156
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3017
3157
|
width: 8,
|
|
3018
3158
|
height: 8
|
|
3019
|
-
}, props), _path$
|
|
3159
|
+
}, props), _path$g || (_path$g = /*#__PURE__*/React.createElement("path", {
|
|
3020
3160
|
fill: "currentColor",
|
|
3021
3161
|
fillRule: "evenodd",
|
|
3022
3162
|
stroke: "currentColor",
|
|
@@ -3048,9 +3188,16 @@ function SearchableSelect(props) {
|
|
|
3048
3188
|
const searchbarRef = useRef();
|
|
3049
3189
|
const eventBus = useService('eventBus');
|
|
3050
3190
|
const {
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
} =
|
|
3191
|
+
loadState,
|
|
3192
|
+
options
|
|
3193
|
+
} = useOptionsAsync(field);
|
|
3194
|
+
useCleanupSingleSelectValue({
|
|
3195
|
+
field,
|
|
3196
|
+
loadState,
|
|
3197
|
+
options,
|
|
3198
|
+
value,
|
|
3199
|
+
onChange: props.onChange
|
|
3200
|
+
});
|
|
3054
3201
|
|
|
3055
3202
|
// We cache a map of option values to their index so that we don't need to search the whole options array every time to correlate the label
|
|
3056
3203
|
const valueToOptionMap = useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
@@ -3210,9 +3357,16 @@ function SimpleSelect(props) {
|
|
|
3210
3357
|
const selectRef = useRef();
|
|
3211
3358
|
const inputRef = useRef();
|
|
3212
3359
|
const {
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
} =
|
|
3360
|
+
loadState,
|
|
3361
|
+
options
|
|
3362
|
+
} = useOptionsAsync(field);
|
|
3363
|
+
useCleanupSingleSelectValue({
|
|
3364
|
+
field,
|
|
3365
|
+
loadState,
|
|
3366
|
+
options,
|
|
3367
|
+
value,
|
|
3368
|
+
onChange: props.onChange
|
|
3369
|
+
});
|
|
3216
3370
|
|
|
3217
3371
|
// We cache a map of option values to their index so that we don't need to search the whole options array every time to correlate the label
|
|
3218
3372
|
const valueToOptionMap = useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
@@ -3474,34 +3628,36 @@ function Taglist(props) {
|
|
|
3474
3628
|
} = useContext(FormContext$1);
|
|
3475
3629
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
3476
3630
|
const [filter, setFilter] = useState('');
|
|
3477
|
-
const [filteredOptions, setFilteredOptions] = useState([]);
|
|
3478
3631
|
const [isDropdownExpanded, setIsDropdownExpanded] = useState(false);
|
|
3479
|
-
const [hasOptionsLeft, setHasOptionsLeft] = useState(true);
|
|
3480
3632
|
const [isEscapeClosed, setIsEscapeClose] = useState(false);
|
|
3481
3633
|
const focusScopeRef = useRef();
|
|
3482
3634
|
const inputRef = useRef();
|
|
3483
3635
|
const eventBus = useService('eventBus');
|
|
3484
3636
|
const {
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
} =
|
|
3637
|
+
loadState,
|
|
3638
|
+
options
|
|
3639
|
+
} = useOptionsAsync(field);
|
|
3640
|
+
useCleanupMultiSelectValues({
|
|
3641
|
+
field,
|
|
3642
|
+
loadState,
|
|
3643
|
+
options,
|
|
3644
|
+
values,
|
|
3645
|
+
onChange: props.onChange
|
|
3646
|
+
});
|
|
3488
3647
|
|
|
3489
3648
|
// We cache a map of option values to their index so that we don't need to search the whole options array every time to correlate the label
|
|
3490
3649
|
const valueToOptionMap = useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
3491
3650
|
[o.value]: options[x]
|
|
3492
3651
|
}))), [options]);
|
|
3652
|
+
const hasOptionsLeft = useMemo(() => options.length > values.length, [options.length, values.length]);
|
|
3493
3653
|
|
|
3494
3654
|
// Usage of stringify is necessary here because we want this effect to only trigger when there is a value change to the array
|
|
3495
|
-
|
|
3496
|
-
if (loadState
|
|
3497
|
-
|
|
3498
|
-
} else {
|
|
3499
|
-
setFilteredOptions([]);
|
|
3655
|
+
const filteredOptions = useMemo(() => {
|
|
3656
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
3657
|
+
return [];
|
|
3500
3658
|
}
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
setHasOptionsLeft(options.length > values.length);
|
|
3504
|
-
}, [options.length, values.length]);
|
|
3659
|
+
return options.filter(o => o.label && o.value && o.label.toLowerCase().includes(filter.toLowerCase()) && !values.includes(o.value));
|
|
3660
|
+
}, [filter, options, JSON.stringify(values), loadState]);
|
|
3505
3661
|
const selectValue = value => {
|
|
3506
3662
|
if (filter) {
|
|
3507
3663
|
setFilter('');
|
|
@@ -3628,7 +3784,7 @@ function Taglist(props) {
|
|
|
3628
3784
|
onMouseDown: e => e.preventDefault(),
|
|
3629
3785
|
children: [jsx("span", {
|
|
3630
3786
|
class: "fjs-taglist-tag-label",
|
|
3631
|
-
children: valueToOptionMap[v] ? valueToOptionMap[v].label :
|
|
3787
|
+
children: valueToOptionMap[v] ? valueToOptionMap[v].label : undefined
|
|
3632
3788
|
}), !disabled && !readonly && jsx("button", {
|
|
3633
3789
|
type: "button",
|
|
3634
3790
|
title: "Remove tag",
|
|
@@ -3849,7 +4005,7 @@ Textfield.config = {
|
|
|
3849
4005
|
sanitizeValue: ({
|
|
3850
4006
|
value
|
|
3851
4007
|
}) => {
|
|
3852
|
-
if (isArray(value) || isObject(value)) {
|
|
4008
|
+
if (isArray(value) || isObject(value) || isNil(value)) {
|
|
3853
4009
|
return '';
|
|
3854
4010
|
}
|
|
3855
4011
|
|
|
@@ -3940,7 +4096,7 @@ Textarea.config = {
|
|
|
3940
4096
|
emptyValue: '',
|
|
3941
4097
|
sanitizeValue: ({
|
|
3942
4098
|
value
|
|
3943
|
-
}) => isArray(value) || isObject(value) ? '' : String(value),
|
|
4099
|
+
}) => isArray(value) || isObject(value) || isNil(value) ? '' : String(value),
|
|
3944
4100
|
create: (options = {}) => ({
|
|
3945
4101
|
...options
|
|
3946
4102
|
})
|
|
@@ -3964,84 +4120,64 @@ const autoSizeTextarea = textarea => {
|
|
|
3964
4120
|
textarea.style.overflow = calculatedHeight > maxHeight ? 'visible' : 'hidden';
|
|
3965
4121
|
};
|
|
3966
4122
|
|
|
3967
|
-
var _path$
|
|
3968
|
-
function _extends$
|
|
4123
|
+
var _path$f;
|
|
4124
|
+
function _extends$g() { _extends$g = Object.assign ? Object.assign.bind() : 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$g.apply(this, arguments); }
|
|
3969
4125
|
var SvgButton = function SvgButton(props) {
|
|
3970
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4126
|
+
return /*#__PURE__*/React.createElement("svg", _extends$g({
|
|
3971
4127
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3972
4128
|
width: 54,
|
|
3973
4129
|
height: 54,
|
|
3974
4130
|
fill: "currentcolor"
|
|
3975
|
-
}, props), _path$
|
|
4131
|
+
}, props), _path$f || (_path$f = /*#__PURE__*/React.createElement("path", {
|
|
3976
4132
|
fillRule: "evenodd",
|
|
3977
4133
|
d: "M45 17a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V20a3 3 0 0 1 3-3h36zm-9 8.889H18v2.222h18v-2.222z"
|
|
3978
4134
|
})));
|
|
3979
4135
|
};
|
|
3980
4136
|
var ButtonIcon = SvgButton;
|
|
3981
4137
|
|
|
3982
|
-
var _path$
|
|
3983
|
-
function _extends$
|
|
4138
|
+
var _path$e;
|
|
4139
|
+
function _extends$f() { _extends$f = Object.assign ? Object.assign.bind() : 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$f.apply(this, arguments); }
|
|
3984
4140
|
var SvgCheckbox = function SvgCheckbox(props) {
|
|
3985
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4141
|
+
return /*#__PURE__*/React.createElement("svg", _extends$f({
|
|
3986
4142
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3987
4143
|
width: 54,
|
|
3988
4144
|
height: 54,
|
|
3989
4145
|
fill: "currentcolor"
|
|
3990
|
-
}, props), _path$
|
|
4146
|
+
}, props), _path$e || (_path$e = /*#__PURE__*/React.createElement("path", {
|
|
3991
4147
|
d: "M34 18H20a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V20a2 2 0 0 0-2-2zm-9 14-5-5 1.41-1.41L25 29.17l7.59-7.59L34 23l-9 9z"
|
|
3992
4148
|
})));
|
|
3993
4149
|
};
|
|
3994
4150
|
var CheckboxIcon = SvgCheckbox;
|
|
3995
4151
|
|
|
3996
|
-
var
|
|
3997
|
-
function _extends$
|
|
4152
|
+
var _path$d;
|
|
4153
|
+
function _extends$e() { _extends$e = Object.assign ? Object.assign.bind() : 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$e.apply(this, arguments); }
|
|
3998
4154
|
var SvgChecklist = function SvgChecklist(props) {
|
|
3999
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4155
|
+
return /*#__PURE__*/React.createElement("svg", _extends$e({
|
|
4000
4156
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4001
|
-
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
4002
4157
|
width: 54,
|
|
4003
4158
|
height: 54,
|
|
4004
|
-
fill: "
|
|
4005
|
-
}, props),
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
y: 24
|
|
4012
|
-
}), /*#__PURE__*/React.createElement("use", {
|
|
4013
|
-
xlinkHref: "#Checklist_svg__a",
|
|
4014
|
-
y: 12
|
|
4015
|
-
}))), _use || (_use = /*#__PURE__*/React.createElement("use", {
|
|
4016
|
-
xlinkHref: "#Checklist_svg__b"
|
|
4017
|
-
})), _use2 || (_use2 = /*#__PURE__*/React.createElement("use", {
|
|
4018
|
-
xlinkHref: "#Checklist_svg__b",
|
|
4019
|
-
y: 12
|
|
4020
|
-
})), _use3 || (_use3 = /*#__PURE__*/React.createElement("use", {
|
|
4021
|
-
xlinkHref: "#Checklist_svg__b",
|
|
4022
|
-
y: 24
|
|
4023
|
-
})), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("path", {
|
|
4024
|
-
id: "Checklist_svg__a",
|
|
4025
|
-
d: "M18 12h-6v6h6v-6zm-6-2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2h-6z"
|
|
4026
|
-
}), /*#__PURE__*/React.createElement("path", {
|
|
4027
|
-
id: "Checklist_svg__b",
|
|
4028
|
-
d: "M23 14.5a1 1 0 0 1 1-1h19a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H24a1 1 0 0 1-1-1v-1z"
|
|
4029
|
-
}))));
|
|
4159
|
+
fill: "none"
|
|
4160
|
+
}, props), _path$d || (_path$d = /*#__PURE__*/React.createElement("path", {
|
|
4161
|
+
fill: "currentColor",
|
|
4162
|
+
fillRule: "evenodd",
|
|
4163
|
+
d: "M14.35 24.75H19v4.65h-4.65v-4.65Zm-1.414-1.414a2 2 0 0 1 1.414-.586H19a2 2 0 0 1 2 2v4.65a2 2 0 0 1-2 2h-4.65a2 2 0 0 1-2-2v-4.65a2 2 0 0 1 .586-1.414ZM14.35 37.05H19v4.65h-4.65v-4.65Zm-1.414-1.414a2 2 0 0 1 1.414-.586H19a2 2 0 0 1 2 2v4.65a2 2 0 0 1-2 2h-4.65a2 2 0 0 1-2-2v-4.65a2 2 0 0 1 .586-1.414ZM14.35 12.45H19v4.65h-4.65v-4.65Zm-1.414-1.414a2 2 0 0 1 1.414-.586H19a2 2 0 0 1 2 2v4.65a2 2 0 0 1-2 2h-4.65a2 2 0 0 1-2-2v-4.65a2 2 0 0 1 .586-1.414Zm12.007 14.977a1 1 0 0 0-.293.707v.65a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-.65a1 1 0 0 0-1-1h-15a1 1 0 0 0-.707.293Zm0 12.3a1 1 0 0 0-.293.707v.65a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-.65a1 1 0 0 0-1-1h-15a1 1 0 0 0-.707.293Zm0-24.6a1 1 0 0 0-.293.707v.65a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-.65a1 1 0 0 0-1-1h-15a1 1 0 0 0-.707.293Z",
|
|
4164
|
+
clipRule: "evenodd"
|
|
4165
|
+
})));
|
|
4030
4166
|
};
|
|
4031
4167
|
var ChecklistIcon = SvgChecklist;
|
|
4032
4168
|
|
|
4033
|
-
var _path$
|
|
4034
|
-
function _extends$
|
|
4169
|
+
var _path$c, _path2$3, _path3;
|
|
4170
|
+
function _extends$d() { _extends$d = Object.assign ? Object.assign.bind() : 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$d.apply(this, arguments); }
|
|
4035
4171
|
var SvgDatetime = function SvgDatetime(props) {
|
|
4036
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4172
|
+
return /*#__PURE__*/React.createElement("svg", _extends$d({
|
|
4037
4173
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4038
4174
|
width: 54,
|
|
4039
4175
|
height: 54,
|
|
4040
4176
|
fill: "currentcolor"
|
|
4041
|
-
}, props), _path$
|
|
4177
|
+
}, props), _path$c || (_path$c = /*#__PURE__*/React.createElement("path", {
|
|
4042
4178
|
fillRule: "evenodd",
|
|
4043
4179
|
d: "M37.908 13.418h-5.004v-2.354h-1.766v2.354H21.13v-2.354h-1.766v2.354H14.36a2.07 2.07 0 0 0-2.06 2.06v23.549a2.07 2.07 0 0 0 2.06 2.06h6.77v-1.766h-6.358a.707.707 0 0 1-.706-.706V15.89c0-.39.316-.707.706-.707h4.592v2.355h1.766v-2.355h10.008v2.355h1.766v-2.355h4.592a.71.71 0 0 1 .707.707v6.358h1.765v-6.77c0-1.133-.927-2.06-2.06-2.06z"
|
|
4044
|
-
})), _path2$
|
|
4180
|
+
})), _path2$3 || (_path2$3 = /*#__PURE__*/React.createElement("path", {
|
|
4045
4181
|
d: "m35.13 37.603 1.237-1.237-3.468-3.475v-5.926h-1.754v6.654l3.984 3.984Z"
|
|
4046
4182
|
})), _path3 || (_path3 = /*#__PURE__*/React.createElement("path", {
|
|
4047
4183
|
fillRule: "evenodd",
|
|
@@ -4050,27 +4186,27 @@ var SvgDatetime = function SvgDatetime(props) {
|
|
|
4050
4186
|
};
|
|
4051
4187
|
var DatetimeIcon = SvgDatetime;
|
|
4052
4188
|
|
|
4053
|
-
var _path$
|
|
4054
|
-
function _extends$
|
|
4189
|
+
var _path$b, _path2$2;
|
|
4190
|
+
function _extends$c() { _extends$c = Object.assign ? Object.assign.bind() : 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$c.apply(this, arguments); }
|
|
4055
4191
|
var SvgTaglist = function SvgTaglist(props) {
|
|
4056
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4192
|
+
return /*#__PURE__*/React.createElement("svg", _extends$c({
|
|
4057
4193
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4058
4194
|
width: 54,
|
|
4059
4195
|
height: 54,
|
|
4060
4196
|
fill: "currentcolor"
|
|
4061
|
-
}, props), _path$
|
|
4197
|
+
}, props), _path$b || (_path$b = /*#__PURE__*/React.createElement("path", {
|
|
4062
4198
|
fillRule: "evenodd",
|
|
4063
4199
|
d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36Zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1Z"
|
|
4064
|
-
})), _path2$
|
|
4200
|
+
})), _path2$2 || (_path2$2 = /*#__PURE__*/React.createElement("path", {
|
|
4065
4201
|
d: "M11 22a1 1 0 0 1 1-1h19a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H12a1 1 0 0 1-1-1V22Z"
|
|
4066
4202
|
})));
|
|
4067
4203
|
};
|
|
4068
4204
|
var TaglistIcon = SvgTaglist;
|
|
4069
4205
|
|
|
4070
4206
|
var _rect, _rect2, _rect3;
|
|
4071
|
-
function _extends$
|
|
4207
|
+
function _extends$b() { _extends$b = Object.assign ? Object.assign.bind() : 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$b.apply(this, arguments); }
|
|
4072
4208
|
var SvgForm = function SvgForm(props) {
|
|
4073
|
-
return /*#__PURE__*/React.createElement("svg", _extends$
|
|
4209
|
+
return /*#__PURE__*/React.createElement("svg", _extends$b({
|
|
4074
4210
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4075
4211
|
width: 54,
|
|
4076
4212
|
height: 54
|
|
@@ -4096,9 +4232,24 @@ var SvgForm = function SvgForm(props) {
|
|
|
4096
4232
|
};
|
|
4097
4233
|
var FormIcon = SvgForm;
|
|
4098
4234
|
|
|
4235
|
+
var _path$a;
|
|
4236
|
+
function _extends$a() { _extends$a = Object.assign ? Object.assign.bind() : 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$a.apply(this, arguments); }
|
|
4237
|
+
var SvgGroup = function SvgGroup(props) {
|
|
4238
|
+
return /*#__PURE__*/React.createElement("svg", _extends$a({
|
|
4239
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4240
|
+
width: 54,
|
|
4241
|
+
height: 54,
|
|
4242
|
+
fill: "currentcolor"
|
|
4243
|
+
}, props), _path$a || (_path$a = /*#__PURE__*/React.createElement("path", {
|
|
4244
|
+
fillRule: "evenodd",
|
|
4245
|
+
d: "M8 33v5a1 1 0 0 0 1 1h4v2H9a3 3 0 0 1-3-3v-5h2Zm18 6v2H15v-2h11Zm13 0v2H28v-2h11Zm9-6v5a3 3 0 0 1-3 3h-4v-2h4a1 1 0 0 0 .993-.883L46 38v-5h2ZM8 22v9H6v-9h2Zm40 0v9h-2v-9h2Zm-35-9v2H9a1 1 0 0 0-.993.883L8 16v4H6v-4a3 3 0 0 1 3-3h4Zm32 0a3 3 0 0 1 3 3v4h-2v-4a1 1 0 0 0-.883-.993L45 15h-4v-2h4Zm-6 0v2H28v-2h11Zm-13 0v2H15v-2h11Z"
|
|
4246
|
+
})));
|
|
4247
|
+
};
|
|
4248
|
+
var GroupIcon = SvgGroup;
|
|
4249
|
+
|
|
4099
4250
|
var _path$9;
|
|
4100
4251
|
function _extends$9() { _extends$9 = Object.assign ? Object.assign.bind() : 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$9.apply(this, arguments); }
|
|
4101
|
-
var
|
|
4252
|
+
var SvgNumber = function SvgNumber(props) {
|
|
4102
4253
|
return /*#__PURE__*/React.createElement("svg", _extends$9({
|
|
4103
4254
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4104
4255
|
width: 54,
|
|
@@ -4106,58 +4257,58 @@ var SvgGroup = function SvgGroup(props) {
|
|
|
4106
4257
|
fill: "currentcolor"
|
|
4107
4258
|
}, props), _path$9 || (_path$9 = /*#__PURE__*/React.createElement("path", {
|
|
4108
4259
|
fillRule: "evenodd",
|
|
4109
|
-
d: "
|
|
4260
|
+
d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zM35 28.444h7l-3.5 4-3.5-4zM35 26h7l-3.5-4-3.5 4z"
|
|
4110
4261
|
})));
|
|
4111
4262
|
};
|
|
4112
|
-
var
|
|
4263
|
+
var NumberIcon = SvgNumber;
|
|
4113
4264
|
|
|
4114
4265
|
var _path$8;
|
|
4115
4266
|
function _extends$8() { _extends$8 = Object.assign ? Object.assign.bind() : 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$8.apply(this, arguments); }
|
|
4116
|
-
var
|
|
4267
|
+
var SvgRadio = function SvgRadio(props) {
|
|
4117
4268
|
return /*#__PURE__*/React.createElement("svg", _extends$8({
|
|
4118
4269
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4119
4270
|
width: 54,
|
|
4120
4271
|
height: 54,
|
|
4121
4272
|
fill: "currentcolor"
|
|
4122
4273
|
}, props), _path$8 || (_path$8 = /*#__PURE__*/React.createElement("path", {
|
|
4123
|
-
|
|
4124
|
-
d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zM35 28.444h7l-3.5 4-3.5-4zM35 26h7l-3.5-4-3.5 4z"
|
|
4274
|
+
d: "M27 22c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 18a8 8 0 1 1 0-16 8 8 0 1 1 0 16z"
|
|
4125
4275
|
})));
|
|
4126
4276
|
};
|
|
4127
|
-
var
|
|
4277
|
+
var RadioIcon = SvgRadio;
|
|
4128
4278
|
|
|
4129
4279
|
var _path$7;
|
|
4130
4280
|
function _extends$7() { _extends$7 = Object.assign ? Object.assign.bind() : 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$7.apply(this, arguments); }
|
|
4131
|
-
var
|
|
4281
|
+
var SvgSelect = function SvgSelect(props) {
|
|
4132
4282
|
return /*#__PURE__*/React.createElement("svg", _extends$7({
|
|
4133
4283
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4134
4284
|
width: 54,
|
|
4135
4285
|
height: 54,
|
|
4136
4286
|
fill: "currentcolor"
|
|
4137
4287
|
}, props), _path$7 || (_path$7 = /*#__PURE__*/React.createElement("path", {
|
|
4138
|
-
|
|
4288
|
+
fillRule: "evenodd",
|
|
4289
|
+
d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zm-12 7h9l-4.5 6-4.5-6z"
|
|
4139
4290
|
})));
|
|
4140
4291
|
};
|
|
4141
|
-
var
|
|
4292
|
+
var SelectIcon = SvgSelect;
|
|
4142
4293
|
|
|
4143
4294
|
var _path$6;
|
|
4144
4295
|
function _extends$6() { _extends$6 = Object.assign ? Object.assign.bind() : 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$6.apply(this, arguments); }
|
|
4145
|
-
var
|
|
4296
|
+
var SvgSeparator = function SvgSeparator(props) {
|
|
4146
4297
|
return /*#__PURE__*/React.createElement("svg", _extends$6({
|
|
4147
4298
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4148
4299
|
width: 54,
|
|
4149
4300
|
height: 54,
|
|
4150
|
-
fill: "
|
|
4301
|
+
fill: "none"
|
|
4151
4302
|
}, props), _path$6 || (_path$6 = /*#__PURE__*/React.createElement("path", {
|
|
4152
|
-
|
|
4153
|
-
d: "
|
|
4303
|
+
fill: "currentColor",
|
|
4304
|
+
d: "M26.293 16.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L27 18.414l-3.293 3.293a1 1 0 0 1-1.414-1.414l4-4ZM9 26h36v2H9v-2Zm13.293 7.707 4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L27 35.586l-3.293-3.293a1 1 0 0 0-1.414 1.414Z"
|
|
4154
4305
|
})));
|
|
4155
4306
|
};
|
|
4156
|
-
var
|
|
4307
|
+
var SeparatorIcon = SvgSeparator;
|
|
4157
4308
|
|
|
4158
4309
|
var _path$5;
|
|
4159
4310
|
function _extends$5() { _extends$5 = Object.assign ? Object.assign.bind() : 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$5.apply(this, arguments); }
|
|
4160
|
-
var
|
|
4311
|
+
var SvgSpacer = function SvgSpacer(props) {
|
|
4161
4312
|
return /*#__PURE__*/React.createElement("svg", _extends$5({
|
|
4162
4313
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4163
4314
|
width: 54,
|
|
@@ -4165,43 +4316,43 @@ var SvgSeparator = function SvgSeparator(props) {
|
|
|
4165
4316
|
fill: "none"
|
|
4166
4317
|
}, props), _path$5 || (_path$5 = /*#__PURE__*/React.createElement("path", {
|
|
4167
4318
|
fill: "currentColor",
|
|
4168
|
-
d: "
|
|
4319
|
+
d: "M9 15v2h36v-2H9Zm0 22v2h36v-2H9Zm17.293-17.707a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L27 21.414l-3.293 3.293a1 1 0 0 1-1.414-1.414l4-4Zm-4 11.414 4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L27 32.586l-3.293-3.293a1 1 0 0 0-1.414 1.414Z"
|
|
4169
4320
|
})));
|
|
4170
4321
|
};
|
|
4171
|
-
var
|
|
4322
|
+
var SpacerIcon = SvgSpacer;
|
|
4172
4323
|
|
|
4173
4324
|
var _path$4;
|
|
4174
4325
|
function _extends$4() { _extends$4 = Object.assign ? Object.assign.bind() : 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$4.apply(this, arguments); }
|
|
4175
|
-
var
|
|
4326
|
+
var SvgText = function SvgText(props) {
|
|
4176
4327
|
return /*#__PURE__*/React.createElement("svg", _extends$4({
|
|
4177
4328
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4178
4329
|
width: 54,
|
|
4179
4330
|
height: 54,
|
|
4180
|
-
fill: "
|
|
4331
|
+
fill: "currentcolor"
|
|
4181
4332
|
}, props), _path$4 || (_path$4 = /*#__PURE__*/React.createElement("path", {
|
|
4182
|
-
|
|
4183
|
-
d: "M9 15v2h36v-2H9Zm0 22v2h36v-2H9Zm17.293-17.707a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L27 21.414l-3.293 3.293a1 1 0 0 1-1.414-1.414l4-4Zm-4 11.414 4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L27 32.586l-3.293-3.293a1 1 0 0 0-1.414 1.414Z"
|
|
4333
|
+
d: "M20.58 33.77h-3l-1.18-3.08H11l-1.1 3.08H7l5.27-13.54h2.89zm-5-5.36-1.86-5-1.83 5zM22 20.23h5.41a15.47 15.47 0 0 1 2.4.14 3.42 3.42 0 0 1 1.41.55 3.47 3.47 0 0 1 1 1.14 3 3 0 0 1 .42 1.58 3.26 3.26 0 0 1-1.91 2.94 3.63 3.63 0 0 1 1.91 1.22 3.28 3.28 0 0 1 .66 2 4 4 0 0 1-.43 1.8 3.63 3.63 0 0 1-1.09 1.4 3.89 3.89 0 0 1-1.83.65q-.69.07-3.3.09H22zm2.73 2.25v3.13h3.8a1.79 1.79 0 0 0 1.1-.49 1.41 1.41 0 0 0 .41-1 1.49 1.49 0 0 0-.35-1 1.54 1.54 0 0 0-1-.48c-.27 0-1.05-.05-2.34-.05zm0 5.39v3.62h2.57a11.52 11.52 0 0 0 1.88-.09 1.65 1.65 0 0 0 1-.54 1.6 1.6 0 0 0 .38-1.14 1.75 1.75 0 0 0-.29-1 1.69 1.69 0 0 0-.86-.62 9.28 9.28 0 0 0-2.41-.23zm19.62.92 2.65.84a5.94 5.94 0 0 1-2 3.29A5.74 5.74 0 0 1 41.38 34a5.87 5.87 0 0 1-4.44-1.84 7.09 7.09 0 0 1-1.73-5A7.43 7.43 0 0 1 37 21.87 6 6 0 0 1 41.54 20a5.64 5.64 0 0 1 4 1.47A5.33 5.33 0 0 1 47 24l-2.7.65a2.8 2.8 0 0 0-2.86-2.27A3.09 3.09 0 0 0 39 23.42a5.31 5.31 0 0 0-.93 3.5 5.62 5.62 0 0 0 .93 3.65 3 3 0 0 0 2.4 1.09 2.72 2.72 0 0 0 1.82-.66 4 4 0 0 0 1.13-2.21z"
|
|
4184
4334
|
})));
|
|
4185
4335
|
};
|
|
4186
|
-
var
|
|
4336
|
+
var TextIcon = SvgText;
|
|
4187
4337
|
|
|
4188
4338
|
var _path$3;
|
|
4189
4339
|
function _extends$3() { _extends$3 = Object.assign ? Object.assign.bind() : 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$3.apply(this, arguments); }
|
|
4190
|
-
var
|
|
4340
|
+
var SvgTextfield = function SvgTextfield(props) {
|
|
4191
4341
|
return /*#__PURE__*/React.createElement("svg", _extends$3({
|
|
4192
4342
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4193
4343
|
width: 54,
|
|
4194
4344
|
height: 54,
|
|
4195
4345
|
fill: "currentcolor"
|
|
4196
4346
|
}, props), _path$3 || (_path$3 = /*#__PURE__*/React.createElement("path", {
|
|
4197
|
-
|
|
4347
|
+
fillRule: "evenodd",
|
|
4348
|
+
d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zm-32 4v10h-2V22h2z"
|
|
4198
4349
|
})));
|
|
4199
4350
|
};
|
|
4200
|
-
var
|
|
4351
|
+
var TextfieldIcon = SvgTextfield;
|
|
4201
4352
|
|
|
4202
4353
|
var _path$2;
|
|
4203
4354
|
function _extends$2() { _extends$2 = Object.assign ? Object.assign.bind() : 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$2.apply(this, arguments); }
|
|
4204
|
-
var
|
|
4355
|
+
var SvgTextarea = function SvgTextarea(props) {
|
|
4205
4356
|
return /*#__PURE__*/React.createElement("svg", _extends$2({
|
|
4206
4357
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4207
4358
|
width: 54,
|
|
@@ -4209,25 +4360,30 @@ var SvgTextfield = function SvgTextfield(props) {
|
|
|
4209
4360
|
fill: "currentcolor"
|
|
4210
4361
|
}, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement("path", {
|
|
4211
4362
|
fillRule: "evenodd",
|
|
4212
|
-
d: "M45
|
|
4363
|
+
d: "M45 13a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V16a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V16a1 1 0 0 0-1-1zm-1.136 15.5.849.849-6.364 6.364-.849-.849 6.364-6.364zm.264 3.5.849.849-2.828 2.828-.849-.849L44.128 34zM13 19v10h-2V19h2z"
|
|
4213
4364
|
})));
|
|
4214
4365
|
};
|
|
4215
|
-
var
|
|
4366
|
+
var TextareaIcon = SvgTextarea;
|
|
4216
4367
|
|
|
4217
|
-
var _path$1;
|
|
4368
|
+
var _path$1, _path2$1;
|
|
4218
4369
|
function _extends$1() { _extends$1 = Object.assign ? Object.assign.bind() : 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$1.apply(this, arguments); }
|
|
4219
|
-
var
|
|
4370
|
+
var SvgIFrame = function SvgIFrame(props) {
|
|
4220
4371
|
return /*#__PURE__*/React.createElement("svg", _extends$1({
|
|
4221
4372
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4222
4373
|
width: 54,
|
|
4223
4374
|
height: 54,
|
|
4224
|
-
fill: "
|
|
4375
|
+
fill: "none"
|
|
4225
4376
|
}, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
|
|
4377
|
+
fill: "currentcolor",
|
|
4378
|
+
d: "M34.467 37.3 41 31l-6.533-6.3-1.32 1.273L38.36 31l-5.213 5.027 1.32 1.273ZM19.533 24.7 13 31l6.533 6.3 1.32-1.273L15.64 31l5.214-5.027-1.32-1.273Zm4.127 14.832 1.805.468 4.875-17.532L28.535 22 23.66 39.532Z"
|
|
4379
|
+
})), _path2$1 || (_path2$1 = /*#__PURE__*/React.createElement("path", {
|
|
4380
|
+
fill: "currentcolor",
|
|
4226
4381
|
fillRule: "evenodd",
|
|
4227
|
-
d: "
|
|
4382
|
+
d: "M46 9a3 3 0 0 1 3 3v30a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3h38Zm0 2H8a1 1 0 0 0-1 1v4h40v-4a1 1 0 0 0-1-1ZM7 42V18h40v24a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1Z",
|
|
4383
|
+
clipRule: "evenodd"
|
|
4228
4384
|
})));
|
|
4229
4385
|
};
|
|
4230
|
-
var
|
|
4386
|
+
var IFrameIcon = SvgIFrame;
|
|
4231
4387
|
|
|
4232
4388
|
var _path, _path2;
|
|
4233
4389
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
@@ -4257,6 +4413,7 @@ const iconsByType = type => {
|
|
|
4257
4413
|
columns: GroupIcon,
|
|
4258
4414
|
datetime: DatetimeIcon,
|
|
4259
4415
|
group: GroupIcon,
|
|
4416
|
+
iframe: IFrameIcon,
|
|
4260
4417
|
image: ImageIcon,
|
|
4261
4418
|
number: NumberIcon,
|
|
4262
4419
|
radio: RadioIcon,
|
|
@@ -4271,7 +4428,7 @@ const iconsByType = type => {
|
|
|
4271
4428
|
}[type];
|
|
4272
4429
|
};
|
|
4273
4430
|
|
|
4274
|
-
const formFields = [Button, Checkbox, Checklist, FormComponent$1, Group, Image, Numberfield, Datetime, Radio, Select, Spacer, Separator, Taglist, Text, Textfield, Textarea];
|
|
4431
|
+
const formFields = [Button, Checkbox, Checklist, FormComponent$1, Group, IFrame, Image, Numberfield, Datetime, Radio, Select, Spacer, Separator, Taglist, Text, Textfield, Textarea];
|
|
4275
4432
|
|
|
4276
4433
|
class FormFields {
|
|
4277
4434
|
constructor() {
|
|
@@ -4343,8 +4500,8 @@ function createFormContainer(prefix = 'fjs') {
|
|
|
4343
4500
|
return container;
|
|
4344
4501
|
}
|
|
4345
4502
|
|
|
4346
|
-
const EXPRESSION_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'conditional.hide', 'description', 'label', 'source', 'readonly', 'text', 'validate.min', 'validate.max', 'validate.minLength', 'validate.maxLength', 'valuesExpression'];
|
|
4347
|
-
const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text'];
|
|
4503
|
+
const EXPRESSION_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'conditional.hide', 'description', 'label', 'source', 'readonly', 'text', 'validate.min', 'validate.max', 'validate.minLength', 'validate.maxLength', 'valuesExpression', 'url'];
|
|
4504
|
+
const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text', 'url'];
|
|
4348
4505
|
function isRequired(field) {
|
|
4349
4506
|
return field.required;
|
|
4350
4507
|
}
|
|
@@ -6839,7 +6996,7 @@ class Form {
|
|
|
6839
6996
|
}
|
|
6840
6997
|
}
|
|
6841
6998
|
|
|
6842
|
-
const schemaVersion =
|
|
6999
|
+
const schemaVersion = 13;
|
|
6843
7000
|
|
|
6844
7001
|
/**
|
|
6845
7002
|
* @typedef { import('./types').CreateFormOptions } CreateFormOptions
|
|
@@ -6864,5 +7021,5 @@ function createForm(options) {
|
|
|
6864
7021
|
});
|
|
6865
7022
|
}
|
|
6866
7023
|
|
|
6867
|
-
export { Button, Checkbox, Checklist, ConditionChecker, DATETIME_SUBTYPES, DATETIME_SUBTYPES_LABELS, DATETIME_SUBTYPE_PATH, DATE_DISALLOW_PAST_PATH, DATE_LABEL_PATH, Datetime, FormComponent$1 as Default, Description, Errors, ExpressionLanguageModule, FeelExpressionLanguage, FeelersTemplating, FieldFactory, Form, FormComponent, FormContext$1 as FormContext, FormField, FormFieldRegistry, FormFields, FormLayouter, FormRenderContext$1 as FormRenderContext, Group, Image, Importer, Label, MINUTES_IN_DAY, MarkdownModule, MarkdownRenderer, Numberfield, PathRegistry, Radio, Select, Separator, Spacer, TIME_INTERVAL_PATH, TIME_LABEL_PATH, TIME_SERIALISINGFORMAT_LABELS, TIME_SERIALISING_FORMATS, TIME_SERIALISING_FORMAT_PATH, TIME_USE24H_PATH, Taglist, Text, Textarea, Textfield, VALUES_SOURCES, VALUES_SOURCES_DEFAULTS, VALUES_SOURCES_LABELS, VALUES_SOURCES_PATHS, VALUES_SOURCE_DEFAULT, ViewerCommands, ViewerCommandsModule, clone, createForm, createFormContainer, createInjector, formFields, generateIdForType, generateIndexForType, getSchemaVariables, getValuesSource, iconsByType, isRequired, pathParse, pathsEqual, runRecursively, sanitizeHTML, sanitizeImageSource, schemaVersion };
|
|
7024
|
+
export { Button, Checkbox, Checklist, ConditionChecker, DATETIME_SUBTYPES, DATETIME_SUBTYPES_LABELS, DATETIME_SUBTYPE_PATH, DATE_DISALLOW_PAST_PATH, DATE_LABEL_PATH, Datetime, FormComponent$1 as Default, Description, Errors, ExpressionLanguageModule, FeelExpressionLanguage, FeelersTemplating, FieldFactory, Form, FormComponent, FormContext$1 as FormContext, FormField, FormFieldRegistry, FormFields, FormLayouter, FormRenderContext$1 as FormRenderContext, Group, IFrame, Image, Importer, Label, MINUTES_IN_DAY, MarkdownModule, MarkdownRenderer, Numberfield, PathRegistry, Radio, Select, Separator, Spacer, TIME_INTERVAL_PATH, TIME_LABEL_PATH, TIME_SERIALISINGFORMAT_LABELS, TIME_SERIALISING_FORMATS, TIME_SERIALISING_FORMAT_PATH, TIME_USE24H_PATH, Taglist, Text, Textarea, Textfield, VALUES_SOURCES, VALUES_SOURCES_DEFAULTS, VALUES_SOURCES_LABELS, VALUES_SOURCES_PATHS, VALUES_SOURCE_DEFAULT, ViewerCommands, ViewerCommandsModule, clone, createForm, createFormContainer, createInjector, formFields, generateIdForType, generateIndexForType, getSchemaVariables, getValuesSource, iconsByType, isRequired, pathParse, pathsEqual, runRecursively, sanitizeHTML, sanitizeIFrameSource, sanitizeImageSource, schemaVersion, useExpressionEvaluation, useSingleLineTemplateEvaluation, useTemplateEvaluation };
|
|
6868
7025
|
//# sourceMappingURL=index.es.js.map
|