@equinor/eds-core-react 2.4.1-beta.0 → 2.5.0-beta.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.
Files changed (28) hide show
  1. package/build/index.css +841 -80
  2. package/build/index.min.css +1 -1
  3. package/dist/eds-core-react.cjs +0 -6
  4. package/dist/esm/components/Autocomplete/useAutocomplete.js +0 -1
  5. package/dist/esm/components/Banner/Banner.tokens.js +0 -1
  6. package/dist/esm/components/Icon/Icon.js +0 -2
  7. package/dist/esm/components/Pagination/Pagination.js +0 -1
  8. package/dist/esm/components/Tabs/Tabs.js +0 -1
  9. package/dist/esm-next/components/next/Button/Button.js +51 -23
  10. package/dist/esm-next/components/next/Chip/Chip.js +77 -0
  11. package/dist/esm-next/index.next.js +1 -0
  12. package/dist/index.next.cjs +224 -125
  13. package/dist/types/components/Autocomplete/Autocomplete.d.ts +11 -2
  14. package/dist/types/components/Autocomplete/AutocompleteContext.d.ts +2 -2
  15. package/dist/types/components/Autocomplete/Option.d.ts +5 -3
  16. package/dist/types/components/Autocomplete/useAutocomplete.d.ts +1 -1
  17. package/dist/types/components/Chip/Icon.d.ts +18 -2
  18. package/dist/types/components/Datepicker/calendars/CalendarWrapper.d.ts +1 -1
  19. package/dist/types/components/Switch/Switch.styles.d.ts +3 -3
  20. package/dist/types/components/Typography/Typography.stories.shared.d.ts +18 -16
  21. package/dist/types/components/next/Button/Button.d.ts +4 -1
  22. package/dist/types/components/next/Button/Button.types.d.ts +12 -0
  23. package/dist/types/components/next/Chip/Chip.d.ts +8 -0
  24. package/dist/types/components/next/Chip/Chip.figma.d.ts +1 -0
  25. package/dist/types/components/next/Chip/Chip.types.d.ts +68 -0
  26. package/dist/types/components/next/Chip/index.d.ts +2 -0
  27. package/dist/types/components/next/index.d.ts +2 -0
  28. package/package.json +14 -13
package/build/index.css CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
- @layer eds-components;
2
+ @layer eds-elements, eds-components;
3
3
  /* EDS 2.0 Next Components - CSS */
4
4
  /* Define layer order - eds-components has lowest priority for easy user overrides */
5
5
  /*
6
- * Font loading:
6
+ * Font import:
7
7
  * Next components use two font families:
8
8
  * - "Inter" for UI text (buttons, inputs, labels, etc.)
9
9
  * - "Equinor" for headings
@@ -16,7 +16,7 @@
16
16
  */
17
17
  :root,[data-color-scheme=light]{color-scheme:light}
18
18
  [data-color-scheme=dark]{color-scheme:dark}
