@knime/scripting-editor 0.0.124 → 0.0.126

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 (87) hide show
  1. package/dist/{AnyOfTwinlist-By12blUM-C3JKalWM.js → AnyOfTwinlist-C0gjxeQW-DdmyqOPW.js} +1 -1
  2. package/dist/{ArrayLayout-C5yFgV8Q.js → ArrayLayout-0R2_c1hY.js} +193 -155
  3. package/dist/{ButtonControl-cBR6Ne7s.js → ButtonControl-CAZYfYSF.js} +1 -1
  4. package/dist/{CheckboxControl--qMC4yqR-CgacSNSR.js → CheckboxControl-CS6iXHnF-aIaqHkPz.js} +1 -1
  5. package/dist/{CheckboxesControl-BsOG-QR8-DdSUICiM.js → CheckboxesControl-CPKIkyWt-Dfc5NCOp.js} +2 -2
  6. package/dist/{CodeEditorControl-BmA6cWok.js → CodeEditorControl-BfC_vRfK.js} +1 -1
  7. package/dist/{ColorControl-BX93RNbV-Bg6FmjdB.js → ColorControl-DeSwgyjS-D4t0Ool5.js} +1 -1
  8. package/dist/{ColorPreviewControl-CFVeFXBp-BNXlVoi9.js → ColorPreviewControl-CntI0nTL-B4W3C2Y0.js} +10 -10
  9. package/dist/{ComboBoxControl-M5HOJcy2-DVXiZQvt.js → ComboBoxControl-DBYnBkC4-YvQjV2xd.js} +4 -4
  10. package/dist/{ConfigurationNodeNotSupported-Dh2xU1UF.js → ConfigurationNodeNotSupported-DlGIHCIw.js} +1 -1
  11. package/dist/{ControlWithSubParameters-D0qNx3y-.js → ControlWithSubParameters-yO5GSBha.js} +8 -8
  12. package/dist/{CredentialsControl-CwZxixjM.js → CredentialsControl-BUdDVnKd.js} +2 -2
  13. package/dist/{CredentialsControlBase-BwUZOe-t.js → CredentialsControlBase-CtiUUF6O.js} +8 -8
  14. package/dist/{DateControl-PYVPxPvC-BzWQEGvR.js → DateControl-Cx_CwvNB-C6ZnNH2a.js} +1 -1
  15. package/dist/{DateTimeControl-_8d8iizh-DqQwphIF.js → DateTimeControl-BJsDzufC-BmyUPQid.js} +1 -1
  16. package/dist/{DateTimeFormatPickerControl-xRNNTLIl-DJ3bbKY3.js → DateTimeFormatPickerControl-C80v1qfK-CksyyT9D.js} +8 -8
  17. package/dist/{DateTimeFormatPickerWithTypeControl-CZZBe3PC-LTeHxr8D.js → DateTimeFormatPickerWithTypeControl-Dt-FKtYV-gb4KLPWO.js} +23 -23
  18. package/dist/{DialogFileExplorer-D6KGXnvM.js → DialogFileExplorer-LqJqncub.js} +201 -216
  19. package/dist/{DirtyTrackerRenderer-B5cH2aL8.js → DirtyTrackerRenderer-UW-Cxf7s.js} +2 -2
  20. package/dist/{DropdownControl-sGxFWX33-ByFZSZbg.js → DropdownControl-D_BnA4-1-CZ3UBEZH.js} +2 -2
  21. package/dist/DynamicInputControl-BW5MedWv.js +6 -0
  22. package/dist/{ExecutorCoresControl-6DB4hS8_-BhtGiSqF.js → ExecutorCoresControl-BnglyGMR-DCluaRJt.js} +19 -14
  23. package/dist/{ExecutorMemoryControl-xKHl7IXW-D0e7o4CL.js → ExecutorMemoryControl-CRATGs9C-BVornFOp.js} +2 -2
  24. package/dist/{FileChooserControl-DnRohPCZ.js → FileChooserControl-D3xMMTLF.js} +2 -2
  25. package/dist/FileChooserControlBase-CI3pdTpr.js +544 -0
  26. package/dist/{FileChooserControlForMultiFile-CMhiNDSM.js → FileChooserControlForMultiFile-DuAaeTcz.js} +1 -1
  27. package/dist/{FileUploadControl-Bjgh9vSl-CPHxxVRA.js → FileUploadControl-D42rjpJg-BV-xemVF.js} +35 -34
  28. package/dist/{GridSelectionControl-DslOwaNV-B9aCP6XX.js → GridSelectionControl-BJk8-yiM-B-qEAJYS.js} +18 -18
  29. package/dist/{HorizontalLayout-Dl9cC50s-CTgzEebl.js → HorizontalLayout-DwdPdBTW-DNqvkBZ6.js} +1 -1
  30. package/dist/{IntegerControl-DSzPJs4Z-zZCQlr8l.js → IntegerControl-D8OzxbRA-DLAl4Ar6.js} +1 -1
  31. package/dist/{IntervalControl-DoWDLPMP-fal6DeXs.js → IntervalControl-Drljrv-b-HGlNWiOa.js} +32 -32
  32. package/dist/{LabeledGroup-zL2NOk09.js → LabeledGroup-CGcLflGw.js} +1 -1
  33. package/dist/{LegacyCredentialsControl-CtqcCnFx.js → LegacyCredentialsControl-SuSGcr6Q.js} +2 -2
  34. package/dist/{LinkControl-BuYI03b_-NJ2s5Dca.js → LinkControl-BvBBTFCs-B4x8DZjr.js} +12 -12
  35. package/dist/{LoadingDropdown.vue_vue_type_script_setup_true_lang-DZ90-rk8-BdWmR-eL.js → LoadingDropdown.vue_vue_type_script_setup_true_lang-BLSG6Lpo-DtWE26ZK.js} +1 -1
  36. package/dist/{ManualTwinlistControl-mN3zJTMK-DGwdr0zl.js → ManualTwinlistControl-By0Hur_m-CZ6mwit-.js} +7 -7
  37. package/dist/MultiFileChooserControl-CnC8Sgqt.js +401 -0
  38. package/dist/{MultiRuleWrapper-D5aY3_UC.js → MultiRuleWrapper-BYA-GGQr.js} +1 -1
  39. package/dist/{MultiSelectListBoxControl-CnSublPM-B1j0ZME0.js → MultiSelectListBoxControl-nmvLP18g-fumwGYev.js} +3 -3
  40. package/dist/{MultimodeTwinlistControl-CyZQ54SO-DT50Fro-.js → MultimodeTwinlistControl-yCdeWH2E-BiXMa7PW.js} +14 -14
  41. package/dist/{NameFilter-C1u8qsYQ-BAjFRRWl.js → NameFilter-D1TMJydD-fZcEEzXz.js} +1 -1
  42. package/dist/{NumberControl-qiTgXs6x-LVbM4M31.js → NumberControl-uLMOLEbg-DEvsj1Mn.js} +1 -1
  43. package/dist/{NumberControlBase.vue_vue_type_script_setup_true_lang-Bs-H6e08-CV_OeWxc.js → NumberControlBase.vue_vue_type_script_setup_true_lang-VVQDBYw7-DCpZfhmB.js} +3 -3
  44. package/dist/{OneOfDropdown-Dn6QM81--CwMpXCXg.js → OneOfDropdown-CDwwxb3h-1Z26R3-a.js} +4 -4
  45. package/dist/{RadioButtonsWithDescriptionControl-1X9F9obn-CPDfho0i.js → RadioButtonsWithDescriptionControl-5M_6G7Qk-ChulOTPN.js} +1 -1
  46. package/dist/{RadioControl-BdHtNPFC-vdjL0p2Z.js → RadioControl-C73s-icb-BvMjmtnc.js} +2 -2
  47. package/dist/{RadioControlBase.vue_vue_type_script_setup_true_lang-Cp22r9KZ-BLsCS6ST.js → RadioControlBase.vue_vue_type_script_setup_true_lang-BScekfhl-Cu_jwWBt.js} +4 -4
  48. package/dist/{ResourceControlBase-CDpi3J6s-D0LxAMCa.js → ResourceControlBase-Bqq1PAX_-Dr521i_s.js} +14 -14
  49. package/dist/{RichTextControl-5o904Fvx-CVqBj3Wi.js → RichTextControl-D9QD2_uO-XEpxJaH_.js} +7 -7
  50. package/dist/{SectionLayout-B9X7fzQ9-weWE29yL.js → SectionLayout-DY27pAtG-D9m5lyoN.js} +1 -1
  51. package/dist/{SettingsSubPanelLayout-D8j0-HKD-D2KHKfX_.js → SettingsSubPanelLayout-82gMWhpv-CmIBNBVs.js} +15 -15
  52. package/dist/{SimpleTwinlistControl-RlnzOp0j-IrHSl4XC.js → SimpleTwinlistControl-P4KEYOq0-RZuXJS5p.js} +2 -2
  53. package/dist/{SingleSelectControl-DPPwJUq3-IYYZ7X-L.js → SingleSelectControl-C_ZKkV5m-DnVAQEBt.js} +2 -2
  54. package/dist/{SingleSelectListBoxControl-EMc8u2ik-DEMnwGWh.js → SingleSelectListBoxControl-oMWH0vEE-CozC-ARB.js} +3 -3
  55. package/dist/{SortListControl-Bw3K37ru-C20fveDO.js → SortListControl-4v3T2j_9-Dd2NciQI.js} +15 -15
  56. package/dist/{StringFileChooserControl-DMBzTIng.js → StringFileChooserControl-CbuY9W_N.js} +19 -19
  57. package/dist/{StyledListItem-Bli2itH--DzQz0VeI.js → StyledListItem-D3LSfgGV-D8iKceFt.js} +1 -1
  58. package/dist/{TeamAndSpacesControl-BlvUuAAA-B1V6iD1Z.js → TeamAndSpacesControl-CH5ImByy-XXNR9HMn.js} +9 -9
  59. package/dist/{TeamResourceControl-DuLmQ7gc-DGpH70FI.js → TeamResourceControl-BFMuyWnk-BjuVm4u6.js} +2 -2
  60. package/dist/{TextAreaControl-DtfB44mR-Bwogmc7W.js → TextAreaControl-CrsZSU_f-D43BOhiB.js} +1 -1
  61. package/dist/{TextControl-BlUQLMGo-CSdt3hw2.js → TextControl-B0ag-3Pv-CVDIw3MG.js} +21367 -20513
  62. package/dist/{TimeControl-DWzlpLX--DVTcWUBt.js → TimeControl-Bt5OcjBc-Bb-uwA5L.js} +1 -1
  63. package/dist/{TimePartInput-CRP2YYM0-CbQSqTuJ.js → TimePartInput-CvwAzDuY-BVy_Fjvr.js} +1 -1
  64. package/dist/{TimeframesControl-O_hzJcX5-DXtgwxa_.js → TimeframesControl-BE3LFgyl-BlMPvvjh.js} +2 -2
  65. package/dist/{Tooltip-C9vAa0Wb-DNgF-D1Q.js → Tooltip-UlemzxdS-CT790DKa.js} +1 -1
  66. package/dist/{TwinlistControlBase.vue_vue_type_script_setup_true_lang-DtphbKhB-BhwFw0-m.js → TwinlistControlBase.vue_vue_type_script_setup_true_lang-B5lCsIOD-DoWlznIt.js} +2 -2
  67. package/dist/{TypedStringFilter-ByeMPxR6-CCQ4uw8i.js → TypedStringFilter-ry7fTUTx-BqgMPUbD.js} +1 -1
  68. package/dist/{ValueSwitch-BV9qUd5x-CEiCBY-I.js → ValueSwitch-BXaDBm2C-CKjAMq9f.js} +2 -2
  69. package/dist/{ValueSwitchControl-nW7WtSSM-D2W0Q4QS.js → ValueSwitchControl-aVx7pUi9-BQVaMPgo.js} +1 -1
  70. package/dist/{VennDiagramLayout-CGbt8VwT.js → VennDiagramLayout-Bh7M9sdS.js} +1 -1
  71. package/dist/{VerticalLayout-C7_-yu_D-ODUVb0PV.js → VerticalLayout-Bv-LJOZ0-Bhthjlig.js} +1 -1
  72. package/dist/{ZonedDateTimeControl-DlrvZKe4-zaxSf2EX.js → ZonedDateTimeControl-6MUvXzd3-CoRMMPNO.js} +5 -5
  73. package/dist/{_Uint8Array-BESS0YjU-BkSYIhdG.js → _Uint8Array-C_ozLuQF-D-SZhESZ.js} +42 -42
  74. package/dist/lib/main.d.ts +1 -2
  75. package/dist/{localTimeUtils-Bl9xa5Jk-CrPaYHbw.js → localTimeUtils-DBMwKtLh-C93hA6Y8.js} +5 -5
  76. package/dist/main.js +8280 -7586
  77. package/dist/parameters.js +1 -1
  78. package/dist/{toString-DXFebvWA-Drhydq_D.js → toString-C-CNeuJl-BV68kR4E.js} +1 -1
  79. package/dist/{useFileChooserBackend-D0qgqkW_.js → useFileChooserBackend-Cf-ZWfup.js} +1 -1
  80. package/dist/usePossibleValues-B-W6u-1T-CRO8qQzd.js +20 -0
  81. package/package.json +9 -9
  82. package/dist/DynamicInputControl-D59lIyv6.js +0 -6
  83. package/dist/FileChooserControlBase-Bzweo0oX.js +0 -613
  84. package/dist/MultiFileChooserControl-CZeL4h0p.js +0 -426
  85. package/dist/src/components/CompactTabBar.vue.d.ts +0 -45
  86. package/dist/usePossibleValues-B8es3DCW-CX4w2_Zt.js +0 -20
  87. /package/dist/{useUnknownValuesInTwinlist-qv0kKHaD-D2ve7iXH.js → useUnknownValuesInTwinlist-BbwGcno5-D2ve7iXH.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as t, createBlock as l, openBlock as a, mergeProps as p, unref as r } from "vue";
