@@ -85,7 +85,7 @@ export default function Home({ params: { lang } }: Route.ComponentProps) {
-
+
{t('themeBuilder.documentation')}
diff --git a/apps/www/app/_components/do-dont/do-dont.module.css b/apps/www/app/_components/do-dont/do-dont.module.css
index 332d7df7aa..6caac1f41f 100644
--- a/apps/www/app/_components/do-dont/do-dont.module.css
+++ b/apps/www/app/_components/do-dont/do-dont.module.css
@@ -34,7 +34,8 @@
}
svg {
color: var(--ds-color-base-default);
- font-size: 2rem;
+ height: 2rem;
+ width: auto;
}
}
.footer {
diff --git a/apps/www/app/_components/image/image.tsx b/apps/www/app/_components/image/image.tsx
index 9779601cd9..a19a6202a4 100644
--- a/apps/www/app/_components/image/image.tsx
+++ b/apps/www/app/_components/image/image.tsx
@@ -73,7 +73,7 @@ const Image = ({
icon
variant='tertiary'
>
-
+
{t('image.enlarged-text')}
diff --git a/apps/www/app/_components/search-dialog/search-dialog.module.css b/apps/www/app/_components/search-dialog/search-dialog.module.css
index edd1719c80..677ef1670a 100644
--- a/apps/www/app/_components/search-dialog/search-dialog.module.css
+++ b/apps/www/app/_components/search-dialog/search-dialog.module.css
@@ -58,7 +58,8 @@
align-items: center;
gap: var(--gap);
> svg {
- font-size: var(--icon-size);
+ height: var(--icon-size);
+ width: auto;
}
}
diff --git a/apps/www/app/_components/sidebar/sidebar.tsx b/apps/www/app/_components/sidebar/sidebar.tsx
index ef60f7f94d..0d8d0dae23 100644
--- a/apps/www/app/_components/sidebar/sidebar.tsx
+++ b/apps/www/app/_components/sidebar/sidebar.tsx
@@ -48,7 +48,7 @@ export const Sidebar = ({
popoverTargetAction='show'
>
{t('sidebar.show')} {t(`sidebar.sidebar`)}
-
+
);
diff --git a/apps/www/app/content/intro/en/about-the-design-system.mdx b/apps/www/app/content/intro/en/about-the-design-system.mdx
index 66fef2acb9..4f1c1363aa 100644
--- a/apps/www/app/content/intro/en/about-the-design-system.mdx
+++ b/apps/www/app/content/intro/en/about-the-design-system.mdx
@@ -72,7 +72,7 @@ By reusing common building blocks, we avoid solving the same problems over and o
textDecoration: 'underline',
marginBottom: "1.5rem"
}}>
-
+
diff --git a/apps/www/app/content/intro/en/join-the-community.mdx b/apps/www/app/content/intro/en/join-the-community.mdx
index ac09ad97e0..8678933cd7 100644
--- a/apps/www/app/content/intro/en/join-the-community.mdx
+++ b/apps/www/app/content/intro/en/join-the-community.mdx
@@ -18,7 +18,7 @@ Join the community to stay informed about updates and receive invitations to eve
-
+
Join us in Slack
diff --git a/apps/www/app/content/intro/no/about-the-design-system.mdx b/apps/www/app/content/intro/no/about-the-design-system.mdx
index 68da07e0ac..8d02ba70c6 100644
--- a/apps/www/app/content/intro/no/about-the-design-system.mdx
+++ b/apps/www/app/content/intro/no/about-the-design-system.mdx
@@ -72,7 +72,7 @@ Ved å ta utgangspunkt i felles byggeklosser kan vi unngå å løse de samme pro
textDecoration: 'underline',
marginBottom: "1.5rem"
}}>
-
+
Hva kan din virksomhet spare? \
diff --git a/apps/www/app/content/intro/no/join-the-community.mdx b/apps/www/app/content/intro/no/join-the-community.mdx
index f1a640b5a6..7693c5a1f3 100644
--- a/apps/www/app/content/intro/no/join-the-community.mdx
+++ b/apps/www/app/content/intro/no/join-the-community.mdx
@@ -20,7 +20,7 @@ Du kan ta del i fellesskapet for å få med deg nyheter og invitasjoner til arra
-
+
Bli med i Slack
diff --git a/apps/www/app/layouts/root/layout.tsx b/apps/www/app/layouts/root/layout.tsx
index 602cb08f1c..dbff89347f 100644
--- a/apps/www/app/layouts/root/layout.tsx
+++ b/apps/www/app/layouts/root/layout.tsx
@@ -28,7 +28,9 @@ const rightLinks: FooterLinkListItemProps[] = [
{
text: 'designsystem@digdir.no' as unknown as FooterLinkListItemProps['text'],
url: 'mailto:designsystem@digdir.no',
- prefix: ,
+ prefix: (
+
+ ),
},
{
text: ['footer.slack'] as unknown as FooterLinkListItemProps['text'],
diff --git a/apps/www/app/routes/home/home.tsx b/apps/www/app/routes/home/home.tsx
index 64ade976ae..a82e047e45 100644
--- a/apps/www/app/routes/home/home.tsx
+++ b/apps/www/app/routes/home/home.tsx
@@ -150,7 +150,7 @@ export default function Home({ loaderData: { posts } }: Route.ComponentProps) {
description={t('frontpage.get-started.description')}
color='blue'
url='fundamentals/introduction/get-started'
- icon={}
+ icon={}
level={2}
/>
@@ -159,7 +159,9 @@ export default function Home({ loaderData: { posts } }: Route.ComponentProps) {
description={t('frontpage.components.description')}
color='red'
url='components'
- icon={}
+ icon={
+
+ }
level={2}
/>
@@ -168,7 +170,7 @@ export default function Home({ loaderData: { posts } }: Route.ComponentProps) {
description={t('frontpage.patterns.description')}
color='yellow'
url='patterns'
- icon={}
+ icon={}
level={2}
/>
@@ -296,20 +298,24 @@ export default function Home({ loaderData: { posts } }: Route.ComponentProps) {
-
+
{t('frontpage.join-section.buttons.slack')}
-
+
{t('frontpage.join-section.buttons.github')}
-
+
{t('frontpage.join-section.buttons.email')}
diff --git a/internal/components/src/clipboard-button/clipboard-button.tsx b/internal/components/src/clipboard-button/clipboard-button.tsx
index 2b826838e3..c3446ea69b 100644
--- a/internal/components/src/clipboard-button/clipboard-button.tsx
+++ b/internal/components/src/clipboard-button/clipboard-button.tsx
@@ -48,7 +48,7 @@ export const ClipboardButton = ({
data-size='sm'
aria-label={ariaLabel}
>
-
+
{text &&
{text}}
diff --git a/internal/components/src/header/header.module.css b/internal/components/src/header/header.module.css
index f9a612fb61..b85339f956 100644
--- a/internal/components/src/header/header.module.css
+++ b/internal/components/src/header/header.module.css
@@ -168,7 +168,7 @@
}
.toggleButton svg {
- font-size: 1.5em;
+ height: 1.5em;
}
@media (max-width: 600px) {
.toggleButton span {
diff --git a/internal/components/src/header/header.tsx b/internal/components/src/header/header.tsx
index 8b346d853d..888bf9040d 100644
--- a/internal/components/src/header/header.tsx
+++ b/internal/components/src/header/header.tsx
@@ -274,9 +274,9 @@ const Header = ({
className={classes.toggleButton}
>
{theme === 'dark' ? (
-
+
) : (
-
+
)}
@@ -294,7 +294,6 @@ const Header = ({
>
@@ -325,7 +324,6 @@ const Header = ({
>
diff --git a/packages/css/src/avatar-stack.css b/packages/css/src/avatar-stack.css
index b70364da2c..f9be319b53 100644
--- a/packages/css/src/avatar-stack.css
+++ b/packages/css/src/avatar-stack.css
@@ -1,9 +1,3 @@
-@property --captured-length {
- syntax: '
';
- inherits: true;
- initial-value: 0px;
-}
-
.ds-avatar-stack {
--dsc-avatar-stack-size: var(--ds-size-12);
--dsc-avatar-stack-gap: 2px;
@@ -14,14 +8,14 @@
--_gap: var(--dsc-avatar-stack-gap);
--_overlap: calc(((var(--dsc-avatar-stack-size) / 100) * var(--dsc-avatar-stack-overlap)) * -1);
- --captured-length: var(--_overlap);
+ --ds-captured-length: var(--_overlap);
display: flex;
align-items: center;
isolation: isolate;
padding-block: 1px;
width: max-content;
margin: 0; /*remove user-agent default for figure*/
- transition: --captured-length 0.2s ease;
+ transition: --ds-captured-length 0.2s ease;
&:focus-visible {
@composes ds-focus--visible from './base.css';
@@ -30,7 +24,7 @@
&[data-expandable] {
&:hover,
&:focus-visible {
- --captured-length: var(--_gap);
+ --ds-captured-length: var(--_gap);
}
}
@@ -52,13 +46,17 @@
.ds-avatar {
--dsc-avatar-size: var(--dsc-avatar-stack-size);
--_font-size: max(0.75rem, calc(var(--dsc-avatar-stack-size) * 0.5));
- mask: radial-gradient(50% 50% at calc(150% + var(--captured-length)), transparent calc(100% - 1px + var(--_gap)), #000 calc(100% + var(--_gap)));
+ mask: radial-gradient(50% 50% at calc(150% + var(--ds-captured-length)), transparent calc(100% - 1px + var(--_gap)), #000 calc(100% + var(--_gap)));
&[data-variant='square'] {
- mask: linear-gradient(to right, #000 calc(100% + var(--captured-length) - var(--_gap)), transparent calc(100% + var(--captured-length) - var(--_gap)));
+ mask: linear-gradient(
+ to right,
+ #000 calc(100% + var(--ds-captured-length) - var(--_gap)),
+ transparent calc(100% + var(--ds-captured-length) - var(--_gap))
+ );
}
&:not(:first-child) {
- margin-left: var(--captured-length);
+ margin-left: var(--ds-captured-length);
}
&:nth-last-child(1 of .ds-avatar) {
diff --git a/packages/css/src/badge.css b/packages/css/src/badge.css
index 2adc64be4a..80df39764a 100644
--- a/packages/css/src/badge.css
+++ b/packages/css/src/badge.css
@@ -51,6 +51,7 @@
position: relative;
height: fit-content;
width: fit-content;
+ --ds-captured-length: 1em;
&:not([hidden]) {
display: inline-flex;
@@ -65,9 +66,10 @@
z-index: 1; /*prevent focus-ring overlaying badge in certain cases*/
}
- & :where(img, svg) {
+ > :where(img, svg) {
flex-shrink: 0; /* Never shrink icon */
- font-size: 1.25em; /* Auto scale icon based on font-size */
+ /* using --ds-captured-length fixes svg not scaling with zoom in Safari */
+ font-size: calc(var(--ds-captured-length) * 1.25); /* Auto scale icon based on font-size */
}
&[data-placement='top-right'] .ds-badge::before {
diff --git a/packages/css/src/base.css b/packages/css/src/base.css
index bc84b84e8a..f325cf2039 100644
--- a/packages/css/src/base.css
+++ b/packages/css/src/base.css
@@ -194,3 +194,10 @@ body {
[data-size] {
font-size: var(--ds-body-md-font-size);
}
+
+/* Capture a length value, e.g. 1em, at the element where the variable is set */
+@property --ds-captured-length {
+ syntax: '';
+ inherits: true;
+ initial-value: 0px;
+}
diff --git a/packages/css/src/button.css b/packages/css/src/button.css
index a0966da051..29656e2822 100644
--- a/packages/css/src/button.css
+++ b/packages/css/src/button.css
@@ -10,6 +10,7 @@
--dsc-button-gap: var(--ds-size-2);
--dsc-button-padding: var(--ds-size-2) var(--ds-size-4);
--dsc-button-size: var(--ds-size-12);
+ --ds-captured-length: 1em;
align-items: center;
background: var(--dsc-button-background);
@@ -52,9 +53,10 @@
font-size: inherit; /* Ensure inheriting font-size when
);
});
diff --git a/packages/react/src/components/Combobox/internal/ComboboxInput.tsx b/packages/react/src/components/Combobox/internal/ComboboxInput.tsx
index 27d52ab58a..289b13c8e8 100644
--- a/packages/react/src/components/Combobox/internal/ComboboxInput.tsx
+++ b/packages/react/src/components/Combobox/internal/ComboboxInput.tsx
@@ -155,9 +155,9 @@ const ComboboxInput = ({
{/* Arrow for combobox. Click is handled by the wrapper */}
{open ? (
-
+
) : (
-
+
)}
diff --git a/packages/react/src/components/link/link.stories.tsx b/packages/react/src/components/link/link.stories.tsx
index 163dc1c5ee..afdc3c58d3 100644
--- a/packages/react/src/components/link/link.stories.tsx
+++ b/packages/react/src/components/link/link.stories.tsx
@@ -46,28 +46,28 @@ export const InText: StoryFn = (args) => (
export const WithIcon: StoryFn = (args) => (