@bpmn-io/form-js-playground 1.1.0 → 1.2.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.
@@ -18,7 +18,7 @@
18
18
  for (var u in l) n[u] = l[u];
19
19
  return n;
20
20
  }
21
- function h$1(n) {
21
+ function h$2(n) {
22
22
  var l = n.parentNode;
23
23
  l && l.removeChild(n);
24
24
  }
@@ -52,13 +52,13 @@
52
52
  function d$1(n) {
53
53
  return n.children;
54
54
  }
55
- function _(n, l) {
55
+ function _$1(n, l) {
56
56
  this.props = n, this.context = l;
57
57
  }
58
- function k$1(n, l) {
59
- if (null == l) return n.__ ? k$1(n.__, n.__.__k.indexOf(n) + 1) : null;
58
+ function k$2(n, l) {
59
+ if (null == l) return n.__ ? k$2(n.__, n.__.__k.indexOf(n) + 1) : null;
60
60
  for (var u; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) return u.__e;
61
- return "function" == typeof n.type ? k$1(n) : null;
61
+ return "function" == typeof n.type ? k$2(n) : null;
62
62
  }
63
63
  function b$1(n) {
64
64
  var l, u;
@@ -78,7 +78,7 @@
78
78
  return n.__v.__b - l.__v.__b;
79
79
  }), t$2 = [], n.some(function (n) {
80
80
  var l, u, i, t, o, r;
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)));
81
+ n.__d && (o = (t = (l = n).__v).__e, (r = l.__P) && (u = [], (i = a$2({}, t)).__v = t.__v + 1, j$3(r, t, i, l.__n, void 0 !== r.ownerSVGElement, null != t.__h ? [o] : null, u, null == o ? k$2(t) : o, t.__h), z(u, t), t.__e != o && b$1(t)));
82
82
  });
83
83
  }
84
84
  function w$2(n, l, u, i, t, o, r, f, s, a) {
@@ -101,14 +101,14 @@
101
101
  }
102
102
  p = null;
103
103
  }
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));
104
+ j$3(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$3(_, 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));
105
105
  }
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]));
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$2(i, h + 1)), N$1(w[h], w[h]));
107
107
  if (g) for (h = 0; h < g.length; h++) M$1(g[h], g[++h], g[++h]);
108
108
  }
109
- function x$2(n, l, u) {
109
+ function x$3(n, l, u) {
110
110
  var i, t;
111
- for (i = 0; i < n.__k.length; i++) (t = n.__k[i]) && (t.__ = n, l = "function" == typeof t.type ? x$2(t, l, u) : P$3(u, t, t, n.__k, t.__e, l));
111
+ for (i = 0; i < n.__k.length; i++) (t = n.__k[i]) && (t.__ = n, l = "function" == typeof t.type ? x$3(t, l, u) : P$3(u, t, t, n.__k, t.__e, l));
112
112
  return l;
113
113
  }
114
114
  function A$2(n, l) {
@@ -124,22 +124,22 @@
124
124
  }
125
125
  return void 0 !== r ? r : t.nextSibling;
126
126
  }
