@knime/kds-code-editor 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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: 300,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"300 10px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 300,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"300 12px/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// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | 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 = (dark: boolean) =>\n dark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\n// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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\n // External DOM node for overflow widgets needs the monaco class\n // to keep popover styling.\n overflowWidgetsDomNode = document.createElement(\"div\");\n overflowWidgetsDomNode.classList.add(\"monaco-editor\");\n document.body.appendChild(overflowWidgetsDomNode);\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 overflowWidgetsDomNode,\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(isDark.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(isDark, (dark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(dark) });\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 overflowWidgetsDomNode?.remove();\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 tooltip=\"Copy to clipboard\"\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// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | 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 = (dark: boolean) =>\n dark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\n// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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\n // External DOM node for overflow widgets needs the monaco class\n // to keep popover styling.\n overflowWidgetsDomNode = document.createElement(\"div\");\n overflowWidgetsDomNode.classList.add(\"monaco-editor\");\n document.body.appendChild(overflowWidgetsDomNode);\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 overflowWidgetsDomNode,\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(isDark.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(isDark, (dark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(dark) });\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 overflowWidgetsDomNode?.remove();\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 tooltip=\"Copy to clipboard\"\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\n// Use the effective, resolved dark state so the terminal theme follows\n// 'system' (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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(isDark.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(isDark.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\n// Use the effective, resolved dark state so the terminal theme follows\n// 'system' (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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(isDark.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(isDark.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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"}
1
+ {"version":3,"file":"index.js","names":["$slots","$slots"],"sources":["../src/CodeEditor/enums.ts","../src/_helper/BaseCodeEditor.vue","../src/_helper/BaseCodeEditor.vue","../../styles/dist/tokens/ts/color.js","../../styles/dist/tokens/ts/font.js","../src/_helper/monacoCommon.ts","../src/CodeEditor/tomlLanguage.ts","../src/CodeEditor/monacoEnvironment.ts","../src/CodeEditor/KdsCodeEditor.vue","../src/CodeEditor/KdsCodeEditor.vue","../src/CodeDiffEditor/KdsCodeDiffEditor.vue","../src/CodeDiffEditor/KdsCodeDiffEditor.vue","../src/Console/utils/buildTheme.ts","../src/Console/utils/shouldFocusBePainted.ts","../src/Console/KdsConsole.vue","../src/Console/KdsConsole.vue"],"sourcesContent":["export const kdsCodeEditorState = {\n DEFAULT: \"default\",\n ERROR: \"error\",\n WARNING: \"warning\",\n} as const;\n\nexport const kdsCodeEditorStates = Object.values(kdsCodeEditorState);\n","<script setup lang=\"ts\">\nimport { useId, useTemplateRef } from \"vue\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n} from \"@knime/kds-components\";\n\nimport { kdsCodeEditorState } from \"../CodeEditor/enums\";\n\nimport type { BaseCodeEditorProps } from \"./types\";\n\n// Internal base component shared by KdsCodeEditor and KdsCodeDiffEditor: the\n// header (label, read-only hint, action buttons, copy button), the code\n// container Monaco mounts into, the state / focus styling, the optional\n// footer, and the sub-text below.\nconst {\n headerLabel,\n subTextId,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n readOnly = false,\n subText = undefined,\n copyable = true,\n copied = false,\n copyButtonAriaLabel = \"\",\n editorActions = undefined,\n focused = false,\n fill = false,\n codeHeight = undefined,\n changeSummary = undefined,\n addedLines = undefined,\n removedLines = undefined,\n collapsed = false,\n} = defineProps<BaseCodeEditorProps>();\n\nconst emit = defineEmits<{\n /** The built-in copy button was clicked. */\n copy: [];\n /** The collapse toggle in the change-summary header was clicked. */\n collapsedToggle: [];\n}>();\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\nconst codeContainer = useTemplateRef(\"code-container\");\n\n// Links the collapse toggle to the code area via `aria-controls`.\nconst codeContainerId = useId();\n\ndefineExpose({\n /** The element Monaco should be mounted into. */\n getCodeContainer: () => codeContainer.value,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill }]\">\n <div :class=\"['editor', state, { focused, collapsed }]\">\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 (managed by the owning component). -->\n <span class=\"title\">{{ changeSummary ?? headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n <template v-if=\"changeSummary !== undefined\">\n <!-- The compact \"+3 -2\" is purely visual (added / removed only\n distinguishable by color and sign); the hidden sibling\n carries the meaning for assistive technology. -->\n <template\n v-if=\"addedLines !== undefined && removedLines !== undefined\"\n >\n <span class=\"change-counts\" aria-hidden=\"true\">\n <span class=\"added-lines\">+{{ addedLines }}</span>\n <span class=\"removed-lines\">-{{ removedLines }}</span>\n </span>\n <span class=\"change-counts-for-screen-readers\">\n {{ addedLines }} added and {{ removedLines }} removed lines\n </span>\n </template>\n <KdsButton\n v-bind=\"{\n ariaLabel: collapsed\n ? 'Expand code diff'\n : 'Collapse code diff',\n }\"\n :aria-expanded=\"!collapsed\"\n :aria-controls=\"codeContainerId\"\n :leading-icon=\"collapsed ? 'chevron-left' : 'chevron-down'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"emit('collapsedToggle')\"\n />\n </template>\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 tooltip=\"Copy to clipboard\"\n @click=\"emit('copy')\"\n />\n </div>\n </div>\n <!-- `v-show` (not `v-if`): Monaco stays mounted while collapsed so the\n diff (and its line counts) keeps being computed. -->\n <div\n v-show=\"!collapsed\"\n :id=\"codeContainerId\"\n ref=\"code-container\"\n class=\"code\"\n :style=\"codeHeight ? { height: codeHeight } : undefined\"\n />\n <div v-if=\"$slots.footer\" v-show=\"!collapsed\" 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 .change-counts {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n\n /* Together with the left-block gap this makes up the 0-5x gap between\n the summary text and the counts from the design. */\n margin-left: var(--kds-spacing-container-0-25x);\n font: var(--kds-font-base-interactive-small);\n\n .added-lines {\n color: var(--kds-color-text-and-icon-success);\n }\n\n .removed-lines {\n color: var(--kds-color-text-and-icon-danger);\n }\n }\n\n /* Visually hidden, still announced by screen readers. */\n .change-counts-for-screen-readers {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n clip-path: inset(50%);\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 /* A collapsed editor keeps its header height instead of stretching. */\n .editor.collapsed {\n flex: 0 0 auto;\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { useId, useTemplateRef } from \"vue\";\n\nimport {\n KdsButton,\n KdsMenuButton,\n KdsProgressButton,\n KdsSubText,\n KdsToggleButton,\n} from \"@knime/kds-components\";\n\nimport { kdsCodeEditorState } from \"../CodeEditor/enums\";\n\nimport type { BaseCodeEditorProps } from \"./types\";\n\n// Internal base component shared by KdsCodeEditor and KdsCodeDiffEditor: the\n// header (label, read-only hint, action buttons, copy button), the code\n// container Monaco mounts into, the state / focus styling, the optional\n// footer, and the sub-text below.\nconst {\n headerLabel,\n subTextId,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n readOnly = false,\n subText = undefined,\n copyable = true,\n copied = false,\n copyButtonAriaLabel = \"\",\n editorActions = undefined,\n focused = false,\n fill = false,\n codeHeight = undefined,\n changeSummary = undefined,\n addedLines = undefined,\n removedLines = undefined,\n collapsed = false,\n} = defineProps<BaseCodeEditorProps>();\n\nconst emit = defineEmits<{\n /** The built-in copy button was clicked. */\n copy: [];\n /** The collapse toggle in the change-summary header was clicked. */\n collapsedToggle: [];\n}>();\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\nconst codeContainer = useTemplateRef(\"code-container\");\n\n// Links the collapse toggle to the code area via `aria-controls`.\nconst codeContainerId = useId();\n\ndefineExpose({\n /** The element Monaco should be mounted into. */\n getCodeContainer: () => codeContainer.value,\n});\n</script>\n\n<template>\n <div :class=\"['kds-code-editor', { fill }]\">\n <div :class=\"['editor', state, { focused, collapsed }]\">\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 (managed by the owning component). -->\n <span class=\"title\">{{ changeSummary ?? headerLabel }}</span>\n <span v-if=\"readOnly === true\" class=\"title\">(Read-only)</span>\n <template v-if=\"changeSummary !== undefined\">\n <!-- The compact \"+3 -2\" is purely visual (added / removed only\n distinguishable by color and sign); the hidden sibling\n carries the meaning for assistive technology. -->\n <template\n v-if=\"addedLines !== undefined && removedLines !== undefined\"\n >\n <span class=\"change-counts\" aria-hidden=\"true\">\n <span class=\"added-lines\">+{{ addedLines }}</span>\n <span class=\"removed-lines\">-{{ removedLines }}</span>\n </span>\n <span class=\"change-counts-for-screen-readers\">\n {{ addedLines }} added and {{ removedLines }} removed lines\n </span>\n </template>\n <KdsButton\n v-bind=\"{\n ariaLabel: collapsed\n ? 'Expand code diff'\n : 'Collapse code diff',\n }\"\n :aria-expanded=\"!collapsed\"\n :aria-controls=\"codeContainerId\"\n :leading-icon=\"collapsed ? 'chevron-left' : 'chevron-down'\"\n size=\"small\"\n variant=\"transparent\"\n @click=\"emit('collapsedToggle')\"\n />\n </template>\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 tooltip=\"Copy to clipboard\"\n @click=\"emit('copy')\"\n />\n </div>\n </div>\n <!-- `v-show` (not `v-if`): Monaco stays mounted while collapsed so the\n diff (and its line counts) keeps being computed. -->\n <div\n v-show=\"!collapsed\"\n :id=\"codeContainerId\"\n ref=\"code-container\"\n class=\"code\"\n :style=\"codeHeight ? { height: codeHeight } : undefined\"\n />\n <div v-if=\"$slots.footer\" v-show=\"!collapsed\" 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 .change-counts {\n display: flex;\n flex-shrink: 0;\n gap: var(--kds-spacing-container-0-12x);\n align-items: center;\n\n /* Together with the left-block gap this makes up the 0-5x gap between\n the summary text and the counts from the design. */\n margin-left: var(--kds-spacing-container-0-25x);\n font: var(--kds-font-base-interactive-small);\n\n .added-lines {\n color: var(--kds-color-text-and-icon-success);\n }\n\n .removed-lines {\n color: var(--kds-color-text-and-icon-danger);\n }\n }\n\n /* Visually hidden, still announced by screen readers. */\n .change-counts-for-screen-readers {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n clip-path: inset(50%);\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 /* A collapsed editor keeps its header height instead of stretching. */\n .editor.collapsed {\n flex: 0 0 auto;\n }\n }\n}\n</style>\n","/**\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: 300,\n fontSize: { value: 10, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"300 10px/normal 'Roboto Mono', monospace\",\n variable: \"var(--kds-font-base-code-xsmall)\",\n },\n },\n small: {\n fontFamily: \"Roboto Mono\",\n fontWeight: 300,\n fontSize: { value: 12, unit: \"px\" },\n lineHeight: \"normal\",\n css: {\n value: \"300 12px/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","import type { editor } from \"monaco-editor\";\nimport { KeyCode } from \"monaco-editor\";\n\nimport { font } from \"@knime/kds-styles/tokens\";\n\nexport const INITIAL_LINE_HEIGHT = 18; // Default line height in Monaco Editor\nexport const EXTRA_PADDING = 3; // Additional padding to prevent scrollbar\nexport const DEFAULT_OVERVIEW_RULER_LANES = 3; // Monaco default\n\n// Monaco is styled via JS options, not CSS, so the KDS code typography is\n// passed to the editor constructors from the design-token constants.\nconst codeFont = font.base.code.small;\n\n/**\n * Construction options shared by `KdsCodeEditor` and `KdsCodeDiffEditor`.\n */\nexport const COMMON_EDITOR_OPTIONS = {\n automaticLayout: true,\n minimap: { enabled: false },\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 // 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} satisfies editor.IEditorConstructionOptions;\n\n// Update the editor theme based on the current dark mode setting\nexport const MONACO_THEME_LIGHT = \"vs-light\";\nexport const MONACO_THEME_DARK = \"vs-dark\";\nexport const getMonacoTheme = (isDark: boolean) =>\n isDark ? MONACO_THEME_DARK : MONACO_THEME_LIGHT;\n\n/**\n * Monaco's overflow widgets (error tooltips, autocomplete) can clip or appear\n * far away from the pointer in certain containers (such as stories in\n * Storybook, or ancestors with a CSS `transform`). Hosting them in an\n * external node on `document.body` avoids that; the node needs the\n * `monaco-editor` class to keep the popover styling. The caller owns the\n * returned node and must remove it on unmount.\n */\nexport const createOverflowWidgetsDomNode = (): HTMLElement => {\n const node = document.createElement(\"div\");\n node.classList.add(\"monaco-editor\");\n document.body.appendChild(node);\n return node;\n};\n\n/**\n * Accessibility: Escape arms tab-focus mode on the given editor so the next\n * Tab (or Shift+Tab) moves focus out of the editor instead of indenting;\n * any other key press or re-entering the editor restores Tab-as-indentation.\n */\nexport const setupTabFocusHandling = (editorInstance: editor.ICodeEditor) => {\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 });\n};\n","/**\n * Monarch syntax definition for TOML (v1.1.0).\n * Registers \"toml\" as a language with Monaco Editor.\n *\n * Uses compound patterns (like GitHub's TextMate TOML grammar) to distinguish\n * table headers, keys, and values without relying on end-of-line state pops:\n * - Table headers: matched as whole `[key.path]` / `[[key.path]]` patterns\n * - Key assignments: matched as `key =` compound patterns\n * - Values: matched directly in root (strings, numbers, booleans, dates)\n * - Arrays / inline tables: use sub-states for bracket matching\n *\n * Spec: https://toml.io/en/v1.1.0\n * Monarch docs: https://microsoft.github.io/monaco-editor/monarch.html\n */\nimport { languages } from \"monaco-editor\";\n\n/**\n * Registers the TOML language with Monaco. Idempotent — registering is\n * page-global, so the first call wins and later calls return early.\n *\n * Called explicitly (from `setupMonacoEnvironment`) rather than as a\n * module side effect: the package declares `sideEffects` in its\n * package.json, so bundlers are allowed to drop bare side-effect imports\n * of this module in production builds.\n */\nexport const registerTomlLanguage = () => {\n if (languages.getLanguages().some((language) => language.id === \"toml\")) {\n return;\n }\n\n languages.register({ id: \"toml\" });\n\n languages.setLanguageConfiguration(\"toml\", {\n comments: {\n lineComment: \"#\",\n },\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"],\n ],\n autoClosingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: '\"\"\"', close: '\"\"\"' },\n { open: \"'''\", close: \"'''\" },\n { open: '\"', close: '\"', notIn: [\"string\"] },\n { open: \"'\", close: \"'\", notIn: [\"string\"] },\n ],\n surroundingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n });\n\n languages.setMonarchTokensProvider(\"toml\", {\n defaultToken: \"\",\n\n brackets: [\n { open: \"[\", close: \"]\", token: \"delimiter.square\" },\n { open: \"{\", close: \"}\", token: \"delimiter.curly\" },\n ],\n\n escapes:\n /\\\\(?:[btnfre\"\\\\]|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n\n tokenizer: {\n // --------------- Root: table headers, key = value lines, values ----------\n root: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Array-of-tables header: [[key.path]] (bare keys only, won't match arrays)\n [\n /(\\[\\[)(\\s*[A-Za-z0-9_-]+(?:\\s*\\.\\s*[A-Za-z0-9_-]+)*\\s*)(\\]\\])/,\n [\"metatag.delimiter\", \"metatag\", \"metatag.delimiter\"],\n ],\n\n // Table header: [key.path] (bare keys only, won't match arrays like [\"str\"])\n [\n /(\\[)(\\s*[A-Za-z0-9_-]+(?:\\s*\\.\\s*[A-Za-z0-9_-]+)*\\s*)(\\])/,\n [\"metatag.delimiter\", \"metatag\", \"metatag.delimiter\"],\n ],\n\n // Key = (compound: bare key followed by =)\n [/([A-Za-z0-9_-]+)(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n // Key = (compound: quoted basic key followed by =)\n [/(\"[^\"]*\")(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n // Key = (compound: quoted literal key followed by =)\n [/('[^']*')(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n\n // Dotted key part: bare key followed by .\n [/([A-Za-z0-9_-]+)(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n // Dotted key part: quoted basic key followed by .\n [/(\"[^\"]*\")(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n // Dotted key part: quoted literal key followed by .\n [/('[^']*')(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n\n // Compound value structures (push sub-states for bracket matching)\n [/\\{/, \"@brackets\", \"@inlineTable\"],\n [/\\[/, \"@brackets\", \"@array\"],\n\n // Simple values\n { include: \"@strings\" },\n { include: \"@dateTime\" },\n { include: \"@numbers\" },\n { include: \"@booleans\" },\n\n // Fallback punctuation\n [/[=,]/, \"delimiter\"],\n ],\n\n // --------------- Inline table: { key = value, ... } ---------------\n inlineTable: [\n { include: \"@whitespace\" },\n // TOML v1.1 allows newlines — and therefore comments — inside\n // multi-line inline tables.\n { include: \"@comment\" },\n [/\\}/, \"@brackets\", \"@pop\"],\n [/,/, \"delimiter\"],\n\n // Keys inside inline table (compound patterns)\n [/([A-Za-z0-9_-]+)(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n [/(\"[^\"]*\")(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n [/('[^']*')(\\s*)(=)/, [\"type\", \"white\", \"operators\"]],\n [/([A-Za-z0-9_-]+)(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n [/(\"[^\"]*\")(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n [/('[^']*')(\\s*)(\\.)/, [\"type\", \"white\", \"delimiter\"]],\n\n // Values inside inline table\n [/\\{/, \"@brackets\", \"@inlineTable\"],\n [/\\[/, \"@brackets\", \"@array\"],\n { include: \"@strings\" },\n { include: \"@dateTime\" },\n { include: \"@numbers\" },\n { include: \"@booleans\" },\n ],\n\n // --------------- Array: [ value, value, ... ] ---------------\n array: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n [/\\]/, \"@brackets\", \"@pop\"],\n [/,/, \"delimiter\"],\n\n // Nested structures\n [/\\{/, \"@brackets\", \"@inlineTable\"],\n [/\\[/, \"@brackets\", \"@array\"],\n\n { include: \"@strings\" },\n { include: \"@dateTime\" },\n { include: \"@numbers\" },\n { include: \"@booleans\" },\n ],\n\n // --------------- Shared includes ---------------\n whitespace: [[/[ \\t\\r\\n]+/, \"white\"]],\n\n comment: [[/#.*$/, \"comment\"]],\n\n booleans: [[/(?:true|false)(?![A-Za-z0-9_-])/, \"keyword\"]],\n\n dateTime: [\n [\n /\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?/,\n \"number\",\n ],\n [/\\d{4}-\\d{2}-\\d{2}/, \"number\"],\n [/\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?/, \"number\"],\n ],\n\n numbers: [\n [/0x[0-9A-Fa-f][0-9A-Fa-f_]*/, \"number.hex\"],\n [/0o[0-7][0-7_]*/, \"number.octal\"],\n [/0b[01][01_]*/, \"number.binary\"],\n [/[+-]?(?:inf|nan)(?![A-Za-z0-9_-])/, \"number.float\"],\n [/[+-]?\\d[\\d_]*\\.\\d[\\d_]*([eE][+-]?\\d[\\d_]*)?/, \"number.float\"],\n [/[+-]?\\d[\\d_]*[eE][+-]?\\d[\\d_]*/, \"number.float\"],\n [/[+-]?\\d[\\d_]*/, \"number\"],\n ],\n\n strings: [\n [/\"\"\"/, \"string\", \"@string.multiBasic\"],\n [/'''/, \"string\", \"@string.multiLiteral\"],\n [/\"/, \"string\", \"@string.basic\"],\n [/'/, \"string\", \"@string.literal\"],\n ],\n\n // --------------- String value states ---------------\n \"string.basic\": [\n // Basic strings are single-line by spec: an unterminated string ends\n // (as invalid) at the end of the line instead of painting the rest of\n // the document.\n [/[^\\\\\"]*$/, \"string.invalid\", \"@pop\"],\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, \"string\", \"@pop\"],\n ],\n\n \"string.multiBasic\": [\n [/\"\"\"/, \"string\", \"@pop\"],\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, \"string\"],\n ],\n\n \"string.literal\": [\n // Literal strings are single-line by spec (see `string.basic`).\n [/[^']*$/, \"string.invalid\", \"@pop\"],\n [/[^']+/, \"string\"],\n [/'/, \"string\", \"@pop\"],\n ],\n\n \"string.multiLiteral\": [\n [/'''/, \"string\", \"@pop\"],\n [/[^']+/, \"string\"],\n [/'/, \"string\"],\n ],\n },\n });\n};\n","import { editor } from \"monaco-editor\";\n\nimport { registerTomlLanguage } from \"./tomlLanguage\";\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 // Custom language registration happens before the early return below, so\n // the languages are also available when the host app defined its own\n // MonacoEnvironment. (Registered here explicitly — a module-side-effect\n // import would be dropped by bundlers because of the package's\n // `sideEffects` declaration.)\n registerTomlLanguage();\n\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 { editor } from \"monaco-editor\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\n\nimport BaseCodeEditor from \"../_helper/BaseCodeEditor.vue\";\nimport {\n COMMON_EDITOR_OPTIONS,\n DEFAULT_OVERVIEW_RULER_LANES,\n EXTRA_PADDING,\n INITIAL_LINE_HEIGHT,\n createOverflowWidgetsDomNode,\n getMonacoTheme,\n setupTabFocusHandling,\n} from \"../_helper/monacoCommon\";\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 baseCodeEditor = useTemplateRef(\"base-code-editor\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | 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 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// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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 baseCodeEditor.value?.getCodeContainer()?.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 const container = baseCodeEditor.value?.getCodeContainer();\n if (!container) {\n return;\n }\n overflowWidgetsDomNode = createOverflowWidgetsDomNode();\n\n editorInstance = editor.create(container, {\n ...COMMON_EDITOR_OPTIONS,\n value: modelValue.value,\n language,\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n overflowWidgetsDomNode,\n readOnly,\n theme: getMonacoTheme(isDark.value),\n ariaLabel: editorAriaLabel.value,\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 setupTabFocusHandling(editorInstance);\n editorInstance.onDidFocusEditorText(() => {\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDark, (dark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(dark) });\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 overflowWidgetsDomNode?.remove();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <BaseCodeEditor\n ref=\"base-code-editor\"\n :header-label=\"headerLabel\"\n :sub-text-id=\"subTextId\"\n :hide-header=\"hideHeader\"\n :state=\"state\"\n :read-only=\"readOnly\"\n :sub-text=\"subText\"\n :copyable=\"copyable\"\n :copied=\"copied\"\n :copy-button-aria-label=\"copyButtonAriaLabel\"\n :editor-actions=\"editorActions\"\n :focused=\"isEditorFocused\"\n :fill=\"fillContainer\"\n :code-height=\"editorHeight\"\n @copy=\"copyToClipboard\"\n >\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </BaseCodeEditor>\n</template>\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 { editor } from \"monaco-editor\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\n\nimport BaseCodeEditor from \"../_helper/BaseCodeEditor.vue\";\nimport {\n COMMON_EDITOR_OPTIONS,\n DEFAULT_OVERVIEW_RULER_LANES,\n EXTRA_PADDING,\n INITIAL_LINE_HEIGHT,\n createOverflowWidgetsDomNode,\n getMonacoTheme,\n setupTabFocusHandling,\n} from \"../_helper/monacoCommon\";\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 baseCodeEditor = useTemplateRef(\"base-code-editor\");\nlet editorInstance: editor.IStandaloneCodeEditor | undefined;\n\n// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | 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 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// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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 baseCodeEditor.value?.getCodeContainer()?.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 const container = baseCodeEditor.value?.getCodeContainer();\n if (!container) {\n return;\n }\n overflowWidgetsDomNode = createOverflowWidgetsDomNode();\n\n editorInstance = editor.create(container, {\n ...COMMON_EDITOR_OPTIONS,\n value: modelValue.value,\n language,\n overviewRulerLanes: overviewRuler ? DEFAULT_OVERVIEW_RULER_LANES : 0,\n overflowWidgetsDomNode,\n readOnly,\n theme: getMonacoTheme(isDark.value),\n ariaLabel: editorAriaLabel.value,\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 setupTabFocusHandling(editorInstance);\n editorInstance.onDidFocusEditorText(() => {\n isEditorFocused.value = true;\n });\n editorInstance.onDidBlurEditorText(() => {\n isEditorFocused.value = false;\n });\n});\n\nwatch(isDark, (dark) => {\n if (editorInstance) {\n editorInstance.updateOptions({ theme: getMonacoTheme(dark) });\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 overflowWidgetsDomNode?.remove();\n});\n\ndefineExpose({\n /** The underlying Monaco editor instance, available after mount. */\n getEditor: () => editorInstance,\n});\n</script>\n\n<template>\n <BaseCodeEditor\n ref=\"base-code-editor\"\n :header-label=\"headerLabel\"\n :sub-text-id=\"subTextId\"\n :hide-header=\"hideHeader\"\n :state=\"state\"\n :read-only=\"readOnly\"\n :sub-text=\"subText\"\n :copyable=\"copyable\"\n :copied=\"copied\"\n :copy-button-aria-label=\"copyButtonAriaLabel\"\n :editor-actions=\"editorActions\"\n :focused=\"isEditorFocused\"\n :fill=\"fillContainer\"\n :code-height=\"editorHeight\"\n @copy=\"copyToClipboard\"\n >\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </BaseCodeEditor>\n</template>\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { editor } from \"monaco-editor\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\n\nimport { kdsCodeEditorState } from \"../CodeEditor/enums\";\nimport { setupMonacoEnvironment } from \"../CodeEditor/monacoEnvironment\";\nimport BaseCodeEditor from \"../_helper/BaseCodeEditor.vue\";\nimport {\n COMMON_EDITOR_OPTIONS,\n EXTRA_PADDING,\n INITIAL_LINE_HEIGHT,\n createOverflowWidgetsDomNode,\n getMonacoTheme,\n setupTabFocusHandling,\n} from \"../_helper/monacoCommon\";\n\nimport type { KdsCodeDiffEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n original = \"\",\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n sideBySide = true,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n changeSummary = undefined,\n} = defineProps<KdsCodeDiffEditorProps>();\n\n/** The modified content — the editable side of the diff. */\nconst modelValue = defineModel<string>({ default: \"\" });\n\n/**\n * Whether the editor is collapsed to just its change-summary header. Only\n * effective when `changeSummary` is set (which renders the collapse toggle).\n *\n * @default false\n */\nconst collapsed = defineModel<boolean>(\"collapsed\", { default: false });\n\n// Links the sub-text to the modified editor's text input via\n// `aria-describedby`.\nconst subTextId = useId();\n\nconst baseCodeEditor = useTemplateRef(\"base-code-editor\");\nlet diffEditorInstance: editor.IStandaloneDiffEditor | undefined;\nlet originalModel: editor.ITextModel | undefined;\nlet modifiedModel: editor.ITextModel | undefined;\n\n// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | undefined;\n\n// Whether one of the Monaco code areas (not a header button) has focus.\nconst isOriginalFocused = ref(false);\nconst isModifiedFocused = ref(false);\nconst isEditorFocused = computed(\n () => isOriginalFocused.value || isModifiedFocused.value,\n);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible names for Monaco's focusable elements (`<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 announce the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst tabEscapeHint =\n \"Press Escape followed by Tab to move focus out of the editor.\";\nconst originalAriaLabel = computed(\n () =>\n `${headerLabel.value} code diff editor, original version, read-only. ${\n tabEscapeHint\n }`,\n);\nconst modifiedAriaLabel = computed(\n () =>\n `${headerLabel.value} code diff editor, modified version` +\n `${readOnly ? \", read-only\" : \"\"}. ${tabEscapeHint}`,\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 lineHeight = ref(INITIAL_LINE_HEIGHT);\n// Line count of the larger side. Deliberately NOT derived from Monaco's\n// content height: that includes the asynchronously computed diff view zones\n// and scrollbar reservations, which would make the editor height flicker\n// once the diff arrives. The inline view may scroll internally when the\n// removed lines exceed the remaining row budget.\nconst contentLineCount = ref(1);\nconst updateContentLineCount = () => {\n contentLineCount.value = Math.max(\n originalModel?.getLineCount() ?? 1,\n modifiedModel?.getLineCount() ?? 1,\n );\n};\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// Without the header there is no summary line to collapse to (and no toggle\n// to expand again), so `hideHeader` disables collapsing entirely.\nconst isCollapsed = computed(\n () => changeSummary !== undefined && !hideHeader && collapsed.value,\n);\n\n// Added / removed line counts of the current diff, shown in the\n// change-summary header. A changed line counts on both sides. `undefined`\n// (counts not rendered) until the asynchronously computed diff is available.\nconst addedLineCount = ref<number>();\nconst removedLineCount = ref<number>();\nconst updateChangeCounts = () => {\n const lineChanges = diffEditorInstance?.getLineChanges();\n if (!lineChanges) {\n return;\n }\n let added = 0;\n let removed = 0;\n for (const change of lineChanges) {\n // An end line number of 0 marks an empty range on that side (pure\n // insertion / deletion).\n if (change.modifiedEndLineNumber > 0) {\n added +=\n change.modifiedEndLineNumber - change.modifiedStartLineNumber + 1;\n }\n if (change.originalEndLineNumber > 0) {\n removed +=\n change.originalEndLineNumber - change.originalStartLineNumber + 1;\n }\n }\n addedLineCount.value = added;\n removedLineCount.value = removed;\n};\n\n// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = useKdsDarkMode();\n\n// The aria-label options must go through `updateOptions`: the diff editor\n// creates its inner editors before applying the construction options'\n// `originalAriaLabel` / `modifiedAriaLabel`, so passing them at creation\n// leaves the inner editors unlabeled. They are only *declared* on the\n// construction options type (which extends the update options type), while\n// the runtime option-change path applies them fine.\nconst getAriaLabelOptions = (): editor.IDiffEditorConstructionOptions => ({\n originalAriaLabel: originalAriaLabel.value,\n modifiedAriaLabel: modifiedAriaLabel.value,\n});\n\n// Monaco re-derives both inner editors' options on every partial\n// `updateOptions` call and resets their `aria-label` to \"\" unless the\n// aria-label options are part of that same call — so every runtime option\n// update has to go through here.\nconst updateDiffEditorOptions = (options: editor.IDiffEditorOptions = {}) => {\n diffEditorInstance?.updateOptions({ ...options, ...getAriaLabelOptions() });\n};\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 getModifiedInputElement = () =>\n diffEditorInstance\n ?.getModifiedEditor()\n .getDomNode()\n ?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the aria-label options) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here — on the\n// modified side, which holds the value the sub-text refers to.\nconst syncEditorInputAria = () => {\n const input = getModifiedInputElement();\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\nonMounted(() => {\n const container = baseCodeEditor.value?.getCodeContainer();\n if (!container) {\n return;\n }\n\n originalModel = editor.createModel(original, language);\n modifiedModel = editor.createModel(modelValue.value, language);\n\n overflowWidgetsDomNode = createOverflowWidgetsDomNode();\n\n diffEditorInstance = editor.createDiffEditor(container, {\n ...COMMON_EDITOR_OPTIONS,\n overflowWidgetsDomNode,\n renderSideBySide: sideBySide,\n renderOverviewRuler: overviewRuler,\n // The original side is never editable; `readOnly` governs the modified\n // side only.\n originalEditable: false,\n readOnly,\n theme: getMonacoTheme(isDark.value),\n });\n diffEditorInstance.setModel({\n original: originalModel,\n modified: modifiedModel,\n });\n diffEditorInstance.updateOptions(getAriaLabelOptions());\n\n syncEditorInputAria();\n\n diffEditorInstance.onDidUpdateDiff(updateChangeCounts);\n\n const modifiedEditor = diffEditorInstance.getModifiedEditor();\n const originalEditor = diffEditorInstance.getOriginalEditor();\n\n lineHeight.value = modifiedEditor.getOption(editor.EditorOption.lineHeight);\n updateContentLineCount();\n\n originalModel.onDidChangeContent(updateContentLineCount);\n modifiedModel.onDidChangeContent(() => {\n const value = modifiedModel?.getValue() ?? \"\";\n updateContentLineCount();\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n for (const editorSide of [originalEditor, modifiedEditor]) {\n setupTabFocusHandling(editorSide);\n }\n originalEditor.onDidFocusEditorText(() => {\n isOriginalFocused.value = true;\n });\n originalEditor.onDidBlurEditorText(() => {\n isOriginalFocused.value = false;\n });\n modifiedEditor.onDidFocusEditorText(() => {\n isModifiedFocused.value = true;\n });\n modifiedEditor.onDidBlurEditorText(() => {\n isModifiedFocused.value = false;\n });\n});\n\nwatch(isDark, (dark) => {\n if (diffEditorInstance) {\n editor.setTheme(getMonacoTheme(dark));\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n updateDiffEditorOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(modifiedAriaLabel, () => {\n updateDiffEditorOptions();\n});\n\nwatch(\n () => sideBySide,\n (renderSideBySide) => {\n updateDiffEditorOptions({ renderSideBySide });\n },\n);\n\nwatch(\n () => overviewRuler,\n (renderOverviewRuler) => {\n updateDiffEditorOptions({ renderOverviewRuler });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n for (const model of [originalModel, modifiedModel]) {\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n }\n },\n);\n\n// External `original` updates replace the original content. It is not\n// user-editable, so no undo stack needs to be preserved.\nwatch(\n () => original,\n (newOriginal) => {\n if (originalModel && newOriginal !== originalModel.getValue()) {\n originalModel.setValue(newOriginal);\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 an \"apply\n// suggestion\" action would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n if (modifiedModel && newValue !== modifiedModel.getValue()) {\n modifiedModel.pushStackElement();\n modifiedModel.pushEditOperations(\n [],\n [{ range: modifiedModel.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n diffEditorInstance?.dispose();\n // The models are owned by this component (explicitly attached models are\n // never disposed by the editor itself).\n originalModel?.dispose();\n modifiedModel?.dispose();\n overflowWidgetsDomNode?.remove();\n});\n\ndefineExpose({\n /** The underlying Monaco diff editor instance, available after mount. */\n getEditor: () => diffEditorInstance,\n});\n</script>\n\n<template>\n <BaseCodeEditor\n ref=\"base-code-editor\"\n :header-label=\"headerLabel\"\n :sub-text-id=\"subTextId\"\n :hide-header=\"hideHeader\"\n :state=\"state\"\n :read-only=\"readOnly\"\n :sub-text=\"subText\"\n :copyable=\"false\"\n :editor-actions=\"editorActions\"\n :focused=\"isEditorFocused\"\n :fill=\"fillContainer\"\n :code-height=\"editorHeight\"\n :change-summary=\"changeSummary\"\n :added-lines=\"addedLineCount\"\n :removed-lines=\"removedLineCount\"\n :collapsed=\"isCollapsed\"\n @collapsed-toggle=\"collapsed = !collapsed\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport {\n computed,\n onMounted,\n onUnmounted,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from \"vue\";\nimport { editor } from \"monaco-editor\";\n\nimport { useKdsDarkMode } from \"@knime/kds-components\";\n\nimport { kdsCodeEditorState } from \"../CodeEditor/enums\";\nimport { setupMonacoEnvironment } from \"../CodeEditor/monacoEnvironment\";\nimport BaseCodeEditor from \"../_helper/BaseCodeEditor.vue\";\nimport {\n COMMON_EDITOR_OPTIONS,\n EXTRA_PADDING,\n INITIAL_LINE_HEIGHT,\n createOverflowWidgetsDomNode,\n getMonacoTheme,\n setupTabFocusHandling,\n} from \"../_helper/monacoCommon\";\n\nimport type { KdsCodeDiffEditorProps } from \"./types\";\n\nsetupMonacoEnvironment();\n\nconst {\n original = \"\",\n language = \"plaintext\",\n languageLabel = undefined,\n hideHeader = false,\n state = kdsCodeEditorState.DEFAULT,\n sideBySide = true,\n overviewRuler = false,\n readOnly = false,\n subText = undefined,\n editorActions = undefined,\n minRows = undefined,\n maxRows = undefined,\n changeSummary = undefined,\n} = defineProps<KdsCodeDiffEditorProps>();\n\n/** The modified content — the editable side of the diff. */\nconst modelValue = defineModel<string>({ default: \"\" });\n\n/**\n * Whether the editor is collapsed to just its change-summary header. Only\n * effective when `changeSummary` is set (which renders the collapse toggle).\n *\n * @default false\n */\nconst collapsed = defineModel<boolean>(\"collapsed\", { default: false });\n\n// Links the sub-text to the modified editor's text input via\n// `aria-describedby`.\nconst subTextId = useId();\n\nconst baseCodeEditor = useTemplateRef(\"base-code-editor\");\nlet diffEditorInstance: editor.IStandaloneDiffEditor | undefined;\nlet originalModel: editor.ITextModel | undefined;\nlet modifiedModel: editor.ITextModel | undefined;\n\n// There is a known issue with monaco's popovers (error tooltips,\n// autocomplete) clipping or appearing far away from the pointer\n// in certain containers (such as stories in storybook).\n// A workaround is hosting the popover inside an external DOM node.\nlet overflowWidgetsDomNode: HTMLElement | undefined;\n\n// Whether one of the Monaco code areas (not a header button) has focus.\nconst isOriginalFocused = ref(false);\nconst isModifiedFocused = ref(false);\nconst isEditorFocused = computed(\n () => isOriginalFocused.value || isModifiedFocused.value,\n);\n\nconst headerLabel = computed(() => languageLabel ?? language.toUpperCase());\n\n// Accessible names for Monaco's focusable elements (`<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 announce the\n// read-only state and the non-standard keyboard exit (WCAG 2.1.2).\nconst tabEscapeHint =\n \"Press Escape followed by Tab to move focus out of the editor.\";\nconst originalAriaLabel = computed(\n () =>\n `${headerLabel.value} code diff editor, original version, read-only. ${\n tabEscapeHint\n }`,\n);\nconst modifiedAriaLabel = computed(\n () =>\n `${headerLabel.value} code diff editor, modified version` +\n `${readOnly ? \", read-only\" : \"\"}. ${tabEscapeHint}`,\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 lineHeight = ref(INITIAL_LINE_HEIGHT);\n// Line count of the larger side. Deliberately NOT derived from Monaco's\n// content height: that includes the asynchronously computed diff view zones\n// and scrollbar reservations, which would make the editor height flicker\n// once the diff arrives. The inline view may scroll internally when the\n// removed lines exceed the remaining row budget.\nconst contentLineCount = ref(1);\nconst updateContentLineCount = () => {\n contentLineCount.value = Math.max(\n originalModel?.getLineCount() ?? 1,\n modifiedModel?.getLineCount() ?? 1,\n );\n};\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// Without the header there is no summary line to collapse to (and no toggle\n// to expand again), so `hideHeader` disables collapsing entirely.\nconst isCollapsed = computed(\n () => changeSummary !== undefined && !hideHeader && collapsed.value,\n);\n\n// Added / removed line counts of the current diff, shown in the\n// change-summary header. A changed line counts on both sides. `undefined`\n// (counts not rendered) until the asynchronously computed diff is available.\nconst addedLineCount = ref<number>();\nconst removedLineCount = ref<number>();\nconst updateChangeCounts = () => {\n const lineChanges = diffEditorInstance?.getLineChanges();\n if (!lineChanges) {\n return;\n }\n let added = 0;\n let removed = 0;\n for (const change of lineChanges) {\n // An end line number of 0 marks an empty range on that side (pure\n // insertion / deletion).\n if (change.modifiedEndLineNumber > 0) {\n added +=\n change.modifiedEndLineNumber - change.modifiedStartLineNumber + 1;\n }\n if (change.originalEndLineNumber > 0) {\n removed +=\n change.originalEndLineNumber - change.originalStartLineNumber + 1;\n }\n }\n addedLineCount.value = added;\n removedLineCount.value = removed;\n};\n\n// Use the effective, resolved dark state so the editor theme follows 'system'\n// (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = useKdsDarkMode();\n\n// The aria-label options must go through `updateOptions`: the diff editor\n// creates its inner editors before applying the construction options'\n// `originalAriaLabel` / `modifiedAriaLabel`, so passing them at creation\n// leaves the inner editors unlabeled. They are only *declared* on the\n// construction options type (which extends the update options type), while\n// the runtime option-change path applies them fine.\nconst getAriaLabelOptions = (): editor.IDiffEditorConstructionOptions => ({\n originalAriaLabel: originalAriaLabel.value,\n modifiedAriaLabel: modifiedAriaLabel.value,\n});\n\n// Monaco re-derives both inner editors' options on every partial\n// `updateOptions` call and resets their `aria-label` to \"\" unless the\n// aria-label options are part of that same call — so every runtime option\n// update has to go through here.\nconst updateDiffEditorOptions = (options: editor.IDiffEditorOptions = {}) => {\n diffEditorInstance?.updateOptions({ ...options, ...getAriaLabelOptions() });\n};\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 getModifiedInputElement = () =>\n diffEditorInstance\n ?.getModifiedEditor()\n .getDomNode()\n ?.querySelector('[role=\"textbox\"]');\n\n// Monaco manages `aria-label` (via the aria-label options) but not\n// `aria-describedby` / `aria-invalid`, so those are maintained here — on the\n// modified side, which holds the value the sub-text refers to.\nconst syncEditorInputAria = () => {\n const input = getModifiedInputElement();\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\nonMounted(() => {\n const container = baseCodeEditor.value?.getCodeContainer();\n if (!container) {\n return;\n }\n\n originalModel = editor.createModel(original, language);\n modifiedModel = editor.createModel(modelValue.value, language);\n\n overflowWidgetsDomNode = createOverflowWidgetsDomNode();\n\n diffEditorInstance = editor.createDiffEditor(container, {\n ...COMMON_EDITOR_OPTIONS,\n overflowWidgetsDomNode,\n renderSideBySide: sideBySide,\n renderOverviewRuler: overviewRuler,\n // The original side is never editable; `readOnly` governs the modified\n // side only.\n originalEditable: false,\n readOnly,\n theme: getMonacoTheme(isDark.value),\n });\n diffEditorInstance.setModel({\n original: originalModel,\n modified: modifiedModel,\n });\n diffEditorInstance.updateOptions(getAriaLabelOptions());\n\n syncEditorInputAria();\n\n diffEditorInstance.onDidUpdateDiff(updateChangeCounts);\n\n const modifiedEditor = diffEditorInstance.getModifiedEditor();\n const originalEditor = diffEditorInstance.getOriginalEditor();\n\n lineHeight.value = modifiedEditor.getOption(editor.EditorOption.lineHeight);\n updateContentLineCount();\n\n originalModel.onDidChangeContent(updateContentLineCount);\n modifiedModel.onDidChangeContent(() => {\n const value = modifiedModel?.getValue() ?? \"\";\n updateContentLineCount();\n if (value !== modelValue.value) {\n modelValue.value = value;\n }\n });\n\n for (const editorSide of [originalEditor, modifiedEditor]) {\n setupTabFocusHandling(editorSide);\n }\n originalEditor.onDidFocusEditorText(() => {\n isOriginalFocused.value = true;\n });\n originalEditor.onDidBlurEditorText(() => {\n isOriginalFocused.value = false;\n });\n modifiedEditor.onDidFocusEditorText(() => {\n isModifiedFocused.value = true;\n });\n modifiedEditor.onDidBlurEditorText(() => {\n isModifiedFocused.value = false;\n });\n});\n\nwatch(isDark, (dark) => {\n if (diffEditorInstance) {\n editor.setTheme(getMonacoTheme(dark));\n }\n});\n\nwatch(\n () => readOnly,\n (isReadOnly) => {\n updateDiffEditorOptions({ readOnly: isReadOnly });\n },\n);\n\nwatch(modifiedAriaLabel, () => {\n updateDiffEditorOptions();\n});\n\nwatch(\n () => sideBySide,\n (renderSideBySide) => {\n updateDiffEditorOptions({ renderSideBySide });\n },\n);\n\nwatch(\n () => overviewRuler,\n (renderOverviewRuler) => {\n updateDiffEditorOptions({ renderOverviewRuler });\n },\n);\n\nwatch(\n () => language,\n (newLanguage) => {\n for (const model of [originalModel, modifiedModel]) {\n if (model) {\n editor.setModelLanguage(model, newLanguage);\n }\n }\n },\n);\n\n// External `original` updates replace the original content. It is not\n// user-editable, so no undo stack needs to be preserved.\nwatch(\n () => original,\n (newOriginal) => {\n if (originalModel && newOriginal !== originalModel.getValue()) {\n originalModel.setValue(newOriginal);\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 an \"apply\n// suggestion\" action would destroy the user's typing history.\nwatch(modelValue, (newValue) => {\n if (modifiedModel && newValue !== modifiedModel.getValue()) {\n modifiedModel.pushStackElement();\n modifiedModel.pushEditOperations(\n [],\n [{ range: modifiedModel.getFullModelRange(), text: newValue ?? \"\" }],\n () => null,\n );\n }\n});\n\nonUnmounted(() => {\n diffEditorInstance?.dispose();\n // The models are owned by this component (explicitly attached models are\n // never disposed by the editor itself).\n originalModel?.dispose();\n modifiedModel?.dispose();\n overflowWidgetsDomNode?.remove();\n});\n\ndefineExpose({\n /** The underlying Monaco diff editor instance, available after mount. */\n getEditor: () => diffEditorInstance,\n});\n</script>\n\n<template>\n <BaseCodeEditor\n ref=\"base-code-editor\"\n :header-label=\"headerLabel\"\n :sub-text-id=\"subTextId\"\n :hide-header=\"hideHeader\"\n :state=\"state\"\n :read-only=\"readOnly\"\n :sub-text=\"subText\"\n :copyable=\"false\"\n :editor-actions=\"editorActions\"\n :focused=\"isEditorFocused\"\n :fill=\"fillContainer\"\n :code-height=\"editorHeight\"\n :change-summary=\"changeSummary\"\n :added-lines=\"addedLineCount\"\n :removed-lines=\"removedLineCount\"\n :collapsed=\"isCollapsed\"\n @collapsed-toggle=\"collapsed = !collapsed\"\n />\n</template>\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\n// Use the effective, resolved dark state so the terminal theme follows\n// 'system' (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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(isDark.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(isDark.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\n// Use the effective, resolved dark state so the terminal theme follows\n// 'system' (OS) mode too, not just an explicit dark/light preference.\nconst { isDark } = 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(isDark.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(isDark.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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"}