@knime/jsonforms 1.5.10 → 1.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{AnyOfTwinlist-DMizLIwn.js → AnyOfTwinlist-DTggNnXP.js} +1 -1
  3. package/dist/{BaseButton-ew6uEaHi.js → BaseButton-I5M4pn6f.js} +1 -1
  4. package/dist/{Button-DI7EKUmu.js → Button-rLCsKJpO.js} +2 -2
  5. package/dist/{Checkbox-DPq-j4rC.js → Checkbox-DrJQzBqF.js} +1 -1
  6. package/dist/{CheckboxControl-Tnv1xVel.js → CheckboxControl-BGwhQMs-.js} +2 -2
  7. package/dist/{Checkboxes-CtN15klz.js → Checkboxes-Br3FkfqS.js} +2 -2
  8. package/dist/{CheckboxesControl-DcVkxf7W.js → CheckboxesControl-C5BkhWew.js} +2 -2
  9. package/dist/{ColumnFilter-Cw2PtnrT.js → ColumnFilter-DfAP8buV.js} +1 -1
  10. package/dist/{ColumnSelect-Df-m3Md2.js → ColumnSelect-vXE_85cR.js} +2 -2
  11. package/dist/{ComboBoxControl-DC3W4kPq.js → ComboBoxControl-CTMdhcN-.js} +4 -4
  12. package/dist/{DateControl-D70zb_g8.js → DateControl-B40Ar3uG.js} +1 -1
  13. package/dist/{DateTimeControl-C-ef6bOV.js → DateTimeControl-CUy0OZUE.js} +2 -2
  14. package/dist/{DateTimeFormatInput-t-O7ZqrA.js → DateTimeFormatInput-U6oDnsJW.js} +5 -5
  15. package/dist/{DateTimeFormatPickerControl-BbOu24lA.js → DateTimeFormatPickerControl-ARLARGoo.js} +2 -2
  16. package/dist/{DateTimeFormatPickerWithTypeControl-9e1ef9Hf.js → DateTimeFormatPickerWithTypeControl-Bu3NEwvJ.js} +3 -3
  17. package/dist/{DateTimeInput-C32yoECp.js → DateTimeInput-C7e1Z-XE.js} +3524 -3603
  18. package/dist/Dropdown-CPOTGnA1.js +605 -0
  19. package/dist/{DropdownControl-YplxM6ck.js → DropdownControl-CzD81Ycz.js} +1 -1
  20. package/dist/{DropdownControl.vue_vue_type_script_setup_true_lang-ByoiTkIU.js → DropdownControl.vue_vue_type_script_setup_true_lang-L2a_FDVR.js} +4 -4
  21. package/dist/{FunctionButton-Cee1Q-EN.js → FunctionButton-dHu7h3Y1.js} +2 -2
  22. package/dist/{HorizontalLayout-BtuP4oCU.js → HorizontalLayout-DpJ-y9Ro.js} +1 -1
  23. package/dist/{InputField-DHXXBWSv.js → InputField-BKnMLu77.js} +1 -1
  24. package/dist/{IntegerControl-B64xghdA.js → IntegerControl-Cly4hd8V.js} +1 -1
  25. package/dist/{IntervalControl-NldC56aj.js → IntervalControl-Bm-31Ea-.js} +6 -6
  26. package/dist/{MultiselectListBox-BUWB5ZWr.js → MultiselectListBox-OkLLUNac.js} +2 -2
  27. package/dist/{NameFilter-BQhzv9F3.js → NameFilter-DvtQFRJE.js} +1 -1
  28. package/dist/{NumberControl-EVY_3Hwl.js → NumberControl-C7SHCfb3.js} +1 -1
  29. package/dist/{NumberControlBase.vue_vue_type_script_setup_true_lang-CA0OxGuU.js → NumberControlBase.vue_vue_type_script_setup_true_lang-QqzXKwDy.js} +2 -2
  30. package/dist/{NumberInput-CI1ee8it.js → NumberInput-AOsXRph2.js} +1 -1
  31. package/dist/{OneOfDropdown-BPZeE-Bn.js → OneOfDropdown-DwbMw791.js} +1 -1
  32. package/dist/{RadioControl-DbX_Wfuv.js → RadioControl-DeFDT7X0.js} +2 -2
  33. package/dist/{RadioControlBase.vue_vue_type_script_setup_true_lang-BJdqHTLu.js → RadioControlBase.vue_vue_type_script_setup_true_lang-DO2v2uzO.js} +2 -2
  34. package/dist/{RichTextControl-Dl4V0nno.js → RichTextControl-BNvBtINB.js} +7 -7
  35. package/dist/{SectionLayout-CF6zovCM.js → SectionLayout-BUlQGeSC.js} +2 -2
  36. package/dist/{SimpleButtonControl-BwlE_a5H.js → SimpleButtonControl-BKhxWUOQ.js} +2 -2
  37. package/dist/{SimpleTwinlistControl-Cbwa6xtL.js → SimpleTwinlistControl-C1U5ZsHa.js} +12 -13
  38. package/dist/{SortListControl-BzbPvx8-.js → SortListControl-CXDHaj82.js} +4 -4
  39. package/dist/{TextAreaControl-BdTbCiQe.js → TextAreaControl-BFu0t-I2.js} +1 -1
  40. package/dist/{TextControl-PPpaK3OZ.js → TextControl-Bn47wzh9.js} +1 -1
  41. package/dist/{TextControl.vue_vue_type_script_setup_true_lang-DndraaDL.js → TextControl.vue_vue_type_script_setup_true_lang-xxo3RxnK.js} +3 -3
  42. package/dist/{TimeControl-CHQYhf6G.js → TimeControl-C_QqGr_G.js} +2 -2
  43. package/dist/{TwinlistControl-CqDn6X1h.js → TwinlistControl-BJthx4lq.js} +70 -71
  44. package/dist/{TwinlistLoadingInfo-PbU9BJjv.js → TwinlistLoadingInfo-a_ymAtQP.js} +69 -89
  45. package/dist/{ValueSwitch-CA4_rkUU.js → ValueSwitch-DeFP0rns.js} +1 -1
  46. package/dist/{ValueSwitchControl-5uuRkxf2.js → ValueSwitchControl-BzNmmWQq.js} +1 -1
  47. package/dist/{VerticalLayout-C4FOz-7p.js → VerticalLayout-56JEav8u.js} +2 -2
  48. package/dist/{VerticalLayoutBase-DQCRpzUA.js → VerticalLayoutBase-DOyKtPzP.js} +1 -1
  49. package/dist/VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js +13312 -0
  50. package/dist/{ZonedDateTimeControl-BcZrk010.js → ZonedDateTimeControl-CC-rPJr7.js} +4 -4
  51. package/dist/{floating-ui.vue.esm-B1dY_Hbh.js → floating-ui.vue-B-MrqKCT.js} +375 -342
  52. package/dist/index-Bf0xDq3g.js +373 -0
  53. package/dist/knime-jsonforms.css +1 -1
  54. package/dist/knime-jsonforms.js +5 -5
  55. package/dist/{localTimeUtils-ClDpVqfn.js → localTimeUtils-D3Z9JesA.js} +1 -1
  56. package/dist/{magic-string.es-D4UQQyt0.js → magic-string.es-DDd2I1su.js} +264 -265
  57. package/dist/{svgWithTitle-C6ghivXy.js → svgWithTitle-B7gWnKbY.js} +1 -1
  58. package/dist/testing.js +2 -2
  59. package/package.json +6 -11
  60. package/dist/Dropdown-B6CD0Mt_.js +0 -692
  61. package/dist/VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js +0 -14934
  62. package/dist/index-CkuSIXs2.js +0 -331