2
2
  import { c as s } from "./index-Blg1O3Fz-CGafpkU1.js";
3
- import { L as i } from "./TwinlistControlBase.vue_vue_type_script_setup_true_lang-DtphbKhB-BhwFw0-m.js";
3
+ import { L as i } from "./TwinlistControlBase.vue_vue_type_script_setup_true_lang-B5lCsIOD-DoWlznIt.js";
4
4
  const f = /* @__PURE__ */ t({
5
5
  __name: "AnyOfTwinlist",
6
6
  props: {
@@ -1,13 +1,13 @@
1
- import { defineComponent as K, computed as S, createBlock as C, createElementBlock as v, openBlock as c, unref as h, createElementVNode as L, createCommentVNode as E, toDisplayString as V, inject as Z, provide as b, onMounted as J, Fragment as _, renderSlot as T, normalizeStyle as x, createVNode as k, renderList as G, ref as B, watch as O, nextTick as ee, resolveComponent as D, normalizeClass as z, withCtx as F, mergeProps as te } from "vue";
2
- import { u as N, K as oe, ae as I, aw as ae, ax as se, ay as ne, ad as R, az as re, aA as ie, aB as M, aC as le, a7 as de, aD as ue, af as ce, aE as W, aF as me, av as pe, aG as he, aH as ye, aI as ve, aJ as fe, aK as ge, aL as Ee } from "./TextControl-BlUQLMGo-CSdt3hw2.js";
3
- import { _ as U } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- const Ae = {
1
+ import { defineComponent as U, computed as A, createBlock as I, createElementBlock as v, openBlock as c, unref as p, createElementVNode as L, createCommentVNode as w, toDisplayString as P, inject as Z, provide as k, onMounted as j, Fragment as N, renderSlot as D, normalizeStyle as x, createVNode as B, renderList as G, ref as M, watch as O, nextTick as ee, toRaw as te, resolveComponent as $, normalizeClass as J, withCtx as V, mergeProps as oe } from "vue";
2
+ import { d as z, J as ae, ae as C, aw as se, ax as ne, ay as re, ad as R, az as ie, aA as le, aB as b, aC as de, a7 as ue, aD as ce, af as me, aE as _, aF as pe, av as he, aG as ye, aH as ve, aI as fe, aJ as ge, aK as we, aL as Ee } from "./TextControl-B0ag-3Pv-CVDIw3MG.js";
3
+ import { _ as F } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const Ie = {
5
5
  key: 1,
6
6
  class: "vertical"
7
- }, Le = { class: "title-container" }, Se = ["title"], Ce = { key: 0 }, Ie = {
7
+ }, Se = { class: "title-container" }, Le = ["title"], Ae = { key: 0 }, Ce = {
8
8
  key: 0,
9
9
  class: "sub-title"
10
- }, H = "topLevelElementScope", we = /* @__PURE__ */ K({
10
+ }, H = "topLevelElementScope", De = /* @__PURE__ */ U({
11
11
  __name: "ArrayLayoutItemLabel",
12
12
  props: {
13
13
  arrayUiSchema: {},
@@ -16,38 +16,38 @@ const Ae = {
16
16
  useSectionLayout: { type: Boolean }
17
17
  },
18
18
  setup(e) {
19
- const o = e, t = o.titleConfig, s = S(() => ({
19
+ const o = e, t = o.titleConfig, s = A(() => ({
20
20
  ...o.arrayUiSchema,
21
21
  scope: H
22
- })), r = t.type === "provided" ? N(s, "arrayElementTitle", "") : t.title, n = S(
22
+ })), n = t.type === "provided" ? z(s, "arrayElementTitle", "") : t.title, r = A(
23
23
  () => t.type === "provided" ? null : o.index + 1
24
- ), l = N(
24
+ ), l = z(
25
25
  s,
26
26
  "elementSubTitle",
27
27
  ""
28
28
  );
29
- return (a, d) => a.useSectionLayout ? (c(), C(h(oe), {
29
+ return (a, d) => a.useSectionLayout ? (c(), I(p(ae), {
30
30
  key: 0,
31
- "title-text": h(t).type === "enumerated" && n.value ? `${h(r)} ${n.value}` : h(r),
31
+ "title-text": p(t).type === "enumerated" && r.value ? `${p(n)} ${r.value}` : p(n),
32
32
  class: "section-heading"
33
- }, null, 8, ["title-text"])) : (c(), v("div", Ae, [
34
- L("div", Le, [
33
+ }, null, 8, ["title-text"])) : (c(), v("div", Ie, [
34
+ L("div", Se, [
35
35
  L("span", {
36
36
  class: "title",
37
- title: h(r)
38
- }, V(h(r)), 9, Se),
39
- n.value ? (c(), v("span", Ce, " " + V(n.value), 1)) : E("", !0)
37
+ title: p(n)
38
+ }, P(p(n)), 9, Le),
39
+ r.value ? (c(), v("span", Ae, " " + P(r.value), 1)) : w("", !0)
40
40
  ]),
41
- h(l) ? (c(), v("span", Ie, V(h(l)), 1)) : E("", !0)
41
+ p(l) ? (c(), v("span", Ce, P(p(l)), 1)) : w("", !0)
42
42
  ]));
43
43
  }
44
- }), Te = /* @__PURE__ */ U(we, [["__scopeId", "data-v-d816d601"]]), $e = (e, o) => {
44
+ }), Te = /* @__PURE__ */ F(De, [["__scopeId", "data-v-d816d601"]]), $e = (e, o) => {
45
45
  if ("id" in e)
46
46
  return { id: `${o}/items${e.id.replace(/^#/, "")}` };
47
47
  const t = e.scope;
48
48
  return t ? t === H ? { scope: o } : { scope: `${o}/items${t.replace(/^#/, "")}` } : { scope: t };
49
- }, De = (e, o, t) => {
50
- const s = "addStateProviderListener", r = I(s), n = Symbol("arrayParentScope"), l = Z(n) ?? t, a = ({
49
+ }, be = (e, o, t) => {
50
+ const s = "addStateProviderListener", n = C(s), r = Symbol("arrayParentScope"), l = Z(r) ?? t, a = ({
51
51
  indexIds: d = [],
52
52
  indices: u = [],
53
53
  ...m
@@ -55,8 +55,8 @@ const Ae = {
55
55
  /**
56
56
  * Keep untouched in this case since the array index is part of the path of the dynamic settings.
57
57
  */
58
- r({ indexIds: d, indices: u, ...m }, f)
59
- ) : r(
58
+ n({ indexIds: d, indices: u, ...m }, f)
59
+ ) : n(
60
60
  {
61
61
  ...m,
62
62
  ...$e(m, l),
@@ -65,10 +65,10 @@ const Ae = {
65
65
  },
66
66
  f
67
67
  );
68
- b(n, l), b(s, a);
69
- }, be = (e) => {
70
- const o = "trigger", t = I(o);
71
- b(o, (a) => {
68
+ k(r, l), k(s, a);
69
+ }, ke = (e) => {
70
+ const o = "trigger", t = C(o);
71
+ k(o, (a) => {
72
72
  const {
73
73
  id: d,
74
74
  indexIds: u = [],
@@ -79,15 +79,15 @@ const Ae = {
79
79
  indexIds: [e, ...u]
80
80
  });
81
81
  });
82
- const r = "isTriggerActive", n = I(r);
83
- b(r, ({ id: a, indexIds: d = [], settingsId: u }) => n(u ? { id: a, indexIds: d, settingsId: u } : {
82
+ const n = "isTriggerActive", r = C(n);
83
+ k(n, ({ id: a, indexIds: d = [], settingsId: u }) => r(u ? { id: a, indexIds: d, settingsId: u } : {
84
84
  id: a,
85
85
  indexIds: [e, ...d]
86
86
  }));
87
- }, ke = { class: "item-header" }, Be = { class: "elements" }, Re = {
87
+ }, Be = { class: "item-header" }, Me = { class: "elements" }, Re = {
88
88
  key: 1,
89
89
  class: "element"
90
- }, Me = { class: "form-component" }, _e = { class: "compensate-label" }, Ke = /* @__PURE__ */ K({
90
+ }, Ne = { class: "form-component" }, Ue = { class: "compensate-label" }, Fe = /* @__PURE__ */ U({
91
91
  __name: "ArrayLayoutItem",
92
92
  props: {
93
93
  elements: {},
@@ -97,32 +97,37 @@ const Ae = {
97
97
  subTitleProvider: {},
98
98
  index: {},
99
99
  path: {},
100
- hasBeenAdded: { type: Boolean },
100
+ isNewElement: { type: Boolean },
101
101
  id: {},
102
102
  idsRecord: {},
103
103
  useCardLayout: { type: Boolean },
104
104
  useSectionLayout: { type: Boolean }
105
105
  },
106
106
  setup(e, { expose: o }) {
107
- const t = e, s = t.hasBeenAdded ? ae().resetElementDirtyState : null;
108
- De(t.id, t.index, t.arrayUiSchema.scope), be(t.id);
109
- const r = se(t.idsRecord, t.id);
110
- b(
107
+ const t = e, { resetElementDirtyState: s } = se({
108
+ isNewElement: t.isNewElement
109
+ });
110
+ be(t.id, t.index, t.arrayUiSchema.scope), ke(t.id);
111
+ const n = ne(t.idsRecord, t.id);
112
+ k(
111
113
  "createArrayAtPath",
112
- (a) => ne(r, a)
114
+ (a) => re(n, a)
113
115
  );
114
- const n = S(() => R(t.path, `${t.index}`)), l = I("sendAlert");
115
- return J(() => {
116
+ const r = A(() => R(t.path, `${t.index}`)), l = C("sendAlert");
117
+ return j(() => {
116
118
  !t.arrayElementTitle && t.elements.length > 1 && l({
117
119
  message: "For displaying more than one row of widgets within an array layout element, the configuration must provide a title for an element.",
118
120
  type: "error"
119
121
  });
120
122
  }), o({
121
- clearState: () => {
122
- re(t.idsRecord, t.id), s == null || s();
123
+ deleteArrayItem: () => {
124
+ ie(t.idsRecord, t.id);
125
+ },
126
+ resetDirtyState: () => {
127
+ s();
123
128
  }
124
- }), (a, d) => (a.useCardLayout || a.useSectionLayout) && a.arrayElementTitle ? (c(), v(_, { key: 0 }, [
125
- L("div", ke, [
129
+ }), (a, d) => (a.useCardLayout || a.useSectionLayout) && a.arrayElementTitle ? (c(), v(N, { key: 0 }, [
130
+ L("div", Be, [
126
131
  L("div", {
127
132
  class: "left",
128
133
  style: x({
@@ -130,59 +135,60 @@ const Ae = {
130
135
  ...a.useSectionLayout ? { flex: 1 } : {}
131
136
  })
132
137
  }, [
133
- a.elementCheckboxScope ? T(a.$slots, "renderer", {
138
+ a.elementCheckboxScope ? D(a.$slots, "renderer", {
134
139
  key: 0,
135
- path: n.value,
140
+ path: r.value,
136
141
  element: {
137
142
  type: "Control",
138
143
  scope: a.elementCheckboxScope,
139
144
  options: {
140
- format: h(ie)
145
+ format: p(le)
141
146
  }
142
147
  }
143
- }, void 0, !0) : E("", !0),
144
- k(Te, {
148
+ }, void 0, !0) : w("", !0),
149
+ B(Te, {
145
150
  "title-config": a.arrayElementTitle,
146
151
  "array-ui-schema": a.arrayUiSchema,
147
152
  index: a.index,
148
153
  "use-section-layout": a.useSectionLayout
149
154
  }, null, 8, ["title-config", "array-ui-schema", "index", "use-section-layout"])
150
155
  ], 4),
151
- T(a.$slots, "controls", {}, void 0, !0)
156
+ D(a.$slots, "controls", {}, void 0, !0)
152
157
  ]),
153
- L("div", Be, [
154
- (c(!0), v(_, null, G(a.elements, ([u, m]) => T(a.$slots, "renderer", {
155
- key: `${n.value}-${u}`,
156
- path: n.value,
158
+ L("div", Me, [
159
+ (c(!0), v(N, null, G(a.elements, ([u, m]) => D(a.$slots, "renderer", {
160
+ key: `${r.value}-${u}`,
161
+ path: r.value,
157
162
  element: m
158
163
  }, void 0, !0)), 128))
159
164
  ])
160
165
  ], 64)) : (c(), v("div", Re, [
161
- L("div", Me, [
162
- T(a.$slots, "renderer", {
166
+ L("div", Ne, [
167
+ D(a.$slots, "renderer", {
163
168
  element: a.elements[0][1],
164
- path: n.value
169
+ path: r.value
165
170
  }, void 0, !0)
166
171
  ]),
167
- L("div", _e, [
168
- T(a.$slots, "controls", {}, void 0, !0)
172
+ L("div", Ue, [
173
+ D(a.$slots, "controls", {}, void 0, !0)
169
174
  ])
170
175
  ]));
171
176
  }
172
- }), Ue = /* @__PURE__ */ U(Ke, [["__scopeId", "data-v-3cb16fe2"]]), Pe = { class: "item-controls" }, Ve = /* @__PURE__ */ K({
177
+ }), Ke = /* @__PURE__ */ F(Fe, [["__scopeId", "data-v-117e243b"]]), Pe = { class: "item-controls" }, Ve = /* @__PURE__ */ U({
173
178
  __name: "ArrayLayoutItemControls",
174
179
  props: {
175
180
  isFirst: { type: Boolean, default: !1 },
176
181
  isLast: { type: Boolean, default: !1 },
177
182
  showSortControls: { type: Boolean, default: !1 },
183
+ showDuplicateButton: { type: Boolean, default: !1 },
178
184
  showDeleteButton: { type: Boolean, default: !1 }
179
185
  },
180
- emits: ["moveUp", "moveDown", "delete"],
186
+ emits: ["moveUp", "moveDown", "duplicate", "delete"],
181
187
  setup(e, { emit: o }) {
182
188
  const t = o;
183
- return (s, r) => (c(), v("div", Pe, [
184
- T(s.$slots, "before", {}, void 0, !0),
185
- s.showSortControls ? (c(), C(h(M), {
189
+ return (s, n) => (c(), v("div", Pe, [
190
+ D(s.$slots, "before", {}, void 0, !0),
191
+ s.showSortControls ? (c(), I(p(b), {
186
192
  key: 0,
187
193
  "leading-icon": "arrow-up",
188
194
  size: "small",
@@ -190,9 +196,9 @@ const Ae = {
190
196
  disabled: s.isFirst,
191
197
  title: "Move up",
192
198
  ariaLabel: "Move up",
193
- onClick: r[0] || (r[0] = (n) => t("moveUp"))
194
- }, null, 8, ["disabled"])) : E("", !0),
195
- s.showSortControls ? (c(), C(h(M), {
199
+ onClick: n[0] || (n[0] = (r) => t("moveUp"))
200
+ }, null, 8, ["disabled"])) : w("", !0),
201
+ s.showSortControls ? (c(), I(p(b), {
196
202
  key: 1,
197
203
  "leading-icon": "arrow-down",
198
204
  size: "small",
@@ -200,66 +206,75 @@ const Ae = {
200
206
  disabled: s.isLast,
201
207
  title: "Move down",
202
208
  ariaLabel: "Move down",
203
- onClick: r[1] || (r[1] = (n) => t("moveDown"))
204
- }, null, 8, ["disabled"])) : E("", !0),
205
- s.showDeleteButton ? (c(), C(h(M), {
209
+ onClick: n[1] || (n[1] = (r) => t("moveDown"))
210
+ }, null, 8, ["disabled"])) : w("", !0),
211
+ s.showDuplicateButton ? (c(), I(p(b), {
206
212
  key: 2,
213
+ "leading-icon": "copy",
214
+ size: "small",
215
+ variant: "transparent",
216
+ title: "Duplicate",
217
+ ariaLabel: "Duplicate",
218
+ onClick: n[2] || (n[2] = (r) => t("duplicate"))
219
+ })) : w("", !0),
220
+ s.showDeleteButton ? (c(), I(p(b), {
221
+ key: 3,
207
222
  "leading-icon": "trash",
208
223
  size: "small",
209
224
  variant: "transparent",
210
225
  title: "Remove",
211
226
  ariaLabel: "Remove",
212
- onClick: r[2] || (r[2] = (n) => t("delete"))
213
- })) : E("", !0)
227
+ onClick: n[3] || (n[3] = (r) => t("delete"))
228
+ })) : w("", !0)
214
229
  ]));
215
230
  }
216
- }), Fe = /* @__PURE__ */ U(Ve, [["__scopeId", "data-v-a4686721"]]), j = 200, Oe = (e) => e.every((o) => typeof o == "string"), Ne = (e) => Oe(e) ? e.reduce((o, t) => o + t, "") : !1, ze = (e, o) => {
217
- const t = B(/* @__PURE__ */ new Map()), s = B(!1), r = I("isTriggerActive"), n = () => {
231
+ }), _e = /* @__PURE__ */ F(Ve, [["__scopeId", "data-v-5bbaa466"]]), W = 200, Oe = (e) => e.every((o) => typeof o == "string"), ze = (e) => Oe(e) ? e.reduce((o, t) => o + t, "") : !1, Je = (e, o) => {
232
+ const t = M(/* @__PURE__ */ new Map()), s = M(!1), n = C("isTriggerActive"), r = () => {
218
233
  let a = !1;
219
- r({ id: le }).then((d) => {
234
+ n({ id: de }).then((d) => {
220
235
  a = !0, d.state === "SUCCESS" && (t.value = d.result.reduce((u, { indices: m, isActive: f }) => (u.set(m[0], f), u), /* @__PURE__ */ new Map()), s.value = !1);
221
236
  }), setTimeout(() => {
222
237
  a || (s.value = !0);
223
- }, j), s.value = !1;
224
- }, l = B(!1);
225
- return J(() => {
238
+ }, W), s.value = !1;
239
+ }, l = M(!1);
240
+ return j(() => {
226
241
  setTimeout(() => {
227
242
  l.value || (s.value = !0);
228
- }, j);
243
+ }, W);
229
244
  }), O(
230
- () => Ne(o.value),
245
+ () => ze(o.value),
231
246
  (a) => {
232
- e && a && (l.value = !0, o.value.every((u) => t.value.has(u)) && t.value.size === o.value.length || ee(n));
247
+ e && a && (l.value = !0, o.value.every((u) => t.value.has(u)) && t.value.size === o.value.length || ee(r));
233
248
  },
234
249
  { immediate: !0 }
235
250
  ), { isEdited: t, isEditedIsLoading: s };
236
- }, We = K({
251
+ }, We = U({
237
252
  name: "ArrayLayout",
238
253
  components: {
239
- DispatchRenderer: ce,
240
- KdsButton: M,
241
- KdsEmptyState: ue,
242
- ArrayLayoutItemControls: Fe,
243
- ArrayLayoutItem: Ue
254
+ DispatchRenderer: me,
255
+ KdsButton: b,
256
+ KdsEmptyState: ce,
257
+ ArrayLayoutItemControls: _e,
258
+ ArrayLayoutItem: Ke
244
259
  },
245
260
  props: {
246
- ...de()
261
+ ...ue()
247
262
  },
248
263
  setup(e) {
249
- const { handleChange: o, control: t } = pe(
264
+ const { handleChange: o, control: t } = he(
250
265
  e
251
- ), s = S(() => {
266
+ ), s = A(() => {
252
267
  var i;
253
268
  return ((i = t.value.data) == null ? void 0 : i.length) ?? 0;
254
- }), n = I("getInitialValue")(
269
+ }), r = C("getInitialValue")(
255
270
  t.value.path
256
- ), l = B((n == null ? void 0 : n.length) ?? 0), a = N(
257
- S(() => t.value.uischema),
271
+ ), l = M((r == null ? void 0 : r.length) ?? 0), a = z(
272
+ A(() => t.value.uischema),
258
273
  "elementDefaultValue",
259
274
  null
260
275
  );
261
- he({
262
- dataPath: S(() => t.value.path),
276
+ ye({
277
+ dataPath: A(() => t.value.path),
263
278
  value: s,
264
279
  initialValue: l.value ?? 0,
265
280
  valueComparator: {
@@ -269,50 +284,51 @@ const Ae = {
269
284
  isModified: (i) => l.value !== i
270
285
  }
271
286
  });
272
- const d = I("createArrayAtPath")(
273
- ye(t.value.uischema.scope)
274
- ), u = (i) => Object.keys(d).find((y) => Ee(y) === i), m = (i) => u(i) ?? W();
287
+ const d = C("createArrayAtPath")(
288
+ ve(t.value.uischema.scope)
289
+ ), u = (i) => Object.keys(d).find((y) => Ee(y) === i), m = (i) => u(i) ?? _();
275
290
  O(
276
291
  () => t.value.data,
277
292
  (i) => {
278
- i.forEach((y, p) => {
293
+ i.forEach((y, h) => {
279
294
  y._id || o(
280
- R(R(t.value.path, `${p}`), "_id"),
281
- m(p)
295
+ R(R(t.value.path, `${h}`), "_id"),
296
+ m(h)
282
297
  );
283
298
  });
284
299
  },
285
300
  { immediate: !0 }
286
301
  );
287
- const f = S(() => t.value.data.map(({ _id: i }) => i)), $ = (i) => i.reduce((y, p) => (y ?? "<noId>") + (p ?? "<noId>"), "");
302
+ const f = A(() => t.value.data.map(({ _id: i }) => i)), T = (i) => i.reduce((y, h) => (y ?? "<noId>") + (h ?? "<noId>"), "");
288
303
  O(
289
304
  () => f.value,
290
305
  (i, y) => {
291
- y && $(i) === $(y) || (i.forEach((p, Y) => p && ve(p, Y)), y == null || y.filter((p) => p && !i.includes(p)).forEach((p) => fe(p)));
306
+ y && T(i) === T(y) || (i.forEach((h, Y) => h && fe(h, Y)), y == null || y.filter((h) => h && !i.includes(h)).forEach((h) => ge(h)));
292
307
  },
293
308
  { immediate: !0 }
294
309
  );
295
- const { isEdited: A, isEditedIsLoading: g } = ze(
310
+ const { isEdited: E, isEditedIsLoading: g } = Je(
296
311
  t.value.uischema.options.withEditAndReset,
297
312
  f
298
313
  ), {
299
- addItem: w,
300
- moveDown: P,
314
+ addItem: S,
315
+ moveDown: K,
301
316
  moveUp: q,
302
317
  removeItems: Q,
303
318
  control: X
304
- } = ge(e);
319
+ } = we(e);
305
320
  return {
306
- addItem: w,
307
- moveDown: P,
321
+ addItem: S,
322
+ moveDown: K,
308
323
  moveUp: q,
309
324
  removeItems: Q,
325
+ handleChange: o,
310
326
  control: X,
311
327
  numElements: s,
312
328
  cleanArrayLength: l,
313
329
  idsRecord: d,
314
330
  providedElementDefaultValue: a,
315
- isEdited: A,
331
+ isEdited: E,
316
332
  isEditedIsLoading: g
317
333
  };
318
334
  },
@@ -320,9 +336,10 @@ const Ae = {
320
336
  return {
321
337
  elementLayoutKey: "elementLayout",
322
338
  arrayElementTitleKey: "arrayElementTitle",
323
- editResetButtonFormat: me,
324
- elementCountBeforeAddingOne: -1,
325
- clearStateMethods: /* @__PURE__ */ new Map()
339
+ editResetButtonFormat: pe,
340
+ newElementId: null,
341
+ resetDirtyStateMethods: /* @__PURE__ */ new Map(),
342
+ deleteArrayItemMethods: /* @__PURE__ */ new Map()
326
343
  };
327
344
  },
328
345
  computed: {
@@ -338,6 +355,9 @@ const Ae = {
338
355
  showAddAndDeleteButtons() {
339
356
  return !this.control.uischema.options.hasFixedSize;
340
357
  },
358
+ showDuplicateButton() {
359
+ return this.control.uischema.options.showDuplicateButton && !this.control.uischema.options.hasFixedSize;
360
+ },
341
361
  elements() {
342
362
  return this.control.uischema.options.detail ? Object.entries(this.control.uischema.options.detail) : [];
343
363
  },
@@ -380,11 +400,12 @@ const Ae = {
380
400
  }), o;
381
401
  },
382
402
  addDefaultItem() {
383
- this.elementCountBeforeAddingOne = this.numElements, this.addItem(this.control.path, {
403
+ const e = _();
404
+ this.newElementId = e, this.addItem(this.control.path, {
384
405
  ...this.createDefaultValue(
385
406
  this.control.schema
386
407
  ),
387
- _id: W()
408
+ _id: e
388
409
  })();
389
410
  },
390
411
  moveItemUp(e) {
@@ -395,68 +416,85 @@ const Ae = {
395
416
  var o;
396
417
  (o = this.moveDown) == null || o.call(this, this.control.path, e)();
397
418
  },
398
- clearElement(e) {
399
- var o;
400
- e && ((o = this.clearStateMethods.get(e)) == null || o(), this.clearStateMethods.delete(e));
419
+ duplicateItem(e) {
420
+ const o = te(this.control.data[e]);
421
+ if (o) {
422
+ const t = JSON.parse(JSON.stringify(o)), s = _();
423
+ t._id = s, this.newElementId = s;
424
+ const n = [...this.control.data];
425
+ n.splice(e + 1, 0, t), this.handleChange(this.control.path, n);
426
+ }
427
+ },
428
+ clearState(e, o) {
429
+ var t, s;
430
+ o && ((t = this.resetDirtyStateMethods.get(o)) == null || t()), e && ((s = this.deleteArrayItemMethods.get(e)) == null || s(), this.deleteArrayItemMethods.delete(e), this.resetDirtyStateMethods.delete(e));
401
431
  },
402
432
  registerElement(e) {
403
433
  return (o) => {
404
- e && this.clearStateMethods.set(e, () => o == null ? void 0 : o.clearState());
434
+ e && (this.deleteArrayItemMethods.set(
435
+ e,
436
+ () => o == null ? void 0 : o.deleteArrayItem()
437
+ ), this.resetDirtyStateMethods.set(
438
+ e,
439
+ () => o == null ? void 0 : o.resetDirtyState()
440
+ ));
405
441
  };
406
442
  },
407
443
  deleteItem(e) {
408
- var t;
409
- const o = this.control.data[e]._id;
410
- this.clearElement(o), (t = this.removeItems) == null || t.call(this, R(this.control.path, ""), [e])();
444
+ var s;
445
+ const o = this.control.data[this.control.data.length - 1]._id, t = this.control.data[e]._id;
446
+ this.clearState(t, o), (s = this.removeItems) == null || s.call(this, R(this.control.path, ""), [e])();
411
447
  }
412
448
  }
413
449
  });
414
- function je(e, o, t, s, r, n) {
415
- var f, $;
416
- const l = D("DispatchRenderer"), a = D("ArrayLayoutItemControls"), d = D("ArrayLayoutItem"), u = D("KdsButton"), m = D("KdsEmptyState");
450
+ function je(e, o, t, s, n, r) {
451
+ var f, T;
452
+ const l = $("DispatchRenderer"), a = $("ArrayLayoutItemControls"), d = $("ArrayLayoutItem"), u = $("KdsButton"), m = $("KdsEmptyState");
417
453
  return e.control.visible ? (c(), v("div", {
418
454
  key: 0,
419
- class: z(["array", { cards: e.useCardLayout }])
455
+ class: J(["array", { cards: e.useCardLayout }])
420
456
  }, [
421
- e.numElements > 0 ? (c(), v(_, { key: 0 }, [
422
- (c(!0), v(_, null, G(e.control.data, (A, g) => (c(), v("div", {
423
- key: `${e.control.path}-${A._id}`,
424
- class: z(["item", { card: e.useCardLayout }])
457
+ e.numElements > 0 ? (c(), v(N, { key: 0 }, [
458
+ (c(!0), v(N, null, G(e.control.data, (E, g) => (c(), v("div", {
459
+ key: `${e.control.path}-${E._id}`,
460
+ class: J(["item", { card: e.useCardLayout }])
425
461
  }, [
426
- k(d, {
427
- id: A._id,
462
+ B(d, {
463
+ id: E._id,
428
464
  ref_for: !0,
429
- ref: e.registerElement(A._id),
465
+ ref: e.registerElement(E._id),
430
466
  "ids-record": e.idsRecord,
431
467
  "array-ui-schema": e.control.uischema,
432
468
  elements: e.elements,
433
469
  "array-element-title": e.arrayElementTitle,
434
470
  path: e.control.path,
435
471
  index: g,
436
- "has-been-added": g === e.elementCountBeforeAddingOne,
472
+ "is-new-element": E._id === e.newElementId,
437
473
  "element-checkbox-scope": e.elementCheckboxScope,
438
474
  "use-card-layout": e.useCardLayout,
439
475
  "use-section-layout": e.useSectionLayout
440
476
  }, {
441
- renderer: F(({ element: w, path: P }) => [
442
- k(l, {
477
+ renderer: V(({ element: S, path: K }) => [
478
+ B(l, {
443
479
  schema: e.control.schema,
444
- uischema: w,
445
- path: P
480
+ uischema: S,
481
+ path: K
446
482
  }, null, 8, ["schema", "uischema", "path"])
447
483
  ]),
448
- controls: F(() => [
449
- k(a, {
484
+ controls: V(() => [
485
+ B(a, {
450
486
  "is-first": g === 0,
451
487
  "is-last": g === e.control.data.length - 1,
452
488
  "show-sort-controls": e.showSortControls,
489
+ "show-duplicate-button": e.showDuplicateButton,
453
490
  "show-delete-button": e.showAddAndDeleteButtons,
454
- onMoveUp: (w) => e.moveItemUp(g),
455
- onMoveDown: (w) => e.moveItemDown(g),
456
- onDelete: (w) => e.deleteItem(g)
491
+ onMoveUp: (S) => e.moveItemUp(g),
492
+ onMoveDown: (S) => e.moveItemDown(g),
493
+ onDuplicate: (S) => e.duplicateItem(g),
494
+ onDelete: (S) => e.deleteItem(g)
457
495
  }, {
458
- before: F(() => [
459
- e.showEditAndResetControls ? (c(), C(l, te({
496
+ before: V(() => [
497
+ e.showEditAndResetControls ? (c(), I(l, oe({
460
498
  key: 0,
461
499
  ref_for: !0
462
500
  }, e.control, {
@@ -475,25 +513,25 @@ function je(e, o, t, s, r, n) {
475
513
  }
476
514
  },
477
515
  path: `${e.control.path}.${g}`,
478
- "initial-is-edited": e.isEdited.get(A._id) ? "" : void 0,
516
+ "initial-is-edited": e.isEdited.get(E._id) ? "" : void 0,
479
517
  "is-loading": e.isEditedIsLoading ? "" : void 0
480
- }), null, 16, ["uischema", "path", "initial-is-edited", "is-loading"])) : E("", !0)
518
+ }), null, 16, ["uischema", "path", "initial-is-edited", "is-loading"])) : w("", !0)
481
519
  ]),
482
520
  _: 2
483
- }, 1032, ["is-first", "is-last", "show-sort-controls", "show-delete-button", "onMoveUp", "onMoveDown", "onDelete"])
521
+ }, 1032, ["is-first", "is-last", "show-sort-controls", "show-duplicate-button", "show-delete-button", "onMoveUp", "onMoveDown", "onDuplicate", "onDelete"])
484
522
  ]),
485
523
  _: 2
486
- }, 1032, ["id", "ids-record", "array-ui-schema", "elements", "array-element-title", "path", "index", "has-been-added", "element-checkbox-scope", "use-card-layout", "use-section-layout"])
524
+ }, 1032, ["id", "ids-record", "array-ui-schema", "elements", "array-element-title", "path", "index", "is-new-element", "element-checkbox-scope", "use-card-layout", "use-section-layout"])
487
525
  ], 2))), 128)),
488
- e.showAddAndDeleteButtons ? (c(), C(u, {
526
+ e.showAddAndDeleteButtons ? (c(), I(u, {
489
527
  key: 0,
490
528
  variant: "outlined",
491
529
  size: "small",
492
530
  "leading-icon": "plus",
493
531
  label: e.control.uischema.options.addButtonText || "New",
494
532
  onClick: e.addDefaultItem
495
- }, null, 8, ["label", "onClick"])) : E("", !0)
496
- ], 64)) : (c(), C(m, {
533
+ }, null, 8, ["label", "onClick"])) : w("", !0)
534
+ ], 64)) : (c(), I(m, {
497
535
  key: 1,
498
536
  class: "empty-array",
499
537
  button: e.showAddAndDeleteButtons ? {
@@ -503,12 +541,12 @@ function je(e, o, t, s, r, n) {
503
541
  label: e.control.uischema.options.addButtonText || "New"
504
542
  } : void 0,
505
543
  description: `Start by adding ${e.arrayElementTitle && ((f = e.arrayElementTitle) == null ? void 0 : f.title) || "elements"} to configure your settings.`,
506
- headline: `No ${e.arrayElementTitle && (($ = e.arrayElementTitle) == null ? void 0 : $.title) || "elements"} added`,
507
- onButtonClick: o[0] || (o[0] = (A) => e.showAddAndDeleteButtons && e.addDefaultItem())
544
+ headline: `No ${e.arrayElementTitle && ((T = e.arrayElementTitle) == null ? void 0 : T.title) || "elements"} added`,
545
+ onButtonClick: o[0] || (o[0] = (E) => e.showAddAndDeleteButtons && e.addDefaultItem())
508
546
  }, null, 8, ["button", "description", "headline"]))
509
- ], 2)) : E("", !0);
547
+ ], 2)) : w("", !0);
510
548
  }
511
- const qe = /* @__PURE__ */ U(We, [["render", je], ["__scopeId", "data-v-ed47b30b"]]);
549
+ const Qe = /* @__PURE__ */ F(We, [["render", je], ["__scopeId", "data-v-ab75abd8"]]);
512
550
  export {
513
- qe as default
551
+ Qe as default
514
552
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as q, ref as l, computed as _, onMounted as H, createElementBlock as S, openBlock as m, createVNode as z, createBlock as L, createCommentVNode as C, unref as B, withCtx as U, createElementVNode as W, toDisplayString as b } from "vue";
2
2
  import { FunctionButton as j, LoadingIcon as P } from "@knime/components";
3
- import { ae as f, ap as T, aq as G } from "./TextControl-BlUQLMGo-CSdt3hw2.js";
3
+ import { ae as f, ap as T, aq as G } from "./TextControl-B0ag-3Pv-CVDIw3MG.js";
4
4
  import { _ as J } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const k = ({ view: u, model: i }) => ({
6
6
  ...u,