@bpmn-io/form-js-playground 1.9.2 → 1.11.0-alpha.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.
@@ -58201,7 +58201,7 @@
58201
58201
  };
58202
58202
 
58203
58203
  /**
58204
- * marked v13.0.0 - a markdown parser
58204
+ * marked v14.0.0 - a markdown parser
58205
58205
  * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)
58206
58206
  * https://github.com/markedjs/marked
58207
58207
  */
@@ -58260,18 +58260,6 @@
58260
58260
  }
58261
58261
  return html;
58262
58262
  }
58263
- const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
58264
- function unescape(html) {
58265
- // explicitly match decimal, hex, and named HTML entities
58266
- return html.replace(unescapeTest, (_, n) => {
58267
- n = n.toLowerCase();
58268
- if (n === 'colon') return ':';
58269
- if (n.charAt(0) === '#') {
58270
- return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
58271
- }
58272
- return '';
58273
- });
58274
- }
58275
58263
  const caret = /(^|[^\[])\^/g;
58276
58264
  function edit(regex, opt) {
58277
58265
  let source = typeof regex === 'string' ? regex : regex.source;
@@ -58292,7 +58280,7 @@
58292
58280
  function cleanUrl(href) {
58293
58281
  try {
58294
58282
  href = encodeURI(href).replace(/%25/g, '%');
58295
- } catch (e) {
58283
+ } catch {
58296
58284
  return null;
58297
58285
  }
58298
58286
  return href;
@@ -58595,12 +58583,12 @@
58595
58583
  }
58596
58584
  // Get next list item
58597
58585
  const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`);
58598
- let raw = '';
58599
- let itemContents = '';
58600
58586
  let endsWithBlankLine = false;
58601
58587
  // Check if current bullet point can start a new List Item
58602
58588
  while (src) {
58603
58589
  let endEarly = false;
58590
+ let raw = '';
58591
+ let itemContents = '';
58604
58592
  if (!(cap = itemRegex.exec(src))) {
58605
58593
  break;
58606
58594
  }
@@ -58612,18 +58600,20 @@
58612
58600
  src = src.substring(raw.length);
58613
58601
  let line = cap[2].split('\n', 1)[0].replace(/^\t+/, t => ' '.repeat(3 * t.length));
58614
58602
  let nextLine = src.split('\n', 1)[0];
58603
+ let blankLine = !line.trim();
58615
58604
  let indent = 0;
58616
58605
  if (this.options.pedantic) {
58617
58606
  indent = 2;
58618
58607
  itemContents = line.trimStart();
58608
+ } else if (blankLine) {
58609
+ indent = cap[1].length + 1;
58619
58610
  } else {
58620
58611
  indent = cap[2].search(/[^ ]/); // Find first non-space char
58621
58612
  indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
58622
58613
  itemContents = line.slice(indent);
58623
58614
  indent += cap[1].length;
58624
58615
  }
58625
- let blankLine = false;
58626
- if (!line && /^ *$/.test(nextLine)) {
58616
+ if (blankLine && /^ *$/.test(nextLine)) {
58627
58617
  // Items begin with at most one blank line
58628
58618
  raw += nextLine + '\n';
58629
58619
  src = src.substring(nextLine.length + 1);
@@ -58721,8 +58711,8 @@
58721
58711
  list.raw += raw;
58722
58712
  }
58723
58713
  // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
58724
- list.items[list.items.length - 1].raw = raw.trimEnd();
58725
- list.items[list.items.length - 1].text = itemContents.trimEnd();
58714
+ list.items[list.items.length - 1].raw = list.items[list.items.length - 1].raw.trimEnd();
58715
+ list.items[list.items.length - 1].text = list.items[list.items.length - 1].text.trimEnd();
58726
58716
  list.raw = list.raw.trimEnd();
58727
58717
  // Item child tokens handled here at end because we needed to have the final item to trim it first
58728
58718
  for (let i = 0; i < list.items.length; i++) {
@@ -60249,8 +60239,8 @@
60249
60239
  class Marked {
60250
60240
  defaults = _getDefaults();
60251
60241
  options = this.setOptions;
60252
- parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);
60253
- parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);
60242
+ parse = this.parseMarkdown(_Lexer.lex, _Parser.parse);
60243
+ parseInline = this.parseMarkdown(_Lexer.lexInline, _Parser.parseInline);
60254
60244
  Parser = _Parser;
60255
60245
  Renderer = _Renderer;
60256
60246
  TextRenderer = _TextRenderer;
@@ -60384,14 +60374,10 @@
60384
60374
  continue;
60385
60375
  }
60386
60376
  const rendererProp = prop;
60387
- let rendererFunc = pack.renderer[rendererProp];
60377
+ const rendererFunc = pack.renderer[rendererProp];
60388
60378
  const prevRenderer = renderer[rendererProp];
60389
60379
  // Replace renderer with func to run extension, but fall back if false
60390
60380
  renderer[rendererProp] = (...args) => {
60391
- if (!pack.useNewRenderer) {
60392
- // TODO: Remove this in next major version
60393
- rendererFunc = this.#convertRendererFunction(rendererFunc, rendererProp, renderer);
60394
- }
60395
60381
  let ret = rendererFunc.apply(renderer, args);
60396
60382
  if (ret === false) {
60397
60383
  ret = prevRenderer.apply(renderer, args);
@@ -60484,219 +60470,6 @@
60484
60470
  });
60485
60471
  return this;
60486
60472
  }
60487
- // TODO: Remove this in next major release
60488
- #convertRendererFunction(func, prop, renderer) {
60489
- switch (prop) {
60490
- case 'heading':
60491
- return function (token) {
60492
- if (!token.type || token.type !== prop) {
60493
- // @ts-ignore
60494
- // eslint-disable-next-line prefer-rest-params
60495
- return func.apply(this, arguments);
60496
- }
60497
- return func(renderer.parser.parseInline(token.tokens), token.depth, unescape(renderer.parser.parseInline(token.tokens, renderer.parser.textRenderer)));
60498
- };
60499
- case 'code':
60500
- return function (token) {
60501
- if (!token.type || token.type !== prop) {
60502
- // @ts-ignore
60503
- // eslint-disable-next-line prefer-rest-params
60504
- return func.apply(this, arguments);
60505
- }
60506
- return func(token.text, token.lang, !!token.escaped);
60507
- };
60508
- case 'table':
60509
- return function (token) {
60510
- if (!token.type || token.type !== prop) {
60511
- // @ts-ignore
60512
- // eslint-disable-next-line prefer-rest-params
60513
- return func.apply(this, arguments);
60514
- }
60515
- let header = '';
60516
- // header
60517
- let cell = '';
60518
- for (let j = 0; j < token.header.length; j++) {
60519
- cell += this.tablecell({
60520
- text: token.header[j].text,
60521
- tokens: token.header[j].tokens,
60522
- header: true,
60523
- align: token.align[j]
60524
- });
60525
- }
60526
- header += this.tablerow({
60527
- text: cell
60528
- });
60529
- let body = '';
60530
- for (let j = 0; j < token.rows.length; j++) {
60531
- const row = token.rows[j];
60532
- cell = '';
60533
- for (let k = 0; k < row.length; k++) {
60534
- cell += this.tablecell({
60535
- text: row[k].text,
60536
- tokens: row[k].tokens,
60537
- header: false,
60538
- align: token.align[k]
60539
- });
60540
- }
60541
- body += this.tablerow({
60542
- text: cell
60543
- });
60544
- }
60545
- return func(header, body);
60546
- };
60547
- case 'blockquote':
60548
- return function (token) {
60549
- if (!token.type || token.type !== prop) {
60550
- // @ts-ignore
60551
- // eslint-disable-next-line prefer-rest-params
60552
- return func.apply(this, arguments);
60553
- }
60554
- const body = this.parser.parse(token.tokens);
60555
- return func(body);
60556
- };
60557
- case 'list':
60558
- return function (token) {
60559
- if (!token.type || token.type !== prop) {
60560
- // @ts-ignore
60561
- // eslint-disable-next-line prefer-rest-params
60562
- return func.apply(this, arguments);
60563
- }
60564
- const ordered = token.ordered;
60565
- const start = token.start;
60566
- const loose = token.loose;
60567
- let body = '';
60568
- for (let j = 0; j < token.items.length; j++) {
60569
- const item = token.items[j];
60570
- const checked = item.checked;
60571
- const task = item.task;
60572
- let itemBody = '';
60573
- if (item.task) {
60574
- const checkbox = this.checkbox({
60575
- checked: !!checked
60576
- });
60577
- if (loose) {
60578
- if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
60579
- item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
60580
- if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
60581
- item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;
60582
- }
60583
- } else {
60584
- item.tokens.unshift({
60585
- type: 'text',
60586
- text: checkbox + ' '
60587
- });
60588
- }
60589
- } else {
60590
- itemBody += checkbox + ' ';
60591
- }
60592
- }
60593
- itemBody += this.parser.parse(item.tokens, loose);
60594
- body += this.listitem({
60595
- type: 'list_item',
60596
- raw: itemBody,
60597
- text: itemBody,
60598
- task,
60599
- checked: !!checked,
60600
- loose,
60601
- tokens: item.tokens
60602
- });
60603
- }
60604
- return func(body, ordered, start);
60605
- };
60606
- case 'html':
60607
- return function (token) {
60608
- if (!token.type || token.type !== prop) {
60609
- // @ts-ignore
60610
- // eslint-disable-next-line prefer-rest-params
60611
- return func.apply(this, arguments);
60612
- }
60613
- return func(token.text, token.block);
60614
- };
60615
- case 'paragraph':
60616
- return function (token) {
60617
- if (!token.type || token.type !== prop) {
60618
- // @ts-ignore
60619
- // eslint-disable-next-line prefer-rest-params
60620
- return func.apply(this, arguments);
60621
- }
60622
- return func(this.parser.parseInline(token.tokens));
60623
- };
60624
- case 'escape':
60625
- return function (token) {
60626
- if (!token.type || token.type !== prop) {
60627
- // @ts-ignore
60628
- // eslint-disable-next-line prefer-rest-params
60629
- return func.apply(this, arguments);
60630
- }
60631
- return func(token.text);
60632
- };
60633
- case 'link':
60634
- return function (token) {
60635
- if (!token.type || token.type !== prop) {
60636
- // @ts-ignore
60637
- // eslint-disable-next-line prefer-rest-params
60638
- return func.apply(this, arguments);
60639
- }
60640
- return func(token.href, token.title, this.parser.parseInline(token.tokens));
60641
- };
60642
- case 'image':
60643
- return function (token) {
60644
- if (!token.type || token.type !== prop) {
60645
- // @ts-ignore
60646
- // eslint-disable-next-line prefer-rest-params
60647
- return func.apply(this, arguments);
60648
- }
60649
- return func(token.href, token.title, token.text);
60650
- };
60651
- case 'strong':
60652
- return function (token) {
60653
- if (!token.type || token.type !== prop) {
60654
- // @ts-ignore
60655
- // eslint-disable-next-line prefer-rest-params
60656
- return func.apply(this, arguments);
60657
- }
60658
- return func(this.parser.parseInline(token.tokens));
60659
- };
60660
- case 'em':
60661
- return function (token) {
60662
- if (!token.type || token.type !== prop) {
60663
- // @ts-ignore
60664
- // eslint-disable-next-line prefer-rest-params
60665
- return func.apply(this, arguments);
60666
- }
60667
- return func(this.parser.parseInline(token.tokens));
60668
- };
60669
- case 'codespan':
60670
- return function (token) {
60671
- if (!token.type || token.type !== prop) {
60672
- // @ts-ignore
60673
- // eslint-disable-next-line prefer-rest-params
60674
- return func.apply(this, arguments);
60675
- }
60676
- return func(token.text);
60677
- };
60678
- case 'del':
60679
- return function (token) {
60680
- if (!token.type || token.type !== prop) {
60681
- // @ts-ignore
60682
- // eslint-disable-next-line prefer-rest-params
60683
- return func.apply(this, arguments);
60684
- }
60685
- return func(this.parser.parseInline(token.tokens));
60686
- };
60687
- case 'text':
60688
- return function (token) {
60689
- if (!token.type || token.type !== prop) {
60690
- // @ts-ignore
60691
- // eslint-disable-next-line prefer-rest-params
60692
- return func.apply(this, arguments);
60693
- }
60694
- return func(token.text);
60695
- };
60696
- // do nothing
60697
- }
60698
- return func;
60699
- }
60700
60473
  setOptions(opt) {
60701
60474
  this.defaults = {
60702
60475
  ...this.defaults,
@@ -60710,8 +60483,9 @@
60710
60483
  parser(tokens, options) {
60711
60484
  return _Parser.parse(tokens, options ?? this.defaults);
60712
60485
  }
60713
- #parseMarkdown(lexer, parser) {
60714
- return (src, options) => {
60486
+ parseMarkdown(lexer, parser) {
60487
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60488
+ const parse = (src, options) => {
60715
60489
  const origOpt = {
60716
60490
  ...options
60717
60491
  };
@@ -60719,14 +60493,11 @@
60719
60493
  ...this.defaults,
60720
60494
  ...origOpt
60721
60495
  };
60722
- // Show warning if an extension set async to true but the parse was called with async: false
60496
+ const throwError = this.onError(!!opt.silent, !!opt.async);
60497
+ // throw error if an extension set async to true but parse was called with async: false
60723
60498
  if (this.defaults.async === true && origOpt.async === false) {
60724
- if (!opt.silent) {
60725
- console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');
60726
- }
60727
- opt.async = true;
60499
+ return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.'));
60728
60500
  }
60729
- const throwError = this.#onError(!!opt.silent, !!opt.async);
60730
60501
  // throw error in case of non string input
60731
60502
  if (typeof src === 'undefined' || src === null) {
60732
60503
  return throwError(new Error('marked(): input parameter is undefined or null'));
@@ -60760,8 +60531,9 @@
60760
60531
  return throwError(e);
60761
60532
  }
60762
60533
  };
60534
+ return parse;
60763
60535
  }
60764
- #onError(silent, async) {
60536
+ onError(silent, async) {
60765
60537
  return e => {
60766
60538
  e.message += '\nPlease report this to https://github.com/markedjs/marked.';
60767
60539
  if (silent) {
@@ -61461,6 +61233,13 @@
61461
61233
  getService: getService$2,
61462
61234
  formId: null
61463
61235
  });
61236
+
61237
+ /**
61238
+ * @template T
61239
+ * @param {string} type
61240
+ * @param {boolean} [strict=true]
61241
+ * @returns {T | null}
61242
+ */
61464
61243
  function useService$2(type, strict) {
61465
61244
  const {
61466
61245
  getService
@@ -61512,11 +61291,10 @@
61512
61291
  }
61513
61292
 
61514
61293
  /**
61515
- * Evaluate a string based on the expressionLanguage and context information.
61516
- * If the string is not an expression, it is returned as is.
61294
+ * If the value is a valid expression, it is evaluated and returned. Otherwise, it is returned as-is.
61517
61295
  *
61518
61296
  * @param {any} expressionLanguage - The expression language to use.
61519
- * @param {string} value - The string to evaluate.
61297
+ * @param {any} value - The static value or expression to evaluate.
61520
61298
  * @param {Object} expressionContextInfo - The context information to use.
61521
61299
  * @returns {any} - Evaluated value or the original value if not an expression.
61522
61300
  */
@@ -61647,11 +61425,10 @@
61647
61425
  }
61648
61426
 
61649
61427
  /**
61650
- * Evaluate a string reactively based on the expressionLanguage and form data.
61651
- * If the string is not an expression, it is returned as is.
61428
+ * If the value is a valid expression, it is evaluated and returned. Otherwise, it is returned as-is.
61652
61429
  * The function is memoized to minimize re-renders.
61653
61430
  *
61654
- * @param {string} value - The string to evaluate.
61431
+ * @param {any} value - A static value or expression to evaluate.
61655
61432
  * @returns {any} - Evaluated value or the original value if not an expression.
61656
61433
  */
61657
61434
  function useExpressionEvaluation(value) {
@@ -61890,7 +61667,7 @@
61890
61667
  return (overflowY === 'auto' || overflowY === 'scroll') && el.scrollHeight > el.clientHeight;
61891
61668
  }
61892
61669
  const EMPTY_OBJECT = {};
61893
- const EMPTY_ARRAY = [];
61670
+ const EMPTY_ARRAY$2 = [];
61894
61671
 
61895
61672
  /**
61896
61673
  * Custom hook to scroll an element within a scrollable container.
@@ -61906,7 +61683,7 @@
61906
61683
  */
61907
61684
  function useScrollIntoView(scrolledElementRef, deps, scrollOptions, flagRefs) {
61908
61685
  const _scrollOptions = scrollOptions || EMPTY_OBJECT;
61909
- const _flagRefs = flagRefs || EMPTY_ARRAY;
61686
+ const _flagRefs = flagRefs || EMPTY_ARRAY$2;
61910
61687
  y(() => {
61911
61688
  // return early if flags are not raised, or component is not mounted
61912
61689
  if (some(_flagRefs, ref => !ref.current) || !scrolledElementRef.current) {
@@ -61960,6 +61737,23 @@
61960
61737
  return 0;
61961
61738
  }
61962
61739
 
61740
+ /**
61741
+ * If the value is a valid expression, we evaluate it. Otherwise, we continue with the value as-is.
61742
+ * If the resulting value isn't a boolean, we return 'false'
61743
+ * The function is memoized to minimize re-renders.
61744
+ *
61745
+ * @param {boolean | string} value - A static boolean or expression to evaluate.
61746
+ * @returns {boolean} - Evaluated boolean result.
61747
+ */
61748
+ function useBooleanExpressionEvaluation(value) {
61749
+ const expressionLanguage = useService$2('expressionLanguage');
61750
+ const expressionContextInfo = F$1(LocalExpressionContext);
61751
+ return d(() => {
61752
+ const evaluationResult = runExpressionEvaluation(expressionLanguage, value, expressionContextInfo);
61753
+ return typeof evaluationResult === 'boolean' ? evaluationResult : false;
61754
+ }, [expressionLanguage, expressionContextInfo, value]);
61755
+ }
61756
+
61963
61757
  /**
61964
61758
  * Returns the conditionally filtered data of a form reactively.
61965
61759
  * Memoised to minimize re-renders
@@ -62436,7 +62230,7 @@
62436
62230
  }
62437
62231
  }, [field, options, onChange, memoizedValues, loadState]);
62438
62232
  }
62439
- const type$h = 'button';
62233
+ const type$i = 'button';
62440
62234
  function Button(props) {
62441
62235
  const {
62442
62236
  disabled,
@@ -62451,7 +62245,7 @@
62451
62245
  debug: true
62452
62246
  });
62453
62247
  return e("div", {
62454
- class: formFieldClasses(type$h),
62248
+ class: formFieldClasses(type$i),
62455
62249
  children: e("button", {
62456
62250
  class: "fjs-button",
62457
62251
  type: action,
@@ -62463,7 +62257,7 @@
62463
62257
  });
62464
62258
  }
62465
62259
  Button.config = {
62466
- type: type$h,
62260
+ type: type$i,
62467
62261
  keyed: false,
62468
62262
  label: 'Button',
62469
62263
  group: 'action',
@@ -62534,7 +62328,7 @@
62534
62328
  })]
62535
62329
  });
62536
62330
  }
62537
- const type$g = 'checkbox';
62331
+ const type$h = 'checkbox';
62538
62332
  function Checkbox$1(props) {
62539
62333
  const {
62540
62334
  disabled,
@@ -62564,7 +62358,7 @@
62564
62358
  const descriptionId = `${domId}-description`;
62565
62359
  const errorMessageId = `${domId}-error-message`;
62566
62360
  return e("div", {
62567
- class: classNames(formFieldClasses(type$g, {
62361
+ class: classNames(formFieldClasses(type$h, {
62568
62362
  errors,
62569
62363
  disabled,
62570
62364
  readonly
@@ -62599,7 +62393,7 @@
62599
62393
  });
62600
62394
  }
62601
62395
  Checkbox$1.config = {
62602
- type: type$g,
62396
+ type: type$h,
62603
62397
  keyed: true,
62604
62398
  label: 'Checkbox',
62605
62399
  group: 'selection',
@@ -62611,7 +62405,7 @@
62611
62405
  ...options
62612
62406
  })
62613
62407
  };
62614
- const type$f = 'checklist';
62408
+ const type$g = 'checklist';
62615
62409
  function Checklist(props) {
62616
62410
  const {
62617
62411
  disabled,
@@ -62664,7 +62458,7 @@
62664
62458
  const descriptionId = `${domId}-description`;
62665
62459
  const errorMessageId = `${domId}-error-message`;
62666
62460
  return e("div", {
62667
- class: classNames(formFieldClasses(type$f, {
62461
+ class: classNames(formFieldClasses(type$g, {
62668
62462
  errors,
62669
62463
  disabled,
62670
62464
  readonly
@@ -62708,7 +62502,7 @@
62708
62502
  });
62709
62503
  }
62710
62504
  Checklist.config = {
62711
- type: type$f,
62505
+ type: type$g,
62712
62506
  keyed: true,
62713
62507
  label: 'Checkbox group',
62714
62508
  group: 'selection',
@@ -62717,7 +62511,9 @@
62717
62511
  create: createEmptyOptions
62718
62512
  };
62719
62513
  const noop$1$1 = () => false;
62514
+ const ids$2 = new Ids([32, 36, 1]);
62720
62515
  function FormField(props) {
62516
+ const instanceIdRef = s$1(ids$2.next());
62721
62517
  const {
62722
62518
  field,
62723
62519
  indexes,
@@ -62763,22 +62559,28 @@
62763
62559
  // add precedence: global readonly > form field disabled
62764
62560
  const disabled = !properties.readOnly && (properties.disabled || field.disabled || false);
62765
62561
  const hidden = useCondition(field.conditional && field.conditional.hide || null);
62766
- const fieldInstance = d(() => ({
62767
- id: field.id,
62768
- expressionContextInfo: localExpressionContext,
62769
- valuePath,
62770
- indexes
62771
- }), [field.id, valuePath, localExpressionContext, indexes]);
62562
+ const instanceId = d(() => {
62563
+ if (!formFieldInstanceRegistry) {
62564
+ return null;
62565
+ }
62566
+ return formFieldInstanceRegistry.syncInstance(instanceIdRef.current, {
62567
+ id: field.id,
62568
+ expressionContextInfo: localExpressionContext,
62569
+ valuePath,
62570
+ value,
62571
+ indexes,
62572
+ hidden
62573
+ });
62574
+ }, [formFieldInstanceRegistry, field.id, localExpressionContext, valuePath, value, indexes, hidden]);
62575
+ const fieldInstance = instanceId ? formFieldInstanceRegistry.get(instanceId) : null;
62772
62576
 
62773
- // register form field instance
62577
+ // cleanup the instance on unmount
62774
62578
  y(() => {
62775
- if (formFieldInstanceRegistry && !hidden) {
62776
- const instanceId = formFieldInstanceRegistry.add(fieldInstance);
62777
- return () => {
62778
- formFieldInstanceRegistry.remove(instanceId);
62779
- };
62579
+ const instanceId = instanceIdRef.current;
62580
+ if (formFieldInstanceRegistry) {
62581
+ return () => formFieldInstanceRegistry.cleanupInstance(instanceId);
62780
62582
  }
62781
- }, [fieldInstance, formFieldInstanceRegistry, hidden]);
62583
+ }, [formFieldInstanceRegistry]);
62782
62584
 
62783
62585
  // ensures the initial validation behavior can be re-triggered upon form reset
62784
62586
  y(() => {
@@ -63011,9 +62813,9 @@
63011
62813
  ...options
63012
62814
  })
63013
62815
  };
63014
- var _path$w;
63015
- function _extends$x() {
63016
- _extends$x = Object.assign ? Object.assign.bind() : function (target) {
62816
+ var _path$x;
62817
+ function _extends$y() {
62818
+ _extends$y = Object.assign ? Object.assign.bind() : function (target) {
63017
62819
  for (var i = 1; i < arguments.length; i++) {
63018
62820
  var source = arguments[i];
63019
62821
  for (var key in source) {
@@ -63024,16 +62826,16 @@
63024
62826
  }
63025
62827
  return target;
63026
62828
  };
63027
- return _extends$x.apply(this, arguments);
62829
+ return _extends$y.apply(this, arguments);
63028
62830
  }
63029
62831
  var SvgCalendar = function SvgCalendar(props) {
63030
- return /*#__PURE__*/v$1("svg", _extends$x({
62832
+ return /*#__PURE__*/v$1("svg", _extends$y({
63031
62833
  xmlns: "http://www.w3.org/2000/svg",
63032
62834
  width: 14,
63033
62835
  height: 15,
63034
62836
  fill: "none",
63035
62837
  viewBox: "0 0 28 30"
63036
- }, props), _path$w || (_path$w = /*#__PURE__*/v$1("path", {
62838
+ }, props), _path$x || (_path$x = /*#__PURE__*/v$1("path", {
63037
62839
  fill: "currentColor",
63038
62840
  fillRule: "evenodd",
63039
62841
  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",
@@ -63295,9 +63097,9 @@
63295
63097
  })]
63296
63098
  });
63297
63099
  }
63298
- var _path$v, _path2$4;
63299
- function _extends$w() {
63300
- _extends$w = Object.assign ? Object.assign.bind() : function (target) {
63100
+ var _path$w, _path2$4;
63101
+ function _extends$x() {
63102
+ _extends$x = Object.assign ? Object.assign.bind() : function (target) {
63301
63103
  for (var i = 1; i < arguments.length; i++) {
63302
63104
  var source = arguments[i];
63303
63105
  for (var key in source) {
@@ -63308,16 +63110,16 @@
63308
63110
  }
63309
63111
  return target;
63310
63112
  };
63311
- return _extends$w.apply(this, arguments);
63113
+ return _extends$x.apply(this, arguments);
63312
63114
  }
63313
63115
  var SvgClock = function SvgClock(props) {
63314
- return /*#__PURE__*/v$1("svg", _extends$w({
63116
+ return /*#__PURE__*/v$1("svg", _extends$x({
63315
63117
  xmlns: "http://www.w3.org/2000/svg",
63316
63118
  width: 16,
63317
63119
  height: 16,
63318
63120
  fill: "none",
63319
63121
  viewBox: "0 0 28 29"
63320
- }, props), _path$v || (_path$v = /*#__PURE__*/v$1("path", {
63122
+ }, props), _path$w || (_path$w = /*#__PURE__*/v$1("path", {
63321
63123
  fill: "currentColor",
63322
63124
  d: "M13 14.41 18.59 20 20 18.59l-5-5.01V5h-2z"
63323
63125
  })), _path2$4 || (_path2$4 = /*#__PURE__*/v$1("path", {
@@ -63583,7 +63385,7 @@
63583
63385
  })]
63584
63386
  });
63585
63387
  }
63586
- const type$e = 'datetime';
63388
+ const type$f = 'datetime';
63587
63389
  function Datetime(props) {
63588
63390
  const {
63589
63391
  disabled,
@@ -63752,7 +63554,7 @@
63752
63554
  'aria-describedby': [descriptionId, errorMessageId].join(' ')
63753
63555
  };
63754
63556
  return e("div", {
63755
- class: formFieldClasses(type$e, {
63557
+ class: formFieldClasses(type$f, {
63756
63558
  errors: allErrors,
63757
63559
  disabled,
63758
63560
  readonly
@@ -63777,7 +63579,7 @@
63777
63579
  });
63778
63580
  }
63779
63581
  Datetime.config = {
63780
- type: type$e,
63582
+ type: type$f,
63781
63583
  keyed: true,
63782
63584
  label: 'Date time',
63783
63585
  group: 'basic-input',
@@ -63835,7 +63637,7 @@
63835
63637
  ...options
63836
63638
  })
63837
63639
  };
63838
- const type$d = 'iframe';
63640
+ const type$e = 'iframe';
63839
63641
  const DEFAULT_HEIGHT = 300;
63840
63642
  function IFrame(props) {
63841
63643
  const {
@@ -63865,7 +63667,7 @@
63865
63667
  setIframeRefresh(count => count + 1);
63866
63668
  }, [sandbox, allow]);
63867
63669
  return e("div", {
63868
- class: formFieldClasses(type$d, {
63670
+ class: formFieldClasses(type$e, {
63869
63671
  disabled,
63870
63672
  readonly
63871
63673
  }),
@@ -63900,7 +63702,7 @@
63900
63702
  });
63901
63703
  }
63902
63704
  IFrame.config = {
63903
- type: type$d,
63705
+ type: type$e,
63904
63706
  keyed: false,
63905
63707
  label: 'iFrame',
63906
63708
  group: 'container',
@@ -63911,9 +63713,9 @@
63911
63713
  ...options
63912
63714
  })
63913
63715
  };
63914
- var _path$u;
63915
- function _extends$v() {
63916
- _extends$v = Object.assign ? Object.assign.bind() : function (target) {
63716
+ var _path$v;
63717
+ function _extends$w() {
63718
+ _extends$w = Object.assign ? Object.assign.bind() : function (target) {
63917
63719
  for (var i = 1; i < arguments.length; i++) {
63918
63720
  var source = arguments[i];
63919
63721
  for (var key in source) {
@@ -63924,22 +63726,22 @@
63924
63726
  }
63925
63727
  return target;
63926
63728
  };
63927
- return _extends$v.apply(this, arguments);
63729
+ return _extends$w.apply(this, arguments);
63928
63730
  }
63929
63731
  var SvgButton = function SvgButton(props) {
63930
- return /*#__PURE__*/v$1("svg", _extends$v({
63732
+ return /*#__PURE__*/v$1("svg", _extends$w({
63931
63733
  xmlns: "http://www.w3.org/2000/svg",
63932
63734
  width: 54,
63933
63735
  height: 54,
63934
63736
  fill: "currentcolor"
63935
- }, props), _path$u || (_path$u = /*#__PURE__*/v$1("path", {
63737
+ }, props), _path$v || (_path$v = /*#__PURE__*/v$1("path", {
63936
63738
  fillRule: "evenodd",
63937
63739
  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"
63938
63740
  })));
63939
63741
  };
63940
- var _path$t;
63941
- function _extends$u() {
63942
- _extends$u = Object.assign ? Object.assign.bind() : function (target) {
63742
+ var _path$u;
63743
+ function _extends$v() {
63744
+ _extends$v = Object.assign ? Object.assign.bind() : function (target) {
63943
63745
  for (var i = 1; i < arguments.length; i++) {
63944
63746
  var source = arguments[i];
63945
63747
  for (var key in source) {
@@ -63950,21 +63752,21 @@
63950
63752
  }
63951
63753
  return target;
63952
63754
  };
63953
- return _extends$u.apply(this, arguments);
63755
+ return _extends$v.apply(this, arguments);
63954
63756
  }
63955
63757
  var SvgCheckbox = function SvgCheckbox(props) {
63956
- return /*#__PURE__*/v$1("svg", _extends$u({
63758
+ return /*#__PURE__*/v$1("svg", _extends$v({
63957
63759
  xmlns: "http://www.w3.org/2000/svg",
63958
63760
  width: 54,
63959
63761
  height: 54,
63960
63762
  fill: "currentcolor"
63961
- }, props), _path$t || (_path$t = /*#__PURE__*/v$1("path", {
63763
+ }, props), _path$u || (_path$u = /*#__PURE__*/v$1("path", {
63962
63764
  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"
63963
63765
  })));
63964
63766
  };
63965
- var _path$s;
63966
- function _extends$t() {
63967
- _extends$t = Object.assign ? Object.assign.bind() : function (target) {
63767
+ var _path$t;
63768
+ function _extends$u() {
63769
+ _extends$u = Object.assign ? Object.assign.bind() : function (target) {
63968
63770
  for (var i = 1; i < arguments.length; i++) {
63969
63771
  var source = arguments[i];
63970
63772
  for (var key in source) {
@@ -63975,24 +63777,24 @@
63975
63777
  }
63976
63778
  return target;
63977
63779
  };
63978
- return _extends$t.apply(this, arguments);
63780
+ return _extends$u.apply(this, arguments);
63979
63781
  }
63980
63782
  var SvgChecklist = function SvgChecklist(props) {
63981
- return /*#__PURE__*/v$1("svg", _extends$t({
63783
+ return /*#__PURE__*/v$1("svg", _extends$u({
63982
63784
  xmlns: "http://www.w3.org/2000/svg",
63983
63785
  width: 54,
63984
63786
  height: 54,
63985
63787
  fill: "none"
63986
- }, props), _path$s || (_path$s = /*#__PURE__*/v$1("path", {
63788
+ }, props), _path$t || (_path$t = /*#__PURE__*/v$1("path", {
63987
63789
  fill: "currentColor",
63988
63790
  fillRule: "evenodd",
63989
63791
  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",
63990
63792
  clipRule: "evenodd"
63991
63793
  })));
63992
63794
  };
63993
- var _path$r, _path2$3, _path3$1;
63994
- function _extends$s() {
63995
- _extends$s = Object.assign ? Object.assign.bind() : function (target) {
63795
+ var _path$s, _path2$3, _path3$1;
63796
+ function _extends$t() {
63797
+ _extends$t = Object.assign ? Object.assign.bind() : function (target) {
63996
63798
  for (var i = 1; i < arguments.length; i++) {
63997
63799
  var source = arguments[i];
63998
63800
  for (var key in source) {
@@ -64003,15 +63805,15 @@
64003
63805
  }
64004
63806
  return target;
64005
63807
  };
64006
- return _extends$s.apply(this, arguments);
63808
+ return _extends$t.apply(this, arguments);
64007
63809
  }
64008
63810
  var SvgDatetime = function SvgDatetime(props) {
64009
- return /*#__PURE__*/v$1("svg", _extends$s({
63811
+ return /*#__PURE__*/v$1("svg", _extends$t({
64010
63812
  xmlns: "http://www.w3.org/2000/svg",
64011
63813
  width: 54,
64012
63814
  height: 54,
64013
63815
  fill: "currentcolor"
64014
- }, props), _path$r || (_path$r = /*#__PURE__*/v$1("path", {
63816
+ }, props), _path$s || (_path$s = /*#__PURE__*/v$1("path", {
64015
63817
  fillRule: "evenodd",
64016
63818
  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"
64017
63819
  })), _path2$3 || (_path2$3 = /*#__PURE__*/v$1("path", {
@@ -64021,9 +63823,9 @@
64021
63823
  d: "M23.08 36.962a9.678 9.678 0 1 0 17.883-7.408 9.678 9.678 0 0 0-17.882 7.408Zm4.54-10.292a7.924 7.924 0 1 1 8.805 13.177A7.924 7.924 0 0 1 27.62 26.67"
64022
63824
  })));
64023
63825
  };
64024
- var _path$q, _path2$2;
64025
- function _extends$r() {
64026
- _extends$r = Object.assign ? Object.assign.bind() : function (target) {
63826
+ var _path$r, _path2$2;
63827
+ function _extends$s() {
63828
+ _extends$s = Object.assign ? Object.assign.bind() : function (target) {
64027
63829
  for (var i = 1; i < arguments.length; i++) {
64028
63830
  var source = arguments[i];
64029
63831
  for (var key in source) {
@@ -64034,15 +63836,15 @@
64034
63836
  }
64035
63837
  return target;
64036
63838
  };
64037
- return _extends$r.apply(this, arguments);
63839
+ return _extends$s.apply(this, arguments);
64038
63840
  }
64039
63841
  var SvgTaglist = function SvgTaglist(props) {
64040
- return /*#__PURE__*/v$1("svg", _extends$r({
63842
+ return /*#__PURE__*/v$1("svg", _extends$s({
64041
63843
  xmlns: "http://www.w3.org/2000/svg",
64042
63844
  width: 54,
64043
63845
  height: 54,
64044
63846
  fill: "currentcolor"
64045
- }, props), _path$q || (_path$q = /*#__PURE__*/v$1("path", {
63847
+ }, props), _path$r || (_path$r = /*#__PURE__*/v$1("path", {
64046
63848
  fillRule: "evenodd",
64047
63849
  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"
64048
63850
  })), _path2$2 || (_path2$2 = /*#__PURE__*/v$1("path", {
@@ -64050,8 +63852,8 @@
64050
63852
  })));
64051
63853
  };
64052
63854
  var _rect$1, _rect2, _rect3;
64053
- function _extends$q() {
64054
- _extends$q = Object.assign ? Object.assign.bind() : function (target) {
63855
+ function _extends$r() {
63856
+ _extends$r = Object.assign ? Object.assign.bind() : function (target) {
64055
63857
  for (var i = 1; i < arguments.length; i++) {
64056
63858
  var source = arguments[i];
64057
63859
  for (var key in source) {
@@ -64062,10 +63864,10 @@
64062
63864
  }
64063
63865
  return target;
64064
63866
  };
64065
- return _extends$q.apply(this, arguments);
63867
+ return _extends$r.apply(this, arguments);
64066
63868
  }
64067
63869
  var SvgForm = function SvgForm(props) {
64068
- return /*#__PURE__*/v$1("svg", _extends$q({
63870
+ return /*#__PURE__*/v$1("svg", _extends$r({
64069
63871
  xmlns: "http://www.w3.org/2000/svg",
64070
63872
  width: 54,
64071
63873
  height: 54
@@ -64089,6 +63891,34 @@
64089
63891
  rx: 1
64090
63892
  })));
64091
63893
  };
63894
+ var _path$q;
63895
+ function _extends$q() {
63896
+ _extends$q = Object.assign ? Object.assign.bind() : function (target) {
63897
+ for (var i = 1; i < arguments.length; i++) {
63898
+ var source = arguments[i];
63899
+ for (var key in source) {
63900
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
63901
+ target[key] = source[key];
63902
+ }
63903
+ }
63904
+ }
63905
+ return target;
63906
+ };
63907
+ return _extends$q.apply(this, arguments);
63908
+ }
63909
+ var SvgGroup = function SvgGroup(props) {
63910
+ return /*#__PURE__*/v$1("svg", _extends$q({
63911
+ xmlns: "http://www.w3.org/2000/svg",
63912
+ width: 54,
63913
+ height: 54,
63914
+ fill: "none"
63915
+ }, props), _path$q || (_path$q = /*#__PURE__*/v$1("path", {
63916
+ fill: "#000",
63917
+ fillRule: "evenodd",
63918
+ 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",
63919
+ clipRule: "evenodd"
63920
+ })));
63921
+ };
64092
63922
  var _path$p;
64093
63923
  function _extends$p() {
64094
63924
  _extends$p = Object.assign ? Object.assign.bind() : function (target) {
@@ -64104,17 +63934,15 @@
64104
63934
  };
64105
63935
  return _extends$p.apply(this, arguments);
64106
63936
  }
64107
- var SvgGroup = function SvgGroup(props) {
63937
+ var SvgNumber = function SvgNumber(props) {
64108
63938
  return /*#__PURE__*/v$1("svg", _extends$p({
64109
63939
  xmlns: "http://www.w3.org/2000/svg",
64110
63940
  width: 54,
64111
63941
  height: 54,
64112
- fill: "none"
63942
+ fill: "currentcolor"
64113
63943
  }, props), _path$p || (_path$p = /*#__PURE__*/v$1("path", {
64114
- fill: "#000",
64115
63944
  fillRule: "evenodd",
64116
- 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",
64117
- clipRule: "evenodd"
63945
+ 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"
64118
63946
  })));
64119
63947
  };
64120
63948
  var _path$o;
@@ -64132,15 +63960,14 @@
64132
63960
  };
64133
63961
  return _extends$o.apply(this, arguments);
64134
63962
  }
64135
- var SvgNumber = function SvgNumber(props) {
63963
+ var SvgRadio = function SvgRadio(props) {
64136
63964
  return /*#__PURE__*/v$1("svg", _extends$o({
64137
63965
  xmlns: "http://www.w3.org/2000/svg",
64138
63966
  width: 54,
64139
63967
  height: 54,
64140
63968
  fill: "currentcolor"
64141
63969
  }, props), _path$o || (_path$o = /*#__PURE__*/v$1("path", {
64142
- fillRule: "evenodd",
64143
- 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"
63970
+ 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"
64144
63971
  })));
64145
63972
  };
64146
63973
  var _path$n;
@@ -64158,14 +63985,15 @@
64158
63985
  };
64159
63986
  return _extends$n.apply(this, arguments);
64160
63987
  }
64161
- var SvgRadio = function SvgRadio(props) {
63988
+ var SvgSelect = function SvgSelect(props) {
64162
63989
  return /*#__PURE__*/v$1("svg", _extends$n({
64163
63990
  xmlns: "http://www.w3.org/2000/svg",
64164
63991
  width: 54,
64165
63992
  height: 54,
64166
63993
  fill: "currentcolor"
64167
63994
  }, props), _path$n || (_path$n = /*#__PURE__*/v$1("path", {
64168
- 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"
63995
+ fillRule: "evenodd",
63996
+ 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"
64169
63997
  })));
64170
63998
  };
64171
63999
  var _path$m;
@@ -64183,15 +64011,15 @@
64183
64011
  };
64184
64012
  return _extends$m.apply(this, arguments);
64185
64013
  }
64186
- var SvgSelect = function SvgSelect(props) {
64014
+ var SvgSeparator = function SvgSeparator(props) {
64187
64015
  return /*#__PURE__*/v$1("svg", _extends$m({
64188
64016
  xmlns: "http://www.w3.org/2000/svg",
64189
64017
  width: 54,
64190
64018
  height: 54,
64191
- fill: "currentcolor"
64019
+ fill: "none"
64192
64020
  }, props), _path$m || (_path$m = /*#__PURE__*/v$1("path", {
64193
- fillRule: "evenodd",
64194
- 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"
64021
+ fill: "currentColor",
64022
+ 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"
64195
64023
  })));
64196
64024
  };
64197
64025
  var _path$l;
@@ -64209,7 +64037,7 @@
64209
64037
  };
64210
64038
  return _extends$l.apply(this, arguments);
64211
64039
  }
64212
- var SvgSeparator = function SvgSeparator(props) {
64040
+ var SvgSpacer = function SvgSpacer(props) {
64213
64041
  return /*#__PURE__*/v$1("svg", _extends$l({
64214
64042
  xmlns: "http://www.w3.org/2000/svg",
64215
64043
  width: 54,
@@ -64217,7 +64045,7 @@
64217
64045
  fill: "none"
64218
64046
  }, props), _path$l || (_path$l = /*#__PURE__*/v$1("path", {
64219
64047
  fill: "currentColor",
64220
- 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"
64048
+ 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"
64221
64049
  })));
64222
64050
  };
64223
64051
  var _path$k;
@@ -64235,7 +64063,7 @@
64235
64063
  };
64236
64064
  return _extends$k.apply(this, arguments);
64237
64065
  }
64238
- var SvgSpacer = function SvgSpacer(props) {
64066
+ var SvgDynamicList = function SvgDynamicList(props) {
64239
64067
  return /*#__PURE__*/v$1("svg", _extends$k({
64240
64068
  xmlns: "http://www.w3.org/2000/svg",
64241
64069
  width: 54,
@@ -64243,7 +64071,9 @@
64243
64071
  fill: "none"
64244
64072
  }, props), _path$k || (_path$k = /*#__PURE__*/v$1("path", {
64245
64073
  fill: "currentColor",
64246
- 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"
64074
+ fillRule: "evenodd",
64075
+ 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",
64076
+ clipRule: "evenodd"
64247
64077
  })));
64248
64078
  };
64249
64079
  var _path$j;
@@ -64261,17 +64091,14 @@
64261
64091
  };
64262
64092
  return _extends$j.apply(this, arguments);
64263
64093
  }
64264
- var SvgDynamicList = function SvgDynamicList(props) {
64094
+ var SvgText = function SvgText(props) {
64265
64095
  return /*#__PURE__*/v$1("svg", _extends$j({
64266
64096
  xmlns: "http://www.w3.org/2000/svg",
64267
64097
  width: 54,
64268
64098
  height: 54,
64269
- fill: "none"
64099
+ fill: "currentcolor"
64270
64100
  }, props), _path$j || (_path$j = /*#__PURE__*/v$1("path", {
64271
- fill: "currentColor",
64272
- fillRule: "evenodd",
64273
- 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",
64274
- clipRule: "evenodd"
64101
+ 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"
64275
64102
  })));
64276
64103
  };
64277
64104
  var _path$i;
@@ -64289,14 +64116,17 @@
64289
64116
  };
64290
64117
  return _extends$i.apply(this, arguments);
64291
64118
  }
64292
- var SvgText = function SvgText(props) {
64119
+ var SvgHtml = function SvgHtml(props) {
64293
64120
  return /*#__PURE__*/v$1("svg", _extends$i({
64294
64121
  xmlns: "http://www.w3.org/2000/svg",
64295
64122
  width: 54,
64296
64123
  height: 54,
64297
- fill: "currentcolor"
64124
+ fill: "none"
64298
64125
  }, props), _path$i || (_path$i = /*#__PURE__*/v$1("path", {
64299
- 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"
64126
+ fill: "currentColor",
64127
+ fillRule: "evenodd",
64128
+ 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",
64129
+ clipRule: "evenodd"
64300
64130
  })));
64301
64131
  };
64302
64132
  var _path$h;
@@ -64314,16 +64144,16 @@
64314
64144
  };
64315
64145
  return _extends$h.apply(this, arguments);
64316
64146
  }
64317
- var SvgHtml = function SvgHtml(props) {
64147
+ var SvgExpressionField = function SvgExpressionField(props) {
64318
64148
  return /*#__PURE__*/v$1("svg", _extends$h({
64319
64149
  xmlns: "http://www.w3.org/2000/svg",
64320
64150
  width: 54,
64321
64151
  height: 54,
64322
64152
  fill: "none"
64323
64153
  }, props), _path$h || (_path$h = /*#__PURE__*/v$1("path", {
64324
- fill: "currentColor",
64154
+ fill: "currentcolor",
64325
64155
  fillRule: "evenodd",
64326
- 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",
64156
+ 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",
64327
64157
  clipRule: "evenodd"
64328
64158
  })));
64329
64159
  };
@@ -64342,17 +64172,15 @@
64342
64172
  };
64343
64173
  return _extends$g.apply(this, arguments);
64344
64174
  }
64345
- var SvgExpressionField = function SvgExpressionField(props) {
64175
+ var SvgTextfield = function SvgTextfield(props) {
64346
64176
  return /*#__PURE__*/v$1("svg", _extends$g({
64347
64177
  xmlns: "http://www.w3.org/2000/svg",
64348
64178
  width: 54,
64349
64179
  height: 54,
64350
- fill: "none"
64180
+ fill: "currentcolor"
64351
64181
  }, props), _path$g || (_path$g = /*#__PURE__*/v$1("path", {
64352
- fill: "currentcolor",
64353
64182
  fillRule: "evenodd",
64354
- 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",
64355
- clipRule: "evenodd"
64183
+ 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"
64356
64184
  })));
64357
64185
  };
64358
64186
  var _path$f;
@@ -64370,7 +64198,7 @@
64370
64198
  };
64371
64199
  return _extends$f.apply(this, arguments);
64372
64200
  }
64373
- var SvgTextfield = function SvgTextfield(props) {
64201
+ var SvgTextarea = function SvgTextarea(props) {
64374
64202
  return /*#__PURE__*/v$1("svg", _extends$f({
64375
64203
  xmlns: "http://www.w3.org/2000/svg",
64376
64204
  width: 54,
@@ -64378,7 +64206,7 @@
64378
64206
  fill: "currentcolor"
64379
64207
  }, props), _path$f || (_path$f = /*#__PURE__*/v$1("path", {
64380
64208
  fillRule: "evenodd",
64381
- 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"
64209
+ 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"
64382
64210
  })));
64383
64211
  };
64384
64212
  var _path$e;
@@ -64396,18 +64224,20 @@
64396
64224
  };
64397
64225
  return _extends$e.apply(this, arguments);
64398
64226
  }
64399
- var SvgTextarea = function SvgTextarea(props) {
64227
+ var SvgIFrame = function SvgIFrame(props) {
64400
64228
  return /*#__PURE__*/v$1("svg", _extends$e({
64401
64229
  xmlns: "http://www.w3.org/2000/svg",
64402
64230
  width: 54,
64403
64231
  height: 54,
64404
- fill: "currentcolor"
64232
+ fill: "none"
64405
64233
  }, props), _path$e || (_path$e = /*#__PURE__*/v$1("path", {
64234
+ fill: "currentColor",
64406
64235
  fillRule: "evenodd",
64407
- 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"
64236
+ 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",
64237
+ clipRule: "evenodd"
64408
64238
  })));
64409
64239
  };
64410
- var _path$d;
64240
+ var _path$d, _path2$1$1;
64411
64241
  function _extends$d() {
64412
64242
  _extends$d = Object.assign ? Object.assign.bind() : function (target) {
64413
64243
  for (var i = 1; i < arguments.length; i++) {
@@ -64422,20 +64252,23 @@
64422
64252
  };
64423
64253
  return _extends$d.apply(this, arguments);
64424
64254
  }
64425
- var SvgIFrame = function SvgIFrame(props) {
64255
+ var SvgImage = function SvgImage(props) {
64426
64256
  return /*#__PURE__*/v$1("svg", _extends$d({
64427
64257
  xmlns: "http://www.w3.org/2000/svg",
64428
64258
  width: 54,
64429
64259
  height: 54,
64430
- fill: "none"
64260
+ fill: "currentcolor"
64431
64261
  }, props), _path$d || (_path$d = /*#__PURE__*/v$1("path", {
64432
- fill: "currentColor",
64433
64262
  fillRule: "evenodd",
64434
- 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",
64263
+ 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",
64264
+ clipRule: "evenodd"
64265
+ })), _path2$1$1 || (_path2$1$1 = /*#__PURE__*/v$1("path", {
64266
+ fillRule: "evenodd",
64267
+ 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",
64435
64268
  clipRule: "evenodd"
64436
64269
  })));
64437
64270
  };
64438
- var _path$c, _path2$1$1;
64271
+ var _path$c;
64439
64272
  function _extends$c() {
64440
64273
  _extends$c = Object.assign ? Object.assign.bind() : function (target) {
64441
64274
  for (var i = 1; i < arguments.length; i++) {
@@ -64450,19 +64283,15 @@
64450
64283
  };
64451
64284
  return _extends$c.apply(this, arguments);
64452
64285
  }
64453
- var SvgImage = function SvgImage(props) {
64286
+ var SvgTable = function SvgTable(props) {
64454
64287
  return /*#__PURE__*/v$1("svg", _extends$c({
64455
64288
  xmlns: "http://www.w3.org/2000/svg",
64456
- width: 54,
64457
- height: 54,
64458
- fill: "currentcolor"
64289
+ fill: "none",
64290
+ viewBox: "0 0 54 54"
64459
64291
  }, props), _path$c || (_path$c = /*#__PURE__*/v$1("path", {
64292
+ fill: "currentcolor",
64460
64293
  fillRule: "evenodd",
64461
- 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",
64462
- clipRule: "evenodd"
64463
- })), _path2$1$1 || (_path2$1$1 = /*#__PURE__*/v$1("path", {
64464
- fillRule: "evenodd",
64465
- 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",
64294
+ 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",
64466
64295
  clipRule: "evenodd"
64467
64296
  })));
64468
64297
  };
@@ -64481,15 +64310,16 @@
64481
64310
  };
64482
64311
  return _extends$b.apply(this, arguments);
64483
64312
  }
64484
- var SvgTable = function SvgTable(props) {
64313
+ var SvgFilePicker = function SvgFilePicker(props) {
64485
64314
  return /*#__PURE__*/v$1("svg", _extends$b({
64486
64315
  xmlns: "http://www.w3.org/2000/svg",
64487
- fill: "none",
64488
- viewBox: "0 0 54 54"
64316
+ width: 54,
64317
+ height: 54,
64318
+ fill: "none"
64489
64319
  }, props), _path$b || (_path$b = /*#__PURE__*/v$1("path", {
64490
64320
  fill: "currentcolor",
64491
64321
  fillRule: "evenodd",
64492
- 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",
64322
+ 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",
64493
64323
  clipRule: "evenodd"
64494
64324
  })));
64495
64325
  };
@@ -64516,10 +64346,11 @@
64516
64346
  textfield: SvgTextfield,
64517
64347
  textarea: SvgTextarea,
64518
64348
  table: SvgTable,
64349
+ filepicker: SvgFilePicker,
64519
64350
  default: SvgForm
64520
64351
  }[type];
64521
64352
  };
64522
- const type$c = 'image';
64353
+ const type$d = 'image';
64523
64354
  function Image$1(props) {
64524
64355
  const {
64525
64356
  field
@@ -64541,7 +64372,7 @@
64541
64372
  formId
64542
64373
  } = F$1(FormContext);
64543
64374
  return e("div", {
64544
- class: formFieldClasses(type$c),
64375
+ class: formFieldClasses(type$d),
64545
64376
  children: [safeSource && e("div", {
64546
64377
  class: "fjs-image-container",
64547
64378
  children: e("img", {
@@ -64565,7 +64396,7 @@
64565
64396
  });
64566
64397
  }
64567
64398
  Image$1.config = {
64568
- type: type$c,
64399
+ type: type$d,
64569
64400
  keyed: false,
64570
64401
  label: 'Image view',
64571
64402
  group: 'presentation',
@@ -64676,7 +64507,7 @@
64676
64507
  function isNullEquivalentValue(value) {
64677
64508
  return value === undefined || value === null || value === '';
64678
64509
  }
64679
- const type$b = 'number';
64510
+ const type$c = 'number';
64680
64511
  function Numberfield(props) {
64681
64512
  const {
64682
64513
  disabled,
@@ -64821,7 +64652,7 @@
64821
64652
  const descriptionId = `${domId}-description`;
64822
64653
  const errorMessageId = `${domId}-error-message`;
64823
64654
  return e("div", {
64824
- class: formFieldClasses(type$b, {
64655
+ class: formFieldClasses(type$c, {
64825
64656
  errors,
64826
64657
  disabled,
64827
64658
  readonly
@@ -64898,7 +64729,7 @@
64898
64729
  });
64899
64730
  }
64900
64731
  Numberfield.config = {
64901
- type: type$b,
64732
+ type: type$c,
64902
64733
  keyed: true,
64903
64734
  label: 'Number',
64904
64735
  group: 'basic-input',
@@ -64917,7 +64748,7 @@
64917
64748
  ...options
64918
64749
  })
64919
64750
  };
64920
- const type$a = 'radio';
64751
+ const type$b = 'radio';
64921
64752
  function Radio(props) {
64922
64753
  const {
64923
64754
  disabled,
@@ -64969,7 +64800,7 @@
64969
64800
  const descriptionId = `${domId}-description`;
64970
64801
  const errorMessageId = `${domId}-error-message`;
64971
64802
  return e("div", {
64972
- class: formFieldClasses(type$a, {
64803
+ class: formFieldClasses(type$b, {
64973
64804
  errors,
64974
64805
  disabled,
64975
64806
  readonly
@@ -65013,7 +64844,7 @@
65013
64844
  });
65014
64845
  }
65015
64846
  Radio.config = {
65016
- type: type$a,
64847
+ type: type$b,
65017
64848
  keyed: true,
65018
64849
  label: 'Radio group',
65019
64850
  group: 'selection',
@@ -65332,7 +65163,7 @@
65332
65163
  })]
65333
65164
  });
65334
65165
  }
65335
- const type$9 = 'select';
65166
+ const type$a = 'select';
65336
65167
  function Select$1(props) {
65337
65168
  const {
65338
65169
  disabled,
@@ -65371,7 +65202,7 @@
65371
65202
  'aria-describedby': [descriptionId, errorMessageId].join(' ')
65372
65203
  };
65373
65204
  return e("div", {
65374
- class: formFieldClasses(type$9, {
65205
+ class: formFieldClasses(type$a, {
65375
65206
  errors,
65376
65207
  disabled,
65377
65208
  readonly
@@ -65400,7 +65231,7 @@
65400
65231
  });
65401
65232
  }
65402
65233
  Select$1.config = {
65403
- type: type$9,
65234
+ type: type$a,
65404
65235
  keyed: true,
65405
65236
  label: 'Select',
65406
65237
  group: 'selection',
@@ -65408,15 +65239,15 @@
65408
65239
  sanitizeValue: sanitizeSingleSelectValue,
65409
65240
  create: createEmptyOptions
65410
65241
  };
65411
- const type$8 = 'separator';
65242
+ const type$9 = 'separator';
65412
65243
  function Separator() {
65413
65244
  return e("div", {
65414
- class: formFieldClasses(type$8),
65245
+ class: formFieldClasses(type$9),
65415
65246
  children: e("hr", {})
65416
65247
  });
65417
65248
  }
65418
65249
  Separator.config = {
65419
- type: type$8,
65250
+ type: type$9,
65420
65251
  keyed: false,
65421
65252
  label: 'Separator',
65422
65253
  group: 'presentation',
@@ -65424,7 +65255,7 @@
65424
65255
  ...options
65425
65256
  })
65426
65257
  };
65427
- const type$7 = 'spacer';
65258
+ const type$8 = 'spacer';
65428
65259
  function Spacer(props) {
65429
65260
  const {
65430
65261
  field
@@ -65433,14 +65264,14 @@
65433
65264
  height = 60
65434
65265
  } = field;
65435
65266
  return e("div", {
65436
- class: formFieldClasses(type$7),
65267
+ class: formFieldClasses(type$8),
65437
65268
  style: {
65438
65269
  height: height
65439
65270
  }
65440
65271
  });
65441
65272
  }
65442
65273
  Spacer.config = {
65443
- type: type$7,
65274
+ type: type$8,
65444
65275
  keyed: false,
65445
65276
  label: 'Spacer',
65446
65277
  group: 'presentation',
@@ -65518,7 +65349,7 @@
65518
65349
  children: label
65519
65350
  });
65520
65351
  }
65521
- const type$6 = 'taglist';
65352
+ const type$7 = 'taglist';
65522
65353
  function Taglist(props) {
65523
65354
  const {
65524
65355
  disabled,
@@ -65660,7 +65491,7 @@
65660
65491
  const errorMessageId = `${domId}-error-message`;
65661
65492
  return e("div", {
65662
65493
  ref: focusScopeRef,
65663
- class: formFieldClasses(type$6, {
65494
+ class: formFieldClasses(type$7, {
65664
65495
  errors,
65665
65496
  disabled,
65666
65497
  readonly
@@ -65745,7 +65576,7 @@
65745
65576
  });
65746
65577
  }
65747
65578
  Taglist.config = {
65748
- type: type$6,
65579
+ type: type$7,
65749
65580
  keyed: true,
65750
65581
  label: 'Tag list',
65751
65582
  group: 'selection',
@@ -65864,7 +65695,7 @@
65864
65695
  }
65865
65696
  return true;
65866
65697
  }
65867
- const type$5 = 'text';
65698
+ const type$6 = 'text';
65868
65699
  function Text$1(props) {
65869
65700
  const form = useService$2('form');
65870
65701
  const {
@@ -65911,12 +65742,12 @@
65911
65742
  sanitizeStyleTags: false
65912
65743
  });
65913
65744
  return e("div", {
65914
- class: formFieldClasses(type$5),
65745
+ class: formFieldClasses(type$6),
65915
65746
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
65916
65747
  });
65917
65748
  }
65918
65749
  Text$1.config = {
65919
- type: type$5,
65750
+ type: type$6,
65920
65751
  keyed: false,
65921
65752
  label: 'Text view',
65922
65753
  group: 'presentation',
@@ -65925,7 +65756,7 @@
65925
65756
  ...options
65926
65757
  })
65927
65758
  };
65928
- const type$4 = 'html';
65759
+ const type$5 = 'html';
65929
65760
  function Html(props) {
65930
65761
  const form = useService$2('form');
65931
65762
  const {
@@ -65976,12 +65807,12 @@
65976
65807
  sanitizeStyleTags: false
65977
65808
  });
65978
65809
  return e("div", {
65979
- class: classNames(formFieldClasses(type$4), styleScope),
65810
+ class: classNames(formFieldClasses(type$5), styleScope),
65980
65811
  dangerouslySetInnerHTML: dangerouslySetInnerHTML
65981
65812
  });
65982
65813
  }
65983
65814
  Html.config = {
65984
- type: type$4,
65815
+ type: type$5,
65985
65816
  keyed: false,
65986
65817
  label: 'HTML view',
65987
65818
  group: 'presentation',
@@ -65990,7 +65821,7 @@
65990
65821
  ...options
65991
65822
  })
65992
65823
  };
65993
- const type$3 = 'expression';
65824
+ const type$4 = 'expression';
65994
65825
  function ExpressionField(props) {
65995
65826
  const {
65996
65827
  field,
@@ -66027,7 +65858,7 @@
66027
65858
  return null;
66028
65859
  }
66029
65860
  ExpressionField.config = {
66030
- type: type$3,
65861
+ type: type$4,
66031
65862
  label: 'Expression',
66032
65863
  group: 'basic-input',
66033
65864
  keyed: true,
@@ -66038,7 +65869,7 @@
66038
65869
  ...options
66039
65870
  })
66040
65871
  };
66041
- const type$2 = 'textfield';
65872
+ const type$3 = 'textfield';
66042
65873
  function Textfield$1(props) {
66043
65874
  const {
66044
65875
  disabled,
@@ -66080,7 +65911,7 @@
66080
65911
  const descriptionId = `${domId}-description`;
66081
65912
  const errorMessageId = `${domId}-error-message`;
66082
65913
  return e("div", {
66083
- class: formFieldClasses(type$2, {
65914
+ class: formFieldClasses(type$3, {
66084
65915
  errors,
66085
65916
  disabled,
66086
65917
  readonly
@@ -66118,7 +65949,7 @@
66118
65949
  });
66119
65950
  }
66120
65951
  Textfield$1.config = {
66121
- type: type$2,
65952
+ type: type$3,
66122
65953
  keyed: true,
66123
65954
  label: 'Text field',
66124
65955
  group: 'basic-input',
@@ -66140,7 +65971,7 @@
66140
65971
  ...options
66141
65972
  })
66142
65973
  };
66143
- const type$1 = 'textarea';
65974
+ const type$2 = 'textarea';
66144
65975
  function Textarea(props) {
66145
65976
  const {
66146
65977
  disabled,
@@ -66190,7 +66021,7 @@
66190
66021
  const descriptionId = `${domId}-description`;
66191
66022
  const errorMessageId = `${domId}-error-message`;
66192
66023
  return e("div", {
66193
- class: formFieldClasses(type$1, {
66024
+ class: formFieldClasses(type$2, {
66194
66025
  errors,
66195
66026
  disabled,
66196
66027
  readonly
@@ -66222,7 +66053,7 @@
66222
66053
  });
66223
66054
  }
66224
66055
  Textarea.config = {
66225
- type: type$1,
66056
+ type: type$2,
66226
66057
  keyed: true,
66227
66058
  label: 'Text area',
66228
66059
  group: 'basic-input',
@@ -66350,7 +66181,7 @@
66350
66181
  d: "m12 8 10 8-10 8z"
66351
66182
  })));
66352
66183
  };
66353
- const type$i = 'table';
66184
+ const type$1 = 'table';
66354
66185
 
66355
66186
  /**
66356
66187
  * @typedef {('asc'|'desc')} Direction
@@ -66427,7 +66258,7 @@
66427
66258
  });
66428
66259
  }
66429
66260
  return e("div", {
66430
- class: formFieldClasses(type$i),
66261
+ class: formFieldClasses(type$1),
66431
66262
  children: [e(Label$3, {
66432
66263
  htmlFor: prefixId$2(id),
66433
66264
  label: label
@@ -66524,7 +66355,7 @@
66524
66355
  });
66525
66356
  }
66526
66357
  Table.config = {
66527
- type: type$i,
66358
+ type: type$1,
66528
66359
  keyed: false,
66529
66360
  label: 'Table',
66530
66361
  group: 'presentation',
@@ -66662,18 +66493,171 @@
66662
66493
  }
66663
66494
 
66664
66495
  /**
66665
- * @param {null|Sorting} sortBy
66666
- * @param {string} key
66667
- * @param {string} label
66496
+ * @param {null|Sorting} sortBy
66497
+ * @param {string} key
66498
+ * @param {string} label
66499
+ */
66500
+ function getHeaderAriaLabel(sortBy, key, label) {
66501
+ if (sortBy === null || sortBy.key !== key) {
66502
+ return `Click to sort by ${label} descending`;
66503
+ }
66504
+ if (sortBy.direction === 'asc') {
66505
+ return 'Click to remove sorting';
66506
+ }
66507
+ return `Click to sort by ${label} ascending`;
66508
+ }
66509
+ const FILE_PICKER_FILE_KEY_PREFIX = 'files::';
66510
+ const type$j = 'filepicker';
66511
+ const ids$1 = new Ids();
66512
+ const EMPTY_ARRAY$1 = [];
66513
+
66514
+ /**
66515
+ * @typedef Props
66516
+ * @property {(props: { value: string }) => void} onChange
66517
+ * @property {string} domId
66518
+ * @property {string[]} errors
66519
+ * @property {boolean} disabled
66520
+ * @property {boolean} readonly
66521
+ * @property {boolean} required
66522
+ * @property {Object} field
66523
+ * @property {string} field.id
66524
+ * @property {string} [field.label]
66525
+ * @property {string} [field.accept]
66526
+ * @property {string|boolean} [field.multiple]
66527
+ * @property {string} [value]
66528
+ *
66529
+ * @param {Props} props
66530
+ * @returns {import("preact").JSX.Element}
66531
+ */
66532
+ function FilePicker(props) {
66533
+ /** @type {import("preact/hooks").Ref<HTMLInputElement>} */
66534
+ const fileInputRef = s$1(null);
66535
+ /** @type {import('../../FileRegistry').FileRegistry} */
66536
+ const fileRegistry = useService$2('fileRegistry', false);
66537
+ const {
66538
+ field,
66539
+ onChange,
66540
+ domId,
66541
+ errors = [],
66542
+ disabled,
66543
+ readonly,
66544
+ required,
66545
+ value: filesKey = ''
66546
+ } = props;
66547
+ const {
66548
+ label,
66549
+ multiple = false,
66550
+ accept = ''
66551
+ } = field;
66552
+ /** @type {string} */
66553
+ const evaluatedAccept = useSingleLineTemplateEvaluation(accept);
66554
+ const evaluatedMultiple = useBooleanExpressionEvaluation(multiple);
66555
+ const errorMessageId = `${domId}-error-message`;
66556
+ /** @type {File[]} */
66557
+ const selectedFiles = fileRegistry === null ? EMPTY_ARRAY$1 : fileRegistry.getFiles(filesKey);
66558
+ y(() => {
66559
+ if (filesKey && fileRegistry !== null && !fileRegistry.hasKey(filesKey)) {
66560
+ onChange({
66561
+ value: null
66562
+ });
66563
+ }
66564
+ }, [fileRegistry, filesKey, onChange, selectedFiles.length]);
66565
+ y(() => {
66566
+ const data = new DataTransfer();
66567
+ selectedFiles.forEach(file => data.items.add(file));
66568
+ fileInputRef.current.files = data.files;
66569
+ }, [selectedFiles]);
66570
+
66571
+ /**
66572
+ * @type import("preact").JSX.GenericEventHandler<HTMLInputElement>
66573
+ */
66574
+ const onFileChange = event => {
66575
+ const input = /** @type {HTMLInputElement} */event.target;
66576
+
66577
+ // if we have an associated file key but no files are selected, clear the file key and associated files
66578
+ if ((input.files === null || input.files.length === 0) && filesKey !== '') {
66579
+ fileRegistry.deleteFiles(filesKey);
66580
+ onChange({
66581
+ value: null
66582
+ });
66583
+ return;
66584
+ }
66585
+ const files = Array.from(input.files);
66586
+
66587
+ // ensure fileKey exists
66588
+ const updatedFilesKey = filesKey || ids$1.nextPrefixed(FILE_PICKER_FILE_KEY_PREFIX);
66589
+ fileRegistry.setFiles(updatedFilesKey, files);
66590
+ onChange({
66591
+ value: updatedFilesKey
66592
+ });
66593
+ };
66594
+ const isInputDisabled = disabled || readonly || fileRegistry === null;
66595
+ return e("div", {
66596
+ className: formFieldClasses(type$j, {
66597
+ errors,
66598
+ disabled,
66599
+ readonly
66600
+ }),
66601
+ children: [e(Label$3, {
66602
+ htmlFor: domId,
66603
+ label: label,
66604
+ required: required
66605
+ }), e("input", {
66606
+ type: "file",
66607
+ className: "fjs-hidden",
66608
+ ref: fileInputRef,
66609
+ id: domId,
66610
+ name: domId,
66611
+ disabled: isInputDisabled,
66612
+ multiple: evaluatedMultiple || undefined,
66613
+ accept: evaluatedAccept || undefined,
66614
+ onChange: onFileChange
66615
+ }), e("div", {
66616
+ className: "fjs-filepicker-container",
66617
+ children: [e("button", {
66618
+ type: "button",
66619
+ disabled: isInputDisabled,
66620
+ readonly: readonly,
66621
+ className: "fjs-button fjs-filepicker-button",
66622
+ onClick: () => {
66623
+ fileInputRef.current.click();
66624
+ },
66625
+ children: "Browse"
66626
+ }), e("span", {
66627
+ className: "fjs-form-field-label",
66628
+ children: getSelectedFilesLabel(selectedFiles)
66629
+ })]
66630
+ }), e(Errors, {
66631
+ id: errorMessageId,
66632
+ errors: errors
66633
+ })]
66634
+ });
66635
+ }
66636
+ FilePicker.config = {
66637
+ type: 'filepicker',
66638
+ keyed: true,
66639
+ label: 'File picker',
66640
+ group: 'basic-input',
66641
+ emptyValue: null,
66642
+ create: (options = {}) => ({
66643
+ ...options
66644
+ })
66645
+ };
66646
+
66647
+ // helper //////////
66648
+
66649
+ /**
66650
+ * @param {File[]} files
66651
+ * @returns {string}
66668
66652
  */
66669
- function getHeaderAriaLabel(sortBy, key, label) {
66670
- if (sortBy === null || sortBy.key !== key) {
66671
- return `Click to sort by ${label} descending`;
66653
+ function getSelectedFilesLabel(files) {
66654
+ if (files.length === 0) {
66655
+ return 'No files selected';
66672
66656
  }
66673
- if (sortBy.direction === 'asc') {
66674
- return 'Click to remove sorting';
66657
+ if (files.length === 1) {
66658
+ return files[0].name;
66675
66659
  }
66676
- return `Click to sort by ${label} ascending`;
66660
+ return `${files.length} files selected`;
66677
66661
  }
66678
66662
 
66679
66663
  /**
@@ -66810,7 +66794,7 @@
66810
66794
  });
66811
66795
  }
66812
66796
  const formFields = [/* Input */
66813
- Textfield$1, Textarea, Numberfield, Datetime, ExpressionField, /* Selection */
66797
+ Textfield$1, Textarea, Numberfield, Datetime, ExpressionField, FilePicker, /* Selection */
66814
66798
  Checkbox$1, Checklist, Radio, Select$1, Taglist, /* Presentation */
66815
66799
  Text$1, Image$1, Table, Html, Spacer, Separator, /* Containers */
66816
66800
  Group$1, DynamicList, IFrame, /* Other */
@@ -66829,7 +66813,7 @@
66829
66813
  return this._formFields[type];
66830
66814
  }
66831
66815
  }
66832
- 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', 'dataSource', 'columnsExpression', 'expression'];
66816
+ 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', 'dataSource', 'columnsExpression', 'expression', 'accept', 'multiple'];
66833
66817
  const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text', 'content', 'url'];
66834
66818
 
66835
66819
  /**
@@ -67047,11 +67031,21 @@
67047
67031
  // if we have a hidden repeatable field, and the data structure allows, we clear it directly at the root and stop recursion
67048
67032
  if (context.isHidden && isRepeatable) {
67049
67033
  context.preventRecursion = true;
67034
+ this._eventBus.fire('conditionChecker.remove', {
67035
+ item: {
67036
+ [field.key]: get(workingData, getFilterPath(field, indexes))
67037
+ }
67038
+ });
67050
67039
  this._cleanlyClearDataAtPath(getFilterPath(field, indexes), workingData);
67051
67040
  }
67052
67041
 
67053
67042
  // for simple leaf fields, we always clear
67054
67043
  if (context.isHidden && isClosed) {
67044
+ this._eventBus.fire('conditionChecker.remove', {
67045
+ item: {
67046
+ [field.key]: get(workingData, getFilterPath(field, indexes))
67047
+ }
67048
+ });
67055
67049
  this._cleanlyClearDataAtPath(getFilterPath(field, indexes), workingData);
67056
67050
  }
67057
67051
  });
@@ -67854,9 +67848,9 @@
67854
67848
  d: "M12 7.5H8.5V4h-1v3.5H4v1h3.5V12h1V8.5H12z"
67855
67849
  })));
67856
67850
  };
67857
- var _path$x;
67858
- function _extends$y() {
67859
- _extends$y = Object.assign ? Object.assign.bind() : function (target) {
67851
+ var _path$y;
67852
+ function _extends$z() {
67853
+ _extends$z = Object.assign ? Object.assign.bind() : function (target) {
67860
67854
  for (var i = 1; i < arguments.length; i++) {
67861
67855
  var source = arguments[i];
67862
67856
  for (var key in source) {
@@ -67867,15 +67861,15 @@
67867
67861
  }
67868
67862
  return target;
67869
67863
  };
67870
- return _extends$y.apply(this, arguments);
67864
+ return _extends$z.apply(this, arguments);
67871
67865
  }
67872
67866
  var SvgDelete$1 = function SvgDelete(props) {
67873
- return /*#__PURE__*/v$1("svg", _extends$y({
67867
+ return /*#__PURE__*/v$1("svg", _extends$z({
67874
67868
  xmlns: "http://www.w3.org/2000/svg",
67875
67869
  width: 16,
67876
67870
  height: 16,
67877
67871
  fill: "none"
67878
- }, props), _path$x || (_path$x = /*#__PURE__*/v$1("path", {
67872
+ }, props), _path$y || (_path$y = /*#__PURE__*/v$1("path", {
67879
67873
  fill: "currentColor",
67880
67874
  d: "m12 4.7-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z"
67881
67875
  })));
@@ -67885,11 +67879,16 @@
67885
67879
  /* eslint-disable react-hooks/rules-of-hooks */
67886
67880
 
67887
67881
  class RepeatRenderManager {
67888
- constructor(form, formFields, formFieldRegistry, pathRegistry) {
67882
+ constructor(form, formFields, formFieldRegistry, pathRegistry, eventBus) {
67889
67883
  this._form = form;
67884
+ /** @type {import('../../render/FormFields').FormFields} */
67890
67885
  this._formFields = formFields;
67886
+ /** @type {import('../../core/FormFieldRegistry').FormFieldRegistry} */
67891
67887
  this._formFieldRegistry = formFieldRegistry;
67888
+ /** @type {import('../../core/PathRegistry').PathRegistry} */
67892
67889
  this._pathRegistry = pathRegistry;
67890
+ /** @type {import('../../core/EventBus').EventBus} */
67891
+ this._eventBus = eventBus;
67893
67892
  this.Repeater = this.Repeater.bind(this);
67894
67893
  this.RepeatFooter = this.RepeatFooter.bind(this);
67895
67894
  }
@@ -67929,11 +67928,18 @@
67929
67928
  const isCollapsed = collapseEnabled && sharedRepeatState.isCollapsed;
67930
67929
  const hasChildren = repeaterField.components && repeaterField.components.length > 0;
67931
67930
  const showRemove = repeaterField.allowAddRemove && hasChildren;
67932
- const displayValues = isCollapsed ? values.slice(0, nonCollapsedItems) : values;
67933
- const hiddenValues = isCollapsed ? values.slice(nonCollapsedItems) : [];
67931
+
67932
+ /**
67933
+ * @param {number} index
67934
+ */
67934
67935
  const onDeleteItem = index => {
67935
67936
  const updatedValues = values.slice();
67936
- updatedValues.splice(index, 1);
67937
+ const removedItem = updatedValues.splice(index, 1)[0];
67938
+ this._eventBus.fire('repeatRenderManager.remove', {
67939
+ dataPath,
67940
+ index,
67941
+ item: removedItem
67942
+ });
67937
67943
  props.onChange({
67938
67944
  field: repeaterField,
67939
67945
  value: updatedValues,
@@ -67942,20 +67948,12 @@
67942
67948
  };
67943
67949
  const parentExpressionContextInfo = F$1(LocalExpressionContext);
67944
67950
  return e(d$1, {
67945
- children: [displayValues.map((itemValue, itemIndex) => e(RepetitionScaffold, {
67946
- itemIndex: itemIndex,
67947
- itemValue: itemValue,
67948
- parentExpressionContextInfo: parentExpressionContextInfo,
67949
- repeaterField: repeaterField,
67950
- RowsRenderer: RowsRenderer,
67951
- indexes: indexes,
67952
- onDeleteItem: onDeleteItem,
67953
- showRemove: showRemove,
67954
- ...restProps
67955
- }, itemIndex)), hiddenValues.length > 0 ? e("div", {
67956
- className: "fjs-repeat-row-collapsed",
67957
- children: hiddenValues.map((itemValue, itemIndex) => e(RepetitionScaffold, {
67958
- itemIndex: itemIndex + nonCollapsedItems,
67951
+ children: values.map((itemValue, itemIndex) => e("div", {
67952
+ class: classNames({
67953
+ 'fjs-repeat-row-collapsed': isCollapsed ? itemIndex >= nonCollapsedItems : false
67954
+ }),
67955
+ children: e(RepetitionScaffold, {
67956
+ itemIndex: itemIndex,
67959
67957
  itemValue: itemValue,
67960
67958
  parentExpressionContextInfo: parentExpressionContextInfo,
67961
67959
  repeaterField: repeaterField,
@@ -67964,8 +67962,8 @@
67964
67962
  onDeleteItem: onDeleteItem,
67965
67963
  showRemove: showRemove,
67966
67964
  ...restProps
67967
- }, itemIndex))
67968
- }) : null]
67965
+ })
67966
+ }))
67969
67967
  });
67970
67968
  }
67971
67969
  RepeatFooter(props) {
@@ -68008,6 +68006,11 @@
68008
68006
  });
68009
68007
  updatedValues.push(newItem);
68010
68008
  shouldScroll.current = true;
68009
+ this._eventBus.fire('repeatRenderManager.add', {
68010
+ dataPath,
68011
+ index: updatedValues.length - 1,
68012
+ item: newItem
68013
+ });
68011
68014
  props.onChange({
68012
68015
  value: updatedValues
68013
68016
  });
@@ -68040,7 +68043,7 @@
68040
68043
  class: "fjs-repeat-render-collapse",
68041
68044
  onClick: toggle,
68042
68045
  children: isCollapsed ? e(d$1, {
68043
- children: [e(SvgExpand, {}), " ", `Expand all (${values.length})`]
68046
+ children: [e(SvgExpand, {}), " ", `Expand all (${values.length - 1})`]
68044
68047
  }) : e(d$1, {
68045
68048
  children: [e(SvgCollapse, {}), " ", 'Collapse']
68046
68049
  })
@@ -68125,7 +68128,7 @@
68125
68128
  })]
68126
68129
  });
68127
68130
  };
68128
- RepeatRenderManager.$inject = ['form', 'formFields', 'formFieldRegistry', 'pathRegistry'];
68131
+ RepeatRenderManager.$inject = ['form', 'formFields', 'formFieldRegistry', 'pathRegistry', 'eventBus'];
68129
68132
  const RepeatRenderModule$1 = {
68130
68133
  __init__: ['repeatRenderManager'],
68131
68134
  repeatRenderManager: ['type', RepeatRenderManager]
@@ -69509,39 +69512,52 @@
69509
69512
  this._formFieldInstances = {};
69510
69513
  eventBus.on('form.clear', () => this.clear());
69511
69514
  }
69512
- add(instance) {
69515
+ syncInstance(instanceId, formFieldInfo) {
69513
69516
  const {
69514
- id,
69515
- expressionContextInfo,
69516
- valuePath,
69517
- indexes
69518
- } = instance;
69519
- const instanceId = [id, ...Object.values(indexes || {})].join('_');
69520
- if (this._formFieldInstances[instanceId]) {
69521
- throw new Error('this form field instance is already registered');
69517
+ hidden,
69518
+ ...restInfo
69519
+ } = formFieldInfo;
69520
+ const isInstanceExpected = !hidden;
69521
+ const doesInstanceExist = this._formFieldInstances[instanceId];
69522
+ if (isInstanceExpected && !doesInstanceExist) {
69523
+ this._formFieldInstances[instanceId] = {
69524
+ instanceId,
69525
+ ...restInfo
69526
+ };
69527
+ this._eventBus.fire('formFieldInstance.added', {
69528
+ instanceId
69529
+ });
69530
+ } else if (!isInstanceExpected && doesInstanceExist) {
69531
+ delete this._formFieldInstances[instanceId];
69532
+ this._eventBus.fire('formFieldInstance.removed', {
69533
+ instanceId
69534
+ });
69535
+ } else if (isInstanceExpected && doesInstanceExist) {
69536
+ const wasInstanceChaged = Object.keys(restInfo).some(key => {
69537
+ return this._formFieldInstances[instanceId][key] !== restInfo[key];
69538
+ });
69539
+ if (wasInstanceChaged) {
69540
+ this._formFieldInstances[instanceId] = {
69541
+ instanceId,
69542
+ ...restInfo
69543
+ };
69544
+ this._eventBus.fire('formFieldInstance.changed', {
69545
+ instanceId
69546
+ });
69547
+ }
69522
69548
  }
69523
- this._formFieldInstances[instanceId] = {
69524
- id,
69525
- instanceId,
69526
- expressionContextInfo,
69527
- valuePath,
69528
- indexes
69529
- };
69530
- this._eventBus.fire('formFieldInstanceRegistry.changed', {
69531
- instanceId,
69532
- action: 'added'
69533
- });
69534
69549
  return instanceId;
69535
69550
  }
69536
- remove(instanceId) {
69537
- if (!this._formFieldInstances[instanceId]) {
69538
- return;
69551
+ cleanupInstance(instanceId) {
69552
+ if (this._formFieldInstances[instanceId]) {
69553
+ delete this._formFieldInstances[instanceId];
69554
+ this._eventBus.fire('formFieldInstance.removed', {
69555
+ instanceId
69556
+ });
69539
69557
  }
69540
- delete this._formFieldInstances[instanceId];
69541
- this._eventBus.fire('formFieldInstanceRegistry.changed', {
69542
- instanceId,
69543
- action: 'removed'
69544
- });
69558
+ }
69559
+ get(instanceId) {
69560
+ return this._formFieldInstances[instanceId];
69545
69561
  }
69546
69562
  getAll() {
69547
69563
  return Object.values(this._formFieldInstances);
@@ -69619,10 +69635,121 @@
69619
69635
  });
69620
69636
  }
69621
69637
  Renderer$1.$inject = ['config.renderer', 'eventBus', 'form', 'injector'];
69638
+
69639
+ /**
69640
+ * @typedef {Record<PropertyKey, unknown>} RemovedData
69641
+ * @param {RemovedData} removedData
69642
+ * @returns {string[]}
69643
+ */
69644
+ const extractFileReferencesFromRemovedData = removedData => {
69645
+ /** @type {string[]} */
69646
+ const fileReferences = [];
69647
+ if (removedData === null) {
69648
+ return fileReferences;
69649
+ }
69650
+ Object.values(removedData).forEach(value => {
69651
+ if (value === null) {
69652
+ return;
69653
+ }
69654
+ if (typeof value === 'object') {
69655
+ fileReferences.push(...extractFileReferencesFromRemovedData( /** @type {RemovedData} */value));
69656
+ } else if (Array.isArray(value)) {
69657
+ fileReferences.push(...value.map(extractFileReferencesFromRemovedData).flat());
69658
+ } else if (typeof value === 'string' && value.startsWith(FILE_PICKER_FILE_KEY_PREFIX)) {
69659
+ fileReferences.push(value);
69660
+ }
69661
+ });
69662
+ return fileReferences;
69663
+ };
69664
+ const fileRegistry = Symbol('fileRegistry');
69665
+ const eventBusSymbol = Symbol('eventBus');
69666
+ const formFieldRegistrySymbol = Symbol('formFieldRegistry');
69667
+ const formFieldInstanceRegistrySymbol = Symbol('formFieldInstanceRegistry');
69668
+ const EMPTY_ARRAY = [];
69669
+ class FileRegistry {
69670
+ /**
69671
+ * @param {import('../core/EventBus').EventBus} eventBus
69672
+ * @param {import('../core/FormFieldRegistry').FormFieldRegistry} formFieldRegistry
69673
+ * @param {import('../core/FormFieldInstanceRegistry').FormFieldInstanceRegistry} formFieldInstanceRegistry
69674
+ */
69675
+ constructor(eventBus, formFieldRegistry, formFieldInstanceRegistry) {
69676
+ /** @type {Map<string, File[]>} */
69677
+ this[fileRegistry] = new Map();
69678
+ /** @type {import('../core/EventBus').EventBus} */
69679
+ this[eventBusSymbol] = eventBus;
69680
+ /** @type {import('../core/FormFieldRegistry').FormFieldRegistry} */
69681
+ this[formFieldRegistrySymbol] = formFieldRegistry;
69682
+ /** @type {import('../core/FormFieldInstanceRegistry').FormFieldInstanceRegistry} */
69683
+ this[formFieldInstanceRegistrySymbol] = formFieldInstanceRegistry;
69684
+ const removeFileHandler = ({
69685
+ item
69686
+ }) => {
69687
+ const fileReferences = extractFileReferencesFromRemovedData(item);
69688
+
69689
+ // Remove all file references from the registry
69690
+ fileReferences.forEach(fileReference => {
69691
+ this.deleteFiles(fileReference);
69692
+ });
69693
+ };
69694
+ eventBus.on('form.clear', () => this.clear());
69695
+ eventBus.on('conditionChecker.remove', removeFileHandler);
69696
+ eventBus.on('repeatRenderManager.remove', removeFileHandler);
69697
+ }
69698
+
69699
+ /**
69700
+ * @param {string} id
69701
+ * @param {File[]} files
69702
+ */
69703
+ setFiles(id, files) {
69704
+ this[fileRegistry].set(id, files);
69705
+ }
69706
+
69707
+ /**
69708
+ * @param {string} id
69709
+ * @returns {File[]}
69710
+ */
69711
+ getFiles(id) {
69712
+ return this[fileRegistry].get(id) || EMPTY_ARRAY;
69713
+ }
69714
+
69715
+ /**
69716
+ * @returns {string[]}
69717
+ */
69718
+ getKeys() {
69719
+ return Array.from(this[fileRegistry].keys());
69720
+ }
69721
+
69722
+ /**
69723
+ * @param {string} id
69724
+ * @returns {boolean}
69725
+ */
69726
+ hasKey(id) {
69727
+ return this[fileRegistry].has(id);
69728
+ }
69729
+
69730
+ /**
69731
+ * @param {string} id
69732
+ */
69733
+ deleteFiles(id) {
69734
+ this[fileRegistry].delete(id);
69735
+ }
69736
+
69737
+ /**
69738
+ * @returns {Map<string, File[]>}
69739
+ */
69740
+ getAllFiles() {
69741
+ return new Map(this[fileRegistry]);
69742
+ }
69743
+ clear() {
69744
+ this[fileRegistry].clear();
69745
+ }
69746
+ }
69747
+ FileRegistry.$inject = ['eventBus', 'formFieldRegistry', 'formFieldInstanceRegistry'];
69622
69748
  const RenderModule$1 = {
69623
69749
  __init__: ['formFields', 'renderer'],
69624
69750
  formFields: ['type', FormFields],
69625
- renderer: ['type', Renderer$1]
69751
+ renderer: ['type', Renderer$1],
69752
+ fileRegistry: ['type', FileRegistry]
69626
69753
  };
69627
69754
  const CoreModule$1 = {
69628
69755
  __depends__: [RenderModule$1],
@@ -69659,7 +69786,7 @@
69659
69786
  * @typedef { OnEventWithPriority & OnEventWithOutPriority } OnEventType
69660
69787
  */
69661
69788
 
69662
- const ids$1 = new Ids([32, 36, 1]);
69789
+ const ids$3 = new Ids([32, 36, 1]);
69663
69790
 
69664
69791
  /**
69665
69792
  * The form.
@@ -69680,7 +69807,7 @@
69680
69807
  * @public
69681
69808
  * @type {String}
69682
69809
  */
69683
- this._id = ids$1.next();
69810
+ this._id = ids$3.next();
69684
69811
 
69685
69812
  /**
69686
69813
  * @private
@@ -69774,7 +69901,7 @@
69774
69901
  /**
69775
69902
  * Submit the form, triggering all field validations.
69776
69903
  *
69777
- * @returns { { data: Data, errors: Errors } }
69904
+ * @returns { { data: Data, errors: Errors, files: Map<string, File[]> } }
69778
69905
  */
69779
69906
  submit() {
69780
69907
  const {
@@ -69786,9 +69913,11 @@
69786
69913
  this._emit('presubmit');
69787
69914
  const data = this._getSubmitData();
69788
69915
  const errors = this.validate();
69916
+ const files = this.get('fileRegistry').getAllFiles();
69789
69917
  const result = {
69790
69918
  data,
69791
- errors
69919
+ errors,
69920
+ files
69792
69921
  };
69793
69922
  this._emit('submit', result);
69794
69923
  return result;
@@ -82987,7 +83116,7 @@
82987
83116
  return path.split('.').some(segment => prohibitedSegments.includes(segment));
82988
83117
  }
82989
83118
  const LABELED_NON_INPUTS = ['button', 'group', 'dynamiclist', 'iframe', 'table'];
82990
- const INPUTS = ['checkbox', 'checklist', 'datetime', 'number', 'radio', 'select', 'taglist', 'textfield', 'textarea'];
83119
+ const INPUTS = ['checkbox', 'checklist', 'datetime', 'number', 'radio', 'select', 'taglist', 'textfield', 'textarea', 'filepicker'];
82991
83120
  const OPTIONS_INPUTS = ['checklist', 'radio', 'select', 'taglist'];
82992
83121
  function hasEntryConfigured(formFieldDefinition, entryId) {
82993
83122
  const {
@@ -83472,7 +83601,7 @@
83472
83601
  editField: editField,
83473
83602
  field: field,
83474
83603
  isEdited: isEdited$6,
83475
- isDefaultVisible: field => INPUTS.includes(field.type)
83604
+ isDefaultVisible: field => field.type !== 'filepicker' && INPUTS.includes(field.type)
83476
83605
  });
83477
83606
  return entries;
83478
83607
  }
@@ -83523,26 +83652,26 @@
83523
83652
  return matchers(field);
83524
83653
  };
83525
83654
  }
83526
- const defaulValueBase = {
83655
+ const defaultValueBase = {
83527
83656
  editField,
83528
83657
  field,
83529
83658
  id: 'defaultValue',
83530
83659
  label: 'Default value'
83531
83660
  };
83532
83661
  entries.push({
83533
- ...defaulValueBase,
83662
+ ...defaultValueBase,
83534
83663
  component: DefaultValueCheckbox,
83535
83664
  isEdited: isEdited$3,
83536
83665
  isDefaultVisible: isDefaultVisible(field => field.type === 'checkbox')
83537
83666
  });
83538
83667
  entries.push({
83539
- ...defaulValueBase,
83668
+ ...defaultValueBase,
83540
83669
  component: DefaultValueNumber,
83541
83670
  isEdited: isEdited,
83542
83671
  isDefaultVisible: isDefaultVisible(field => field.type === 'number')
83543
83672
  });
83544
83673
  entries.push({
83545
- ...defaulValueBase,
83674
+ ...defaultValueBase,
83546
83675
  component: DefaultValueSingleSelect,
83547
83676
  isEdited: isEdited$3,
83548
83677
  isDefaultVisible: isDefaultVisible(field => field.type === 'radio' || field.type === 'select')
@@ -83551,13 +83680,13 @@
83551
83680
  // todo(Skaiir): implement a multiselect equivalent (cf. https://github.com/bpmn-io/form-js/issues/265)
83552
83681
 
83553
83682
  entries.push({
83554
- ...defaulValueBase,
83683
+ ...defaultValueBase,
83555
83684
  component: DefaultValueTextfield,
83556
83685
  isEdited: isEdited,
83557
83686
  isDefaultVisible: isDefaultVisible(field => field.type === 'textfield')
83558
83687
  });
83559
83688
  entries.push({
83560
- ...defaulValueBase,
83689
+ ...defaultValueBase,
83561
83690
  component: DefaultValueTextarea,
83562
83691
  isEdited: isEdited$1,
83563
83692
  isDefaultVisible: isDefaultVisible(field => field.type === 'textarea')
@@ -84625,7 +84754,7 @@
84625
84754
  };
84626
84755
  return FeelTemplatingEntry({
84627
84756
  debounce,
84628
- description: description$1,
84757
+ description: description$2,
84629
84758
  element: field,
84630
84759
  getValue,
84631
84760
  id,
@@ -84635,7 +84764,7 @@
84635
84764
  variables
84636
84765
  });
84637
84766
  }
84638
- const description$1 = e(d$1, {
84767
+ const description$2 = e(d$1, {
84639
84768
  children: ["Supports markdown and templating.", ' ', e("a", {
84640
84769
  href: "https://docs.camunda.io/docs/components/modeler/forms/form-element-library/forms-element-library-text/",
84641
84770
  target: "_blank",
@@ -84676,7 +84805,7 @@
84676
84805
  };
84677
84806
  return FeelTemplatingEntry({
84678
84807
  debounce,
84679
- description,
84808
+ description: description$1,
84680
84809
  element: field,
84681
84810
  getValue,
84682
84811
  id,
@@ -84690,7 +84819,7 @@
84690
84819
 
84691
84820
  // helpers //////////
84692
84821
 
84693
- const description = e(d$1, {
84822
+ const description$1 = e(d$1, {
84694
84823
  children: ["Supports HTML, styling, and templating. Styles are automatically scoped to the HTML component.", ' ', e("a", {
84695
84824
  href: "https://docs.camunda.io/docs/components/modeler/forms/form-element-library/forms-element-library-html/",
84696
84825
  target: "_blank",
@@ -86432,10 +86561,159 @@
86432
86561
  add: addEntry
86433
86562
  };
86434
86563
  }
86564
+ function VersionTagEntry(props) {
86565
+ const {
86566
+ editField,
86567
+ field
86568
+ } = props;
86569
+ const entries = [];
86570
+ entries.push({
86571
+ id: 'versionTag',
86572
+ component: VersionTag,
86573
+ editField: editField,
86574
+ field: field,
86575
+ isEdited: isEdited,
86576
+ isDefaultVisible: field => field.type === 'default'
86577
+ });
86578
+ return entries;
86579
+ }
86580
+ function VersionTag(props) {
86581
+ const {
86582
+ editField,
86583
+ field,
86584
+ id
86585
+ } = props;
86586
+ const debounce = useService('debounce');
86587
+ const path = ['versionTag'];
86588
+ const getValue = () => {
86589
+ return get(field, path, '');
86590
+ };
86591
+ const setValue = (value, error) => {
86592
+ if (error) {
86593
+ return;
86594
+ }
86595
+ return editField(field, path, value);
86596
+ };
86597
+ const tooltip = e("div", {
86598
+ children: "Version tag by which this form can be referenced."
86599
+ });
86600
+ return TextfieldEntry({
86601
+ debounce,
86602
+ element: field,
86603
+ getValue,
86604
+ id,
86605
+ label: 'Version tag',
86606
+ setValue,
86607
+ tooltip
86608
+ });
86609
+ }
86610
+ function AcceptEntry(props) {
86611
+ const {
86612
+ editField,
86613
+ field
86614
+ } = props;
86615
+ const entries = [];
86616
+ entries.push({
86617
+ id: 'accept',
86618
+ component: Accept,
86619
+ editField: editField,
86620
+ field: field,
86621
+ isEdited: isEdited$6,
86622
+ isDefaultVisible: field => field.type === 'filepicker'
86623
+ });
86624
+ return entries;
86625
+ }
86626
+ function Accept(props) {
86627
+ const {
86628
+ editField,
86629
+ field,
86630
+ id
86631
+ } = props;
86632
+ const debounce = useService('debounce');
86633
+ const variables = useVariables().map(name => ({
86634
+ name
86635
+ }));
86636
+ const path = ['accept'];
86637
+ const getValue = () => {
86638
+ return get(field, path, '');
86639
+ };
86640
+ const setValue = value => {
86641
+ return editField(field, path, value);
86642
+ };
86643
+ return FeelTemplatingEntry({
86644
+ debounce,
86645
+ element: field,
86646
+ getValue,
86647
+ id,
86648
+ label: 'Supported file formats',
86649
+ singleLine: true,
86650
+ setValue,
86651
+ variables,
86652
+ description
86653
+ });
86654
+ }
86655
+
86656
+ // helpers //////////
86657
+
86658
+ const description = e(d$1, {
86659
+ children: ["A comma-separated list of", ' ', e("a", {
86660
+ href: "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers",
86661
+ target: "_blank",
86662
+ children: "file type specifiers"
86663
+ })]
86664
+ });
86665
+ function MultipleEntry(props) {
86666
+ const {
86667
+ editField,
86668
+ field
86669
+ } = props;
86670
+ const entries = [];
86671
+ entries.push({
86672
+ id: 'multiple',
86673
+ component: Multiple,
86674
+ editField: editField,
86675
+ field: field,
86676
+ isEdited: isEdited$6,
86677
+ isDefaultVisible: field => field.type === 'filepicker'
86678
+ });
86679
+ return entries;
86680
+ }
86681
+ function Multiple(props) {
86682
+ const {
86683
+ editField,
86684
+ field,
86685
+ id
86686
+ } = props;
86687
+ const debounce = useService('debounce');
86688
+ const variables = useVariables().map(name => ({
86689
+ name
86690
+ }));
86691
+ const path = ['multiple'];
86692
+ const getValue = () => {
86693
+ return get(field, path, '');
86694
+ };
86695
+ const setValue = value => {
86696
+ return editField(field, path, value);
86697
+ };
86698
+ return FeelToggleSwitchEntry({
86699
+ debounce,
86700
+ element: field,
86701
+ feel: 'optional',
86702
+ getValue,
86703
+ id,
86704
+ label: 'Select multiple files',
86705
+ inline: true,
86706
+ setValue,
86707
+ variables
86708
+ });
86709
+ }
86435
86710
  function GeneralGroup(field, editField, getService) {
86436
86711
  const entries = [...IdEntry({
86437
86712
  field,
86438
86713
  editField
86714
+ }), ...VersionTagEntry({
86715
+ field,
86716
+ editField
86439
86717
  }), ...LabelEntry({
86440
86718
  field,
86441
86719
  editField
@@ -86495,6 +86773,12 @@
86495
86773
  }), ...SelectEntries({
86496
86774
  field,
86497
86775
  editField
86776
+ }), ...AcceptEntry({
86777
+ field,
86778
+ editField
86779
+ }), ...MultipleEntry({
86780
+ field,
86781
+ editField
86498
86782
  }), ...DisabledEntry({
86499
86783
  field,
86500
86784
  editField
@@ -89350,7 +89634,8 @@
89350
89634
 
89351
89635
  // pipe viewer changes to output data editor
89352
89636
  formViewer.on('changed', updateOutputData);
89353
- formViewer.on('formFieldInstanceRegistry.changed', updateOutputData);
89637
+ formViewer.on('formFieldInstance.added', updateOutputData);
89638
+ formViewer.on('formFieldInstance.removed', updateOutputData);
89354
89639
  inputDataEditor.on('changed', event => {
89355
89640
  try {
89356
89641
  setData(JSON.parse(event.value));