@@ -0,0 +1,605 @@
1
+ import { defineComponent as Y, ref as V, h as j, watch as O, computed as A, toRefs as G, nextTick as z, resolveComponent as v, openBlock as d, createBlock as S, withCtx as k, createElementVNode as g, normalizeClass as x, normalizeStyle as U, createElementBlock as p, withModifiers as b, renderSlot as D, toDisplayString as I, createCommentVNode as E, withKeys as X, createVNode as B, withDirectives as q, Fragment as C, renderList as M, createTextVNode as Q, vShow as J, pushScopeId as Z, popScopeId as $ } from "vue";
2
+ import { o as ee, t as te, c as w, d as P, i as K, n as se, e as ne, f as ie } from "./index-Bf0xDq3g.js";
3
+ import { A as oe } from "./arrow-dropdown-DjUxzjqC.js";
4
+ import { C as re } from "./close-h7XT0ja0.js";
5
+ /* empty css */
6
+ import { u as le } from "./useSearch-hpyYQ_6y.js";
7
+ import { F as ae } from "./FunctionButton-dHu7h3Y1.js";
8
+ import { a as de, b as ue, d as ce, f as he, h as pe, j as fe, k as me } from "./_getTag-DS8v0_uf.js";
9
+ import { i as ge } from "./toString-DkbNkGT4.js";
10
+ import { _ as ye } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
11
+ const xe = (e) => e.ctrlKey || e.metaKey || e.altKey || e.shiftKey, we = (e, t) => (Array.isArray(t) ? t : [t]).includes(e.key) && !xe(e);
12
+ var Ve = "[object Map]", ve = "[object Set]", be = Object.prototype, Ee = be.hasOwnProperty;
13
+ function Ce(e) {
14
+ if (e == null)
15
+ return !0;
16
+ if (de(e) && (ge(e) || typeof e == "string" || typeof e.splice == "function" || ue(e) || ce(e) || he(e)))
17
+ return !e.length;
18
+ var t = pe(e);
19
+ if (t == Ve || t == ve)
20
+ return !e.size;
21
+ if (fe(e))
22
+ return !me(e).length;
23
+ for (var s in e)
24
+ if (Ee.call(e, s))
25
+ return !1;
26
+ return !0;
27
+ }
28
+ const Oe = /* @__PURE__ */ Y({
29
+ name: "OnClickOutside",
30
+ props: ["as", "options"],
31
+ emits: ["trigger"],
32
+ setup(e, { slots: t, emit: s }) {
33
+ const o = V();
34
+ return ee(o, (i) => {
35
+ s("trigger", i);
36
+ }, e.options), () => {
37
+ if (t.default)
38
+ return j(e.as || "div", { ref: o }, t.default());
39
+ };
40
+ }
41
+ });
42
+ function Se(e) {
43
+ var t;
44
+ const s = w(e);
45
+ return (t = s == null ? void 0 : s.$el) != null ? t : s;
46
+ }
47
+ const ke = ie ? window : void 0;
48
+ function De(...e) {
49
+ let t, s, o, i;
50
+ if (typeof e[0] == "string" || Array.isArray(e[0]) ? ([s, o, i] = e, t = ke) : [t, s, o, i] = e, !t)
51
+ return se;
52
+ Array.isArray(s) || (s = [s]), Array.isArray(o) || (o = [o]);
53
+ const n = [], f = () => {
54
+ n.forEach((h) => h()), n.length = 0;
55
+ }, r = (h, a, m, l) => (h.addEventListener(a, m, l), () => h.removeEventListener(a, m, l)), c = O(
56
+ () => [Se(t), w(i)],
57
+ ([h, a]) => {
58
+ if (f(), !h)
59
+ return;
60
+ const m = ne(a) ? { ...a } : a;
61
+ n.push(
62
+ ...s.flatMap((l) => o.map((y) => r(h, l, y, m)))
63
+ );
64
+ },
65
+ { immediate: !0, flush: "post" }
66
+ ), u = () => {
67
+ c(), f();
68
+ };
69
+ return P(u), u;
70
+ }
71
+ function T(e) {
72
+ return typeof Window < "u" && e instanceof Window ? e.document.documentElement : typeof Document < "u" && e instanceof Document ? e.documentElement : e;
73
+ }
74
+ function N(e) {
75
+ const t = window.getComputedStyle(e);
76
+ if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && e.clientWidth < e.scrollWidth || t.overflowY === "auto" && e.clientHeight < e.scrollHeight)
77
+ return !0;
78
+ {
79
+ const s = e.parentNode;
80
+ return !s || s.tagName === "BODY" ? !1 : N(s);
81
+ }
82
+ }
83
+ function Ie(e) {
84
+ const t = e || window.event, s = t.target;
85
+ return N(s) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);
86
+ }
87
+ const _ = /* @__PURE__ */ new WeakMap();
88
+ function Te(e, t = !1) {
89
+ const s = V(t);
90
+ let o = null, i = "";
91
+ O(te(e), (r) => {
92
+ const c = T(w(r));
93
+ if (c) {
94
+ const u = c;
95
+ if (_.get(u) || _.set(u, u.style.overflow), u.style.overflow !== "hidden" && (i = u.style.overflow), u.style.overflow === "hidden")
96
+ return s.value = !0;
97
+ if (s.value)
98
+ return u.style.overflow = "hidden";
99
+ }
100
+ }, {
101
+ immediate: !0
102
+ });
103
+ const n = () => {
104
+ const r = T(w(e));
105
+ !r || s.value || (K && (o = De(
106
+ r,
107
+ "touchmove",
108
+ (c) => {
109
+ Ie(c);
110
+ },
111
+ { passive: !1 }
112
+ )), r.style.overflow = "hidden", s.value = !0);
113
+ }, f = () => {
114
+ const r = T(w(e));
115
+ !r || !s.value || (K && (o == null || o()), r.style.overflow = i, _.delete(r), s.value = !1);
116
+ };
117
+ return P(f), A({
118
+ get() {
119
+ return s.value;
120
+ },
121
+ set(r) {
122
+ r ? n() : f();
123
+ }
124
+ });
125
+ }
126
+ function _e() {
127
+ let e = !1;
128
+ const t = V(!1);
129
+ return (s, o) => {
130
+ if (t.value = o.value, e)
131
+ return;
132
+ e = !0;
133
+ const i = Te(s, o.value);
134
+ O(t, (n) => i.value = n);
135
+ };
136
+ }
137
+ _e();
138
+ let Be = 0;
139
+ const L = "ArrowDown", R = "ArrowUp", H = "Home", F = "End", Me = "Escape", W = "Enter", Ke = [L, R, H, F, W], Ae = {
140
+ name: "Dropdown",
141
+ components: {
142
+ DropdownIcon: oe,
143
+ OnClickOutside: Oe,
144
+ FunctionButton: ae,
145
+ CloseIcon: re
146
+ },
147
+ props: {
148
+ id: {
149
+ type: String,
150
+ default() {
151
+ return `Dropdown-${Be++}`;
152
+ }
153
+ },
154
+ modelValue: {
155
+ type: String,
156
+ default: null
157
+ },
158
+ name: {
159
+ type: String,
160
+ default: null
161
+ },
162
+ placeholder: {
163
+ type: String,
164
+ default: null
165
+ },
166
+ ariaLabel: {
167
+ type: String,
168
+ required: !0
169
+ },
170
+ isValid: {
171
+ default: !0,
172
+ type: Boolean
173
+ },
174
+ disabled: {
175
+ default: !1,
176
+ type: Boolean
177
+ },
178
+ /**
179
+ * The direction of the dropdown menu. When set to 'up', the menu will appear above the input field.
180
+ * Defaults to 'down'.
181
+ */
182
+ direction: {
183
+ default: "down",
184
+ type: String
185
+ },
186
+ /**
187
+ * List of possible values. Each item must have an `id` and a `text` property. To use slots an additional
188
+ * slotData object must be passed which contains the data to be displayed.
189
+ *
190
+ * IMPORTANT: All values have to have a slotData object otherwise the slot will not be displayed and the
191
+ * usual text is rendered instead.
192
+ * @example
193
+ * [{
194
+ * id: 'pdf',
195
+ * text: 'PDF'
196
+ * }, {
197
+ * id: 'XLS',
198
+ * text: 'Excel',
199
+ * }, {
200
+ * id: 'JPG',
201
+ * text: 'Jpeg',
202
+ * slotData: {
203
+ * fullName: 'Joint Photographic Experts Group',
204
+ * year: '1992'
205
+ * description: 'Commonly used method of lossy compression for digital images'
206
+ * }
207
+ * }]
208
+ */
209
+ possibleValues: {
210
+ type: Array,
211
+ default: () => []
212
+ },
213
+ caseSensitiveSearch: {
214
+ type: Boolean,
215
+ default: !1
216
+ },
217
+ compact: {
218
+ type: Boolean,
219
+ default: !1
220
+ }
221
+ },
222
+ emits: ["update:modelValue"],
223
+ setup(e) {
224
+ const { caseSensitiveSearch: t, possibleValues: s } = G(e), o = V(!1), i = A(() => {
225
+ let r = {};
226
+ for (let c of s.value)
227
+ r[c.id] = c.text;
228
+ return r;
229
+ }), n = V(i.value[e.modelValue]);
230
+ O(
231
+ () => e.modelValue,
232
+ (r) => {
233
+ n.value = i.value[r];
234
+ }
235
+ );
236
+ const f = le(
237
+ n,
238
+ t,
239
+ s,
240
+ o
241
+ );
242
+ return {
243
+ searchValue: n,
244
+ useFilterValues: o,
245
+ currentPossibleValues: f
246
+ };
247
+ },
248
+ data() {
249
+ return {
250
+ typingTimeout: null,
251
+ isExpanded: !1,
252
+ searchQuery: "",
253
+ candidate: this.modelValue,
254
+ emptyState: "Nothing found",
255
+ optionRefs: /* @__PURE__ */ new Map(),
256
+ slotContainerHeight: 0
257
+ };
258
+ },
259
+ computed: {
260
+ groupedValues() {
261
+ const e = {};
262
+ for (const t of this.currentPossibleValues) {
263
+ const s = t.group || "";
264
+ e[s] || (e[s] = { label: t.group, items: [] }), e[s].items.push(t);
265
+ }
266
+ return Object.values(e);
267
+ },
268
+ orderedGroupedValues() {
269
+ const e = this.groupedValues.filter(
270
+ (s) => s.items[0].group
271
+ ), t = this.groupedValues.filter(
272
+ (s) => !s.items[0].group
273
+ );
274
+ return [...e, ...t];
275
+ },
276
+ flatOrderedValues() {
277
+ return this.orderedGroupedValues.flatMap((e) => e.items);
278
+ },
279
+ selectedIndex() {
280
+ return this.flatOrderedValues.map((e) => e.id).indexOf(this.candidate);
281
+ },
282
+ showPlaceholder() {
283
+ return !this.modelValue;
284
+ },
285
+ displayTextMap() {
286
+ let e = {};
287
+ for (let t of this.possibleValues)
288
+ e[t.id] = t.text;
289
+ return e;
290
+ },
291
+ displayText() {
292
+ return this.showPlaceholder ? this.placeholder : this.displayTextMap.hasOwnProperty(this.modelValue) ? this.displayTextMap[this.modelValue] : `(MISSING) ${this.modelValue.toString()}`;
293
+ },
294
+ isMissing() {
295
+ return this.modelValue && !this.displayTextMap.hasOwnProperty(this.modelValue);
296
+ },
297
+ hasRightIcon() {
298
+ var e, t;
299
+ return (t = (e = this.$slots)["icon-right"]) == null ? void 0 : t.call(e).length;
300
+ },
301
+ hasOptionTemplate() {
302
+ return this.possibleValues.length === 0 ? !1 : this.possibleValues.every(
303
+ (e) => e.slotData && !Ce(e.slotData)
304
+ );
305
+ },
306
+ selectedOption() {
307
+ return this.possibleValues.find((e) => e.id === this.modelValue);
308
+ },
309
+ hasNoFilteredPossibleValues() {
310
+ return this.currentPossibleValues.length === 0;
311
+ },
312
+ nonEmptySearchValue() {
313
+ var e;
314
+ return ((e = this.searchValue) == null ? void 0 : e.length) > 0;
315
+ },
316
+ possibleValuesIsProvided() {
317
+ return !!this.possibleValues.length;
318
+ },
319
+ isDisabled() {
320
+ return this.disabled || !this.possibleValuesIsProvided;
321
+ },
322
+ closeIconTooltip() {
323
+ return "Clear";
324
+ }
325
+ },
326
+ watch: {
327
+ currentPossibleValues(e) {
328
+ var t;
329
+ this.candidate = (t = e[0]) == null ? void 0 : t.id;
330
+ },
331
+ isExpanded() {
332
+ this.useFilterValues = !1;
333
+ }
334
+ },
335
+ methods: {
336
+ updateCandidate(e) {
337
+ this.candidate = e;
338
+ },
339
+ isCurrentValue(e) {
340
+ return this.candidate === e;
341
+ },
342
+ getButtonRef() {
343
+ return this.$refs.button;
344
+ },
345
+ getOptionsRefs() {
346
+ return this.$refs.options;
347
+ },
348
+ getSearchInput() {
349
+ return this.$refs.searchInput;
350
+ },
351
+ getListBoxNodeRef() {
352
+ return this.$refs.ul;
353
+ },
354
+ emitAndClose(e) {
355
+ this.$emit("update:modelValue", e), this.toggleExpanded();
356
+ },
357
+ scrollTo(e) {
358
+ let t = this.getListBoxNodeRef();
359
+ if (t.scrollHeight >= t.clientHeight) {
360
+ let s = this.optionRefs.get(e);
361
+ if (!s) {
362
+ consola.error(
363
+ `trying to scroll to element with Id ${e.toString()} which does not exist`
364
+ );
365
+ return;
366
+ }
367
+ let o = t.clientHeight + t.scrollTop, i = s.offsetTop + s.offsetHeight;
368
+ i > o ? t.scrollTop = i - t.clientHeight : s.offsetTop < t.scrollTop && (t.scrollTop = s.offsetTop);
369
+ }
370
+ },
371
+ onArrowDown() {
372
+ let e = this.selectedIndex + 1;
373
+ if (e >= this.flatOrderedValues.length)
374
+ return;
375
+ const t = this.flatOrderedValues[e].id;
376
+ this.updateCandidate(t), this.scrollTo(t);
377
+ },
378
+ onArrowUp() {
379
+ let e = this.selectedIndex - 1;
380
+ if (e < 0)
381
+ return;
382
+ const t = this.flatOrderedValues[e].id;
383
+ this.updateCandidate(t), this.scrollTo(t);
384
+ },
385
+ onEnter() {
386
+ this.hasNoFilteredPossibleValues || typeof this.candidate > "u" || this.emitAndClose(this.candidate);
387
+ },
388
+ onEndKey() {
389
+ let e = this.flatOrderedValues.length - 1;
390
+ this.updateCandidate(this.flatOrderedValues[e].id);
391
+ const t = this.getListBoxNodeRef();
392
+ t.scrollTop = t.scrollHeight;
393
+ },
394
+ onHomeKey() {
395
+ this.updateCandidate(this.flatOrderedValues[0].id), this.getListBoxNodeRef().scrollTop = 0;
396
+ },
397
+ toggleExpanded() {
398
+ this.isExpanded ? this.collapse() : this.expand();
399
+ },
400
+ async expand() {
401
+ var e, t;
402
+ this.isDisabled || (this.searchValue = this.displayTextMap[this.modelValue], this.hasOptionTemplate && (this.slotContainerHeight = ((e = this.$refs.slotContainer) == null ? void 0 : e.clientHeight) ?? 0), this.isExpanded = !0, this.candidate === this.modelValue && (this.isMissing || this.showPlaceholder) && this.updateCandidate((t = this.currentPossibleValues[0]) == null ? void 0 : t.id), await z(), this.getSearchInput().focus(), this.getSearchInput().select(), this.candidate && this.scrollTo(this.candidate));
403
+ },
404
+ collapse() {
405
+ this.isExpanded = !1, this.getButtonRef().focus();
406
+ },
407
+ /* NOTE: we use a single keyDown method because @keydown.up bindings are not testable. */
408
+ handleKeyDownButton(e) {
409
+ this.isExpanded ? this.handleKeyDownOnExpanded(e) : we(e, Ke) && (this.expand(), e.preventDefault());
410
+ },
411
+ handleKeyDownOnExpanded(e) {
412
+ e.key === L && (this.onArrowDown(), e.preventDefault()), e.key === R && (this.onArrowUp(), e.preventDefault()), e.key === F && (this.onEndKey(), e.preventDefault()), e.key === H && (this.onHomeKey(), e.preventDefault()), e.key === Me && (this.collapse(), e.preventDefault(), e.stopPropagation()), e.key === W && (this.onEnter(), e.preventDefault());
413
+ },
414
+ hasSelection() {
415
+ return !!(this.modelValue && !this.isMissing);
416
+ },
417
+ getCurrentSelectedId() {
418
+ try {
419
+ return this.flatOrderedValues[this.selectedIndex].id;
420
+ } catch {
421
+ return "";
422
+ }
423
+ },
424
+ generateId(e, t = null) {
425
+ if (!t)
426
+ return `${e}-${this.id}`;
427
+ let s = String(t).replace(/[^\w]/gi, "");
428
+ return `${e}-${this.id}-${s}`;
429
+ },
430
+ closeDropdown() {
431
+ this.searchValue = this.displayTextMap[this.modelValue], this.isExpanded = !1;
432
+ },
433
+ handleSearch(e) {
434
+ this.useFilterValues = !0, this.searchValue = e;
435
+ },
436
+ handleResetInput() {
437
+ this.searchValue = "", this.getSearchInput().focus();
438
+ }
439
+ }
440
+ }, Pe = (e) => (Z("data-v-67482aeb"), e = e(), $(), e), Ne = ["id"], Le = ["id", "aria-label", "aria-labelledby", "aria-expanded"], Re = ["value"], He = {
441
+ key: 1,
442
+ ref: "slotContainer"
443
+ }, Fe = { class: "right" }, We = {
444
+ key: 0,
445
+ class: "loading-icon"
446
+ }, Ye = ["aria-activedescendant"], je = {
447
+ key: 0,
448
+ class: "empty-state"
449
+ }, Ge = /* @__PURE__ */ Pe(() => /* @__PURE__ */ g("span", { class: "group-divider" }, null, -1)), ze = ["id", "title", "aria-selected", "onMouseenter", "onClick"], Ue = ["id", "name", "value"];
450
+ function Xe(e, t, s, o, i, n) {
451
+ const f = v("CloseIcon"), r = v("FunctionButton"), c = v("DropdownIcon"), u = v("OnClickOutside");
452
+ return d(), S(u, { onTrigger: n.closeDropdown }, {
453
+ default: k(() => {
454
+ var h;
455
+ return [
456
+ g("div", {
457
+ id: s.id,
458
+ class: x([
459
+ "dropdown",
460
+ {
461
+ collapsed: !i.isExpanded,
462
+ invalid: !s.isValid,
463
+ disabled: n.isDisabled,
464
+ compact: s.compact
465
+ }
466
+ ])
467
+ }, [
468
+ g("div", {
469
+ id: n.generateId("button"),
470
+ ref: "button",
471
+ role: "button",
472
+ tabindex: "0",
473
+ "aria-haspopup": "listbox",
474
+ class: x({
475
+ placeholder: n.showPlaceholder && !i.isExpanded,
476
+ missing: n.isMissing && !i.isExpanded,
477
+ "has-option-template": n.hasOptionTemplate && !i.isExpanded
478
+ }),
479
+ style: U({
480
+ ...i.isExpanded && n.hasOptionTemplate && {
481
+ height: `calc(${i.slotContainerHeight}px + 0 * var(--form-border-width))`,
482
+ boxSizing: "content-box"
483
+ }
484
+ }),
485
+ "aria-label": s.ariaLabel,
486
+ "aria-labelledby": n.generateId("button"),
487
+ "aria-expanded": i.isExpanded,
488
+ onClick: t[3] || (t[3] = (...a) => n.toggleExpanded && n.toggleExpanded(...a)),
489
+ onKeydown: t[4] || (t[4] = (...a) => n.handleKeyDownButton && n.handleKeyDownButton(...a))
490
+ }, [
491
+ i.isExpanded ? (d(), p("input", {
492
+ key: 0,
493
+ ref: "searchInput",
494
+ value: o.searchValue,
495
+ tabindex: "0",
496
+ role: "searchbox",
497
+ class: "search-input",
498
+ type: "text",
499
+ onClick: t[0] || (t[0] = b(() => {
500
+ }, ["stop"])),
501
+ onInput: t[1] || (t[1] = (a) => n.handleSearch(a.target.value))
502
+ }, null, 40, Re)) : n.hasOptionTemplate ? (d(), p("div", He, [
503
+ D(e.$slots, "option", {
504
+ slotData: (h = n.selectedOption) == null ? void 0 : h.slotData,
505
+ isMissing: n.isMissing,
506
+ selectedValue: s.modelValue,
507
+ expanded: !1
508
+ })
509
+ ], 512)) : (d(), p("span", {
510
+ key: 2,
511
+ ref: "span"
512
+ }, I(n.displayText), 513)),
513
+ g("div", Fe, [
514
+ n.hasRightIcon ? (d(), p("div", We, [
515
+ D(e.$slots, "icon-right")
516
+ ])) : E("", !0),
517
+ i.isExpanded && n.nonEmptySearchValue ? (d(), S(r, {
518
+ key: 1,
519
+ ref: "closeButton",
520
+ title: "Close",
521
+ tabindex: "0",
522
+ class: "button",
523
+ compact: s.compact,
524
+ onKeydown: t[2] || (t[2] = X(b(() => {
525
+ }, ["stop"]), ["enter"])),
526
+ onClick: b(n.handleResetInput, ["stop"])
527
+ }, {
528
+ default: k(() => [
529
+ B(f, { class: "icon" })
530
+ ]),
531
+ _: 1
532
+ }, 8, ["compact", "onClick"])) : E("", !0),
533
+ !i.isExpanded || !n.nonEmptySearchValue ? (d(), S(r, {
534
+ key: 2,
535
+ class: "button",
536
+ compact: s.compact,
537
+ disabled: n.isDisabled,
538
+ title: i.isExpanded ? "Cancel" : "Expand",
539
+ tabindex: i.isExpanded ? 0 : -1,
540
+ onClick: b(n.toggleExpanded, ["stop"])
541
+ }, {
542
+ default: k(() => [
543
+ B(c, {
544
+ class: x(["dropdown-icon", "icon"])
545
+ })
546
+ ]),
547
+ _: 1
548
+ }, 8, ["compact", "disabled", "title", "tabindex", "onClick"])) : E("", !0)
549
+ ])
550
+ ], 46, Le),
551
+ q(g("ul", {
552
+ ref: "ul",
553
+ role: "listbox",
554
+ tabindex: "-1",
555
+ "aria-activedescendant": i.isExpanded ? n.generateId("option", n.getCurrentSelectedId()) : void 0,
556
+ class: x({ "drops-upwards": s.direction === "up" })
557
+ }, [
558
+ n.hasNoFilteredPossibleValues ? (d(), p("div", je, I(i.emptyState), 1)) : E("", !0),
559
+ (d(!0), p(C, null, M(n.orderedGroupedValues, (a, m) => (d(), p(C, { key: m }, [
560
+ Ge,
561
+ (d(!0), p(C, null, M(a.items, (l) => (d(), p("li", {
562
+ id: n.generateId("option", l.id),
563
+ key: `listbox-${l.id}`,
564
+ ref_for: !0,
565
+ ref: (y) => i.optionRefs.set(l.id, y),
566
+ role: "option",
567
+ title: typeof l.title > "u" ? l.text : l.title,
568
+ class: x({
569
+ focused: n.isCurrentValue(l.id),
570
+ noselect: !0,
571
+ empty: l.text.trim() === "",
572
+ "has-option-template": n.hasOptionTemplate
573
+ }),
574
+ "aria-selected": n.isCurrentValue(l.id),
575
+ onMouseenter: (y) => n.updateCandidate(l.id),
576
+ onClick: (y) => n.emitAndClose(l.id)
577
+ }, [
578
+ n.hasOptionTemplate ? D(e.$slots, "option", {
579
+ key: 0,
580
+ slotData: l.slotData,
581
+ expanded: !0
582
+ }) : (d(), p(C, { key: 1 }, [
583
+ Q(I(l.text), 1)
584
+ ], 64))
585
+ ], 42, ze))), 128))
586
+ ], 64))), 128))
587
+ ], 10, Ye), [
588
+ [J, i.isExpanded]
589
+ ]),
590
+ g("input", {
591
+ id: s.id,
592
+ type: "hidden",
593
+ name: s.name,
594
+ value: s.modelValue
595
+ }, null, 8, Ue)
596
+ ], 10, Ne)
597
+ ];
598
+ }),
599
+ _: 3
600
+ }, 8, ["onTrigger"]);
601
+ }
602
+ const ot = /* @__PURE__ */ ye(Ae, [["render", Xe], ["__scopeId", "data-v-67482aeb"]]);
603
+ export {
604
+ ot as D
605
+ };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./DropdownControl.vue_vue_type_script_setup_true_lang-ByoiTkIU.js";
1
+ import { _ as f } from "./DropdownControl.vue_vue_type_script_setup_true_lang-L2a_FDVR.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as x, computed as c, openBlock as y, createBlock as w, unref as h, mergeProps as H, withCtx as b, createCommentVNode as O, ref as N, onMounted as K, onBeforeUnmount as G, normalizeProps as J, createVNode as Q, renderSlot as T } from "vue";
2
- import { _ as X, k as D, u as Y, L as Z, E as j } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
2
+ import { _ as X, k as D, u as Y, L as Z, E as j } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
3
3
  import { w as ee } from "./getPossibleValuesFromUiSchema-hQj1TCOR.js";
