From 8f3f24aa936ee6e82ab5cfec7c998f5c7a468a7c Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:27:48 +0200 Subject: [PATCH 01/12] v2 file --- packages/css/package.json | 3 +- packages/css/src/_v2.css | 89 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 packages/css/src/_v2.css diff --git a/packages/css/package.json b/packages/css/package.json index b8e9fc11fd..53f995d56d 100644 --- a/packages/css/package.json +++ b/packages/css/package.json @@ -21,7 +21,8 @@ "types": "./types.d.ts", "default": "./dist/src/index.css" }, - "./*": "./dist/src/*" + "./*": "./dist/src/*", + "./v2": "./dist/src/_v2.css" }, "files": [ "./types.d.ts", diff --git a/packages/css/src/_v2.css b/packages/css/src/_v2.css new file mode 100644 index 0000000000..c979953380 --- /dev/null +++ b/packages/css/src/_v2.css @@ -0,0 +1,89 @@ +/** Notes + * This file contains planned changes for the next major version of Designsystemet. + * Exceptions: + * - Did not override --readonly and --disabled states + * - .ds-link has changed mapping from text-default to text-subtle when data-color="neutral" + * - .ds-togglegroup: No overrides added as the component is being removed in the next major version. + * - + */ + +.ds-dialog { + /** Change from neutral to color */ + --dsc-dialog-background: var(--ds-color-surface-default); + --dsc-dialog-color: var(--ds-color-text-default); + --dsc-dialog-divider-border-color: var(--ds-color-border-subtle); + --dsc-dialog-border-color: var(--ds-color-border-subtle); +} + +.ds-divider { + /** Change from neutral to color */ + --dsc-divider-border-color: var(--ds-color-border-subtle); +} + +.ds-dropdown { + /** Change from neutral to color */ + --dsc-dropdown-background: var(--ds-color-surface-default); + --dsc-dropdown-border-color: var(--ds-color-border-subtle); +} + +.ds-error-summary { + /** Change from neutral to color */ + --dsc-errorsummary-link-color: var(--ds-color-text-default); +} + +.ds-field { + /** Change from neutral to color */ + --dsc-field-description-color: var(--ds-color-text-subtle); + + &[data-variant='outline'] { + /** Change from neutral to color */ + --dsc-field-border-color: var(--ds-color-border-default); + } +} + +.ds-field-affixes { + /** Change from neutral to color */ + --dsc-field-affix-border-color: var(--ds-color-border-default); + --dsc-field-affix-background: var(--ds-color-surface-tinted); + --dsc-field-affix-color: var(--ds-color-text-subtle); +} + +.ds-fieldset { + /** Change from neutral to color */ + --dsc-fieldset-description-color: var(--ds-color-text-subtle); +} + +.ds-input { + /** Change from neutral to color */ + --dsc-input-background: var(--ds-color-surface-default); + --dsc-input-border-color: var(--ds-color-border-default); + --dsc-input-outline-color--hover: var(--ds-color-border-default); + --dsc-input-color: var(--ds-color-text-default); +} + +.ds-skeleton { + /** Change from neutral to color */ + --dsc-skeleton-background: var(--ds-color-surface-tinted); +} + +.ds-suggestion { + /** Change from neutral to color */ + --dsc-suggestion-list-background: var(--ds-color-surface-default); + --dsc-suggestion-border-color: var(--ds-color-border-subtle); + & u-datalist [data-multiple] & > u-option:not([data-empty]) { + --dsc-suggestion-option-checkmark-border-color: var(--ds-color-border-default); + } +} + +.ds-tabs { + /** Change from neutral to color */ + --dsc-tabs-tab-color: var(--ds-color-text-subtle); + --dsc-tabs-tab-color--hover: var(--ds-color-text-default); + --dsc-tabs-list-border-color: var(--ds-color-border-subtle); +} + +.ds-tooltipe { + /** Change from neutral to color */ + --dsc-tooltip-background: var(--ds-color-text-default); + --dsc-tooltip-color: var(--ds-color-background-default); +} From ec94873f90ce52a134c6c4ebc5c09f8525252f48 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:33:18 +0200 Subject: [PATCH 02/12] removed hardcoded dropdown values --- .changeset/fresh-parks-sneeze.md | 5 +++++ packages/css/src/dropdown.css | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .changeset/fresh-parks-sneeze.md diff --git a/.changeset/fresh-parks-sneeze.md b/.changeset/fresh-parks-sneeze.md new file mode 100644 index 0000000000..e721c6e844 --- /dev/null +++ b/.changeset/fresh-parks-sneeze.md @@ -0,0 +1,5 @@ +--- +"@digdir/designsystemet-css": patch +--- + +**Dropdown**: Removed hardcoded `color` and `font-weight` on some heading elements that caused disconnect with global font and other elements in the dropdown. diff --git a/packages/css/src/dropdown.css b/packages/css/src/dropdown.css index 5f8d828f9b..0b14992483 100644 --- a/packages/css/src/dropdown.css +++ b/packages/css/src/dropdown.css @@ -27,9 +27,7 @@ & > :is(h2, h3, h4, h5, h6) { align-items: center; box-sizing: border-box; - color: var(--ds-color-neutral-text-default); font-size: inherit; - font-weight: var(--ds-font-weight-medium); margin: 0; min-height: var(--dsc-dropdown-item-size); padding: var(--dsc-dropdown-item-padding); From 7f45aad5fe6fac33924beb21363257ce6f5e4df6 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:34:30 +0200 Subject: [PATCH 03/12] added field-description variable --- .changeset/nice-queens-enter.md | 5 +++++ packages/css/src/field.css | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 .changeset/nice-queens-enter.md diff --git a/.changeset/nice-queens-enter.md b/.changeset/nice-queens-enter.md new file mode 100644 index 0000000000..4943bab3c5 --- /dev/null +++ b/.changeset/nice-queens-enter.md @@ -0,0 +1,5 @@ +--- +"@digdir/designsystemet-css": patch +--- + +**Field**: Added `--dsc-field-description-color`. diff --git a/packages/css/src/field.css b/packages/css/src/field.css index f0fe12a1d5..4b13d87d7d 100644 --- a/packages/css/src/field.css +++ b/packages/css/src/field.css @@ -2,6 +2,7 @@ --dsc-field-content-spacing: var(--ds-size-2); --dsc-field-counter-over: '%d tegn for mye'; --dsc-field-counter-under: '%d tegn igjen'; + --dsc-field-description-color: var(--ds-color-neutral-text-subtle); @composes ds-print-preserve from './base.css'; @@ -14,9 +15,7 @@ } & [data-field='description'] { - color: var( - --ds-color-neutral-text-subtle - ); /* TODO: Change to opacity or color-mix(currentColor, transparent) to ensure contrast when parent element color changes? */ + color: var(--dsc-field-description-color); margin-top: 0; /* Line-height removes the need for this */ margin-block: 0; } @@ -185,11 +184,13 @@ --dsc-field-affix-border-style: solid; --dsc-field-affix-border-color: var(--ds-color-neutral-border-default); --dsc-field-affix-padding-inline: var(--ds-size-4); + --dsc-field-affix-background: var(--ds-color-neutral-surface-tinted); + --dsc-field-affix-color: var(--ds-color-neutral-text-subtle); - background: var(--ds-color-neutral-surface-tinted); + background: var(--dsc-field-affix-background); border-radius: var(--ds-border-radius-md); box-sizing: border-box; - color: var(--ds-color-neutral-text-subtle); + color: var(--dsc-field-affix-color); max-width: 100%; white-space: nowrap; From e91613de83f05a6fde62d83eceb55624d394a8f6 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:35:18 +0200 Subject: [PATCH 04/12] fieldset variable --- .changeset/petite-falcons-stick.md | 5 +++++ packages/css/src/fieldset.css | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 .changeset/petite-falcons-stick.md diff --git a/.changeset/petite-falcons-stick.md b/.changeset/petite-falcons-stick.md new file mode 100644 index 0000000000..ad280ed1f5 --- /dev/null +++ b/.changeset/petite-falcons-stick.md @@ -0,0 +1,5 @@ +--- +"@digdir/designsystemet-css": patch +--- + +**Fieldset**: Added `--dsc-fieldset-description-color`. diff --git a/packages/css/src/fieldset.css b/packages/css/src/fieldset.css index 75db7ad593..8551288dfd 100644 --- a/packages/css/src/fieldset.css +++ b/packages/css/src/fieldset.css @@ -1,6 +1,7 @@ .ds-fieldset { --dsc-fieldset-gap: var(--ds-size-4); --_dsc-fieldset-gap--half: calc(var(--dsc-fieldset-gap) / 2); + --dsc-fieldset-description-color: var(--ds-color-neutral-text-subtle); border: 0; margin: 0; @@ -23,15 +24,15 @@ & > legend + p /* Kept for backwards compatibility */, & > [data-field='description'] { - color: var(--ds-color-neutral-text-subtle); + color: var(--dsc-fieldset-description-color); } - & > legend + p /* Kept for backawrds compatibility */, + & > legend + p /* Kept for backwards compatibility */, & > legend + [data-field='description'] { margin-block-start: 0; /* Reset margin for description after legend */ } &:disabled > legend, - &:disabled > legend + p /* Kept for backawrds compatibility */, + &:disabled > legend + p /* Kept for backwards compatibility */, &:disabled > [data-field='description'] { opacity: var(--ds-opacity-disabled); } From 2638e58cc76647f3f8b86720671e78caf90e15d7 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:35:56 +0200 Subject: [PATCH 05/12] suggestion variable --- .changeset/neat-rockets-build.md | 5 +++++ packages/css/src/suggestion.css | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/neat-rockets-build.md diff --git a/.changeset/neat-rockets-build.md b/.changeset/neat-rockets-build.md new file mode 100644 index 0000000000..814f1a2625 --- /dev/null +++ b/.changeset/neat-rockets-build.md @@ -0,0 +1,5 @@ +--- +"@digdir/designsystemet-css": patch +--- + +**Suggestion**: Added `--dsc-suggestion-option-checkmark-border-color`. diff --git a/packages/css/src/suggestion.css b/packages/css/src/suggestion.css index 8f9574dd69..ea321b8aec 100644 --- a/packages/css/src/suggestion.css +++ b/packages/css/src/suggestion.css @@ -188,6 +188,7 @@ [data-multiple] & { & > u-option:not([data-empty]) { --dsc-suggestion-option-checkmark-border: max(2px, 0.125rem); + --dsc-suggestion-option-checkmark-border-color: var(--ds-color-neutral-border-default); padding-inline-start: calc(var(--dsc-suggestion-option-padding) + var(--dsc-suggestion-option-checkmark-size) + var(--dsc-suggestion-option-gap)); /*mock checkbox styles copied from input.css*/ @@ -199,7 +200,7 @@ width: var(--dsc-suggestion-option-checkmark-size); height: var(--dsc-suggestion-option-checkmark-size); border-radius: var(--ds-border-radius-sm); - outline: var(--dsc-suggestion-option-checkmark-border) solid var(--ds-color-neutral-border-default); + outline: var(--dsc-suggestion-option-checkmark-border) solid var(--dsc-suggestion-option-checkmark-border-color); outline-offset: calc(-1 * var(--dsc-suggestion-option-checkmark-border)); padding: 0.188rem; box-sizing: border-box; From b04d70b606e11c3992c4ae9eb4bd8faecca80a61 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 11:43:18 +0200 Subject: [PATCH 06/12] make v2 import singular --- packages/css/package.json | 2 +- packages/css/src/_v2-index.css | 2 ++ packages/css/src/{_v2.css => _v2-overrides.css} | 0 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 packages/css/src/_v2-index.css rename packages/css/src/{_v2.css => _v2-overrides.css} (100%) diff --git a/packages/css/package.json b/packages/css/package.json index 53f995d56d..c5569dd3ea 100644 --- a/packages/css/package.json +++ b/packages/css/package.json @@ -22,7 +22,7 @@ "default": "./dist/src/index.css" }, "./*": "./dist/src/*", - "./v2": "./dist/src/_v2.css" + "./v2": "./dist/src/_v2-index.css" }, "files": [ "./types.d.ts", diff --git a/packages/css/src/_v2-index.css b/packages/css/src/_v2-index.css new file mode 100644 index 0000000000..fd8219eae7 --- /dev/null +++ b/packages/css/src/_v2-index.css @@ -0,0 +1,2 @@ +@import url('./index.css'); +@import url('./_v2-overrides.css'); diff --git a/packages/css/src/_v2.css b/packages/css/src/_v2-overrides.css similarity index 100% rename from packages/css/src/_v2.css rename to packages/css/src/_v2-overrides.css From 1e2174cc5332fe8f285d7969ffd23aaab56b0412 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:15:09 +0200 Subject: [PATCH 07/12] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- packages/css/src/_v2-overrides.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/css/src/_v2-overrides.css b/packages/css/src/_v2-overrides.css index c979953380..5df8a2c205 100644 --- a/packages/css/src/_v2-overrides.css +++ b/packages/css/src/_v2-overrides.css @@ -70,8 +70,10 @@ /** Change from neutral to color */ --dsc-suggestion-list-background: var(--ds-color-surface-default); --dsc-suggestion-border-color: var(--ds-color-border-subtle); - & u-datalist [data-multiple] & > u-option:not([data-empty]) { - --dsc-suggestion-option-checkmark-border-color: var(--ds-color-border-default); + & u-datalist { + [data-multiple] & > u-option:not([data-empty]) { + --dsc-suggestion-option-checkmark-border-color: var(--ds-color-border-default); + } } } From 883685fd768bd0fb3823de5f76d48ed8fa1baebe Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:16:43 +0200 Subject: [PATCH 08/12] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .changeset/neat-rockets-build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/neat-rockets-build.md b/.changeset/neat-rockets-build.md index 814f1a2625..bc2c136424 100644 --- a/.changeset/neat-rockets-build.md +++ b/.changeset/neat-rockets-build.md @@ -2,4 +2,4 @@ "@digdir/designsystemet-css": patch --- -**Suggestion**: Added `--dsc-suggestion-option-checkmark-border-color`. +**Suggestion**: Added `--dsc-suggestion-option-checkmark-border-color`. From 0dec1917e7ec9f4291368594f3110c54cfcc13d0 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:16:11 +0200 Subject: [PATCH 09/12] fixes --- packages/css/src/_v2-overrides.css | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/css/src/_v2-overrides.css b/packages/css/src/_v2-overrides.css index 5df8a2c205..fe89bf9375 100644 --- a/packages/css/src/_v2-overrides.css +++ b/packages/css/src/_v2-overrides.css @@ -6,6 +6,12 @@ * - .ds-togglegroup: No overrides added as the component is being removed in the next major version. * - */ +[data-color-scheme], +body { + /** Change from neutral to color */ + background: var(--ds-color-background-default); + color: var(--ds-color-text-default); +} .ds-dialog { /** Change from neutral to color */ @@ -84,7 +90,7 @@ --dsc-tabs-list-border-color: var(--ds-color-border-subtle); } -.ds-tooltipe { +.ds-tooltip { /** Change from neutral to color */ --dsc-tooltip-background: var(--ds-color-text-default); --dsc-tooltip-color: var(--ds-color-background-default); From 36a05ca41a99ceb0f1c3353c0e6064d5b1dab39b Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:36:31 +0200 Subject: [PATCH 10/12] moved v2 place --- packages/css/package.json | 4 ++-- packages/css/src/_v2-index.css | 2 -- packages/css/src/v2/README.md | 3 +++ packages/css/src/v2/index.css | 2 ++ packages/css/src/{_v2-overrides.css => v2/overrides.css} | 0 5 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 packages/css/src/_v2-index.css create mode 100644 packages/css/src/v2/README.md create mode 100644 packages/css/src/v2/index.css rename packages/css/src/{_v2-overrides.css => v2/overrides.css} (100%) diff --git a/packages/css/package.json b/packages/css/package.json index c5569dd3ea..54e0cf873e 100644 --- a/packages/css/package.json +++ b/packages/css/package.json @@ -22,7 +22,7 @@ "default": "./dist/src/index.css" }, "./*": "./dist/src/*", - "./v2": "./dist/src/_v2-index.css" + "./v2": "./dist/src/v2/index.css" }, "files": [ "./types.d.ts", @@ -46,7 +46,7 @@ "digdir" ], "scripts": { - "build": "rimraf dist && pnpm build:theme && postcss ./src/*.css --base . --dir ./dist && postcss ./theme/*.css --dir ./dist/theme", + "build": "rimraf dist && pnpm build:theme && postcss ./src/*.css --base . --dir ./dist && postcss ./theme/*.css --dir ./dist/theme && postcss ./src/v2/*.css --dir ./dist/src/v2", "build:theme": "tsx ../cli/bin/designsystemet.ts tokens build -t ../../design-tokens -o ./theme --experimental-tailwind" }, "dependencies": { diff --git a/packages/css/src/_v2-index.css b/packages/css/src/_v2-index.css deleted file mode 100644 index fd8219eae7..0000000000 --- a/packages/css/src/_v2-index.css +++ /dev/null @@ -1,2 +0,0 @@ -@import url('./index.css'); -@import url('./_v2-overrides.css'); diff --git a/packages/css/src/v2/README.md b/packages/css/src/v2/README.md new file mode 100644 index 0000000000..e6fdb4a1ee --- /dev/null +++ b/packages/css/src/v2/README.md @@ -0,0 +1,3 @@ +⚠️ Use at your own risk ⚠️ + +These are experimental changes for next major version and not finalized. \ No newline at end of file diff --git a/packages/css/src/v2/index.css b/packages/css/src/v2/index.css new file mode 100644 index 0000000000..d88bced7af --- /dev/null +++ b/packages/css/src/v2/index.css @@ -0,0 +1,2 @@ +@import url('../index.css'); +@import url('./overrides.css'); diff --git a/packages/css/src/_v2-overrides.css b/packages/css/src/v2/overrides.css similarity index 100% rename from packages/css/src/_v2-overrides.css rename to packages/css/src/v2/overrides.css From 3a448b2bb4ef093a8369cefbfacfc480ea2cc978 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:48:50 +0200 Subject: [PATCH 11/12] v2 storybook --- apps/storybook/.storybook/manager.ts | 2 +- apps/storybook/.storybook/preview.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/storybook/.storybook/manager.ts b/apps/storybook/.storybook/manager.ts index 01736f4038..2e38e3db12 100644 --- a/apps/storybook/.storybook/manager.ts +++ b/apps/storybook/.storybook/manager.ts @@ -1,6 +1,6 @@ import { addons } from 'storybook/manager-api'; import customTheme from './customThemeLight'; -import '@digdir/designsystemet-css'; +import '@digdir/designsystemet-css/v2'; import '@digdir/designsystemet-css/theme.css'; addons.setConfig({ diff --git a/apps/storybook/.storybook/preview.tsx b/apps/storybook/.storybook/preview.tsx index 5ec018a790..d50315240f 100644 --- a/apps/storybook/.storybook/preview.tsx +++ b/apps/storybook/.storybook/preview.tsx @@ -1,6 +1,6 @@ import './style.css'; /* We use relative imports to get HMR updates when developing */ -import '../../../packages/css/src/index.css'; +import '../../../packages/css/src/v2/index.css'; import '../../../packages/css/theme/designsystemet.css'; import { DocsContainer } from '@storybook/addon-docs/blocks'; From b19cecf36e38fb97af4c14cd2e64cbc90ab2aee0 Mon Sep 17 00:00:00 2001 From: Michael Marszalek Date: Tue, 19 May 2026 12:53:03 +0200 Subject: [PATCH 12/12] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .changeset/nice-queens-enter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/nice-queens-enter.md b/.changeset/nice-queens-enter.md index 4943bab3c5..0ba0afb900 100644 --- a/.changeset/nice-queens-enter.md +++ b/.changeset/nice-queens-enter.md @@ -2,4 +2,4 @@ "@digdir/designsystemet-css": patch --- -**Field**: Added `--dsc-field-description-color`. +**Field**: Added `--dsc-field-description-color`, `--dsc-field-affix-background`, and `--dsc-field-affix-color`.