@bpmn-io/form-js-viewer 1.10.1 → 1.11.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.
Files changed (33) hide show
  1. package/dist/assets/form-js-base.css +22 -3
  2. package/dist/assets/form-js.css +22 -3
  3. package/dist/index.cjs +409 -185
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.es.js +409 -186
  6. package/dist/index.es.js.map +1 -1
  7. package/dist/types/core/FieldFactory.d.ts +1 -1
  8. package/dist/types/index.d.ts +1 -1
  9. package/dist/types/render/components/Util.d.ts +1 -0
  10. package/dist/types/render/components/form-fields/Button.d.ts +2 -1
  11. package/dist/types/render/components/form-fields/Checkbox.d.ts +4 -2
  12. package/dist/types/render/components/form-fields/Checklist.d.ts +2 -3
  13. package/dist/types/render/components/form-fields/Datetime.d.ts +3 -2
  14. package/dist/types/render/components/form-fields/Default.d.ts +1 -0
  15. package/dist/types/render/components/form-fields/DynamicList.d.ts +2 -1
  16. package/dist/types/render/components/form-fields/ExpressionField.d.ts +1 -1
  17. package/dist/types/render/components/form-fields/FilePicker.d.ts +47 -0
  18. package/dist/types/render/components/form-fields/Group.d.ts +2 -1
  19. package/dist/types/render/components/form-fields/Html.d.ts +1 -1
  20. package/dist/types/render/components/form-fields/IFrame.d.ts +2 -1
  21. package/dist/types/render/components/form-fields/Image.d.ts +2 -1
  22. package/dist/types/render/components/form-fields/Number.d.ts +4 -2
  23. package/dist/types/render/components/form-fields/Radio.d.ts +2 -3
  24. package/dist/types/render/components/form-fields/Select.d.ts +2 -3
  25. package/dist/types/render/components/form-fields/Separator.d.ts +1 -1
  26. package/dist/types/render/components/form-fields/Spacer.d.ts +1 -1
  27. package/dist/types/render/components/form-fields/Table.d.ts +2 -1
  28. package/dist/types/render/components/form-fields/Taglist.d.ts +2 -3
  29. package/dist/types/render/components/form-fields/Text.d.ts +2 -1
  30. package/dist/types/render/components/form-fields/Textarea.d.ts +4 -2
  31. package/dist/types/render/components/form-fields/Textfield.d.ts +4 -2
  32. package/dist/types/render/components/index.d.ts +3 -2
  33. package/package.json +5 -5
package/dist/index.cjs CHANGED
@@ -591,6 +591,18 @@ function gridColumnClasses(formField) {
591
591
  // always fall back to top-down on smallest screens
592
592
  'cds--col-sm-16', 'cds--col-md-16');
593
593
  }