4
4
  import { u as oe } from "./useHideOnNull-CCfNP3O7.js";
5
- import { D as ne } from "./Dropdown-B6CD0Mt_.js";
6
- import { L as ae } from "./svgWithTitle-C6ghivXy.js";
5
+ import { D as ne } from "./Dropdown-CPOTGnA1.js";
6
+ import { L as ae } from "./svgWithTitle-B7gWnKbY.js";
7
7
  import { b as te } from "./_baseAssignValue-BPMLYzDH.js";
8
8
  import { e as le, c as se, t as re, i as ie } from "./_getTag-DS8v0_uf.js";
9
9
  import { i as B } from "./isObject-B53jY8Qg.js";
10
- import { C as ue } from "./Checkbox-DPq-j4rC.js";
10
+ import { C as ue } from "./Checkbox-DrJQzBqF.js";
11
11
  var de = Object.prototype, ce = de.hasOwnProperty;
12
12
  function pe(o, e, l) {
13
13
  var s = o[e];
@@ -1,6 +1,6 @@
1
- import { B as s } from "./BaseButton-ew6uEaHi.js";
1
+ import { B as s } from "./BaseButton-I5M4pn6f.js";
2
2
  import { resolveComponent as o, openBlock as l, createBlock as r, normalizeClass as i, withCtx as d, renderSlot as c } from "vue";
3
- import { _ as u } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
3
+ import { _ as u } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
4
4
  const f = {
5
5
  name: "FunctionButton",
6
6
  components: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as l, openBlock as a, createElementBlock as o, Fragment as s, renderList as n, createBlock as u, unref as c } from "vue";
2
- import { n as m, _ as p } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
2
+ import { n as m, _ as p } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
3
3
  const i = { class: "horizontal" }, d = /* @__PURE__ */ l({
4
4
  __name: "HorizontalLayout",
5
5
  props: {
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
2
  import { openBlock as s, createElementBlock as l, normalizeClass as r, renderSlot as o, createCommentVNode as u, createElementVNode as d, mergeProps as c, pushScopeId as p, popScopeId as f } from "vue";
3
- import { _ as m } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
3
+ import { _ as m } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
4
4
  const h = {
5
5
  name: "InputField",
6
6
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o, openBlock as n, createBlock as t, mergeProps as r } from "vue";
2
- import { _ as a } from "./NumberControlBase.vue_vue_type_script_setup_true_lang-CA0OxGuU.js";
2
+ import { _ as a } from "./NumberControlBase.vue_vue_type_script_setup_true_lang-QqzXKwDy.js";
3
3
  const s = /* @__PURE__ */ o({
4
4
  __name: "IntegerControl",
5
5
  props: {
@@ -1,10 +1,10 @@
1
1
  import { openBlock as v, createElementBlock as E, renderSlot as Te, toDisplayString as w, createCommentVNode as B, createElementVNode as p, defineComponent as F, mergeModels as G, useModel as k, computed as D, Fragment as V, createBlock as j, withDirectives as P, createVNode as I, vShow as b, renderList as z, unref as c, withCtx as X, createTextVNode as ge, pushScopeId as De, popScopeId as ye, ref as h, watch as K, normalizeClass as xe, withKeys as $e, vModelText as Me, normalizeStyle as Pe } from "vue";
2
- import { _ as H, u as Re } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
3
- import { o as Ae, a as we } from "./index-CkuSIXs2.js";
4
- import { u as be, s as Ne, f as Ve, o as Se, a as Ce } from "./floating-ui.vue.esm-B1dY_Hbh.js";
5
- import { F as Oe } from "./FunctionButton-Cee1Q-EN.js";
6
- import { N as W } from "./NumberInput-CI1ee8it.js";
7
- import { V as q } from "./ValueSwitch-CA4_rkUU.js";
2
+ import { _ as H, u as Re } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
3
+ import { o as Ae, a as we } from "./index-Bf0xDq3g.js";
4
+ import { u as be, s as Ne, f as Ve, o as Se, a as Ce } from "./floating-ui.vue-B-MrqKCT.js";
5
+ import { F as Oe } from "./FunctionButton-dHu7h3Y1.js";
6
+ import { N as W } from "./NumberInput-AOsXRph2.js";
7
+ import { V as q } from "./ValueSwitch-DeFP0rns.js";
8
8
  const Ge = {
9
9
  name: "Tooltip",
10
10
  props: {
@@ -1,6 +1,6 @@
1
1
  import { openBlock as h, createElementBlock as u, mergeProps as x, withModifiers as a, toDisplayString as y, toRef as p, watch as I, resolveComponent as v, normalizeClass as C, normalizeStyle as w, createElementVNode as f, withKeys as d, normalizeProps as V, guardReactiveProps as k, Fragment as H, renderList as B, createBlock as g, resolveDynamicComponent as D, createCommentVNode as b, createVNode as K } from "vue";
2
- import { b as N } from "./index-CkuSIXs2.js";
3
- import { _ as S } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-Bke7i9o8.js";
2
+ import { b as N } from "./index-Bf0xDq3g.js";
3
+ import { _ as S } from "./VerticalLayoutBase.vue_vue_type_style_index_0_scoped_99aa13c1_lang-BagkGlzo.js";
4
4
  const A = (e, t) => {
5
5
  let i, n = 0;
6
6
  return (...r) => {