@knime/product-features 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/nodes.css +21 -21
- package/dist/nodes.js +1 -1
- package/dist/nodes.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @knime/product-features
|
|
2
2
|
|
|
3
|
+
## 1.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d8bb77a: Kds 948 Rename tokens for components and metanodes to its real purpose
|
|
8
|
+
|
|
9
|
+
- Adjust token names
|
|
10
|
+
- Adjust node template
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [d8bb77a]
|
|
13
|
+
- @knime/kds-styles@2.0.1
|
|
14
|
+
- @knime/kds-components@2.0.1
|
|
15
|
+
|
|
3
16
|
## 1.2.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
package/dist/nodes.css
CHANGED
|
@@ -110,63 +110,63 @@
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.bg {
|
|
113
|
-
&[data-v-
|
|
113
|
+
&[data-v-2389897b] {
|
|
114
114
|
/** default color is unknown */
|
|
115
115
|
fill: var(--kds-color-nodes-and-variables-unknown);
|
|
116
116
|
|
|
117
117
|
/** Virtual = Components */
|
|
118
118
|
}
|
|
119
|
-
&.component[data-v-
|
|
120
|
-
fill: var(--kds-color-nodes-and-variables-
|
|
119
|
+
&.component[data-v-2389897b] {
|
|
120
|
+
fill: var(--kds-color-nodes-and-variables-component);
|
|
121
121
|
}
|
|
122
|
-
&[data-type="Configuration"][data-v-
|
|
122
|
+
&[data-type="Configuration"][data-v-2389897b] {
|
|
123
123
|
fill: var(--kds-color-nodes-and-variables-configuration);
|
|
124
124
|
}
|
|
125
|
-
&[data-type="Container"][data-v-
|
|
125
|
+
&[data-type="Container"][data-v-2389897b] {
|
|
126
126
|
fill: var(--kds-color-nodes-and-variables-container);
|
|
127
127
|
}
|
|
128
|
-
&[data-type="Learner"][data-v-
|
|
128
|
+
&[data-type="Learner"][data-v-2389897b] {
|
|
129
129
|
fill: var(--kds-color-nodes-and-variables-learner);
|
|
130
130
|
}
|
|
131
|
-
&[data-type="Loop"][data-v-
|
|
131
|
+
&[data-type="Loop"][data-v-2389897b] {
|
|
132
132
|
fill: var(--kds-color-nodes-and-variables-loop);
|
|
133
133
|
}
|
|
134
|
-
&[data-type="LoopEnd"][data-v-
|
|
134
|
+
&[data-type="LoopEnd"][data-v-2389897b] {
|
|
135
135
|
fill: var(--kds-color-nodes-and-variables-loop);
|
|
136
136
|
}
|
|
137
|
-
&[data-type="LoopStart"][data-v-
|
|
137
|
+
&[data-type="LoopStart"][data-v-2389897b] {
|
|
138
138
|
fill: var(--kds-color-nodes-and-variables-loop);
|
|
139
139
|
}
|
|
140
|
-
&[data-type="Manipulator"][data-v-
|
|
140
|
+
&[data-type="Manipulator"][data-v-2389897b] {
|
|
141
141
|
fill: var(--kds-color-nodes-and-variables-manipulator);
|
|
142
142
|
}
|
|
143
|
-
&[data-type="Other"][data-v-
|
|
143
|
+
&[data-type="Other"][data-v-2389897b] {
|
|
144
144
|
fill: var(--kds-color-nodes-and-variables-other);
|
|
145
145
|
}
|
|
146
|
-
&[data-type="Predictor"][data-v-
|
|
146
|
+
&[data-type="Predictor"][data-v-2389897b] {
|
|
147
147
|
fill: var(--kds-color-nodes-and-variables-predictor);
|
|
148
148
|
}
|
|
149
|
-
&[data-type="ScopeEnd"][data-v-
|
|
149
|
+
&[data-type="ScopeEnd"][data-v-2389897b] {
|
|
150
150
|
fill: var(--kds-color-nodes-and-variables-scope);
|
|
151
151
|
}
|
|
152
|
-
&[data-type="ScopeStart"][data-v-
|
|
152
|
+
&[data-type="ScopeStart"][data-v-2389897b] {
|
|
153
153
|
fill: var(--kds-color-nodes-and-variables-scope);
|
|
154
154
|
}
|
|
155
|
-
&[data-type="Sink"][data-v-
|
|
155
|
+
&[data-type="Sink"][data-v-2389897b] {
|
|
156
156
|
fill: var(--kds-color-nodes-and-variables-sink);
|
|
157
157
|
}
|
|
158
|
-
&[data-type="Source"][data-v-
|
|
158
|
+
&[data-type="Source"][data-v-2389897b] {
|
|
159
159
|
fill: var(--kds-color-nodes-and-variables-source);
|
|
160
160
|
}
|
|
161
|
-
&[data-type="Visualizer"][data-v-
|
|
161
|
+
&[data-type="Visualizer"][data-v-2389897b] {
|
|
162
162
|
fill: var(--kds-color-nodes-and-variables-visualizer);
|
|
163
163
|
}
|
|
164
|
-
&[data-type="QuickForm"][data-v-
|
|
164
|
+
&[data-type="QuickForm"][data-v-2389897b] {
|
|
165
165
|
fill: var(--kds-color-nodes-and-variables-quickform);
|
|
166
166
|
}
|
|
167
|
-
&[data-type="VirtualIn"][data-v-
|
|
168
|
-
&[data-type="VirtualOut"][data-v-
|
|
169
|
-
fill: var(--kds-color-nodes-and-variables-
|
|
167
|
+
&[data-type="VirtualIn"][data-v-2389897b],
|
|
168
|
+
&[data-type="VirtualOut"][data-v-2389897b] {
|
|
169
|
+
fill: var(--kds-color-nodes-and-variables-component);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
|
package/dist/nodes.js
CHANGED
|
@@ -499,7 +499,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
499
499
|
}
|
|
500
500
|
});
|
|
501
501
|
|
|
502
|
-
const SVGNodeTorso = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
502
|
+
const SVGNodeTorso = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2389897b"]]);
|
|
503
503
|
|
|
504
504
|
const _hoisted_1 = ["data-size"];
|
|
505
505
|
const _hoisted_2 = ["viewBox", "width", "height"];
|
package/dist/nodes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sources":["../src/nodes/NodeDescriptionTabs/OptionsTab.vue","../src/nodes/PortIcon/constants.ts","../src/nodes/PortIcon/SVGPortIcon.vue","../src/nodes/PortIcon/PortIcon.vue","../src/nodes/NodeDescriptionTabs/PortTemplateInfo.vue","../src/nodes/NodeDescriptionTabs/PortGroup.vue","../src/nodes/NodeDescriptionTabs/PortsTab.vue","../src/nodes/NodeDescriptionTabs/ViewsTab.vue","../src/nodes/NodeDescriptionTabs/NodeDescriptionTabs.vue","../src/nodes/NodePreview/constants.ts","../src/nodes/NodePreview/SVGNodeTorso.vue","../src/nodes/NodePreview/NodePreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport {\n KdsAccordion,\n type KdsAccordionItem,\n KdsDescription,\n} from \"@knime/kds-components\";\n\nimport type { NodeDescriptionOptions } from \"./types\";\n\ntype Props = {\n options: Array<NodeDescriptionOptions>;\n renderAsHtml?: boolean;\n};\n\nconst { options, renderAsHtml } = defineProps<Props>();\n\ntype AccordionItemWithContent = KdsAccordionItem & {\n description?: string;\n content: NodeDescriptionOptions[\"fields\"];\n};\n\nconst accordionItems = computed<AccordionItemWithContent[]>(() => {\n return options.map(\n (option, index) =>\n ({\n id: `section-${index}`,\n headline: option.sectionName,\n description: option.sectionDescription,\n content: option.fields,\n }) satisfies AccordionItemWithContent,\n );\n});\n\nconst modelValue = ref<string[]>([]);\n</script>\n\n<template>\n <div>\n <KdsAccordion\n v-if=\"options.length > 1\"\n v-model=\"modelValue\"\n :items=\"accordionItems\"\n >\n <template v-for=\"item in accordionItems\" :key=\"item.id\" #[item.id]>\n <KdsDescription\n v-if=\"item.description\"\n :text=\"item.description\"\n :render-as-html=\"renderAsHtml\"\n class=\"section-description\"\n />\n\n <template v-for=\"field in item.content\" :key=\"field.name\">\n <div class=\"option-content\">\n <span class=\"name\">\n {{ field.name }} {{ field.optional ? \"(optional)\" : \"\" }}\n </span>\n\n <KdsDescription\n :text=\"field.description\"\n :render-as-html=\"renderAsHtml\"\n />\n </div>\n </template>\n </template>\n </KdsAccordion>\n\n <div v-if=\"options.length === 1\" class=\"single-option-wrapper\">\n <KdsDescription\n v-if=\"options[0].sectionDescription\"\n :text=\"options[0].sectionDescription\"\n :render-as-html=\"renderAsHtml\"\n class=\"section-description\"\n />\n\n <template v-for=\"field in options[0].fields\" :key=\"field.name\">\n <div class=\"option-content\">\n <span class=\"name\">\n {{ field.name }} {{ field.optional ? \"(optional)\" : \"\" }}\n </span>\n\n <KdsDescription\n :text=\"field.description\"\n :render-as-html=\"renderAsHtml\"\n />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<style scoped>\n.section-description {\n margin-bottom: var(--kds-spacing-container-1x);\n}\n\n.single-option-wrapper {\n display: flex;\n flex-direction: column;\n padding: var(--kds-spacing-container-1x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n}\n\n.option-content {\n & .name {\n font: var(--kds-font-base-title-small-strong);\n }\n}\n</style>\n","export const PORT_SIZE = 8; // px\nexport const PORT_STROKE_WIDTH = 1.4; // px\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { PORT_SIZE, PORT_STROKE_WIDTH } from \"./constants\";\nimport type { PortIconProps } from \"./types\";\n\nconst { filled = true, type, color } = defineProps<PortIconProps>();\n\nconst trianglePath = computed(() => {\n // draw triangle around middle point\n let [x1, y1, x2, y3] = [\n -PORT_SIZE / 2,\n -PORT_SIZE / 2,\n PORT_SIZE / 2,\n PORT_SIZE / 2,\n ];\n\n // y and d are chosen so the triangle (including strokeWidth) fits precisely in the port (portSize x portSize)\n /* eslint-disable no-magic-numbers */\n const d = Math.sqrt(5) / 2;\n const y = d / 2 + 1 / 4;\n /* eslint-enable no-magic-numbers */\n\n // move points towards the center of the triangle according to strokeWidth\n x1 += PORT_STROKE_WIDTH / 2;\n x2 -= PORT_STROKE_WIDTH * d;\n y1 += PORT_STROKE_WIDTH * y;\n y3 -= PORT_STROKE_WIDTH * y;\n\n // draw triangle clock-wise\n return `${x1},${y1} ${x2},${0} ${x1},${y3}`;\n});\n</script>\n\n<template>\n <!-- data table port -->\n <polygon\n v-if=\"type === 'table'\"\n :points=\"trianglePath\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n\n <!-- flow variable port -->\n <circle\n v-else-if=\"type === 'flowVariable'\"\n :r=\"PORT_SIZE / 2 - PORT_STROKE_WIDTH / 2\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n\n <!-- other port -->\n <rect\n v-else\n :width=\"PORT_SIZE - PORT_STROKE_WIDTH\"\n :height=\"PORT_SIZE - PORT_STROKE_WIDTH\"\n :x=\"-PORT_SIZE / 2 + PORT_STROKE_WIDTH / 2\"\n :y=\"-PORT_SIZE / 2 + PORT_STROKE_WIDTH / 2\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n</template>\n\n<style scoped>\n[data-type=\"flowVariable\"] {\n fill: transparent;\n stroke: var(--kds-color-port-flow-variable);\n\n &.filled {\n fill: var(--kds-color-port-flow-variable);\n }\n}\n\n[data-type=\"table\"] {\n fill: transparent;\n stroke: var(--kds-color-port-data);\n\n &.filled {\n fill: var(--kds-color-port-data);\n }\n}\n\n[data-type=\"other\"],\n[data-type=\"generic\"] {\n fill: transparent;\n\n /** dark mode for custom colors generated using oklch */\n --base: v-bind(color);\n --color: light-dark(\n var(--base),\n oklch(from var(--base) calc(1 - l * 0.8) c h)\n );\n\n stroke: var(--color);\n\n &.filled {\n fill: var(--color);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport SVGPortIcon from \"./SVGPortIcon.vue\";\nimport { PORT_SIZE } from \"./constants\";\nimport type { PortIconProps } from \"./types\";\n\nconst props = defineProps<PortIconProps>();\n\nconst viewBox = computed(() =>\n [-PORT_SIZE / 2, -PORT_SIZE / 2, PORT_SIZE, PORT_SIZE].join(\" \"),\n);\n</script>\n\n<template>\n <svg :viewBox=\"viewBox\" :width=\"PORT_SIZE\" :height=\"PORT_SIZE\">\n <SVGPortIcon v-bind=\"props\" />\n </svg>\n</template>\n","<script setup lang=\"ts\">\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport PortIcon from \"../PortIcon/PortIcon.vue\";\n\nimport type { PortTemplate } from \"./types\";\n\ntype Props = {\n port: PortTemplate;\n showDescription: boolean;\n};\n\ndefineProps<Props>();\n</script>\n\n<template>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <PortIcon\n :type=\"port.type\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n />\n </div>\n <span class=\"title\">Type: {{ port.typeDisplayName }}</span>\n\n <span class=\"name title\">Name: {{ port.name }}</span>\n\n <KdsDescription\n v-if=\"showDescription\"\n class=\"description\"\n :text=\"port.description\"\n render-as-html\n />\n </div>\n</template>\n\n<style scoped>\n.wrapper {\n display: grid;\n grid-template-columns: var(--kds-spacing-container-0-5x) 1fr;\n gap: var(--kds-spacing-container-0-5x);\n}\n\n.icon {\n display: flex;\n align-items: center;\n}\n\n.name,\n.description {\n grid-column: 2;\n}\n\n.title {\n font: var(--kds-font-base-title-small-strong);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport PortTemplateInfo from \"./PortTemplateInfo.vue\";\nimport type { PortTemplate } from \"./types\";\n\ntype Props = {\n name: string;\n description?: string;\n ports: Array<PortTemplate>;\n isDynamicGroup?: boolean;\n};\n\ndefineProps<Props>();\n</script>\n\n<template>\n <div class=\"port-group-card\">\n <span class=\"group-name\">{{ name }}</span>\n\n <KdsDescription v-if=\"description\" :text=\"description\" render-as-html />\n\n <template v-for=\"port in ports\" :key=\"port.id\">\n <PortTemplateInfo :port=\"port\" :show-description=\"!isDynamicGroup\" />\n </template>\n </div>\n</template>\n\n<style scoped>\n.port-group-card {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-75x);\n padding: var(--kds-spacing-container-1x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n\n & .group-name {\n font: var(--kds-font-base-title-small-strong);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport PortGroup from \"./PortGroup.vue\";\nimport type { DynamicPortGroup, PortTemplate } from \"./types\";\n\ntype Props = {\n inputPorts: Array<PortTemplate>;\n outputPorts: Array<PortTemplate>;\n dynamicInputGroups?: Array<DynamicPortGroup>;\n dynamicOutputGroups?: Array<DynamicPortGroup>;\n};\n\nconst { dynamicInputGroups = [], dynamicOutputGroups = [] } =\n defineProps<Props>();\n</script>\n\n<template>\n <div class=\"port-list\">\n <PortGroup\n v-if=\"inputPorts.length > 0\"\n name=\"Input ports\"\n :ports=\"inputPorts\"\n />\n\n <PortGroup\n v-if=\"outputPorts.length > 0\"\n name=\"Output ports\"\n :ports=\"outputPorts\"\n />\n\n <template v-for=\"group in dynamicInputGroups\" :key=\"group.name\">\n <PortGroup\n v-if=\"group.types.length > 0\"\n :name=\"group.name + ' (Dynamic Inport)'\"\n :description=\"group.description\"\n :ports=\"group.types\"\n is-dynamic-group\n />\n </template>\n\n <template v-for=\"group in dynamicOutputGroups\" :key=\"group.name\">\n <PortGroup\n v-if=\"group.types.length > 0\"\n :name=\"group.name + ' (Dynamic Outport)'\"\n :description=\"group.description\"\n :ports=\"group.types\"\n is-dynamic-group\n />\n </template>\n </div>\n</template>\n\n<style scoped>\n.port-list {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-5x);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport type { NodeDescriptionView } from \"./types\";\n\ntype Props = {\n views: Array<NodeDescriptionView>;\n};\n\nconst props = defineProps<Props>();\n\nconst viewsWithId = computed<Array<NodeDescriptionView & { id: string }>>(() =>\n props.views.map((view, index) => {\n const id = `view-${index}`;\n return { id, ...view };\n }),\n);\n</script>\n\n<template>\n <div v-for=\"view in viewsWithId\" :key=\"view.id\" class=\"card-wrapper\">\n <span class=\"name\">{{ view.name }}</span>\n <KdsDescription\n v-if=\"view.description\"\n :text=\"view.description\"\n render-as-html\n />\n </div>\n</template>\n\n<style scoped>\n.card-wrapper {\n display: flex;\n flex-direction: column;\n padding: var(--kds-spacing-container-1x);\n margin-bottom: var(--kds-spacing-container-0-25x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n}\n\n.name {\n font: var(--kds-font-base-title-small-strong);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport {\n KdsEmptyState,\n KdsTabBar,\n type KdsTabBarItem,\n} from \"@knime/kds-components\";\n\nimport OptionsTab from \"./OptionsTab.vue\";\nimport PortsTab from \"./PortsTab.vue\";\nimport ViewsTab from \"./ViewsTab.vue\";\nimport type { NodeDescriptionTabsProps } from \"./types\";\n\nconst {\n inputPorts = [],\n outputPorts = [],\n dynamicInputPorts = [],\n dynamicOutputPorts = [],\n optionsData = [],\n viewsData = [],\n emptyText = \"No ports, options or views available.\",\n renderAsHtml = false,\n tabBarFullWidth = false,\n} = defineProps<NodeDescriptionTabsProps>();\n\nconst TAB_IDS = {\n PORTS: \"ports\",\n OPTIONS: \"options\",\n VIEW: \"view\",\n} as const;\n\ntype TabIds = (typeof TAB_IDS)[keyof typeof TAB_IDS];\n\nconst activeTab = ref<TabIds | undefined>();\n\nconst hasPorts = computed(\n () =>\n inputPorts.length > 0 ||\n outputPorts.length > 0 ||\n dynamicInputPorts.length > 0 ||\n dynamicOutputPorts.length > 0,\n);\n\nconst tabs = computed<KdsTabBarItem[]>(() => [\n {\n id: \"tab-ports\",\n value: TAB_IDS.PORTS,\n label: \"Ports\",\n panelId: \"panel-ports\",\n accessory: {\n type: \"icon\",\n name: \"connection\",\n },\n disabled: !hasPorts.value,\n },\n {\n id: \"tab-options\",\n value: TAB_IDS.OPTIONS,\n label: \"Options\",\n panelId: \"panel-options\",\n accessory: {\n type: \"icon\",\n name: \"parameter\",\n },\n disabled: optionsData.length < 1,\n },\n {\n id: \"tab-view\",\n value: TAB_IDS.VIEW,\n label: \"View\",\n panelId: \"panel-view\",\n accessory: {\n type: \"icon\",\n name: \"eye\",\n },\n disabled: viewsData.length < 1,\n },\n]);\n</script>\n\n<template>\n <div>\n <KdsTabBar\n v-model=\"activeTab\"\n :full-width=\"tabBarFullWidth\"\n size=\"small\"\n :tabs=\"tabs\"\n />\n\n <div class=\"content\">\n <PortsTab\n v-if=\"activeTab === TAB_IDS.PORTS\"\n id=\"panel-ports\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-ports\"\n tabindex=\"0\"\n :input-ports=\"inputPorts\"\n :output-ports=\"outputPorts\"\n :dynamic-input-groups=\"dynamicInputPorts\"\n :dynamic-output-groups=\"dynamicOutputPorts\"\n />\n\n <OptionsTab\n v-if=\"activeTab === TAB_IDS.OPTIONS\"\n id=\"panel-options\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-options\"\n tabindex=\"0\"\n :options=\"optionsData\"\n :render-as-html=\"renderAsHtml\"\n />\n\n <ViewsTab\n v-if=\"activeTab === TAB_IDS.VIEW\"\n id=\"panel-view\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-view\"\n tabindex=\"0\"\n :views=\"viewsData\"\n />\n\n <KdsEmptyState\n v-if=\"!activeTab\"\n :headline=\"emptyText\"\n class=\"empty-state\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.content {\n padding: var(--kds-spacing-container-0-5x) 0;\n color: var(--kds-color-text-and-icon-neutral);\n}\n\n.empty-state {\n margin: 0 auto;\n}\n</style>\n","export const NODE_SIZE = 32;\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { NODE_SIZE } from \"./constants\";\nimport type { NodeTorsoProps } from \"./types\";\n\n/**\n * Draws the Torso (colored rounded rectangle with icon) of a Node or Component\n * This vue component only draws regular Nodes/Components, no Metanodes, no Unknown nor Missing Nodes\n * Only works inside of a <svg> element.\n */\nconst backgroundPaths: Record<string, string> = {\n default:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0l26.3,0C30.7,0,32,1.3,32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H2.8C1.3,32,0,30.\" +\n \"7,0,29.2z\",\n LoopEnd:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H4L0,16.1L4,0l25.2,0C30.7,0,32,1.3,32,2.8z\",\n LoopStart:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-4,15.9L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n ScopeEnd:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H4L0,16.1L4,0l25.2,0C30.7,0,32,1.3,32,2.8z\",\n ScopeStart:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-4,15.9L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n VirtualIn:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H6.5L0,25.9l5.2-10L0.7,7.2L6.5,0l22.7,0C30.7,0,32,1.3,32,2.8z\",\n VirtualOut:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-5.8,7.2l4.5,8.7l-5.2,10L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n};\n\nconst componentBackgroundPortion = 0.75;\n\nconst {\n type = null,\n isComponent = false,\n icon = null,\n} = defineProps<NodeTorsoProps>();\n\nconst backgroundPath = computed(\n () => (type && backgroundPaths[type]) || backgroundPaths.default,\n);\n\nconst componentBackgroundTransformation = computed(() => {\n const offset = NODE_SIZE / 2;\n const scaleFactor = componentBackgroundPortion;\n return `translate(${offset}, ${offset}) scale(${scaleFactor}) translate(-${offset}, -${offset})`;\n});\n</script>\n\n<template>\n <g>\n <path\n :d=\"backgroundPath\"\n :class=\"['bg', { component: isComponent }]\"\n :data-type=\"isComponent ? null : type\"\n />\n <!-- components may have two layers of background. This is the inner part, a shrunk version of the outer frame -->\n <path\n v-if=\"isComponent && type\"\n :d=\"backgroundPath\"\n class=\"bg\"\n :data-type=\"type\"\n :transform=\"componentBackgroundTransformation\"\n />\n <image\n v-if=\"icon\"\n :xlink:href=\"icon\"\n x=\"8\"\n y=\"8\"\n width=\"16\"\n height=\"16\"\n pointer-events=\"none\"\n />\n </g>\n</template>\n\n<style scoped>\n.bg {\n /** default color is unknown */\n fill: var(--kds-color-nodes-and-variables-unknown);\n\n &.component {\n fill: var(--kds-color-nodes-and-variables-special-nodes);\n }\n\n &[data-type=\"Configuration\"] {\n fill: var(--kds-color-nodes-and-variables-configuration);\n }\n\n &[data-type=\"Container\"] {\n fill: var(--kds-color-nodes-and-variables-container);\n }\n\n &[data-type=\"Learner\"] {\n fill: var(--kds-color-nodes-and-variables-learner);\n }\n\n &[data-type=\"Loop\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"LoopEnd\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"LoopStart\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"Manipulator\"] {\n fill: var(--kds-color-nodes-and-variables-manipulator);\n }\n\n &[data-type=\"Other\"] {\n fill: var(--kds-color-nodes-and-variables-other);\n }\n\n &[data-type=\"Predictor\"] {\n fill: var(--kds-color-nodes-and-variables-predictor);\n }\n\n &[data-type=\"ScopeEnd\"] {\n fill: var(--kds-color-nodes-and-variables-scope);\n }\n\n &[data-type=\"ScopeStart\"] {\n fill: var(--kds-color-nodes-and-variables-scope);\n }\n\n &[data-type=\"Sink\"] {\n fill: var(--kds-color-nodes-and-variables-sink);\n }\n\n &[data-type=\"Source\"] {\n fill: var(--kds-color-nodes-and-variables-source);\n }\n\n &[data-type=\"Visualizer\"] {\n fill: var(--kds-color-nodes-and-variables-visualizer);\n }\n\n &[data-type=\"QuickForm\"] {\n fill: var(--kds-color-nodes-and-variables-quickform);\n }\n\n /** Virtual = Components */\n &[data-type=\"VirtualIn\"],\n &[data-type=\"VirtualOut\"] {\n fill: var(--kds-color-nodes-and-variables-special-nodes);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { KdsIcon } from \"@knime/kds-components\";\n\nimport SVGPortIcon from \"../PortIcon/SVGPortIcon.vue\";\nimport { PORT_SIZE } from \"../PortIcon/constants\";\n\nimport SVGNodeTorso from \"./SVGNodeTorso.vue\";\nimport { NODE_SIZE } from \"./constants\";\nimport type { NodePreviewProps, Port } from \"./types\";\n\n/**\n * SVG icon preview for a node or component, generated from its attributes\n */\nconst {\n type = null,\n isComponent = false,\n inPorts = [],\n outPorts = [],\n hidePorts = false,\n hideIndicators = false,\n size = \"xlarge\",\n indicatorIcon = undefined,\n icon = null,\n} = defineProps<NodePreviewProps>();\n\nconst horizontalSpaceForPorts = computed(() => (hidePorts ? 0 : PORT_SIZE));\n\nconst width = computed(() => NODE_SIZE + 2 * horizontalSpaceForPorts.value);\nconst height = NODE_SIZE;\nconst viewBox = computed(\n () => `-${horizontalSpaceForPorts.value} 0 ${width.value} ${height}`,\n);\n\n// top edge of port icon relative to 32x32 background\nfunction yPortShift(index: number, total: number): number {\n /* eslint-disable no-magic-numbers */\n let spacing = 1;\n if (total === 2) {\n spacing = 12;\n } else if (total === 3) {\n spacing = 2;\n }\n /* eslint-enable no-magic-numbers */\n\n const totalHeight = total * PORT_SIZE + (total - 1) * spacing;\n const delta = (NODE_SIZE - totalHeight) / 2;\n return (spacing + PORT_SIZE) * index + delta + PORT_SIZE / 2;\n}\n\nconst maxShownPorts = 3;\n\nconst cutOffPorts = (ports: Port[]) => {\n if (ports.length > maxShownPorts) {\n return [...ports.slice(0, maxShownPorts)];\n }\n return ports;\n};\n\nconst visibleInPorts = computed(() => cutOffPorts(inPorts));\nconst visibleOutPorts = computed(() => cutOffPorts(outPorts));\nconst numberOfHiddenPorts = computed(\n () =>\n inPorts.length -\n visibleInPorts.value.length +\n outPorts.length -\n visibleOutPorts.value.length,\n);\n</script>\n\n<template>\n <div class=\"node-preview\" :data-size=\"size\">\n <svg :viewBox=\"viewBox\" :width=\"width\" :height=\"height\">\n <SVGNodeTorso :type=\"type\" :icon=\"icon\" :is-component=\"isComponent\" />\n <template v-if=\"!hidePorts\">\n <SVGPortIcon\n v-for=\"(port, index) in visibleInPorts\"\n :key=\"`in-${index}`\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n :type=\"port.type\"\n :transform=\"`translate(-${PORT_SIZE / 2}, ${yPortShift(index, visibleInPorts.length)})`\"\n />\n <SVGPortIcon\n v-for=\"(port, index) in visibleOutPorts\"\n :key=\"`out-${index}`\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n :type=\"port.type\"\n :transform=\"`translate(${NODE_SIZE + PORT_SIZE / 2}, ${yPortShift(index, visibleOutPorts.length)})`\"\n />\n </template>\n </svg>\n <div v-if=\"!hideIndicators\" class=\"indicators\">\n <KdsIcon v-if=\"indicatorIcon\" :name=\"indicatorIcon\" size=\"small\" />\n <KdsIcon\n v-if=\"numberOfHiddenPorts > 0 && !hidePorts\"\n name=\"more-connections\"\n aria-label=\"Indication that some ports are hidden\"\n size=\"small\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.node-preview {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-25x);\n width: calc(v-bind(width) * 1px);\n\n &[data-size=\"small\"] {\n transform: scale(calc(12 / v-bind(NODE_SIZE)));\n }\n\n &[data-size=\"medium\"] {\n transform: scale(0.5);\n }\n\n & .indicators {\n display: flex;\n gap: var(--kds-spacing-container-0-25x);\n justify-content: center;\n height: var(--kds-dimension-icon-0-75x);\n }\n}\n</style>\n"],"names":["_createElementBlock","_createBlock","_unref","_renderList","_openBlock","_Fragment","_createElementVNode","_hoisted_1","_toDisplayString","_createVNode","_hoisted_2","_hoisted_3","_mergeProps","$attrs","PortIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodes.js","sources":["../src/nodes/NodeDescriptionTabs/OptionsTab.vue","../src/nodes/PortIcon/constants.ts","../src/nodes/PortIcon/SVGPortIcon.vue","../src/nodes/PortIcon/PortIcon.vue","../src/nodes/NodeDescriptionTabs/PortTemplateInfo.vue","../src/nodes/NodeDescriptionTabs/PortGroup.vue","../src/nodes/NodeDescriptionTabs/PortsTab.vue","../src/nodes/NodeDescriptionTabs/ViewsTab.vue","../src/nodes/NodeDescriptionTabs/NodeDescriptionTabs.vue","../src/nodes/NodePreview/constants.ts","../src/nodes/NodePreview/SVGNodeTorso.vue","../src/nodes/NodePreview/NodePreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport {\n KdsAccordion,\n type KdsAccordionItem,\n KdsDescription,\n} from \"@knime/kds-components\";\n\nimport type { NodeDescriptionOptions } from \"./types\";\n\ntype Props = {\n options: Array<NodeDescriptionOptions>;\n renderAsHtml?: boolean;\n};\n\nconst { options, renderAsHtml } = defineProps<Props>();\n\ntype AccordionItemWithContent = KdsAccordionItem & {\n description?: string;\n content: NodeDescriptionOptions[\"fields\"];\n};\n\nconst accordionItems = computed<AccordionItemWithContent[]>(() => {\n return options.map(\n (option, index) =>\n ({\n id: `section-${index}`,\n headline: option.sectionName,\n description: option.sectionDescription,\n content: option.fields,\n }) satisfies AccordionItemWithContent,\n );\n});\n\nconst modelValue = ref<string[]>([]);\n</script>\n\n<template>\n <div>\n <KdsAccordion\n v-if=\"options.length > 1\"\n v-model=\"modelValue\"\n :items=\"accordionItems\"\n >\n <template v-for=\"item in accordionItems\" :key=\"item.id\" #[item.id]>\n <KdsDescription\n v-if=\"item.description\"\n :text=\"item.description\"\n :render-as-html=\"renderAsHtml\"\n class=\"section-description\"\n />\n\n <template v-for=\"field in item.content\" :key=\"field.name\">\n <div class=\"option-content\">\n <span class=\"name\">\n {{ field.name }} {{ field.optional ? \"(optional)\" : \"\" }}\n </span>\n\n <KdsDescription\n :text=\"field.description\"\n :render-as-html=\"renderAsHtml\"\n />\n </div>\n </template>\n </template>\n </KdsAccordion>\n\n <div v-if=\"options.length === 1\" class=\"single-option-wrapper\">\n <KdsDescription\n v-if=\"options[0].sectionDescription\"\n :text=\"options[0].sectionDescription\"\n :render-as-html=\"renderAsHtml\"\n class=\"section-description\"\n />\n\n <template v-for=\"field in options[0].fields\" :key=\"field.name\">\n <div class=\"option-content\">\n <span class=\"name\">\n {{ field.name }} {{ field.optional ? \"(optional)\" : \"\" }}\n </span>\n\n <KdsDescription\n :text=\"field.description\"\n :render-as-html=\"renderAsHtml\"\n />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<style scoped>\n.section-description {\n margin-bottom: var(--kds-spacing-container-1x);\n}\n\n.single-option-wrapper {\n display: flex;\n flex-direction: column;\n padding: var(--kds-spacing-container-1x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n}\n\n.option-content {\n & .name {\n font: var(--kds-font-base-title-small-strong);\n }\n}\n</style>\n","export const PORT_SIZE = 8; // px\nexport const PORT_STROKE_WIDTH = 1.4; // px\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { PORT_SIZE, PORT_STROKE_WIDTH } from \"./constants\";\nimport type { PortIconProps } from \"./types\";\n\nconst { filled = true, type, color } = defineProps<PortIconProps>();\n\nconst trianglePath = computed(() => {\n // draw triangle around middle point\n let [x1, y1, x2, y3] = [\n -PORT_SIZE / 2,\n -PORT_SIZE / 2,\n PORT_SIZE / 2,\n PORT_SIZE / 2,\n ];\n\n // y and d are chosen so the triangle (including strokeWidth) fits precisely in the port (portSize x portSize)\n /* eslint-disable no-magic-numbers */\n const d = Math.sqrt(5) / 2;\n const y = d / 2 + 1 / 4;\n /* eslint-enable no-magic-numbers */\n\n // move points towards the center of the triangle according to strokeWidth\n x1 += PORT_STROKE_WIDTH / 2;\n x2 -= PORT_STROKE_WIDTH * d;\n y1 += PORT_STROKE_WIDTH * y;\n y3 -= PORT_STROKE_WIDTH * y;\n\n // draw triangle clock-wise\n return `${x1},${y1} ${x2},${0} ${x1},${y3}`;\n});\n</script>\n\n<template>\n <!-- data table port -->\n <polygon\n v-if=\"type === 'table'\"\n :points=\"trianglePath\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n\n <!-- flow variable port -->\n <circle\n v-else-if=\"type === 'flowVariable'\"\n :r=\"PORT_SIZE / 2 - PORT_STROKE_WIDTH / 2\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n\n <!-- other port -->\n <rect\n v-else\n :width=\"PORT_SIZE - PORT_STROKE_WIDTH\"\n :height=\"PORT_SIZE - PORT_STROKE_WIDTH\"\n :x=\"-PORT_SIZE / 2 + PORT_STROKE_WIDTH / 2\"\n :y=\"-PORT_SIZE / 2 + PORT_STROKE_WIDTH / 2\"\n :class=\"{ filled }\"\n :data-type=\"type\"\n :stroke-width=\"PORT_STROKE_WIDTH\"\n v-bind=\"$attrs\"\n />\n</template>\n\n<style scoped>\n[data-type=\"flowVariable\"] {\n fill: transparent;\n stroke: var(--kds-color-port-flow-variable);\n\n &.filled {\n fill: var(--kds-color-port-flow-variable);\n }\n}\n\n[data-type=\"table\"] {\n fill: transparent;\n stroke: var(--kds-color-port-data);\n\n &.filled {\n fill: var(--kds-color-port-data);\n }\n}\n\n[data-type=\"other\"],\n[data-type=\"generic\"] {\n fill: transparent;\n\n /** dark mode for custom colors generated using oklch */\n --base: v-bind(color);\n --color: light-dark(\n var(--base),\n oklch(from var(--base) calc(1 - l * 0.8) c h)\n );\n\n stroke: var(--color);\n\n &.filled {\n fill: var(--color);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport SVGPortIcon from \"./SVGPortIcon.vue\";\nimport { PORT_SIZE } from \"./constants\";\nimport type { PortIconProps } from \"./types\";\n\nconst props = defineProps<PortIconProps>();\n\nconst viewBox = computed(() =>\n [-PORT_SIZE / 2, -PORT_SIZE / 2, PORT_SIZE, PORT_SIZE].join(\" \"),\n);\n</script>\n\n<template>\n <svg :viewBox=\"viewBox\" :width=\"PORT_SIZE\" :height=\"PORT_SIZE\">\n <SVGPortIcon v-bind=\"props\" />\n </svg>\n</template>\n","<script setup lang=\"ts\">\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport PortIcon from \"../PortIcon/PortIcon.vue\";\n\nimport type { PortTemplate } from \"./types\";\n\ntype Props = {\n port: PortTemplate;\n showDescription: boolean;\n};\n\ndefineProps<Props>();\n</script>\n\n<template>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <PortIcon\n :type=\"port.type\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n />\n </div>\n <span class=\"title\">Type: {{ port.typeDisplayName }}</span>\n\n <span class=\"name title\">Name: {{ port.name }}</span>\n\n <KdsDescription\n v-if=\"showDescription\"\n class=\"description\"\n :text=\"port.description\"\n render-as-html\n />\n </div>\n</template>\n\n<style scoped>\n.wrapper {\n display: grid;\n grid-template-columns: var(--kds-spacing-container-0-5x) 1fr;\n gap: var(--kds-spacing-container-0-5x);\n}\n\n.icon {\n display: flex;\n align-items: center;\n}\n\n.name,\n.description {\n grid-column: 2;\n}\n\n.title {\n font: var(--kds-font-base-title-small-strong);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport PortTemplateInfo from \"./PortTemplateInfo.vue\";\nimport type { PortTemplate } from \"./types\";\n\ntype Props = {\n name: string;\n description?: string;\n ports: Array<PortTemplate>;\n isDynamicGroup?: boolean;\n};\n\ndefineProps<Props>();\n</script>\n\n<template>\n <div class=\"port-group-card\">\n <span class=\"group-name\">{{ name }}</span>\n\n <KdsDescription v-if=\"description\" :text=\"description\" render-as-html />\n\n <template v-for=\"port in ports\" :key=\"port.id\">\n <PortTemplateInfo :port=\"port\" :show-description=\"!isDynamicGroup\" />\n </template>\n </div>\n</template>\n\n<style scoped>\n.port-group-card {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-75x);\n padding: var(--kds-spacing-container-1x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n\n & .group-name {\n font: var(--kds-font-base-title-small-strong);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport PortGroup from \"./PortGroup.vue\";\nimport type { DynamicPortGroup, PortTemplate } from \"./types\";\n\ntype Props = {\n inputPorts: Array<PortTemplate>;\n outputPorts: Array<PortTemplate>;\n dynamicInputGroups?: Array<DynamicPortGroup>;\n dynamicOutputGroups?: Array<DynamicPortGroup>;\n};\n\nconst { dynamicInputGroups = [], dynamicOutputGroups = [] } =\n defineProps<Props>();\n</script>\n\n<template>\n <div class=\"port-list\">\n <PortGroup\n v-if=\"inputPorts.length > 0\"\n name=\"Input ports\"\n :ports=\"inputPorts\"\n />\n\n <PortGroup\n v-if=\"outputPorts.length > 0\"\n name=\"Output ports\"\n :ports=\"outputPorts\"\n />\n\n <template v-for=\"group in dynamicInputGroups\" :key=\"group.name\">\n <PortGroup\n v-if=\"group.types.length > 0\"\n :name=\"group.name + ' (Dynamic Inport)'\"\n :description=\"group.description\"\n :ports=\"group.types\"\n is-dynamic-group\n />\n </template>\n\n <template v-for=\"group in dynamicOutputGroups\" :key=\"group.name\">\n <PortGroup\n v-if=\"group.types.length > 0\"\n :name=\"group.name + ' (Dynamic Outport)'\"\n :description=\"group.description\"\n :ports=\"group.types\"\n is-dynamic-group\n />\n </template>\n </div>\n</template>\n\n<style scoped>\n.port-list {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-5x);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { KdsDescription } from \"@knime/kds-components\";\n\nimport type { NodeDescriptionView } from \"./types\";\n\ntype Props = {\n views: Array<NodeDescriptionView>;\n};\n\nconst props = defineProps<Props>();\n\nconst viewsWithId = computed<Array<NodeDescriptionView & { id: string }>>(() =>\n props.views.map((view, index) => {\n const id = `view-${index}`;\n return { id, ...view };\n }),\n);\n</script>\n\n<template>\n <div v-for=\"view in viewsWithId\" :key=\"view.id\" class=\"card-wrapper\">\n <span class=\"name\">{{ view.name }}</span>\n <KdsDescription\n v-if=\"view.description\"\n :text=\"view.description\"\n render-as-html\n />\n </div>\n</template>\n\n<style scoped>\n.card-wrapper {\n display: flex;\n flex-direction: column;\n padding: var(--kds-spacing-container-1x);\n margin-bottom: var(--kds-spacing-container-0-25x);\n background: var(--kds-color-surface-muted);\n border-radius: var(--kds-border-radius-container-0-37x);\n}\n\n.name {\n font: var(--kds-font-base-title-small-strong);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nimport {\n KdsEmptyState,\n KdsTabBar,\n type KdsTabBarItem,\n} from \"@knime/kds-components\";\n\nimport OptionsTab from \"./OptionsTab.vue\";\nimport PortsTab from \"./PortsTab.vue\";\nimport ViewsTab from \"./ViewsTab.vue\";\nimport type { NodeDescriptionTabsProps } from \"./types\";\n\nconst {\n inputPorts = [],\n outputPorts = [],\n dynamicInputPorts = [],\n dynamicOutputPorts = [],\n optionsData = [],\n viewsData = [],\n emptyText = \"No ports, options or views available.\",\n renderAsHtml = false,\n tabBarFullWidth = false,\n} = defineProps<NodeDescriptionTabsProps>();\n\nconst TAB_IDS = {\n PORTS: \"ports\",\n OPTIONS: \"options\",\n VIEW: \"view\",\n} as const;\n\ntype TabIds = (typeof TAB_IDS)[keyof typeof TAB_IDS];\n\nconst activeTab = ref<TabIds | undefined>();\n\nconst hasPorts = computed(\n () =>\n inputPorts.length > 0 ||\n outputPorts.length > 0 ||\n dynamicInputPorts.length > 0 ||\n dynamicOutputPorts.length > 0,\n);\n\nconst tabs = computed<KdsTabBarItem[]>(() => [\n {\n id: \"tab-ports\",\n value: TAB_IDS.PORTS,\n label: \"Ports\",\n panelId: \"panel-ports\",\n accessory: {\n type: \"icon\",\n name: \"connection\",\n },\n disabled: !hasPorts.value,\n },\n {\n id: \"tab-options\",\n value: TAB_IDS.OPTIONS,\n label: \"Options\",\n panelId: \"panel-options\",\n accessory: {\n type: \"icon\",\n name: \"parameter\",\n },\n disabled: optionsData.length < 1,\n },\n {\n id: \"tab-view\",\n value: TAB_IDS.VIEW,\n label: \"View\",\n panelId: \"panel-view\",\n accessory: {\n type: \"icon\",\n name: \"eye\",\n },\n disabled: viewsData.length < 1,\n },\n]);\n</script>\n\n<template>\n <div>\n <KdsTabBar\n v-model=\"activeTab\"\n :full-width=\"tabBarFullWidth\"\n size=\"small\"\n :tabs=\"tabs\"\n />\n\n <div class=\"content\">\n <PortsTab\n v-if=\"activeTab === TAB_IDS.PORTS\"\n id=\"panel-ports\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-ports\"\n tabindex=\"0\"\n :input-ports=\"inputPorts\"\n :output-ports=\"outputPorts\"\n :dynamic-input-groups=\"dynamicInputPorts\"\n :dynamic-output-groups=\"dynamicOutputPorts\"\n />\n\n <OptionsTab\n v-if=\"activeTab === TAB_IDS.OPTIONS\"\n id=\"panel-options\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-options\"\n tabindex=\"0\"\n :options=\"optionsData\"\n :render-as-html=\"renderAsHtml\"\n />\n\n <ViewsTab\n v-if=\"activeTab === TAB_IDS.VIEW\"\n id=\"panel-view\"\n role=\"tabpanel\"\n aria-labelledby=\"tab-view\"\n tabindex=\"0\"\n :views=\"viewsData\"\n />\n\n <KdsEmptyState\n v-if=\"!activeTab\"\n :headline=\"emptyText\"\n class=\"empty-state\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.content {\n padding: var(--kds-spacing-container-0-5x) 0;\n color: var(--kds-color-text-and-icon-neutral);\n}\n\n.empty-state {\n margin: 0 auto;\n}\n</style>\n","export const NODE_SIZE = 32;\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { NODE_SIZE } from \"./constants\";\nimport type { NodeTorsoProps } from \"./types\";\n\n/**\n * Draws the Torso (colored rounded rectangle with icon) of a Node or Component\n * This vue component only draws regular Nodes/Components, no Metanodes, no Unknown nor Missing Nodes\n * Only works inside of a <svg> element.\n */\nconst backgroundPaths: Record<string, string> = {\n default:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0l26.3,0C30.7,0,32,1.3,32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H2.8C1.3,32,0,30.\" +\n \"7,0,29.2z\",\n LoopEnd:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H4L0,16.1L4,0l25.2,0C30.7,0,32,1.3,32,2.8z\",\n LoopStart:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-4,15.9L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n ScopeEnd:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H4L0,16.1L4,0l25.2,0C30.7,0,32,1.3,32,2.8z\",\n ScopeStart:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-4,15.9L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n VirtualIn:\n \"M32,2.8v26.3c0,1.6-1.3,2.8-2.8,2.8H6.5L0,25.9l5.2-10L0.7,7.2L6.5,0l22.7,0C30.7,0,32,1.3,32,2.8z\",\n VirtualOut:\n \"M0,29.2L0,2.8C0,1.3,1.3,0,2.8,0L32,0l-5.8,7.2l4.5,8.7l-5.2,10L32,32H2.8C1.3,32,0,30.7,0,29.2z\",\n};\n\nconst componentBackgroundPortion = 0.75;\n\nconst {\n type = null,\n isComponent = false,\n icon = null,\n} = defineProps<NodeTorsoProps>();\n\nconst backgroundPath = computed(\n () => (type && backgroundPaths[type]) || backgroundPaths.default,\n);\n\nconst componentBackgroundTransformation = computed(() => {\n const offset = NODE_SIZE / 2;\n const scaleFactor = componentBackgroundPortion;\n return `translate(${offset}, ${offset}) scale(${scaleFactor}) translate(-${offset}, -${offset})`;\n});\n</script>\n\n<template>\n <g>\n <path\n :d=\"backgroundPath\"\n :class=\"['bg', { component: isComponent }]\"\n :data-type=\"isComponent ? null : type\"\n />\n <!-- components may have two layers of background. This is the inner part, a shrunk version of the outer frame -->\n <path\n v-if=\"isComponent && type\"\n :d=\"backgroundPath\"\n class=\"bg\"\n :data-type=\"type\"\n :transform=\"componentBackgroundTransformation\"\n />\n <image\n v-if=\"icon\"\n :xlink:href=\"icon\"\n x=\"8\"\n y=\"8\"\n width=\"16\"\n height=\"16\"\n pointer-events=\"none\"\n />\n </g>\n</template>\n\n<style scoped>\n.bg {\n /** default color is unknown */\n fill: var(--kds-color-nodes-and-variables-unknown);\n\n &.component {\n fill: var(--kds-color-nodes-and-variables-component);\n }\n\n &[data-type=\"Configuration\"] {\n fill: var(--kds-color-nodes-and-variables-configuration);\n }\n\n &[data-type=\"Container\"] {\n fill: var(--kds-color-nodes-and-variables-container);\n }\n\n &[data-type=\"Learner\"] {\n fill: var(--kds-color-nodes-and-variables-learner);\n }\n\n &[data-type=\"Loop\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"LoopEnd\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"LoopStart\"] {\n fill: var(--kds-color-nodes-and-variables-loop);\n }\n\n &[data-type=\"Manipulator\"] {\n fill: var(--kds-color-nodes-and-variables-manipulator);\n }\n\n &[data-type=\"Other\"] {\n fill: var(--kds-color-nodes-and-variables-other);\n }\n\n &[data-type=\"Predictor\"] {\n fill: var(--kds-color-nodes-and-variables-predictor);\n }\n\n &[data-type=\"ScopeEnd\"] {\n fill: var(--kds-color-nodes-and-variables-scope);\n }\n\n &[data-type=\"ScopeStart\"] {\n fill: var(--kds-color-nodes-and-variables-scope);\n }\n\n &[data-type=\"Sink\"] {\n fill: var(--kds-color-nodes-and-variables-sink);\n }\n\n &[data-type=\"Source\"] {\n fill: var(--kds-color-nodes-and-variables-source);\n }\n\n &[data-type=\"Visualizer\"] {\n fill: var(--kds-color-nodes-and-variables-visualizer);\n }\n\n &[data-type=\"QuickForm\"] {\n fill: var(--kds-color-nodes-and-variables-quickform);\n }\n\n /** Virtual = Components */\n &[data-type=\"VirtualIn\"],\n &[data-type=\"VirtualOut\"] {\n fill: var(--kds-color-nodes-and-variables-component);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport { KdsIcon } from \"@knime/kds-components\";\n\nimport SVGPortIcon from \"../PortIcon/SVGPortIcon.vue\";\nimport { PORT_SIZE } from \"../PortIcon/constants\";\n\nimport SVGNodeTorso from \"./SVGNodeTorso.vue\";\nimport { NODE_SIZE } from \"./constants\";\nimport type { NodePreviewProps, Port } from \"./types\";\n\n/**\n * SVG icon preview for a node or component, generated from its attributes\n */\nconst {\n type = null,\n isComponent = false,\n inPorts = [],\n outPorts = [],\n hidePorts = false,\n hideIndicators = false,\n size = \"xlarge\",\n indicatorIcon = undefined,\n icon = null,\n} = defineProps<NodePreviewProps>();\n\nconst horizontalSpaceForPorts = computed(() => (hidePorts ? 0 : PORT_SIZE));\n\nconst width = computed(() => NODE_SIZE + 2 * horizontalSpaceForPorts.value);\nconst height = NODE_SIZE;\nconst viewBox = computed(\n () => `-${horizontalSpaceForPorts.value} 0 ${width.value} ${height}`,\n);\n\n// top edge of port icon relative to 32x32 background\nfunction yPortShift(index: number, total: number): number {\n /* eslint-disable no-magic-numbers */\n let spacing = 1;\n if (total === 2) {\n spacing = 12;\n } else if (total === 3) {\n spacing = 2;\n }\n /* eslint-enable no-magic-numbers */\n\n const totalHeight = total * PORT_SIZE + (total - 1) * spacing;\n const delta = (NODE_SIZE - totalHeight) / 2;\n return (spacing + PORT_SIZE) * index + delta + PORT_SIZE / 2;\n}\n\nconst maxShownPorts = 3;\n\nconst cutOffPorts = (ports: Port[]) => {\n if (ports.length > maxShownPorts) {\n return [...ports.slice(0, maxShownPorts)];\n }\n return ports;\n};\n\nconst visibleInPorts = computed(() => cutOffPorts(inPorts));\nconst visibleOutPorts = computed(() => cutOffPorts(outPorts));\nconst numberOfHiddenPorts = computed(\n () =>\n inPorts.length -\n visibleInPorts.value.length +\n outPorts.length -\n visibleOutPorts.value.length,\n);\n</script>\n\n<template>\n <div class=\"node-preview\" :data-size=\"size\">\n <svg :viewBox=\"viewBox\" :width=\"width\" :height=\"height\">\n <SVGNodeTorso :type=\"type\" :icon=\"icon\" :is-component=\"isComponent\" />\n <template v-if=\"!hidePorts\">\n <SVGPortIcon\n v-for=\"(port, index) in visibleInPorts\"\n :key=\"`in-${index}`\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n :type=\"port.type\"\n :transform=\"`translate(-${PORT_SIZE / 2}, ${yPortShift(index, visibleInPorts.length)})`\"\n />\n <SVGPortIcon\n v-for=\"(port, index) in visibleOutPorts\"\n :key=\"`out-${index}`\"\n :color=\"port.color\"\n :filled=\"!port.optional\"\n :type=\"port.type\"\n :transform=\"`translate(${NODE_SIZE + PORT_SIZE / 2}, ${yPortShift(index, visibleOutPorts.length)})`\"\n />\n </template>\n </svg>\n <div v-if=\"!hideIndicators\" class=\"indicators\">\n <KdsIcon v-if=\"indicatorIcon\" :name=\"indicatorIcon\" size=\"small\" />\n <KdsIcon\n v-if=\"numberOfHiddenPorts > 0 && !hidePorts\"\n name=\"more-connections\"\n aria-label=\"Indication that some ports are hidden\"\n size=\"small\"\n />\n </div>\n </div>\n</template>\n\n<style scoped>\n.node-preview {\n display: flex;\n flex-direction: column;\n gap: var(--kds-spacing-container-0-25x);\n width: calc(v-bind(width) * 1px);\n\n &[data-size=\"small\"] {\n transform: scale(calc(12 / v-bind(NODE_SIZE)));\n }\n\n &[data-size=\"medium\"] {\n transform: scale(0.5);\n }\n\n & .indicators {\n display: flex;\n gap: var(--kds-spacing-container-0-25x);\n justify-content: center;\n height: var(--kds-dimension-icon-0-75x);\n }\n}\n</style>\n"],"names":["_createElementBlock","_createBlock","_unref","_renderList","_openBlock","_Fragment","_createElementVNode","_hoisted_1","_toDisplayString","_createVNode","_hoisted_2","_hoisted_3","_mergeProps","$attrs","PortIcon"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,IAAA,MAAM,cAAA,GAAiB,SAAqC,MAAM;AAChE,MAAA,OAAO,QAAA,OAAA,CAAQ,GAAA;AAAA,QACb,CAAC,QAAQ,KAAA,MACN;AAAA,UACC,EAAA,EAAI,WAAW,KAAK,CAAA,CAAA;AAAA,UACpB,UAAU,MAAA,CAAO,WAAA;AAAA,UACjB,aAAa,MAAA,CAAO,kBAAA;AAAA,UACpB,SAAS,MAAA,CAAO;AAAA,SAClB;AAAA,OACJ;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,GAAA,CAAc,EAAE,CAAA;;0BAIjCA,kBAAA,CAkDM,KAAA,EAAA,IAAA,EAAA;AAAA,QAhDI,OAAA,CAAA,QAAQ,MAAA,GAAM,CAAA,iBADtBC,WAAA,CA0BeC,KAAA,CAAA,YAAA,CAAA,EAAA;AAAA;sBAxBJ,UAAA,CAAA,KAAA;AAAA,uEAAA,UAAA,CAAU,KAAA,GAAA,MAAA,CAAA;AAAA,UAClB,OAAO,cAAA,CAAA;AAAA;UAEiBC,UAAA,CAAA,cAAA,CAAA,KAAA,GAAR,IAAA,KAAI;;cAAoC,MAAA,IAAA,CAAK,EAAA;AAAA,0BAC5D,MAKE;AAAA,gBAJM,KAAK,WAAA,iBADbF,WAAA,CAKEC,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA;kBAHC,MAAM,IAAA,CAAK,WAAA;AAAA,kBACX,kBAAgB,OAAA,CAAA,YAAA;AAAA,kBACjB,KAAA,EAAM;AAAA;iBAGRE,SAAA,CAAA,IAAA,CAAA,EAAAJ,kBAAA,CAWWK,QAAA,EAAA,MAAAF,UAAA,CAXe,IAAA,CAAK,OAAA,GAAd,KAAA,KAAK;sCACpBH,kBAAA,CASM,KAAA,EAAA;AAAA,oBAVsC,KAAA,KAAA,CAAM,IAAA;AAAA,oBAC7C,KAAA,EAAM;AAAA;oBACTM,kBAAA,CAEO,MAAA,EAFPC,YAAA,EAEOC,eAAA,CADF,MAAM,IAAI,CAAA,GAAG,GAAA,GAACA,eAAA,CAAG,KAAA,CAAM,QAAA,GAAQ,YAAA,GAAA,EAAA,GAAA,CAAA,CAAA;AAAA,oBAGpCC,WAAA,CAGEP,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA,sBAFC,MAAM,KAAA,CAAM,WAAA;AAAA,sBACZ,kBAAgB,OAAA,CAAA;AAAA;;;;;;;QAOhB,OAAA,CAAA,QAAQ,MAAA,KAAM,CAAA,IAAzBE,WAAA,EAAAJ,kBAAA,CAoBM,OApBNU,YAAA,EAoBM;AAAA,UAlBI,OAAA,CAAA,OAAA,IAAW,kBAAA,iBADnBT,WAAA,CAKEC,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA;YAHC,IAAA,EAAM,OAAA,CAAA,OAAA,CAAO,CAAA,CAAA,CAAI,kBAAA;AAAA,YACjB,kBAAgB,OAAA,CAAA,YAAA;AAAA,YACjB,KAAA,EAAM;AAAA;WAGRE,SAAA,CAAA,IAAA,CAAA,EAAAJ,kBAAA,CAWWK,QAAA,EAAA,IAAA,EAAAF,UAAA,CAXe,OAAA,CAAA,OAAA,CAAO,CAAA,CAAA,CAAI,MAAA,GAApB,KAAA,KAAK;gCACpBH,kBAAA,CASM,KAAA,EAAA;AAAA,cAV2C,KAAA,KAAA,CAAM,IAAA;AAAA,cAClD,KAAA,EAAM;AAAA;cACTM,kBAAA,CAEO,MAAA,EAFPK,YAAA,EAEOH,eAAA,CADF,MAAM,IAAI,CAAA,GAAG,GAAA,GAACA,eAAA,CAAG,KAAA,CAAM,QAAA,GAAQ,YAAA,GAAA,EAAA,GAAA,CAAA,CAAA;AAAA,cAGpCC,WAAA,CAGEP,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA,gBAFC,MAAM,KAAA,CAAM,WAAA;AAAA,gBACZ,kBAAgB,OAAA,CAAA;AAAA;;;;;;;;;;;ACpFtB,MAAM,SAAA,GAAY,CAAA;AAClB,MAAM,iBAAA,GAAoB,GAAA;;;;;;;;;;;;;;;;ACOjC,IAAA,MAAM,YAAA,GAAe,SAAS,MAAM;AAElC,MAAA,IAAI,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAE,CAAA,GAAI;AAAA,QACrB,CAAC,SAAA,GAAY,CAAA;AAAA,QACb,CAAC,SAAA,GAAY,CAAA;AAAA,QACb,SAAA,GAAY,CAAA;AAAA,QACZ,SAAA,GAAY;AAAA,OACd;AAIA,MAAA,MAAM,CAAA,GAAI,IAAA,CAAK,IAAA,CAAK,CAAC,CAAA,GAAI,CAAA;AACzB,MAAA,MAAM,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA,GAAI,CAAA;AAItB,MAAA,EAAA,IAAM,iBAAA,GAAoB,CAAA;AAC1B,MAAA,EAAA,IAAM,iBAAA,GAAoB,CAAA;AAC1B,MAAA,EAAA,IAAM,iBAAA,GAAoB,CAAA;AAC1B,MAAA,EAAA,IAAM,iBAAA,GAAoB,CAAA;AAG1B,MAAA,OAAO,CAAA,EAAG,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA;AAAA,IAC3C,CAAC,CAAA;;aAMS,QAAA,IAAA,KAAI,OAAA,IADZE,WAAA,EAAAJ,kBAAA,CAOE,WAPFY,UAAA,CAOE;AAAA;QALC,QAAQ,YAAA,CAAA,KAAA;AAAA,QACR,KAAA,YAAS,OAAA,CAAA,MAAA,EAAM;AAAA,QACf,aAAW,OAAA,CAAA,IAAA;AAAA,QACX,cAAA,EAAcV,MAAA,iBAAA;AAAA,SACPW,IAAAA,CAAAA,MAAM,CAAA,EAAA,MAAA,EAAA,EAAAN,YAAA,CAAA,IAKH,OAAA,CAAA,SAAI,cAAA,IADjBH,SAAA,EAAA,EAAAJ,kBAAA,CAOE,UAPFY,UAAA,CAOE;AAAA;QALC,GAAGV,KAAA,CAAA,SAAA,IAAS,CAAA,GAAOA,KAAA,CAAA,iBAAA,CAAA,GAAiB,CAAA;AAAA,QACpC,KAAA,YAAS,OAAA,CAAA,MAAA,EAAM;AAAA,QACf,aAAW,OAAA,CAAA,IAAA;AAAA,QACX,cAAA,EAAcA,MAAA,iBAAA;AAAA,SACPW,IAAAA,CAAAA,MAAM,CAAA,EAAA,IAAA,EAAA,EAAA,EAAAH,YAAA,CAAA,KAIhBN,SAAA,EAAA,EAAAJ,kBAAA,CAUE,MAAA,EAVFY,UAAA,CAUE;AAAA;QARC,KAAA,EAAOV,KAAA,CAAA,SAAA,CAAA,GAAYA,MAAA,iBAAA,CAAA;AAAA,QACnB,MAAA,EAAQA,KAAA,CAAA,SAAA,CAAA,GAAYA,MAAA,iBAAA,CAAA;AAAA,QACpB,CAAA,EAAC,CAAGA,KAAA,CAAA,SAAA,IAAS,CAAA,GAAOA,KAAA,CAAA,iBAAA,CAAA,GAAiB,CAAA;AAAA,QACrC,CAAA,EAAC,CAAGA,KAAA,CAAA,SAAA,IAAS,CAAA,GAAOA,KAAA,CAAA,iBAAA,CAAA,GAAiB,CAAA;AAAA,QACrC,KAAA,YAAS,OAAA,CAAA,MAAA,EAAM;AAAA,QACf,aAAW,OAAA,CAAA,IAAA;AAAA,QACX,cAAA,EAAcA,MAAA,iBAAA;AAAA,SACPW,IAAAA,CAAAA,MAAM,CAAA,EAAA,IAAA,EAAA,IAAAF,YAAA,CAAA,CAAA;AAAA;;;;;;;;;;;;;;;AC1DlB,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,OAAA,GAAU,QAAA;AAAA,MAAS,MACvB,CAAC,CAAC,SAAA,GAAY,CAAA,EAAG,CAAC,SAAA,GAAY,CAAA,EAAG,SAAA,EAAW,SAAS,CAAA,CAAE,IAAA,CAAK,GAAG;AAAA,KACjE;;0BAIEX,kBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,SAAS,OAAA,CAAA,KAAA;AAAA,QAAU,KAAA,EAAOE,MAAA,SAAA,CAAA;AAAA,QAAY,MAAA,EAAQA,MAAA,SAAA;AAAA;QAClDO,WAAA,CAA8B,+CAAT,KAAK,CAAA,CAAA,EAAA,MAAA,EAAA;AAAA;;;;;;;;;;;;;;;;;ACA5B,MAAA,OAAAL,SAAA,EAAA,EAAAJ,kBAAA,CAkBM,KAAA,EAlBNO,YAAA,EAkBM;AAAA,QAjBJD,kBAAA,CAMM,OANNI,YAAA,EAMM;AAAA,UALJD,YAIEK,WAAA,EAAA;AAAA,YAHC,IAAA,EAAM,QAAA,IAAA,CAAK,IAAA;AAAA,YACX,KAAA,EAAO,QAAA,IAAA,CAAK,KAAA;AAAA,YACZ,MAAA,EAAM,CAAG,OAAA,CAAA,IAAA,CAAK;AAAA;;QAGnBR,kBAAA,CAA2D,QAA3DK,YAAA,EAAoB,QAAA,GAAMH,gBAAG,OAAA,CAAA,IAAA,CAAK,eAAe,CAAA,EAAA,CAAA,CAAA;AAAA,QAEjDF,kBAAA,CAAqD,QAArD,UAAA,EAAyB,QAAA,GAAME,gBAAG,OAAA,CAAA,IAAA,CAAK,IAAI,CAAA,EAAA,CAAA,CAAA;AAAA,QAGnC,QAAA,eAAA,iBADRP,WAAA,CAKEC,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA;UAHA,KAAA,EAAM,aAAA;AAAA,UACL,IAAA,EAAM,QAAA,IAAA,CAAK,WAAA;AAAA,UACZ,gBAAA,EAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACfJ,MAAA,OAAAE,SAAA,EAAA,EAAAJ,kBAAA,CAQM,KAAA,EARNO,YAAA,EAQM;AAAA,QAPJD,mBAA0C,MAAA,EAA1CI,YAAA,EAA0CF,gBAAd,OAAA,CAAA,IAAI,GAAA,CAAA,CAAA;AAAA,QAEV,QAAA,WAAA,iBAAtBP,WAAA,CAAwEC,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA;UAApC,MAAM,OAAA,CAAA,WAAA;AAAA,UAAa,gBAAA,EAAA;AAAA;0BAEvDF,kBAAA,CAEWK,QAAA,EAAA,MAAAF,UAAA,CAFc,OAAA,CAAA,KAAA,EAAK,CAAb,IAAA,KAAI;8BACnBF,WAAA,CAAqE,gBAAA,EAAA;AAAA,YADjC,KAAA,IAAA,CAAK,EAAA;AAAA,YACtB,IAAA;AAAA,YAAa,kBAAA,GAAmB,OAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACPvD,MAAA,OAAAG,SAAA,EAAA,EAAAJ,kBAAA,CAgCM,KAAA,EAhCNO,YAAA,EAgCM;AAAA,QA9BI,QAAA,UAAA,CAAW,MAAA,GAAM,kBADzBN,YAIE,SAAA,EAAA;AAAA;UAFA,IAAA,EAAK,aAAA;AAAA,UACJ,OAAO,OAAA,CAAA;AAAA;QAIF,QAAA,WAAA,CAAY,MAAA,GAAM,kBAD1BA,YAIE,SAAA,EAAA;AAAA;UAFA,IAAA,EAAK,cAAA;AAAA,UACJ,OAAO,OAAA,CAAA;AAAA;0BAGVD,kBAAA,CAQWK,QAAA,EAAA,MAAAF,UAAA,CARe,OAAA,CAAA,kBAAA,EAAkB,CAA3B,KAAA,KAAK;;YAA8B,KAAA,KAAA,CAAM;AAAA;YAEhD,MAAM,KAAA,CAAM,MAAA,GAAM,kBAD1BF,YAME,SAAA,EAAA;AAAA;cAJC,IAAA,EAAM,MAAM,IAAA,GAAI,mBAAA;AAAA,cAChB,aAAa,KAAA,CAAM,WAAA;AAAA,cACnB,OAAO,KAAA,CAAM,KAAA;AAAA,cACd,kBAAA,EAAA;AAAA;;;0BAIJD,kBAAA,CAQWK,QAAA,EAAA,MAAAF,UAAA,CARe,OAAA,CAAA,mBAAA,EAAmB,CAA5B,KAAA,KAAK;;YAA+B,KAAA,KAAA,CAAM;AAAA;YAEjD,MAAM,KAAA,CAAM,MAAA,GAAM,kBAD1BF,YAME,SAAA,EAAA;AAAA;cAJC,IAAA,EAAM,MAAM,IAAA,GAAI,oBAAA;AAAA,cAChB,aAAa,KAAA,CAAM,WAAA;AAAA,cACnB,OAAO,KAAA,CAAM,KAAA;AAAA,cACd,kBAAA,EAAA;AAAA;;;;;;;;;;;;;;;;;AClCR,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,WAAA,GAAc,QAAA;AAAA,MAAsD,MACxE,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,CAAC,MAAM,KAAA,KAAU;AAC/B,QAAA,MAAM,EAAA,GAAK,QAAQ,KAAK,CAAA,CAAA;AACxB,QAAA,OAAO,EAAE,EAAA,EAAI,GAAG,IAAA,EAAK;AAAA,MACvB,CAAC;AAAA,KACH;;8BAIED,kBAAA,CAOMK,QAAA,EAAA,MAAAF,UAAA,CAPc,WAAA,CAAA,KAAA,EAAW,CAAnB,IAAA,KAAI;4BAAhBH,kBAAA,CAOM,KAAA,EAAA;AAAA,UAP4B,KAAK,IAAA,CAAK,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA;UACpDM,mBAAyC,MAAA,EAAzCC,YAAA,EAAyCC,gBAAnB,IAAA,CAAK,IAAI,GAAA,CAAA,CAAA;AAAA,UAEvB,KAAK,WAAA,iBADbP,WAAA,CAIEC,KAAA,CAAA,cAAA,CAAA,EAAA;AAAA;YAFC,MAAM,IAAA,CAAK,WAAA;AAAA,YACZ,gBAAA,EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;ACDN,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,KAAA,EAAO,OAAA;AAAA,MACP,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA,KACR;AAIA,IAAA,MAAM,YAAY,GAAA,EAAwB;AAE1C,IAAA,MAAM,QAAA,GAAW,QAAA;AAAA,MACf,MACE,OAAA,CAAA,UAAA,CAAW,MAAA,GAAS,KACpB,OAAA,CAAA,WAAA,CAAY,MAAA,GAAS,CAAA,IACrB,QAAA,iBAAA,CAAkB,MAAA,GAAS,CAAA,IAC3B,OAAA,CAAA,mBAAmB,MAAA,GAAS;AAAA,KAChC;AAEA,IAAA,MAAM,IAAA,GAAO,SAA0B,MAAM;AAAA,MAC3C;AAAA,QACE,EAAA,EAAI,WAAA;AAAA,QACJ,OAAO,OAAA,CAAQ,KAAA;AAAA,QACf,KAAA,EAAO,OAAA;AAAA,QACP,OAAA,EAAS,aAAA;AAAA,QACT,SAAA,EAAW;AAAA,UACT,IAAA,EAAM,MAAA;AAAA,UACN,IAAA,EAAM;AAAA,SACR;AAAA,QACA,QAAA,EAAU,CAAC,QAAA,CAAS;AAAA,OACtB;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,OAAO,OAAA,CAAQ,OAAA;AAAA,QACf,KAAA,EAAO,SAAA;AAAA,QACP,OAAA,EAAS,eAAA;AAAA,QACT,SAAA,EAAW;AAAA,UACT,IAAA,EAAM,MAAA;AAAA,UACN,IAAA,EAAM;AAAA,SACR;AAAA,QACA,QAAA,EAAU,OAAA,CAAA,WAAA,CAAY,MAAA,GAAS;AAAA,OACjC;AAAA,MACA;AAAA,QACE,EAAA,EAAI,UAAA;AAAA,QACJ,OAAO,OAAA,CAAQ,IAAA;AAAA,QACf,KAAA,EAAO,MAAA;AAAA,QACP,OAAA,EAAS,YAAA;AAAA,QACT,SAAA,EAAW;AAAA,UACT,IAAA,EAAM,MAAA;AAAA,UACN,IAAA,EAAM;AAAA,SACR;AAAA,QACA,QAAA,EAAU,OAAA,CAAA,SAAA,CAAU,MAAA,GAAS;AAAA;AAC/B,KACD,CAAA;;0BAICF,kBAAA,CA8CM,KAAA,EAAA,IAAA,EAAA;AAAA,QA7CJS,WAAA,CAKEP,KAAA,CAAA,SAAA,CAAA,EAAA;AAAA,sBAJS,SAAA,CAAA,KAAA;AAAA,uEAAA,SAAA,CAAS,KAAA,GAAA,MAAA,CAAA;AAAA,UACjB,cAAY,OAAA,CAAA,eAAA;AAAA,UACb,IAAA,EAAK,OAAA;AAAA,UACJ,MAAM,IAAA,CAAA;AAAA;QAGTI,kBAAA,CAqCM,OArCNC,YAAA,EAqCM;AAAA,UAnCI,UAAA,KAAA,KAAc,OAAA,CAAQ,sBAD9BN,YAUE,QAAA,EAAA;AAAA;YARA,EAAA,EAAG,aAAA;AAAA,YACH,IAAA,EAAK,UAAA;AAAA,YACL,iBAAA,EAAgB,WAAA;AAAA,YAChB,QAAA,EAAS,GAAA;AAAA,YACR,eAAa,OAAA,CAAA,UAAA;AAAA,YACb,gBAAc,OAAA,CAAA,WAAA;AAAA,YACd,wBAAsB,OAAA,CAAA,iBAAA;AAAA,YACtB,yBAAuB,OAAA,CAAA;AAAA;UAIlB,UAAA,KAAA,KAAc,OAAA,CAAQ,wBAD9BA,YAQE,UAAA,EAAA;AAAA;YANA,EAAA,EAAG,eAAA;AAAA,YACH,IAAA,EAAK,UAAA;AAAA,YACL,iBAAA,EAAgB,aAAA;AAAA,YAChB,QAAA,EAAS,GAAA;AAAA,YACR,SAAS,OAAA,CAAA,WAAA;AAAA,YACT,kBAAgB,OAAA,CAAA;AAAA;UAIX,UAAA,KAAA,KAAc,OAAA,CAAQ,qBAD9BA,YAOE,QAAA,EAAA;AAAA;YALA,EAAA,EAAG,YAAA;AAAA,YACH,IAAA,EAAK,UAAA;AAAA,YACL,iBAAA,EAAgB,UAAA;AAAA,YAChB,QAAA,EAAS,GAAA;AAAA,YACR,OAAO,OAAA,CAAA;AAAA;WAID,UAAA,KAAA,iBADTA,WAAA,CAIEC,KAAA,CAAA,aAAA,CAAA,EAAA;AAAA;YAFC,UAAU,OAAA,CAAA,SAAA;AAAA,YACX,KAAA,EAAM;AAAA;;;;;;;;;AC7HP,MAAM,SAAA,GAAY,EAAA;;;;;AC6BzB,MAAM,0BAAA,GAA6B,IAAA;;;;;;;;;AAlBnC,IAAA,MAAM,eAAA,GAA0C;AAAA,MAC9C,OAAA,EACE,kHAAA;AAAA,MAEF,OAAA,EACE,8EAAA;AAAA,MACF,SAAA,EACE,8EAAA;AAAA,MACF,QAAA,EACE,8EAAA;AAAA,MACF,UAAA,EACE,8EAAA;AAAA,MACF,SAAA,EACE,iGAAA;AAAA,MACF,UAAA,EACE;AAAA,KACJ;AAUA,IAAA,MAAM,cAAA,GAAiB,QAAA;AAAA,MACrB,MAAO,OAAA,CAAA,IAAA,IAAQ,gBAAgB,OAAA,KAAI,KAAM,eAAA,CAAgB;AAAA,KAC3D;AAEA,IAAA,MAAM,iCAAA,GAAoC,SAAS,MAAM;AACvD,MAAA,MAAM,SAAS,SAAA,GAAY,CAAA;AAC3B,MAAA,MAAM,WAAA,GAAc,0BAAA;AACpB,MAAA,OAAO,CAAA,UAAA,EAAa,MAAM,CAAA,EAAA,EAAK,MAAM,WAAW,WAAW,CAAA,aAAA,EAAgB,MAAM,CAAA,GAAA,EAAM,MAAM,CAAA,CAAA,CAAA;AAAA,IAC/F,CAAC,CAAA;;0BAICF,kBAAA,CAuBI,GAAA,EAAA,IAAA,EAAA;AAAA,QAtBFM,mBAIE,MAAA,EAAA;AAAA,UAHC,GAAG,cAAA,CAAA,KAAA;AAAA,UACH,KAAA,qCAA2B,OAAA,CAAA,WAAA,EAAW,CAAA,CAAA;AAAA,UACtC,WAAA,EAAW,OAAA,CAAA,WAAA,GAAW,IAAA,GAAU,OAAA,CAAA;AAAA;QAI3B,QAAA,WAAA,IAAe,OAAA,CAAA,qBADvBN,mBAME,MAAA,EAAA;AAAA;UAJC,GAAG,cAAA,CAAA,KAAA;AAAA,UACJ,KAAA,EAAM,IAAA;AAAA,UACL,aAAW,OAAA,CAAA,IAAA;AAAA,UACX,WAAW,iCAAA,CAAA;AAAA;QAGN,OAAA,CAAA,IAAA,iBADRA,mBAQE,OAAA,EAAA;AAAA;UANC,cAAY,OAAA,CAAA,IAAA;AAAA,UACb,CAAA,EAAE,GAAA;AAAA,UACF,CAAA,EAAE,GAAA;AAAA,UACF,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,gBAAA,EAAe;AAAA;;;;;;;;;;;;;;ACnBrB,MAAM,aAAA,GAAgB,CAAA;;;;;;;;;;;;;;;;;;;AAxBtB,IAAA,MAAM,0BAA0B,QAAA,CAAS,MAAO,OAAA,CAAA,SAAA,GAAY,IAAI,SAAU,CAAA;AAE1E,IAAA,MAAM,QAAQ,QAAA,CAAS,MAAM,SAAA,GAAY,CAAA,GAAI,wBAAwB,KAAK,CAAA;AAC1E,IAAA,MAAM,MAAA,GAAS,SAAA;AACf,IAAA,MAAM,OAAA,GAAU,QAAA;AAAA,MACd,MAAM,IAAI,uBAAA,CAAwB,KAAK,MAAM,KAAA,CAAM,KAAK,IAAI,MAAM,CAAA;AAAA,KACpE;AAGA,IAAA,SAAS,UAAA,CAAW,OAAe,KAAA,EAAuB;AAExD,MAAA,IAAI,OAAA,GAAU,CAAA;AACd,MAAA,IAAI,UAAU,CAAA,EAAG;AACf,QAAA,OAAA,GAAU,EAAA;AAAA,MACZ,CAAA,MAAA,IAAW,UAAU,CAAA,EAAG;AACtB,QAAA,OAAA,GAAU,CAAA;AAAA,MACZ;AAGA,MAAA,MAAM,WAAA,GAAc,KAAA,GAAQ,SAAA,GAAA,CAAa,KAAA,GAAQ,CAAA,IAAK,OAAA;AACtD,MAAA,MAAM,KAAA,GAAA,CAAS,YAAY,WAAA,IAAe,CAAA;AAC1C,MAAA,OAAA,CAAQ,OAAA,GAAU,SAAA,IAAa,KAAA,GAAQ,KAAA,GAAQ,SAAA,GAAY,CAAA;AAAA,IAC7D;AAIA,IAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAkB;AACrC,MAAA,IAAI,KAAA,CAAM,SAAS,aAAA,EAAe;AAChC,QAAA,OAAO,CAAC,GAAG,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,aAAa,CAAC,CAAA;AAAA,MAC1C;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAEA,IAAA,MAAM,iBAAiB,QAAA,CAAS,MAAM,WAAA,CAAY,OAAA,CAAA,OAAO,CAAC,CAAA;AAC1D,IAAA,MAAM,kBAAkB,QAAA,CAAS,MAAM,WAAA,CAAY,OAAA,CAAA,QAAQ,CAAC,CAAA;AAC5D,IAAA,MAAM,mBAAA,GAAsB,QAAA;AAAA,MAC1B,MACE,OAAA,CAAA,OAAA,CAAQ,MAAA,GACR,cAAA,CAAe,KAAA,CAAM,MAAA,GACrB,OAAA,CAAA,QAAA,CAAS,MAAA,GACT,eAAA,CAAgB,KAAA,CAAM;AAAA,KAC1B;;0BAIEA,kBAAA,CA+BM,KAAA,EAAA;AAAA,QA/BD,KAAA,EAAM,cAAA;AAAA,QAAgB,aAAW,OAAA,CAAA;AAAA;sBACpCA,kBAAA,CAoBM,KAAA,EAAA;AAAA,UApBA,SAAS,OAAA,CAAA,KAAA;AAAA,UAAU,OAAO,KAAA,CAAA,KAAA;AAAA,UAAQ,MAAA,EAAQE,MAAA,MAAA;AAAA;UAC9CO,YAAsE,YAAA,EAAA;AAAA,YAAvD,MAAM,OAAA,CAAA,IAAA;AAAA,YAAO,MAAM,OAAA,CAAA,IAAA;AAAA,YAAO,gBAAc,OAAA,CAAA;AAAA;WACtC,OAAA,CAAA,SAAA,iBAAjBT,mBAiBWK,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,aAhBTD,SAAA,CAAA,IAAA,CAAA,EAAAJ,kBAAA,CAOEK,QAAA,EAAA,IAAA,EAAAF,UAAA,CANwB,cAAA,CAAA,KAAA,EAAc,CAA9B,IAAA,EAAM,KAAA,KAAK;kCADrBF,WAAA,CAOE,WAAA,EAAA;AAAA,gBALC,GAAA,QAAW,KAAK,CAAA,CAAA;AAAA,gBAChB,OAAO,IAAA,CAAK,KAAA;AAAA,gBACZ,MAAA,EAAM,CAAG,IAAA,CAAK,QAAA;AAAA,gBACd,MAAM,IAAA,CAAK,IAAA;AAAA,gBACX,SAAA,EAAS,CAAA,WAAA,EAAgBC,KAAA,cAAS,CAAA,CAAA,EAAA,EAAS,UAAA,CAAW,KAAA,EAAO,cAAA,CAAA,KAAA,CAAe,MAAM,CAAA,CAAA,CAAA;AAAA;;aAErFE,SAAA,CAAA,IAAA,CAAA,EAAAJ,kBAAA,CAOEK,QAAA,EAAA,IAAA,EAAAF,UAAA,CANwB,eAAA,CAAA,KAAA,EAAe,CAA/B,IAAA,EAAM,KAAA,KAAK;kCADrBF,WAAA,CAOE,WAAA,EAAA;AAAA,gBALC,GAAA,SAAY,KAAK,CAAA,CAAA;AAAA,gBACjB,OAAO,IAAA,CAAK,KAAA;AAAA,gBACZ,MAAA,EAAM,CAAG,IAAA,CAAK,QAAA;AAAA,gBACd,MAAM,IAAA,CAAK,IAAA;AAAA,gBACX,SAAA,EAAS,CAAA,UAAA,EAAeC,KAAA,CAAA,SAAA,IAAYA,KAAA,CAAA,SAAA,CAAA,GAAS,CAAA,KAAS,UAAA,CAAW,KAAA,EAAO,eAAA,CAAA,KAAA,CAAgB,MAAM,CAAA,CAAA,CAAA;AAAA;;;;SAIzF,OAAA,CAAA,cAAA,IAAZE,WAAA,EAAAJ,kBAAA,CAQM,OARN,UAAA,EAQM;AAAA,UAPW,QAAA,aAAA,iBAAfC,WAAA,CAAmEC,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA;YAApC,MAAM,OAAA,CAAA,aAAA;AAAA,YAAe,IAAA,EAAK;AAAA;UAEjD,mBAAA,CAAA,KAAA,SAA4B,OAAA,CAAA,SAAA,iBADpCD,WAAA,CAKEC,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA;YAHA,IAAA,EAAK,kBAAA;AAAA,YACL,YAAA,EAAW,uCAAA;AAAA,YACX,IAAA,EAAK;AAAA;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knime/product-features",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Package containing composition patterns of KDS Components and KNIME business logic",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"consola": "^3.4.2",
|
|
57
|
-
"@knime/kds-components": "^2.0.
|
|
58
|
-
"@knime/kds-styles": "^2.0.
|
|
57
|
+
"@knime/kds-components": "^2.0.1",
|
|
58
|
+
"@knime/kds-styles": "^2.0.1",
|
|
59
59
|
"@knime/utils": "^1.12.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|