@knime/kds-code-editor 2.7.0 → 2.8.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../styles/dist/tokens/ts/font.js","../src/CodeEditor/enums.ts","../src/CodeEditor/monacoEnvironment.ts","../src/CodeEditor/KdsCodeEditor.vue","../src/CodeEditor/KdsCodeEditor.vue"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated\n * from the design token sources in src/tokens.\n */\nexport const font = {\n base: {\n display: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 18, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 18px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 20, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 20px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-small)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 24, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 24px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-medium)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 32, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 32px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-large)\",\n },\n },\n xlarge: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 40, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 40px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-xlarge)\",\n },\n },\n },\n title: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-small)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-small-strong)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-large-strong)\",\n },\n },\n },\n body: {\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-strong)\",\n },\n },\n \"small-strong-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 700 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-strong-italic)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 14px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 14px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-large-strong)\",\n },\n },\n xlarge: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 20, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 20px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-xlarge)\",\n },\n },\n },\n subtext: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 9, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 9px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-small)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-medium)\",\n },\n },\n },\n interactive: {\n \"xsmall-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-xsmall-strong)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small-strong)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-large-strong)\",\n },\n },\n },\n code: {\n xsmall: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 400,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 11px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-small)\",\n },\n },\n },\n },\n workflow: {\n annotation: {\n headline: {\n H1: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h1)\",\n },\n },\n H2: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h2)\",\n },\n },\n H3: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h3)\",\n },\n },\n H4: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h4)\",\n },\n },\n H5: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h5)\",\n },\n },\n \"H1-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h1-italic)\",\n },\n },\n \"H2-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h2-italic)\",\n },\n },\n \"H3-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h3-italic)\",\n },\n },\n \"H4-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h4-italic)\",\n },\n },\n \"H5-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h5-italic)\",\n },\n },\n H6: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h6)\",\n },\n },\n \"H6-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h6-italic)\",\n },\n },\n },\n body: {\n small: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-strong)\",\n },\n },\n \"small-strong-Italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-strong-italic)\",\n },\n },\n },\n },\n node: {\n name: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n css: {\n value: \"700 13px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-name)\",\n },\n },\n label: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n css: {\n value: \"400 12px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-label)\",\n },\n },\n status: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 8, unit: \"px\" },\n css: {\n value: \"400 8px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-status)\",\n },\n },\n },\n },\n dataapp: {\n H1: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h1)\",\n },\n },\n H2: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h2)\",\n },\n },\n H3: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h3)\",\n },\n },\n H4: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h4)\",\n },\n },\n H5: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h5)\",\n },\n },\n H6: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h6)\",\n },\n },\n body: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-body)\",\n },\n },\n \"body-small\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 10px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-body-small)\",\n },\n },\n },\n chart: {\n title: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 18, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 18px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-title)\",\n },\n },\n subtitle: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-subtitle)\",\n },\n },\n \"axis-name\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-axis-name)\",\n },\n },\n \"axis-label\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-axis-label)\",\n },\n },\n legend: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-legend)\",\n },\n },\n tooltip: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-tooltip)\",\n },\n },\n label: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-label)\",\n },\n },\n },\n};\n","export const kdsCodeEditorState = {\n DEFAULT: \"default\",\n ERROR: \"error\",\n WARNING: \"warning\",\n} as const;\n\nexport const kdsCodeEditorStates = Object.values(kdsCodeEditorState);\n","// Register custom Monarch language definitions for languages not built into\n// Monaco. Registered at import time (not inside `setupMonacoEnvironment`) so\n// they are also available when the host app defines its own MonacoEnvironment.\nimport \"./tomlLanguage\";\n\nimport { editor } from \"monaco-editor\";\n\n// Monaco measures character widths when an editor is created. If the web font\n// (\"Roboto Mono\") finishes loading afterwards, the stale metrics of the\n// fallback font break cursor placement and selection rendering — so force a\n// re-measure once all fonts are loaded.\ndocument.fonts?.ready.then(() => {\n editor.remeasureFonts();\n});\n\n// Setup Monaco Environment to load web workers for different languages.\n// Monaco's getWorker supports returning a Promise<Worker>, so language-specific\n// workers are bundled as separate chunks and loaded on demand.\nexport const setupMonacoEnvironment = () => {\n if (self.MonacoEnvironment) {\n return;\n }\n self.MonacoEnvironment = {\n getWorker: async (_workerId: string, label: string) => {\n if (label === \"json\") {\n const { default: JSONWorker } =\n await import(\"monaco-editor/esm/vs/language/json/json.worker?worker&inline\");\n return new JSONWorker();\n }\n const { default: EditorWorker } =\n await import(\"monaco-editor/esm/vs/editor/editor.worker?worker&inline\");\n return new EditorWorker();\n },\n };\n};\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\nimport { KeyCode, editor } from \"monaco-editor\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n useKdsDarkMode,\n} from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport { kdsCodeEditorState } from \"./enums\";\nimport { setupMonacoEnvironment } from \"./monacoEnvironment\";\nimport type { KdsCodeEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n copyable = true,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n} = defineProps<KdsCodeEditorProps>();\n\nconst modelValue = defineModel<string>({ default: \"\" });\n\n// Links the sub-text to the editor's text input via `aria-describedby`.\nconst subTextId = useId();\n\nconst container = useTemplateRef(\"editor-container\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// Whether the Monaco code area (not a header button) currently has focus.\nconst isEditorFocused = ref(false);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible name for Monaco's focusable element (`<label for>` cannot be\n// used: Monaco overrides it with its own `aria-label`, and in EditContext\n// mode the focusable element is a non-labelable `<div>`). Also announces the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst editorAriaLabel = computed(\n () =>\n `${headerLabel.value} code editor${readOnly ? \", read-only\" : \"\"}. ` +\n \"Press Escape followed by Tab to move focus out of the editor.\",\n);\n\n// Sizing modes:\n// - neither `minRows` nor `maxRows` set → fill the container's height.\n// - otherwise the editor grows with its content (floored at `minRows`):\n// - `maxRows` unset → grows with all content, avoiding nested scrollbars.\n// - `maxRows` set → caps there and scrolls past it.\nconst fillContainer = computed(\n () => minRows === undefined && maxRows === undefined,\n);\n\nconst INITIAL_LINE_HEIGHT = 18; // Default line height in Monaco Editor\nconst EXTRA_PADDING = 3; // Additional padding to prevent scrollbar\nconst DEFAULT_OVERVIEW_RULER_LANES = 3; // Monaco default\nconst lineHeight = ref(INITIAL_LINE_HEIGHT);\nconst contentLineCount = ref(1);\nconst editorHeight = computed(() => {\n if (fillContainer.value) {\n return undefined;\n }\n const floor = Math.max(minRows ?? 1, 1);\n const cap = maxRows ?? Infinity;\n const rows = Math.min(cap, Math.max(floor, contentLineCount.value));\n return `${lineHeight.value * rows + EXTRA_PADDING}px`;\n});\n\n// Monaco is styled via JS options, not CSS, so the KDS code typography is\n// passed to `editor.create` from the design-token constants.\nconst codeFont = font.base.code.small;\n\n// Update the editor theme based on the current dark mode setting\nconst MONACO_THEME_LIGHT = \"vs-light\";\nconst MONACO_THEME_DARK = \"vs-dark\";\nconst getMonacoTheme = (isDark: boolean) =>\n isDark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\nconst { isDarkMode } = useKdsDarkMode();\n\n// Monaco's focusable element carries `role=\"textbox\"`: a `<div>` in\n// EditContext mode (Chromium), the fallback `<textarea>` elsewhere. The\n// additional `<textarea>` present in EditContext mode is only a hidden IME\n// helper that assistive technology never sees.\nconst getEditorInputElement = () =>\n container.value?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the `ariaLabel` option) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here.\nconst syncEditorInputAria = () => {\n const input = getEditorInputElement();\n if (!input) {\n return;\n }\n if (subText) {\n input.setAttribute(\"aria-describedby\", subTextId);\n } else {\n input.removeAttribute(\"aria-describedby\");\n }\n if (state === kdsCodeEditorState.ERROR) {\n input.setAttribute(\"aria-invalid\", \"true\");\n } else {\n input.removeAttribute(\"aria-invalid\");\n }\n};\n\nwatch([() => subText, () => state], syncEditorInputAria);\n\n// Copy-to-clipboard handling\nconst { copy, copied } = useClipboard({ copiedDuring: 2000 });\nconst copyButtonAriaLabel = computed(() =>\n copied.value\n ? `Copied ${headerLabel.value} to clipboard`\n : `Copy ${headerLabel.value} to clipboard`,\n);\nconst copyToClipboard = () => {\n // Copy unconditionally — even an empty editor gives \"Copied\" feedback\n // instead of a dead button.\n copy(editorInstance?.getModel()?.getValue() ?? \"\");\n};\n\nonMounted(() => {\n if (!container.value) {\n return;\n }\n editorInstance = editor.create(container.value, {\n value: modelValue.value,\n language,\n automaticLayout: true,\n minimap: { enabled: false },\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n scrollBeyondLastLine: false,\n lineNumbersMinChars: 3,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n fontWeight: `${codeFont.fontWeight}`,\n fontSize: codeFont.fontSize.value,\n // Keep suggest / hover widgets visible when the editor sits in a clipping\n // container (the editor wrapper itself uses `overflow: hidden`).\n fixedOverflowWidgets: true,\n // Don't swallow wheel events once the editor cannot scroll any further,\n // so the surrounding dialog / page continues to scroll.\n scrollbar: { alwaysConsumeMouseWheel: false },\n readOnly,\n theme: getMonacoTheme(isDarkMode.value),\n ariaLabel: editorAriaLabel.value,\n // Standalone Monaco cannot detect screen readers in the browser; with the\n // default \"auto\" it would replace `ariaLabel` with a \"The editor is not\n // accessible at this time\" message and skip the screen-reader content\n // mirror. Force it on so assistive technology always works.\n accessibilitySupport: \"on\",\n });\n\n syncEditorInputAria();\n\n lineHeight.value = editorInstance.getOption(editor.EditorOption.lineHeight);\n contentLineCount.value = editorInstance.getModel()?.getLineCount() ?? 1;\n\n editorInstance.onDidChangeModelContent(() => {\n const value = editorInstance?.getModel()?.getValue() ?? \"\";\n contentLineCount.value = editorInstance?.getModel()?.getLineCount() ?? 1;\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n // Accessibility\n let tabFocusArmed = false;\n const setTabFocus = (armed: boolean) => {\n if (tabFocusArmed !== armed) {\n tabFocusArmed = armed;\n editorInstance?.updateOptions({ tabFocusMode: armed });\n }\n };\n // Keys that must not disarm tab-focus mode: Tab itself (so the armed Tab\n // can leave the editor) and lone modifiers (so Escape → Shift+Tab works).\n const tabFocusNeutralKeys = [\n KeyCode.Tab,\n KeyCode.Shift,\n KeyCode.Ctrl,\n KeyCode.Alt,\n KeyCode.Meta,\n ];\n editorInstance.onKeyDown((event) => {\n if (event.keyCode === KeyCode.Escape) {\n setTabFocus(true);\n } else if (!tabFocusNeutralKeys.includes(event.keyCode)) {\n setTabFocus(false);\n }\n });\n editorInstance.onDidFocusEditorText(() => {\n setTabFocus(false);\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDarkMode, (isDark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(isDark) });\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n editorInstance?.updateOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(editorAriaLabel, (ariaLabel) => {\n editorInstance?.updateOptions({ ariaLabel });\n});\n\nwatch(\n () => overviewRuler,\n (enabled) => {\n editorInstance?.updateOptions({\n overviewRulerLanes: enabled ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n const model = editorInstance?.getModel();\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n },\n);\n\n// External `modelValue` updates are applied as regular, undoable edits —\n// `setValue` would clear the undo stack, so a form reset or flow-variable\n// overwrite would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n const model = editorInstance?.getModel();\n if (model && newValue !== model.getValue()) {\n model.pushStackElement();\n model.pushEditOperations(\n [],\n [{ range: model.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n editorInstance?.dispose();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill: fillContainer }]\">\n <div :class=\"['editor', state, { focused: isEditorFocused }]\">\n <div v-if=\"!hideHeader\" class=\"header\">\n <div class=\"left-block\">\n <!-- Visual only — the editor's accessible name comes from Monaco's\n `ariaLabel` option (see `editorAriaLabel`). -->\n <span class=\"title\">{{ headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n </div>\n <div class=\"action-buttons\">\n <template\n v-for=\"(action, index) in editorActions\"\n :key=\"`editor-action-${index}`\"\n >\n <KdsButton\n v-if=\"action.type === 'button'\"\n v-bind=\"action.props\"\n size=\"small\"\n @click=\"action.onClick\"\n />\n <KdsToggleButton\n v-else-if=\"action.type === 'toggleButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @update:model-value=\"action.onUpdateModelValue\"\n />\n <KdsMenuButton\n v-else-if=\"action.type === 'menuButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @item-click=\"action.onItemClick\"\n />\n </template>\n <KdsProgressButton\n v-if=\"copyable\"\n v-bind=\"{ ariaLabel: copyButtonAriaLabel }\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n :state=\"copied ? 'success' : 'default'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n <div\n ref=\"editor-container\"\n class=\"code\"\n :style=\"editorHeight ? { height: editorHeight } : undefined\"\n />\n </div>\n <KdsSubText\n v-if=\"subText\"\n :id=\"subTextId\"\n :sub-text=\"subText\"\n :error=\"state === kdsCodeEditorState.ERROR\"\n :warning=\"state === kdsCodeEditorState.WARNING\"\n />\n </div>\n</template>\n\n<style scoped>\n.kds-code-editor {\n display: flex;\n flex-direction: column;\n\n .editor {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--kds-color-surface-default);\n border: var(--kds-border-base-subtle);\n border-radius: var(--kds-border-radius-container-0-50x);\n\n /* Only outline the whole editor when the code area (Monaco) is focused —\n header buttons keep their own focus ring. */\n &.focused {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-75x);\n\n .left-block {\n display: flex;\n flex: 1;\n gap: var(--kds-spacing-container-0-25x);\n align-items: center;\n min-width: 0;\n\n /* Keep the header height constant whether or not the copy / action\n buttons are present (matches the small button height). */\n min-height: var(--kds-dimension-component-height-1-5x);\n }\n\n .action-buttons {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n }\n\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n font: var(--kds-font-base-interactive-small);\n color: var(--kds-color-text-and-icon-neutral);\n white-space: nowrap;\n }\n }\n\n &.error .header {\n background-color: var(--kds-color-background-static-danger-muted);\n }\n\n &.warning .header {\n background-color: var(--kds-color-background-static-warning-muted);\n }\n\n .code {\n width: 100%;\n }\n }\n\n /* No row bounds set: fill the width and height of the container. */\n &.fill {\n width: 100%;\n height: 100%;\n\n .editor,\n .code {\n flex: 1 1 auto;\n min-height: 0;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\nimport { KeyCode, editor } from \"monaco-editor\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n useKdsDarkMode,\n} from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport { kdsCodeEditorState } from \"./enums\";\nimport { setupMonacoEnvironment } from \"./monacoEnvironment\";\nimport type { KdsCodeEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n copyable = true,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n} = defineProps<KdsCodeEditorProps>();\n\nconst modelValue = defineModel<string>({ default: \"\" });\n\n// Links the sub-text to the editor's text input via `aria-describedby`.\nconst subTextId = useId();\n\nconst container = useTemplateRef(\"editor-container\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// Whether the Monaco code area (not a header button) currently has focus.\nconst isEditorFocused = ref(false);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible name for Monaco's focusable element (`<label for>` cannot be\n// used: Monaco overrides it with its own `aria-label`, and in EditContext\n// mode the focusable element is a non-labelable `<div>`). Also announces the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst editorAriaLabel = computed(\n () =>\n `${headerLabel.value} code editor${readOnly ? \", read-only\" : \"\"}. ` +\n \"Press Escape followed by Tab to move focus out of the editor.\",\n);\n\n// Sizing modes:\n// - neither `minRows` nor `maxRows` set → fill the container's height.\n// - otherwise the editor grows with its content (floored at `minRows`):\n// - `maxRows` unset → grows with all content, avoiding nested scrollbars.\n// - `maxRows` set → caps there and scrolls past it.\nconst fillContainer = computed(\n () => minRows === undefined && maxRows === undefined,\n);\n\nconst INITIAL_LINE_HEIGHT = 18; // Default line height in Monaco Editor\nconst EXTRA_PADDING = 3; // Additional padding to prevent scrollbar\nconst DEFAULT_OVERVIEW_RULER_LANES = 3; // Monaco default\nconst lineHeight = ref(INITIAL_LINE_HEIGHT);\nconst contentLineCount = ref(1);\nconst editorHeight = computed(() => {\n if (fillContainer.value) {\n return undefined;\n }\n const floor = Math.max(minRows ?? 1, 1);\n const cap = maxRows ?? Infinity;\n const rows = Math.min(cap, Math.max(floor, contentLineCount.value));\n return `${lineHeight.value * rows + EXTRA_PADDING}px`;\n});\n\n// Monaco is styled via JS options, not CSS, so the KDS code typography is\n// passed to `editor.create` from the design-token constants.\nconst codeFont = font.base.code.small;\n\n// Update the editor theme based on the current dark mode setting\nconst MONACO_THEME_LIGHT = \"vs-light\";\nconst MONACO_THEME_DARK = \"vs-dark\";\nconst getMonacoTheme = (isDark: boolean) =>\n isDark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\nconst { isDarkMode } = useKdsDarkMode();\n\n// Monaco's focusable element carries `role=\"textbox\"`: a `<div>` in\n// EditContext mode (Chromium), the fallback `<textarea>` elsewhere. The\n// additional `<textarea>` present in EditContext mode is only a hidden IME\n// helper that assistive technology never sees.\nconst getEditorInputElement = () =>\n container.value?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the `ariaLabel` option) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here.\nconst syncEditorInputAria = () => {\n const input = getEditorInputElement();\n if (!input) {\n return;\n }\n if (subText) {\n input.setAttribute(\"aria-describedby\", subTextId);\n } else {\n input.removeAttribute(\"aria-describedby\");\n }\n if (state === kdsCodeEditorState.ERROR) {\n input.setAttribute(\"aria-invalid\", \"true\");\n } else {\n input.removeAttribute(\"aria-invalid\");\n }\n};\n\nwatch([() => subText, () => state], syncEditorInputAria);\n\n// Copy-to-clipboard handling\nconst { copy, copied } = useClipboard({ copiedDuring: 2000 });\nconst copyButtonAriaLabel = computed(() =>\n copied.value\n ? `Copied ${headerLabel.value} to clipboard`\n : `Copy ${headerLabel.value} to clipboard`,\n);\nconst copyToClipboard = () => {\n // Copy unconditionally — even an empty editor gives \"Copied\" feedback\n // instead of a dead button.\n copy(editorInstance?.getModel()?.getValue() ?? \"\");\n};\n\nonMounted(() => {\n if (!container.value) {\n return;\n }\n editorInstance = editor.create(container.value, {\n value: modelValue.value,\n language,\n automaticLayout: true,\n minimap: { enabled: false },\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n scrollBeyondLastLine: false,\n lineNumbersMinChars: 3,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n fontWeight: `${codeFont.fontWeight}`,\n fontSize: codeFont.fontSize.value,\n // Keep suggest / hover widgets visible when the editor sits in a clipping\n // container (the editor wrapper itself uses `overflow: hidden`).\n fixedOverflowWidgets: true,\n // Don't swallow wheel events once the editor cannot scroll any further,\n // so the surrounding dialog / page continues to scroll.\n scrollbar: { alwaysConsumeMouseWheel: false },\n readOnly,\n theme: getMonacoTheme(isDarkMode.value),\n ariaLabel: editorAriaLabel.value,\n // Standalone Monaco cannot detect screen readers in the browser; with the\n // default \"auto\" it would replace `ariaLabel` with a \"The editor is not\n // accessible at this time\" message and skip the screen-reader content\n // mirror. Force it on so assistive technology always works.\n accessibilitySupport: \"on\",\n });\n\n syncEditorInputAria();\n\n lineHeight.value = editorInstance.getOption(editor.EditorOption.lineHeight);\n contentLineCount.value = editorInstance.getModel()?.getLineCount() ?? 1;\n\n editorInstance.onDidChangeModelContent(() => {\n const value = editorInstance?.getModel()?.getValue() ?? \"\";\n contentLineCount.value = editorInstance?.getModel()?.getLineCount() ?? 1;\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n // Accessibility\n let tabFocusArmed = false;\n const setTabFocus = (armed: boolean) => {\n if (tabFocusArmed !== armed) {\n tabFocusArmed = armed;\n editorInstance?.updateOptions({ tabFocusMode: armed });\n }\n };\n // Keys that must not disarm tab-focus mode: Tab itself (so the armed Tab\n // can leave the editor) and lone modifiers (so Escape → Shift+Tab works).\n const tabFocusNeutralKeys = [\n KeyCode.Tab,\n KeyCode.Shift,\n KeyCode.Ctrl,\n KeyCode.Alt,\n KeyCode.Meta,\n ];\n editorInstance.onKeyDown((event) => {\n if (event.keyCode === KeyCode.Escape) {\n setTabFocus(true);\n } else if (!tabFocusNeutralKeys.includes(event.keyCode)) {\n setTabFocus(false);\n }\n });\n editorInstance.onDidFocusEditorText(() => {\n setTabFocus(false);\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDarkMode, (isDark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(isDark) });\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n editorInstance?.updateOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(editorAriaLabel, (ariaLabel) => {\n editorInstance?.updateOptions({ ariaLabel });\n});\n\nwatch(\n () => overviewRuler,\n (enabled) => {\n editorInstance?.updateOptions({\n overviewRulerLanes: enabled ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n const model = editorInstance?.getModel();\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n },\n);\n\n// External `modelValue` updates are applied as regular, undoable edits —\n// `setValue` would clear the undo stack, so a form reset or flow-variable\n// overwrite would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n const model = editorInstance?.getModel();\n if (model && newValue !== model.getValue()) {\n model.pushStackElement();\n model.pushEditOperations(\n [],\n [{ range: model.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n editorInstance?.dispose();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill: fillContainer }]\">\n <div :class=\"['editor', state, { focused: isEditorFocused }]\">\n <div v-if=\"!hideHeader\" class=\"header\">\n <div class=\"left-block\">\n <!-- Visual only — the editor's accessible name comes from Monaco's\n `ariaLabel` option (see `editorAriaLabel`). -->\n <span class=\"title\">{{ headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n </div>\n <div class=\"action-buttons\">\n <template\n v-for=\"(action, index) in editorActions\"\n :key=\"`editor-action-${index}`\"\n >\n <KdsButton\n v-if=\"action.type === 'button'\"\n v-bind=\"action.props\"\n size=\"small\"\n @click=\"action.onClick\"\n />\n <KdsToggleButton\n v-else-if=\"action.type === 'toggleButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @update:model-value=\"action.onUpdateModelValue\"\n />\n <KdsMenuButton\n v-else-if=\"action.type === 'menuButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @item-click=\"action.onItemClick\"\n />\n </template>\n <KdsProgressButton\n v-if=\"copyable\"\n v-bind=\"{ ariaLabel: copyButtonAriaLabel }\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n :state=\"copied ? 'success' : 'default'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n <div\n ref=\"editor-container\"\n class=\"code\"\n :style=\"editorHeight ? { height: editorHeight } : undefined\"\n />\n </div>\n <KdsSubText\n v-if=\"subText\"\n :id=\"subTextId\"\n :sub-text=\"subText\"\n :error=\"state === kdsCodeEditorState.ERROR\"\n :warning=\"state === kdsCodeEditorState.WARNING\"\n />\n </div>\n</template>\n\n<style scoped>\n.kds-code-editor {\n display: flex;\n flex-direction: column;\n\n .editor {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--kds-color-surface-default);\n border: var(--kds-border-base-subtle);\n border-radius: var(--kds-border-radius-container-0-50x);\n\n /* Only outline the whole editor when the code area (Monaco) is focused —\n header buttons keep their own focus ring. */\n &.focused {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-75x);\n\n .left-block {\n display: flex;\n flex: 1;\n gap: var(--kds-spacing-container-0-25x);\n align-items: center;\n min-width: 0;\n\n /* Keep the header height constant whether or not the copy / action\n buttons are present (matches the small button height). */\n min-height: var(--kds-dimension-component-height-1-5x);\n }\n\n .action-buttons {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n }\n\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n font: var(--kds-font-base-interactive-small);\n color: var(--kds-color-text-and-icon-neutral);\n white-space: nowrap;\n }\n }\n\n &.error .header {\n background-color: var(--kds-color-background-static-danger-muted);\n }\n\n &.warning .header {\n background-color: var(--kds-color-background-static-warning-muted);\n }\n\n .code {\n width: 100%;\n }\n }\n\n /* No row bounds set: fill the width and height of the container. */\n &.fill {\n width: 100%;\n height: 100%;\n\n .editor,\n .code {\n flex: 1 1 auto;\n min-height: 0;\n }\n }\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["$slots"],"sources":["../../styles/dist/tokens/ts/color.js","../../styles/dist/tokens/ts/font.js","../src/CodeEditor/enums.ts","../src/CodeEditor/monacoEnvironment.ts","../src/CodeEditor/KdsCodeEditor.vue","../src/CodeEditor/KdsCodeEditor.vue","../src/Console/utils/buildTheme.ts","../src/Console/utils/shouldFocusBePainted.ts","../src/Console/KdsConsole.vue","../src/Console/KdsConsole.vue"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated\n * from the design token sources in src/tokens.\n */\nexport const color = {\n surface: {\n default: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-surface-default)\",\n },\n },\n muted: {\n light: { h: 0, s: 0, l: 94.1, alpha: 1 },\n dark: { h: 0, s: 0, l: 18.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 94.1%), hsl(0, 0%, 18.8%))\",\n variable: \"var(--kds-color-surface-muted)\",\n },\n },\n subtle: {\n light: { h: 0, s: 0, l: 90.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 90.2%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-surface-subtle)\",\n },\n },\n },\n page: {\n default: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 12.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 12.9%))\",\n variable: \"var(--kds-color-page-default)\",\n },\n },\n },\n background: {\n neutral: {\n initial: {\n light: { h: 345, s: 0, l: 11.4, alpha: 0 },\n dark: { h: 345, s: 0, l: 11.4, alpha: 0 },\n css: {\n value: \"hsl(345 0% 11.4% / 0)\",\n variable: \"var(--kds-color-background-neutral-initial)\",\n },\n },\n hover: {\n light: { h: 340, s: 0, l: 48.2, alpha: 0.1 },\n dark: { h: 180, s: 0, l: 90.2, alpha: 0.1 },\n css: {\n value: \"light-dark(hsl(340 0% 48.2% / 0.1), hsl(180 0% 90.2% / 0.1))\",\n variable: \"var(--kds-color-background-neutral-hover)\",\n },\n },\n active: {\n light: { h: 340, s: 0, l: 48.2, alpha: 0.2 },\n dark: { h: 340, s: 0, l: 48.2, alpha: 0.36 },\n css: {\n value: \"light-dark(hsl(340 0% 48.2% / 0.2), hsl(340 0% 48.2% / 0.36))\",\n variable: \"var(--kds-color-background-neutral-active)\",\n },\n },\n },\n \"neutral-bold\": {\n initial: {\n light: { h: 210, s: 0, l: 72.5, alpha: 0.4 },\n dark: { h: 0, s: 0, l: 32.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(210 0% 72.5% / 0.4), hsl(0, 0%, 32.2%))\",\n variable: \"var(--kds-color-background-neutral-bold-initial)\",\n },\n },\n hover: {\n light: { h: 210, s: 0, l: 62.977, alpha: 0.4 },\n dark: { h: 0, s: 0, l: 48.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(210 0% 62.977% / 0.4), hsl(0, 0%, 48.2%))\",\n variable: \"var(--kds-color-background-neutral-bold-hover)\",\n },\n },\n active: {\n light: { h: 0, s: 0, l: 59.859, alpha: 0.4 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0 0% 59.859% / 0.4), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-background-neutral-bold-active)\",\n },\n },\n },\n primary: {\n initial: {\n light: { h: 168, s: 46.7, l: 85.3, alpha: 1 },\n dark: { h: 169.8, s: 30.6, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(168, 46.7%, 85.3%), hsl(169.8, 30.6%, 66.1%))\",\n variable: \"var(--kds-color-background-primary-initial)\",\n },\n },\n hover: {\n light: { h: 167.99, s: 27.818, l: 77.703, alpha: 1 },\n dark: { h: 169.6, s: 30.517, l: 68.835, alpha: 1 },\n css: {\n value: \"light-dark(hsl(167.99 27.818% 77.703%), hsl(169.6 30.517% 68.835%))\",\n variable: \"var(--kds-color-background-primary-hover)\",\n },\n },\n active: {\n light: { h: 167.97, s: 18.664, l: 70.242, alpha: 1 },\n dark: { h: 168.98, s: 30.352, l: 78.334, alpha: 1 },\n css: {\n value: \"light-dark(hsl(167.97 18.664% 70.242%), hsl(168.98 30.352% 78.334%))\",\n variable: \"var(--kds-color-background-primary-active)\",\n },\n },\n },\n \"primary-bold\": {\n initial: {\n light: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n dark: { h: 174.4, s: 47.8, l: 30.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(176.1, 66.7%, 22.4%), hsl(174.4, 47.8%, 30.8%))\",\n variable: \"var(--kds-color-background-primary-bold-initial)\",\n },\n },\n hover: {\n light: { h: 175.79, s: 58.284, l: 19.792, alpha: 1 },\n dark: { h: 173.26, s: 27.023, l: 42.409, alpha: 1 },\n css: {\n value: \"light-dark(hsl(175.79 58.284% 19.792%), hsl(173.26 27.023% 42.409%))\",\n variable: \"var(--kds-color-background-primary-bold-hover)\",\n },\n },\n active: {\n light: { h: 175.36, s: 48.936, l: 16.164, alpha: 1 },\n dark: { h: 171.91, s: 19.296, l: 64.061, alpha: 1 },\n css: {\n value: \"light-dark(hsl(175.36 48.936% 16.164%), hsl(171.91 19.296% 64.061%))\",\n variable: \"var(--kds-color-background-primary-bold-active)\",\n },\n },\n },\n selected: {\n initial: {\n light: { h: 165.6, s: 67.6, l: 92.7, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 0.32 },\n css: {\n value: \"light-dark(hsl(165.6, 67.6%, 92.7%), hsl(176.1 66.7% 22.4% / 0.32))\",\n variable: \"var(--kds-color-background-selected-initial)\",\n },\n },\n hover: {\n light: { h: 168, s: 46.7, l: 85.3, alpha: 1 },\n dark: { h: 174.4, s: 47.8, l: 30.8, alpha: 0.56 },\n css: {\n value: \"light-dark(hsl(168, 46.7%, 85.3%), hsl(174.4 47.8% 30.8% / 0.56))\",\n variable: \"var(--kds-color-background-selected-hover)\",\n },\n },\n active: {\n light: { h: 168.8, s: 34.4, l: 75.5, alpha: 1 },\n dark: { h: 171.8, s: 27, l: 47.8, alpha: 0.72 },\n css: {\n value: \"light-dark(hsl(168.8, 34.4%, 75.5%), hsl(171.8 27% 47.8% / 0.72))\",\n variable: \"var(--kds-color-background-selected-active)\",\n },\n },\n },\n \"selected-bold\": {\n initial: {\n light: { h: 174.4, s: 47.8, l: 30.8, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(174.4, 47.8%, 30.8%), hsl(176.1, 66.7%, 22.4%))\",\n variable: \"var(--kds-color-background-selected-bold-initial)\",\n },\n },\n hover: {\n light: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n dark: { h: 174.4, s: 47.8, l: 30.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(176.1, 66.7%, 22.4%), hsl(174.4, 47.8%, 30.8%))\",\n variable: \"var(--kds-color-background-selected-bold-hover)\",\n },\n },\n active: {\n light: { h: 176.7, s: 82, l: 17.5, alpha: 1 },\n dark: { h: 171.8, s: 27, l: 47.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(176.7, 82%, 17.5%), hsl(171.8, 27%, 47.8%))\",\n variable: \"var(--kds-color-background-selected-bold-active)\",\n },\n },\n },\n danger: {\n initial: {\n light: { h: 0, s: 100, l: 97.1, alpha: 1 },\n dark: { h: 356.76, s: 65.215, l: 15.117, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 100%, 97.1%), hsl(356.76 65.215% 15.117%))\",\n variable: \"var(--kds-color-background-danger-initial)\",\n },\n },\n hover: {\n light: { h: 1.5, s: 100, l: 92.4, alpha: 1 },\n dark: { h: 348.8, s: 90.9, l: 34.5, alpha: 0.72 },\n css: {\n value: \"light-dark(hsl(1.5, 100%, 92.4%), hsl(348.8 90.9% 34.5% / 0.72))\",\n variable: \"var(--kds-color-background-danger-hover)\",\n },\n },\n active: {\n light: { h: 3.4, s: 100, l: 86.1, alpha: 1 },\n dark: { h: 353, s: 74.7, l: 44.9, alpha: 0.72 },\n css: {\n value: \"light-dark(hsl(3.4, 100%, 86.1%), hsl(353 74.7% 44.9% / 0.72))\",\n variable: \"var(--kds-color-background-danger-active)\",\n },\n },\n },\n \"danger-bold\": {\n initial: {\n light: { h: 348.8, s: 90.9, l: 34.5, alpha: 1 },\n dark: { h: 347.6, s: 97.1, l: 27.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348.8, 90.9%, 34.5%), hsl(347.6, 97.1%, 27.3%))\",\n variable: \"var(--kds-color-background-danger-bold-initial)\",\n },\n },\n hover: {\n light: { h: 347.6, s: 97.1, l: 27.3, alpha: 1 },\n dark: { h: 353, s: 74.7, l: 44.9, alpha: 0.8 },\n css: {\n value: \"light-dark(hsl(347.6, 97.1%, 27.3%), hsl(353 74.7% 44.9% / 0.8))\",\n variable: \"var(--kds-color-background-danger-bold-hover)\",\n },\n },\n active: {\n light: { h: 348, s: 94.3, l: 20.8, alpha: 1 },\n dark: { h: 356.3, s: 76.8, l: 54.3, alpha: 0.8 },\n css: {\n value: \"light-dark(hsl(348, 94.3%, 20.8%), hsl(356.3 76.8% 54.3% / 0.8))\",\n variable: \"var(--kds-color-background-danger-bold-active)\",\n },\n },\n },\n input: {\n initial: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-background-input-initial)\",\n },\n },\n hover: {\n light: { h: 330, s: 0, l: 94.521, alpha: 1 },\n dark: { h: 330, s: 0, l: 30.187, alpha: 1 },\n css: {\n value: \"light-dark(hsl(330 0% 94.521%), hsl(330 0% 30.187%))\",\n variable: \"var(--kds-color-background-input-hover)\",\n },\n },\n active: {\n light: { h: 330, s: 0, l: 85.683, alpha: 1 },\n dark: { h: 336, s: 0, l: 38.771, alpha: 1 },\n css: {\n value: \"light-dark(hsl(330 0% 85.683%), hsl(336 0% 38.771%))\",\n variable: \"var(--kds-color-background-input-active)\",\n },\n },\n },\n disabled: {\n default: {\n light: { h: 340, s: 0, l: 48.2, alpha: 0.48 },\n dark: { h: 340, s: 0, l: 48.2, alpha: 0.48 },\n css: {\n value: \"hsl(340 0% 48.2% / 0.48)\",\n variable: \"var(--kds-color-background-disabled-default)\",\n },\n },\n primary: {\n light: { h: 173.91, s: 18.134, l: 40.592, alpha: 1 },\n dark: { h: 173.91, s: 18.134, l: 40.592, alpha: 1 },\n css: {\n value: \"hsl(173.91 18.134% 40.592%)\",\n variable: \"var(--kds-color-background-disabled-primary)\",\n },\n },\n danger: {\n light: { h: 1.3489, s: 43.031, l: 37.79, alpha: 1 },\n dark: { h: 1.3489, s: 43.031, l: 37.79, alpha: 1 },\n css: {\n value: \"hsl(1.3489 43.031% 37.79%)\",\n variable: \"var(--kds-color-background-disabled-danger)\",\n },\n },\n },\n \"success-bold\": {\n initial: {\n light: { h: 111.3, s: 47.5, l: 31.4, alpha: 1 },\n dark: { h: 123.7, s: 46.7, l: 20.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(111.3, 47.5%, 31.4%), hsl(123.7, 46.7%, 20.6%))\",\n variable: \"var(--kds-color-background-success-bold-initial)\",\n },\n },\n },\n \"info-bold\": {\n initial: {\n light: { h: 209.4, s: 57.3, l: 49.6, alpha: 1 },\n dark: { h: 212.1, s: 78.2, l: 67.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(209.4, 57.3%, 49.6%), hsl(212.1, 78.2%, 67.6%))\",\n variable: \"var(--kds-color-background-info-bold-initial)\",\n },\n },\n hover: {\n light: { h: 208.2, s: 62.9, l: 41.2, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.2, 62.9%, 41.2%), hsl(213.6, 91.6%, 76.7%))\",\n variable: \"var(--kds-color-background-info-bold-hover)\",\n },\n },\n active: {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-background-info-bold-active)\",\n },\n },\n },\n },\n \"background-static\": {\n info: {\n light: { h: 216.7, s: 100, l: 96.5, alpha: 1 },\n dark: { h: 210, s: 50, l: 27.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(216.7, 100%, 96.5%), hsl(210, 50%, 27.5%))\",\n variable: \"var(--kds-color-background-static-info)\",\n },\n },\n \"info-muted\": {\n light: { h: 216.83, s: 100.14, l: 97.347, alpha: 1 },\n dark: { h: 211.86, s: 40.97, l: 17.58, alpha: 1 },\n css: {\n value: \"light-dark(hsl(216.83 100.14% 97.347%), hsl(211.86 40.97% 17.58%))\",\n variable: \"var(--kds-color-background-static-info-muted)\",\n },\n },\n warning: {\n light: { h: 30, s: 95.2, l: 91.8, alpha: 1 },\n dark: { h: 13.1, s: 66.1, l: 23.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(30, 95.2%, 91.8%), hsl(13.1, 66.1%, 23.1%))\",\n variable: \"var(--kds-color-background-static-warning)\",\n },\n },\n \"warning-muted\": {\n light: { h: 29.601, s: 98.108, l: 95.778, alpha: 1 },\n dark: { h: 14.687, s: 60.252, l: 14.775, alpha: 1 },\n css: {\n value: \"light-dark(hsl(29.601 98.108% 95.778%), hsl(14.687 60.252% 14.775%))\",\n variable: \"var(--kds-color-background-static-warning-muted)\",\n },\n },\n danger: {\n light: { h: 1.5, s: 100, l: 92.4, alpha: 1 },\n dark: { h: 347.6, s: 97.1, l: 27.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(1.5, 100%, 92.4%), hsl(347.6, 97.1%, 27.3%))\",\n variable: \"var(--kds-color-background-static-danger)\",\n },\n },\n \"danger-muted\": {\n light: { h: 0, s: 100, l: 97.1, alpha: 1 },\n dark: { h: 356.76, s: 65.215, l: 15.117, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 100%, 97.1%), hsl(356.76 65.215% 15.117%))\",\n variable: \"var(--kds-color-background-static-danger-muted)\",\n },\n },\n success: {\n light: { h: 119.4, s: 96.139, l: 93.64, alpha: 1 },\n dark: { h: 123.7, s: 46.7, l: 20.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(119.4 96.139% 93.64%), hsl(123.7, 46.7%, 20.6%))\",\n variable: \"var(--kds-color-background-static-success)\",\n },\n },\n \"success-muted\": {\n light: { h: 125.38, s: 64.795, l: 97.496, alpha: 1 },\n dark: { h: 128.3, s: 38.542, l: 10.352, alpha: 1 },\n css: {\n value: \"light-dark(hsl(125.38 64.795% 97.496%), hsl(128.3 38.542% 10.352%))\",\n variable: \"var(--kds-color-background-static-success-muted)\",\n },\n },\n brand: {\n light: { h: 50.8, s: 100, l: 50, alpha: 1 },\n dark: { h: 50.8, s: 100, l: 50, alpha: 1 },\n css: {\n value: \"hsl(50.8, 100%, 50%)\",\n variable: \"var(--kds-color-background-static-brand)\",\n },\n },\n overlay: {\n light: { h: 0, s: 0, l: 12.9, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 12.9%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-background-static-overlay)\",\n },\n },\n },\n \"text-and-icon\": {\n neutral: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-text-and-icon-neutral)\",\n },\n },\n muted: {\n light: { h: 0, s: 0, l: 32.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 90.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 32.2%), hsl(0, 0%, 90.2%))\",\n variable: \"var(--kds-color-text-and-icon-muted)\",\n },\n },\n subtle: {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 43%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-text-and-icon-subtle)\",\n },\n },\n \"neutral-inverted\": {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-text-and-icon-neutral-inverted)\",\n },\n },\n primary: {\n light: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n css: {\n value: \"hsl(176.1, 66.7%, 22.4%)\",\n variable: \"var(--kds-color-text-and-icon-primary)\",\n },\n },\n \"primary-inverted\": {\n light: { h: 165.6, s: 67.6, l: 92.7, alpha: 1 },\n dark: { h: 165.6, s: 67.6, l: 92.7, alpha: 1 },\n css: {\n value: \"hsl(165.6, 67.6%, 92.7%)\",\n variable: \"var(--kds-color-text-and-icon-primary-inverted)\",\n },\n },\n selected: {\n light: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n dark: { h: 168.8, s: 34.4, l: 75.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(176.1, 66.7%, 22.4%), hsl(168.8, 34.4%, 75.5%))\",\n variable: \"var(--kds-color-text-and-icon-selected)\",\n },\n },\n \"selected-inverted\": {\n light: { h: 165, s: 80, l: 96.1, alpha: 1 },\n dark: { h: 165, s: 80, l: 96.1, alpha: 1 },\n css: {\n value: \"hsl(165, 80%, 96.1%)\",\n variable: \"var(--kds-color-text-and-icon-selected-inverted)\",\n },\n },\n warning: {\n light: { h: 19, s: 63.1, l: 38.2, alpha: 1 },\n dark: { h: 31.2, s: 82.8, l: 65.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(19, 63.1%, 38.2%), hsl(31.2, 82.8%, 65.9%))\",\n variable: \"var(--kds-color-text-and-icon-warning)\",\n },\n },\n \"warning-inverted\": {\n light: { h: 31, s: 100, l: 82.5, alpha: 1 },\n dark: { h: 31, s: 100, l: 82.5, alpha: 1 },\n css: {\n value: \"hsl(31, 100%, 82.5%)\",\n variable: \"var(--kds-color-text-and-icon-warning-inverted)\",\n },\n },\n danger: {\n light: { h: 348.8, s: 90.9, l: 34.5, alpha: 1 },\n dark: { h: 3.5, s: 100, l: 79.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348.8, 90.9%, 34.5%), hsl(3.5, 100%, 79.6%))\",\n variable: \"var(--kds-color-text-and-icon-danger)\",\n },\n },\n \"danger-inverted\": {\n light: { h: 0, s: 100, l: 97.1, alpha: 1 },\n dark: { h: 1.5, s: 100, l: 92.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 100%, 97.1%), hsl(1.5, 100%, 92.4%))\",\n variable: \"var(--kds-color-text-and-icon-danger-inverted)\",\n },\n },\n success: {\n light: { h: 116.1, s: 46.6, l: 25.7, alpha: 1 },\n dark: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(116.1, 46.6%, 25.7%), hsl(109, 47.2%, 61.4%))\",\n variable: \"var(--kds-color-text-and-icon-success)\",\n },\n },\n \"success-inverted\": {\n light: { h: 120, s: 95.3, l: 91.6, alpha: 1 },\n dark: { h: 120, s: 95.3, l: 91.6, alpha: 1 },\n css: {\n value: \"hsl(120, 95.3%, 91.6%)\",\n variable: \"var(--kds-color-text-and-icon-success-inverted)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 64, alpha: 1 },\n dark: { h: 0, s: 0, l: 48.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 64%), hsl(0, 0%, 48.2%))\",\n variable: \"var(--kds-color-text-and-icon-disabled)\",\n },\n },\n \"disabled-inverted\": {\n light: { h: 0, s: 0, l: 72.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 72.5%)\",\n variable: \"var(--kds-color-text-and-icon-disabled-inverted)\",\n },\n },\n info: {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(213.6, 91.6%, 76.7%))\",\n variable: \"var(--kds-color-text-and-icon-info)\",\n },\n },\n editor: {\n light: { h: 0, s: 0, l: 11.4, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 11.4%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-text-and-icon-editor)\",\n },\n },\n },\n border: {\n neutral: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.4 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.5 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.4), hsl(330 0% 99% / 0.5))\",\n variable: \"var(--kds-color-border-neutral)\",\n },\n },\n muted: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.2 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.2 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.2), hsl(330 0% 99% / 0.2))\",\n variable: \"var(--kds-color-border-muted)\",\n },\n },\n subtle: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.1 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.1 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.1), hsl(330 0% 99% / 0.1))\",\n variable: \"var(--kds-color-border-subtle)\",\n },\n },\n \"primary-bold\": {\n light: { h: 176.7, s: 82, l: 17.5, alpha: 1 },\n dark: { h: 176.7, s: 82, l: 17.5, alpha: 1 },\n css: {\n value: \"hsl(176.7, 82%, 17.5%)\",\n variable: \"var(--kds-color-border-primary-bold)\",\n },\n },\n primary: {\n light: { h: 169.8, s: 30.6, l: 66.1, alpha: 1 },\n dark: { h: 168.8, s: 34.4, l: 75.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(169.8, 30.6%, 66.1%), hsl(168.8, 34.4%, 75.5%))\",\n variable: \"var(--kds-color-border-primary)\",\n },\n },\n \"selected-bold\": {\n light: { h: 174.4, s: 47.8, l: 30.8, alpha: 1 },\n dark: { h: 168.8, s: 34.4, l: 75.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(174.4, 47.8%, 30.8%), hsl(168.8, 34.4%, 75.5%))\",\n variable: \"var(--kds-color-border-selected-bold)\",\n },\n },\n selected: {\n light: { h: 171.8, s: 27, l: 47.8, alpha: 1 },\n dark: { h: 168, s: 46.7, l: 85.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(171.8, 27%, 47.8%), hsl(168, 46.7%, 85.3%))\",\n variable: \"var(--kds-color-border-selected)\",\n },\n },\n \"selected-accent\": {\n light: { h: 209.4, s: 57.3, l: 49.6, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(209.4, 57.3%, 49.6%), hsl(213.6, 91.6%, 76.7%))\",\n variable: \"var(--kds-color-border-selected-accent)\",\n },\n },\n \"warning-bold\": {\n light: { h: 19, s: 63.1, l: 38.2, alpha: 1 },\n dark: { h: 31, s: 100, l: 82.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(19, 63.1%, 38.2%), hsl(31, 100%, 82.5%))\",\n variable: \"var(--kds-color-border-warning-bold)\",\n },\n },\n warning: {\n light: { h: 30.8, s: 79.3, l: 73.5, alpha: 1 },\n dark: { h: 13.1, s: 66.1, l: 23.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(30.8, 79.3%, 73.5%), hsl(13.1, 66.1%, 23.1%))\",\n variable: \"var(--kds-color-border-warning)\",\n },\n },\n \"danger-bold\": {\n light: { h: 348.8, s: 90.9, l: 34.5, alpha: 1 },\n dark: { h: 3.5, s: 100, l: 79.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348.8, 90.9%, 34.5%), hsl(3.5, 100%, 79.6%))\",\n variable: \"var(--kds-color-border-danger-bold)\",\n },\n },\n danger: {\n light: { h: 3.4, s: 100, l: 86.1, alpha: 1 },\n dark: { h: 348, s: 94.3, l: 20.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(3.4, 100%, 86.1%), hsl(348, 94.3%, 20.8%))\",\n variable: \"var(--kds-color-border-danger)\",\n },\n },\n \"success-bold\": {\n light: { h: 116.1, s: 46.6, l: 25.7, alpha: 1 },\n dark: { h: 112, s: 56.5, l: 71.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(116.1, 46.6%, 25.7%), hsl(112, 56.5%, 71.2%))\",\n variable: \"var(--kds-color-border-success-bold)\",\n },\n },\n success: {\n light: { h: 112, s: 56.5, l: 71.2, alpha: 1 },\n dark: { h: 123.7, s: 46.7, l: 20.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(112, 56.5%, 71.2%), hsl(123.7, 46.7%, 20.6%))\",\n variable: \"var(--kds-color-border-success)\",\n },\n },\n \"info-bold\": {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-border-info-bold)\",\n },\n },\n info: {\n light: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n dark: { h: 210, s: 50, l: 27.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(214.5, 100%, 84.3%), hsl(210, 50%, 27.5%))\",\n variable: \"var(--kds-color-border-info)\",\n },\n },\n transparent: {\n light: { h: 345, s: 0, l: 11.4, alpha: 0 },\n dark: { h: 345, s: 0, l: 11.4, alpha: 0 },\n css: {\n value: \"hsl(345 0% 11.4% / 0)\",\n variable: \"var(--kds-color-border-transparent)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 72.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 48.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 72.5%), hsl(0, 0%, 48.2%))\",\n variable: \"var(--kds-color-border-disabled)\",\n },\n },\n brand: {\n light: { h: 50.8, s: 100, l: 50, alpha: 1 },\n dark: { h: 50.8, s: 100, l: 50, alpha: 1 },\n css: {\n value: \"hsl(50.8, 100%, 50%)\",\n variable: \"var(--kds-color-border-brand)\",\n },\n },\n \"neutral-bold-initial\": {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.4 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.4 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.4), hsl(330 0% 99% / 0.4))\",\n variable: \"var(--kds-color-border-neutral-bold-initial)\",\n },\n },\n \"neutral-bold-hover\": {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.64 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.58 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.64), hsl(330 0% 99% / 0.58))\",\n variable: \"var(--kds-color-border-neutral-bold-hover)\",\n },\n },\n \"neutral-bold-active\": {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.74 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.68 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.74), hsl(330 0% 99% / 0.68))\",\n variable: \"var(--kds-color-border-neutral-bold-active)\",\n },\n },\n },\n focus: {\n outline: {\n light: { h: 209.4, s: 57.3, l: 49.6, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(209.4, 57.3%, 49.6%), hsl(213.6, 91.6%, 76.7%))\",\n variable: \"var(--kds-color-focus-outline)\",\n },\n },\n background: {\n light: { h: 215.7, s: 100, l: 91.8, alpha: 0.4 },\n dark: { h: 209.4, s: 49.5, l: 20.2, alpha: 0.5 },\n css: {\n value: \"light-dark(hsl(215.7 100% 91.8% / 0.4), hsl(209.4 49.5% 20.2% / 0.5))\",\n variable: \"var(--kds-color-focus-background)\",\n },\n },\n },\n blanket: {\n default: {\n light: { h: 345, s: 0, l: 11.4, alpha: 0.8 },\n dark: { h: 345, s: 0, l: 11.4, alpha: 0.8 },\n css: {\n value: \"hsl(345 0% 11.4% / 0.8)\",\n variable: \"var(--kds-color-blanket-default)\",\n },\n },\n },\n chart: {\n data: {\n \"series-1\": {\n light: { h: 173.4, s: 37.1, l: 38.6, alpha: 1 },\n dark: { h: 169.8, s: 30.6, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(173.4, 37.1%, 38.6%), hsl(169.8, 30.6%, 66.1%))\",\n variable: \"var(--kds-color-chart-data-series-1)\",\n },\n },\n \"series-2\": {\n light: { h: 211.3, s: 67.3, l: 59.2, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(211.3, 67.3%, 59.2%), hsl(213.6, 91.6%, 76.7%))\",\n variable: \"var(--kds-color-chart-data-series-2)\",\n },\n },\n \"series-3\": {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 2.6, s: 100, l: 72.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(359.6, 84.3%, 62.5%), hsl(2.6, 100%, 72.4%))\",\n variable: \"var(--kds-color-chart-data-series-3)\",\n },\n },\n \"series-4\": {\n light: { h: 0, s: 0, l: 22, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 22%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-chart-data-series-4)\",\n },\n },\n \"series-5\": {\n light: { h: 28, s: 39, l: 50, alpha: 1 },\n dark: { h: 30, s: 47, l: 68, alpha: 1 },\n css: {\n value: \"light-dark(hsl(28, 39%, 50%), hsl(30, 47%, 68%))\",\n variable: \"var(--kds-color-chart-data-series-5)\",\n },\n },\n \"series-6\": {\n light: { h: 208.2, s: 62.9, l: 41.2, alpha: 1 },\n dark: { h: 209.4, s: 57.3, l: 49.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.2, 62.9%, 41.2%), hsl(209.4, 57.3%, 49.6%))\",\n variable: \"var(--kds-color-chart-data-series-6)\",\n },\n },\n \"series-7\": {\n light: { h: 71.1, s: 46.3, l: 32.2, alpha: 1 },\n dark: { h: 68.6, s: 61, l: 47.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(71.1, 46.3%, 32.2%), hsl(68.6, 61.0%, 47.3%))\",\n variable: \"var(--kds-color-chart-data-series-7)\",\n },\n },\n \"series-8\": {\n light: { h: 308.3, s: 31.6, l: 55.3, alpha: 1 },\n dark: { h: 316.1, s: 40.6, l: 72.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(308.3, 31.6%, 55.3%), hsl(316.1, 40.6%, 72.9%))\",\n variable: \"var(--kds-color-chart-data-series-8)\",\n },\n },\n \"series-9\": {\n light: { h: 193.1, s: 60.2, l: 43.3, alpha: 1 },\n dark: { h: 191.3, s: 57.1, l: 54.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(193.1, 60.2%, 43.3%), hsl(191.3, 57.1%, 54.3%))\",\n variable: \"var(--kds-color-chart-data-series-9)\",\n },\n },\n track: {\n light: { h: 0, s: 0, l: 94.1, alpha: 1 },\n dark: { h: 0, s: 0, l: 32.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 94.1%), hsl(0, 0%, 32.2%))\",\n variable: \"var(--kds-color-chart-data-track)\",\n },\n },\n },\n status: {\n positive: {\n light: { h: 107.4, s: 42.2, l: 44.1, alpha: 1 },\n dark: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(107.4, 42.2%, 44.1%), hsl(109, 47.2%, 61.4%))\",\n variable: \"var(--kds-color-chart-status-positive)\",\n },\n },\n negative: {\n light: { h: 356.3, s: 76.8, l: 54.3, alpha: 1 },\n dark: { h: 0, s: 100, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(356.3, 76.8%, 54.3%), hsl(0, 100%, 66.1%))\",\n variable: \"var(--kds-color-chart-status-negative)\",\n },\n },\n warning: {\n light: { h: 19, s: 63.1, l: 38.2, alpha: 1 },\n dark: { h: 31.2, s: 82.8, l: 65.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(19, 63.1%, 38.2%), hsl(31.2, 82.8%, 65.9%))\",\n variable: \"var(--kds-color-chart-status-warning)\",\n },\n },\n error: {\n light: { h: 348.8, s: 90.9, l: 34.5, alpha: 1 },\n dark: { h: 3.5, s: 100, l: 79.6, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348.8, 90.9%, 34.5%), hsl(3.5, 100%, 79.6%))\",\n variable: \"var(--kds-color-chart-status-error)\",\n },\n },\n },\n scaffolding: {\n axis: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.2 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.2 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.2), hsl(330 0% 99% / 0.2))\",\n variable: \"var(--kds-color-chart-scaffolding-axis)\",\n },\n },\n grid: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.1 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.1 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.1), hsl(330 0% 99% / 0.1))\",\n variable: \"var(--kds-color-chart-scaffolding-grid)\",\n },\n },\n border: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.1 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.1 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.1), hsl(330 0% 99% / 0.1))\",\n variable: \"var(--kds-color-chart-scaffolding-border)\",\n },\n },\n segment: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-chart-scaffolding-segment)\",\n },\n },\n surface: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-chart-scaffolding-surface)\",\n },\n },\n \"tooltip-surface\": {\n light: { h: 0, s: 0, l: 12.9, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 12.9%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-chart-scaffolding-tooltip-surface)\",\n },\n },\n },\n control: {\n default: {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 43%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-chart-control-default)\",\n },\n },\n hover: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-chart-control-hover)\",\n },\n },\n selected: {\n light: { h: 174.4, s: 47.8, l: 30.8, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(174.4, 47.8%, 30.8%), hsl(176.1, 66.7%, 22.4%))\",\n variable: \"var(--kds-color-chart-control-selected)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 64, alpha: 1 },\n dark: { h: 0, s: 0, l: 48.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 64%), hsl(0, 0%, 48.2%))\",\n variable: \"var(--kds-color-chart-control-disabled)\",\n },\n },\n },\n text: {\n title: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-chart-text-title)\",\n },\n },\n subtitle: {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 43%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-chart-text-subtitle)\",\n },\n },\n \"axis-name\": {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 43%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-chart-text-axis-name)\",\n },\n },\n \"axis-label\": {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 72.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 43%), hsl(0, 0%, 72.5%))\",\n variable: \"var(--kds-color-chart-text-axis-label)\",\n },\n },\n legend: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-chart-text-legend)\",\n },\n },\n tooltip: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-chart-text-tooltip)\",\n },\n },\n label: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-chart-text-label)\",\n },\n },\n \"on-fill-dark\": {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 15.7%)\",\n variable: \"var(--kds-color-chart-text-on-fill-dark)\",\n },\n },\n \"on-fill-light\": {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 98, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 98%)\",\n variable: \"var(--kds-color-chart-text-on-fill-light)\",\n },\n },\n },\n },\n \"nodes-and-variables\": {\n \"flow-variable\": {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 0, s: 100, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(359.6, 84.3%, 62.5%), hsl(0, 100%, 66.1%))\",\n variable: \"var(--kds-color-nodes-and-variables-flow-variable)\",\n },\n },\n loop: {\n light: { h: 187.7, s: 51.7, l: 76.5, alpha: 1 },\n dark: { h: 187.7, s: 51.7, l: 76.5, alpha: 1 },\n css: {\n value: \"hsl(187.7, 51.7%, 76.5%)\",\n variable: \"var(--kds-color-nodes-and-variables-loop)\",\n },\n },\n manipulator: {\n light: { h: 50.8, s: 100, l: 50, alpha: 1 },\n dark: { h: 50.8, s: 100, l: 50, alpha: 1 },\n css: {\n value: \"hsl(50.8, 100%, 50%)\",\n variable: \"var(--kds-color-nodes-and-variables-manipulator)\",\n },\n },\n predictor: {\n light: { h: 106.5, s: 42.6, l: 54.9, alpha: 1 },\n dark: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(106.5, 42.6%, 54.9%), hsl(109, 47.2%, 61.4%))\",\n variable: \"var(--kds-color-nodes-and-variables-predictor)\",\n },\n },\n source: {\n light: { h: 30, s: 80.4, l: 60, alpha: 1 },\n dark: { h: 30, s: 80.4, l: 60, alpha: 1 },\n css: {\n value: \"hsl(30, 80.4%, 60%)\",\n variable: \"var(--kds-color-nodes-and-variables-source)\",\n },\n },\n visualizer: {\n light: { h: 193.1, s: 60.2, l: 43.3, alpha: 1 },\n dark: { h: 191.3, s: 57.1, l: 54.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(193.1, 60.2%, 43.3%), hsl(191.3, 57.1%, 54.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-visualizer)\",\n },\n },\n widget: {\n light: { h: 193.1, s: 60.2, l: 43.3, alpha: 1 },\n dark: { h: 191.3, s: 57.1, l: 54.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(193.1, 60.2%, 43.3%), hsl(191.3, 57.1%, 54.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-widget)\",\n },\n },\n scope: {\n light: { h: 304.6, s: 27.4, l: 46.5, alpha: 1 },\n dark: { h: 308.3, s: 31.6, l: 55.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(304.6, 27.4%, 46.5%), hsl(308.3, 31.6%, 55.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-scope)\",\n },\n },\n learner: {\n light: { h: 67.3, s: 67.8, l: 54.9, alpha: 1 },\n dark: { h: 65.4, s: 68.5, l: 65.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(67.3, 67.8%, 54.9%), hsl(65.4, 68.5%, 65.1%))\",\n variable: \"var(--kds-color-nodes-and-variables-learner)\",\n },\n },\n sink: {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 0, s: 100, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(359.6, 84.3%, 62.5%), hsl(0, 100%, 66.1%))\",\n variable: \"var(--kds-color-nodes-and-variables-sink)\",\n },\n },\n container: {\n light: { h: 69.4, s: 53.5, l: 39.6, alpha: 1 },\n dark: { h: 69.4, s: 53.5, l: 39.6, alpha: 1 },\n css: {\n value: \"hsl(69.4, 53.5%, 39.6%)\",\n variable: \"var(--kds-color-nodes-and-variables-container)\",\n },\n },\n unknown: {\n light: { h: 353, s: 74.7, l: 44.9, alpha: 1 },\n dark: { h: 356.3, s: 76.8, l: 54.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(353, 74.7%, 44.9%), hsl(356.3, 76.8%, 54.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-unknown)\",\n },\n },\n other: {\n light: { h: 29, s: 43, l: 58, alpha: 1 },\n dark: { h: 30, s: 47, l: 68, alpha: 1 },\n css: {\n value: \"light-dark(hsl(29, 43%, 58%), hsl(30, 47%, 68%))\",\n variable: \"var(--kds-color-nodes-and-variables-other)\",\n },\n },\n metanode: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 12.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 12.9%))\",\n variable: \"var(--kds-color-nodes-and-variables-metanode)\",\n },\n },\n metanodeBorder: {\n light: { h: 0, s: 0, l: 32.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 32.2%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-nodes-and-variables-metanode-border)\",\n },\n },\n component: {\n light: { h: 0, s: 0, l: 72.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 43, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 72.5%), hsl(0, 0%, 43%))\",\n variable: \"var(--kds-color-nodes-and-variables-component)\",\n },\n },\n specialState: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 12.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 12.9%))\",\n variable: \"var(--kds-color-nodes-and-variables-special-state)\",\n },\n },\n forbiddenBorder: {\n light: { h: 0, s: 0, l: 18.8, alpha: 1 },\n dark: { h: 0, s: 0, l: 90.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 18.8%), hsl(0, 0%, 90.2%))\",\n variable: \"var(--kds-color-nodes-and-variables-forbidden-border)\",\n },\n },\n forbidden: {\n light: { h: 0, s: 0, l: 90.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 90.2%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-nodes-and-variables-forbidden)\",\n },\n },\n warningBorder: {\n light: { h: 19, s: 63.1, l: 38.2, alpha: 1 },\n dark: { h: 31.2, s: 82.8, l: 65.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(19, 63.1%, 38.2%), hsl(31.2, 82.8%, 65.9%))\",\n variable: \"var(--kds-color-nodes-and-variables-warning-border)\",\n },\n },\n warning: {\n light: { h: 31, s: 100, l: 82.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(31, 100%, 82.5%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-nodes-and-variables-warning)\",\n },\n },\n errorBorder: {\n light: { h: 348.8, s: 90.9, l: 34.5, alpha: 1 },\n dark: { h: 0, s: 100, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348.8, 90.9%, 34.5%), hsl(0, 100%, 66.1%))\",\n variable: \"var(--kds-color-nodes-and-variables-error-border)\",\n },\n },\n error: {\n light: { h: 1.5, s: 100, l: 92.4, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(1.5, 100%, 92.4%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-nodes-and-variables-error)\",\n },\n },\n loadingBorder: {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-loading-border)\",\n },\n },\n loading: {\n light: { h: 215.7, s: 100, l: 91.8, alpha: 1 },\n dark: { h: 209.4, s: 49.5, l: 20.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(215.7, 100%, 91.8%), hsl(209.4, 49.5%, 20.2%))\",\n variable: \"var(--kds-color-nodes-and-variables-loading)\",\n },\n },\n configuration: {\n light: { h: 64.6, s: 68.6, l: 70, alpha: 1 },\n dark: { h: 69.5, s: 59.5, l: 85.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(64.6, 68.6%, 70.0%), hsl(69.5, 59.5%, 85.5%))\",\n variable: \"var(--kds-color-nodes-and-variables-configuration)\",\n },\n },\n quickform: {\n light: { h: 212.1, s: 78.2, l: 67.6, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(212.1, 78.2%, 67.6%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-nodes-and-variables-quickform)\",\n },\n },\n },\n port: {\n data: {\n light: { h: 0, s: 0, l: 11.4, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 11.4%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-port-data)\",\n },\n },\n \"flow-variable\": {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n css: {\n value: \"hsl(359.6, 84.3%, 62.5%)\",\n variable: \"var(--kds-color-port-flow-variable)\",\n },\n },\n \"neutral-inverted\": {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 12.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 12.9%))\",\n variable: \"var(--kds-color-port-neutral-inverted)\",\n },\n },\n },\n annotations: {\n specialNodes: {\n light: { h: 0, s: 0, l: 72.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 32.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 72.5%), hsl(0, 0%, 32.2%))\",\n variable: \"var(--kds-color-annotations-special-nodes)\",\n },\n },\n specialNodesBold: {\n light: { h: 0, s: 0, l: 32.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 90.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 32.2%), hsl(0, 0%, 90.2%))\",\n variable: \"var(--kds-color-annotations-special-nodes-bold)\",\n },\n },\n visualizer: {\n light: { h: 193.1, s: 60.2, l: 43.3, alpha: 1 },\n dark: { h: 191.3, s: 57.1, l: 54.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(193.1, 60.2%, 43.3%), hsl(191.3, 57.1%, 54.3%))\",\n variable: \"var(--kds-color-annotations-visualizer)\",\n },\n },\n loadingBold: {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-annotations-loading-bold)\",\n },\n },\n manipulator: {\n light: { h: 50.8, s: 100, l: 50, alpha: 1 },\n dark: { h: 50.8, s: 100, l: 50, alpha: 1 },\n css: {\n value: \"hsl(50.8, 100%, 50%)\",\n variable: \"var(--kds-color-annotations-manipulator)\",\n },\n },\n source: {\n light: { h: 30, s: 80.4, l: 60, alpha: 1 },\n dark: { h: 30, s: 80.4, l: 60, alpha: 1 },\n css: {\n value: \"hsl(30, 80.4%, 60%)\",\n variable: \"var(--kds-color-annotations-source)\",\n },\n },\n sink: {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 0, s: 100, l: 66.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(359.6, 84.3%, 62.5%), hsl(0, 100%, 66.1%))\",\n variable: \"var(--kds-color-annotations-sink)\",\n },\n },\n learner: {\n light: { h: 67.3, s: 67.8, l: 54.9, alpha: 1 },\n dark: { h: 65.4, s: 68.5, l: 65.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(67.3, 67.8%, 54.9%), hsl(65.4, 68.5%, 65.1%))\",\n variable: \"var(--kds-color-annotations-learner)\",\n },\n },\n predictor: {\n light: { h: 106.5, s: 42.6, l: 54.9, alpha: 1 },\n dark: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(106.5, 42.6%, 54.9%), hsl(109, 47.2%, 61.4%))\",\n variable: \"var(--kds-color-annotations-predictor)\",\n },\n },\n container: {\n light: { h: 66.5, s: 64.4, l: 80.2, alpha: 1 },\n dark: { h: 69.5, s: 59.5, l: 85.5, alpha: 1 },\n css: {\n value: \"light-dark(hsl(66.5, 64.4%, 80.2%), hsl(69.5, 59.5%, 85.5%))\",\n variable: \"var(--kds-color-annotations-container)\",\n },\n },\n \"flow-variable\": {\n light: { h: 173.4, s: 37.1, l: 38.6, alpha: 1 },\n dark: { h: 171.8, s: 27, l: 47.8, alpha: 1 },\n css: {\n value: \"light-dark(hsl(173.4, 37.1%, 38.6%), hsl(171.8, 27%, 47.8%))\",\n variable: \"var(--kds-color-annotations-flow-variable)\",\n },\n },\n tealDark: {\n light: { h: 176.7, s: 82, l: 17.5, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(176.7, 82%, 17.5%), hsl(176.1, 66.7%, 22.4%))\",\n variable: \"var(--kds-color-annotations-teal-dark)\",\n },\n },\n other: {\n light: { h: 29, s: 43, l: 58, alpha: 1 },\n dark: { h: 30, s: 47, l: 68, alpha: 1 },\n css: {\n value: \"light-dark(hsl(29, 43%, 58%), hsl(30, 47%, 68%))\",\n variable: \"var(--kds-color-annotations-other)\",\n },\n },\n loop: {\n light: { h: 25, s: 30, l: 35, alpha: 1 },\n dark: { h: 27, s: 35, l: 44, alpha: 1 },\n css: {\n value: \"light-dark(hsl(25, 30%, 35%), hsl(27, 35%, 44%))\",\n variable: \"var(--kds-color-annotations-loop)\",\n },\n },\n },\n state: {\n error: {\n light: { h: 353, s: 74.7, l: 44.9, alpha: 1 },\n dark: { h: 347.6, s: 97.1, l: 27.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(353, 74.7%, 44.9%), hsl(347.6, 97.1%, 27.3%))\",\n variable: \"var(--kds-color-state-error)\",\n },\n },\n \"error-border\": {\n light: { h: 348, s: 94.3, l: 20.8, alpha: 1 },\n dark: { h: 2.6, s: 100, l: 72.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(348, 94.3%, 20.8%), hsl(2.6, 100%, 72.4%))\",\n variable: \"var(--kds-color-state-error-border)\",\n },\n },\n warning: {\n light: { h: 47.6, s: 100, l: 67.6, alpha: 1 },\n dark: { h: 43.9, s: 100, l: 26.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(47.6, 100%, 67.6%), hsl(43.9, 100%, 26.3%))\",\n variable: \"var(--kds-color-state-warning)\",\n },\n },\n \"warning-border\": {\n light: { h: 19, s: 63.1, l: 38.2, alpha: 1 },\n dark: { h: 49.1, s: 99.1, l: 43.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(19, 63.1%, 38.2%), hsl(49.1, 99.1%, 43.7%))\",\n variable: \"var(--kds-color-state-warning-border)\",\n },\n },\n success: {\n light: { h: 106.5, s: 42.6, l: 54.9, alpha: 1 },\n dark: { h: 107.6, s: 46, l: 37.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(106.5, 42.6%, 54.9%), hsl(107.6, 46%, 37.1%))\",\n variable: \"var(--kds-color-state-success)\",\n },\n },\n \"success-border\": {\n light: { h: 116.1, s: 46.6, l: 25.7, alpha: 1 },\n dark: { h: 106.5, s: 42.6, l: 54.9, alpha: 1 },\n css: {\n value: \"light-dark(hsl(116.1, 46.6%, 25.7%), hsl(106.5, 42.6%, 54.9%))\",\n variable: \"var(--kds-color-state-success-border)\",\n },\n },\n loading: {\n light: { h: 208.3, s: 60.5, l: 33.7, alpha: 1 },\n dark: { h: 214.5, s: 100, l: 84.3, alpha: 1 },\n css: {\n value: \"light-dark(hsl(208.3, 60.5%, 33.7%), hsl(214.5, 100%, 84.3%))\",\n variable: \"var(--kds-color-state-loading)\",\n },\n },\n inactive: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 11.4, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 99%), hsl(0, 0%, 11.4%))\",\n variable: \"var(--kds-color-state-inactive)\",\n },\n },\n \"inactive-border\": {\n light: { h: 0, s: 0, l: 90.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 32.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 90.2%), hsl(0, 0%, 32.2%))\",\n variable: \"var(--kds-color-state-inactive-border)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 72.5, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 72.5%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-state-disabled)\",\n },\n },\n \"disabled-border\": {\n light: { h: 0, s: 0, l: 48.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 48.2, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 48.2%)\",\n variable: \"var(--kds-color-state-disabled-border)\",\n },\n },\n background: {\n light: { h: 0, s: 0, l: 90.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 32.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 90.2%), hsl(0, 0%, 32.2%))\",\n variable: \"var(--kds-color-state-background)\",\n },\n },\n },\n connector: {\n data: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-connector-data)\",\n },\n },\n \"flow-variable\": {\n light: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n dark: { h: 359.6, s: 84.3, l: 62.5, alpha: 1 },\n css: {\n value: \"hsl(359.6, 84.3%, 62.5%)\",\n variable: \"var(--kds-color-connector-flow-variable)\",\n },\n },\n },\n elevation: {\n top: {\n light: { h: 210, s: 0, l: 72.5, alpha: 0.32 },\n dark: { h: 330, s: 0, l: 10.2, alpha: 0.9 },\n css: {\n value: \"light-dark(hsl(210 0% 72.5% / 0.32), hsl(330 0% 10.2% / 0.9))\",\n variable: \"var(--kds-color-elevation-top)\",\n },\n },\n middle: {\n light: { h: 180, s: 0, l: 32.2, alpha: 0.14 },\n dark: { h: 330, s: 0, l: 10.2, alpha: 0.94 },\n css: {\n value: \"light-dark(hsl(180 0% 32.2% / 0.14), hsl(330 0% 10.2% / 0.94))\",\n variable: \"var(--kds-color-elevation-middle)\",\n },\n },\n bottom: {\n light: { h: 180, s: 0, l: 32.2, alpha: 0.12 },\n dark: { h: 330, s: 0, l: 10.2, alpha: 0.98 },\n css: {\n value: \"light-dark(hsl(180 0% 32.2% / 0.12), hsl(330 0% 10.2% / 0.98))\",\n variable: \"var(--kds-color-elevation-bottom)\",\n },\n },\n knob: {\n light: { h: 180, s: 0, l: 32.2, alpha: 0.5 },\n dark: { h: 330, s: 0, l: 10.2, alpha: 0.6 },\n css: {\n value: \"light-dark(hsl(180 0% 32.2% / 0.5), hsl(330 0% 10.2% / 0.6))\",\n variable: \"var(--kds-color-elevation-knob)\",\n },\n },\n },\n DesktopHeader: {\n background: {\n default: {\n light: { h: 0, s: 0, l: 10.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 10.2, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 10.2%)\",\n variable: \"var(--kds-color-desktop-header-background-default)\",\n },\n },\n muted: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-desktop-header-background-muted)\",\n },\n },\n accent: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 15.7, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 98%), hsl(0, 0%, 15.7%))\",\n variable: \"var(--kds-color-desktop-header-background-accent)\",\n },\n },\n },\n \"text-and-icon\": {\n neutral: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-desktop-header-text-and-icon-neutral)\",\n },\n },\n muted: {\n light: { h: 0, s: 0, l: 32.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 90.2, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 32.2%), hsl(0, 0%, 90.2%))\",\n variable: \"var(--kds-color-desktop-header-text-and-icon-muted)\",\n },\n },\n },\n border: {\n default: {\n light: { h: 330, s: 0, l: 10.2, alpha: 0.1 },\n dark: { h: 330, s: 0, l: 99, alpha: 0.1 },\n css: {\n value: \"light-dark(hsl(330 0% 10.2% / 0.1), hsl(330 0% 99% / 0.1))\",\n variable: \"var(--kds-color-desktop-header-border-default)\",\n },\n },\n },\n },\n TableHeader: {\n background: {\n default: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 99, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 99%)\",\n variable: \"var(--kds-color-table-header-background-default)\",\n },\n },\n },\n },\n ToggleSwitch: {\n knob: {\n initial: {\n light: { h: 0, s: 0, l: 99, alpha: 1 },\n dark: { h: 0, s: 0, l: 99, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 99%)\",\n variable: \"var(--kds-color-toggle-switch-knob-initial)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 90.2, alpha: 1 },\n dark: { h: 0, s: 0, l: 90.2, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 90.2%)\",\n variable: \"var(--kds-color-toggle-switch-knob-disabled)\",\n },\n },\n },\n icon: {\n on: {\n light: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n dark: { h: 176.1, s: 66.7, l: 22.4, alpha: 1 },\n css: {\n value: \"hsl(176.1, 66.7%, 22.4%)\",\n variable: \"var(--kds-color-toggle-switch-icon-on)\",\n },\n },\n off: {\n light: { h: 0, s: 0, l: 43, alpha: 1 },\n dark: { h: 0, s: 0, l: 43, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 43%)\",\n variable: \"var(--kds-color-toggle-switch-icon-off)\",\n },\n },\n disabled: {\n light: { h: 0, s: 0, l: 64, alpha: 1 },\n dark: { h: 0, s: 0, l: 64, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 64%)\",\n variable: \"var(--kds-color-toggle-switch-icon-disabled)\",\n },\n },\n },\n },\n LoadingSpinner: {\n progress: {\n onPrimary: {\n light: { h: 165.6, s: 67.6, l: 92.7, alpha: 1 },\n dark: { h: 165.6, s: 67.6, l: 92.7, alpha: 1 },\n css: {\n value: \"hsl(165.6 67.6% 92.7%)\",\n variable: \"var(--kds-color-loading-spinner-progress-on-primary)\",\n },\n },\n onSurface: {\n light: { h: 0, s: 0, l: 15.7, alpha: 1 },\n dark: { h: 0, s: 0, l: 94.1, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 15.7%), hsl(0, 0%, 94.1%))\",\n variable: \"var(--kds-color-loading-spinner-progress-on-surface)\",\n },\n },\n },\n track: {\n onPrimary: {\n light: { h: 165.6, s: 67.6, l: 92.7, alpha: 0.24 },\n dark: { h: 165.6, s: 67.6, l: 92.7, alpha: 0.24 },\n css: {\n value: \"hsl(165.6 67.6% 92.7% / 0.24)\",\n variable: \"var(--kds-color-loading-spinner-track-on-primary)\",\n },\n },\n onSurface: {\n light: { h: 332.73, s: 0, l: 15.7, alpha: 0.24 },\n dark: { h: 240, s: 0, l: 94.1, alpha: 0.24 },\n css: {\n value: \"light-dark(hsl(332.73 0% 15.7% / 0.24), hsl(240 0% 94.1% / 0.24))\",\n variable: \"var(--kds-color-loading-spinner-track-on-surface)\",\n },\n },\n },\n },\n Tooltip: {\n background: {\n default: {\n light: { h: 0, s: 0, l: 12.9, alpha: 1 },\n dark: { h: 0, s: 0, l: 22, alpha: 1 },\n css: {\n value: \"light-dark(hsl(0, 0%, 12.9%), hsl(0, 0%, 22%))\",\n variable: \"var(--kds-color-tooltip-background-default)\",\n },\n },\n },\n \"text-and-icon\": {\n neutral: {\n light: { h: 0, s: 0, l: 98, alpha: 1 },\n dark: { h: 0, s: 0, l: 98, alpha: 1 },\n css: {\n value: \"hsl(0, 0%, 98%)\",\n variable: \"var(--kds-color-tooltip-text-and-icon-neutral)\",\n },\n },\n },\n },\n TextHighlight: {\n background: {\n default: {\n light: { h: 212.1, s: 78.2, l: 67.6, alpha: 0.6 },\n dark: { h: 212.1, s: 78.2, l: 67.6, alpha: 0.6 },\n css: {\n value: \"hsl(212.1 78.2% 67.6% / 0.6)\",\n variable: \"var(--kds-color-text-highlight-background-default)\",\n },\n },\n },\n },\n Avatar: {\n background: {\n red: {\n light: { h: 3.5, s: 100, l: 79.6, alpha: 1 },\n dark: { h: 3.5, s: 100, l: 79.6, alpha: 1 },\n css: {\n value: \"hsl(3.5, 100%, 79.6%)\",\n variable: \"var(--kds-color-avatar-background-red)\",\n },\n },\n orange: {\n light: { h: 31.2, s: 82.8, l: 65.9, alpha: 1 },\n dark: { h: 31.2, s: 82.8, l: 65.9, alpha: 1 },\n css: {\n value: \"hsl(31.2, 82.8%, 65.9%)\",\n variable: \"var(--kds-color-avatar-background-orange)\",\n },\n },\n yellow: {\n light: { h: 50.8, s: 100, l: 50, alpha: 1 },\n dark: { h: 50.8, s: 100, l: 50, alpha: 1 },\n css: {\n value: \"hsl(50.8, 100%, 50%)\",\n variable: \"var(--kds-color-avatar-background-yellow)\",\n },\n },\n green: {\n light: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n dark: { h: 109, s: 47.2, l: 61.4, alpha: 1 },\n css: {\n value: \"hsl(109, 47.2%, 61.4%)\",\n variable: \"var(--kds-color-avatar-background-green)\",\n },\n },\n teal: {\n light: { h: 169.8, s: 30.6, l: 66.1, alpha: 1 },\n dark: { h: 169.8, s: 30.6, l: 66.1, alpha: 1 },\n css: {\n value: \"hsl(169.8, 30.6%, 66.1%)\",\n variable: \"var(--kds-color-avatar-background-teal)\",\n },\n },\n blue: {\n light: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n dark: { h: 213.6, s: 91.6, l: 76.7, alpha: 1 },\n css: {\n value: \"hsl(213.6, 91.6%, 76.7%)\",\n variable: \"var(--kds-color-avatar-background-blue)\",\n },\n },\n purple: {\n light: { h: 320, s: 44.7, l: 81.6, alpha: 1 },\n dark: { h: 320, s: 44.7, l: 81.6, alpha: 1 },\n css: {\n value: \"hsl(320.0, 44.7%, 81.6%)\",\n variable: \"var(--kds-color-avatar-background-purple)\",\n },\n },\n aquamarine: {\n light: { h: 185.8, s: 49.2, l: 87.6, alpha: 1 },\n dark: { h: 185.8, s: 49.2, l: 87.6, alpha: 1 },\n css: {\n value: \"hsl(185.8, 49.2%, 87.6%)\",\n variable: \"var(--kds-color-avatar-background-aquamarine)\",\n },\n },\n grassgreen: {\n light: { h: 63.4, s: 68.5, l: 75.1, alpha: 1 },\n dark: { h: 63.4, s: 68.5, l: 75.1, alpha: 1 },\n css: {\n value: \"hsl(63.4, 68.5%, 75.1%)\",\n variable: \"var(--kds-color-avatar-background-grassgreen)\",\n },\n },\n brown: {\n light: { h: 30, s: 47, l: 68, alpha: 1 },\n dark: { h: 30, s: 47, l: 68, alpha: 1 },\n css: {\n value: \"hsl(30, 47%, 68%)\",\n variable: \"var(--kds-color-avatar-background-brown)\",\n },\n },\n empty: {\n light: { h: 330, s: 0, l: 94.521, alpha: 1 },\n dark: { h: 330, s: 0, l: 30.187, alpha: 1 },\n css: {\n value: \"light-dark(hsl(330 0% 94.521%), hsl(330 0% 30.187%))\",\n variable: \"var(--kds-color-avatar-background-empty)\",\n },\n },\n },\n \"text-and-icon\": {\n red: {\n light: { h: 348, s: 94.3, l: 20.8, alpha: 1 },\n dark: { h: 348, s: 94.3, l: 20.8, alpha: 1 },\n css: {\n value: \"hsl(348, 94.3%, 20.8%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-red)\",\n },\n },\n orange: {\n light: { h: 13.1, s: 66.1, l: 23.1, alpha: 1 },\n dark: { h: 13.1, s: 66.1, l: 23.1, alpha: 1 },\n css: {\n value: \"hsl(13.1, 66.1%, 23.1%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-orange)\",\n },\n },\n yellow: {\n light: { h: 44.3, s: 94.2, l: 13.5, alpha: 1 },\n dark: { h: 44.3, s: 94.2, l: 13.5, alpha: 1 },\n css: {\n value: \"hsl(44.3, 94.2%, 13.5%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-yellow)\",\n },\n },\n green: {\n light: { h: 132.3, s: 52, l: 14.7, alpha: 1 },\n dark: { h: 132.3, s: 52, l: 14.7, alpha: 1 },\n css: {\n value: \"hsl(132.3, 52%, 14.7%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-green)\",\n },\n },\n teal: {\n light: { h: 174.5, s: 93.2, l: 11.6, alpha: 1 },\n dark: { h: 174.5, s: 93.2, l: 11.6, alpha: 1 },\n css: {\n value: \"hsl(174.5, 93.2%, 11.6%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-teal)\",\n },\n },\n blue: {\n light: { h: 209.4, s: 49.5, l: 20.2, alpha: 1 },\n dark: { h: 209.4, s: 49.5, l: 20.2, alpha: 1 },\n css: {\n value: \"hsl(209.4, 49.5%, 20.2%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-blue)\",\n },\n },\n purple: {\n light: { h: 295.5, s: 33.9, l: 23.1, alpha: 1 },\n dark: { h: 295.5, s: 33.9, l: 23.1, alpha: 1 },\n css: {\n value: \"hsl(295.5, 33.9%, 23.1%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-purple)\",\n },\n },\n aquamarine: {\n light: { h: 200.9, s: 63.2, l: 26.7, alpha: 1 },\n dark: { h: 200.9, s: 63.2, l: 26.7, alpha: 1 },\n css: {\n value: \"hsl(200.9, 63.2%, 26.7%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-aquamarine)\",\n },\n },\n grassgreen: {\n light: { h: 72.2, s: 39.2, l: 24.5, alpha: 1 },\n dark: { h: 72.2, s: 39.2, l: 24.5, alpha: 1 },\n css: {\n value: \"hsl(72.2, 39.2%, 24.5%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-grassgreen)\",\n },\n },\n brown: {\n light: { h: 23, s: 27, l: 24, alpha: 1 },\n dark: { h: 23, s: 27, l: 24, alpha: 1 },\n css: {\n value: \"hsl(23, 27%, 24%)\",\n variable: \"var(--kds-color-avatar-text-and-icon-brown)\",\n },\n },\n },\n },\n};\n","/**\n * Do not edit directly, this file was auto-generated\n * from the design token sources in src/tokens.\n */\nexport const font = {\n base: {\n display: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 18, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 18px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 20, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 20px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-small)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 24, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 24px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-medium)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 32, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 32px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-large)\",\n },\n },\n xlarge: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 40, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 40px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-display-xlarge)\",\n },\n },\n },\n title: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-small)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-small-strong)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-title-large-strong)\",\n },\n },\n },\n body: {\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-strong)\",\n },\n },\n \"small-strong-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 700 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-small-strong-italic)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 14px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 14px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-large-strong)\",\n },\n },\n xlarge: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 20, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 20px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-base-body-xlarge)\",\n },\n },\n },\n subtext: {\n xsmall: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 9, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 9px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-small)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-subtext-medium)\",\n },\n },\n },\n interactive: {\n \"xsmall-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-xsmall-strong)\",\n },\n },\n small: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 12px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-small-strong)\",\n },\n },\n medium: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-medium)\",\n },\n },\n \"medium-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 14, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 14px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-medium-strong)\",\n },\n },\n large: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-large)\",\n },\n },\n \"large-strong\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 16px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-base-interactive-large-strong)\",\n },\n },\n },\n code: {\n xsmall: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 400,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 11px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-small)\",\n },\n },\n },\n },\n workflow: {\n annotation: {\n headline: {\n H1: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h1)\",\n },\n },\n H2: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h2)\",\n },\n },\n H3: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h3)\",\n },\n },\n H4: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h4)\",\n },\n },\n H5: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h5)\",\n },\n },\n \"H1-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h1-italic)\",\n },\n },\n \"H2-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h2-italic)\",\n },\n },\n \"H3-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h3-italic)\",\n },\n },\n \"H4-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h4-italic)\",\n },\n },\n \"H5-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h5-italic)\",\n },\n },\n H6: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h6)\",\n },\n },\n \"H6-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-headline-h6-italic)\",\n },\n },\n },\n body: {\n small: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small)\",\n },\n },\n \"small-italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 400 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-italic)\",\n },\n },\n \"small-strong\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-strong)\",\n },\n },\n \"small-strong-Italic\": {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n fontStyle: \"italic\",\n css: {\n value: \"italic 700 13px/1.5 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-annotation-body-small-strong-italic)\",\n },\n },\n },\n },\n node: {\n name: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n css: {\n value: \"700 13px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-name)\",\n },\n },\n label: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n css: {\n value: \"400 12px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-label)\",\n },\n },\n status: {\n fontFamily: \"Roboto Condensed\",\n fontWeight: 400,\n fontSize: { value: 8, unit: \"px\" },\n css: {\n value: \"400 8px 'Roboto Condensed', sans-serif\",\n variable: \"var(--kds-font-workflow-node-status)\",\n },\n },\n },\n },\n dataapp: {\n H1: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 36, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 36px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h1)\",\n },\n },\n H2: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 30, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 30px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h2)\",\n },\n },\n H3: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 26, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 26px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h3)\",\n },\n },\n H4: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 22, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 22px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h4)\",\n },\n },\n H5: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 16, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 16px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h5)\",\n },\n },\n H6: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-h6)\",\n },\n },\n body: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 13, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 13px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-body)\",\n },\n },\n \"body-small\": {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"700 10px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-dataapp-body-small)\",\n },\n },\n },\n chart: {\n title: {\n fontFamily: \"Roboto\",\n fontWeight: 700,\n fontSize: { value: 18, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"700 18px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-title)\",\n },\n },\n subtitle: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-subtitle)\",\n },\n },\n \"axis-name\": {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-axis-name)\",\n },\n },\n \"axis-label\": {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-axis-label)\",\n },\n },\n legend: {\n fontFamily: \"Roboto\",\n fontWeight: 500,\n fontSize: { value: 11, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"500 11px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-legend)\",\n },\n },\n tooltip: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: 1.5,\n css: {\n value: \"400 12px/1.5 Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-tooltip)\",\n },\n },\n label: {\n fontFamily: \"Roboto\",\n fontWeight: 400,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"400 10px/normal Roboto, sans-serif\",\n variable: \"var(--kds-font-chart-label)\",\n },\n },\n },\n};\n","export const kdsCodeEditorState = {\n DEFAULT: \"default\",\n ERROR: \"error\",\n WARNING: \"warning\",\n} as const;\n\nexport const kdsCodeEditorStates = Object.values(kdsCodeEditorState);\n","// Register custom Monarch language definitions for languages not built into\n// Monaco. Registered at import time (not inside `setupMonacoEnvironment`) so\n// they are also available when the host app defines its own MonacoEnvironment.\nimport \"./tomlLanguage\";\n\nimport { editor } from \"monaco-editor\";\n\n// Monaco measures character widths when an editor is created. If the web font\n// (\"Roboto Mono\") finishes loading afterwards, the stale metrics of the\n// fallback font break cursor placement and selection rendering — so force a\n// re-measure once all fonts are loaded.\ndocument.fonts?.ready.then(() => {\n editor.remeasureFonts();\n});\n\n// Setup Monaco Environment to load web workers for different languages.\n// Monaco's getWorker supports returning a Promise<Worker>, so language-specific\n// workers are bundled as separate chunks and loaded on demand.\nexport const setupMonacoEnvironment = () => {\n if (self.MonacoEnvironment) {\n return;\n }\n self.MonacoEnvironment = {\n getWorker: async (_workerId: string, label: string) => {\n if (label === \"json\") {\n const { default: JSONWorker } =\n await import(\"monaco-editor/esm/vs/language/json/json.worker?worker&inline\");\n return new JSONWorker();\n }\n const { default: EditorWorker } =\n await import(\"monaco-editor/esm/vs/editor/editor.worker?worker&inline\");\n return new EditorWorker();\n },\n };\n};\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\nimport { KeyCode, editor } from \"monaco-editor\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n useKdsDarkMode,\n} from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport { kdsCodeEditorState } from \"./enums\";\nimport { setupMonacoEnvironment } from \"./monacoEnvironment\";\nimport type { KdsCodeEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n copyable = true,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n} = defineProps<KdsCodeEditorProps>();\n\nconst modelValue = defineModel<string>({ default: \"\" });\n\ndefineSlots<{\n /**\n * Additional content rendered inside the editor frame, below the code\n * area — e.g. the output-column controls of the KNIME expression nodes.\n * The slot content brings its own padding and background.\n */\n footer?(): unknown;\n}>();\n\n// Links the sub-text to the editor's text input via `aria-describedby`.\nconst subTextId = useId();\n\nconst container = useTemplateRef(\"editor-container\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// Whether the Monaco code area (not a header button) currently has focus.\nconst isEditorFocused = ref(false);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible name for Monaco's focusable element (`<label for>` cannot be\n// used: Monaco overrides it with its own `aria-label`, and in EditContext\n// mode the focusable element is a non-labelable `<div>`). Also announces the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst editorAriaLabel = computed(\n () =>\n `${headerLabel.value} code editor${readOnly ? \", read-only\" : \"\"}. ` +\n \"Press Escape followed by Tab to move focus out of the editor.\",\n);\n\n// Sizing modes:\n// - neither `minRows` nor `maxRows` set → fill the container's height.\n// - otherwise the editor grows with its content (floored at `minRows`):\n// - `maxRows` unset → grows with all content, avoiding nested scrollbars.\n// - `maxRows` set → caps there and scrolls past it.\nconst fillContainer = computed(\n () => minRows === undefined && maxRows === undefined,\n);\n\nconst INITIAL_LINE_HEIGHT = 18; // Default line height in Monaco Editor\nconst EXTRA_PADDING = 3; // Additional padding to prevent scrollbar\nconst DEFAULT_OVERVIEW_RULER_LANES = 3; // Monaco default\nconst lineHeight = ref(INITIAL_LINE_HEIGHT);\nconst contentLineCount = ref(1);\nconst editorHeight = computed(() => {\n if (fillContainer.value) {\n return undefined;\n }\n const floor = Math.max(minRows ?? 1, 1);\n const cap = maxRows ?? Infinity;\n const rows = Math.min(cap, Math.max(floor, contentLineCount.value));\n return `${lineHeight.value * rows + EXTRA_PADDING}px`;\n});\n\n// Monaco is styled via JS options, not CSS, so the KDS code typography is\n// passed to `editor.create` from the design-token constants.\nconst codeFont = font.base.code.small;\n\n// Update the editor theme based on the current dark mode setting\nconst MONACO_THEME_LIGHT = \"vs-light\";\nconst MONACO_THEME_DARK = \"vs-dark\";\nconst getMonacoTheme = (isDark: boolean) =>\n isDark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\nconst { isDarkMode } = useKdsDarkMode();\n\n// Monaco's focusable element carries `role=\"textbox\"`: a `<div>` in\n// EditContext mode (Chromium), the fallback `<textarea>` elsewhere. The\n// additional `<textarea>` present in EditContext mode is only a hidden IME\n// helper that assistive technology never sees.\nconst getEditorInputElement = () =>\n container.value?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the `ariaLabel` option) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here.\nconst syncEditorInputAria = () => {\n const input = getEditorInputElement();\n if (!input) {\n return;\n }\n if (subText) {\n input.setAttribute(\"aria-describedby\", subTextId);\n } else {\n input.removeAttribute(\"aria-describedby\");\n }\n if (state === kdsCodeEditorState.ERROR) {\n input.setAttribute(\"aria-invalid\", \"true\");\n } else {\n input.removeAttribute(\"aria-invalid\");\n }\n};\n\nwatch([() => subText, () => state], syncEditorInputAria);\n\n// Copy-to-clipboard handling\nconst { copy, copied } = useClipboard({ copiedDuring: 2000 });\nconst copyButtonAriaLabel = computed(() =>\n copied.value\n ? `Copied ${headerLabel.value} to clipboard`\n : `Copy ${headerLabel.value} to clipboard`,\n);\nconst copyToClipboard = () => {\n // Copy unconditionally — even an empty editor gives \"Copied\" feedback\n // instead of a dead button.\n copy(editorInstance?.getModel()?.getValue() ?? \"\");\n};\n\nonMounted(() => {\n if (!container.value) {\n return;\n }\n editorInstance = editor.create(container.value, {\n value: modelValue.value,\n language,\n automaticLayout: true,\n minimap: { enabled: false },\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n scrollBeyondLastLine: false,\n lineNumbersMinChars: 3,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n fontWeight: `${codeFont.fontWeight}`,\n fontSize: codeFont.fontSize.value,\n // Keep suggest / hover widgets visible when the editor sits in a clipping\n // container (the editor wrapper itself uses `overflow: hidden`).\n fixedOverflowWidgets: true,\n // Don't swallow wheel events once the editor cannot scroll any further,\n // so the surrounding dialog / page continues to scroll.\n scrollbar: { alwaysConsumeMouseWheel: false },\n readOnly,\n theme: getMonacoTheme(isDarkMode.value),\n ariaLabel: editorAriaLabel.value,\n // Standalone Monaco cannot detect screen readers in the browser; with the\n // default \"auto\" it would replace `ariaLabel` with a \"The editor is not\n // accessible at this time\" message and skip the screen-reader content\n // mirror. Force it on so assistive technology always works.\n accessibilitySupport: \"on\",\n });\n\n syncEditorInputAria();\n\n lineHeight.value = editorInstance.getOption(editor.EditorOption.lineHeight);\n contentLineCount.value = editorInstance.getModel()?.getLineCount() ?? 1;\n\n editorInstance.onDidChangeModelContent(() => {\n const value = editorInstance?.getModel()?.getValue() ?? \"\";\n contentLineCount.value = editorInstance?.getModel()?.getLineCount() ?? 1;\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n // Accessibility\n let tabFocusArmed = false;\n const setTabFocus = (armed: boolean) => {\n if (tabFocusArmed !== armed) {\n tabFocusArmed = armed;\n editorInstance?.updateOptions({ tabFocusMode: armed });\n }\n };\n // Keys that must not disarm tab-focus mode: Tab itself (so the armed Tab\n // can leave the editor) and lone modifiers (so Escape → Shift+Tab works).\n const tabFocusNeutralKeys = [\n KeyCode.Tab,\n KeyCode.Shift,\n KeyCode.Ctrl,\n KeyCode.Alt,\n KeyCode.Meta,\n ];\n editorInstance.onKeyDown((event) => {\n if (event.keyCode === KeyCode.Escape) {\n setTabFocus(true);\n } else if (!tabFocusNeutralKeys.includes(event.keyCode)) {\n setTabFocus(false);\n }\n });\n editorInstance.onDidFocusEditorText(() => {\n setTabFocus(false);\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDarkMode, (isDark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(isDark) });\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n editorInstance?.updateOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(editorAriaLabel, (ariaLabel) => {\n editorInstance?.updateOptions({ ariaLabel });\n});\n\nwatch(\n () => overviewRuler,\n (enabled) => {\n editorInstance?.updateOptions({\n overviewRulerLanes: enabled ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n const model = editorInstance?.getModel();\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n },\n);\n\n// External `modelValue` updates are applied as regular, undoable edits —\n// `setValue` would clear the undo stack, so a form reset or flow-variable\n// overwrite would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n const model = editorInstance?.getModel();\n if (model && newValue !== model.getValue()) {\n model.pushStackElement();\n model.pushEditOperations(\n [],\n [{ range: model.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n editorInstance?.dispose();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill: fillContainer }]\">\n <div :class=\"['editor', state, { focused: isEditorFocused }]\">\n <div v-if=\"!hideHeader\" class=\"header\">\n <div class=\"left-block\">\n <!-- Visual only — the editor's accessible name comes from Monaco's\n `ariaLabel` option (see `editorAriaLabel`). -->\n <span class=\"title\">{{ headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n </div>\n <div class=\"action-buttons\">\n <template\n v-for=\"(action, index) in editorActions\"\n :key=\"`editor-action-${index}`\"\n >\n <KdsButton\n v-if=\"action.type === 'button'\"\n v-bind=\"action.props\"\n size=\"small\"\n @click=\"action.onClick\"\n />\n <KdsToggleButton\n v-else-if=\"action.type === 'toggleButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @update:model-value=\"action.onUpdateModelValue\"\n />\n <KdsMenuButton\n v-else-if=\"action.type === 'menuButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @item-click=\"action.onItemClick\"\n />\n </template>\n <KdsProgressButton\n v-if=\"copyable\"\n v-bind=\"{ ariaLabel: copyButtonAriaLabel }\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n :state=\"copied ? 'success' : 'default'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n <div\n ref=\"editor-container\"\n class=\"code\"\n :style=\"editorHeight ? { height: editorHeight } : undefined\"\n />\n <div v-if=\"$slots.footer\" class=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n <KdsSubText\n v-if=\"subText\"\n :id=\"subTextId\"\n :sub-text=\"subText\"\n :error=\"state === kdsCodeEditorState.ERROR\"\n :warning=\"state === kdsCodeEditorState.WARNING\"\n />\n </div>\n</template>\n\n<style scoped>\n.kds-code-editor {\n display: flex;\n flex-direction: column;\n\n .editor {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--kds-color-surface-default);\n border: var(--kds-border-base-subtle);\n border-radius: var(--kds-border-radius-container-0-50x);\n\n /* Only outline the whole editor when the code area (Monaco) is focused —\n header buttons keep their own focus ring. */\n &.focused {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-75x);\n\n .left-block {\n display: flex;\n flex: 1;\n gap: var(--kds-spacing-container-0-25x);\n align-items: center;\n min-width: 0;\n\n /* Keep the header height constant whether or not the copy / action\n buttons are present (matches the small button height). */\n min-height: var(--kds-dimension-component-height-1-5x);\n }\n\n .action-buttons {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n }\n\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n font: var(--kds-font-base-interactive-small);\n color: var(--kds-color-text-and-icon-neutral);\n white-space: nowrap;\n }\n }\n\n &.error .header {\n background-color: var(--kds-color-background-static-danger-muted);\n }\n\n &.warning .header {\n background-color: var(--kds-color-background-static-warning-muted);\n }\n\n .code {\n width: 100%;\n }\n\n /* Keeps its natural height — in fill mode only the code area grows /\n shrinks with the container. */\n .footer {\n flex-shrink: 0;\n width: 100%;\n }\n }\n\n /* No row bounds set: fill the width and height of the container. */\n &.fill {\n width: 100%;\n height: 100%;\n\n .editor,\n .code {\n flex: 1 1 auto;\n min-height: 0;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { useClipboard } from \"@vueuse/core\";\nimport { KeyCode, editor } from \"monaco-editor\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n useKdsDarkMode,\n} from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport { kdsCodeEditorState } from \"./enums\";\nimport { setupMonacoEnvironment } from \"./monacoEnvironment\";\nimport type { KdsCodeEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n copyable = true,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n} = defineProps<KdsCodeEditorProps>();\n\nconst modelValue = defineModel<string>({ default: \"\" });\n\ndefineSlots<{\n /**\n * Additional content rendered inside the editor frame, below the code\n * area — e.g. the output-column controls of the KNIME expression nodes.\n * The slot content brings its own padding and background.\n */\n footer?(): unknown;\n}>();\n\n// Links the sub-text to the editor's text input via `aria-describedby`.\nconst subTextId = useId();\n\nconst container = useTemplateRef(\"editor-container\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// Whether the Monaco code area (not a header button) currently has focus.\nconst isEditorFocused = ref(false);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible name for Monaco's focusable element (`<label for>` cannot be\n// used: Monaco overrides it with its own `aria-label`, and in EditContext\n// mode the focusable element is a non-labelable `<div>`). Also announces the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst editorAriaLabel = computed(\n () =>\n `${headerLabel.value} code editor${readOnly ? \", read-only\" : \"\"}. ` +\n \"Press Escape followed by Tab to move focus out of the editor.\",\n);\n\n// Sizing modes:\n// - neither `minRows` nor `maxRows` set → fill the container's height.\n// - otherwise the editor grows with its content (floored at `minRows`):\n// - `maxRows` unset → grows with all content, avoiding nested scrollbars.\n// - `maxRows` set → caps there and scrolls past it.\nconst fillContainer = computed(\n () => minRows === undefined && maxRows === undefined,\n);\n\nconst INITIAL_LINE_HEIGHT = 18; // Default line height in Monaco Editor\nconst EXTRA_PADDING = 3; // Additional padding to prevent scrollbar\nconst DEFAULT_OVERVIEW_RULER_LANES = 3; // Monaco default\nconst lineHeight = ref(INITIAL_LINE_HEIGHT);\nconst contentLineCount = ref(1);\nconst editorHeight = computed(() => {\n if (fillContainer.value) {\n return undefined;\n }\n const floor = Math.max(minRows ?? 1, 1);\n const cap = maxRows ?? Infinity;\n const rows = Math.min(cap, Math.max(floor, contentLineCount.value));\n return `${lineHeight.value * rows + EXTRA_PADDING}px`;\n});\n\n// Monaco is styled via JS options, not CSS, so the KDS code typography is\n// passed to `editor.create` from the design-token constants.\nconst codeFont = font.base.code.small;\n\n// Update the editor theme based on the current dark mode setting\nconst MONACO_THEME_LIGHT = \"vs-light\";\nconst MONACO_THEME_DARK = \"vs-dark\";\nconst getMonacoTheme = (isDark: boolean) =>\n isDark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\nconst { isDarkMode } = useKdsDarkMode();\n\n// Monaco's focusable element carries `role=\"textbox\"`: a `<div>` in\n// EditContext mode (Chromium), the fallback `<textarea>` elsewhere. The\n// additional `<textarea>` present in EditContext mode is only a hidden IME\n// helper that assistive technology never sees.\nconst getEditorInputElement = () =>\n container.value?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the `ariaLabel` option) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here.\nconst syncEditorInputAria = () => {\n const input = getEditorInputElement();\n if (!input) {\n return;\n }\n if (subText) {\n input.setAttribute(\"aria-describedby\", subTextId);\n } else {\n input.removeAttribute(\"aria-describedby\");\n }\n if (state === kdsCodeEditorState.ERROR) {\n input.setAttribute(\"aria-invalid\", \"true\");\n } else {\n input.removeAttribute(\"aria-invalid\");\n }\n};\n\nwatch([() => subText, () => state], syncEditorInputAria);\n\n// Copy-to-clipboard handling\nconst { copy, copied } = useClipboard({ copiedDuring: 2000 });\nconst copyButtonAriaLabel = computed(() =>\n copied.value\n ? `Copied ${headerLabel.value} to clipboard`\n : `Copy ${headerLabel.value} to clipboard`,\n);\nconst copyToClipboard = () => {\n // Copy unconditionally — even an empty editor gives \"Copied\" feedback\n // instead of a dead button.\n copy(editorInstance?.getModel()?.getValue() ?? \"\");\n};\n\nonMounted(() => {\n if (!container.value) {\n return;\n }\n editorInstance = editor.create(container.value, {\n value: modelValue.value,\n language,\n automaticLayout: true,\n minimap: { enabled: false },\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n scrollBeyondLastLine: false,\n lineNumbersMinChars: 3,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n fontWeight: `${codeFont.fontWeight}`,\n fontSize: codeFont.fontSize.value,\n // Keep suggest / hover widgets visible when the editor sits in a clipping\n // container (the editor wrapper itself uses `overflow: hidden`).\n fixedOverflowWidgets: true,\n // Don't swallow wheel events once the editor cannot scroll any further,\n // so the surrounding dialog / page continues to scroll.\n scrollbar: { alwaysConsumeMouseWheel: false },\n readOnly,\n theme: getMonacoTheme(isDarkMode.value),\n ariaLabel: editorAriaLabel.value,\n // Standalone Monaco cannot detect screen readers in the browser; with the\n // default \"auto\" it would replace `ariaLabel` with a \"The editor is not\n // accessible at this time\" message and skip the screen-reader content\n // mirror. Force it on so assistive technology always works.\n accessibilitySupport: \"on\",\n });\n\n syncEditorInputAria();\n\n lineHeight.value = editorInstance.getOption(editor.EditorOption.lineHeight);\n contentLineCount.value = editorInstance.getModel()?.getLineCount() ?? 1;\n\n editorInstance.onDidChangeModelContent(() => {\n const value = editorInstance?.getModel()?.getValue() ?? \"\";\n contentLineCount.value = editorInstance?.getModel()?.getLineCount() ?? 1;\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n // Accessibility\n let tabFocusArmed = false;\n const setTabFocus = (armed: boolean) => {\n if (tabFocusArmed !== armed) {\n tabFocusArmed = armed;\n editorInstance?.updateOptions({ tabFocusMode: armed });\n }\n };\n // Keys that must not disarm tab-focus mode: Tab itself (so the armed Tab\n // can leave the editor) and lone modifiers (so Escape → Shift+Tab works).\n const tabFocusNeutralKeys = [\n KeyCode.Tab,\n KeyCode.Shift,\n KeyCode.Ctrl,\n KeyCode.Alt,\n KeyCode.Meta,\n ];\n editorInstance.onKeyDown((event) => {\n if (event.keyCode === KeyCode.Escape) {\n setTabFocus(true);\n } else if (!tabFocusNeutralKeys.includes(event.keyCode)) {\n setTabFocus(false);\n }\n });\n editorInstance.onDidFocusEditorText(() => {\n setTabFocus(false);\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDarkMode, (isDark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(isDark) });\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n editorInstance?.updateOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(editorAriaLabel, (ariaLabel) => {\n editorInstance?.updateOptions({ ariaLabel });\n});\n\nwatch(\n () => overviewRuler,\n (enabled) => {\n editorInstance?.updateOptions({\n overviewRulerLanes: enabled ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n const model = editorInstance?.getModel();\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n },\n);\n\n// External `modelValue` updates are applied as regular, undoable edits —\n// `setValue` would clear the undo stack, so a form reset or flow-variable\n// overwrite would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n const model = editorInstance?.getModel();\n if (model && newValue !== model.getValue()) {\n model.pushStackElement();\n model.pushEditOperations(\n [],\n [{ range: model.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n editorInstance?.dispose();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill: fillContainer }]\">\n <div :class=\"['editor', state, { focused: isEditorFocused }]\">\n <div v-if=\"!hideHeader\" class=\"header\">\n <div class=\"left-block\">\n <!-- Visual only — the editor's accessible name comes from Monaco's\n `ariaLabel` option (see `editorAriaLabel`). -->\n <span class=\"title\">{{ headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n </div>\n <div class=\"action-buttons\">\n <template\n v-for=\"(action, index) in editorActions\"\n :key=\"`editor-action-${index}`\"\n >\n <KdsButton\n v-if=\"action.type === 'button'\"\n v-bind=\"action.props\"\n size=\"small\"\n @click=\"action.onClick\"\n />\n <KdsToggleButton\n v-else-if=\"action.type === 'toggleButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @update:model-value=\"action.onUpdateModelValue\"\n />\n <KdsMenuButton\n v-else-if=\"action.type === 'menuButton'\"\n v-bind=\"action.props\"\n size=\"small\"\n @item-click=\"action.onItemClick\"\n />\n </template>\n <KdsProgressButton\n v-if=\"copyable\"\n v-bind=\"{ ariaLabel: copyButtonAriaLabel }\"\n :leading-icon=\"copied ? 'checkmark' : 'copy'\"\n :state=\"copied ? 'success' : 'default'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"copyToClipboard\"\n />\n </div>\n </div>\n <div\n ref=\"editor-container\"\n class=\"code\"\n :style=\"editorHeight ? { height: editorHeight } : undefined\"\n />\n <div v-if=\"$slots.footer\" class=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n <KdsSubText\n v-if=\"subText\"\n :id=\"subTextId\"\n :sub-text=\"subText\"\n :error=\"state === kdsCodeEditorState.ERROR\"\n :warning=\"state === kdsCodeEditorState.WARNING\"\n />\n </div>\n</template>\n\n<style scoped>\n.kds-code-editor {\n display: flex;\n flex-direction: column;\n\n .editor {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--kds-color-surface-default);\n border: var(--kds-border-base-subtle);\n border-radius: var(--kds-border-radius-container-0-50x);\n\n /* Only outline the whole editor when the code area (Monaco) is focused —\n header buttons keep their own focus ring. */\n &.focused {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-25x)\n var(--kds-spacing-container-0-75x);\n\n .left-block {\n display: flex;\n flex: 1;\n gap: var(--kds-spacing-container-0-25x);\n align-items: center;\n min-width: 0;\n\n /* Keep the header height constant whether or not the copy / action\n buttons are present (matches the small button height). */\n min-height: var(--kds-dimension-component-height-1-5x);\n }\n\n .action-buttons {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n }\n\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n font: var(--kds-font-base-interactive-small);\n color: var(--kds-color-text-and-icon-neutral);\n white-space: nowrap;\n }\n }\n\n &.error .header {\n background-color: var(--kds-color-background-static-danger-muted);\n }\n\n &.warning .header {\n background-color: var(--kds-color-background-static-warning-muted);\n }\n\n .code {\n width: 100%;\n }\n\n /* Keeps its natural height — in fill mode only the code area grows /\n shrinks with the container. */\n .footer {\n flex-shrink: 0;\n width: 100%;\n }\n }\n\n /* No row bounds set: fill the width and height of the container. */\n &.fill {\n width: 100%;\n height: 100%;\n\n .editor,\n .code {\n flex: 1 1 auto;\n min-height: 0;\n }\n }\n}\n</style>\n","import type { ITheme } from \"@xterm/xterm\";\n\nimport {\n type KdsColorValue,\n type KdsMode,\n color,\n} from \"@knime/kds-styles/tokens\";\n\n/**\n * Convert a generated KDS color token's HSL component representation to a CSS\n * color string. xterm.js renders to a canvas and therefore cannot read CSS\n * custom properties — resolved color strings are required.\n *\n * xterm.js's `css.toColor` only parses hex and comma-separated `rgb()/rgba()`\n * (the canvas fallback rejects non-opaque pixels), so HSL values are converted\n * to RGB and emitted as `rgb()`. Alpha colors are blended onto the terminal\n * background to produce an opaque color.\n */\nconst hslToRgb = (\n h: number,\n s: number,\n l: number,\n): [number, number, number] => {\n const sNorm = s / 100;\n const lNorm = l / 100;\n const c = (1 - Math.abs(2 * lNorm - 1)) * sNorm;\n const hPrime = h / 60;\n const x = c * (1 - Math.abs((hPrime % 2) - 1));\n let r1 = 0;\n let g1 = 0;\n let b1 = 0;\n if (hPrime < 1) {\n [r1, g1, b1] = [c, x, 0];\n } else if (hPrime < 2) {\n [r1, g1, b1] = [x, c, 0];\n } else if (hPrime < 3) {\n [r1, g1, b1] = [0, c, x];\n } else if (hPrime < 4) {\n [r1, g1, b1] = [0, x, c];\n } else if (hPrime < 5) {\n [r1, g1, b1] = [x, 0, c];\n } else {\n [r1, g1, b1] = [c, 0, x];\n }\n const m = lNorm - c / 2;\n return [\n Math.round((r1 + m) * 255),\n Math.round((g1 + m) * 255),\n Math.round((b1 + m) * 255),\n ];\n};\n\nconst blend = (\n fg: [number, number, number],\n bg: [number, number, number],\n alpha: number,\n): [number, number, number] => [\n Math.round(fg[0] * alpha + bg[0] * (1 - alpha)),\n Math.round(fg[1] * alpha + bg[1] * (1 - alpha)),\n Math.round(fg[2] * alpha + bg[2] * (1 - alpha)),\n];\n\nconst toCssColor = (\n c: KdsColorValue,\n bg?: [number, number, number],\n): string => {\n const [r, g, b] =\n c.alpha === 1 || !bg\n ? hslToRgb(c.h, c.s, c.l)\n : blend(hslToRgb(c.h, c.s, c.l), bg, c.alpha);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\n/**\n * Build the xterm.js `ITheme` from generated KDS color tokens for the given\n * mode. Only colors with KDS semantic mappings are overridden; all other ANSI\n * slots fall back to the xterm.js defaults.\n */\nexport const buildTheme = (mode: KdsMode): ITheme => {\n const t = color[\"text-and-icon\"];\n const surface = color.surface.default;\n const selectedBg = color.TextHighlight.background.default;\n const bgRgb = hslToRgb(surface[mode].h, surface[mode].s, surface[mode].l);\n\n return {\n background: toCssColor(surface[mode]),\n foreground: toCssColor(t.neutral[mode]),\n cursor: toCssColor(t.neutral[mode]),\n cursorAccent: toCssColor(surface[mode]),\n selectionBackground: toCssColor(selectedBg[mode], bgRgb),\n selectionForeground: toCssColor(t.selected[mode]),\n black: toCssColor(t.neutral[mode]),\n red: toCssColor(t.danger[mode]),\n yellow: toCssColor(t.warning[mode]),\n };\n};\n","import { onMounted, onUnmounted, ref } from \"vue\";\n\n// Only turn on focus highlighting when we hear one of these.\nconst listOfFocusKeys = [\n \"Tab\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \" \",\n \"Enter\",\n];\n\n/**\n * Composable that returns whether focus is currently painted. It turns focus\n * painting on when the document is navigated using key presses, and off again\n * when the document is clicked — so that focus rings only appear for keyboard\n * navigation, not for mouse interactions.\n */\nconst useShouldFocusBePainted = () => {\n const shouldFocusBePainted = ref<boolean>(false);\n\n const turnFocusPaintingOn = (evt: KeyboardEvent) => {\n if (listOfFocusKeys.includes(evt.key)) {\n shouldFocusBePainted.value = true;\n }\n };\n\n const turnFocusPaintingOff = () => {\n shouldFocusBePainted.value = false;\n };\n\n onMounted(() => {\n document.addEventListener(\"keydown\", turnFocusPaintingOn);\n document.addEventListener(\"mousedown\", turnFocusPaintingOff);\n });\n\n onUnmounted(() => {\n document.removeEventListener(\"keydown\", turnFocusPaintingOn);\n document.removeEventListener(\"mousedown\", turnFocusPaintingOff);\n });\n\n return shouldFocusBePainted;\n};\n\nexport default useShouldFocusBePainted;\n","<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, useTemplateRef, watchEffect } from \"vue\";\nimport { useDebounceFn, useResizeObserver } from \"@vueuse/core\";\nimport { FitAddon } from \"@xterm/addon-fit\";\nimport { Unicode11Addon } from \"@xterm/addon-unicode11\";\nimport type { ITerminalInitOnlyOptions, ITerminalOptions } from \"@xterm/xterm\";\nimport { Terminal } from \"@xterm/xterm\";\nimport \"@xterm/xterm/css/xterm.css\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport type { KdsConsoleEmits, KdsConsoleText } from \"./types\";\nimport { buildTheme } from \"./utils/buildTheme\";\nimport useShouldFocusBePainted from \"./utils/shouldFocusBePainted\";\n\nconst DEBOUNCE_TIME = 300;\n\nconst emit = defineEmits<KdsConsoleEmits>();\n\nconst { isDarkMode } = useKdsDarkMode();\n\nconst codeFont = font.base.code.small;\n\nconst options: ITerminalOptions & ITerminalInitOnlyOptions = {\n letterSpacing: 0,\n allowProposedApi: true,\n fontSize: codeFont.fontSize.value,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n convertEol: true,\n disableStdin: true,\n cursorBlink: false,\n theme: buildTheme(isDarkMode.value ? \"dark\" : \"light\"),\n};\n\nconst term = new Terminal(options);\n\nconst unicode11Addon = new Unicode11Addon();\nterm.loadAddon(unicode11Addon);\nterm.unicode.activeVersion = \"11\";\n\nconst fitAddon = new FitAddon();\nterm.loadAddon(fitAddon);\n\nconst terminalContainer = useTemplateRef<HTMLElement>(\"terminal-container\");\n\nconst updateConsole = useDebounceFn(() => {\n fitAddon.fit();\n}, DEBOUNCE_TIME);\n\nuseResizeObserver(terminalContainer, () => {\n updateConsole();\n});\n\nconst copyToClipboard = (text: string) => {\n navigator.clipboard.writeText(text);\n};\n\nterm.attachCustomKeyEventHandler((e) => {\n if ((e.key === \"c\" || e.key === \"C\") && e.ctrlKey) {\n const selection = term.getSelection();\n if (selection) {\n copyToClipboard(selection);\n }\n return false;\n } else if (e.key === \"Tab\") {\n return false;\n } else if (e.key === \"Escape\") {\n term.blur();\n return false;\n }\n return true;\n});\n\nterm.onWriteParsed(() => term.scrollToBottom());\n\nwatchEffect(() => {\n term.options.theme = buildTheme(isDarkMode.value ? \"dark\" : \"light\");\n});\n\nconst format = (text: KdsConsoleText) => {\n if (\"error\" in text) {\n return `\\x1b[31m[ERROR] ${text.error}\\x1b[0m`;\n } else if (\"warning\" in text) {\n return `\\x1b[33m[WARNING] ${text.warning}\\x1b[0m`;\n } else {\n return text.text;\n }\n};\n\nonMounted(() => {\n term.open(terminalContainer.value as HTMLElement);\n emit(\"console-created\", {\n write: (text) => term.write(format(text)),\n writeln: (text) => term.writeln(format(text)),\n clear: () => term.reset(),\n });\n const listener = term.onLineFeed(() => {\n fitAddon.fit();\n listener.dispose();\n });\n});\n\nonUnmounted(() => {\n term?.dispose();\n});\n\nconst paintFocus = useShouldFocusBePainted();\n</script>\n\n<template>\n <div\n ref=\"terminal-container\"\n class=\"terminal\"\n :class=\"{ 'focus-painted': paintFocus }\"\n />\n</template>\n\n<style scoped>\n.terminal {\n height: 100%;\n overflow: hidden;\n border-radius: var(--kds-border-radius-container-0-12x);\n\n /* Only paint a focus ring when the user navigated to the terminal with the\n keyboard (mouse focus doesn't need the extra ring). */\n &.focus-painted:focus-within {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, useTemplateRef, watchEffect } from \"vue\";\nimport { useDebounceFn, useResizeObserver } from \"@vueuse/core\";\nimport { FitAddon } from \"@xterm/addon-fit\";\nimport { Unicode11Addon } from \"@xterm/addon-unicode11\";\nimport type { ITerminalInitOnlyOptions, ITerminalOptions } from \"@xterm/xterm\";\nimport { Terminal } from \"@xterm/xterm\";\nimport \"@xterm/xterm/css/xterm.css\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\nimport { font } from \"@knime/kds-styles/tokens\";\n\nimport type { KdsConsoleEmits, KdsConsoleText } from \"./types\";\nimport { buildTheme } from \"./utils/buildTheme\";\nimport useShouldFocusBePainted from \"./utils/shouldFocusBePainted\";\n\nconst DEBOUNCE_TIME = 300;\n\nconst emit = defineEmits<KdsConsoleEmits>();\n\nconst { isDarkMode } = useKdsDarkMode();\n\nconst codeFont = font.base.code.small;\n\nconst options: ITerminalOptions & ITerminalInitOnlyOptions = {\n letterSpacing: 0,\n allowProposedApi: true,\n fontSize: codeFont.fontSize.value,\n fontFamily: `\"${codeFont.fontFamily}\", monospace`,\n convertEol: true,\n disableStdin: true,\n cursorBlink: false,\n theme: buildTheme(isDarkMode.value ? \"dark\" : \"light\"),\n};\n\nconst term = new Terminal(options);\n\nconst unicode11Addon = new Unicode11Addon();\nterm.loadAddon(unicode11Addon);\nterm.unicode.activeVersion = \"11\";\n\nconst fitAddon = new FitAddon();\nterm.loadAddon(fitAddon);\n\nconst terminalContainer = useTemplateRef<HTMLElement>(\"terminal-container\");\n\nconst updateConsole = useDebounceFn(() => {\n fitAddon.fit();\n}, DEBOUNCE_TIME);\n\nuseResizeObserver(terminalContainer, () => {\n updateConsole();\n});\n\nconst copyToClipboard = (text: string) => {\n navigator.clipboard.writeText(text);\n};\n\nterm.attachCustomKeyEventHandler((e) => {\n if ((e.key === \"c\" || e.key === \"C\") && e.ctrlKey) {\n const selection = term.getSelection();\n if (selection) {\n copyToClipboard(selection);\n }\n return false;\n } else if (e.key === \"Tab\") {\n return false;\n } else if (e.key === \"Escape\") {\n term.blur();\n return false;\n }\n return true;\n});\n\nterm.onWriteParsed(() => term.scrollToBottom());\n\nwatchEffect(() => {\n term.options.theme = buildTheme(isDarkMode.value ? \"dark\" : \"light\");\n});\n\nconst format = (text: KdsConsoleText) => {\n if (\"error\" in text) {\n return `\\x1b[31m[ERROR] ${text.error}\\x1b[0m`;\n } else if (\"warning\" in text) {\n return `\\x1b[33m[WARNING] ${text.warning}\\x1b[0m`;\n } else {\n return text.text;\n }\n};\n\nonMounted(() => {\n term.open(terminalContainer.value as HTMLElement);\n emit(\"console-created\", {\n write: (text) => term.write(format(text)),\n writeln: (text) => term.writeln(format(text)),\n clear: () => term.reset(),\n });\n const listener = term.onLineFeed(() => {\n fitAddon.fit();\n listener.dispose();\n });\n});\n\nonUnmounted(() => {\n term?.dispose();\n});\n\nconst paintFocus = useShouldFocusBePainted();\n</script>\n\n<template>\n <div\n ref=\"terminal-container\"\n class=\"terminal\"\n :class=\"{ 'focus-painted': paintFocus }\"\n />\n</template>\n\n<style scoped>\n.terminal {\n height: 100%;\n overflow: hidden;\n border-radius: var(--kds-border-radius-container-0-12x);\n\n /* Only paint a focus ring when the user navigated to the terminal with the\n keyboard (mouse focus doesn't need the extra ring). */\n &.focus-painted:focus-within {\n outline: var(--kds-border-action-focused);\n outline-offset: var(--kds-spacing-offset-focus);\n }\n}\n</style>\n"],"mappings":"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"}