@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.cjs
CHANGED
|
@@ -445,7 +445,7 @@ function prefixId(id, formId) {
|
|
|
445
445
|
return `fjs-form-${id}`;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
-
const type$
|
|
448
|
+
const type$e = 'button';
|
|
449
449
|
function Button(props) {
|
|
450
450
|
const {
|
|
451
451
|
disabled,
|
|
@@ -457,7 +457,7 @@ function Button(props) {
|
|
|
457
457
|
action = 'submit'
|
|
458
458
|
} = field;
|
|
459
459
|
return jsxRuntime.jsx("div", {
|
|
460
|
-
class: formFieldClasses(type$
|
|
460
|
+
class: formFieldClasses(type$e),
|
|
461
461
|
children: jsxRuntime.jsx("button", {
|
|
462
462
|
class: "fjs-button",
|
|
463
463
|
type: action,
|
|
@@ -469,7 +469,7 @@ function Button(props) {
|
|
|
469
469
|
});
|
|
470
470
|
}
|
|
471
471
|
Button.config = {
|
|
472
|
-
type: type$
|
|
472
|
+
type: type$e,
|
|
473
473
|
keyed: false,
|
|
474
474
|
label: 'Button',
|
|
475
475
|
group: 'action',
|
|
@@ -767,7 +767,7 @@ function Label(props) {
|
|
|
767
767
|
});
|
|
768
768
|
}
|
|
769
769
|
|
|
770
|
-
const type$
|
|
770
|
+
const type$d = 'checkbox';
|
|
771
771
|
function Checkbox(props) {
|
|
772
772
|
const {
|
|
773
773
|
disabled,
|
|
@@ -800,7 +800,7 @@ function Checkbox(props) {
|
|
|
800
800
|
} = hooks.useContext(FormContext$1);
|
|
801
801
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
802
802
|
return jsxRuntime.jsxs("div", {
|
|
803
|
-
class: classNames(formFieldClasses(type$
|
|
803
|
+
class: classNames(formFieldClasses(type$d, {
|
|
804
804
|
errors,
|
|
805
805
|
disabled,
|
|
806
806
|
readonly
|
|
@@ -832,7 +832,7 @@ function Checkbox(props) {
|
|
|
832
832
|
});
|
|
833
833
|
}
|
|
834
834
|
Checkbox.config = {
|
|
835
|
-
type: type$
|
|
835
|
+
type: type$d,
|
|
836
836
|
keyed: true,
|
|
837
837
|
label: 'Checkbox',
|
|
838
838
|
group: 'selection',
|
|
@@ -846,54 +846,54 @@ Checkbox.config = {
|
|
|
846
846
|
};
|
|
847
847
|
|
|
848
848
|
// parses the options data from the provided form field and form data
|
|
849
|
-
function
|
|
849
|
+
function getOptionsData(formField, formData) {
|
|
850
850
|
const {
|
|
851
|
-
valuesKey,
|
|
852
|
-
values
|
|
851
|
+
valuesKey: optionsKey,
|
|
852
|
+
values: staticOptions
|
|
853
853
|
} = formField;
|
|
854
|
-
return
|
|
854
|
+
return optionsKey ? minDash.get(formData, [optionsKey]) : staticOptions;
|
|
855
855
|
}
|
|
856
856
|
|
|
857
857
|
// transforms the provided options into a normalized format, trimming invalid options
|
|
858
|
-
function
|
|
859
|
-
return
|
|
858
|
+
function normalizeOptionsData(optionsData) {
|
|
859
|
+
return optionsData.filter(_isOptionSomething).map(v => _normalizeOptionsData(v)).filter(v => v);
|
|
860
860
|
}
|
|
861
|
-
function
|
|
862
|
-
if (
|
|
861
|
+
function _normalizeOptionsData(optionData) {
|
|
862
|
+
if (_isAllowedOption(optionData)) {
|
|
863
863
|
// if a primitive is provided, use it as label and value
|
|
864
864
|
return {
|
|
865
|
-
value:
|
|
866
|
-
label: `${
|
|
865
|
+
value: optionData,
|
|
866
|
+
label: `${optionData}`
|
|
867
867
|
};
|
|
868
868
|
}
|
|
869
|
-
if (typeof
|
|
870
|
-
if (!
|
|
869
|
+
if (typeof optionData === 'object') {
|
|
870
|
+
if (!optionData.label && _isAllowedOption(optionData.value)) {
|
|
871
871
|
// if no label is provided, use the value as label
|
|
872
872
|
return {
|
|
873
|
-
value:
|
|
874
|
-
label: `${
|
|
873
|
+
value: optionData.value,
|
|
874
|
+
label: `${optionData.value}`
|
|
875
875
|
};
|
|
876
876
|
}
|
|
877
|
-
if (
|
|
877
|
+
if (_isOptionSomething(optionData.value) && _isAllowedOption(optionData.label)) {
|
|
878
878
|
// if both value and label are provided, use them as is, in this scenario, the value may also be an object
|
|
879
|
-
return
|
|
879
|
+
return optionData;
|
|
880
880
|
}
|
|
881
881
|
}
|
|
882
882
|
return null;
|
|
883
883
|
}
|
|
884
|
-
function
|
|
885
|
-
return _isReadableType(
|
|
884
|
+
function _isAllowedOption(option) {
|
|
885
|
+
return _isReadableType(option) && _isOptionSomething(option);
|
|
886
886
|
}
|
|
887
|
-
function _isReadableType(
|
|
888
|
-
return ['number', 'string', 'boolean'].includes(typeof
|
|
887
|
+
function _isReadableType(option) {
|
|
888
|
+
return ['number', 'string', 'boolean'].includes(typeof option);
|
|
889
889
|
}
|
|
890
|
-
function
|
|
891
|
-
return
|
|
890
|
+
function _isOptionSomething(option) {
|
|
891
|
+
return option || option === 0 || option === false;
|
|
892
892
|
}
|
|
893
893
|
function createEmptyOptions(options = {}) {
|
|
894
894
|
const defaults = {};
|
|
895
895
|
|
|
896
|
-
// provide default
|
|
896
|
+
// provide default options if valuesKey and valuesExpression are not set
|
|
897
897
|
if (!options.valuesKey && !options.valuesExpression) {
|
|
898
898
|
defaults.values = [{
|
|
899
899
|
label: 'Value',
|
|
@@ -916,72 +916,96 @@ const LOAD_STATES = {
|
|
|
916
916
|
};
|
|
917
917
|
|
|
918
918
|
/**
|
|
919
|
-
* @typedef {Object}
|
|
920
|
-
* @property {Object[]}
|
|
921
|
-
* @property {(LOAD_STATES)}
|
|
919
|
+
* @typedef {Object} OptionsGetter
|
|
920
|
+
* @property {Object[]} options - The options data
|
|
921
|
+
* @property {(LOAD_STATES)} loadState - The options data's loading state, to use for conditional rendering
|
|
922
922
|
*/
|
|
923
923
|
|
|
924
924
|
/**
|
|
925
|
-
* A hook to load
|
|
925
|
+
* A hook to load options for single and multiselect components.
|
|
926
926
|
*
|
|
927
|
-
* @param {Object} field - The form field to handle
|
|
928
|
-
* @return {
|
|
927
|
+
* @param {Object} field - The form field to handle options for
|
|
928
|
+
* @return {OptionsGetter} optionsGetter - A options getter object providing loading state and options
|
|
929
929
|
*/
|
|
930
|
-
function
|
|
930
|
+
function useOptionsAsync (field) {
|
|
931
931
|
const {
|
|
932
|
-
valuesExpression,
|
|
933
|
-
valuesKey,
|
|
934
|
-
values:
|
|
932
|
+
valuesExpression: optionsExpression,
|
|
933
|
+
valuesKey: optionsKey,
|
|
934
|
+
values: staticOptions
|
|
935
935
|
} = field;
|
|
936
|
-
const [
|
|
937
|
-
|
|
936
|
+
const [optionsGetter, setOptionsGetter] = hooks.useState({
|
|
937
|
+
options: [],
|
|
938
938
|
error: undefined,
|
|
939
|
-
|
|
939
|
+
loadState: LOAD_STATES.LOADING
|
|
940
940
|
});
|
|
941
941
|
const initialData = useService('form')._getState().initialData;
|
|
942
|
-
const expressionEvaluation = useExpressionEvaluation(
|
|
943
|
-
const
|
|
942
|
+
const expressionEvaluation = useExpressionEvaluation(optionsExpression);
|
|
943
|
+
const evaluatedOptions = useDeepCompareState(expressionEvaluation || [], []);
|
|
944
944
|
hooks.useEffect(() => {
|
|
945
|
-
let
|
|
945
|
+
let options = [];
|
|
946
946
|
|
|
947
|
-
// dynamic
|
|
948
|
-
if (
|
|
949
|
-
const
|
|
950
|
-
if (
|
|
951
|
-
|
|
947
|
+
// dynamic options
|
|
948
|
+
if (optionsKey !== undefined) {
|
|
949
|
+
const keyedOptions = (initialData || {})[optionsKey];
|
|
950
|
+
if (keyedOptions && Array.isArray(keyedOptions)) {
|
|
951
|
+
options = keyedOptions;
|
|
952
952
|
}
|
|
953
953
|
|
|
954
|
-
// static
|
|
955
|
-
} else if (
|
|
956
|
-
|
|
954
|
+
// static options
|
|
955
|
+
} else if (staticOptions !== undefined) {
|
|
956
|
+
options = Array.isArray(staticOptions) ? staticOptions : [];
|
|
957
957
|
|
|
958
958
|
// expression
|
|
959
|
-
} else if (
|
|
960
|
-
if (
|
|
961
|
-
|
|
959
|
+
} else if (optionsExpression) {
|
|
960
|
+
if (evaluatedOptions && Array.isArray(evaluatedOptions)) {
|
|
961
|
+
options = evaluatedOptions;
|
|
962
962
|
}
|
|
963
963
|
} else {
|
|
964
|
-
|
|
964
|
+
setOptionsGetter(buildErrorState('No options source defined in the form definition'));
|
|
965
965
|
return;
|
|
966
966
|
}
|
|
967
967
|
|
|
968
968
|
// normalize data to support primitives and partially defined objects
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
}, [
|
|
972
|
-
return
|
|
969
|
+
options = normalizeOptionsData(options);
|
|
970
|
+
setOptionsGetter(buildLoadedState(options));
|
|
971
|
+
}, [optionsKey, staticOptions, initialData, optionsExpression, evaluatedOptions]);
|
|
972
|
+
return optionsGetter;
|
|
973
973
|
}
|
|
974
974
|
const buildErrorState = error => ({
|
|
975
|
-
|
|
975
|
+
options: [],
|
|
976
976
|
error,
|
|
977
|
-
|
|
977
|
+
loadState: LOAD_STATES.ERROR
|
|
978
978
|
});
|
|
979
|
-
const buildLoadedState =
|
|
980
|
-
|
|
979
|
+
const buildLoadedState = options => ({
|
|
980
|
+
options,
|
|
981
981
|
error: undefined,
|
|
982
|
-
|
|
982
|
+
loadState: LOAD_STATES.LOADED
|
|
983
983
|
});
|
|
984
984
|
|
|
985
|
+
function useCleanupMultiSelectValues (props) {
|
|
986
|
+
const {
|
|
987
|
+
field,
|
|
988
|
+
options,
|
|
989
|
+
loadState,
|
|
990
|
+
onChange,
|
|
991
|
+
values
|
|
992
|
+
} = props;
|
|
993
|
+
|
|
994
|
+
// Ensures that the values are always a subset of the possible options
|
|
995
|
+
hooks.useEffect(() => {
|
|
996
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
997
|
+
return;
|
|
998
|
+
}
|
|
999
|
+
const hasValuesNotInOptions = values.some(v => !options.map(o => o.value).includes(v));
|
|
1000
|
+
if (hasValuesNotInOptions) {
|
|
1001
|
+
onChange({
|
|
1002
|
+
field,
|
|
1003
|
+
value: values.filter(v => options.map(o => o.value).includes(v))
|
|
1004
|
+
});
|
|
1005
|
+
}
|
|
1006
|
+
}, [field, options, onChange, JSON.stringify(values), loadState]);
|
|
1007
|
+
}
|
|
1008
|
+
|
|
985
1009
|
// config ///////////////////
|
|
986
1010
|
|
|
987
1011
|
const MINUTES_IN_DAY = 60 * 24;
|
|
@@ -1195,7 +1219,7 @@ function sanitizeSingleSelectValue(options) {
|
|
|
1195
1219
|
value
|
|
1196
1220
|
} = options;
|
|
1197
1221
|
try {
|
|
1198
|
-
const validValues =
|
|
1222
|
+
const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
|
|
1199
1223
|
return validValues.includes(value) ? value : null;
|
|
1200
1224
|
} catch (error) {
|
|
1201
1225
|
// use default value in case of formatting error
|
|
@@ -1210,7 +1234,7 @@ function sanitizeMultiSelectValue(options) {
|
|
|
1210
1234
|
value
|
|
1211
1235
|
} = options;
|
|
1212
1236
|
try {
|
|
1213
|
-
const validValues =
|
|
1237
|
+
const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
|
|
1214
1238
|
return value.filter(v => validValues.includes(v));
|
|
1215
1239
|
} catch (error) {
|
|
1216
1240
|
// use default value in case of formatting error
|
|
@@ -1219,7 +1243,7 @@ function sanitizeMultiSelectValue(options) {
|
|
|
1219
1243
|
}
|
|
1220
1244
|
}
|
|
1221
1245
|
|
|
1222
|
-
const type$
|
|
1246
|
+
const type$c = 'checklist';
|
|
1223
1247
|
function Checklist(props) {
|
|
1224
1248
|
const {
|
|
1225
1249
|
disabled,
|
|
@@ -1228,7 +1252,7 @@ function Checklist(props) {
|
|
|
1228
1252
|
onFocus,
|
|
1229
1253
|
field,
|
|
1230
1254
|
readonly,
|
|
1231
|
-
value = []
|
|
1255
|
+
value: values = []
|
|
1232
1256
|
} = props;
|
|
1233
1257
|
const {
|
|
1234
1258
|
description,
|
|
@@ -1241,7 +1265,7 @@ function Checklist(props) {
|
|
|
1241
1265
|
required
|
|
1242
1266
|
} = validate;
|
|
1243
1267
|
const toggleCheckbox = v => {
|
|
1244
|
-
let newValue = [...
|
|
1268
|
+
let newValue = [...values];
|
|
1245
1269
|
if (!newValue.includes(v)) {
|
|
1246
1270
|
newValue.push(v);
|
|
1247
1271
|
} else {
|
|
@@ -1265,15 +1289,22 @@ function Checklist(props) {
|
|
|
1265
1289
|
onFocus && onFocus();
|
|
1266
1290
|
};
|
|
1267
1291
|
const {
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
} =
|
|
1292
|
+
loadState,
|
|
1293
|
+
options
|
|
1294
|
+
} = useOptionsAsync(field);
|
|
1295
|
+
useCleanupMultiSelectValues({
|
|
1296
|
+
field,
|
|
1297
|
+
loadState,
|
|
1298
|
+
options,
|
|
1299
|
+
values,
|
|
1300
|
+
onChange: props.onChange
|
|
1301
|
+
});
|
|
1271
1302
|
const {
|
|
1272
1303
|
formId
|
|
1273
1304
|
} = hooks.useContext(FormContext$1);
|
|
1274
1305
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
1275
1306
|
return jsxRuntime.jsxs("div", {
|
|
1276
|
-
class: classNames(formFieldClasses(type$
|
|
1307
|
+
class: classNames(formFieldClasses(type$c, {
|
|
1277
1308
|
errors,
|
|
1278
1309
|
disabled,
|
|
1279
1310
|
readonly
|
|
@@ -1287,11 +1318,11 @@ function Checklist(props) {
|
|
|
1287
1318
|
id: prefixId(`${id}-${index}`, formId),
|
|
1288
1319
|
label: v.label,
|
|
1289
1320
|
class: classNames({
|
|
1290
|
-
'fjs-checked':
|
|
1321
|
+
'fjs-checked': values.includes(v.value)
|
|
1291
1322
|
}),
|
|
1292
1323
|
required: false,
|
|
1293
1324
|
children: jsxRuntime.jsx("input", {
|
|
1294
|
-
checked:
|
|
1325
|
+
checked: values.includes(v.value),
|
|
1295
1326
|
class: "fjs-input",
|
|
1296
1327
|
disabled: disabled,
|
|
1297
1328
|
readOnly: readonly,
|
|
@@ -1312,9 +1343,9 @@ function Checklist(props) {
|
|
|
1312
1343
|
});
|
|
1313
1344
|
}
|
|
1314
1345
|
Checklist.config = {
|
|
1315
|
-
type: type$
|
|
1346
|
+
type: type$c,
|
|
1316
1347
|
keyed: true,
|
|
1317
|
-
label: '
|
|
1348
|
+
label: 'Checkbox group',
|
|
1318
1349
|
group: 'selection',
|
|
1319
1350
|
emptyValue: [],
|
|
1320
1351
|
sanitizeValue: sanitizeMultiSelectValue,
|
|
@@ -1464,16 +1495,16 @@ FormComponent$1.config = {
|
|
|
1464
1495
|
})
|
|
1465
1496
|
};
|
|
1466
1497
|
|
|
1467
|
-
var _path$
|
|
1468
|
-
function _extends$
|
|
1498
|
+
var _path$k;
|
|
1499
|
+
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); }
|
|
1469
1500
|
var SvgCalendar = function SvgCalendar(props) {
|
|
1470
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1501
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$m({
|
|
1471
1502
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1472
1503
|
width: 14,
|
|
1473
1504
|
height: 15,
|
|
1474
1505
|
fill: "none",
|
|
1475
1506
|
viewBox: "0 0 28 30"
|
|
1476
|
-
}, props), _path$
|
|
1507
|
+
}, props), _path$k || (_path$k = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1477
1508
|
fill: "currentColor",
|
|
1478
1509
|
fillRule: "evenodd",
|
|
1479
1510
|
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",
|
|
@@ -1736,19 +1767,19 @@ function Datepicker(props) {
|
|
|
1736
1767
|
});
|
|
1737
1768
|
}
|
|
1738
1769
|
|
|
1739
|
-
var _path$
|
|
1740
|
-
function _extends$
|
|
1770
|
+
var _path$j, _path2$4;
|
|
1771
|
+
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); }
|
|
1741
1772
|
var SvgClock = function SvgClock(props) {
|
|
1742
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1773
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$l({
|
|
1743
1774
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1744
1775
|
width: 16,
|
|
1745
1776
|
height: 16,
|
|
1746
1777
|
fill: "none",
|
|
1747
1778
|
viewBox: "0 0 28 29"
|
|
1748
|
-
}, props), _path$
|
|
1779
|
+
}, props), _path$j || (_path$j = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1749
1780
|
fill: "currentColor",
|
|
1750
1781
|
d: "M13 14.41 18.59 20 20 18.59l-5-5.01V5h-2v9.41Z"
|
|
1751
|
-
})), _path2$
|
|
1782
|
+
})), _path2$4 || (_path2$4 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1752
1783
|
fill: "currentColor",
|
|
1753
1784
|
fillRule: "evenodd",
|
|
1754
1785
|
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",
|
|
@@ -2019,7 +2050,7 @@ function Timepicker(props) {
|
|
|
2019
2050
|
});
|
|
2020
2051
|
}
|
|
2021
2052
|
|
|
2022
|
-
const type$
|
|
2053
|
+
const type$b = 'datetime';
|
|
2023
2054
|
function Datetime(props) {
|
|
2024
2055
|
const {
|
|
2025
2056
|
disabled,
|
|
@@ -2191,7 +2222,7 @@ function Datetime(props) {
|
|
|
2191
2222
|
'aria-describedby': errorMessageId
|
|
2192
2223
|
};
|
|
2193
2224
|
return jsxRuntime.jsxs("div", {
|
|
2194
|
-
class: formFieldClasses(type$
|
|
2225
|
+
class: formFieldClasses(type$b, {
|
|
2195
2226
|
errors: allErrors,
|
|
2196
2227
|
disabled,
|
|
2197
2228
|
readonly
|
|
@@ -2215,7 +2246,7 @@ function Datetime(props) {
|
|
|
2215
2246
|
});
|
|
2216
2247
|
}
|
|
2217
2248
|
Datetime.config = {
|
|
2218
|
-
type: type$
|
|
2249
|
+
type: type$b,
|
|
2219
2250
|
keyed: true,
|
|
2220
2251
|
label: 'Date time',
|
|
2221
2252
|
group: 'basic-input',
|
|
@@ -2395,7 +2426,7 @@ Group.config = {
|
|
|
2395
2426
|
type: 'group',
|
|
2396
2427
|
pathed: true,
|
|
2397
2428
|
label: 'Group',
|
|
2398
|
-
group: '
|
|
2429
|
+
group: 'container',
|
|
2399
2430
|
create: (options = {}) => ({
|
|
2400
2431
|
components: [],
|
|
2401
2432
|
showOutline: true,
|
|
@@ -2409,6 +2440,7 @@ const ALLOWED_NODES = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'em', 'a', 'p
|
|
|
2409
2440
|
const ALLOWED_ATTRIBUTES = ['align', 'alt', 'class', 'href', 'id', 'name', 'rel', 'target', 'src'];
|
|
2410
2441
|
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
|
|
2411
2442
|
const ALLOWED_IMAGE_SRC_PATTERN = /^(https?|data):.*/i; // eslint-disable-line no-useless-escape
|
|
2443
|
+
const ALLOWED_IFRAME_SRC_PATTERN = /^(https):\/\/*/i; // eslint-disable-line no-useless-escape
|
|
2412
2444
|
const ATTR_WHITESPACE_PATTERN = /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g; // eslint-disable-line no-control-regex
|
|
2413
2445
|
|
|
2414
2446
|
const FORM_ELEMENT = document.createElement('form');
|
|
@@ -2449,6 +2481,18 @@ function sanitizeImageSource(src) {
|
|
|
2449
2481
|
return valid ? src : '';
|
|
2450
2482
|
}
|
|
2451
2483
|
|
|
2484
|
+
/**
|
|
2485
|
+
* Sanitizes an iframe source to ensure we only allow for links
|
|
2486
|
+
* that start with http(s).
|
|
2487
|
+
*
|
|
2488
|
+
* @param {string} src
|
|
2489
|
+
* @returns {string}
|
|
2490
|
+
*/
|
|
2491
|
+
function sanitizeIFrameSource(src) {
|
|
2492
|
+
const valid = ALLOWED_IFRAME_SRC_PATTERN.test(src);
|
|
2493
|
+
return valid ? src : '';
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2452
2496
|
/**
|
|
2453
2497
|
* Recursively sanitize a HTML node, potentially
|
|
2454
2498
|
* removing it, its children or attributes.
|
|
@@ -2530,9 +2574,77 @@ function isValidAttribute(lcTag, lcName, value) {
|
|
|
2530
2574
|
return true;
|
|
2531
2575
|
}
|
|
2532
2576
|
|
|
2533
|
-
|
|
2577
|
+
const type$a = 'iframe';
|
|
2578
|
+
const DEFAULT_HEIGHT = 300;
|
|
2579
|
+
function IFrame(props) {
|
|
2580
|
+
const {
|
|
2581
|
+
field,
|
|
2582
|
+
disabled,
|
|
2583
|
+
readonly
|
|
2584
|
+
} = props;
|
|
2585
|
+
const {
|
|
2586
|
+
height = DEFAULT_HEIGHT,
|
|
2587
|
+
id,
|
|
2588
|
+
label,
|
|
2589
|
+
url
|
|
2590
|
+
} = field;
|
|
2591
|
+
const evaluatedUrl = useSingleLineTemplateEvaluation(url, {
|
|
2592
|
+
debug: true
|
|
2593
|
+
});
|
|
2594
|
+
const safeUrl = hooks.useMemo(() => sanitizeIFrameSource(evaluatedUrl), [evaluatedUrl]);
|
|
2595
|
+
const evaluatedLabel = useSingleLineTemplateEvaluation(label, {
|
|
2596
|
+
debug: true
|
|
2597
|
+
});
|
|
2598
|
+
const {
|
|
2599
|
+
formId
|
|
2600
|
+
} = hooks.useContext(FormContext$1);
|
|
2601
|
+
return jsxRuntime.jsxs("div", {
|
|
2602
|
+
class: formFieldClasses(type$a, {
|
|
2603
|
+
disabled,
|
|
2604
|
+
readonly
|
|
2605
|
+
}),
|
|
2606
|
+
children: [jsxRuntime.jsx(Label, {
|
|
2607
|
+
id: prefixId(id, formId),
|
|
2608
|
+
label: evaluatedLabel
|
|
2609
|
+
}), !evaluatedUrl && jsxRuntime.jsx(IFramePlaceholder, {
|
|
2610
|
+
text: "No content to show."
|
|
2611
|
+
}), evaluatedUrl && safeUrl && jsxRuntime.jsx("iframe", {
|
|
2612
|
+
src: safeUrl,
|
|
2613
|
+
title: evaluatedLabel,
|
|
2614
|
+
height: height,
|
|
2615
|
+
class: "fjs-iframe",
|
|
2616
|
+
id: prefixId(id, formId),
|
|
2617
|
+
sandbox: ""
|
|
2618
|
+
}), evaluatedUrl && !safeUrl && jsxRuntime.jsx(IFramePlaceholder, {
|
|
2619
|
+
text: "External content couldn't be loaded."
|
|
2620
|
+
})]
|
|
2621
|
+
});
|
|
2622
|
+
}
|
|
2623
|
+
function IFramePlaceholder(props) {
|
|
2624
|
+
const {
|
|
2625
|
+
text = 'iFrame'
|
|
2626
|
+
} = props;
|
|
2627
|
+
return jsxRuntime.jsx("div", {
|
|
2628
|
+
class: "fjs-iframe-placeholder",
|
|
2629
|
+
children: jsxRuntime.jsx("p", {
|
|
2630
|
+
class: "fjs-iframe-placeholder-text",
|
|
2631
|
+
children: text
|
|
2632
|
+
})
|
|
2633
|
+
});
|
|
2634
|
+
}
|
|
2635
|
+
IFrame.config = {
|
|
2636
|
+
type: type$a,
|
|
2637
|
+
keyed: false,
|
|
2638
|
+
label: 'iFrame',
|
|
2639
|
+
group: 'container',
|
|
2640
|
+
create: (options = {}) => ({
|
|
2641
|
+
...options
|
|
2642
|
+
})
|
|
2643
|
+
};
|
|
2644
|
+
|
|
2645
|
+
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); }
|
|
2534
2646
|
var SvgImagePlaceholder = function SvgImagePlaceholder(props) {
|
|
2535
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2647
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
|
|
2536
2648
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2537
2649
|
xmlSpace: "preserve",
|
|
2538
2650
|
width: 64,
|
|
@@ -2637,14 +2749,14 @@ function TemplatedInputAdorner(props) {
|
|
|
2637
2749
|
});
|
|
2638
2750
|
}
|
|
2639
2751
|
|
|
2640
|
-
var _path$
|
|
2641
|
-
function _extends$
|
|
2752
|
+
var _path$i;
|
|
2753
|
+
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); }
|
|
2642
2754
|
var SvgAngelDown = function SvgAngelDown(props) {
|
|
2643
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2755
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
|
|
2644
2756
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2645
2757
|
width: 8,
|
|
2646
2758
|
height: 8
|
|
2647
|
-
}, props), _path$
|
|
2759
|
+
}, props), _path$i || (_path$i = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2648
2760
|
fill: "currentColor",
|
|
2649
2761
|
fillRule: "evenodd",
|
|
2650
2762
|
stroke: "currentColor",
|
|
@@ -2655,14 +2767,14 @@ var SvgAngelDown = function SvgAngelDown(props) {
|
|
|
2655
2767
|
};
|
|
2656
2768
|
var AngelDownIcon = SvgAngelDown;
|
|
2657
2769
|
|
|
2658
|
-
var _path$
|
|
2659
|
-
function _extends$
|
|
2770
|
+
var _path$h;
|
|
2771
|
+
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); }
|
|
2660
2772
|
var SvgAngelUp = function SvgAngelUp(props) {
|
|
2661
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2773
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$i({
|
|
2662
2774
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2663
2775
|
width: 8,
|
|
2664
2776
|
height: 8
|
|
2665
|
-
}, props), _path$
|
|
2777
|
+
}, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2666
2778
|
fill: "currentColor",
|
|
2667
2779
|
fillRule: "evenodd",
|
|
2668
2780
|
stroke: "currentColor",
|
|
@@ -2919,13 +3031,10 @@ Numberfield.config = {
|
|
|
2919
3031
|
value,
|
|
2920
3032
|
formField
|
|
2921
3033
|
}) => {
|
|
2922
|
-
//
|
|
2923
|
-
if (isNullEquivalentValue(value)) return null;
|
|
3034
|
+
// invalid value types are sanitized to null
|
|
3035
|
+
if (isNullEquivalentValue(value) || !isValidNumber(value)) return null;
|
|
2924
3036
|
|
|
2925
|
-
//
|
|
2926
|
-
if (!isValidNumber(value)) return 'NaN';
|
|
2927
|
-
|
|
2928
|
-
// otherwise parse to formatting type
|
|
3037
|
+
// otherwise, we return a string or a number depending on the form field configuration
|
|
2929
3038
|
return formField.serializeToString ? value.toString() : Number(value);
|
|
2930
3039
|
},
|
|
2931
3040
|
create: (options = {}) => ({
|
|
@@ -2933,6 +3042,30 @@ Numberfield.config = {
|
|
|
2933
3042
|
})
|
|
2934
3043
|
};
|
|
2935
3044
|
|
|
3045
|
+
function useCleanupSingleSelectValue (props) {
|
|
3046
|
+
const {
|
|
3047
|
+
field,
|
|
3048
|
+
options,
|
|
3049
|
+
loadState,
|
|
3050
|
+
onChange,
|
|
3051
|
+
value
|
|
3052
|
+
} = props;
|
|
3053
|
+
|
|
3054
|
+
// Ensures that the value is always one of the possible options
|
|
3055
|
+
hooks.useEffect(() => {
|
|
3056
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
3057
|
+
return;
|
|
3058
|
+
}
|
|
3059
|
+
const hasValueNotInOptions = value && !options.map(o => o.value).includes(value);
|
|
3060
|
+
if (hasValueNotInOptions) {
|
|
3061
|
+
onChange({
|
|
3062
|
+
field,
|
|
3063
|
+
value: null
|
|
3064
|
+
});
|
|
3065
|
+
}
|
|
3066
|
+
}, [field, options, onChange, value, loadState]);
|
|
3067
|
+
}
|
|
3068
|
+
|
|
2936
3069
|
const type$7 = 'radio';
|
|
2937
3070
|
function Radio(props) {
|
|
2938
3071
|
const {
|
|
@@ -2973,9 +3106,16 @@ function Radio(props) {
|
|
|
2973
3106
|
onFocus && onFocus();
|
|
2974
3107
|
};
|
|
2975
3108
|
const {
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
} =
|
|
3109
|
+
loadState,
|
|
3110
|
+
options
|
|
3111
|
+
} = useOptionsAsync(field);
|
|
3112
|
+
useCleanupSingleSelectValue({
|
|
3113
|
+
field,
|
|
3114
|
+
loadState,
|
|
3115
|
+
options,
|
|
3116
|
+
value,
|
|
3117
|
+
onChange: props.onChange
|
|
3118
|
+
});
|
|
2979
3119
|
const {
|
|
2980
3120
|
formId
|
|
2981
3121
|
} = hooks.useContext(FormContext$1);
|
|
@@ -3022,21 +3162,21 @@ function Radio(props) {
|
|
|
3022
3162
|
Radio.config = {
|
|
3023
3163
|
type: type$7,
|
|
3024
3164
|
keyed: true,
|
|
3025
|
-
label: 'Radio',
|
|
3165
|
+
label: 'Radio group',
|
|
3026
3166
|
group: 'selection',
|
|
3027
3167
|
emptyValue: null,
|
|
3028
3168
|
sanitizeValue: sanitizeSingleSelectValue,
|
|
3029
3169
|
create: createEmptyOptions
|
|
3030
3170
|
};
|
|
3031
3171
|
|
|
3032
|
-
var _path$
|
|
3033
|
-
function _extends$
|
|
3172
|
+
var _path$g;
|
|
3173
|
+
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); }
|
|
3034
3174
|
var SvgXMark = function SvgXMark(props) {
|
|
3035
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3175
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$h({
|
|
3036
3176
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3037
3177
|
width: 8,
|
|
3038
3178
|
height: 8
|
|
3039
|
-
}, props), _path$
|
|
3179
|
+
}, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3040
3180
|
fill: "currentColor",
|
|
3041
3181
|
fillRule: "evenodd",
|
|
3042
3182
|
stroke: "currentColor",
|
|
@@ -3068,9 +3208,16 @@ function SearchableSelect(props) {
|
|
|
3068
3208
|
const searchbarRef = hooks.useRef();
|
|
3069
3209
|
const eventBus = useService('eventBus');
|
|
3070
3210
|
const {
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
} =
|
|
3211
|
+
loadState,
|
|
3212
|
+
options
|
|
3213
|
+
} = useOptionsAsync(field);
|
|
3214
|
+
useCleanupSingleSelectValue({
|
|
3215
|
+
field,
|
|
3216
|
+
loadState,
|
|
3217
|
+
options,
|
|
3218
|
+
value,
|
|
3219
|
+
onChange: props.onChange
|
|
3220
|
+
});
|
|
3074
3221
|
|
|
3075
3222
|
// 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
|
|
3076
3223
|
const valueToOptionMap = hooks.useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
@@ -3230,9 +3377,16 @@ function SimpleSelect(props) {
|
|
|
3230
3377
|
const selectRef = hooks.useRef();
|
|
3231
3378
|
const inputRef = hooks.useRef();
|
|
3232
3379
|
const {
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
} =
|
|
3380
|
+
loadState,
|
|
3381
|
+
options
|
|
3382
|
+
} = useOptionsAsync(field);
|
|
3383
|
+
useCleanupSingleSelectValue({
|
|
3384
|
+
field,
|
|
3385
|
+
loadState,
|
|
3386
|
+
options,
|
|
3387
|
+
value,
|
|
3388
|
+
onChange: props.onChange
|
|
3389
|
+
});
|
|
3236
3390
|
|
|
3237
3391
|
// 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
|
|
3238
3392
|
const valueToOptionMap = hooks.useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
@@ -3494,34 +3648,36 @@ function Taglist(props) {
|
|
|
3494
3648
|
} = hooks.useContext(FormContext$1);
|
|
3495
3649
|
const errorMessageId = errors.length === 0 ? undefined : `${prefixId(id, formId)}-error-message`;
|
|
3496
3650
|
const [filter, setFilter] = hooks.useState('');
|
|
3497
|
-
const [filteredOptions, setFilteredOptions] = hooks.useState([]);
|
|
3498
3651
|
const [isDropdownExpanded, setIsDropdownExpanded] = hooks.useState(false);
|
|
3499
|
-
const [hasOptionsLeft, setHasOptionsLeft] = hooks.useState(true);
|
|
3500
3652
|
const [isEscapeClosed, setIsEscapeClose] = hooks.useState(false);
|
|
3501
3653
|
const focusScopeRef = hooks.useRef();
|
|
3502
3654
|
const inputRef = hooks.useRef();
|
|
3503
3655
|
const eventBus = useService('eventBus');
|
|
3504
3656
|
const {
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
} =
|
|
3657
|
+
loadState,
|
|
3658
|
+
options
|
|
3659
|
+
} = useOptionsAsync(field);
|
|
3660
|
+
useCleanupMultiSelectValues({
|
|
3661
|
+
field,
|
|
3662
|
+
loadState,
|
|
3663
|
+
options,
|
|
3664
|
+
values,
|
|
3665
|
+
onChange: props.onChange
|
|
3666
|
+
});
|
|
3508
3667
|
|
|
3509
3668
|
// 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
|
|
3510
3669
|
const valueToOptionMap = hooks.useMemo(() => Object.assign({}, ...options.map((o, x) => ({
|
|
3511
3670
|
[o.value]: options[x]
|
|
3512
3671
|
}))), [options]);
|
|
3672
|
+
const hasOptionsLeft = hooks.useMemo(() => options.length > values.length, [options.length, values.length]);
|
|
3513
3673
|
|
|
3514
3674
|
// Usage of stringify is necessary here because we want this effect to only trigger when there is a value change to the array
|
|
3515
|
-
hooks.
|
|
3516
|
-
if (loadState
|
|
3517
|
-
|
|
3518
|
-
} else {
|
|
3519
|
-
setFilteredOptions([]);
|
|
3675
|
+
const filteredOptions = hooks.useMemo(() => {
|
|
3676
|
+
if (loadState !== LOAD_STATES.LOADED) {
|
|
3677
|
+
return [];
|
|
3520
3678
|
}
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
setHasOptionsLeft(options.length > values.length);
|
|
3524
|
-
}, [options.length, values.length]);
|
|
3679
|
+
return options.filter(o => o.label && o.value && o.label.toLowerCase().includes(filter.toLowerCase()) && !values.includes(o.value));
|
|
3680
|
+
}, [filter, options, JSON.stringify(values), loadState]);
|
|
3525
3681
|
const selectValue = value => {
|
|
3526
3682
|
if (filter) {
|
|
3527
3683
|
setFilter('');
|
|
@@ -3648,7 +3804,7 @@ function Taglist(props) {
|
|
|
3648
3804
|
onMouseDown: e => e.preventDefault(),
|
|
3649
3805
|
children: [jsxRuntime.jsx("span", {
|
|
3650
3806
|
class: "fjs-taglist-tag-label",
|
|
3651
|
-
children: valueToOptionMap[v] ? valueToOptionMap[v].label :
|
|
3807
|
+
children: valueToOptionMap[v] ? valueToOptionMap[v].label : undefined
|
|
3652
3808
|
}), !disabled && !readonly && jsxRuntime.jsx("button", {
|
|
3653
3809
|
type: "button",
|
|
3654
3810
|
title: "Remove tag",
|
|
@@ -3869,7 +4025,7 @@ Textfield.config = {
|
|
|
3869
4025
|
sanitizeValue: ({
|
|
3870
4026
|
value
|
|
3871
4027
|
}) => {
|
|
3872
|
-
if (minDash.isArray(value) || minDash.isObject(value)) {
|
|
4028
|
+
if (minDash.isArray(value) || minDash.isObject(value) || minDash.isNil(value)) {
|
|
3873
4029
|
return '';
|
|
3874
4030
|
}
|
|
3875
4031
|
|
|
@@ -3960,7 +4116,7 @@ Textarea.config = {
|
|
|
3960
4116
|
emptyValue: '',
|
|
3961
4117
|
sanitizeValue: ({
|
|
3962
4118
|
value
|
|
3963
|
-
}) => minDash.isArray(value) || minDash.isObject(value) ? '' : String(value),
|
|
4119
|
+
}) => minDash.isArray(value) || minDash.isObject(value) || minDash.isNil(value) ? '' : String(value),
|
|
3964
4120
|
create: (options = {}) => ({
|
|
3965
4121
|
...options
|
|
3966
4122
|
})
|
|
@@ -3984,84 +4140,64 @@ const autoSizeTextarea = textarea => {
|
|
|
3984
4140
|
textarea.style.overflow = calculatedHeight > maxHeight ? 'visible' : 'hidden';
|
|
3985
4141
|
};
|
|
3986
4142
|
|
|
3987
|
-
var _path$
|
|
3988
|
-
function _extends$
|
|
4143
|
+
var _path$f;
|
|
4144
|
+
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); }
|
|
3989
4145
|
var SvgButton = function SvgButton(props) {
|
|
3990
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4146
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$g({
|
|
3991
4147
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3992
4148
|
width: 54,
|
|
3993
4149
|
height: 54,
|
|
3994
4150
|
fill: "currentcolor"
|
|
3995
|
-
}, props), _path$
|
|
4151
|
+
}, props), _path$f || (_path$f = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3996
4152
|
fillRule: "evenodd",
|
|
3997
4153
|
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"
|
|
3998
4154
|
})));
|
|
3999
4155
|
};
|
|
4000
4156
|
var ButtonIcon = SvgButton;
|
|
4001
4157
|
|
|
4002
|
-
var _path$
|
|
4003
|
-
function _extends$
|
|
4158
|
+
var _path$e;
|
|
4159
|
+
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); }
|
|
4004
4160
|
var SvgCheckbox = function SvgCheckbox(props) {
|
|
4005
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4161
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
|
|
4006
4162
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4007
4163
|
width: 54,
|
|
4008
4164
|
height: 54,
|
|
4009
4165
|
fill: "currentcolor"
|
|
4010
|
-
}, props), _path$
|
|
4166
|
+
}, props), _path$e || (_path$e = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4011
4167
|
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"
|
|
4012
4168
|
})));
|
|
4013
4169
|
};
|
|
4014
4170
|
var CheckboxIcon = SvgCheckbox;
|
|
4015
4171
|
|
|
4016
|
-
var
|
|
4017
|
-
function _extends$
|
|
4172
|
+
var _path$d;
|
|
4173
|
+
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); }
|
|
4018
4174
|
var SvgChecklist = function SvgChecklist(props) {
|
|
4019
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4175
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
|
|
4020
4176
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4021
|
-
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
4022
4177
|
width: 54,
|
|
4023
4178
|
height: 54,
|
|
4024
|
-
fill: "
|
|
4025
|
-
}, props),
|
|
4026
|
-
|
|
4027
|
-
|
|
4028
|
-
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
|
-
y: 24
|
|
4032
|
-
}), /*#__PURE__*/React__namespace.createElement("use", {
|
|
4033
|
-
xlinkHref: "#Checklist_svg__a",
|
|
4034
|
-
y: 12
|
|
4035
|
-
}))), _use || (_use = /*#__PURE__*/React__namespace.createElement("use", {
|
|
4036
|
-
xlinkHref: "#Checklist_svg__b"
|
|
4037
|
-
})), _use2 || (_use2 = /*#__PURE__*/React__namespace.createElement("use", {
|
|
4038
|
-
xlinkHref: "#Checklist_svg__b",
|
|
4039
|
-
y: 12
|
|
4040
|
-
})), _use3 || (_use3 = /*#__PURE__*/React__namespace.createElement("use", {
|
|
4041
|
-
xlinkHref: "#Checklist_svg__b",
|
|
4042
|
-
y: 24
|
|
4043
|
-
})), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("path", {
|
|
4044
|
-
id: "Checklist_svg__a",
|
|
4045
|
-
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"
|
|
4046
|
-
}), /*#__PURE__*/React__namespace.createElement("path", {
|
|
4047
|
-
id: "Checklist_svg__b",
|
|
4048
|
-
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"
|
|
4049
|
-
}))));
|
|
4179
|
+
fill: "none"
|
|
4180
|
+
}, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4181
|
+
fill: "currentColor",
|
|
4182
|
+
fillRule: "evenodd",
|
|
4183
|
+
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",
|
|
4184
|
+
clipRule: "evenodd"
|
|
4185
|
+
})));
|
|
4050
4186
|
};
|
|
4051
4187
|
var ChecklistIcon = SvgChecklist;
|
|
4052
4188
|
|
|
4053
|
-
var _path$
|
|
4054
|
-
function _extends$
|
|
4189
|
+
var _path$c, _path2$3, _path3;
|
|
4190
|
+
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); }
|
|
4055
4191
|
var SvgDatetime = function SvgDatetime(props) {
|
|
4056
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4192
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$d({
|
|
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$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4062
4198
|
fillRule: "evenodd",
|
|
4063
4199
|
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"
|
|
4064
|
-
})), _path2$
|
|
4200
|
+
})), _path2$3 || (_path2$3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4065
4201
|
d: "m35.13 37.603 1.237-1.237-3.468-3.475v-5.926h-1.754v6.654l3.984 3.984Z"
|
|
4066
4202
|
})), _path3 || (_path3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4067
4203
|
fillRule: "evenodd",
|
|
@@ -4070,27 +4206,27 @@ var SvgDatetime = function SvgDatetime(props) {
|
|
|
4070
4206
|
};
|
|
4071
4207
|
var DatetimeIcon = SvgDatetime;
|
|
4072
4208
|
|
|
4073
|
-
var _path$
|
|
4074
|
-
function _extends$
|
|
4209
|
+
var _path$b, _path2$2;
|
|
4210
|
+
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); }
|
|
4075
4211
|
var SvgTaglist = function SvgTaglist(props) {
|
|
4076
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4212
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
|
|
4077
4213
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4078
4214
|
width: 54,
|
|
4079
4215
|
height: 54,
|
|
4080
4216
|
fill: "currentcolor"
|
|
4081
|
-
}, props), _path$
|
|
4217
|
+
}, props), _path$b || (_path$b = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4082
4218
|
fillRule: "evenodd",
|
|
4083
4219
|
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"
|
|
4084
|
-
})), _path2$
|
|
4220
|
+
})), _path2$2 || (_path2$2 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4085
4221
|
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"
|
|
4086
4222
|
})));
|
|
4087
4223
|
};
|
|
4088
4224
|
var TaglistIcon = SvgTaglist;
|
|
4089
4225
|
|
|
4090
4226
|
var _rect, _rect2, _rect3;
|
|
4091
|
-
function _extends$
|
|
4227
|
+
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); }
|
|
4092
4228
|
var SvgForm = function SvgForm(props) {
|
|
4093
|
-
return /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4229
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$b({
|
|
4094
4230
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4095
4231
|
width: 54,
|
|
4096
4232
|
height: 54
|
|
@@ -4116,9 +4252,24 @@ var SvgForm = function SvgForm(props) {
|
|
|
4116
4252
|
};
|
|
4117
4253
|
var FormIcon = SvgForm;
|
|
4118
4254
|
|
|
4255
|
+
var _path$a;
|
|
4256
|
+
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); }
|
|
4257
|
+
var SvgGroup = function SvgGroup(props) {
|
|
4258
|
+
return /*#__PURE__*/React__namespace.createElement("svg", _extends$a({
|
|
4259
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4260
|
+
width: 54,
|
|
4261
|
+
height: 54,
|
|
4262
|
+
fill: "currentcolor"
|
|
4263
|
+
}, props), _path$a || (_path$a = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4264
|
+
fillRule: "evenodd",
|
|
4265
|
+
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"
|
|
4266
|
+
})));
|
|
4267
|
+
};
|
|
4268
|
+
var GroupIcon = SvgGroup;
|
|
4269
|
+
|
|
4119
4270
|
var _path$9;
|
|
4120
4271
|
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); }
|
|
4121
|
-
var
|
|
4272
|
+
var SvgNumber = function SvgNumber(props) {
|
|
4122
4273
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$9({
|
|
4123
4274
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4124
4275
|
width: 54,
|
|
@@ -4126,58 +4277,58 @@ var SvgGroup = function SvgGroup(props) {
|
|
|
4126
4277
|
fill: "currentcolor"
|
|
4127
4278
|
}, props), _path$9 || (_path$9 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4128
4279
|
fillRule: "evenodd",
|
|
4129
|
-
d: "
|
|
4280
|
+
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"
|
|
4130
4281
|
})));
|
|
4131
4282
|
};
|
|
4132
|
-
var
|
|
4283
|
+
var NumberIcon = SvgNumber;
|
|
4133
4284
|
|
|
4134
4285
|
var _path$8;
|
|
4135
4286
|
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); }
|
|
4136
|
-
var
|
|
4287
|
+
var SvgRadio = function SvgRadio(props) {
|
|
4137
4288
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$8({
|
|
4138
4289
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4139
4290
|
width: 54,
|
|
4140
4291
|
height: 54,
|
|
4141
4292
|
fill: "currentcolor"
|
|
4142
4293
|
}, props), _path$8 || (_path$8 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4143
|
-
|
|
4144
|
-
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"
|
|
4294
|
+
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"
|
|
4145
4295
|
})));
|
|
4146
4296
|
};
|
|
4147
|
-
var
|
|
4297
|
+
var RadioIcon = SvgRadio;
|
|
4148
4298
|
|
|
4149
4299
|
var _path$7;
|
|
4150
4300
|
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); }
|
|
4151
|
-
var
|
|
4301
|
+
var SvgSelect = function SvgSelect(props) {
|
|
4152
4302
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$7({
|
|
4153
4303
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4154
4304
|
width: 54,
|
|
4155
4305
|
height: 54,
|
|
4156
4306
|
fill: "currentcolor"
|
|
4157
4307
|
}, props), _path$7 || (_path$7 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4158
|
-
|
|
4308
|
+
fillRule: "evenodd",
|
|
4309
|
+
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"
|
|
4159
4310
|
})));
|
|
4160
4311
|
};
|
|
4161
|
-
var
|
|
4312
|
+
var SelectIcon = SvgSelect;
|
|
4162
4313
|
|
|
4163
4314
|
var _path$6;
|
|
4164
4315
|
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); }
|
|
4165
|
-
var
|
|
4316
|
+
var SvgSeparator = function SvgSeparator(props) {
|
|
4166
4317
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$6({
|
|
4167
4318
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4168
4319
|
width: 54,
|
|
4169
4320
|
height: 54,
|
|
4170
|
-
fill: "
|
|
4321
|
+
fill: "none"
|
|
4171
4322
|
}, props), _path$6 || (_path$6 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4172
|
-
|
|
4173
|
-
d: "
|
|
4323
|
+
fill: "currentColor",
|
|
4324
|
+
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"
|
|
4174
4325
|
})));
|
|
4175
4326
|
};
|
|
4176
|
-
var
|
|
4327
|
+
var SeparatorIcon = SvgSeparator;
|
|
4177
4328
|
|
|
4178
4329
|
var _path$5;
|
|
4179
4330
|
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); }
|
|
4180
|
-
var
|
|
4331
|
+
var SvgSpacer = function SvgSpacer(props) {
|
|
4181
4332
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$5({
|
|
4182
4333
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4183
4334
|
width: 54,
|
|
@@ -4185,43 +4336,43 @@ var SvgSeparator = function SvgSeparator(props) {
|
|
|
4185
4336
|
fill: "none"
|
|
4186
4337
|
}, props), _path$5 || (_path$5 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4187
4338
|
fill: "currentColor",
|
|
4188
|
-
d: "
|
|
4339
|
+
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"
|
|
4189
4340
|
})));
|
|
4190
4341
|
};
|
|
4191
|
-
var
|
|
4342
|
+
var SpacerIcon = SvgSpacer;
|
|
4192
4343
|
|
|
4193
4344
|
var _path$4;
|
|
4194
4345
|
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); }
|
|
4195
|
-
var
|
|
4346
|
+
var SvgText = function SvgText(props) {
|
|
4196
4347
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$4({
|
|
4197
4348
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4198
4349
|
width: 54,
|
|
4199
4350
|
height: 54,
|
|
4200
|
-
fill: "
|
|
4351
|
+
fill: "currentcolor"
|
|
4201
4352
|
}, props), _path$4 || (_path$4 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4202
|
-
|
|
4203
|
-
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"
|
|
4353
|
+
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"
|
|
4204
4354
|
})));
|
|
4205
4355
|
};
|
|
4206
|
-
var
|
|
4356
|
+
var TextIcon = SvgText;
|
|
4207
4357
|
|
|
4208
4358
|
var _path$3;
|
|
4209
4359
|
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); }
|
|
4210
|
-
var
|
|
4360
|
+
var SvgTextfield = function SvgTextfield(props) {
|
|
4211
4361
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$3({
|
|
4212
4362
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4213
4363
|
width: 54,
|
|
4214
4364
|
height: 54,
|
|
4215
4365
|
fill: "currentcolor"
|
|
4216
4366
|
}, props), _path$3 || (_path$3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4217
|
-
|
|
4367
|
+
fillRule: "evenodd",
|
|
4368
|
+
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"
|
|
4218
4369
|
})));
|
|
4219
4370
|
};
|
|
4220
|
-
var
|
|
4371
|
+
var TextfieldIcon = SvgTextfield;
|
|
4221
4372
|
|
|
4222
4373
|
var _path$2;
|
|
4223
4374
|
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); }
|
|
4224
|
-
var
|
|
4375
|
+
var SvgTextarea = function SvgTextarea(props) {
|
|
4225
4376
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$2({
|
|
4226
4377
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4227
4378
|
width: 54,
|
|
@@ -4229,25 +4380,30 @@ var SvgTextfield = function SvgTextfield(props) {
|
|
|
4229
4380
|
fill: "currentcolor"
|
|
4230
4381
|
}, props), _path$2 || (_path$2 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4231
4382
|
fillRule: "evenodd",
|
|
4232
|
-
d: "M45
|
|
4383
|
+
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"
|
|
4233
4384
|
})));
|
|
4234
4385
|
};
|
|
4235
|
-
var
|
|
4386
|
+
var TextareaIcon = SvgTextarea;
|
|
4236
4387
|
|
|
4237
|
-
var _path$1;
|
|
4388
|
+
var _path$1, _path2$1;
|
|
4238
4389
|
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); }
|
|
4239
|
-
var
|
|
4390
|
+
var SvgIFrame = function SvgIFrame(props) {
|
|
4240
4391
|
return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
|
|
4241
4392
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4242
4393
|
width: 54,
|
|
4243
4394
|
height: 54,
|
|
4244
|
-
fill: "
|
|
4395
|
+
fill: "none"
|
|
4245
4396
|
}, props), _path$1 || (_path$1 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4397
|
+
fill: "currentcolor",
|
|
4398
|
+
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"
|
|
4399
|
+
})), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4400
|
+
fill: "currentcolor",
|
|
4246
4401
|
fillRule: "evenodd",
|
|
4247
|
-
d: "
|
|
4402
|
+
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",
|
|
4403
|
+
clipRule: "evenodd"
|
|
4248
4404
|
})));
|
|
4249
4405
|
};
|
|
4250
|
-
var
|
|
4406
|
+
var IFrameIcon = SvgIFrame;
|
|
4251
4407
|
|
|
4252
4408
|
var _path, _path2;
|
|
4253
4409
|
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); }
|
|
@@ -4277,6 +4433,7 @@ const iconsByType = type => {
|
|
|
4277
4433
|
columns: GroupIcon,
|
|
4278
4434
|
datetime: DatetimeIcon,
|
|
4279
4435
|
group: GroupIcon,
|
|
4436
|
+
iframe: IFrameIcon,
|
|
4280
4437
|
image: ImageIcon,
|
|
4281
4438
|
number: NumberIcon,
|
|
4282
4439
|
radio: RadioIcon,
|
|
@@ -4291,7 +4448,7 @@ const iconsByType = type => {
|
|
|
4291
4448
|
}[type];
|
|
4292
4449
|
};
|
|
4293
4450
|
|
|
4294
|
-
const formFields = [Button, Checkbox, Checklist, FormComponent$1, Group, Image, Numberfield, Datetime, Radio, Select, Spacer, Separator, Taglist, Text, Textfield, Textarea];
|
|
4451
|
+
const formFields = [Button, Checkbox, Checklist, FormComponent$1, Group, IFrame, Image, Numberfield, Datetime, Radio, Select, Spacer, Separator, Taglist, Text, Textfield, Textarea];
|
|
4295
4452
|
|
|
4296
4453
|
class FormFields {
|
|
4297
4454
|
constructor() {
|
|
@@ -4363,8 +4520,8 @@ function createFormContainer(prefix = 'fjs') {
|
|
|
4363
4520
|
return container;
|
|
4364
4521
|
}
|
|
4365
4522
|
|
|
4366
|
-
const EXPRESSION_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'conditional.hide', 'description', 'label', 'source', 'readonly', 'text', 'validate.min', 'validate.max', 'validate.minLength', 'validate.maxLength', 'valuesExpression'];
|
|
4367
|
-
const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text'];
|
|
4523
|
+
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'];
|
|
4524
|
+
const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text', 'url'];
|
|
4368
4525
|
function isRequired(field) {
|
|
4369
4526
|
return field.required;
|
|
4370
4527
|
}
|
|
@@ -6859,7 +7016,7 @@ class Form {
|
|
|
6859
7016
|
}
|
|
6860
7017
|
}
|
|
6861
7018
|
|
|
6862
|
-
const schemaVersion =
|
|
7019
|
+
const schemaVersion = 13;
|
|
6863
7020
|
|
|
6864
7021
|
/**
|
|
6865
7022
|
* @typedef { import('./types').CreateFormOptions } CreateFormOptions
|
|
@@ -6910,6 +7067,7 @@ exports.FormFields = FormFields;
|
|
|
6910
7067
|
exports.FormLayouter = FormLayouter;
|
|
6911
7068
|
exports.FormRenderContext = FormRenderContext$1;
|
|
6912
7069
|
exports.Group = Group;
|
|
7070
|
+
exports.IFrame = IFrame;
|
|
6913
7071
|
exports.Image = Image;
|
|
6914
7072
|
exports.Importer = Importer;
|
|
6915
7073
|
exports.Label = Label;
|
|
@@ -6954,6 +7112,10 @@ exports.pathParse = pathParse;
|
|
|
6954
7112
|
exports.pathsEqual = pathsEqual;
|
|
6955
7113
|
exports.runRecursively = runRecursively;
|
|
6956
7114
|
exports.sanitizeHTML = sanitizeHTML;
|
|
7115
|
+
exports.sanitizeIFrameSource = sanitizeIFrameSource;
|
|
6957
7116
|
exports.sanitizeImageSource = sanitizeImageSource;
|
|
6958
7117
|
exports.schemaVersion = schemaVersion;
|
|
7118
|
+
exports.useExpressionEvaluation = useExpressionEvaluation;
|
|
7119
|
+
exports.useSingleLineTemplateEvaluation = useSingleLineTemplateEvaluation;
|
|
7120
|
+
exports.useTemplateEvaluation = useTemplateEvaluation;
|
|
6959
7121
|
//# sourceMappingURL=index.cjs.map
|