594
+ function textToLabel(text) {
595
+ if (typeof text != 'string') return null;
596
+ for (const line of text.split('\n')) {
597
+ const displayLine = line.trim();
598
+
599
+ // we use the first non-whitespace line in the text as label
600
+ if (displayLine !== '') {
601
+ return displayLine;
602
+ }
603
+ }
604
+ return null;
605
+ }
594
606
  function prefixId(id, formId, indexes) {
595
607
  let result = 'fjs-form';
596
608
  if (formId) {
@@ -899,6 +911,7 @@ function useExpressionEvaluation(value) {
899
911
  * @returns {T} - Returns the current state.
900
912
  */
901
913
  function useDeepCompareMemoize(value) {
914
+ /** @type {import("preact").RefObject<T>} */
902
915
  const ref = hooks.useRef();
903
916
  if (!isEqual(value, ref.current)) {
904
917
  ref.current = value;
@@ -1676,7 +1689,7 @@ function useCleanupMultiSelectValue(props) {
1676
1689
  }, [field, options, onChange, memoizedValues, loadState]);
1677
1690
  }
1678
1691
 
1679
- const type$h = 'button';
1692
+ const type$i = 'button';
1680
1693
  function Button(props) {
1681
1694
  const {
1682
1695
  disabled,
@@ -1691,7 +1704,7 @@ function Button(props) {
1691
1704
  debug: true
1692
1705
  });
1693
1706
  return jsxRuntime.jsx("div", {
1694
- class: formFieldClasses(type$h),
1707
+ class: formFieldClasses(type$i),
1695
1708
  children: jsxRuntime.jsx("button", {
1696
1709
  class: "fjs-button",
1697
1710
  type: action,
@@ -1703,11 +1716,12 @@ function Button(props) {
1703
1716
  });
1704
1717
  }
1705
1718
  Button.config = {
1706
- type: type$h,
1719
+ type: type$i,
1707
1720
  keyed: false,
1708
- label: 'Button',
1721
+ name: 'Button',
1709
1722
  group: 'action',
1710
1723
  create: (options = {}) => ({
1724
+ label: 'Button',
1711
1725
  action: 'submit',
1712
1726
  ...options
1713
1727
  })
@@ -1778,7 +1792,7 @@ function Label(props) {
1778
1792
  });
1779
1793
  }
1780
1794
 
1781
- const type$g = 'checkbox';
1795
+ const type$h = 'checkbox';
1782
1796
  function Checkbox(props) {
1783
1797
  const {
1784
1798
  disabled,
@@ -1808,7 +1822,7 @@ function Checkbox(props) {
1808
1822
  const descriptionId = `${domId}-description`;
1809
1823
  const errorMessageId = `${domId}-error-message`;
1810
1824
  return jsxRuntime.jsxs("div", {
1811
- class: classNames(formFieldClasses(type$g, {
1825
+ class: classNames(formFieldClasses(type$h, {
1812
1826
  errors,
1813
1827
  disabled,
1814
1828
  readonly
@@ -1845,20 +1859,21 @@ function Checkbox(props) {
1845
1859
  });
1846
1860
  }
1847
1861
  Checkbox.config = {
1848
- type: type$g,
1862
+ type: type$h,
1849
1863
  keyed: true,
1850
- label: 'Checkbox',
1864
+ name: 'Checkbox',
1851
1865
  group: 'selection',
1852
1866
  emptyValue: false,
1853
1867
  sanitizeValue: ({
1854
1868
  value
1855
1869
  }) => value === true,
1856
1870
  create: (options = {}) => ({
1871
+ label: 'Checkbox',
1857
1872
  ...options
1858
1873
  })
1859
1874
  };
1860
1875
 
1861
- const type$f = 'checklist';
1876
+ const type$g = 'checklist';
1862
1877
  function Checklist(props) {
1863
1878
  const {
1864
1879
  disabled,
@@ -1875,6 +1890,8 @@ function Checklist(props) {
1875
1890
  label,
1876
1891
  validate = {}
1877
1892
  } = field;
1893
+
1894
+ /** @type {import("preact").RefObject<HTMLDivElement>} */
1878
1895
  const outerDivRef = hooks.useRef();
1879
1896
  const {
1880
1897
  required
@@ -1911,7 +1928,7 @@ function Checklist(props) {
1911
1928
  const descriptionId = `${domId}-description`;
1912
1929
  const errorMessageId = `${domId}-error-message`;
1913
1930
  return jsxRuntime.jsxs("div", {
1914
- class: classNames(formFieldClasses(type$f, {
1931
+ class: classNames(formFieldClasses(type$g, {
1915
1932
  errors,
1916
1933
  disabled,
1917
1934
  readonly
@@ -1956,13 +1973,16 @@ function Checklist(props) {
1956
1973
  });
1957
1974
  }
1958
1975
  Checklist.config = {
1959
- type: type$f,
1976
+ type: type$g,
1960
1977
  keyed: true,
1961
- label: 'Checkbox group',
1978
+ name: 'Checkbox group',
1962
1979
  group: 'selection',
1963
1980
  emptyValue: [],
1964
1981
  sanitizeValue: sanitizeMultiSelectValue,
1965
- create: createEmptyOptions
1982
+ create: (options = {}) => ({
1983
+ label: 'Checkbox group',
1984
+ ...createEmptyOptions(options)
1985
+ })
1966
1986
  };
1967
1987
 
1968
1988
  const noop$1 = () => false;
@@ -2260,19 +2280,20 @@ Default.config = {
2260
2280
  create: (options = {}) => ({
2261
2281
  components: [],
2262
2282
  ...options
2263
- })
2283
+ }),
2284
+ getSubheading: field => field.id
2264
2285
  };
2265
2286
 
2266
- var _path$w;
2267
- function _extends$x() { return _extends$x = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$x.apply(null, arguments); }
2287
+ var _path$x;
2288
+ function _extends$y() { return _extends$y = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$y.apply(null, arguments); }
2268
2289
  var SvgCalendar = function SvgCalendar(props) {
2269
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$x({
2290
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$y({
2270
2291
  xmlns: "http://www.w3.org/2000/svg",
2271
2292
  width: 14,
2272
2293
  height: 15,
2273
2294
  fill: "none",
2274
2295
  viewBox: "0 0 28 30"
2275
- }, props), _path$w || (_path$w = /*#__PURE__*/React__namespace.createElement("path", {
2296
+ }, props), _path$x || (_path$x = /*#__PURE__*/React__namespace.createElement("path", {
2276
2297
  fill: "currentColor",
2277
2298
  fillRule: "evenodd",
2278
2299
  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-2zM7 7V4H2v5h24V4h-5v3h-2V4H9v3zm-5 4v17h24V11z",
@@ -2400,7 +2421,11 @@ function Datepicker(props) {
2400
2421
  readonly,
2401
2422
  setDate
2402
2423
  } = props;
2424
+
2425
+ /** @type {import("preact").RefObject<HTMLInputElement>} */
2403
2426
  const dateInputRef = hooks.useRef();
2427
+
2428
+ /** @type {import("preact").RefObject<HTMLElement>} */
2404
2429
  const focusScopeRef = hooks.useRef();
2405
2430
  const [flatpickrInstance, setFlatpickrInstance] = hooks.useState(null);
2406
2431
  const [isInputDirty, setIsInputDirty] = hooks.useState(false);
@@ -2537,16 +2562,16 @@ function Datepicker(props) {
2537
2562
  });
2538
2563
  }
2539
2564
 
2540
- var _path$v, _path2$4;
2541
- function _extends$w() { return _extends$w = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$w.apply(null, arguments); }
2565
+ var _path$w, _path2$4;
2566
+ function _extends$x() { return _extends$x = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$x.apply(null, arguments); }
2542
2567
  var SvgClock = function SvgClock(props) {
2543
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
2568
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$x({
2544
2569
  xmlns: "http://www.w3.org/2000/svg",
2545
2570
  width: 16,
2546
2571
  height: 16,
2547
2572
  fill: "none",
2548
2573
  viewBox: "0 0 28 29"
2549
- }, props), _path$v || (_path$v = /*#__PURE__*/React__namespace.createElement("path", {
2574
+ }, props), _path$w || (_path$w = /*#__PURE__*/React__namespace.createElement("path", {
2550
2575
  fill: "currentColor",
2551
2576
  d: "M13 14.41 18.59 20 20 18.59l-5-5.01V5h-2z"
2552
2577
  })), _path2$4 || (_path2$4 = /*#__PURE__*/React__namespace.createElement("path", {
@@ -2572,7 +2597,11 @@ function DropdownList(props) {
2572
2597
  const [mouseControl, setMouseControl] = hooks.useState(false);
2573
2598
  const [focusedValueIndex, setFocusedValueIndex] = hooks.useState(initialFocusIndex);
2574
2599
  const [smoothScrolling, setSmoothScrolling] = hooks.useState(false);
2600
+
2601
+ /** @type {import("preact").RefObject<HTMLDivElement>} */
2575
2602
  const dropdownContainer = hooks.useRef();
2603
+
2604
+ /** @type {import("preact").RefObject<{ x: number, y: number }>} */
2576
2605
  const mouseScreenPos = hooks.useRef();
2577
2606
  const focusedItem = hooks.useMemo(() => values.length ? values[focusedValueIndex] : null, [focusedValueIndex, values]);
2578
2607
  const changeFocusedValueIndex = hooks.useCallback(delta => {
@@ -2790,7 +2819,7 @@ function Timepicker(props) {
2790
2819
  value: rawValue,
2791
2820
  disabled: disabled,
2792
2821
  readOnly: readonly,
2793
- placeholder: use24h ? 'hh:mm' : 'hh:mm ?m',
2822
+ placeholder: use24h ? 'hh:mm' : 'hh:mm --',
2794
2823
  autoComplete: "off",
2795
2824
  onInput: e => {
2796
2825
  // @ts-expect-error
@@ -2815,7 +2844,7 @@ function Timepicker(props) {
2815
2844
  });
2816
2845
  }
2817
2846
 
2818
- const type$e = 'datetime';
2847
+ const type$f = 'datetime';
2819
2848
  function Datetime(props) {
2820
2849
  const {
2821
2850
  disabled,
@@ -2846,6 +2875,8 @@ function Datetime(props) {
2846
2875
  const {
2847
2876
  formId
2848
2877
  } = hooks.useContext(FormContext);
2878
+
2879
+ /** @type {import("preact").RefObject<HTMLDivElement>} */
2849
2880
  const dateTimeGroupRef = hooks.useRef();
2850
2881
  const [dateTime, setDateTime] = hooks.useState(getNullDateTime());
2851
2882
  const [dateTimeUpdateRequest, setDateTimeUpdateRequest] = hooks.useState(null);
@@ -2984,7 +3015,7 @@ function Datetime(props) {
2984
3015
  'aria-describedby': [descriptionId, errorMessageId].join(' ')
2985
3016
  };
2986
3017
  return jsxRuntime.jsxs("div", {
2987
- class: formFieldClasses(type$e, {
3018
+ class: formFieldClasses(type$f, {
2988
3019
  errors: allErrors,
2989
3020
  disabled,
2990
3021
  readonly
@@ -3009,20 +3040,25 @@ function Datetime(props) {
3009
3040
  });
3010
3041
  }
3011
3042
  Datetime.config = {
3012
- type: type$e,
3043
+ type: type$f,
3013
3044
  keyed: true,
3014
- label: 'Date time',
3045
+ name: 'Date time',
3015
3046
  group: 'basic-input',
3016
3047
  emptyValue: null,
3017
3048
  sanitizeValue: sanitizeDateTimePickerValue,
3018
- create: (options = {}) => {
3049
+ create: (options = {}, isNewField) => {
3019
3050
  const defaults = {};
3020
3051
  minDash.set(defaults, DATETIME_SUBTYPE_PATH, DATETIME_SUBTYPES.DATE);
3021
- minDash.set(defaults, DATE_LABEL_PATH, 'Date');
3052
+ if (isNewField) {
3053
+ minDash.set(defaults, DATE_LABEL_PATH, 'Date');
3054
+ }
3022
3055
  return {
3023
3056
  ...defaults,
3024
3057
  ...options
3025
3058
  };
3059
+ },
3060
+ getSubheading: field => {
3061
+ return field.dateLabel || field.timeLabel;
3026
3062
  }
3027
3063
  };
3028
3064
 
@@ -3060,16 +3096,17 @@ function Group(props) {
3060
3096
  Group.config = {
3061
3097
  type: 'group',
3062
3098
  pathed: true,
3063
- label: 'Group',
3099
+ name: 'Group',
3064
3100
  group: 'container',
3065
3101
  create: (options = {}) => ({
3102
+ label: 'Group',
3066
3103
  components: [],
3067
3104
  showOutline: true,
3068
3105
  ...options
3069
3106
  })
3070
3107
  };
3071
3108
 
3072
- const type$d = 'iframe';
3109
+ const type$e = 'iframe';
3073
3110
  const DEFAULT_HEIGHT = 300;
3074
3111
  function IFrame(props) {
3075
3112
  const {
@@ -3099,7 +3136,7 @@ function IFrame(props) {
3099
3136
  setIframeRefresh(count => count + 1);
3100
3137
  }, [sandbox, allow]);
3101
3138
  return jsxRuntime.jsxs("div", {
3102
- class: formFieldClasses(type$d, {
3139
+ class: formFieldClasses(type$e, {
3103
3140
  disabled,
3104
3141
  readonly
3105
3142
  }),
@@ -3134,11 +3171,12 @@ function IFramePlaceholder(props) {
3134
3171
  });
3135
3172
  }
3136
3173
  IFrame.config = {
3137
- type: type$d,
3174
+ type: type$e,
3138
3175
  keyed: false,
3139
- label: 'iFrame',
3176
+ name: 'iFrame',
3140
3177
  group: 'container',
3141
3178
  create: (options = {}) => ({
3179
+ label: 'iFrame',
3142
3180
  security: {
3143
3181
  allowScripts: true
3144
3182
  },
@@ -3146,42 +3184,42 @@ IFrame.config = {
3146
3184
  })
3147
3185
  };
3148
3186
 
3149
- var _path$u;
3150
- function _extends$v() { return _extends$v = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$v.apply(null, arguments); }
3187
+ var _path$v;
3188
+ function _extends$w() { return _extends$w = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$w.apply(null, arguments); }
3151
3189
  var SvgButton = function SvgButton(props) {
3152
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$v({
3190
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
3153
3191
  xmlns: "http://www.w3.org/2000/svg",
3154
3192
  width: 54,
3155
3193
  height: 54,
3156
3194
  fill: "currentcolor"
3157
- }, props), _path$u || (_path$u = /*#__PURE__*/React__namespace.createElement("path", {
3195
+ }, props), _path$v || (_path$v = /*#__PURE__*/React__namespace.createElement("path", {
3158
3196
  fillRule: "evenodd",
3159
3197
  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-3zm-9 8.889H18v2.222h18z"
3160
3198
  })));
3161
3199
  };
3162
3200
 
3163
- var _path$t;
3164
- function _extends$u() { return _extends$u = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$u.apply(null, arguments); }
3201
+ var _path$u;
3202
+ function _extends$v() { return _extends$v = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$v.apply(null, arguments); }
3165
3203
  var SvgCheckbox = function SvgCheckbox(props) {
3166
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$u({
3204
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$v({
3167
3205
  xmlns: "http://www.w3.org/2000/svg",
3168
3206
  width: 54,
3169
3207
  height: 54,
3170
3208
  fill: "currentcolor"
3171
- }, props), _path$t || (_path$t = /*#__PURE__*/React__namespace.createElement("path", {
3209
+ }, props), _path$u || (_path$u = /*#__PURE__*/React__namespace.createElement("path", {
3172
3210
  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-2m-9 14-5-5 1.41-1.41L25 29.17l7.59-7.59L34 23z"
3173
3211
  })));
3174
3212
  };
3175
3213
 
3176
- var _path$s;
3177
- function _extends$t() { return _extends$t = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$t.apply(null, arguments); }
3214
+ var _path$t;
3215
+ function _extends$u() { return _extends$u = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$u.apply(null, arguments); }
3178
3216
  var SvgChecklist = function SvgChecklist(props) {
3179
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$t({
3217
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$u({
3180
3218
  xmlns: "http://www.w3.org/2000/svg",
3181
3219
  width: 54,
3182
3220
  height: 54,
3183
3221
  fill: "none"
3184
- }, props), _path$s || (_path$s = /*#__PURE__*/React__namespace.createElement("path", {
3222
+ }, props), _path$t || (_path$t = /*#__PURE__*/React__namespace.createElement("path", {
3185
3223
  fill: "currentColor",
3186
3224
  fillRule: "evenodd",
3187
3225
  d: "M14.35 24.75H19v4.65h-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.414M14.35 37.05H19v4.65h-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.414M14.35 12.45H19v4.65h-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.414m12.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.293m0 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.293m0-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.293",
@@ -3189,15 +3227,15 @@ var SvgChecklist = function SvgChecklist(props) {
3189
3227
  })));
3190
3228
  };
3191
3229
 
3192
- var _path$r, _path2$3, _path3;
3193
- function _extends$s() { return _extends$s = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$s.apply(null, arguments); }
3230
+ var _path$s, _path2$3, _path3;
3231
+ function _extends$t() { return _extends$t = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$t.apply(null, arguments); }
3194
3232
  var SvgDatetime = function SvgDatetime(props) {
3195
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$s({
3233
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$t({
3196
3234
  xmlns: "http://www.w3.org/2000/svg",
3197
3235
  width: 54,
3198
3236
  height: 54,
3199
3237
  fill: "currentcolor"
3200
- }, props), _path$r || (_path$r = /*#__PURE__*/React__namespace.createElement("path", {
3238
+ }, props), _path$s || (_path$s = /*#__PURE__*/React__namespace.createElement("path", {
3201
3239
  fillRule: "evenodd",
3202
3240
  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.06"
3203
3241
  })), _path2$3 || (_path2$3 = /*#__PURE__*/React__namespace.createElement("path", {
@@ -3208,15 +3246,15 @@ var SvgDatetime = function SvgDatetime(props) {
3208
3246
  })));
3209
3247
  };
3210
3248
 
3211
- var _path$q, _path2$2;
3212
- function _extends$r() { return _extends$r = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$r.apply(null, arguments); }
3249
+ var _path$r, _path2$2;
3250
+ function _extends$s() { return _extends$s = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$s.apply(null, arguments); }
3213
3251
  var SvgTaglist = function SvgTaglist(props) {
3214
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$r({
3252
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$s({
3215
3253
  xmlns: "http://www.w3.org/2000/svg",
3216
3254
  width: 54,
3217
3255
  height: 54,
3218
3256
  fill: "currentcolor"
3219
- }, props), _path$q || (_path$q = /*#__PURE__*/React__namespace.createElement("path", {
3257
+ }, props), _path$r || (_path$r = /*#__PURE__*/React__namespace.createElement("path", {
3220
3258
  fillRule: "evenodd",
3221
3259
  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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1"
3222
3260
  })), _path2$2 || (_path2$2 = /*#__PURE__*/React__namespace.createElement("path", {
@@ -3225,9 +3263,9 @@ var SvgTaglist = function SvgTaglist(props) {
3225
3263
  };
3226
3264
 
3227
3265
  var _rect, _rect2, _rect3;
3228
- function _extends$q() { return _extends$q = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$q.apply(null, arguments); }
3266
+ function _extends$r() { return _extends$r = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$r.apply(null, arguments); }
3229
3267
  var SvgForm = function SvgForm(props) {
3230
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$q({
3268
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$r({
3231
3269
  xmlns: "http://www.w3.org/2000/svg",
3232
3270
  width: 54,
3233
3271
  height: 54
@@ -3252,15 +3290,15 @@ var SvgForm = function SvgForm(props) {
3252
3290
  })));
3253
3291
  };
3254
3292
 
3255
- var _path$p;
3256
- function _extends$p() { return _extends$p = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$p.apply(null, arguments); }
3293
+ var _path$q;
3294
+ function _extends$q() { return _extends$q = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$q.apply(null, arguments); }
3257
3295
  var SvgGroup = function SvgGroup(props) {
3258
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$p({
3296
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$q({
3259
3297
  xmlns: "http://www.w3.org/2000/svg",
3260
3298
  width: 54,
3261
3299
  height: 54,
3262
3300
  fill: "none"
3263
- }, props), _path$p || (_path$p = /*#__PURE__*/React__namespace.createElement("path", {
3301
+ }, props), _path$q || (_path$q = /*#__PURE__*/React__namespace.createElement("path", {
3264
3302
  fill: "#000",
3265
3303
  fillRule: "evenodd",
3266
3304
  d: "M4.05 42.132v1.164c0 .693.604 1.254 1.35 1.254h1.35v-2.507h-2.7v.09Zm0-2.328h2.7v-2.328h-2.7zm0-4.656h2.7V32.82h-2.7zm0-4.656h2.7v-2.328h-2.7zm0-4.656h2.7v-2.328h-2.7zm0-4.656h2.7v-2.328h-2.7zm0-4.656h2.7v-2.328h-2.7zm0-4.656v.09h2.7V9.45H5.4c-.746 0-1.35.561-1.35 1.254zm5.4-2.418v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7V9.45zm5.4 0v2.507h2.7v-1.253c0-.693-.604-1.254-1.35-1.254zm2.7 4.746h-2.7v2.328h2.7zm0 4.656h-2.7v2.328h2.7zm0 4.656h-2.7v2.328h2.7zm0 4.656h-2.7v2.328h2.7zm0 4.656h-2.7v2.328h2.7zm0 4.656h-2.7v2.328h2.7zm0 4.656v-.09h-2.7v2.508h1.35c.746 0 1.35-.561 1.35-1.254zm-5.4 2.418v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507zm-5.4 0v-2.507h-2.7v2.507z",
@@ -3268,50 +3306,64 @@ var SvgGroup = function SvgGroup(props) {
3268
3306
  })));
3269
3307
  };
3270
3308
 
3309
+ var _path$p;
3310
+ function _extends$p() { return _extends$p = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$p.apply(null, arguments); }
3311
+ var SvgNumber = function SvgNumber(props) {
3312
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$p({
3313
+ xmlns: "http://www.w3.org/2000/svg",
3314
+ width: 54,
3315
+ height: 54,
3316
+ fill: "currentcolor"
3317
+ }, props), _path$p || (_path$p = /*#__PURE__*/React__namespace.createElement("path", {
3318
+ fillRule: "evenodd",
3319
+ 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1M35 28.444h7l-3.5 4zM35 26h7l-3.5-4z"
3320
+ })));
3321
+ };
3322
+
3271
3323
  var _path$o;
3272
3324
  function _extends$o() { return _extends$o = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$o.apply(null, arguments); }
3273
- var SvgNumber = function SvgNumber(props) {
3325
+ var SvgRadio = function SvgRadio(props) {
3274
3326
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$o({
3275
3327
  xmlns: "http://www.w3.org/2000/svg",
3276
3328
  width: 54,
3277
3329
  height: 54,
3278
3330
  fill: "currentcolor"
3279
3331
  }, props), _path$o || (_path$o = /*#__PURE__*/React__namespace.createElement("path", {
3280
- fillRule: "evenodd",
3281
- 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1M35 28.444h7l-3.5 4zM35 26h7l-3.5-4z"
3332
+ d: "M27 22c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m0 18a8 8 0 1 1 0-16 8 8 0 1 1 0 16"
3282
3333
  })));
3283
3334
  };
3284
3335
 
3285
3336
  var _path$n;
3286
3337
  function _extends$n() { return _extends$n = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$n.apply(null, arguments); }
3287
- var SvgRadio = function SvgRadio(props) {
3338
+ var SvgSelect = function SvgSelect(props) {
3288
3339
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$n({
3289
3340
  xmlns: "http://www.w3.org/2000/svg",
3290
3341
  width: 54,
3291
3342
  height: 54,
3292
3343
  fill: "currentcolor"
3293
3344
  }, props), _path$n || (_path$n = /*#__PURE__*/React__namespace.createElement("path", {
3294
- d: "M27 22c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m0 18a8 8 0 1 1 0-16 8 8 0 1 1 0 16"
3345
+ fillRule: "evenodd",
3346
+ 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1m-12 7h9l-4.5 6z"
3295
3347
  })));
3296
3348
  };
3297
3349
 
3298
3350
  var _path$m;
3299
3351
  function _extends$m() { return _extends$m = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$m.apply(null, arguments); }
3300
- var SvgSelect = function SvgSelect(props) {
3352
+ var SvgSeparator = function SvgSeparator(props) {
3301
3353
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$m({
3302
3354
  xmlns: "http://www.w3.org/2000/svg",
3303
3355
  width: 54,
3304
3356
  height: 54,
3305
- fill: "currentcolor"
3357
+ fill: "none"
3306
3358
  }, props), _path$m || (_path$m = /*#__PURE__*/React__namespace.createElement("path", {
3307
- fillRule: "evenodd",
3308
- 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1m-12 7h9l-4.5 6z"
3359
+ fill: "currentColor",
3360
+ 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.414zM9 26h36v2H9zm13.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.414"
3309
3361
  })));
3310
3362
  };
3311
3363
 
3312
3364
  var _path$l;
3313
3365
  function _extends$l() { return _extends$l = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$l.apply(null, arguments); }
3314
- var SvgSeparator = function SvgSeparator(props) {
3366
+ var SvgSpacer = function SvgSpacer(props) {
3315
3367
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$l({
3316
3368
  xmlns: "http://www.w3.org/2000/svg",
3317
3369
  width: 54,
@@ -3319,13 +3371,13 @@ var SvgSeparator = function SvgSeparator(props) {
3319
3371
  fill: "none"
3320
3372
  }, props), _path$l || (_path$l = /*#__PURE__*/React__namespace.createElement("path", {
3321
3373
  fill: "currentColor",
3322
- 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.414zM9 26h36v2H9zm13.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.414"
3374
+ d: "M9 15v2h36v-2zm0 22v2h36v-2zm17.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.414zm-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.414"
3323
3375
  })));
3324
3376
  };
3325
3377
 
3326
3378
  var _path$k;
3327
3379
  function _extends$k() { return _extends$k = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$k.apply(null, arguments); }
3328
- var SvgSpacer = function SvgSpacer(props) {
3380
+ var SvgDynamicList = function SvgDynamicList(props) {
3329
3381
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
3330
3382
  xmlns: "http://www.w3.org/2000/svg",
3331
3383
  width: 54,
@@ -3333,74 +3385,74 @@ var SvgSpacer = function SvgSpacer(props) {
3333
3385
  fill: "none"
3334
3386
  }, props), _path$k || (_path$k = /*#__PURE__*/React__namespace.createElement("path", {
3335
3387
  fill: "currentColor",
3336
- d: "M9 15v2h36v-2zm0 22v2h36v-2zm17.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.414zm-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.414"
3388
+ fillRule: "evenodd",
3389
+ d: "M2.7 43.296v1.254c0 .746.604 1.35 1.35 1.35h1.275v-1.795q.074.211.075.445v-1.254h-.075V43.2H4.05c.177 0 .347.034.502.096zm2.7-2.507v-2.507H2.7v2.507zm0-5.014v-2.507H2.7v2.507zm0-5.014v-2.507H2.7v2.507zm0-5.015V23.24H2.7v2.507h2.7Zm0-5.014v-2.507H2.7v2.507zm0-5.014V13.21H2.7v2.507zm-2.7-5.014h1.852a1.4 1.4 0 0 1-.502.096h1.275v-.096H5.4V9.45q0 .235-.075.445V8.1H4.05A1.35 1.35 0 0 0 2.7 9.45zm5.175.096h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1-2.7v1.795a1.4 1.4 0 0 1-.075-.445v1.254h.075v.096h1.275a1.4 1.4 0 0 1-.502-.096H51.3V9.45a1.35 1.35 0 0 0-1.35-1.35zm-.075 5.11v2.508h2.7V13.21zm0 5.015v2.507h2.7v-2.507zm0 5.014v2.507h2.7V23.24zm0 5.015v2.507h2.7v-2.507zm0 5.014v2.507h2.7v-2.507zm0 5.014v2.507h2.7v-2.507zm2.7 5.014h-1.852a1.4 1.4 0 0 1 .502-.096h-1.275v.096H48.6v1.254q0-.235.075-.445V45.9h1.275a1.35 1.35 0 0 0 1.35-1.35zm-5.175-.096h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zM16.2 17.55a4.05 4.05 0 0 1 4.05 4.05v1.35A4.05 4.05 0 0 1 16.2 27h-1.35a4.05 4.05 0 0 1-4.05-4.05V21.6a4.05 4.05 0 0 1 4.05-4.05zm0 2.7h-1.35a1.35 1.35 0 0 0-1.35 1.35v1.35c0 .746.604 1.35 1.35 1.35h1.35a1.35 1.35 0 0 0 1.35-1.35V21.6a1.35 1.35 0 0 0-1.35-1.35m27 1.35a4.05 4.05 0 0 0-4.05-4.05H29.7a4.05 4.05 0 0 0-4.05 4.05v1.35A4.05 4.05 0 0 0 29.7 27h9.45a4.05 4.05 0 0 0 4.05-4.05zm-13.5-1.35h9.45c.746 0 1.35.604 1.35 1.35v1.35a1.35 1.35 0 0 1-1.35 1.35H29.7a1.35 1.35 0 0 1-1.35-1.35V21.6c0-.746.604-1.35 1.35-1.35M43.2 37.8a4.05 4.05 0 0 0-4.05-4.05H29.7a4.05 4.05 0 0 0-4.05 4.05v1.35h2.7V37.8c0-.746.604-1.35 1.35-1.35h9.45c.746 0 1.35.604 1.35 1.35v1.35h2.7zm-27-4.05a4.05 4.05 0 0 1 4.05 4.05v1.35h-2.7V37.8a1.35 1.35 0 0 0-1.35-1.35h-1.35a1.35 1.35 0 0 0-1.35 1.35v1.35h-2.7V37.8a4.05 4.05 0 0 1 4.05-4.05z",
3390
+ clipRule: "evenodd"
3337
3391
  })));
3338
3392
  };
3339
3393
 
3340
3394
  var _path$j;
3341
3395
  function _extends$j() { return _extends$j = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$j.apply(null, arguments); }
3342
- var SvgDynamicList = function SvgDynamicList(props) {
3396
+ var SvgText = function SvgText(props) {
3343
3397
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
3344
3398
  xmlns: "http://www.w3.org/2000/svg",
3345
3399
  width: 54,
3346
3400
  height: 54,
3347
- fill: "none"
3401
+ fill: "currentcolor"
3348
3402
  }, props), _path$j || (_path$j = /*#__PURE__*/React__namespace.createElement("path", {
3349
- fill: "currentColor",
3350
- fillRule: "evenodd",
3351
- d: "M2.7 43.296v1.254c0 .746.604 1.35 1.35 1.35h1.275v-1.795q.074.211.075.445v-1.254h-.075V43.2H4.05c.177 0 .347.034.502.096zm2.7-2.507v-2.507H2.7v2.507zm0-5.014v-2.507H2.7v2.507zm0-5.014v-2.507H2.7v2.507zm0-5.015V23.24H2.7v2.507h2.7Zm0-5.014v-2.507H2.7v2.507zm0-5.014V13.21H2.7v2.507zm-2.7-5.014h1.852a1.4 1.4 0 0 1-.502.096h1.275v-.096H5.4V9.45q0 .235-.075.445V8.1H4.05A1.35 1.35 0 0 0 2.7 9.45zm5.175.096h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1 0h2.55V8.1h-2.55zm5.1-2.7v1.795a1.4 1.4 0 0 1-.075-.445v1.254h.075v.096h1.275a1.4 1.4 0 0 1-.502-.096H51.3V9.45a1.35 1.35 0 0 0-1.35-1.35zm-.075 5.11v2.508h2.7V13.21zm0 5.015v2.507h2.7v-2.507zm0 5.014v2.507h2.7V23.24zm0 5.015v2.507h2.7v-2.507zm0 5.014v2.507h2.7v-2.507zm0 5.014v2.507h2.7v-2.507zm2.7 5.014h-1.852a1.4 1.4 0 0 1 .502-.096h-1.275v.096H48.6v1.254q0-.235.075-.445V45.9h1.275a1.35 1.35 0 0 0 1.35-1.35zm-5.175-.096h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zm-5.1 0h-2.55v2.7h2.55zM16.2 17.55a4.05 4.05 0 0 1 4.05 4.05v1.35A4.05 4.05 0 0 1 16.2 27h-1.35a4.05 4.05 0 0 1-4.05-4.05V21.6a4.05 4.05 0 0 1 4.05-4.05zm0 2.7h-1.35a1.35 1.35 0 0 0-1.35 1.35v1.35c0 .746.604 1.35 1.35 1.35h1.35a1.35 1.35 0 0 0 1.35-1.35V21.6a1.35 1.35 0 0 0-1.35-1.35m27 1.35a4.05 4.05 0 0 0-4.05-4.05H29.7a4.05 4.05 0 0 0-4.05 4.05v1.35A4.05 4.05 0 0 0 29.7 27h9.45a4.05 4.05 0 0 0 4.05-4.05zm-13.5-1.35h9.45c.746 0 1.35.604 1.35 1.35v1.35a1.35 1.35 0 0 1-1.35 1.35H29.7a1.35 1.35 0 0 1-1.35-1.35V21.6c0-.746.604-1.35 1.35-1.35M43.2 37.8a4.05 4.05 0 0 0-4.05-4.05H29.7a4.05 4.05 0 0 0-4.05 4.05v1.35h2.7V37.8c0-.746.604-1.35 1.35-1.35h9.45c.746 0 1.35.604 1.35 1.35v1.35h2.7zm-27-4.05a4.05 4.05 0 0 1 4.05 4.05v1.35h-2.7V37.8a1.35 1.35 0 0 0-1.35-1.35h-1.35a1.35 1.35 0 0 0-1.35 1.35v1.35h-2.7V37.8a4.05 4.05 0 0 1 4.05-4.05z",
3352
- clipRule: "evenodd"
3403
+ 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.5 15.5 0 0 1 2.4.14 3.4 3.4 0 0 1 1.41.55 3.5 3.5 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.6 3.6 0 0 1-1.09 1.4 3.9 3.9 0 0 1-1.83.65q-.69.07-3.3.09H22zm2.73 2.25v3.13h3.8a1.8 1.8 0 0 0 1.1-.49 1.4 1.4 0 0 0 .41-1 1.5 1.5 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.5 11.5 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.7 1.7 0 0 0-.86-.62 9.3 9.3 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.1 7.1 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.3 5.3 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.21"
3353
3404
  })));
3354
3405
  };
3355
3406
 
3356
3407
  var _path$i;
3357
3408
  function _extends$i() { return _extends$i = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$i.apply(null, arguments); }
3358
- var SvgText = function SvgText(props) {
3409
+ var SvgHtml = function SvgHtml(props) {
3359
3410
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$i({
3360
3411
  xmlns: "http://www.w3.org/2000/svg",
3361
3412
  width: 54,
3362
3413
  height: 54,
3363
- fill: "currentcolor"
3414
+ fill: "none"
3364
3415
  }, props), _path$i || (_path$i = /*#__PURE__*/React__namespace.createElement("path", {
3365
- 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.5 15.5 0 0 1 2.4.14 3.4 3.4 0 0 1 1.41.55 3.5 3.5 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.6 3.6 0 0 1-1.09 1.4 3.9 3.9 0 0 1-1.83.65q-.69.07-3.3.09H22zm2.73 2.25v3.13h3.8a1.8 1.8 0 0 0 1.1-.49 1.4 1.4 0 0 0 .41-1 1.5 1.5 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.5 11.5 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.7 1.7 0 0 0-.86-.62 9.3 9.3 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.1 7.1 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.3 5.3 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.21"
3416
+ fill: "currentColor",
3417
+ fillRule: "evenodd",
3418
+ d: "M47.008 12.15c1.625 0 2.942 1.36 2.942 3.039v23.622c0 1.678-1.317 3.039-2.942 3.039H6.992c-1.625 0-2.942-1.36-2.942-3.039V15.189c0-1.678 1.317-3.039 2.942-3.039zm0 2.026H6.992c-.542 0-.98.454-.98 1.013V16.2h-.004v2.7h.003v19.911c0 .56.44 1.013.98 1.013h40.017c.542 0 .98-.453.98-1.013V18.9h.005v-2.7h-.004v-1.011c0-.56-.44-1.013-.98-1.013M14.934 26.055v-3.78h2.194v9.45h-2.194v-3.78h-3.29v3.78H9.45v-9.45h2.194v3.78zm4.388-1.89h2.194v7.56h2.193v-7.56h2.194v-1.89h-6.581zm14.26-1.89h2.193v9.45h-2.194V25.11l-1.645 3.78-1.645-3.78v6.615h-2.194v-9.45h2.194l1.645 3.78zm4.387 0h2.194v7.56h4.387v1.89h-6.581z",
3419
+ clipRule: "evenodd"
3366
3420
  })));
3367
3421
  };
3368
3422
 
3369
3423
  var _path$h;
3370
3424
  function _extends$h() { return _extends$h = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$h.apply(null, arguments); }
3371
- var SvgHtml = function SvgHtml(props) {
3425
+ var SvgExpressionField = function SvgExpressionField(props) {
3372
3426
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$h({
3373
3427
  xmlns: "http://www.w3.org/2000/svg",
3374
3428
  width: 54,
3375
3429
  height: 54,
3376
3430
  fill: "none"
3377
3431
  }, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
3378
- fill: "currentColor",
3432
+ fill: "currentcolor",
3379
3433
  fillRule: "evenodd",
3380
- d: "M47.008 12.15c1.625 0 2.942 1.36 2.942 3.039v23.622c0 1.678-1.317 3.039-2.942 3.039H6.992c-1.625 0-2.942-1.36-2.942-3.039V15.189c0-1.678 1.317-3.039 2.942-3.039zm0 2.026H6.992c-.542 0-.98.454-.98 1.013V16.2h-.004v2.7h.003v19.911c0 .56.44 1.013.98 1.013h40.017c.542 0 .98-.453.98-1.013V18.9h.005v-2.7h-.004v-1.011c0-.56-.44-1.013-.98-1.013M14.934 26.055v-3.78h2.194v9.45h-2.194v-3.78h-3.29v3.78H9.45v-9.45h2.194v3.78zm4.388-1.89h2.194v7.56h2.193v-7.56h2.194v-1.89h-6.581zm14.26-1.89h2.193v9.45h-2.194V25.11l-1.645 3.78-1.645-3.78v6.615h-2.194v-9.45h2.194l1.645 3.78zm4.387 0h2.194v7.56h4.387v1.89h-6.581z",
3434
+ d: "M12.78 16.2v6.75c0 1.619-.635 3.059-1.618 4.05.983.991 1.618 2.431 1.618 4.05v6.75h3.51v2.7h-3.51c-1.289 0-2.34-1.213-2.34-2.7v-6.75c0-1.487-1.051-2.7-2.34-2.7v-2.7c1.289 0 2.34-1.213 2.34-2.7V16.2c0-1.487 1.051-2.7 2.34-2.7h3.51v2.7zm30.78 0v6.75c0 1.487 1.051 2.7 2.34 2.7v2.7c-1.289 0-2.34 1.213-2.34 2.7v6.75c0 1.487-1.051 2.7-2.34 2.7h-3.51v-2.7h3.51v-6.75c0-1.619.635-3.059 1.618-4.05-.983-.991-1.618-2.431-1.618-4.05V16.2h-3.51v-2.7h3.51c1.289 0 2.34 1.213 2.34 2.7M21.8 34.531q.7-.569.959-1.758l1.788-8.34h1.585l.387-1.828h-1.585l.405-1.878h1.585l.387-1.827H25.69q-1.271 0-1.972.569-.681.569-.94 1.758l-.294 1.378H21.34l-.387 1.827h1.142l-1.898 8.841h-1.585l-.387 1.827h1.622q1.272 0 1.953-.569m7.248-7.686-3.797 4.808h2.599l2.12-3.016h.22l.885 3.016h2.599l-1.677-4.36 3.778-4.688h-2.599l-2.12 2.947h-.22l-.885-2.947h-2.599z",
3381
3435
  clipRule: "evenodd"
3382
3436
  })));
3383
3437
  };
3384
3438
 
3385
3439
  var _path$g;
3386
3440
  function _extends$g() { return _extends$g = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$g.apply(null, arguments); }
3387
- var SvgExpressionField = function SvgExpressionField(props) {
3441
+ var SvgTextfield = function SvgTextfield(props) {
3388
3442
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$g({
3389
3443
  xmlns: "http://www.w3.org/2000/svg",
3390
3444
  width: 54,
3391
3445
  height: 54,
3392
- fill: "none"
3446
+ fill: "currentcolor"
3393
3447
  }, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
3394
- fill: "currentcolor",
3395
3448
  fillRule: "evenodd",
3396
- d: "M12.78 16.2v6.75c0 1.619-.635 3.059-1.618 4.05.983.991 1.618 2.431 1.618 4.05v6.75h3.51v2.7h-3.51c-1.289 0-2.34-1.213-2.34-2.7v-6.75c0-1.487-1.051-2.7-2.34-2.7v-2.7c1.289 0 2.34-1.213 2.34-2.7V16.2c0-1.487 1.051-2.7 2.34-2.7h3.51v2.7zm30.78 0v6.75c0 1.487 1.051 2.7 2.34 2.7v2.7c-1.289 0-2.34 1.213-2.34 2.7v6.75c0 1.487-1.051 2.7-2.34 2.7h-3.51v-2.7h3.51v-6.75c0-1.619.635-3.059 1.618-4.05-.983-.991-1.618-2.431-1.618-4.05V16.2h-3.51v-2.7h3.51c1.289 0 2.34 1.213 2.34 2.7M21.8 34.531q.7-.569.959-1.758l1.788-8.34h1.585l.387-1.828h-1.585l.405-1.878h1.585l.387-1.827H25.69q-1.271 0-1.972.569-.681.569-.94 1.758l-.294 1.378H21.34l-.387 1.827h1.142l-1.898 8.841h-1.585l-.387 1.827h1.622q1.272 0 1.953-.569m7.248-7.686-3.797 4.808h2.599l2.12-3.016h.22l.885 3.016h2.599l-1.677-4.36 3.778-4.688h-2.599l-2.12 2.947h-.22l-.885-2.947h-2.599z",
3397
- clipRule: "evenodd"
3449
+ 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1m-32 4v10h-2V22z"
3398
3450
  })));
3399
3451
  };
3400
3452
 
3401
3453
  var _path$f;
3402
3454
  function _extends$f() { return _extends$f = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$f.apply(null, arguments); }
3403
- var SvgTextfield = function SvgTextfield(props) {
3455
+ var SvgTextarea = function SvgTextarea(props) {
3404
3456
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
3405
3457
  xmlns: "http://www.w3.org/2000/svg",
3406
3458
  width: 54,
@@ -3408,70 +3460,72 @@ var SvgTextfield = function SvgTextfield(props) {
3408
3460
  fill: "currentcolor"
3409
3461
  }, props), _path$f || (_path$f = /*#__PURE__*/React__namespace.createElement("path", {
3410
3462
  fillRule: "evenodd",
3411
- 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-3zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1m-32 4v10h-2V22z"
3463
+ 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-3zm0 2H9a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V16a1 1 0 0 0-1-1m-1.136 15.5.849.849-6.364 6.364-.849-.849zm.264 3.5.849.849-2.828 2.828-.849-.849zM13 19v10h-2V19z"
3412
3464
  })));
3413
3465
  };
3414
3466
 
3415
3467
  var _path$e;
3416
3468
  function _extends$e() { return _extends$e = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$e.apply(null, arguments); }
3417
- var SvgTextarea = function SvgTextarea(props) {
3469
+ var SvgIFrame = function SvgIFrame(props) {
3418
3470
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
3419
3471
  xmlns: "http://www.w3.org/2000/svg",
3420
3472
  width: 54,
3421
3473
  height: 54,
3422
- fill: "currentcolor"
3474
+ fill: "none"
3423
3475
  }, props), _path$e || (_path$e = /*#__PURE__*/React__namespace.createElement("path", {
3476
+ fill: "currentColor",
3424
3477
  fillRule: "evenodd",
3425
- 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-3zm0 2H9a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V16a1 1 0 0 0-1-1m-1.136 15.5.849.849-6.364 6.364-.849-.849zm.264 3.5.849.849-2.828 2.828-.849-.849zM13 19v10h-2V19z"
3478
+ d: "M45.658 9.45c1.625 0 2.942 1.36 2.942 3.039V22.95h-1.961v-4.383H7.36V41.51c0 .56.44 1.013.98 1.013H27v2.026H8.342c-1.625 0-2.942-1.36-2.942-3.039V12.489c0-1.678 1.317-3.039 2.942-3.039zm0 2.026H8.342c-.542 0-.98.454-.98 1.013v4.052h39.277v-4.052c0-.56-.44-1.013-.98-1.013ZM31.05 35.775A8.77 8.77 0 0 1 39.825 27a8.77 8.77 0 0 1 8.775 8.775 8.77 8.77 0 0 1-8.775 8.775 8.77 8.77 0 0 1-8.775-8.775m12.388-.516h3.097c-.206-2.581-1.858-4.646-4.026-5.678.62 1.548.93 3.613.93 5.678Zm-5.162 2.065c.207 3.303 1.136 4.955 1.549 5.161.413-.206 1.239-1.858 1.445-5.161zm1.446-8.26c-.31.207-1.342 2.272-1.446 6.195h2.994c-.103-3.923-1.135-5.988-1.548-6.194Zm-3.51 6.195c.103-2.065.31-4.13.929-5.678-2.168 1.032-3.82 3.097-4.026 5.678zm0 2.065h-2.89c.515 2.064 1.96 3.82 3.819 4.645-.516-1.342-.826-2.994-.93-4.645Zm7.226 0q-.155 2.632-.929 4.645c1.858-.826 3.304-2.58 3.923-4.645z",
3479
+ clipRule: "evenodd"
3426
3480
  })));
3427
3481
  };
3428
3482
 
3429
- var _path$d;
3483
+ var _path$d, _path2$1;
3430
3484
  function _extends$d() { return _extends$d = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$d.apply(null, arguments); }
3431
- var SvgIFrame = function SvgIFrame(props) {
3485
+ var SvgImage = function SvgImage(props) {
3432
3486
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$d({
3433
3487
  xmlns: "http://www.w3.org/2000/svg",
3434
3488
  width: 54,
3435
3489
  height: 54,
3436
- fill: "none"
3490
+ fill: "currentcolor"
3437
3491
  }, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
3438
- fill: "currentColor",
3439
3492
  fillRule: "evenodd",
3440
- d: "M45.658 9.45c1.625 0 2.942 1.36 2.942 3.039V22.95h-1.961v-4.383H7.36V41.51c0 .56.44 1.013.98 1.013H27v2.026H8.342c-1.625 0-2.942-1.36-2.942-3.039V12.489c0-1.678 1.317-3.039 2.942-3.039zm0 2.026H8.342c-.542 0-.98.454-.98 1.013v4.052h39.277v-4.052c0-.56-.44-1.013-.98-1.013ZM31.05 35.775A8.77 8.77 0 0 1 39.825 27a8.77 8.77 0 0 1 8.775 8.775 8.77 8.77 0 0 1-8.775 8.775 8.77 8.77 0 0 1-8.775-8.775m12.388-.516h3.097c-.206-2.581-1.858-4.646-4.026-5.678.62 1.548.93 3.613.93 5.678Zm-5.162 2.065c.207 3.303 1.136 4.955 1.549 5.161.413-.206 1.239-1.858 1.445-5.161zm1.446-8.26c-.31.207-1.342 2.272-1.446 6.195h2.994c-.103-3.923-1.135-5.988-1.548-6.194Zm-3.51 6.195c.103-2.065.31-4.13.929-5.678-2.168 1.032-3.82 3.097-4.026 5.678zm0 2.065h-2.89c.515 2.064 1.96 3.82 3.819 4.645-.516-1.342-.826-2.994-.93-4.645Zm7.226 0q-.155 2.632-.929 4.645c1.858-.826 3.304-2.58 3.923-4.645z",
3493
+ d: "M34.636 21.91A3.818 3.818 0 1 1 27 21.908a3.818 3.818 0 0 1 7.636 0Zm-2 0A1.818 1.818 0 1 1 29 21.908a1.818 1.818 0 0 1 3.636 0Z",
3494
+ clipRule: "evenodd"
3495
+ })), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
3496
+ fillRule: "evenodd",
3497
+ d: "M15 13a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V15a2 2 0 0 0-2-2zm24 2H15v12.45l4.71-4.709a1.91 1.91 0 0 1 2.702 0l6.695 6.695 2.656-1.77a1.91 1.91 0 0 1 2.411.239L39 32.73zM15 39v-8.754a1 1 0 0 0 .168-.135l5.893-5.893 6.684 6.685a1.91 1.91 0 0 0 2.41.238l2.657-1.77 6.02 6.02q.078.077.168.135V39z",
3441
3498
  clipRule: "evenodd"
3442
3499
  })));
3443
3500
  };
3444
3501
 
3445
- var _path$c, _path2$1;
3502
+ var _path$c;
3446
3503
  function _extends$c() { return _extends$c = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$c.apply(null, arguments); }
3447
- var SvgImage = function SvgImage(props) {
3504
+ var SvgTable = function SvgTable(props) {
3448
3505
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
3449
3506
  xmlns: "http://www.w3.org/2000/svg",
3450
- width: 54,
3451
- height: 54,
3452
- fill: "currentcolor"
3507
+ fill: "none",
3508
+ viewBox: "0 0 54 54"
3453
3509
  }, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
3510
+ fill: "currentcolor",
3454
3511
  fillRule: "evenodd",
3455
- d: "M34.636 21.91A3.818 3.818 0 1 1 27 21.908a3.818 3.818 0 0 1 7.636 0Zm-2 0A1.818 1.818 0 1 1 29 21.908a1.818 1.818 0 0 1 3.636 0Z",
3456
- clipRule: "evenodd"
3457
- })), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
3458
- fillRule: "evenodd",
3459
- d: "M15 13a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V15a2 2 0 0 0-2-2zm24 2H15v12.45l4.71-4.709a1.91 1.91 0 0 1 2.702 0l6.695 6.695 2.656-1.77a1.91 1.91 0 0 1 2.411.239L39 32.73zM15 39v-8.754a1 1 0 0 0 .168-.135l5.893-5.893 6.684 6.685a1.91 1.91 0 0 0 2.41.238l2.657-1.77 6.02 6.02q.078.077.168.135V39z",
3512
+ d: "M42.545 12.273A2.455 2.455 0 0 1 45 14.727v24.546a2.455 2.455 0 0 1-2.455 2.454h-31.09A2.455 2.455 0 0 1 9 39.273V14.727a2.455 2.455 0 0 1 2.455-2.454zM27.818 40.09h14.727a.82.82 0 0 0 .819-.818v-4.91H27.818Zm-1.636-5.727v5.727H11.455a.82.82 0 0 1-.819-.818v-4.91zm1.636-1.637h15.546V27H27.818ZM26.182 27v5.727H10.636V27zm1.636-1.636h15.546v-5.728H27.818Zm-1.636-5.728v5.728H10.636v-5.728z",
3460
3513
  clipRule: "evenodd"
3461
3514
  })));
3462
3515
  };
3463
3516
 
3464
3517
  var _path$b;
3465
3518
  function _extends$b() { return _extends$b = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$b.apply(null, arguments); }
3466
- var SvgTable = function SvgTable(props) {
3519
+ var SvgFilePicker = function SvgFilePicker(props) {
3467
3520
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$b({
3468
3521
  xmlns: "http://www.w3.org/2000/svg",
3469
- fill: "none",
3470
- viewBox: "0 0 54 54"
3522
+ width: 54,
3523
+ height: 54,
3524
+ fill: "none"
3471
3525
  }, props), _path$b || (_path$b = /*#__PURE__*/React__namespace.createElement("path", {
3472
3526
  fill: "currentcolor",
3473
3527
  fillRule: "evenodd",
3474
- d: "M42.545 12.273A2.455 2.455 0 0 1 45 14.727v24.546a2.455 2.455 0 0 1-2.455 2.454h-31.09A2.455 2.455 0 0 1 9 39.273V14.727a2.455 2.455 0 0 1 2.455-2.454zM27.818 40.09h14.727a.82.82 0 0 0 .819-.818v-4.91H27.818Zm-1.636-5.727v5.727H11.455a.82.82 0 0 1-.819-.818v-4.91zm1.636-1.637h15.546V27H27.818ZM26.182 27v5.727H10.636V27zm1.636-1.636h15.546v-5.728H27.818Zm-1.636-5.728v5.728H10.636v-5.728z",
3528
+ d: "M17.55 41.175H27v2.362h-9.45a2.37 2.37 0 0 1-2.363-2.362v-28.35a2.37 2.37 0 0 1 2.363-2.363h11.813a1.07 1.07 0 0 1 .826.355l8.27 8.269a1.07 1.07 0 0 1 .353.826v5.907H36.45v-3.544h-7.088A2.37 2.37 0 0 1 27 19.912v-7.087h-9.45zm18.427-21.263-6.614-6.615v6.615zm4.253 18.664 3.308 3.308-1.654 1.653-3.308-3.307a6.35 6.35 0 0 1-3.307.945c-3.308 0-5.906-2.599-5.906-5.906 0-3.308 2.598-5.907 5.906-5.907s5.906 2.6 5.906 5.907a6.35 6.35 0 0 1-.945 3.307m-4.961-6.851c-2.008 0-3.544 1.536-3.544 3.544s1.536 3.543 3.544 3.543 3.544-1.535 3.544-3.543-1.536-3.544-3.544-3.544",
3475
3529
  clipRule: "evenodd"
3476
3530
  })));
3477
3531
  };
@@ -3499,11 +3553,12 @@ const iconsByType = type => {
3499
3553
  textfield: SvgTextfield,
3500
3554
  textarea: SvgTextarea,
3501
3555
  table: SvgTable,
3556
+ filepicker: SvgFilePicker,
3502
3557
  default: SvgForm
3503
3558
  }[type];
3504
3559
  };
3505
3560
 
3506
- const type$c = 'image';
3561
+ const type$d = 'image';
3507
3562
  function Image(props) {
3508
3563
  const {
3509
3564
  field
@@ -3525,7 +3580,7 @@ function Image(props) {
3525
3580
  formId
3526
3581
  } = hooks.useContext(FormContext);
3527
3582
  return jsxRuntime.jsxs("div", {
3528
- class: formFieldClasses(type$c),
3583
+ class: formFieldClasses(type$d),
3529
3584
  children: [safeSource && jsxRuntime.jsx("div", {
3530
3585
  class: "fjs-image-container",
3531
3586
  children: jsxRuntime.jsx("img", {
@@ -3549,13 +3604,12 @@ function Image(props) {
3549
3604
  });
3550
3605
  }
3551
3606
  Image.config = {
3552
- type: type$c,
3607
+ type: type$d,
3553
3608
  keyed: false,
3554
- label: 'Image view',
3609
+ name: 'Image view',
3555
3610
  group: 'presentation',
3556
- create: (options = {}) => ({
3557
- ...options
3558
- })
3611
+ create: (options = {}) => options,
3612
+ getSubheading: field => field.alt
3559
3613
  };
3560
3614
 
3561
3615
  function TemplatedInputAdorner(props) {
@@ -3639,7 +3693,7 @@ function isNullEquivalentValue(value) {
3639
3693
  return value === undefined || value === null || value === '';
3640
3694
  }
3641
3695
 
3642
- const type$b = 'number';
3696
+ const type$c = 'number';
3643
3697
  function Numberfield(props) {
3644
3698
  const {
3645
3699
  disabled,
@@ -3666,6 +3720,8 @@ function Numberfield(props) {
3666
3720
  const {
3667
3721
  required
3668
3722
  } = validate;
3723
+
3724
+ /** @type {import("preact").RefObject<HTMLInputElement>} */
3669
3725
  const inputRef = hooks.useRef();
3670
3726
  const [cachedValue, setCachedValue] = hooks.useState(value);
3671
3727
  const [displayValue, setDisplayValue] = hooks.useState(value);
@@ -3784,7 +3840,7 @@ function Numberfield(props) {
3784
3840
  const descriptionId = `${domId}-description`;
3785
3841
  const errorMessageId = `${domId}-error-message`;
3786
3842
  return jsxRuntime.jsxs("div", {
3787
- class: formFieldClasses(type$b, {
3843
+ class: formFieldClasses(type$c, {
3788
3844
  errors,
3789
3845
  disabled,
3790
3846
  readonly
@@ -3860,9 +3916,9 @@ function Numberfield(props) {
3860
3916
  });
3861
3917
  }
3862
3918
  Numberfield.config = {
3863
- type: type$b,
3919
+ type: type$c,
3864
3920
  keyed: true,
3865
- label: 'Number',
3921
+ name: 'Number',
3866
3922
  group: 'basic-input',
3867
3923
  emptyValue: null,
3868
3924
  sanitizeValue: ({
@@ -3876,11 +3932,12 @@ Numberfield.config = {
3876
3932
  return formField.serializeToString ? value.toString() : Number(value);
3877
3933
  },
3878
3934
  create: (options = {}) => ({
3935
+ label: 'Number',
3879
3936
  ...options
3880
3937
  })
3881
3938
  };
3882
3939
 
3883
- const type$a = 'radio';
3940
+ const type$b = 'radio';
3884
3941
  function Radio(props) {
3885
3942
  const {
3886
3943
  disabled,
@@ -3897,6 +3954,8 @@ function Radio(props) {
3897
3954
  label,
3898
3955
  validate = {}
3899
3956
  } = field;
3957
+
3958
+ /** @type {import("preact").RefObject<HTMLDivElement>} */
3900
3959
  const outerDivRef = hooks.useRef();
3901
3960
  const {
3902
3961
  required
@@ -3932,7 +3991,7 @@ function Radio(props) {
3932
3991
  const descriptionId = `${domId}-description`;
3933
3992
  const errorMessageId = `${domId}-error-message`;
3934
3993
  return jsxRuntime.jsxs("div", {
3935
- class: formFieldClasses(type$a, {
3994
+ class: formFieldClasses(type$b, {
3936
3995
  errors,
3937
3996
  disabled,
3938
3997
  readonly
@@ -3953,6 +4012,7 @@ function Radio(props) {
3953
4012
  class: "fjs-input",
3954
4013
  disabled: disabled,
3955
4014
  readOnly: readonly,
4015
+ name: domId,
3956
4016
  id: itemDomId,
3957
4017
  type: "radio",
3958
4018
  onClick: () => onChange(option.value),
@@ -3980,13 +4040,16 @@ function Radio(props) {
3980
4040
  });
3981
4041
  }
3982
4042
  Radio.config = {
3983
- type: type$a,
4043
+ type: type$b,
3984
4044
  keyed: true,
3985
- label: 'Radio group',
4045
+ name: 'Radio group',
3986
4046
  group: 'selection',
3987
4047
  emptyValue: null,
3988
4048
  sanitizeValue: sanitizeSingleSelectValue,
3989
- create: createEmptyOptions
4049
+ create: (options = {}) => ({
4050
+ label: 'Radio group',
4051
+ ...createEmptyOptions(options)
4052
+ })
3990
4053
  };
3991
4054
 
3992
4055
  var _path$8;
@@ -4021,6 +4084,8 @@ function SearchableSelect(props) {
4021
4084
  const [isDropdownExpanded, setIsDropdownExpanded] = hooks.useState(false);
4022
4085
  const [isFilterActive, setIsFilterActive] = hooks.useState(true);
4023
4086
  const [isEscapeClosed, setIsEscapeClose] = hooks.useState(false);
4087
+
4088
+ /** @type {import("preact").RefObject<HTMLInputElement>} */
4024
4089
  const searchbarRef = hooks.useRef();
4025
4090
  const eventBus = useService('eventBus');
4026
4091
  const {
@@ -4185,6 +4250,8 @@ function SimpleSelect(props) {
4185
4250
  } = props;
4186
4251
  const [isDropdownExpanded, setIsDropdownExpanded] = hooks.useState(false);
4187
4252
  const selectRef = hooks.useRef();
4253
+
4254
+ /** @type {import("preact").RefObject<HTMLInputElement>} */
4188
4255
  const inputRef = hooks.useRef();
4189
4256
  const {
4190
4257
  loadState,
@@ -4290,7 +4357,7 @@ function SimpleSelect(props) {
4290
4357
  });
4291
4358
  }
4292
4359
 
4293
- const type$9 = 'select';
4360
+ const type$a = 'select';
4294
4361
  function Select(props) {
4295
4362
  const {
4296
4363
  disabled,
@@ -4329,7 +4396,7 @@ function Select(props) {
4329
4396
  'aria-describedby': [descriptionId, errorMessageId].join(' ')
4330
4397
  };
4331
4398
  return jsxRuntime.jsxs("div", {
4332
- class: formFieldClasses(type$9, {
4399
+ class: formFieldClasses(type$a, {
4333
4400
  errors,
4334
4401
  disabled,
4335
4402
  readonly
@@ -4358,33 +4425,36 @@ function Select(props) {
4358
4425
  });
4359
4426
  }
4360
4427
  Select.config = {
4361
- type: type$9,
4428
+ type: type$a,
4362
4429
  keyed: true,
4363
- label: 'Select',
4430
+ name: 'Select',
4364
4431
  group: 'selection',
4365
4432
  emptyValue: null,
4366
4433
  sanitizeValue: sanitizeSingleSelectValue,
4367
- create: createEmptyOptions
4434
+ create: (options = {}) => ({
4435
+ label: 'Select',
4436
+ ...createEmptyOptions(options)
4437
+ })
4368
4438
  };
4369
4439
 
4370
- const type$8 = 'separator';
4440
+ const type$9 = 'separator';
4371
4441
  function Separator() {
4372
4442
  return jsxRuntime.jsx("div", {
4373
- class: formFieldClasses(type$8),
4443
+ class: formFieldClasses(type$9),
4374
4444
  children: jsxRuntime.jsx("hr", {})
4375
4445
  });
4376
4446
  }
4377
4447
  Separator.config = {
4378
- type: type$8,
4448
+ type: type$9,
4379
4449
  keyed: false,
4380
- label: 'Separator',
4450
+ name: 'Separator',
4381
4451
  group: 'presentation',
4382
4452
  create: (options = {}) => ({
4383
4453
  ...options
4384
4454
  })
4385
4455
  };
4386
4456
 
4387
- const type$7 = 'spacer';
4457
+ const type$8 = 'spacer';
4388
4458
  function Spacer(props) {
4389
4459
  const {
4390
4460
  field
@@ -4393,16 +4463,16 @@ function Spacer(props) {
4393
4463
  height = 60
4394
4464
  } = field;
4395
4465
  return jsxRuntime.jsx("div", {
4396
- class: formFieldClasses(type$7),
4466
+ class: formFieldClasses(type$8),
4397
4467
  style: {
4398
4468
  height: height
4399
4469
  }
4400
4470
  });
4401
4471
  }
4402
4472
  Spacer.config = {
4403
- type: type$7,
4473
+ type: type$8,
4404
4474
  keyed: false,
4405
- label: 'Spacer',
4475
+ name: 'Spacer',
4406
4476
  group: 'presentation',
4407
4477
  create: (options = {}) => ({
4408
4478
  height: 60,
@@ -4448,9 +4518,10 @@ DynamicList.config = {
4448
4518
  type: 'dynamiclist',
4449
4519
  pathed: true,
4450
4520
  repeatable: true,
4451
- label: 'Dynamic list',
4521
+ name: 'Dynamic list',
4452
4522
  group: 'container',
4453
4523
  create: (options = {}) => ({
4524
+ label: 'Dynamic list',
4454
4525
  components: [],
4455
4526
  showOutline: true,
4456
4527
  isRepeating: true,
@@ -4481,7 +4552,7 @@ function SkipLink(props) {
4481
4552
  });
4482
4553
  }
4483
4554
 
4484
- const type$6 = 'taglist';
4555
+ const type$7 = 'taglist';
4485
4556
  function Taglist(props) {
4486
4557
  const {
4487
4558
  disabled,
@@ -4504,7 +4575,11 @@ function Taglist(props) {
4504
4575
  const [filter, setFilter] = hooks.useState('');
4505
4576
  const [isDropdownExpanded, setIsDropdownExpanded] = hooks.useState(false);
4506
4577
  const [isEscapeClosed, setIsEscapeClose] = hooks.useState(false);
4578
+
4579
+ /** @type {import("preact").RefObject<HTMLDivElement>} */
4507
4580
  const focusScopeRef = hooks.useRef();
4581
+
4582
+ /** @type {import("preact").RefObject<HTMLInputElement>} */
4508
4583
  const inputRef = hooks.useRef();
4509
4584
  const eventBus = useService('eventBus');
4510
4585
  const {
@@ -4623,7 +4698,7 @@ function Taglist(props) {
4623
4698
  const errorMessageId = `${domId}-error-message`;
4624
4699
  return jsxRuntime.jsxs("div", {
4625
4700
  ref: focusScopeRef,
4626
- class: formFieldClasses(type$6, {
4701
+ class: formFieldClasses(type$7, {
4627
4702
  errors,
4628
4703
  disabled,
4629
4704
  readonly
@@ -4708,13 +4783,16 @@ function Taglist(props) {
4708
4783
  });
4709
4784
  }
4710
4785
  Taglist.config = {
4711
- type: type$6,
4786
+ type: type$7,
4712
4787
  keyed: true,
4713
- label: 'Tag list',
4788
+ name: 'Tag list',
4714
4789
  group: 'selection',
4715
4790
  emptyValue: [],
4716
4791
  sanitizeValue: sanitizeMultiSelectValue,
4717
- create: createEmptyOptions
4792
+ create: (options = {}) => ({
4793
+ label: 'Tag list',
4794
+ ...createEmptyOptions(options)
4795
+ })
4718
4796
  };
4719
4797
 
4720
4798
  const NODE_TYPE_TEXT = 3,
@@ -4829,7 +4907,7 @@ function isValidAttribute(lcTag, lcName, value) {
4829
4907
  return true;
4830
4908
  }
4831
4909
 
4832
- const type$5 = 'text';
4910
+ const type$6 = 'text';
4833
4911
  function Text(props) {
4834
4912
  const form = useService('form');
4835
4913
  const {
@@ -4876,22 +4954,25 @@ function Text(props) {
4876
4954
  sanitizeStyleTags: false
4877
4955
  });
4878
4956
  return jsxRuntime.jsx("div", {
4879
- class: formFieldClasses(type$5),
4957
+ class: formFieldClasses(type$6),
4880
4958
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
4881
4959
  });
4882
4960
  }
4883
4961
  Text.config = {
4884
- type: type$5,
4962
+ type: type$6,
4885
4963
  keyed: false,
4886
- label: 'Text view',
4964
+ name: 'Text view',
4887
4965
  group: 'presentation',
4888
4966
  create: (options = {}) => ({
4889
4967
  text: '# Text',
4890
4968
  ...options
4891
- })
4969
+ }),
4970
+ getSubheading: field => {
4971
+ textToLabel(field.text);
4972
+ }
4892
4973
  };
4893
4974
 
4894
- const type$4 = 'html';
4975
+ const type$5 = 'html';
4895
4976
  function Html(props) {
4896
4977
  const form = useService('form');
4897
4978
  const {
@@ -4942,14 +5023,14 @@ function Html(props) {
4942
5023
  sanitizeStyleTags: false
4943
5024
  });
4944
5025
  return jsxRuntime.jsx("div", {
4945
- class: classNames(formFieldClasses(type$4), styleScope),
5026
+ class: classNames(formFieldClasses(type$5), styleScope),
4946
5027
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
4947
5028
  });
4948
5029
  }
4949
5030
  Html.config = {
4950
- type: type$4,
5031
+ type: type$5,
4951
5032
  keyed: false,
4952
- label: 'HTML view',
5033
+ name: 'HTML view',
4953
5034
  group: 'presentation',
4954
5035
  create: (options = {}) => ({
4955
5036
  content: '',
@@ -4957,7 +5038,7 @@ Html.config = {
4957
5038
  })
4958
5039
  };
4959
5040
 
4960
- const type$3 = 'expression';
5041
+ const type$4 = 'expression';
4961
5042
  function ExpressionField(props) {
4962
5043
  const {
4963
5044
  field,
@@ -4994,8 +5075,8 @@ function ExpressionField(props) {
4994
5075
  return null;
4995
5076
  }
4996
5077
  ExpressionField.config = {
4997
- type: type$3,
4998
- label: 'Expression',
5078
+ type: type$4,
5079
+ name: 'Expression',
4999
5080
  group: 'basic-input',
5000
5081
  keyed: true,
5001
5082
  emptyValue: null,
@@ -5006,7 +5087,7 @@ ExpressionField.config = {
5006
5087
  })
5007
5088
  };
5008
5089
 
5009
- const type$2 = 'textfield';
5090
+ const type$3 = 'textfield';
5010
5091
  function Textfield(props) {
5011
5092
  const {
5012
5093
  disabled,
@@ -5048,7 +5129,7 @@ function Textfield(props) {
5048
5129
  const descriptionId = `${domId}-description`;
5049
5130
  const errorMessageId = `${domId}-error-message`;
5050
5131
  return jsxRuntime.jsxs("div", {
5051
- class: formFieldClasses(type$2, {
5132
+ class: formFieldClasses(type$3, {
5052
5133
  errors,
5053
5134
  disabled,
5054
5135
  readonly
@@ -5086,9 +5167,9 @@ function Textfield(props) {
5086
5167
  });
5087
5168
  }
5088
5169
  Textfield.config = {
5089
- type: type$2,
5170
+ type: type$3,
5090
5171
  keyed: true,
5091
- label: 'Text field',
5172
+ name: 'Text field',
5092
5173
  group: 'basic-input',
5093
5174
  emptyValue: '',
5094
5175
  sanitizeValue: ({
@@ -5105,11 +5186,12 @@ Textfield.config = {
5105
5186
  return String(value);
5106
5187
  },
5107
5188
  create: (options = {}) => ({
5189
+ label: 'Text field',
5108
5190
  ...options
5109
5191
  })
5110
5192
  };
5111
5193
 
5112
- const type$1 = 'textarea';
5194
+ const type$2 = 'textarea';
5113
5195
  function Textarea(props) {
5114
5196
  const {
5115
5197
  disabled,
@@ -5159,7 +5241,7 @@ function Textarea(props) {
5159
5241
  const descriptionId = `${domId}-description`;
5160
5242
  const errorMessageId = `${domId}-error-message`;
5161
5243
  return jsxRuntime.jsxs("div", {
5162
- class: formFieldClasses(type$1, {
5244
+ class: formFieldClasses(type$2, {
5163
5245
  errors,
5164
5246
  disabled,
5165
5247
  readonly
@@ -5191,15 +5273,16 @@ function Textarea(props) {
5191
5273
  });
5192
5274
  }
5193
5275
  Textarea.config = {
5194
- type: type$1,
5276
+ type: type$2,
5195
5277
  keyed: true,
5196
- label: 'Text area',
5278
+ name: 'Text area',
5197
5279
  group: 'basic-input',
5198
5280
  emptyValue: '',
5199
5281
  sanitizeValue: ({
5200
5282
  value
5201
5283
  }) => minDash.isArray(value) || minDash.isObject(value) || minDash.isNil(value) ? '' : String(value),
5202
5284
  create: (options = {}) => ({
5285
+ label: 'Text area',
5203
5286
  ...options
5204
5287
  })
5205
5288
  };
@@ -5272,7 +5355,7 @@ var SvgCaretRight = function SvgCaretRight(props) {
5272
5355
  })));
5273
5356
  };
5274
5357
 
5275
- const type = 'table';
5358
+ const type$1 = 'table';
5276
5359
 
5277
5360
  /**
5278
5361
  * @typedef {('asc'|'desc')} Direction
@@ -5311,9 +5394,7 @@ function Table(props) {
5311
5394
  id,
5312
5395
  label
5313
5396
  } = field;
5314
-
5315
- /** @type {[(null|Sorting), import("preact/hooks").StateUpdater<null|Sorting>]} */
5316
- const [sortBy, setSortBy] = hooks.useState(null);
5397
+ const [sortBy, setSortBy] = hooks.useState(/** @type {Sorting | null} */null);
5317
5398
  const evaluatedColumns = useEvaluatedColumns(columnsExpression || '', columns);
5318
5399
  const columnKeys = evaluatedColumns.map(({
5319
5400
  key
@@ -5355,7 +5436,7 @@ function Table(props) {
5355
5436
  });
5356
5437
  }
5357
5438
  return jsxRuntime.jsxs("div", {
5358
- class: formFieldClasses(type),
5439
+ class: formFieldClasses(type$1),
5359
5440
  children: [jsxRuntime.jsx(Label, {
5360
5441
  htmlFor: prefixId(id),
5361
5442
  label: label
@@ -5452,9 +5533,9 @@ function Table(props) {
5452
5533
  });
5453
5534
  }
5454
5535
  Table.config = {
5455
- type,
5536
+ type: type$1,
5456
5537
  keyed: false,
5457
- label: 'Table',
5538
+ name: 'Table',
5458
5539
  group: 'presentation',
5459
5540
  create: (options = {}) => {
5460
5541
  const {
@@ -5483,6 +5564,7 @@ Table.config = {
5483
5564
  }
5484
5565
  return {
5485
5566
  ...remainingOptions,
5567
+ label: 'Table',
5486
5568
  rowCount: 10,
5487
5569
  columns: [{
5488
5570
  label: 'ID',
@@ -5604,6 +5686,148 @@ function getHeaderAriaLabel(sortBy, key, label) {
5604
5686
  return `Click to sort by ${label} ascending`;
5605
5687
  }
5606
5688
 
5689
+ const type = 'filepicker';
5690
+
5691
+ /**
5692
+ * @typedef Props
5693
+ * @property {(props: { value: string }) => void} onChange
5694
+ * @property {string} domId
5695
+ * @property {string[]} errors
5696
+ * @property {boolean} disabled
5697
+ * @property {boolean} readonly
5698
+ * @property {boolean} required
5699
+ * @property {Object} field
5700
+ * @property {string} field.id
5701
+ * @property {string} [field.label]
5702
+ * @property {string} [field.accept]
5703
+ * @property {boolean} [field.multiple]
5704
+ *
5705
+ * @param {Props} props
5706
+ * @returns {import("preact").JSX.Element}
5707
+ */
5708
+ function FilePicker(props) {
5709
+ /** @type {import("preact/hooks").Ref<HTMLInputElement>} */
5710
+ const fileInputRef = hooks.useRef(null);
5711
+ /** @type {[File[],import("preact/hooks").StateUpdater<File[]>]} */
5712
+ const [selectedFiles, setSelectedFiles] = hooks.useState([]);
5713
+ const eventBus = useService('eventBus');
5714
+ const {
5715
+ field,
5716
+ onChange,
5717
+ domId,
5718
+ errors = [],
5719
+ disabled,
5720
+ readonly,
5721
+ required
5722
+ } = props;
5723
+ const {
5724
+ label,
5725
+ multiple = '',
5726
+ accept = '',
5727
+ id
5728
+ } = field;
5729
+ const evaluatedAccept = useSingleLineTemplateEvaluation(accept);
5730
+ const evaluatedMultiple = useSingleLineTemplateEvaluation(typeof multiple === 'string' ? multiple : multiple.toString()) === 'true';
5731
+ const errorMessageId = `${domId}-error-message`;
5732
+ hooks.useEffect(() => {
5733
+ const reset = () => {
5734
+ setSelectedFiles([]);
5735
+ onChange({
5736
+ value: null
5737
+ });
5738
+ };
5739
+ eventBus.on('import.done', reset);
5740
+ eventBus.on('reset', reset);
5741
+ return () => {
5742
+ eventBus.off('import.done', reset);
5743
+ eventBus.off('reset', reset);
5744
+ };
5745
+ }, [eventBus, onChange]);
5746
+ return jsxRuntime.jsxs("div", {
5747
+ class: formFieldClasses(type, {
5748
+ errors,
5749
+ disabled,
5750
+ readonly
5751
+ }),
5752
+ children: [jsxRuntime.jsx(Label, {
5753
+ htmlFor: domId,
5754
+ label: label,
5755
+ required: required
5756
+ }), jsxRuntime.jsx("input", {
5757
+ type: "file",
5758
+ className: "fjs-hidden",
5759
+ ref: fileInputRef,
5760
+ id: domId,
5761
+ name: domId,
5762
+ multiple: evaluatedMultiple === false ? undefined : evaluatedMultiple,
5763
+ accept: evaluatedAccept === '' ? undefined : evaluatedAccept,
5764
+ onChange: event => {
5765
+ const input = /** @type {HTMLInputElement} */event.target;
5766
+ if (input.files === null || input.files.length === 0) {
5767
+ onChange({
5768
+ value: null
5769
+ });
5770
+ return;
5771
+ }
5772
+ const files = Array.from(input.files);
5773
+ onChange({
5774
+ value: `${id}_value_key`
5775
+ });
5776
+ setSelectedFiles(files);
5777
+ }
5778
+ }), jsxRuntime.jsxs("div", {
5779
+ className: "fjs-filepicker-container",
5780
+ children: [jsxRuntime.jsx("button", {
5781
+ type: "button",
5782
+ disabled: disabled,
5783
+ readonly: readonly,
5784
+ class: "fjs-button",
5785
+ onClick: () => {
5786
+ fileInputRef.current.click();
5787
+ },
5788
+ children: "Browse"
5789
+ }), jsxRuntime.jsx("span", {
5790
+ className: "fjs-form-field-label",
5791
+ children: getSelectedFilesLabel(selectedFiles)
5792
+ })]
5793
+ }), jsxRuntime.jsx(Errors, {
5794
+ id: errorMessageId,
5795
+ errors: errors
5796
+ })]
5797
+ });
5798
+ }
5799
+ FilePicker.config = {
5800
+ type: 'filepicker',
5801
+ keyed: true,
5802
+ label: 'File picker',
5803
+ group: 'basic-input',
5804
+ emptyValue: null,
5805
+ sanitizeValue: ({
5806
+ value
5807
+ }) => {
5808
+ return value;
5809
+ },
5810
+ create: (options = {}) => ({
5811
+ ...options
5812
+ })
5813
+ };
5814
+
5815
+ // helper //////////
5816
+
5817
+ /**
5818
+ * @param {File[]} files
5819
+ * @returns {string}
5820
+ */
5821
+ function getSelectedFilesLabel(files) {
5822
+ if (files.length === 0) {
5823
+ return 'No files selected';
5824
+ }
5825
+ if (files.length === 1) {
5826
+ return files[0].name;
5827
+ }
5828
+ return `${files.length} files selected`;
5829
+ }
5830
+
5607
5831
  /**
5608
5832
  * This file must not be changed or exchanged.
5609
5833
  *
@@ -5740,7 +5964,7 @@ function FormComponent(props) {
5740
5964
  }
5741
5965
 
5742
5966
  const formFields = [/* Input */
5743
- Textfield, Textarea, Numberfield, Datetime, ExpressionField, /* Selection */
5967
+ Textfield, Textarea, Numberfield, Datetime, ExpressionField, FilePicker, /* Selection */
5744
5968
  Checkbox, Checklist, Radio, Select, Taglist, /* Presentation */
5745
5969
  Text, Image, Table, Html, Spacer, Separator, /* Containers */
5746
5970
  Group, DynamicList, IFrame, /* Other */
@@ -6956,7 +7180,7 @@ class RepeatRenderManager {
6956
7180
  * @param {Object} props.itemValue
6957
7181
  * @param {Object} props.parentExpressionContextInfo
6958
7182
  * @param {Object} props.repeaterField
6959
- * @param {Function} props.RowsRenderer
7183
+ * @param {import('preact').FunctionComponent} props.RowsRenderer
6960
7184
  * @param {Object} props.indexes
6961
7185
  * @param {Function} props.onDeleteItem
6962
7186
  * @param {boolean} props.showRemove
@@ -7840,7 +8064,7 @@ class FieldFactory {
7840
8064
  this._pathRegistry = pathRegistry;
7841
8065
  this._formFields = formFields;
7842
8066
  }
7843
- create(attrs, applyDefaults = true) {
8067
+ create(attrs, isNewField = true) {
7844
8068
  const {
7845
8069
  id,
7846
8070
  type,
@@ -7879,13 +8103,12 @@ class FieldFactory {
7879
8103
  })) {
7880
8104
  throw new Error(`binding path '${[...parentPath, ...path.split('.')].join('.')}' is already claimed`);
7881
8105
  }
7882
- const labelAttrs = applyDefaults && config.label ? {
7883
- label: config.label
7884
- } : {};
7885
8106
  const field = config.create({
7886
- ...labelAttrs,
8107
+ ...(config.label ? {
8108
+ label: config.label
8109
+ } : {}),
7887
8110
  ...attrs
7888
- });
8111
+ }, isNewField);
7889
8112
  this._ensureId(field);
7890
8113
  if (config.keyed) {
7891
8114
  this._ensureKey(field);
@@ -9009,7 +9232,7 @@ class Form {
9009
9232
  }
9010
9233
  }
9011
9234
 
9012
- const schemaVersion = 16;
9235
+ const schemaVersion = 17;
9013
9236
 
9014
9237
  /**
9015
9238
  * @typedef { import('./types').CreateFormOptions } CreateFormOptions
@@ -9056,6 +9279,7 @@ exports.ExpressionLoopPreventer = ExpressionLoopPreventer;
9056
9279
  exports.FeelExpressionLanguage = FeelExpressionLanguage;
9057
9280
  exports.FeelersTemplating = FeelersTemplating;
9058
9281
  exports.FieldFactory = FieldFactory;
9282
+ exports.FilePicker = FilePicker;
9059
9283
  exports.Form = Form;
9060
9284
  exports.FormComponent = FormComponent;
9061
9285
  exports.FormContext = FormContext;