Skip to content

Commit 160ff38

Browse files
authored
docs(www): more components (#4227)
1 parent 8d5fe0c commit 160ff38

File tree

179 files changed

+3785
-1695
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+3785
-1695
lines changed

apps/www/app/_components/live-component/live-component.module.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
background-color: var(--ds-color-neutral-background-tinted);
6464
display: grid;
6565
grid-template-columns: 1fr auto auto auto;
66+
margin-block-end: var(--ds-size-4);
67+
6668
&[hidden] {
6769
display: none;
6870
}

apps/www/app/_components/live-component/live-components.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const scopes = {
2828
useState,
2929
useEffect,
3030
useRef,
31+
useId,
3132
};
3233

3334
export type LiveComponentProps = {

apps/www/app/content/components/alert/alert.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ export const MedLenke = () => (
121121
</Heading>
122122
<Paragraph>
123123
Fristen for å søke opptak til utdanning er 15. april.{' '}
124-
<Link href='https://designsystemet.no/'>Søk nå</Link>
124+
<Link href='#'>Søk nå</Link>
125125
</Paragraph>
126126
</Alert>
127127
);

apps/www/app/content/components/alert/no/code.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
## Bruk
21
<Story story="Preview" />
3-
42
<ReactComponentDocs />
53

4+
## Bruk
65
```tsx
76
import { Alert } from '@digdir/designsystemet-react';
87

apps/www/app/content/components/alert/no/overview.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ Bruk `danger` for å informere om noe som er kritisk eller som hindrer brukeren
4242
### Med og uten overskrift
4343

4444
Hvis meldingen er lenger enn en setning kan det være nyttig å bruke en overskrift til å fremheve det viktigste.
45-
Dette kan gjøres ved bruk av [Heading](/no/components/heading/overview)-komponentene.
46-
Husk å velge riktig overskriftsnivå ut fra plassen alert har i innholdsstrukturen på siden.
45+
Dette kan gjøres med [`Heading`](/no/components/heading/overview).
46+
Husk å velge riktig overskriftsnivå ut fra plassen `Alert` har i innholdsstrukturen på siden.
4747

4848
<Story story="WithHeading" />
4949

apps/www/app/content/components/avatar/avatar.stories.tsx

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,21 @@ export const ShapeVariants = () => (
5656
</>
5757
);
5858

59-
export const WithImage = () => (
60-
<Avatar aria-label='Ola Nordman'>
61-
<img src='/img/component-docs/cats/cat1.webp' alt='' />
62-
</Avatar>
59+
export const WithImageAndIcon = () => (
60+
<>
61+
<Avatar aria-label='Ola Nordman'>
62+
<img src='/img/component-docs/cats/cat1.webp' alt='' />
63+
</Avatar>
64+
<Avatar aria-label='Ola Nordman'>
65+
<BriefcaseIcon />
66+
</Avatar>
67+
</>
6368
);
6469

6570
export const InDropdown = () => (
6671
<Dropdown.TriggerContext>
6772
<Dropdown.Trigger variant='tertiary'>
68-
<Avatar aria-label='Ola Nordmann' data-size='sm'>
73+
<Avatar aria-hidden='true' data-size='sm'>
6974
ON
7075
</Avatar>
7176
Velg Profil
@@ -76,7 +81,7 @@ export const InDropdown = () => (
7681
<Dropdown.Button>
7782
<Badge.Position overlap='circle'>
7883
<Badge data-color='danger' data-size='sm'></Badge>
79-
<Avatar aria-hidden={true} data-size='xs'>
84+
<Avatar aria-hidden='true' data-size='xs'>
8085
ON
8186
</Avatar>
8287
</Badge.Position>
@@ -85,7 +90,7 @@ export const InDropdown = () => (
8590
</Dropdown.Item>
8691
<Dropdown.Item>
8792
<Dropdown.Button>
88-
<Avatar aria-hidden data-size='xs'>
93+
<Avatar aria-hidden='true' data-size='xs'>
8994
<BriefcaseIcon />
9095
</Avatar>
9196
Sogndal kommune
@@ -95,15 +100,3 @@ export const InDropdown = () => (
95100
</Dropdown>
96101
</Dropdown.TriggerContext>
97102
);
98-
InDropdown.parameters = {
99-
layout: 'fullscreen',
100-
customStyles: {
101-
height: '320px',
102-
},
103-
};
104-
105-
export const AsLink = () => (
106-
<a href='#'>
107-
<Avatar aria-label='Ola Nordmann' />
108-
</a>
109-
);

apps/www/app/content/components/avatar/en/code.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { Avatar } from '@digdir/designsystemet-react';
2828
</>
2929
```
3030

31-
## Kodeeksempler
31+
## Eksempel
3232

3333
### Standard Ikon
3434

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
`Avatar` må enten ha en `aria-label` som forklarer hvem eller hva avataren representerer, eller ha `aria-hidden` og synlig tekst som formidler den samme informasjonen. Ikke spesifiser i `aria-label` at det er et bilde, skjermleseren formidler dette automatisk. Det holder å bruke navnet, som for eksempel `aria-label="Ola Nordmann"`.
2+
3+
Bilder, og andre `children`, får automatisk `aria-hidden="true"` for å unngå dobbel informasjon.
Lines changed: 53 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,99 @@
11
<Story story="Preview" />
22

3-
## Props
43
<ReactComponentDocs />
54

65
## Bruk
76

87
```tsx
98
import { Avatar } from '@digdir/designsystemet-react';
10-
<>
11-
/* Med standard brukerikon */
12-
<Avatar aria-label="Ola Nordmann" />
139

14-
/* Med initialer */
15-
<Avatar aria-label="Ola Nordmann">ON</Avatar>
10+
<>
11+
{/* Med standard brukerikon */}
12+
<Avatar aria-label="Ola Nordmann" />
1613

17-
/* Med bilde */
18-
<Avatar aria-label="Ola Nordmann">
19-
<img src="..." />
20-
</Avatar>
14+
{/* Med initialer */}
15+
<Avatar aria-label="Ola Nordmann">ON</Avatar>
16+
{/* eller */}
17+
<Avatar aria-label="Ola Nordmann" data-initials="ON" />
2118

22-
/* Sammen med synlig tekst */
19+
{/* Med bilde */}
20+
<Avatar aria-label="Ola Nordmann">
21+
<img src="..." />
22+
</Avatar>
2323

24+
{/* Sammen med synlig tekst */}
2425
<Avatar aria-hidden>ON</Avatar>
2526
<span>Ola Nordmann</span>
2627
</>
2728
```
2829

29-
## Kodeeksempler
30+
## Eksempel
3031

3132
### Standard Ikon
3233

34+
Dersom du ikke sender inn noen `children`, vil `Avatar` vise et standard brukerikon.
35+
36+
Dette kan overstyres i css med variabelen `--dsc-avatar-icon-url`. Se liste over CSS variabler nederst på siden.
37+
3338
<Story story="NoName" />
3439

3540
### Størrelser
3641

42+
Komponenten styres med `data-size`, og vil arve størrelse fra nærmeste forelder med `data-size` satt.
43+
3744
<Story story="Sizes" />
3845

3946
### Farger
4047

48+
Alle farger i ditt tema er gyldige, og komponenten vil arve nærmeste `data-color`.
49+
4150
<Story story="ColorVariants" />
4251

4352
### Varianter
4453

54+
`variant` prop kan settes til `square` eller `circle`. `circle` er standard.
55+
4556
<Story story="ShapeVariants" />
4657

47-
### Med bilde
58+
### Med bilde eller ikon
4859

49-
<Story story="WithImage" />
60+
Dersom du legger bilder eller ikon som barn vil disse få `aria-hidden="true"` automatisk for å unngå dobbel informasjon.
61+
Du må selv sette `aria-label``Avatar` for å forklare hvem eller hva avataren representerer.
5062

51-
### I `Dropdown`
63+
<Story story="WithImageAndIcon" />
64+
65+
### Komponering
66+
67+
Komponenten skal kunne komponeres inn i andre komponenter.
68+
Her er et eksempel på bruk av `Avatar` inne i en `Dropdown`-komponent.
5269

5370
<Story story="InDropdown" />
5471

55-
### Som lenke
72+
## HTML
5673

57-
<Story story="AsLink" />
74+
Avatar bruker klassenavnet `ds-avatar` på en `<span>` med `role="img"`.
5875

59-
## CSS
76+
```html
77+
<!-- Med standard brukerikon -->
78+
<span class="ds-avatar" role="img" aria-label="Ola Nordmann"></span>
6079

61-
### Variabler
80+
<!-- Med initialer -->
81+
<span class="ds-avatar" role="img" aria-label="Ola Nordmann">ON</span>
82+
<!-- eller -->
83+
<span class="ds-avatar" role="img" aria-label="Ola Nordmann" data-initials="ON"></span>
6284

63-
<CssVariables />
85+
<!-- Med bilde -->
86+
<span class="ds-avatar" role="img" aria-label="Ola Nordmann">
87+
<img src="..." aria-hidden="true" />
88+
</span>
6489

65-
### Attributter
90+
<!-- Sammen med synlig tekst -->
91+
<span class="ds-avatar" aria-hidden="true">ON</span>
92+
<span>Ola Nordmann</span>
93+
```
94+
95+
## CSS variabler og data-attributter
96+
97+
<CssVariables />
6698

6799
<CssAttributes />

apps/www/app/content/components/avatar/no/overview.mdx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
11
<Story story="Preview" />
22

3+
**Bruk `Avatar` når:**
4+
- en person eller enhet skal representeres.
5+
6+
**Unngå `Avatar` når:**
7+
- noe annet enn en person eller enhet skal representeres, for eksempel et dokument. Bruk heller ikoner eller andre visuelle symboler.
8+
- det brukes rent visuelt, uten funksjon eller mening.
9+
10+
## Eksempel
11+
12+
### Farger
13+
14+
<Story story="ColorVariants" />
15+
16+
### Varianter
17+
18+
<Story story="ShapeVariants" />
19+
320
## Retningslinjer
421
`Avatar` skal bidra til å gjøre brukergrensesnittet mer gjenkjennelig og lett å navigere i, uten å forstyrre eller ta for mye plass.
522

623
- Bruk samme form på avataren på en konsekvent måte i hele løsningen.
724
- Avataren bør som regel kombineres med tekst, med mindre det er helt åpenbart hvem eller hva avataren representerer.
825
- Bruk avatar kun når det faktisk gir verdi for brukeropplevelsen, for eksempel å vise hvem som har skrevet noe, eller hvem som er ansvarlig.
926

10-
**Passer til:**
11-
- Å representere en person eller enhet.
12-
13-
**Passer ikke til:**
14-
- Å representere noe annet enn en person eller enhet, for eksempel et dokument. Bruk heller ikoner eller andre visuelle symboler.
15-
- Å brukes rent visuelt, uten funksjon eller mening.
1627

1728
## Tekst
1829
`Avatar` skal som hovedregel ikke inneholde tekst i selve komponenten, med unntak av når initialer brukes. Annen tekst, for eksempel fullt navn, rolle eller organisasjon, bør vises utenfor avataren for å sikre god lesbarhet.
19-
20-
## Tilgjengelighet
21-
`Avatar` må enten ha en `aria-label` som forklarer hvem eller hva avataren representerer, eller ha `aria-hidden` og synlig tekst som formidler den samme informasjonen. Ikke spesifiser i `aria-label` at det er et bilde, skjermleseren formidler dette automatisk. Det holder å bruke navnet, som for eksempel `aria-label="Ola Nordmann"`.
22-
23-
Bilder, og andre `children`, får automatisk `aria-hidden="true"` for å unngå dobbel informasjon.

0 commit comments

Comments
 (0)