127
- function C$2(n, l, u, i, t) {
127
+ function C$3(n, l, u, i, t) {
128
128
  var o;
129
129
  for (o in u) "children" === o || "key" === o || o in l || H$1(n, o, null, u[o], i);
130
130
  for (o in l) t && "function" != typeof l[o] || "children" === o || "key" === o || "value" === o || "checked" === o || u[o] === l[o] || H$1(n, o, l[o], u[o], i);
131
131
  }
132
- function $$1(n, l, u) {
132
+ function $$2(n, l, u) {
133
133
  "-" === l[0] ? n.setProperty(l, u) : n[l] = null == u ? "" : "number" != typeof u || s$2.test(l) ? u : u + "px";
134
134
  }
135
135
  function H$1(n, l, u, i, t) {
136
136
  var o;
137
137
  n: if ("style" === l) {
138
138
  if ("string" == typeof u) n.style.cssText = u;else {
139
- if ("string" == typeof i && (n.style.cssText = i = ""), i) for (l in i) u && l in u || $$1(n.style, l, "");
140
- if (u) for (l in u) i && u[l] === i[l] || $$1(n.style, l, u[l]);
139
+ if ("string" == typeof i && (n.style.cssText = i = ""), i) for (l in i) u && l in u || $$2(n.style, l, "");
140
+ if (u) for (l in u) i && u[l] === i[l] || $$2(n.style, l, u[l]);
141
141
  }
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) {
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$2, o) : n.removeEventListener(l, o ? T$1 : I$2, o);else if ("dangerouslySetInnerHTML" !== l) {
143
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 {
144
144
  n[l] = null == u ? "" : u;
145
145
  break n;
@@ -147,13 +147,13 @@
147
147
  "function" == typeof u || (null != u && (!1 !== u || "a" === l[0] && "r" === l[1]) ? n.setAttribute(l, u) : n.removeAttribute(l));
148
148
  }
149
149
  }
150
- function I$1(n) {
150
+ function I$2(n) {
151
151
  this.l[n.type + !1](l$3.event ? l$3.event(n) : n);
152
152
  }
153
153
  function T$1(n) {
154
154
  this.l[n.type + !0](l$3.event ? l$3.event(n) : n);
155
155
  }
156
- function j$2(n, u, i, t, o, r, f, e, c) {
156
+ function j$3(n, u, i, t, o, r, f, e, c) {
157
157
  var s,
158
158
  h,
159
159
  v,
@@ -170,7 +170,7 @@
170
170
  null != i.__h && (c = i.__h, e = u.__e = i.__e, u.__h = null, r = [e]), (s = l$3.__b) && s(u);
171
171
  try {
172
172
  n: if ("function" == typeof P) {
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 {
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 _$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 {
174
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) {
175
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) {
176
176
  n && (n.__ = u);
@@ -220,7 +220,7 @@
220
220
  if (null != r) for (y = {}, _ = 0; _ < l.attributes.length; _++) y[l.attributes[_].name] = l.attributes[_].value;
221
221
  (v || a) && (v && (a && v.__html == a.__html || v.__html === l.innerHTML) || (l.innerHTML = v && v.__html || ""));
222
222
  }
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[_]);
223
+ if (C$3(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$2(r[_]);
224
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));
225
225
  }
226
226
  return l;
@@ -232,7 +232,7 @@
232
232
  l$3.__e(n, i);
233
233
  }
234
234
  }
235
- function N(n, u, i) {
235
+ function N$1(n, u, i) {
236
236
  var t, o;
237
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)) {
238
238
  if (t.componentWillUnmount) try {
@@ -242,17 +242,17 @@
242
242
  }
243
243
  t.base = t.__P = null;
244
244
  }
245
- if (t = n.__k) for (o = 0; o < t.length; o++) t[o] && N(t[o], u, "function" != typeof n.type);
246
- i || null == n.__e || h$1(n.__e), n.__e = n.__d = void 0;
245
+ if (t = n.__k) for (o = 0; o < t.length; o++) t[o] && N$1(t[o], u, "function" != typeof n.type);
246
+ i || null == n.__e || h$2(n.__e), n.__e = n.__d = void 0;
247
247
  }
248
248
  function O$1(n, l, u) {
249
249
  return this.constructor(n, u);
250
250
  }
251
251
  function S$1(u, i, t) {
252
252
  var o, r, f;
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);
253
+ l$3.__ && l$3.__(u, i), r = (o = "function" == typeof t) ? null : t && t.__k || i.__k, f = [], j$3(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);
254
254
  }
255
- function D$1(n, l) {
255
+ function D$2(n, l) {
256
256
  var u = {
257
257
  __c: l = "__cC" + f$1++,
258
258
  __: n,
@@ -285,12 +285,12 @@
285
285
  }
286
286
  throw n;
287
287
  }
288
- }, u$1 = 0, _.prototype.setState = function (n, l) {
288
+ }, u$1 = 0, _$1.prototype.setState = function (n, l) {
289
289
  var u;
290
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));
291
- }, _.prototype.forceUpdate = function (n) {
291
+ }, _$1.prototype.forceUpdate = function (n) {
292
292
  this.__v && (this.__e = !0, n && this.__h.push(n), m$1(this));
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;
293
+ }, _$1.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;
294
294
 
295
295
  /**
296
296
  * Flatten array, one level deep.
@@ -617,11 +617,11 @@
617
617
  }
618
618
  function y(r, o) {
619
619
  var i = m(t$1++, 3);
620
- !l$3.__s && k(i.__H, o) && (i.__ = r, i.__H = o, u.__H.__h.push(i));
620
+ !l$3.__s && k$1(i.__H, o) && (i.__ = r, i.__H = o, u.__H.__h.push(i));
621
621
  }
622
- function h(r, o) {
622
+ function h$1(r, o) {
623
623
  var i = m(t$1++, 4);
624
- !l$3.__s && k(i.__H, o) && (i.__ = r, i.__H = o, u.__h.push(i));
624
+ !l$3.__s && k$1(i.__H, o) && (i.__ = r, i.__H = o, u.__h.push(i));
625
625
  }
626
626
  function s$1(n) {
627
627
  return o$2 = 5, d(function () {
@@ -632,22 +632,22 @@
632
632
  }
633
633
  function d(n, u) {
634
634
  var r = m(t$1++, 7);
635
- return k(r.__H, u) && (r.__ = n(), r.__H = u, r.__h = n), r.__;
635
+ return k$1(r.__H, u) && (r.__ = n(), r.__H = u, r.__h = n), r.__;
636
636
  }
637
637
  function A$1(n, t) {
638
638
  return o$2 = 8, d(function () {
639
639
  return n;
640
640
  }, t);
641
641
  }
642
- function F(n) {
642
+ function F$1(n) {
643
643
  var r = u.context[n.__c],
644
644
  o = m(t$1++, 9);
645
645
  return o.c = n, r ? (null == o.__ && (o.__ = !0, r.sub(u)), r.props.value) : n.__;
646
646
  }
647
- function x$1() {
647
+ function x$2() {
648
648
  i$2.forEach(function (t) {
649
649
  if (t.__P) try {
650
- t.__H.__h.forEach(g), t.__H.__h.forEach(j$1), t.__H.__h = [];
650
+ t.__H.__h.forEach(g), t.__H.__h.forEach(j$2), t.__H.__h = [];
651
651
  } catch (u) {
652
652
  t.__H.__h = [], l$3.__e(u, t.__v);
653
653
  }
@@ -658,7 +658,7 @@
658
658
  }, l$3.__r = function (n) {
659
659
  f && f(n), t$1 = 0;
660
660
  var r = (u = n.__c).__H;
661
- r && (r.__h.forEach(g), r.__h.forEach(j$1), r.__h = []);
661
+ r && (r.__h.forEach(g), r.__h.forEach(j$2), r.__h = []);
662
662
  }, l$3.diffed = function (t) {
663
663
  e$2 && e$2(t);
664
664
  var o = t.__c;
@@ -669,12 +669,12 @@
669
669
  },
670
670
  r = setTimeout(u, 100);
671
671
  b && (t = requestAnimationFrame(u));
672
- })(x$1)), u = void 0;
672
+ })(x$2)), u = void 0;
673
673
  }, l$3.__c = function (t, u) {
674
674
  u.some(function (t) {
675
675
  try {
676
676
  t.__h.forEach(g), t.__h = t.__h.filter(function (n) {
677
- return !n.__ || j$1(n);
677
+ return !n.__ || j$2(n);
678
678
  });
679
679
  } catch (r) {
680
680
  u.some(function (n) {
@@ -696,11 +696,11 @@
696
696
  var t = u;
697
697
  "function" == typeof n.__c && n.__c(), u = t;
698
698
  }
699
- function j$1(n) {
699
+ function j$2(n) {
700
700
  var t = u;
701
701
  n.__c = n.__(), u = t;
702
702
  }
703
- function k(n, t) {
703
+ function k$1(n, t) {
704
704
  return !n || n.length !== t.length || t.some(function (t, u) {
705
705
  return t !== n[u];
706
706
  });
@@ -14148,7 +14148,7 @@
14148
14148
  * @param { string } code
14149
14149
  * @return { Variables }
14150
14150
  */
14151
- function wrap$3(variables, scopeName, code) {
14151
+ function wrap$2(variables, scopeName, code) {
14152
14152
  const parts = variables.children.filter(c => c.name !== scopeName);
14153
14153
  const children = variables.children.filter(c => c.name === scopeName);
14154
14154
  const namePart = parts[0];
@@ -14234,12 +14234,12 @@
14234
14234
  const parts = variables.children.filter(c => c.name !== 'ContextEntry');
14235
14235
  const name = parts[0];
14236
14236
  const value = last$2(parts);
14237
- return wrap$3(variables, 'ContextEntry', code).assign({
14237
+ return wrap$2(variables, 'ContextEntry', code).assign({
14238
14238
  value: Context.of(variables.value).set(name.computedValue(), value?.computedValue())
14239
14239
  });
14240
14240
  }
14241
14241
  if (term === ForInExpression$2 || term === QuantifiedInExpression$2) {
14242
- return wrap$3(variables, 'InExpression', code);
14242
+ return wrap$2(variables, 'InExpression', code);
14243
14243
  }
14244
14244
 
14245
14245
  // define <partial> within ForExpression body
@@ -19891,8 +19891,8 @@
19891
19891
  return strict === true ? -1 : string.length;
19892
19892
  }
19893
19893
 
19894
- const C$1 = "\u037c";
19895
- const COUNT = typeof Symbol == "undefined" ? "__" + C$1 : Symbol.for(C$1);
19894
+ const C$2 = "\u037c";
19895
+ const COUNT = typeof Symbol == "undefined" ? "__" + C$2 : Symbol.for(C$2);
19896
19896
  const SET = typeof Symbol == "undefined" ? "__styleSet" + Math.floor(Math.random() * 1e8) : Symbol("styleSet");
19897
19897
  const top = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : {};
19898
19898
 
@@ -19953,7 +19953,7 @@
19953
19953
  static newName() {
19954
19954
  let id = top[COUNT] || 1;
19955
19955
  top[COUNT] = id + 1;
19956
- return C$1 + id.toString(36);
19956
+ return C$2 + id.toString(36);
19957
19957
  }
19958
19958
 
19959
19959
  // :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>)
@@ -20787,7 +20787,7 @@
20787
20787
  vendor: "",
20788
20788
  platform: ""
20789
20789
  };
20790
- let doc$2 = typeof document != "undefined" ? document : {
20790
+ let doc = typeof document != "undefined" ? document : {
20791
20791
  documentElement: {
20792
20792
  style: {}
20793
20793
  }
@@ -20798,7 +20798,7 @@
20798
20798
  const ie = !!(ie_upto10 || ie_11up || ie_edge);
20799
20799
  const gecko = !ie && /*@__PURE__*/ /gecko\/(\d+)/i.test(nav.userAgent);
20800
20800
  const chrome = !ie && /*@__PURE__*/ /Chrome\/(\d+)/.exec(nav.userAgent);
20801
- const webkit = ("webkitFontSmoothing" in doc$2.documentElement.style);
20801
+ const webkit = ("webkitFontSmoothing" in doc.documentElement.style);
20802
20802
  const safari = !ie && /*@__PURE__*/ /Apple Computer/.test(nav.vendor);
20803
20803
  const ios = safari && ( /*@__PURE__*/ /Mobile\/\w+/.test(nav.userAgent) || nav.maxTouchPoints > 2);
20804
20804
  var browser = {
@@ -20806,7 +20806,7 @@
20806
20806
  windows: /*@__PURE__*/ /Win/.test(nav.platform),
20807
20807
  linux: /*@__PURE__*/ /Linux|X11/.test(nav.platform),
20808
20808
  ie,
20809
- ie_version: ie_upto10 ? doc$2.documentMode || 6 : ie_11up ? +ie_11up[1] : ie_edge ? +ie_edge[1] : 0,
20809
+ ie_version: ie_upto10 ? doc.documentMode || 6 : ie_11up ? +ie_11up[1] : ie_edge ? +ie_edge[1] : 0,
20810
20810
  gecko,
20811
20811
  gecko_version: gecko ? +( /*@__PURE__*/ /Firefox\/(\d+)/.exec(nav.userAgent) || [0, 0])[1] : 0,
20812
20812
  chrome: !!chrome,
@@ -20816,7 +20816,7 @@
20816
20816
  webkit,
20817
20817
  safari,
20818
20818
  webkit_version: webkit ? +( /*@__PURE__*/ /\bAppleWebKit\/(\d+)/.exec(navigator.userAgent) || [0, 0])[1] : 0,
20819
- tabSize: doc$2.documentElement.style.tabSize != null ? "tab-size" : "-moz-tab-size"
20819
+ tabSize: doc.documentElement.style.tabSize != null ? "tab-size" : "-moz-tab-size"
20820
20820
  };
20821
20821
  const MaxJoinLen = 256;
20822
20822
  class TextView extends ContentView {
@@ -25493,7 +25493,7 @@
25493
25493
  return;
25494
25494
  }
25495
25495
  }
25496
- let gap = find$2(current, gap => gap.from >= line.from && gap.to <= line.to && Math.abs(gap.from - from) < halfMargin && Math.abs(gap.to - to) < halfMargin && !avoid.some(pos => gap.from < pos && gap.to > pos));
25496
+ let gap = find$1(current, gap => gap.from >= line.from && gap.to <= line.to && Math.abs(gap.from - from) < halfMargin && Math.abs(gap.to - to) < halfMargin && !avoid.some(pos => gap.from < pos && gap.to > pos));
25497
25497
  if (!gap) {
25498
25498
  // When scrolling down, snap gap ends to line starts to avoid shifts in wrapping
25499
25499
  if (to < line.to && mayMeasure && wrapping && mayMeasure.visibleRanges.some(r => r.from <= to && r.to >= to)) {
@@ -25658,7 +25658,7 @@
25658
25658
  }
25659
25659
  return counted / structure.total;
25660
25660
  }
25661
- function find$2(array, f) {
25661
+ function find$1(array, f) {
25662
25662
  for (let val of array) if (f(val)) return val;
25663
25663
  return undefined;
25664
25664
  }
@@ -38525,7 +38525,7 @@
38525
38525
  * @param { string } code
38526
38526
  * @return { Variables }
38527
38527
  */
38528
- function wrap$2(variables, scopeName, code) {
38528
+ function wrap$1(variables, scopeName, code) {
38529
38529
  const parts = variables.children.filter(c => c.name !== scopeName);
38530
38530
  const children = variables.children.filter(c => c.name === scopeName);
38531
38531
  const namePart = parts[0];
@@ -38622,7 +38622,7 @@
38622
38622
  const parts = variables.children.filter(c => c.name !== 'ContextEntry');
38623
38623
  const name = parts[0];
38624
38624
  const value = last$1(parts);
38625
- return wrap$2(variables, 'ContextEntry', code).assign({
38625
+ return wrap$1(variables, 'ContextEntry', code).assign({
38626
38626
  value: {
38627
38627
  ...variables.value,
38628
38628
  [name.computedValue()]: value?.computedValue()
@@ -38630,7 +38630,7 @@
38630
38630
  });
38631
38631
  }
38632
38632
  if (term === ForInExpression$1 || term === QuantifiedInExpression$1) {
38633
- return wrap$2(variables, 'InExpression', code);
38633
+ return wrap$1(variables, 'InExpression', code);
38634
38634
  }
38635
38635
 
38636
38636
  // define <partial> within ForExpression body
@@ -39853,7 +39853,7 @@
39853
39853
  for (var e in t) n[e] = t[e];
39854
39854
  return n;
39855
39855
  }
39856
- function C(n, t) {
39856
+ function C$1(n, t) {
39857
39857
  for (var e in n) if ("__source" !== e && !(e in t)) return !0;
39858
39858
  for (var r in t) if ("__source" !== r && n[r] !== t[r]) return !0;
39859
39859
  return !1;
@@ -39861,20 +39861,20 @@
39861
39861
  function E(n) {
39862
39862
  this.props = n;
39863
39863
  }
39864
- (E.prototype = new _()).isPureReactComponent = !0, E.prototype.shouldComponentUpdate = function (n, t) {
39865
- return C(this.props, n) || C(this.state, t);
39864
+ (E.prototype = new _$1()).isPureReactComponent = !0, E.prototype.shouldComponentUpdate = function (n, t) {
39865
+ return C$1(this.props, n) || C$1(this.state, t);
39866
39866
  };
39867
39867
  var w = l$3.__b;
39868
39868
  l$3.__b = function (n) {
39869
39869
  n.type && n.type.__f && n.ref && (n.props.ref = n.ref, n.ref = null), w && w(n);
39870
39870
  };
39871
- var R = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.forward_ref") || 3911;
39872
- function x(n) {
39871
+ var R$1 = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.forward_ref") || 3911;
39872
+ function x$1(n) {
39873
39873
  function t(t, e) {
39874
39874
  var r = S({}, t);
39875
39875
  return delete r.ref, n(r, (e = t.ref || e) && ("object" != typeof e || "current" in e) ? e : null);
39876
39876
  }
39877
- return t.$$typeof = R, t.render = t, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
39877
+ return t.$$typeof = R$1, t.render = t, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
39878
39878
  }
39879
39879
  var A = l$3.__e;
39880
39880
  l$3.__e = function (n, t, e) {
@@ -39895,7 +39895,7 @@
39895
39895
  l$3.unmount = function (n) {
39896
39896
  var t = n.__c;
39897
39897
  t && t.__R && t.__R(), t && !0 === n.__h && (n.type = null), O && O(n);
39898
- }, (L.prototype = new _()).__c = function (n, t) {
39898
+ }, (L.prototype = new _$1()).__c = function (n, t) {
39899
39899
  var e = t.__c,
39900
39900
  r = this;
39901
39901
  null == r.t && (r.t = []), r.t.push(e);
@@ -39952,12 +39952,12 @@
39952
39952
  n.u = e = e[2];
39953
39953
  }
39954
39954
  };
39955
- function D(n) {
39955
+ function D$1(n) {
39956
39956
  return this.getChildContext = function () {
39957
39957
  return n.context;
39958
39958
  }, n.children;
39959
39959
  }
39960
- function I(n) {
39960
+ function I$1(n) {
39961
39961
  var t = this,
39962
39962
  e = n.i;
39963
39963
  t.componentWillUnmount = function () {
@@ -39975,17 +39975,17 @@
39975
39975
  removeChild: function (n) {
39976
39976
  this.childNodes.splice(this.childNodes.indexOf(n) >>> 1, 1), t.i.removeChild(n);
39977
39977
  }
39978
- }), S$1(v$1(D, {
39978
+ }), S$1(v$1(D$1, {
39979
39979
  context: t.context
39980
39980
  }, n.__v), t.l)) : t.l && t.componentWillUnmount();
39981
39981
  }
39982
39982
  function W(n, t) {
39983
- return v$1(I, {
39983
+ return v$1(I$1, {
39984
39984
  __v: n,
39985
39985
  i: t
39986
39986
  });
39987
39987
  }
39988
- (M.prototype = new _()).__e = function (n) {
39988
+ (M.prototype = new _$1()).__e = function (n) {
39989
39989
  var t = this,
39990
39990
  e = U(t.__v),
39991
39991
  r = t.o.get(n);
@@ -40007,13 +40007,13 @@
40007
40007
  T(n, e, t);
40008
40008
  });
40009
40009
  };
40010
- var j = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103,
40010
+ var j$1 = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103,
40011
40011
  P$1 = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,
40012
40012
  V = function (n) {
40013
40013
  return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/i : /fil|che|ra/i).test(n);
40014
40014
  };
40015
- _.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function (n) {
40016
- Object.defineProperty(_.prototype, n, {
40015
+ _$1.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function (n) {
40016
+ Object.defineProperty(_$1.prototype, n, {
40017
40017
  configurable: !0,
40018
40018
  get: function () {
40019
40019
  return this["UNSAFE_" + n];
@@ -40032,11 +40032,11 @@
40032
40032
  function Y() {
40033
40033
  return this.cancelBubble;
40034
40034
  }
40035
- function $() {
40035
+ function $$1() {
40036
40036
  return this.defaultPrevented;
40037
40037
  }
40038
40038
  l$3.event = function (n) {
40039
- return H && (n = H(n)), n.persist = Z, n.isPropagationStopped = Y, n.isDefaultPrevented = $, n.nativeEvent = n;
40039
+ return H && (n = H(n)), n.persist = Z, n.isPropagationStopped = Y, n.isDefaultPrevented = $$1, n.nativeEvent = n;
40040
40040
  };
40041
40041
  var G = {
40042
40042
  configurable: !0,
@@ -40044,7 +40044,7 @@
40044
40044
  return this.class;
40045
40045
  }
40046
40046
  },
40047
- J = l$3.vnode;
40047
+ J$1 = l$3.vnode;
40048
40048
  l$3.vnode = function (n) {
40049
40049
  var t = n.type,
40050
40050
  e = n.props,
@@ -40060,7 +40060,7 @@
40060
40060
  n.props.selected = r.multiple ? -1 != r.defaultValue.indexOf(n.props.value) : r.defaultValue == n.props.value;
40061
40061
  })), n.props = r;
40062
40062
  }
40063
- t && e.class != e.className && (G.enumerable = "className" in e, null != e.className && (r.class = e.className), Object.defineProperty(r, "className", G)), n.$$typeof = j, J && J(n);
40063
+ t && e.class != e.className && (G.enumerable = "className" in e, null != e.className && (r.class = e.className), Object.defineProperty(r, "className", G)), n.$$typeof = j$1, J$1 && J$1(n);
40064
40064
  };
40065
40065
  var K = l$3.__r;
40066
40066
  l$3.__r = function (n) {
@@ -40179,7 +40179,7 @@
40179
40179
  var int = function (bool) {
40180
40180
  return bool === true ? 1 : 0;
40181
40181
  };
40182
- function debounce$3(fn, wait) {
40182
+ function debounce$1(fn, wait) {
40183
40183
  var t;
40184
40184
  return function () {
40185
40185
  var _this = this;
@@ -40791,8 +40791,8 @@
40791
40791
  setupMobile();
40792
40792
  return;
40793
40793
  }
40794
- var debouncedResize = debounce$3(onResize, 50);
40795
- self._debouncedChange = debounce$3(triggerChange, DEBOUNCED_CHANGE_MS);
40794
+ var debouncedResize = debounce$1(onResize, 50);
40795
+ self._debouncedChange = debounce$1(triggerChange, DEBOUNCED_CHANGE_MS);
40796
40796
  if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, "mouseover", function (e) {
40797
40797
  if (self.config.mode === "range") onMouseOver(getEventTarget(e));
40798
40798
  });
@@ -42322,7 +42322,7 @@
42322
42322
  b = w[x];
42323
42323
  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);
42324
42324
  }, i;
42325
- })(_);
42325
+ })(_$1);
42326
42326
 
42327
42327
  const CLASS_PATTERN = /^class[ {]/;
42328
42328
 
@@ -47509,26 +47509,26 @@
47509
47509
  return [...new Set(variables)];
47510
47510
  };
47511
47511
 
47512
- /**
47513
- * Get the variable name at the specified index in a given path expression.
47514
- *
47515
- * @param {Object} root - The root node of the path expression tree.
47516
- * @param {number} index - The index of the variable name to retrieve.
47517
- * @returns {string|null} The variable name at the specified index or null if index is out of bounds.
47512
+ /**
47513
+ * Get the variable name at the specified index in a given path expression.
47514
+ *
47515
+ * @param {Object} root - The root node of the path expression tree.
47516
+ * @param {number} index - The index of the variable name to retrieve.
47517
+ * @returns {string|null} The variable name at the specified index or null if index is out of bounds.
47518
47518
  */
47519
47519
  const _getVariableNameAtPathIndex = (root, index) => {
47520
47520
  const accessors = _deconstructPathExpression(root);
47521
47521
  return accessors[index] || null;
47522
47522
  };
47523
47523
 
47524
- /**
47525
- * Extracts the variables which are required of the external context for a given path expression.
47526
- * This is done by traversing the path expression tree and keeping track of the current depth relative to the external context.
47527
- *
47528
- * @param {Object} node - The root node of the path expression tree.
47529
- * @param {number} initialDepth - The depth at which the root node is located in the outer context.
47530
- * @param {Object} specialDepthAccessors - Definitions of special keywords which represent more complex accesses of the outer context.
47531
- * @returns {Set} - A set containing the extracted variable names.
47524
+ /**
47525
+ * Extracts the variables which are required of the external context for a given path expression.
47526
+ * This is done by traversing the path expression tree and keeping track of the current depth relative to the external context.
47527
+ *
47528
+ * @param {Object} node - The root node of the path expression tree.
47529
+ * @param {number} initialDepth - The depth at which the root node is located in the outer context.
47530
+ * @param {Object} specialDepthAccessors - Definitions of special keywords which represent more complex accesses of the outer context.
47531
+ * @returns {Set} - A set containing the extracted variable names.
47532
47532
  */
47533
47533
  const _smartExtractVariableNames = (node, initialDepth, specialDepthAccessors) => {
47534
47534
  // depth info represents the previous (initialised as null) and current depth of the current accessor in the path expression
@@ -47574,11 +47574,11 @@
47574
47574
  return new Set(extractedVariables);
47575
47575
  };
47576
47576
 
47577
- /**
47578
- * Deconstructs a path expression tree into an array of components.
47579
- *
47580
- * @param {Object} root - The root node of the path expression tree.
47581
- * @returns {Array<string>} An array of components in the path expression, in the correct order.
47577
+ /**
47578
+ * Deconstructs a path expression tree into an array of components.
47579
+ *
47580
+ * @param {Object} root - The root node of the path expression tree.
47581
+ * @returns {Array<string>} An array of components in the path expression, in the correct order.
47582
47582
  */
47583
47583
  const _deconstructPathExpression = root => {
47584
47584
  let node = root;
@@ -47597,13 +47597,13 @@
47597
47597
  return parts.reverse();
47598
47598
  };
47599
47599
 
47600
- /**
47601
- * Builds a simplified feel structure tree from the given parse tree and feel string.
47602
- * The nodes follow this structure: `{ name: string, children: Array, variableName?: string }`
47603
- *
47604
- * @param {Object} parseTree - The parse tree generated by a parser.
47605
- * @param {string} feelString - The feel string used for parsing.
47606
- * @returns {Object} The simplified feel structure tree.
47600
+ /**
47601
+ * Builds a simplified feel structure tree from the given parse tree and feel string.
47602
+ * The nodes follow this structure: `{ name: string, children: Array, variableName?: string }`
47603
+ *
47604
+ * @param {Object} parseTree - The parse tree generated by a parser.
47605
+ * @param {string} feelString - The feel string used for parsing.
47606
+ * @returns {Object} The simplified feel structure tree.
47607
47607
  */
47608
47608
  const _buildSimpleFeelStructureTree = (parseTree, feelString) => {
47609
47609
  const stack = [{
@@ -47629,9 +47629,9 @@
47629
47629
  return _extractFilterExpressions(stack[0].children[0]);
47630
47630
  };
47631
47631
 
47632
- /**
47633
- * Restructure the tree in such a way to bring filters (which create new contexts) to the root of the tree.
47634
- * This is done to simplify the extraction of variables and match the context hierarchy.
47632
+ /**
47633
+ * Restructure the tree in such a way to bring filters (which create new contexts) to the root of the tree.
47634
+ * This is done to simplify the extraction of variables and match the context hierarchy.
47635
47635
  */
47636
47636
  const _extractFilterExpressions = tree => {
47637
47637
  const flattenedExpressionTree = {
@@ -47671,25 +47671,25 @@
47671
47671
  this._eventBus = eventBus;
47672
47672
  }
47673
47673
 
47674
- /**
47675
- * Determines if the given value is a FEEL expression.
47676
- *
47677
- * @param {any} value
47678
- * @returns {boolean}
47679
- *
47674
+ /**
47675
+ * Determines if the given value is a FEEL expression.
47676
+ *
47677
+ * @param {any} value
47678
+ * @returns {boolean}
47679
+ *
47680
47680
  */
47681
47681
  isExpression(value) {
47682
47682
  return isString$3(value) && value.startsWith('=');
47683
47683
  }
47684
47684
 
47685
- /**
47686
- * Retrieve variable names from a given FEEL expression.
47687
- *
47688
- * @param {string} expression
47689
- * @param {object} [options]
47690
- * @param {string} [options.type]
47691
- *
47692
- * @returns {string[]}
47685
+ /**
47686
+ * Retrieve variable names from a given FEEL expression.
47687
+ *
47688
+ * @param {string} expression
47689
+ * @param {object} [options]
47690
+ * @param {string} [options.type]
47691
+ *
47692
+ * @returns {string[]}
47693
47693
  */
47694
47694
  getVariableNames(expression, options = {}) {
47695
47695
  const {
@@ -47704,13 +47704,13 @@
47704
47704
  return getFlavouredFeelVariableNames(expression, type);
47705
47705
  }
47706
47706
 
47707
- /**
47708
- * Evaluate an expression.
47709
- *
47710
- * @param {string} expression
47711
- * @param {import('../../types').Data} [data]
47712
- *
47713
- * @returns {any}
47707
+ /**
47708
+ * Evaluate an expression.
47709
+ *
47710
+ * @param {string} expression
47711
+ * @param {import('../../types').Data} [data]
47712
+ *
47713
+ * @returns {any}
47714
47714
  */
47715
47715
  evaluate(expression, data = {}) {
47716
47716
  if (!expression) {
@@ -47734,23 +47734,23 @@
47734
47734
  class FeelersTemplating {
47735
47735
  constructor() {}
47736
47736
 
47737
- /**
47738
- * Determines if the given value is a feelers template.
47739
- *
47740
- * @param {any} value
47741
- * @returns {boolean}
47742
- *
47737
+ /**
47738
+ * Determines if the given value is a feelers template.
47739
+ *
47740
+ * @param {any} value
47741
+ * @returns {boolean}
47742
+ *
47743
47743
  */
47744
47744
  isTemplate(value) {
47745
47745
  return isString$3(value) && (value.startsWith('=') || /{{.*?}}/.test(value));
47746
47746
  }
47747
47747
 
47748
- /**
47749
- * Retrieve variable names from a given feelers template.
47750
- *
47751
- * @param {string} template
47752
- *
47753
- * @returns {string[]}
47748
+ /**
47749
+ * Retrieve variable names from a given feelers template.
47750
+ *
47751
+ * @param {string} template
47752
+ *
47753
+ * @returns {string[]}
47754
47754
  */
47755
47755
  getVariableNames(template) {
47756
47756
  if (!this.isTemplate(template)) {
@@ -47776,17 +47776,17 @@
47776
47776
  }, []);
47777
47777
  }
47778
47778
 
47779
- /**
47780
- * Evaluate a template.
47781
- *
47782
- * @param {string} template
47783
- * @param {Object<string, any>} context
47784
- * @param {Object} options
47785
- * @param {boolean} [options.debug = false]
47786
- * @param {boolean} [options.strict = false]
47787
- * @param {Function} [options.buildDebugString]
47788
- *
47789
- * @returns
47779
+ /**
47780
+ * Evaluate a template.
47781
+ *
47782
+ * @param {string} template
47783
+ * @param {Object<string, any>} context
47784
+ * @param {Object} options
47785
+ * @param {boolean} [options.debug = false]
47786
+ * @param {boolean} [options.strict = false]
47787
+ * @param {Function} [options.buildDebugString]
47788
+ *
47789
+ * @returns
47790
47790
  */
47791
47791
  evaluate(template, context = {}, options = {}) {
47792
47792
  const {
@@ -47801,22 +47801,22 @@
47801
47801
  });
47802
47802
  }
47803
47803
 
47804
- /**
47805
- * @typedef {Object} ExpressionWithDepth
47806
- * @property {number} depth - The depth of the expression in the syntax tree.
47807
- * @property {string} expression - The extracted expression
47804
+ /**
47805
+ * @typedef {Object} ExpressionWithDepth
47806
+ * @property {number} depth - The depth of the expression in the syntax tree.
47807
+ * @property {string} expression - The extracted expression
47808
47808
  */
47809
47809
 
47810
- /**
47811
- * Extracts all feel expressions in the template along with their depth in the syntax tree.
47812
- * The depth is incremented for child expressions of loops to account for context drilling.
47813
- * @name extractExpressionsWithDepth
47814
- * @param {string} template - A feelers template string.
47815
- * @returns {Array<ExpressionWithDepth>} An array of objects, each containing the depth and the extracted expression.
47816
- *
47817
- * @example
47818
- * const template = "Hello {{user}}, you have:{{#loop items}}\n- {{amount}} {{name}}{{/loop}}.";
47819
- * const extractedExpressions = _extractExpressionsWithDepth(template);
47810
+ /**
47811
+ * Extracts all feel expressions in the template along with their depth in the syntax tree.
47812
+ * The depth is incremented for child expressions of loops to account for context drilling.
47813
+ * @name extractExpressionsWithDepth
47814
+ * @param {string} template - A feelers template string.
47815
+ * @returns {Array<ExpressionWithDepth>} An array of objects, each containing the depth and the extracted expression.
47816
+ *
47817
+ * @example
47818
+ * const template = "Hello {{user}}, you have:{{#loop items}}\n- {{amount}} {{name}}{{/loop}}.";
47819
+ * const extractedExpressions = _extractExpressionsWithDepth(template);
47820
47820
  */
47821
47821
  _extractExpressionsWithDepth(template) {
47822
47822
  // build simplified feelers syntax tree
@@ -47847,9 +47847,9 @@
47847
47847
  }
47848
47848
  FeelersTemplating.$inject = [];
47849
47849
 
47850
- /**
47851
- * @typedef {object} Condition
47852
- * @property {string} [hide]
47850
+ /**
47851
+ * @typedef {object} Condition
47852
+ * @property {string} [hide]
47853
47853
  */
47854
47854
 
47855
47855
  class ConditionChecker {
@@ -47858,11 +47858,11 @@
47858
47858
  this._eventBus = eventBus;
47859
47859
  }
47860
47860
 
47861
- /**
47862
- * For given data, remove properties based on condition.
47863
- *
47864
- * @param {Object<string, any>} properties
47865
- * @param {Object<string, any>} data
47861
+ /**
47862
+ * For given data, remove properties based on condition.
47863
+ *
47864
+ * @param {Object<string, any>} properties
47865
+ * @param {Object<string, any>} data
47866
47866
  */
47867
47867
  applyConditions(properties, data = {}) {
47868
47868
  const conditions = this._getConditions();
@@ -47881,13 +47881,13 @@
47881
47881
  return newProperties;
47882
47882
  }
47883
47883
 
47884
- /**
47885
- * Check if given condition is met. Returns null for invalid/missing conditions.
47886
- *
47887
- * @param {string} condition
47888
- * @param {import('../../types').Data} [data]
47889
- *
47890
- * @returns {boolean|null}
47884
+ /**
47885
+ * Check if given condition is met. Returns null for invalid/missing conditions.
47886
+ *
47887
+ * @param {string} condition
47888
+ * @param {import('../../types').Data} [data]
47889
+ *
47890
+ * @returns {boolean|null}
47891
47891
  */
47892
47892
  check(condition, data = {}) {
47893
47893
  if (!condition) {
@@ -47908,12 +47908,12 @@
47908
47908
  }
47909
47909
  }
47910
47910
 
47911
- /**
47912
- * Check if hide condition is met.
47913
- *
47914
- * @param {Condition} condition
47915
- * @param {Object<string, any>} data
47916
- * @returns {boolean}
47911
+ /**
47912
+ * Check if hide condition is met.
47913
+ *
47914
+ * @param {Condition} condition
47915
+ * @param {Object<string, any>} data
47916
+ * @returns {boolean}
47917
47917
  */
47918
47918
  _checkHideCondition(condition, data) {
47919
47919
  if (!condition.hide) {
@@ -47954,12 +47954,12 @@
47954
47954
  this._converter = new showdown.Converter();
47955
47955
  }
47956
47956
 
47957
- /**
47958
- * Render markdown to HTML.
47959
- *
47960
- * @param {string} markdown - The markdown to render
47961
- *
47962
- * @returns {string} HTML
47957
+ /**
47958
+ * Render markdown to HTML.
47959
+ *
47960
+ * @param {string} markdown - The markdown to render
47961
+ *
47962
+ * @returns {string} HTML
47963
47963
  */
47964
47964
  render(markdown) {
47965
47965
  return this._converter.makeHtml(markdown);
@@ -48516,10 +48516,10 @@
48516
48516
  return injector;
48517
48517
  }
48518
48518
 
48519
- /**
48520
- * @param {string?} prefix
48521
- *
48522
- * @returns Element
48519
+ /**
48520
+ * @param {string?} prefix
48521
+ *
48522
+ * @returns Element
48523
48523
  */
48524
48524
  function createFormContainer(prefix = 'fjs') {
48525
48525
  const container = document.createElement('div');
@@ -48550,22 +48550,22 @@
48550
48550
  return `${type}${generateIndexForType(type)}`;
48551
48551
  }
48552
48552
 
48553
- /**
48554
- * @template T
48555
- * @param {T} data
48556
- * @param {(this: any, key: string, value: any) => any} [replacer]
48557
- * @return {T}
48553
+ /**
48554
+ * @template T
48555
+ * @param {T} data
48556
+ * @param {(this: any, key: string, value: any) => any} [replacer]
48557
+ * @return {T}
48558
48558
  */
48559
48559
  function clone(data, replacer) {
48560
48560
  return JSON.parse(JSON.stringify(data, replacer));
48561
48561
  }
48562
48562
 
48563
- /**
48564
- * Parse the schema for input variables a form might make use of
48565
- *
48566
- * @param {any} schema
48567
- *
48568
- * @return {string[]}
48563
+ /**
48564
+ * Parse the schema for input variables a form might make use of
48565
+ *
48566
+ * @param {any} schema
48567
+ *
48568
+ * @return {string[]}
48569
48569
  */
48570
48570
  function getSchemaVariables(schema, options = {}) {
48571
48571
  const {
@@ -49284,8 +49284,8 @@
49284
49284
 
49285
49285
  // helpers //////////
49286
49286
 
49287
- /**
49288
- * Helper function to evaluate optional FEEL validation values.
49287
+ /**
49288
+ * Helper function to evaluate optional FEEL validation values.
49289
49289
  */
49290
49290
  function evaluateFEELValues(validate, expressionLanguage, conditionChecker, form) {
49291
49291
  const evaluatedValidate = {
@@ -49366,23 +49366,23 @@
49366
49366
  };
49367
49367
  FormFieldRegistry$1.$inject = ['eventBus'];
49368
49368
 
49369
- /**
49370
- * @typedef { { id: String, components: Array<String> } } FormRow
49371
- * @typedef { { formFieldId: String, rows: Array<FormRow> } } FormRows
49369
+ /**
49370
+ * @typedef { { id: String, components: Array<String> } } FormRow
49371
+ * @typedef { { formFieldId: String, rows: Array<FormRow> } } FormRows
49372
49372
  */
49373
49373
 
49374
- /**
49375
- * Maintains the Form layout in a given structure, for example
49376
- *
49377
- * [
49378
- * {
49379
- * formFieldId: 'FormField_1',
49380
- * rows: [
49381
- * { id: 'Row_1', components: [ 'Text_1', 'Textdield_1', ... ] }
49382
- * ]
49383
- * }
49384
- * ]
49385
- *
49374
+ /**
49375
+ * Maintains the Form layout in a given structure, for example
49376
+ *
49377
+ * [
49378
+ * {
49379
+ * formFieldId: 'FormField_1',
49380
+ * rows: [
49381
+ * { id: 'Row_1', components: [ 'Text_1', 'Textdield_1', ... ] }
49382
+ * ]
49383
+ * }
49384
+ * ]
49385
+ *
49386
49386
  */
49387
49387
  class FormLayouter {
49388
49388
  constructor(eventBus) {
@@ -49392,8 +49392,8 @@
49392
49392
  this._eventBus = eventBus;
49393
49393
  }
49394
49394
 
49395
- /**
49396
- * @param {FormRow} row
49395
+ /**
49396
+ * @param {FormRow} row
49397
49397
  */
49398
49398
  addRow(formFieldId, row) {
49399
49399
  let rowsPerComponent = this._rows.find(r => r.formFieldId === formFieldId);
@@ -49407,18 +49407,18 @@
49407
49407
  rowsPerComponent.rows.push(row);
49408
49408
  }
49409
49409
 
49410
- /**
49411
- * @param {String} id
49412
- * @returns {FormRow}
49410
+ /**
49411
+ * @param {String} id
49412
+ * @returns {FormRow}
49413
49413
  */
49414
49414
  getRow(id) {
49415
49415
  const rows = allRows(this._rows);
49416
49416
  return rows.find(r => r.id === id);
49417
49417
  }
49418
49418
 
49419
- /**
49420
- * @param {any} formField
49421
- * @returns {FormRow}
49419
+ /**
49420
+ * @param {any} formField
49421
+ * @returns {FormRow}
49422
49422
  */
49423
49423
  getRowForField(formField) {
49424
49424
  return allRows(this._rows).find(r => {
@@ -49429,9 +49429,9 @@
49429
49429
  });
49430
49430
  }
49431
49431
 
49432
- /**
49433
- * @param {String} formFieldId
49434
- * @returns { Array<FormRow> }
49432
+ /**
49433
+ * @param {String} formFieldId
49434
+ * @returns { Array<FormRow> }
49435
49435
  */
49436
49436
  getRows(formFieldId) {
49437
49437
  const rowsForField = this._rows.find(r => formFieldId === r.formFieldId);
@@ -49441,15 +49441,15 @@
49441
49441
  return rowsForField.rows;
49442
49442
  }
49443
49443
 
49444
- /**
49445
- * @returns {string}
49444
+ /**
49445
+ * @returns {string}
49446
49446
  */
49447
49447
  nextRowId() {
49448
49448
  return this._ids.nextPrefixed('Row_');
49449
49449
  }
49450
49450
 
49451
- /**
49452
- * @param {any} formField
49451
+ /**
49452
+ * @param {any} formField
49453
49453
  */
49454
49454
  calculateLayout(formField) {
49455
49455
  const {
@@ -49503,19 +49503,19 @@
49503
49503
  });
49504
49504
  }
49505
49505
 
49506
- /**
49507
- * @param {Array<FormRows>} formRows
49508
- * @returns {Array<FormRow>}
49506
+ /**
49507
+ * @param {Array<FormRows>} formRows
49508
+ * @returns {Array<FormRow>}
49509
49509
  */
49510
49510
  function allRows(formRows) {
49511
49511
  return flatten$2(formRows.map(c => c.rows));
49512
49512
  }
49513
49513
  let Importer$1 = class Importer {
49514
- /**
49515
- * @constructor
49516
- * @param { import('../core').FormFieldRegistry } formFieldRegistry
49517
- * @param { import('../render/FormFields').default } formFields
49518
- * @param { import('../core').FormLayouter } formLayouter
49514
+ /**
49515
+ * @constructor
49516
+ * @param { import('../core').FormFieldRegistry } formFieldRegistry
49517
+ * @param { import('../render/FormFields').default } formFields
49518
+ * @param { import('../core').FormLayouter } formLayouter
49519
49519
  */
49520
49520
  constructor(formFieldRegistry, formFields, formLayouter) {
49521
49521
  this._formFieldRegistry = formFieldRegistry;
@@ -49523,15 +49523,15 @@
49523
49523
  this._formLayouter = formLayouter;
49524
49524
  }
49525
49525
 
49526
- /**
49527
- * Import schema adding `id`, `_parent` and `_path`
49528
- * information to each field and adding it to the
49529
- * form field registry.
49530
- *
49531
- * @param {any} schema
49532
- * @param {any} [data]
49533
- *
49534
- * @return { { warnings: Array<any>, schema: any, data: any } }
49526
+ /**
49527
+ * Import schema adding `id`, `_parent` and `_path`
49528
+ * information to each field and adding it to the
49529
+ * form field registry.
49530
+ *
49531
+ * @param {any} schema
49532
+ * @param {any} [data]
49533
+ *
49534
+ * @return { { warnings: Array<any>, schema: any, data: any } }
49535
49535
  */
49536
49536
  importSchema(schema, data = {}) {
49537
49537
  // TODO: Add warnings - https://github.com/bpmn-io/form-js/issues/289
@@ -49552,11 +49552,11 @@
49552
49552
  }
49553
49553
  }
49554
49554
 
49555
- /**
49556
- * @param {any} formField
49557
- * @param {string} [parentId]
49558
- *
49559
- * @return {any} importedField
49555
+ /**
49556
+ * @param {any} formField
49557
+ * @param {string} [parentId]
49558
+ *
49559
+ * @return {any} importedField
49560
49560
  */
49561
49561
  importFormField(formField, parentId) {
49562
49562
  const {
@@ -49607,10 +49607,10 @@
49607
49607
  });
49608
49608
  }
49609
49609
 
49610
- /**
49611
- * @param {Object} data
49612
- *
49613
- * @return {Object} initializedData
49610
+ /**
49611
+ * @param {Object} data
49612
+ *
49613
+ * @return {Object} initializedData
49614
49614
  */
49615
49615
  initializeFieldValues(data) {
49616
49616
  return this._formFieldRegistry.getAll().reduce((initializedData, formField) => {
@@ -49710,7 +49710,7 @@
49710
49710
  ...options
49711
49711
  })
49712
49712
  };
49713
- const FormRenderContext = D$1({
49713
+ const FormRenderContext = D$2({
49714
49714
  Empty: props => {
49715
49715
  return null;
49716
49716
  },
@@ -49744,14 +49744,14 @@
49744
49744
  });
49745
49745
  var FormRenderContext$1 = FormRenderContext;
49746
49746
 
49747
- /**
49748
- * @param {string} type
49749
- * @param {boolean} [strict]
49750
- *
49751
- * @returns {any}
49747
+ /**
49748
+ * @param {string} type
49749
+ * @param {boolean} [strict]
49750
+ *
49751
+ * @returns {any}
49752
49752
  */
49753
49753
  function getService$2(type, strict) {}
49754
- const FormContext = D$1({
49754
+ const FormContext = D$2({
49755
49755
  getService: getService$2,
49756
49756
  formId: null
49757
49757
  });
@@ -49759,14 +49759,14 @@
49759
49759
  function useService$2(type, strict) {
49760
49760
  const {
49761
49761
  getService
49762
- } = F(FormContext$1);
49762
+ } = F$1(FormContext$1);
49763
49763
  return getService(type, strict);
49764
49764
  }
49765
49765
 
49766
- /**
49767
- * Returns the conditionally filtered data of a form reactively.
49768
- * Memoised to minimize re-renders
49769
- *
49766
+ /**
49767
+ * Returns the conditionally filtered data of a form reactively.
49768
+ * Memoised to minimize re-renders
49769
+ *
49770
49770
  */
49771
49771
  function useFilteredFormData() {
49772
49772
  const {
@@ -49783,12 +49783,12 @@
49783
49783
  }, [conditionChecker, data, initialData]);
49784
49784
  }
49785
49785
 
49786
- /**
49787
- * Evaluate if condition is met reactively based on the conditionChecker and form data.
49788
- *
49789
- * @param {string | undefined} condition
49790
- *
49791
- * @returns {boolean} true if condition is met or no condition or condition checker exists
49786
+ /**
49787
+ * Evaluate if condition is met reactively based on the conditionChecker and form data.
49788
+ *
49789
+ * @param {string | undefined} condition
49790
+ *
49791
+ * @returns {boolean} true if condition is met or no condition or condition checker exists
49792
49792
  */
49793
49793
  function useCondition(condition) {
49794
49794
  const conditionChecker = useService$2('conditionChecker', false);
@@ -49798,13 +49798,13 @@
49798
49798
  }, [conditionChecker, condition, filteredData]);
49799
49799
  }
49800
49800
 
49801
- /**
49802
- * Evaluate a string reactively based on the expressionLanguage and form data.
49803
- * If the string is not an expression, it is returned as is.
49804
- * Memoised to minimize re-renders.
49805
- *
49806
- * @param {string} value
49807
- *
49801
+ /**
49802
+ * Evaluate a string reactively based on the expressionLanguage and form data.
49803
+ * If the string is not an expression, it is returned as is.
49804
+ * Memoised to minimize re-renders.
49805
+ *
49806
+ * @param {string} value
49807
+ *
49808
49808
  */
49809
49809
  function useExpressionEvaluation(value) {
49810
49810
  const formData = useFilteredFormData();
@@ -49832,16 +49832,16 @@
49832
49832
  });
49833
49833
  }
49834
49834
 
49835
- /**
49836
- * Retrieve readonly value of a form field, given it can be an
49837
- * expression optionally or configured globally.
49838
- *
49839
- * @typedef { import('../../types').FormProperties } FormProperties
49840
- *
49841
- * @param {any} formField
49842
- * @param {FormProperties} properties
49843
- *
49844
- * @returns {boolean}
49835
+ /**
49836
+ * Retrieve readonly value of a form field, given it can be an
49837
+ * expression optionally or configured globally.
49838
+ *
49839
+ * @typedef { import('../../types').FormProperties } FormProperties
49840
+ *
49841
+ * @param {any} formField
49842
+ * @param {FormProperties} properties
49843
+ *
49844
+ * @returns {boolean}
49845
49845
  */
49846
49846
  function useReadonly(formField, properties = {}) {
49847
49847
  const expressionLanguage = useService$2('expressionLanguage');
@@ -49859,16 +49859,16 @@
49859
49859
  return readonly || false;
49860
49860
  }
49861
49861
 
49862
- /**
49863
- * Template a string reactively based on form data. If the string is not a template, it is returned as is.
49864
- * Memoised to minimize re-renders
49865
- *
49866
- * @param {string} value
49867
- * @param {Object} options
49868
- * @param {boolean} [options.debug = false]
49869
- * @param {boolean} [options.strict = false]
49870
- * @param {Function} [options.buildDebugString]
49871
- *
49862
+ /**
49863
+ * Template a string reactively based on form data. If the string is not a template, it is returned as is.
49864
+ * Memoised to minimize re-renders
49865
+ *
49866
+ * @param {string} value
49867
+ * @param {Object} options
49868
+ * @param {boolean} [options.debug = false]
49869
+ * @param {boolean} [options.strict = false]
49870
+ * @param {Function} [options.buildDebugString]
49871
+ *
49872
49872
  */
49873
49873
  function useTemplateEvaluation(value, options) {
49874
49874
  const filteredData = useFilteredFormData();
@@ -49881,17 +49881,17 @@
49881
49881
  }, [filteredData, templating, value, options]);
49882
49882
  }
49883
49883
 
49884
- /**
49885
- * Template a string reactively based on form data. If the string is not a template, it is returned as is.
49886
- * If the string contains multiple lines, only the first line is returned.
49887
- * Memoised to minimize re-renders
49888
- *
49889
- * @param {string} value
49890
- * @param {Object} [options]
49891
- * @param {boolean} [options.debug = false]
49892
- * @param {boolean} [options.strict = false]
49893
- * @param {Function} [options.buildDebugString]
49894
- *
49884
+ /**
49885
+ * Template a string reactively based on form data. If the string is not a template, it is returned as is.
49886
+ * If the string contains multiple lines, only the first line is returned.
49887
+ * Memoised to minimize re-renders
49888
+ *
49889
+ * @param {string} value
49890
+ * @param {Object} [options]
49891
+ * @param {boolean} [options.debug = false]
49892
+ * @param {boolean} [options.strict = false]
49893
+ * @param {Function} [options.buildDebugString]
49894
+ *
49895
49895
  */
49896
49896
  function useSingleLineTemplateEvaluation(value, options = {}) {
49897
49897
  const evaluatedTemplate = useTemplateEvaluation(value, options);
@@ -49983,7 +49983,7 @@
49983
49983
  };
49984
49984
  const {
49985
49985
  formId
49986
- } = F(FormContext$1);
49986
+ } = F$1(FormContext$1);
49987
49987
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
49988
49988
  return e$1("div", {
49989
49989
  class: classNames(formFieldClasses(type$b, {
@@ -50076,8 +50076,8 @@
50076
50076
  return value || value === 0 || value === false;
50077
50077
  }
50078
50078
 
50079
- /**
50080
- * @enum { String }
50079
+ /**
50080
+ * @enum { String }
50081
50081
  */
50082
50082
  const LOAD_STATES = {
50083
50083
  LOADING: 'loading',
@@ -50085,17 +50085,17 @@
50085
50085
  ERROR: 'error'
50086
50086
  };
50087
50087
 
50088
- /**
50089
- * @typedef {Object} ValuesGetter
50090
- * @property {Object[]} values - The values data
50091
- * @property {(LOAD_STATES)} state - The values data's loading state, to use for conditional rendering
50088
+ /**
50089
+ * @typedef {Object} ValuesGetter
50090
+ * @property {Object[]} values - The values data
50091
+ * @property {(LOAD_STATES)} state - The values data's loading state, to use for conditional rendering
50092
50092
  */
50093
50093
 
50094
- /**
50095
- * A hook to load values for single and multiselect components.
50096
- *
50097
- * @param {Object} field - The form field to handle values for
50098
- * @return {ValuesGetter} valuesGetter - A values getter object providing loading state and values
50094
+ /**
50095
+ * A hook to load values for single and multiselect components.
50096
+ *
50097
+ * @param {Object} field - The form field to handle values for
50098
+ * @return {ValuesGetter} valuesGetter - A values getter object providing loading state and values
50099
50099
  */
50100
50100
  function useValuesAsync(field) {
50101
50101
  const {
@@ -50401,7 +50401,7 @@
50401
50401
  } = useValuesAsync(field);
50402
50402
  const {
50403
50403
  formId
50404
- } = F(FormContext$1);
50404
+ } = F$1(FormContext$1);
50405
50405
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
50406
50406
  return e$1("div", {
50407
50407
  class: classNames(formFieldClasses(type$a, {
@@ -50483,7 +50483,7 @@
50483
50483
  Element,
50484
50484
  Empty,
50485
50485
  Column
50486
- } = F(FormRenderContext$1);
50486
+ } = F$1(FormRenderContext$1);
50487
50487
  const FormFieldComponent = formFields.get(field.type);
50488
50488
  if (!FormFieldComponent) {
50489
50489
  throw new Error(`cannot render field <${field.type}>`);
@@ -50532,7 +50532,7 @@
50532
50532
  Children,
50533
50533
  Empty,
50534
50534
  Row
50535
- } = F(FormRenderContext$1);
50535
+ } = F$1(FormRenderContext$1);
50536
50536
  const {
50537
50537
  field
50538
50538
  } = props;
@@ -51106,7 +51106,7 @@
51106
51106
  } = validate;
51107
51107
  const {
51108
51108
  formId
51109
- } = F(FormContext$1);
51109
+ } = F$1(FormContext$1);
51110
51110
  const dateTimeGroupRef = s$1();
51111
51111
  const getNullDateTime = () => ({
51112
51112
  date: new Date(Date.parse(null)),
@@ -51282,10 +51282,10 @@
51282
51282
  }
51283
51283
  };
51284
51284
 
51285
- /**
51286
- * This file must not be changed or exchanged.
51287
- *
51288
- * @see http://bpmn.io/license for more information.
51285
+ /**
51286
+ * This file must not be changed or exchanged.
51287
+ *
51288
+ * @see http://bpmn.io/license for more information.
51289
51289
  */
51290
51290
  function Logo() {
51291
51291
  return e$1("svg", {
@@ -51415,11 +51415,11 @@
51415
51415
 
51416
51416
  const FORM_ELEMENT = document.createElement('form');
51417
51417
 
51418
- /**
51419
- * Sanitize a HTML string and return the cleaned, safe version.
51420
- *
51421
- * @param {string} html
51422
- * @return {string}
51418
+ /**
51419
+ * Sanitize a HTML string and return the cleaned, safe version.
51420
+ *
51421
+ * @param {string} html
51422
+ * @return {string}
51423
51423
  */
51424
51424
 
51425
51425
  // see https://github.com/developit/snarkdown/issues/70
@@ -51437,29 +51437,29 @@
51437
51437
  }
51438
51438
  }
51439
51439
 
51440
- /**
51441
- * Sanitizes an image source to ensure we only allow for data URI and links
51442
- * that start with http(s).
51443
- *
51444
- * Note: Most browsers anyway do not support script execution in <img> elements.
51445
- *
51446
- * @param {string} src
51447
- * @returns {string}
51440
+ /**
51441
+ * Sanitizes an image source to ensure we only allow for data URI and links
51442
+ * that start with http(s).
51443
+ *
51444
+ * Note: Most browsers anyway do not support script execution in <img> elements.
51445
+ *
51446
+ * @param {string} src
51447
+ * @returns {string}
51448
51448
  */
51449
51449
  function sanitizeImageSource(src) {
51450
51450
  const valid = ALLOWED_IMAGE_SRC_PATTERN.test(src);
51451
51451
  return valid ? src : '';
51452
51452
  }
51453
51453
 
51454
- /**
51455
- * Recursively sanitize a HTML node, potentially
51456
- * removing it, its children or attributes.
51457
- *
51458
- * Inspired by https://github.com/developit/snarkdown/issues/70
51459
- * and https://github.com/cure53/DOMPurify. Simplified
51460
- * for our use-case.
51461
- *
51462
- * @param {Element} node
51454
+ /**
51455
+ * Recursively sanitize a HTML node, potentially
51456
+ * removing it, its children or attributes.
51457
+ *
51458
+ * Inspired by https://github.com/developit/snarkdown/issues/70
51459
+ * and https://github.com/cure53/DOMPurify. Simplified
51460
+ * for our use-case.
51461
+ *
51462
+ * @param {Element} node
51463
51463
  */
51464
51464
  function sanitizeNode(node) {
51465
51465
  // allow text nodes
@@ -51503,13 +51503,13 @@
51503
51503
  }
51504
51504
  }
51505
51505
 
51506
- /**
51507
- * Validates attributes for validity.
51508
- *
51509
- * @param {string} lcTag
51510
- * @param {string} lcName
51511
- * @param {string} value
51512
- * @return {boolean}
51506
+ /**
51507
+ * Validates attributes for validity.
51508
+ *
51509
+ * @param {string} lcTag
51510
+ * @param {string} lcName
51511
+ * @param {string} value
51512
+ * @return {boolean}
51513
51513
  */
51514
51514
  function isValidAttribute(lcTag, lcName, value) {
51515
51515
  // disallow most attributes based on whitelist
@@ -51603,7 +51603,7 @@
51603
51603
  });
51604
51604
  const {
51605
51605
  formId
51606
- } = F(FormContext$1);
51606
+ } = F$1(FormContext$1);
51607
51607
  return e$1("div", {
51608
51608
  class: formFieldClasses(type$8),
51609
51609
  children: e$1("div", {
@@ -51843,7 +51843,7 @@
51843
51843
  };
51844
51844
  const {
51845
51845
  formId
51846
- } = F(FormContext$1);
51846
+ } = F$1(FormContext$1);
51847
51847
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
51848
51848
  return e$1("div", {
51849
51849
  class: formFieldClasses(type$7, {
@@ -51979,7 +51979,7 @@
51979
51979
  } = useValuesAsync(field);
51980
51980
  const {
51981
51981
  formId
51982
- } = F(FormContext$1);
51982
+ } = F$1(FormContext$1);
51983
51983
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
51984
51984
  return e$1("div", {
51985
51985
  class: formFieldClasses(type$6, {
@@ -52084,7 +52084,7 @@
52084
52084
  } = props;
52085
52085
  const {
52086
52086
  formId
52087
- } = F(FormContext$1);
52087
+ } = F$1(FormContext$1);
52088
52088
  const [filter, setFilter] = l$2('');
52089
52089
  const [isDropdownExpanded, setIsDropdownExpanded] = l$2(false);
52090
52090
  const [shouldApplyFilter, setShouldApplyFilter] = l$2(true);
@@ -52238,7 +52238,7 @@
52238
52238
  } = props;
52239
52239
  const {
52240
52240
  formId
52241
- } = F(FormContext$1);
52241
+ } = F$1(FormContext$1);
52242
52242
  const [isDropdownExpanded, setIsDropdownExpanded] = l$2(false);
52243
52243
  const selectRef = s$1();
52244
52244
  const {
@@ -52353,7 +52353,7 @@
52353
52353
  } = validate;
52354
52354
  const {
52355
52355
  formId
52356
- } = F(FormContext$1);
52356
+ } = F$1(FormContext$1);
52357
52357
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
52358
52358
  const selectProps = d(() => ({
52359
52359
  id,
@@ -52463,7 +52463,7 @@
52463
52463
  } = validate;
52464
52464
  const {
52465
52465
  formId
52466
- } = F(FormContext$1);
52466
+ } = F$1(FormContext$1);
52467
52467
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
52468
52468
  const [filter, setFilter] = l$2('');
52469
52469
  const [filteredOptions, setFilteredOptions] = l$2([]);
@@ -52774,7 +52774,7 @@
52774
52774
  };
52775
52775
  const {
52776
52776
  formId
52777
- } = F(FormContext$1);
52777
+ } = F$1(FormContext$1);
52778
52778
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
52779
52779
  return e$1("div", {
52780
52780
  class: formFieldClasses(type$1, {
@@ -52861,7 +52861,7 @@
52861
52861
  value: target.value
52862
52862
  });
52863
52863
  };
52864
- h(() => {
52864
+ h$1(() => {
52865
52865
  autoSizeTextarea(textareaRef.current);
52866
52866
  }, [value]);
52867
52867
  y(() => {
@@ -52869,7 +52869,7 @@
52869
52869
  }, []);
52870
52870
  const {
52871
52871
  formId
52872
- } = F(FormContext$1);
52872
+ } = F$1(FormContext$1);
52873
52873
  const errorMessageId = errors.length === 0 ? undefined : `${prefixId$2(id, formId)}-error-message`;
52874
52874
  return e$1("div", {
52875
52875
  class: formFieldClasses(type, {
@@ -53926,7 +53926,7 @@
53926
53926
  *
53927
53927
  * @return {Object}
53928
53928
  */
53929
- function find$1(collection, matcher) {
53929
+ function find(collection, matcher) {
53930
53930
  matcher = toMatcher(matcher);
53931
53931
  let match;
53932
53932
  forEach(collection, function (val, key) {
@@ -54091,7 +54091,7 @@
54091
54091
  *
54092
54092
  * @return {Function} debounced function
54093
54093
  */
54094
- function debounce$2(fn, timeout) {
54094
+ function debounce(fn, timeout) {
54095
54095
  let timer;
54096
54096
  let lastArgs;
54097
54097
  let lastThis;
@@ -54218,898 +54218,500 @@
54218
54218
  return isUndefined(currentTarget) ? defaultValue : currentTarget;
54219
54219
  }
54220
54220
 
54221
- var atoa$1 = function atoa(a, n) {
54222
- return Array.prototype.slice.call(a, n);
54223
- };
54224
-
54225
- var si = typeof setImmediate === 'function',
54226
- tick;
54227
- if (si) {
54228
- tick = function (fn) {
54229
- setImmediate(fn);
54230
- };
54231
- } else if (typeof process !== 'undefined' && process.nextTick) {
54232
- tick = process.nextTick;
54233
- } else {
54234
- tick = function (fn) {
54235
- setTimeout(fn, 0);
54236
- };
54221
+ var R = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
54222
+ function Ee(e) {
54223
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
54237
54224
  }
54238
- var ticky$1 = tick;
54239
-
54240
- var ticky = ticky$1;
54241
- var debounce$1 = function debounce(fn, args, ctx) {
54242
- if (!fn) {
54243
- return;
54244
- }
54245
- ticky(function run() {
54246
- fn.apply(ctx || null, args || []);
54247
- });
54225
+ var Ae = function (n, i) {
54226
+ return Array.prototype.slice.call(n, i);
54227
+ },
54228
+ He = typeof setImmediate == "function",
54229
+ J;
54230
+ He ? J = function (e) {
54231
+ setImmediate(e);
54232
+ } : J = function (e) {
54233
+ setTimeout(e, 0);
54248
54234
  };
54249
-
54250
- var atoa = atoa$1;
54251
- var debounce = debounce$1;
54252
- var emitter$1 = function emitter(thing, options) {
54253
- var opts = options || {};
54254
- var evt = {};
54255
- if (thing === undefined) {
54256
- thing = {};
54257
- }
54258
- thing.on = function (type, fn) {
54259
- if (!evt[type]) {
54260
- evt[type] = [fn];
54261
- } else {
54262
- evt[type].push(fn);
54263
- }
54264
- return thing;
54265
- };
54266
- thing.once = function (type, fn) {
54267
- fn._once = true; // thing.off(fn) still works!
54268
- thing.on(type, fn);
54269
- return thing;
54270
- };
54271
- thing.off = function (type, fn) {
54272
- var c = arguments.length;
54273
- if (c === 1) {
54274
- delete evt[type];
54275
- } else if (c === 0) {
54276
- evt = {};
54277
- } else {
54278
- var et = evt[type];
54279
- if (!et) {
54280
- return thing;
54281
- }
54282
- et.splice(et.indexOf(fn), 1);
54283
- }
54284
- return thing;
54285
- };
54286
- thing.emit = function () {
54287
- var args = atoa(arguments);
54288
- return thing.emitterSnapshot(args.shift()).apply(this, args);
54289
- };
54290
- thing.emitterSnapshot = function (type) {
54291
- var et = (evt[type] || []).slice(0);
54292
- return function () {
54293
- var args = atoa(arguments);
54294
- var ctx = this || thing;
54295
- if (type === 'error' && opts.throws !== false && !et.length) {
54296
- throw args.length === 1 ? args[0] : args;
54297
- }
54298
- et.forEach(function emitter(listen) {
54299
- if (opts.async) {
54300
- debounce(listen, args, ctx);
54301
- } else {
54302
- listen.apply(ctx, args);
54303
- }
54304
- if (listen._once) {
54305
- thing.off(type, listen);
54306
- }
54307
- });
54308
- return thing;
54309
- };
54235
+ var Le = J,
54236
+ ze = Le,
54237
+ Ge = function (n, i, r) {
54238
+ n && ze(function () {
54239
+ n.apply(r || null, i || []);
54240
+ });
54241
+ },
54242
+ le = Ae,
54243
+ Ke = Ge,
54244
+ Ue = function (n, i) {
54245
+ var r = i || {},
54246
+ c = {};
54247
+ return n === void 0 && (n = {}), n.on = function (o, s) {
54248
+ return c[o] ? c[o].push(s) : c[o] = [s], n;
54249
+ }, n.once = function (o, s) {
54250
+ return s._once = !0, n.on(o, s), n;
54251
+ }, n.off = function (o, s) {
54252
+ var w = arguments.length;
54253
+ if (w === 1) delete c[o];else if (w === 0) c = {};else {
54254
+ var S = c[o];
54255
+ if (!S) return n;
54256
+ S.splice(S.indexOf(s), 1);
54257
+ }
54258
+ return n;
54259
+ }, n.emit = function () {
54260
+ var o = le(arguments);
54261
+ return n.emitterSnapshot(o.shift()).apply(this, o);
54262
+ }, n.emitterSnapshot = function (o) {
54263
+ var s = (c[o] || []).slice(0);
54264
+ return function () {
54265
+ var w = le(arguments),
54266
+ S = this || n;
54267
+ if (o === "error" && r.throws !== !1 && !s.length) throw w.length === 1 ? w[0] : w;
54268
+ return s.forEach(function (y) {
54269
+ r.async ? Ke(y, w, S) : y.apply(S, w), y._once && n.off(o, y);
54270
+ }), n;
54271
+ };
54272
+ }, n;
54310
54273
  };
54311
- return thing;
54312
- };
54313
-
54314
- var NativeCustomEvent = commonjsGlobal.CustomEvent;
54315
- function useNative() {
54274
+ const Ve = /* @__PURE__ */Ee(Ue);
54275
+ var we = R.CustomEvent;
54276
+ function We() {
54316
54277
  try {
54317
- var p = new NativeCustomEvent('cat', {
54278
+ var e = new we("cat", {
54318
54279
  detail: {
54319
- foo: 'bar'
54280
+ foo: "bar"
54320
54281
  }
54321
54282
  });
54322
- return 'cat' === p.type && 'bar' === p.detail.foo;
54323
- } catch (e) {}
54324
- return false;
54283
+ return e.type === "cat" && e.detail.foo === "bar";
54284
+ } catch {}
54285
+ return !1;
54325
54286
  }
54326
-
54327
- /**
54328
- * Cross-browser `CustomEvent` constructor.
54329
- *
54330
- * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
54331
- *
54332
- * @public
54333
- */
54334
-
54335
- var customEvent$1 = useNative() ? NativeCustomEvent :
54336
- // IE >= 9
54337
- 'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent(type, params) {
54338
- var e = document.createEvent('CustomEvent');
54339
- if (params) {
54340
- e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
54341
- } else {
54342
- e.initCustomEvent(type, false, false, void 0);
54343
- }
54344
- return e;
54345
- } :
54346
- // IE <= 8
54347
- function CustomEvent(type, params) {
54348
- var e = document.createEventObject();
54349
- e.type = type;
54350
- if (params) {
54351
- e.bubbles = Boolean(params.bubbles);
54352
- e.cancelable = Boolean(params.cancelable);
54353
- e.detail = params.detail;
54354
- } else {
54355
- e.bubbles = false;
54356
- e.cancelable = false;
54357
- e.detail = void 0;
54358
- }
54359
- return e;
54360
- };
54361
-
54362
- var eventmap$1 = [];
54363
- var eventname = '';
54364
- var ron = /^on/;
54365
- for (eventname in commonjsGlobal) {
54366
- if (ron.test(eventname)) {
54367
- eventmap$1.push(eventname.slice(2));
54368
- }
54369
- }
54370
- var eventmap_1 = eventmap$1;
54371
-
54372
- var customEvent = customEvent$1;
54373
- var eventmap = eventmap_1;
54374
- var doc$1 = commonjsGlobal.document;
54375
- var addEvent = addEventEasy;
54376
- var removeEvent = removeEventEasy;
54377
- var hardCache = [];
54378
- if (!commonjsGlobal.addEventListener) {
54379
- addEvent = addEventHard;
54380
- removeEvent = removeEventHard;
54381
- }
54382
- var crossvent$1 = {
54383
- add: addEvent,
54384
- remove: removeEvent,
54385
- fabricate: fabricateEvent
54287
+ var qe = We() ? we :
54288
+ // IE >= 9
54289
+ typeof document < "u" && typeof document.createEvent == "function" ? function (n, i) {
54290
+ var r = document.createEvent("CustomEvent");
54291
+ return i ? r.initCustomEvent(n, i.bubbles, i.cancelable, i.detail) : r.initCustomEvent(n, !1, !1, void 0), r;
54292
+ } :
54293
+ // IE <= 8
54294
+ function (n, i) {
54295
+ var r = document.createEventObject();
54296
+ return r.type = n, i ? (r.bubbles = !!i.bubbles, r.cancelable = !!i.cancelable, r.detail = i.detail) : (r.bubbles = !1, r.cancelable = !1, r.detail = void 0), r;
54297
+ },
54298
+ ye = [],
54299
+ q = "",
54300
+ Je = /^on/;
54301
+ for (q in R) Je.test(q) && ye.push(q.slice(2));
54302
+ var Qe = ye,
54303
+ Ze = qe,
54304
+ et = Qe,
54305
+ $ = R.document,
54306
+ Ce = nt,
54307
+ Se = it,
54308
+ k = [];
54309
+ R.addEventListener || (Ce = rt, Se = ot);
54310
+ var tt = {
54311
+ add: Ce,
54312
+ remove: Se,
54313
+ fabricate: at
54386
54314
  };
54387
- function addEventEasy(el, type, fn, capturing) {
54388
- return el.addEventListener(type, fn, capturing);
54315
+ function nt(e, n, i, r) {
54316
+ return e.addEventListener(n, i, r);
54389
54317
  }
54390
- function addEventHard(el, type, fn) {
54391
- return el.attachEvent('on' + type, wrap$1(el, type, fn));
54318
+ function rt(e, n, i) {
54319
+ return e.attachEvent("on" + n, ct(e, n, i));
54392
54320
  }
54393
- function removeEventEasy(el, type, fn, capturing) {
54394
- return el.removeEventListener(type, fn, capturing);
54321
+ function it(e, n, i, r) {
54322
+ return e.removeEventListener(n, i, r);
54395
54323
  }
54396
- function removeEventHard(el, type, fn) {
54397
- var listener = unwrap(el, type, fn);
54398
- if (listener) {
54399
- return el.detachEvent('on' + type, listener);
54400
- }
54324
+ function ot(e, n, i) {
54325
+ var r = Oe(e, n, i);
54326
+ if (r) return e.detachEvent("on" + n, r);
54401
54327
  }
54402
- function fabricateEvent(el, type, model) {
54403
- var e = eventmap.indexOf(type) === -1 ? makeCustomEvent() : makeClassicEvent();
54404
- if (el.dispatchEvent) {
54405
- el.dispatchEvent(e);
54406
- } else {
54407
- el.fireEvent('on' + type, e);
54328
+ function at(e, n, i) {
54329
+ var r = et.indexOf(n) === -1 ? o() : c();
54330
+ e.dispatchEvent ? e.dispatchEvent(r) : e.fireEvent("on" + n, r);
54331
+ function c() {
54332
+ var s;
54333
+ return $.createEvent ? (s = $.createEvent("Event"), s.initEvent(n, !0, !0)) : $.createEventObject && (s = $.createEventObject()), s;
54408
54334
  }
54409
- function makeClassicEvent() {
54410
- var e;
54411
- if (doc$1.createEvent) {
54412
- e = doc$1.createEvent('Event');
54413
- e.initEvent(type, true, true);
54414
- } else if (doc$1.createEventObject) {
54415
- e = doc$1.createEventObject();
54416
- }
54417
- return e;
54418
- }
54419
- function makeCustomEvent() {
54420
- return new customEvent(type, {
54421
- detail: model
54335
+ function o() {
54336
+ return new Ze(n, {
54337
+ detail: i
54422
54338
  });
54423
54339
  }
54424
54340
  }
54425
- function wrapperFactory(el, type, fn) {
54426
- return function wrapper(originalEvent) {
54427
- var e = originalEvent || commonjsGlobal.event;
54428
- e.target = e.target || e.srcElement;
54429
- e.preventDefault = e.preventDefault || function preventDefault() {
54430
- e.returnValue = false;
54431
- };
54432
- e.stopPropagation = e.stopPropagation || function stopPropagation() {
54433
- e.cancelBubble = true;
54434
- };
54435
- e.which = e.which || e.keyCode;
54436
- fn.call(el, e);
54341
+ function ut(e, n, i) {
54342
+ return function (c) {
54343
+ var o = c || R.event;
54344
+ o.target = o.target || o.srcElement, o.preventDefault = o.preventDefault || function () {
54345
+ o.returnValue = !1;
54346
+ }, o.stopPropagation = o.stopPropagation || function () {
54347
+ o.cancelBubble = !0;
54348
+ }, o.which = o.which || o.keyCode, i.call(e, o);
54437
54349
  };
54438
54350
  }
54439
- function wrap$1(el, type, fn) {
54440
- var wrapper = unwrap(el, type, fn) || wrapperFactory(el, type, fn);
54441
- hardCache.push({
54442
- wrapper: wrapper,
54443
- element: el,
54444
- type: type,
54445
- fn: fn
54446
- });
54447
- return wrapper;
54448
- }
54449
- function unwrap(el, type, fn) {
54450
- var i = find(el, type, fn);
54451
- if (i) {
54452
- var wrapper = hardCache[i].wrapper;
54453
- hardCache.splice(i, 1); // free up a tad of memory
54454
- return wrapper;
54455
- }
54456
- }
54457
- function find(el, type, fn) {
54458
- var i, item;
54459
- for (i = 0; i < hardCache.length; i++) {
54460
- item = hardCache[i];
54461
- if (item.element === el && item.type === type && item.fn === fn) {
54462
- return i;
54463
- }
54464
- }
54465
- }
54466
-
54467
- var cache = {};
54468
- var start = '(?:^|\\s)';
54469
- var end = '(?:\\s|$)';
54470
- function lookupClass(className) {
54471
- var cached = cache[className];
54472
- if (cached) {
54473
- cached.lastIndex = 0;
54474
- } else {
54475
- cache[className] = cached = new RegExp(start + className + end, 'g');
54476
- }
54477
- return cached;
54478
- }
54479
- function addClass(el, className) {
54480
- var current = el.className;
54481
- if (!current.length) {
54482
- el.className = className;
54483
- } else if (!lookupClass(className).test(current)) {
54484
- el.className += ' ' + className;
54485
- }
54486
- }
54487
- function rmClass(el, className) {
54488
- el.className = el.className.replace(lookupClass(className), ' ').trim();
54489
- }
54490
- var classes$2 = {
54491
- add: addClass,
54492
- rm: rmClass
54493
- };
54494
-
54495
- var emitter = emitter$1;
54496
- var crossvent = crossvent$1;
54497
- var classes$1 = classes$2;
54498
- var doc = document;
54499
- var documentElement = doc.documentElement;
54500
- function dragula(initialContainers, options) {
54501
- var len = arguments.length;
54502
- if (len === 1 && Array.isArray(initialContainers) === false) {
54503
- options = initialContainers;
54504
- initialContainers = [];
54505
- }
54506
- var _mirror; // mirror image
54507
- var _source; // source container
54508
- var _item; // item being dragged
54509
- var _offsetX; // reference x
54510
- var _offsetY; // reference y
54511
- var _moveX; // reference move x
54512
- var _moveY; // reference move y
54513
- var _initialSibling; // reference sibling when grabbed
54514
- var _currentSibling; // reference sibling now
54515
- var _copy; // item used for copying
54516
- var _renderTimer; // timer for setTimeout renderMirrorImage
54517
- var _lastDropTarget = null; // last container item was over
54518
- var _grabbed; // holds mousedown context until first mousemove
54519
-
54520
- var o = options || {};
54521
- if (o.moves === void 0) {
54522
- o.moves = always;
54523
- }
54524
- if (o.accepts === void 0) {
54525
- o.accepts = always;
54526
- }
54527
- if (o.invalid === void 0) {
54528
- o.invalid = invalidTarget;
54529
- }
54530
- if (o.containers === void 0) {
54531
- o.containers = initialContainers || [];
54532
- }
54533
- if (o.isContainer === void 0) {
54534
- o.isContainer = never;
54535
- }
54536
- if (o.copy === void 0) {
54537
- o.copy = false;
54538
- }
54539
- if (o.copySortSource === void 0) {
54540
- o.copySortSource = false;
54541
- }
54542
- if (o.revertOnSpill === void 0) {
54543
- o.revertOnSpill = false;
54544
- }
54545
- if (o.removeOnSpill === void 0) {
54546
- o.removeOnSpill = false;
54547
- }
54548
- if (o.direction === void 0) {
54549
- o.direction = 'vertical';
54550
- }
54551
- if (o.ignoreInputTextSelection === void 0) {
54552
- o.ignoreInputTextSelection = true;
54553
- }
54554
- if (o.mirrorContainer === void 0) {
54555
- o.mirrorContainer = doc.body;
54556
- }
54557
- var drake = emitter({
54558
- containers: o.containers,
54559
- start: manualStart,
54560
- end: end,
54561
- cancel: cancel,
54562
- remove: remove,
54563
- destroy: destroy,
54564
- canMove: canMove,
54565
- dragging: false
54351
+ function ct(e, n, i) {
54352
+ var r = Oe(e, n, i) || ut(e, n, i);
54353
+ return k.push({
54354
+ wrapper: r,
54355
+ element: e,
54356
+ type: n,
54357
+ fn: i
54358
+ }), r;
54359
+ }
54360
+ function Oe(e, n, i) {
54361
+ var r = ft(e, n, i);
54362
+ if (r) {
54363
+ var c = k[r].wrapper;
54364
+ return k.splice(r, 1), c;
54365
+ }
54366
+ }
54367
+ function ft(e, n, i) {
54368
+ var r, c;
54369
+ for (r = 0; r < k.length; r++) if (c = k[r], c.element === e && c.type === n && c.fn === i) return r;
54370
+ }
54371
+ const N = /* @__PURE__ */Ee(tt);
54372
+ var ve = {},
54373
+ lt = "(?:^|\\s)",
54374
+ vt = "(?:\\s|$)";
54375
+ function Te(e) {
54376
+ var n = ve[e];
54377
+ return n ? n.lastIndex = 0 : ve[e] = n = new RegExp(lt + e + vt, "g"), n;
54378
+ }
54379
+ function j(e, n) {
54380
+ var i = e.className;
54381
+ i.length ? Te(n).test(i) || (e.className += " " + n) : e.className = n;
54382
+ }
54383
+ function F(e, n) {
54384
+ e.className = e.className.replace(Te(n), " ").trim();
54385
+ }
54386
+ window.global || (window.global = window);
54387
+ var I = document,
54388
+ C = I.documentElement;
54389
+ function pt(e, n) {
54390
+ var i = arguments.length;
54391
+ i === 1 && Array.isArray(e) === !1 && (n = e, e = []);
54392
+ var r,
54393
+ c,
54394
+ o,
54395
+ s,
54396
+ w,
54397
+ S,
54398
+ A,
54399
+ y,
54400
+ Y,
54401
+ d,
54402
+ H,
54403
+ M = null,
54404
+ P,
54405
+ u = n || {};
54406
+ u.moves === void 0 && (u.moves = pe), u.accepts === void 0 && (u.accepts = pe), u.invalid === void 0 && (u.invalid = Ie), u.containers === void 0 && (u.containers = e || []), u.isContainer === void 0 && (u.isContainer = dt), u.copy === void 0 && (u.copy = !1), u.copySortSource === void 0 && (u.copySortSource = !1), u.revertOnSpill === void 0 && (u.revertOnSpill = !1), u.removeOnSpill === void 0 && (u.removeOnSpill = !1), u.direction === void 0 && (u.direction = "vertical"), u.ignoreInputTextSelection === void 0 && (u.ignoreInputTextSelection = !0), u.mirrorContainer === void 0 && (u.mirrorContainer = I.body);
54407
+ var v = Ve({
54408
+ containers: u.containers,
54409
+ start: Ne,
54410
+ end: ne,
54411
+ cancel: ae,
54412
+ remove: oe,
54413
+ destroy: Me,
54414
+ canMove: Be,
54415
+ dragging: !1
54566
54416
  });
54567
- if (o.removeOnSpill === true) {
54568
- drake.on('over', spillOver).on('out', spillOut);
54569
- }
54570
- events();
54571
- return drake;
54572
- function isContainer(el) {
54573
- return drake.containers.indexOf(el) !== -1 || o.isContainer(el);
54417
+ return u.removeOnSpill === !0 && v.on("over", Pe).on("out", xe), Q(), v;
54418
+ function L(t) {
54419
+ return v.containers.indexOf(t) !== -1 || u.isContainer(t);
54574
54420
  }
54575
- function events(remove) {
54576
- var op = remove ? 'remove' : 'add';
54577
- touchy(documentElement, op, 'mousedown', grab);
54578
- touchy(documentElement, op, 'mouseup', release);
54421
+ function Q(t) {
54422
+ var a = t ? "remove" : "add";
54423
+ x(C, a, "mousedown", Xe), x(C, a, "mouseup", K);
54579
54424
  }
54580
- function eventualMovements(remove) {
54581
- var op = remove ? 'remove' : 'add';
54582
- touchy(documentElement, op, 'mousemove', startBecauseMouseMoved);
54425
+ function z(t) {
54426
+ var a = t ? "remove" : "add";
54427
+ x(C, a, "mousemove", Ye);
54583
54428
  }
54584
- function movements(remove) {
54585
- var op = remove ? 'remove' : 'add';
54586
- crossvent[op](documentElement, 'selectstart', preventGrabbed); // IE8
54587
- crossvent[op](documentElement, 'click', preventGrabbed);
54429
+ function Z(t) {
54430
+ var a = t ? "remove" : "add";
54431
+ N[a](C, "selectstart", ee), N[a](C, "click", ee);
54588
54432
  }
54589
- function destroy() {
54590
- events(true);
54591
- release({});
54433
+ function Me() {
54434
+ Q(!0), K({});
54592
54435
  }
54593
- function preventGrabbed(e) {
54594
- if (_grabbed) {
54595
- e.preventDefault();
54596
- }
54436
+ function ee(t) {
54437
+ P && t.preventDefault();
54597
54438
  }
54598
- function grab(e) {
54599
- _moveX = e.clientX;
54600
- _moveY = e.clientY;
54601
- var ignore = whichMouseButton(e) !== 1 || e.metaKey || e.ctrlKey;
54602
- if (ignore) {
54603
- return; // we only care about honest-to-god left clicks and touch events
54604
- }
54605
-
54606
- var item = e.target;
54607
- var context = canStart(item);
54608
- if (!context) {
54609
- return;
54610
- }
54611
- _grabbed = context;
54612
- eventualMovements();
54613
- if (e.type === 'mousedown') {
54614
- if (isInput$1(item)) {
54615
- // see also: https://github.com/bevacqua/dragula/issues/208
54616
- item.focus(); // fixes https://github.com/bevacqua/dragula/issues/176
54617
- } else {
54618
- e.preventDefault(); // fixes https://github.com/bevacqua/dragula/issues/155
54619
- }
54439
+ function Xe(t) {
54440
+ S = t.clientX, A = t.clientY;
54441
+ var a = se(t) !== 1 || t.metaKey || t.ctrlKey;
54442
+ if (!a) {
54443
+ var f = t.target,
54444
+ l = G(f);
54445
+ l && (P = l, z(), t.type === "mousedown" && (be(f) ? f.focus() : t.preventDefault()));
54620
54446
  }
54621
54447
  }
54622
-
54623
- function startBecauseMouseMoved(e) {
54624
- if (!_grabbed) {
54625
- return;
54626
- }
54627
- if (whichMouseButton(e) === 0) {
54628
- release({});
54629
- return; // when text is selected on an input and then dragged, mouseup doesn't fire. this is our only hope
54630
- }
54631
-
54632
- // truthy check fixes #239, equality fixes #207, fixes #501
54633
- if (e.clientX !== void 0 && Math.abs(e.clientX - _moveX) <= (o.slideFactorX || 0) && e.clientY !== void 0 && Math.abs(e.clientY - _moveY) <= (o.slideFactorY || 0)) {
54634
- return;
54635
- }
54636
- if (o.ignoreInputTextSelection) {
54637
- var clientX = getCoord('clientX', e) || 0;
54638
- var clientY = getCoord('clientY', e) || 0;
54639
- var elementBehindCursor = doc.elementFromPoint(clientX, clientY);
54640
- if (isInput$1(elementBehindCursor)) {
54641
- return;
54642
- }
54643
- }
54644
- var grabbed = _grabbed; // call to end() unsets _grabbed
54645
- eventualMovements(true);
54646
- movements();
54647
- end();
54648
- start(grabbed);
54649
- var offset = getOffset(_item);
54650
- _offsetX = getCoord('pageX', e) - offset.left;
54651
- _offsetY = getCoord('pageY', e) - offset.top;
54652
- classes$1.add(_copy || _item, 'gu-transit');
54653
- renderMirrorImage();
54654
- drag(e);
54655
- }
54656
- function canStart(item) {
54657
- if (drake.dragging && _mirror) {
54658
- return;
54659
- }
54660
- if (isContainer(item)) {
54661
- return; // don't drag container itself
54662
- }
54663
-
54664
- var handle = item;
54665
- while (getParent$1(item) && isContainer(getParent$1(item)) === false) {
54666
- if (o.invalid(item, handle)) {
54448
+ function Ye(t) {
54449
+ if (P) {
54450
+ if (se(t) === 0) {
54451
+ K({});
54667
54452
  return;
54668
54453
  }
54669
- item = getParent$1(item); // drag target should be a top element
54670
- if (!item) {
54671
- return;
54454
+ if (!(t.clientX !== void 0 && Math.abs(t.clientX - S) <= (u.slideFactorX || 0) && t.clientY !== void 0 && Math.abs(t.clientY - A) <= (u.slideFactorY || 0))) {
54455
+ if (u.ignoreInputTextSelection) {
54456
+ var a = _("clientX", t) || 0,
54457
+ f = _("clientY", t) || 0,
54458
+ l = I.elementFromPoint(a, f);
54459
+ if (be(l)) return;
54460
+ }
54461
+ var g = P;
54462
+ z(!0), Z(), ne(), te(g);
54463
+ var m = st(o);
54464
+ s = _("pageX", t) - m.left, w = _("pageY", t) - m.top, j(d || o, "gu-transit"), De(), W(t);
54465
+ }
54466
+ }
54467
+ }
54468
+ function G(t) {
54469
+ if (!(v.dragging && r) && !L(t)) {
54470
+ for (var a = t; h(t) && L(h(t)) === !1;) if (u.invalid(t, a) || (t = h(t), !t)) return;
54471
+ var f = h(t);
54472
+ if (f && !u.invalid(t, a)) {
54473
+ var l = u.moves(t, f, a, D(t));
54474
+ if (l) return {
54475
+ item: t,
54476
+ source: f
54477
+ };
54672
54478
  }
54673
54479
  }
54674
- var source = getParent$1(item);
54675
- if (!source) {
54676
- return;
54677
- }
54678
- if (o.invalid(item, handle)) {
54679
- return;
54680
- }
54681
- var movable = o.moves(item, source, handle, nextEl(item));
54682
- if (!movable) {
54683
- return;
54684
- }
54685
- return {
54686
- item: item,
54687
- source: source
54688
- };
54689
- }
54690
- function canMove(item) {
54691
- return !!canStart(item);
54692
- }
54693
- function manualStart(item) {
54694
- var context = canStart(item);
54695
- if (context) {
54696
- start(context);
54697
- }
54698
54480
  }
54699
- function start(context) {
54700
- if (isCopy(context.item, context.source)) {
54701
- _copy = context.item.cloneNode(true);
54702
- drake.emit('cloned', _copy, context.item, 'copy');
54703
- }
54704
- _source = context.source;
54705
- _item = context.item;
54706
- _initialSibling = _currentSibling = nextEl(context.item);
54707
- drake.dragging = true;
54708
- drake.emit('drag', _item, _source);
54709
- }
54710
- function invalidTarget() {
54711
- return false;
54712
- }
54713
- function end() {
54714
- if (!drake.dragging) {
54715
- return;
54716
- }
54717
- var item = _copy || _item;
54718
- drop(item, getParent$1(item));
54719
- }
54720
- function ungrab() {
54721
- _grabbed = false;
54722
- eventualMovements(true);
54723
- movements(true);
54724
- }
54725
- function release(e) {
54726
- ungrab();
54727
- if (!drake.dragging) {
54728
- return;
54729
- }
54730
- var item = _copy || _item;
54731
- var clientX = getCoord('clientX', e) || 0;
54732
- var clientY = getCoord('clientY', e) || 0;
54733
- var elementBehindCursor = getElementBehindPoint(_mirror, clientX, clientY);
54734
- var dropTarget = findDropTarget(elementBehindCursor, clientX, clientY);
54735
- if (dropTarget && (_copy && o.copySortSource || !_copy || dropTarget !== _source)) {
54736
- drop(item, dropTarget);
54737
- } else if (o.removeOnSpill) {
54738
- remove();
54739
- } else {
54740
- cancel();
54741
- }
54742
- }
54743
- function drop(item, target) {
54744
- var parent = getParent$1(item);
54745
- if (_copy && o.copySortSource && target === _source) {
54746
- parent.removeChild(_item);
54747
- }
54748
- if (isInitialPlacement(target)) {
54749
- drake.emit('cancel', item, _source, _source);
54750
- } else {
54751
- drake.emit('drop', item, target, _source, _currentSibling);
54752
- }
54753
- cleanup();
54754
- }
54755
- function remove() {
54756
- if (!drake.dragging) {
54481
+ function Be(t) {
54482
+ return !!G(t);
54483
+ }
54484
+ function Ne(t) {
54485
+ var a = G(t);
54486
+ a && te(a);
54487
+ }
54488
+ function te(t) {
54489
+ Re(t.item, t.source) && (d = t.item.cloneNode(!0), v.emit("cloned", d, t.item, "copy")), c = t.source, o = t.item, y = Y = D(t.item), v.dragging = !0, v.emit("drag", o, c);
54490
+ }
54491
+ function Ie() {
54492
+ return !1;
54493
+ }
54494
+ function ne() {
54495
+ if (v.dragging) {
54496
+ var t = d || o;
54497
+ ie(t, h(t));
54498
+ }
54499
+ }
54500
+ function re() {
54501
+ P = !1, z(!0), Z(!0);
54502
+ }
54503
+ function K(t) {
54504
+ if (re(), !!v.dragging) {
54505
+ var a = d || o,
54506
+ f = _("clientX", t) || 0,
54507
+ l = _("clientY", t) || 0,
54508
+ g = me(r, f, l),
54509
+ m = ue(g, f, l);
54510
+ m && (d && u.copySortSource || !d || m !== c) ? ie(a, m) : u.removeOnSpill ? oe() : ae();
54511
+ }
54512
+ }
54513
+ function ie(t, a) {
54514
+ var f = h(t);
54515
+ d && u.copySortSource && a === c && f.removeChild(o), V(a) ? v.emit("cancel", t, c, c) : v.emit("drop", t, a, c, Y), U();
54516
+ }
54517
+ function oe() {
54518
+ if (v.dragging) {
54519
+ var t = d || o,
54520
+ a = h(t);
54521
+ a && a.removeChild(t), v.emit(d ? "cancel" : "remove", t, a, c), U();
54522
+ }
54523
+ }
54524
+ function ae(t) {
54525
+ if (v.dragging) {
54526
+ var a = arguments.length > 0 ? t : u.revertOnSpill,
54527
+ f = d || o,
54528
+ l = h(f),
54529
+ g = V(l);
54530
+ g === !1 && a && (d ? l && l.removeChild(d) : c.insertBefore(f, y)), g || a ? v.emit("cancel", f, c, c) : v.emit("drop", f, l, c, Y), U();
54531
+ }
54532
+ }
54533
+ function U() {
54534
+ var t = d || o;
54535
+ re(), ke(), t && F(t, "gu-transit"), H && clearTimeout(H), v.dragging = !1, M && v.emit("out", t, M, c), v.emit("dragend", t), c = o = d = y = Y = H = M = null;
54536
+ }
54537
+ function V(t, a) {
54538
+ var f;
54539
+ return a !== void 0 ? f = a : r ? f = Y : f = D(d || o), t === c && f === y;
54540
+ }
54541
+ function ue(t, a, f) {
54542
+ for (var l = t; l && !g();) l = h(l);
54543
+ return l;
54544
+ function g() {
54545
+ var m = L(l);
54546
+ if (m === !1) return !1;
54547
+ var B = ce(l, t),
54548
+ p = fe(l, B, a, f),
54549
+ O = V(l, p);
54550
+ return O ? !0 : u.accepts(o, l, c, p);
54551
+ }
54552
+ }
54553
+ function W(t) {
54554
+ if (!r) return;
54555
+ t.preventDefault();
54556
+ var a = _("clientX", t) || 0,
54557
+ f = _("clientY", t) || 0,
54558
+ l = a - s,
54559
+ g = f - w;
54560
+ r.style.left = l + "px", r.style.top = g + "px";
54561
+ var m = d || o,
54562
+ B = me(r, a, f),
54563
+ p = ue(B, a, f),
54564
+ O = p !== null && p !== M;
54565
+ (O || p === null) && (je(), M = p, $e());
54566
+ var b = h(m);
54567
+ if (p === c && d && !u.copySortSource) {
54568
+ b && b.removeChild(m);
54757
54569
  return;
54758
54570
  }
54759
- var item = _copy || _item;
54760
- var parent = getParent$1(item);
54761
- if (parent) {
54762
- parent.removeChild(item);
54763
- }
54764
- drake.emit(_copy ? 'cancel' : 'remove', item, parent, _source);
54765
- cleanup();
54766
- }
54767
- function cancel(revert) {
54768
- if (!drake.dragging) {
54571
+ var E,
54572
+ X = ce(p, B);
54573
+ if (X !== null) E = fe(p, X, a, f);else if (u.revertOnSpill === !0 && !d) E = y, p = c;else {
54574
+ d && b && b.removeChild(m);
54769
54575
  return;
54770
54576
  }
54771
- var reverts = arguments.length > 0 ? revert : o.revertOnSpill;
54772
- var item = _copy || _item;
54773
- var parent = getParent$1(item);
54774
- var initial = isInitialPlacement(parent);
54775
- if (initial === false && reverts) {
54776
- if (_copy) {
54777
- if (parent) {
54778
- parent.removeChild(_copy);
54779
- }
54780
- } else {
54781
- _source.insertBefore(item, _initialSibling);
54782
- }
54783
- }
54784
- if (initial || reverts) {
54785
- drake.emit('cancel', item, _source, _source);
54786
- } else {
54787
- drake.emit('drop', item, parent, _source, _currentSibling);
54788
- }
54789
- cleanup();
54790
- }
54791
- function cleanup() {
54792
- var item = _copy || _item;
54793
- ungrab();
54794
- removeMirrorImage();
54795
- if (item) {
54796
- classes$1.rm(item, 'gu-transit');
54577
+ (E === null && O || E !== m && E !== D(m)) && (Y = E, p.insertBefore(m, E), v.emit("shadow", m, p, c));
54578
+ function T(Fe) {
54579
+ v.emit(Fe, m, M, c);
54797
54580
  }
54798
- if (_renderTimer) {
54799
- clearTimeout(_renderTimer);
54581
+ function $e() {
54582
+ O && T("over");
54800
54583
  }
54801
- drake.dragging = false;
54802
- if (_lastDropTarget) {
54803
- drake.emit('out', item, _lastDropTarget, _source);
54584
+ function je() {
54585
+ M && T("out");
54804
54586
  }
54805
- drake.emit('dragend', item);
54806
- _source = _item = _copy = _initialSibling = _currentSibling = _renderTimer = _lastDropTarget = null;
54807
54587
  }
54808
- function isInitialPlacement(target, s) {
54809
- var sibling;
54810
- if (s !== void 0) {
54811
- sibling = s;
54812
- } else if (_mirror) {
54813
- sibling = _currentSibling;
54814
- } else {
54815
- sibling = nextEl(_copy || _item);
54816
- }
54817
- return target === _source && sibling === _initialSibling;
54588
+ function Pe(t) {
54589
+ F(t, "gu-hide");
54818
54590
  }
54819
- function findDropTarget(elementBehindCursor, clientX, clientY) {
54820
- var target = elementBehindCursor;
54821
- while (target && !accepted()) {
54822
- target = getParent$1(target);
54823
- }
54824
- return target;
54825
- function accepted() {
54826
- var droppable = isContainer(target);
54827
- if (droppable === false) {
54828
- return false;
54829
- }
54830
- var immediate = getImmediateChild(target, elementBehindCursor);
54831
- var reference = getReference(target, immediate, clientX, clientY);
54832
- var initial = isInitialPlacement(target, reference);
54833
- if (initial) {
54834
- return true; // should always be able to drop it right back where it was
54835
- }
54836
-
54837
- return o.accepts(_item, target, _source, reference);
54838
- }
54591
+ function xe(t) {
54592
+ v.dragging && j(t, "gu-hide");
54839
54593
  }
54840
- function drag(e) {
54841
- if (!_mirror) {
54842
- return;
54843
- }
54844
- e.preventDefault();
54845
- var clientX = getCoord('clientX', e) || 0;
54846
- var clientY = getCoord('clientY', e) || 0;
54847
- var x = clientX - _offsetX;
54848
- var y = clientY - _offsetY;
54849
- _mirror.style.left = x + 'px';
54850
- _mirror.style.top = y + 'px';
54851
- var item = _copy || _item;
54852
- var elementBehindCursor = getElementBehindPoint(_mirror, clientX, clientY);
54853
- var dropTarget = findDropTarget(elementBehindCursor, clientX, clientY);
54854
- var changed = dropTarget !== null && dropTarget !== _lastDropTarget;
54855
- if (changed || dropTarget === null) {
54856
- out();
54857
- _lastDropTarget = dropTarget;
54858
- over();
54859
- }
54860
- var parent = getParent$1(item);
54861
- if (dropTarget === _source && _copy && !o.copySortSource) {
54862
- if (parent) {
54863
- parent.removeChild(item);
54864
- }
54865
- return;
54866
- }
54867
- var reference;
54868
- var immediate = getImmediateChild(dropTarget, elementBehindCursor);
54869
- if (immediate !== null) {
54870
- reference = getReference(dropTarget, immediate, clientX, clientY);
54871
- } else if (o.revertOnSpill === true && !_copy) {
54872
- reference = _initialSibling;
54873
- dropTarget = _source;
54874
- } else {
54875
- if (_copy && parent) {
54876
- parent.removeChild(item);
54877
- }
54878
- return;
54879
- }
54880
- if (reference === null && changed || reference !== item && reference !== nextEl(item)) {
54881
- _currentSibling = reference;
54882
- dropTarget.insertBefore(item, reference);
54883
- drake.emit('shadow', item, dropTarget, _source);
54884
- }
54885
- function moved(type) {
54886
- drake.emit(type, item, _lastDropTarget, _source);
54887
- }
54888
- function over() {
54889
- if (changed) {
54890
- moved('over');
54891
- }
54892
- }
54893
- function out() {
54894
- if (_lastDropTarget) {
54895
- moved('out');
54896
- }
54594
+ function De() {
54595
+ if (!r) {
54596
+ var t = o.getBoundingClientRect();
54597
+ r = o.cloneNode(!0), r.style.width = ge(t) + "px", r.style.height = he(t) + "px", F(r, "gu-transit"), j(r, "gu-mirror"), u.mirrorContainer.appendChild(r), x(C, "add", "mousemove", W), j(u.mirrorContainer, "gu-unselectable"), v.emit("cloned", r, o, "mirror");
54897
54598
  }
54898
54599
  }
54899
- function spillOver(el) {
54900
- classes$1.rm(el, 'gu-hide');
54600
+ function ke() {
54601
+ r && (F(u.mirrorContainer, "gu-unselectable"), x(C, "remove", "mousemove", W), h(r).removeChild(r), r = null);
54901
54602
  }
54902
- function spillOut(el) {
54903
- if (drake.dragging) {
54904
- classes$1.add(el, 'gu-hide');
54905
- }
54603
+ function ce(t, a) {
54604
+ for (var f = a; f !== t && h(f) !== t;) f = h(f);
54605
+ return f === C ? null : f;
54906
54606
  }
54907
- function renderMirrorImage() {
54908
- if (_mirror) {
54909
- return;
54910
- }
54911
- var rect = _item.getBoundingClientRect();
54912
- _mirror = _item.cloneNode(true);
54913
- _mirror.style.width = getRectWidth(rect) + 'px';
54914
- _mirror.style.height = getRectHeight(rect) + 'px';
54915
- classes$1.rm(_mirror, 'gu-transit');
54916
- classes$1.add(_mirror, 'gu-mirror');
54917
- o.mirrorContainer.appendChild(_mirror);
54918
- touchy(documentElement, 'add', 'mousemove', drag);
54919
- classes$1.add(o.mirrorContainer, 'gu-unselectable');
54920
- drake.emit('cloned', _mirror, _item, 'mirror');
54921
- }
54922
- function removeMirrorImage() {
54923
- if (_mirror) {
54924
- classes$1.rm(o.mirrorContainer, 'gu-unselectable');
54925
- touchy(documentElement, 'remove', 'mousemove', drag);
54926
- getParent$1(_mirror).removeChild(_mirror);
54927
- _mirror = null;
54928
- }
54929
- }
54930
- function getImmediateChild(dropTarget, target) {
54931
- var immediate = target;
54932
- while (immediate !== dropTarget && getParent$1(immediate) !== dropTarget) {
54933
- immediate = getParent$1(immediate);
54934
- }
54935
- if (immediate === documentElement) {
54607
+ function fe(t, a, f, l) {
54608
+ var g = (typeof u.direction == "function" ? u.direction(o, t, c) : u.direction) === "horizontal",
54609
+ m = a !== t ? p() : B();
54610
+ return m;
54611
+ function B() {
54612
+ var b = t.children.length,
54613
+ E,
54614
+ X,
54615
+ T;
54616
+ for (E = 0; E < b; E++) if (X = t.children[E], T = X.getBoundingClientRect(), g && T.left + T.width / 2 > f || !g && T.top + T.height / 2 > l) return X;
54936
54617
  return null;
54937
54618
  }
54938
- return immediate;
54939
- }
54940
- function getReference(dropTarget, target, x, y) {
54941
- var horizontal = o.direction === 'horizontal';
54942
- var reference = target !== dropTarget ? inside() : outside();
54943
- return reference;
54944
- function outside() {
54945
- // slower, but able to figure out any position
54946
- var len = dropTarget.children.length;
54947
- var i;
54948
- var el;
54949
- var rect;
54950
- for (i = 0; i < len; i++) {
54951
- el = dropTarget.children[i];
54952
- rect = el.getBoundingClientRect();
54953
- if (horizontal && rect.left + rect.width / 2 > x) {
54954
- return el;
54955
- }
54956
- if (!horizontal && rect.top + rect.height / 2 > y) {
54957
- return el;
54958
- }
54959
- }
54960
- return null;
54619
+ function p() {
54620
+ var b = a.getBoundingClientRect();
54621
+ return O(g ? f > b.left + ge(b) / 2 : l > b.top + he(b) / 2);
54961
54622
  }
54962
- function inside() {
54963
- // faster, but only available if dropped inside a child element
54964
- var rect = target.getBoundingClientRect();
54965
- if (horizontal) {
54966
- return resolve(x > rect.left + getRectWidth(rect) / 2);
54967
- }
54968
- return resolve(y > rect.top + getRectHeight(rect) / 2);
54969
- }
54970
- function resolve(after) {
54971
- return after ? nextEl(target) : target;
54623
+ function O(b) {
54624
+ return b ? D(a) : a;
54972
54625
  }
54973
54626
  }
54974
- function isCopy(item, container) {
54975
- return typeof o.copy === 'boolean' ? o.copy : o.copy(item, container);
54627
+ function Re(t, a) {
54628
+ return typeof u.copy == "boolean" ? u.copy : u.copy(t, a);
54976
54629
  }
54977
54630
  }
54978
- function touchy(el, op, type, fn) {
54979
- var touch = {
54980
- mouseup: 'touchend',
54981
- mousedown: 'touchstart',
54982
- mousemove: 'touchmove'
54983
- };
54984
- var pointers = {
54985
- mouseup: 'pointerup',
54986
- mousedown: 'pointerdown',
54987
- mousemove: 'pointermove'
54988
- };
54989
- var microsoft = {
54990
- mouseup: 'MSPointerUp',
54991
- mousedown: 'MSPointerDown',
54992
- mousemove: 'MSPointerMove'
54993
- };
54994
- if (commonjsGlobal.navigator.pointerEnabled) {
54995
- crossvent[op](el, pointers[type], fn);
54996
- } else if (commonjsGlobal.navigator.msPointerEnabled) {
54997
- crossvent[op](el, microsoft[type], fn);
54998
- } else {
54999
- crossvent[op](el, touch[type], fn);
55000
- crossvent[op](el, type, fn);
55001
- }
54631
+ function x(e, n, i, r) {
54632
+ var c = {
54633
+ mouseup: "touchend",
54634
+ mousedown: "touchstart",
54635
+ mousemove: "touchmove"
54636
+ },
54637
+ o = {
54638
+ mouseup: "pointerup",
54639
+ mousedown: "pointerdown",
54640
+ mousemove: "pointermove"
54641
+ },
54642
+ s = {
54643
+ mouseup: "MSPointerUp",
54644
+ mousedown: "MSPointerDown",
54645
+ mousemove: "MSPointerMove"
54646
+ };
54647
+ global.navigator.pointerEnabled ? N[n](e, o[i], r) : global.navigator.msPointerEnabled ? N[n](e, s[i], r) : (N[n](e, c[i], r), N[n](e, i, r));
55002
54648
  }
55003
- function whichMouseButton(e) {
55004
- if (e.touches !== void 0) {
55005
- return e.touches.length;
55006
- }
55007
- if (e.which !== void 0 && e.which !== 0) {
55008
- return e.which;
55009
- } // see https://github.com/bevacqua/dragula/issues/261
55010
- if (e.buttons !== void 0) {
55011
- return e.buttons;
55012
- }
55013
- var button = e.button;
55014
- if (button !== void 0) {
55015
- // see https://github.com/jquery/jquery/blob/99e8ff1baa7ae341e94bb89c3e84570c7c3ad9ea/src/event.js#L573-L575
55016
- return button & 1 ? 1 : button & 2 ? 3 : button & 4 ? 2 : 0;
55017
- }
54649
+ function se(e) {
54650
+ if (e.touches !== void 0) return e.touches.length;
54651
+ if (e.which !== void 0 && e.which !== 0) return e.which;
54652
+ if (e.buttons !== void 0) return e.buttons;
54653
+ var n = e.button;
54654
+ if (n !== void 0) return n & 1 ? 1 : n & 2 ? 3 : n & 4 ? 2 : 0;
55018
54655
  }
55019
- function getOffset(el) {
55020
- var rect = el.getBoundingClientRect();
54656
+ function st(e) {
54657
+ var n = e.getBoundingClientRect();
55021
54658
  return {
55022
- left: rect.left + getScroll('scrollLeft', 'pageXOffset'),
55023
- top: rect.top + getScroll('scrollTop', 'pageYOffset')
54659
+ left: n.left + de("scrollLeft", "pageXOffset"),
54660
+ top: n.top + de("scrollTop", "pageYOffset")
55024
54661
  };
55025
54662
  }
55026
- function getScroll(scrollProp, offsetProp) {
55027
- if (typeof commonjsGlobal[offsetProp] !== 'undefined') {
55028
- return commonjsGlobal[offsetProp];
55029
- }
55030
- if (documentElement.clientHeight) {
55031
- return documentElement[scrollProp];
55032
- }
55033
- return doc.body[scrollProp];
54663
+ function de(e, n) {
54664
+ return typeof global[n] < "u" ? global[n] : C.clientHeight ? C[e] : I.body[e];
55034
54665
  }
55035
- function getElementBehindPoint(point, x, y) {
55036
- point = point || {};
55037
- var state = point.className || '';
55038
- var el;
55039
- point.className += ' gu-hide';
55040
- el = doc.elementFromPoint(x, y);
55041
- point.className = state;
55042
- return el;
54666
+ function me(e, n, i) {
54667
+ e = e || {};
54668
+ var r = e.className || "",
54669
+ c;
54670
+ return e.className += " gu-hide", c = I.elementFromPoint(n, i), e.className = r, c;
55043
54671
  }
55044
- function never() {
55045
- return false;
54672
+ function dt() {
54673
+ return !1;
55046
54674
  }
55047
- function always() {
55048
- return true;
54675
+ function pe() {
54676
+ return !0;
55049
54677
  }
55050
- function getRectWidth(rect) {
55051
- return rect.width || rect.right - rect.left;
54678
+ function ge(e) {
54679
+ return e.width || e.right - e.left;
55052
54680
  }
55053
- function getRectHeight(rect) {
55054
- return rect.height || rect.bottom - rect.top;
54681
+ function he(e) {
54682
+ return e.height || e.bottom - e.top;
55055
54683
  }
55056
- function getParent$1(el) {
55057
- return el.parentNode === doc ? null : el.parentNode;
54684
+ function h(e) {
54685
+ return e.parentNode === I ? null : e.parentNode;
55058
54686
  }
55059
- function isInput$1(el) {
55060
- return el.tagName === 'INPUT' || el.tagName === 'TEXTAREA' || el.tagName === 'SELECT' || isEditable(el);
54687
+ function be(e) {
54688
+ return e.tagName === "INPUT" || e.tagName === "TEXTAREA" || e.tagName === "SELECT" || _e(e);
55061
54689
  }
55062
- function isEditable(el) {
55063
- if (!el) {
55064
- return false;
55065
- } // no parents were editable
55066
- if (el.contentEditable === 'false') {
55067
- return false;
55068
- } // stop the lookup
55069
- if (el.contentEditable === 'true') {
55070
- return true;
55071
- } // found a contentEditable element in the chain
55072
- return isEditable(getParent$1(el)); // contentEditable is set to 'inherit'
54690
+ function _e(e) {
54691
+ return !e || e.contentEditable === "false" ? !1 : e.contentEditable === "true" ? !0 : _e(h(e));
55073
54692
  }
55074
-
55075
- function nextEl(el) {
55076
- return el.nextElementSibling || manually();
55077
- function manually() {
55078
- var sibling = el;
55079
- do {
55080
- sibling = sibling.nextSibling;
55081
- } while (sibling && sibling.nodeType !== 1);
55082
- return sibling;
54693
+ function D(e) {
54694
+ return e.nextElementSibling || n();
54695
+ function n() {
54696
+ var i = e;
54697
+ do i = i.nextSibling; while (i && i.nodeType !== 1);
54698
+ return i;
55083
54699
  }
55084
54700
  }
55085
- function getEventHost(e) {
55086
- // on touchend event, we have to use `e.changedTouches`
55087
- // see http://stackoverflow.com/questions/7192563/touchend-event-properties
55088
- // see https://github.com/bevacqua/dragula/issues/34
55089
- if (e.targetTouches && e.targetTouches.length) {
55090
- return e.targetTouches[0];
55091
- }
55092
- if (e.changedTouches && e.changedTouches.length) {
55093
- return e.changedTouches[0];
55094
- }
55095
- return e;
54701
+ function mt(e) {
54702
+ return e.targetTouches && e.targetTouches.length ? e.targetTouches[0] : e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : e;
55096
54703
  }
55097
- function getCoord(coord, e) {
55098
- var host = getEventHost(e);
55099
- var missMap = {
55100
- pageX: 'clientX',
55101
- // IE8
55102
- pageY: 'clientY' // IE8
55103
- };
54704
+ function _(e, n) {
54705
+ var i = mt(n),
54706
+ r = {
54707
+ pageX: "clientX",
54708
+ // IE8
54709
+ pageY: "clientY"
54710
+ // IE8
54711
+ };
55104
54712
 
55105
- if (coord in missMap && !(coord in host) && missMap[coord] in host) {
55106
- coord = missMap[coord];
55107
- }
55108
- return host[coord];
54713
+ return e in r && !(e in i) && r[e] in i && (e = r[e]), i[e];
55109
54714
  }
55110
- var dragula_1 = dragula;
55111
-
55112
- var dragula$1 = /*@__PURE__*/getDefaultExportFromCjs(dragula_1);
55113
54715
 
55114
54716
  function _mergeNamespaces$1(n, m) {
55115
54717
  m.forEach(function (e) {
@@ -58699,26 +58301,26 @@
58699
58301
  return fn.apply(null, args);
58700
58302
  }
58701
58303
 
58702
- /**
58703
- * A factory to create a configurable debouncer.
58704
- *
58705
- * @param {number|boolean} [config=true]
58304
+ /**
58305
+ * A factory to create a configurable debouncer.
58306
+ *
58307
+ * @param {number|boolean} [config=true]
58706
58308
  */
58707
58309
  function DebounceFactory(config = true) {
58708
58310
  const timeout = typeof config === 'number' ? config : config ? 300 : 0;
58709
58311
  if (timeout) {
58710
- return fn => debounce$2(fn, timeout);
58312
+ return fn => debounce(fn, timeout);
58711
58313
  } else {
58712
58314
  return fn => fn;
58713
58315
  }
58714
58316
  }
58715
58317
  DebounceFactory.$inject = ['config.debounce'];
58716
58318
  class FieldFactory {
58717
- /**
58718
- * @constructor
58719
- *
58720
- * @param { import('./FormFieldRegistry').default } formFieldRegistry
58721
- * @param { import('@bpmn-io/form-js-viewer').FormFields } formFields
58319
+ /**
58320
+ * @constructor
58321
+ *
58322
+ * @param { import('./FormFieldRegistry').default } formFieldRegistry
58323
+ * @param { import('@bpmn-io/form-js-viewer').FormFields } formFields
58722
58324
  */
58723
58325
  constructor(formFieldRegistry, formFields) {
58724
58326
  this._formFieldRegistry = formFieldRegistry;
@@ -58780,11 +58382,11 @@
58780
58382
  }
58781
58383
  FieldFactory.$inject = ['formFieldRegistry', 'formFields'];
58782
58384
  class FormFieldRegistry extends FormFieldRegistry$1 {
58783
- /**
58784
- * Updates a form fields id.
58785
- *
58786
- * @param {Object} formField
58787
- * @param {string} newId
58385
+ /**
58386
+ * Updates a form fields id.
58387
+ *
58388
+ * @param {Object} formField
58389
+ * @param {string} newId
58788
58390
  */
58789
58391
  updateId(formField, newId) {
58790
58392
  this._validateId(newId);
@@ -58805,13 +58407,13 @@
58805
58407
  }
58806
58408
  }
58807
58409
 
58808
- /**
58809
- * Validate the suitability of the given id and signals a problem
58810
- * with an exception.
58811
- *
58812
- * @param {string} id
58813
- *
58814
- * @throws {Error} if id is empty or already assigned
58410
+ /**
58411
+ * Validate the suitability of the given id and signals a problem
58412
+ * with an exception.
58413
+ *
58414
+ * @param {string} id
58415
+ *
58416
+ * @throws {Error} if id is empty or already assigned
58815
58417
  */
58816
58418
  _validateId(id) {
58817
58419
  if (!id) {
@@ -58827,11 +58429,11 @@
58827
58429
  const MIN_COLUMNS = 2;
58828
58430
  const MAX_FIELDS_PER_ROW = 4;
58829
58431
  class FormLayoutValidator {
58830
- /**
58831
- * @constructor
58832
- *
58833
- * @param { import('./FormLayouter').default } formLayouter
58834
- * @param { import('./FormFieldRegistry').default } formFieldRegistry
58432
+ /**
58433
+ * @constructor
58434
+ *
58435
+ * @param { import('./FormLayouter').default } formLayouter
58436
+ * @param { import('./FormFieldRegistry').default } formFieldRegistry
58835
58437
  */
58836
58438
  constructor(formLayouter, formFieldRegistry) {
58837
58439
  this._formLayouter = formLayouter;
@@ -58890,11 +58492,11 @@
58890
58492
  return MAX_COLUMNS_PER_ROW - autoCols * 2;
58891
58493
  }
58892
58494
  class Importer {
58893
- /**
58894
- * @constructor
58895
- * @param { import('../core/FormFieldRegistry').default } formFieldRegistry
58896
- * @param { import('../core/FieldFactory').default } fieldFactory
58897
- * @param { import('../core/FormLayouter').default } formLayouter
58495
+ /**
58496
+ * @constructor
58497
+ * @param { import('../core/FormFieldRegistry').default } formFieldRegistry
58498
+ * @param { import('../core/FieldFactory').default } fieldFactory
58499
+ * @param { import('../core/FormLayouter').default } formLayouter
58898
58500
  */
58899
58501
  constructor(formFieldRegistry, fieldFactory, formLayouter) {
58900
58502
  this._formFieldRegistry = formFieldRegistry;
@@ -58902,21 +58504,21 @@
58902
58504
  this._formLayouter = formLayouter;
58903
58505
  }
58904
58506
 
58905
- /**
58906
- * Import schema creating rows, fields, attaching additional
58907
- * information to each field and adding fields to the
58908
- * field registry.
58909
- *
58910
- * Additional information attached:
58911
- *
58912
- * * `id` (unless present)
58913
- * * `_parent`
58914
- * * `_path`
58915
- *
58916
- * @param {any} schema
58917
- *
58918
- * @typedef {{ warnings: Error[], schema: any }} ImportResult
58919
- * @returns {ImportResult}
58507
+ /**
58508
+ * Import schema creating rows, fields, attaching additional
58509
+ * information to each field and adding fields to the
58510
+ * field registry.
58511
+ *
58512
+ * Additional information attached:
58513
+ *
58514
+ * * `id` (unless present)
58515
+ * * `_parent`
58516
+ * * `_path`
58517
+ *
58518
+ * @param {any} schema
58519
+ *
58520
+ * @typedef {{ warnings: Error[], schema: any }} ImportResult
58521
+ * @returns {ImportResult}
58920
58522
  */
58921
58523
  importSchema(schema) {
58922
58524
  // TODO: Add warnings
@@ -58934,12 +58536,12 @@
58934
58536
  }
58935
58537
  }
58936
58538
 
58937
- /**
58938
- * @param {{[x: string]: any}} fieldAttrs
58939
- * @param {String} [parentId]
58940
- * @param {number} [index]
58941
- *
58942
- * @return {any} field
58539
+ /**
58540
+ * @param {{[x: string]: any}} fieldAttrs
58541
+ * @param {String} [parentId]
58542
+ * @param {number} [index]
58543
+ *
58544
+ * @return {any} field
58943
58545
  */
58944
58546
  importFormField(fieldAttrs, parentId, index) {
58945
58547
  const {
@@ -58976,11 +58578,11 @@
58976
58578
  return field;
58977
58579
  }
58978
58580
 
58979
- /**
58980
- * @param {Array<any>} components
58981
- * @param {string} parentId
58982
- *
58983
- * @return {Array<any>} imported components
58581
+ /**
58582
+ * @param {Array<any>} components
58583
+ * @param {string} parentId
58584
+ *
58585
+ * @return {Array<any>} imported components
58984
58586
  */
58985
58587
  importFormFields(components, parentId) {
58986
58588
  return components.map((component, index) => {
@@ -59003,22 +58605,22 @@
59003
58605
  });
59004
58606
  }
59005
58607
 
59006
- /**
59007
- * Add a dragger that calls back the passed function with
59008
- * { event, delta } on drag.
59009
- *
59010
- * @example
59011
- *
59012
- * function dragMove(event, delta) {
59013
- * // we are dragging (!!)
59014
- * }
59015
- *
59016
- * domElement.addEventListener('dragstart', dragger(dragMove));
59017
- *
59018
- * @param {Function} fn
59019
- * @param {Element} dragPreview
59020
- *
59021
- * @return {Function} drag start callback function
58608
+ /**
58609
+ * Add a dragger that calls back the passed function with
58610
+ * { event, delta } on drag.
58611
+ *
58612
+ * @example
58613
+ *
58614
+ * function dragMove(event, delta) {
58615
+ * // we are dragging (!!)
58616
+ * }
58617
+ *
58618
+ * domElement.addEventListener('dragstart', dragger(dragMove));
58619
+ *
58620
+ * @param {Function} fn
58621
+ * @param {Element} dragPreview
58622
+ *
58623
+ * @return {Function} drag start callback function
59022
58624
  */
59023
58625
  function createDragger(fn, dragPreview) {
59024
58626
  let self;
@@ -59059,12 +58661,12 @@
59059
58661
  return onDragStart;
59060
58662
  }
59061
58663
 
59062
- /**
59063
- * Throttle function call according UI update cycle.
59064
- *
59065
- * @param {Function} fn
59066
- *
59067
- * @return {Function} throttled fn
58664
+ /**
58665
+ * Throttle function call according UI update cycle.
58666
+ *
58667
+ * @param {Function} fn
58668
+ *
58669
+ * @return {Function} throttled fn
59068
58670
  */
59069
58671
  function throttle(fn) {
59070
58672
  let active = false;
@@ -59087,26 +58689,26 @@
59087
58689
  event.preventDefault();
59088
58690
  event.stopPropagation();
59089
58691
  }
59090
- const DragAndDropContext = D$1({
58692
+ const DragAndDropContext = D$2({
59091
58693
  drake: null
59092
58694
  });
59093
58695
  var DragAndDropContext$1 = DragAndDropContext;
59094
58696
 
59095
- /**
59096
- * @param {string} type
59097
- * @param {boolean} [strict]
59098
- *
59099
- * @returns {any}
58697
+ /**
58698
+ * @param {string} type
58699
+ * @param {boolean} [strict]
58700
+ *
58701
+ * @returns {any}
59100
58702
  */
59101
58703
  function getService$1(type, strict) {}
59102
- const FormEditorContext = D$1({
58704
+ const FormEditorContext = D$2({
59103
58705
  getService: getService$1
59104
58706
  });
59105
58707
  var FormEditorContext$1 = FormEditorContext;
59106
58708
  function useService$1(type, strict) {
59107
58709
  const {
59108
58710
  getService
59109
- } = F(FormEditorContext$1);
58711
+ } = F$1(FormEditorContext$1);
59110
58712
  return getService(type, strict);
59111
58713
  }
59112
58714
  var _path$4;
@@ -59447,7 +59049,7 @@
59447
59049
  children: children
59448
59050
  }) : null;
59449
59051
  };
59450
- const FillContext = D$1({
59052
+ const FillContext = D$2({
59451
59053
  addFill(uid, props) {
59452
59054
  throw new Error('FillContext.addFill() uninitialized');
59453
59055
  },
@@ -59458,7 +59060,7 @@
59458
59060
  var FillContext$1 = FillContext;
59459
59061
  var Fill = props => {
59460
59062
  const uid = s$1(Symbol('fill_uid'));
59461
- const fillContext = F(FillContext$1);
59063
+ const fillContext = F$1(FillContext$1);
59462
59064
  y(() => {
59463
59065
  if (!fillContext) {
59464
59066
  return;
@@ -59473,7 +59075,7 @@
59473
59075
  }, [fillContext, props]);
59474
59076
  return null;
59475
59077
  };
59476
- const SlotContext = D$1({
59078
+ const SlotContext = D$2({
59477
59079
  fills: []
59478
59080
  });
59479
59081
  var SlotContext$1 = SlotContext;
@@ -59487,7 +59089,7 @@
59487
59089
  } = props;
59488
59090
  const {
59489
59091
  fills
59490
- } = F(SlotContext$1);
59092
+ } = F$1(SlotContext$1);
59491
59093
  const filtered = d(() => fills.filter(fill => fill.slot === name), [fills, name]);
59492
59094
  const cropped = d(() => limit ? filtered.slice(0, limit) : filtered, [filtered, limit]);
59493
59095
  const groups = d(() => groupFn(cropped), [cropped, groupFn]);
@@ -59497,23 +59099,23 @@
59497
59099
  return fillsAndSeparators;
59498
59100
  };
59499
59101
 
59500
- /**
59501
- * Creates a Fragment for a fill.
59502
- *
59503
- * @param {Object} fill Fill to be rendered
59504
- * @returns {Object} Preact Fragment containing fill's children
59102
+ /**
59103
+ * Creates a Fragment for a fill.
59104
+ *
59105
+ * @param {Object} fill Fill to be rendered
59106
+ * @returns {Object} Preact Fragment containing fill's children
59505
59107
  */
59506
59108
  const FillFragment = fill => e$1(d$1, {
59507
59109
  children: fill.children
59508
59110
  }, fill.id);
59509
59111
 
59510
- /**
59511
- * Creates an array of fills, with separators inserted between groups.
59512
- *
59513
- * @param {Array} groups Groups of fills
59514
- * @param {Function} fillRenderer Function to create a fill
59515
- * @param {Function} separatorRenderer Function to create a separator
59516
- * @returns {Array} Array of fills and separators
59112
+ /**
59113
+ * Creates an array of fills, with separators inserted between groups.
59114
+ *
59115
+ * @param {Array} groups Groups of fills
59116
+ * @param {Function} fillRenderer Function to create a fill
59117
+ * @param {Function} separatorRenderer Function to create a separator
59118
+ * @returns {Array} Array of fills and separators
59517
59119
  */
59518
59120
  const buildFills = (groups, fillRenderer, separatorRenderer) => {
59519
59121
  const result = [];
@@ -59531,8 +59133,8 @@
59531
59133
  return result;
59532
59134
  };
59533
59135
 
59534
- /**
59535
- * Groups fills by group name property.
59136
+ /**
59137
+ * Groups fills by group name property.
59536
59138
  */
59537
59139
  const _groupByGroupName = fills => {
59538
59140
  const groups = [];
@@ -59552,8 +59154,8 @@
59552
59154
  return Object.keys(groupsById).sort().map(id => groupsById[id]);
59553
59155
  };
59554
59156
 
59555
- /**
59556
- * Compares fills by priority.
59157
+ /**
59158
+ * Compares fills by priority.
59557
59159
  */
59558
59160
  const _comparePriority = (a, b) => {
59559
59161
  return (b.priority || 0) - (a.priority || 0);
@@ -59776,19 +59378,19 @@
59776
59378
  const DRAG_NO_MOVE_CLS = 'fjs-no-move';
59777
59379
  const ERROR_DROP_CLS = 'fjs-error-drop';
59778
59380
 
59779
- /**
59780
- * @typedef { { id: String, components: Array<any> } } FormRow
59381
+ /**
59382
+ * @typedef { { id: String, components: Array<any> } } FormRow
59781
59383
  */
59782
59384
 
59783
59385
  class Dragging {
59784
- /**
59785
- * @constructor
59786
- *
59787
- * @param { import('../../core/FormFieldRegistry').default } formFieldRegistry
59788
- * @param { import('../../core/FormLayouter').default } formLayouter
59789
- * @param { import('../../core/FormLayoutValidator').default } formLayoutValidator
59790
- * @param { import('../../core/EventBus').default } eventBus
59791
- * @param { import('../modeling/Modeling').default } modeling
59386
+ /**
59387
+ * @constructor
59388
+ *
59389
+ * @param { import('../../core/FormFieldRegistry').default } formFieldRegistry
59390
+ * @param { import('../../core/FormLayouter').default } formLayouter
59391
+ * @param { import('../../core/FormLayoutValidator').default } formLayoutValidator
59392
+ * @param { import('../../core/EventBus').default } eventBus
59393
+ * @param { import('../modeling/Modeling').default } modeling
59792
59394
  */
59793
59395
  constructor(formFieldRegistry, formLayouter, formLayoutValidator, eventBus, modeling) {
59794
59396
  this._formFieldRegistry = formFieldRegistry;
@@ -59798,13 +59400,13 @@
59798
59400
  this._modeling = modeling;
59799
59401
  }
59800
59402
 
59801
- /**
59802
- * Calculcates position in form schema given the dropped place.
59803
- *
59804
- * @param { FormRow } targetRow
59805
- * @param { any } targetFormField
59806
- * @param { HTMLElement } sibling
59807
- * @returns { number }
59403
+ /**
59404
+ * Calculcates position in form schema given the dropped place.
59405
+ *
59406
+ * @param { FormRow } targetRow
59407
+ * @param { any } targetFormField
59408
+ * @param { HTMLElement } sibling
59409
+ * @returns { number }
59808
59410
  */
59809
59411
  getTargetIndex(targetRow, targetFormField, sibling) {
59810
59412
  /** @type HTMLElement */
@@ -59906,17 +59508,21 @@
59906
59508
  }
59907
59509
  }
59908
59510
 
59909
- /**
59910
- * @param { { container: Array<string>, direction: string, mirrorContainer: string } } options
59511
+ /**
59512
+ * @param { { container: Array<string>, direction: string, mirrorContainer: string } } options
59911
59513
  */
59912
59514
  createDragulaInstance(options) {
59913
59515
  const {
59914
59516
  container,
59915
- direction,
59916
59517
  mirrorContainer
59917
59518
  } = options || {};
59918
- const dragulaInstance = dragula$1({
59919
- direction,
59519
+ let dragulaOptions = {
59520
+ direction: function (el, target) {
59521
+ if (isRow(target)) {
59522
+ return 'horizontal';
59523
+ }
59524
+ return 'vertical';
59525
+ },
59920
59526
  mirrorContainer,
59921
59527
  isContainer(el) {
59922
59528
  return container.some(cls => el.classList.contains(cls));
@@ -59947,7 +59553,8 @@
59947
59553
  },
59948
59554
  slideFactorX: 10,
59949
59555
  slideFactorY: 5
59950
- });
59556
+ };
59557
+ const dragulaInstance = pt(dragulaOptions);
59951
59558
 
59952
59559
  // bind life cycle events
59953
59560
  dragulaInstance.on('drag', (element, source) => {
@@ -60248,7 +59855,7 @@
60248
59855
  eventBus.on('selection.changed', scrollIntoView);
60249
59856
  return () => eventBus.off('selection.changed', scrollIntoView);
60250
59857
  }, [id]);
60251
- h(() => {
59858
+ h$1(() => {
60252
59859
  if (selection.isSelected(field)) {
60253
59860
  ref.current.focus();
60254
59861
  }
@@ -60313,7 +59920,7 @@
60313
59920
  return null;
60314
59921
  }
60315
59922
  return e$1("div", {
60316
- 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;",
59923
+ 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;",
60317
59924
  class: "fjs-debug-columns",
60318
59925
  children: (field.layout || {}).columns || 'auto'
60319
59926
  });
@@ -60410,7 +60017,6 @@
60410
60017
  y(() => {
60411
60018
  let dragulaInstance = dragging.createDragulaInstance({
60412
60019
  container: [DRAG_CONTAINER_CLS, DROP_CONTAINER_VERTICAL_CLS, DROP_CONTAINER_HORIZONTAL_CLS],
60413
- direction: 'vertical',
60414
60020
  mirrorContainer: formContainerRef.current
60415
60021
  });
60416
60022
  setDrake(dragulaInstance);
@@ -60424,7 +60030,6 @@
60424
60030
  onDetach();
60425
60031
  dragulaInstance = dragging.createDragulaInstance({
60426
60032
  container: [DRAG_CONTAINER_CLS, DROP_CONTAINER_VERTICAL_CLS, DROP_CONTAINER_HORIZONTAL_CLS],
60427
- direction: 'vertical',
60428
60033
  mirrorContainer: formContainerRef.current
60429
60034
  });
60430
60035
  setDrake(dragulaInstance);
@@ -60544,7 +60149,7 @@
60544
60149
  function CreatePreview(props) {
60545
60150
  const {
60546
60151
  drake
60547
- } = F(DragAndDropContext$1);
60152
+ } = F$1(DragAndDropContext$1);
60548
60153
  function handleCloned(clone, original, type) {
60549
60154
  const fieldType = clone.dataset.fieldType;
60550
60155
 
@@ -61360,10 +60965,10 @@
61360
60965
  return formField;
61361
60966
  }
61362
60967
  class AddFormFieldHandler {
61363
- /**
61364
- * @constructor
61365
- * @param { import('../../../FormEditor').default } formEditor
61366
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
60968
+ /**
60969
+ * @constructor
60970
+ * @param { import('../../../FormEditor').default } formEditor
60971
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61367
60972
  */
61368
60973
  constructor(formEditor, formFieldRegistry) {
61369
60974
  this._formEditor = formEditor;
@@ -61423,10 +61028,10 @@
61423
61028
  }
61424
61029
  AddFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61425
61030
  class EditFormFieldHandler {
61426
- /**
61427
- * @constructor
61428
- * @param { import('../../../FormEditor').default } formEditor
61429
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61031
+ /**
61032
+ * @constructor
61033
+ * @param { import('../../../FormEditor').default } formEditor
61034
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61430
61035
  */
61431
61036
  constructor(formEditor, formFieldRegistry) {
61432
61037
  this._formEditor = formEditor;
@@ -61488,10 +61093,10 @@
61488
61093
  }
61489
61094
  EditFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61490
61095
  class MoveFormFieldHandler {
61491
- /**
61492
- * @constructor
61493
- * @param { import('../../../FormEditor').default } formEditor
61494
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61096
+ /**
61097
+ * @constructor
61098
+ * @param { import('../../../FormEditor').default } formEditor
61099
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61495
61100
  */
61496
61101
  constructor(formEditor, formFieldRegistry) {
61497
61102
  this._formEditor = formEditor;
@@ -61579,10 +61184,10 @@
61579
61184
  }
61580
61185
  MoveFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61581
61186
  class RemoveFormFieldHandler {
61582
- /**
61583
- * @constructor
61584
- * @param { import('../../../FormEditor').default } formEditor
61585
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61187
+ /**
61188
+ * @constructor
61189
+ * @param { import('../../../FormEditor').default } formEditor
61190
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61586
61191
  */
61587
61192
  constructor(formEditor, formFieldRegistry) {
61588
61193
  this._formEditor = formEditor;
@@ -61641,9 +61246,9 @@
61641
61246
  }
61642
61247
  RemoveFormFieldHandler.$inject = ['formEditor', 'formFieldRegistry'];
61643
61248
  class UpdateIdClaimHandler {
61644
- /**
61645
- * @constructor
61646
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61249
+ /**
61250
+ * @constructor
61251
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61647
61252
  */
61648
61253
  constructor(formFieldRegistry) {
61649
61254
  this._formFieldRegistry = formFieldRegistry;
@@ -61675,9 +61280,9 @@
61675
61280
  }
61676
61281
  UpdateIdClaimHandler.$inject = ['formFieldRegistry'];
61677
61282
  class UpdateKeyClaimHandler {
61678
- /**
61679
- * @constructor
61680
- * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61283
+ /**
61284
+ * @constructor
61285
+ * @param { import('../../../core/FormFieldRegistry').default } formFieldRegistry
61681
61286
  */
61682
61287
  constructor(formFieldRegistry) {
61683
61288
  this._formFieldRegistry = formFieldRegistry;
@@ -62138,8 +61743,8 @@
62138
61743
  constructor(eventBus) {
62139
61744
  super(eventBus);
62140
61745
 
62141
- /**
62142
- * Remove custom validation if <validationType> is about to be added.
61746
+ /**
61747
+ * Remove custom validation if <validationType> is about to be added.
62143
61748
  */
62144
61749
  // @ts-ignore-next-line
62145
61750
  this.preExecute('formField.edit', function (context) {
@@ -62714,22 +62319,22 @@
62714
62319
  selectionBehavior: ['type', SelectionBehavior]
62715
62320
  };
62716
62321
 
62717
- /**
62718
- * Base class for sectionable UI modules.
62719
- *
62720
- * @property {EventBus} _eventBus - EventBus instance used for event handling.
62721
- * @property {string} managerType - Type of the render manager. Used to form event names.
62722
- *
62723
- * @class SectionModuleBase
62322
+ /**
62323
+ * Base class for sectionable UI modules.
62324
+ *
62325
+ * @property {EventBus} _eventBus - EventBus instance used for event handling.
62326
+ * @property {string} managerType - Type of the render manager. Used to form event names.
62327
+ *
62328
+ * @class SectionModuleBase
62724
62329
  */
62725
62330
  class SectionModuleBase {
62726
- /**
62727
- * Create a SectionModuleBase instance.
62728
- *
62729
- * @param {any} eventBus - The EventBus instance used for event handling.
62730
- * @param {string} sectionKey - The type of render manager. Used to form event names.
62731
- *
62732
- * @constructor
62331
+ /**
62332
+ * Create a SectionModuleBase instance.
62333
+ *
62334
+ * @param {any} eventBus - The EventBus instance used for event handling.
62335
+ * @param {string} sectionKey - The type of render manager. Used to form event names.
62336
+ *
62337
+ * @constructor
62733
62338
  */
62734
62339
  constructor(eventBus, sectionKey) {
62735
62340
  this._eventBus = eventBus;
@@ -62742,10 +62347,10 @@
62742
62347
  });
62743
62348
  }
62744
62349
 
62745
- /**
62746
- * Attach the managed section to a parent node.
62747
- *
62748
- * @param {HTMLElement} container - The parent node to attach to.
62350
+ /**
62351
+ * Attach the managed section to a parent node.
62352
+ *
62353
+ * @param {HTMLElement} container - The parent node to attach to.
62749
62354
  */
62750
62355
  attachTo(container) {
62751
62356
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.attach`, {
@@ -62753,22 +62358,22 @@
62753
62358
  }));
62754
62359
  }
62755
62360
 
62756
- /**
62757
- * Detach the managed section from its parent node.
62361
+ /**
62362
+ * Detach the managed section from its parent node.
62758
62363
  */
62759
62364
  detach() {
62760
62365
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.detach`));
62761
62366
  }
62762
62367
 
62763
- /**
62764
- * Reset the managed section to its initial state.
62368
+ /**
62369
+ * Reset the managed section to its initial state.
62765
62370
  */
62766
62371
  reset() {
62767
62372
  this._onceSectionRendered(() => this._eventBus.fire(`${this._sectionKey}.reset`));
62768
62373
  }
62769
62374
 
62770
- /**
62771
- * Circumvents timing issues.
62375
+ /**
62376
+ * Circumvents timing issues.
62772
62377
  */
62773
62378
  _onceSectionRendered(callback) {
62774
62379
  if (this.isSectionRendered) {
@@ -62909,11 +62514,11 @@
62909
62514
  })]
62910
62515
  });
62911
62516
  }
62912
- const DescriptionContext = D$1({
62517
+ const DescriptionContext = D$2({
62913
62518
  description: {},
62914
62519
  getDescriptionForId: () => {}
62915
62520
  });
62916
- const ErrorsContext = D$1({
62521
+ const ErrorsContext = D$2({
62917
62522
  errors: {}
62918
62523
  });
62919
62524
 
@@ -62931,15 +62536,175 @@
62931
62536
  *
62932
62537
  * @returns void
62933
62538
  */
62934
- const EventContext = D$1({
62539
+ const EventContext = D$2({
62935
62540
  eventBus: null
62936
62541
  });
62937
- const LayoutContext = D$1({
62542
+ const LayoutContext = D$2({
62938
62543
  layout: {},
62939
62544
  setLayout: () => {},
62940
62545
  getLayoutForKey: () => {},
62941
62546
  setLayoutForKey: () => {}
62942
62547
  });
62548
+ const TooltipContext = D$2({
62549
+ tooltip: {},
62550
+ getTooltipForId: () => {}
62551
+ });
62552
+
62553
+ /**
62554
+ * Accesses the global TooltipContext and returns a tooltip for a given id and element.
62555
+ *
62556
+ * @example
62557
+ * ```jsx
62558
+ * function TextField(props) {
62559
+ * const tooltip = useTooltipContext('input1', element);
62560
+ * }
62561
+ * ```
62562
+ *
62563
+ * @param {string} id
62564
+ * @param {object} element
62565
+ *
62566
+ * @returns {string}
62567
+ */
62568
+ function useTooltipContext(id, element) {
62569
+ const {
62570
+ getTooltipForId
62571
+ } = F$1(TooltipContext);
62572
+ return getTooltipForId(id, element);
62573
+ }
62574
+ function TooltipWrapper(props) {
62575
+ const {
62576
+ forId,
62577
+ element
62578
+ } = props;
62579
+ const contextDescription = useTooltipContext(forId, element);
62580
+ const value = props.value || contextDescription;
62581
+ if (!value) {
62582
+ return props.children;
62583
+ }
62584
+ return e$1(Tooltip, {
62585
+ ...props,
62586
+ value: value,
62587
+ forId: prefixId$8(forId)
62588
+ });
62589
+ }
62590
+ function Tooltip(props) {
62591
+ const {
62592
+ forId,
62593
+ value,
62594
+ parent
62595
+ } = props;
62596
+ const [visible, setShow] = l$2(false);
62597
+ let timeout = null;
62598
+ const wrapperRef = s$1(null);
62599
+ const tooltipRef = s$1(null);
62600
+ const showTooltip = async event => {
62601
+ const show = () => !visible && setShow(true);
62602
+ if (event instanceof MouseEvent) {
62603
+ timeout = setTimeout(show, 200);
62604
+ } else {
62605
+ show();
62606
+ }
62607
+ };
62608
+ const hideTooltip = () => setShow(false);
62609
+ const hideTooltipViaEscape = e => {
62610
+ e.code === 'Escape' && hideTooltip();
62611
+ };
62612
+ const isTooltipHovered = ({
62613
+ x,
62614
+ y
62615
+ }) => {
62616
+ const tooltip = tooltipRef.current;
62617
+ const wrapper = wrapperRef.current;
62618
+ return tooltip && (inBounds(x, y, wrapper.getBoundingClientRect()) || inBounds(x, y, tooltip.getBoundingClientRect()));
62619
+ };
62620
+ y(() => {
62621
+ const {
62622
+ current
62623
+ } = wrapperRef;
62624
+ if (!current) {
62625
+ return;
62626
+ }
62627
+ const hideHoveredTooltip = e => {
62628
+ const isFocused = document.activeElement === wrapperRef.current || document.activeElement.closest('.bio-properties-panel-tooltip');
62629
+ if (visible && !isTooltipHovered({
62630
+ x: e.x,
62631
+ y: e.y
62632
+ }) && !isFocused) {
62633
+ hideTooltip();
62634
+ }
62635
+ };
62636
+ const hideFocusedTooltip = e => {
62637
+ const {
62638
+ relatedTarget
62639
+ } = e;
62640
+ const isTooltipChild = el => el && !!el.closest('.bio-properties-panel-tooltip');
62641
+ if (visible && !isHovered(wrapperRef.current) && !isTooltipChild(relatedTarget)) {
62642
+ hideTooltip();
62643
+ }
62644
+ };
62645
+ document.addEventListener('wheel', hideHoveredTooltip);
62646
+ document.addEventListener('focusout', hideFocusedTooltip);
62647
+ document.addEventListener('mousemove', hideHoveredTooltip);
62648
+ return () => {
62649
+ document.removeEventListener('wheel', hideHoveredTooltip);
62650
+ document.removeEventListener('mousemove', hideHoveredTooltip);
62651
+ document.removeEventListener('focusout', hideFocusedTooltip);
62652
+ };
62653
+ }, [wrapperRef.current, visible]);
62654
+ const renderTooltip = () => {
62655
+ return e$1("div", {
62656
+ class: "bio-properties-panel-tooltip",
62657
+ role: "tooltip",
62658
+ id: "bio-properties-panel-tooltip",
62659
+ "aria-labelledby": forId,
62660
+ style: getTooltipPosition(wrapperRef.current),
62661
+ ref: tooltipRef,
62662
+ onClick: e => e.stopPropagation(),
62663
+ children: [e$1("div", {
62664
+ class: "bio-properties-panel-tooltip-content",
62665
+ children: value
62666
+ }), e$1("div", {
62667
+ class: "bio-properties-panel-tooltip-arrow"
62668
+ })]
62669
+ });
62670
+ };
62671
+ return e$1("div", {
62672
+ class: "bio-properties-panel-tooltip-wrapper",
62673
+ tabIndex: "0",
62674
+ ref: wrapperRef,
62675
+ onMouseEnter: showTooltip,
62676
+ onMouseLeave: () => clearTimeout(timeout),
62677
+ onFocus: showTooltip,
62678
+ onKeyDown: hideTooltipViaEscape,
62679
+ onMouseDown: e => {
62680
+ e.preventDefault();
62681
+ },
62682
+ children: [props.children, visible ? parent ? W(renderTooltip(), parent.current) : renderTooltip() : null]
62683
+ });
62684
+ }
62685
+
62686
+ // helper
62687
+ function inBounds(x, y, bounds) {
62688
+ const {
62689
+ top,
62690
+ right,
62691
+ bottom,
62692
+ left
62693
+ } = bounds;
62694
+ return x >= left && x <= right && y >= top && y <= bottom;
62695
+ }
62696
+ function getTooltipPosition(refElement) {
62697
+ const refPosition = refElement.getBoundingClientRect();
62698
+ const right = `calc(100% - ${refPosition.x}px)`;
62699
+ const top = `${refPosition.top - 10}px`;
62700
+ return `right: ${right}; top: ${top};`;
62701
+ }
62702
+ function isHovered(element) {
62703
+ return element.matches(':hover');
62704
+ }
62705
+ function prefixId$8(id) {
62706
+ return `bio-properties-panel-${id}`;
62707
+ }
62943
62708
 
62944
62709
  /**
62945
62710
  * Accesses the global DescriptionContext and returns a description for a given id and element.
@@ -62959,15 +62724,21 @@
62959
62724
  function useDescriptionContext(id, element) {
62960
62725
  const {
62961
62726
  getDescriptionForId
62962
- } = F(DescriptionContext);
62727
+ } = F$1(DescriptionContext);
62963
62728
  return getDescriptionForId(id, element);
62964
62729
  }
62965
62730
  function useError(id) {
62966
62731
  const {
62967
62732
  errors
62968
- } = F(ErrorsContext);
62733
+ } = F$1(ErrorsContext);
62969
62734
  return errors[id];
62970
62735
  }
62736
+ function useErrors() {
62737
+ const {
62738
+ errors
62739
+ } = F$1(ErrorsContext);
62740
+ return errors;
62741
+ }
62971
62742
 
62972
62743
  /**
62973
62744
  * Subscribe to an event immediately. Update subscription after inputs changed.
@@ -62976,7 +62747,7 @@
62976
62747
  * @param {Function} callback
62977
62748
  */
62978
62749
  function useEvent(event, callback, eventBus) {
62979
- const eventContext = F(EventContext);
62750
+ const eventContext = F$1(EventContext);
62980
62751
  if (!eventBus) {
62981
62752
  ({
62982
62753
  eventBus
@@ -63022,7 +62793,7 @@
63022
62793
  const {
63023
62794
  getLayoutForKey,
63024
62795
  setLayoutForKey
63025
- } = F(LayoutContext);
62796
+ } = F$1(LayoutContext);
63026
62797
  const layoutForKey = getLayoutForKey(path, defaultValue);
63027
62798
  const setState = A$1(newValue => {
63028
62799
  setLayoutForKey(path, newValue);
@@ -63055,7 +62826,7 @@
63055
62826
  function useShowEntryEvent(id) {
63056
62827
  const {
63057
62828
  onShow
63058
- } = F(LayoutContext);
62829
+ } = F$1(LayoutContext);
63059
62830
  const ref = s$1();
63060
62831
  const focus = s$1(false);
63061
62832
  const onShowEntry = A$1(event => {
@@ -63199,10 +62970,14 @@
63199
62970
  setEdited(hasOneEditedEntry);
63200
62971
  }, [entries]);
63201
62972
 
62973
+ // set error state depending on all entries
62974
+ const allErrors = useErrors();
62975
+ const hasErrors = entries.some(entry => allErrors[entry.id]);
62976
+
63202
62977
  // set css class when group is sticky to top
63203
62978
  useStickyIntersectionObserver(groupRef, 'div.bio-properties-panel-scroll-container', setSticky);
63204
62979
  const propertiesPanelContext = {
63205
- ...F(LayoutContext),
62980
+ ...F$1(LayoutContext),
63206
62981
  onShow
63207
62982
  };
63208
62983
  return e$1("div", {
@@ -63215,10 +62990,19 @@
63215
62990
  children: [e$1("div", {
63216
62991
  title: label,
63217
62992
  class: "bio-properties-panel-group-header-title",
63218
- children: label
62993
+ children: e$1(TooltipWrapper, {
62994
+ value: props.tooltip,
62995
+ forId: 'group-' + id,
62996
+ element: element,
62997
+ parent: groupRef,
62998
+ children: label
62999
+ })
63219
63000
  }), e$1("div", {
63220
63001
  class: "bio-properties-panel-group-header-buttons",
63221
- children: [edited && e$1(DataMarker, {}), e$1("button", {
63002
+ children: [e$1(DataMarker, {
63003
+ edited: edited,
63004
+ hasErrors: hasErrors
63005
+ }), e$1("button", {
63222
63006
  title: "Toggle section",
63223
63007
  class: "bio-properties-panel-group-header-button bio-properties-panel-arrow",
63224
63008
  children: e$1(ArrowIcon, {
@@ -63245,11 +63029,24 @@
63245
63029
  })]
63246
63030
  });
63247
63031
  }
63248
- function DataMarker() {
63249
- return e$1("div", {
63250
- title: "Section contains data",
63251
- class: "bio-properties-panel-dot"
63252
- });
63032
+ function DataMarker(props) {
63033
+ const {
63034
+ edited,
63035
+ hasErrors
63036
+ } = props;
63037
+ if (hasErrors) {
63038
+ return e$1("div", {
63039
+ title: "Section contains an error",
63040
+ class: "bio-properties-panel-dot bio-properties-panel-dot--error"
63041
+ });
63042
+ }
63043
+ if (edited) {
63044
+ return e$1("div", {
63045
+ title: "Section contains data",
63046
+ class: "bio-properties-panel-dot"
63047
+ });
63048
+ }
63049
+ return null;
63253
63050
  }
63254
63051
 
63255
63052
  /**
@@ -63280,6 +63077,7 @@
63280
63077
  }
63281
63078
  const DEFAULT_LAYOUT = {};
63282
63079
  const DEFAULT_DESCRIPTION = {};
63080
+ const DEFAULT_TOOLTIP = {};
63283
63081
 
63284
63082
  /**
63285
63083
  * @typedef { {
@@ -63320,12 +63118,22 @@
63320
63118
  * [id: String]: GetDescriptionFunction
63321
63119
  * } } DescriptionConfig
63322
63120
  *
63121
+ * @typedef { {
63122
+ * [id: String]: GetTooltipFunction
63123
+ * } } TooltipConfig
63124
+ *
63323
63125
  * @callback { {
63324
63126
  * @param {string} id
63325
63127
  * @param {Object} element
63326
63128
  * @returns {string}
63327
63129
  * } } GetDescriptionFunction
63328
63130
  *
63131
+ * @callback { {
63132
+ * @param {string} id
63133
+ * @param {Object} element
63134
+ * @returns {string}
63135
+ * } } GetTooltipFunction
63136
+ *
63329
63137
  * @typedef { {
63330
63138
  * getEmpty: (element: object) => import('./components/Placeholder').PlaceholderDefinition,
63331
63139
  * getMultiple: (element: Object) => import('./components/Placeholder').PlaceholderDefinition
@@ -63346,6 +63154,8 @@
63346
63154
  * @param {Function} [props.layoutChanged]
63347
63155
  * @param {DescriptionConfig} [props.descriptionConfig]
63348
63156
  * @param {Function} [props.descriptionLoaded]
63157
+ * @param {TooltipConfig} [props.tooltipConfig]
63158
+ * @param {Function} [props.tooltipLoaded]
63349
63159
  * @param {Object} [props.eventBus]
63350
63160
  */
63351
63161
  function PropertiesPanel(props) {
@@ -63358,6 +63168,8 @@
63358
63168
  layoutChanged,
63359
63169
  descriptionConfig,
63360
63170
  descriptionLoaded,
63171
+ tooltipConfig,
63172
+ tooltipLoaded,
63361
63173
  eventBus
63362
63174
  } = props;
63363
63175
 
@@ -63403,6 +63215,21 @@
63403
63215
  description,
63404
63216
  getDescriptionForId
63405
63217
  };
63218
+
63219
+ // set-up tooltip context
63220
+ const tooltip = d(() => createTooltipContext(tooltipConfig), [tooltipConfig]);
63221
+ y(() => {
63222
+ if (typeof tooltipLoaded === 'function') {
63223
+ tooltipLoaded(tooltip);
63224
+ }
63225
+ }, [tooltip, tooltipLoaded]);
63226
+ const getTooltipForId = (id, element) => {
63227
+ return tooltip[id] && tooltip[id](element);
63228
+ };
63229
+ const tooltipContext = {
63230
+ tooltip,
63231
+ getTooltipForId
63232
+ };
63406
63233
  const [errors, setErrors] = l$2({});
63407
63234
  const onSetErrors = ({
63408
63235
  errors
@@ -63437,29 +63264,32 @@
63437
63264
  value: errorsContext,
63438
63265
  children: e$1(DescriptionContext.Provider, {
63439
63266
  value: descriptionContext,
63440
- children: e$1(LayoutContext.Provider, {
63441
- value: layoutContext,
63442
- children: e$1(EventContext.Provider, {
63443
- value: eventContext,
63444
- children: e$1("div", {
63445
- class: "bio-properties-panel",
63446
- children: [e$1(Header, {
63447
- element: element,
63448
- headerProvider: headerProvider
63449
- }), e$1("div", {
63450
- class: "bio-properties-panel-scroll-container",
63451
- children: groups.map(group => {
63452
- const {
63453
- component: Component = Group,
63454
- id
63455
- } = group;
63456
- return v$1(Component, {
63457
- ...group,
63458
- key: id,
63459
- element: element
63460
- });
63461
- })
63462
- })]
63267
+ children: e$1(TooltipContext.Provider, {
63268
+ value: tooltipContext,
63269
+ children: e$1(LayoutContext.Provider, {
63270
+ value: layoutContext,
63271
+ children: e$1(EventContext.Provider, {
63272
+ value: eventContext,
63273
+ children: e$1("div", {
63274
+ class: "bio-properties-panel",
63275
+ children: [e$1(Header, {
63276
+ element: element,
63277
+ headerProvider: headerProvider
63278
+ }), e$1("div", {
63279
+ class: "bio-properties-panel-scroll-container",
63280
+ children: groups.map(group => {
63281
+ const {
63282
+ component: Component = Group,
63283
+ id
63284
+ } = group;
63285
+ return v$1(Component, {
63286
+ ...group,
63287
+ key: id,
63288
+ element: element
63289
+ });
63290
+ })
63291
+ })]
63292
+ })
63463
63293
  })
63464
63294
  })
63465
63295
  })
@@ -63482,6 +63312,12 @@
63482
63312
  ...overrides
63483
63313
  };
63484
63314
  }
63315
+ function createTooltipContext(overrides = {}) {
63316
+ return {
63317
+ ...DEFAULT_TOOLTIP,
63318
+ ...overrides
63319
+ };
63320
+ }
63485
63321
 
63486
63322
  // hooks //////////////////
63487
63323
 
@@ -63493,7 +63329,7 @@
63493
63329
  */
63494
63330
  function useUpdateLayoutEffect(effect, deps) {
63495
63331
  const isMounted = s$1(false);
63496
- h(() => {
63332
+ h$1(() => {
63497
63333
  if (isMounted.current) {
63498
63334
  return effect();
63499
63335
  } else {
@@ -63514,9 +63350,9 @@
63514
63350
  const toggleOpen = () => setOpen(!open);
63515
63351
  const {
63516
63352
  onShow
63517
- } = F(LayoutContext);
63353
+ } = F$1(LayoutContext);
63518
63354
  const propertiesPanelContext = {
63519
- ...F(LayoutContext),
63355
+ ...F$1(LayoutContext),
63520
63356
  onShow: A$1(() => {
63521
63357
  setOpen(true);
63522
63358
  if (isFunction(onShow)) {
@@ -63705,13 +63541,25 @@
63705
63541
  const toggleOpen = () => setOpen(!open);
63706
63542
  const hasItems = !!items.length;
63707
63543
  const propertiesPanelContext = {
63708
- ...F(LayoutContext),
63544
+ ...F$1(LayoutContext),
63709
63545
  onShow
63710
63546
  };
63711
63547
  const handleAddClick = e => {
63712
63548
  setAddTriggered(true);
63713
63549
  add(e);
63714
63550
  };
63551
+ const allErrors = useErrors();
63552
+ const hasError = items.some(item => {
63553
+ if (allErrors[item.id]) {
63554
+ return true;
63555
+ }
63556
+ if (!item.entries) {
63557
+ return;
63558
+ }
63559
+
63560
+ // also check if the error is nested, e.g. for name-value entries
63561
+ return item.entries.some(entry => allErrors[entry.id]);
63562
+ });
63715
63563
  return e$1("div", {
63716
63564
  class: "bio-properties-panel-group",
63717
63565
  "data-group-id": 'group-' + id,
@@ -63722,7 +63570,13 @@
63722
63570
  children: [e$1("div", {
63723
63571
  title: label,
63724
63572
  class: "bio-properties-panel-group-header-title",
63725
- children: label
63573
+ children: e$1(TooltipWrapper, {
63574
+ value: props.tooltip,
63575
+ forId: 'group-' + id,
63576
+ element: element,
63577
+ parent: groupRef,
63578
+ children: label
63579
+ })
63726
63580
  }), e$1("div", {
63727
63581
  class: "bio-properties-panel-group-header-buttons",
63728
63582
  children: [add ? e$1("button", {
@@ -63735,7 +63589,7 @@
63735
63589
  }) : null]
63736
63590
  }) : null, hasItems ? e$1("div", {
63737
63591
  title: `List contains ${items.length} item${items.length != 1 ? 's' : ''}`,
63738
- class: "bio-properties-panel-list-badge",
63592
+ class: classNames('bio-properties-panel-list-badge', hasError ? 'bio-properties-panel-list-badge--error' : ''),
63739
63593
  children: items.length
63740
63594
  }) : null, hasItems ? e$1("button", {
63741
63595
  title: "Toggle section",
@@ -63783,7 +63637,7 @@
63783
63637
  return sortBy(items, i => i.label.toLowerCase());
63784
63638
  }
63785
63639
  function getItem(items, id) {
63786
- return find$1(items, i => i.id === id);
63640
+ return find(items, i => i.id === id);
63787
63641
  }
63788
63642
  function createOrdering(items) {
63789
63643
  return items.map(i => i.id);
@@ -63811,7 +63665,8 @@
63811
63665
  disabled,
63812
63666
  value = false,
63813
63667
  onFocus,
63814
- onBlur
63668
+ onBlur,
63669
+ tooltip
63815
63670
  } = props;
63816
63671
  const [localValue, setLocalValue] = l$2(value);
63817
63672
  const handleChangeCallback = ({
@@ -63846,7 +63701,12 @@
63846
63701
  }), e$1("label", {
63847
63702
  for: prefixId$7(id),
63848
63703
  class: "bio-properties-panel-label",
63849
- children: label
63704
+ children: e$1(TooltipWrapper, {
63705
+ value: tooltip,
63706
+ forId: id,
63707
+ element: props.element,
63708
+ children: label
63709
+ })
63850
63710
  })]
63851
63711
  });
63852
63712
  }
@@ -63861,6 +63721,7 @@
63861
63721
  * @param {Function} props.setValue
63862
63722
  * @param {Function} props.onFocus
63863
63723
  * @param {Function} props.onBlur
63724
+ * @param {string|import('preact').Component} props.tooltip
63864
63725
  * @param {boolean} [props.disabled]
63865
63726
  */
63866
63727
  function CheckboxEntry(props) {
@@ -63873,7 +63734,8 @@
63873
63734
  setValue,
63874
63735
  disabled,
63875
63736
  onFocus,
63876
- onBlur
63737
+ onBlur,
63738
+ tooltip
63877
63739
  } = props;
63878
63740
  const value = getValue(element);
63879
63741
  const error = useError(id);
@@ -63887,7 +63749,9 @@
63887
63749
  onChange: setValue,
63888
63750
  onFocus: onFocus,
63889
63751
  onBlur: onBlur,
63890
- value: value
63752
+ value: value,
63753
+ tooltip: tooltip,
63754
+ element: element
63891
63755
  }, element), error && e$1("div", {
63892
63756
  class: "bio-properties-panel-error",
63893
63757
  children: error
@@ -63928,7 +63792,7 @@
63928
63792
  }
63929
63793
  }, [editor, buffer]);
63930
63794
  };
63931
- const CodeEditor$1 = x((props, ref) => {
63795
+ const CodeEditor$1 = x$1((props, ref) => {
63932
63796
  const {
63933
63797
  onInput,
63934
63798
  disabled,
@@ -64009,7 +63873,7 @@
64009
63873
  }
64010
63874
  }, [editor, buffer]);
64011
63875
  };
64012
- const CodeEditor = x((props, ref) => {
63876
+ const CodeEditor = x$1((props, ref) => {
64013
63877
  const {
64014
63878
  value,
64015
63879
  onInput,
@@ -64144,7 +64008,8 @@
64144
64008
  inline,
64145
64009
  onFocus,
64146
64010
  onBlur,
64147
- inputRef
64011
+ inputRef,
64012
+ tooltip
64148
64013
  } = props;
64149
64014
  const [localValue, setLocalValue] = l$2(value);
64150
64015
  const handleInputCallback = async () => {
@@ -64167,7 +64032,12 @@
64167
64032
  children: [e$1("label", {
64168
64033
  class: "bio-properties-panel-label",
64169
64034
  for: prefixId$6(id),
64170
- children: label
64035
+ children: e$1(TooltipWrapper, {
64036
+ value: tooltip,
64037
+ forId: id,
64038
+ element: props.element,
64039
+ children: label
64040
+ })
64171
64041
  }), e$1("div", {
64172
64042
  class: "bio-properties-panel-field-wrapper",
64173
64043
  children: [e$1("label", {
@@ -64205,6 +64075,7 @@
64205
64075
  * @param {Function} props.setValue
64206
64076
  * @param {Function} props.onFocus
64207
64077
  * @param {Function} props.onBlur
64078
+ * @param {string|import('preact').Component} props.tooltip
64208
64079
  */
64209
64080
  function ToggleSwitchEntry(props) {
64210
64081
  const {
@@ -64217,7 +64088,8 @@
64217
64088
  getValue,
64218
64089
  setValue,
64219
64090
  onFocus,
64220
- onBlur
64091
+ onBlur,
64092
+ tooltip
64221
64093
  } = props;
64222
64094
  const value = getValue(element);
64223
64095
  return e$1("div", {
@@ -64231,7 +64103,9 @@
64231
64103
  onFocus: onFocus,
64232
64104
  onBlur: onBlur,
64233
64105
  switcherLabel: switcherLabel,
64234
- inline: inline
64106
+ inline: inline,
64107
+ tooltip: tooltip,
64108
+ element: element
64235
64109
  }), e$1(Description$1, {
64236
64110
  forId: id,
64237
64111
  element: element,
@@ -64411,7 +64285,8 @@
64411
64285
  disabled = false,
64412
64286
  variables,
64413
64287
  tooltipContainer,
64414
- OptionalComponent = OptionalFeelInput
64288
+ OptionalComponent = OptionalFeelInput,
64289
+ tooltip
64415
64290
  } = props;
64416
64291
  const [localValue, _setLocalValue] = l$2(value);
64417
64292
  const editorRef = useShowEntryEvent(id);
@@ -64527,7 +64402,12 @@
64527
64402
  for: prefixId$4(id),
64528
64403
  class: "bio-properties-panel-label",
64529
64404
  onClick: () => setFocus(),
64530
- children: [label, e$1(FeelIcon, {
64405
+ children: [e$1(TooltipWrapper, {
64406
+ value: tooltip,
64407
+ forId: id,
64408
+ element: props.element,
64409
+ children: label
64410
+ }), e$1(FeelIcon, {
64531
64411
  label: label,
64532
64412
  feel: feel,
64533
64413
  onClick: handleFeelToggle,
@@ -64567,7 +64447,7 @@
64567
64447
  })]
64568
64448
  });
64569
64449
  }
64570
- const OptionalFeelInput = x((props, ref) => {
64450
+ const OptionalFeelInput = x$1((props, ref) => {
64571
64451
  const {
64572
64452
  id,
64573
64453
  disabled,
@@ -64610,7 +64490,7 @@
64610
64490
  value: value || ''
64611
64491
  });
64612
64492
  });
64613
- const OptionalFeelNumberField = x((props, ref) => {
64493
+ const OptionalFeelNumberField = x$1((props, ref) => {
64614
64494
  const {
64615
64495
  id,
64616
64496
  debounce,
@@ -64657,7 +64537,7 @@
64657
64537
  onBlur: onBlur
64658
64538
  });
64659
64539
  });
64660
- x((props, ref) => {
64540
+ x$1((props, ref) => {
64661
64541
  const {
64662
64542
  id,
64663
64543
  disabled,
@@ -64696,7 +64576,7 @@
64696
64576
  "data-gramm": "false"
64697
64577
  });
64698
64578
  });
64699
- const OptionalFeelToggleSwitch = x((props, ref) => {
64579
+ const OptionalFeelToggleSwitch = x$1((props, ref) => {
64700
64580
  const {
64701
64581
  id,
64702
64582
  onInput,
@@ -64728,7 +64608,7 @@
64728
64608
  switcherLabel: switcherLabel
64729
64609
  });
64730
64610
  });
64731
- x((props, ref) => {
64611
+ x$1((props, ref) => {
64732
64612
  const {
64733
64613
  id,
64734
64614
  disabled,
@@ -64787,6 +64667,7 @@
64787
64667
  * @param {Function} props.variables
64788
64668
  * @param {Function} props.onFocus
64789
64669
  * @param {Function} props.onBlur
64670
+ * @param {string|import('preact').Component} props.tooltip
64790
64671
  */
64791
64672
  function FeelEntry(props) {
64792
64673
  const {
@@ -64807,7 +64688,8 @@
64807
64688
  example,
64808
64689
  variables,
64809
64690
  onFocus,
64810
- onBlur
64691
+ onBlur,
64692
+ tooltip
64811
64693
  } = props;
64812
64694
  const [validationError, setValidationError] = l$2(null);
64813
64695
  const [localError, setLocalError] = l$2(null);
@@ -64857,7 +64739,8 @@
64857
64739
  value: value,
64858
64740
  variables: variables,
64859
64741
  tooltipContainer: tooltipContainer,
64860
- OptionalComponent: props.OptionalComponent
64742
+ OptionalComponent: props.OptionalComponent,
64743
+ tooltip: tooltip
64861
64744
  }), error && e$1("div", {
64862
64745
  class: "bio-properties-panel-error",
64863
64746
  children: error
@@ -64978,7 +64861,8 @@
64978
64861
  value = '',
64979
64862
  disabled,
64980
64863
  onFocus,
64981
- onBlur
64864
+ onBlur,
64865
+ tooltip
64982
64866
  } = props;
64983
64867
  const ref = useShowEntryEvent(id);
64984
64868
  const [localValue, setLocalValue] = l$2(value);
@@ -65002,7 +64886,12 @@
65002
64886
  children: [e$1("label", {
65003
64887
  for: prefixId$3(id),
65004
64888
  class: "bio-properties-panel-label",
65005
- children: label
64889
+ children: e$1(TooltipWrapper, {
64890
+ value: tooltip,
64891
+ forId: id,
64892
+ element: props.element,
64893
+ children: label
64894
+ })
65006
64895
  }), e$1("select", {
65007
64896
  ref: ref,
65008
64897
  id: prefixId$3(id),
@@ -65047,6 +64936,7 @@
65047
64936
  * @param {Function} props.getOptions
65048
64937
  * @param {boolean} [props.disabled]
65049
64938
  * @param {Function} [props.validate]
64939
+ * @param {string|import('preact').Component} props.tooltip
65050
64940
  */
65051
64941
  function SelectEntry(props) {
65052
64942
  const {
@@ -65060,7 +64950,8 @@
65060
64950
  disabled,
65061
64951
  onFocus,
65062
64952
  onBlur,
65063
- validate
64953
+ validate,
64954
+ tooltip
65064
64955
  } = props;
65065
64956
  const options = getOptions(element);
65066
64957
  const globalError = useError(id);
@@ -65092,7 +64983,9 @@
65092
64983
  onFocus: onFocus,
65093
64984
  onBlur: onBlur,
65094
64985
  options: options,
65095
- disabled: disabled
64986
+ disabled: disabled,
64987
+ tooltip: tooltip,
64988
+ element: element
65096
64989
  }, element), error && e$1("div", {
65097
64990
  class: "bio-properties-panel-error",
65098
64991
  children: error
@@ -65131,7 +65024,8 @@
65131
65024
  onFocus,
65132
65025
  onBlur,
65133
65026
  autoResize,
65134
- rows = autoResize ? 1 : 2
65027
+ rows = autoResize ? 1 : 2,
65028
+ tooltip
65135
65029
  } = props;
65136
65030
  const [localValue, setLocalValue] = l$2(value);
65137
65031
  const ref = useShowEntryEvent(id);
@@ -65145,7 +65039,7 @@
65145
65039
  autoResize && resizeToContents(e.target);
65146
65040
  setLocalValue(e.target.value);
65147
65041
  };
65148
- h(() => {
65042
+ h$1(() => {
65149
65043
  autoResize && resizeToContents(ref.current);
65150
65044
  }, []);
65151
65045
  y(() => {
@@ -65159,7 +65053,12 @@
65159
65053
  children: [e$1("label", {
65160
65054
  for: prefixId$1(id),
65161
65055
  class: "bio-properties-panel-label",
65162
- children: label
65056
+ children: e$1(TooltipWrapper, {
65057
+ value: tooltip,
65058
+ forId: id,
65059
+ element: props.element,
65060
+ children: label
65061
+ })
65163
65062
  }), e$1("textarea", {
65164
65063
  ref: ref,
65165
65064
  id: prefixId$1(id),
@@ -65208,7 +65107,8 @@
65208
65107
  validate,
65209
65108
  onFocus,
65210
65109
  onBlur,
65211
- autoResize
65110
+ autoResize,
65111
+ tooltip
65212
65112
  } = props;
65213
65113
  const globalError = useError(id);
65214
65114
  const [localError, setLocalError] = l$2(null);
@@ -65242,7 +65142,9 @@
65242
65142
  debounce: debounce,
65243
65143
  monospace: monospace,
65244
65144
  disabled: disabled,
65245
- autoResize: autoResize
65145
+ autoResize: autoResize,
65146
+ tooltip: tooltip,
65147
+ element: element
65246
65148
  }, element), error && e$1("div", {
65247
65149
  class: "bio-properties-panel-error",
65248
65150
  children: error
@@ -65271,7 +65173,8 @@
65271
65173
  onInput,
65272
65174
  onFocus,
65273
65175
  onBlur,
65274
- value = ''
65176
+ value = '',
65177
+ tooltip
65275
65178
  } = props;
65276
65179
  const [localValue, setLocalValue] = l$2(value || '');
65277
65180
  const ref = useShowEntryEvent(id);
@@ -65295,7 +65198,12 @@
65295
65198
  children: [e$1("label", {
65296
65199
  for: prefixId(id),
65297
65200
  class: "bio-properties-panel-label",
65298
- children: label
65201
+ children: e$1(TooltipWrapper, {
65202
+ value: tooltip,
65203
+ forId: id,
65204
+ element: props.element,
65205
+ children: label
65206
+ })
65299
65207
  }), e$1("input", {
65300
65208
  ref: ref,
65301
65209
  id: prefixId(id),
@@ -65325,6 +65233,7 @@
65325
65233
  * @param {Function} props.setValue
65326
65234
  * @param {Function} props.onFocus
65327
65235
  * @param {Function} props.onBlur
65236
+ * @param {string|import('preact').Component} props.tooltip
65328
65237
  * @param {Function} props.validate
65329
65238
  */
65330
65239
  function TextfieldEntry(props) {
@@ -65339,7 +65248,8 @@
65339
65248
  setValue,
65340
65249
  validate,
65341
65250
  onFocus,
65342
- onBlur
65251
+ onBlur,
65252
+ tooltip
65343
65253
  } = props;
65344
65254
  const globalError = useError(id);
65345
65255
  const [localError, setLocalError] = l$2(null);
@@ -65370,7 +65280,9 @@
65370
65280
  onInput: onInput,
65371
65281
  onFocus: onFocus,
65372
65282
  onBlur: onBlur,
65373
- value: value
65283
+ value: value,
65284
+ tooltip: tooltip,
65285
+ element: element
65374
65286
  }, element), error && e$1("div", {
65375
65287
  class: "bio-properties-panel-error",
65376
65288
  children: error
@@ -65391,14 +65303,14 @@
65391
65303
  return `bio-properties-panel-${id}`;
65392
65304
  }
65393
65305
 
65394
- /**
65395
- * @param {string} type
65396
- * @param {boolean} [strict]
65397
- *
65398
- * @returns {any}
65306
+ /**
65307
+ * @param {string} type
65308
+ * @param {boolean} [strict]
65309
+ *
65310
+ * @returns {any}
65399
65311
  */
65400
65312
  function getService(type, strict) {}
65401
- const PropertiesPanelContext = D$1({
65313
+ const PropertiesPanelContext = D$2({
65402
65314
  getService
65403
65315
  });
65404
65316
  var FormPropertiesPanelContext = PropertiesPanelContext;
@@ -65483,8 +65395,8 @@
65483
65395
  }
65484
65396
  };
65485
65397
 
65486
- /**
65487
- * Provide placeholders for empty and multiple state.
65398
+ /**
65399
+ * Provide placeholders for empty and multiple state.
65488
65400
  */
65489
65401
  const PropertiesPanelPlaceholderProvider = {
65490
65402
  getEmpty: () => {
@@ -65550,14 +65462,14 @@
65550
65462
  function useService(type, strict) {
65551
65463
  const {
65552
65464
  getService
65553
- } = F(FormPropertiesPanelContext);
65465
+ } = F$1(FormPropertiesPanelContext);
65554
65466
  return getService(type, strict);
65555
65467
  }
65556
65468
 
65557
- /**
65558
- * Retrieve list of variables from the form schema.
65559
- *
65560
- * @returns { string[] } list of variables used in form schema
65469
+ /**
65470
+ * Retrieve list of variables from the form schema.
65471
+ *
65472
+ * @returns { string[] } list of variables used in form schema
65561
65473
  */
65562
65474
  function useVariables() {
65563
65475
  const form = useService('formEditor');
@@ -65608,6 +65520,7 @@
65608
65520
  getValue,
65609
65521
  id,
65610
65522
  label: 'Alternative text',
65523
+ tooltip: 'Descriptive text for screen reader accessibility.',
65611
65524
  setValue,
65612
65525
  singleLine: true,
65613
65526
  variables
@@ -66007,6 +65920,7 @@
66007
65920
  getValue,
66008
65921
  id,
66009
65922
  label: 'Disabled',
65923
+ tooltip: 'Field cannot be edited by the end-user, and the data is not submitted.',
66010
65924
  inline: true,
66011
65925
  setValue
66012
65926
  });
@@ -66148,6 +66062,7 @@
66148
66062
  getValue,
66149
66063
  id,
66150
66064
  label: 'Key',
66065
+ tooltip: 'Use a unique "key" to link the form element and the related input/output data. When dealing with nested data, break it down in the user task\'s input mapping before using it.',
66151
66066
  setValue,
66152
66067
  validate
66153
66068
  });
@@ -66207,7 +66122,7 @@
66207
66122
  return get(field, path, '');
66208
66123
  };
66209
66124
  const setValue = value => {
66210
- return editField(field, path, value);
66125
+ return editField(field, path, value || '');
66211
66126
  };
66212
66127
  return FeelTemplatingEntry({
66213
66128
  debounce,
@@ -66235,7 +66150,7 @@
66235
66150
  return get(field, path, '');
66236
66151
  };
66237
66152
  const setValue = value => {
66238
- return editField(field, path, value);
66153
+ return editField(field, path, value || '');
66239
66154
  };
66240
66155
  return FeelTemplatingEntry({
66241
66156
  debounce,
@@ -66263,7 +66178,7 @@
66263
66178
  return get(field, path, '');
66264
66179
  };
66265
66180
  const setValue = value => {
66266
- return editField(field, path, value);
66181
+ return editField(field, path, value || '');
66267
66182
  };
66268
66183
  return FeelTemplatingEntry({
66269
66184
  debounce,
@@ -66321,6 +66236,7 @@
66321
66236
  getValue,
66322
66237
  id,
66323
66238
  label: 'Image source',
66239
+ tooltip: 'Link referring to a hosted image, or use a data URI directly to embed image data into the form.',
66324
66240
  setValue,
66325
66241
  singleLine: true,
66326
66242
  variables
@@ -67071,14 +66987,14 @@
67071
66987
 
67072
66988
  // helpers //////////
67073
66989
 
67074
- /**
67075
- * Returns copy of object with updated value.
67076
- *
67077
- * @param {Object} properties
67078
- * @param {string} key
67079
- * @param {string} value
67080
- *
67081
- * @returns {Object}
66990
+ /**
66991
+ * Returns copy of object with updated value.
66992
+ *
66993
+ * @param {Object} properties
66994
+ * @param {string} key
66995
+ * @param {string} value
66996
+ *
66997
+ * @returns {Object}
67082
66998
  */
67083
66999
  function updateValue(properties, key, value) {
67084
67000
  return {
@@ -67087,14 +67003,14 @@
67087
67003
  };
67088
67004
  }
67089
67005
 
67090
- /**
67091
- * Returns copy of object with updated key.
67092
- *
67093
- * @param {Object} properties
67094
- * @param {string} oldKey
67095
- * @param {string} newKey
67096
- *
67097
- * @returns {Object}
67006
+ /**
67007
+ * Returns copy of object with updated key.
67008
+ *
67009
+ * @param {Object} properties
67010
+ * @param {string} oldKey
67011
+ * @param {string} newKey
67012
+ *
67013
+ * @returns {Object}
67098
67014
  */
67099
67015
  function updateKey(properties, oldKey, newKey) {
67100
67016
  return Object.entries(properties).reduce((newProperties, entry) => {
@@ -67460,6 +67376,7 @@
67460
67376
  getValue,
67461
67377
  id,
67462
67378
  label: 'Read only',
67379
+ tooltip: 'Field cannot be edited by the end-user, but the data will still be submitted.',
67463
67380
  setValue,
67464
67381
  variables
67465
67382
  });
@@ -67906,12 +67823,13 @@
67906
67823
  };
67907
67824
  const valuesSourceId = `${fieldId}-valuesSource`;
67908
67825
 
67909
- /**
67910
- * @type {Array<Group|ListGroup>}
67826
+ /**
67827
+ * @type {Array<Group|ListGroup>}
67911
67828
  */
67912
67829
  const groups = [{
67913
67830
  id: valuesSourceId,
67914
67831
  label: 'Options source',
67832
+ tooltip: '"Static" defines a constant, predefined set of form options.\n"Dynamic" defines options that are populated dynamically, adjusting based on variable data for flexible responses to different conditions or inputs.',
67915
67833
  component: Group,
67916
67834
  entries: ValuesSourceSelectEntry({
67917
67835
  ...context,
@@ -67955,7 +67873,7 @@
67955
67873
  }
67956
67874
  return groups;
67957
67875
  }
67958
- function CustomValuesGroup(field, editField) {
67876
+ function CustomPropertiesGroup(field, editField) {
67959
67877
  const {
67960
67878
  properties = {},
67961
67879
  type
@@ -68013,19 +67931,20 @@
68013
67931
  id: 'custom-values',
68014
67932
  items,
68015
67933
  label: 'Custom properties',
67934
+ tooltip: 'Add properties directly to the form schema, useful to configure functionality in custom-built task applications and form renderers.',
68016
67935
  shouldSort: false
68017
67936
  };
68018
67937
  }
68019
67938
 
68020
67939
  // helpers //////////
68021
67940
 
68022
- /**
68023
- * Returns copy of object without key.
68024
- *
68025
- * @param {Object} properties
68026
- * @param {string} oldKey
68027
- *
68028
- * @returns {Object}
67941
+ /**
67942
+ * Returns copy of object without key.
67943
+ *
67944
+ * @param {Object} properties
67945
+ * @param {string} oldKey
67946
+ *
67947
+ * @returns {Object}
68029
67948
  */
68030
67949
  function removeKey(properties, oldKey) {
68031
67950
  return Object.entries(properties).reduce((newProperties, entry) => {
@@ -68094,7 +68013,7 @@
68094
68013
  if (!field) {
68095
68014
  return [];
68096
68015
  }
68097
- const groups = [GeneralGroup(field, editField, getService), ConditionGroup(field, editField), LayoutGroup(field, editField), AppearanceGroup(field, editField), SerializationGroup(field, editField), ...ValuesGroups(field, editField), ConstraintsGroup(field, editField), ValidationGroup(field, editField), CustomValuesGroup(field, editField)];
68016
+ const groups = [GeneralGroup(field, editField, getService), ConditionGroup(field, editField), LayoutGroup(field, editField), AppearanceGroup(field, editField), SerializationGroup(field, editField), ...ValuesGroups(field, editField), ConstraintsGroup(field, editField), ValidationGroup(field, editField), CustomPropertiesGroup(field, editField)];
68098
68017
 
68099
68018
  // contract: if a group returns null, it should not be displayed at all
68100
68019
  return groups.filter(group => group !== null);
@@ -68123,10 +68042,10 @@
68123
68042
  formField: field
68124
68043
  });
68125
68044
  }, [eventBus, formEditor, selectionModule]);
68126
- h(() => {
68127
- /**
68128
- * TODO(pinussilvestrus): update with actual updated element,
68129
- * once we have a proper updater/change support
68045
+ h$1(() => {
68046
+ /**
68047
+ * TODO(pinussilvestrus): update with actual updated element,
68048
+ * once we have a proper updater/change support
68130
68049
  */
68131
68050
  eventBus.on('changed', refresh);
68132
68051
  eventBus.on('import.done', refresh);
@@ -68177,10 +68096,10 @@
68177
68096
  });
68178
68097
  }
68179
68098
 
68180
- /**
68181
- * Attach the properties panel to a parent node.
68182
- *
68183
- * @param {HTMLElement} container
68099
+ /**
68100
+ * Attach the properties panel to a parent node.
68101
+ *
68102
+ * @param {HTMLElement} container
68184
68103
  */
68185
68104
  attachTo(container) {
68186
68105
  if (!container) {
@@ -68200,8 +68119,8 @@
68200
68119
  this._eventBus.fire('propertiesPanel.attach');
68201
68120
  }
68202
68121
 
68203
- /**
68204
- * Detach the properties panel from its parent node.
68122
+ /**
68123
+ * Detach the properties panel from its parent node.
68205
68124
  */
68206
68125
  detach() {
68207
68126
  const parentNode = this._container.parentNode;
@@ -68230,10 +68149,10 @@
68230
68149
  propertiesPanel: ['type', PropertiesPanelRenderer]
68231
68150
  };
68232
68151
 
68233
- /**
68234
- * Manages the rendering of visual plugins.
68235
- * @constructor
68236
- * @param {Object} eventBus - Event bus for the application.
68152
+ /**
68153
+ * Manages the rendering of visual plugins.
68154
+ * @constructor
68155
+ * @param {Object} eventBus - Event bus for the application.
68237
68156
  */
68238
68157
  class RenderInjector extends SectionModuleBase {
68239
68158
  constructor(eventBus) {
@@ -68242,10 +68161,10 @@
68242
68161
  this.registeredRenderers = [];
68243
68162
  }
68244
68163
 
68245
- /**
68246
- * Inject a new renderer into the injector.
68247
- * @param {string} identifier - Identifier for the renderer.
68248
- * @param {Function} Renderer - The renderer function.
68164
+ /**
68165
+ * Inject a new renderer into the injector.
68166
+ * @param {string} identifier - Identifier for the renderer.
68167
+ * @param {Function} Renderer - The renderer function.
68249
68168
  */
68250
68169
  attachRenderer(identifier, Renderer) {
68251
68170
  this.registeredRenderers = [...this.registeredRenderers, {
@@ -68254,17 +68173,17 @@
68254
68173
  }];
68255
68174
  }
68256
68175
 
68257
- /**
68258
- * Detach a renderer from the by key injector.
68259
- * @param {string} identifier - Identifier for the renderer.
68176
+ /**
68177
+ * Detach a renderer from the by key injector.
68178
+ * @param {string} identifier - Identifier for the renderer.
68260
68179
  */
68261
68180
  detachRenderer(identifier) {
68262
68181
  this.registeredRenderers = this.registeredRenderers.filter(r => r.identifier !== identifier);
68263
68182
  }
68264
68183
 
68265
- /**
68266
- * Returns the registered renderers.
68267
- * @returns {Array} Array of registered renderers.
68184
+ /**
68185
+ * Returns the registered renderers.
68186
+ * @returns {Array} Array of registered renderers.
68268
68187
  */
68269
68188
  fetchRenderers() {
68270
68189
  return this.registeredRenderers;
@@ -68294,48 +68213,48 @@
68294
68213
  };
68295
68214
  const ids = new Ids([32, 36, 1]);
68296
68215
 
68297
- /**
68298
- * @typedef { import('./types').Injector } Injector
68299
- * @typedef { import('./types').Module } Module
68300
- * @typedef { import('./types').Schema } Schema
68301
- *
68302
- * @typedef { import('./types').FormEditorOptions } FormEditorOptions
68303
- * @typedef { import('./types').FormEditorProperties } FormEditorProperties
68304
- *
68305
- * @typedef { {
68306
- * properties: FormEditorProperties,
68307
- * schema: Schema
68308
- * } } State
68309
- *
68310
- * @typedef { (type:string, priority:number, handler:Function) => void } OnEventWithPriority
68311
- * @typedef { (type:string, handler:Function) => void } OnEventWithOutPriority
68312
- * @typedef { OnEventWithPriority & OnEventWithOutPriority } OnEventType
68216
+ /**
68217
+ * @typedef { import('./types').Injector } Injector
68218
+ * @typedef { import('./types').Module } Module
68219
+ * @typedef { import('./types').Schema } Schema
68220
+ *
68221
+ * @typedef { import('./types').FormEditorOptions } FormEditorOptions
68222
+ * @typedef { import('./types').FormEditorProperties } FormEditorProperties
68223
+ *
68224
+ * @typedef { {
68225
+ * properties: FormEditorProperties,
68226
+ * schema: Schema
68227
+ * } } State
68228
+ *
68229
+ * @typedef { (type:string, priority:number, handler:Function) => void } OnEventWithPriority
68230
+ * @typedef { (type:string, handler:Function) => void } OnEventWithOutPriority
68231
+ * @typedef { OnEventWithPriority & OnEventWithOutPriority } OnEventType
68313
68232
  */
68314
68233
 
68315
- /**
68316
- * The form editor.
68234
+ /**
68235
+ * The form editor.
68317
68236
  */
68318
68237
  class FormEditor {
68319
- /**
68320
- * @constructor
68321
- * @param {FormEditorOptions} options
68238
+ /**
68239
+ * @constructor
68240
+ * @param {FormEditorOptions} options
68322
68241
  */
68323
68242
  constructor(options = {}) {
68324
- /**
68325
- * @public
68326
- * @type {OnEventType}
68243
+ /**
68244
+ * @public
68245
+ * @type {OnEventType}
68327
68246
  */
68328
68247
  this.on = this._onEvent;
68329
68248
 
68330
- /**
68331
- * @public
68332
- * @type {String}
68249
+ /**
68250
+ * @public
68251
+ * @type {String}
68333
68252
  */
68334
68253
  this._id = ids.next();
68335
68254
 
68336
- /**
68337
- * @private
68338
- * @type {Element}
68255
+ /**
68256
+ * @private
68257
+ * @type {Element}
68339
68258
  */
68340
68259
  this._container = createFormContainer();
68341
68260
  this._container.setAttribute('input-handle-modified-keys', 'z,y');
@@ -68346,15 +68265,15 @@
68346
68265
  properties = {}
68347
68266
  } = options;
68348
68267
 
68349
- /**
68350
- * @private
68351
- * @type {any}
68268
+ /**
68269
+ * @private
68270
+ * @type {any}
68352
68271
  */
68353
68272
  this.exporter = exporter;
68354
68273
 
68355
- /**
68356
- * @private
68357
- * @type {State}
68274
+ /**
68275
+ * @private
68276
+ * @type {State}
68358
68277
  */
68359
68278
  this._state = {
68360
68279
  properties,
@@ -68383,10 +68302,10 @@
68383
68302
  this._detach(false);
68384
68303
  }
68385
68304
 
68386
- /**
68387
- * @param {Schema} schema
68388
- *
68389
- * @return {Promise<{ warnings: Array<any> }>}
68305
+ /**
68306
+ * @param {Schema} schema
68307
+ *
68308
+ * @return {Promise<{ warnings: Array<any> }>}
68390
68309
  */
68391
68310
  importSchema(schema) {
68392
68311
  return new Promise((resolve, reject) => {
@@ -68415,15 +68334,15 @@
68415
68334
  });
68416
68335
  }
68417
68336
 
68418
- /**
68419
- * @returns {Schema}
68337
+ /**
68338
+ * @returns {Schema}
68420
68339
  */
68421
68340
  saveSchema() {
68422
68341
  return this.getSchema();
68423
68342
  }
68424
68343
 
68425
- /**
68426
- * @returns {Schema}
68344
+ /**
68345
+ * @returns {Schema}
68427
68346
  */
68428
68347
  getSchema() {
68429
68348
  const {
@@ -68432,8 +68351,8 @@
68432
68351
  return exportSchema(schema, this.exporter, schemaVersion);
68433
68352
  }
68434
68353
 
68435
- /**
68436
- * @param {Element|string} parentNode
68354
+ /**
68355
+ * @param {Element|string} parentNode
68437
68356
  */
68438
68357
  attachTo(parentNode) {
68439
68358
  if (!parentNode) {
@@ -68451,10 +68370,10 @@
68451
68370
  this._detach();
68452
68371
  }
68453
68372
 
68454
- /**
68455
- * @internal
68456
- *
68457
- * @param {boolean} [emit]
68373
+ /**
68374
+ * @internal
68375
+ *
68376
+ * @param {boolean} [emit]
68458
68377
  */
68459
68378
  _detach(emit = true) {
68460
68379
  const container = this._container,
@@ -68468,9 +68387,9 @@
68468
68387
  parentNode.removeChild(container);
68469
68388
  }
68470
68389
 
68471
- /**
68472
- * @param {any} property
68473
- * @param {any} value
68390
+ /**
68391
+ * @param {any} property
68392
+ * @param {any} value
68474
68393
  */
68475
68394
  setProperty(property, value) {
68476
68395
  const properties = set$1(this._getState().properties, [property], value);
@@ -68479,21 +68398,21 @@
68479
68398
  });
68480
68399
  }
68481
68400
 
68482
- /**
68483
- * @param {string} type
68484
- * @param {Function} handler
68401
+ /**
68402
+ * @param {string} type
68403
+ * @param {Function} handler
68485
68404
  */
68486
68405
  off(type, handler) {
68487
68406
  this.get('eventBus').off(type, handler);
68488
68407
  }
68489
68408
 
68490
- /**
68491
- * @internal
68492
- *
68493
- * @param {FormEditorOptions} options
68494
- * @param {Element} container
68495
- *
68496
- * @returns {Injector}
68409
+ /**
68410
+ * @internal
68411
+ *
68412
+ * @param {FormEditorOptions} options
68413
+ * @param {Element} container
68414
+ *
68415
+ * @returns {Injector}
68497
68416
  */
68498
68417
  _createInjector(options, container) {
68499
68418
  const {
@@ -68515,22 +68434,22 @@
68515
68434
  }, core, ...modules, ...additionalModules]);
68516
68435
  }
68517
68436
 
68518
- /**
68519
- * @internal
68437
+ /**
68438
+ * @internal
68520
68439
  */
68521
68440
  _emit(type, data) {
68522
68441
  this.get('eventBus').fire(type, data);
68523
68442
  }
68524
68443
 
68525
- /**
68526
- * @internal
68444
+ /**
68445
+ * @internal
68527
68446
  */
68528
68447
  _getState() {
68529
68448
  return this._state;
68530
68449
  }
68531
68450
 
68532
- /**
68533
- * @internal
68451
+ /**
68452
+ * @internal
68534
68453
  */
68535
68454
  _setState(state) {
68536
68455
  this._state = {
@@ -68540,15 +68459,15 @@
68540
68459
  this._emit('changed', this._getState());
68541
68460
  }
68542
68461
 
68543
- /**
68544
- * @internal
68462
+ /**
68463
+ * @internal
68545
68464
  */
68546
68465
  _getModules() {
68547
68466
  return [ModelingModule, EditorActionsModule, DraggingModule, KeyboardModule, SelectionModule, PaletteModule, ExpressionLanguageModule, MarkdownModule, PropertiesPanelModule, RenderInjectionModule];
68548
68467
  }
68549
68468
 
68550
- /**
68551
- * @internal
68469
+ /**
68470
+ * @internal
68552
68471
  */
68553
68472
  _onEvent(type, priority, handler) {
68554
68473
  this.get('eventBus').on(type, priority, handler);
@@ -70051,8 +69970,8 @@
70051
69970
  return new LanguageSupport(jsonLanguage);
70052
69971
  }
70053
69972
 
70054
- /**
70055
- * @type {Facet<import('..').Variables>} Variables
69973
+ /**
69974
+ * @type {Facet<import('..').Variables>} Variables
70056
69975
  */
70057
69976
  const variablesFacet = Facet.define();
70058
69977
 
@@ -70092,8 +70011,8 @@
70092
70011
  let language = new Compartment().of(json());
70093
70012
  let tabSize = new Compartment().of(EditorState.tabSize.of(2));
70094
70013
 
70095
- /**
70096
- * @typedef {Array<string>} Variables
70014
+ /**
70015
+ * @typedef {Array<string>} Variables
70097
70016
  */
70098
70017
 
70099
70018
  const autocompletionConf = new Compartment();
@@ -70133,8 +70052,8 @@
70133
70052
  return view.state.doc.toString();
70134
70053
  };
70135
70054
 
70136
- /**
70137
- * @param {Variables} variables
70055
+ /**
70056
+ * @param {Variables} variables
70138
70057
  */
70139
70058
  this.setVariables = function (variables) {
70140
70059
  view.setVariables(variables);