19
- :root{--eds-color-bg-floating:light-dark(#fff,#202223);--eds-color-bg-backdrop:light-dark(#aeaeae,#738696);--eds-color-bg-input:light-dark(#f5f5f5,#0b0b0b);--eds-color-border-focus:light-dark(#6fb6e9,#2d8bc5);--eds-color-text-link:light-dark(#0070a9,#5abbfb);--eds-color-bg-disabled:light-dark(#e1e1e1,#525c65);--eds-color-border-disabled:light-dark(#aeaeae,#738696);--eds-color-text-disabled:light-dark(#aeaeae,#738696);--eds-color-accent-1:light-dark(#eaf8fa,#0a0b0b);--eds-color-accent-2:light-dark(#f6ffff,#1e2323);--eds-color-accent-3:light-dark(#cfe7e9,#3c6266);--eds-color-accent-4:light-dark(#bbdbdf,#3e7378);--eds-color-accent-5:light-dark(#a2cdd2,#41878e);--eds-color-accent-6:light-dark(#bbdbdf,#3c6266);--eds-color-accent-7:light-dark(#7cbac1,#439199);--eds-color-accent-8:light-dark(#21767e,#6ec0c9);--eds-color-accent-9:light-dark(#206f77,#8cd2da);--eds-color-accent-10:light-dark(#205c62,#ace3e9);--eds-color-accent-11:light-dark(#20565c,#c7f1f6);--eds-color-accent-12:light-dark(#1f6369,#bcebf1);--eds-color-accent-13:light-dark(#141f20,#e6ffff);--eds-color-accent-14:light-dark(#cae4e7,#2c3839);--eds-color-accent-15:light-dark(#fff,#030303);--eds-color-neutral-1:light-dark(#f5f5f5,#0b0b0b);--eds-color-neutral-2:light-dark(#fff,#202223);--eds-color-neutral-3:light-dark(#e1e1e1,#525c65);--eds-color-neutral-4:light-dark(#d4d4d4,#5d6b76);--eds-color-neutral-5:light-dark(#c4c4c4,#6b7d8b);--eds-color-neutral-6:light-dark(#d4d4d4,#525c65);--eds-color-neutral-7:light-dark(#aeaeae,#738696);--eds-color-neutral-8:light-dark(#696969,#9fb4c6);--eds-color-neutral-9:light-dark(#636363,#b4c7d7);--eds-color-neutral-10:light-dark(#525252,#cadae7);--eds-color-neutral-11:light-dark(#4d4d4d,#deeaf4);--eds-color-neutral-12:light-dark(#585858,#d6e3ee);--eds-color-neutral-13:light-dark(#1d1d1d,#f5fdff);--eds-color-neutral-14:light-dark(#dedede,#333639);--eds-color-neutral-15:light-dark(#fff,#030303);--eds-color-info-1:light-dark(#e7f8ff,#0a0b0c);--eds-color-info-2:light-dark(#f4ffff,#1d2226);--eds-color-info-3:light-dark(#cae6fa,#33607e);--eds-color-info-4:light-dark(#b5daf5,#316f98);--eds-color-info-5:light-dark(#99cbf0,#2e82b7);--eds-color-info-6:light-dark(#b5daf5,#33607e);--eds-color-info-7:light-dark(#6fb6e9,#2d8bc5);--eds-color-info-8:light-dark(#0070a9,#5abbfb);--eds-color-info-9:light-dark(#006aa0,#7dceff);--eds-color-info-10:light-dark(#085883,#a2e0ff);--eds-color-info-11:light-dark(#0e5279,#c4eeff);--eds-color-info-12:light-dark(#015e8d,#b7e8ff);--eds-color-info-13:light-dark(#121e27,#ecffff);--eds-color-info-14:light-dark(#c5e3f9,#2a3741);--eds-color-info-15:light-dark(#fff,#030304);--eds-color-success-1:light-dark(#eafbe8,#0a0c0a);--eds-color-success-2:light-dark(#f6fff5,#1e231e);--eds-color-success-3:light-dark(#cfeacc,#3c673a);--eds-color-success-4:light-dark(#bbe0b8,#3e793c);--eds-color-success-5:light-dark(#a2d49e,#418e3e);--eds-color-success-6:light-dark(#bbe0b8,#3c673a);--eds-color-success-7:light-dark(#7cc278,#439941);--eds-color-success-8:light-dark(#227e22,#6eca6a);--eds-color-success-9:light-dark(#207720,#8cdb87);--eds-color-success-10:light-dark(#20621f,#aceba8);--eds-color-success-11:light-dark(#215c1f,#c7f7c3);--eds-color-success-12:light-dark(#20691f,#bcf2b8);--eds-color-success-13:light-dark(#142114,#e6ffe3);--eds-color-success-14:light-dark(#cae8c7,#2c392b);--eds-color-success-15:light-dark(#fff,#030303);--eds-color-warning-1:light-dark(#fff1e2,#0c0b0a);--eds-color-warning-2:light-dark(#fffcf0,#27201b);--eds-color-warning-3:light-dark(#fbdac1,#7e4e25);--eds-color-warning-4:light-dark(#f6caaa,#97571b);--eds-color-warning-5:light-dark(#f0b689,#b46201);--eds-color-warning-6:light-dark(#f6caaa,#7e4e25);--eds-color-warning-7:light-dark(#e89959,#c36800);--eds-color-warning-8:light-dark(#a34e00,#f99539);--eds-color-warning-9:light-dark(#9b4900,#ffad63);--eds-color-warning-10:light-dark(#813e00,#ffc791);--eds-color-warning-11:light-dark(#773a00,#ffddb9);--eds-color-warning-12:light-dark(#8a4100,#ffd4aa);--eds-color-warning-13:light-dark(#27190e,#fff7e6);--eds-color-warning-14:light-dark(#fad6bc,#413226);--eds-color-warning-15:light-dark(#fff,#040303);--eds-color-danger-1:light-dark(#ffecea,#0d0a0a);--eds-color-danger-2:light-dark(#fff9f8,#2a1e1e);--eds-color-danger-3:light-dark(#ffd0ce,#923a3c);--eds-color-danger-4:light-dark(#ffbcba,#b03940);--eds-color-danger-5:light-dark(#ffa3a1,#d43745);--eds-color-danger-6:light-dark(#ffbcba,#923a3c);--eds-color-danger-7:light-dark(#ff7a7d,#e53748);--eds-color-danger-8:light-dark(#c6002d,#ff8082);--eds-color-danger-9:light-dark(#bc002a,#ffa3a1);--eds-color-danger-10:light-dark(#9a1026,#ffc1bf);--eds-color-danger-11:light-dark(#8e1525,#ffd9d7);--eds-color-danger-12:light-dark(#a50827,#ffd0ce);--eds-color-danger-13:light-dark(#2e1414,#fff5f4);--eds-color-danger-14:light-dark(#ffcbc9,#492d2c);--eds-color-danger-15:light-dark(#fff,#040303);--eds-color-bg-neutral-canvas:var(--eds-color-neutral-1);--eds-color-bg-neutral-surface:var(--eds-color-neutral-2);--eds-color-bg-neutral-fill-muted-default:var(--eds-color-neutral-3);--eds-color-bg-neutral-fill-muted-hover:var(--eds-color-neutral-4);--eds-color-bg-neutral-fill-muted-active:var(--eds-color-neutral-5);--eds-color-bg-neutral-fill-emphasis-default:var(--eds-color-neutral-9);--eds-color-bg-neutral-fill-emphasis-hover:var(--eds-color-neutral-10);--eds-color-bg-neutral-fill-emphasis-active:var(--eds-color-neutral-11);--eds-color-bg-accent-canvas:var(--eds-color-accent-1);--eds-color-bg-accent-surface:var(--eds-color-accent-2);--eds-color-bg-accent-fill-muted-default:var(--eds-color-accent-3);--eds-color-bg-accent-fill-muted-hover:var(--eds-color-accent-4);--eds-color-bg-accent-fill-muted-active:var(--eds-color-accent-5);--eds-color-bg-accent-fill-emphasis-default:var(--eds-color-accent-9);--eds-color-bg-accent-fill-emphasis-hover:var(--eds-color-accent-10);--eds-color-bg-accent-fill-emphasis-active:var(--eds-color-accent-11);--eds-color-bg-success-canvas:var(--eds-color-success-1);--eds-color-bg-success-surface:var(--eds-color-success-2);--eds-color-bg-success-fill-muted-default:var(--eds-color-success-3);--eds-color-bg-success-fill-muted-hover:var(--eds-color-success-4);--eds-color-bg-success-fill-muted-active:var(--eds-color-success-5);--eds-color-bg-success-fill-emphasis-default:var(--eds-color-success-9);--eds-color-bg-success-fill-emphasis-hover:var(--eds-color-success-10);--eds-color-bg-success-fill-emphasis-active:var(--eds-color-success-11);--eds-color-bg-info-canvas:var(--eds-color-info-1);--eds-color-bg-info-surface:var(--eds-color-info-2);--eds-color-bg-info-fill-muted-default:var(--eds-color-info-3);--eds-color-bg-info-fill-muted-hover:var(--eds-color-info-4);--eds-color-bg-info-fill-muted-active:var(--eds-color-info-5);--eds-color-bg-info-fill-emphasis-default:var(--eds-color-info-9);--eds-color-bg-info-fill-emphasis-hover:var(--eds-color-info-10);--eds-color-bg-info-fill-emphasis-active:var(--eds-color-info-11);--eds-color-bg-warning-canvas:var(--eds-color-warning-1);--eds-color-bg-warning-surface:var(--eds-color-warning-2);--eds-color-bg-warning-fill-muted-default:var(--eds-color-warning-3);--eds-color-bg-warning-fill-muted-hover:var(--eds-color-warning-4);--eds-color-bg-warning-fill-muted-active:var(--eds-color-warning-5);--eds-color-bg-warning-fill-emphasis-default:var(--eds-color-warning-9);--eds-color-bg-warning-fill-emphasis-hover:var(--eds-color-warning-10);--eds-color-bg-warning-fill-emphasis-active:var(--eds-color-warning-11);--eds-color-bg-danger-canvas:var(--eds-color-danger-1);--eds-color-bg-danger-surface:var(--eds-color-danger-2);--eds-color-bg-danger-fill-muted-default:var(--eds-color-danger-3);--eds-color-bg-danger-fill-muted-hover:var(--eds-color-danger-4);--eds-color-bg-danger-fill-muted-active:var(--eds-color-danger-5);--eds-color-bg-danger-fill-emphasis-default:var(--eds-color-danger-9);--eds-color-bg-danger-fill-emphasis-hover:var(--eds-color-danger-10);--eds-color-bg-danger-fill-emphasis-active:var(--eds-color-danger-11);--eds-color-border-neutral-subtle:var(--eds-color-neutral-6);--eds-color-border-neutral-medium:var(--eds-color-neutral-7);--eds-color-border-neutral-strong:var(--eds-color-neutral-8);--eds-color-border-accent-subtle:var(--eds-color-accent-6);--eds-color-border-accent-medium:var(--eds-color-accent-7);--eds-color-border-accent-strong:var(--eds-color-accent-8);--eds-color-border-success-subtle:var(--eds-color-success-6);--eds-color-border-success-medium:var(--eds-color-success-7);--eds-color-border-success-strong:var(--eds-color-success-8);--eds-color-border-info-subtle:var(--eds-color-info-6);--eds-color-border-info-medium:var(--eds-color-info-7);--eds-color-border-info-strong:var(--eds-color-info-8);--eds-color-border-warning-subtle:var(--eds-color-warning-6);--eds-color-border-warning-medium:var(--eds-color-warning-7);--eds-color-border-warning-strong:var(--eds-color-warning-8);--eds-color-border-danger-subtle:var(--eds-color-danger-6);--eds-color-border-danger-medium:var(--eds-color-danger-7);--eds-color-border-danger-strong:var(--eds-color-danger-8);--eds-color-text-neutral-subtle:var(--eds-color-neutral-12);--eds-color-text-neutral-strong:var(--eds-color-neutral-13);--eds-color-text-neutral-subtle-on-emphasis:var(--eds-color-neutral-14);--eds-color-text-neutral-strong-on-emphasis:var(--eds-color-neutral-15);--eds-color-text-accent-subtle:var(--eds-color-accent-12);--eds-color-text-accent-strong:var(--eds-color-accent-13);--eds-color-text-accent-subtle-on-emphasis:var(--eds-color-accent-14);--eds-color-text-accent-strong-on-emphasis:var(--eds-color-accent-15);--eds-color-text-success-subtle:var(--eds-color-success-12);--eds-color-text-success-strong:var(--eds-color-success-13);--eds-color-text-success-subtle-on-emphasis:var(--eds-color-success-14);--eds-color-text-success-strong-on-emphasis:var(--eds-color-success-15);--eds-color-text-info-subtle:var(--eds-color-info-12);--eds-color-text-info-strong:var(--eds-color-info-13);--eds-color-text-info-subtle-on-emphasis:var(--eds-color-info-14);--eds-color-text-info-strong-on-emphasis:var(--eds-color-info-15);--eds-color-text-warning-subtle:var(--eds-color-warning-12);--eds-color-text-warning-strong:var(--eds-color-warning-13);--eds-color-text-warning-subtle-on-emphasis:var(--eds-color-warning-14);--eds-color-text-warning-strong-on-emphasis:var(--eds-color-warning-15);--eds-color-text-danger-subtle:var(--eds-color-danger-12);--eds-color-text-danger-strong:var(--eds-color-danger-13);--eds-color-text-danger-subtle-on-emphasis:var(--eds-color-danger-14);--eds-color-text-danger-strong-on-emphasis:var(--eds-color-danger-15)}
19
+ :root{--eds-color-bg-floating:light-dark(#fff,#202223);--eds-color-bg-backdrop:light-dark(#aeaeae,#738696);--eds-color-bg-input:light-dark(#f5f5f5,#0b0b0b);--eds-color-border-focus:light-dark(#6fb6e9,#2d8bc5);--eds-color-text-link:light-dark(#0070a9,#5abbfb);--eds-color-bg-disabled:light-dark(#e1e1e1,#525c65);--eds-color-border-disabled:light-dark(#aeaeae,#738696);--eds-color-text-disabled:light-dark(#aeaeae,#738696);--eds-color-accent-1:light-dark(#eaf8fa,#0a0b0b);--eds-color-accent-2:light-dark(#f6ffff,#1e2323);--eds-color-accent-3:light-dark(#cfe7e9,#3c6266);--eds-color-accent-4:light-dark(#bbdbdf,#3e7378);--eds-color-accent-5:light-dark(#a2cdd2,#41878e);--eds-color-accent-6:light-dark(#bbdbdf,#3c6266);--eds-color-accent-7:light-dark(#7cbac1,#439199);--eds-color-accent-8:light-dark(#21767e,#6ec0c9);--eds-color-accent-9:light-dark(#206f77,#8cd2da);--eds-color-accent-10:light-dark(#205c62,#ace3e9);--eds-color-accent-11:light-dark(#20565c,#c7f1f6);--eds-color-accent-12:light-dark(#1f6369,#bcebf1);--eds-color-accent-13:light-dark(#141f20,#e6ffff);--eds-color-accent-14:light-dark(#cae4e7,#2c3839);--eds-color-accent-15:light-dark(#fff,#030303);--eds-color-neutral-1:light-dark(#f5f5f5,#0b0b0b);--eds-color-neutral-2:light-dark(#fff,#202223);--eds-color-neutral-3:light-dark(#e1e1e1,#525c65);--eds-color-neutral-4:light-dark(#d4d4d4,#5d6b76);--eds-color-neutral-5:light-dark(#c4c4c4,#6b7d8b);--eds-color-neutral-6:light-dark(#d4d4d4,#525c65);--eds-color-neutral-7:light-dark(#aeaeae,#738696);--eds-color-neutral-8:light-dark(#696969,#9fb4c6);--eds-color-neutral-9:light-dark(#636363,#b4c7d7);--eds-color-neutral-10:light-dark(#525252,#cadae7);--eds-color-neutral-11:light-dark(#4d4d4d,#deeaf4);--eds-color-neutral-12:light-dark(#585858,#d6e3ee);--eds-color-neutral-13:light-dark(#1d1d1d,#f5fdff);--eds-color-neutral-14:light-dark(#dedede,#333639);--eds-color-neutral-15:light-dark(#fff,#030303);--eds-color-info-1:light-dark(#e7f8ff,#0a0b0c);--eds-color-info-2:light-dark(#f4ffff,#1d2226);--eds-color-info-3:light-dark(#cae6fa,#33607e);--eds-color-info-4:light-dark(#b5daf5,#316f98);--eds-color-info-5:light-dark(#99cbf0,#2e82b7);--eds-color-info-6:light-dark(#b5daf5,#33607e);--eds-color-info-7:light-dark(#6fb6e9,#2d8bc5);--eds-color-info-8:light-dark(#0070a9,#5abbfb);--eds-color-info-9:light-dark(#006aa0,#7dceff);--eds-color-info-10:light-dark(#085883,#a2e0ff);--eds-color-info-11:light-dark(#0e5279,#c4eeff);--eds-color-info-12:light-dark(#015e8d,#b7e8ff);--eds-color-info-13:light-dark(#121e27,#ecffff);--eds-color-info-14:light-dark(#c5e3f9,#2a3741);--eds-color-info-15:light-dark(#fff,#030304);--eds-color-success-1:light-dark(#eafbe8,#0a0c0a);--eds-color-success-2:light-dark(#f6fff5,#1e231e);--eds-color-success-3:light-dark(#cfeacc,#3c673a);--eds-color-success-4:light-dark(#bbe0b8,#3e793c);--eds-color-success-5:light-dark(#a2d49e,#418e3e);--eds-color-success-6:light-dark(#bbe0b8,#3c673a);--eds-color-success-7:light-dark(#7cc278,#439941);--eds-color-success-8:light-dark(#227e22,#6eca6a);--eds-color-success-9:light-dark(#207720,#8cdb87);--eds-color-success-10:light-dark(#20621f,#aceba8);--eds-color-success-11:light-dark(#215c1f,#c7f7c3);--eds-color-success-12:light-dark(#20691f,#bcf2b8);--eds-color-success-13:light-dark(#142114,#e6ffe3);--eds-color-success-14:light-dark(#cae8c7,#2c392b);--eds-color-success-15:light-dark(#fff,#030303);--eds-color-warning-1:light-dark(#fff1e2,#0c0b0a);--eds-color-warning-2:light-dark(#fffcf0,#27201b);--eds-color-warning-3:light-dark(#fbdac1,#7e4e25);--eds-color-warning-4:light-dark(#f6caaa,#97571b);--eds-color-warning-5:light-dark(#f0b689,#b46201);--eds-color-warning-6:light-dark(#f6caaa,#7e4e25);--eds-color-warning-7:light-dark(#e89959,#c36800);--eds-color-warning-8:light-dark(#a34e00,#f99539);--eds-color-warning-9:light-dark(#9b4900,#ffad63);--eds-color-warning-10:light-dark(#813e00,#ffc791);--eds-color-warning-11:light-dark(#773a00,#ffddb9);--eds-color-warning-12:light-dark(#8a4100,#ffd4aa);--eds-color-warning-13:light-dark(#27190e,#fff7e6);--eds-color-warning-14:light-dark(#fad6bc,#413226);--eds-color-warning-15:light-dark(#fff,#040303);--eds-color-danger-1:light-dark(#ffecea,#0d0a0a);--eds-color-danger-2:light-dark(#fff9f8,#2a1e1e);--eds-color-danger-3:light-dark(#ffd0ce,#923a3c);--eds-color-danger-4:light-dark(#ffbcba,#b03940);--eds-color-danger-5:light-dark(#ffa3a1,#d43745);--eds-color-danger-6:light-dark(#ffbcba,#923a3c);--eds-color-danger-7:light-dark(#ff7a7d,#e53748);--eds-color-danger-8:light-dark(#c6002d,#ff8082);--eds-color-danger-9:light-dark(#bc002a,#ffa3a1);--eds-color-danger-10:light-dark(#9a1026,#ffc1bf);--eds-color-danger-11:light-dark(#8e1525,#ffd9d7);--eds-color-danger-12:light-dark(#a50827,#ffd0ce);--eds-color-danger-13:light-dark(#2e1414,#fff5f4);--eds-color-danger-14:light-dark(#ffcbc9,#492d2c);--eds-color-danger-15:light-dark(#fff,#040303);--eds-color-bg-neutral-canvas:var(--eds-color-neutral-1);--eds-color-bg-neutral-surface:var(--eds-color-neutral-2);--eds-color-bg-neutral-fill-muted-default:var(--eds-color-neutral-3);--eds-color-bg-neutral-fill-muted-hover:var(--eds-color-neutral-4);--eds-color-bg-neutral-fill-muted-active:var(--eds-color-neutral-5);--eds-color-bg-neutral-fill-emphasis-default:var(--eds-color-neutral-9);--eds-color-bg-neutral-fill-emphasis-hover:var(--eds-color-neutral-10);--eds-color-bg-neutral-fill-emphasis-active:var(--eds-color-neutral-11);--eds-color-bg-accent-canvas:var(--eds-color-accent-1);--eds-color-bg-accent-surface:var(--eds-color-accent-2);--eds-color-bg-accent-fill-muted-default:var(--eds-color-accent-3);--eds-color-bg-accent-fill-muted-hover:var(--eds-color-accent-4);--eds-color-bg-accent-fill-muted-active:var(--eds-color-accent-5);--eds-color-bg-accent-fill-emphasis-default:var(--eds-color-accent-9);--eds-color-bg-accent-fill-emphasis-hover:var(--eds-color-accent-10);--eds-color-bg-accent-fill-emphasis-active:var(--eds-color-accent-11);--eds-color-bg-success-canvas:var(--eds-color-success-1);--eds-color-bg-success-surface:var(--eds-color-success-2);--eds-color-bg-success-fill-muted-default:var(--eds-color-success-3);--eds-color-bg-success-fill-muted-hover:var(--eds-color-success-4);--eds-color-bg-success-fill-muted-active:var(--eds-color-success-5);--eds-color-bg-success-fill-emphasis-default:var(--eds-color-success-9);--eds-color-bg-success-fill-emphasis-hover:var(--eds-color-success-10);--eds-color-bg-success-fill-emphasis-active:var(--eds-color-success-11);--eds-color-bg-info-canvas:var(--eds-color-info-1);--eds-color-bg-info-surface:var(--eds-color-info-2);--eds-color-bg-info-fill-muted-default:var(--eds-color-info-3);--eds-color-bg-info-fill-muted-hover:var(--eds-color-info-4);--eds-color-bg-info-fill-muted-active:var(--eds-color-info-5);--eds-color-bg-info-fill-emphasis-default:var(--eds-color-info-9);--eds-color-bg-info-fill-emphasis-hover:var(--eds-color-info-10);--eds-color-bg-info-fill-emphasis-active:var(--eds-color-info-11);--eds-color-bg-warning-canvas:var(--eds-color-warning-1);--eds-color-bg-warning-surface:var(--eds-color-warning-2);--eds-color-bg-warning-fill-muted-default:var(--eds-color-warning-3);--eds-color-bg-warning-fill-muted-hover:var(--eds-color-warning-4);--eds-color-bg-warning-fill-muted-active:var(--eds-color-warning-5);--eds-color-bg-warning-fill-emphasis-default:var(--eds-color-warning-9);--eds-color-bg-warning-fill-emphasis-hover:var(--eds-color-warning-10);--eds-color-bg-warning-fill-emphasis-active:var(--eds-color-warning-11);--eds-color-bg-danger-canvas:var(--eds-color-danger-1);--eds-color-bg-danger-surface:var(--eds-color-danger-2);--eds-color-bg-danger-fill-muted-default:var(--eds-color-danger-3);--eds-color-bg-danger-fill-muted-hover:var(--eds-color-danger-4);--eds-color-bg-danger-fill-muted-active:var(--eds-color-danger-5);--eds-color-bg-danger-fill-emphasis-default:var(--eds-color-danger-9);--eds-color-bg-danger-fill-emphasis-hover:var(--eds-color-danger-10);--eds-color-bg-danger-fill-emphasis-active:var(--eds-color-danger-11);--eds-color-border-neutral-subtle:var(--eds-color-neutral-6);--eds-color-border-neutral-medium:var(--eds-color-neutral-7);--eds-color-border-neutral-strong:var(--eds-color-neutral-8);--eds-color-border-accent-subtle:var(--eds-color-accent-6);--eds-color-border-accent-medium:var(--eds-color-accent-7);--eds-color-border-accent-strong:var(--eds-color-accent-8);--eds-color-border-success-subtle:var(--eds-color-success-6);--eds-color-border-success-medium:var(--eds-color-success-7);--eds-color-border-success-strong:var(--eds-color-success-8);--eds-color-border-info-subtle:var(--eds-color-info-6);--eds-color-border-info-medium:var(--eds-color-info-7);--eds-color-border-info-strong:var(--eds-color-info-8);--eds-color-border-warning-subtle:var(--eds-color-warning-6);--eds-color-border-warning-medium:var(--eds-color-warning-7);--eds-color-border-warning-strong:var(--eds-color-warning-8);--eds-color-border-danger-subtle:var(--eds-color-danger-6);--eds-color-border-danger-medium:var(--eds-color-danger-7);--eds-color-border-danger-strong:var(--eds-color-danger-8);--eds-color-text-neutral-subtle:var(--eds-color-neutral-12);--eds-color-text-neutral-strong:var(--eds-color-neutral-13);--eds-color-text-neutral-subtle-on-emphasis:var(--eds-color-neutral-14);--eds-color-text-neutral-strong-on-emphasis:var(--eds-color-neutral-15);--eds-color-text-accent-subtle:var(--eds-color-accent-12);--eds-color-text-accent-strong:var(--eds-color-accent-13);--eds-color-text-accent-subtle-on-emphasis:var(--eds-color-accent-14);--eds-color-text-accent-strong-on-emphasis:var(--eds-color-accent-15);--eds-color-text-success-subtle:var(--eds-color-success-12);--eds-color-text-success-strong:var(--eds-color-success-13);--eds-color-text-success-subtle-on-emphasis:var(--eds-color-success-14);--eds-color-text-success-strong-on-emphasis:var(--eds-color-success-15);--eds-color-text-info-subtle:var(--eds-color-info-12);--eds-color-text-info-strong:var(--eds-color-info-13);--eds-color-text-info-subtle-on-emphasis:var(--eds-color-info-14);--eds-color-text-info-strong-on-emphasis:var(--eds-color-info-15);--eds-color-text-warning-subtle:var(--eds-color-warning-12);--eds-color-text-warning-strong:var(--eds-color-warning-13);--eds-color-text-warning-subtle-on-emphasis:var(--eds-color-warning-14);--eds-color-text-warning-strong-on-emphasis:var(--eds-color-warning-15);--eds-color-text-danger-subtle:var(--eds-color-danger-12);--eds-color-text-danger-strong:var(--eds-color-danger-13);--eds-color-text-danger-subtle-on-emphasis:var(--eds-color-danger-14);--eds-color-text-danger-strong-on-emphasis:var(--eds-color-danger-15);--eds-elevation-low:0px 1px 8px 0px #0003, 0px 4px 8px 3px #0000001f;--eds-elevation-high:0px 4px 12px 0px #0003, 0px 12px 16px 6px #0000001f}
20
20
  :root,[data-color-appearance=neutral]{--eds-color-bg-fill-muted-default:var(--eds-color-neutral-3);--eds-color-bg-fill-muted-hover:var(--eds-color-neutral-4);--eds-color-bg-fill-muted-active:var(--eds-color-neutral-5);--eds-color-bg-fill-muted-disabled:var(--eds-color-neutral-3);--eds-color-bg-fill-emphasis-default:var(--eds-color-neutral-9);--eds-color-bg-fill-emphasis-hover:var(--eds-color-neutral-10);--eds-color-bg-fill-emphasis-active:var(--eds-color-neutral-11);--eds-color-bg-fill-emphasis-disabled:var(--eds-color-neutral-3);--eds-color-bg-canvas:var(--eds-color-neutral-1);--eds-color-bg-surface:var(--eds-color-neutral-2);--eds-color-border-subtle:var(--eds-color-neutral-6);--eds-color-border-medium:var(--eds-color-neutral-7);--eds-color-border-strong:var(--eds-color-neutral-8);--eds-color-border-disabled:var(--eds-color-neutral-7);--eds-color-text-subtle:var(--eds-color-neutral-12);--eds-color-text-strong:var(--eds-color-neutral-13);--eds-color-text-disabled:var(--eds-color-neutral-7);--eds-color-text-subtle-on-emphasis:var(--eds-color-neutral-14);--eds-color-text-strong-on-emphasis:var(--eds-color-neutral-15)}
21
21
  [data-color-appearance=accent]{--eds-color-bg-fill-muted-default:var(--eds-color-accent-3);--eds-color-bg-fill-muted-hover:var(--eds-color-accent-4);--eds-color-bg-fill-muted-active:var(--eds-color-accent-5);--eds-color-bg-fill-muted-disabled:var(--eds-color-accent-3);--eds-color-bg-fill-emphasis-default:var(--eds-color-accent-9);--eds-color-bg-fill-emphasis-hover:var(--eds-color-accent-10);--eds-color-bg-fill-emphasis-active:var(--eds-color-accent-11);--eds-color-bg-fill-emphasis-disabled:var(--eds-color-accent-3);--eds-color-bg-canvas:var(--eds-color-accent-1);--eds-color-bg-surface:var(--eds-color-accent-2);--eds-color-border-subtle:var(--eds-color-accent-6);--eds-color-border-medium:var(--eds-color-accent-7);--eds-color-border-strong:var(--eds-color-accent-8);--eds-color-border-disabled:var(--eds-color-accent-7);--eds-color-text-subtle:var(--eds-color-accent-12);--eds-color-text-strong:var(--eds-color-accent-13);--eds-color-text-disabled:var(--eds-color-accent-7);--eds-color-text-subtle-on-emphasis:var(--eds-color-accent-14);--eds-color-text-strong-on-emphasis:var(--eds-color-accent-15)}
22
22
  [data-color-appearance=danger]{--eds-color-bg-fill-muted-default:var(--eds-color-danger-3);--eds-color-bg-fill-muted-hover:var(--eds-color-danger-4);--eds-color-bg-fill-muted-active:var(--eds-color-danger-5);--eds-color-bg-fill-muted-disabled:var(--eds-color-danger-3);--eds-color-bg-fill-emphasis-default:var(--eds-color-danger-9);--eds-color-bg-fill-emphasis-hover:var(--eds-color-danger-10);--eds-color-bg-fill-emphasis-active:var(--eds-color-danger-11);--eds-color-bg-fill-emphasis-disabled:var(--eds-color-danger-3);--eds-color-bg-canvas:var(--eds-color-danger-1);--eds-color-bg-surface:var(--eds-color-danger-2);--eds-color-border-subtle:var(--eds-color-danger-6);--eds-color-border-medium:var(--eds-color-danger-7);--eds-color-border-strong:var(--eds-color-danger-8);--eds-color-border-disabled:var(--eds-color-danger-7);--eds-color-text-subtle:var(--eds-color-danger-12);--eds-color-text-strong:var(--eds-color-danger-13);--eds-color-text-disabled:var(--eds-color-danger-7);--eds-color-text-subtle-on-emphasis:var(--eds-color-danger-14);--eds-color-text-strong-on-emphasis:var(--eds-color-danger-15)}
@@ -102,6 +102,629 @@
102
102
  [data-tracking=tight]{--eds-typography-tracking:var(--eds-typography-tracking-tight)}
103
103
  [data-tracking=normal]{--eds-typography-tracking:var(--eds-typography-tracking-normal)}
104
104
  [data-tracking=wide],[data-tracking=loose]{--eds-typography-tracking:var(--eds-typography-tracking-wide)}
105
+ /* Reusable registered custom properties used to resolve values */
106
+ @property --captured-size-1 {
107
+ inherits: false;
108
+ initial-value: 0;
109
+ syntax: '<length>';
110
+ }
111
+ @property --captured-size-2 {
112
+ inherits: true;
113
+ initial-value: 0;
114
+ syntax: '<length>';
115
+ }
116
+ :root,
117
+ [data-density='spacious'] {
118
+ --_base: 1rem;
119
+ --eds-typography-ui-body-xs-font-size: round(
120
+ calc(var(--_base) * pow(2, -3/5)),
121
+ 0.03125rem
122
+ );
123
+ --eds-typography-ui-body-sm-font-size: round(
124
+ calc(var(--_base) * pow(2, -2/5)),
125
+ 0.03125rem
126
+ );
127
+ --eds-typography-ui-body-md-font-size: round(
128
+ calc(var(--_base) * pow(2, -1/5)),
129
+ 0.03125rem
130
+ );
131
+ --eds-typography-ui-body-lg-font-size: var(--_base);
132
+ --eds-typography-ui-body-xl-font-size: round(
133
+ calc(var(--_base) * pow(2, 1/5)),
134
+ 0.03125rem
135
+ );
136
+ --eds-typography-ui-body-2xl-font-size: round(
137
+ calc(var(--_base) * pow(2, 2/5)),
138
+ 0.03125rem
139
+ );
140
+ --eds-typography-ui-body-3xl-font-size: round(
141
+ calc(var(--_base) * pow(2, 3/5)),
142
+ 0.03125rem
143
+ );
144
+ --eds-typography-ui-body-4xl-font-size: round(
145
+ calc(var(--_base) * pow(2, 4/5)),
146
+ 0.03125rem
147
+ );
148
+ --eds-typography-ui-body-5xl-font-size: round(
149
+ calc(var(--_base) * pow(2, 5/5)),
150
+ 0.03125rem
151
+ );
152
+ --eds-typography-ui-body-6xl-font-size: round(
153
+ calc(var(--_base) * pow(2, 6/5)),
154
+ 0.03125rem
155
+ );
156
+
157
+ /* line-height normal */
158
+ --eds-typography-ui-body-xs-line-height-default: round(
159
+ calc(
160
+ var(--eds-typography-ui-body-xs-font-size) * (1.39 - pow(0 / 9, 3) * 0.29)
161
+ ),
162
+ 4px
163
+ );
164
+ --eds-typography-ui-body-sm-line-height-default: round(
165
+ calc(
166
+ var(--eds-typography-ui-body-sm-font-size) * (1.39 - pow(1 / 9, 3) * 0.29)
167
+ ),
168
+ 4px
169
+ );
170
+ --eds-typography-ui-body-md-line-height-default: round(
171
+ calc(
172
+ var(--eds-typography-ui-body-md-font-size) * (1.39 - pow(2 / 9, 3) * 0.29)
173
+ ),
174
+ 4px
175
+ );
176
+ --eds-typography-ui-body-lg-line-height-default: round(
177
+ calc(
178
+ var(--eds-typography-ui-body-lg-font-size) * (1.39 - pow(3 / 9, 3) * 0.29)
179
+ ),
180
+ 4px
181
+ );
182
+ --eds-typography-ui-body-xl-line-height-default: round(
183
+ calc(
184
+ var(--eds-typography-ui-body-xl-font-size) * (1.39 - pow(4 / 9, 3) * 0.29)
185
+ ),
186
+ 4px
187
+ );
188
+ --eds-typography-ui-body-2xl-line-height-default: round(
189
+ calc(
190
+ var(--eds-typography-ui-body-2xl-font-size) *
191
+ (1.39 - pow(5 / 9, 3) * 0.29)
192
+ ),
193
+ 4px
194
+ );
195
+ --eds-typography-ui-body-3xl-line-height-default: round(
196
+ calc(
197
+ var(--eds-typography-ui-body-3xl-font-size) *
198
+ (1.39 - pow(6 / 9, 3) * 0.29)
199
+ ),
200
+ 4px
201
+ );
202
+ --eds-typography-ui-body-4xl-line-height-default: round(
203
+ calc(
204
+ var(--eds-typography-ui-body-4xl-font-size) *
205
+ (1.39 - pow(7 / 9, 3) * 0.29)
206
+ ),
207
+ 4px
208
+ );
209
+ --eds-typography-ui-body-5xl-line-height-default: round(
210
+ calc(
211
+ var(--eds-typography-ui-body-5xl-font-size) *
212
+ (1.39 - pow(8 / 9, 3) * 0.29)
213
+ ),
214
+ 4px
215
+ );
216
+ --eds-typography-ui-body-6xl-line-height-default: round(
217
+ calc(
218
+ var(--eds-typography-ui-body-6xl-font-size) *
219
+ (1.39 - pow(9 / 9, 3) * 0.29)
220
+ ),
221
+ 4px
222
+ );
223
+
224
+ /* line-height squished */
225
+ --eds-typography-ui-body-xs-line-height-squished: round(
226
+ calc(
227
+ var(--eds-typography-ui-body-xs-font-size) * (1.13 - pow(0 / 9, 3) * 0.13)
228
+ ),
229
+ 4px
230
+ );
231
+ --eds-typography-ui-body-sm-line-height-squished: round(
232
+ calc(
233
+ var(--eds-typography-ui-body-sm-font-size) * (1.13 - pow(1 / 9, 3) * 0.13)
234
+ ),
235
+ 4px
236
+ );
237
+ --eds-typography-ui-body-md-line-height-squished: round(
238
+ calc(
239
+ var(--eds-typography-ui-body-md-font-size) * (1.13 - pow(2 / 9, 3) * 0.13)
240
+ ),
241
+ 4px
242
+ );
243
+ --eds-typography-ui-body-lg-line-height-squished: round(
244
+ calc(
245
+ var(--eds-typography-ui-body-lg-font-size) * (1.13 - pow(3 / 9, 3) * 0.13)
246
+ ),
247
+ 4px
248
+ );
249
+ --eds-typography-ui-body-xl-line-height-squished: round(
250
+ calc(
251
+ var(--eds-typography-ui-body-xl-font-size) * (1.13 - pow(4 / 9, 3) * 0.13)
252
+ ),
253
+ 4px
254
+ );
255
+ --eds-typography-ui-body-2xl-line-height-squished: round(
256
+ calc(
257
+ var(--eds-typography-ui-body-2xl-font-size) *
258
+ (1.13 - pow(5 / 9, 3) * 0.13)
259
+ ),
260
+ 4px
261
+ );
262
+ --eds-typography-ui-body-3xl-line-height-squished: round(
263
+ calc(
264
+ var(--eds-typography-ui-body-3xl-font-size) *
265
+ (1.13 - pow(6 / 9, 3) * 0.13)
266
+ ),
267
+ 4px
268
+ );
269
+ --eds-typography-ui-body-4xl-line-height-squished: round(
270
+ calc(
271
+ var(--eds-typography-ui-body-4xl-font-size) *
272
+ (1.13 - pow(7 / 9, 3) * 0.13)
273
+ ),
274
+ 4px
275
+ );
276
+ --eds-typography-ui-body-5xl-line-height-squished: round(
277
+ calc(
278
+ var(--eds-typography-ui-body-5xl-font-size) *
279
+ (1.13 - pow(8 / 9, 3) * 0.13)
280
+ ),
281
+ 4px
282
+ );
283
+ --eds-typography-ui-body-6xl-line-height-squished: round(
284
+ calc(
285
+ var(--eds-typography-ui-body-6xl-font-size) *
286
+ (1.13 - pow(9 / 9, 3) * 0.13)
287
+ ),
288
+ 4px
289
+ );
290
+ }
291
+ /* TODO: rename densities — relaxed → spacious, spacious → comfortable, comfortable → compact */
292
+ [data-density='relaxed'] {
293
+ --_base: 1.15625rem;
294
+ --eds-typography-ui-body-xs-font-size: round(
295
+ calc(var(--_base) * pow(2, -3/5)),
296
+ 0.03125rem
297
+ );
298
+ --eds-typography-ui-body-sm-font-size: round(
299
+ calc(var(--_base) * pow(2, -2/5)),
300
+ 0.03125rem
301
+ );
302
+ --eds-typography-ui-body-md-font-size: round(
303
+ calc(var(--_base) * pow(2, -1/5)),
304
+ 0.03125rem
305
+ );
306
+ --eds-typography-ui-body-lg-font-size: var(--_base);
307
+ --eds-typography-ui-body-xl-font-size: round(
308
+ calc(var(--_base) * pow(2, 1/5)),
309
+ 0.03125rem
310
+ );
311
+ --eds-typography-ui-body-2xl-font-size: round(
312
+ calc(var(--_base) * pow(2, 2/5)),
313
+ 0.03125rem
314
+ );
315
+ --eds-typography-ui-body-3xl-font-size: round(
316
+ calc(var(--_base) * pow(2, 3/5)),
317
+ 0.03125rem
318
+ );
319
+ --eds-typography-ui-body-4xl-font-size: round(
320
+ calc(var(--_base) * pow(2, 4/5)),
321
+ 0.03125rem
322
+ );
323
+ --eds-typography-ui-body-5xl-font-size: round(
324
+ calc(var(--_base) * pow(2, 5/5)),
325
+ 0.03125rem
326
+ );
327
+ --eds-typography-ui-body-6xl-font-size: round(
328
+ calc(var(--_base) * pow(2, 6/5)),
329
+ 0.03125rem
330
+ );
331
+
332
+ /* line-height normal */
333
+ --eds-typography-ui-body-xs-line-height-default: round(
334
+ calc(
335
+ var(--eds-typography-ui-body-xs-font-size) * (1.39 - pow(0 / 9, 3) * 0.29)
336
+ ),
337
+ 4px
338
+ );
339
+ --eds-typography-ui-body-sm-line-height-default: round(
340
+ calc(
341
+ var(--eds-typography-ui-body-sm-font-size) * (1.39 - pow(1 / 9, 3) * 0.29)
342
+ ),
343
+ 4px
344
+ );
345
+ --eds-typography-ui-body-md-line-height-default: round(
346
+ calc(
347
+ var(--eds-typography-ui-body-md-font-size) * (1.39 - pow(2 / 9, 3) * 0.29)
348
+ ),
349
+ 4px
350
+ );
351
+ --eds-typography-ui-body-lg-line-height-default: round(
352
+ calc(
353
+ var(--eds-typography-ui-body-lg-font-size) * (1.39 - pow(3 / 9, 3) * 0.29)
354
+ ),
355
+ 4px
356
+ );
357
+ --eds-typography-ui-body-xl-line-height-default: round(
358
+ calc(
359
+ var(--eds-typography-ui-body-xl-font-size) * (1.39 - pow(4 / 9, 3) * 0.29)
360
+ ),
361
+ 4px
362
+ );
363
+ --eds-typography-ui-body-2xl-line-height-default: round(
364
+ calc(
365
+ var(--eds-typography-ui-body-2xl-font-size) *
366
+ (1.39 - pow(5 / 9, 3) * 0.29)
367
+ ),
368
+ 4px
369
+ );
370
+ --eds-typography-ui-body-3xl-line-height-default: round(
371
+ calc(
372
+ var(--eds-typography-ui-body-3xl-font-size) *
373
+ (1.39 - pow(6 / 9, 3) * 0.29)
374
+ ),
375
+ 4px
376
+ );
377
+ --eds-typography-ui-body-4xl-line-height-default: round(
378
+ calc(
379
+ var(--eds-typography-ui-body-4xl-font-size) *
380
+ (1.39 - pow(7 / 9, 3) * 0.29)
381
+ ),
382
+ 4px
383
+ );
384
+ --eds-typography-ui-body-5xl-line-height-default: round(
385
+ calc(
386
+ var(--eds-typography-ui-body-5xl-font-size) *
387
+ (1.39 - pow(8 / 9, 3) * 0.29)
388
+ ),
389
+ 4px
390
+ );
391
+ --eds-typography-ui-body-6xl-line-height-default: round(
392
+ calc(
393
+ var(--eds-typography-ui-body-6xl-font-size) *
394
+ (1.39 - pow(9 / 9, 3) * 0.29)
395
+ ),
396
+ 4px
397
+ );
398
+
399
+ /* line-height squished */
400
+ --eds-typography-ui-body-xs-line-height-squished: round(
401
+ calc(
402
+ var(--eds-typography-ui-body-xs-font-size) * (1.13 - pow(0 / 9, 3) * 0.13)
403
+ ),
404
+ 4px
405
+ );
406
+ --eds-typography-ui-body-sm-line-height-squished: round(
407
+ calc(
408
+ var(--eds-typography-ui-body-sm-font-size) * (1.13 - pow(1 / 9, 3) * 0.13)
409
+ ),
410
+ 4px
411
+ );
412
+ --eds-typography-ui-body-md-line-height-squished: round(
413
+ calc(
414
+ var(--eds-typography-ui-body-md-font-size) * (1.13 - pow(2 / 9, 3) * 0.13)
415
+ ),
416
+ 4px
417
+ );
418
+ --eds-typography-ui-body-lg-line-height-squished: round(
419
+ calc(
420
+ var(--eds-typography-ui-body-lg-font-size) * (1.13 - pow(3 / 9, 3) * 0.13)
421
+ ),
422
+ 4px
423
+ );
424
+ --eds-typography-ui-body-xl-line-height-squished: round(
425
+ calc(
426
+ var(--eds-typography-ui-body-xl-font-size) * (1.13 - pow(4 / 9, 3) * 0.13)
427
+ ),
428
+ 4px
429
+ );
430
+ --eds-typography-ui-body-2xl-line-height-squished: round(
431
+ calc(
432
+ var(--eds-typography-ui-body-2xl-font-size) *
433
+ (1.13 - pow(5 / 9, 3) * 0.13)
434
+ ),
435
+ 4px
436
+ );
437
+ --eds-typography-ui-body-3xl-line-height-squished: round(
438
+ calc(
439
+ var(--eds-typography-ui-body-3xl-font-size) *
440
+ (1.13 - pow(6 / 9, 3) * 0.13)
441
+ ),
442
+ 4px
443
+ );
444
+ --eds-typography-ui-body-4xl-line-height-squished: round(
445
+ calc(
446
+ var(--eds-typography-ui-body-4xl-font-size) *
447
+ (1.13 - pow(7 / 9, 3) * 0.13)
448
+ ),
449
+ 4px
450
+ );
451
+ --eds-typography-ui-body-5xl-line-height-squished: round(
452
+ calc(
453
+ var(--eds-typography-ui-body-5xl-font-size) *
454
+ (1.13 - pow(8 / 9, 3) * 0.13)
455
+ ),
456
+ 4px
457
+ );
458
+ --eds-typography-ui-body-6xl-line-height-squished: round(
459
+ calc(
460
+ var(--eds-typography-ui-body-6xl-font-size) *
461
+ (1.13 - pow(9 / 9, 3) * 0.13)
462
+ ),
463
+ 4px
464
+ );
465
+ }
466
+ [data-density='comfortable'] {
467
+ --_base: 0.875rem;
468
+ --eds-typography-ui-body-xs-font-size: round(
469
+ calc(var(--_base) * pow(2, -3/5)),
470
+ 0.03125rem
471
+ );
472
+ --eds-typography-ui-body-sm-font-size: round(
473
+ calc(var(--_base) * pow(2, -2/5)),
474
+ 0.03125rem
475
+ );
476
+ --eds-typography-ui-body-md-font-size: round(
477
+ calc(var(--_base) * pow(2, -1/5)),
478
+ 0.03125rem
479
+ );
480
+ --eds-typography-ui-body-lg-font-size: var(--_base);
481
+ --eds-typography-ui-body-xl-font-size: round(
482
+ calc(var(--_base) * pow(2, 1/5)),
483
+ 0.03125rem
484
+ );
485
+ --eds-typography-ui-body-2xl-font-size: round(
486
+ calc(var(--_base) * pow(2, 2/5)),
487
+ 0.03125rem
488
+ );
489
+ --eds-typography-ui-body-3xl-font-size: round(
490
+ calc(var(--_base) * pow(2, 3/5)),
491
+ 0.03125rem
492
+ );
493
+ --eds-typography-ui-body-4xl-font-size: round(
494
+ calc(var(--_base) * pow(2, 4/5)),
495
+ 0.03125rem
496
+ );
497
+ --eds-typography-ui-body-5xl-font-size: round(
498
+ calc(var(--_base) * pow(2, 5/5)),
499
+ 0.03125rem
500
+ );
501
+ --eds-typography-ui-body-6xl-font-size: round(
502
+ calc(var(--_base) * pow(2, 6/5)),
503
+ 0.03125rem
504
+ );
505
+
506
+ /* line-height normal */
507
+ --eds-typography-ui-body-xs-line-height-default: round(
508
+ calc(
509
+ var(--eds-typography-ui-body-xs-font-size) * (1.39 - pow(0 / 9, 3) * 0.29)
510
+ ),
511
+ 4px
512
+ );
513
+ --eds-typography-ui-body-sm-line-height-default: round(
514
+ calc(
515
+ var(--eds-typography-ui-body-sm-font-size) * (1.39 - pow(1 / 9, 3) * 0.29)
516
+ ),
517
+ 4px
518
+ );
519
+ --eds-typography-ui-body-md-line-height-default: round(
520
+ calc(
521
+ var(--eds-typography-ui-body-md-font-size) * (1.39 - pow(2 / 9, 3) * 0.29)
522
+ ),
523
+ 4px
524
+ );
525
+ --eds-typography-ui-body-lg-line-height-default: round(
526
+ calc(
527
+ var(--eds-typography-ui-body-lg-font-size) * (1.39 - pow(3 / 9, 3) * 0.29)
528
+ ),
529
+ 4px
530
+ );
531
+ --eds-typography-ui-body-xl-line-height-default: round(
532
+ calc(
533
+ var(--eds-typography-ui-body-xl-font-size) * (1.39 - pow(4 / 9, 3) * 0.29)
534
+ ),
535
+ 4px
536
+ );
537
+ --eds-typography-ui-body-2xl-line-height-default: round(
538
+ calc(
539
+ var(--eds-typography-ui-body-2xl-font-size) *
540
+ (1.39 - pow(5 / 9, 3) * 0.29)
541
+ ),
542
+ 4px
543
+ );
544
+ --eds-typography-ui-body-3xl-line-height-default: round(
545
+ calc(
546
+ var(--eds-typography-ui-body-3xl-font-size) *
547
+ (1.39 - pow(6 / 9, 3) * 0.29)
548
+ ),
549
+ 4px
550
+ );
551
+ --eds-typography-ui-body-4xl-line-height-default: round(
552
+ calc(
553
+ var(--eds-typography-ui-body-4xl-font-size) *
554
+ (1.39 - pow(7 / 9, 3) * 0.29)
555
+ ),
556
+ 4px
557
+ );
558
+ --eds-typography-ui-body-5xl-line-height-default: round(
559
+ calc(
560
+ var(--eds-typography-ui-body-5xl-font-size) *
561
+ (1.39 - pow(8 / 9, 3) * 0.29)
562
+ ),
563
+ 4px
564
+ );
565
+ --eds-typography-ui-body-6xl-line-height-default: round(
566
+ calc(
567
+ var(--eds-typography-ui-body-6xl-font-size) *
568
+ (1.39 - pow(9 / 9, 3) * 0.29)
569
+ ),
570
+ 4px
571
+ );
572
+
573
+ /* line-height squished */
574
+ --eds-typography-ui-body-xs-line-height-squished: round(
575
+ calc(
576
+ var(--eds-typography-ui-body-xs-font-size) * (1.13 - pow(0 / 9, 3) * 0.13)
577
+ ),
578
+ 4px
579
+ );
580
+ --eds-typography-ui-body-sm-line-height-squished: round(
581
+ calc(
582
+ var(--eds-typography-ui-body-sm-font-size) * (1.13 - pow(1 / 9, 3) * 0.13)
583
+ ),
584
+ 4px
585
+ );
586
+ --eds-typography-ui-body-md-line-height-squished: round(
587
+ calc(
588
+ var(--eds-typography-ui-body-md-font-size) * (1.13 - pow(2 / 9, 3) * 0.13)
589
+ ),
590
+ 4px
591
+ );
592
+ --eds-typography-ui-body-lg-line-height-squished: round(
593
+ calc(
594
+ var(--eds-typography-ui-body-lg-font-size) * (1.13 - pow(3 / 9, 3) * 0.13)
595
+ ),
596
+ 4px
597
+ );
598
+ --eds-typography-ui-body-xl-line-height-squished: round(
599
+ calc(
600
+ var(--eds-typography-ui-body-xl-font-size) * (1.13 - pow(4 / 9, 3) * 0.13)
601
+ ),
602
+ 4px
603
+ );
604
+ --eds-typography-ui-body-2xl-line-height-squished: round(
605
+ calc(
606
+ var(--eds-typography-ui-body-2xl-font-size) *
607
+ (1.13 - pow(5 / 9, 3) * 0.13)
608
+ ),
609
+ 4px
610
+ );
611
+ --eds-typography-ui-body-3xl-line-height-squished: round(
612
+ calc(
613
+ var(--eds-typography-ui-body-3xl-font-size) *
614
+ (1.13 - pow(6 / 9, 3) * 0.13)
615
+ ),
616
+ 4px
617
+ );
618
+ --eds-typography-ui-body-4xl-line-height-squished: round(
619
+ calc(
620
+ var(--eds-typography-ui-body-4xl-font-size) *
621
+ (1.13 - pow(7 / 9, 3) * 0.13)
622
+ ),
623
+ 4px
624
+ );
625
+ --eds-typography-ui-body-5xl-line-height-squished: round(
626
+ calc(
627
+ var(--eds-typography-ui-body-5xl-font-size) *
628
+ (1.13 - pow(8 / 9, 3) * 0.13)
629
+ ),
630
+ 4px
631
+ );
632
+ --eds-typography-ui-body-6xl-line-height-squished: round(
633
+ calc(
634
+ var(--eds-typography-ui-body-6xl-font-size) *
635
+ (1.13 - pow(9 / 9, 3) * 0.13)
636
+ ),
637
+ 4px
638
+ );
639
+ }
640
+ /* ===== TEXT-BOX PADDING =====
641
+ * 1cap and 1ex resolve at the element where var() is used,
642
+ * so these formulas work correctly at any font-size.
643
+ */
644
+ :root {
645
+ /* Trim leading above ex-height and below alphabetic baseline.
646
+ * Use inside @supports (text-box: trim-both ex alphabetic) in component CSS —
647
+ * var() cannot be used in @supports conditions as it always resolves to valid. */
648
+ --text-box: trim-both ex alphabetic;
649
+
650
+ /* Single-line: snap height to 4px grid, centered optically */
651
+ /* --eds-padding-top-centered: calc((round(1cap, 0.25rem) - 1ex) / 2 + (1cap - 1ex) / 2);
652
+ --eds-padding-bottom-centered: calc(
653
+ (round(1cap, 0.25rem) - 1ex) / 2 - (1cap - 1ex) / 2
654
+ ); */
655
+
656
+ /* Multi-line: align text to baseline grid */
657
+ --eds-padding-top-baseline: calc(round(1cap, 0.25rem) - 1ex);
658
+ --eds-padding-bottom-baseline: 0px;
659
+ }
660
+ /* @function progressive enhancement — Chrome/Edge 128+.
661
+ * Browsers without @function support fall back to the :root custom properties above.
662
+ * Remove the :root fallbacks once Safari supports @function. */
663
+ /* TODO: uncomment --padding-block() once Safari supports @function.
664
+ * It will replace the manual padding-block calc() in component CSS.
665
+ * Track Safari support: https://caniuse.com/css-at-function
666
+ *
667
+ * @function --padding-block(
668
+ * --padding-block <length>,
669
+ * --line-height <length>,
670
+ * --cap-rounded <length>
671
+ * )
672
+ * returns <length> {
673
+ * result: calc(
674
+ * var(--padding-block) - (var(--line-height) - var(--cap-rounded)) / 2
675
+ * );
676
+ * }
677
+ */
678
+ /* ===== FUTURE: ELIMINATE DENSITY DUPLICATION WITH @function =====
679
+ *
680
+ * Currently the font-size and line-height scales are duplicated in both the
681
+ * spacious and comfortable density blocks. This is necessary because CSS custom
682
+ * property late binding does not reliably propagate through chained math
683
+ * functions (round, pow) across inheritance boundaries in all browsers.
684
+ *
685
+ * Once @function has broad browser support (currently Chrome/Edge 128+ only,
686
+ * not yet in Safari), the duplication can be removed. @function calls stored as
687
+ * custom property values ARE lazily evaluated at the point of consumption, so
688
+ * they correctly read --_base from the local cascade:
689
+ *
690
+ * @function --font-size-step(--step: 0) returns <length> {
691
+ * result: round(calc(var(--_base) * pow(2, calc(var(--step) / 5))), 0.03125rem);
692
+ * }
693
+ *
694
+ * :root,
695
+ * [data-density='spacious'] {
696
+ * --_base: 1rem;
697
+ * --eds-typography-ui-body-xs-font-size: --font-size-step(-3);
698
+ * --eds-typography-ui-body-sm-font-size: --font-size-step(-2);
699
+ * --eds-typography-ui-body-md-font-size: --font-size-step(-1);
700
+ * --eds-typography-ui-body-lg-font-size: --font-size-step(0);
701
+ * (etc.)
702
+ * }
703
+ *
704
+ * [data-density='comfortable'] {
705
+ * --_base: 0.875rem; (that's it — no more duplication)
706
+ * }
707
+ *
708
+ * Track Safari @function support: https://caniuse.com/css-at-function
709
+ */
710
+ /* This is just a POC, the real values has to be defined in the design tokens */
711
+ /* TODO: Add values */
712
+ [data-density='relaxed'] {
713
+ [data-selectable-space='sm'] {
714
+ --eds-selectable-space-horizontal: 16px;
715
+ --eds-selectable-space-vertical: 12px;
716
+ }
717
+
718
+ [data-selectable-space='md'] {
719
+ --eds-selectable-space-horizontal: 20px;
720
+ --eds-selectable-space-vertical: 16px;
721
+ }
722
+
723
+ [data-selectable-space='lg'] {
724
+ --eds-selectable-space-horizontal: 24px;
725
+ --eds-selectable-space-vertical: 20px;
726
+ }
727
+ }
105
728
  @layer eds-components {
106
729
  /* Inline with text: uses token from parent's data-font-size, or 1.5em fallback */
107
730
  .eds-icon {
@@ -174,21 +797,45 @@
174
797
  }
175
798
  @layer eds-components {
176
799
  .eds-button {
800
+ --_label-font-size: var(--eds-typography-ui-body-md-font-size);
801
+ --_label-line-height: var(--eds-typography-ui-body-md-line-height-squished);
802
+ --_label-height: round(1cap, 4px);
803
+ --captured-size-2: var(--_label-height); /* capture cap-height before SVG overrides font-size */
804
+ --_font-family: var(--eds-typography-ui-body-font-family);
805
+ --_color: var(--eds-color-text-strong-on-emphasis);
806
+ --_bg-color: var(--eds-color-bg-fill-emphasis-default);
807
+ --_padding-block: var(--eds-selectable-space-vertical);
808
+
177
809
  cursor: pointer;
178
810
 
179
811
  /* Layout */
180
812
  display: inline-flex;
813
+ gap: round(0.618em, 1px);
181
814
  align-items: center;
182
815
  justify-content: center;
183
816
 
184
817
  box-sizing: border-box;
818
+ min-height: calc(var(--_padding-block) * 2 + var(--_label-height));
819
+ padding-block: calc(
820
+ var(--_padding-block) -
821
+ (var(--_label-line-height) - var(--_label-height)) / 2
822
+ );
823
+ padding-inline: var(--eds-selectable-space-horizontal);
185
824
 
186
825
  /* Appearance */
187
826
  border: none;
188
827
  border-radius: var(--eds-spacing-border-radius-rounded, 4px);
189
828
 
829
+ /* Typography — ensures correct font for asChild elements */
830
+ font-family: var(--eds-typography-ui-body-font-family);
831
+ font-size: var(--_label-font-size);
832
+ line-height: var(--_label-line-height);
833
+ color: var(--_color);
834
+ text-align: start;
190
835
  text-decoration: none;
836
+ white-space: pre-line;
191
837
 
838
+ background-color: var(--_bg-color);
192
839
  outline: none;
193
840
 
194
841
  /* Transitions */
@@ -196,37 +843,52 @@
196
843
  background-color 150ms ease-in-out,
197
844
  border-color 150ms ease-in-out,
198
845
  color 150ms ease-in-out;
199
- }
200
846
 
201
- /* ===== SIZE VARIANTS ===== */
202
- /*
203
- * Button height is controlled by min-height.
204
- * The span keeps its natural line-height and is centered by flexbox.
205
- *
206
- * Spacious (default): sm=24px, md=36px
207
- * Comfortable: sm=20px, md=24px
208
- */
847
+ /* ===== LABEL ===== */
848
+ & .label {
849
+ font-family: var(--_font-family);
850
+ font-size: var(--_label-font-size);
851
+ line-height: var(--_label-line-height);
852
+ color: var(--_color);
853
+ }
209
854
 
210
- .eds-button[data-selectable-space='md'] {
211
- gap: var(--eds-typography-gap-horizontal);
212
- min-height: 2.25rem; /* 36px */
213
- padding-inline: var(--eds-selectable-space-horizontal);
214
- }
855
+ &[data-multiline] {
856
+ padding-block: var(--eds-selectable-space-vertical);
215
857
 
216
- .eds-button[data-selectable-space='sm'] {
217
- gap: var(--eds-typography-gap-horizontal);
218
- min-height: 1.5rem; /* 24px */
219
- padding-inline: var(--eds-selectable-space-horizontal);
220
- }
858
+ .label {
859
+ white-space: normal;
860
+
861
+ @supports (text-box: trim-both ex alphabetic) {
862
+ padding-top: var(--eds-padding-top-baseline);
863
+ padding-bottom: 0;
864
+
865
+ text-box: trim-both ex alphabetic;
866
+ }
867
+ }
868
+ }
869
+
870
+ & > svg {
871
+ --captured-size-1: var(--_label-font-size);
872
+ --_icon-size: calc(24px * tan(atan2(var(--captured-size-1), 1px)) / 16);
221
873
 
222
- /* Comfortable density */
874
+ width: var(--_icon-size);
875
+ height: var(--_icon-size);
876
+ margin-block: calc((var(--captured-size-2) - var(--_icon-size)) / 2);
877
+ margin-inline: -0.2em;
223
878
 
224
- [data-density='comfortable'] .eds-button[data-selectable-space='md'] {
225
- min-height: 1.5rem; /* 24px */
879
+ font-size: var(--_icon-size);
880
+ }
226
881
  }
227
882
 
228
- [data-density='comfortable'] .eds-button[data-selectable-space='sm'] {
229
- min-height: 1.25rem; /* 20px */
883
+ /* ===== SIZE VARIANTS ===== */
884
+ /* Font size and line-height scale with data-selectable-space.
885
+ * Button height is derived from padding-block + line-height.
886
+ * min-height, gap, and padding-inline adapt automatically via the
887
+ * --eds-selectable-space-* tokens which are density-aware. */
888
+
889
+ .eds-button[data-selectable-space='sm'] {
890
+ --_label-font-size: var(--eds-typography-ui-body-sm-font-size);
891
+ --_label-line-height: var(--eds-typography-ui-body-sm-line-height-squished);
230
892
  }
231
893
 
232
894
  /* ===== ICON-ONLY BUTTON ===== */
@@ -246,79 +908,82 @@
246
908
  /* ===== PRIMARY VARIANT ===== */
247
909
 
248
910
  .eds-button[data-variant='primary'] {
249
- color: var(--eds-color-text-strong-on-emphasis);
250
- background-color: var(--eds-color-bg-fill-emphasis-default);
911
+ --_color: var(--eds-color-text-strong-on-emphasis);
912
+ --_bg-color: var(--eds-color-bg-fill-emphasis-default);
251
913
  }
252
914
 
253
- .eds-button[data-variant='primary']:hover:not(:disabled) {
254
- background-color: var(--eds-color-bg-fill-emphasis-hover);
915
+ .eds-button[data-variant='primary']:disabled {
916
+ --_bg-color: var(--eds-color-bg-fill-emphasis-disabled);
917
+ --_color: var(--eds-color-text-disabled);
918
+
919
+ cursor: not-allowed;
255
920
  }
256
921
 
257
- .eds-button[data-variant='primary']:active:not(:disabled) {
258
- background-color: var(--eds-color-bg-fill-emphasis-active);
922
+ .eds-button[data-variant='primary']:hover:not(:disabled) {
923
+ --_bg-color: var(--eds-color-bg-fill-emphasis-hover);
259
924
  }
260
925
 
261
- .eds-button[data-variant='primary']:disabled {
262
- cursor: not-allowed;
263
- color: var(--eds-color-text-disabled);
264
- background-color: var(--eds-color-bg-fill-emphasis-disabled);
926
+ .eds-button[data-variant='primary']:active:not(:disabled) {
927
+ --_bg-color: var(--eds-color-bg-fill-emphasis-active);
265
928
  }
266
929
 
267
930
  /* ===== SECONDARY VARIANT ===== */
268
931
 
269
932
  .eds-button[data-variant='secondary'] {
270
- color: var(--eds-color-text-subtle);
271
- background-color: transparent;
933
+ --_color: var(--eds-color-text-subtle);
934
+ --_bg-color: transparent;
935
+
272
936
  outline: var(--eds-border-width-default, 1px) solid
273
937
  var(--eds-color-border-strong);
274
938
  outline-offset: calc(-1 * var(--eds-border-width-default, 1px));
275
939
  }
276
940
 
277
- .eds-button[data-variant='secondary']:hover:not(:disabled) {
278
- background-color: var(--eds-color-bg-fill-muted-default);
279
- }
280
-
281
- .eds-button[data-variant='secondary']:active:not(:disabled) {
282
- background-color: var(--eds-color-bg-fill-muted-hover);
283
- }
284
-
285
941
  .eds-button[data-variant='secondary']:disabled {
942
+ --_color: var(--eds-color-text-disabled);
943
+
286
944
  cursor: not-allowed;
287
- color: var(--eds-color-text-disabled);
288
945
  outline: var(--eds-border-width-default, 1px) solid
289
946
  var(--eds-color-border-disabled);
290
947
  outline-offset: calc(-1 * var(--eds-border-width-default, 1px));
291
948
  }
292
949
 
293
- /* ===== GHOST VARIANT ===== */
950
+ .eds-button[data-variant='secondary']:focus-visible {
951
+ outline-offset: var(--eds-sizing-stroke-thin);
952
+ }
294
953
 
295
- .eds-button[data-variant='ghost'] {
296
- color: var(--eds-color-text-subtle);
297
- background-color: transparent;
954
+ .eds-button[data-variant='secondary']:hover:not(:disabled) {
955
+ --_bg-color: var(--eds-color-bg-fill-muted-default);
298
956
  }
299
957
 
300
- .eds-button[data-variant='ghost']:hover:not(:disabled) {
301
- background-color: var(--eds-color-bg-fill-muted-default);
958
+ .eds-button[data-variant='secondary']:active:not(:disabled) {
959
+ --_bg-color: var(--eds-color-bg-fill-muted-hover);
302
960
  }
303
961
 
304
- .eds-button[data-variant='ghost']:active:not(:disabled) {
305
- background-color: var(--eds-color-bg-fill-muted-hover);
962
+ /* ===== GHOST VARIANT ===== */
963
+
964
+ .eds-button[data-variant='ghost'] {
965
+ --_color: var(--eds-color-text-subtle);
966
+ --_bg-color: transparent;
306
967
  }
307
968
 
308
969
  .eds-button[data-variant='ghost']:disabled {
970
+ --_color: var(--eds-color-text-disabled);
971
+
309
972
  cursor: not-allowed;
310
- color: var(--eds-color-text-disabled);
311
973
  }
312
974
 
313
- /* ===== FOCUS STATE ===== */
975
+ .eds-button[data-variant='ghost']:hover:not(:disabled) {
976
+ --_bg-color: var(--eds-color-bg-fill-muted-default);
977
+ }
314
978
 
315
- .eds-button:focus-visible {
316
- outline: var(--eds-sizing-stroke-thick) solid
317
- var(--eds-color-border-focus);
318
- outline-offset: var(--eds-sizing-stroke-thin);
979
+ .eds-button[data-variant='ghost']:active:not(:disabled) {
980
+ --_bg-color: var(--eds-color-bg-fill-muted-hover);
319
981
  }
320
982
 
321
- .eds-button[data-variant='secondary']:focus-visible {
983
+ /* ===== FOCUS STATE ===== */
984
+
985
+ .eds-button:focus-visible {
986
+ outline: var(--eds-sizing-stroke-thick) solid var(--eds-color-border-focus);
322
987
  outline-offset: var(--eds-sizing-stroke-thin);
323
988
  }
324
989
 
@@ -335,23 +1000,6 @@
335
1000
  margin: 0;
336
1001
  }
337
1002
  }
338
- /*
339
- * Outside @layer to override typography.css [data-font-family] { display: block }.
340
- * The span wraps text children via TypographyNext and needs inline-flex for
341
- * icon+text gap and vertical centering.
342
- *
343
- * text-box/padding-block reset disables typography.css baseline padding —
344
- * button handles its own sizing via min-height + flexbox centering.
345
- */
346
- .eds-button__label {
347
- display: inline-flex;
348
- gap: var(--eds-typography-gap-horizontal);
349
- align-items: center;
350
-
351
- padding-block: 0;
352
-
353
- text-box: normal;
354
- }
355
1003
  @layer eds-components {
356
1004
  .eds-field {
357
1005
  /* Layout - use CSS variable for configurable width */
@@ -1472,4 +2120,117 @@
1472
2120
  margin-inline-end: -4.8px;
1473
2121
  }
1474
2122
  }
2123
+ @layer eds-components {
2124
+ .eds-chip {
2125
+ cursor: pointer;
2126
+ user-select: none;
2127
+
2128
+ display: inline-flex;
2129
+ gap: var(--eds-typography-gap-horizontal);
2130
+ align-items: center;
2131
+
2132
+ box-sizing: border-box;
2133
+ padding-block: var(--eds-selectable-space-vertical);
2134
+ padding-inline: var(--eds-selectable-space-horizontal);
2135
+ border: none;
2136
+ border-radius: var(--eds-spacing-border-radius-pill, 100vmax);
2137
+
2138
+ font: inherit;
2139
+ color: inherit;
2140
+
2141
+ transition:
2142
+ background-color 150ms ease-in-out,
2143
+ outline-color 150ms ease-in-out,
2144
+ color 150ms ease-in-out;
2145
+
2146
+ /* ===== DEFAULT VARIANT (solid muted fill) ===== */
2147
+
2148
+ &[data-variant='default'] {
2149
+ color: var(--eds-color-text-subtle);
2150
+ background-color: var(--eds-color-bg-fill-muted-default);
2151
+ outline: none;
2152
+ }
2153
+
2154
+ &[data-variant='default']:hover {
2155
+ background-color: var(--eds-color-bg-fill-muted-hover);
2156
+ }
2157
+
2158
+ &[data-variant='default']:active {
2159
+ background-color: var(--eds-color-bg-fill-muted-active);
2160
+ }
2161
+
2162
+ /* ===== OUTLINED VARIANT (border + transparent bg) ===== */
2163
+
2164
+ &[data-variant='outlined'] {
2165
+ color: var(--eds-color-text-subtle);
2166
+ background-color: transparent;
2167
+ outline: var(--eds-border-width-default, 1px) solid
2168
+ var(--eds-color-border-strong);
2169
+ outline-offset: calc(-1 * var(--eds-border-width-default, 1px));
2170
+ }
2171
+
2172
+ &[data-variant='outlined']:hover {
2173
+ background-color: var(--eds-color-bg-fill-muted-hover);
2174
+ }
2175
+
2176
+ &[data-variant='outlined']:active {
2177
+ background-color: var(--eds-color-bg-fill-muted-active);
2178
+ }
2179
+
2180
+ /* ===== HIGH-CONTRAST VARIANT (emphasis fill + light text) ===== */
2181
+
2182
+ &[data-variant='high-contrast'] {
2183
+ color: var(--eds-color-text-strong-on-emphasis);
2184
+ background-color: var(--eds-color-bg-fill-emphasis-default);
2185
+ outline: none;
2186
+ }
2187
+
2188
+ &[data-variant='high-contrast']:hover {
2189
+ background-color: var(--eds-color-bg-fill-emphasis-hover);
2190
+ }
2191
+
2192
+ &[data-variant='high-contrast']:active {
2193
+ background-color: var(--eds-color-bg-fill-emphasis-active);
2194
+ }
2195
+
2196
+ /* ===== FOCUS STATE ===== */
2197
+
2198
+ &:focus-visible {
2199
+ box-shadow:
2200
+ 0 0 0 var(--eds-sizing-stroke-thin) var(--eds-color-bg-canvas),
2201
+ 0 0 0 calc(var(--eds-sizing-stroke-thin) * 2)
2202
+ var(--eds-color-border-focus);
2203
+ }
2204
+
2205
+ /* ===== ICONS ===== */
2206
+
2207
+ & .eds-icon {
2208
+ flex-shrink: 0;
2209
+ margin-block: calc(-1 * var(--eds-selectable-space-vertical));
2210
+ margin-inline: calc(-1 * var(--eds-selectable-space-vertical) / 2);
2211
+ }
2212
+ }
2213
+ }
2214
+ /*
2215
+ * Outside @layer to override typography.css [data-font-family] { display: block }.
2216
+ * data-font-family/data-font-size on the chip container establishes the typography
2217
+ * context for gap and icon sizing tokens.
2218
+ */
2219
+ .eds-chip {
2220
+ display: inline-flex;
2221
+ }
2222
+ /*
2223
+ * Label needs inline-flex to center custom icons with text.
2224
+ * text-box: normal disables baseline trimming — chip handles sizing via
2225
+ * padding + flexbox centering.
2226
+ */
2227
+ .eds-chip > .label {
2228
+ display: inline-flex;
2229
+ gap: var(--eds-typography-gap-horizontal);
2230
+ align-items: center;
2231
+
2232
+ padding-block: 0;
2233
+
2234
+ text-box: normal;
2235
+ }
1475
2236