@knime/jsonforms 3.4.0 → 3.5.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.
- package/CHANGELOG.md +21 -0
- package/dist/FileUploadControl-D5QfM3Wa.js +45 -0
- package/dist/{SectionLayout-B-vh7ulD.js → SectionLayout-CTHfZNfB.js} +1 -1
- package/dist/{SettingsSubPanelLayout-D9TM077j.js → SettingsSubPanelLayout-Dt_WNkLJ.js} +1 -1
- package/dist/{VerticalLayout-DlhW4HEd.js → VerticalLayout-DJWwKloZ.js} +1 -1
- package/dist/ZonedDateTimeControl-Co3v2EVv.js +104 -0
- package/dist/knime-jsonforms.css +1 -1
- package/dist/knime-jsonforms.js +1 -1
- package/dist/src/uiComponents/FileUploadControl.vue.d.ts +2 -2
- package/dist/{src-DkIWYVHR.js → src-2ar80j2v.js} +5 -5
- package/dist/testing.js +1 -1
- package/package.json +10 -9
- package/dist/FileUploadControl-Cv3xWTAS.js +0 -58
- package/dist/ZonedDateTimeControl-DoE2T9iz.js +0 -88
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @knime/jsonforms
|
|
2
2
|
|
|
3
|
+
## 3.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7b5e7c4: add showTime option/prop to ZonedDateTimeControl and KdsZonedDateTimeInput to allow selecting date+timezone only; the time is then set to the start of the selected day in the selected time zone
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [256224e, 7b5e7c4]
|
|
12
|
+
- @knime/kds-components@8.2.0
|
|
13
|
+
- @knime/kds-rich-text-editor@8.2.0
|
|
14
|
+
|
|
15
|
+
## 3.4.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 336b1b4: `FileUploadControl`: render `KdsFileSelector` instead of a bare button and filename. Files that violate the `accept` uischema option are now rejected with an inline error message, and the field shows the accepted file types as a hint.
|
|
20
|
+
- Updated dependencies [336b1b4]
|
|
21
|
+
- @knime/kds-components@8.0.0
|
|
22
|
+
- @knime/kds-rich-text-editor@8.0.0
|
|
23
|
+
|
|
3
24
|
## 3.4.0
|
|
4
25
|
|
|
5
26
|
### Minor Changes
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { computed as e, createBlock as t, defineComponent as n, openBlock as r, unref as i, useTemplateRef as a } from "vue";
|
|
2
|
+
import { KdsFileSelector as o } from "@knime/kds-components";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/uiComponents/FileUploadControl.vue
|
|
5
|
+
var s = /* @__PURE__ */ n({
|
|
6
|
+
__name: "FileUploadControl",
|
|
7
|
+
props: {
|
|
8
|
+
control: {},
|
|
9
|
+
handleChange: { type: Function },
|
|
10
|
+
changeValue: { type: Function },
|
|
11
|
+
disabled: { type: Boolean },
|
|
12
|
+
error: { type: Boolean },
|
|
13
|
+
subText: {},
|
|
14
|
+
onRegisterValidation: { type: Function },
|
|
15
|
+
labelForId: {}
|
|
16
|
+
},
|
|
17
|
+
setup(n, { expose: s }) {
|
|
18
|
+
let c = n, l = e(() => c.control.uischema.options?.multiple ?? !1), u = e(() => c.control.uischema.options?.accept ?? void 0), d = e(() => c.control.data ?? []), f = a("fileSelector");
|
|
19
|
+
return s({ focus: () => f.value?.focus() }), (e, a) => (r(), t(i(o), {
|
|
20
|
+
id: n.labelForId,
|
|
21
|
+
ref_key: "fileSelector",
|
|
22
|
+
ref: f,
|
|
23
|
+
ariaLabel: n.control.label,
|
|
24
|
+
"model-value": d.value,
|
|
25
|
+
multiple: l.value,
|
|
26
|
+
accept: u.value,
|
|
27
|
+
disabled: n.disabled,
|
|
28
|
+
error: n.error,
|
|
29
|
+
"sub-text": n.subText,
|
|
30
|
+
"onUpdate:modelValue": n.changeValue
|
|
31
|
+
}, null, 8, [
|
|
32
|
+
"id",
|
|
33
|
+
"ariaLabel",
|
|
34
|
+
"model-value",
|
|
35
|
+
"multiple",
|
|
36
|
+
"accept",
|
|
37
|
+
"disabled",
|
|
38
|
+
"error",
|
|
39
|
+
"sub-text",
|
|
40
|
+
"onUpdate:modelValue"
|
|
41
|
+
]));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { s as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as e, u as t } from "./src-
|
|
1
|
+
import { d as e, u as t } from "./src-2ar80j2v.js";
|
|
2
2
|
import { t as n } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
3
3
|
import { createBlock as r, createElementBlock as i, createVNode as a, defineComponent as o, openBlock as s, ref as c, renderSlot as l, unref as u, withCtx as d } from "vue";
|
|
4
4
|
import { DispatchRenderer as f } from "@jsonforms/vue";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as e, k as t, u as n } from "./src-
|
|
1
|
+
import { d as e, k as t, u as n } from "./src-2ar80j2v.js";
|
|
2
2
|
import { t as r } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
3
3
|
import { computed as i, createBlock as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, openBlock as u, ref as d, renderSlot as f, unref as p, withCtx as m } from "vue";
|
|
4
4
|
import { DispatchRenderer as h } from "@jsonforms/vue";
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { t as e } from "./plainDateTimeUtils-5uOCJ4N5.js";
|
|
2
|
+
import { computed as t, createBlock as n, defineComponent as r, openBlock as i, ref as a, unref as o, watch as s } from "vue";
|
|
3
|
+
import { KdsZonedDateTimeInput as c } from "@knime/kds-components";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/uiComponents/ZonedDateTimeControl.vue
|
|
6
|
+
var l = /* @__PURE__ */ r({
|
|
7
|
+
__name: "ZonedDateTimeControl",
|
|
8
|
+
props: {
|
|
9
|
+
control: {},
|
|
10
|
+
handleChange: { type: Function },
|
|
11
|
+
changeValue: { type: Function },
|
|
12
|
+
disabled: { type: Boolean },
|
|
13
|
+
error: { type: Boolean },
|
|
14
|
+
subText: {},
|
|
15
|
+
onRegisterValidation: { type: Function },
|
|
16
|
+
labelForId: {}
|
|
17
|
+
},
|
|
18
|
+
setup(r) {
|
|
19
|
+
let l = r, u = t(() => l.control.uischema.options), d = t(() => e.getMaxGranularity(u.value, { showMilliseconds: !1 })), f = t(() => u.value?.showTime ?? !0), p = a(e.detectGranularity(l.control.data.dateTime)), m = t(() => ({
|
|
20
|
+
...e.fromString(l.control.data.dateTime),
|
|
21
|
+
timeZone: l.control.data.timeZone
|
|
22
|
+
})), h = t(() => {
|
|
23
|
+
let { date: e, time: t, timeZone: n } = m.value;
|
|
24
|
+
if (e === null || !n) return null;
|
|
25
|
+
try {
|
|
26
|
+
return f.value && t ? e.toPlainDateTime(t).toZonedDateTime(n) : e.toZonedDateTime(n);
|
|
27
|
+
} catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}), g, _, v = !1, y = () => {
|
|
31
|
+
v = !1;
|
|
32
|
+
let t = _ ?? p.value, n = g !== void 0, r = _ !== void 0, i = g;
|
|
33
|
+
if (g = void 0, _ = void 0, p.value = t, n) {
|
|
34
|
+
if (i === null) {
|
|
35
|
+
l.changeValue({
|
|
36
|
+
...l.control.data,
|
|
37
|
+
dateTime: ""
|
|
38
|
+
});
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
l.changeValue({
|
|
42
|
+
...l.control.data,
|
|
43
|
+
dateTime: e.toString(i.toPlainDate(), i.toPlainTime(), t),
|
|
44
|
+
timeZone: i.timeZoneId
|
|
45
|
+
});
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (r) {
|
|
49
|
+
let { date: n, time: r } = e.fromString(l.control.data.dateTime);
|
|
50
|
+
n && l.changeValue({
|
|
51
|
+
...l.control.data,
|
|
52
|
+
dateTime: e.toString(n, r, t)
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}, b = () => {
|
|
56
|
+
v || (v = !0, queueMicrotask(y));
|
|
57
|
+
}, x = t(() => {
|
|
58
|
+
let { date: e, time: t, timeZone: n } = m.value;
|
|
59
|
+
if (e === null || t === null || !n) return null;
|
|
60
|
+
try {
|
|
61
|
+
return e.toPlainDateTime(t).toZonedDateTime(n);
|
|
62
|
+
} catch {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
s([f, x], () => {
|
|
67
|
+
if (f.value || x.value === null) return;
|
|
68
|
+
let e = x.value.startOfDay();
|
|
69
|
+
x.value.equals(e) || (g = e, b());
|
|
70
|
+
}, { immediate: !0 });
|
|
71
|
+
let S = (e) => {
|
|
72
|
+
g = e, b();
|
|
73
|
+
}, C = (e) => {
|
|
74
|
+
_ = e, b();
|
|
75
|
+
};
|
|
76
|
+
return (e, t) => (i(), n(o(c), {
|
|
77
|
+
id: r.labelForId,
|
|
78
|
+
ariaLabel: r.control.label,
|
|
79
|
+
"model-value": h.value,
|
|
80
|
+
granularity: p.value,
|
|
81
|
+
"max-granularity": d.value,
|
|
82
|
+
"possible-values": u.value?.possibleValues,
|
|
83
|
+
disabled: r.disabled,
|
|
84
|
+
error: r.error,
|
|
85
|
+
"sub-text": r.subText,
|
|
86
|
+
"show-time": f.value,
|
|
87
|
+
"onUpdate:modelValue": S,
|
|
88
|
+
"onUpdate:granularity": C
|
|
89
|
+
}, null, 8, [
|
|
90
|
+
"id",
|
|
91
|
+
"ariaLabel",
|
|
92
|
+
"model-value",
|
|
93
|
+
"granularity",
|
|
94
|
+
"max-granularity",
|
|
95
|
+
"possible-values",
|
|
96
|
+
"disabled",
|
|
97
|
+
"error",
|
|
98
|
+
"sub-text",
|
|
99
|
+
"show-time"
|
|
100
|
+
]));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
//#endregion
|
|
104
|
+
export { l as default };
|
package/dist/knime-jsonforms.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.flex-wrapper[data-v-2d34194b]{flex-direction:column;height:100%;display:flex}.form{&[data-v-2d34194b]{--horizontal-dialog-padding:var(--kds-spacing-container-0-75x);padding:0 var(--horizontal-dialog-padding) var(--kds-spacing-container-0-75x);flex-direction:column;flex-grow:1;display:flex;overflow:hidden auto}&[data-v-2d34194b]:focus{outline:none}}.settings-sub-panel{&[data-v-bcab65d0]{z-index:3;background-color:var(--kds-color-surface-default);width:100%;box-shadow:var(--kds-elevation-level-3);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}&[data-v-bcab65d0]:focus{outline:none}}.settings-sub-panel-body[data-v-bcab65d0]{--horizontal-dialog-padding:var(--kds-spacing-container-0-75x);height:100%;padding:0 var(--horizontal-dialog-padding) var(--horizontal-dialog-padding);flex-direction:column;display:flex;overflow:hidden auto}.settings-sub-panel-footer[data-v-bcab65d0]{flex:none}.slide-enter-active[data-v-bcab65d0],.slide-leave-active[data-v-bcab65d0]{transition:transform .2s}.slide-enter-from[data-v-bcab65d0],.slide-leave-to[data-v-bcab65d0]{transform:translateX(calc(100% + var(--kds-spacing-container-0-5x)))}.loading-dialog{&[data-v-6920196f]{gap:var(--kds-spacing-container-1x);height:100%;padding:var(--kds-spacing-container-2x) var(--kds-spacing-container-1x);flex-direction:column;display:flex}& .two-columns[data-v-6920196f]{gap:var(--kds-spacing-container-1x);margin-bottom:var(--kds-spacing-container-3x);grid-template-columns:1fr 1fr;display:grid}}.dialog[data-v-acd25041]{background-color:var(--kds-color-surface-default);flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative;overflow-x:hidden}.dialog-label{&[data-v-dcb388eb]{flex-direction:column;width:100%;display:flex;position:relative}&.fill[data-v-dcb388eb]{flex-grow:1}& .control-header{&[data-v-dcb388eb]{max-width:100%;min-height:calc(var(--kds-spacing-input-label-spacing-bottom) + var(--kds-dimension-component-height-1x));display:flex}& .left{&[data-v-dcb388eb]{flex:1;justify-content:flex-start;min-width:0;display:flex}& .label[data-v-dcb388eb]{white-space:pre;flex-shrink:1;min-width:0}}&[data-v-dcb388eb] .toggle-hide-on-null{padding-bottom:var(--kds-spacing-input-label-spacing-bottom);margin-left:var(--kds-spacing-container-0-12x)}&[data-v-dcb388eb]:has(.left .label:hover) .toggle-hide-on-null:not(.disabled) .control{background:var(--bg-hover)}}&[data-v-dcb388eb] .label-text{display:inline-block}}.description-wrapper[data-v-36483899]{pointer-events:auto;max-height:300px;overflow:auto}.vertical-layout{&[data-v-abc3717c]{--vertical-padding:var(--kds-spacing-container-0-5x);flex-direction:column;display:flex}&[data-v-abc3717c]:last-child{flex:1}&[data-v-abc3717c]:not(:has(:first-child>.section:first-child)){gap:var(--kds-spacing-container-0-75x);padding-top:var(--vertical-padding)}}.section-header-sentinel[data-v-87a3f8e3]{height:1px;margin-bottom:-1px}.section-header{&[data-v-87a3f8e3]{z-index:1;margin:0 calc(-1 * var(--horizontal-dialog-padding,0));background-color:var(--kds-color-surface-default);position:sticky;top:0}& .section-header-layout-container{&[data-v-87a3f8e3]{gap:var(--kds-spacing-container-0-5x);width:calc(100% - var(--horizontal-dialog-padding,0) * 2);padding-top:var(--kds-spacing-container-0-25x);padding-bottom:var(--kds-spacing-container-0-12x);margin:0 var(--horizontal-dialog-padding,0);justify-content:space-between;align-items:center;display:flex}& h3[data-v-87a3f8e3]{font:var(--kds-font-base-title-medium-strong);color:var(--kds-color-text-and-icon-neutral);margin:0}& .section-header-buttons[data-v-87a3f8e3]{gap:var(--kds-spacing-container-0-25x);align-items:center;display:flex}}&.is-sticking .section-header-layout-container[data-v-87a3f8e3]{border-bottom:var(--kds-border-base-subtle)}}.item-controls[data-v-9f37d47c]{gap:var(--kds-spacing-container-0-25x);margin-bottom:var(--kds-spacing-container-0-12x);display:flex}.simple-array{& .item-header[data-v-7737a235]{margin-top:var(--kds-spacing-container-0-5x);margin-bottom:var(--kds-spacing-container-0-5x);justify-content:space-between;align-items:baseline;display:flex}& .element{&[data-v-7737a235]{gap:var(--kds-spacing-container-0-25x);margin-bottom:var(--kds-spacing-container-1x);align-items:end;display:flex}& .form-component[data-v-7737a235]{flex-grow:1;min-width:0}}&[data-v-7737a235]>:last-child>*{margin-bottom:0}}.simple-button-input[data-v-c79c6b71]{margin-bottom:var(--kds-spacing-container-0-5x);place-content:center space-between;display:flex;position:relative}.empty-state-wrapper[data-v-7a09310d]{background:var(--kds-color-surface-muted);border:var(--kds-border-base-subtle);border-radius:var(--kds-border-radius-container-0-25x);justify-content:center;align-items:center;display:flex}.gradient-preview{&[data-v-8a745225]{height:var(--kds-dimension-component-height-1-5x)}& .gradient-bar[data-v-8a745225]{border-radius:var(--kds-border-radius-container-0-25x)}&[data-v-8a745225]>*{height:100%}}.palette-preview{&[data-v-ad83046f]{--palette-grid-entry-height:var(--kds-dimension-component-height-1-5x);--palette-grid-gap:var(--kds-spacing-container-0-25x);min-height:calc(2 * var(--palette-grid-entry-height) + var(--palette-grid-gap))}& .palette-grid{&[data-v-ad83046f]{--min-grid-rows:2;grid-template-rows:repeat(var(--min-grid-rows), var(--palette-grid-entry-height));grid-auto-rows:var(--palette-grid-entry-height);gap:var(--palette-grid-gap);display:grid}& .color-cell[data-v-ad83046f]{height:var(--palette-grid-entry-height);border-radius:var(--kds-border-radius-container-0-25x)}}& .empty-state[data-v-ad83046f]{height:var(--palette-grid-entry-height)}}.input-wrapper{&[data-v-3a916a8e]{gap:var(--kds-spacing-container-1x);flex-direction:column;display:flex}& .chart[data-v-3a916a8e]{gap:var(--kds-spacing-container-0-75x);flex-direction:row;align-items:center;display:flex}}.checkbox-input{&[data-v-4f590a2d]{display:flex;position:relative}& .checkbox-container[data-v-4f590a2d]{flex:1;min-width:0;display:flex}}.reexecution-icon[data-v-4f590a2d]{vertical-align:top;height:10px;margin:3px 0 1px 5px;display:inline-block}.
|
|
1
|
+
.flex-wrapper[data-v-2d34194b]{flex-direction:column;height:100%;display:flex}.form{&[data-v-2d34194b]{--horizontal-dialog-padding:var(--kds-spacing-container-0-75x);padding:0 var(--horizontal-dialog-padding) var(--kds-spacing-container-0-75x);flex-direction:column;flex-grow:1;display:flex;overflow:hidden auto}&[data-v-2d34194b]:focus{outline:none}}.settings-sub-panel{&[data-v-bcab65d0]{z-index:3;background-color:var(--kds-color-surface-default);width:100%;box-shadow:var(--kds-elevation-level-3);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}&[data-v-bcab65d0]:focus{outline:none}}.settings-sub-panel-body[data-v-bcab65d0]{--horizontal-dialog-padding:var(--kds-spacing-container-0-75x);height:100%;padding:0 var(--horizontal-dialog-padding) var(--horizontal-dialog-padding);flex-direction:column;display:flex;overflow:hidden auto}.settings-sub-panel-footer[data-v-bcab65d0]{flex:none}.slide-enter-active[data-v-bcab65d0],.slide-leave-active[data-v-bcab65d0]{transition:transform .2s}.slide-enter-from[data-v-bcab65d0],.slide-leave-to[data-v-bcab65d0]{transform:translateX(calc(100% + var(--kds-spacing-container-0-5x)))}.loading-dialog{&[data-v-6920196f]{gap:var(--kds-spacing-container-1x);height:100%;padding:var(--kds-spacing-container-2x) var(--kds-spacing-container-1x);flex-direction:column;display:flex}& .two-columns[data-v-6920196f]{gap:var(--kds-spacing-container-1x);margin-bottom:var(--kds-spacing-container-3x);grid-template-columns:1fr 1fr;display:grid}}.dialog[data-v-acd25041]{background-color:var(--kds-color-surface-default);flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative;overflow-x:hidden}.dialog-label{&[data-v-dcb388eb]{flex-direction:column;width:100%;display:flex;position:relative}&.fill[data-v-dcb388eb]{flex-grow:1}& .control-header{&[data-v-dcb388eb]{max-width:100%;min-height:calc(var(--kds-spacing-input-label-spacing-bottom) + var(--kds-dimension-component-height-1x));display:flex}& .left{&[data-v-dcb388eb]{flex:1;justify-content:flex-start;min-width:0;display:flex}& .label[data-v-dcb388eb]{white-space:pre;flex-shrink:1;min-width:0}}&[data-v-dcb388eb] .toggle-hide-on-null{padding-bottom:var(--kds-spacing-input-label-spacing-bottom);margin-left:var(--kds-spacing-container-0-12x)}&[data-v-dcb388eb]:has(.left .label:hover) .toggle-hide-on-null:not(.disabled) .control{background:var(--bg-hover)}}&[data-v-dcb388eb] .label-text{display:inline-block}}.description-wrapper[data-v-36483899]{pointer-events:auto;max-height:300px;overflow:auto}.vertical-layout{&[data-v-abc3717c]{--vertical-padding:var(--kds-spacing-container-0-5x);flex-direction:column;display:flex}&[data-v-abc3717c]:last-child{flex:1}&[data-v-abc3717c]:not(:has(:first-child>.section:first-child)){gap:var(--kds-spacing-container-0-75x);padding-top:var(--vertical-padding)}}.section-header-sentinel[data-v-87a3f8e3]{height:1px;margin-bottom:-1px}.section-header{&[data-v-87a3f8e3]{z-index:1;margin:0 calc(-1 * var(--horizontal-dialog-padding,0));background-color:var(--kds-color-surface-default);position:sticky;top:0}& .section-header-layout-container{&[data-v-87a3f8e3]{gap:var(--kds-spacing-container-0-5x);width:calc(100% - var(--horizontal-dialog-padding,0) * 2);padding-top:var(--kds-spacing-container-0-25x);padding-bottom:var(--kds-spacing-container-0-12x);margin:0 var(--horizontal-dialog-padding,0);justify-content:space-between;align-items:center;display:flex}& h3[data-v-87a3f8e3]{font:var(--kds-font-base-title-medium-strong);color:var(--kds-color-text-and-icon-neutral);margin:0}& .section-header-buttons[data-v-87a3f8e3]{gap:var(--kds-spacing-container-0-25x);align-items:center;display:flex}}&.is-sticking .section-header-layout-container[data-v-87a3f8e3]{border-bottom:var(--kds-border-base-subtle)}}.item-controls[data-v-9f37d47c]{gap:var(--kds-spacing-container-0-25x);margin-bottom:var(--kds-spacing-container-0-12x);display:flex}.simple-array{& .item-header[data-v-7737a235]{margin-top:var(--kds-spacing-container-0-5x);margin-bottom:var(--kds-spacing-container-0-5x);justify-content:space-between;align-items:baseline;display:flex}& .element{&[data-v-7737a235]{gap:var(--kds-spacing-container-0-25x);margin-bottom:var(--kds-spacing-container-1x);align-items:end;display:flex}& .form-component[data-v-7737a235]{flex-grow:1;min-width:0}}&[data-v-7737a235]>:last-child>*{margin-bottom:0}}.simple-button-input[data-v-c79c6b71]{margin-bottom:var(--kds-spacing-container-0-5x);place-content:center space-between;display:flex;position:relative}.empty-state-wrapper[data-v-7a09310d]{background:var(--kds-color-surface-muted);border:var(--kds-border-base-subtle);border-radius:var(--kds-border-radius-container-0-25x);justify-content:center;align-items:center;display:flex}.gradient-preview{&[data-v-8a745225]{height:var(--kds-dimension-component-height-1-5x)}& .gradient-bar[data-v-8a745225]{border-radius:var(--kds-border-radius-container-0-25x)}&[data-v-8a745225]>*{height:100%}}.palette-preview{&[data-v-ad83046f]{--palette-grid-entry-height:var(--kds-dimension-component-height-1-5x);--palette-grid-gap:var(--kds-spacing-container-0-25x);min-height:calc(2 * var(--palette-grid-entry-height) + var(--palette-grid-gap))}& .palette-grid{&[data-v-ad83046f]{--min-grid-rows:2;grid-template-rows:repeat(var(--min-grid-rows), var(--palette-grid-entry-height));grid-auto-rows:var(--palette-grid-entry-height);gap:var(--palette-grid-gap);display:grid}& .color-cell[data-v-ad83046f]{height:var(--palette-grid-entry-height);border-radius:var(--kds-border-radius-container-0-25x)}}& .empty-state[data-v-ad83046f]{height:var(--palette-grid-entry-height)}}.input-wrapper{&[data-v-3a916a8e]{gap:var(--kds-spacing-container-1x);flex-direction:column;display:flex}& .chart[data-v-3a916a8e]{gap:var(--kds-spacing-container-0-75x);flex-direction:row;align-items:center;display:flex}}.checkbox-input{&[data-v-4f590a2d]{display:flex;position:relative}& .checkbox-container[data-v-4f590a2d]{flex:1;min-width:0;display:flex}}.reexecution-icon[data-v-4f590a2d]{vertical-align:top;height:10px;margin:3px 0 1px 5px;display:inline-block}.grid-list{&[data-v-7a7a1a2e]{width:var(--v61e65c73)}& .grid-list-container[data-v-7a7a1a2e]{place-items:stretch stretch;display:grid}& .button{&[data-v-7a7a1a2e]{min-width:36px;margin-bottom:var(--kds-spacing-container-0-5x)}&.invert[data-v-7a7a1a2e]{margin-top:var(--kds-spacing-container-0-75x);margin-left:0}}& .checkbox[data-v-7a7a1a2e]{margin-top:var(--kds-spacing-container-0-37x)}}.horizontal[data-v-8f2ebb37]{gap:var(--kds-spacing-container-0-25x);justify-content:space-between;width:100%;display:inline-flex}.horizontal-element[data-v-8f2ebb37]{flex:1;width:0}.link-wrapper[data-v-c55bc56b]{justify-content:var(--v7f757bb0);width:100%;display:flex}.progress-button-input[data-v-f0104921]{place-content:center space-between;display:flex}.radio-wrapper{&[data-v-d327df7b]{flex-direction:row;gap:20px;display:flex}& .radio-button[data-v-d327df7b]{flex:0 0 90px;position:relative}& .description[data-v-d327df7b],& .price[data-v-d327df7b]{font:var(--kds-font-base-body-small)}& .description[data-v-d327df7b]{flex:auto}& .price{&[data-v-d327df7b]{flex:0 0 110px}&.selected[data-v-d327df7b]{font-weight:500}}}.footnote[data-v-d327df7b]{font:var(--kds-font-base-body-small)}.editor[data-v-0d780c9f]{height:100%}.section{&[data-v-33f353d4]:not(:first-child){padding-top:var(--kds-spacing-container-1x)}}.flex-row[data-v-dc2400b4]{gap:var(--kds-spacing-container-0-5x);flex-direction:row;justify-content:flex-end;align-items:center;display:flex}.team-and-space{&[data-v-40e43c08]{transition:opacity .3s ease-in-out}& .team[data-v-40e43c08],& .space[data-v-40e43c08]{float:left;width:calc(50% - 5px);margin-right:5px}}.timeframe{&[data-v-f38723b8]{flex-direction:row;gap:20px;display:flex}&[data-v-f38723b8]>*{flex:auto}}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/knime-jsonforms.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as e, D as t, E as n, O as r, S as i, T as a, _ as o, a as s, b as c, c as l, d as u, f as d, g as f, h as p, i as m, j as h, k as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T, v as E, w as D, x as O, y as k } from "./src-
|
|
1
|
+
import { C as e, D as t, E as n, O as r, S as i, T as a, _ as o, a as s, b as c, c as l, d as u, f as d, g as f, h as p, i as m, j as h, k as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T, v as E, w as D, x as O, y as k } from "./src-2ar80j2v.js";
|
|
2
2
|
import { n as A } from "./useProvidedState-478_KXOe.js";
|
|
3
3
|
export { m as FieldControl, h as Form, r as JsonFormsDialog, t as LabeledControl, T as SectionHeading, g as SettingsSubPanel, _ as SimpleArrayLayout, S as SimpleButtonControl, y as TextControl, u as VerticalLayoutBase, O as controlProps, k as controlToRenderer, s as controls, b as defaultRenderers, i as defineControl, p as defineLayout, n as getAsyncSetupMethod, e as handleAsyncComponents, x as inputFormats, f as layoutProps, o as layoutToRenderer, C as layouts, D as mapControls, a as mapLayouts, d as priorityRanks, w as toDataPathSegments, l as toRenderers, A as useProvidedState, E as withDescriptionButton, v as withDescriptionButtonLayout, c as withLabel };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VueControlPropsForLabelContent } from '../higherOrderComponents';
|
|
1
|
+
import { VueControlExposed, VueControlPropsForLabelContent } from '../higherOrderComponents';
|
|
2
2
|
type __VLS_Props = VueControlPropsForLabelContent<Array<File>>;
|
|
3
|
-
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props,
|
|
3
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, VueControlExposed, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
4
4
|
declare const _default: typeof __VLS_export;
|
|
5
5
|
export default _default;
|
|
@@ -539,7 +539,7 @@ var st = 500, ct = ({ data: e, uischema: t }) => {
|
|
|
539
539
|
name: "TextControl",
|
|
540
540
|
control: Ht,
|
|
541
541
|
tester: z(Q.fallback, R)
|
|
542
|
-
}), Wt = g(() => import("./VerticalLayout-
|
|
542
|
+
}), Wt = g(() => import("./VerticalLayout-DJWwKloZ.js")), Gt = {
|
|
543
543
|
name: "VerticalLayout",
|
|
544
544
|
layout: Wt,
|
|
545
545
|
tester: z(Q.default, B("VerticalLayout"))
|
|
@@ -572,7 +572,7 @@ var st = 500, ct = ({ data: e, uischema: t }) => {
|
|
|
572
572
|
...zt,
|
|
573
573
|
tester: z(Q.fallback, F)
|
|
574
574
|
}
|
|
575
|
-
}, Xt = { verticalLayoutFallbackRenderer: Kt }, Zt = g(() => import("./FileUploadControl-
|
|
575
|
+
}, Xt = { verticalLayoutFallbackRenderer: Kt }, Zt = g(() => import("./FileUploadControl-D5QfM3Wa.js")), Qt = Y()({
|
|
576
576
|
name: "FileUploadRenderer",
|
|
577
577
|
control: Zt,
|
|
578
578
|
tester: z(Q.default, M(P, Z(X.fileUpload)))
|
|
@@ -708,11 +708,11 @@ var st = 500, ct = ({ data: e, uischema: t }) => {
|
|
|
708
708
|
name: "RichTextControl",
|
|
709
709
|
control: Cn,
|
|
710
710
|
tester: z(Q.default, M(R, Z(X.richTextInput)))
|
|
711
|
-
}), Tn = g(() => import("./SectionLayout-
|
|
711
|
+
}), Tn = g(() => import("./SectionLayout-CTHfZNfB.js")), En = B("Section"), Dn = {
|
|
712
712
|
name: "SectionLayout",
|
|
713
713
|
layout: Tn,
|
|
714
714
|
tester: z(Q.default, En)
|
|
715
|
-
}, On = g(() => import("./SettingsSubPanelLayout-
|
|
715
|
+
}, On = g(() => import("./SettingsSubPanelLayout-Dt_WNkLJ.js")), kn = B("SettingsSubPanelLayout"), An = {
|
|
716
716
|
name: "SettingsSubPanelLayout",
|
|
717
717
|
layout: On,
|
|
718
718
|
tester: z(Q.default, kn)
|
|
@@ -1067,7 +1067,7 @@ var st = 500, ct = ({ data: e, uischema: t }) => {
|
|
|
1067
1067
|
name: "ValueSwitchControl",
|
|
1068
1068
|
control: gr,
|
|
1069
1069
|
tester: z(Q.default, M(L, Z(X.valueSwitch)))
|
|
1070
|
-
}), vr = g({ loader: () => import("./ZonedDateTimeControl-
|
|
1070
|
+
}), vr = g({ loader: () => import("./ZonedDateTimeControl-Co3v2EVv.js") }), yr = {
|
|
1071
1071
|
checkboxesRenderer: bt,
|
|
1072
1072
|
colorPreviewRenderer: xt,
|
|
1073
1073
|
colorRenderer: Ct,
|
package/dist/testing.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knime/jsonforms",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "JSONForms integration for KNIME frontends",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@jsonforms/core": "3.8.0",
|
|
16
16
|
"@jsonforms/vue": "3.8.0",
|
|
17
|
+
"@knime/kds-components": "^8.2.0",
|
|
18
|
+
"@knime/kds-rich-text-editor": "^8.2.0",
|
|
19
|
+
"@knime/utils": "^2.0.2",
|
|
17
20
|
"ajv": "8.20.0",
|
|
18
|
-
"temporal-polyfill": "^1.0.1"
|
|
19
|
-
"@knime/kds-components": "^7.2.3",
|
|
20
|
-
"@knime/kds-rich-text-editor": "^7.2.3",
|
|
21
|
-
"@knime/utils": "^2.0.2"
|
|
21
|
+
"temporal-polyfill": "^1.0.1"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"@vue/test-utils": "^2.4.0",
|
|
@@ -36,10 +36,12 @@
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
+
"@knime/kds-code-editor": "^8.2.0",
|
|
40
|
+
"@knime/kds-styles": "^8.2.0",
|
|
39
41
|
"@storybook/addon-docs": "^10.4.6",
|
|
40
42
|
"@storybook/vue3-vite": "^10.4.6",
|
|
41
43
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
42
|
-
"@vitest/coverage-v8": "^4.1.
|
|
44
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
43
45
|
"@vue/test-utils": "^2.4.11",
|
|
44
46
|
"@vue/tsconfig": "^0.9.1",
|
|
45
47
|
"@vueuse/core": "~14.3.0",
|
|
@@ -50,10 +52,9 @@
|
|
|
50
52
|
"vite": "^8.1.3",
|
|
51
53
|
"vite-plugin-dts": "^5.0.3",
|
|
52
54
|
"vite-svg-loader": "^5.1.1",
|
|
53
|
-
"vitest": "^4.1.
|
|
55
|
+
"vitest": "^4.1.11",
|
|
54
56
|
"vue": "3.5.40",
|
|
55
|
-
"vue-tsc": "^3.3.8"
|
|
56
|
-
"@knime/kds-styles": "^7.2.3"
|
|
57
|
+
"vue-tsc": "^3.3.8"
|
|
57
58
|
},
|
|
58
59
|
"exports": {
|
|
59
60
|
".": {
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
2
|
-
import { computed as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, openBlock as o, ref as s, toDisplayString as c, unref as l } from "vue";
|
|
3
|
-
import { KdsButton as u } from "@knime/kds-components";
|
|
4
|
-
//#region src/uiComponents/FileUploadControl.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var d = { class: "wrapper" }, f = { class: "filename" }, p = [
|
|
6
|
-
"id",
|
|
7
|
-
"aria-label",
|
|
8
|
-
"accept",
|
|
9
|
-
"multiple",
|
|
10
|
-
"disabled"
|
|
11
|
-
], m = /*#__PURE__*/ e(/* @__PURE__ */ a({
|
|
12
|
-
inheritAttrs: !1,
|
|
13
|
-
__name: "FileUploadControl",
|
|
14
|
-
props: {
|
|
15
|
-
control: {},
|
|
16
|
-
handleChange: { type: Function },
|
|
17
|
-
changeValue: { type: Function },
|
|
18
|
-
disabled: { type: Boolean },
|
|
19
|
-
error: { type: Boolean },
|
|
20
|
-
subText: {},
|
|
21
|
-
onRegisterValidation: { type: Function },
|
|
22
|
-
labelForId: {}
|
|
23
|
-
},
|
|
24
|
-
setup(e) {
|
|
25
|
-
let a = e, m = s(a.control.data?.slice()), h = t(() => a.control.uischema.options?.accept ?? "*"), g = t(() => a.control.uischema.options?.multiple ?? !1), _ = s(null), v = t(() => m.value?.map?.(({ name: e }) => e).join(", ") || "No file selected"), y = t(() => `Select file${g.value ? "s" : ""}`), b = () => {
|
|
26
|
-
_.value?.click();
|
|
27
|
-
}, x = (e) => {
|
|
28
|
-
let t = e.target;
|
|
29
|
-
t.files && (m.value = Array.from(t.files), a.handleChange(a.control.path, Array.from(m.value)));
|
|
30
|
-
};
|
|
31
|
-
return (t, a) => (o(), n("div", d, [
|
|
32
|
-
i(l(u), {
|
|
33
|
-
class: "file-select-button",
|
|
34
|
-
label: y.value,
|
|
35
|
-
"leading-icon": "search",
|
|
36
|
-
variant: "outlined",
|
|
37
|
-
disabled: e.disabled,
|
|
38
|
-
size: "small",
|
|
39
|
-
onClick: b
|
|
40
|
-
}, null, 8, ["label", "disabled"]),
|
|
41
|
-
r("span", f, c(v.value), 1),
|
|
42
|
-
r("input", {
|
|
43
|
-
id: e.labelForId,
|
|
44
|
-
ref_key: "fileSelector",
|
|
45
|
-
ref: _,
|
|
46
|
-
"aria-label": e.control.label,
|
|
47
|
-
type: "file",
|
|
48
|
-
accept: h.value,
|
|
49
|
-
multiple: g.value,
|
|
50
|
-
disabled: e.disabled,
|
|
51
|
-
hidden: "",
|
|
52
|
-
onChange: x
|
|
53
|
-
}, null, 40, p)
|
|
54
|
-
]));
|
|
55
|
-
}
|
|
56
|
-
}), [["__scopeId", "data-v-37968bc6"]]);
|
|
57
|
-
//#endregion
|
|
58
|
-
export { m as default };
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./temporal-polyfill-D4u1I_Z-.js";
|
|
2
|
-
import { t } from "./plainDateTimeUtils-5uOCJ4N5.js";
|
|
3
|
-
import { computed as n, createBlock as r, defineComponent as i, openBlock as a, ref as o, unref as s } from "vue";
|
|
4
|
-
import { KdsZonedDateTimeInput as c } from "@knime/kds-components";
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/uiComponents/ZonedDateTimeControl.vue
|
|
7
|
-
var l = /* @__PURE__ */ i({
|
|
8
|
-
__name: "ZonedDateTimeControl",
|
|
9
|
-
props: {
|
|
10
|
-
control: {},
|
|
11
|
-
handleChange: { type: Function },
|
|
12
|
-
changeValue: { type: Function },
|
|
13
|
-
disabled: { type: Boolean },
|
|
14
|
-
error: { type: Boolean },
|
|
15
|
-
subText: {},
|
|
16
|
-
onRegisterValidation: { type: Function },
|
|
17
|
-
labelForId: {}
|
|
18
|
-
},
|
|
19
|
-
setup(i) {
|
|
20
|
-
let l = i, u = n(() => l.control.uischema.options), d = n(() => t.getMaxGranularity(u.value, { showMilliseconds: !1 })), f = o(t.detectGranularity(l.control.data.dateTime)), p = n(() => {
|
|
21
|
-
let { date: n, time: r } = t.fromString(l.control.data.dateTime);
|
|
22
|
-
if (n === null) return null;
|
|
23
|
-
let i = n.toPlainDateTime(r ?? e.PlainTime.from("00:00:00")), a = l.control.data.timeZone;
|
|
24
|
-
if (!a) return null;
|
|
25
|
-
try {
|
|
26
|
-
return i.toZonedDateTime(a);
|
|
27
|
-
} catch {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}), m, h, g = !1, _ = () => {
|
|
31
|
-
g = !1;
|
|
32
|
-
let e = h ?? f.value, n = m !== void 0, r = h !== void 0, i = m;
|
|
33
|
-
if (m = void 0, h = void 0, f.value = e, n) {
|
|
34
|
-
if (i === null) {
|
|
35
|
-
l.changeValue({
|
|
36
|
-
...l.control.data,
|
|
37
|
-
dateTime: ""
|
|
38
|
-
});
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
l.changeValue({
|
|
42
|
-
...l.control.data,
|
|
43
|
-
dateTime: t.toString(i.toPlainDate(), i.toPlainTime(), e),
|
|
44
|
-
timeZone: i.timeZoneId
|
|
45
|
-
});
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (r) {
|
|
49
|
-
let { date: n, time: r } = t.fromString(l.control.data.dateTime);
|
|
50
|
-
n && l.changeValue({
|
|
51
|
-
...l.control.data,
|
|
52
|
-
dateTime: t.toString(n, r, e)
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}, v = () => {
|
|
56
|
-
g || (g = !0, queueMicrotask(_));
|
|
57
|
-
}, y = (e) => {
|
|
58
|
-
m = e, v();
|
|
59
|
-
}, b = (e) => {
|
|
60
|
-
h = e, v();
|
|
61
|
-
};
|
|
62
|
-
return (e, t) => (a(), r(s(c), {
|
|
63
|
-
id: i.labelForId,
|
|
64
|
-
ariaLabel: i.control.label,
|
|
65
|
-
"model-value": p.value,
|
|
66
|
-
granularity: f.value,
|
|
67
|
-
"max-granularity": d.value,
|
|
68
|
-
"possible-values": u.value?.possibleValues,
|
|
69
|
-
disabled: i.disabled,
|
|
70
|
-
error: i.error,
|
|
71
|
-
"sub-text": i.subText,
|
|
72
|
-
"onUpdate:modelValue": y,
|
|
73
|
-
"onUpdate:granularity": b
|
|
74
|
-
}, null, 8, [
|
|
75
|
-
"id",
|
|
76
|
-
"ariaLabel",
|
|
77
|
-
"model-value",
|
|
78
|
-
"granularity",
|
|
79
|
-
"max-granularity",
|
|
80
|
-
"possible-values",
|
|
81
|
-
"disabled",
|
|
82
|
-
"error",
|
|
83
|
-
"sub-text"
|
|
84
|
-
]));
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
//#endregion
|
|
88
|
-
export { l as default };
|