@bpmn-io/form-js-playground 1.0.0-alpha.9 → 1.0.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.
@@ -49,21 +49,16 @@
49
49
  };
50
50
  return null != l$3.vnode && l$3.vnode(f), f;
51
51
  }
52
- function p$2() {
53
- return {
54
- current: null
55
- };
56
- }
57
52
  function d$1(n) {
58
53
  return n.children;
59
54
  }
60
- function _$1(n, l) {
55
+ function _(n, l) {
61
56
  this.props = n, this.context = l;
62
57
  }
63
- function k$2(n, l) {
64
- if (null == l) return n.__ ? k$2(n.__, n.__.__k.indexOf(n) + 1) : null;
58
+ function k$1(n, l) {
59
+ if (null == l) return n.__ ? k$1(n.__, n.__.__k.indexOf(n) + 1) : null;
65
60
  for (var u; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) return u.__e;
66
- return "function" == typeof n.type ? k$2(n) : null;
61
+ return "function" == typeof n.type ? k$1(n) : null;
67
62
  }
68
63
  function b$1(n) {
69
64
  var l, u;
@@ -76,14 +71,14 @@
76
71
  }
77
72
  }
78
73
  function m$1(n) {
79
- (!n.__d && (n.__d = !0) && t$2.push(n) && !g$2.__r++ || r$1 !== l$3.debounceRendering) && ((r$1 = l$3.debounceRendering) || o$3)(g$2);
74
+ (!n.__d && (n.__d = !0) && t$2.push(n) && !g$1.__r++ || r$1 !== l$3.debounceRendering) && ((r$1 = l$3.debounceRendering) || o$3)(g$1);
80
75
  }
81
- function g$2() {
82
- for (var n; g$2.__r = t$2.length;) n = t$2.sort(function (n, l) {
76
+ function g$1() {
77
+ for (var n; g$1.__r = t$2.length;) n = t$2.sort(function (n, l) {
83
78
  return n.__v.__b - l.__v.__b;
84
79
  }), t$2 = [], n.some(function (n) {
85
80
  var l, u, i, t, o, r;
86
- n.__d && (o = (t = (l = n).__v).__e, (r = l.__P) && (u = [], (i = a$2({}, t)).__v = t.__v + 1, j$2(r, t, i, l.__n, void 0 !== r.ownerSVGElement, null != t.__h ? [o] : null, u, null == o ? k$2(t) : o, t.__h), z$1(u, t), t.__e != o && b$1(t)));
81
+ n.__d && (o = (t = (l = n).__v).__e, (r = l.__P) && (u = [], (i = a$2({}, t)).__v = t.__v + 1, j$2(r, t, i, l.__n, void 0 !== r.ownerSVGElement, null != t.__h ? [o] : null, u, null == o ? k$1(t) : o, t.__h), z(u, t), t.__e != o && b$1(t)));
87
82
  });
88
83
  }
89
84
  function w$2(n, l, u, i, t, o, r, f, s, a) {
@@ -106,9 +101,9 @@
106
101
  }
107
102
  p = null;
108
103
  }
109
- j$2(n, _, p = p || e$3, t, o, r, f, s, a), b = _.__e, (v = _.ref) && p.ref != v && (g || (g = []), p.ref && g.push(p.ref, null, _), g.push(v, _.__c || b, _)), null != b ? (null == m && (m = b), "function" == typeof _.type && null != _.__k && _.__k === p.__k ? _.__d = s = x$2(_, s, n) : s = P$3(n, _, p, w, b, s), a || "option" !== u.type ? "function" == typeof u.type && (u.__d = s) : n.value = "") : s && p.__e == s && s.parentNode != n && (s = k$2(p));
104
+ j$2(n, _, p = p || e$3, t, o, r, f, s, a), b = _.__e, (v = _.ref) && p.ref != v && (g || (g = []), p.ref && g.push(p.ref, null, _), g.push(v, _.__c || b, _)), null != b ? (null == m && (m = b), "function" == typeof _.type && null != _.__k && _.__k === p.__k ? _.__d = s = x$2(_, s, n) : s = P$3(n, _, p, w, b, s), a || "option" !== u.type ? "function" == typeof u.type && (u.__d = s) : n.value = "") : s && p.__e == s && s.parentNode != n && (s = k$1(p));
110
105
  }
111
- for (u.__e = m, h = A; h--;) null != w[h] && ("function" == typeof u.type && null != w[h].__e && w[h].__e == u.__d && (u.__d = k$2(i, h + 1)), N$1(w[h], w[h]));
106
+ for (u.__e = m, h = A; h--;) null != w[h] && ("function" == typeof u.type && null != w[h].__e && w[h].__e == u.__d && (u.__d = k$1(i, h + 1)), N(w[h], w[h]));
112
107
  if (g) for (h = 0; h < g.length; h++) M$1(g[h], g[++h], g[++h]);
113
108
  }
114
109
  function x$2(n, l, u) {
@@ -144,7 +139,7 @@
144
139
  if ("string" == typeof i && (n.style.cssText = i = ""), i) for (l in i) u && l in u || $$1(n.style, l, "");
145
140
  if (u) for (l in u) i && u[l] === i[l] || $$1(n.style, l, u[l]);
146
141
  }
147
- } else if ("o" === l[0] && "n" === l[1]) o = l !== (l = l.replace(/Capture$/, "")), l = l.toLowerCase() in n ? l.toLowerCase().slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + o] = u, u ? i || n.addEventListener(l, o ? T$2 : I$1, o) : n.removeEventListener(l, o ? T$2 : I$1, o);else if ("dangerouslySetInnerHTML" !== l) {
142
+ } else if ("o" === l[0] && "n" === l[1]) o = l !== (l = l.replace(/Capture$/, "")), l = l.toLowerCase() in n ? l.toLowerCase().slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + o] = u, u ? i || n.addEventListener(l, o ? T$1 : I$1, o) : n.removeEventListener(l, o ? T$1 : I$1, o);else if ("dangerouslySetInnerHTML" !== l) {
148
143
  if (t) l = l.replace(/xlink[H:h]/, "h").replace(/sName$/, "s");else if ("href" !== l && "list" !== l && "form" !== l && "tabIndex" !== l && "download" !== l && l in n) try {
149
144
  n[l] = null == u ? "" : u;
150
145
  break n;
@@ -155,7 +150,7 @@
155
150
  function I$1(n) {
156
151
  this.l[n.type + !1](l$3.event ? l$3.event(n) : n);
157
152
  }
158
- function T$2(n) {
153
+ function T$1(n) {
159
154
  this.l[n.type + !0](l$3.event ? l$3.event(n) : n);
160
155
  }
161
156
  function j$2(n, u, i, t, o, r, f, e, c) {
@@ -175,7 +170,7 @@
175
170
  null != i.__h && (c = i.__h, e = u.__e = i.__e, u.__h = null, r = [e]), (s = l$3.__b) && s(u);
176
171
  try {
177
172
  n: if ("function" == typeof P) {
178
- if (m = u.props, g = (s = P.contextType) && t[s.__c], x = s ? g ? g.props.value : s.__ : t, i.__c ? b = (h = u.__c = i.__c).__ = h.__E : ("prototype" in P && P.prototype.render ? u.__c = h = new P(m, x) : (u.__c = h = new _$1(m, x), h.constructor = P, h.render = O$1), g && g.sub(h), h.props = m, h.state || (h.state = {}), h.context = x, h.__n = t, v = h.__d = !0, h.__h = []), null == h.__s && (h.__s = h.state), null != P.getDerivedStateFromProps && (h.__s == h.state && (h.__s = a$2({}, h.__s)), a$2(h.__s, P.getDerivedStateFromProps(m, h.__s))), y = h.props, p = h.state, v) null == P.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), null != h.componentDidMount && h.__h.push(h.componentDidMount);else {
173
+ if (m = u.props, g = (s = P.contextType) && t[s.__c], x = s ? g ? g.props.value : s.__ : t, i.__c ? b = (h = u.__c = i.__c).__ = h.__E : ("prototype" in P && P.prototype.render ? u.__c = h = new P(m, x) : (u.__c = h = new _(m, x), h.constructor = P, h.render = O$1), g && g.sub(h), h.props = m, h.state || (h.state = {}), h.context = x, h.__n = t, v = h.__d = !0, h.__h = []), null == h.__s && (h.__s = h.state), null != P.getDerivedStateFromProps && (h.__s == h.state && (h.__s = a$2({}, h.__s)), a$2(h.__s, P.getDerivedStateFromProps(m, h.__s))), y = h.props, p = h.state, v) null == P.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), null != h.componentDidMount && h.__h.push(h.componentDidMount);else {
179
174
  if (null == P.getDerivedStateFromProps && m !== y && null != h.componentWillReceiveProps && h.componentWillReceiveProps(m, x), !h.__e && null != h.shouldComponentUpdate && !1 === h.shouldComponentUpdate(m, h.__s, x) || u.__v === i.__v) {
180
175
  h.props = m, h.state = h.__s, u.__v !== i.__v && (h.__d = !1), h.__v = u, u.__e = i.__e, u.__k = i.__k, u.__k.forEach(function (n) {
181
176
  n && (n.__ = u);
@@ -193,7 +188,7 @@
193
188
  u.__v = null, (c || null != r) && (u.__e = e, u.__h = !!c, r[r.indexOf(e)] = null), l$3.__e(n, u, i);
194
189
  }
195
190
  }
196
- function z$1(n, u) {
191
+ function z(n, u) {
197
192
  l$3.__c && l$3.__c(u, n), n.some(function (u) {
198
193
  try {
199
194
  n = u.__h, u.__h = [], n.some(function (n) {
@@ -225,7 +220,7 @@
225
220
  if (null != r) for (y = {}, _ = 0; _ < l.attributes.length; _++) y[l.attributes[_].name] = l.attributes[_].value;
226
221
  (v || a) && (v && (a && v.__html == a.__html || v.__html === l.innerHTML) || (l.innerHTML = v && v.__html || ""));
227
222
  }
228
- if (C$2(l, p, y, o, c), v) u.__k = [];else if (_ = u.props.children, w$2(l, Array.isArray(_) ? _ : [_], u, i, t, o && "foreignObject" !== d, r, f, r ? r[0] : i.__k && k$2(i, 0), c), null != r) for (_ = r.length; _--;) null != r[_] && h$1(r[_]);
223
+ if (C$2(l, p, y, o, c), v) u.__k = [];else if (_ = u.props.children, w$2(l, Array.isArray(_) ? _ : [_], u, i, t, o && "foreignObject" !== d, r, f, r ? r[0] : i.__k && k$1(i, 0), c), null != r) for (_ = r.length; _--;) null != r[_] && h$1(r[_]);
229
224
  c || ("value" in p && void 0 !== (_ = p.value) && (_ !== l.value || "progress" === d && !_) && H$1(l, "value", _, y.value, !1), "checked" in p && void 0 !== (_ = p.checked) && _ !== l.checked && H$1(l, "checked", _, y.checked, !1));
230
225
  }
231
226
  return l;
@@ -237,7 +232,7 @@
237
232
  l$3.__e(n, i);
238
233
  }
239
234
  }
240
- function N$1(n, u, i) {
235
+ function N(n, u, i) {
241
236
  var t, o;
242
237
  if (l$3.unmount && l$3.unmount(n), (t = n.ref) && (t.current && t.current !== n.__e || M$1(t, null, u)), null != (t = n.__c)) {
243
238
  if (t.componentWillUnmount) try {
@@ -247,7 +242,7 @@
247
242
  }
248
243
  t.base = t.__P = null;
249
244
  }
250
- if (t = n.__k) for (o = 0; o < t.length; o++) t[o] && N$1(t[o], u, "function" != typeof n.type);
245
+ if (t = n.__k) for (o = 0; o < t.length; o++) t[o] && N(t[o], u, "function" != typeof n.type);
251
246
  i || null == n.__e || h$1(n.__e), n.__e = n.__d = void 0;
252
247
  }
253
248
  function O$1(n, l, u) {
@@ -255,18 +250,7 @@
255
250
  }
256
251
  function S$1(u, i, t) {
257
252
  var o, r, f;
258
- l$3.__ && l$3.__(u, i), r = (o = "function" == typeof t) ? null : t && t.__k || i.__k, f = [], j$2(i, u = (!o && t || i).__k = v$1(d$1, null, [u]), r || e$3, e$3, void 0 !== i.ownerSVGElement, !o && t ? [t] : r ? null : i.firstChild ? n$2.call(i.childNodes) : null, f, !o && t ? t : r ? r.__e : i.firstChild, o), z$1(f, u);
259
- }
260
- function q$1(n, l) {
261
- S$1(n, l, q$1);
262
- }
263
- function B$1(l, u, i) {
264
- var t,
265
- o,
266
- r,
267
- f = a$2({}, l.props);
268
- for (r in u) "key" == r ? t = u[r] : "ref" == r ? o = u[r] : f[r] = u[r];
269
- return arguments.length > 2 && (f.children = arguments.length > 3 ? n$2.call(arguments, 2) : i), y$1(l.type, f, t || l.key, o || l.ref, null);
253
+ l$3.__ && l$3.__(u, i), r = (o = "function" == typeof t) ? null : t && t.__k || i.__k, f = [], j$2(i, u = (!o && t || i).__k = v$1(d$1, null, [u]), r || e$3, e$3, void 0 !== i.ownerSVGElement, !o && t ? [t] : r ? null : i.firstChild ? n$2.call(i.childNodes) : null, f, !o && t ? t : r ? r.__e : i.firstChild, o), z(f, u);
270
254
  }
271
255
  function D$1(n, l) {
272
256
  var u = {
@@ -301,12 +285,12 @@
301
285
  }
302
286
  throw n;
303
287
  }
304
- }, u$1 = 0, _$1.prototype.setState = function (n, l) {
288
+ }, u$1 = 0, _.prototype.setState = function (n, l) {
305
289
  var u;
306
290
  u = null != this.__s && this.__s !== this.state ? this.__s : this.__s = a$2({}, this.state), "function" == typeof n && (n = n(a$2({}, u), this.props)), n && a$2(u, n), null != n && this.__v && (l && this.__h.push(l), m$1(this));
307
- }, _$1.prototype.forceUpdate = function (n) {
291
+ }, _.prototype.forceUpdate = function (n) {
308
292
  this.__v && (this.__e = !0, n && this.__h.push(n), m$1(this));
309
- }, _$1.prototype.render = d$1, t$2 = [], o$3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, g$2.__r = 0, f$1 = 0;
293
+ }, _.prototype.render = d$1, t$2 = [], o$3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, g$1.__r = 0, f$1 = 0;
310
294
 
311
295
  /**
312
296
  * Flatten array, one level deep.
@@ -633,11 +617,11 @@
633
617
  }
634
618
  function y(r, o) {
635
619
  var i = m(t$1++, 3);
636
- !l$3.__s && k$1(i.__H, o) && (i.__ = r, i.__H = o, u.__H.__h.push(i));
620
+ !l$3.__s && k(i.__H, o) && (i.__ = r, i.__H = o, u.__H.__h.push(i));
637
621
  }
638
622
  function h(r, o) {
639
623
  var i = m(t$1++, 4);
640
- !l$3.__s && k$1(i.__H, o) && (i.__ = r, i.__H = o, u.__h.push(i));
624
+ !l$3.__s && k(i.__H, o) && (i.__ = r, i.__H = o, u.__h.push(i));
641
625
  }
642
626
  function s$1(n) {
643
627
  return o$2 = 5, d(function () {
@@ -646,32 +630,24 @@
646
630
  };
647
631
  }, []);
648
632
  }
649
- function _(n, t, u) {
650
- o$2 = 6, h(function () {
651
- "function" == typeof n ? n(t()) : n && (n.current = t());
652
- }, null == u ? u : u.concat(n));
653
- }
654
633
  function d(n, u) {
655
634
  var r = m(t$1++, 7);
656
- return k$1(r.__H, u) && (r.__ = n(), r.__H = u, r.__h = n), r.__;
635
+ return k(r.__H, u) && (r.__ = n(), r.__H = u, r.__h = n), r.__;
657
636
  }
658
637
  function A$1(n, t) {
659
638
  return o$2 = 8, d(function () {
660
639
  return n;
661
640
  }, t);
662
641
  }
663
- function F$1(n) {
642
+ function F(n) {
664
643
  var r = u.context[n.__c],
665
644
  o = m(t$1++, 9);
666
645
  return o.c = n, r ? (null == o.__ && (o.__ = !0, r.sub(u)), r.props.value) : n.__;
667
646
  }
668
- function T$1(t, u) {
669
- l$3.useDebugValue && l$3.useDebugValue(u ? u(t) : t);
670
- }
671
647
  function x$1() {
672
648
  i$2.forEach(function (t) {
673
649
  if (t.__P) try {
674
- t.__H.__h.forEach(g$1), t.__H.__h.forEach(j$1), t.__H.__h = [];
650
+ t.__H.__h.forEach(g), t.__H.__h.forEach(j$1), t.__H.__h = [];
675
651
  } catch (u) {
676
652
  t.__H.__h = [], l$3.__e(u, t.__v);
677
653
  }
@@ -682,7 +658,7 @@
682
658
  }, l$3.__r = function (n) {
683
659
  f && f(n), t$1 = 0;
684
660
  var r = (u = n.__c).__H;
685
- r && (r.__h.forEach(g$1), r.__h.forEach(j$1), r.__h = []);
661
+ r && (r.__h.forEach(g), r.__h.forEach(j$1), r.__h = []);
686
662
  }, l$3.diffed = function (t) {
687
663
  e$2 && e$2(t);
688
664
  var o = t.__c;
@@ -697,7 +673,7 @@
697
673
  }, l$3.__c = function (t, u) {
698
674
  u.some(function (t) {
699
675
  try {
700
- t.__h.forEach(g$1), t.__h = t.__h.filter(function (n) {
676
+ t.__h.forEach(g), t.__h = t.__h.filter(function (n) {
701
677
  return !n.__ || j$1(n);
702
678
  });
703
679
  } catch (r) {
@@ -710,13 +686,13 @@
710
686
  v && v(t);
711
687
  var u = t.__c;
712
688
  if (u && u.__H) try {
713
- u.__H.__.forEach(g$1);
689
+ u.__H.__.forEach(g);
714
690
  } catch (t) {
715
691
  l$3.__e(t, u.__v);
716
692
  }
717
693
  };
718
694
  var b = "function" == typeof requestAnimationFrame;
719
- function g$1(n) {
695
+ function g(n) {
720
696
  var t = u;
721
697
  "function" == typeof n.__c && n.__c(), u = t;
722
698
  }
@@ -724,7 +700,7 @@
724
700
  var t = u;
725
701
  n.__c = n.__(), u = t;
726
702
  }
727
- function k$1(n, t) {
703
+ function k(n, t) {
728
704
  return !n || n.length !== t.length || t.some(function (t, u) {
729
705
  return t !== n[u];
730
706
  });
@@ -46280,18 +46256,7 @@
46280
46256
  function E(n) {
46281
46257
  this.props = n;
46282
46258
  }
46283
- function g(n, t) {
46284
- function e(n) {
46285
- var e = this.props.ref,
46286
- r = e == n.ref;
46287
- return !r && e && (e.call ? e(null) : e.current = null), t ? !t(this.props, n) || !r : C(this.props, n);
46288
- }
46289
- function r(t) {
46290
- return this.shouldComponentUpdate = e, v$1(n, t);
46291
- }
46292
- return r.displayName = "Memo(" + (n.displayName || n.name) + ")", r.prototype.isReactComponent = !0, r.__f = !0, r;
46293
- }
46294
- (E.prototype = new _$1()).isPureReactComponent = !0, E.prototype.shouldComponentUpdate = function (n, t) {
46259
+ (E.prototype = new _()).isPureReactComponent = !0, E.prototype.shouldComponentUpdate = function (n, t) {
46295
46260
  return C(this.props, n) || C(this.state, t);
46296
46261
  };
46297
46262
  var w = l$3.__b;
@@ -46306,23 +46271,7 @@
46306
46271
  }
46307
46272
  return t.$$typeof = R, t.render = t, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
46308
46273
  }
46309
- var N = function (n, t) {
46310
- return null == n ? null : A$2(A$2(n).map(t));
46311
- },
46312
- k = {
46313
- map: N,
46314
- forEach: N,
46315
- count: function (n) {
46316
- return n ? A$2(n).length : 0;
46317
- },
46318
- only: function (n) {
46319
- var t = A$2(n);
46320
- if (1 !== t.length) throw "Children.only";
46321
- return t[0];
46322
- },
46323
- toArray: A$2
46324
- },
46325
- A = l$3.__e;
46274
+ var A = l$3.__e;
46326
46275
  l$3.__e = function (n, t, e) {
46327
46276
  if (n.then) for (var r, u = t; u = u.__;) if ((r = u.__c) && r.__c) return null == t.__e && (t.__e = e.__e, t.__k = e.__k), r.__c(n, t);
46328
46277
  A(n, t, e);
@@ -46335,26 +46284,13 @@
46335
46284
  var t = n.__.__c;
46336
46285
  return t && t.__e && t.__e(n);
46337
46286
  }
46338
- function F(n) {
46339
- var t, e, r;
46340
- function u(u) {
46341
- if (t || (t = n()).then(function (n) {
46342
- e = n.default || n;
46343
- }, function (n) {
46344
- r = n;
46345
- }), r) throw r;
46346
- if (!e) throw t;
46347
- return v$1(e, u);
46348
- }
46349
- return u.displayName = "Lazy", u.__f = !0, u;
46350
- }
46351
46287
  function M() {
46352
46288
  this.u = null, this.o = null;
46353
46289
  }
46354
46290
  l$3.unmount = function (n) {
46355
46291
  var t = n.__c;
46356
46292
  t && t.__R && t.__R(), t && !0 === n.__h && (n.type = null), O && O(n);
46357
- }, (L.prototype = new _$1()).__c = function (n, t) {
46293
+ }, (L.prototype = new _()).__c = function (n, t) {
46358
46294
  var e = t.__c,
46359
46295
  r = this;
46360
46296
  null == r.t && (r.t = []), r.t.push(e);
@@ -46444,7 +46380,7 @@
46444
46380
  i: t
46445
46381
  });
46446
46382
  }
46447
- (M.prototype = new _$1()).__e = function (n) {
46383
+ (M.prototype = new _()).__e = function (n) {
46448
46384
  var t = this,
46449
46385
  e = U(t.__v),
46450
46386
  r = t.o.get(n);
@@ -46471,14 +46407,8 @@
46471
46407
  V = function (n) {
46472
46408
  return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/i : /fil|che|ra/i).test(n);
46473
46409
  };
46474
- function z(n, t, e) {
46475
- return null == t.__k && (t.textContent = ""), S$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
46476
- }
46477
- function B(n, t, e) {
46478
- return q$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
46479
- }
46480
- _$1.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function (n) {
46481
- Object.defineProperty(_$1.prototype, n, {
46410
+ _.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function (n) {
46411
+ Object.defineProperty(_.prototype, n, {
46482
46412
  configurable: !0,
46483
46413
  get: function () {
46484
46414
  return this["UNSAFE_" + n];
@@ -46503,8 +46433,7 @@
46503
46433
  l$3.event = function (n) {
46504
46434
  return H && (n = H(n)), n.persist = Z, n.isPropagationStopped = Y, n.isDefaultPrevented = $, n.nativeEvent = n;
46505
46435
  };
46506
- var q,
46507
- G = {
46436
+ var G = {
46508
46437
  configurable: !0,
46509
46438
  get: function () {
46510
46439
  return this.class;
@@ -46530,74 +46459,7 @@
46530
46459
  };
46531
46460
  var K = l$3.__r;
46532
46461
  l$3.__r = function (n) {
46533
- K && K(n), q = n.__c;
46534
- };
46535
- var Q = {
46536
- ReactCurrentDispatcher: {
46537
- current: {
46538
- readContext: function (n) {
46539
- return q.__n[n.__c].props.value;
46540
- }
46541
- }
46542
- }
46543
- };
46544
- function nn(n) {
46545
- return v$1.bind(null, n);
46546
- }
46547
- function tn(n) {
46548
- return !!n && n.$$typeof === j;
46549
- }
46550
- function en(n) {
46551
- return tn(n) ? B$1.apply(null, arguments) : n;
46552
- }
46553
- function rn(n) {
46554
- return !!n.__k && (S$1(null, n), !0);
46555
- }
46556
- function un(n) {
46557
- return n && (n.base || 1 === n.nodeType && n) || null;
46558
- }
46559
- var on = function (n, t) {
46560
- return n(t);
46561
- },
46562
- ln = function (n, t) {
46563
- return n(t);
46564
- };
46565
- var React = {
46566
- useState: l$2,
46567
- useReducer: p$1,
46568
- useEffect: y,
46569
- useLayoutEffect: h,
46570
- useRef: s$1,
46571
- useImperativeHandle: _,
46572
- useMemo: d,
46573
- useCallback: A$1,
46574
- useContext: F$1,
46575
- useDebugValue: T$1,
46576
- version: "17.0.2",
46577
- Children: k,
46578
- render: z,
46579
- hydrate: B,
46580
- unmountComponentAtNode: rn,
46581
- createPortal: W,
46582
- createElement: v$1,
46583
- createContext: D$1,
46584
- createFactory: nn,
46585
- cloneElement: en,
46586
- createRef: p$2,
46587
- Fragment: d$1,
46588
- isValidElement: tn,
46589
- findDOMNode: un,
46590
- Component: _$1,
46591
- PureComponent: E,
46592
- memo: g,
46593
- forwardRef: x,
46594
- flushSync: ln,
46595
- unstable_batchedUpdates: on,
46596
- StrictMode: d$1,
46597
- Suspense: L,
46598
- SuspenseList: M,
46599
- lazy: F,
46600
- __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Q
46462
+ K && K(n), n.__c;
46601
46463
  };
46602
46464
 
46603
46465
  var HOOKS = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"];
@@ -48855,7 +48717,7 @@
48855
48717
  b = w[x];
48856
48718
  return b ? b.splice ? b.splice(0, 0, "markup") : "string" == typeof b ? w[x] += " markup" : "object" == typeof b && (b.markup = !0) : w[x] = "markup", C("div", w, s || null);
48857
48719
  }, i;
48858
- })(_$1);
48720
+ })(_);
48859
48721
 
48860
48722
  const CLASS_PATTERN = /^class[ {]/;
48861
48723
 
@@ -49278,26 +49140,26 @@
49278
49140
  }(simpleExpressionTree);
49279
49141
  };
49280
49142
 
49281
- /**
49282
- * Get the variable name at the specified index in a given path expression.
49283
- *
49284
- * @param {Object} root - The root node of the path expression tree.
49285
- * @param {number} index - The index of the variable name to retrieve.
49286
- * @returns {string|null} The variable name at the specified index or null if index is out of bounds.
49143
+ /**
49144
+ * Get the variable name at the specified index in a given path expression.
49145
+ *
49146
+ * @param {Object} root - The root node of the path expression tree.
49147
+ * @param {number} index - The index of the variable name to retrieve.
49148
+ * @returns {string|null} The variable name at the specified index or null if index is out of bounds.
49287
49149
  */
49288
49150
  const _getVariableNameAtPathIndex = (root, index) => {
49289
49151
  const accessors = _deconstructPathExpression(root);
49290
49152
  return accessors[index] || null;
49291
49153
  };
49292
49154
 
49293
- /**
49294
- * Extracts the variables which are required of the external context for a given path expression.
49295
- * This is done by traversing the path expression tree and keeping track of the current depth relative to the external context.
49296
- *
49297
- * @param {Object} node - The root node of the path expression tree.
49298
- * @param {number} initialDepth - The depth at which the root node is located in the outer context.
49299
- * @param {Object} specialDepthAccessors - Definitions of special keywords which represent more complex accesses of the outer context.
49300
- * @returns {Set} - A set containing the extracted variable names.
49155
+ /**
49156
+ * Extracts the variables which are required of the external context for a given path expression.
49157
+ * This is done by traversing the path expression tree and keeping track of the current depth relative to the external context.
49158
+ *
49159
+ * @param {Object} node - The root node of the path expression tree.
49160
+ * @param {number} initialDepth - The depth at which the root node is located in the outer context.
49161
+ * @param {Object} specialDepthAccessors - Definitions of special keywords which represent more complex accesses of the outer context.
49162
+ * @returns {Set} - A set containing the extracted variable names.
49301
49163
  */
49302
49164
  const _smartExtractVariableNames = (node, initialDepth, specialDepthAccessors) => {
49303
49165
  // depth info represents the previous (initialised as null) and current depth of the current accessor in the path expression
@@ -49343,11 +49205,11 @@
49343
49205
  return new Set(extractedVariables);
49344
49206
  };
49345
49207
 
49346
- /**
49347
- * Deconstructs a path expression tree into an array of components.
49348
- *
49349
- * @param {Object} root - The root node of the path expression tree.
49350
- * @returns {Array<string>} An array of components in the path expression, in the correct order.
49208
+ /**
49209
+ * Deconstructs a path expression tree into an array of components.
49210
+ *
49211
+ * @param {Object} root - The root node of the path expression tree.
49212
+ * @returns {Array<string>} An array of components in the path expression, in the correct order.
49351
49213
  */
49352
49214
  const _deconstructPathExpression = root => {
49353
49215
  let node = root;
@@ -49366,13 +49228,13 @@
49366
49228
  return parts.reverse();
49367
49229
  };
49368
49230
 
49369
- /**
49370
- * Builds a simplified feel structure tree from the given parse tree and feel string.
49371
- * The nodes follow this structure: `{ name: string, children: Array, variableName?: string }`
49372
- *
49373
- * @param {Object} parseTree - The parse tree generated by a parser.
49374
- * @param {string} feelString - The feel string used for parsing.
49375
- * @returns {Object} The simplified feel structure tree.
49231
+ /**
49232
+ * Builds a simplified feel structure tree from the given parse tree and feel string.
49233
+ * The nodes follow this structure: `{ name: string, children: Array, variableName?: string }`
49234
+ *
49235
+ * @param {Object} parseTree - The parse tree generated by a parser.
49236
+ * @param {string} feelString - The feel string used for parsing.
49237
+ * @returns {Object} The simplified feel structure tree.
49376
49238
  */
49377
49239
  const _buildSimpleFeelStructureTree = (parseTree, feelString) => {
49378
49240
  const stack = [{
@@ -49402,25 +49264,25 @@
49402
49264
  this._eventBus = eventBus;
49403
49265
  }
49404
49266
 
49405
- /**
49406
- * Determines if the given value is a FEEL expression.
49407
- *
49408
- * @param {any} value
49409
- * @returns {boolean}
49410
- *
49267
+ /**
49268
+ * Determines if the given value is a FEEL expression.
49269
+ *
49270
+ * @param {any} value
49271
+ * @returns {boolean}
49272
+ *
49411
49273
  */
49412
49274
  isExpression(value) {
49413
49275
  return isString$4(value) && value.startsWith('=');
49414
49276
  }
49415
49277
 
49416
- /**
49417
- * Retrieve variable names from a given FEEL expression.
49418
- *
49419
- * @param {string} expression
49420
- * @param {object} [options]
49421
- * @param {string} [options.type]
49422
- *
49423
- * @returns {string[]}
49278
+ /**
49279
+ * Retrieve variable names from a given FEEL expression.
49280
+ *
49281
+ * @param {string} expression
49282
+ * @param {object} [options]
49283
+ * @param {string} [options.type]
49284
+ *
49285
+ * @returns {string[]}
49424
49286
  */
49425
49287
  getVariableNames(expression, options = {}) {
49426
49288
  const {
@@ -49435,13 +49297,13 @@
49435
49297
  return getFlavouredFeelVariableNames(expression, type);
49436
49298
  }
49437
49299
 
49438
- /**
49439
- * Evaluate an expression.
49440
- *
49441
- * @param {string} expression
49442
- * @param {import('../../types').Data} [data]
49443
- *
49444
- * @returns {any}
49300
+ /**
49301
+ * Evaluate an expression.
49302
+ *
49303
+ * @param {string} expression
49304
+ * @param {import('../../types').Data} [data]
49305
+ *
49306
+ * @returns {any}
49445
49307
  */
49446
49308
  evaluate(expression, data = {}) {
49447
49309
  if (!expression) {
@@ -49465,23 +49327,23 @@
49465
49327
  class FeelersTemplating {
49466
49328
  constructor() {}
49467
49329
 
49468
- /**
49469
- * Determines if the given value is a feelers template.
49470
- *
49471
- * @param {any} value
49472
- * @returns {boolean}
49473
- *
49330
+ /**
49331
+ * Determines if the given value is a feelers template.
49332
+ *
49333
+ * @param {any} value
49334
+ * @returns {boolean}
49335
+ *
49474
49336
  */
49475
49337
  isTemplate(value) {
49476
49338
  return isString$4(value) && (value.startsWith('=') || /{{.*?}}/.test(value));
49477
49339
  }
49478
49340
 
49479
- /**
49480
- * Retrieve variable names from a given feelers template.
49481
- *
49482
- * @param {string} template
49483
- *
49484
- * @returns {string[]}
49341
+ /**
49342
+ * Retrieve variable names from a given feelers template.
49343
+ *
49344
+ * @param {string} template
49345
+ *
49346
+ * @returns {string[]}
49485
49347
  */
49486
49348
  getVariableNames(template) {
49487
49349
  if (!this.isTemplate(template)) {
@@ -49507,17 +49369,17 @@
49507
49369
  }, []);
49508
49370
  }
49509
49371
 
49510
- /**
49511
- * Evaluate a template.
49512
- *
49513
- * @param {string} template
49514
- * @param {Object<string, any>} context
49515
- * @param {Object} options
49516
- * @param {boolean} [options.debug = false]
49517
- * @param {boolean} [options.strict = false]
49518
- * @param {Function} [options.buildDebugString]
49519
- *
49520
- * @returns
49372
+ /**
49373
+ * Evaluate a template.
49374
+ *
49375
+ * @param {string} template
49376
+ * @param {Object<string, any>} context
49377
+ * @param {Object} options
49378
+ * @param {boolean} [options.debug = false]
49379
+ * @param {boolean} [options.strict = false]
49380
+ * @param {Function} [options.buildDebugString]
49381
+ *
49382
+ * @returns
49521
49383
  */
49522
49384
  evaluate(template, context = {}, options = {}) {
49523
49385
  const {
@@ -49532,22 +49394,22 @@
49532
49394
  });
49533
49395
  }
49534
49396
 
49535
- /**
49536
- * @typedef {Object} ExpressionWithDepth
49537
- * @property {number} depth - The depth of the expression in the syntax tree.
49538
- * @property {string} expression - The extracted expression
49397
+ /**
49398
+ * @typedef {Object} ExpressionWithDepth
49399
+ * @property {number} depth - The depth of the expression in the syntax tree.
49400
+ * @property {string} expression - The extracted expression
49539
49401
  */
49540
49402
 
49541
- /**
49542
- * Extracts all feel expressions in the template along with their depth in the syntax tree.
49543
- * The depth is incremented for child expressions of loops to account for context drilling.
49544
- * @name extractExpressionsWithDepth
49545
- * @param {string} template - A feelers template string.
49546
- * @returns {Array<ExpressionWithDepth>} An array of objects, each containing the depth and the extracted expression.
49547
- *
49548
- * @example
49549
- * const template = "Hello {{user}}, you have:{{#loop items}}\n- {{amount}} {{name}}{{/loop}}.";
49550
- * const extractedExpressions = _extractExpressionsWithDepth(template);
49403
+ /**
49404
+ * Extracts all feel expressions in the template along with their depth in the syntax tree.
49405
+ * The depth is incremented for child expressions of loops to account for context drilling.
49406
+ * @name extractExpressionsWithDepth
49407
+ * @param {string} template - A feelers template string.
49408
+ * @returns {Array<ExpressionWithDepth>} An array of objects, each containing the depth and the extracted expression.
49409
+ *
49410
+ * @example
49411
+ * const template = "Hello {{user}}, you have:{{#loop items}}\n- {{amount}} {{name}}{{/loop}}.";
49412
+ * const extractedExpressions = _extractExpressionsWithDepth(template);
49551
49413
  */
49552
49414
  _extractExpressionsWithDepth(template) {
49553
49415
  // build simplified feelers syntax tree
@@ -49578,9 +49440,9 @@
49578
49440
  }
49579
49441
  FeelersTemplating.$inject = [];
49580
49442
 
49581
- /**
49582
- * @typedef {object} Condition
49583
- * @property {string} [hide]
49443
+ /**
49444
+ * @typedef {object} Condition
49445
+ * @property {string} [hide]
49584
49446
  */
49585
49447
 
49586
49448
  class ConditionChecker {
@@ -49589,11 +49451,11 @@
49589
49451
  this._eventBus = eventBus;
49590
49452
  }
49591
49453
 
49592
- /**
49593
- * For given data, remove properties based on condition.
49594
- *
49595
- * @param {Object<string, any>} properties
49596
- * @param {Object<string, any>} data
49454
+ /**
49455
+ * For given data, remove properties based on condition.
49456
+ *
49457
+ * @param {Object<string, any>} properties
49458
+ * @param {Object<string, any>} data
49597
49459
  */
49598
49460
  applyConditions(properties, data = {}) {
49599
49461
  const conditions = this._getConditions();
@@ -49612,13 +49474,13 @@
49612
49474
  return newProperties;
49613
49475
  }
49614
49476
 
49615
- /**
49616
- * Check if given condition is met. Returns null for invalid/missing conditions.
49617
- *
49618
- * @param {string} condition
49619
- * @param {import('../../types').Data} [data]
49620
- *
49621
- * @returns {boolean|null}
49477
+ /**
49478
+ * Check if given condition is met. Returns null for invalid/missing conditions.
49479
+ *
49480
+ * @param {string} condition
49481
+ * @param {import('../../types').Data} [data]
49482
+ *
49483
+ * @returns {boolean|null}
49622
49484
  */
49623
49485
  check(condition, data = {}) {
49624
49486
  if (!condition) {
@@ -49639,12 +49501,12 @@
49639
49501
  }
49640
49502
  }
49641
49503
 
49642
- /**
49643
- * Check if hide condition is met.
49644
- *
49645
- * @param {Condition} condition
49646
- * @param {Object<string, any>} data
49647
- * @returns {boolean}
49504
+ /**
49505
+ * Check if hide condition is met.
49506
+ *
49507
+ * @param {Condition} condition
49508
+ * @param {Object<string, any>} data
49509
+ * @returns {boolean}
49648
49510
  */
49649
49511
  _checkHideCondition(condition, data) {
49650
49512
  if (!condition.hide) {
@@ -49685,12 +49547,12 @@
49685
49547
  this._converter = new showdownExports.Converter();
49686
49548
  }
49687
49549
 
49688
- /**
49689
- * Render markdown to HTML.
49690
- *
49691
- * @param {string} markdown - The markdown to render
49692
- *
49693
- * @returns {string} HTML
49550
+ /**
49551
+ * Render markdown to HTML.
49552
+ *
49553
+ * @param {string} markdown - The markdown to render
49554
+ *
49555
+ * @returns {string} HTML
49694
49556
  */
49695
49557
  render(markdown) {
49696
49558
  return this._converter.makeHtml(markdown);
@@ -50226,7 +50088,13 @@
50226
50088
  }
50227
50089
  const EMAIL_PATTERN = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
50228
50090
  const PHONE_PATTERN = /(\+|00)(297|93|244|1264|358|355|376|971|54|374|1684|1268|61|43|994|257|32|229|226|880|359|973|1242|387|590|375|501|1441|591|55|1246|673|975|267|236|1|61|41|56|86|225|237|243|242|682|57|269|238|506|53|5999|61|1345|357|420|49|253|1767|45|1809|1829|1849|213|593|20|291|212|34|372|251|358|679|500|33|298|691|241|44|995|44|233|350|224|590|220|245|240|30|1473|299|502|594|1671|592|852|504|385|509|36|62|44|91|246|353|98|964|354|972|39|1876|44|962|81|76|77|254|996|855|686|1869|82|383|965|856|961|231|218|1758|423|94|266|370|352|371|853|590|212|377|373|261|960|52|692|389|223|356|95|382|976|1670|258|222|1664|596|230|265|60|262|264|687|227|672|234|505|683|31|47|977|674|64|968|92|507|64|51|63|680|675|48|1787|1939|850|351|595|970|689|974|262|40|7|250|966|249|221|65|500|4779|677|232|503|378|252|508|381|211|239|597|421|386|46|268|1721|248|963|1649|235|228|66|992|690|993|670|676|1868|216|90|688|886|255|256|380|598|1|998|3906698|379|1784|58|1284|1340|84|678|681|685|967|27|260|263)(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\d{4,20}$/;
50091
+ const VALIDATE_FEEL_PROPERTIES = ['min', 'max', 'minLength', 'maxLength'];
50229
50092
  class Validator {
50093
+ constructor(expressionLanguage, conditionChecker, form) {
50094
+ this._expressionLanguage = expressionLanguage;
50095
+ this._conditionChecker = conditionChecker;
50096
+ this._form = form;
50097
+ }
50230
50098
  validateField(field, value) {
50231
50099
  const {
50232
50100
  type,
@@ -50259,10 +50127,11 @@
50259
50127
  if (!validate) {
50260
50128
  return errors;
50261
50129
  }
50262
- if (validate.pattern && value && !new RegExp(validate.pattern).test(value)) {
50263
- errors = [...errors, `Field must match pattern ${validate.pattern}.`];
50130
+ const evaluatedValidation = evaluateFEELValues(validate, this._expressionLanguage, this._conditionChecker, this._form);
50131
+ if (evaluatedValidation.pattern && value && !new RegExp(evaluatedValidation.pattern).test(value)) {
50132
+ errors = [...errors, `Field must match pattern ${evaluatedValidation.pattern}.`];
50264
50133
  }
50265
- if (validate.required) {
50134
+ if (evaluatedValidation.required) {
50266
50135
  const isUncheckedCheckbox = type === 'checkbox' && value === false;
50267
50136
  const isUnsetValue = isNil$1(value) || value === '';
50268
50137
  const isEmptyMultiselect = Array.isArray(value) && value.length === 0;
@@ -50270,28 +50139,64 @@
50270
50139
  errors = [...errors, 'Field is required.'];
50271
50140
  }
50272
50141
  }
50273
- if ('min' in validate && (value || value === 0) && value < validate.min) {
50274
- errors = [...errors, `Field must have minimum value of ${validate.min}.`];
50142
+ if ('min' in evaluatedValidation && (value || value === 0) && value < evaluatedValidation.min) {
50143
+ errors = [...errors, `Field must have minimum value of ${evaluatedValidation.min}.`];
50275
50144
  }
50276
- if ('max' in validate && (value || value === 0) && value > validate.max) {
50277
- errors = [...errors, `Field must have maximum value of ${validate.max}.`];
50145
+ if ('max' in evaluatedValidation && (value || value === 0) && value > evaluatedValidation.max) {
50146
+ errors = [...errors, `Field must have maximum value of ${evaluatedValidation.max}.`];
50278
50147
  }
50279
- if ('minLength' in validate && value && value.trim().length < validate.minLength) {
50280
- errors = [...errors, `Field must have minimum length of ${validate.minLength}.`];
50148
+ if ('minLength' in evaluatedValidation && value && value.trim().length < evaluatedValidation.minLength) {
50149
+ errors = [...errors, `Field must have minimum length of ${evaluatedValidation.minLength}.`];
50281
50150
  }
50282
- if ('maxLength' in validate && value && value.trim().length > validate.maxLength) {
50283
- errors = [...errors, `Field must have maximum length of ${validate.maxLength}.`];
50151
+ if ('maxLength' in evaluatedValidation && value && value.trim().length > evaluatedValidation.maxLength) {
50152
+ errors = [...errors, `Field must have maximum length of ${evaluatedValidation.maxLength}.`];
50284
50153
  }
50285
- if ('validationType' in validate && value && validate.validationType === 'phone' && !PHONE_PATTERN.test(value)) {
50154
+ if ('validationType' in evaluatedValidation && value && evaluatedValidation.validationType === 'phone' && !PHONE_PATTERN.test(value)) {
50286
50155
  errors = [...errors, 'Field must be a valid international phone number. (e.g. +4930664040900)'];
50287
50156
  }
50288
- if ('validationType' in validate && value && validate.validationType === 'email' && !EMAIL_PATTERN.test(value)) {
50157
+ if ('validationType' in evaluatedValidation && value && evaluatedValidation.validationType === 'email' && !EMAIL_PATTERN.test(value)) {
50289
50158
  errors = [...errors, 'Field must be a valid email.'];
50290
50159
  }
50291
50160
  return errors;
50292
50161
  }
50293
50162
  }
50294
- Validator.$inject = [];
50163
+ Validator.$inject = ['expressionLanguage', 'conditionChecker', 'form'];
50164
+
50165
+ // helpers //////////
50166
+
50167
+ /**
50168
+ * Helper function to evaluate optional FEEL validation values.
50169
+ */
50170
+ function evaluateFEELValues(validate, expressionLanguage, conditionChecker, form) {
50171
+ const evaluatedValidate = {
50172
+ ...validate
50173
+ };
50174
+ VALIDATE_FEEL_PROPERTIES.forEach(property => {
50175
+ const path = property.split('.');
50176
+ const value = get$1(evaluatedValidate, path);
50177
+
50178
+ // mirroring FEEL evaluation of our hooks
50179
+ if (!expressionLanguage || !expressionLanguage.isExpression(value)) {
50180
+ return value;
50181
+ }
50182
+ const {
50183
+ initialData,
50184
+ data
50185
+ } = form._getState();
50186
+ const newData = conditionChecker ? conditionChecker.applyConditions(data, data) : data;
50187
+ const filteredData = {
50188
+ ...initialData,
50189
+ ...newData
50190
+ };
50191
+ const evaluatedValue = expressionLanguage.evaluate(value, filteredData);
50192
+
50193
+ // replace validate property with evaluated value
50194
+ if (evaluatedValue) {
50195
+ set$2(evaluatedValidate, path, evaluatedValue);
50196
+ }
50197
+ });
50198
+ return evaluatedValidate;
50199
+ }
50295
50200
  let FormFieldRegistry$1 = class FormFieldRegistry {
50296
50201
  constructor(eventBus) {
50297
50202
  this._eventBus = eventBus;
@@ -50341,23 +50246,23 @@
50341
50246
  };
50342
50247
  FormFieldRegistry$1.$inject = ['eventBus'];
50343
50248
 
50344
- /**
50345
- * @typedef { { id: String, components: Array<String> } } FormRow
50346
- * @typedef { { formFieldId: String, rows: Array<FormRow> } } FormRows
50249
+ /**
50250
+ * @typedef { { id: String, components: Array<String> } } FormRow
50251
+ * @typedef { { formFieldId: String, rows: Array<FormRow> } } FormRows
50347
50252
  */
50348
50253
 
50349
- /**
50350
- * Maintains the Form layout in a given structure, for example
50351
- *
50352
- * [
50353
- * {
50354
- * formFieldId: 'FormField_1',
50355
- * rows: [
50356
- * { id: 'Row_1', components: [ 'Text_1', 'Textdield_1', ... ] }
50357
- * ]
50358
- * }
50359
- * ]
50360
- *
50254
+ /**
50255
+ * Maintains the Form layout in a given structure, for example
50256
+ *
50257
+ * [
50258
+ * {
50259
+ * formFieldId: 'FormField_1',
50260
+ * rows: [
50261
+ * { id: 'Row_1', components: [ 'Text_1', 'Textdield_1', ... ] }
50262
+ * ]
50263
+ * }
50264
+ * ]
50265
+ *
50361
50266
  */
50362
50267
  class FormLayouter {
50363
50268
  constructor(eventBus) {
@@ -50367,8 +50272,8 @@
50367
50272
  this._eventBus = eventBus;
50368
50273
  }
50369
50274
 
50370
- /**
50371
- * @param {FormRow} row
50275
+ /**
50276
+ * @param {FormRow} row
50372
50277
  */
50373
50278
  addRow(formFieldId, row) {
50374
50279
  let rowsPerComponent = this._rows.find(r => r.formFieldId === formFieldId);
@@ -50382,18 +50287,18 @@
50382
50287
  rowsPerComponent.rows.push(row);
50383
50288
  }
50384
50289
 
50385
- /**
50386
- * @param {String} id
50387
- * @returns {FormRow}
50290
+ /**
50291
+ * @param {String} id
50292
+ * @returns {FormRow}
50388
50293
  */
50389
50294
  getRow(id) {
50390
50295
  const rows = allRows(this._rows);
50391
50296
  return rows.find(r => r.id === id);
50392
50297
  }
50393
50298
 
50394
- /**
50395
- * @param {any} formField
50396
- * @returns {FormRow}
50299
+ /**
50300
+ * @param {any} formField
50301
+ * @returns {FormRow}
50397
50302
  */
50398
50303
  getRowForField(formField) {
50399
50304
  return allRows(this._rows).find(r => {
@@ -50404,9 +50309,9 @@
50404
50309
  });
50405
50310
  }
50406
50311
 
50407
- /**
50408
- * @param {String} formFieldId
50409
- * @returns { Array<FormRow> }
50312
+ /**
50313
+ * @param {String} formFieldId
50314
+ * @returns { Array<FormRow> }
50410
50315
  */
50411
50316
  getRows(formFieldId) {
50412
50317
  const rowsForField = this._rows.find(r => formFieldId === r.formFieldId);
@@ -50416,15 +50321,15 @@
50416
50321
  return rowsForField.rows;
50417
50322
  }
50418
50323
 
50419
- /**
50420
- * @returns {string}
50324
+ /**
50325
+ * @returns {string}
50421
50326
  */
50422
50327
  nextRowId() {
50423
50328
  return this._ids.nextPrefixed('Row_');
50424
50329
  }
50425
50330
 
50426
- /**
50427
- * @param {any} formField
50331
+ /**
50332
+ * @param {any} formField
50428
50333
  */
50429
50334
  calculateLayout(formField) {
50430
50335
  const {
@@ -50478,9 +50383,9 @@
50478
50383
  });
50479
50384
  }
50480
50385
 
50481
- /**
50482
- * @param {Array<FormRows>} formRows
50483
- * @returns {Array<FormRow>}
50386
+ /**
50387
+ * @param {Array<FormRows>} formRows
50388
+ * @returns {Array<FormRow>}
50484
50389
  */
50485
50390
  function allRows(formRows) {
50486
50391
  return flatten$3(formRows.map(c => c.rows));
@@ -50521,23 +50426,27 @@
50521
50426
 
50522
50427
  const VALUES_SOURCES = {
50523
50428
  STATIC: 'static',
50524
- INPUT: 'input'
50429
+ INPUT: 'input',
50430
+ EXPRESSION: 'expression'
50525
50431
  };
50526
50432
  const VALUES_SOURCE_DEFAULT = VALUES_SOURCES.STATIC;
50527
50433
  const VALUES_SOURCES_LABELS = {
50528
50434
  [VALUES_SOURCES.STATIC]: 'Static',
50529
- [VALUES_SOURCES.INPUT]: 'Input data'
50435
+ [VALUES_SOURCES.INPUT]: 'Input data',
50436
+ [VALUES_SOURCES.EXPRESSION]: 'Expression'
50530
50437
  };
50531
50438
  const VALUES_SOURCES_PATHS = {
50532
50439
  [VALUES_SOURCES.STATIC]: ['values'],
50533
- [VALUES_SOURCES.INPUT]: ['valuesKey']
50440
+ [VALUES_SOURCES.INPUT]: ['valuesKey'],
50441
+ [VALUES_SOURCES.EXPRESSION]: ['valuesExpression']
50534
50442
  };
50535
50443
  const VALUES_SOURCES_DEFAULTS = {
50536
50444
  [VALUES_SOURCES.STATIC]: [{
50537
50445
  label: 'Value',
50538
50446
  value: 'value'
50539
50447
  }],
50540
- [VALUES_SOURCES.INPUT]: ''
50448
+ [VALUES_SOURCES.INPUT]: '',
50449
+ [VALUES_SOURCES.EXPRESSION]: '='
50541
50450
  };
50542
50451
 
50543
50452
  // helpers ///////////////////
@@ -50556,18 +50465,18 @@
50556
50465
  return injector;
50557
50466
  }
50558
50467
 
50559
- /**
50560
- * @param {string?} prefix
50561
- *
50562
- * @returns Element
50468
+ /**
50469
+ * @param {string?} prefix
50470
+ *
50471
+ * @returns Element
50563
50472
  */
50564
50473
  function createFormContainer(prefix = 'fjs') {
50565
50474
  const container = document.createElement('div');
50566
50475
  container.classList.add(`${prefix}-container`);
50567
50476
  return container;
50568
50477
  }
50569
- const EXPRESSION_PROPERTIES = ['alt', 'description', 'label', 'source', 'readonly', 'text'];
50570
- const TEMPLATE_PROPERTIES = ['description', 'label', 'text'];
50478
+ const EXPRESSION_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'conditional.hide', 'description', 'label', 'source', 'readonly', 'text', 'validate.min', 'validate.max', 'validate.minLength', 'validate.maxLength', 'valuesExpression'];
50479
+ const TEMPLATE_PROPERTIES = ['alt', 'appearance.prefixAdorner', 'appearance.suffixAdorner', 'description', 'label', 'source', 'text'];
50571
50480
  function findErrors(errors, path) {
50572
50481
  return errors[pathStringify(path)];
50573
50482
  }
@@ -50590,22 +50499,22 @@
50590
50499
  return `${type}${generateIndexForType(type)}`;
50591
50500
  }
50592
50501
 
50593
- /**
50594
- * @template T
50595
- * @param {T} data
50596
- * @param {(this: any, key: string, value: any) => any} [replacer]
50597
- * @return {T}
50502
+ /**
50503
+ * @template T
50504
+ * @param {T} data
50505
+ * @param {(this: any, key: string, value: any) => any} [replacer]
50506
+ * @return {T}
50598
50507
  */
50599
50508
  function clone(data, replacer) {
50600
50509
  return JSON.parse(JSON.stringify(data, replacer));
50601
50510
  }
50602
50511
 
50603
- /**
50604
- * Parse the schema for input variables a form might make use of
50605
- *
50606
- * @param {any} schema
50607
- *
50608
- * @return {string[]}
50512
+ /**
50513
+ * Parse the schema for input variables a form might make use of
50514
+ *
50515
+ * @param {any} schema
50516
+ *
50517
+ * @return {string[]}
50609
50518
  */
50610
50519
  function getSchemaVariables(schema, expressionLanguage = new FeelExpressionLanguage(null), templating = new FeelersTemplating()) {
50611
50520
  if (!schema.components) {
@@ -50615,8 +50524,7 @@
50615
50524
  const {
50616
50525
  key,
50617
50526
  valuesKey,
50618
- type,
50619
- conditional
50527
+ type
50620
50528
  } = component;
50621
50529
  if (['button'].includes(type)) {
50622
50530
  return variables;
@@ -50627,14 +50535,8 @@
50627
50535
  if (valuesKey) {
50628
50536
  variables = [...variables, valuesKey];
50629
50537
  }
50630
- if (conditional && conditional.hide) {
50631
- const conditionVariables = expressionLanguage.getVariableNames(conditional.hide, {
50632
- type: 'unaryTest'
50633
- });
50634
- variables = [...variables, ...conditionVariables];
50635
- }
50636
50538
  EXPRESSION_PROPERTIES.forEach(prop => {
50637
- const property = component[prop];
50539
+ const property = get$1(component, prop.split('.'));
50638
50540
  if (property && expressionLanguage.isExpression(property)) {
50639
50541
  const expressionVariables = expressionLanguage.getVariableNames(property, {
50640
50542
  type: 'expression'
@@ -50643,7 +50545,7 @@
50643
50545
  }
50644
50546
  });
50645
50547
  TEMPLATE_PROPERTIES.forEach(prop => {
50646
- const property = component[prop];
50548
+ const property = get$1(component, prop.split('.'));
50647
50549
  if (property && !expressionLanguage.isExpression(property) && templating.isTemplate(property)) {
50648
50550
  const templateVariables = templating.getVariableNames(property);
50649
50551
  variables = [...variables, ...templateVariables];
@@ -50656,11 +50558,11 @@
50656
50558
  return Array.from(new Set(variables));
50657
50559
  }
50658
50560
  let Importer$1 = class Importer {
50659
- /**
50660
- * @constructor
50661
- * @param { import('../core').FormFieldRegistry } formFieldRegistry
50662
- * @param { import('../render/FormFields').default } formFields
50663
- * @param { import('../core').FormLayouter } formLayouter
50561
+ /**
50562
+ * @constructor
50563
+ * @param { import('../core').FormFieldRegistry } formFieldRegistry
50564
+ * @param { import('../render/FormFields').default } formFields
50565
+ * @param { import('../core').FormLayouter } formLayouter
50664
50566
  */
50665
50567
  constructor(formFieldRegistry, formFields, formLayouter) {
50666
50568
  this._formFieldRegistry = formFieldRegistry;
@@ -50668,15 +50570,15 @@
50668
50570
  this._formLayouter = formLayouter;
50669
50571
  }
50670
50572
 
50671
- /**
50672
- * Import schema adding `id`, `_parent` and `_path`
50673
- * information to each field and adding it to the
50674
- * form field registry.
50675
- *
50676
- * @param {any} schema
50677
- * @param {any} [data]
50678
- *
50679
- * @return { { warnings: Array<any>, schema: any, data: any } }
50573
+ /**
50574
+ * Import schema adding `id`, `_parent` and `_path`
50575
+ * information to each field and adding it to the
50576
+ * form field registry.
50577
+ *
50578
+ * @param {any} schema
50579
+ * @param {any} [data]
50580
+ *
50581
+ * @return { { warnings: Array<any>, schema: any, data: any } }
50680
50582
  */
50681
50583
  importSchema(schema, data = {}) {
50682
50584
  // TODO: Add warnings - https://github.com/bpmn-io/form-js/issues/289
@@ -50697,11 +50599,11 @@
50697
50599
  }
50698
50600
  }
50699
50601
 
50700
- /**
50701
- * @param {any} formField
50702
- * @param {string} [parentId]
50703
- *
50704
- * @return {any} importedField
50602
+ /**
50603
+ * @param {any} formField
50604
+ * @param {string} [parentId]
50605
+ *
50606
+ * @return {any} importedField
50705
50607
  */
50706
50608
  importFormField(formField, parentId) {
50707
50609
  const {
@@ -50752,10 +50654,10 @@
50752
50654
  });
50753
50655
  }
50754
50656
 
50755
- /**
50756
- * @param {Object} data
50757
- *
50758
- * @return {Object} initializedData
50657
+ /**
50658
+ * @param {Object} data
50659
+ *
50660
+ * @return {Object} initializedData
50759
50661
  */
50760
50662
  initializeFieldValues(data) {
50761
50663
  return this._formFieldRegistry.getAll().reduce((initializedData, formField) => {
@@ -50889,11 +50791,11 @@
50889
50791
  });
50890
50792
  var FormRenderContext$1 = FormRenderContext;
50891
50793
 
50892
- /**
50893
- * @param {string} type
50894
- * @param {boolean} [strict]
50895
- *
50896
- * @returns {any}
50794
+ /**
50795
+ * @param {string} type
50796
+ * @param {boolean} [strict]
50797
+ *
50798
+ * @returns {any}
50897
50799
  */
50898
50800
  function getService$2(type, strict) {}
50899
50801
  const FormContext = D$1({
@@ -50904,14 +50806,14 @@
50904
50806
  function useService$2(type, strict) {
50905
50807
  const {
50906
50808
  getService
50907
- } = F$1(FormContext$1);
50809
+ } = F(FormContext$1);
50908
50810
  return getService(type, strict);
50909
50811
  }
50910
50812
 
50911
- /**
50912
- * Returns the conditionally filtered data of a form reactively.
50913
- * Memoised to minimize re-renders
50914
- *
50813
+ /**
50814
+ * Returns the conditionally filtered data of a form reactively.
50815
+ * Memoised to minimize re-renders
50816
+ *
50915
50817
  */
50916
50818
  function useFilteredFormData() {
50917
50819
  const {
@@ -50928,12 +50830,12 @@
50928
50830
  }, [conditionChecker, data, initialData]);
50929
50831
  }
50930
50832
 
50931
- /**
50932
- * Evaluate if condition is met reactively based on the conditionChecker and form data.
50933
- *
50934
- * @param {string | undefined} condition
50935
- *
50936
- * @returns {boolean} true if condition is met or no condition or condition checker exists
50833
+ /**
50834
+ * Evaluate if condition is met reactively based on the conditionChecker and form data.
50835
+ *
50836
+ * @param {string | undefined} condition
50837
+ *
50838
+ * @returns {boolean} true if condition is met or no condition or condition checker exists
50937
50839
  */
50938
50840
  function useCondition(condition) {
50939
50841
  const conditionChecker = useService$2('conditionChecker', false);
@@ -50943,13 +50845,13 @@
50943
50845
  }, [conditionChecker, condition, filteredData]);
50944
50846
  }
50945
50847
 
50946
- /**
50947
- * Evaluate a string reactively based on the expressionLanguage and form data.
50948
- * If the string is not an expression, it is returned as is.
50949
- * Memoised to minimize re-renders.
50950
- *
50951
- * @param {string} value
50952
- *
50848
+ /**
50849
+ * Evaluate a string reactively based on the expressionLanguage and form data.
50850
+ * If the string is not an expression, it is returned as is.
50851
+ * Memoised to minimize re-renders.
50852
+ *
50853
+ * @param {string} value
50854
+ *
50953
50855
  */
50954
50856
  function useExpressionEvaluation(value) {
50955
50857
  const formData = useFilteredFormData();
@@ -50977,16 +50879,16 @@
50977
50879
  });
50978
50880
  }
50979
50881
 
50980
- /**
50981
- * Retrieve readonly value of a form field, given it can be an
50982
- * expression optionally or configured globally.
50983
- *
50984
- * @typedef { import('../../types').FormProperties } FormProperties
50985
- *
50986
- * @param {any} formField
50987
- * @param {FormProperties} properties
50988
- *
50989
- * @returns {boolean}
50882
+ /**
50883
+ * Retrieve readonly value of a form field, given it can be an
50884
+ * expression optionally or configured globally.
50885
+ *
50886
+ * @typedef { import('../../types').FormProperties } FormProperties
50887
+ *
50888
+ * @param {any} formField
50889
+ * @param {FormProperties} properties
50890
+ *
50891
+ * @returns {boolean}
50990
50892
  */
50991
50893
  function useReadonly(formField, properties = {}) {
50992
50894
  const expressionLanguage = useService$2('expressionLanguage');
@@ -51004,16 +50906,16 @@
51004
50906
  return readonly || false;
51005
50907
  }
51006
50908
 
51007
- /**
51008
- * Template a string reactively based on form data. If the string is not a template, it is returned as is.
51009
- * Memoised to minimize re-renders
51010
- *
51011
- * @param {string} value
51012
- * @param {Object} options
51013
- * @param {boolean} [options.debug = false]
51014
- * @param {boolean} [options.strict = false]
51015
- * @param {Function} [options.buildDebugString]
51016
- *
50909
+ /**
50910
+ * Template a string reactively based on form data. If the string is not a template, it is returned as is.
50911
+ * Memoised to minimize re-renders
50912
+ *
50913
+ * @param {string} value
50914
+ * @param {Object} options
50915
+ * @param {boolean} [options.debug = false]
50916
+ * @param {boolean} [options.strict = false]
50917
+ * @param {Function} [options.buildDebugString]
50918
+ *
51017
50919
  */
51018
50920
  function useTemplateEvaluation(value, options) {
51019
50921
  const filteredData = useFilteredFormData();
@@ -51026,17 +50928,17 @@
51026
50928
  }, [filteredData, templating, value, options]);
51027
50929
  }
51028
50930
 
51029
- /**
51030
- * Template a string reactively based on form data. If the string is not a template, it is returned as is.
51031
- * If the string contains multiple lines, only the first line is returned.
51032
- * Memoised to minimize re-renders
51033
- *
51034
- * @param {string} value
51035
- * @param {Object} [options]
51036
- * @param {boolean} [options.debug = false]
51037
- * @param {boolean} [options.strict = false]
51038
- * @param {Function} [options.buildDebugString]
51039
- *
50931
+ /**
50932
+ * Template a string reactively based on form data. If the string is not a template, it is returned as is.
50933
+ * If the string contains multiple lines, only the first line is returned.
50934
+ * Memoised to minimize re-renders
50935
+ *
50936
+ * @param {string} value
50937
+ * @param {Object} [options]
50938
+ * @param {boolean} [options.debug = false]
50939
+ * @param {boolean} [options.strict = false]
50940
+ * @param {Function} [options.buildDebugString]
50941
+ *
51040
50942
  */
51041
50943
  function useSingleLineTemplateEvaluation(value, options = {}) {
51042
50944
  const evaluatedTemplate = useTemplateEvaluation(value, options);
@@ -51127,7 +51029,7 @@
51127
51029
  };
51128
51030
  const {
51129
51031
  formId
51130
- } = F$1(FormContext$1);
51032
+ } = F(FormContext$1);
51131
51033
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
51132
51034
  return e$1("div", {
51133
51035
  class: classNames(formFieldClasses(type$a, {
@@ -51219,8 +51121,8 @@
51219
51121
  return value || value === 0 || value === false;
51220
51122
  }
51221
51123
 
51222
- /**
51223
- * @enum { String }
51124
+ /**
51125
+ * @enum { String }
51224
51126
  */
51225
51127
  const LOAD_STATES = {
51226
51128
  LOADING: 'loading',
@@ -51228,20 +51130,21 @@
51228
51130
  ERROR: 'error'
51229
51131
  };
51230
51132
 
51231
- /**
51232
- * @typedef {Object} ValuesGetter
51233
- * @property {Object[]} values - The values data
51234
- * @property {(LOAD_STATES)} state - The values data's loading state, to use for conditional rendering
51133
+ /**
51134
+ * @typedef {Object} ValuesGetter
51135
+ * @property {Object[]} values - The values data
51136
+ * @property {(LOAD_STATES)} state - The values data's loading state, to use for conditional rendering
51235
51137
  */
51236
51138
 
51237
- /**
51238
- * A hook to load values for single and multiselect components.
51239
- *
51240
- * @param {Object} field - The form field to handle values for
51241
- * @return {ValuesGetter} valuesGetter - A values getter object providing loading state and values
51139
+ /**
51140
+ * A hook to load values for single and multiselect components.
51141
+ *
51142
+ * @param {Object} field - The form field to handle values for
51143
+ * @return {ValuesGetter} valuesGetter - A values getter object providing loading state and values
51242
51144
  */
51243
51145
  function useValuesAsync(field) {
51244
51146
  const {
51147
+ valuesExpression,
51245
51148
  valuesKey,
51246
51149
  values: staticValues
51247
51150
  } = field;
@@ -51251,6 +51154,11 @@
51251
51154
  state: LOAD_STATES.LOADING
51252
51155
  });
51253
51156
  const initialData = useService$2('form')._getState().initialData;
51157
+ const evaluatedValues = d(() => {
51158
+ if (valuesExpression) {
51159
+ return useExpressionEvaluation(valuesExpression);
51160
+ }
51161
+ }, [valuesExpression]);
51254
51162
  y(() => {
51255
51163
  let values = [];
51256
51164
 
@@ -51260,11 +51168,14 @@
51260
51168
  if (keyedValues && Array.isArray(keyedValues)) {
51261
51169
  values = keyedValues;
51262
51170
  }
51263
- }
51264
51171
 
51265
- // static values
51266
- else if (staticValues !== undefined) {
51172
+ // static values
51173
+ } else if (staticValues !== undefined) {
51267
51174
  values = Array.isArray(staticValues) ? staticValues : [];
51175
+
51176
+ // expression
51177
+ } else if (evaluatedValues && Array.isArray(evaluatedValues)) {
51178
+ values = evaluatedValues;
51268
51179
  } else {
51269
51180
  setValuesGetter(buildErrorState('No values source defined in the form definition'));
51270
51181
  return;
@@ -51527,7 +51438,7 @@
51527
51438
  } = useValuesAsync(field);
51528
51439
  const {
51529
51440
  formId
51530
- } = F$1(FormContext$1);
51441
+ } = F(FormContext$1);
51531
51442
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
51532
51443
  return e$1("div", {
51533
51444
  class: classNames(formFieldClasses(type$9, {
@@ -51605,7 +51516,7 @@
51605
51516
  Element,
51606
51517
  Empty,
51607
51518
  Column
51608
- } = F$1(FormRenderContext$1);
51519
+ } = F(FormRenderContext$1);
51609
51520
  const FormFieldComponent = formFields.get(field.type);
51610
51521
  if (!FormFieldComponent) {
51611
51522
  throw new Error(`cannot render field <${field.type}>`);
@@ -51642,7 +51553,7 @@
51642
51553
  Children,
51643
51554
  Empty,
51644
51555
  Row
51645
- } = F$1(FormRenderContext$1);
51556
+ } = F(FormRenderContext$1);
51646
51557
  const {
51647
51558
  field
51648
51559
  } = props;
@@ -51691,6 +51602,7 @@
51691
51602
  ...options
51692
51603
  })
51693
51604
  };
51605
+ var _path$g;
51694
51606
  function _extends$j() {
51695
51607
  _extends$j = Object.assign ? Object.assign.bind() : function (target) {
51696
51608
  for (var i = 1; i < arguments.length; i++) {
@@ -51705,21 +51617,21 @@
51705
51617
  };
51706
51618
  return _extends$j.apply(this, arguments);
51707
51619
  }
51708
- var CalendarIcon = ({
51709
- styles = {},
51710
- ...props
51711
- }) => /*#__PURE__*/React.createElement("svg", _extends$j({
51712
- width: "14",
51713
- height: "15",
51714
- viewBox: "0 0 28 30",
51715
- fill: "none",
51716
- xmlns: "http://www.w3.org/2000/svg"
51717
- }, props), /*#__PURE__*/React.createElement("path", {
51718
- fillRule: "evenodd",
51719
- clipRule: "evenodd",
51720
- fill: "currentColor",
51721
- d: "M19 2H9V0H7v2H2a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V4a2 2 0 00-2-2h-5V0h-2v2zM7 7V4H2v5h24V4h-5v3h-2V4H9v3H7zm-5 4v17h24V11H2z"
51722
- }));
51620
+ var SvgCalendar = function SvgCalendar(props) {
51621
+ return /*#__PURE__*/v$1("svg", _extends$j({
51622
+ xmlns: "http://www.w3.org/2000/svg",
51623
+ width: 14,
51624
+ height: 15,
51625
+ fill: "none",
51626
+ viewBox: "0 0 28 30"
51627
+ }, props), _path$g || (_path$g = /*#__PURE__*/v$1("path", {
51628
+ fill: "currentColor",
51629
+ fillRule: "evenodd",
51630
+ d: "M19 2H9V0H7v2H2a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-5V0h-2v2ZM7 7V4H2v5h24V4h-5v3h-2V4H9v3H7Zm-5 4v17h24V11H2Z",
51631
+ clipRule: "evenodd"
51632
+ })));
51633
+ };
51634
+ var CalendarIcon = SvgCalendar;
51723
51635
  function InputAdorner(props) {
51724
51636
  const {
51725
51637
  pre,
@@ -51897,6 +51809,7 @@
51897
51809
  })]
51898
51810
  });
51899
51811
  }
51812
+ var _path$f, _path2$3;
51900
51813
  function _extends$i() {
51901
51814
  _extends$i = Object.assign ? Object.assign.bind() : function (target) {
51902
51815
  for (var i = 1; i < arguments.length; i++) {
@@ -51911,24 +51824,24 @@
51911
51824
  };
51912
51825
  return _extends$i.apply(this, arguments);
51913
51826
  }
51914
- var ClockIcon = ({
51915
- styles = {},
51916
- ...props
51917
- }) => /*#__PURE__*/React.createElement("svg", _extends$i({
51918
- width: "16",
51919
- height: "16",
51920
- viewBox: "0 0 28 29",
51921
- fill: "none",
51922
- xmlns: "http://www.w3.org/2000/svg"
51923
- }, props), /*#__PURE__*/React.createElement("path", {
51924
- fill: "currentColor",
51925
- d: "M13 14.41L18.59 20 20 18.59l-5-5.01V5h-2v9.41z"
51926
- }), /*#__PURE__*/React.createElement("path", {
51927
- fillRule: "evenodd",
51928
- clipRule: "evenodd",
51929
- fill: "currentColor",
51930
- d: "M6.222 25.64A14 14 0 1021.778 2.36 14 14 0 006.222 25.64zM7.333 4.023a12 12 0 1113.334 19.955A12 12 0 017.333 4.022z"
51931
- }));
51827
+ var SvgClock = function SvgClock(props) {
51828
+ return /*#__PURE__*/v$1("svg", _extends$i({
51829
+ xmlns: "http://www.w3.org/2000/svg",
51830
+ width: 16,
51831
+ height: 16,
51832
+ fill: "none",
51833
+ viewBox: "0 0 28 29"
51834
+ }, props), _path$f || (_path$f = /*#__PURE__*/v$1("path", {
51835
+ fill: "currentColor",
51836
+ d: "M13 14.41 18.59 20 20 18.59l-5-5.01V5h-2v9.41Z"
51837
+ })), _path2$3 || (_path2$3 = /*#__PURE__*/v$1("path", {
51838
+ fill: "currentColor",
51839
+ fillRule: "evenodd",
51840
+ d: "M6.222 25.64A14 14 0 1 0 21.778 2.36 14 14 0 0 0 6.222 25.64ZM7.333 4.023a12 12 0 1 1 13.334 19.955A12 12 0 0 1 7.333 4.022Z",
51841
+ clipRule: "evenodd"
51842
+ })));
51843
+ };
51844
+ var ClockIcon = SvgClock;
51932
51845
  const DEFAULT_LABEL_GETTER = value => value;
51933
51846
  const NOOP = () => {};
51934
51847
  function DropdownList(props) {
@@ -52209,7 +52122,7 @@
52209
52122
  } = validate;
52210
52123
  const {
52211
52124
  formId
52212
- } = F$1(FormContext$1);
52125
+ } = F(FormContext$1);
52213
52126
  const getNullDateTime = () => ({
52214
52127
  date: new Date(Date.parse(null)),
52215
52128
  time: null
@@ -52375,10 +52288,10 @@
52375
52288
  }
52376
52289
  };
52377
52290
 
52378
- /**
52379
- * This file must not be changed or exchanged.
52380
- *
52381
- * @see http://bpmn.io/license for more information.
52291
+ /**
52292
+ * This file must not be changed or exchanged.
52293
+ *
52294
+ * @see http://bpmn.io/license for more information.
52382
52295
  */
52383
52296
  function Logo() {
52384
52297
  return e$1("svg", {
@@ -52508,11 +52421,11 @@
52508
52421
 
52509
52422
  const FORM_ELEMENT = document.createElement('form');
52510
52423
 
52511
- /**
52512
- * Sanitize a HTML string and return the cleaned, safe version.
52513
- *
52514
- * @param {string} html
52515
- * @return {string}
52424
+ /**
52425
+ * Sanitize a HTML string and return the cleaned, safe version.
52426
+ *
52427
+ * @param {string} html
52428
+ * @return {string}
52516
52429
  */
52517
52430
 
52518
52431
  // see https://github.com/developit/snarkdown/issues/70
@@ -52530,29 +52443,29 @@
52530
52443
  }
52531
52444
  }
52532
52445
 
52533
- /**
52534
- * Sanitizes an image source to ensure we only allow for data URI and links
52535
- * that start with http(s).
52536
- *
52537
- * Note: Most browsers anyway do not support script execution in <img> elements.
52538
- *
52539
- * @param {string} src
52540
- * @returns {string}
52446
+ /**
52447
+ * Sanitizes an image source to ensure we only allow for data URI and links
52448
+ * that start with http(s).
52449
+ *
52450
+ * Note: Most browsers anyway do not support script execution in <img> elements.
52451
+ *
52452
+ * @param {string} src
52453
+ * @returns {string}
52541
52454
  */
52542
52455
  function sanitizeImageSource(src) {
52543
52456
  const valid = ALLOWED_IMAGE_SRC_PATTERN.test(src);
52544
52457
  return valid ? src : '';
52545
52458
  }
52546
52459
 
52547
- /**
52548
- * Recursively sanitize a HTML node, potentially
52549
- * removing it, its children or attributes.
52550
- *
52551
- * Inspired by https://github.com/developit/snarkdown/issues/70
52552
- * and https://github.com/cure53/DOMPurify. Simplified
52553
- * for our use-case.
52554
- *
52555
- * @param {Element} node
52460
+ /**
52461
+ * Recursively sanitize a HTML node, potentially
52462
+ * removing it, its children or attributes.
52463
+ *
52464
+ * Inspired by https://github.com/developit/snarkdown/issues/70
52465
+ * and https://github.com/cure53/DOMPurify. Simplified
52466
+ * for our use-case.
52467
+ *
52468
+ * @param {Element} node
52556
52469
  */
52557
52470
  function sanitizeNode(node) {
52558
52471
  // allow text nodes
@@ -52596,13 +52509,13 @@
52596
52509
  }
52597
52510
  }
52598
52511
 
52599
- /**
52600
- * Validates attributes for validity.
52601
- *
52602
- * @param {string} lcTag
52603
- * @param {string} lcName
52604
- * @param {string} value
52605
- * @return {boolean}
52512
+ /**
52513
+ * Validates attributes for validity.
52514
+ *
52515
+ * @param {string} lcTag
52516
+ * @param {string} lcName
52517
+ * @param {string} value
52518
+ * @return {boolean}
52606
52519
  */
52607
52520
  function isValidAttribute(lcTag, lcName, value) {
52608
52521
  // disallow most attributes based on whitelist
@@ -52638,34 +52551,45 @@
52638
52551
  };
52639
52552
  return _extends$h.apply(this, arguments);
52640
52553
  }
52641
- var ImagePlaceholder = ({
52642
- styles = {},
52643
- ...props
52644
- }) => /*#__PURE__*/React.createElement("svg", _extends$h({
52645
- width: "64",
52646
- height: "64",
52647
- viewBox: "0 0 1280 1280",
52648
- xmlns: "http://www.w3.org/2000/svg",
52649
- fillRule: "evenodd",
52650
- clipRule: "evenodd",
52651
- strokeLinejoin: "round",
52652
- strokeMiterlimit: "2"
52653
- }, props), /*#__PURE__*/React.createElement("path", {
52654
- fill: "#e5e9ed",
52655
- d: "M0 0h1280v1280H0z"
52656
- }), /*#__PURE__*/React.createElement("path", {
52657
- d: "M910 410H370v470h540V410zm-57.333 57.333v355.334H427.333V467.333h425.334z",
52658
- fill: "#cad3db"
52659
- }), /*#__PURE__*/React.createElement("path", {
52660
- d: "M810 770H480v-60l100-170 130 170 100-65v125z",
52661
- fill: "#cad3db"
52662
- }), /*#__PURE__*/React.createElement("circle", {
52663
- cx: "750",
52664
- cy: "550",
52665
- r: "50",
52666
- fill: "#cad3db",
52667
- transform: "translate(10 10)"
52668
- }));
52554
+ var SvgImagePlaceholder = function SvgImagePlaceholder(props) {
52555
+ return /*#__PURE__*/v$1("svg", _extends$h({
52556
+ xmlns: "http://www.w3.org/2000/svg",
52557
+ xmlSpace: "preserve",
52558
+ width: 64,
52559
+ height: 64,
52560
+ style: {
52561
+ fillRule: "evenodd",
52562
+ clipRule: "evenodd",
52563
+ strokeLinejoin: "round",
52564
+ strokeMiterlimit: 2
52565
+ },
52566
+ viewBox: "0 0 1280 1280"
52567
+ }, props), /*#__PURE__*/v$1("path", {
52568
+ d: "M0 0h1280v1280H0z",
52569
+ style: {
52570
+ fill: "#e5e9ed"
52571
+ }
52572
+ }), /*#__PURE__*/v$1("path", {
52573
+ d: "M910 410H370v470h540V410Zm-57.333 57.333v355.334H427.333V467.333h425.334Z",
52574
+ style: {
52575
+ fill: "#cad3db"
52576
+ }
52577
+ }), /*#__PURE__*/v$1("path", {
52578
+ d: "M810 770H480v-60l100-170 130 170 100-65v125Z",
52579
+ style: {
52580
+ fill: "#cad3db"
52581
+ }
52582
+ }), /*#__PURE__*/v$1("circle", {
52583
+ cx: 750,
52584
+ cy: 550,
52585
+ r: 50,
52586
+ style: {
52587
+ fill: "#cad3db"
52588
+ },
52589
+ transform: "translate(10 10)"
52590
+ }));
52591
+ };
52592
+ var ImagePlaceholder = SvgImagePlaceholder;
52669
52593
  const type$7 = 'image';
52670
52594
  function Image(props) {
52671
52595
  const {
@@ -52676,12 +52600,16 @@
52676
52600
  id,
52677
52601
  source
52678
52602
  } = field;
52679
- const evaluatedImageSource = useExpressionEvaluation(source);
52603
+ const evaluatedImageSource = useSingleLineTemplateEvaluation(source, {
52604
+ debug: true
52605
+ });
52680
52606
  const safeSource = d(() => sanitizeImageSource(evaluatedImageSource), [evaluatedImageSource]);
52681
- const altText = useExpressionEvaluation(alt);
52607
+ const altText = useSingleLineTemplateEvaluation(alt, {
52608
+ debug: true
52609
+ });
52682
52610
  const {
52683
52611
  formId
52684
- } = F$1(FormContext$1);
52612
+ } = F(FormContext$1);
52685
52613
  return e$1("div", {
52686
52614
  class: formFieldClasses(type$7),
52687
52615
  children: e$1("div", {
@@ -52709,6 +52637,24 @@
52709
52637
  ...options
52710
52638
  })
52711
52639
  };
52640
+ function TemplatedInputAdorner(props) {
52641
+ const {
52642
+ pre,
52643
+ post
52644
+ } = props;
52645
+ const evaluatedPre = useSingleLineTemplateEvaluation(pre, {
52646
+ debug: true
52647
+ });
52648
+ const evaluatedPost = useSingleLineTemplateEvaluation(post, {
52649
+ debug: true
52650
+ });
52651
+ return e$1(InputAdorner, {
52652
+ ...props,
52653
+ pre: evaluatedPre,
52654
+ post: evaluatedPost
52655
+ });
52656
+ }
52657
+ var _path$e;
52712
52658
  function _extends$g() {
52713
52659
  _extends$g = Object.assign ? Object.assign.bind() : function (target) {
52714
52660
  for (var i = 1; i < arguments.length; i++) {
@@ -52723,21 +52669,22 @@
52723
52669
  };
52724
52670
  return _extends$g.apply(this, arguments);
52725
52671
  }
52726
- var AngelDownIcon = ({
52727
- styles = {},
52728
- ...props
52729
- }) => /*#__PURE__*/React.createElement("svg", _extends$g({
52730
- xmlns: "http://www.w3.org/2000/svg",
52731
- width: "8",
52732
- height: "8"
52733
- }, props), /*#__PURE__*/React.createElement("path", {
52734
- fillRule: "evenodd",
52735
- clipRule: "evenodd",
52736
- fill: "currentColor",
52737
- stroke: "currentColor",
52738
- strokeWidth: ".5",
52739
- d: "M7.75 1.336L4 6.125.258 1.335 0 1.54l4 5.125L8 1.54zm0 0"
52740
- }));
52672
+ var SvgAngelDown = function SvgAngelDown(props) {
52673
+ return /*#__PURE__*/v$1("svg", _extends$g({
52674
+ xmlns: "http://www.w3.org/2000/svg",
52675
+ width: 8,
52676
+ height: 8
52677
+ }, props), _path$e || (_path$e = /*#__PURE__*/v$1("path", {
52678
+ fill: "currentColor",
52679
+ fillRule: "evenodd",
52680
+ stroke: "currentColor",
52681
+ strokeWidth: 0.5,
52682
+ d: "M7.75 1.336 4 6.125.258 1.335 0 1.54l4 5.125L8 1.54Zm0 0",
52683
+ clipRule: "evenodd"
52684
+ })));
52685
+ };
52686
+ var AngelDownIcon = SvgAngelDown;
52687
+ var _path$d;
52741
52688
  function _extends$f() {
52742
52689
  _extends$f = Object.assign ? Object.assign.bind() : function (target) {
52743
52690
  for (var i = 1; i < arguments.length; i++) {
@@ -52752,21 +52699,21 @@
52752
52699
  };
52753
52700
  return _extends$f.apply(this, arguments);
52754
52701
  }
52755
- var AngelUpIcon = ({
52756
- styles = {},
52757
- ...props
52758
- }) => /*#__PURE__*/React.createElement("svg", _extends$f({
52759
- xmlns: "http://www.w3.org/2000/svg",
52760
- width: "8",
52761
- height: "8"
52762
- }, props), /*#__PURE__*/React.createElement("path", {
52763
- fillRule: "evenodd",
52764
- clipRule: "evenodd",
52765
- fill: "currentColor",
52766
- stroke: "currentColor",
52767
- strokeWidth: ".5",
52768
- d: "M7.75 6.664L4 1.875.258 6.665 0 6.46l4-5.125L8 6.46zm0 0"
52769
- }));
52702
+ var SvgAngelUp = function SvgAngelUp(props) {
52703
+ return /*#__PURE__*/v$1("svg", _extends$f({
52704
+ xmlns: "http://www.w3.org/2000/svg",
52705
+ width: 8,
52706
+ height: 8
52707
+ }, props), _path$d || (_path$d = /*#__PURE__*/v$1("path", {
52708
+ fill: "currentColor",
52709
+ fillRule: "evenodd",
52710
+ stroke: "currentColor",
52711
+ strokeWidth: 0.5,
52712
+ d: "M7.75 6.664 4 1.875.258 6.665 0 6.46l4-5.125L8 6.46Zm0 0",
52713
+ clipRule: "evenodd"
52714
+ })));
52715
+ };
52716
+ var AngelUpIcon = SvgAngelUp;
52770
52717
  const type$6 = 'number';
52771
52718
  function Numberfield(props) {
52772
52719
  const {
@@ -52901,7 +52848,7 @@
52901
52848
  };
52902
52849
  const {
52903
52850
  formId
52904
- } = F$1(FormContext$1);
52851
+ } = F(FormContext$1);
52905
52852
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
52906
52853
  return e$1("div", {
52907
52854
  class: formFieldClasses(type$6, {
@@ -52913,7 +52860,7 @@
52913
52860
  id: prefixId$2(id, formId),
52914
52861
  label: label,
52915
52862
  required: required
52916
- }), e$1(InputAdorner, {
52863
+ }), e$1(TemplatedInputAdorner, {
52917
52864
  disabled: disabled,
52918
52865
  readonly: readonly,
52919
52866
  pre: prefixAdorner,
@@ -53028,7 +52975,7 @@
53028
52975
  } = useValuesAsync(field);
53029
52976
  const {
53030
52977
  formId
53031
- } = F$1(FormContext$1);
52978
+ } = F(FormContext$1);
53032
52979
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
53033
52980
  return e$1("div", {
53034
52981
  class: formFieldClasses(type$5, {
@@ -53089,6 +53036,7 @@
53089
53036
  };
53090
53037
  }
53091
53038
  };
53039
+ var _path$c;
53092
53040
  function _extends$e() {
53093
53041
  _extends$e = Object.assign ? Object.assign.bind() : function (target) {
53094
53042
  for (var i = 1; i < arguments.length; i++) {
@@ -53103,21 +53051,21 @@
53103
53051
  };
53104
53052
  return _extends$e.apply(this, arguments);
53105
53053
  }
53106
- var XMarkIcon = ({
53107
- styles = {},
53108
- ...props
53109
- }) => /*#__PURE__*/React.createElement("svg", _extends$e({
53110
- xmlns: "http://www.w3.org/2000/svg",
53111
- width: "8",
53112
- height: "8"
53113
- }, props), /*#__PURE__*/React.createElement("path", {
53114
- fillRule: "evenodd",
53115
- clipRule: "evenodd",
53116
- fill: "currentColor",
53117
- stroke: "currentColor",
53118
- strokeWidth: ".5",
53119
- d: "M4 3.766L7.43.336l.234.234L4.234 4l3.43 3.43-.234.234L4 4.234.57 7.664.336 7.43 3.766 4 .336.57.57.336zm0 0"
53120
- }));
53054
+ var SvgXMark = function SvgXMark(props) {
53055
+ return /*#__PURE__*/v$1("svg", _extends$e({
53056
+ xmlns: "http://www.w3.org/2000/svg",
53057
+ width: 8,
53058
+ height: 8
53059
+ }, props), _path$c || (_path$c = /*#__PURE__*/v$1("path", {
53060
+ fill: "currentColor",
53061
+ fillRule: "evenodd",
53062
+ stroke: "currentColor",
53063
+ strokeWidth: 0.5,
53064
+ d: "M4 3.766 7.43.336l.234.234L4.234 4l3.43 3.43-.234.234L4 4.234.57 7.664.336 7.43 3.766 4 .336.57.57.336Zm0 0",
53065
+ clipRule: "evenodd"
53066
+ })));
53067
+ };
53068
+ var XMarkIcon = SvgXMark;
53121
53069
  function SearchableSelect(props) {
53122
53070
  const {
53123
53071
  id,
@@ -53129,7 +53077,7 @@
53129
53077
  } = props;
53130
53078
  const {
53131
53079
  formId
53132
- } = F$1(FormContext$1);
53080
+ } = F(FormContext$1);
53133
53081
  const [filter, setFilter] = l$2('');
53134
53082
  const [isDropdownExpanded, setIsDropdownExpanded] = l$2(false);
53135
53083
  const [shouldApplyFilter, setShouldApplyFilter] = l$2(true);
@@ -53281,7 +53229,7 @@
53281
53229
  } = props;
53282
53230
  const {
53283
53231
  formId
53284
- } = F$1(FormContext$1);
53232
+ } = F(FormContext$1);
53285
53233
  const [isDropdownExpanded, setIsDropdownExpanded] = l$2(false);
53286
53234
  const selectRef = s$1();
53287
53235
  const {
@@ -53392,7 +53340,7 @@
53392
53340
  } = validate;
53393
53341
  const {
53394
53342
  formId
53395
- } = F$1(FormContext$1);
53343
+ } = F(FormContext$1);
53396
53344
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
53397
53345
  const selectProps = d(() => ({
53398
53346
  id,
@@ -53475,7 +53423,7 @@
53475
53423
  } = validate;
53476
53424
  const {
53477
53425
  formId
53478
- } = F$1(FormContext$1);
53426
+ } = F(FormContext$1);
53479
53427
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
53480
53428
  const [filter, setFilter] = l$2('');
53481
53429
  const [filteredOptions, setFilteredOptions] = l$2([]);
@@ -53786,7 +53734,7 @@
53786
53734
  };
53787
53735
  const {
53788
53736
  formId
53789
- } = F$1(FormContext$1);
53737
+ } = F(FormContext$1);
53790
53738
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
53791
53739
  return e$1("div", {
53792
53740
  class: formFieldClasses(type$1, {
@@ -53798,7 +53746,7 @@
53798
53746
  id: prefixId$2(id, formId),
53799
53747
  label: label,
53800
53748
  required: required
53801
- }), e$1(InputAdorner, {
53749
+ }), e$1(TemplatedInputAdorner, {
53802
53750
  disabled: disabled,
53803
53751
  readonly: readonly,
53804
53752
  pre: prefixAdorner,
@@ -53889,7 +53837,7 @@
53889
53837
  }, [autoSizeTextarea, value]);
53890
53838
  const {
53891
53839
  formId
53892
- } = F$1(FormContext$1);
53840
+ } = F(FormContext$1);
53893
53841
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
53894
53842
  return e$1("div", {
53895
53843
  class: formFieldClasses(type, {
@@ -53931,6 +53879,7 @@
53931
53879
  ...options
53932
53880
  })
53933
53881
  };
53882
+ var _path$b;
53934
53883
  function _extends$d() {
53935
53884
  _extends$d = Object.assign ? Object.assign.bind() : function (target) {
53936
53885
  for (var i = 1; i < arguments.length; i++) {
@@ -53945,18 +53894,19 @@
53945
53894
  };
53946
53895
  return _extends$d.apply(this, arguments);
53947
53896
  }
53948
- var ButtonIcon = ({
53949
- styles = {},
53950
- ...props
53951
- }) => /*#__PURE__*/React.createElement("svg", _extends$d({
53952
- xmlns: "http://www.w3.org/2000/svg",
53953
- width: "54",
53954
- height: "54",
53955
- fill: "currentcolor"
53956
- }, props), /*#__PURE__*/React.createElement("path", {
53957
- fillRule: "evenodd",
53958
- d: "M45 17a3 3 0 013 3v14a3 3 0 01-3 3H9a3 3 0 01-3-3V20a3 3 0 013-3h36zm-9 8.889H18v2.222h18v-2.222z"
53959
- }));
53897
+ var SvgButton = function SvgButton(props) {
53898
+ return /*#__PURE__*/v$1("svg", _extends$d({
53899
+ xmlns: "http://www.w3.org/2000/svg",
53900
+ width: 54,
53901
+ height: 54,
53902
+ fill: "currentcolor"
53903
+ }, props), _path$b || (_path$b = /*#__PURE__*/v$1("path", {
53904
+ fillRule: "evenodd",
53905
+ d: "M45 17a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V20a3 3 0 0 1 3-3h36zm-9 8.889H18v2.222h18v-2.222z"
53906
+ })));
53907
+ };
53908
+ var ButtonIcon = SvgButton;
53909
+ var _path$a;
53960
53910
  function _extends$c() {
53961
53911
  _extends$c = Object.assign ? Object.assign.bind() : function (target) {
53962
53912
  for (var i = 1; i < arguments.length; i++) {
@@ -53971,17 +53921,18 @@
53971
53921
  };
53972
53922
  return _extends$c.apply(this, arguments);
53973
53923
  }
53974
- var CheckboxIcon = ({
53975
- styles = {},
53976
- ...props
53977
- }) => /*#__PURE__*/React.createElement("svg", _extends$c({
53978
- xmlns: "http://www.w3.org/2000/svg",
53979
- width: "54",
53980
- height: "54",
53981
- fill: "currentcolor"
53982
- }, props), /*#__PURE__*/React.createElement("path", {
53983
- d: "M34 18H20a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V20a2 2 0 00-2-2zm-9 14l-5-5 1.41-1.41L25 29.17l7.59-7.59L34 23l-9 9z"
53984
- }));
53924
+ var SvgCheckbox = function SvgCheckbox(props) {
53925
+ return /*#__PURE__*/v$1("svg", _extends$c({
53926
+ xmlns: "http://www.w3.org/2000/svg",
53927
+ width: 54,
53928
+ height: 54,
53929
+ fill: "currentcolor"
53930
+ }, props), _path$a || (_path$a = /*#__PURE__*/v$1("path", {
53931
+ d: "M34 18H20a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V20a2 2 0 0 0-2-2zm-9 14-5-5 1.41-1.41L25 29.17l7.59-7.59L34 23l-9 9z"
53932
+ })));
53933
+ };
53934
+ var CheckboxIcon = SvgCheckbox;
53935
+ var _g, _use, _use2, _use3, _defs;
53985
53936
  function _extends$b() {
53986
53937
  _extends$b = Object.assign ? Object.assign.bind() : function (target) {
53987
53938
  for (var i = 1; i < arguments.length; i++) {
@@ -53996,40 +53947,41 @@
53996
53947
  };
53997
53948
  return _extends$b.apply(this, arguments);
53998
53949
  }
53999
- var ChecklistIcon = ({
54000
- styles = {},
54001
- ...props
54002
- }) => /*#__PURE__*/React.createElement("svg", _extends$b({
54003
- xmlns: "http://www.w3.org/2000/svg",
54004
- xmlnsXlink: "http://www.w3.org/1999/xlink",
54005
- width: "54",
54006
- height: "54",
54007
- fill: "currentcolor"
54008
- }, props), /*#__PURE__*/React.createElement("g", {
54009
- fillRule: "evenodd"
54010
- }, /*#__PURE__*/React.createElement("use", {
54011
- xlinkHref: "#a"
54012
- }), /*#__PURE__*/React.createElement("use", {
54013
- xlinkHref: "#a",
54014
- y: "24"
54015
- }), /*#__PURE__*/React.createElement("use", {
54016
- xlinkHref: "#a",
54017
- y: "12"
54018
- })), /*#__PURE__*/React.createElement("use", {
54019
- xlinkHref: "#b"
54020
- }), /*#__PURE__*/React.createElement("use", {
54021
- xlinkHref: "#b",
54022
- y: "12"
54023
- }), /*#__PURE__*/React.createElement("use", {
54024
- xlinkHref: "#b",
54025
- y: "24"
54026
- }), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("path", {
54027
- id: "a",
54028
- d: "M18 12h-6v6h6v-6zm-6-2a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-6a2 2 0 00-2-2h-6z"
54029
- }), /*#__PURE__*/React.createElement("path", {
54030
- id: "b",
54031
- d: "M23 14.5a1 1 0 011-1h19a1 1 0 011 1v1a1 1 0 01-1 1H24a1 1 0 01-1-1v-1z"
54032
- })));
53950
+ var SvgChecklist = function SvgChecklist(props) {
53951
+ return /*#__PURE__*/v$1("svg", _extends$b({
53952
+ xmlns: "http://www.w3.org/2000/svg",
53953
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
53954
+ width: 54,
53955
+ height: 54,
53956
+ fill: "currentcolor"
53957
+ }, props), _g || (_g = /*#__PURE__*/v$1("g", {
53958
+ fillRule: "evenodd"
53959
+ }, /*#__PURE__*/v$1("use", {
53960
+ xlinkHref: "#Checklist_svg__a"
53961
+ }), /*#__PURE__*/v$1("use", {
53962
+ xlinkHref: "#Checklist_svg__a",
53963
+ y: 24
53964
+ }), /*#__PURE__*/v$1("use", {
53965
+ xlinkHref: "#Checklist_svg__a",
53966
+ y: 12
53967
+ }))), _use || (_use = /*#__PURE__*/v$1("use", {
53968
+ xlinkHref: "#Checklist_svg__b"
53969
+ })), _use2 || (_use2 = /*#__PURE__*/v$1("use", {
53970
+ xlinkHref: "#Checklist_svg__b",
53971
+ y: 12
53972
+ })), _use3 || (_use3 = /*#__PURE__*/v$1("use", {
53973
+ xlinkHref: "#Checklist_svg__b",
53974
+ y: 24
53975
+ })), _defs || (_defs = /*#__PURE__*/v$1("defs", null, /*#__PURE__*/v$1("path", {
53976
+ id: "Checklist_svg__a",
53977
+ d: "M18 12h-6v6h6v-6zm-6-2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2h-6z"
53978
+ }), /*#__PURE__*/v$1("path", {
53979
+ id: "Checklist_svg__b",
53980
+ d: "M23 14.5a1 1 0 0 1 1-1h19a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H24a1 1 0 0 1-1-1v-1z"
53981
+ }))));
53982
+ };
53983
+ var ChecklistIcon = SvgChecklist;
53984
+ var _path$9, _path2$2, _path3;
54033
53985
  function _extends$a() {
54034
53986
  _extends$a = Object.assign ? Object.assign.bind() : function (target) {
54035
53987
  for (var i = 1; i < arguments.length; i++) {
@@ -54044,23 +53996,24 @@
54044
53996
  };
54045
53997
  return _extends$a.apply(this, arguments);
54046
53998
  }
54047
- var DatetimeIcon = ({
54048
- styles = {},
54049
- ...props
54050
- }) => /*#__PURE__*/React.createElement("svg", _extends$a({
54051
- xmlns: "http://www.w3.org/2000/svg",
54052
- width: "54",
54053
- height: "54",
54054
- fill: "currentcolor"
54055
- }, props), /*#__PURE__*/React.createElement("path", {
54056
- fillRule: "evenodd",
54057
- d: "M37.908 13.418h-5.004v-2.354h-1.766v2.354H21.13v-2.354h-1.766v2.354H14.36a2.07 2.07 0 00-2.06 2.06v23.549a2.07 2.07 0 002.06 2.06h6.77v-1.766h-6.358a.707.707 0 01-.706-.706V15.89c0-.39.316-.707.706-.707h4.592v2.355h1.766v-2.355h10.008v2.355h1.766v-2.355h4.592a.71.71 0 01.707.707v6.358h1.765v-6.77c0-1.133-.927-2.06-2.06-2.06z"
54058
- }), /*#__PURE__*/React.createElement("path", {
54059
- d: "M35.13 37.603l1.237-1.237-3.468-3.475v-5.926h-1.754v6.654l3.984 3.984z"
54060
- }), /*#__PURE__*/React.createElement("path", {
54061
- fillRule: "evenodd",
54062
- d: "M23.08 36.962a9.678 9.678 0 1017.883-7.408 9.678 9.678 0 00-17.882 7.408zm4.54-10.292a7.924 7.924 0 118.805 13.177A7.924 7.924 0 0127.62 26.67z"
54063
- }));
53999
+ var SvgDatetime = function SvgDatetime(props) {
54000
+ return /*#__PURE__*/v$1("svg", _extends$a({
54001
+ xmlns: "http://www.w3.org/2000/svg",
54002
+ width: 54,
54003
+ height: 54,
54004
+ fill: "currentcolor"
54005
+ }, props), _path$9 || (_path$9 = /*#__PURE__*/v$1("path", {
54006
+ fillRule: "evenodd",
54007
+ d: "M37.908 13.418h-5.004v-2.354h-1.766v2.354H21.13v-2.354h-1.766v2.354H14.36a2.07 2.07 0 0 0-2.06 2.06v23.549a2.07 2.07 0 0 0 2.06 2.06h6.77v-1.766h-6.358a.707.707 0 0 1-.706-.706V15.89c0-.39.316-.707.706-.707h4.592v2.355h1.766v-2.355h10.008v2.355h1.766v-2.355h4.592a.71.71 0 0 1 .707.707v6.358h1.765v-6.77c0-1.133-.927-2.06-2.06-2.06z"
54008
+ })), _path2$2 || (_path2$2 = /*#__PURE__*/v$1("path", {
54009
+ d: "m35.13 37.603 1.237-1.237-3.468-3.475v-5.926h-1.754v6.654l3.984 3.984Z"
54010
+ })), _path3 || (_path3 = /*#__PURE__*/v$1("path", {
54011
+ fillRule: "evenodd",
54012
+ 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.67Z"
54013
+ })));
54014
+ };
54015
+ var DatetimeIcon = SvgDatetime;
54016
+ var _path$8, _path2$1;
54064
54017
  function _extends$9() {
54065
54018
  _extends$9 = Object.assign ? Object.assign.bind() : function (target) {
54066
54019
  for (var i = 1; i < arguments.length; i++) {
@@ -54075,20 +54028,21 @@
54075
54028
  };
54076
54029
  return _extends$9.apply(this, arguments);
54077
54030
  }
54078
- var TaglistIcon = ({
54079
- styles = {},
54080
- ...props
54081
- }) => /*#__PURE__*/React.createElement("svg", _extends$9({
54082
- xmlns: "http://www.w3.org/2000/svg",
54083
- width: "54",
54084
- height: "54",
54085
- fill: "currentcolor"
54086
- }, props), /*#__PURE__*/React.createElement("path", {
54087
- fillRule: "evenodd",
54088
- d: "M45 16a3 3 0 013 3v16a3 3 0 01-3 3H9a3 3 0 01-3-3V19a3 3 0 013-3h36zm0 2H9a1 1 0 00-1 1v16a1 1 0 001 1h36a1 1 0 001-1V19a1 1 0 00-1-1z"
54089
- }), /*#__PURE__*/React.createElement("path", {
54090
- d: "M11 22a1 1 0 011-1h19a1 1 0 011 1v10a1 1 0 01-1 1H12a1 1 0 01-1-1V22z"
54091
- }));
54031
+ var SvgTaglist = function SvgTaglist(props) {
54032
+ return /*#__PURE__*/v$1("svg", _extends$9({
54033
+ xmlns: "http://www.w3.org/2000/svg",
54034
+ width: 54,
54035
+ height: 54,
54036
+ fill: "currentcolor"
54037
+ }, props), _path$8 || (_path$8 = /*#__PURE__*/v$1("path", {
54038
+ fillRule: "evenodd",
54039
+ d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36Zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1Z"
54040
+ })), _path2$1 || (_path2$1 = /*#__PURE__*/v$1("path", {
54041
+ d: "M11 22a1 1 0 0 1 1-1h19a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H12a1 1 0 0 1-1-1V22Z"
54042
+ })));
54043
+ };
54044
+ var TaglistIcon = SvgTaglist;
54045
+ var _rect, _rect2, _rect3;
54092
54046
  function _extends$8() {
54093
54047
  _extends$8 = Object.assign ? Object.assign.bind() : function (target) {
54094
54048
  for (var i = 1; i < arguments.length; i++) {
@@ -54103,32 +54057,33 @@
54103
54057
  };
54104
54058
  return _extends$8.apply(this, arguments);
54105
54059
  }
54106
- var FormIcon = ({
54107
- styles = {},
54108
- ...props
54109
- }) => /*#__PURE__*/React.createElement("svg", _extends$8({
54110
- xmlns: "http://www.w3.org/2000/svg",
54111
- width: "54",
54112
- height: "54"
54113
- }, props), /*#__PURE__*/React.createElement("rect", {
54114
- width: "24",
54115
- height: "4",
54116
- x: "15",
54117
- y: "17",
54118
- rx: "1"
54119
- }), /*#__PURE__*/React.createElement("rect", {
54120
- width: "24",
54121
- height: "4",
54122
- x: "15",
54123
- y: "25",
54124
- rx: "1"
54125
- }), /*#__PURE__*/React.createElement("rect", {
54126
- width: "13",
54127
- height: "4",
54128
- x: "15",
54129
- y: "33",
54130
- rx: "1"
54131
- }));
54060
+ var SvgForm = function SvgForm(props) {
54061
+ return /*#__PURE__*/v$1("svg", _extends$8({
54062
+ xmlns: "http://www.w3.org/2000/svg",
54063
+ width: 54,
54064
+ height: 54
54065
+ }, props), _rect || (_rect = /*#__PURE__*/v$1("rect", {
54066
+ width: 24,
54067
+ height: 4,
54068
+ x: 15,
54069
+ y: 17,
54070
+ rx: 1
54071
+ })), _rect2 || (_rect2 = /*#__PURE__*/v$1("rect", {
54072
+ width: 24,
54073
+ height: 4,
54074
+ x: 15,
54075
+ y: 25,
54076
+ rx: 1
54077
+ })), _rect3 || (_rect3 = /*#__PURE__*/v$1("rect", {
54078
+ width: 13,
54079
+ height: 4,
54080
+ x: 15,
54081
+ y: 33,
54082
+ rx: 1
54083
+ })));
54084
+ };
54085
+ var FormIcon = SvgForm;
54086
+ var _path$7;
54132
54087
  function _extends$7() {
54133
54088
  _extends$7 = Object.assign ? Object.assign.bind() : function (target) {
54134
54089
  for (var i = 1; i < arguments.length; i++) {
@@ -54143,17 +54098,18 @@
54143
54098
  };
54144
54099
  return _extends$7.apply(this, arguments);
54145
54100
  }
54146
- var ColumnsIcon = ({
54147
- styles = {},
54148
- ...props
54149
- }) => /*#__PURE__*/React.createElement("svg", _extends$7({
54150
- xmlns: "http://www.w3.org/2000/svg",
54151
- width: "54",
54152
- height: "54"
54153
- }, props), /*#__PURE__*/React.createElement("path", {
54154
- fillRule: "evenodd",
54155
- d: "M8 33v5a1 1 0 001 1h4v2H9a3 3 0 01-3-3v-5h2zm18 6v2H15v-2h11zm13 0v2H28v-2h11zm9-6v5a3 3 0 01-3 3h-4v-2h4a1 1 0 00.993-.883L46 38v-5h2zM8 22v9H6v-9h2zm40 0v9h-2v-9h2zm-35-9v2H9a1 1 0 00-.993.883L8 16v4H6v-4a3 3 0 013-3h4zm32 0a3 3 0 013 3v4h-2v-4a1 1 0 00-.883-.993L45 15h-4v-2h4zm-6 0v2H28v-2h11zm-13 0v2H15v-2h11z"
54156
- }));
54101
+ var SvgGroup = function SvgGroup(props) {
54102
+ return /*#__PURE__*/v$1("svg", _extends$7({
54103
+ xmlns: "http://www.w3.org/2000/svg",
54104
+ width: 54,
54105
+ height: 54
54106
+ }, props), _path$7 || (_path$7 = /*#__PURE__*/v$1("path", {
54107
+ fillRule: "evenodd",
54108
+ d: "M8 33v5a1 1 0 0 0 1 1h4v2H9a3 3 0 0 1-3-3v-5h2Zm18 6v2H15v-2h11Zm13 0v2H28v-2h11Zm9-6v5a3 3 0 0 1-3 3h-4v-2h4a1 1 0 0 0 .993-.883L46 38v-5h2ZM8 22v9H6v-9h2Zm40 0v9h-2v-9h2Zm-35-9v2H9a1 1 0 0 0-.993.883L8 16v4H6v-4a3 3 0 0 1 3-3h4Zm32 0a3 3 0 0 1 3 3v4h-2v-4a1 1 0 0 0-.883-.993L45 15h-4v-2h4Zm-6 0v2H28v-2h11Zm-13 0v2H15v-2h11Z"
54109
+ })));
54110
+ };
54111
+ var ColumnsIcon = SvgGroup;
54112
+ var _path$6;
54157
54113
  function _extends$6() {
54158
54114
  _extends$6 = Object.assign ? Object.assign.bind() : function (target) {
54159
54115
  for (var i = 1; i < arguments.length; i++) {
@@ -54168,18 +54124,19 @@
54168
54124
  };
54169
54125
  return _extends$6.apply(this, arguments);
54170
54126
  }
54171
- var NumberIcon = ({
54172
- styles = {},
54173
- ...props
54174
- }) => /*#__PURE__*/React.createElement("svg", _extends$6({
54175
- xmlns: "http://www.w3.org/2000/svg",
54176
- width: "54",
54177
- height: "54",
54178
- fill: "currentcolor"
54179
- }, props), /*#__PURE__*/React.createElement("path", {
54180
- fillRule: "evenodd",
54181
- d: "M45 16a3 3 0 013 3v16a3 3 0 01-3 3H9a3 3 0 01-3-3V19a3 3 0 013-3h36zm0 2H9a1 1 0 00-1 1v16a1 1 0 001 1h36a1 1 0 001-1V19a1 1 0 00-1-1zM35 28.444h7l-3.5 4-3.5-4zM35 26h7l-3.5-4-3.5 4z"
54182
- }));
54127
+ var SvgNumber = function SvgNumber(props) {
54128
+ return /*#__PURE__*/v$1("svg", _extends$6({
54129
+ xmlns: "http://www.w3.org/2000/svg",
54130
+ width: 54,
54131
+ height: 54,
54132
+ fill: "currentcolor"
54133
+ }, props), _path$6 || (_path$6 = /*#__PURE__*/v$1("path", {
54134
+ fillRule: "evenodd",
54135
+ d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zM35 28.444h7l-3.5 4-3.5-4zM35 26h7l-3.5-4-3.5 4z"
54136
+ })));
54137
+ };
54138
+ var NumberIcon = SvgNumber;
54139
+ var _path$5;
54183
54140
  function _extends$5() {
54184
54141
  _extends$5 = Object.assign ? Object.assign.bind() : function (target) {
54185
54142
  for (var i = 1; i < arguments.length; i++) {
@@ -54194,17 +54151,18 @@
54194
54151
  };
54195
54152
  return _extends$5.apply(this, arguments);
54196
54153
  }
54197
- var RadioIcon = ({
54198
- styles = {},
54199
- ...props
54200
- }) => /*#__PURE__*/React.createElement("svg", _extends$5({
54201
- xmlns: "http://www.w3.org/2000/svg",
54202
- width: "54",
54203
- height: "54",
54204
- fill: "currentcolor"
54205
- }, props), /*#__PURE__*/React.createElement("path", {
54206
- d: "M27 22c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 18a8 8 0 110-16 8 8 0 110 16z"
54207
- }));
54154
+ var SvgRadio = function SvgRadio(props) {
54155
+ return /*#__PURE__*/v$1("svg", _extends$5({
54156
+ xmlns: "http://www.w3.org/2000/svg",
54157
+ width: 54,
54158
+ height: 54,
54159
+ fill: "currentcolor"
54160
+ }, props), _path$5 || (_path$5 = /*#__PURE__*/v$1("path", {
54161
+ d: "M27 22c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 18a8 8 0 1 1 0-16 8 8 0 1 1 0 16z"
54162
+ })));
54163
+ };
54164
+ var RadioIcon = SvgRadio;
54165
+ var _path$4;
54208
54166
  function _extends$4() {
54209
54167
  _extends$4 = Object.assign ? Object.assign.bind() : function (target) {
54210
54168
  for (var i = 1; i < arguments.length; i++) {
@@ -54219,18 +54177,19 @@
54219
54177
  };
54220
54178
  return _extends$4.apply(this, arguments);
54221
54179
  }
54222
- var SelectIcon = ({
54223
- styles = {},
54224
- ...props
54225
- }) => /*#__PURE__*/React.createElement("svg", _extends$4({
54226
- xmlns: "http://www.w3.org/2000/svg",
54227
- width: "54",
54228
- height: "54",
54229
- fill: "currentcolor"
54230
- }, props), /*#__PURE__*/React.createElement("path", {
54231
- fillRule: "evenodd",
54232
- d: "M45 16a3 3 0 013 3v16a3 3 0 01-3 3H9a3 3 0 01-3-3V19a3 3 0 013-3h36zm0 2H9a1 1 0 00-1 1v16a1 1 0 001 1h36a1 1 0 001-1V19a1 1 0 00-1-1zm-12 7h9l-4.5 6-4.5-6z"
54233
- }));
54180
+ var SvgSelect = function SvgSelect(props) {
54181
+ return /*#__PURE__*/v$1("svg", _extends$4({
54182
+ xmlns: "http://www.w3.org/2000/svg",
54183
+ width: 54,
54184
+ height: 54,
54185
+ fill: "currentcolor"
54186
+ }, props), _path$4 || (_path$4 = /*#__PURE__*/v$1("path", {
54187
+ fillRule: "evenodd",
54188
+ d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zm-12 7h9l-4.5 6-4.5-6z"
54189
+ })));
54190
+ };
54191
+ var SelectIcon = SvgSelect;
54192
+ var _path$3$1;
54234
54193
  function _extends$3$1() {
54235
54194
  _extends$3$1 = Object.assign ? Object.assign.bind() : function (target) {
54236
54195
  for (var i = 1; i < arguments.length; i++) {
@@ -54245,17 +54204,18 @@
54245
54204
  };
54246
54205
  return _extends$3$1.apply(this, arguments);
54247
54206
  }
54248
- var TextIcon = ({
54249
- styles = {},
54250
- ...props
54251
- }) => /*#__PURE__*/React.createElement("svg", _extends$3$1({
54252
- xmlns: "http://www.w3.org/2000/svg",
54253
- width: "54",
54254
- height: "54",
54255
- fill: "currentcolor"
54256
- }, props), /*#__PURE__*/React.createElement("path", {
54257
- d: "M20.58 33.77h-3l-1.18-3.08H11l-1.1 3.08H7l5.27-13.54h2.89zm-5-5.36l-1.86-5-1.83 5zM22 20.23h5.41a15.47 15.47 0 012.4.14 3.42 3.42 0 011.41.55 3.47 3.47 0 011 1.14 3 3 0 01.42 1.58 3.26 3.26 0 01-1.91 2.94 3.63 3.63 0 011.91 1.22 3.28 3.28 0 01.66 2 4 4 0 01-.43 1.8 3.63 3.63 0 01-1.09 1.4 3.89 3.89 0 01-1.83.65q-.69.07-3.3.09H22zm2.73 2.25v3.13h3.8a1.79 1.79 0 001.1-.49 1.41 1.41 0 00.41-1 1.49 1.49 0 00-.35-1 1.54 1.54 0 00-1-.48c-.27 0-1.05-.05-2.34-.05zm0 5.39v3.62h2.57a11.52 11.52 0 001.88-.09 1.65 1.65 0 001-.54 1.6 1.6 0 00.38-1.14 1.75 1.75 0 00-.29-1 1.69 1.69 0 00-.86-.62 9.28 9.28 0 00-2.41-.23zm19.62.92l2.65.84a5.94 5.94 0 01-2 3.29A5.74 5.74 0 0141.38 34a5.87 5.87 0 01-4.44-1.84 7.09 7.09 0 01-1.73-5A7.43 7.43 0 0137 21.87 6 6 0 0141.54 20a5.64 5.64 0 014 1.47A5.33 5.33 0 0147 24l-2.7.65a2.8 2.8 0 00-2.86-2.27A3.09 3.09 0 0039 23.42a5.31 5.31 0 00-.93 3.5 5.62 5.62 0 00.93 3.65 3 3 0 002.4 1.09 2.72 2.72 0 001.82-.66 4 4 0 001.13-2.21z"
54258
- }));
54207
+ var SvgText = function SvgText(props) {
54208
+ return /*#__PURE__*/v$1("svg", _extends$3$1({
54209
+ xmlns: "http://www.w3.org/2000/svg",
54210
+ width: 54,
54211
+ height: 54,
54212
+ fill: "currentcolor"
54213
+ }, props), _path$3$1 || (_path$3$1 = /*#__PURE__*/v$1("path", {
54214
+ d: "M20.58 33.77h-3l-1.18-3.08H11l-1.1 3.08H7l5.27-13.54h2.89zm-5-5.36-1.86-5-1.83 5zM22 20.23h5.41a15.47 15.47 0 0 1 2.4.14 3.42 3.42 0 0 1 1.41.55 3.47 3.47 0 0 1 1 1.14 3 3 0 0 1 .42 1.58 3.26 3.26 0 0 1-1.91 2.94 3.63 3.63 0 0 1 1.91 1.22 3.28 3.28 0 0 1 .66 2 4 4 0 0 1-.43 1.8 3.63 3.63 0 0 1-1.09 1.4 3.89 3.89 0 0 1-1.83.65q-.69.07-3.3.09H22zm2.73 2.25v3.13h3.8a1.79 1.79 0 0 0 1.1-.49 1.41 1.41 0 0 0 .41-1 1.49 1.49 0 0 0-.35-1 1.54 1.54 0 0 0-1-.48c-.27 0-1.05-.05-2.34-.05zm0 5.39v3.62h2.57a11.52 11.52 0 0 0 1.88-.09 1.65 1.65 0 0 0 1-.54 1.6 1.6 0 0 0 .38-1.14 1.75 1.75 0 0 0-.29-1 1.69 1.69 0 0 0-.86-.62 9.28 9.28 0 0 0-2.41-.23zm19.62.92 2.65.84a5.94 5.94 0 0 1-2 3.29A5.74 5.74 0 0 1 41.38 34a5.87 5.87 0 0 1-4.44-1.84 7.09 7.09 0 0 1-1.73-5A7.43 7.43 0 0 1 37 21.87 6 6 0 0 1 41.54 20a5.64 5.64 0 0 1 4 1.47A5.33 5.33 0 0 1 47 24l-2.7.65a2.8 2.8 0 0 0-2.86-2.27A3.09 3.09 0 0 0 39 23.42a5.31 5.31 0 0 0-.93 3.5 5.62 5.62 0 0 0 .93 3.65 3 3 0 0 0 2.4 1.09 2.72 2.72 0 0 0 1.82-.66 4 4 0 0 0 1.13-2.21z"
54215
+ })));
54216
+ };
54217
+ var TextIcon = SvgText;
54218
+ var _path$2$1;
54259
54219
  function _extends$2$1() {
54260
54220
  _extends$2$1 = Object.assign ? Object.assign.bind() : function (target) {
54261
54221
  for (var i = 1; i < arguments.length; i++) {
@@ -54270,18 +54230,19 @@
54270
54230
  };
54271
54231
  return _extends$2$1.apply(this, arguments);
54272
54232
  }
54273
- var TextfieldIcon = ({
54274
- styles = {},
54275
- ...props
54276
- }) => /*#__PURE__*/React.createElement("svg", _extends$2$1({
54277
- xmlns: "http://www.w3.org/2000/svg",
54278
- width: "54",
54279
- height: "54",
54280
- fill: "currentcolor"
54281
- }, props), /*#__PURE__*/React.createElement("path", {
54282
- fillRule: "evenodd",
54283
- d: "M45 16a3 3 0 013 3v16a3 3 0 01-3 3H9a3 3 0 01-3-3V19a3 3 0 013-3h36zm0 2H9a1 1 0 00-1 1v16a1 1 0 001 1h36a1 1 0 001-1V19a1 1 0 00-1-1zm-32 4v10h-2V22h2z"
54284
- }));
54233
+ var SvgTextfield = function SvgTextfield(props) {
54234
+ return /*#__PURE__*/v$1("svg", _extends$2$1({
54235
+ xmlns: "http://www.w3.org/2000/svg",
54236
+ width: 54,
54237
+ height: 54,
54238
+ fill: "currentcolor"
54239
+ }, props), _path$2$1 || (_path$2$1 = /*#__PURE__*/v$1("path", {
54240
+ fillRule: "evenodd",
54241
+ d: "M45 16a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V19a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1zm-32 4v10h-2V22h2z"
54242
+ })));
54243
+ };
54244
+ var TextfieldIcon = SvgTextfield;
54245
+ var _path$1$1;
54285
54246
  function _extends$1$1() {
54286
54247
  _extends$1$1 = Object.assign ? Object.assign.bind() : function (target) {
54287
54248
  for (var i = 1; i < arguments.length; i++) {
@@ -54296,18 +54257,19 @@
54296
54257
  };
54297
54258
  return _extends$1$1.apply(this, arguments);
54298
54259
  }
54299
- var TextareaIcon = ({
54300
- styles = {},
54301
- ...props
54302
- }) => /*#__PURE__*/React.createElement("svg", _extends$1$1({
54303
- xmlns: "http://www.w3.org/2000/svg",
54304
- width: "54",
54305
- height: "54",
54306
- fill: "currentcolor"
54307
- }, props), /*#__PURE__*/React.createElement("path", {
54308
- fillRule: "evenodd",
54309
- d: "M45 13a3 3 0 013 3v22a3 3 0 01-3 3H9a3 3 0 01-3-3V16a3 3 0 013-3h36zm0 2H9a1 1 0 00-1 1v22a1 1 0 001 1h36a1 1 0 001-1V16a1 1 0 00-1-1zm-1.136 15.5l.849.849-6.364 6.364-.849-.849 6.364-6.364zm.264 3.5l.849.849-2.828 2.828-.849-.849L44.128 34zM13 19v10h-2V19h2z"
54310
- }));
54260
+ var SvgTextarea = function SvgTextarea(props) {
54261
+ return /*#__PURE__*/v$1("svg", _extends$1$1({
54262
+ xmlns: "http://www.w3.org/2000/svg",
54263
+ width: 54,
54264
+ height: 54,
54265
+ fill: "currentcolor"
54266
+ }, props), _path$1$1 || (_path$1$1 = /*#__PURE__*/v$1("path", {
54267
+ fillRule: "evenodd",
54268
+ d: "M45 13a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V16a3 3 0 0 1 3-3h36zm0 2H9a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h36a1 1 0 0 0 1-1V16a1 1 0 0 0-1-1zm-1.136 15.5.849.849-6.364 6.364-.849-.849 6.364-6.364zm.264 3.5.849.849-2.828 2.828-.849-.849L44.128 34zM13 19v10h-2V19h2z"
54269
+ })));
54270
+ };
54271
+ var TextareaIcon = SvgTextarea;
54272
+ var _path$h, _path2$4;
54311
54273
  function _extends$k() {
54312
54274
  _extends$k = Object.assign ? Object.assign.bind() : function (target) {
54313
54275
  for (var i = 1; i < arguments.length; i++) {
@@ -54322,23 +54284,23 @@
54322
54284
  };
54323
54285
  return _extends$k.apply(this, arguments);
54324
54286
  }
54325
- var ImageIcon = ({
54326
- styles = {},
54327
- ...props
54328
- }) => /*#__PURE__*/React.createElement("svg", _extends$k({
54329
- xmlns: "http://www.w3.org/2000/svg",
54330
- width: "54",
54331
- height: "54",
54332
- fill: "currentcolor"
54333
- }, props), /*#__PURE__*/React.createElement("path", {
54334
- fillRule: "evenodd",
54335
- d: "M34.636 21.91A3.818 3.818 0 1127 21.908a3.818 3.818 0 017.636 0zm-2 0A1.818 1.818 0 1129 21.908a1.818 1.818 0 013.636 0z",
54336
- clipRule: "evenodd"
54337
- }), /*#__PURE__*/React.createElement("path", {
54338
- fillRule: "evenodd",
54339
- d: "M15 13a2 2 0 00-2 2v24a2 2 0 002 2h24a2 2 0 002-2V15a2 2 0 00-2-2H15zm24 2H15v12.45l4.71-4.709a1.91 1.91 0 012.702 0l6.695 6.695 2.656-1.77a1.91 1.91 0 012.411.239L39 32.73V15zM15 39v-8.754a.975.975 0 00.168-.135l5.893-5.893 6.684 6.685a1.911 1.911 0 002.41.238l2.657-1.77 6.02 6.02c.052.051.108.097.168.135V39H15z",
54340
- clipRule: "evenodd"
54341
- }));
54287
+ var SvgImage = function SvgImage(props) {
54288
+ return /*#__PURE__*/v$1("svg", _extends$k({
54289
+ xmlns: "http://www.w3.org/2000/svg",
54290
+ width: 54,
54291
+ height: 54,
54292
+ fill: "currentcolor"
54293
+ }, props), _path$h || (_path$h = /*#__PURE__*/v$1("path", {
54294
+ fillRule: "evenodd",
54295
+ 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",
54296
+ clipRule: "evenodd"
54297
+ })), _path2$4 || (_path2$4 = /*#__PURE__*/v$1("path", {
54298
+ fillRule: "evenodd",
54299
+ 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-2H15Zm24 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.73V15ZM15 39v-8.754a.975.975 0 0 0 .168-.135l5.893-5.893 6.684 6.685a1.911 1.911 0 0 0 2.41.238l2.657-1.77 6.02 6.02c.052.051.108.097.168.135V39H15Z",
54300
+ clipRule: "evenodd"
54301
+ })));
54302
+ };
54303
+ var ImageIcon = SvgImage;
54342
54304
  const iconsByType = type => {
54343
54305
  return {
54344
54306
  button: ButtonIcon,
@@ -58648,10 +58610,10 @@
58648
58610
  return fn.apply(null, args);
58649
58611
  }
58650
58612
 
58651
- /**
58652
- * A factory to create a configurable debouncer.
58653
- *
58654
- * @param {number|boolean} [config=true]
58613
+ /**
58614
+ * A factory to create a configurable debouncer.
58615
+ *
58616
+ * @param {number|boolean} [config=true]
58655
58617
  */
58656
58618
  function DebounceFactory(config = true) {
58657
58619
  const timeout = typeof config === 'number' ? config : config ? 300 : 0;
@@ -58663,11 +58625,11 @@
58663
58625
  }
58664
58626
  DebounceFactory.$inject = ['config.debounce'];
58665
58627
  class FieldFactory {
58666
- /**
58667
- * @constructor
58668
- *
58669
- * @param { import('./FormFieldRegistry').default } formFieldRegistry
58670
- * @param { import('@bpmn-io/form-js-viewer').FormFields } formFields
58628
+ /**
58629
+ * @constructor
58630
+ *
58631
+ * @param { import('./FormFieldRegistry').default } formFieldRegistry
58632
+ * @param { import('@bpmn-io/form-js-viewer').FormFields } formFields
58671
58633
  */
58672
58634
  constructor(formFieldRegistry, formFields) {
58673
58635
  this._formFieldRegistry = formFieldRegistry;
@@ -58729,11 +58691,11 @@
58729
58691
  }
58730
58692
  FieldFactory.$inject = ['formFieldRegistry', 'formFields'];
58731
58693
  class FormFieldRegistry extends FormFieldRegistry$1 {
58732
- /**
58733
- * Updates a form fields id.
58734
- *
58735
- * @param {Object} formField
58736
- * @param {string} newId
58694
+ /**
58695
+ * Updates a form fields id.
58696
+ *
58697
+ * @param {Object} formField
58698
+ * @param {string} newId
58737
58699
  */
58738
58700
  updateId(formField, newId) {
58739
58701
  this._validateId(newId);
@@ -58754,13 +58716,13 @@
58754
58716
  }
58755
58717
  }
58756
58718
 
58757
- /**
58758
- * Validate the suitability of the given id and signals a problem
58759
- * with an exception.
58760
- *
58761
- * @param {string} id
58762
- *
58763
- * @throws {Error} if id is empty or already assigned
58719
+ /**
58720
+ * Validate the suitability of the given id and signals a problem
58721
+ * with an exception.
58722
+ *
58723
+ * @param {string} id
58724
+ *
58725
+ * @throws {Error} if id is empty or already assigned
58764
58726
  */
58765
58727
  _validateId(id) {
58766
58728
  if (!id) {
@@ -58776,11 +58738,11 @@
58776
58738
  const MIN_COLUMNS = 2;
58777
58739
  const MAX_FIELDS_PER_ROW = 4;
58778
58740
  class FormLayoutValidator {
58779
- /**
58780
- * @constructor
58781
- *
58782
- * @param { import('./FormLayouter').default } formLayouter
58783
- * @param { import('./FormFieldRegistry').default } formFieldRegistry
58741
+ /**
58742
+ * @constructor
58743
+ *
58744
+ * @param { import('./FormLayouter').default } formLayouter
58745
+ * @param { import('./FormFieldRegistry').default } formFieldRegistry
58784
58746
  */
58785
58747
  constructor(formLayouter, formFieldRegistry) {
58786
58748
  this._formLayouter = formLayouter;
@@ -58839,11 +58801,11 @@
58839
58801
  return MAX_COLUMNS_PER_ROW - autoCols * 2;
58840
58802
  }
58841
58803
  class Importer {
58842
- /**
58843
- * @constructor
58844
- * @param { import('../core/FormFieldRegistry').default } formFieldRegistry
58845
- * @param { import('../core/FieldFactory').default } fieldFactory
58846
- * @param { import('../core/FormLayouter').default } formLayouter
58804
+ /**
58805
+ * @constructor
58806
+ * @param { import('../core/FormFieldRegistry').default } formFieldRegistry
58807
+ * @param { import('../core/FieldFactory').default } fieldFactory
58808
+ * @param { import('../core/FormLayouter').default } formLayouter
58847
58809
  */
58848
58810
  constructor(formFieldRegistry, fieldFactory, formLayouter) {
58849
58811
  this._formFieldRegistry = formFieldRegistry;
@@ -58851,21 +58813,21 @@
58851
58813
  this._formLayouter = formLayouter;
58852
58814
  }
58853
58815
 
58854
- /**
58855
- * Import schema creating rows, fields, attaching additional
58856
- * information to each field and adding fields to the
58857
- * field registry.
58858
- *
58859
- * Additional information attached:
58860
- *
58861
- * * `id` (unless present)
58862
- * * `_parent`
58863
- * * `_path`
58864
- *
58865
- * @param {any} schema
58866
- *
58867
- * @typedef {{ warnings: Error[], schema: any }} ImportResult
58868
- * @returns {ImportResult}
58816
+ /**
58817
+ * Import schema creating rows, fields, attaching additional
58818
+ * information to each field and adding fields to the
58819
+ * field registry.
58820
+ *
58821
+ * Additional information attached:
58822
+ *
58823
+ * * `id` (unless present)
58824
+ * * `_parent`
58825
+ * * `_path`
58826
+ *
58827
+ * @param {any} schema
58828
+ *
58829
+ * @typedef {{ warnings: Error[], schema: any }} ImportResult
58830
+ * @returns {ImportResult}
58869
58831
  */
58870
58832
  importSchema(schema) {
58871
58833
  // TODO: Add warnings
@@ -58883,12 +58845,12 @@
58883
58845
  }
58884
58846
  }
58885
58847
 
58886
- /**
58887
- * @param {{[x: string]: any}} fieldAttrs
58888
- * @param {String} [parentId]
58889
- * @param {number} [index]
58890
- *
58891
- * @return {any} field
58848
+ /**
58849
+ * @param {{[x: string]: any}} fieldAttrs
58850
+ * @param {String} [parentId]
58851
+ * @param {number} [index]
58852
+ *
58853
+ * @return {any} field
58892
58854
  */
58893
58855
  importFormField(fieldAttrs, parentId, index) {
58894
58856
  const {
@@ -58925,11 +58887,11 @@
58925
58887
  return field;
58926
58888
  }
58927
58889
 
58928
- /**
58929
- * @param {Array<any>} components
58930
- * @param {string} parentId
58931
- *
58932
- * @return {Array<any>} imported components
58890
+ /**
58891
+ * @param {Array<any>} components
58892
+ * @param {string} parentId
58893
+ *
58894
+ * @return {Array<any>} imported components
58933
58895
  */
58934
58896
  importFormFields(components, parentId) {
58935
58897
  return components.map((component, index) => {
@@ -58952,22 +58914,22 @@
58952
58914
  });
58953
58915
  }
58954
58916
 
58955
- /**
58956
- * Add a dragger that calls back the passed function with
58957
- * { event, delta } on drag.
58958
- *
58959
- * @example
58960
- *
58961
- * function dragMove(event, delta) {
58962
- * // we are dragging (!!)
58963
- * }
58964
- *
58965
- * domElement.addEventListener('dragstart', dragger(dragMove));
58966
- *
58967
- * @param {Function} fn
58968
- * @param {Element} dragPreview
58969
- *
58970
- * @return {Function} drag start callback function
58917
+ /**
58918
+ * Add a dragger that calls back the passed function with
58919
+ * { event, delta } on drag.
58920
+ *
58921
+ * @example
58922
+ *
58923
+ * function dragMove(event, delta) {
58924
+ * // we are dragging (!!)
58925
+ * }
58926
+ *
58927
+ * domElement.addEventListener('dragstart', dragger(dragMove));
58928
+ *
58929
+ * @param {Function} fn
58930
+ * @param {Element} dragPreview
58931
+ *
58932
+ * @return {Function} drag start callback function
58971
58933
  */
58972
58934
  function createDragger(fn, dragPreview) {
58973
58935
  let self;
@@ -59008,12 +58970,12 @@
59008
58970
  return onDragStart;
59009
58971
  }
59010
58972
 
59011
- /**
59012
- * Throttle function call according UI update cycle.
59013
- *
59014
- * @param {Function} fn
59015
- *
59016
- * @return {Function} throttled fn
58973
+ /**
58974
+ * Throttle function call according UI update cycle.
58975
+ *
58976
+ * @param {Function} fn
58977
+ *
58978
+ * @return {Function} throttled fn
59017
58979
  */
59018
58980
  function throttle(fn) {
59019
58981
  let active = false;
@@ -59041,11 +59003,11 @@
59041
59003
  });
59042
59004
  var DragAndDropContext$1 = DragAndDropContext;
59043
59005
 
59044
- /**
59045
- * @param {string} type
59046
- * @param {boolean} [strict]
59047
- *
59048
- * @returns {any}
59006
+ /**
59007
+ * @param {string} type
59008
+ * @param {boolean} [strict]
59009
+ *
59010
+ * @returns {any}
59049
59011
  */
59050
59012
  function getService$1(type, strict) {}
59051
59013
  const FormEditorContext = D$1({
@@ -59055,9 +59017,10 @@
59055
59017
  function useService$1(type, strict) {
59056
59018
  const {
59057
59019
  getService
59058
- } = F$1(FormEditorContext$1);
59020
+ } = F(FormEditorContext$1);
59059
59021
  return getService(type, strict);
59060
59022
  }
59023
+ var _path$3;
59061
59024
  function _extends$3() {
59062
59025
  _extends$3 = Object.assign ? Object.assign.bind() : function (target) {
59063
59026
  for (var i = 1; i < arguments.length; i++) {
@@ -59072,19 +59035,20 @@
59072
59035
  };
59073
59036
  return _extends$3.apply(this, arguments);
59074
59037
  }
59075
- var CloseIcon = ({
59076
- styles = {},
59077
- ...props
59078
- }) => /*#__PURE__*/React.createElement("svg", _extends$3({
59079
- width: "16",
59080
- height: "16",
59081
- fill: "currentColor",
59082
- xmlns: "http://www.w3.org/2000/svg"
59083
- }, props), /*#__PURE__*/React.createElement("path", {
59084
- fillRule: "evenodd",
59085
- clipRule: "evenodd",
59086
- d: "M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8 12 4.7z"
59087
- }));
59038
+ var SvgClose = function SvgClose(props) {
59039
+ return /*#__PURE__*/v$1("svg", _extends$3({
59040
+ xmlns: "http://www.w3.org/2000/svg",
59041
+ width: 16,
59042
+ height: 16,
59043
+ fill: "currentColor"
59044
+ }, props), _path$3 || (_path$3 = /*#__PURE__*/v$1("path", {
59045
+ fillRule: "evenodd",
59046
+ 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 8 12 4.7Z",
59047
+ clipRule: "evenodd"
59048
+ })));
59049
+ };
59050
+ var CloseIcon = SvgClose;
59051
+ var _path$2, _path2;
59088
59052
  function _extends$2() {
59089
59053
  _extends$2 = Object.assign ? Object.assign.bind() : function (target) {
59090
59054
  for (var i = 1; i < arguments.length; i++) {
@@ -59099,36 +59063,38 @@
59099
59063
  };
59100
59064
  return _extends$2.apply(this, arguments);
59101
59065
  }
59102
- var DeleteIcon$1 = ({
59103
- styles = {},
59104
- ...props
59105
- }) => /*#__PURE__*/React.createElement("svg", _extends$2({
59106
- xmlns: "http://www.w3.org/2000/svg",
59107
- width: "16",
59108
- height: "16",
59109
- fill: "none"
59110
- }, props), /*#__PURE__*/React.createElement("rect", {
59111
- width: "16",
59112
- height: "16",
59113
- x: ".536",
59114
- fill: "#fff",
59115
- rx: "3",
59116
- style: {
59117
- mixBlendMode: "multiply"
59118
- }
59119
- }), /*#__PURE__*/React.createElement("path", {
59120
- fill: "#fff",
59121
- d: "M.536 0h16v16h-16z",
59122
- style: {
59123
- mixBlendMode: "multiply"
59124
- }
59125
- }), /*#__PURE__*/React.createElement("path", {
59126
- fill: "currentcolor",
59127
- d: "M7.536 6h-1v6h1V6zm3 0h-1v6h1V6z"
59128
- }), /*#__PURE__*/React.createElement("path", {
59129
- fill: "currentcolor",
59130
- d: "M2.536 3v1h1v10a1 1 0 001 1h8a1 1 0 001-1V4h1V3h-12zm2 11V4h8v10h-8zm6-13h-4v1h4V1z"
59131
- }));
59066
+ var SvgDelete = function SvgDelete(props) {
59067
+ return /*#__PURE__*/v$1("svg", _extends$2({
59068
+ xmlns: "http://www.w3.org/2000/svg",
59069
+ width: 16,
59070
+ height: 16,
59071
+ fill: "none"
59072
+ }, props), /*#__PURE__*/v$1("rect", {
59073
+ width: 16,
59074
+ height: 16,
59075
+ x: 0.536,
59076
+ fill: "#fff",
59077
+ rx: 3,
59078
+ style: {
59079
+ mixBlendMode: "multiply"
59080
+ }
59081
+ }), /*#__PURE__*/v$1("path", {
59082
+ fill: "#fff",
59083
+ d: "M0 0h16v16H0z",
59084
+ style: {
59085
+ mixBlendMode: "multiply"
59086
+ },
59087
+ transform: "translate(.536)"
59088
+ }), _path$2 || (_path$2 = /*#__PURE__*/v$1("path", {
59089
+ fill: "currentcolor",
59090
+ d: "M7.536 6h-1v6h1V6Zm3 0h-1v6h1V6Z"
59091
+ })), _path2 || (_path2 = /*#__PURE__*/v$1("path", {
59092
+ fill: "currentcolor",
59093
+ d: "M2.536 3v1h1v10a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4h1V3h-12Zm2 11V4h8v10h-8Zm6-13h-4v1h4V1Z"
59094
+ })));
59095
+ };
59096
+ var DeleteIcon$1 = SvgDelete;
59097
+ var _path$1;
59132
59098
  function _extends$1() {
59133
59099
  _extends$1 = Object.assign ? Object.assign.bind() : function (target) {
59134
59100
  for (var i = 1; i < arguments.length; i++) {
@@ -59143,21 +59109,25 @@
59143
59109
  };
59144
59110
  return _extends$1.apply(this, arguments);
59145
59111
  }
59146
- var DraggableIcon = ({
59147
- styles = {},
59148
- ...props
59149
- }) => /*#__PURE__*/React.createElement("svg", _extends$1({
59150
- xmlns: "http://www.w3.org/2000/svg",
59151
- width: "16",
59152
- height: "16",
59153
- fill: "currentcolor",
59154
- viewBox: "0 0 32 32"
59155
- }, props), /*#__PURE__*/React.createElement("path", {
59156
- d: "M10 6h4v4h-4zm8 0h4v4h-4zm-8 8h4v4h-4zm8 0h4v4h-4zm-8 8h4v4h-4zm8 0h4v4h-4z"
59157
- }), /*#__PURE__*/React.createElement("path", {
59158
- d: "M0 0h32v32H0z",
59159
- fill: "none"
59160
- }));
59112
+ var SvgDraggable = function SvgDraggable(props) {
59113
+ return /*#__PURE__*/v$1("svg", _extends$1({
59114
+ xmlns: "http://www.w3.org/2000/svg",
59115
+ xmlSpace: "preserve",
59116
+ width: 16,
59117
+ height: 16,
59118
+ fill: "currentcolor",
59119
+ viewBox: "0 0 32 32"
59120
+ }, props), _path$1 || (_path$1 = /*#__PURE__*/v$1("path", {
59121
+ d: "M10 6h4v4h-4zm8 0h4v4h-4zm-8 8h4v4h-4zm8 0h4v4h-4zm-8 8h4v4h-4zm8 0h4v4h-4z"
59122
+ })), /*#__PURE__*/v$1("path", {
59123
+ d: "M0 0h32v32H0z",
59124
+ style: {
59125
+ fill: "none"
59126
+ }
59127
+ }));
59128
+ };
59129
+ var DraggableIcon = SvgDraggable;
59130
+ var _path;
59161
59131
  function _extends() {
59162
59132
  _extends = Object.assign ? Object.assign.bind() : function (target) {
59163
59133
  for (var i = 1; i < arguments.length; i++) {
@@ -59172,18 +59142,18 @@
59172
59142
  };
59173
59143
  return _extends.apply(this, arguments);
59174
59144
  }
59175
- var SearchIcon = ({
59176
- styles = {},
59177
- ...props
59178
- }) => /*#__PURE__*/React.createElement("svg", _extends({
59179
- width: "15",
59180
- height: "15",
59181
- fill: "none",
59182
- xmlns: "http://www.w3.org/2000/svg"
59183
- }, props), /*#__PURE__*/React.createElement("path", {
59184
- d: "M14.5 13.793l-3.776-3.776a5.508 5.508 0 10-.707.707l3.776 3.776.707-.707zM2 6.5a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0z",
59185
- fill: "currentColor"
59186
- }));
59145
+ var SvgSearch = function SvgSearch(props) {
59146
+ return /*#__PURE__*/v$1("svg", _extends({
59147
+ xmlns: "http://www.w3.org/2000/svg",
59148
+ width: 15,
59149
+ height: 15,
59150
+ fill: "none"
59151
+ }, props), _path || (_path = /*#__PURE__*/v$1("path", {
59152
+ fill: "currentColor",
59153
+ d: "m14.5 13.793-3.776-3.776a5.508 5.508 0 1 0-.707.707l3.776 3.776.707-.707ZM2 6.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z"
59154
+ })));
59155
+ };
59156
+ var SearchIcon = SvgSearch;
59187
59157
  function EditorText(props) {
59188
59158
  const {
59189
59159
  type,
@@ -59332,7 +59302,7 @@
59332
59302
  var FillContext$1 = FillContext;
59333
59303
  var Fill = props => {
59334
59304
  const uid = s$1(Symbol('fill_uid'));
59335
- const fillContext = F$1(FillContext$1);
59305
+ const fillContext = F(FillContext$1);
59336
59306
  y(() => {
59337
59307
  if (!fillContext) {
59338
59308
  return;
@@ -59361,7 +59331,7 @@
59361
59331
  } = props;
59362
59332
  const {
59363
59333
  fills
59364
- } = F$1(SlotContext$1);
59334
+ } = F(SlotContext$1);
59365
59335
  const filtered = d(() => fills.filter(fill => fill.slot === name), [fills, name]);
59366
59336
  const cropped = d(() => limit ? filtered.slice(0, limit) : filtered, [filtered, limit]);
59367
59337
  const groups = d(() => groupFn(cropped), [cropped, groupFn]);
@@ -59371,23 +59341,23 @@
59371
59341
  return fillsAndSeparators;
59372
59342
  };
59373
59343
 
59374
- /**
59375
- * Creates a Fragment for a fill.
59376
- *
59377
- * @param {Object} fill Fill to be rendered
59378
- * @returns {Object} Preact Fragment containing fill's children
59344
+ /**
59345
+ * Creates a Fragment for a fill.
59346
+ *
59347
+ * @param {Object} fill Fill to be rendered
59348
+ * @returns {Object} Preact Fragment containing fill's children
59379
59349
  */
59380
59350
  const FillFragment = fill => e$1(d$1, {
59381
59351
  children: fill.children
59382
59352
  }, fill.id);
59383
59353
 
59384
- /**
59385
- * Creates an array of fills, with separators inserted between groups.
59386
- *
59387
- * @param {Array} groups Groups of fills
59388
- * @param {Function} fillRenderer Function to create a fill
59389
- * @param {Function} separatorRenderer Function to create a separator
59390
- * @returns {Array} Array of fills and separators
59354
+ /**
59355
+ * Creates an array of fills, with separators inserted between groups.
59356
+ *
59357
+ * @param {Array} groups Groups of fills
59358
+ * @param {Function} fillRenderer Function to create a fill
59359
+ * @param {Function} separatorRenderer Function to create a separator
59360
+ * @returns {Array} Array of fills and separators
59391
59361
  */
59392
59362
  const buildFills = (groups, fillRenderer, separatorRenderer) => {
59393
59363
  const result = [];
@@ -59405,8 +59375,8 @@
59405
59375
  return result;
59406
59376
  };
59407
59377
 
59408
- /**
59409
- * Groups fills by group name property.
59378
+ /**
59379
+ * Groups fills by group name property.
59410
59380
  */
59411
59381
  const _groupByGroupName = fills => {
59412
59382
  const groups = [];
@@ -59426,8 +59396,8 @@
59426
59396
  return Object.keys(groupsById).sort().map(id => groupsById[id]);
59427
59397
  };
59428
59398
 
59429
- /**
59430
- * Compares fills by priority.
59399
+ /**
59400
+ * Compares fills by priority.
59431
59401
  */
59432
59402
  const _comparePriority = (a, b) => {
59433
59403
  return (b.priority || 0) - (a.priority || 0);
@@ -59650,19 +59620,19 @@
59650
59620
  const DRAG_NO_MOVE_CLS = 'fjs-no-move';
59651
59621
  const ERROR_DROP_CLS = 'fjs-error-drop';
59652
59622
 
59653
- /**
59654
- * @typedef { { id: String, components: Array<any> } } FormRow
59623
+ /**
59624
+ * @typedef { { id: String, components: Array<any> } } FormRow
59655
59625
  */
59656
59626
 
59657
59627
  class Dragging {
59658
- /**
59659
- * @constructor
59660
- *
59661
- * @param { import('../../core/FormFieldRegistry').default } formFieldRegistry
59662
- * @param { import('../../core/FormLayouter').default } formLayouter
59663
- * @param { import('../../core/FormLayoutValidator').default } formLayoutValidator
59664
- * @param { import('../../core/EventBus').default } eventBus
59665
- * @param { import('../modeling/Modeling').default } modeling
59628
+ /**
59629
+ * @constructor
59630
+ *
59631
+ * @param { import('../../core/FormFieldRegistry').default } formFieldRegistry
59632
+ * @param { import('../../core/FormLayouter').default } formLayouter
59633
+ * @param { import('../../core/FormLayoutValidator').default } formLayoutValidator
59634
+ * @param { import('../../core/EventBus').default } eventBus
59635
+ * @param { import('../modeling/Modeling').default } modeling
59666
59636
  */
59667
59637
  constructor(formFieldRegistry, formLayouter, formLayoutValidator, eventBus, modeling) {
59668
59638
  this._formFieldRegistry = formFieldRegistry;
@@ -59672,13 +59642,13 @@
59672
59642
  this._modeling = modeling;
59673
59643
  }
59674
59644
 
59675
- /**
59676
- * Calculcates position in form schema given the dropped place.
59677
- *
59678
- * @param { FormRow } targetRow
59679
- * @param { any } targetFormField
59680
- * @param { HTMLElement } sibling
59681
- * @returns { number }
59645
+ /**
59646
+ * Calculcates position in form schema given the dropped place.
59647
+ *
59648
+ * @param { FormRow } targetRow
59649
+ * @param { any } targetFormField
59650
+ * @param { HTMLElement } sibling
59651
+ * @returns { number }
59682
59652
  */
59683
59653
  getTargetIndex(targetRow, targetFormField, sibling) {
59684
59654
  /** @type HTMLElement */
@@ -59780,8 +59750,8 @@
59780
59750
  }
59781
59751
  }
59782
59752
 
59783
- /**
59784
- * @param { { container: Array<string>, direction: string, mirrorContainer: string } } options
59753
+ /**
59754
+ * @param { { container: Array<string>, direction: string, mirrorContainer: string } } options
59785
59755
  */
59786
59756
  createDragulaInstance(options) {
59787
59757
  const {
@@ -60175,7 +60145,7 @@
60175
60145
  return null;
60176
60146
  }
60177
60147
  return e$1("div", {
60178
- style: "width: fit-content;\r padding: 2px 6px;\r height: 16px;\r background: var(--color-blue-205-100-95);\r display: flex;\r justify-content: center;\r align-items: center;\r position: absolute;\r bottom: -2px;\r z-index: 2;\r font-size: 10px;\r right: 3px;",
60148
+ style: "width: fit-content; padding: 2px 6px; height: 16px; background: var(--color-blue-205-100-95); display: flex; justify-content: center; align-items: center; position: absolute; bottom: -2px; z-index: 2; font-size: 10px; right: 3px;",
60179
60149
  class: "fjs-debug-columns",
60180
60150
  children: (field.layout || {}).columns || 'auto'
60181
60151
  });
@@ -60406,7 +60376,7 @@
60406
60376
  function CreatePreview(props) {
60407
60377
  const {
60408
60378
  drake
60409
- } = F$1(DragAndDropContext$1);
60379
+ } = F(DragAndDropContext$1);
60410
60380
  function handleCloned(clone, original, type) {
60411
60381
  const fieldType = clone.dataset.fieldType;
60412
60382
 
@@ -61222,10 +61192,10 @@
61222
61192
  return formField;
61223
61193
  }
61224
61194
  class AddFormFieldHandler {
61225
- /**
61226
- * @constructor
61227
- * @param { import('../../../FormEditor').default } formEditor
61228
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61195
+ /**
61196
+ * @constructor
61197
+ * @param { import('../../../FormEditor').default } formEditor
61198
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61229
61199
  */
61230
61200
  constructor(formEditor, formFieldRegistry) {
61231
61201
  this._formEditor = formEditor;
@@ -61285,10 +61255,10 @@
61285
61255
  }
61286
61256
  AddFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61287
61257
  class EditFormFieldHandler {
61288
- /**
61289
- * @constructor
61290
- * @param { import('../../../FormEditor').default } formEditor
61291
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61258
+ /**
61259
+ * @constructor
61260
+ * @param { import('../../../FormEditor').default } formEditor
61261
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61292
61262
  */
61293
61263
  constructor(formEditor, formFieldRegistry) {
61294
61264
  this._formEditor = formEditor;
@@ -61350,10 +61320,10 @@
61350
61320
  }
61351
61321
  EditFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61352
61322
  class MoveFormFieldHandler {
61353
- /**
61354
- * @constructor
61355
- * @param { import('../../../FormEditor').default } formEditor
61356
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61323
+ /**
61324
+ * @constructor
61325
+ * @param { import('../../../FormEditor').default } formEditor
61326
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61357
61327
  */
61358
61328
  constructor(formEditor, formFieldRegistry) {
61359
61329
  this._formEditor = formEditor;
@@ -61441,10 +61411,10 @@
61441
61411
  }
61442
61412
  MoveFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61443
61413
  class RemoveFormFieldHandler {
61444
- /**
61445
- * @constructor
61446
- * @param { import('../../../FormEditor').default } formEditor
61447
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61414
+ /**
61415
+ * @constructor
61416
+ * @param { import('../../../FormEditor').default } formEditor
61417
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61448
61418
  */
61449
61419
  constructor(formEditor, formFieldRegistry) {
61450
61420
  this._formEditor = formEditor;
@@ -61503,9 +61473,9 @@
61503
61473
  }
61504
61474
  RemoveFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61505
61475
  class UpdateIdClaimHandler {
61506
- /**
61507
- * @constructor
61508
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61476
+ /**
61477
+ * @constructor
61478
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61509
61479
  */
61510
61480
  constructor(formFieldRegistry) {
61511
61481
  this._formFieldRegistry = formFieldRegistry;
@@ -61537,9 +61507,9 @@
61537
61507
  }
61538
61508
  UpdateIdClaimHandler.$inject = ['formFieldRegistry'];
61539
61509
  class UpdateKeyClaimHandler {
61540
- /**
61541
- * @constructor
61542
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61510
+ /**
61511
+ * @constructor
61512
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61543
61513
  */
61544
61514
  constructor(formFieldRegistry) {
61545
61515
  this._formFieldRegistry = formFieldRegistry;
@@ -62000,8 +61970,8 @@
62000
61970
  constructor(eventBus) {
62001
61971
  super(eventBus);
62002
61972
 
62003
- /**
62004
- * Remove custom validation if <validationType> is about to be added.
61973
+ /**
61974
+ * Remove custom validation if <validationType> is about to be added.
62005
61975
  */
62006
61976
  // @ts-ignore-next-line
62007
61977
  this.preExecute('formField.edit', function (context) {
@@ -62576,22 +62546,22 @@
62576
62546
  selectionBehavior: ['type', SelectionBehavior]
62577
62547
  };
62578
62548
 
62579
- /**
62580
- * Base class for sectionable UI modules.
62581
- *
62582
- * @property {EventBus} _eventBus - EventBus instance used for event handling.
62583
- * @property {string} managerType - Type of the render manager. Used to form event names.
62584
- *
62585
- * @class SectionModuleBase
62549
+ /**
62550
+ * Base class for sectionable UI modules.
62551
+ *
62552
+ * @property {EventBus} _eventBus - EventBus instance used for event handling.
62553
+ * @property {string} managerType - Type of the render manager. Used to form event names.
62554
+ *
62555
+ * @class SectionModuleBase
62586
62556
  */
62587
62557
  class SectionModuleBase {
62588
- /**
62589
- * Create a SectionModuleBase instance.
62590
- *
62591
- * @param {any} eventBus - The EventBus instance used for event handling.
62592
- * @param {string} sectionKey - The type of render manager. Used to form event names.
62593
- *
62594
- * @constructor
62558
+ /**
62559
+ * Create a SectionModuleBase instance.
62560
+ *
62561
+ * @param {any} eventBus - The EventBus instance used for event handling.
62562
+ * @param {string} sectionKey - The type of render manager. Used to form event names.
62563
+ *
62564
+ * @constructor
62595
62565
  */
62596
62566
  constructor(eventBus, sectionKey) {
62597
62567
  this._eventBus = eventBus;
@@ -62604,10 +62574,10 @@
62604
62574
  });
62605
62575
  }
62606
62576
 
62607
- /**
62608
- * Attach the managed section to a parent node.
62609
- *
62610
- * @param {HTMLElement} container - The parent node to attach to.
62577
+ /**
62578
+ * Attach the managed section to a parent node.
62579
+ *
62580
+ * @param {HTMLElement} container - The parent node to attach to.
62611
62581
  */
62612
62582
  attachTo(container) {
62613
62583
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.attach`, {
@@ -62615,22 +62585,22 @@
62615
62585
  }));
62616
62586
  }
62617
62587
 
62618
- /**
62619
- * Detach the managed section from its parent node.
62588
+ /**
62589
+ * Detach the managed section from its parent node.
62620
62590
  */
62621
62591
  detach() {
62622
62592
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.detach`));
62623
62593
  }
62624
62594
 
62625
- /**
62626
- * Reset the managed section to its initial state.
62595
+ /**
62596
+ * Reset the managed section to its initial state.
62627
62597
  */
62628
62598
  reset() {
62629
62599
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.reset`));
62630
62600
  }
62631
62601
 
62632
- /**
62633
- * Circumvents timing issues.
62602
+ /**
62603
+ * Circumvents timing issues.
62634
62604
  */
62635
62605
  _onceSectionRendered(callback) {
62636
62606
  if (this.isSectionRendered) {
@@ -62821,13 +62791,13 @@
62821
62791
  function useDescriptionContext(id, element) {
62822
62792
  const {
62823
62793
  getDescriptionForId
62824
- } = F$1(DescriptionContext);
62794
+ } = F(DescriptionContext);
62825
62795
  return getDescriptionForId(id, element);
62826
62796
  }
62827
62797
  function useError(id) {
62828
62798
  const {
62829
62799
  errors
62830
- } = F$1(ErrorsContext);
62800
+ } = F(ErrorsContext);
62831
62801
  return errors[id];
62832
62802
  }
62833
62803
 
@@ -62838,7 +62808,7 @@
62838
62808
  * @param {Function} callback
62839
62809
  */
62840
62810
  function useEvent(event, callback, eventBus) {
62841
- const eventContext = F$1(EventContext);
62811
+ const eventContext = F(EventContext);
62842
62812
  if (!eventBus) {
62843
62813
  ({
62844
62814
  eventBus
@@ -62884,7 +62854,7 @@
62884
62854
  const {
62885
62855
  getLayoutForKey,
62886
62856
  setLayoutForKey
62887
- } = F$1(LayoutContext);
62857
+ } = F(LayoutContext);
62888
62858
  const layoutForKey = getLayoutForKey(path, defaultValue);
62889
62859
  const setState = A$1(newValue => {
62890
62860
  setLayoutForKey(path, newValue);
@@ -62917,7 +62887,7 @@
62917
62887
  function useShowEntryEvent(id) {
62918
62888
  const {
62919
62889
  onShow
62920
- } = F$1(LayoutContext);
62890
+ } = F(LayoutContext);
62921
62891
  const ref = s$1();
62922
62892
  const focus = s$1(false);
62923
62893
  const onShowEntry = A$1(event => {
@@ -63064,7 +63034,7 @@
63064
63034
  // set css class when group is sticky to top
63065
63035
  useStickyIntersectionObserver(groupRef, 'div.bio-properties-panel-scroll-container', setSticky);
63066
63036
  const propertiesPanelContext = {
63067
- ...F$1(LayoutContext),
63037
+ ...F(LayoutContext),
63068
63038
  onShow
63069
63039
  };
63070
63040
  return e$1("div", {
@@ -63376,9 +63346,9 @@
63376
63346
  const toggleOpen = () => setOpen(!open);
63377
63347
  const {
63378
63348
  onShow
63379
- } = F$1(LayoutContext);
63349
+ } = F(LayoutContext);
63380
63350
  const propertiesPanelContext = {
63381
- ...F$1(LayoutContext),
63351
+ ...F(LayoutContext),
63382
63352
  onShow: A$1(() => {
63383
63353
  setOpen(true);
63384
63354
  if (isFunction(onShow)) {
@@ -63567,7 +63537,7 @@
63567
63537
  const toggleOpen = () => setOpen(!open);
63568
63538
  const hasItems = !!items.length;
63569
63539
  const propertiesPanelContext = {
63570
- ...F$1(LayoutContext),
63540
+ ...F(LayoutContext),
63571
63541
  onShow
63572
63542
  };
63573
63543
  const handleAddClick = e => {
@@ -64110,6 +64080,165 @@
64110
64080
  function prefixId$6(id) {
64111
64081
  return `bio-properties-panel-${id}`;
64112
64082
  }
64083
+ function NumberField(props) {
64084
+ const {
64085
+ debounce,
64086
+ disabled,
64087
+ displayLabel = true,
64088
+ id,
64089
+ inputRef,
64090
+ label,
64091
+ max,
64092
+ min,
64093
+ onInput,
64094
+ step,
64095
+ value = '',
64096
+ onFocus,
64097
+ onBlur
64098
+ } = props;
64099
+ const [localValue, setLocalValue] = l$2(value);
64100
+ const handleInputCallback = d(() => {
64101
+ return debounce(event => {
64102
+ const {
64103
+ validity,
64104
+ value
64105
+ } = event.target;
64106
+ if (validity.valid) {
64107
+ onInput(value ? parseFloat(value) : undefined);
64108
+ }
64109
+ });
64110
+ }, [onInput, debounce]);
64111
+ const handleInput = e => {
64112
+ handleInputCallback(e);
64113
+ setLocalValue(e.target.value);
64114
+ };
64115
+ y(() => {
64116
+ if (value === localValue) {
64117
+ return;
64118
+ }
64119
+ setLocalValue(value);
64120
+ }, [value]);
64121
+ return e$1("div", {
64122
+ class: "bio-properties-panel-numberfield",
64123
+ children: [displayLabel && e$1("label", {
64124
+ for: prefixId$5(id),
64125
+ class: "bio-properties-panel-label",
64126
+ children: label
64127
+ }), e$1("input", {
64128
+ id: prefixId$5(id),
64129
+ ref: inputRef,
64130
+ type: "number",
64131
+ name: id,
64132
+ spellCheck: "false",
64133
+ autoComplete: "off",
64134
+ disabled: disabled,
64135
+ class: "bio-properties-panel-input",
64136
+ max: max,
64137
+ min: min,
64138
+ onInput: handleInput,
64139
+ onFocus: onFocus,
64140
+ onBlur: onBlur,
64141
+ step: step,
64142
+ value: localValue
64143
+ })]
64144
+ });
64145
+ }
64146
+
64147
+ /**
64148
+ * @param {Object} props
64149
+ * @param {Boolean} props.debounce
64150
+ * @param {String} props.description
64151
+ * @param {Boolean} props.disabled
64152
+ * @param {Object} props.element
64153
+ * @param {Function} props.getValue
64154
+ * @param {String} props.id
64155
+ * @param {String} props.label
64156
+ * @param {String} props.max
64157
+ * @param {String} props.min
64158
+ * @param {Function} props.setValue
64159
+ * @param {Function} props.onFocus
64160
+ * @param {Function} props.onBlur
64161
+ * @param {String} props.step
64162
+ * @param {Function} props.validate
64163
+ */
64164
+ function NumberFieldEntry(props) {
64165
+ const {
64166
+ debounce,
64167
+ description,
64168
+ disabled,
64169
+ element,
64170
+ getValue,
64171
+ id,
64172
+ label,
64173
+ max,
64174
+ min,
64175
+ setValue,
64176
+ step,
64177
+ onFocus,
64178
+ onBlur,
64179
+ validate
64180
+ } = props;
64181
+ const [cachedInvalidValue, setCachedInvalidValue] = l$2(null);
64182
+ const globalError = useError(id);
64183
+ const [localError, setLocalError] = l$2(null);
64184
+ let value = getValue(element);
64185
+ const previousValue = usePrevious(value);
64186
+ y(() => {
64187
+ if (isFunction(validate)) {
64188
+ const newValidationError = validate(value) || null;
64189
+ setLocalError(newValidationError);
64190
+ }
64191
+ }, [value]);
64192
+ const onInput = newValue => {
64193
+ let newValidationError = null;
64194
+ if (isFunction(validate)) {
64195
+ newValidationError = validate(newValue) || null;
64196
+ }
64197
+ if (newValidationError) {
64198
+ setCachedInvalidValue(newValue);
64199
+ } else {
64200
+ setValue(newValue);
64201
+ }
64202
+ setLocalError(newValidationError);
64203
+ };
64204
+ if (previousValue === value && localError) {
64205
+ value = cachedInvalidValue;
64206
+ }
64207
+ const error = globalError || localError;
64208
+ return e$1("div", {
64209
+ class: classNames('bio-properties-panel-entry', error ? 'has-error' : ''),
64210
+ "data-entry-id": id,
64211
+ children: [e$1(NumberField, {
64212
+ debounce: debounce,
64213
+ disabled: disabled,
64214
+ id: id,
64215
+ label: label,
64216
+ onFocus: onFocus,
64217
+ onBlur: onBlur,
64218
+ onInput: onInput,
64219
+ max: max,
64220
+ min: min,
64221
+ step: step,
64222
+ value: value
64223
+ }, element), error && e$1("div", {
64224
+ class: "bio-properties-panel-error",
64225
+ children: error
64226
+ }), e$1(Description$1, {
64227
+ forId: id,
64228
+ element: element,
64229
+ value: description
64230
+ })]
64231
+ });
64232
+ }
64233
+ function isEdited$6(node) {
64234
+ return node && !!node.value;
64235
+ }
64236
+
64237
+ // helpers /////////////////
64238
+
64239
+ function prefixId$5(id) {
64240
+ return `bio-properties-panel-${id}`;
64241
+ }
64113
64242
  const noop$1 = () => {};
64114
64243
  function FeelTextfield(props) {
64115
64244
  const {
@@ -64236,7 +64365,7 @@
64236
64365
  'feel-active': feelActive
64237
64366
  }),
64238
64367
  children: [e$1("label", {
64239
- for: prefixId$5(id),
64368
+ for: prefixId$4(id),
64240
64369
  class: "bio-properties-panel-label",
64241
64370
  onClick: () => setFocus(),
64242
64371
  children: [label, e$1(FeelIcon, {
@@ -64253,7 +64382,7 @@
64253
64382
  disabled: feel !== 'optional' || disabled,
64254
64383
  onClick: handleFeelToggle
64255
64384
  }), feelActive ? e$1(CodeEditor, {
64256
- id: prefixId$5(id),
64385
+ id: prefixId$4(id),
64257
64386
  name: id,
64258
64387
  onInput: handleLocalInput,
64259
64388
  disabled: disabled,
@@ -64270,7 +64399,7 @@
64270
64399
  ...props,
64271
64400
  onInput: handleLocalInput,
64272
64401
  contentAttributes: {
64273
- 'id': prefixId$5(id),
64402
+ 'id': prefixId$4(id),
64274
64403
  'aria-label': label
64275
64404
  },
64276
64405
  value: localValue,
@@ -64308,7 +64437,7 @@
64308
64437
  }
64309
64438
  };
64310
64439
  return e$1("input", {
64311
- id: prefixId$5(id),
64440
+ id: prefixId$4(id),
64312
64441
  type: "text",
64313
64442
  ref: inputRef,
64314
64443
  name: id,
@@ -64322,6 +64451,53 @@
64322
64451
  value: value || ''
64323
64452
  });
64324
64453
  });
64454
+ const OptionalFeelNumberField = x((props, ref) => {
64455
+ const {
64456
+ id,
64457
+ debounce,
64458
+ disabled,
64459
+ onInput,
64460
+ value,
64461
+ min,
64462
+ max,
64463
+ step,
64464
+ onFocus,
64465
+ onBlur
64466
+ } = props;
64467
+ const inputRef = s$1();
64468
+
64469
+ // To be consistent with the FEEL editor, set focus at start of input
64470
+ // this ensures clean editing experience when switching with the keyboard
64471
+ ref.current = {
64472
+ focus: position => {
64473
+ const input = inputRef.current;
64474
+ if (!input) {
64475
+ return;
64476
+ }
64477
+ input.focus();
64478
+ if (typeof position === 'number' && position !== Infinity) {
64479
+ if (position > value.length) {
64480
+ position = value.length;
64481
+ }
64482
+ input.setSelectionRange(position, position);
64483
+ }
64484
+ }
64485
+ };
64486
+ return e$1(NumberField, {
64487
+ id: id,
64488
+ debounce: debounce,
64489
+ disabled: disabled,
64490
+ displayLabel: false,
64491
+ inputRef: inputRef,
64492
+ max: max,
64493
+ min: min,
64494
+ onInput: onInput,
64495
+ step: step,
64496
+ value: value,
64497
+ onFocus: onFocus,
64498
+ onBlur: onBlur
64499
+ });
64500
+ });
64325
64501
  x((props, ref) => {
64326
64502
  const {
64327
64503
  id,
@@ -64346,7 +64522,7 @@
64346
64522
  }
64347
64523
  };
64348
64524
  return e$1("textarea", {
64349
- id: prefixId$5(id),
64525
+ id: prefixId$4(id),
64350
64526
  type: "text",
64351
64527
  ref: inputRef,
64352
64528
  name: id,
@@ -64422,7 +64598,7 @@
64422
64598
  };
64423
64599
  return e$1("input", {
64424
64600
  ref: inputRef,
64425
- id: prefixId$5(id),
64601
+ id: prefixId$4(id),
64426
64602
  name: id,
64427
64603
  onFocus: onFocus,
64428
64604
  onBlur: onBlur,
@@ -64511,11 +64687,13 @@
64511
64687
  return e$1("div", {
64512
64688
  class: classNames(props.class, 'bio-properties-panel-entry', error ? 'has-error' : ''),
64513
64689
  "data-entry-id": id,
64514
- children: [e$1(FeelTextfield, {
64690
+ children: [v$1(FeelTextfield, {
64691
+ ...props,
64515
64692
  debounce: debounce,
64516
64693
  disabled: disabled,
64517
64694
  feel: feel,
64518
64695
  id: id,
64696
+ key: element,
64519
64697
  label: label,
64520
64698
  onInput: onInput,
64521
64699
  onError: onError,
@@ -64529,7 +64707,7 @@
64529
64707
  variables: variables,
64530
64708
  tooltipContainer: tooltipContainer,
64531
64709
  OptionalComponent: props.OptionalComponent
64532
- }, element), error && e$1("div", {
64710
+ }), error && e$1("div", {
64533
64711
  class: "bio-properties-panel-error",
64534
64712
  children: error
64535
64713
  }), e$1(Description$1, {
@@ -64540,6 +64718,36 @@
64540
64718
  });
64541
64719
  }
64542
64720
 
64721
+ /**
64722
+ * @param {Object} props
64723
+ * @param {Object} props.element
64724
+ * @param {String} props.id
64725
+ * @param {String} props.description
64726
+ * @param {Boolean} props.debounce
64727
+ * @param {Boolean} props.disabled
64728
+ * @param {String} props.max
64729
+ * @param {String} props.min
64730
+ * @param {String} props.step
64731
+ * @param {Boolean} props.feel
64732
+ * @param {String} props.label
64733
+ * @param {Function} props.getValue
64734
+ * @param {Function} props.setValue
64735
+ * @param {Function} props.tooltipContainer
64736
+ * @param {Function} props.validate
64737
+ * @param {Function} props.show
64738
+ * @param {Function} props.example
64739
+ * @param {Function} props.variables
64740
+ * @param {Function} props.onFocus
64741
+ * @param {Function} props.onBlur
64742
+ */
64743
+ function FeelNumberEntry(props) {
64744
+ return e$1(FeelEntry, {
64745
+ class: "bio-properties-panel-feel-number",
64746
+ OptionalComponent: OptionalFeelNumberField,
64747
+ ...props
64748
+ });
64749
+ }
64750
+
64543
64751
  /**
64544
64752
  * @param {Object} props
64545
64753
  * @param {Object} props.element
@@ -64595,7 +64803,7 @@
64595
64803
  ...props
64596
64804
  });
64597
64805
  }
64598
- function isEdited$6(node) {
64806
+ function isEdited$5(node) {
64599
64807
  if (!node) {
64600
64808
  return false;
64601
64809
  }
@@ -64607,162 +64815,6 @@
64607
64815
 
64608
64816
  // helpers /////////////////
64609
64817
 
64610
- function prefixId$5(id) {
64611
- return `bio-properties-panel-${id}`;
64612
- }
64613
- function NumberField(props) {
64614
- const {
64615
- debounce,
64616
- disabled,
64617
- id,
64618
- label,
64619
- max,
64620
- min,
64621
- onInput,
64622
- step,
64623
- value = '',
64624
- onFocus,
64625
- onBlur
64626
- } = props;
64627
- const [localValue, setLocalValue] = l$2(value);
64628
- const handleInputCallback = d(() => {
64629
- return debounce(event => {
64630
- const {
64631
- validity,
64632
- value
64633
- } = event.target;
64634
- if (validity.valid) {
64635
- onInput(value ? parseFloat(value) : undefined);
64636
- }
64637
- });
64638
- }, [onInput, debounce]);
64639
- const handleInput = e => {
64640
- handleInputCallback(e);
64641
- setLocalValue(e.target.value);
64642
- };
64643
- y(() => {
64644
- if (value === localValue) {
64645
- return;
64646
- }
64647
- setLocalValue(value);
64648
- }, [value]);
64649
- return e$1("div", {
64650
- class: "bio-properties-panel-numberfield",
64651
- children: [e$1("label", {
64652
- for: prefixId$4(id),
64653
- class: "bio-properties-panel-label",
64654
- children: label
64655
- }), e$1("input", {
64656
- id: prefixId$4(id),
64657
- type: "number",
64658
- name: id,
64659
- spellCheck: "false",
64660
- autoComplete: "off",
64661
- disabled: disabled,
64662
- class: "bio-properties-panel-input",
64663
- max: max,
64664
- min: min,
64665
- onInput: handleInput,
64666
- onFocus: onFocus,
64667
- onBlur: onBlur,
64668
- step: step,
64669
- value: localValue
64670
- })]
64671
- });
64672
- }
64673
-
64674
- /**
64675
- * @param {Object} props
64676
- * @param {Boolean} props.debounce
64677
- * @param {String} props.description
64678
- * @param {Boolean} props.disabled
64679
- * @param {Object} props.element
64680
- * @param {Function} props.getValue
64681
- * @param {String} props.id
64682
- * @param {String} props.label
64683
- * @param {String} props.max
64684
- * @param {String} props.min
64685
- * @param {Function} props.setValue
64686
- * @param {Function} props.onFocus
64687
- * @param {Function} props.onBlur
64688
- * @param {String} props.step
64689
- * @param {Function} props.validate
64690
- */
64691
- function NumberFieldEntry(props) {
64692
- const {
64693
- debounce,
64694
- description,
64695
- disabled,
64696
- element,
64697
- getValue,
64698
- id,
64699
- label,
64700
- max,
64701
- min,
64702
- setValue,
64703
- step,
64704
- onFocus,
64705
- onBlur,
64706
- validate
64707
- } = props;
64708
- const [cachedInvalidValue, setCachedInvalidValue] = l$2(null);
64709
- const globalError = useError(id);
64710
- const [localError, setLocalError] = l$2(null);
64711
- let value = getValue(element);
64712
- const previousValue = usePrevious(value);
64713
- y(() => {
64714
- if (isFunction(validate)) {
64715
- const newValidationError = validate(value) || null;
64716
- setLocalError(newValidationError);
64717
- }
64718
- }, [value]);
64719
- const onInput = newValue => {
64720
- let newValidationError = null;
64721
- if (isFunction(validate)) {
64722
- newValidationError = validate(newValue) || null;
64723
- }
64724
- if (newValidationError) {
64725
- setCachedInvalidValue(newValue);
64726
- } else {
64727
- setValue(newValue);
64728
- }
64729
- setLocalError(newValidationError);
64730
- };
64731
- if (previousValue === value && localError) {
64732
- value = cachedInvalidValue;
64733
- }
64734
- const error = globalError || localError;
64735
- return e$1("div", {
64736
- class: classNames('bio-properties-panel-entry', error ? 'has-error' : ''),
64737
- "data-entry-id": id,
64738
- children: [e$1(NumberField, {
64739
- debounce: debounce,
64740
- disabled: disabled,
64741
- id: id,
64742
- label: label,
64743
- onFocus: onFocus,
64744
- onBlur: onBlur,
64745
- onInput: onInput,
64746
- max: max,
64747
- min: min,
64748
- step: step,
64749
- value: value
64750
- }, element), error && e$1("div", {
64751
- class: "bio-properties-panel-error",
64752
- children: error
64753
- }), e$1(Description$1, {
64754
- forId: id,
64755
- element: element,
64756
- value: description
64757
- })]
64758
- });
64759
- }
64760
- function isEdited$4(node) {
64761
- return node && !!node.value;
64762
- }
64763
-
64764
- // helpers /////////////////
64765
-
64766
64818
  function prefixId$4(id) {
64767
64819
  return `bio-properties-panel-${id}`;
64768
64820
  }
@@ -65215,11 +65267,11 @@
65215
65267
  return `bio-properties-panel-${id}`;
65216
65268
  }
65217
65269
 
65218
- /**
65219
- * @param {string} type
65220
- * @param {boolean} [strict]
65221
- *
65222
- * @returns {any}
65270
+ /**
65271
+ * @param {string} type
65272
+ * @param {boolean} [strict]
65273
+ *
65274
+ * @returns {any}
65223
65275
  */
65224
65276
  function getService(type, strict) {}
65225
65277
  const PropertiesPanelContext = D$1({
@@ -65306,8 +65358,8 @@
65306
65358
  }
65307
65359
  };
65308
65360
 
65309
- /**
65310
- * Provide placeholders for empty and multiple state.
65361
+ /**
65362
+ * Provide placeholders for empty and multiple state.
65311
65363
  */
65312
65364
  const PropertiesPanelPlaceholderProvider = {
65313
65365
  getEmpty: () => {
@@ -65373,14 +65425,14 @@
65373
65425
  function useService(type, strict) {
65374
65426
  const {
65375
65427
  getService
65376
- } = F$1(FormPropertiesPanelContext);
65428
+ } = F(FormPropertiesPanelContext);
65377
65429
  return getService(type, strict);
65378
65430
  }
65379
65431
 
65380
- /**
65381
- * Retrieve list of variables from the form schema.
65382
- *
65383
- * @returns { string[] } list of variables used in form schema
65432
+ /**
65433
+ * Retrieve list of variables from the form schema.
65434
+ *
65435
+ * @returns { string[] } list of variables used in form schema
65384
65436
  */
65385
65437
  function useVariables() {
65386
65438
  const form = useService('formEditor');
@@ -65402,7 +65454,7 @@
65402
65454
  component: AltText,
65403
65455
  editField: editField,
65404
65456
  field: field,
65405
- isEdited: isEdited$6
65457
+ isEdited: isEdited$5
65406
65458
  });
65407
65459
  }
65408
65460
  return entries;
@@ -65424,7 +65476,7 @@
65424
65476
  const setValue = value => {
65425
65477
  return editField(field, path, value);
65426
65478
  };
65427
- return FeelEntry({
65479
+ return FeelTemplatingEntry({
65428
65480
  debounce,
65429
65481
  element: field,
65430
65482
  feel: 'optional',
@@ -65432,6 +65484,7 @@
65432
65484
  id,
65433
65485
  label: 'Alternative text',
65434
65486
  setValue,
65487
+ singleLine: true,
65435
65488
  variables
65436
65489
  });
65437
65490
  }
@@ -65518,7 +65571,7 @@
65518
65571
  component: Description,
65519
65572
  editField: editField,
65520
65573
  field: field,
65521
- isEdited: isEdited$6
65574
+ isEdited: isEdited$5
65522
65575
  });
65523
65576
  }
65524
65577
  return entries;
@@ -65979,7 +66032,7 @@
65979
66032
  component: DateLabel,
65980
66033
  editField,
65981
66034
  field,
65982
- isEdited: isEdited$6
66035
+ isEdited: isEdited$5
65983
66036
  });
65984
66037
  }
65985
66038
  if (subtype === DATETIME_SUBTYPES.TIME || subtype === DATETIME_SUBTYPES.DATETIME) {
@@ -65988,7 +66041,7 @@
65988
66041
  component: TimeLabel,
65989
66042
  editField,
65990
66043
  field,
65991
- isEdited: isEdited$6
66044
+ isEdited: isEdited$5
65992
66045
  });
65993
66046
  }
65994
66047
  } else if (INPUTS.includes(type) || type === 'button') {
@@ -65997,7 +66050,7 @@
65997
66050
  component: Label$1,
65998
66051
  editField,
65999
66052
  field,
66000
- isEdited: isEdited$6
66053
+ isEdited: isEdited$5
66001
66054
  });
66002
66055
  }
66003
66056
  return entries;
@@ -66101,7 +66154,7 @@
66101
66154
  component: Source,
66102
66155
  editField: editField,
66103
66156
  field: field,
66104
- isEdited: isEdited$6
66157
+ isEdited: isEdited$5
66105
66158
  });
66106
66159
  }
66107
66160
  return entries;
@@ -66123,7 +66176,7 @@
66123
66176
  const setValue = value => {
66124
66177
  return editField(field, path, value);
66125
66178
  };
66126
- return FeelEntry({
66179
+ return FeelTemplatingEntry({
66127
66180
  debounce,
66128
66181
  description: 'Expression or static value (link/data URI)',
66129
66182
  element: field,
@@ -66132,6 +66185,7 @@
66132
66185
  id,
66133
66186
  label: 'Image source',
66134
66187
  setValue,
66188
+ singleLine: true,
66135
66189
  variables
66136
66190
  });
66137
66191
  }
@@ -66155,7 +66209,7 @@
66155
66209
  component: Text,
66156
66210
  editField: editField,
66157
66211
  field: field,
66158
- isEdited: isEdited$6
66212
+ isEdited: isEdited$5
66159
66213
  }];
66160
66214
 
66161
66215
  // todo: skipped to make the release without too much risk
@@ -66223,7 +66277,7 @@
66223
66277
  entries.push({
66224
66278
  id: id + '-decimalDigits',
66225
66279
  component: NumberDecimalDigits,
66226
- isEdited: isEdited$4,
66280
+ isEdited: isEdited$6,
66227
66281
  editField,
66228
66282
  field
66229
66283
  });
@@ -66811,14 +66865,14 @@
66811
66865
 
66812
66866
  // helpers //////////
66813
66867
 
66814
- /**
66815
- * Returns copy of object with updated value.
66816
- *
66817
- * @param {Object} properties
66818
- * @param {string} key
66819
- * @param {string} value
66820
- *
66821
- * @returns {Object}
66868
+ /**
66869
+ * Returns copy of object with updated value.
66870
+ *
66871
+ * @param {Object} properties
66872
+ * @param {string} key
66873
+ * @param {string} value
66874
+ *
66875
+ * @returns {Object}
66822
66876
  */
66823
66877
  function updateValue(properties, key, value) {
66824
66878
  return {
@@ -66827,14 +66881,14 @@
66827
66881
  };
66828
66882
  }
66829
66883
 
66830
- /**
66831
- * Returns copy of object with updated key.
66832
- *
66833
- * @param {Object} properties
66834
- * @param {string} oldKey
66835
- * @param {string} newKey
66836
- *
66837
- * @returns {Object}
66884
+ /**
66885
+ * Returns copy of object with updated key.
66886
+ *
66887
+ * @param {Object} properties
66888
+ * @param {string} oldKey
66889
+ * @param {string} newKey
66890
+ *
66891
+ * @returns {Object}
66838
66892
  */
66839
66893
  function updateKey(properties, oldKey, newKey) {
66840
66894
  return Object.entries(properties).reduce((newProperties, entry) => {
@@ -66845,6 +66899,33 @@
66845
66899
  };
66846
66900
  }, {});
66847
66901
  }
66902
+ function AutoFocusSelectEntry(props) {
66903
+ const {
66904
+ autoFocusEntry,
66905
+ element,
66906
+ getValue
66907
+ } = props;
66908
+ const value = getValue(element);
66909
+ const prevValue = usePrevious(value);
66910
+ const eventBus = useService('eventBus');
66911
+
66912
+ // auto focus specifc other entry when selected value changed
66913
+ y(() => {
66914
+ if (autoFocusEntry && prevValue && value !== prevValue) {
66915
+ // @Note(pinussilvestrus): There is an issue in the properties
66916
+ // panel so we have to wait a bit before showing the entry.
66917
+ // Cf. https://github.com/camunda/linting/blob/4f5328e2722f73ae60ae584c5f576eaec3999cb2/lib/modeler/Linting.js#L37
66918
+ setTimeout(() => {
66919
+ eventBus.fire('propertiesPanel.showEntry', {
66920
+ id: autoFocusEntry
66921
+ });
66922
+ });
66923
+ }
66924
+ }, [value, autoFocusEntry, prevValue, eventBus]);
66925
+ return e$1(SelectEntry, {
66926
+ ...props
66927
+ });
66928
+ }
66848
66929
  function ValuesSourceSelectEntry(props) {
66849
66930
  const {
66850
66931
  editField,
@@ -66883,7 +66964,8 @@
66883
66964
  value: valueSource
66884
66965
  }));
66885
66966
  };
66886
- return SelectEntry({
66967
+ return AutoFocusSelectEntry({
66968
+ autoFocusEntry: getAutoFocusEntryId(field),
66887
66969
  label: 'Type',
66888
66970
  element: field,
66889
66971
  getOptions: getValuesSourceOptions,
@@ -66892,6 +66974,20 @@
66892
66974
  setValue
66893
66975
  });
66894
66976
  }
66977
+
66978
+ // helpers //////////
66979
+
66980
+ function getAutoFocusEntryId(field) {
66981
+ const valuesSource = getValuesSource(field);
66982
+ if (valuesSource === VALUES_SOURCES.EXPRESSION) {
66983
+ return `${field.id}-valuesExpression-expression`;
66984
+ } else if (valuesSource === VALUES_SOURCES.INPUT) {
66985
+ return `${field.id}-dynamicValues-key`;
66986
+ } else if (valuesSource === VALUES_SOURCES.STATIC) {
66987
+ return `${field.id}-staticValues-0-label`;
66988
+ }
66989
+ return null;
66990
+ }
66895
66991
  function InputKeyValuesSourceEntry(props) {
66896
66992
  const {
66897
66993
  editField,
@@ -67046,7 +67142,7 @@
67046
67142
  entries.push({
67047
67143
  id: 'prefix-adorner',
67048
67144
  component: PrefixAdorner,
67049
- isEdited: isEdited,
67145
+ isEdited: isEdited$5,
67050
67146
  editField,
67051
67147
  field,
67052
67148
  onChange,
@@ -67055,7 +67151,7 @@
67055
67151
  entries.push({
67056
67152
  id: 'suffix-adorner',
67057
67153
  component: SuffixAdorner,
67058
- isEdited: isEdited,
67154
+ isEdited: isEdited$5,
67059
67155
  editField,
67060
67156
  field,
67061
67157
  onChange,
@@ -67072,13 +67168,19 @@
67072
67168
  getValue
67073
67169
  } = props;
67074
67170
  const debounce = useService('debounce');
67075
- return TextfieldEntry({
67171
+ const variables = useVariables().map(name => ({
67172
+ name
67173
+ }));
67174
+ return FeelTemplatingEntry({
67076
67175
  debounce,
67077
67176
  element: field,
67177
+ feel: 'optional',
67078
67178
  getValue: getValue('prefixAdorner'),
67079
67179
  id,
67080
67180
  label: 'Prefix',
67081
- setValue: onChange('prefixAdorner')
67181
+ setValue: onChange('prefixAdorner'),
67182
+ singleLine: true,
67183
+ variables
67082
67184
  });
67083
67185
  }
67084
67186
  function SuffixAdorner(props) {
@@ -67089,13 +67191,18 @@
67089
67191
  getValue
67090
67192
  } = props;
67091
67193
  const debounce = useService('debounce');
67092
- return TextfieldEntry({
67194
+ const variables = useVariables().map(name => ({
67195
+ name
67196
+ }));
67197
+ return FeelTemplatingEntry({
67093
67198
  debounce,
67094
67199
  element: field,
67095
67200
  getValue: getValue('suffixAdorner'),
67096
67201
  id,
67097
67202
  label: 'Suffix',
67098
- setValue: onChange('suffixAdorner')
67203
+ setValue: onChange('suffixAdorner'),
67204
+ singleLine: true,
67205
+ variables
67099
67206
  });
67100
67207
  }
67101
67208
  function ReadonlyEntry(props) {
@@ -67113,7 +67220,7 @@
67113
67220
  component: Readonly,
67114
67221
  editField: editField,
67115
67222
  field: field,
67116
- isEdited: isEdited$6
67223
+ isEdited: isEdited$5
67117
67224
  });
67118
67225
  }
67119
67226
  return entries;
@@ -67156,7 +67263,7 @@
67156
67263
  component: Condition,
67157
67264
  editField: editField,
67158
67265
  field: field,
67159
- isEdited: isEdited$6
67266
+ isEdited: isEdited$5
67160
67267
  }];
67161
67268
  }
67162
67269
  function Condition(props) {
@@ -67193,6 +67300,54 @@
67193
67300
  variables
67194
67301
  });
67195
67302
  }
67303
+ function ValuesExpressionEntry(props) {
67304
+ const {
67305
+ editField,
67306
+ field,
67307
+ id
67308
+ } = props;
67309
+ return [{
67310
+ id: id + '-expression',
67311
+ component: ValuesExpression,
67312
+ label: 'Values expression',
67313
+ isEdited: isEdited$5,
67314
+ editField,
67315
+ field
67316
+ }];
67317
+ }
67318
+ function ValuesExpression(props) {
67319
+ const {
67320
+ editField,
67321
+ field,
67322
+ id
67323
+ } = props;
67324
+ const debounce = useService('debounce');
67325
+ const variables = useVariables().map(name => ({
67326
+ name
67327
+ }));
67328
+ const path = VALUES_SOURCES_PATHS[VALUES_SOURCES.EXPRESSION];
67329
+ const schema = '[\n {\n "label": "dollar",\n "value": "$"\n }\n]';
67330
+ const description = e$1("div", {
67331
+ children: ["Define an expression to populate the options from.", e$1("br", {}), e$1("br", {}), "The expression may result in an array of simple values or alternatively follow this schema:", e$1("pre", {
67332
+ children: e$1("code", {
67333
+ children: schema
67334
+ })
67335
+ })]
67336
+ });
67337
+ const getValue = () => get(field, path, '');
67338
+ const setValue = value => editField(field, path, value || '');
67339
+ return FeelEntry({
67340
+ debounce,
67341
+ description,
67342
+ element: field,
67343
+ feel: 'required',
67344
+ getValue,
67345
+ id,
67346
+ label: 'Options expression',
67347
+ setValue,
67348
+ variables
67349
+ });
67350
+ }
67196
67351
  function GeneralGroup(field, editField, getService) {
67197
67352
  const entries = [...IdEntry({
67198
67353
  field,
@@ -67334,14 +67489,14 @@
67334
67489
  component: MinLength,
67335
67490
  getValue,
67336
67491
  field,
67337
- isEdited: isEdited$4,
67492
+ isEdited: isEdited$5,
67338
67493
  onChange
67339
67494
  }, {
67340
67495
  id: 'maxLength',
67341
67496
  component: MaxLength,
67342
67497
  getValue,
67343
67498
  field,
67344
- isEdited: isEdited$4,
67499
+ isEdited: isEdited$5,
67345
67500
  onChange
67346
67501
  });
67347
67502
  }
@@ -67361,14 +67516,14 @@
67361
67516
  component: Min,
67362
67517
  getValue,
67363
67518
  field,
67364
- isEdited: isEdited$4,
67519
+ isEdited: isEdited$5,
67365
67520
  onChange
67366
67521
  }, {
67367
67522
  id: 'max',
67368
67523
  component: Max,
67369
67524
  getValue,
67370
67525
  field,
67371
- isEdited: isEdited$4,
67526
+ isEdited: isEdited$5,
67372
67527
  onChange
67373
67528
  });
67374
67529
  }
@@ -67401,14 +67556,19 @@
67401
67556
  onChange
67402
67557
  } = props;
67403
67558
  const debounce = useService('debounce');
67404
- return NumberFieldEntry({
67559
+ const variables = useVariables().map(name => ({
67560
+ name
67561
+ }));
67562
+ return FeelNumberEntry({
67405
67563
  debounce,
67406
67564
  element: field,
67565
+ feel: 'optional',
67407
67566
  getValue: getValue('minLength'),
67408
67567
  id,
67409
67568
  label: 'Minimum length',
67410
67569
  min: 0,
67411
- setValue: onChange('minLength')
67570
+ setValue: onChange('minLength'),
67571
+ variables
67412
67572
  });
67413
67573
  }
67414
67574
  function MaxLength(props) {
@@ -67419,14 +67579,19 @@
67419
67579
  onChange
67420
67580
  } = props;
67421
67581
  const debounce = useService('debounce');
67422
- return NumberFieldEntry({
67582
+ const variables = useVariables().map(name => ({
67583
+ name
67584
+ }));
67585
+ return FeelNumberEntry({
67423
67586
  debounce,
67424
67587
  element: field,
67588
+ feel: 'optional',
67425
67589
  getValue: getValue('maxLength'),
67426
67590
  id,
67427
67591
  label: 'Maximum length',
67428
67592
  min: 0,
67429
- setValue: onChange('maxLength')
67593
+ setValue: onChange('maxLength'),
67594
+ variables
67430
67595
  });
67431
67596
  }
67432
67597
  function Pattern(props) {
@@ -67454,14 +67619,19 @@
67454
67619
  onChange
67455
67620
  } = props;
67456
67621
  const debounce = useService('debounce');
67457
- return NumberFieldEntry({
67622
+ const variables = useVariables().map(name => ({
67623
+ name
67624
+ }));
67625
+ return FeelNumberEntry({
67458
67626
  debounce,
67459
67627
  element: field,
67628
+ feel: 'optional',
67460
67629
  id,
67461
67630
  label: 'Minimum',
67462
67631
  step: 'any',
67463
67632
  getValue: getValue('min'),
67464
- setValue: onChange('min')
67633
+ setValue: onChange('min'),
67634
+ variables
67465
67635
  });
67466
67636
  }
67467
67637
  function Max(props) {
@@ -67472,14 +67642,19 @@
67472
67642
  onChange
67473
67643
  } = props;
67474
67644
  const debounce = useService('debounce');
67475
- return NumberFieldEntry({
67645
+ const variables = useVariables().map(name => ({
67646
+ name
67647
+ }));
67648
+ return FeelNumberEntry({
67476
67649
  debounce,
67477
67650
  element: field,
67651
+ feel: 'optional',
67478
67652
  id,
67479
67653
  label: 'Maximum',
67480
67654
  step: 'any',
67481
67655
  getValue: getValue('max'),
67482
- setValue: onChange('max')
67656
+ setValue: onChange('max'),
67657
+ variables
67483
67658
  });
67484
67659
  }
67485
67660
  function ValidationType(props) {
@@ -67517,8 +67692,8 @@
67517
67692
  };
67518
67693
  const valuesSourceId = `${fieldId}-valuesSource`;
67519
67694
 
67520
- /**
67521
- * @type {Array<Group|ListGroup>}
67695
+ /**
67696
+ * @type {Array<Group|ListGroup>}
67522
67697
  */
67523
67698
  const groups = [{
67524
67699
  id: valuesSourceId,
@@ -67552,6 +67727,17 @@
67552
67727
  id: staticValuesId
67553
67728
  })
67554
67729
  });
67730
+ } else if (valuesSource === VALUES_SOURCES.EXPRESSION) {
67731
+ const valuesExpressionId = `${fieldId}-valuesExpression`;
67732
+ groups.push({
67733
+ id: valuesExpressionId,
67734
+ label: 'Options expression',
67735
+ component: Group,
67736
+ entries: ValuesExpressionEntry({
67737
+ ...context,
67738
+ id: valuesExpressionId
67739
+ })
67740
+ });
67555
67741
  }
67556
67742
  return groups;
67557
67743
  }
@@ -67619,13 +67805,13 @@
67619
67805
 
67620
67806
  // helpers //////////
67621
67807
 
67622
- /**
67623
- * Returns copy of object without key.
67624
- *
67625
- * @param {Object} properties
67626
- * @param {string} oldKey
67627
- *
67628
- * @returns {Object}
67808
+ /**
67809
+ * Returns copy of object without key.
67810
+ *
67811
+ * @param {Object} properties
67812
+ * @param {string} oldKey
67813
+ *
67814
+ * @returns {Object}
67629
67815
  */
67630
67816
  function removeKey(properties, oldKey) {
67631
67817
  return Object.entries(properties).reduce((newProperties, entry) => {
@@ -67724,9 +67910,9 @@
67724
67910
  });
67725
67911
  }, [eventBus, formEditor, selectionModule]);
67726
67912
  h(() => {
67727
- /**
67728
- * TODO(pinussilvestrus): update with actual updated element,
67729
- * once we have a proper updater/change support
67913
+ /**
67914
+ * TODO(pinussilvestrus): update with actual updated element,
67915
+ * once we have a proper updater/change support
67730
67916
  */
67731
67917
  eventBus.on('changed', refresh);
67732
67918
  eventBus.on('import.done', refresh);
@@ -67777,10 +67963,10 @@
67777
67963
  });
67778
67964
  }
67779
67965
 
67780
- /**
67781
- * Attach the properties panel to a parent node.
67782
- *
67783
- * @param {HTMLElement} container
67966
+ /**
67967
+ * Attach the properties panel to a parent node.
67968
+ *
67969
+ * @param {HTMLElement} container
67784
67970
  */
67785
67971
  attachTo(container) {
67786
67972
  if (!container) {
@@ -67800,8 +67986,8 @@
67800
67986
  this._eventBus.fire('propertiesPanel.attach');
67801
67987
  }
67802
67988
 
67803
- /**
67804
- * Detach the properties panel from its parent node.
67989
+ /**
67990
+ * Detach the properties panel from its parent node.
67805
67991
  */
67806
67992
  detach() {
67807
67993
  const parentNode = this._container.parentNode;
@@ -67830,10 +68016,10 @@
67830
68016
  propertiesPanel: ['type', PropertiesPanelRenderer]
67831
68017
  };
67832
68018
 
67833
- /**
67834
- * Manages the rendering of visual plugins.
67835
- * @constructor
67836
- * @param {Object} eventBus - Event bus for the application.
68019
+ /**
68020
+ * Manages the rendering of visual plugins.
68021
+ * @constructor
68022
+ * @param {Object} eventBus - Event bus for the application.
67837
68023
  */
67838
68024
  class RenderInjector extends SectionModuleBase {
67839
68025
  constructor(eventBus) {
@@ -67842,10 +68028,10 @@
67842
68028
  this.registeredRenderers = [];
67843
68029
  }
67844
68030
 
67845
- /**
67846
- * Inject a new renderer into the injector.
67847
- * @param {string} identifier - Identifier for the renderer.
67848
- * @param {Function} Renderer - The renderer function.
68031
+ /**
68032
+ * Inject a new renderer into the injector.
68033
+ * @param {string} identifier - Identifier for the renderer.
68034
+ * @param {Function} Renderer - The renderer function.
67849
68035
  */
67850
68036
  attachRenderer(identifier, Renderer) {
67851
68037
  this.registeredRenderers = [...this.registeredRenderers, {
@@ -67854,17 +68040,17 @@
67854
68040
  }];
67855
68041
  }
67856
68042
 
67857
- /**
67858
- * Detach a renderer from the by key injector.
67859
- * @param {string} identifier - Identifier for the renderer.
68043
+ /**
68044
+ * Detach a renderer from the by key injector.
68045
+ * @param {string} identifier - Identifier for the renderer.
67860
68046
  */
67861
68047
  detachRenderer(identifier) {
67862
68048
  this.registeredRenderers = this.registeredRenderers.filter(r => r.identifier !== identifier);
67863
68049
  }
67864
68050
 
67865
- /**
67866
- * Returns the registered renderers.
67867
- * @returns {Array} Array of registered renderers.
68051
+ /**
68052
+ * Returns the registered renderers.
68053
+ * @returns {Array} Array of registered renderers.
67868
68054
  */
67869
68055
  fetchRenderers() {
67870
68056
  return this.registeredRenderers;
@@ -67894,48 +68080,48 @@
67894
68080
  };
67895
68081
  const ids = new Ids([32, 36, 1]);
67896
68082
 
67897
- /**
67898
- * @typedef { import('./types').Injector } Injector
67899
- * @typedef { import('./types').Module } Module
67900
- * @typedef { import('./types').Schema } Schema
67901
- *
67902
- * @typedef { import('./types').FormEditorOptions } FormEditorOptions
67903
- * @typedef { import('./types').FormEditorProperties } FormEditorProperties
67904
- *
67905
- * @typedef { {
67906
- * properties: FormEditorProperties,
67907
- * schema: Schema
67908
- * } } State
67909
- *
67910
- * @typedef { (type:string, priority:number, handler:Function) => void } OnEventWithPriority
67911
- * @typedef { (type:string, handler:Function) => void } OnEventWithOutPriority
67912
- * @typedef { OnEventWithPriority & OnEventWithOutPriority } OnEventType
68083
+ /**
68084
+ * @typedef { import('./types').Injector } Injector
68085
+ * @typedef { import('./types').Module } Module
68086
+ * @typedef { import('./types').Schema } Schema
68087
+ *
68088
+ * @typedef { import('./types').FormEditorOptions } FormEditorOptions
68089
+ * @typedef { import('./types').FormEditorProperties } FormEditorProperties
68090
+ *
68091
+ * @typedef { {
68092
+ * properties: FormEditorProperties,
68093
+ * schema: Schema
68094
+ * } } State
68095
+ *
68096
+ * @typedef { (type:string, priority:number, handler:Function) => void } OnEventWithPriority
68097
+ * @typedef { (type:string, handler:Function) => void } OnEventWithOutPriority
68098
+ * @typedef { OnEventWithPriority & OnEventWithOutPriority } OnEventType
67913
68099
  */
67914
68100
 
67915
- /**
67916
- * The form editor.
68101
+ /**
68102
+ * The form editor.
67917
68103
  */
67918
68104
  class FormEditor {
67919
- /**
67920
- * @constructor
67921
- * @param {FormEditorOptions} options
68105
+ /**
68106
+ * @constructor
68107
+ * @param {FormEditorOptions} options
67922
68108
  */
67923
68109
  constructor(options = {}) {
67924
- /**
67925
- * @public
67926
- * @type {OnEventType}
68110
+ /**
68111
+ * @public
68112
+ * @type {OnEventType}
67927
68113
  */
67928
68114
  this.on = this._onEvent;
67929
68115
 
67930
- /**
67931
- * @public
67932
- * @type {String}
68116
+ /**
68117
+ * @public
68118
+ * @type {String}
67933
68119
  */
67934
68120
  this._id = ids.next();
67935
68121
 
67936
- /**
67937
- * @private
67938
- * @type {Element}
68122
+ /**
68123
+ * @private
68124
+ * @type {Element}
67939
68125
  */
67940
68126
  this._container = createFormContainer();
67941
68127
  this._container.setAttribute('input-handle-modified-keys', 'z,y');
@@ -67946,15 +68132,15 @@
67946
68132
  properties = {}
67947
68133
  } = options;
67948
68134
 
67949
- /**
67950
- * @private
67951
- * @type {any}
68135
+ /**
68136
+ * @private
68137
+ * @type {any}
67952
68138
  */
67953
68139
  this.exporter = exporter;
67954
68140
 
67955
- /**
67956
- * @private
67957
- * @type {State}
68141
+ /**
68142
+ * @private
68143
+ * @type {State}
67958
68144
  */
67959
68145
  this._state = {
67960
68146
  properties,
@@ -67983,10 +68169,10 @@
67983
68169
  this._detach(false);
67984
68170
  }
67985
68171
 
67986
- /**
67987
- * @param {Schema} schema
67988
- *
67989
- * @return {Promise<{ warnings: Array<any> }>}
68172
+ /**
68173
+ * @param {Schema} schema
68174
+ *
68175
+ * @return {Promise<{ warnings: Array<any> }>}
67990
68176
  */
67991
68177
  importSchema(schema) {
67992
68178
  return new Promise((resolve, reject) => {
@@ -68015,15 +68201,15 @@
68015
68201
  });
68016
68202
  }
68017
68203
 
68018
- /**
68019
- * @returns {Schema}
68204
+ /**
68205
+ * @returns {Schema}
68020
68206
  */
68021
68207
  saveSchema() {
68022
68208
  return this.getSchema();
68023
68209
  }
68024
68210
 
68025
- /**
68026
- * @returns {Schema}
68211
+ /**
68212
+ * @returns {Schema}
68027
68213
  */
68028
68214
  getSchema() {
68029
68215
  const {
@@ -68032,8 +68218,8 @@
68032
68218
  return exportSchema(schema, this.exporter, schemaVersion);
68033
68219
  }
68034
68220
 
68035
- /**
68036
- * @param {Element|string} parentNode
68221
+ /**
68222
+ * @param {Element|string} parentNode
68037
68223
  */
68038
68224
  attachTo(parentNode) {
68039
68225
  if (!parentNode) {
@@ -68051,10 +68237,10 @@
68051
68237
  this._detach();
68052
68238
  }
68053
68239
 
68054
- /**
68055
- * @internal
68056
- *
68057
- * @param {boolean} [emit]
68240
+ /**
68241
+ * @internal
68242
+ *
68243
+ * @param {boolean} [emit]
68058
68244
  */
68059
68245
  _detach(emit = true) {
68060
68246
  const container = this._container,
@@ -68068,9 +68254,9 @@
68068
68254
  parentNode.removeChild(container);
68069
68255
  }
68070
68256
 
68071
- /**
68072
- * @param {any} property
68073
- * @param {any} value
68257
+ /**
68258
+ * @param {any} property
68259
+ * @param {any} value
68074
68260
  */
68075
68261
  setProperty(property, value) {
68076
68262
  const properties = set$1(this._getState().properties, [property], value);
@@ -68079,21 +68265,21 @@
68079
68265
  });
68080
68266
  }
68081
68267
 
68082
- /**
68083
- * @param {string} type
68084
- * @param {Function} handler
68268
+ /**
68269
+ * @param {string} type
68270
+ * @param {Function} handler
68085
68271
  */
68086
68272
  off(type, handler) {
68087
68273
  this.get('eventBus').off(type, handler);
68088
68274
  }
68089
68275
 
68090
- /**
68091
- * @internal
68092
- *
68093
- * @param {FormEditorOptions} options
68094
- * @param {Element} container
68095
- *
68096
- * @returns {Injector}
68276
+ /**
68277
+ * @internal
68278
+ *
68279
+ * @param {FormEditorOptions} options
68280
+ * @param {Element} container
68281
+ *
68282
+ * @returns {Injector}
68097
68283
  */
68098
68284
  _createInjector(options, container) {
68099
68285
  const {
@@ -68115,22 +68301,22 @@
68115
68301
  }, core, ...modules, ...additionalModules]);
68116
68302
  }
68117
68303
 
68118
- /**
68119
- * @internal
68304
+ /**
68305
+ * @internal
68120
68306
  */
68121
68307
  _emit(type, data) {
68122
68308
  this.get('eventBus').fire(type, data);
68123
68309
  }
68124
68310
 
68125
- /**
68126
- * @internal
68311
+ /**
68312
+ * @internal
68127
68313
  */
68128
68314
  _getState() {
68129
68315
  return this._state;
68130
68316
  }
68131
68317
 
68132
- /**
68133
- * @internal
68318
+ /**
68319
+ * @internal
68134
68320
  */
68135
68321
  _setState(state) {
68136
68322
  this._state = {
@@ -68140,15 +68326,15 @@
68140
68326
  this._emit('changed', this._getState());
68141
68327
  }
68142
68328
 
68143
- /**
68144
- * @internal
68329
+ /**
68330
+ * @internal
68145
68331
  */
68146
68332
  _getModules() {
68147
68333
  return [ModelingModule, EditorActionsModule, DraggingModule, KeyboardModule, SelectionModule, PaletteModule, ExpressionLanguageModule, MarkdownModule, PropertiesPanelModule, RenderInjectionModule];
68148
68334
  }
68149
68335
 
68150
- /**
68151
- * @internal
68336
+ /**
68337
+ * @internal
68152
68338
  */
68153
68339
  _onEvent(type, priority, handler) {
68154
68340
  this.get('eventBus').on(type, priority, handler);
@@ -69651,8 +69837,8 @@
69651
69837
  return new LanguageSupport(jsonLanguage);
69652
69838
  }
69653
69839
 
69654
- /**
69655
- * @type {Facet<import('..').Variables>} Variables
69840
+ /**
69841
+ * @type {Facet<import('..').Variables>} Variables
69656
69842
  */
69657
69843
  const variablesFacet = Facet.define();
69658
69844
 
@@ -69692,8 +69878,8 @@
69692
69878
  let language = new Compartment().of(json());
69693
69879
  let tabSize = new Compartment().of(EditorState.tabSize.of(2));
69694
69880
 
69695
- /**
69696
- * @typedef {Array<string>} Variables
69881
+ /**
69882
+ * @typedef {Array<string>} Variables
69697
69883
  */
69698
69884
 
69699
69885
  const autocompletionConf = new Compartment();
@@ -69733,8 +69919,8 @@
69733
69919
  return view.state.doc.toString();
69734
69920
  };
69735
69921
 
69736
- /**
69737
- * @param {Variables} variables
69922
+ /**
69923
+ * @param {Variables} variables
69738
69924
  */
69739
69925
  this.setVariables = function (variables) {
69740
69926
  view.setVariables(variables);