@knime/kds-components 0.5.3 → 0.5.4
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/dist/LoadingSpinner/KdsLoadingSpinner.vue.d.ts +12 -0
- package/dist/LoadingSpinner/KdsLoadingSpinner.vue.d.ts.map +1 -0
- package/dist/index.css +56 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +65 -32
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KdsIconSize } from '../Icon/types';
|
|
2
|
+
type LoadingSpinnerStyle = "onPrimary" | "onSurface";
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
size?: KdsIconSize;
|
|
5
|
+
style?: LoadingSpinnerStyle;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
|
+
size: KdsIconSize;
|
|
9
|
+
style: LoadingSpinnerStyle;
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, SVGSVGElement>;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=KdsLoadingSpinner.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KdsLoadingSpinner.vue.d.ts","sourceRoot":"","sources":["../../src/LoadingSpinner/KdsLoadingSpinner.vue"],"names":[],"mappings":"AA0FA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,KAAK,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC;AAErD,KAAK,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC;;UAA3C,WAAW;WAAU,mBAAmB;;AAyEpE,wBAQG"}
|
package/dist/index.css
CHANGED
|
@@ -602,3 +602,59 @@ body:has(dialog.modal[open]) {
|
|
|
602
602
|
.flush-left[data-v-bd3a851b] {
|
|
603
603
|
margin-right: auto;
|
|
604
604
|
}
|
|
605
|
+
|
|
606
|
+
.kds-loading-spinner {
|
|
607
|
+
&[data-v-13c830ad] {
|
|
608
|
+
--icon-width: var(--kds-dimension-icon-1x);
|
|
609
|
+
--icon-height: var(--kds-dimension-icon-1x);
|
|
610
|
+
--icon-stroke-width: 12; /* 10% of size */
|
|
611
|
+
|
|
612
|
+
width: var(--icon-width);
|
|
613
|
+
height: var(--icon-height);
|
|
614
|
+
|
|
615
|
+
--color-track: var(--kds-color-loading-spinner-track-on-surface);
|
|
616
|
+
--color-loader: var(--kds-color-loading-spinner-progress-on-surface);
|
|
617
|
+
}
|
|
618
|
+
&.xsmall[data-v-13c830ad] {
|
|
619
|
+
--icon-width: var(--kds-dimension-icon-0-56x);
|
|
620
|
+
--icon-height: var(--kds-dimension-icon-0-56x);
|
|
621
|
+
}
|
|
622
|
+
&.small[data-v-13c830ad] {
|
|
623
|
+
--icon-width: var(--kds-dimension-icon-0-75x);
|
|
624
|
+
--icon-height: var(--kds-dimension-icon-0-75x);
|
|
625
|
+
}
|
|
626
|
+
&.large[data-v-13c830ad] {
|
|
627
|
+
--icon-width: var(--kds-dimension-icon-1-25x);
|
|
628
|
+
--icon-height: var(--kds-dimension-icon-1-25x);
|
|
629
|
+
}
|
|
630
|
+
&[data-style="onPrimary"][data-v-13c830ad] {
|
|
631
|
+
--color-track: var(--kds-color-loading-spinner-track-on-primary);
|
|
632
|
+
--color-loader: var(--kds-color-loading-spinner-progress-on-primary);
|
|
633
|
+
}
|
|
634
|
+
& .track[data-v-13c830ad] {
|
|
635
|
+
fill: none;
|
|
636
|
+
stroke: var(--color-track);
|
|
637
|
+
stroke-width: var(--icon-stroke-width);
|
|
638
|
+
}
|
|
639
|
+
& .loader[data-v-13c830ad] {
|
|
640
|
+
fill: none;
|
|
641
|
+
stroke: var(--color-loader);
|
|
642
|
+
stroke-width: var(--icon-stroke-width);
|
|
643
|
+
stroke-linecap: round;
|
|
644
|
+
stroke-dasharray: 80 240;
|
|
645
|
+
transform: rotate(-90deg);
|
|
646
|
+
transform-origin: center;
|
|
647
|
+
|
|
648
|
+
/* REQUIRED for SVG rotation */
|
|
649
|
+
transform-box: fill-box;
|
|
650
|
+
animation: spin-13c830ad 1.2s linear infinite;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
@keyframes spin-13c830ad {
|
|
654
|
+
from {
|
|
655
|
+
transform: rotate(-90deg);
|
|
656
|
+
}
|
|
657
|
+
to {
|
|
658
|
+
transform: rotate(270deg);
|
|
659
|
+
}
|
|
660
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { default as KdsDataType } from './Icon/KdsDataType.vue';
|
|
|
7
7
|
export { default as KdsModal } from './Modal/KdsModal.vue';
|
|
8
8
|
export { default as KdsModalLayout } from './Modal/KdsModalLayout.vue';
|
|
9
9
|
export { default as KdsDynamicModalProvider } from './Modal/KdsDynamicModalProvider.vue';
|
|
10
|
+
export { default as KdsLoadingSpinner } from './LoadingSpinner/KdsLoadingSpinner.vue';
|
|
10
11
|
export { type KdsDynamicDialogConfirmConfig, type KdsDynamicModalTemplateConfig, type KdsDynamicModalPropsAPI, useKdsDynamicModal, } from './Modal/useKdsDynamicModal';
|
|
11
12
|
export type * from './Button/types';
|
|
12
13
|
export type * from './Checkbox/types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,eAAe,CAAC;AAGnC,cAAc,QAAQ,CAAC;AAGvB,mBAAmB,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,eAAe,CAAC;AAGnC,cAAc,QAAQ,CAAC;AAGvB,mBAAmB,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ const useIcon = ({
|
|
|
35
35
|
return iconComponent;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
const _sfc_main$
|
|
38
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
39
39
|
__name: "KdsIcon",
|
|
40
40
|
props: {
|
|
41
41
|
name: {},
|
|
@@ -68,13 +68,13 @@ const _export_sfc = (sfc, props) => {
|
|
|
68
68
|
return target;
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
-
const KdsIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
71
|
+
const KdsIcon = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-d965b88c"]]);
|
|
72
72
|
|
|
73
|
-
const _hoisted_1$
|
|
73
|
+
const _hoisted_1$6 = {
|
|
74
74
|
key: 1,
|
|
75
75
|
class: "label"
|
|
76
76
|
};
|
|
77
|
-
const _sfc_main$
|
|
77
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
78
78
|
__name: "BaseButton",
|
|
79
79
|
props: {
|
|
80
80
|
size: { default: "medium" },
|
|
@@ -127,7 +127,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
127
127
|
name: props.leadingIcon,
|
|
128
128
|
size: iconSize.value
|
|
129
129
|
}, null, 8, ["name", "size"])) : createCommentVNode("", true),
|
|
130
|
-
props.label ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
130
|
+
props.label ? (openBlock(), createElementBlock("span", _hoisted_1$6, toDisplayString(props.label), 1)) : createCommentVNode("", true),
|
|
131
131
|
props.trailingIcon && props.label ? (openBlock(), createBlock(KdsIcon, {
|
|
132
132
|
key: 2,
|
|
133
133
|
name: props.trailingIcon,
|
|
@@ -140,9 +140,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
140
140
|
}
|
|
141
141
|
});
|
|
142
142
|
|
|
143
|
-
const BaseButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
143
|
+
const BaseButton = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-18cd4b75"]]);
|
|
144
144
|
|
|
145
|
-
const _sfc_main$
|
|
145
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
146
146
|
__name: "KdsButton",
|
|
147
147
|
props: {
|
|
148
148
|
size: {},
|
|
@@ -195,7 +195,7 @@ const resolveNuxtLinkComponent = () => {
|
|
|
195
195
|
return fallbackComponent;
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
const _sfc_main$
|
|
198
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
199
199
|
__name: "KdsLinkButton",
|
|
200
200
|
props: {
|
|
201
201
|
size: {},
|
|
@@ -231,7 +231,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
231
231
|
}
|
|
232
232
|
});
|
|
233
233
|
|
|
234
|
-
const _sfc_main$
|
|
234
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
235
235
|
__name: "KdsToggleButton",
|
|
236
236
|
props: /* @__PURE__ */ mergeModels({
|
|
237
237
|
size: {},
|
|
@@ -260,7 +260,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
260
260
|
}
|
|
261
261
|
});
|
|
262
262
|
|
|
263
|
-
const _hoisted_1$
|
|
263
|
+
const _hoisted_1$5 = ["disabled", "aria-checked", "aria-describedby", "aria-invalid", "title"];
|
|
264
264
|
const _hoisted_2$2 = { class: "control" };
|
|
265
265
|
const _hoisted_3$2 = {
|
|
266
266
|
key: 0,
|
|
@@ -268,7 +268,7 @@ const _hoisted_3$2 = {
|
|
|
268
268
|
};
|
|
269
269
|
const _hoisted_4$1 = { class: "label" };
|
|
270
270
|
const _hoisted_5 = ["id"];
|
|
271
|
-
const _sfc_main$
|
|
271
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
272
272
|
__name: "KdsCheckbox",
|
|
273
273
|
props: {
|
|
274
274
|
modelValue: { type: [Boolean, String], default: false },
|
|
@@ -341,12 +341,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
341
341
|
class: "helper-text"
|
|
342
342
|
}, toDisplayString(props.helperText), 9, _hoisted_5)) : createCommentVNode("", true)
|
|
343
343
|
])) : createCommentVNode("", true)
|
|
344
|
-
], 10, _hoisted_1$
|
|
344
|
+
], 10, _hoisted_1$5);
|
|
345
345
|
};
|
|
346
346
|
}
|
|
347
347
|
});
|
|
348
348
|
|
|
349
|
-
const KdsCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
349
|
+
const KdsCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-77251628"]]);
|
|
350
350
|
|
|
351
351
|
const ID_TO_ICON_MAP = {
|
|
352
352
|
// Flow Variables
|
|
@@ -492,8 +492,8 @@ const typeIconNames = [
|
|
|
492
492
|
"xml-datatype"
|
|
493
493
|
];
|
|
494
494
|
|
|
495
|
-
const _hoisted_1$
|
|
496
|
-
const _sfc_main$
|
|
495
|
+
const _hoisted_1$4 = ["title"];
|
|
496
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
497
497
|
__name: "KdsDataType",
|
|
498
498
|
props: {
|
|
499
499
|
iconName: { default: "unknown-datatype" },
|
|
@@ -533,12 +533,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
533
533
|
"aria-hidden": "true",
|
|
534
534
|
focusable: "false"
|
|
535
535
|
}, null, 8, ["class"]))
|
|
536
|
-
], 10, _hoisted_1$
|
|
536
|
+
], 10, _hoisted_1$4);
|
|
537
537
|
};
|
|
538
538
|
}
|
|
539
539
|
});
|
|
540
540
|
|
|
541
|
-
const KdsDataType = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
541
|
+
const KdsDataType = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-f7d93fdf"]]);
|
|
542
542
|
|
|
543
543
|
const modalLayoutPropsDefault = {
|
|
544
544
|
title: "",
|
|
@@ -554,14 +554,14 @@ const modalPropsDefault = {
|
|
|
554
554
|
...modalLayoutPropsDefault
|
|
555
555
|
};
|
|
556
556
|
|
|
557
|
-
const _hoisted_1$
|
|
557
|
+
const _hoisted_1$3 = { class: "modal-header" };
|
|
558
558
|
const _hoisted_2$1 = { class: "modal-header-title" };
|
|
559
559
|
const _hoisted_3$1 = ["data-variant"];
|
|
560
560
|
const _hoisted_4 = {
|
|
561
561
|
key: 0,
|
|
562
562
|
class: "modal-footer"
|
|
563
563
|
};
|
|
564
|
-
const _sfc_main$
|
|
564
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
565
565
|
...{ inheritAttrs: false },
|
|
566
566
|
__name: "KdsModalLayout",
|
|
567
567
|
props: /* @__PURE__ */ mergeDefaults({
|
|
@@ -578,14 +578,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
578
578
|
const props = __props;
|
|
579
579
|
return (_ctx, _cache) => {
|
|
580
580
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
581
|
-
createElementVNode("header", _hoisted_1$
|
|
581
|
+
createElementVNode("header", _hoisted_1$3, [
|
|
582
582
|
props.icon ? (openBlock(), createBlock(KdsIcon, {
|
|
583
583
|
key: 0,
|
|
584
584
|
name: props.icon,
|
|
585
585
|
size: "medium"
|
|
586
586
|
}, null, 8, ["name"])) : createCommentVNode("", true),
|
|
587
587
|
createElementVNode("div", _hoisted_2$1, toDisplayString(props.title), 1),
|
|
588
|
-
createVNode(_sfc_main$
|
|
588
|
+
createVNode(_sfc_main$8, {
|
|
589
589
|
"leading-icon": "x-close",
|
|
590
590
|
variant: "transparent",
|
|
591
591
|
size: "medium",
|
|
@@ -607,10 +607,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
607
607
|
}
|
|
608
608
|
});
|
|
609
609
|
|
|
610
|
-
const KdsModalLayout = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
610
|
+
const KdsModalLayout = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-c600bf4b"]]);
|
|
611
611
|
|
|
612
|
-
const _hoisted_1$
|
|
613
|
-
const _sfc_main$
|
|
612
|
+
const _hoisted_1$2 = ["closedby"];
|
|
613
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
614
614
|
__name: "KdsModal",
|
|
615
615
|
props: /* @__PURE__ */ mergeDefaults({
|
|
616
616
|
icon: {},
|
|
@@ -702,12 +702,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
702
702
|
_: 3
|
|
703
703
|
}, 8, ["title", "icon", "variant", "overflow"])
|
|
704
704
|
], true)
|
|
705
|
-
], 42, _hoisted_1$
|
|
705
|
+
], 42, _hoisted_1$2)) : createCommentVNode("", true);
|
|
706
706
|
};
|
|
707
707
|
}
|
|
708
708
|
});
|
|
709
709
|
|
|
710
|
-
const KdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
710
|
+
const KdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-a80b4b47"]]);
|
|
711
711
|
|
|
712
712
|
const createUnwrappedPromise = () => {
|
|
713
713
|
let resolve = () => {
|
|
@@ -800,7 +800,7 @@ const useKdsDynamicModal = () => {
|
|
|
800
800
|
};
|
|
801
801
|
};
|
|
802
802
|
|
|
803
|
-
const _hoisted_1 = {
|
|
803
|
+
const _hoisted_1$1 = {
|
|
804
804
|
key: 1,
|
|
805
805
|
class: "confirmation"
|
|
806
806
|
};
|
|
@@ -809,7 +809,7 @@ const _hoisted_3 = {
|
|
|
809
809
|
key: 0,
|
|
810
810
|
class: "ask-again"
|
|
811
811
|
};
|
|
812
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
812
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
813
813
|
__name: "KdsDynamicModalProvider",
|
|
814
814
|
setup(__props) {
|
|
815
815
|
const askAgain = ref(false);
|
|
@@ -862,7 +862,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
862
862
|
unref(config)?.type === "confirm" ? {
|
|
863
863
|
name: "body",
|
|
864
864
|
fn: withCtx(() => [
|
|
865
|
-
unref(internal).isTemplateBasedConfirm(unref(config).value) ? (openBlock(), createBlock(resolveDynamicComponent(unref(config).value.component), { key: 0 })) : (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
865
|
+
unref(internal).isTemplateBasedConfirm(unref(config).value) ? (openBlock(), createBlock(resolveDynamicComponent(unref(config).value.component), { key: 0 })) : (openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
866
866
|
createElementVNode("div", _hoisted_2, toDisplayString(unref(config).value.message), 1),
|
|
867
867
|
unref(config).value.doNotAskAgain ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
868
868
|
createVNode(KdsCheckbox, {
|
|
@@ -881,7 +881,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
881
881
|
name: "footer",
|
|
882
882
|
fn: withCtx(() => [
|
|
883
883
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(config).value.buttons, (button, index) => {
|
|
884
|
-
return openBlock(), createBlock(_sfc_main$
|
|
884
|
+
return openBlock(), createBlock(_sfc_main$8, {
|
|
885
885
|
key: index,
|
|
886
886
|
destructive: button.destructive,
|
|
887
887
|
autofocus: button.autofocus,
|
|
@@ -911,7 +911,40 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
911
911
|
}
|
|
912
912
|
});
|
|
913
913
|
|
|
914
|
-
const KdsDynamicModalProvider = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bd3a851b"]]);
|
|
914
|
+
const KdsDynamicModalProvider = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-bd3a851b"]]);
|
|
915
|
+
|
|
916
|
+
const _hoisted_1 = ["data-style"];
|
|
917
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
918
|
+
__name: "KdsLoadingSpinner",
|
|
919
|
+
props: {
|
|
920
|
+
size: { default: "medium" },
|
|
921
|
+
style: { default: "onSurface" }
|
|
922
|
+
},
|
|
923
|
+
setup(__props) {
|
|
924
|
+
return (_ctx, _cache) => {
|
|
925
|
+
return openBlock(), createElementBlock("svg", {
|
|
926
|
+
class: normalizeClass(["kds-loading-spinner", __props.size]),
|
|
927
|
+
"data-style": __props.style,
|
|
928
|
+
viewBox: "0 0 120 120"
|
|
929
|
+
}, [..._cache[0] || (_cache[0] = [
|
|
930
|
+
createElementVNode("circle", {
|
|
931
|
+
class: "track",
|
|
932
|
+
cx: "60",
|
|
933
|
+
cy: "60",
|
|
934
|
+
r: "50"
|
|
935
|
+
}, null, -1),
|
|
936
|
+
createElementVNode("circle", {
|
|
937
|
+
class: "loader",
|
|
938
|
+
cx: "60",
|
|
939
|
+
cy: "60",
|
|
940
|
+
r: "50"
|
|
941
|
+
}, null, -1)
|
|
942
|
+
])], 10, _hoisted_1);
|
|
943
|
+
};
|
|
944
|
+
}
|
|
945
|
+
});
|
|
946
|
+
|
|
947
|
+
const KdsLoadingSpinner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-13c830ad"]]);
|
|
915
948
|
|
|
916
949
|
const KDS_DARK_MODE_STORAGE_KEY = "KNIME_DARK_MODE";
|
|
917
950
|
const defaultMode = "light";
|
|
@@ -992,5 +1025,5 @@ const useKdsLegacyMode = (initialValue = false) => {
|
|
|
992
1025
|
};
|
|
993
1026
|
};
|
|
994
1027
|
|
|
995
|
-
export { _sfc_main$
|
|
1028
|
+
export { _sfc_main$8 as KdsButton, KdsCheckbox, KdsDataType, KdsDynamicModalProvider, KdsIcon, _sfc_main$7 as KdsLinkButton, KdsLoadingSpinner, KdsModal, KdsModalLayout, _sfc_main$6 as KdsToggleButton, useKdsDarkMode, useKdsDynamicModal, useKdsLegacyMode };
|
|
996
1029
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/Icon/useIcon.ts","../src/Icon/KdsIcon.vue","../src/Button/BaseButton.vue","../src/Button/KdsButton.vue","../src/util/nuxtComponentResolver.ts","../src/Button/KdsLinkButton.vue","../src/Button/KdsToggleButton.vue","../src/Checkbox/KdsCheckbox.vue","../src/Icon/IdToIconNameMapping.ts","../../styles/dist/img/type-icons/def.ts","../src/Icon/KdsDataType.vue","../src/Modal/constants.ts","../src/Modal/KdsModalLayout.vue","../src/Modal/KdsModal.vue","../../../node_modules/.pnpm/@knime+utils@1.8.0_consola@3.4.2/node_modules/@knime/utils/src/promise/createUnwrappedPromise.ts","../src/Modal/useKdsDynamicModal.ts","../src/Modal/KdsDynamicModalProvider.vue","../src/util/useKdsDarkMode.ts","../src/util/useKdsLegacyMode.ts"],"sourcesContent":["import { type DefineComponent, type Ref, shallowRef, watch } from \"vue\";\n\nexport default ({\n name,\n folder,\n}: {\n name: Ref<string>;\n folder: \"icons\" | \"type-icons\";\n}) => {\n const iconCache = new Map<string, DefineComponent>();\n\n const iconComponent = shallowRef<DefineComponent | null>(null);\n\n watch(\n () => name.value,\n async (newName) => {\n if (iconCache.has(newName)) {\n iconComponent.value = iconCache.get(newName)!;\n return;\n }\n\n try {\n const module = await import(\n `../../node_modules/@knime/kds-styles/dist/img/${folder}/${newName}.svg`\n );\n iconCache.set(newName, module.default);\n iconComponent.value = module.default;\n } catch (_error) {\n iconComponent.value = null;\n }\n },\n { immediate: true },\n );\n\n return iconComponent as Readonly<typeof iconComponent>;\n};\n","<script setup lang=\"ts\">\n/**\n * Displays an icon from the KDS icon set. The icon color inherits the text color of the parent element.\n */\nimport { toRef } from \"vue\";\n\nimport type { KdsIconName, KdsIconSize } from \"./types\";\nimport useIcon from \"./useIcon\";\n\nconst props = withDefaults(\n defineProps<{ name: KdsIconName; size?: KdsIconSize }>(),\n {\n size: \"medium\",\n },\n);\n\nconst iconComponent = useIcon({ name: toRef(props, \"name\"), folder: \"icons\" });\n</script>\n\n<template>\n <component\n :is=\"iconComponent\"\n v-if=\"iconComponent\"\n :class=\"['kds-icon', props.size]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n <span\n v-else\n :class=\"['kds-icon', props.size]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n</template>\n\n<style scoped>\n@import url(\"./styles.css\");\n</style>\n","<script setup lang=\"ts\">\nimport { type Component, computed } from \"vue\";\n\nimport KdsIcon from \"../Icon/KdsIcon.vue\";\n\nimport type { BaseButtonProps } from \"./types\";\n\ntype BaseButtonPropsWithComponent = BaseButtonProps & {\n component?: string | Component;\n};\n\nconst props = withDefaults(defineProps<BaseButtonPropsWithComponent>(), {\n component: \"button\",\n size: \"medium\",\n destructive: false,\n disabled: false,\n toggled: false,\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst classes = computed(() => [\n \"button\",\n props.size,\n props.variant,\n { destructive: props.destructive },\n { disabled: props.disabled },\n { toggled: props.toggled },\n]);\n\nconst iconSize = computed(() => {\n if (props.size === \"xsmall\") {\n return \"small\";\n } else {\n return props.size;\n }\n});\n\nfunction onClick(e: MouseEvent) {\n if (!props.disabled) {\n emit(\"click\", e);\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"component\"\n :class=\"classes\"\n :disabled=\"props.disabled\"\n :title=\"props.title\"\n :aria-label=\"props.ariaLabel\"\n @click=\"onClick($event)\"\n >\n <KdsIcon\n v-if=\"props.leadingIcon\"\n :name=\"props.leadingIcon\"\n :size=\"iconSize\"\n />\n <span v-if=\"props.label\" class=\"label\">{{ props.label }}</span>\n <KdsIcon\n v-if=\"props.trailingIcon && props.label\"\n :name=\"props.trailingIcon\"\n :size=\"iconSize\"\n />\n </Component>\n</template>\n\n<style>\nhtml.kds-legacy {\n --kds-legacy-button-border-radius: var(--kds-border-radius-container-pill);\n}\n</style>\n\n<style scoped>\n.button {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: fit-content;\n min-width: 15px;\n max-width: 100%;\n overflow: hidden;\n cursor: pointer;\n\n /* for LinkButton */\n &:is(a) {\n text-decoration: none;\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n &.filled {\n color: var(--kds-color-text-and-icon-primary-inverted);\n background-color: var(--kds-color-background-primary-bold-initial);\n border: var(--kds-border-action-transparent);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled-inverted);\n background-color: var(--kds-color-background-disabled-primary);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-primary-bold-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-primary-bold-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger-inverted);\n background-color: var(--kds-color-background-danger-bold-initial);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled-inverted);\n background-color: var(--kds-color-background-disabled-danger);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-bold-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-bold-active);\n }\n }\n }\n }\n\n &.outlined {\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-background-neutral-initial);\n border: var(--kds-border-action-default);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n border: var(--kds-border-action-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-neutral-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-neutral-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger);\n border: var(--kds-border-action-error);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n border: var(--kds-border-action-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-active);\n }\n }\n }\n }\n\n &.transparent {\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-background-neutral-initial);\n border: var(--kds-border-action-transparent);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-neutral-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-neutral-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-active);\n }\n }\n }\n }\n\n &.toggled {\n color: var(--kds-color-text-and-icon-selected);\n background-color: var(--kds-color-background-selected-initial);\n border: var(--kds-border-action-selected);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-selected-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-selected-active);\n }\n }\n }\n\n & .label {\n max-width: 200px;\n padding: 0 var(--kds-spacing-container-0-12x);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-rendering: geometricprecision;\n }\n\n &.xsmall {\n gap: var(--kds-spacing-container-0-12x);\n height: var(--kds-dimension-component-height-1-25x);\n padding: 0\n calc(var(--kds-spacing-container-0-25x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-xsmall-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-25x)\n );\n }\n\n &.small {\n gap: var(--kds-spacing-container-0-12x);\n height: var(--kds-dimension-component-height-1-5x);\n padding: 0\n calc(var(--kds-spacing-container-0-37x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-small-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-37x)\n );\n }\n\n &.medium {\n gap: var(--kds-spacing-container-0-25x);\n height: var(--kds-dimension-component-height-1-75x);\n padding: 0\n calc(var(--kds-spacing-container-0-37x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-medium-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-37x)\n );\n }\n\n &.large {\n gap: var(--kds-spacing-container-0-25x);\n height: var(--kds-dimension-component-height-2-25x);\n padding: 0\n calc(var(--kds-spacing-container-0-5x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-large-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-50x)\n );\n\n & .label {\n padding: 0 var(--kds-spacing-container-0-25x);\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsButtonProps>(), {\n variant: \"filled\",\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n</script>\n\n<template>\n <BaseButton v-bind=\"props\" @click=\"emit('click', $event)\" />\n</template>\n","import { defineComponent, getCurrentInstance, h, useSlots } from \"vue\";\n\nconst getAppInstance = () => {\n const currentInstance = getCurrentInstance();\n\n return currentInstance?.appContext.app;\n};\n\nexport const resolveNuxtLinkComponent = () => {\n const app = getAppInstance();\n\n // only works when NuxtLink is registered globally, which it's not by default\n const nuxtLinkComponent = app?.component(\"NuxtLink\");\n if (nuxtLinkComponent) {\n return nuxtLinkComponent;\n }\n\n const routerLinkComponent = app?.component(\"RouterLink\");\n if (routerLinkComponent) {\n return routerLinkComponent;\n }\n\n // fallback component when neither NuxtLink nor RouterLink are available\n const fallbackComponent = defineComponent({\n props: {\n to: {\n type: String,\n default: \"\",\n },\n },\n\n render() {\n return h(\"a\", { href: this.to }, [useSlots().default?.()]);\n },\n });\n\n return fallbackComponent;\n};\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { resolveNuxtLinkComponent } from \"../util/nuxtComponentResolver\";\n\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsLinkButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsLinkButtonProps>(), {\n variant: \"filled\",\n download: undefined,\n rel: null,\n target: null,\n});\n\nconst component = computed(() => {\n if (props.disabled) {\n return \"button\";\n }\n return resolveNuxtLinkComponent();\n});\n\nconst emit = defineEmits<{\n (e: \"click\", event: MouseEvent): void;\n}>();\n</script>\n\n<template>\n <BaseButton\n v-bind=\"props\"\n :component=\"component\"\n @click=\"emit('click', $event)\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsToggleButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsToggleButtonProps>(), {\n variant: \"outlined\",\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n</script>\n\n<template>\n <BaseButton\n v-bind=\"props\"\n :toggled=\"modelValue\"\n :aria-pressed=\"modelValue\"\n @click=\"modelValue = !modelValue\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useId } from \"vue\";\n\nimport Icon from \"../Icon/KdsIcon.vue\";\n\nimport type { KdsCheckboxProps } from \"./types\";\n\ntype CheckboxModelValue = KdsCheckboxProps[\"modelValue\"];\n\nconst props = withDefaults(defineProps<KdsCheckboxProps>(), {\n modelValue: false,\n disabled: false,\n error: false,\n});\n\nconst emit = defineEmits<{\n /**\n * Emitted when the checkbox value changes\n */\n \"update:modelValue\": [value: CheckboxModelValue];\n}>();\n\nconst id = useId();\n\nconst isChecked = computed(() => props.modelValue === true);\nconst isIndeterminate = computed(() => props.modelValue === \"indeterminate\");\nconst icon = computed(() => {\n if (isChecked.value) {\n return \"checkmark\";\n }\n if (isIndeterminate.value) {\n return \"minus\";\n }\n return null;\n});\n\nconst ariaChecked = computed(() => {\n if (isIndeterminate.value) {\n return \"mixed\";\n }\n return isChecked.value;\n});\n\nconst handleClick = () => {\n if (props.disabled) {\n return;\n }\n\n const newValue: CheckboxModelValue = isIndeterminate.value\n ? true\n : !isChecked.value;\n\n emit(\"update:modelValue\", newValue);\n};\n</script>\n\n<template>\n <button\n :class=\"{\n checkbox: true,\n checked: isChecked,\n indeterminate: isIndeterminate,\n disabled: props.disabled,\n error: props.error,\n }\"\n :disabled=\"props.disabled\"\n :aria-checked=\"ariaChecked\"\n :aria-describedby=\"props.helperText ? `${id}-helper` : undefined\"\n :aria-invalid=\"props.error\"\n :title=\"props.title\"\n type=\"button\"\n role=\"checkbox\"\n @click=\"handleClick\"\n >\n <div class=\"control\">\n <Icon v-if=\"icon\" :name=\"icon\" class=\"icon\" size=\"xsmall\" />\n </div>\n <div v-if=\"props.label || props.helperText\" class=\"content\">\n <div class=\"label\">{{ props.label }}</div>\n <div v-if=\"props.helperText\" :id=\"`${id}-helper`\" class=\"helper-text\">\n {{ props.helperText }}\n </div>\n </div>\n </button>\n</template>\n\n<style scoped>\n.checkbox {\n --bg-initial: var(--kds-color-background-input-initial);\n --bg-hover: var(--kds-color-background-input-hover);\n --bg-active: var(--kds-color-background-input-active);\n --border: var(--kds-border-action-input);\n --icon-color: var(--kds-color-text-and-icon-selected);\n --text-color: var(--kds-color-text-and-icon-neutral);\n --helper-text-color: var(--kds-color-text-and-icon-muted);\n\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: flex-start;\n padding: 0;\n margin: 0;\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n\n & .control {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--kds-dimension-component-height-0-88x);\n height: var(--kds-dimension-component-height-0-88x);\n color: var(--icon-color);\n background: var(--bg-initial);\n border: var(--border);\n border-radius: var(--kds-border-radius-container-0-25x);\n }\n\n &:focus-visible {\n outline: none;\n\n & .control {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n }\n\n &:hover:not(.disabled) .control {\n background: var(--bg-hover);\n }\n\n &:active:not(.disabled) .control {\n background: var(--bg-active);\n }\n\n &.checked,\n &.indeterminate {\n --bg-initial: var(--kds-color-background-selected-initial);\n --bg-hover: var(--kds-color-background-selected-hover);\n --bg-active: var(--kds-color-background-selected-active);\n --border: var(--kds-border-action-selected);\n }\n\n & .content {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-12x);\n text-rendering: geometricprecision;\n\n & .label {\n padding-top: var(--kds-spacing-container-0-10x);\n font: var(--kds-font-base-interactive-small);\n color: var(--text-color);\n }\n\n & .helper-text {\n font: var(--kds-font-base-subtext-small);\n color: var(--helper-text-color);\n }\n }\n\n &.disabled {\n --border: var(--kds-border-action-disabled);\n --icon-color: var(--kds-color-text-and-icon-disabled);\n --text-color: var(--kds-color-text-and-icon-disabled);\n --helper-text-color: var(--kds-color-text-and-icon-disabled);\n\n cursor: not-allowed;\n }\n\n &.error {\n --border: var(--kds-border-action-error);\n --icon-color: var(--kds-color-text-and-icon-danger);\n --text-color: var(--kds-color-text-and-icon-danger);\n --helper-text-color: var(--kds-color-text-and-icon-danger);\n --bg-hover: var(--kds-color-background-danger-hover);\n --bg-active: var(--kds-color-background-danger-active);\n\n &.checked,\n &.indeterminate {\n --bg-initial: var(--kds-color-background-danger-initial);\n }\n }\n}\n</style>\n","import type { KdsTypeIconName } from \"./types\";\n\nexport const ID_TO_ICON_MAP = {\n // Flow Variables\n STRING: \"variable-string\",\n LONG: \"variable-integer\",\n DOUBLE: \"variable-number-double\",\n BOOLEAN: \"variable-boolean\",\n INTEGER: \"variable-integer\",\n FSLocation: \"variable-path\",\n FSLocationSpec: \"variable-path\",\n STRINGARRAY: \"variable-collection-string\",\n LONGARRAY: \"variable-collection-integer\",\n DOUBLEARRAY: \"variable-collection-double\",\n BOOLEANARRAY: \"variable-collection-boolean\",\n INTARRAY: \"variable-collection-integer\",\n CREDENTIALS: \"variable-credential\",\n CONDAENVIRONMENT: \"variable-conda-environment\",\n UNKNOWN: \"variable-unknown\",\n // General\n \"org.knime.core.data.BooleanValue\": \"boolean-datatype\",\n \"org.knime.core.data.DataValue\": \"unknown-datatype\",\n \"org.knime.core.data.DoubleValue\": \"number-double-datatype\",\n \"org.knime.core.data.IntValue\": \"number-integer-datatype\",\n \"org.knime.core.data.LongValue\": \"number-integer-datatype\",\n \"org.knime.core.data.MissingValue\": \"unknown-datatype\",\n \"org.knime.core.data.StringValue\": \"string-datatype\",\n \"org.knime.core.data.collection.ListDataValue\": \"collection-list-datatype\",\n \"org.knime.core.data.collection.SetDataValue\": \"collection-set-datatype\",\n \"org.knime.core.data.vector.doublevector.DoubleVectorValue\":\n \"number-double-vector-datatype\",\n \"org.knime.core.data.vector.stringvector.StringVectorValue\":\n \"string-vector-datatype\",\n \"org.knime.filehandling.core.data.location.FSLocationValue\": \"path-datatype\",\n // Image, Audio & Video\n \"org.knime.audio.data.cell.AudioValue\": \"audio-datatype\",\n \"org.knime.base.data.xml.SvgValue\": \"image-svg-datatype\",\n \"org.knime.core.data.image.png.PNGImageValue\": \"image-png-datatype\",\n // Date & Time\n \"org.knime.core.data.time.localdate.LocalDateValue\": \"date-datatype\",\n \"org.knime.core.data.time.localdatetime.LocalDateTimeValue\":\n \"date-time-local-datatype\",\n \"org.knime.core.data.time.localtime.LocalTimeValue\": \"time-datatype\",\n \"org.knime.core.data.time.zoneddatetime.ZonedDateTimeValue\":\n \"date-time-zoned-datatype\",\n \"org.knime.core.data.time.duration.DurationValue\":\n \"duration-time-based-datatype\",\n \"org.knime.core.data.time.period.PeriodValue\": \"duration-date-based-datatype\",\n // Geospatial\n \"org.knime.geospatial.core.data.GeoValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoLineValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoPointValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoPolygonValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoCollectionValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiLineValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiPointValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiPolygonValue\": \"geo-datatype\",\n // Code\n \"org.knime.core.data.blob.BinaryObjectDataValue\": \"binary-object-datatype\",\n \"org.knime.core.data.html.HTMLValue\": \"xml-datatype\",\n \"org.knime.core.data.json.JSONValue\": \"json-datatype\",\n \"org.knime.core.data.uri.URIDataValue\": \"uri-datatype\",\n \"org.knime.core.data.vector.bitvector.BitVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.vector.bitvector.SparseBitVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.vector.bytevector.ByteVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.xml.PMMLValue\": \"model-pmml-datatype\",\n \"org.knime.core.data.xml.XMLValue\": \"xml-datatype\",\n \"org.knime.knip.base.data.labeling.LabelingValue\": \"labeling-datatype\",\n // Agentic AI\n \"org.knime.ai.core.data.message.MessageValue\": \"message-datatype\",\n \"org.knime.core.node.agentic.tool.WorkflowToolValue\": \"tool-datatype\",\n // Textprocessing\n \"org.knime.ext.textprocessing.data.DocumentValue\": \"document-datatype\",\n \"org.knime.ext.textprocessing.data.TermValue\": \"term-datatype\",\n // Network\n \"org.knime.network.core.knime.cell.GraphValue\": \"subgraph-datatype\",\n // Linear Notations\n \"org.knime.chem.types.InchiValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SlnValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SmartsValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SmilesValue\": \"linear-notation-molecule\",\n // Molecular file formats\n \"org.knime.chem.types.CtabValue\": \"molecule\",\n \"org.knime.chem.types.MolValue\": \"molecule\",\n \"org.knime.chem.types.Mol2Value\": \"molecule\",\n \"org.knime.chem.types.SdfValue\": \"molecule\",\n // Biopolymer & sequence representations\n \"org.knime.chem.types.helm.HELMValue\": \"helm-datatype\",\n // Relation & Process representations\n \"org.knime.chem.types.CMLValue\": \"test-tube\",\n \"org.knime.chem.types.RxnValue\": \"test-tube\",\n // Visualization & specialized software formats\n \"org.knime.bio.types.PdbValue\": \"microscope\",\n \"org.knime.chem.types.cdx.CDXMLValue\": \"microscope\",\n \"org.rdkit.knime.types.RDKitMolValue\": \"microscope\",\n \"jp.co.infocom.cheminfo.marvin.type.MrvValue\": \"microscope\",\n} as const satisfies Record<string, KdsTypeIconName>;\n\nexport type TypeId = keyof typeof ID_TO_ICON_MAP;\n","\nexport const typeIconNames = [\n 'audio-datatype',\n 'binary-object-datatype',\n 'bit-byte-vector-datatype',\n 'boolean-datatype',\n 'collection-list-datatype',\n 'collection-set-datatype',\n 'date-datatype',\n 'date-time-local-datatype',\n 'date-time-zoned-datatype',\n 'default-extension-datatype',\n 'document-datatype',\n 'duration-date-based-datatype',\n 'duration-time-based-datatype',\n 'geo-datatype',\n 'helm-datatype',\n 'image-png-datatype',\n 'image-svg-datatype',\n 'json-datatype',\n 'labeling-datatype',\n 'linear-notation-molecule',\n 'message-datatype',\n 'microscope',\n 'model-pmml-datatype',\n 'molecule',\n 'number-double-datatype',\n 'number-double-vector-datatype',\n 'number-integer-datatype',\n 'path-datatype',\n 'string-datatype',\n 'string-vector-datatype',\n 'subgraph-datatype',\n 'term-datatype',\n 'test-tube',\n 'time-datatype',\n 'tool-datatype',\n 'unknown-datatype',\n 'uri-datatype',\n 'variable-boolean',\n 'variable-collection-boolean',\n 'variable-collection-double',\n 'variable-collection-integer',\n 'variable-collection-string',\n 'variable-conda-environment',\n 'variable-credential',\n 'variable-integer',\n 'variable-number-double',\n 'variable-path',\n 'variable-string',\n 'variable-unknown',\n 'xml-datatype'\n] as const;\n\nexport type TypeIconName = typeof typeIconNames[number];\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { ID_TO_ICON_MAP, type TypeId } from \"./IdToIconNameMapping\";\nimport { kdsTypeIconNames } from \"./constants\";\nimport type { KdsDataTypeSize, KdsIconSize, KdsTypeIconName } from \"./types\";\nimport useIcon from \"./useIcon\";\n\ntype DataTypeIconSize = Exclude<KdsIconSize, \"large\">;\n\ntype Props = {\n iconName?: KdsTypeIconName | TypeId | string;\n iconTitle?: string;\n size?: KdsDataTypeSize;\n};\n\nconst DATA_TYPE_SIZE_TO_ICON_SIZE: Record<KdsDataTypeSize, DataTypeIconSize> = {\n large: \"medium\",\n medium: \"small\",\n small: \"xsmall\",\n} as const;\n\nconst props = withDefaults(defineProps<Props>(), {\n iconName: \"unknown-datatype\",\n iconTitle: \"Unknown Data Type\",\n size: \"medium\",\n});\n\nconst iconSize = computed(() => DATA_TYPE_SIZE_TO_ICON_SIZE[props.size]);\n\nconst isIconName = (value: string): value is KdsTypeIconName =>\n kdsTypeIconNames.includes(value as KdsTypeIconName);\n\nconst isTypeId = (value: string): value is TypeId =>\n Object.keys(ID_TO_ICON_MAP).includes(value);\n\nconst iconName = computed<KdsTypeIconName>(() => {\n if (isIconName(props.iconName)) {\n return props.iconName;\n }\n if (isTypeId(props.iconName)) {\n return ID_TO_ICON_MAP[props.iconName];\n }\n return props.iconName.startsWith(\"org.knime\")\n ? \"default-extension-datatype\"\n : \"unknown-datatype\";\n});\n\nconst iconComponent = useIcon({\n name: iconName,\n folder: \"type-icons\",\n});\n</script>\n\n<template>\n <div :class=\"['kds-data-type-icon-container', size]\" :title=\"props.iconTitle\">\n <component\n :is=\"iconComponent\"\n :class=\"['kds-icon', 'kds-data-type-icon', iconSize]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n </div>\n</template>\n\n<style scoped>\n@import url(\"./styles.css\");\n\n.kds-data-type-icon-container {\n --data-type-height: var(--kds-dimension-component-height-1x);\n --data-type-width: var(--kds-dimension-component-width-1x);\n --data-type-padding: var(--kds-spacing-container-0-12x);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--data-type-width);\n height: var(--data-type-height);\n padding: var(--data-type-padding);\n color: var(--kds-color-desktop-header-text-and-icon-muted);\n background-color: var(--kds-color-page-default);\n border: var(--kds-border-base-muted);\n border-radius: var(--kds-border-radius-container-0-12x);\n\n &.small {\n --data-type-height: var(--kds-dimension-icon-0-75x);\n --data-type-width: var(--kds-dimension-icon-0-75x);\n --data-type-padding: var(--kds-spacing-container-none);\n }\n\n &.large {\n --data-type-height: var(--kds-dimension-component-height-1-25x);\n --data-type-width: var(--kds-dimension-component-width-1-25x);\n }\n\n /* The kds-data-type-icon class is needed to increase the specificity to overwrite the icon-stroke-width */\n & .kds-icon.kds-data-type-icon {\n &.small {\n --icon-stroke-width: var(--kds-border-width-icon-stroke-m);\n }\n\n &.medium {\n --icon-stroke-width: var(--kds-border-width-icon-stroke-l);\n }\n }\n}\n</style>\n","export const closedByOptions = [\"any\", \"closerequest\", \"none\"] as const;\nexport const widthSizes = [\n \"small\",\n \"medium\",\n \"large\",\n \"xlarge\",\n \"full\",\n] as const;\nexport const heightSizes = [\"auto\", \"full\"] as const;\nexport const modalVariants = [\"padded\", \"plain\"] as const;\nexport const modalLayoutPropsDefault = {\n title: \"\",\n variant: \"padded\",\n overflow: \"auto\",\n icon: undefined,\n} as const;\n\nexport const modalPropsDefault = {\n active: false,\n height: \"auto\",\n width: \"medium\",\n closedby: \"closerequest\",\n ...modalLayoutPropsDefault,\n} as const;\n","<script setup lang=\"ts\">\nimport KdsButton from \"../Button/KdsButton.vue\";\nimport KdsIcon from \"../Icon/KdsIcon.vue\";\n\nimport { modalLayoutPropsDefault } from \"./constants\";\nimport type { KdsModalLayoutProps } from \"./types\";\n\nconst props = withDefaults(\n defineProps<KdsModalLayoutProps>(),\n modalLayoutPropsDefault,\n);\ndefineOptions({ inheritAttrs: false });\n</script>\n\n<template>\n <header class=\"modal-header\">\n <KdsIcon v-if=\"props.icon\" :name=\"props.icon\" size=\"medium\" />\n <div class=\"modal-header-title\">{{ props.title }}</div>\n <KdsButton\n leading-icon=\"x-close\"\n variant=\"transparent\"\n size=\"medium\"\n title=\"Close\"\n @click=\"props.onClose\"\n />\n </header>\n\n <div class=\"modal-body\" :data-variant=\"variant\">\n <slot name=\"body\" />\n </div>\n\n <footer v-if=\"$slots.footer\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </footer>\n</template>\n\n<style lang=\"postcss\" scoped>\n.modal-header {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: center;\n padding: var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-5x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-1-5x);\n font: var(--kds-font-base-title-medium-strong);\n color: var(--kds-color-text-and-icon-neutral);\n\n & .modal-header-title {\n flex: 1 1 auto;\n }\n}\n\n.modal-body {\n --modal-padding-left: var(--kds-spacing-container-1-5x);\n --modal-padding-right: var(--kds-spacing-container-1-5x);\n --modal-padding-top: var(--kds-spacing-container-0-5x);\n --modal-padding-bottom: var(--kds-spacing-container-1x);\n --modal-gap: var(--kds-spacing-container-1x);\n\n display: flex;\n flex-direction: column;\n overflow: v-bind(overflow);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n\n &[data-variant=\"padded\"] {\n gap: var(--modal-gap);\n padding: var(--modal-padding-top) var(--modal-padding-right)\n var(--modal-padding-bottom) var(--modal-padding-left);\n }\n}\n\n.modal-footer {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n justify-content: right;\n padding: var(--kds-spacing-container-1x) var(--kds-spacing-container-1-5x);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { nextTick, ref, useTemplateRef, watch } from \"vue\";\n\nimport KdsModalLayout from \"./KdsModalLayout.vue\";\nimport { modalPropsDefault } from \"./constants\";\nimport type { KdsModalProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsModalProps>(), modalPropsDefault);\n\nconst emit = defineEmits<{\n /** request to close of the dialog */\n close: [event?: Event];\n /** the dialog is closed (different to the active state due to possible animations) */\n closed: [];\n}>();\n\nconst dialog = useTemplateRef(\"dialogElement\");\n\nconst onClose = (event?: Event) => {\n emit(\"close\", event);\n};\n\nwatch(\n () => props.active,\n async (active) => {\n if (active) {\n await nextTick();\n dialog.value?.showModal();\n } else {\n dialog.value?.close();\n }\n },\n { immediate: true },\n);\n\nconst renderDialog = ref(props.active);\n\nconst removeDialog = () => {\n renderDialog.value = false;\n emit(\"closed\");\n};\n\nwatch(\n () => props.active,\n (value, lastValue) => {\n // on close wait until the animation has run\n if (value === false && lastValue === true) {\n if (dialog.value) {\n Promise.all(\n dialog.value\n .getAnimations({ subtree: true })\n .map((animation) => animation.finished),\n ).then(removeDialog);\n } else {\n // fallback if dialog element ref is not accessible\n removeDialog();\n }\n } else {\n renderDialog.value = value;\n }\n },\n);\n</script>\n\n<template>\n <dialog\n v-if=\"renderDialog\"\n ref=\"dialogElement\"\n :class=\"[\n 'kds-modal',\n `width-${width}`,\n `height-${height}`,\n `overflow-${overflow}`,\n ]\"\n :closedby=\"closedby\"\n @cancel.prevent=\"onClose\"\n >\n <slot\n :title=\"title\"\n :icon=\"icon\"\n :variant=\"variant\"\n :overflow=\"overflow\"\n :on-close=\"onClose\"\n >\n <KdsModalLayout\n :title=\"title\"\n :icon=\"icon\"\n :variant=\"variant\"\n :overflow=\"overflow\"\n @close=\"onClose\"\n >\n <template #body>\n <slot name=\"body\" />\n </template>\n\n <template #footer>\n <slot name=\"footer\" />\n </template>\n </KdsModalLayout>\n </slot>\n </dialog>\n</template>\n\n<style>\n/** see: https://github.com/whatwg/html/issues/7732 */\nbody:has(dialog.modal[open]) {\n overflow: hidden;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.kds-modal {\n /* rule is broken it complains about local variables for no reason */\n /* stylelint-disable csstools/value-no-unknown-custom-properties */\n --modal-full-size: 95%;\n --modal-backdrop-animation-time: 125ms;\n\n &.width-small {\n --modal-width: var(--kds-dimension-component-width-25x);\n --modal-animation-time: 100ms;\n --modal-scale-base: 0.85;\n }\n\n &.width-medium {\n --modal-width: var(--kds-dimension-component-width-32x);\n --modal-animation-time: 140ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-large {\n --modal-width: var(--kds-dimension-component-width-45x);\n --modal-animation-time: 210ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-xlarge {\n --modal-width: var(--kds-dimension-component-width-61x);\n --modal-animation-time: 300ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-full {\n --modal-width: var(--modal-full-size);\n --modal-animation-time: 350ms;\n --modal-scale-base: 0.92;\n }\n\n &.height-full {\n --modal-height: var(--modal-full-size);\n }\n\n &.height-auto {\n --modal-height: fit-content;\n }\n\n display: grid;\n grid-template-rows: auto 1fr auto;\n width: min(var(--modal-full-size), var(--modal-width));\n height: var(--modal-height);\n max-height: var(--modal-full-size);\n padding: 0;\n overflow: v-bind(overflow);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-surface-default);\n border: none;\n border-radius: var(--kds-border-radius-container-0-37x);\n box-shadow: var(--kds-elevation-level-3);\n\n /** Animation */\n opacity: 0;\n transform: scale(var(--modal-scale-base));\n transition: var(--modal-animation-time) allow-discrete;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: display, opacity, overlay, transform;\n\n /* hide if its not open */\n &:not([open]) {\n display: none;\n }\n\n &:focus-visible,\n &:focus {\n outline: none;\n }\n\n &::backdrop {\n background: var(--kds-color-blanket-default);\n opacity: 0;\n transition: var(--modal-animation-time) allow-discrete;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: display, opacity, overlay;\n }\n\n &[open]::backdrop {\n opacity: 1;\n }\n\n &[open] {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/** Animation starting styles */\n@starting-style {\n .kds-modal {\n opacity: 1;\n transform: scale(1);\n\n &[open] {\n opacity: 0;\n transform: scale(var(--modal-scale-base));\n }\n\n &::backdrop {\n opacity: 1;\n }\n\n &[open]::backdrop {\n opacity: 0;\n }\n }\n}\n</style>\n","export type UnwrappedPromise<T = unknown> = {\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: unknown) => void;\n promise: Promise<T>;\n};\n\nexport const createUnwrappedPromise = <T>(): UnwrappedPromise<T> => {\n let resolve: (value: T | PromiseLike<T>) => void = () => {};\n let reject: (reason?: unknown) => void = () => {};\n\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { resolve, reject, promise };\n};\n","import {\n type ComponentPublicInstance,\n type FunctionalComponent,\n type VNode,\n computed,\n ref,\n} from \"vue\";\n\nimport { promise as PromiseUtils } from \"@knime/utils\";\n\nimport type { KdsButtonProps } from \"../Button/types\";\n\nimport type { KdsModalLayoutProps, KdsModalProps } from \"./types\";\n\ntype CommonButtonProps = {\n label: string;\n autofocus?: boolean;\n destructive?: boolean;\n variant?: KdsButtonProps[\"variant\"];\n flushLeft?: boolean;\n};\n\ntype ConfirmationButton = CommonButtonProps & {\n type: \"confirm\";\n customHandler?: (actions: { confirm: () => void }) => void;\n};\n\ntype CancellationButton = CommonButtonProps & {\n type: \"cancel\";\n customHandler?: (actions: { cancel: () => void }) => void;\n};\n\nexport type ConfirmModalButton = ConfirmationButton | CancellationButton;\n\ntype CommonConfig = Omit<KdsModalProps, \"active\">;\n\ntype PropertyBasedConfirmModalConfig = CommonConfig & {\n /**\n * The message displayed in the modal body\n */\n message: string;\n /**\n * The label and helperText to be rendered for the \"do not ask again\" checkbox option.\n * The title will be shown as tooltip on hover. The checkbox will only be present when\n * an object is supplied. The value will be returned on the modal result.\n * Defaults to empty undefined.\n */\n doNotAskAgain?: {\n label: string;\n title?: string;\n helperText?: string;\n };\n\n /**\n * Confirmation or cancellation buttons if omitted default ones are set\n */\n buttons?: Array<ConfirmModalButton>;\n};\n\ntype TemplateBasedConfirmModalConfig = CommonConfig & {\n /**\n * the dynamic component to be used as the confirmation modal body\n */\n component: FunctionalComponent | ComponentPublicInstance | VNode;\n\n /**\n * Confirmation or cancellation buttons if omitted default ones are set\n */\n buttons?: Array<ConfirmModalButton>;\n};\n\nexport type KdsDynamicDialogConfirmConfig =\n | PropertyBasedConfirmModalConfig\n | TemplateBasedConfirmModalConfig;\n\ntype UpdateConfigType = Partial<\n Omit<KdsDynamicModalTemplateConfig, \"component\" | \"context\">\n>;\n\n/**\n * Define a props api which dynamic template components can optionally\n * define to get access to the configuration the dynamic modal was called with\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type KdsDynamicModalPropsAPI<T = any> = KdsModalLayoutProps & {\n context: T;\n updateConfig: (config: UpdateConfigType) => void;\n};\ntype DynamicModalComponent<T> = abstract new (...args: unknown[]) => {\n $props: KdsDynamicModalPropsAPI<T>;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type KdsDynamicModalTemplateConfig<T = any> = CommonConfig & {\n component:\n | DynamicModalComponent<T>\n | FunctionalComponent<KdsDynamicModalPropsAPI<T>>;\n context?: T;\n};\n\nconst defaultCancelButton: CancellationButton = {\n type: \"cancel\",\n label: \"Cancel\",\n};\n\nconst defaultConfirmButton: ConfirmationButton = {\n type: \"confirm\",\n label: \"Confirm\",\n};\n\ntype ConfirmResult = { confirmed: boolean; doNotAskAgain?: boolean };\n\nconst isActive = ref(false);\nconst activeModalConfig = ref<\n | { type: \"confirm\"; value: KdsDynamicDialogConfirmConfig }\n | { type: \"dynamic\"; value: KdsDynamicModalTemplateConfig }\n | null\n>(null);\n\nconst unwrappedPromise = ref(PromiseUtils.createUnwrappedPromise());\n\nconst resetInternalState = () => {\n isActive.value = false;\n unwrappedPromise.value = PromiseUtils.createUnwrappedPromise();\n // config is cleared after the close animations is finished\n};\n\n/* called when KdsModal has finished close animations */\nconst onClosed = () => {\n activeModalConfig.value = null;\n};\n\n/**\n * Used to confirm the modal result. Should only used when called via\n * `askConfirmation`\n * @param doNotAskAgain\n */\nconst confirm = (doNotAskAgain = false) => {\n unwrappedPromise.value.resolve({\n confirmed: true,\n doNotAskAgain,\n });\n resetInternalState();\n};\n\n/**\n * Close or cancel the dialog\n */\nconst close = () => {\n const isConfirm = activeModalConfig.value?.type === \"confirm\";\n unwrappedPromise.value.resolve(isConfirm ? { confirmed: false } : undefined);\n resetInternalState();\n};\n\nconst isTemplateBasedConfirm = (\n config: KdsDynamicDialogConfirmConfig,\n): config is TemplateBasedConfirmModalConfig => {\n return \"component\" in config;\n};\n\nconst updateConfig = (config: UpdateConfigType) => {\n if (\n !isActive.value ||\n !activeModalConfig.value ||\n activeModalConfig.value.type === \"confirm\"\n ) {\n consola.warn(\"useKdsDynamicModal: invalid invocation of updateConfig\");\n return;\n }\n\n activeModalConfig.value.value = {\n ...activeModalConfig.value.value,\n ...config,\n };\n};\n\nexport const internal = {\n confirm,\n close,\n isTemplateBasedConfirm,\n onClosed,\n updateConfig,\n};\n\nexport const useKdsDynamicModal = () => {\n // function overload to support 2 distinct configurations\n function askConfirmation(\n config: PropertyBasedConfirmModalConfig,\n ): Promise<ConfirmResult>;\n\n // function overload to support 2 distinct configurations\n function askConfirmation(\n config: TemplateBasedConfirmModalConfig,\n ): Promise<ConfirmResult>;\n\n function askConfirmation(\n config: KdsDynamicDialogConfirmConfig,\n ): Promise<ConfirmResult> {\n activeModalConfig.value = {\n type: \"confirm\",\n value: {\n buttons: [defaultCancelButton, defaultConfirmButton],\n ...config,\n },\n };\n\n isActive.value = true;\n return unwrappedPromise.value.promise as Promise<ConfirmResult>;\n }\n\n const showByTemplate = <T>(\n config: KdsDynamicModalTemplateConfig<T>,\n ): Promise<void> => {\n activeModalConfig.value = {\n type: \"dynamic\",\n value: config,\n };\n\n isActive.value = true;\n return unwrappedPromise.value.promise as Promise<void>;\n };\n\n return {\n askConfirmation,\n showByTemplate,\n config: computed(() => activeModalConfig.value),\n isActive: computed(() => isActive.value),\n close: () => internal.close(),\n };\n};\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport KdsButton from \"../Button/KdsButton.vue\";\nimport type { KdsButtonProps } from \"../Button/types\";\nimport KdsCheckbox from \"../Checkbox/KdsCheckbox.vue\";\n\nimport KdsModal from \"./KdsModal.vue\";\nimport {\n type ConfirmModalButton,\n internal,\n useKdsDynamicModal,\n} from \"./useKdsDynamicModal\";\n\nconst askAgain = ref(false);\nconst { config, isActive } = useKdsDynamicModal();\n\nconst reset = () => {\n askAgain.value = false;\n};\n\nconst onConfirm = () => {\n internal.confirm(askAgain.value);\n reset();\n};\n\nconst onClose = () => {\n internal.close();\n reset();\n};\n\nconst handleConfirmButton = (button: ConfirmModalButton) => {\n if (!button.customHandler) {\n const handler = button.type === \"cancel\" ? onClose : onConfirm;\n handler();\n return;\n }\n\n if (button.type === \"cancel\") {\n button.customHandler({ cancel: onClose });\n }\n\n if (button.type === \"confirm\") {\n button.customHandler({ confirm: onConfirm });\n }\n};\n\nconst defaultVariant = (\n type: ConfirmModalButton[\"type\"],\n): KdsButtonProps[\"variant\"] => (type === \"cancel\" ? \"transparent\" : \"filled\");\n\nconst kdsModalProps = computed(() => {\n if (!config.value) {\n return {};\n }\n\n const { icon, title, height, width, variant, overflow, closedby } =\n config.value.value;\n\n return {\n icon,\n title,\n height,\n width,\n variant,\n overflow,\n closedby,\n onClose,\n onClosed: internal.onClosed,\n active: isActive.value,\n };\n});\n</script>\n\n<template>\n <KdsModal class=\"confirm-modal\" v-bind=\"kdsModalProps\">\n <template v-if=\"config?.type === 'confirm'\" #body>\n <Component\n :is=\"config.value.component\"\n v-if=\"internal.isTemplateBasedConfirm(config.value)\"\n />\n\n <div v-else class=\"confirmation\">\n <div class=\"message\">{{ config.value.message }}</div>\n <div v-if=\"config.value.doNotAskAgain\" class=\"ask-again\">\n <KdsCheckbox\n v-model=\"askAgain\"\n :label=\"config.value.doNotAskAgain.label\"\n :title=\"config.value.doNotAskAgain.title\"\n :helper-text=\"config.value.doNotAskAgain.helperText\"\n />\n </div>\n </div>\n </template>\n\n <template v-if=\"config?.type === 'confirm'\" #footer>\n <KdsButton\n v-for=\"(button, index) in config.value.buttons\"\n :key=\"index\"\n :destructive=\"button.destructive\"\n :autofocus=\"button.autofocus\"\n :label=\"button.label\"\n :variant=\"button.variant ?? defaultVariant(button.type)\"\n :class=\"{ 'flush-left': button.flushLeft }\"\n :data-test-id=\"`${button.type}-button`\"\n @click=\"handleConfirmButton(button)\"\n />\n </template>\n\n <template v-if=\"config?.type === 'dynamic'\" #default=\"slotProps\">\n <Component\n :is=\"config.value.component\"\n v-bind=\"{\n ...slotProps,\n context: config.value.context,\n updateConfig: internal.updateConfig,\n }\"\n />\n </template>\n </KdsModal>\n</template>\n\n<style scoped>\n.ask-again {\n padding: var(--kds-spacing-container-0-5x) 0 0 0;\n}\n\n.flush-left {\n margin-right: auto;\n}\n</style>\n","import { computed, watch } from \"vue\";\nimport { useDark, useLocalStorage, usePreferredDark } from \"@vueuse/core\";\n\nexport const KDS_DARK_MODE_STORAGE_KEY = \"KNIME_DARK_MODE\";\n\nexport type KdsDarkModeType = \"light\" | \"dark\" | \"system\";\n\n// could also be system, but the previous behaviour forced it to light, so we use that\nconst defaultMode: KdsDarkModeType = \"light\";\n\nexport const useKdsDarkMode = () => {\n // to also save a 'system' option we need to store the preference separately from the effective dark mode\n const userPreference = useLocalStorage<KdsDarkModeType>(\n KDS_DARK_MODE_STORAGE_KEY,\n defaultMode,\n );\n\n const isDark = useDark({\n storageKey: `${KDS_DARK_MODE_STORAGE_KEY}_EFFECTIVE`,\n initialValue: defaultMode,\n onChanged: (isDarkValue) => {\n let cssMode: string, themeValue: string;\n\n if (userPreference.value === \"system\") {\n cssMode = \"light dark\";\n themeValue = \"system\";\n } else {\n cssMode = themeValue = isDarkValue ? \"dark\" : \"light\";\n }\n\n document.documentElement.style.setProperty(\"color-scheme\", cssMode);\n document.documentElement.dataset.theme = themeValue;\n },\n });\n\n // react on both system and user preference changes, invokes onChanged function in the custom useDark implementation above\n const systemPrefersDark = usePreferredDark();\n watch(\n [userPreference, systemPrefersDark],\n ([preference, systemDark]) => {\n if (preference === \"system\") {\n isDark.value = systemDark;\n } else {\n isDark.value = preference === \"dark\";\n }\n },\n { immediate: true },\n );\n\n const currentMode = computed<KdsDarkModeType>({\n get() {\n return userPreference.value;\n },\n set(value: KdsDarkModeType) {\n userPreference.value = value;\n },\n });\n\n const isDarkMode = computed(() => {\n return userPreference.value === \"dark\";\n });\n\n const isLightMode = computed(() => {\n return userPreference.value === \"light\";\n });\n\n const isSystemMode = computed(() => userPreference.value === \"system\");\n\n return {\n /** Exposes a writable computed ref to get the current dark mode but also use it in e.g. a v-model to set it */\n currentMode,\n /** Whether or not the current user preference is dark. Note, if the preference is set to 'system' it will return false. */\n isDarkMode,\n /** Whether or not the current user preference is light. Note, if the preference is set to 'system' it will return false. */\n isLightMode,\n /** Whether or not the current user preference is set to 'system'. */\n isSystemMode,\n };\n};\n","import { ref, watch } from \"vue\";\n\nconst legacyMode = ref(false);\n\nexport const useKdsLegacyMode = (initialValue: boolean = false) => {\n if (legacyMode.value !== initialValue) {\n legacyMode.value = initialValue;\n }\n\n watch(\n () => legacyMode.value,\n (newValue) => {\n document.documentElement.classList.toggle(\"kds-legacy\", newValue);\n },\n { immediate: true },\n );\n\n return {\n /** Writable ref to get and/or set the legacy mode; can also be used with v-model */\n legacyMode,\n };\n};\n"],"names":["_unref","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_createElementBlock","_hoisted_1","_toDisplayString","_mergeProps","_useModel","_createElementVNode","_hoisted_2","Icon","_hoisted_3","_hoisted_4","kdsTypeIconNames","_createVNode","KdsButton","_renderSlot","$slots","PromiseUtils.createUnwrappedPromise","_createSlots","_Fragment","_renderList","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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","x_google_ignoreList":[14]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/Icon/useIcon.ts","../src/Icon/KdsIcon.vue","../src/Button/BaseButton.vue","../src/Button/KdsButton.vue","../src/util/nuxtComponentResolver.ts","../src/Button/KdsLinkButton.vue","../src/Button/KdsToggleButton.vue","../src/Checkbox/KdsCheckbox.vue","../src/Icon/IdToIconNameMapping.ts","../../styles/dist/img/type-icons/def.ts","../src/Icon/KdsDataType.vue","../src/Modal/constants.ts","../src/Modal/KdsModalLayout.vue","../src/Modal/KdsModal.vue","../../../node_modules/.pnpm/@knime+utils@1.8.0_consola@3.4.2/node_modules/@knime/utils/src/promise/createUnwrappedPromise.ts","../src/Modal/useKdsDynamicModal.ts","../src/Modal/KdsDynamicModalProvider.vue","../src/LoadingSpinner/KdsLoadingSpinner.vue","../src/util/useKdsDarkMode.ts","../src/util/useKdsLegacyMode.ts"],"sourcesContent":["import { type DefineComponent, type Ref, shallowRef, watch } from \"vue\";\n\nexport default ({\n name,\n folder,\n}: {\n name: Ref<string>;\n folder: \"icons\" | \"type-icons\";\n}) => {\n const iconCache = new Map<string, DefineComponent>();\n\n const iconComponent = shallowRef<DefineComponent | null>(null);\n\n watch(\n () => name.value,\n async (newName) => {\n if (iconCache.has(newName)) {\n iconComponent.value = iconCache.get(newName)!;\n return;\n }\n\n try {\n const module = await import(\n `../../node_modules/@knime/kds-styles/dist/img/${folder}/${newName}.svg`\n );\n iconCache.set(newName, module.default);\n iconComponent.value = module.default;\n } catch (_error) {\n iconComponent.value = null;\n }\n },\n { immediate: true },\n );\n\n return iconComponent as Readonly<typeof iconComponent>;\n};\n","<script setup lang=\"ts\">\n/**\n * Displays an icon from the KDS icon set. The icon color inherits the text color of the parent element.\n */\nimport { toRef } from \"vue\";\n\nimport type { KdsIconName, KdsIconSize } from \"./types\";\nimport useIcon from \"./useIcon\";\n\nconst props = withDefaults(\n defineProps<{ name: KdsIconName; size?: KdsIconSize }>(),\n {\n size: \"medium\",\n },\n);\n\nconst iconComponent = useIcon({ name: toRef(props, \"name\"), folder: \"icons\" });\n</script>\n\n<template>\n <component\n :is=\"iconComponent\"\n v-if=\"iconComponent\"\n :class=\"['kds-icon', props.size]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n <span\n v-else\n :class=\"['kds-icon', props.size]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n</template>\n\n<style scoped>\n@import url(\"./styles.css\");\n</style>\n","<script setup lang=\"ts\">\nimport { type Component, computed } from \"vue\";\n\nimport KdsIcon from \"../Icon/KdsIcon.vue\";\n\nimport type { BaseButtonProps } from \"./types\";\n\ntype BaseButtonPropsWithComponent = BaseButtonProps & {\n component?: string | Component;\n};\n\nconst props = withDefaults(defineProps<BaseButtonPropsWithComponent>(), {\n component: \"button\",\n size: \"medium\",\n destructive: false,\n disabled: false,\n toggled: false,\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst classes = computed(() => [\n \"button\",\n props.size,\n props.variant,\n { destructive: props.destructive },\n { disabled: props.disabled },\n { toggled: props.toggled },\n]);\n\nconst iconSize = computed(() => {\n if (props.size === \"xsmall\") {\n return \"small\";\n } else {\n return props.size;\n }\n});\n\nfunction onClick(e: MouseEvent) {\n if (!props.disabled) {\n emit(\"click\", e);\n }\n}\n</script>\n\n<template>\n <Component\n :is=\"component\"\n :class=\"classes\"\n :disabled=\"props.disabled\"\n :title=\"props.title\"\n :aria-label=\"props.ariaLabel\"\n @click=\"onClick($event)\"\n >\n <KdsIcon\n v-if=\"props.leadingIcon\"\n :name=\"props.leadingIcon\"\n :size=\"iconSize\"\n />\n <span v-if=\"props.label\" class=\"label\">{{ props.label }}</span>\n <KdsIcon\n v-if=\"props.trailingIcon && props.label\"\n :name=\"props.trailingIcon\"\n :size=\"iconSize\"\n />\n </Component>\n</template>\n\n<style>\nhtml.kds-legacy {\n --kds-legacy-button-border-radius: var(--kds-border-radius-container-pill);\n}\n</style>\n\n<style scoped>\n.button {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: fit-content;\n min-width: 15px;\n max-width: 100%;\n overflow: hidden;\n cursor: pointer;\n\n /* for LinkButton */\n &:is(a) {\n text-decoration: none;\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n &.filled {\n color: var(--kds-color-text-and-icon-primary-inverted);\n background-color: var(--kds-color-background-primary-bold-initial);\n border: var(--kds-border-action-transparent);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled-inverted);\n background-color: var(--kds-color-background-disabled-primary);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-primary-bold-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-primary-bold-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger-inverted);\n background-color: var(--kds-color-background-danger-bold-initial);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled-inverted);\n background-color: var(--kds-color-background-disabled-danger);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-bold-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-bold-active);\n }\n }\n }\n }\n\n &.outlined {\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-background-neutral-initial);\n border: var(--kds-border-action-default);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n border: var(--kds-border-action-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-neutral-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-neutral-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger);\n border: var(--kds-border-action-error);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n border: var(--kds-border-action-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-active);\n }\n }\n }\n }\n\n &.transparent {\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-background-neutral-initial);\n border: var(--kds-border-action-transparent);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-neutral-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-neutral-active);\n }\n }\n\n &.destructive {\n color: var(--kds-color-text-and-icon-danger);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-danger-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-danger-active);\n }\n }\n }\n }\n\n &.toggled {\n color: var(--kds-color-text-and-icon-selected);\n background-color: var(--kds-color-background-selected-initial);\n border: var(--kds-border-action-selected);\n\n &.disabled {\n color: var(--kds-color-text-and-icon-disabled);\n }\n\n &:not(.disabled) {\n &:hover {\n background-color: var(--kds-color-background-selected-hover);\n }\n\n &:active {\n background-color: var(--kds-color-background-selected-active);\n }\n }\n }\n\n & .label {\n max-width: 200px;\n padding: 0 var(--kds-spacing-container-0-12x);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-rendering: geometricprecision;\n }\n\n &.xsmall {\n gap: var(--kds-spacing-container-0-12x);\n height: var(--kds-dimension-component-height-1-25x);\n padding: 0\n calc(var(--kds-spacing-container-0-25x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-xsmall-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-25x)\n );\n }\n\n &.small {\n gap: var(--kds-spacing-container-0-12x);\n height: var(--kds-dimension-component-height-1-5x);\n padding: 0\n calc(var(--kds-spacing-container-0-37x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-small-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-37x)\n );\n }\n\n &.medium {\n gap: var(--kds-spacing-container-0-25x);\n height: var(--kds-dimension-component-height-1-75x);\n padding: 0\n calc(var(--kds-spacing-container-0-37x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-medium-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-37x)\n );\n }\n\n &.large {\n gap: var(--kds-spacing-container-0-25x);\n height: var(--kds-dimension-component-height-2-25x);\n padding: 0\n calc(var(--kds-spacing-container-0-5x) - var(--kds-core-border-width-xs)); /* needed as border in Figma is not increasing the width */\n\n font: var(--kds-font-base-interactive-large-strong);\n border-radius: var(\n --kds-legacy-button-border-radius,\n var(--kds-border-radius-container-0-50x)\n );\n\n & .label {\n padding: 0 var(--kds-spacing-container-0-25x);\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsButtonProps>(), {\n variant: \"filled\",\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n</script>\n\n<template>\n <BaseButton v-bind=\"props\" @click=\"emit('click', $event)\" />\n</template>\n","import { defineComponent, getCurrentInstance, h, useSlots } from \"vue\";\n\nconst getAppInstance = () => {\n const currentInstance = getCurrentInstance();\n\n return currentInstance?.appContext.app;\n};\n\nexport const resolveNuxtLinkComponent = () => {\n const app = getAppInstance();\n\n // only works when NuxtLink is registered globally, which it's not by default\n const nuxtLinkComponent = app?.component(\"NuxtLink\");\n if (nuxtLinkComponent) {\n return nuxtLinkComponent;\n }\n\n const routerLinkComponent = app?.component(\"RouterLink\");\n if (routerLinkComponent) {\n return routerLinkComponent;\n }\n\n // fallback component when neither NuxtLink nor RouterLink are available\n const fallbackComponent = defineComponent({\n props: {\n to: {\n type: String,\n default: \"\",\n },\n },\n\n render() {\n return h(\"a\", { href: this.to }, [useSlots().default?.()]);\n },\n });\n\n return fallbackComponent;\n};\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { resolveNuxtLinkComponent } from \"../util/nuxtComponentResolver\";\n\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsLinkButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsLinkButtonProps>(), {\n variant: \"filled\",\n download: undefined,\n rel: null,\n target: null,\n});\n\nconst component = computed(() => {\n if (props.disabled) {\n return \"button\";\n }\n return resolveNuxtLinkComponent();\n});\n\nconst emit = defineEmits<{\n (e: \"click\", event: MouseEvent): void;\n}>();\n</script>\n\n<template>\n <BaseButton\n v-bind=\"props\"\n :component=\"component\"\n @click=\"emit('click', $event)\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport BaseButton from \"./BaseButton.vue\";\nimport type { KdsToggleButtonProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsToggleButtonProps>(), {\n variant: \"outlined\",\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n</script>\n\n<template>\n <BaseButton\n v-bind=\"props\"\n :toggled=\"modelValue\"\n :aria-pressed=\"modelValue\"\n @click=\"modelValue = !modelValue\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useId } from \"vue\";\n\nimport Icon from \"../Icon/KdsIcon.vue\";\n\nimport type { KdsCheckboxProps } from \"./types\";\n\ntype CheckboxModelValue = KdsCheckboxProps[\"modelValue\"];\n\nconst props = withDefaults(defineProps<KdsCheckboxProps>(), {\n modelValue: false,\n disabled: false,\n error: false,\n});\n\nconst emit = defineEmits<{\n /**\n * Emitted when the checkbox value changes\n */\n \"update:modelValue\": [value: CheckboxModelValue];\n}>();\n\nconst id = useId();\n\nconst isChecked = computed(() => props.modelValue === true);\nconst isIndeterminate = computed(() => props.modelValue === \"indeterminate\");\nconst icon = computed(() => {\n if (isChecked.value) {\n return \"checkmark\";\n }\n if (isIndeterminate.value) {\n return \"minus\";\n }\n return null;\n});\n\nconst ariaChecked = computed(() => {\n if (isIndeterminate.value) {\n return \"mixed\";\n }\n return isChecked.value;\n});\n\nconst handleClick = () => {\n if (props.disabled) {\n return;\n }\n\n const newValue: CheckboxModelValue = isIndeterminate.value\n ? true\n : !isChecked.value;\n\n emit(\"update:modelValue\", newValue);\n};\n</script>\n\n<template>\n <button\n :class=\"{\n checkbox: true,\n checked: isChecked,\n indeterminate: isIndeterminate,\n disabled: props.disabled,\n error: props.error,\n }\"\n :disabled=\"props.disabled\"\n :aria-checked=\"ariaChecked\"\n :aria-describedby=\"props.helperText ? `${id}-helper` : undefined\"\n :aria-invalid=\"props.error\"\n :title=\"props.title\"\n type=\"button\"\n role=\"checkbox\"\n @click=\"handleClick\"\n >\n <div class=\"control\">\n <Icon v-if=\"icon\" :name=\"icon\" class=\"icon\" size=\"xsmall\" />\n </div>\n <div v-if=\"props.label || props.helperText\" class=\"content\">\n <div class=\"label\">{{ props.label }}</div>\n <div v-if=\"props.helperText\" :id=\"`${id}-helper`\" class=\"helper-text\">\n {{ props.helperText }}\n </div>\n </div>\n </button>\n</template>\n\n<style scoped>\n.checkbox {\n --bg-initial: var(--kds-color-background-input-initial);\n --bg-hover: var(--kds-color-background-input-hover);\n --bg-active: var(--kds-color-background-input-active);\n --border: var(--kds-border-action-input);\n --icon-color: var(--kds-color-text-and-icon-selected);\n --text-color: var(--kds-color-text-and-icon-neutral);\n --helper-text-color: var(--kds-color-text-and-icon-muted);\n\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: flex-start;\n padding: 0;\n margin: 0;\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n\n & .control {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--kds-dimension-component-height-0-88x);\n height: var(--kds-dimension-component-height-0-88x);\n color: var(--icon-color);\n background: var(--bg-initial);\n border: var(--border);\n border-radius: var(--kds-border-radius-container-0-25x);\n }\n\n &:focus-visible {\n outline: none;\n\n & .control {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n }\n\n &:hover:not(.disabled) .control {\n background: var(--bg-hover);\n }\n\n &:active:not(.disabled) .control {\n background: var(--bg-active);\n }\n\n &.checked,\n &.indeterminate {\n --bg-initial: var(--kds-color-background-selected-initial);\n --bg-hover: var(--kds-color-background-selected-hover);\n --bg-active: var(--kds-color-background-selected-active);\n --border: var(--kds-border-action-selected);\n }\n\n & .content {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-12x);\n text-rendering: geometricprecision;\n\n & .label {\n padding-top: var(--kds-spacing-container-0-10x);\n font: var(--kds-font-base-interactive-small);\n color: var(--text-color);\n }\n\n & .helper-text {\n font: var(--kds-font-base-subtext-small);\n color: var(--helper-text-color);\n }\n }\n\n &.disabled {\n --border: var(--kds-border-action-disabled);\n --icon-color: var(--kds-color-text-and-icon-disabled);\n --text-color: var(--kds-color-text-and-icon-disabled);\n --helper-text-color: var(--kds-color-text-and-icon-disabled);\n\n cursor: not-allowed;\n }\n\n &.error {\n --border: var(--kds-border-action-error);\n --icon-color: var(--kds-color-text-and-icon-danger);\n --text-color: var(--kds-color-text-and-icon-danger);\n --helper-text-color: var(--kds-color-text-and-icon-danger);\n --bg-hover: var(--kds-color-background-danger-hover);\n --bg-active: var(--kds-color-background-danger-active);\n\n &.checked,\n &.indeterminate {\n --bg-initial: var(--kds-color-background-danger-initial);\n }\n }\n}\n</style>\n","import type { KdsTypeIconName } from \"./types\";\n\nexport const ID_TO_ICON_MAP = {\n // Flow Variables\n STRING: \"variable-string\",\n LONG: \"variable-integer\",\n DOUBLE: \"variable-number-double\",\n BOOLEAN: \"variable-boolean\",\n INTEGER: \"variable-integer\",\n FSLocation: \"variable-path\",\n FSLocationSpec: \"variable-path\",\n STRINGARRAY: \"variable-collection-string\",\n LONGARRAY: \"variable-collection-integer\",\n DOUBLEARRAY: \"variable-collection-double\",\n BOOLEANARRAY: \"variable-collection-boolean\",\n INTARRAY: \"variable-collection-integer\",\n CREDENTIALS: \"variable-credential\",\n CONDAENVIRONMENT: \"variable-conda-environment\",\n UNKNOWN: \"variable-unknown\",\n // General\n \"org.knime.core.data.BooleanValue\": \"boolean-datatype\",\n \"org.knime.core.data.DataValue\": \"unknown-datatype\",\n \"org.knime.core.data.DoubleValue\": \"number-double-datatype\",\n \"org.knime.core.data.IntValue\": \"number-integer-datatype\",\n \"org.knime.core.data.LongValue\": \"number-integer-datatype\",\n \"org.knime.core.data.MissingValue\": \"unknown-datatype\",\n \"org.knime.core.data.StringValue\": \"string-datatype\",\n \"org.knime.core.data.collection.ListDataValue\": \"collection-list-datatype\",\n \"org.knime.core.data.collection.SetDataValue\": \"collection-set-datatype\",\n \"org.knime.core.data.vector.doublevector.DoubleVectorValue\":\n \"number-double-vector-datatype\",\n \"org.knime.core.data.vector.stringvector.StringVectorValue\":\n \"string-vector-datatype\",\n \"org.knime.filehandling.core.data.location.FSLocationValue\": \"path-datatype\",\n // Image, Audio & Video\n \"org.knime.audio.data.cell.AudioValue\": \"audio-datatype\",\n \"org.knime.base.data.xml.SvgValue\": \"image-svg-datatype\",\n \"org.knime.core.data.image.png.PNGImageValue\": \"image-png-datatype\",\n // Date & Time\n \"org.knime.core.data.time.localdate.LocalDateValue\": \"date-datatype\",\n \"org.knime.core.data.time.localdatetime.LocalDateTimeValue\":\n \"date-time-local-datatype\",\n \"org.knime.core.data.time.localtime.LocalTimeValue\": \"time-datatype\",\n \"org.knime.core.data.time.zoneddatetime.ZonedDateTimeValue\":\n \"date-time-zoned-datatype\",\n \"org.knime.core.data.time.duration.DurationValue\":\n \"duration-time-based-datatype\",\n \"org.knime.core.data.time.period.PeriodValue\": \"duration-date-based-datatype\",\n // Geospatial\n \"org.knime.geospatial.core.data.GeoValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoLineValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoPointValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoPolygonValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoCollectionValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiLineValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiPointValue\": \"geo-datatype\",\n \"org.knime.geospatial.core.data.GeoMultiPolygonValue\": \"geo-datatype\",\n // Code\n \"org.knime.core.data.blob.BinaryObjectDataValue\": \"binary-object-datatype\",\n \"org.knime.core.data.html.HTMLValue\": \"xml-datatype\",\n \"org.knime.core.data.json.JSONValue\": \"json-datatype\",\n \"org.knime.core.data.uri.URIDataValue\": \"uri-datatype\",\n \"org.knime.core.data.vector.bitvector.BitVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.vector.bitvector.SparseBitVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.vector.bytevector.ByteVectorValue\":\n \"bit-byte-vector-datatype\",\n \"org.knime.core.data.xml.PMMLValue\": \"model-pmml-datatype\",\n \"org.knime.core.data.xml.XMLValue\": \"xml-datatype\",\n \"org.knime.knip.base.data.labeling.LabelingValue\": \"labeling-datatype\",\n // Agentic AI\n \"org.knime.ai.core.data.message.MessageValue\": \"message-datatype\",\n \"org.knime.core.node.agentic.tool.WorkflowToolValue\": \"tool-datatype\",\n // Textprocessing\n \"org.knime.ext.textprocessing.data.DocumentValue\": \"document-datatype\",\n \"org.knime.ext.textprocessing.data.TermValue\": \"term-datatype\",\n // Network\n \"org.knime.network.core.knime.cell.GraphValue\": \"subgraph-datatype\",\n // Linear Notations\n \"org.knime.chem.types.InchiValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SlnValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SmartsValue\": \"linear-notation-molecule\",\n \"org.knime.chem.types.SmilesValue\": \"linear-notation-molecule\",\n // Molecular file formats\n \"org.knime.chem.types.CtabValue\": \"molecule\",\n \"org.knime.chem.types.MolValue\": \"molecule\",\n \"org.knime.chem.types.Mol2Value\": \"molecule\",\n \"org.knime.chem.types.SdfValue\": \"molecule\",\n // Biopolymer & sequence representations\n \"org.knime.chem.types.helm.HELMValue\": \"helm-datatype\",\n // Relation & Process representations\n \"org.knime.chem.types.CMLValue\": \"test-tube\",\n \"org.knime.chem.types.RxnValue\": \"test-tube\",\n // Visualization & specialized software formats\n \"org.knime.bio.types.PdbValue\": \"microscope\",\n \"org.knime.chem.types.cdx.CDXMLValue\": \"microscope\",\n \"org.rdkit.knime.types.RDKitMolValue\": \"microscope\",\n \"jp.co.infocom.cheminfo.marvin.type.MrvValue\": \"microscope\",\n} as const satisfies Record<string, KdsTypeIconName>;\n\nexport type TypeId = keyof typeof ID_TO_ICON_MAP;\n","\nexport const typeIconNames = [\n 'audio-datatype',\n 'binary-object-datatype',\n 'bit-byte-vector-datatype',\n 'boolean-datatype',\n 'collection-list-datatype',\n 'collection-set-datatype',\n 'date-datatype',\n 'date-time-local-datatype',\n 'date-time-zoned-datatype',\n 'default-extension-datatype',\n 'document-datatype',\n 'duration-date-based-datatype',\n 'duration-time-based-datatype',\n 'geo-datatype',\n 'helm-datatype',\n 'image-png-datatype',\n 'image-svg-datatype',\n 'json-datatype',\n 'labeling-datatype',\n 'linear-notation-molecule',\n 'message-datatype',\n 'microscope',\n 'model-pmml-datatype',\n 'molecule',\n 'number-double-datatype',\n 'number-double-vector-datatype',\n 'number-integer-datatype',\n 'path-datatype',\n 'string-datatype',\n 'string-vector-datatype',\n 'subgraph-datatype',\n 'term-datatype',\n 'test-tube',\n 'time-datatype',\n 'tool-datatype',\n 'unknown-datatype',\n 'uri-datatype',\n 'variable-boolean',\n 'variable-collection-boolean',\n 'variable-collection-double',\n 'variable-collection-integer',\n 'variable-collection-string',\n 'variable-conda-environment',\n 'variable-credential',\n 'variable-integer',\n 'variable-number-double',\n 'variable-path',\n 'variable-string',\n 'variable-unknown',\n 'xml-datatype'\n] as const;\n\nexport type TypeIconName = typeof typeIconNames[number];\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { ID_TO_ICON_MAP, type TypeId } from \"./IdToIconNameMapping\";\nimport { kdsTypeIconNames } from \"./constants\";\nimport type { KdsDataTypeSize, KdsIconSize, KdsTypeIconName } from \"./types\";\nimport useIcon from \"./useIcon\";\n\ntype DataTypeIconSize = Exclude<KdsIconSize, \"large\">;\n\ntype Props = {\n iconName?: KdsTypeIconName | TypeId | string;\n iconTitle?: string;\n size?: KdsDataTypeSize;\n};\n\nconst DATA_TYPE_SIZE_TO_ICON_SIZE: Record<KdsDataTypeSize, DataTypeIconSize> = {\n large: \"medium\",\n medium: \"small\",\n small: \"xsmall\",\n} as const;\n\nconst props = withDefaults(defineProps<Props>(), {\n iconName: \"unknown-datatype\",\n iconTitle: \"Unknown Data Type\",\n size: \"medium\",\n});\n\nconst iconSize = computed(() => DATA_TYPE_SIZE_TO_ICON_SIZE[props.size]);\n\nconst isIconName = (value: string): value is KdsTypeIconName =>\n kdsTypeIconNames.includes(value as KdsTypeIconName);\n\nconst isTypeId = (value: string): value is TypeId =>\n Object.keys(ID_TO_ICON_MAP).includes(value);\n\nconst iconName = computed<KdsTypeIconName>(() => {\n if (isIconName(props.iconName)) {\n return props.iconName;\n }\n if (isTypeId(props.iconName)) {\n return ID_TO_ICON_MAP[props.iconName];\n }\n return props.iconName.startsWith(\"org.knime\")\n ? \"default-extension-datatype\"\n : \"unknown-datatype\";\n});\n\nconst iconComponent = useIcon({\n name: iconName,\n folder: \"type-icons\",\n});\n</script>\n\n<template>\n <div :class=\"['kds-data-type-icon-container', size]\" :title=\"props.iconTitle\">\n <component\n :is=\"iconComponent\"\n :class=\"['kds-icon', 'kds-data-type-icon', iconSize]\"\n aria-hidden=\"true\"\n focusable=\"false\"\n />\n </div>\n</template>\n\n<style scoped>\n@import url(\"./styles.css\");\n\n.kds-data-type-icon-container {\n --data-type-height: var(--kds-dimension-component-height-1x);\n --data-type-width: var(--kds-dimension-component-width-1x);\n --data-type-padding: var(--kds-spacing-container-0-12x);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--data-type-width);\n height: var(--data-type-height);\n padding: var(--data-type-padding);\n color: var(--kds-color-desktop-header-text-and-icon-muted);\n background-color: var(--kds-color-page-default);\n border: var(--kds-border-base-muted);\n border-radius: var(--kds-border-radius-container-0-12x);\n\n &.small {\n --data-type-height: var(--kds-dimension-icon-0-75x);\n --data-type-width: var(--kds-dimension-icon-0-75x);\n --data-type-padding: var(--kds-spacing-container-none);\n }\n\n &.large {\n --data-type-height: var(--kds-dimension-component-height-1-25x);\n --data-type-width: var(--kds-dimension-component-width-1-25x);\n }\n\n /* The kds-data-type-icon class is needed to increase the specificity to overwrite the icon-stroke-width */\n & .kds-icon.kds-data-type-icon {\n &.small {\n --icon-stroke-width: var(--kds-border-width-icon-stroke-m);\n }\n\n &.medium {\n --icon-stroke-width: var(--kds-border-width-icon-stroke-l);\n }\n }\n}\n</style>\n","export const closedByOptions = [\"any\", \"closerequest\", \"none\"] as const;\nexport const widthSizes = [\n \"small\",\n \"medium\",\n \"large\",\n \"xlarge\",\n \"full\",\n] as const;\nexport const heightSizes = [\"auto\", \"full\"] as const;\nexport const modalVariants = [\"padded\", \"plain\"] as const;\nexport const modalLayoutPropsDefault = {\n title: \"\",\n variant: \"padded\",\n overflow: \"auto\",\n icon: undefined,\n} as const;\n\nexport const modalPropsDefault = {\n active: false,\n height: \"auto\",\n width: \"medium\",\n closedby: \"closerequest\",\n ...modalLayoutPropsDefault,\n} as const;\n","<script setup lang=\"ts\">\nimport KdsButton from \"../Button/KdsButton.vue\";\nimport KdsIcon from \"../Icon/KdsIcon.vue\";\n\nimport { modalLayoutPropsDefault } from \"./constants\";\nimport type { KdsModalLayoutProps } from \"./types\";\n\nconst props = withDefaults(\n defineProps<KdsModalLayoutProps>(),\n modalLayoutPropsDefault,\n);\ndefineOptions({ inheritAttrs: false });\n</script>\n\n<template>\n <header class=\"modal-header\">\n <KdsIcon v-if=\"props.icon\" :name=\"props.icon\" size=\"medium\" />\n <div class=\"modal-header-title\">{{ props.title }}</div>\n <KdsButton\n leading-icon=\"x-close\"\n variant=\"transparent\"\n size=\"medium\"\n title=\"Close\"\n @click=\"props.onClose\"\n />\n </header>\n\n <div class=\"modal-body\" :data-variant=\"variant\">\n <slot name=\"body\" />\n </div>\n\n <footer v-if=\"$slots.footer\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </footer>\n</template>\n\n<style lang=\"postcss\" scoped>\n.modal-header {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n align-items: center;\n padding: var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-5x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-1-5x);\n font: var(--kds-font-base-title-medium-strong);\n color: var(--kds-color-text-and-icon-neutral);\n\n & .modal-header-title {\n flex: 1 1 auto;\n }\n}\n\n.modal-body {\n --modal-padding-left: var(--kds-spacing-container-1-5x);\n --modal-padding-right: var(--kds-spacing-container-1-5x);\n --modal-padding-top: var(--kds-spacing-container-0-5x);\n --modal-padding-bottom: var(--kds-spacing-container-1x);\n --modal-gap: var(--kds-spacing-container-1x);\n\n display: flex;\n flex-direction: column;\n overflow: v-bind(overflow);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n\n &[data-variant=\"padded\"] {\n gap: var(--modal-gap);\n padding: var(--modal-padding-top) var(--modal-padding-right)\n var(--modal-padding-bottom) var(--modal-padding-left);\n }\n}\n\n.modal-footer {\n display: flex;\n gap: var(--kds-spacing-container-0-5x);\n justify-content: right;\n padding: var(--kds-spacing-container-1x) var(--kds-spacing-container-1-5x);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { nextTick, ref, useTemplateRef, watch } from \"vue\";\n\nimport KdsModalLayout from \"./KdsModalLayout.vue\";\nimport { modalPropsDefault } from \"./constants\";\nimport type { KdsModalProps } from \"./types\";\n\nconst props = withDefaults(defineProps<KdsModalProps>(), modalPropsDefault);\n\nconst emit = defineEmits<{\n /** request to close of the dialog */\n close: [event?: Event];\n /** the dialog is closed (different to the active state due to possible animations) */\n closed: [];\n}>();\n\nconst dialog = useTemplateRef(\"dialogElement\");\n\nconst onClose = (event?: Event) => {\n emit(\"close\", event);\n};\n\nwatch(\n () => props.active,\n async (active) => {\n if (active) {\n await nextTick();\n dialog.value?.showModal();\n } else {\n dialog.value?.close();\n }\n },\n { immediate: true },\n);\n\nconst renderDialog = ref(props.active);\n\nconst removeDialog = () => {\n renderDialog.value = false;\n emit(\"closed\");\n};\n\nwatch(\n () => props.active,\n (value, lastValue) => {\n // on close wait until the animation has run\n if (value === false && lastValue === true) {\n if (dialog.value) {\n Promise.all(\n dialog.value\n .getAnimations({ subtree: true })\n .map((animation) => animation.finished),\n ).then(removeDialog);\n } else {\n // fallback if dialog element ref is not accessible\n removeDialog();\n }\n } else {\n renderDialog.value = value;\n }\n },\n);\n</script>\n\n<template>\n <dialog\n v-if=\"renderDialog\"\n ref=\"dialogElement\"\n :class=\"[\n 'kds-modal',\n `width-${width}`,\n `height-${height}`,\n `overflow-${overflow}`,\n ]\"\n :closedby=\"closedby\"\n @cancel.prevent=\"onClose\"\n >\n <slot\n :title=\"title\"\n :icon=\"icon\"\n :variant=\"variant\"\n :overflow=\"overflow\"\n :on-close=\"onClose\"\n >\n <KdsModalLayout\n :title=\"title\"\n :icon=\"icon\"\n :variant=\"variant\"\n :overflow=\"overflow\"\n @close=\"onClose\"\n >\n <template #body>\n <slot name=\"body\" />\n </template>\n\n <template #footer>\n <slot name=\"footer\" />\n </template>\n </KdsModalLayout>\n </slot>\n </dialog>\n</template>\n\n<style>\n/** see: https://github.com/whatwg/html/issues/7732 */\nbody:has(dialog.modal[open]) {\n overflow: hidden;\n}\n</style>\n\n<style lang=\"postcss\" scoped>\n.kds-modal {\n /* rule is broken it complains about local variables for no reason */\n /* stylelint-disable csstools/value-no-unknown-custom-properties */\n --modal-full-size: 95%;\n --modal-backdrop-animation-time: 125ms;\n\n &.width-small {\n --modal-width: var(--kds-dimension-component-width-25x);\n --modal-animation-time: 100ms;\n --modal-scale-base: 0.85;\n }\n\n &.width-medium {\n --modal-width: var(--kds-dimension-component-width-32x);\n --modal-animation-time: 140ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-large {\n --modal-width: var(--kds-dimension-component-width-45x);\n --modal-animation-time: 210ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-xlarge {\n --modal-width: var(--kds-dimension-component-width-61x);\n --modal-animation-time: 300ms;\n --modal-scale-base: 0.88;\n }\n\n &.width-full {\n --modal-width: var(--modal-full-size);\n --modal-animation-time: 350ms;\n --modal-scale-base: 0.92;\n }\n\n &.height-full {\n --modal-height: var(--modal-full-size);\n }\n\n &.height-auto {\n --modal-height: fit-content;\n }\n\n display: grid;\n grid-template-rows: auto 1fr auto;\n width: min(var(--modal-full-size), var(--modal-width));\n height: var(--modal-height);\n max-height: var(--modal-full-size);\n padding: 0;\n overflow: v-bind(overflow);\n font: var(--kds-font-base-body-small);\n color: var(--kds-color-text-and-icon-neutral);\n background-color: var(--kds-color-surface-default);\n border: none;\n border-radius: var(--kds-border-radius-container-0-37x);\n box-shadow: var(--kds-elevation-level-3);\n\n /** Animation */\n opacity: 0;\n transform: scale(var(--modal-scale-base));\n transition: var(--modal-animation-time) allow-discrete;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: display, opacity, overlay, transform;\n\n /* hide if its not open */\n &:not([open]) {\n display: none;\n }\n\n &:focus-visible,\n &:focus {\n outline: none;\n }\n\n &::backdrop {\n background: var(--kds-color-blanket-default);\n opacity: 0;\n transition: var(--modal-animation-time) allow-discrete;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: display, opacity, overlay;\n }\n\n &[open]::backdrop {\n opacity: 1;\n }\n\n &[open] {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/** Animation starting styles */\n@starting-style {\n .kds-modal {\n opacity: 1;\n transform: scale(1);\n\n &[open] {\n opacity: 0;\n transform: scale(var(--modal-scale-base));\n }\n\n &::backdrop {\n opacity: 1;\n }\n\n &[open]::backdrop {\n opacity: 0;\n }\n }\n}\n</style>\n","export type UnwrappedPromise<T = unknown> = {\n resolve: (value: T | PromiseLike<T>) => void;\n reject: (reason?: unknown) => void;\n promise: Promise<T>;\n};\n\nexport const createUnwrappedPromise = <T>(): UnwrappedPromise<T> => {\n let resolve: (value: T | PromiseLike<T>) => void = () => {};\n let reject: (reason?: unknown) => void = () => {};\n\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { resolve, reject, promise };\n};\n","import {\n type ComponentPublicInstance,\n type FunctionalComponent,\n type VNode,\n computed,\n ref,\n} from \"vue\";\n\nimport { promise as PromiseUtils } from \"@knime/utils\";\n\nimport type { KdsButtonProps } from \"../Button/types\";\n\nimport type { KdsModalLayoutProps, KdsModalProps } from \"./types\";\n\ntype CommonButtonProps = {\n label: string;\n autofocus?: boolean;\n destructive?: boolean;\n variant?: KdsButtonProps[\"variant\"];\n flushLeft?: boolean;\n};\n\ntype ConfirmationButton = CommonButtonProps & {\n type: \"confirm\";\n customHandler?: (actions: { confirm: () => void }) => void;\n};\n\ntype CancellationButton = CommonButtonProps & {\n type: \"cancel\";\n customHandler?: (actions: { cancel: () => void }) => void;\n};\n\nexport type ConfirmModalButton = ConfirmationButton | CancellationButton;\n\ntype CommonConfig = Omit<KdsModalProps, \"active\">;\n\ntype PropertyBasedConfirmModalConfig = CommonConfig & {\n /**\n * The message displayed in the modal body\n */\n message: string;\n /**\n * The label and helperText to be rendered for the \"do not ask again\" checkbox option.\n * The title will be shown as tooltip on hover. The checkbox will only be present when\n * an object is supplied. The value will be returned on the modal result.\n * Defaults to empty undefined.\n */\n doNotAskAgain?: {\n label: string;\n title?: string;\n helperText?: string;\n };\n\n /**\n * Confirmation or cancellation buttons if omitted default ones are set\n */\n buttons?: Array<ConfirmModalButton>;\n};\n\ntype TemplateBasedConfirmModalConfig = CommonConfig & {\n /**\n * the dynamic component to be used as the confirmation modal body\n */\n component: FunctionalComponent | ComponentPublicInstance | VNode;\n\n /**\n * Confirmation or cancellation buttons if omitted default ones are set\n */\n buttons?: Array<ConfirmModalButton>;\n};\n\nexport type KdsDynamicDialogConfirmConfig =\n | PropertyBasedConfirmModalConfig\n | TemplateBasedConfirmModalConfig;\n\ntype UpdateConfigType = Partial<\n Omit<KdsDynamicModalTemplateConfig, \"component\" | \"context\">\n>;\n\n/**\n * Define a props api which dynamic template components can optionally\n * define to get access to the configuration the dynamic modal was called with\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type KdsDynamicModalPropsAPI<T = any> = KdsModalLayoutProps & {\n context: T;\n updateConfig: (config: UpdateConfigType) => void;\n};\ntype DynamicModalComponent<T> = abstract new (...args: unknown[]) => {\n $props: KdsDynamicModalPropsAPI<T>;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type KdsDynamicModalTemplateConfig<T = any> = CommonConfig & {\n component:\n | DynamicModalComponent<T>\n | FunctionalComponent<KdsDynamicModalPropsAPI<T>>;\n context?: T;\n};\n\nconst defaultCancelButton: CancellationButton = {\n type: \"cancel\",\n label: \"Cancel\",\n};\n\nconst defaultConfirmButton: ConfirmationButton = {\n type: \"confirm\",\n label: \"Confirm\",\n};\n\ntype ConfirmResult = { confirmed: boolean; doNotAskAgain?: boolean };\n\nconst isActive = ref(false);\nconst activeModalConfig = ref<\n | { type: \"confirm\"; value: KdsDynamicDialogConfirmConfig }\n | { type: \"dynamic\"; value: KdsDynamicModalTemplateConfig }\n | null\n>(null);\n\nconst unwrappedPromise = ref(PromiseUtils.createUnwrappedPromise());\n\nconst resetInternalState = () => {\n isActive.value = false;\n unwrappedPromise.value = PromiseUtils.createUnwrappedPromise();\n // config is cleared after the close animations is finished\n};\n\n/* called when KdsModal has finished close animations */\nconst onClosed = () => {\n activeModalConfig.value = null;\n};\n\n/**\n * Used to confirm the modal result. Should only used when called via\n * `askConfirmation`\n * @param doNotAskAgain\n */\nconst confirm = (doNotAskAgain = false) => {\n unwrappedPromise.value.resolve({\n confirmed: true,\n doNotAskAgain,\n });\n resetInternalState();\n};\n\n/**\n * Close or cancel the dialog\n */\nconst close = () => {\n const isConfirm = activeModalConfig.value?.type === \"confirm\";\n unwrappedPromise.value.resolve(isConfirm ? { confirmed: false } : undefined);\n resetInternalState();\n};\n\nconst isTemplateBasedConfirm = (\n config: KdsDynamicDialogConfirmConfig,\n): config is TemplateBasedConfirmModalConfig => {\n return \"component\" in config;\n};\n\nconst updateConfig = (config: UpdateConfigType) => {\n if (\n !isActive.value ||\n !activeModalConfig.value ||\n activeModalConfig.value.type === \"confirm\"\n ) {\n consola.warn(\"useKdsDynamicModal: invalid invocation of updateConfig\");\n return;\n }\n\n activeModalConfig.value.value = {\n ...activeModalConfig.value.value,\n ...config,\n };\n};\n\nexport const internal = {\n confirm,\n close,\n isTemplateBasedConfirm,\n onClosed,\n updateConfig,\n};\n\nexport const useKdsDynamicModal = () => {\n // function overload to support 2 distinct configurations\n function askConfirmation(\n config: PropertyBasedConfirmModalConfig,\n ): Promise<ConfirmResult>;\n\n // function overload to support 2 distinct configurations\n function askConfirmation(\n config: TemplateBasedConfirmModalConfig,\n ): Promise<ConfirmResult>;\n\n function askConfirmation(\n config: KdsDynamicDialogConfirmConfig,\n ): Promise<ConfirmResult> {\n activeModalConfig.value = {\n type: \"confirm\",\n value: {\n buttons: [defaultCancelButton, defaultConfirmButton],\n ...config,\n },\n };\n\n isActive.value = true;\n return unwrappedPromise.value.promise as Promise<ConfirmResult>;\n }\n\n const showByTemplate = <T>(\n config: KdsDynamicModalTemplateConfig<T>,\n ): Promise<void> => {\n activeModalConfig.value = {\n type: \"dynamic\",\n value: config,\n };\n\n isActive.value = true;\n return unwrappedPromise.value.promise as Promise<void>;\n };\n\n return {\n askConfirmation,\n showByTemplate,\n config: computed(() => activeModalConfig.value),\n isActive: computed(() => isActive.value),\n close: () => internal.close(),\n };\n};\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport KdsButton from \"../Button/KdsButton.vue\";\nimport type { KdsButtonProps } from \"../Button/types\";\nimport KdsCheckbox from \"../Checkbox/KdsCheckbox.vue\";\n\nimport KdsModal from \"./KdsModal.vue\";\nimport {\n type ConfirmModalButton,\n internal,\n useKdsDynamicModal,\n} from \"./useKdsDynamicModal\";\n\nconst askAgain = ref(false);\nconst { config, isActive } = useKdsDynamicModal();\n\nconst reset = () => {\n askAgain.value = false;\n};\n\nconst onConfirm = () => {\n internal.confirm(askAgain.value);\n reset();\n};\n\nconst onClose = () => {\n internal.close();\n reset();\n};\n\nconst handleConfirmButton = (button: ConfirmModalButton) => {\n if (!button.customHandler) {\n const handler = button.type === \"cancel\" ? onClose : onConfirm;\n handler();\n return;\n }\n\n if (button.type === \"cancel\") {\n button.customHandler({ cancel: onClose });\n }\n\n if (button.type === \"confirm\") {\n button.customHandler({ confirm: onConfirm });\n }\n};\n\nconst defaultVariant = (\n type: ConfirmModalButton[\"type\"],\n): KdsButtonProps[\"variant\"] => (type === \"cancel\" ? \"transparent\" : \"filled\");\n\nconst kdsModalProps = computed(() => {\n if (!config.value) {\n return {};\n }\n\n const { icon, title, height, width, variant, overflow, closedby } =\n config.value.value;\n\n return {\n icon,\n title,\n height,\n width,\n variant,\n overflow,\n closedby,\n onClose,\n onClosed: internal.onClosed,\n active: isActive.value,\n };\n});\n</script>\n\n<template>\n <KdsModal class=\"confirm-modal\" v-bind=\"kdsModalProps\">\n <template v-if=\"config?.type === 'confirm'\" #body>\n <Component\n :is=\"config.value.component\"\n v-if=\"internal.isTemplateBasedConfirm(config.value)\"\n />\n\n <div v-else class=\"confirmation\">\n <div class=\"message\">{{ config.value.message }}</div>\n <div v-if=\"config.value.doNotAskAgain\" class=\"ask-again\">\n <KdsCheckbox\n v-model=\"askAgain\"\n :label=\"config.value.doNotAskAgain.label\"\n :title=\"config.value.doNotAskAgain.title\"\n :helper-text=\"config.value.doNotAskAgain.helperText\"\n />\n </div>\n </div>\n </template>\n\n <template v-if=\"config?.type === 'confirm'\" #footer>\n <KdsButton\n v-for=\"(button, index) in config.value.buttons\"\n :key=\"index\"\n :destructive=\"button.destructive\"\n :autofocus=\"button.autofocus\"\n :label=\"button.label\"\n :variant=\"button.variant ?? defaultVariant(button.type)\"\n :class=\"{ 'flush-left': button.flushLeft }\"\n :data-test-id=\"`${button.type}-button`\"\n @click=\"handleConfirmButton(button)\"\n />\n </template>\n\n <template v-if=\"config?.type === 'dynamic'\" #default=\"slotProps\">\n <Component\n :is=\"config.value.component\"\n v-bind=\"{\n ...slotProps,\n context: config.value.context,\n updateConfig: internal.updateConfig,\n }\"\n />\n </template>\n </KdsModal>\n</template>\n\n<style scoped>\n.ask-again {\n padding: var(--kds-spacing-container-0-5x) 0 0 0;\n}\n\n.flush-left {\n margin-right: auto;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { KdsIconSize } from \"../Icon/types\";\n\ntype LoadingSpinnerStyle = \"onPrimary\" | \"onSurface\";\n\nwithDefaults(\n defineProps<{ size?: KdsIconSize; style?: LoadingSpinnerStyle }>(),\n {\n style: \"onSurface\",\n size: \"medium\",\n },\n);\n</script>\n\n<template>\n <svg\n :class=\"['kds-loading-spinner', size]\"\n :data-style=\"style\"\n viewBox=\"0 0 120 120\"\n >\n <circle class=\"track\" cx=\"60\" cy=\"60\" r=\"50\" />\n <circle class=\"loader\" cx=\"60\" cy=\"60\" r=\"50\" />\n </svg>\n</template>\n\n<style lang=\"postcss\" scoped>\n.kds-loading-spinner {\n --icon-width: var(--kds-dimension-icon-1x);\n --icon-height: var(--kds-dimension-icon-1x);\n --icon-stroke-width: 12; /* 10% of size */\n\n &.xsmall {\n --icon-width: var(--kds-dimension-icon-0-56x);\n --icon-height: var(--kds-dimension-icon-0-56x);\n }\n\n &.small {\n --icon-width: var(--kds-dimension-icon-0-75x);\n --icon-height: var(--kds-dimension-icon-0-75x);\n }\n\n &.large {\n --icon-width: var(--kds-dimension-icon-1-25x);\n --icon-height: var(--kds-dimension-icon-1-25x);\n }\n\n width: var(--icon-width);\n height: var(--icon-height);\n\n --color-track: var(--kds-color-loading-spinner-track-on-surface);\n --color-loader: var(--kds-color-loading-spinner-progress-on-surface);\n\n &[data-style=\"onPrimary\"] {\n --color-track: var(--kds-color-loading-spinner-track-on-primary);\n --color-loader: var(--kds-color-loading-spinner-progress-on-primary);\n }\n\n & .track {\n fill: none;\n stroke: var(--color-track);\n stroke-width: var(--icon-stroke-width);\n }\n\n & .loader {\n fill: none;\n stroke: var(--color-loader);\n stroke-width: var(--icon-stroke-width);\n stroke-linecap: round;\n stroke-dasharray: 80 240;\n transform: rotate(-90deg);\n transform-origin: center;\n\n /* REQUIRED for SVG rotation */\n transform-box: fill-box;\n animation: spin 1.2s linear infinite;\n }\n}\n\n@keyframes spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n}\n</style>\n","import { computed, watch } from \"vue\";\nimport { useDark, useLocalStorage, usePreferredDark } from \"@vueuse/core\";\n\nexport const KDS_DARK_MODE_STORAGE_KEY = \"KNIME_DARK_MODE\";\n\nexport type KdsDarkModeType = \"light\" | \"dark\" | \"system\";\n\n// could also be system, but the previous behaviour forced it to light, so we use that\nconst defaultMode: KdsDarkModeType = \"light\";\n\nexport const useKdsDarkMode = () => {\n // to also save a 'system' option we need to store the preference separately from the effective dark mode\n const userPreference = useLocalStorage<KdsDarkModeType>(\n KDS_DARK_MODE_STORAGE_KEY,\n defaultMode,\n );\n\n const isDark = useDark({\n storageKey: `${KDS_DARK_MODE_STORAGE_KEY}_EFFECTIVE`,\n initialValue: defaultMode,\n onChanged: (isDarkValue) => {\n let cssMode: string, themeValue: string;\n\n if (userPreference.value === \"system\") {\n cssMode = \"light dark\";\n themeValue = \"system\";\n } else {\n cssMode = themeValue = isDarkValue ? \"dark\" : \"light\";\n }\n\n document.documentElement.style.setProperty(\"color-scheme\", cssMode);\n document.documentElement.dataset.theme = themeValue;\n },\n });\n\n // react on both system and user preference changes, invokes onChanged function in the custom useDark implementation above\n const systemPrefersDark = usePreferredDark();\n watch(\n [userPreference, systemPrefersDark],\n ([preference, systemDark]) => {\n if (preference === \"system\") {\n isDark.value = systemDark;\n } else {\n isDark.value = preference === \"dark\";\n }\n },\n { immediate: true },\n );\n\n const currentMode = computed<KdsDarkModeType>({\n get() {\n return userPreference.value;\n },\n set(value: KdsDarkModeType) {\n userPreference.value = value;\n },\n });\n\n const isDarkMode = computed(() => {\n return userPreference.value === \"dark\";\n });\n\n const isLightMode = computed(() => {\n return userPreference.value === \"light\";\n });\n\n const isSystemMode = computed(() => userPreference.value === \"system\");\n\n return {\n /** Exposes a writable computed ref to get the current dark mode but also use it in e.g. a v-model to set it */\n currentMode,\n /** Whether or not the current user preference is dark. Note, if the preference is set to 'system' it will return false. */\n isDarkMode,\n /** Whether or not the current user preference is light. Note, if the preference is set to 'system' it will return false. */\n isLightMode,\n /** Whether or not the current user preference is set to 'system'. */\n isSystemMode,\n };\n};\n","import { ref, watch } from \"vue\";\n\nconst legacyMode = ref(false);\n\nexport const useKdsLegacyMode = (initialValue: boolean = false) => {\n if (legacyMode.value !== initialValue) {\n legacyMode.value = initialValue;\n }\n\n watch(\n () => legacyMode.value,\n (newValue) => {\n document.documentElement.classList.toggle(\"kds-legacy\", newValue);\n },\n { immediate: true },\n );\n\n return {\n /** Writable ref to get and/or set the legacy mode; can also be used with v-model */\n legacyMode,\n };\n};\n"],"names":["_unref","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_createElementBlock","_hoisted_1","_toDisplayString","_mergeProps","_useModel","_createElementVNode","_hoisted_2","Icon","_hoisted_3","_hoisted_4","kdsTypeIconNames","_createVNode","KdsButton","_renderSlot","$slots","PromiseUtils.createUnwrappedPromise","_createSlots","_Fragment","_renderList","_withCtx","_normalizeProps","_guardReactiveProps"],"mappings":"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","x_google_ignoreList":[14]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knime/kds-components",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "Package containing basic Vue components of the KNIME Design System",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@knime/utils": "^1.8.0",
|
|
38
38
|
"consola": "^3.4.2",
|
|
39
|
-
"@knime/kds-styles": "^0.5.
|
|
39
|
+
"@knime/kds-styles": "^0.5.4"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@storybook/vue3-vite": "^10.1.4",
|