Compare commits

..
Author SHA1 Message Date
github-actions[bot] 5f6bd160d6 Lerna versionbump [ci skip]
- @navikt/ds-react@0.16.6
 - @navikt/ds-react-internal@0.11.6
2022-02-14 09:49:45 +00:00
Andreas Nordahl b876ffb607 [fix] add specific table types (#1422) 2022-02-14 10:42:08 +01:00
Ken 6886cf7a67 Delay on button-story for chromatic (#1417) 2022-02-11 13:03:43 +01:00
github-actions[bot] a9e58e7bb2 Lerna versionbump [ci skip]
- @navikt/ds-css@0.15.3
2022-02-11 08:22:17 +00:00
Ken 861803f5ae [fix] hover farge-fix (#1418) 2022-02-11 09:15:12 +01:00
github-actions[bot] 5d383b754f Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.4
 - @navikt/ds-react@0.16.5
 - @navikt/ds-react-internal@0.11.5
2022-02-10 15:23:35 +00:00
Andreas Nordahl a8dc377870 [fix] update icons (#1416) 2022-02-10 16:15:16 +01:00
github-actions[bot] ead0378644 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.3
 - @navikt/ds-react@0.16.4
 - @navikt/ds-react-internal@0.11.4
2022-02-08 15:50:02 +00:00
KenandKenAJoh 10a6bc18c4 [FIX] Ikonsynk Figma (#1414)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-02-08 16:42:29 +01:00
github-actions[bot] 68d4b60f0e Lerna versionbump [ci skip]
- @navikt/ds-react@0.16.3
 - @navikt/ds-react-internal@0.11.3
2022-02-08 15:11:06 +00:00
Karl O 106e37bc54 [FIX] allow passing aria props to react-modal in modal (#1412) 2022-02-08 16:02:50 +01:00
github-actions[bot] 78080293d3 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.2
 - @navikt/ds-react@0.16.2
 - @navikt/ds-react-internal@0.11.2
2022-02-08 13:03:24 +00:00
KenandKenAJoh d511210582 [fix] Ikoner synket fra figma (#1411)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-02-08 13:55:36 +01:00
github-actions[bot] 78b103bb3e Lerna versionbump [ci skip]
- @navikt/ds-css@0.15.2
2022-02-08 10:36:10 +00:00
Ken 9c78338164 [fix] fikset tokens css (#1410) 2022-02-08 11:29:01 +01:00
github-actions[bot] 08c9069879 Lerna versionbump [ci skip]
- @navikt/ds-css@0.15.1
 - @navikt/ds-react@0.16.1
 - @navikt/ds-tailwind@0.1.2
 - @navikt/ds-react-internal@0.11.1
2022-02-07 13:05:59 +00:00
Ken 3ab1645994 [fix] fjernet failed import i typo story 2022-02-07 13:49:10 +01:00
Ken a64fc8905d fikset tailwind versjon 2022-02-07 13:40:53 +01:00
Ken 5d83818c1b yarn lock 2022-02-07 13:40:53 +01:00
github-actions[bot] 1148825a99 Lerna versionbump [ci skip]
- @navikt/ds-css@0.15.0
 - @navikt/ds-react@0.16.0
 - @navikt/ds-react-internal@0.11.0
2022-02-07 12:32:00 +00:00
Ken 778b1a4932 [FEATURE] Fjernet 2xlarge Heading, mobilskalering (#1401) 2022-02-07 13:24:18 +01:00
github-actions[bot] 74b77c0bba Lerna versionbump [ci skip]
- @navikt/ds-css@0.14.2
 - @navikt/ds-tailwind@0.1.1
 - @navikt/ds-tokens@0.8.1
2022-02-07 11:37:49 +00:00
Ken 5fc4ea483d [FIX] Tailwind config i ds-tokens (#1397)
* satt opp filstruktur

* json fil med formaterte tokens

* forenklet build

* satt opp data for tailwind

* la til gitignore

* fikset gitignore

* colors test

* ferdig tailwind config

* satt opp gitignore

* slettet git fil

* flyttet gitignore

* flettet tw.config

* comments

* fikset var prefix

* oppdatert build-script

* tailwind pakke

* flyttet tailwind pakke

* fjernet npmignore

* oppdatert src i package json

* fikset config

* flyttet theme under extended

* fjernet console.log

* fikset tsconfig?

* flyttet colors ut av extend

* tsconfig fix v ts-ignore

* sikrer riktig bygg-rekkefølge

* force token build
2022-02-07 12:30:21 +01:00
github-actions[bot] d002c03647 Lerna versionbump [ci skip]
- @navikt/ds-react@0.15.3
 - @navikt/ds-react-internal@0.10.3
2022-02-02 11:41:48 +00:00
larseirikhansen da1ffe8318 [FIX] HelpText Popover scroll (#1406)
* FIX: HelpText Popover scroll

* edge case in case focus() does not exist on ref
2022-02-02 12:33:23 +01:00
github-actions[bot] 0128f5a467 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.1
 - @navikt/ds-react@0.15.2
 - @navikt/ds-react-internal@0.10.2
2022-01-31 14:20:25 +00:00
KenandKenAJoh 0a61ab629a [FIX] Ikonsynk Figma (#1405)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-01-31 15:13:25 +01:00
github-actions[bot] 4ea5face0c Lerna versionbump [ci skip]
- @navikt/ds-css@0.14.1
 - @navikt/ds-react@0.15.1
 - @navikt/ds-react-internal@0.10.1
2022-01-28 11:54:39 +00:00
Andreas NordahlandKen 248a83221a [fix] Indeterminate checkbox (#1404)
* functional

* styles

* flyttet global token til root

Co-authored-by: Ken <ken.aleksander@gmail.com>
2022-01-28 12:47:01 +01:00
github-actions[bot] eceaa7e659 Lerna versionbump [ci skip]
- @navikt/ds-css@0.14.0
 - @navikt/ds-icons@0.8.0
 - @navikt/ds-react@0.15.0
 - @navikt/ds-react-internal@0.10.0
2022-01-28 09:24:05 +00:00
KenandAndreas Nordahl 811c0024c5 [FEATURE] AccordionMenu -> Menu
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2022-01-28 10:17:16 +01:00
Andreas Nordahl aaefaddb13 Purge doc stories (#1403) 2022-01-27 17:31:53 +01:00
github-actions[bot] f464347f6e Lerna versionbump [ci skip]
- @navikt/ds-css@0.13.0
 - @navikt/ds-tokens@0.8.0
2022-01-27 09:54:20 +00:00
github-actions[bot]andKenAJoh 6608d01c1e [FEATURE] Tokens sync Figma (#1402)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-01-27 10:47:08 +01:00
github-actions[bot] 335bc62922 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.14
 - @navikt/ds-react@0.14.15
 - @navikt/ds-react-internal@0.9.15
2022-01-22 17:20:09 +00:00
Ken 3c230d8f4c [FIX] Accordion: Figma 3.0 Beta sync (#1390) 2022-01-22 18:12:10 +01:00
Ken 5bb7de3b4c [ci skip] readme link fix 2022-01-22 18:09:47 +01:00
github-actions[bot] 9597c24328 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.13
 - @navikt/ds-react@0.14.14
 - @navikt/ds-react-internal@0.9.14
2022-01-21 13:57:29 +00:00
Ken 2642c2914e [FIX] loading-state på Switch bli nå disabled (#1396) 2022-01-21 14:50:02 +01:00
github-actions[bot] 74d0b0cf1f Lerna versionbump [ci skip]
- @navikt/ds-icons@0.7.3
 - @navikt/ds-react@0.14.13
 - @navikt/ds-react-internal@0.9.13
2022-01-21 13:29:24 +00:00
Ken 55ca4d26a7 [FIX] Oppdatert ikoner og bygg (#1394) 2022-01-21 14:21:14 +01:00
github-actions[bot] 474ea81bbd Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.12
 - @navikt/ds-react@0.14.12
 - @navikt/ds-react-internal@0.9.12
2022-01-21 08:44:31 +00:00
Ken ae8ee87897 [FIX] sr-only -> navds-sr-only (#1393) 2022-01-21 09:37:17 +01:00
Ken ecf96dac16 [ci skip] oppdatert contributing 2022-01-19 10:12:07 +01:00
Ken 982e1dce2c [ci skip] contributors i readme 2022-01-19 09:58:41 +01:00
Ken f910ca1c15 Update README.md 2022-01-18 19:41:57 +01:00
Ken 1c161d1403 [ci skip] Legger til enringslogg-lenke i Readme 2022-01-18 19:21:34 +01:00
Ken 279c89195e Update CHANGELOG.md 2022-01-18 19:17:48 +01:00
github-actions[bot] 260085f026 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.11
2022-01-18 14:04:13 +00:00
Ken c70a3a78e8 [FIX] Textfield: CSS-sync med figma 3.0 beta (#1391) 2022-01-18 14:56:06 +01:00
github-actions[bot] 236feb37e8 Lerna versionbump [ci skip]
- @navikt/ds-react@0.14.11
 - @navikt/ds-react-internal@0.9.11
2022-01-17 18:45:21 +00:00
Ken 29ea9f4cb3 [FIX] Modal: optional closebutton, button variant="tertiary" (#1389) 2022-01-17 19:37:51 +01:00
github-actions[bot] ebb04c4a56 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.10
 - @navikt/ds-react@0.14.10
 - @navikt/ds-react-internal@0.9.10
2022-01-17 14:30:00 +00:00
438c844221 [fix] Add loading state for Button component (#1376) (#1383)
* Add loading state for Button component (#1376)

* add loading prop

* hide content when loading, spinner not centered

* change button loading state with useEffect

* add button component back in

* use a new ref

* add variants for loader buttons

* set loading in state

* add toggle button

* add toggle button

* hide small buttons

* add description for isLoading prop

* move story section to bottom

* destructure imports

* use react-merge-refs

* import useState

* refactor

* refactor

* only set boolean in state

* remove width style when loader removed

* fix slight movement due to rounding width

* adjust loader size to button

* fix button width logic

* useLayoutEffect instead of useEffect for button with handling

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* loading button is now disabled. also aria-live=polite

* loading button in story toggles loading

* remove aria-live prop

* rename isLoading to be consistent with Switch

* Update @navikt/core/react/src/button/Button.tsx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* move button specific loader style

* stories

* aria-live is back

Co-authored-by: Bjørn Harbo Dahle <bdahle@hey.com>
Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
Co-authored-by: Ken <ken.aleksander@gmail.com>
2022-01-17 15:22:12 +01:00
Ken 656de64a4d [ci skip] Oppdatert Storybook, bedre dev-løsning (#1388) 2022-01-17 12:58:03 +01:00
dependabot[bot] 777f3ec95b Bump follow-redirects from 1.14.6 to 1.14.7 (#1385)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-17 10:42:43 +01:00
github-actions[bot] adebf90f68 Lerna versionbump [ci skip]
- @navikt/ds-react@0.14.9
 - @navikt/ds-css-internal@0.7.1
 - @navikt/ds-react-internal@0.9.9
2022-01-14 11:02:32 +00:00
Andreas Nordahl 77fc400688 [fix] disabled dropdown item style (#1387) 2022-01-14 11:54:56 +01:00
Ken 004dfb90f1 fikset console errors i Switch 2022-01-14 09:22:31 +01:00
github-actions[bot] 327c92131b Lerna versionbump [ci skip]
- @navikt/ds-react@0.14.8
 - @navikt/ds-react-internal@0.9.8
2022-01-13 14:59:04 +00:00
Ken 6b1f395df8 [FIX] Kan endre posisjonerings-strategi for Popover (#1386) 2022-01-13 15:51:16 +01:00
github-actions[bot] 381adf6cb1 Lerna versionbump [ci skip]
- @navikt/ds-react@0.14.7
 - @navikt/ds-react-internal@0.9.7
2022-01-13 10:42:48 +00:00
Ken 47ef162268 [FIX] aria-hidden på LinkPanel ikon (#1384) 2022-01-13 11:34:42 +01:00
github-actions[bot] d9359d1a86 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.9
 - @navikt/ds-react@0.14.6
 - @navikt/ds-react-internal@0.9.6
2022-01-11 11:08:28 +00:00
Ken b08d922689 [FIX] Oppdatert Switch design (#1380) 2022-01-11 12:01:11 +01:00
github-actions[bot] 3db81c9b79 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.8
 - @navikt/ds-react@0.14.5
 - @navikt/ds-react-internal@0.9.5
2022-01-10 13:53:12 +00:00
Andreas NordahlandKen be26724b07 [fix] aria-hidden on select chevron (#1379)
* aria-hidden on select chevron

* Update @navikt/core/react/src/form/Select.tsx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2022-01-10 14:44:34 +01:00
95ac6ebf3c [FIX] StepIndicator (Stegindikator) for ds-react/ds-css (#1361)
* Stegindikator migrering (#1352)

Co-authored-by: bdahle <bdahle@hey.com>

* satt opp stepindicator med step

* oppdatert stepindicator api

* påbegynt styling av step-indicator

* lint fix

* oppdatert step-indicator

* refactored css completely

* fikset text-decoration for hover state

* fjernet autoresponsive prop

* mdx story for step-indicator

* implemenetert autoResponsive

* renamet autoRepsonsive -> responsive

* fikset responsive dok

* interaktivt step-indicator story

* flyttet tokens opp til root i css

* syntax fix

* router story and onChange optional

* oopsie

* Opprydding i Repo, flytting av gammel kode til nytt repo (#1372)

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* [FEATURE] Fix icon names (#1375)

* [ci skip] update readme

* bedre disabled handling, mindre number med samme klikkflate

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
Co-authored-by: bdahle <bdahle@hey.com>
2022-01-07 11:48:33 +01:00
github-actions[bot] b74f5d6184 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.7
 - @navikt/ds-icons@0.7.2
 - @navikt/ds-react@0.14.4
 - @navikt/ds-tokens@0.7.1
 - @navikt/ds-react-internal@0.9.4
2022-01-07 08:53:21 +00:00
Andreas Nordahl 0386752686 [fix] small select padding-right bug (#1377) 2022-01-07 09:45:56 +01:00
Ken 0a3fe8a1d9 [ci skip] update readme 2022-01-03 09:36:00 +01:00
Andreas Nordahl 855c2eac9e [FEATURE] Fix icon names (#1375) 2022-01-03 09:34:45 +01:00
KenandAndreas Nordahl ed90d205b6 Opprydding i Repo, flytting av gammel kode til nytt repo (#1372)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2022-01-03 09:33:38 +01:00
Andreas Nordahl d1bd479cf3 check for isChromatic to render icon stories (#1374) 2021-12-30 10:33:44 +01:00
github-actions[bot] c24f5a029c Lerna versionbump [ci skip]
- @navikt/ds-icons@0.7.1
 - @navikt/ds-react@0.14.3
 - @navikt/ds-react-internal@0.9.3
2021-12-22 10:31:55 +00:00
Andreas Nordahl 129769128e [fix] update icons (#1373)
* update icons

* rename some icons
2021-12-22 11:18:54 +01:00
github-actions[bot] ce1c6de935 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.6
 - @navikt/ds-react@0.14.2
 - @navikt/ds-react-internal@0.9.2
2021-12-21 14:02:07 +00:00
Ken 6f430ae69c [FIX] Switch-komponent (#1359) 2021-12-21 14:47:59 +01:00
github-actions[bot] ab03820591 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.5
2021-12-17 12:27:25 +00:00
Andreas Nordahl 9016c9bff4 [fix] selector specificity bug in zebra table (#1370) 2021-12-17 13:14:11 +01:00
github-actions[bot] 99ed25a0b4 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.4
 - @navikt/ds-react@0.14.1
 - @navikt/ds-react-internal@0.9.1
2021-12-17 10:23:03 +00:00
Andreas NordahlandKen 488168f6ed [fix] Table updates (#1369)
* adjust table sizes

* add table body row hover style

* add zebra style option to table

* add simple table row selection

* add table row hover dark borderC

* move table checkbox style to table.css

* small selection table

* fix token ref

* a11y table story for morten

* hack type errors

* fix id issue

* Update @navikt/core/css/table.css

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* Update @navikt/core/css/table.css

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* Update @navikt/core/css/table.css

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* define table css custom props

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2021-12-17 11:10:19 +01:00
Ken 12d81f8553 [ci skip] Fjernet ubrukte eksempler 2021-12-16 15:47:49 +01:00
Ken abcee8bad6 [ci skip] fjernet cron-job tokens 2021-12-16 15:37:46 +01:00
github-actions[bot] 815b07c3ff Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.3
2021-12-16 10:04:44 +00:00
Ken 942d0c522a [FIX] FIkser bakgrunn for textarea (#1368) 2021-12-16 10:52:01 +01:00
Ken 34dfa9d1ee exitZeroOnChanges: false chromatic workflow 2021-12-15 22:57:46 +01:00
Ken fa3032d13c chromatic workflow 2021-12-15 22:09:47 +01:00
Ken b12086625a [ci skip] chromatic workflow 2021-12-15 17:56:32 +01:00
Ken c1e78d0359 [ci skip] chromatic workflow 2021-12-15 16:36:19 +01:00
Ken 7fbad47841 [ci skip] chromatic workflow 2021-12-15 15:13:07 +01:00
Ken 3c426e07e7 [ci skip] chromatic-workflow 2021-12-15 15:06:55 +01:00
Ken 662ab4cbfd [ci skip] Tester endring i conditionals, chromatic-workflow 2021-12-15 14:45:49 +01:00
Ken 85a816e415 [ci skip] Finner nå riktig chromatic comment i pr 2021-12-15 14:26:59 +01:00
Ken 613339f289 [ci skip] logger chromatic output 2021-12-14 17:17:10 +01:00
Ken 48b42c0a8f [ci skip] fikset comments 2021-12-14 16:57:28 +01:00
Ken a28b70343a get status for chromatic build in comments 2021-12-14 16:39:29 +01:00
Ken 762fa3ef08 continue-on-error for chromatic error 2021-12-14 16:17:18 +01:00
Ken 8bf95d7c58 splittet push og pr build 2021-12-14 15:39:25 +01:00
Ken 3a08d0e25c la til commit-sha i chromatic melding 2021-12-14 15:21:31 +01:00
Ken 685b443374 chromatic-status fix 2021-12-14 15:18:22 +01:00
Ken d107eecc93 la til chromatic status i comment 2021-12-14 15:06:20 +01:00
Ken 879d8f6306 workflow for chromatic pr, fjernet vercel 2021-12-14 15:04:06 +01:00
github-actions[bot] 6641304e0e Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.2
2021-12-14 11:03:29 +00:00
Ken d56d329547 [FIX] button:disabled opacity til 0.3, tidligere 30% (#1363) 2021-12-14 11:48:29 +01:00
Ken afefca5b46 Update chromatic.yml 2021-12-14 11:30:57 +01:00
Ken 918a189c3e oppdatert workflow 2021-12-14 11:15:13 +01:00
Ken bef36ccf81 workflow for chromatic PR 2021-12-14 11:13:13 +01:00
github-actions[bot] 80ad6349e2 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.1
2021-12-13 12:41:19 +00:00
Ken 67dc10d290 [FIX] active:disabled styling for button (#1360) 2021-12-13 13:25:59 +01:00
Ken 05477b273e fikset alias for vercel deploy 2021-12-13 11:23:13 +01:00
Ken 0b05928f69 vercel workflow- kjører ikke dev på master push 2021-12-13 11:02:41 +01:00
Ken f5b2012245 vercel workflow fix 2021-12-13 11:01:08 +01:00
Ken 3b59d03bca vercel workflow 2021-12-13 10:59:48 +01:00
Ken 794c6fea4e oppdatert gitignore 2021-12-13 10:51:10 +01:00
Ken 01cc0b3703 Update README.md 2021-12-10 13:13:49 +01:00
github-actions[bot] 36d98e1d19 Lerna versionbump [ci skip]
- @navikt/ds-css@0.12.0
 - @navikt/ds-icons@0.7.0
 - @navikt/ds-react@0.14.0
 - @navikt/ds-tokens@0.7.0
 - @navikt/ds-css-internal@0.7.0
 - @navikt/ds-react-internal@0.9.0
2021-12-07 15:12:59 +00:00
705b2cbe9c [FEATURE] Tokens migrering (#1332)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-07 15:53:48 +01:00
dependabot[bot] 2fc2572d93 Bump prismjs from 1.23.0 to 1.25.0 (#1354)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-07 15:31:21 +01:00
Ken 5fd0b3cffd hotfix god-praksis accordion margin-bottom 2021-12-07 15:07:51 +01:00
Ken ead802c0d8 hotfix god-praksis accordion margin-bottom 2021-12-07 13:41:54 +01:00
Ken eb9ca68e5c Update README.md 2021-12-07 13:11:39 +01:00
Ken 89a604bd57 Fjernet lvl2 toc fra god-praksis template 2021-12-06 16:23:14 +01:00
Ken 9465cdf30a [FEATURE] React og @types/react til v17 i peerDep (#1355) 2021-12-06 16:13:58 +01:00
Ken cb482b4cdc Update README.md 2021-12-06 14:18:51 +01:00
github-actions[bot] f6c4f853af Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.5
 - @navikt/ds-react@0.13.3
 - @navikt/ds-react-internal@0.8.3
2021-12-06 11:09:52 +00:00
KenandAndreas Nordahl 9a2cd06452 [FEATURE] 3.0 Beta sync (#1341)
* checkbox border + spacing

* oppdatert spacing + description

* oppdatert checkbox til 3.0 beta

* lint fix

* disabled for checkbox

* fjernet ubrukte tokens

* generell opacity 0.3

* reduce checkbox label spacing

* adjust checkbox desc placement

* bruker nå Detail for small description

* reduce error message bullet spacing

* adjust small checkbox alignment

* adjust error message and fieldset spacing

* remove duplicate disabled opacity

* reduce fieldset desc margin

* small checkbox size

* [FIX] Beta 3.0 Disabled for restrende form-elementer (#1346)

* fieldset

* oppdatert textfield

* select disabled

* fikset additive opacity fieldset

* remove duplicate disabled style

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* Beta 3.0 Radio (#1342)

* oppdatert small

* oppdatert radio error

* oppdatert disabled for radio

* fjernet ubrukte tokens

* radio by box shadow

* some radio positioning and fieldset desc size

* remove duplicate disabled opacity

* oopsie

* oopsie

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* align small checkbox desc

* align hidden input of small checkbox and radio

* combine radio and checkbox styles

* lint fixes

* error on checkbox and radio is boolean

* remove errorPopagation from checkbox group and radio group

* remove error from radio as it only makes sense on group

* cleanup checkbox stories

* cleanup radio stories

* update radio and checkbox how-to guides

* place and size checkmark absolutely to fix strange rounding behaviour

* padding around label

* oopsie

* Beta 3.0 Textfield (#1343)

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* radio-label/desc as "div"

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-12-06 11:52:59 +01:00
Ken 40ae4d9a20 Update README.md 2021-12-06 10:46:24 +01:00
Ken 3e835fc76c kan nå bruke accordion i god-praksis 2021-12-03 13:53:39 +01:00
github-actions[bot] 2ad9183b09 Lerna versionbump [ci skip]
- @navikt/ds-react@0.13.2
 - @navikt/ds-react-internal@0.8.2
2021-12-02 13:23:57 +00:00
Andreas Nordahl 627b4f06cb [fix] field description as div (#1353) 2021-12-02 14:05:07 +01:00
Ken 3977927ac8 Update README.md 2021-11-26 10:57:26 +01:00
Ken 6f81c2cf4e Update update-tokens.yml 2021-11-18 11:57:06 +01:00
github-actions[bot] 46f97b006f Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.4
 - @navikt/ds-tokens@0.6.3
2021-11-17 14:28:50 +00:00
Ken 9338995a3c [FIX] Nested token-parsing (#1347) 2021-11-17 15:09:59 +01:00
github-actions[bot] e3cf943ab3 Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.3
2021-11-15 13:33:02 +00:00
Andreas Nordahl 59a3c71821 [FIX] Reduce body line-height to make struts smaller 2021-11-15 14:12:54 +01:00
Andreas NordahlandKen edab708a93 add security playbook card to front page. adjust styling (#1330)
Co-authored-by: Ken <ken.aleksander@gmail.com>
2021-11-12 15:50:05 +01:00
github-actions[bot] c291a6106f Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.2
 - @navikt/ds-tokens@0.6.2
2021-11-12 13:43:24 +00:00
github-actions[bot]andKenAJoh 8f0601e93f [FIX] Tokens sync Figma (#1331)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2021-11-12 14:27:21 +01:00
github-actions[bot] 03a9d1a554 Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.1
 - @navikt/ds-icons@0.6.3
 - @navikt/ds-react@0.13.1
 - @navikt/ds-tokens@0.6.1
 - @navikt/ds-react-internal@0.8.1
2021-11-12 11:01:46 +00:00
github-actions[bot]andKenAJoh c58688a966 [FIX] Tokens sync Figma (#1328)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2021-11-12 11:45:51 +01:00
Ken f242e5028c Fikset parsing til Style Dictionary format (#1329) 2021-11-12 11:08:51 +01:00
KenandAndreas Nordahl 92e13a173f [FIX ] ikon id prefikset (#1324)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-11-12 10:05:52 +01:00
github-actions[bot] a06b27a218 Lerna versionbump [ci skip]
- @navikt/ds-css@0.11.0
 - @navikt/ds-react@0.13.0
 - @navikt/ds-tokens@0.6.0
 - @navikt/ds-react-internal@0.8.0
2021-11-11 17:30:19 +00:00
KenandAndreas Nordahl 942f611c38 [FEATURE] Henter tokens fra Figma (#1270)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-11-11 18:08:31 +01:00
github-actions[bot] 9754e17057 Lerna versionbump [ci skip]
- @navikt/ds-react-internal@0.7.4
2021-11-11 16:13:22 +00:00
Ken 656d53c9e4 [FIX] Fjernet aria-haspopup fra toggle-button (#1325) 2021-11-11 16:57:21 +01:00
Ken d0bf3d81a8 Update update-icons.yml 2021-11-06 13:47:34 +01:00
github-actions[bot] 39c4c751d8 Lerna versionbump [ci skip]
- @navikt/ds-react@0.12.3
 - @navikt/ds-react-internal@0.7.3
2021-11-05 11:00:44 +00:00
Andreas Nordahl dacaf44ea8 [fix] controlled radio group no longer logs errors (#1322) 2021-11-05 11:42:35 +01:00
github-actions[bot] 8c4c73cc2e Lerna versionbump [ci skip]
- @navikt/ds-icons@0.6.2
 - @navikt/ds-react@0.12.2
 - @navikt/ds-react-internal@0.7.2
2021-11-03 10:23:10 +00:00
KenandKenAJoh 324eb29f02 [FIX] Ikonsynk Figma (#1319)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2021-11-03 11:05:24 +01:00
github-actions[bot] ce0bde9ea3 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.6.1
 - @navikt/ds-react@0.12.1
 - @navikt/ds-react-internal@0.7.1
2021-11-02 12:30:06 +00:00
KenandGitHub 4c26512709 [FIX] Ikonsynk fra Figma (Automatisk PR) (#1317)
Co-authored-by: GitHub <noreply@github.com>
2021-11-02 13:13:29 +01:00
Ken 17f5f9e379 github bot som Pr author 2021-11-02 11:39:39 +01:00
Ken 95eeb92a4e Update update-icons.yml 2021-11-02 11:10:10 +01:00
github-actions[bot] 0673ab670f Lerna versionbump [ci skip]
- @navikt/ds-icons@0.6.0
 - @navikt/ds-react@0.12.0
 - @navikt/ds-react-internal@0.7.0
2021-11-01 11:54:29 +00:00
KenandKenAJoh 68d5e81076 [FEATURE] Automatisk PR for ikoner (#1314)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2021-11-01 12:39:54 +01:00
Ken b775a84493 oppdatert automatisk PR tekst 2021-11-01 10:53:02 +01:00
Ken 27f491d452 bedre feilmeldinger 2021-11-01 10:21:36 +01:00
Ken 129d159570 fikset update build script 2021-11-01 10:10:38 +01:00
github-actions[bot] b5d1eb0105 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.10
 - @navikt/ds-react@0.11.10
 - @navikt/ds-react-internal@0.6.11
2021-10-29 13:19:58 +00:00
Ken 0f03d9c538 [FIX] Fjernet tabindex fra ikoner (#1313) 2021-10-29 15:01:07 +02:00
Ken 29f1567601 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.9
 - @navikt/ds-react@0.11.9
 - @navikt/ds-react-internal@0.6.10
2021-10-29 14:30:16 +02:00
Ken 2bd4fd52ff fjernet test-sjekk i icon-update workflow 2021-10-28 16:46:31 +02:00
Ken 9af1c3b5d2 [FIX] Automatisk PR for ikon-oppdateringer (#1312) 2021-10-28 16:32:24 +02:00
github-actions[bot] b1eebe5228 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.8
 - @navikt/ds-react@0.11.8
 - @navikt/ds-react-internal@0.6.9
2021-10-26 13:41:08 +00:00
Andreas Nordahl 804a24f631 [fix] Icons uu (#1310)
* add role=img to icon svgs

* use svgr config file

* add svgr template to default titleId to uuid-v4

* clean icon cjs and esm

* set tabIndex to -1 for ie11 compat

* update icons props to reflect icon updates
2021-10-26 15:20:40 +02:00
Ken 6918e1695b Hotjar for verktøykassen (#1311) 2021-10-26 14:47:33 +02:00
github-actions[bot] cffc4b6539 Lerna versionbump [ci skip]
- @navikt/ds-react-internal@0.6.8
2021-10-26 12:14:28 +00:00
Ken b575e39000 [FIX] Kjøre onClick og onClose i header/dropdow (#1309) 2021-10-26 13:54:04 +02:00
Ken ced2b9b46b @storybook/addon-a11y for storybook (#1308) 2021-10-26 13:53:58 +02:00
github-actions[bot] f19ea3d0fe Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.7
 - @navikt/ds-react-internal@0.6.7
2021-10-26 09:08:48 +00:00
Andreas Nordahl 260ee43f09 [fix] input className only on field container (#1307) 2021-10-26 10:54:34 +02:00
github-actions[bot] a1bdcd4df5 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.7
 - @navikt/ds-react@0.11.6
 - @navikt/ds-react-internal@0.6.6
2021-10-25 15:54:41 +00:00
Ken 5669efc0dd [FIX] Gjør ikoner default focusable={false} (#1304) 2021-10-25 17:36:52 +02:00
Karl O 00a02fa8ae [FIX] bruk camelCase isteden for kebab-case i react svg (#1306) 2021-10-25 17:36:41 +02:00
github-actions[bot] 93f1d199cd Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.5
 - @navikt/ds-react-internal@0.6.5
2021-10-25 08:07:17 +00:00
Ken a69db74d79 [FIX] Fjernet alt-tag fra alert-ikon, trenger bare aria-label (#1302) 2021-10-25 09:49:56 +02:00
Ken 717b70a011 Litt dokumentasjon om forwardedAs (#1303) 2021-10-25 09:49:49 +02:00
github-actions[bot] ed937f68c5 Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.4
 - @navikt/ds-react-internal@0.6.4
2021-10-21 08:11:19 +00:00
Ken 47c4f9aa26 [FIX] Bugfix loader-id (#1301) 2021-10-21 09:52:47 +02:00
github-actions[bot] b166e5e5df Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.3
 - @navikt/ds-react-internal@0.6.3
2021-10-20 14:49:50 +00:00
KenandAndreas Nordahl e150b4f264 [FIX] State-handling og warnings i Checkbox (#1295)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-10-20 16:34:53 +02:00
github-actions[bot] be9660948c Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.2
 - @navikt/ds-react-internal@0.6.2
2021-10-20 14:06:48 +00:00
Andreas Nordahl 26023c888b [fix] remove aria-controls (#1300) 2021-10-20 15:50:19 +02:00
github-actions[bot] 79b85169d1 Lerna versionbump [ci skip]
- @navikt/ds-react@0.11.1
 - @navikt/ds-react-internal@0.6.1
2021-10-20 12:40:42 +00:00
Andreas Nordahl 4e5d410f9f [fix] remove aria-live from popover (#1299) 2021-10-20 14:22:20 +02:00
github-actions[bot] 83ba659219 Lerna versionbump [ci skip]
- @navikt/ds-css@0.10.0
 - @navikt/ds-react@0.11.0
 - @navikt/ds-css-internal@0.6.0
 - @navikt/ds-react-internal@0.6.0
2021-10-19 13:17:42 +00:00
Ken af12f5aa47 [FEATURE] Flyttet CopyToClipboard to internal-pakke 1/3 (#1296) 2021-10-19 15:01:32 +02:00
github-actions[bot] 7548ef086f Lerna versionbump [ci skip]
- @navikt/ds-react@0.10.7
 - @navikt/ds-react-internal@0.5.5
2021-10-19 12:41:18 +00:00
Ken 077ccb81cb [FIX] Fjernet ubrukt dot.notation i Alert (#1294) 2021-10-19 14:24:22 +02:00
github-actions[bot] fc6bdd70c7 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.6
 - @navikt/ds-react@0.10.6
 - @navikt/ds-react-internal@0.5.4
2021-10-19 11:53:52 +00:00
Andreas Nordahl 998f0c7752 [fix] simplify tsconfig of @navikt/ds-react-internal (#1285)
* simplify tsconfig of @navikt/ds-react-internal

* new tsconfig for core react

* new tsconfig in icons

* rename tsconfig-esm to tsconfig.esm
2021-10-19 13:39:30 +02:00
Andreas NordahlandKen 900525fecf Typo migration guide (#1293)
* Typo migration guide draft

* Update @navikt/core/react/src/typography/stories/typography.stories.mdx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2021-10-18 17:37:22 +02:00
github-actions[bot] b20fa69869 Lerna versionbump [ci skip]
- @navikt/ds-css@0.9.3
 - @navikt/ds-react@0.10.5
 - @navikt/ds-tokens@0.5.3
 - @navikt/ds-react-internal@0.5.3
2021-10-18 13:21:09 +00:00
Andreas Nordahl 1367a628d2 [fix] fix size naming of some classes and tokens (#1291) 2021-10-18 15:04:26 +02:00
Ken bf99605db2 Oppdaterte storybook-docs, Roadmap (#1288)
* oppdatert docs

* oppdatert comment

* oppdatert tekst

* fikset table
2021-10-18 14:50:32 +02:00
github-actions[bot] f954bca955 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.5
 - @navikt/ds-react@0.10.4
 - @navikt/ds-react-internal@0.5.2
2021-10-18 08:53:03 +00:00
Ken 887a76259e [fix] oppdaterte ikoner (#1290) 2021-10-18 10:38:07 +02:00
Ida 90114923c4 [fix] fikser eksempel (#1289) 2021-10-18 09:34:32 +02:00
github-actions[bot] a170ca8998 Lerna versionbump [ci skip]
- @navikt/ds-css@0.9.2
 - @navikt/ds-react@0.10.3
 - @navikt/ds-react-internal@0.5.1
2021-10-15 13:24:12 +00:00
347427c6e6 [fix] Table component (#1286)
* simplify tsconfig of @navikt/ds-react-internal

* placeholder-componenter for tabell

* split into headercell and normal cell

* varianter av tabell

* støtter både zebra og vertikale striper

* midlertidig fix for exluding av stories

* litt endringer i api og props etter diskusjon med andreas

* fjerner styling-props

* rydder

* rydder

* flytter til core

* rydder

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
Co-authored-by: Ken <ken.aleksander@gmail.com>
2021-10-15 15:11:29 +02:00
Ken 35aab3b672 [FIX] Workflow fungerer nå, la tilbake build-steps 2021-10-15 12:28:26 +02:00
Ken 5f4c0a7a2d [FIX] publish med no-verify-access 2021-10-15 12:20:17 +02:00
Ken fd120b65e0 [FIX] tester alternativt oppsett av node for npm publish2 2021-10-15 12:10:44 +02:00
Ken 3ae1be923e [FIX] tester alternativt oppsett av node for npm publish 2021-10-15 12:06:22 +02:00
Ken dab2c3f2c2 [FIX] temp fjernet test for å gjøre build raskere 2021-10-15 11:37:56 +02:00
Ken c0f1b8401e oppdatert workflow 2021-10-15 11:36:06 +02:00
Ken 8ba8936fdd [FIX] Oppdatert Readme 2021-10-14 15:09:09 +02:00
Andreas Nordahl 15c5845465 delete unused util scripts (#1284) 2021-10-12 20:16:37 +02:00
github-actions[bot] f6bc0c612f Lerna versionbump [ci skip]
- @navikt/ds-css-internal@0.5.0
 - @navikt/ds-react-internal@0.5.0
2021-10-12 12:51:44 +00:00
Andreas NordahlandIda Onshus b796e306d5 [feature] Dropdown menu with description list for heading hierarchy (#1283)
* header dl wip

* header dl wip

* legger til descriptionlist-komponenter i dropdown menu for internflateheader

* some cleanup

* use new dropdown api in header stories

* rename and restructure grouped lsit

* change dropdown menu api to contain toggle and context

* wip

* complete implementation of new dropdown api

* use dropdown directly in header

* unused imports

* remove uneccesary dropdownId

Co-authored-by: Ida Onshus <25682301+idaons@users.noreply.github.com>
2021-10-12 14:38:28 +02:00
IdaandAndreas Nordahl 0e9680dab9 oppdaterer readme for yarn install med mac m1 (#1282)
* oppdaterer readme for yarn install med macm1

* Update CONTRIBUTING.md

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-10-11 11:13:03 +02:00
Ken 6d2858c6e1 whoami 2021-10-11 10:52:05 +02:00
Ken 9294410ed8 forsøk på npm fix 2021-10-11 10:51:03 +02:00
github-actions[bot] e3653580e6 Lerna versionbump [ci skip]
- @navikt/ds-css-internal@0.4.0
 - @navikt/ds-react-internal@0.4.0
2021-10-08 07:50:38 +00:00
Andreas Nordahl c9ab2e1516 [feature] remove unused header button (#1281) 2021-10-08 09:35:51 +02:00
Andreas Nordahl bb1876df43 remove list component from dropdown to simplify API (#1280) 2021-10-08 09:21:27 +02:00
github-actions[bot] d98bff30f6 Lerna versionbump [ci skip]
- @navikt/ds-css-internal@0.3.1
 - @navikt/ds-react-internal@0.3.1
2021-10-07 14:45:58 +00:00
Andreas Nordahl 7f53011d91 [fix] Header uu (#1279)
* render user name and desc as div

* dont use heading for menu title

* unused import
2021-10-07 16:29:29 +02:00
github-actions[bot] 4a451fe84a Lerna versionbump [ci skip]
- @navikt/ds-css-internal@0.3.0
 - @navikt/ds-react-internal@0.3.0
2021-10-07 13:01:29 +00:00
Andreas Nordahl 01adced0e7 [feature] Internal header dropdown menus (#1276)
* dot notation

* refactor HeaderTitle

* WIP

* separate story

* header dropdown

* add generic dropdown and divider

* some cleanup

* initial draft complete

* unused import

* revert overridable component

* width hover and focus

* wrap items in list and add roles

* delete outdated mdx stories

* new Header.dropdown api

* some cleanup

* height

* some cleanup

* lots of styling fixes

* user button component

* rename classes

* spacing fix

* title

* dropdown max-height

* color cleanup

* fix typo
2021-10-07 14:45:43 +02:00
Ken e2bae872cf [FIX] registry fix 2 2021-10-05 19:25:21 +02:00
Ken aff8f00ade registry fix 2 2021-10-05 19:24:47 +02:00
Ken ad28279bd3 [FIX] Endret npm registry til https fra http (#1278) 2021-10-05 17:30:48 +02:00
1072 changed files with 11522 additions and 57222 deletions

No files matched your search

+7 -77
View File
@@ -1,7 +1,7 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
name: Build, test and maybe publish
name: Build -> Test -> Publish
on:
push:
@@ -39,31 +39,21 @@ jobs:
run: yarn lint
- name: Test
run: yarn test
- name: add access token to .env
run: echo "ACCESS_TOKEN=${{ secrets.VERKTOYKASSE_INNHOLD_TOKEN }}" >> website/.env
- name: add branch token to .env
run: echo "BRANCH=HEAD" >> website/.env
- name: Test gatsby-build (design.nav.no)
run: yarn build:gatsby
- name: Test chromatic
uses: chromaui/action@v1
with:
token: ${{ secrets.GIT_REPO }}
projectToken: ${{ secrets.CHROMATIC }}
exitZeroOnChanges: true
publish-npm:
needs: test-build
runs-on: ubuntu-latest
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTOMATION }}
if: github.event_name == 'push' && contains(github.event.head_commit.message, '[fix]') || contains(github.event.head_commit.message, '[feature]') || contains(github.event.head_commit.message, '[breaking]')
steps:
- uses: actions/checkout@v2
with:
fetch-depth: "0"
token: ${{secrets.GIT_REPO}}
- uses: actions/setup-node@v1
- uses: actions/setup-node@v2
with:
registry-url: http://registry.npmjs.org
registry-url: https://registry.npmjs.org
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
@@ -93,17 +83,9 @@ jobs:
- name: Update changed packages with MAJOR
if: "contains(github.event.head_commit.message, '[breaking]')"
run: yarn lerna version major --include-merged-tags --yes
- name: Create a .npmrc file for NPM
run: |
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc
npm whoami
env:
NPM_TOKEN: ${{secrets.NPM_AUTOMATION}}
- name: Publish to NPM registry
run: |
yarn lerna publish from-package --yes
rm .npmrc
run: yarn lerna publish --no-verify-access from-package --yes
- name: Create a .npmrc file for the github package repository
uses: FerLuisxd/create-npmrc@3
with:
@@ -112,56 +94,4 @@ jobs:
AUTH_TOKEN: ${{secrets.GIT_REPO}}
- name: Publish to Github registry
run: |
rm lerna.json && cp utilities/lerna.json lerna.json
git add . && git commit -m "tmp"
yarn lerna publish --registry https://npm.pkg.github.com from-package --yes
publish-pages:
needs: test-build
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: "0"
token: ${{secrets.GIT_REPO}}
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install deps
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: Gulp-build
run: yarn boot
- name: add access token to .env
run: echo "ACCESS_TOKEN=${{ secrets.VERKTOYKASSE_INNHOLD_TOKEN }}" >> website/.env
- name: add branch token to .env
run: echo "BRANCH=HEAD" >> website/.env
- name: Building Gatsby
run: yarn build:gatsby
- name: Building Storybook
run: yarn build-storybook
- name: Deploy to Design.nav.no 🚀
uses: JamesIves/github-pages-deploy-action@3.6.2
with:
GITHUB_TOKEN: $NAV_DS_TOKEN
BRANCH: gh-pages
FOLDER: website/public
env:
NAV_DS_TOKEN: ${{secrets.GIT_REPO}}
- name: Deploy storybook to designsystem-repo
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{secrets.GIT_REPO}}
external_repository: navikt/designsystemet
publish_dir: ./storybook-static
user_name: "github-actions[bot]"
user_email: "github-actions[bot]@users.noreply.github.com"
+126
View File
@@ -0,0 +1,126 @@
name: Chromatic
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
chromatic-pr:
if: "!contains(github.event.head_commit.message, '[ci skip]') && github.event_name != 'push'"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: postinstall
if: steps.node-cache.outputs.cache-hit == 'true'
run: yarn postinstall
- name: Boot
run: yarn boot
- name: run chromatic
uses: chromaui/action@v1
id: chromatic_tests
continue-on-error: true
with:
token: ${{ secrets.GITHUB_TOKEN }}
projectToken: x3xqdfgkujg
exitZeroOnChanges: false
- name: replace storybook url
uses: frabert/replace-string-action@v2.0
id: storybook_url
with:
pattern: "(iframe.html)"
string: ${{ steps.chromatic_tests.outputs.storybookUrl }}
replace-with: ""
- name: Get commit sha
id: vars
shell: bash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
- name: Find Comment
uses: peter-evans/find-comment@v1
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: "github-actions[bot]"
body-includes: Chromatic build-output
- name: Create or update comment
if: steps.chromatic_tests.outcome == 'success'
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
Chromatic build-output:
- :clipboard: [Review](${{steps.chromatic_tests.outputs.url}})
- :tada: [Storybook preview](${{steps.storybook_url.outputs.replaced}})
- :white_check_mark: SUCCESS :white_check_mark:
commit: `${{ steps.vars.outputs.sha_short }}`
edit-mode: replace
- name: Create or update failed comment
if: steps.chromatic_tests.outcome != 'success'
uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
**Chromatic build-output**:
- :clipboard: [Review](${{steps.chromatic_tests.outputs.url}})
- :tada: [Storybook preview](${{steps.storybook_url.outputs.replaced}})
- :no_entry_sign: FAILED :no_entry_sign:, review endringer.
commit: `${{ steps.vars.outputs.sha_short }}`
edit-mode: replace
chromatic-push:
if: "!contains(github.event.head_commit.message, '[ci skip]') && github.event_name == 'push'"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: postinstall
if: steps.node-cache.outputs.cache-hit == 'true'
run: yarn postinstall
- name: Boot
run: yarn boot
- name: run chromatic
uses: chromaui/action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
projectToken: x3xqdfgkujg
autoAcceptChanges: true
-39
View File
@@ -1,39 +0,0 @@
# This workflow will run will build the component library and the storybook, then publish it to https://navikt.github.io/Designsystemet
name: Publish Storybook
on:
workflow_dispatch
jobs:
publish-storybook:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: "0"
token: ${{secrets.GIT_REPO}}
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install deps
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Gulp-build
run: yarn boot
- name: Building Storybook
run: yarn build-storybook
- name: Deploy storybook
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{secrets.GIT_REPO}}
external_repository: navikt/designsystemet
publish_dir: ./storybook-static
user_name: "github-actions[bot]"
user_email: "github-actions[bot]@users.noreply.github.com"
+42
View File
@@ -0,0 +1,42 @@
name: Update Icons
on:
# schedule:
# - cron: 0 0 * * *
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: postinstall
if: steps.node-cache.outputs.cache-hit == 'true'
run: yarn postinstall
- name: Update Icons
run: yarn update:icons
env:
FIGMA_TOKEN: ${{ secrets.FIGMA_IKONER_API }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GIT_REPO }}
commit-message: "Ikoner synket fra figma"
branch: figma-icons-sync
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
signoff: false
delete-branch: true
title: "[FIX] Ikonsynk Figma"
+39
View File
@@ -0,0 +1,39 @@
name: Update tokens
on:
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: postinstall
if: steps.node-cache.outputs.cache-hit == 'true'
run: yarn postinstall
- name: Update tokens
run: yarn update:tokens
env:
FIGMA_TOKEN: ${{ secrets.FIGMA_IKONER_API }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: figma-tokens-sync
delete-branch: true
title: "[FEATURE] Tokens sync Figma"
commit-message: "Tokens synket fra figma"
committer: GitHub <noreply@github.com>
signoff: false
-47
View File
@@ -1,47 +0,0 @@
name: Publish verktøykasse-innhold to dev
on:
push:
branches: verktoykasse-prototype
repository_dispatch:
types: [new-content]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: verktoykasse-prototype
fetch-depth: 0 # Required to retrieve git history
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Node-modules cache
uses: actions/cache@v2
id: node-cache
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install deps
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: Gulp-build
run: yarn boot
- name: Eslint and Stylelint
run: yarn lint
- name: add access token to .env
run: echo "ACCESS_TOKEN=${{ secrets.VERKTOYKASSE_INNHOLD_TOKEN }}" >> website/.env
- name: add branch token to .env
run: echo "BRANCH=dev" >> website/.env
- name: Gatsby-build
run: yarn build:gatsby
- name: Deploy to dev gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{secrets.GIT_REPO}}
external_repository: navikt/verktoykasse-innhold
publish_dir: website/public
user_name: "github-actions[bot]"
user_email: "github-actions[bot]@users.noreply.github.com"
+2 -1
View File
@@ -115,4 +115,5 @@ utilities/**/css
react-docgen.json
react-docgen-docs.json
cjs
esm
esm
.vercel
+11 -5
View File
@@ -1,16 +1,19 @@
const getStories = () => {
return process.env.stories
? [`../@navikt/**/${process.env.stories}.stories.@(js|jsx|ts|tsx|mdx)`]
: ["../@navikt/**/*.stories.@(js|jsx|ts|tsx|mdx)"];
};
module.exports = {
webpackFinal: async (config, { configType }) => {
config.devServer = { stats: "errors-only" };
return config;
},
devServer: { stats: "errors-only" },
stories: [
"../.storybook/**/*.stories.@(mdx)",
"../packages/**/*.stories.@(js|jsx|ts|tsx|mdx)",
"../@navikt/**/*.stories.@(js|jsx|ts|tsx|mdx)",
],
stories: () => getStories(),
addons: [
"@storybook/addon-docs",
"@storybook/addon-a11y",
{
name: "@storybook/addon-storysource",
options: {
@@ -27,4 +30,7 @@ module.exports = {
},
},
],
core: {
builder: "webpack5",
},
};
-1
View File
@@ -1,4 +1,3 @@
import "nav-frontend-core";
import "@navikt/ds-css/index.css";
import "@navikt/ds-css-internal/index.css";
@@ -1,22 +0,0 @@
import { Meta } from "@storybook/addon-docs";
<Meta title="ds-react/Kom i gang" />
# Ta i bruk `@navikt/ds-react` pakken
## Oppsett
```bash
yarn add @navikt/ds-react @navikt/ds-css
```
Siden stilene ikke importeres direkte i komponentene, så må man selv importere ds-css.
For å legge til all stylingen som trengs må man da bare importere `ds-css`.
```bash
import "@navikt/ds-css"
```
Dette vil også legge css-variabler på :root. For å få dette til å fungere med IE11, kan denne pakken tas i bruk: https://jhildenbiddle.github.io/css-vars-ponyfill/#/
Note: Disse komponentene kan ikke garanteres at fungerer som forventet i IE11 da vi har valgt og ikke unngå styling-valg basert på IE11 støtte eller ikke.
-229
View File
@@ -1,229 +0,0 @@
import { Meta } from "@storybook/addon-docs";
<Meta title="ds-react/Migration" />
# Migrering til ds-react, ds-css v0.8.0
Denne guiden vil være til hjelp for de som allerede har begynt å ta i bruk de nye pakkene våre tidligere enn v0.8.0.
For de som ikke har begynt å ta i bruk pakkene kan man se bort fra denne.
Fra versjon v0.7 til v0.8 er det komment flere store endringer både i ds-react og ds-css. For å lettere
oppdatere til v0.8 har vi da laget en liten guide som forklarer de største endringene.
## Styling
De fleste komponenter har fått diverse justering på styling. Anbefales da å ta en rask sjekk om alt fortsatt stemmer
etter oppdateringen.
## Sizing
Alle komponenter som tidligere var implementert med `size`-prop har fått oppdatert
props fra "xs", "s", "m", "l", "xl", "2xl" -> "xsmall", "small", "medium", "large", "xlarge", "2xlarge".
Dette betyr også at css-stylingen er eks endret fra `.navds-body-short--s` -> `.navds-body-short--small`
## Overridable component
Komponenter som tidligere implementerte ovveridable component med bruk av `component`-prop bruker nå `as`.
Implementasjonen av OverridableComponent er WIP så kan hende typene ender opp med å krangle i enkelte tilfeller. Om så ta gjerne kontakt med oss
slik at vi får sett på det tilfellet!
```jsx
/* Før */
<BodyShort component="span" />
/* Etter */
<BodyShort as="span" />
```
## Navneendringer
### Buttons
- `Primary` -> `Secondary` (Normal)
- `Action` -> `Primary` (Hoved)
- `Secondary` -> `Tertiary` (Flat)
For alle som har brukt `<Button />` så må man fikse slik at riktige knapper blir brukt der de skal!
## Nytt
- GuidePanel (veilederpanel)
- HelpText (Hjeleptext)
### Typography
Vi har valgt å endre fra `<Title/>` -> `<Heading/>` i typografien vår da dette ga mer mening i bruk.
APIet til komponenten er ikke endret borsett fra "Sizing" endringene nevt lengre opp, så skal bare være en rask search/replace.
For de som har brukt css-en direkte, eks `navds-title` så må man endre til `navds-heading`
Endret `Header` -> `PageHeader`, samme som er nevnt ang endringen over gjelder her også: sjekk css hvis brukt direkte.
## Fjernet komponenter
Fjernet da den var utdaterte/må ses mer på
- ProductPageLayout
## Typography
Linjehøyder for alle typo-komponentene er oppdatert til å matche figma.
Lagt til en Heading lvl 6 og size="xsmall"
## AccordionMenu
Implementert med dot-notation
- Trenger bare importere AccordionMenu
- AccordionMenuCollapsable -> AccordionMenu.Collapsable
- AccordionMenuItem -> AccordionMenu.Item
## Accordion
Implementert med dot-notation
- Trenger bare importere Accordion nå
Fragmenterte komponenten:
- Accordion -> Accordion.Item
- Header -> Accordion.Header
- children -> Accordion.Content
La til prop: `defaultOpen` på `Accordion.Item`
```jsx
/* Før */
<Accordion heading="tittel" open={open} onClick={(open) => setOpen(!open)}>
Eu magna fugiat officia
</Accordion>
<Accordion heading="tittel2" open={open2} onClick={(open2) => setOpen(!open2)}>
Eu magna fugiat officia
</Accordion>
/* Etter */
<Accordion>
<Accordion.Item open={open}>
<Accordion.Header onClick={(open) => setOpen(!open)}>
Accordion header text
</Accordion.Header>
<Accordion.Content>
Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam officia
laboris voluptate officia pariatur.Lorem est ex anim velit
</Accordion.Content>
</Accordion.Item>
<Accordion.Item open={open2}>
<Accordion.Header onClick={(open2) => setOpen(!open2)}>
Accordion header text
</Accordion.Header>
<Accordion.Content>
Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam officia
laboris voluptate officia pariatur.Lorem est ex anim velit
</Accordion.Content>
</Accordion.Item>
</Accordion>
```
## Alert
- La til `fullWidth`-prop for alert uten border-radius og width 100%
- La til `inline`-prop for alert med transparent border/background og 0 padding.
## Button
Oppdatert med Overridablecomponent.
Håndtering av sentrering, margins er oppdatert. Trenger ikke wrappe tekst med `span` når man skal bruke ikoner lengre.
Hvis man skal manuelt justere på alignment av innhold, eks bruke `flex-direction: column` må man sette
det på css-klassen `.navds-button__inner` da children er wrappet i den.
## CopyToClipboard
Ekstender nå ButtonProps, slik at man eks kan ta i bruk `size`-proppen
`text`-prop -> `copyText`
`label`-prop -> `popoverText`
Fjernet `icon`-prop, la til `popoverPlacement`
## Modal
Implementert med dot-notasjon
Innholds-padding er flyttet fra Modal -> Modal.Content
```
/* Før */
<Modal>Modal innhold</Modal>
/* Etter */
<Modal><Modal.Content>Modal innhold</Modal.Content></Modal>
```
## LinkPanel
Implementert med dot-notasjon
```jsx
/* Før */
<LinkPanel href="#">Consectetur eu duis aliqua eu irure fugiat fugiat eu.</LinkPanel>
/* Etter */
<LinkPanel href="#">
<LinkPanel.Title>
Consectetur eu duis aliqua eu irure fugiat fugiat eu.
</LinkPanel.Title>
</LinkPanel>
```
Kan nå legge til en beskrivelse med `Linkpanel.Description`
```jsx
<LinkPanel href="#">
<LinkPanel.Title>
Consectetur eu duis aliqua eu irure fugiat fugiat eu.
</LinkPanel.Title>
<LinkPanel.Description>Aliqua id aliquip Lorem esse</LinkPanel.Description>
</LinkPanel>
```
## Popover
Implementert med dot-notasjon
Får nå padding rundt innhold med Popover.Content
```jsx
/* Før */
<Popover>Popover innhold</Popover>
/* Etter */
<Popover>
<Popover.Content>Modal innhold</Popover.Content>
</Popover>
```
## Header -> PageHeader
Props må fikses for de som har brukt denne komponenten, i tilleg til å endre navn.
- `variant`-prop -> `align`
- `theme`-prop -> `variant`
## MicroCard
- Oppdatert med OverridableComponent
## SpeechBubble
Implementert med Dot-notasjon
- `<Bubble/>` -> `<SpeechBubble.Bubble/>`
Bubble er fortsatt eksportert så vil ikke brekke noe for de som har begynt å ta denne i bruk.
-51
View File
@@ -1,51 +0,0 @@
import { Meta } from "@storybook/addon-docs";
<Meta title="ds-react/Roadmap" />
# Plan videre
Arbeidet med det nye pakke-oppsettet har nå foregått en stund og skulle egentlig vært
lengre på vei en det er nå. Men arbeidet har på ingen måte stoppet opp! Vi jobber kontinuerlig med
å finne bedre løsninger for å kunne bygge systemet opp fra bunnen av. Dette innegår da
ny dokumentasjons-side bygd med Sanity, nye byggeblokker helt fra token-nivå og bedre sizing for eksterne/interne sider. Dette vil da forhåpentligvis la oss
bygge mer robuste og fleksible løsninger for fremtiden.
(Rekkefølgen representer ikke faktisk tidsline eller prioritet)
## Tokens
Vi bygger opp `@navikt/ds-tokens` pakken som inneholder alle design-tokensene til designsystemet fra bunnen av.
Dette vil gjøre styling og overriding av komponenter enklere da man kan bruke css-variabler.
## Intern / Ekstern sizing
Komponenter tilpasses og standariseres bedre for skillet mellom interne/eksterne flater.
Løsning er ikke fast bestemt, men eksempel på dette er `size="small" -> 32px, size="medium"-> 48px`.
Dette vil da eksempelvis kunne være en standard som er gjennomgående for de fleste komponentene.
## Ny dokumentasjon-side
Vi bygger en ny side for å dokumentere systemet, og mer rundt utvikling/design i nav med "Verktøykassen"
## Migrere komponenter/styling fra nav-frontend-\* -> `@navikt/ds-css / @navikt/ds-react`
Dette arbeidet kommer sakte men sikkert på plass, men tar litt tid da mye må på plass først, da eksempelvis sizing og tokens.
Noen komponenter vil ha oppdatert funksjonalitet, noen bare stilendringer, mens noen kan nesten brukes 1-1 fra nav-frontend-.
Note: Noen pakker vil ikke flyttes over fra nav-frontend og `deprecates` i praksis da. De pakkene som ikka tas over vil ikke bli deprecated på `npm`, slik at man kan fortsette å ta dem i bruk uten en sint terminal hver gang man kjører `yarn install`.
## Theming
Etterhvert når vi har nye react, css og token pakke på plass har vi et ønske om å kunne se på theming for
eks darkmode.
## Vue, svelte, web-components etc...
Dette er noe vi ikke har på planene for tiden, men etterhvert som ting faller på plass så vil dette være
noe vi kunne ta en titt på hvis vi ser at det trengs.
## Versjonering
To av de nye pakkene under `@navikt`, da `ds-css` og `ds-react` er nå versjonert under to store pakker med alle komponentene. I fremtiden vil vi se på å
ha både samversjonering (alle pakker under en eks ds-react versjon) og induvduell verjsonering da eks ds-react/button har en egen versjon
slik at man kan ha mer finkontroll over komponentbruk på siden sin.
+7 -14
View File
@@ -1,20 +1,13 @@
const path = require("path");
module.exports = (baseConfig) => {
baseConfig.config.module.rules.push(
{
test: /\.css$/,
use: ["style-loader", "css-loader"],
include: [
path.resolve(__dirname, "../node_modules/@navikt/core/css/index.css"),
],
},
{
test: /\.less$/,
loaders: ["style-loader", "css-loader", "less-loader"],
include: path.resolve(__dirname, "../packages/"),
}
);
baseConfig.config.module.rules.push({
test: /\.css$/,
use: ["style-loader", "css-loader"],
include: [
path.resolve(__dirname, "../node_modules/@navikt/core/css/index.css"),
],
});
baseConfig.config.resolve.alias = {
...baseConfig.config.resolve.alias,
"./normalize.css": path.resolve(
-103
View File
@@ -1,103 +0,0 @@
:root {
--navds-accordion-menu-color-text: var(--navds-color-text-link);
--navds-accordion-menu-color-text-focus: var(--navds-color-darkgray);
--navds-accordion-menu-color-background-hover: var(--navds-color-blue-10);
--navds-accordion-menu-color-text-active: var(--navds-color-text);
--navds-accordion-menu-outline-focus: var(--navds-text-focus);
}
.navds-accordion-menu__list {
list-style: none;
margin: 0;
padding: 0;
font-weight: var(--navds-font-weight-bold);
}
.navds-accordion-menu-collapsable__button {
cursor: pointer;
background-color: transparent;
border: none;
font: inherit;
text-align: inherit;
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: var(--navds-font-weight-bold);
color: var(--navds-accordion-menu-color-text);
text-decoration: underline;
}
.navds-accordion-menu-item,
.navds-accordion-menu-collapsable__button {
display: flex;
padding: var(--navds-spacing-3) var(--navds-spacing-4);
text-decoration: none;
}
.navds-accordion-menu-collapsable__expand-icon {
font-size: 1.5rem;
color: var(--navds-accordion-menu-color);
flex-shrink: 0;
margin-left: var(--navds-spacing-2);
}
.navds-accordion-menu-collapsable--open
> .navds-accordion-menu-collapsable__button
> .navds-accordion-menu-collapsable__expand-icon {
transform: rotate(180deg);
}
.navds-accordion-menu-collapsable .navds-accordion-menu-item,
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable__button {
padding-left: var(--navds-spacing-8);
}
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-item,
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable__button {
padding-left: var(--navds-spacing-12);
}
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-item,
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable
.navds-accordion-menu-collapsable__button {
padding-left: var(--navds-spacing-16);
}
.navds-accordion-menu-item:focus,
.navds-accordion-menu-collapsable__button:focus {
outline: 3px solid var(--navds-accordion-menu-outline-focus);
outline-offset: -3px;
color: var(--navds-accordion-menu-color-text-focus);
}
.navds-accordion-menu-collapsable__button:focus
> .navds-accordion-menu-collapsable__expand-icon {
color: var(--navds-accordion-menu-color-focus);
}
.navds-accordion-menu-item:hover,
.navds-accordion-menu-collapsable__button:hover {
background-color: var(--navds-accordion-menu-color-background-hover);
}
.navds-accordion-menu-item--active {
box-shadow: inset 0.5rem 0 var(--navds-color-text-link);
color: var(--navds-accordion-menu-color-text-active);
text-decoration: none;
}
+55 -27
View File
@@ -1,9 +1,20 @@
:root {
--navds-accordion-color-text: var(--navds-color-darkgray);
--navds-accordion-color-background: var(--navds-color-background);
--navds-accordion-color-text-hover: var(--navds-color-blue-50);
--navds-accordion-color-border-hover: var(--navds-color-blue-50);
--navds-accordion-color-border-focus: var(--navds-color-background);
--navds-accordion-color-text: var(--navds-semantic-color-text);
--navds-accordion-color-background: var(
---navds-semantic-color-component-background-light
);
--navds-accordion-color-text-hover: var(--navds-semantic-color-link);
--navds-accordion-color-border: var(--navds-semantic-color-border-muted);
--navds-accordion-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-accordion-color-text-open: var(--navds-semantic-color-text);
--navds-accordion-color-text-open-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-accordion-color-background-open: var(
--navds-semantic-color-interaction-primary-hover-subtle
);
}
.navds-accordion .ReactCollapse--collapse {
@@ -14,16 +25,53 @@
background: var(--navds-accordion-color-background);
}
.navds-accordion__header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--navds-spacing-4);
padding: var(--navds-spacing-4) var(--navds-spacing-3);
margin: 0;
text-align: left;
background: transparent;
cursor: pointer;
border: none;
border-bottom: 2px solid var(--navds-accordion-color-border);
}
.navds-accordion__header:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
border-color: var(--navds-accordion-color-border-focus);
}
.navds-accordion__header:hover {
color: var(--navds-accordion-color-text-hover);
border-color: var(--navds-accordion-color-border-hover);
text-decoration: underline;
}
.navds-accordion__item--open > .navds-accordion__header {
background-color: var(--navds-accordion-color-background-open);
color: var(--navds-accordion-color-text-open);
border-color: transparent;
}
.navds-accordion__item--open > .navds-accordion__header:hover {
border-color: transparent;
color: var(--navds-accordion-color-text-open-hover);
}
.navds-accordion__content {
color: var(--navds-accordion-color-text);
padding: var(--navds-spacing-5) var(--navds-spacing-3) var(--navds-spacing-10);
border-bottom: 2px solid var(--navds-accordion-color-border);
}
.navds-accordion__item--open
> .navds-accordion__header:hover
+ *
.navds-accordion__content {
border-color: var(--navds-accordion-color-border-hover);
}
.navds-accordion__expand-icon {
@@ -36,26 +84,6 @@
transform: rotateZ(180deg);
}
.navds-accordion__header {
padding: var(--navds-spacing-4) var(--navds-spacing-3);
background: transparent;
text-align: left;
border: none;
width: 100%;
margin: 0;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 2px solid #a0a0a0;
gap: var(--navds-spacing-4);
}
.navds-accordion__content {
color: var(--navds-accordion-color-text);
padding: var(--navds-spacing-5) var(--navds-spacing-3) var(--navds-spacing-10);
}
.navds-accordion__expand-icon--filled {
display: none;
}
+49 -19
View File
@@ -1,21 +1,51 @@
:root {
--navds-alert-color-border: var(--navds-color-gray-40);
--navds-alert-color-error-border: var(--navds-color-error-border);
--navds-alert-color-error-background: var(--navds-color-error-background);
--navds-alert-color-warning-border: var(--navds-color-warning-border);
--navds-alert-color-warning-background: var(--navds-color-warning-background);
--navds-alert-color-info-border: var(--navds-color-info-border);
--navds-alert-color-info-background: var(--navds-color-info-background);
--navds-alert-color-success-border: var(--navds-color-success-border);
--navds-alert-color-success-background: var(--navds-color-success-background);
--navds-alert-color-error-icon: var(--navds-color-red-60);
--navds-alert-color-error-icon-background: var(--navds-color-white);
--navds-alert-color-warning-icon: var(--navds-color-orange-40);
--navds-alert-color-warning-icon-background: var(--navds-color-darkgray);
--navds-alert-color-info-icon: var(--navds-color-lightblue-70);
--navds-alert-color-info-icon-background: var(--navds-color-white);
--navds-alert-color-success-icon: var(--navds-color-green-70);
--navds-alert-color-success-icon-background: var(--navds-color-white);
--navds-alert-color-border: var(--navds-semantic-color-border-muted);
--navds-alert-color-error-border: var(
--navds-semantic-color-feedback-danger-border
);
--navds-alert-color-error-background: var(
--navds-semantic-color-feedback-danger-background
);
--navds-alert-color-warning-border: var(
--navds-semantic-color-feedback-warning-border
);
--navds-alert-color-warning-background: var(
--navds-semantic-color-feedback-warning-background
);
--navds-alert-color-info-border: var(
--navds-semantic-color-feedback-info-border
);
--navds-alert-color-info-background: var(
--navds-semantic-color-feedback-info-background
);
--navds-alert-color-success-border: var(
--navds-semantic-color-feedback-success-border
);
--navds-alert-color-success-background: var(
--navds-semantic-color-feedback-success-background
);
--navds-alert-color-error-icon: var(
--navds-semantic-color-feedback-danger-icon
);
--navds-alert-color-error-icon-background: var(
--navds-semantic-color-component-background-light
);
--navds-alert-color-warning-icon: var(
--navds-semantic-color-feedback-warning-icon
);
--navds-alert-color-warning-icon-background: var(
--navds-semantic-color-component-background-inverted
);
--navds-alert-color-info-icon: var(--navds-semantic-color-feedback-info-icon);
--navds-alert-color-info-icon-background: var(
--navds-semantic-color-component-background-light
);
--navds-alert-color-success-icon: var(
--navds-semantic-color-feedback-success-icon
);
--navds-alert-color-success-icon-background: var(
--navds-semantic-color-component-background-light
);
}
.navds-alert {
@@ -44,12 +74,12 @@
flex-shrink: 0;
font-size: 1.5rem;
align-self: flex-start;
height: var(--navds-font-line-height-xl);
height: var(--navds-font-line-height-xlarge);
}
.navds-alert--small > .navds-alert__icon {
font-size: 1.25rem;
height: var(--navds-font-line-height-l);
height: var(--navds-font-line-height-large);
}
.navds-alert--error {
+3 -3
View File
@@ -22,13 +22,13 @@ html {
body {
font-family: var(--navds-font-family);
line-height: 1.375;
color: var(--navds-color-text-primary);
line-height: 1.333;
color: var(--navds-semantic-color-text);
font-size: 1.125rem;
}
a {
color: var(--navds-color-text-link);
color: var(--navds-semantic-color-link);
}
/* https://web.dev/prefers-reduced-motion/ */
+100 -32
View File
@@ -1,53 +1,83 @@
:root {
/* Primary */
--navds-button-color-primary-text: var(--navds-color-white);
--navds-button-color-primary-border-focus: var(--navds-color-white);
--navds-button-color-primary-background: var(--navds-color-action-default);
--navds-button-color-primary-text: var(--navds-semantic-color-text-inverted);
--navds-button-color-primary-border-focus: var(
--navds-semantic-color-text-inverted
);
--navds-button-color-primary-background: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-primary-background-hover: var(
--navds-color-action-hover
--navds-semantic-color-interaction-primary-hover
);
--navds-button-color-primary-background-active: var(
--navds-color-action-active
--navds-semantic-color-interaction-primary-selected
);
/* Secondary */
--navds-button-color-secondary-text: var(--navds-color-action-default);
--navds-button-color-secondary-text-hover: var(--navds-color-text-inverse);
--navds-button-color-secondary-text-active: var(--navds-color-text-inverse);
--navds-button-color-secondary-border: var(--navds-color-action-default);
--navds-button-color-secondary-text: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-secondary-text-hover: var(
--navds-semantic-color-text-inverted
);
--navds-button-color-secondary-text-active: var(
--navds-semantic-color-text-inverted
);
--navds-button-color-secondary-border: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-secondary-border-focus-active-hover: var(
--navds-color-white
--navds-semantic-color-component-background-light
);
--navds-button-color-secondary-background: var(
--navds-semantic-color-component-background-light
);
--navds-button-color-secondary-background: var(--navds-color-background);
--navds-button-color-secondary-background-hover: var(
--navds-color-action-hover
--navds-semantic-color-interaction-primary-hover
);
--navds-button-color-secondary-background-active: var(
--navds-color-action-active
--navds-semantic-color-interaction-primary-selected
);
/* Tertiary */
--navds-button-color-tertiary-text: var(--navds-color-action-default);
--navds-button-color-tertiary-text-active: var(--navds-color-text-inverse);
--navds-button-color-tertiary-border-hover: var(--navds-color-action-default);
--navds-button-color-tertiary-border-focus: var(--navds-color-action-default);
--navds-button-color-tertiary-border-active: var(--navds-color-white);
--navds-button-color-tertiary-text: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-tertiary-text-active: var(
--navds-semantic-color-text-inverted
);
--navds-button-color-tertiary-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-tertiary-border-focus: var(
--navds-semantic-color-interaction-primary
);
--navds-button-color-tertiary-border-active: var(
--navds-semantic-color-component-background-light
);
--navds-button-color-tertiary-background-active: var(
--navds-color-action-active
--navds-semantic-color-interaction-primary-selected
);
/* Danger */
--navds-button-color-danger-text: var(--navds-color-white);
--navds-button-color-danger-background: var(--navds-color-danger-default);
--navds-button-color-danger-background-hover: var(--navds-color-danger-hover);
--navds-button-color-danger-text: var(--navds-semantic-color-text-inverted);
--navds-button-color-danger-background: var(
--navds-semantic-color-interaction-danger
);
--navds-button-color-danger-background-hover: var(
--navds-semantic-color-interaction-danger-hover
);
--navds-button-color-danger-background-active: var(
--navds-color-danger-active
--navds-semantic-color-interaction-danger-selected
);
--navds-button-color-danger-border-focus: var(
--navds-semantic-color-component-background-light
);
--navds-button-color-danger-border-focus: var(--navds-color-white);
/* Disabled */
--navds-button-color-text-disabled: var(--navds-color-text-inverse);
--navds-button-color-background-disabled: var(--navds-color-disabled);
/* Loader */
--navds-loader-color-on-button-background: rgba(255, 255, 255, 0.3);
--navds-loader-color-on-button-foreground: currentColor;
}
.navds-button {
@@ -111,8 +141,13 @@
var(--navds-shadow-focus);
}
.navds-button--primary:hover:disabled,
.navds-button--primary:active:disabled {
background-color: var(--navds-button-color-primary-background);
}
/**************************
* .navds-button--secondary *
* .navds-button--secondary *
**************************/
.navds-button--secondary {
@@ -145,6 +180,13 @@
var(--navds-shadow-focus);
}
.navds-button--secondary:disabled,
.navds-button--secondary:hover:disabled {
color: var(--navds-button-color-secondary-text);
background-color: var(--navds-button-color-secondary-background);
box-shadow: inset 0 0 0 2px var(--navds-button-color-secondary-border);
}
/****************************
* .navds-button--tertiary *
****************************/
@@ -168,11 +210,23 @@
box-shadow: inset 0 0 0 1px var(--navds-button-color-tertiary-border-active);
}
.navds-button--tertiary:active:hover {
background-color: var(--navds-button-color-tertiary-background-active);
}
.navds-button--tertiary:active:focus {
box-shadow: inset 0 0 0 1px var(--navds-button-color-tertiary-border-active),
var(--navds-shadow-focus);
}
.navds-button--tertiary:disabled,
.navds-button--tertiary:active:disabled,
.navds-button--tertiary:active:hover:disabled {
color: var(--navds-button-color-tertiary-text);
background: none;
box-shadow: none;
}
/*************************
* .navds-button--danger *
*************************/
@@ -195,14 +249,28 @@
var(--navds-shadow-focus);
}
.navds-button--danger:hover:disabled,
.navds-button--danger:active:disabled {
background-color: var(--navds-button-color-danger-background);
}
/**************************
* .navds-button:disabled *
**************************/
.navds-button:disabled {
color: var(--navds-button-color-text-disabled);
background-color: var(--navds-button-color-background-disabled);
cursor: not-allowed;
box-shadow: none;
transform: none;
}
.navds-button:disabled:not(.navds-button--loading) {
opacity: 0.3;
}
.navds-button .navds-loader .navds-loader__foreground {
stroke: var(--navds-loader-color-on-button-foreground);
}
.navds-button--primary .navds-loader .navds-loader__background,
.navds-button--danger .navds-loader .navds-loader__background {
stroke: var(--navds-loader-color-on-button-background);
}
+20 -10
View File
@@ -1,15 +1,25 @@
:root {
--navds-card-micro-color-text: var(--navds-color-text-primary);
--navds-card-micro-color-background: var(--navds-color-orange-20);
--navds-card-micro-color-text: var(--navds-semantic-color-text);
--navds-card-micro-color-background: var(--navds-global-color-orange-200);
--navds-card-micro-color-border: transparent;
--navds-card-micro-color-text-hover: var(--navds-color-blue-50);
--navds-card-micro-color-background-hover: var(--navds-color-white);
--navds-card-micro-color-border-hover: var(--navds-color-blue-50);
--navds-card-micro-color-text-focus: var(--navds-color-blue-50);
--navds-card-micro-color-background-focus: var(--navds-color-white);
--navds-card-micro-color-shadow-focus: var(--navds-color-blue-80);
--navds-card-micro-color-background-active: var(--navds-color-blue-70);
--navds-card-micro-color-text-active: var(--navds-color-white);
--navds-card-micro-color-text-hover: var(--navds-semantic-color-link);
--navds-card-micro-color-background-hover: var(
--navds-semantic-color-component-background-light
);
--navds-card-micro-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-card-micro-color-text-focus: var(--navds-semantic-color-link);
--navds-card-micro-color-background-focus: var(
--navds-semantic-color-component-background-light
);
--navds-card-micro-color-shadow-focus: var(--navds-semantic-color-focus);
--navds-card-micro-color-background-active: var(
--navds-semantic-color-interaction-primary
);
--navds-card-micro-color-text-active: var(
--navds-semantic-color-text-inverted
);
}
/*
+3 -3
View File
@@ -1,12 +1,12 @@
.navds-content-container {
margin-left: auto;
margin-right: auto;
max-width: var(--navds-content-container-max-width);
padding: var(--navds-content-container-padding-small);
max-width: 79.5rem;
padding: var(--navds-spacing-4);
}
@media (min-width: 448px) {
.navds-content-container {
padding: var(--navds-content-container-padding-medium-and-larger);
padding: var(--navds-spacing-6);
}
}
-13
View File
@@ -1,13 +0,0 @@
.navds-checkbox-group--small > .navds-checkboxes {
display: flex;
flex-direction: column;
gap: 4px;
}
.navds-fieldset.navds-checkbox-group--medium > .navds-checkboxes {
margin-top: 0;
}
.navds-fieldset.navds-checkbox-group--medium > .navds-fieldset__error {
margin-top: 0;
}
-146
View File
@@ -1,146 +0,0 @@
:root {
--navds-checkbox-color-background: var(--navds-color-white);
--navds-checkbox-color-border: var(--navds-color-gray-60);
--navds-checkbox-color-label-hover: var(--navds-color-blue-50);
--navds-checkbox-color-border-hover: var(--navds-color-blue-50);
--navds-checkbox-color-background-hover: var(--navds-color-blue-10);
--navds-checkbox-color-description: var(--navds-color-gray-80);
--navds-checkbox-color-border-checked: var(--navds-color-blue-50);
--navds-checkbox-color-background-checked: var(--navds-color-blue-50);
--navds-checkbox-color-shadow-error: var(--navds-color-red-50);
--navds-checkbox-color-border-error: var(--navds-color-red-50);
/* Disabled */
--navds-checkbox-color-label-disabled: var(--navds-color-gray-40);
--navds-checkbox-color-border-disabled: var(--navds-color-gray-60);
--navds-checkbox-color-background-disabled: var(--navds-color-gray-10);
--navds-checkbox-color-border-checked-disabled: var(--navds-color-gray-40);
--navds-checkbox-color-background-checked-disabled: var(
--navds-color-gray-40
);
}
.navds-checkbox {
position: relative;
padding: var(--navds-spacing-3) 0;
}
.navds-checkbox__input {
cursor: pointer;
position: absolute;
z-index: 1;
width: 48px;
height: 48px;
left: -12px;
margin: 0;
opacity: 0;
top: 0;
}
.navds-checkbox__label {
display: flex;
width: fit-content;
gap: 12px;
cursor: pointer;
}
.navds-checkbox__description {
padding-left: calc(48px - 12px);
color: var(--navds-checkbox-color-description);
}
.navds-checkbox--with-description {
padding-bottom: 0;
}
.navds-checkbox .navds-error-message {
margin-top: var(--navds-spacing-3);
}
.navds-checkbox--with-description .navds-error-message {
margin-top: 0;
}
.navds-checkbox--with-error-message {
padding-bottom: var(--navds-spacing-2);
}
.navds-checkbox__label::before {
content: "";
background-color: var(--navds-checkbox-color-background);
border: 1px solid var(--navds-checkbox-color-border);
width: 1.5rem;
height: 1.5rem;
border-radius: 4px;
flex-shrink: 0;
}
.navds-checkbox--small {
padding: var(--navds-spacing-1) 0;
}
.navds-checkbox--small > .navds-checkbox__input {
width: 24px;
height: 24px;
top: 2px;
left: 0;
}
.navds-checkbox--small > .navds-checkbox__label::before {
margin-top: -2px;
margin-bottom: -2px;
}
.navds-checkbox__input:hover + .navds-checkbox__label {
color: var(--navds-checkbox-color-label-hover);
}
.navds-checkbox__input:hover + .navds-checkbox__label::before {
border-color: var(--navds-checkbox-color-border-hover);
background-color: var(--navds-checkbox-color-background-hover);
}
.navds-checkbox__input:focus + .navds-checkbox__label::before {
box-shadow: var(--navds-shadow-focus);
}
.navds-checkbox__input:checked + .navds-checkbox__label::before {
background-image: var(--navds-checkmark-image-white);
background-position: center center;
background-repeat: no-repeat;
background-size: 75%;
border: 2px solid var(--navds-checkbox-color-border-checked);
background-color: var(--navds-checkbox-color-background-checked);
}
.navds-checkbox__input:checked:focus + .navds-checkbox__label::before {
background-color: white;
background-image: var(--navds-checkmark-image-blue);
}
.navds-checkbox--error
> .navds-checkbox__input:not(:hover):not(:focus):not(:disabled):not(:checked)
+ .navds-checkbox__label::before {
box-shadow: 0 0 0 1px var(--navds-checkbox-color-shadow-error);
border-color: var(--navds-checkbox-color-border-error);
}
.navds-checkbox--small .navds-error-message {
margin-top: 4px;
}
.navds-checkbox__input:disabled,
.navds-checkbox__input:disabled + .navds-checkbox__label {
color: var(--navds-checkbox-color-label-disabled);
cursor: not-allowed;
}
.navds-checkbox__input:disabled + .navds-checkbox__label::before {
background-color: var(--navds-checkbox-color-background-disabled);
border-color: var(--navds-checkbox-color-border-disabled);
}
.navds-checkbox__input:disabled:checked + .navds-checkbox__label::before {
background-color: var(--navds-checkbox-color-background-checked-disabled);
border-color: var(--navds-checkbox-color-border-checked-disabled);
}
+11 -11
View File
@@ -1,30 +1,30 @@
:root {
--navds-confirmation-panel-color-background: var(
--navds-color-warning-background
--navds-semantic-color-feedback-warning-background
);
--navds-confirmation-panel-color-background-checked: var(
--navds-color-success-background
--navds-semantic-color-feedback-success-background
);
--navds-confirmation-panel-color-border-checked: var(
--navds-color-success-background
--navds-semantic-color-feedback-success-background
);
--navds-confirmation-panel-color-background-error: var(
--navds-color-error-background
--navds-semantic-color-feedback-danger-background
);
--navds-confirmation-panel-color-checkbox-background-checked-hover: var(
--navds-color-green-70
--navds-global-color-green-700
);
--navds-confirmation-panel-color-checkbox-border-checked-hover: var(
--navds-color-green-70
--navds-global-color-green-700
);
--navds-confirmation-panel-color-checkbox-background-checked: var(
--navds-color-green-50
--navds-global-color-green-500
);
--navds-confirmation-panel-color-checkbox-border-checked: var(
--navds-color-green-50
--navds-semantic-color-feedback-success-border
);
--navds-confirmation-panel-color-checkbox-label-checked: var(
--navds-color-darkgray
--navds-semantic-color-text
);
}
@@ -77,7 +77,7 @@
--navds-confirmation-panel-color-checkbox-background-checked
);
border-color: var(--navds-confirmation-panel-color-checkbox-border-checked);
background-image: var(--navds-checkmark-image-white);
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
}
.navds-confirmation-panel--checked
@@ -94,5 +94,5 @@
.navds-confirmation-panel--checked
.navds-checkbox__input:focus:hover
+ .navds-checkbox__label::before {
background-image: var(--navds-checkmark-image-white);
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
}
+9 -2
View File
@@ -1,8 +1,15 @@
:root {
--navds-error-message-color-text: var(--navds-color-text-error);
--navds-error-message-color-text: var(
--navds-semantic-color-feedback-danger-text
);
}
.navds-error-message {
display: block;
color: var(--navds-error-message-color-text);
display: flex;
gap: var(--navds-spacing-2);
}
.navds-error-message::before {
content: "•";
}
+6 -2
View File
@@ -1,6 +1,10 @@
:root {
--navds-error-summary-color-background: var(--navds-color-white);
--navds-error-summary-color-border: var(--navds-color-error-border);
--navds-error-summary-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-error-summary-color-border: var(
--navds-semantic-color-feedback-danger-border
);
}
.navds-error-summary {
+9 -4
View File
@@ -6,14 +6,19 @@
}
.navds-fieldset > :not(:first-child):not(:empty) {
margin-top: 8px;
margin-top: var(--navds-spacing-2);
}
.navds-fieldset--small > :not(:first-child):not(:empty) {
margin-top: 4px;
.navds-fieldset > .navds-fieldset__description:not(:empty) {
margin-top: var(--navds-spacing-1);
}
/* Applied when hideLegend is applied to fieldset */
.navds-fieldset > .sr-only + :not(:first-child):not(:empty) {
.navds-fieldset > .navds-sr-only + :not(:first-child):not(:empty) {
margin-top: 0;
}
.navds-fieldset:disabled > .navds-fieldset__legend,
.navds-fieldset:disabled > .navds-fieldset__description {
opacity: 0.3;
}
+3 -8
View File
@@ -1,15 +1,10 @@
.navds-form-field > :not(:first-child):not(:empty),
.navds-form-field > input:not(:first-child) {
margin-top: 8px;
}
.navds-form-field--small > :not(:first-child):not(:empty),
.navds-form-field--small > input:not(:first-child) {
margin-top: 4px;
margin-top: var(--navds-spacing-2);
}
/* Applied when hideLabel is applied to form-element */
.navds-form-field > .sr-only + :not(:first-child):not(:empty),
.navds-form-field > .sr-only + input:not(:first-child) {
.navds-form-field > .navds-sr-only + :not(:first-child):not(:empty),
.navds-form-field > .navds-sr-only + input:not(:first-child) {
margin-top: 0;
}
+2 -4
View File
@@ -4,13 +4,11 @@
@import "fieldset.css";
@import "form.css";
@import "error-summary.css";
@import "checkbox.css";
@import "checkbox-group.css";
@import "confirmation-panel.css";
@import "error-message.css";
@import "radio.css";
@import "radio-group.css";
@import "radio-checkbox.css";
@import "select.css";
@import "switch.css";
@import "text-field.css";
@import "textarea.css";
@import "search-field.css";
+212
View File
@@ -0,0 +1,212 @@
:root {
--navds-radio-checkbox-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-radio-checkbox-color-text: var(--navds-semantic-color-text);
--navds-radio-checkbox-color-background-hover: var(
--navds-semantic-color-interaction-primary-hover-subtle
);
--navds-radio-checkbox-color-background-checked: var(
--navds-semantic-color-interaction-primary
);
--navds-radio-checkbox-color-shadow: var(--navds-semantic-color-border);
--navds-radio-checkbox-color-shadow-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-radio-checkbox-color-shadow-checked: var(
--navds-semantic-color-interaction-primary
);
--navds-radio-checkbox-color-shadow-error: var(
--navds-semantic-color-interaction-danger
);
--navds-radio-checkbox-color-label-hover: var(
--navds-semantic-color-interaction-primary
);
}
.navds-checkbox,
.navds-radio {
position: relative;
width: fit-content;
}
.navds-checkbox__input,
.navds-radio__input {
position: absolute;
width: 48px;
height: 48px;
top: 0;
left: -12px;
z-index: 1;
opacity: 0;
cursor: pointer;
}
.navds-checkbox__label,
.navds-radio__label {
padding: var(--navds-spacing-3) 0;
cursor: pointer;
display: flex;
gap: var(--navds-spacing-2);
}
.navds-checkbox__label::before,
.navds-radio__label::before {
content: "";
background-color: var(--navds-radio-checkbox-color-background);
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow);
width: 1.5rem;
height: 1.5rem;
border-radius: 4px;
flex-shrink: 0;
}
.navds-radio__label::before {
border-radius: 50%;
}
.navds-checkbox__content,
.navds-radio__content {
display: flex;
flex-direction: column;
gap: var(--navds-spacing-1);
}
.navds-checkbox__description,
.navds-radio__description {
color: var(--navds-radio-checkbox-color-text);
}
.navds-checkbox--small > .navds-checkbox__input,
.navds-radio--small > .navds-radio__input {
width: 32px;
height: 32px;
top: 0;
left: -6px;
}
.navds-checkbox--small > .navds-checkbox__label,
.navds-radio--small > .navds-radio__label {
padding: 6px 0;
}
.navds-checkbox--small > .navds-checkbox__label::before,
.navds-radio--small > .navds-radio__label::before {
width: 1.25rem;
height: 1.25rem;
}
.navds-checkbox__input:focus + .navds-checkbox__label::before,
.navds-radio__input:focus + .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow),
var(--navds-shadow-focus);
}
.navds-checkbox__input:hover:focus + .navds-checkbox__label::before,
.navds-radio__input:hover:focus + .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-hover),
var(--navds-shadow-focus);
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label::before {
box-shadow: none;
background-color: var(--navds-radio-checkbox-color-background-checked);
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
content: "";
position: absolute;
top: 50%;
transform: translate(0.375rem, -50%);
background-color: var(--navds-radio-checkbox-color-background);
width: 0.75rem;
height: 0.25rem;
border-radius: 1px;
flex-shrink: 0;
}
.navds-checkbox--small
.navds-checkbox__input:indeterminate
+ .navds-checkbox__label::after {
transform: translate(0.25rem, -50%);
}
.navds-checkbox__input:checked + .navds-checkbox__label::before {
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
background-position: 6px center;
background-repeat: no-repeat;
background-size: 13px;
box-shadow: none;
background-color: var(--navds-radio-checkbox-color-background-checked);
}
.navds-checkbox--small
> .navds-checkbox__input:checked
+ .navds-checkbox__label::before {
background-position: 4px center;
}
.navds-checkbox__input:indeterminate:focus + .navds-checkbox__label::before,
.navds-checkbox__input:checked:focus + .navds-checkbox__label::before {
box-shadow: inset 0 0 0 1px white, var(--navds-shadow-focus);
}
.navds-radio__input:checked + .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-checked),
inset 0 0 0 4px #fff;
background-color: var(--navds-radio-checkbox-color-background-checked);
}
.navds-radio__input:checked:focus + .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-checked),
inset 0 0 0 4px #fff, var(--navds-shadow-focus);
}
.navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
.navds-radio__input:hover:not(:disabled) + .navds-radio__label {
color: var(--navds-radio-checkbox-color-label-hover);
}
.navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus)
+ .navds-checkbox__label::before,
.navds-radio__input:hover:not(:disabled):not(:checked):not(:focus)
+ .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-hover);
}
.navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate)
+ .navds-checkbox__label::before,
.navds-radio__input:hover:not(:disabled):not(:checked)
+ .navds-radio__label::before {
background-color: var(--navds-radio-checkbox-color-background-hover);
}
.navds-checkbox--error
> .navds-checkbox__input:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
+ .navds-checkbox__label::before,
.navds-radio--error
> .navds-radio__input:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
+ .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-error);
}
.navds-checkbox--error
> .navds-checkbox__input:focus:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
+ .navds-checkbox__label::before,
.navds-radio--error
> .navds-radio__input:focus:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
+ .navds-radio__label::before {
box-shadow: inset 0 0 0 2px var(--navds-radio-checkbox-color-shadow-error),
var(--navds-shadow-focus);
}
.navds-checkbox--disabled,
.navds-radio--disabled {
opacity: 0.3;
}
.navds-checkbox--disabled > .navds-checkbox__input,
.navds-checkbox--disabled > .navds-checkbox__label,
.navds-radio--disabled > .navds-radio__input,
.navds-radio--disabled > .navds-radio__label {
cursor: not-allowed;
}
-13
View File
@@ -1,13 +0,0 @@
.navds-radio-group--small > .navds-radio-buttons {
display: flex;
flex-direction: column;
gap: 4px;
}
.navds-fieldset.navds-radio-group--medium > .navds-radio-buttons {
margin-top: 0;
}
.navds-fieldset.navds-radio-group--medium > .navds-fieldset__error {
margin-top: 0;
}
-150
View File
@@ -1,150 +0,0 @@
:root {
--navds-radio-color-description: var(--navds-color-gray-80);
--navds-radio-color-background: var(--navds-color-white);
--navds-radio-color-border: var(--navds-color-gray-60);
--navds-radio-color-label-hover: var(--navds-color-blue-50);
--navds-radio-color-border-hover: var(--navds-color-blue-50);
--navds-radio-color-background-hover: var(--navds-color-blue-10);
--navds-radio-color-border-checked: var(--navds-color-blue-50);
--navds-radio-color-shadow-checked: var(--navds-color-blue-50);
--navds-radio-color-shadow-checked-focus: var(--navds-color-blue-80);
--navds-radio-color-shadow-background-checked-focus: var(--navds-color-white);
--navds-radio-color-shadow-dot-checked-focus: var(--navds-color-blue-50);
--navds-radio-color-shadow-error: var(--navds-color-red-50);
--navds-radio-color-border-error: var(--navds-color-red-50);
/* Disabled */
--navds-radio-color-background-disabled: var(--navds-color-gray-10);
--navds-radio-color-border-disabled: var(--navds-color-gray-60);
--navds-radio-color-label-disabled: var(--navds-color-gray-40);
--navds-radio-color-background-disabled-checked: var(--navds-color-gray-40);
--navds-radio-color-border-disabled-checked: var(--navds-color-gray-40);
--navds-radio-color-shadow-disabled-checked: var(--navds-color-gray-40);
}
.navds-radio {
position: relative;
padding: var(--navds-spacing-3) 0;
}
.navds-radio--with-description .navds-error-message {
margin-top: 0;
}
.navds-radio .navds-error-message {
margin-top: var(--navds-spacing-3);
}
.navds-radio__input {
cursor: pointer;
position: absolute;
z-index: 1;
width: 48px;
height: 48px;
left: -12px;
margin: 0;
opacity: 0;
top: 0;
}
.navds-radio__label {
display: flex;
width: fit-content;
gap: 12px;
min-width: 48px;
cursor: pointer;
}
.navds-radio__description {
padding-left: calc(48px - 12px);
color: var(--navds-radio-color-description);
}
.navds-radio--with-description {
padding-bottom: 0;
}
.navds-radio--with-error-message {
padding-bottom: var(--navds-spacing-2);
}
.navds-radio__label::before {
content: "";
background-color: var(--navds-radio-color-background);
border: 1px solid var(--navds-radio-color-border);
width: 1.5rem;
height: 1.5rem;
flex-shrink: 0;
border-radius: 50%;
}
.navds-radio--small {
padding: var(--navds-spacing-1) 0;
}
.navds-radio--small > .navds-radio__input {
width: 24px;
height: 24px;
top: 2px;
left: 0;
}
.navds-radio--small > .navds-radio__label::before {
margin-top: -2px;
margin-bottom: -2px;
}
.navds-radio__input:hover + .navds-radio__label {
color: var(--navds-radio-color-label-hover);
}
.navds-radio__input:hover + .navds-radio__label::before {
border-color: var(--navds-radio-color-border-hover);
background-color: var(--navds-radio-color-background-hover);
}
.navds-radio__input:focus + .navds-radio__label::before {
box-shadow: var(--navds-shadow-focus);
}
.navds-radio__input:checked + .navds-radio__label::before {
border: 2px solid var(--navds-radio-color-border-checked);
box-shadow: 0 0 0 3px #fff inset,
0 0 0 2rem var(--navds-radio-color-shadow-checked) inset;
}
.navds-radio__input:checked:focus + .navds-radio__label::before {
transition: box-shadow 200ms cubic-bezier(0.465, 0.183, 0.153, 0.946);
box-shadow: 0 0 0 3px var(--navds-radio-color-shadow-checked-focus),
0 0 0 3px var(--navds-radio-color-shadow-background-checked-focus) inset,
0 0 0 2rem var(--navds-radio-color-shadow-dot-checked-focus) inset;
}
.navds-radio--error
> .navds-radio__input:not(:hover):not(:focus):not(:disabled):not(:checked)
+ .navds-radio__label::before {
box-shadow: 0 0 0 1px var(--navds-radio-color-shadow-error);
border-color: var(--navds-radio-color-border-error);
}
.navds-radio--small .navds-error-message {
margin-top: 4px;
}
.navds-radio__input:disabled,
.navds-radio__input:disabled + .navds-radio__label {
color: var(--navds-radio-color-label-disabled);
cursor: not-allowed;
}
.navds-radio__input:disabled + .navds-radio__label::before {
background-color: var(--navds-radio-color-background-disabled);
border-color: var(--navds-radio-color-border-disabled);
}
.navds-radio__input:disabled:checked + .navds-radio__label::before {
background-color: var(--navds-radio-color-background-disabled-checked);
border-color: var(--navds-radio-color-border-disabled-checked);
box-shadow: 0 0 0 3px #fff inset,
0 0 0 2rem var(--navds-radio-color-shadow-disabled-checked) inset;
}
+13 -3
View File
@@ -1,7 +1,13 @@
:root {
--navds-search-field-color-shadow-error: var(--navds-color-red-50);
--navds-search-field-color-border-error: var(--navds-color-red-50);
--navds-search-field-color-clearbutton-border: var(--navds-color-gray-60);
--navds-search-field-color-shadow-error: var(
--navds-semantic-color-interaction-danger
);
--navds-search-field-color-border-error: var(
--navds-semantic-color-interaction-danger
);
--navds-search-field-color-clearbutton-border: var(
--navds-semantic-color-border
);
}
.navds-search-field__input-wrapper {
@@ -47,3 +53,7 @@
box-shadow: 0 0 0 1px var(--navds-search-field-color-shadow-error) inset;
border-color: var(--navds-search-field-color-border-error);
}
.navds-search-field--disabled {
opacity: 0.3;
}
+30 -15
View File
@@ -1,17 +1,26 @@
:root {
--navds-select-color-background: var(--navds-color-white);
--navds-select-color-border: var(--navds-color-gray-60);
--navds-select-color-border-hover: var(--navds-color-blue-50);
--navds-select-color-border-error: var(--navds-color-red-50);
--navds-select-color-shadow-error: var(--navds-color-red-50);
--navds-select-color-border-disabled: var(--navds-color-gray-40);
--navds-select-color-background-disabled: var(--navds-color-gray-10);
--navds-select-color-text-disabled: var(--navds-color-darkgray);
--navds-select-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-select-color-border: var(--navds-semantic-color-border);
--navds-select-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-select-color-border-error: var(
--navds-semantic-color-interaction-danger
);
--navds-select-color-shadow-error: var(
--navds-semantic-color-interaction-danger
);
--navds-select-color-border-disabled: var(--navds-global-color-gray-400);
--navds-select-color-background-disabled: var(
--navds-semantic-color-component-background-alternate
);
--navds-select-color-text-disabled: var(--navds-semantic-color-text);
}
.navds-select__input {
appearance: none;
padding: 0.5rem;
background-color: var(--navds-select-color-background);
border-radius: 4px;
border: 1px solid var(--navds-select-color-border);
@@ -20,6 +29,7 @@
min-height: 48px;
display: inline-block;
position: relative;
padding: 0.5rem;
padding-right: 2.5rem;
}
@@ -49,6 +59,7 @@
.navds-form-field--small .navds-select__input {
min-height: 32px;
padding: 0.25rem;
padding-right: 2rem;
}
/**
@@ -59,12 +70,16 @@
border-color: var(--navds-select-color-border-error);
}
/* Disabled handling */
.navds-select__input:disabled,
.navds-select__input[read-only] {
background-color: var(--navds-select-color-background-disabled);
border-color: var(--navds-select-color-border-disabled);
/*
Disabled handling
*/
.navds-select--disabled {
opacity: 0.3;
}
.navds-select__input:disabled {
background-color: var(--navds-select-color-background);
border-color: var(--navds-select-color-border);
box-shadow: none;
color: var(--navds-select-color-text-disabled);
cursor: not-allowed;
}
+220
View File
@@ -0,0 +1,220 @@
:root {
--navds-switch-color-label: var(--navds-semantic-color-text);
--navds-switch-color-label-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-switch-color-track-background: var(--navds-semantic-color-text-muted);
--navds-switch-color-track-background-checked: var(
--navds-semantic-color-feedback-success-border
);
--navds-switch-color-track-background-hover: var(
--navds-global-color-gray-800
);
--navds-switch-color-track-background-hover-checked: var(
--navds-semantic-color-feedback-success-icon
);
--navds-switch-color-track-shadow-inner-focus: var(
--navds-semantic-color-component-background-light
);
--navds-switch-color-thumb: var(
--navds-semantic-color-component-background-light
);
--navds-switch-color-thumb-icon: var(--navds-semantic-color-text-muted);
--navds-switch-color-thumb-icon-checked: var(
--navds-semantic-color-feedback-success-border
);
--navds-switch-color-thumb-loader-checked: var(
--navds-semantic-color-feedback-success-border
);
}
.navds-switch {
position: relative;
min-height: 48px;
width: fit-content;
}
.navds-switch--right {
width: auto;
}
.navds-switch--small {
position: relative;
min-height: 32px;
}
/* Input */
.navds-switch__input {
cursor: pointer;
position: absolute;
z-index: 1;
width: 48px;
height: 48px;
opacity: 0;
top: 0;
}
.navds-switch--small > .navds-switch__input {
height: 32px;
top: 0;
}
/* Label */
.navds-switch__label-wrapper {
cursor: pointer;
color: var(--navds-switch-color-label);
}
.navds-switch__content {
display: flex;
flex-direction: column;
gap: var(--navds-spacing-1);
padding: 0.75rem 0 0.75rem 3.25rem;
}
.navds-switch--right > .navds-switch__label-wrapper > .navds-switch__content {
padding: 0.75rem 3.25rem 0.75rem 0;
}
.navds-switch--small > .navds-switch__label-wrapper > .navds-switch__content {
padding: calc(var(--navds-spacing-2) - 2px) 0
calc(var(--navds-spacing-2) - 2px) 3.25rem;
}
.navds-switch--right.navds-switch--small
> .navds-switch__label-wrapper
> .navds-switch__content {
padding: calc(var(--navds-spacing-2) - 2px) 3.25rem
calc(var(--navds-spacing-2) - 2px) 0;
}
.navds-switch--with-description,
.navds-switch--small
> .navds-switch__label-wrapper
> .navds-switch--with-description {
padding-bottom: 0;
}
.navds-switch__input:hover ~ .navds-switch__label-wrapper,
.navds-switch__label-wrapper:hover {
color: var(--navds-switch-color-label-hover);
}
.navds-switch__input:disabled:hover ~ .navds-switch__label-wrapper {
color: inherit;
}
/* Track */
.navds-switch__track {
width: 44px;
height: 24px;
background-color: var(--navds-switch-color-track-background);
position: absolute;
top: var(--navds-spacing-3);
left: 0;
border-radius: 4px;
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.navds-switch--small > .navds-switch__track {
top: var(--navds-spacing-1);
}
.navds-switch--right > .navds-switch__input,
.navds-switch--right > .navds-switch__track {
right: 0;
left: auto;
}
.navds-switch__input:checked ~ .navds-switch__track {
background-color: var(--navds-switch-color-track-background-checked);
}
.navds-switch__input:hover ~ .navds-switch__track {
background-color: var(--navds-switch-color-track-background-hover);
}
.navds-switch__input:hover:checked ~ .navds-switch__track {
background-color: var(--navds-switch-color-track-background-hover-checked);
}
.navds-switch__input:disabled ~ .navds-switch__track {
background-color: var(--navds-switch-color-track-background);
}
.navds-switch__input:checked:disabled ~ .navds-switch__track {
background-color: var(--navds-switch-color-track-background-checked);
}
.navds-switch__input:focus ~ .navds-switch__track {
box-shadow: 0 0 0 1px var(--navds-switch-color-track-shadow-inner-focus),
var(--navds-shadow-focus);
}
/* Thumb */
.navds-switch__thumb {
background-color: var(--navds-switch-color-thumb);
color: var(--navds-switch-color-thumb-icon);
border-radius: 2.5px;
width: 20px;
height: 20px;
position: absolute;
transform: translateX(0);
left: 2px;
top: 2px;
transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
align-items: center;
justify-content: center;
}
.navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb {
transform: translateX(20px);
color: var(--navds-switch-color-thumb-icon-checked);
}
@media (hover: hover) and (pointer: fine) {
.navds-switch__input:hover ~ .navds-switch__track > .navds-switch__thumb {
transform: translateX(2px);
}
.navds-switch__input:checked:hover
~ .navds-switch__track
> .navds-switch__thumb {
transform: translateX(18px);
}
}
.navds-switch__input:disabled:hover
~ .navds-switch__track
> .navds-switch__thumb {
transform: translateX(0);
}
.navds-switch__input:checked:disabled:hover
~ .navds-switch__track
> .navds-switch__thumb {
transform: translateX(20px);
}
/* Loader */
.navds-switch__input:checked
~ .navds-switch__track
> .navds-switch__thumb
.navds-loader__foreground {
stroke: var(--navds-switch-color-thumb-loader-checked);
}
/* Disabled */
.navds-switch__input:disabled {
appearance: none;
}
.navds-switch--disabled:not(.navds-switch--loading) {
opacity: 0.3;
}
.navds-switch__input:disabled,
.navds-switch__input:disabled ~ .navds-switch__label-wrapper {
cursor: not-allowed;
}
+47 -17
View File
@@ -1,12 +1,22 @@
:root {
--navds-text-field-color-background: var(--navds-color-white);
--navds-text-field-color-border: var(--navds-color-gray-60);
--navds-text-field-color-border-hover: var(--navds-color-blue-50);
--navds-text-field-color-border-error: var(--navds-color-red-50);
--navds-text-field-color-shadow-error: var(--navds-color-red-50);
--navds-text-field-color-border-disabled: var(--navds-color-gray-40);
--navds-text-field-color-background-disabled: var(--navds-color-gray-10);
--navds-text-field-color-text-disabled: var(--navds-color-darkgray);
--navds-text-field-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-text-field-color-border: var(--navds-semantic-color-border);
--navds-text-field-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-text-field-color-border-error: var(
--navds-semantic-color-interaction-danger
);
--navds-text-field-color-shadow-error: var(
--navds-semantic-color-interaction-danger
);
--navds-text-field-color-border-disabled: var(--navds-global-color-gray-400);
--navds-text-field-color-background-disabled: var(
--navds-semantic-color-component-background-alternate
);
--navds-text-field-color-text-disabled: var(--navds-semantic-color-text);
}
.navds-text-field__input {
@@ -20,10 +30,14 @@
}
.navds-form-field--small > .navds-text-field__input {
padding: 0.15rem;
padding: 0 0.25rem;
min-height: 32px;
}
.navds-form-field--small > .navds-text-field__description:not(:empty) {
margin-top: var(--navds-spacing-1);
}
.navds-text-field__input:hover {
border-color: var(--navds-text-field-color-border-hover);
}
@@ -36,20 +50,36 @@
/**
Error handling
*/
.navds-text-field--error
> .navds-text-field__input:not(:hover):not(:focus):not(:disabled) {
box-shadow: 0 0 0 1px var(--navds-text-field-color-shadow-error);
.navds-text-field--error > .navds-text-field__input:not(:hover):not(:disabled) {
border-color: var(--navds-text-field-color-border-error);
box-shadow: 0 0 0 1px var(--navds-text-field-color-border-error);
}
.navds-text-field--error
> .navds-text-field__input:focus:not(:hover):not(:disabled) {
box-shadow: 0 0 0 1px var(--navds-text-field-color-border-error),
var(--navds-shadow-focus);
}
/* Disabled handling */
.navds-text-field__input:disabled,
.navds-text-field__input[readonly] {
background-color: var(--navds-text-field-color-background-disabled);
border-color: var(--navds-text-field-color-border-disabled);
.navds-text-field__input:disabled {
background-color: var(--navds-text-field-color-background);
border-color: var(--navds-text-field-color-border);
box-shadow: none;
color: var(--navds-text-field-color-text-disabled);
cursor: not-allowed;
opacity: 0.3;
}
.navds-text-field__input[readonly] {
background-color: var(--navds-text-field-color-background);
border-color: var(--navds-text-field-color-border);
box-shadow: none;
cursor: not-allowed;
}
.navds-text-field--disabled > .navds-text-field__label,
.navds-text-field--disabled > .navds-text-field__description {
opacity: 0.3;
}
/**
+37 -16
View File
@@ -1,14 +1,26 @@
:root {
--navds-textarea-color-background: var(--navds-color-white);
--navds-textarea-color-border: var(--navds-color-gray-60);
--navds-textarea-color-border-hover: var(--navds-color-blue-50);
--navds-textarea-color-border-error: var(--navds-color-red-50);
--navds-textarea-color-shadow-error: var(--navds-color-red-50);
--navds-textarea-color-counter-text: var(--navds-color-gray-40);
--navds-textarea-color-counter-text-error: var(--navds-color-red-50);
--navds-textarea-color-text-disabled: var(--navds-color-darkgray);
--navds-textarea-color-border-disabled: var(--navds-color-gray-40);
--navds-textarea-color-background-disabled: var(--navds-color-gray-10);
--navds-textarea-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-textarea-color-border: var(--navds-semantic-color-border);
--navds-textarea-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-textarea-color-border-error: var(
--navds-semantic-color-interaction-danger
);
--navds-textarea-color-shadow-error: var(
--navds-semantic-color-interaction-danger
);
--navds-textarea-color-counter-text: var(--navds-global-color-gray-400);
--navds-textarea-color-counter-text-error: var(
--navds-semantic-color-interaction-danger
);
--navds-textarea-color-text-disabled: var(--navds-semantic-color-text);
--navds-textarea-color-border-disabled: var(--navds-global-color-gray-400);
--navds-textarea-color-background-disabled: var(
--navds-semantic-color-component-background-alternate
);
}
.navds-textarea__wrapper {
@@ -26,7 +38,7 @@
width: 100%;
transition: height 0.1s ease-out;
display: block;
min-height: 48px;
min-height: 3rem;
}
.navds-textarea--counter {
@@ -44,7 +56,7 @@
.navds-form-field--small .navds-textarea__input {
padding: var(--navds-spacing-1);
min-height: 32px;
min-height: 2rem;
}
.navds-form-field--small .navds-textarea--counter.navds-textarea__input {
@@ -78,11 +90,20 @@
/*
Disabled handling
*/
.navds-textarea__input:disabled,
.navds-textarea--disabled {
opacity: 0.3;
}
.navds-textarea__input:disabled {
background-color: var(--navds-textarea-color-background);
border-color: var(--navds-textarea-color-border);
box-shadow: none;
cursor: not-allowed;
}
.navds-textarea__input[readonly] {
background-color: var(--navds-textarea-color-background-disabled);
border-color: var(--navds-textarea-color-border-disabled);
background-color: var(--navds-textarea-color-background);
border-color: var(--navds-textarea-color-border);
box-shadow: none;
color: var(--navds-textarea-color-text-disabled);
cursor: not-allowed;
}
+2 -2
View File
@@ -5,12 +5,12 @@
.navds-grid {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
grid-gap: var(--navds-grid-gutter-small);
grid-gap: var(--navds-spacing-4);
}
@media (min-width: 448px) {
.navds-grid {
grid-gap: var(--navds-grid-gutter-medium-and-larger);
grid-gap: var(--navds-spacing-6);
}
}
+7 -3
View File
@@ -1,7 +1,11 @@
:root {
--navds-guide-panel-color-background: var(--navds-color-background);
--navds-guide-panel-color-border: var(--navds-color-blue-40);
--navds-guide-panel-color-illustration-background: var(--navds-color-blue-20);
--navds-guide-panel-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-guide-panel-color-border: var(--navds-global-color-blue-400);
--navds-guide-panel-color-illustration-background: var(
--navds-global-color-blue-200
);
}
/**
+20 -8
View File
@@ -1,13 +1,25 @@
:root {
--navds-help-text-color-button-background: transparent;
--navds-help-text-color-icon: var(--navds-color-blue-50);
--navds-help-text-color-icon-hover: var(--navds-color-white);
--navds-help-text-color-icon-background-hover: var(--navds-color-blue-50);
--navds-help-text-color-icon-shadow-hover: var(--navds-color-blue-50);
--navds-help-text-color-icon-focus: var(--navds-color-white);
--navds-help-text-color-icon-background-focus: var(--navds-color-blue-50);
--navds-help-text-color-icon-shadow-focus: var(--navds-color-blue-80);
--navds-help-text-color-popover-background: var(--navds-color-lightblue-10);
--navds-help-text-color-icon: var(--navds-semantic-color-interaction-primary);
--navds-help-text-color-icon-hover: var(
--navds-semantic-color-component-background-light
);
--navds-help-text-color-icon-background-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-help-text-color-icon-shadow-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-help-text-color-icon-focus: var(
--navds-semantic-color-component-background-light
);
--navds-help-text-color-icon-background-focus: var(
--navds-semantic-color-interaction-primary
);
--navds-help-text-color-icon-shadow-focus: var(--navds-semantic-color-focus);
--navds-help-text-color-popover-background: var(
--navds-semantic-color-feedback-info-background
);
}
.navds-help-text__button {
+3 -2
View File
@@ -3,22 +3,23 @@
@import "grid.css";
@import "accordion.css";
@import "accordion-menu.css";
@import "alert.css";
@import "button.css";
@import "content-container.css";
@import "copy-to-clipboard.css";
@import "guide-panel.css";
@import "form/index.css";
@import "help-text.css";
@import "link.css";
@import "loader.css";
@import "menu.css";
@import "modal.css";
@import "popover.css";
@import "tag.css";
@import "panel.css";
@import "link-panel.css";
@import "speech-bubble.css";
@import "step-indicator.css";
@import "table.css";
/* Navno spesific packages */
@import "page-header.css";
+6 -4
View File
@@ -1,7 +1,9 @@
:root {
--navds-link-panel-color-text: var(--navds-color-gray-90);
--navds-link-panel-color-border-hover: var(--navds-color-blue-50);
--navds-link-panel-color-title-hover: var(--navds-color-text-link);
--navds-link-panel-color-text: var(--navds-semantic-color-text);
--navds-link-panel-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-link-panel-color-title-hover: var(--navds-semantic-color-link);
}
.navds-link-panel {
@@ -19,7 +21,7 @@
}
.navds-link-panel:hover {
box-shadow: var(--navds-shadow-hover);
box-shadow: var(--navds-shadow-card);
border-color: var(--navds-link-panel-color-border-hover);
}
+11 -11
View File
@@ -1,13 +1,13 @@
:root {
--navds-link-color-text: var(--navds-color-text-link);
--navds-link-color-text-focus: var(--navds-color-text-inverse);
--navds-link-color-text-active: var(--navds-color-text-inverse);
--navds-link-color-background-focus: var(--navds-text-focus);
--navds-link-color-background-active: var(--navds-text-focus);
--navds-link-color-icon: var(--navds-color-text-link);
--navds-link-color-icon-focus: var(--navds-color-text-inverse);
--navds-link-color-on-info-background: var(--navds-color-text-primary);
--navds-link-color-on-error-background: var(--navds-color-text-primary);
--navds-link-color-text: var(--navds-semantic-color-link);
--navds-link-color-text-focus: var(--navds-semantic-color-text-inverted);
--navds-link-color-text-active: var(--navds-semantic-color-text-inverted);
--navds-link-color-background-focus: var(--navds-semantic-color-focus);
--navds-link-color-background-active: var(--navds-semantic-color-focus);
--navds-link-color-icon: var(--navds-semantic-color-link);
--navds-link-color-icon-focus: var(--navds-semantic-color-text-inverted);
--navds-link-color-on-info-background: var(--navds-semantic-color-text);
--navds-link-color-on-error-background: var(--navds-semantic-color-text);
}
.navds-link {
@@ -36,7 +36,7 @@
color: var(--navds-link-color-text-focus);
text-decoration: none;
background-color: var(--navds-link-color-background-focus);
box-shadow: var(--navds-text-shadow);
box-shadow: 0 0 0 2px var(--navds-semantic-color-focus);
}
.navds-link:active {
@@ -44,7 +44,7 @@
color: var(--navds-link-color-text-active);
text-decoration: none;
background-color: var(--navds-link-color-background-active);
box-shadow: var(--navds-text-shadow);
box-shadow: 0 0 0 2px var(--navds-semantic-color-focus);
}
.navds-link svg {
+11 -28
View File
@@ -1,13 +1,17 @@
:root {
--navds-loader-color-foreground: var(--navds-color-gray-40);
--navds-loader-color-background: var(--navds-color-gray-10);
--navds-loader-color-neutral-foreground: var(--navds-color-gray-40);
--navds-loader-color-interaction-foreground: var(--navds-color-blue-50);
--navds-loader-color-inverted-foreground: var(--navds-color-white);
--navds-loader-color-foreground: var(--navds-global-color-gray-400);
--navds-loader-color-background: var(
--navds-semantic-color-component-background-alternate
);
--navds-loader-color-neutral-foreground: var(--navds-global-color-gray-400);
--navds-loader-color-interaction-foreground: var(
--navds-semantic-color-interaction-primary
);
--navds-loader-color-inverted-foreground: var(
--navds-semantic-color-component-background-light
);
--navds-loader-color-inverted-background: rgba(255, 255, 255, 0.3);
--navds-loader-color-transparent-background: transparent;
--navds-loader-color-on-button-background: rgba(255, 255, 255, 0.3);
--navds-loader-color-on-button-foreground: currentColor;
}
.navds-loader {
@@ -72,27 +76,6 @@
width: 1rem;
}
/*
* Button spesific styling
*/
.navds-button .navds-loader .navds-loader__foreground {
stroke: var(--navds-loader-color-on-button-foreground);
}
.navds-button:hover .navds-loader .navds-loader__background {
stroke: var(--navds-loader-color-on-button-background);
}
.navds-button:active .navds-loader .navds-loader__background {
stroke: var(--navds-loader-color-on-button-background);
}
.navds-button--primary .navds-loader .navds-loader__background,
.navds-button--danger .navds-loader .navds-loader__background {
stroke: var(--navds-loader-color-on-button-background);
}
@keyframes loader-rotate {
100% {
transform: rotate(360deg);
+102
View File
@@ -0,0 +1,102 @@
:root {
--navds-menu-color-text: var(--navds-semantic-color-link);
--navds-menu-color-text-hover: var(--navds-semantic-color-text);
--navds-menu-color-text-focus: var(--navds-semantic-color-text);
--navds-menu-color-background-hover: var(--navds-global-color-blue-50);
--navds-menu-color-text-active: var(--navds-semantic-color-text);
--navds-menu-outline-focus: var(--navds-semantic-color-focus);
}
.navds-menu__list {
list-style: none;
margin: 0;
padding: 0;
padding: 0 0.5rem;
}
.navds-menu__list--inner {
padding: 0;
}
.navds-menu-collapse__button {
cursor: pointer;
background-color: transparent;
border: none;
font: inherit;
text-align: inherit;
margin: 0;
width: 100%;
justify-content: space-between;
align-items: center;
font-weight: var(--navds-font-weight-bold);
color: var(--navds-menu-color-text);
}
.navds-menu-item,
.navds-menu-collapse__button {
font-weight: var(--navds-font-weight-bold);
display: flex;
padding: var(--navds-spacing-3) var(--navds-spacing-2);
text-decoration: none;
}
.navds-menu-item:focus,
.navds-menu-collapse__button:focus {
outline: 3px solid var(--navds-menu-outline-focus);
outline-offset: -3px;
color: var(--navds-menu-color-text-focus);
}
.navds-menu-collapse__button:focus > .navds-menu-collapse__expand-icon {
color: var(--navds-menu-color-focus);
}
.navds-menu-item:hover,
.navds-menu-collapse__button:hover {
background-color: var(--navds-menu-color-background-hover);
color: var(--navds-menu-color-text-hover);
}
.navds-menu-item--active {
box-shadow: -0.5rem 0 var(--navds-semantic-color-link);
color: var(--navds-menu-color-text-active);
text-decoration: none;
}
/* Collapse icon */
.navds-menu-collapse__expand-icon {
font-size: 1.5rem;
flex-shrink: 0;
margin-left: var(--navds-spacing-2);
}
.navds-menu-collapse__expand-icon--filled,
.navds-menu-collapse__button:hover > .navds-menu-collapse__expand-icon {
display: none;
}
.navds-menu-collapse__button:hover > .navds-menu-collapse__expand-icon--filled {
display: block;
}
.navds-menu-collapse--open
> .navds-menu-collapse__button
> .navds-menu-collapse__expand-icon {
transform: rotate(180deg);
}
/* Nesting levels */
.navds-menu__list[data-depth="1"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="1"] .navds-menu-item {
padding-left: var(--navds-spacing-6);
}
.navds-menu__list[data-depth="2"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="2"] .navds-menu-item {
padding-left: var(--navds-spacing-10);
}
.navds-menu__list[data-depth="3"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="3"] .navds-menu-item {
padding-left: var(--navds-spacing-14);
}
+4 -2
View File
@@ -1,6 +1,8 @@
:root {
--navds-modal-color-background: var(--navds-color-background);
--navds-modal-color-overlay: var(--navds-color-modal-overlay);
--navds-modal-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-modal-color-overlay: rgba(38, 38, 38, 0.7);
}
.ReactModal__Body--open {
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-css",
"version": "0.9.1",
"version": "0.15.3",
"private": false,
"description": "Css for NAV Designsystem components",
"author": "NAV Designsystem team",
@@ -21,7 +21,7 @@
"watch": "postcss --watch --use postcss-import -o dist/index.css index.css"
},
"devDependencies": {
"@navikt/ds-tokens": "^0.5.2",
"@navikt/ds-tokens": "^0.8.1",
"normalize.css": "^8.0.1",
"postcss": "^8.3.6",
"postcss-cli": "^8.3.1",
+11 -5
View File
@@ -1,8 +1,14 @@
:root {
--navds-page-header-color-background: var(--navds-color-background);
--navds-page-header-color-shadow-situation: var(--navds-color-orange-40);
--navds-page-header-color-shadow-product: var(--navds-color-green-40);
--navds-page-header-color-shadow-guide: var(--navds-color-deepblue-40);
--navds-page-header-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-page-header-color-shadow-situation: var(
--navds-global-color-orange-400
);
--navds-page-header-color-shadow-product: var(--navds-global-color-green-400);
--navds-page-header-color-shadow-guide: var(
--navds-global-color-deepblue-400
);
}
.navds-page-header {
@@ -65,6 +71,6 @@
height: 3rem;
}
.navds-page-header__title {
font-size: var(--navds-font-size-title-xl);
font-size: var(--navds-font-size-heading-xlarge);
}
}
+5 -3
View File
@@ -1,12 +1,14 @@
:root {
--navds-panel-color-background: var(--navds-color-white);
--navds-panel-color-border: var(--navds-color-border);
--navds-panel-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-panel-color-border: var(--navds-semantic-color-border-muted);
}
.navds-panel {
background-color: var(--navds-panel-color-background);
padding: var(--navds-spacing-4);
border-radius: var(--navds-border-radius);
border-radius: 4px;
border: 1px solid transparent;
}
+5 -4
View File
@@ -1,13 +1,14 @@
:root {
--navds-popover-color-background: var(--navds-color-background);
--navds-popover-color-border: var(--navds-color-gray-40);
--navds-popover-color-shadow: var(--navds-color-gray-20);
--navds-popover-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-popover-color-border: var(--navds-semantic-color-border-muted);
}
.navds-popover {
z-index: var(--navds-z-index-popover);
background-color: var(--navds-popover-color-background);
box-shadow: 0 2px 4px 0 var(--navds-popover-color-shadow);
box-shadow: var(--navds-shadow-popover);
border: 1px solid;
border-color: var(--navds-popover-color-border);
border-radius: 4px;
+9 -6
View File
@@ -1,11 +1,14 @@
:root {
--navds-speechbubble-color-background: var(--navds-color-gray-10);
--navds-speechbubble-color-shadow: var(--navds-color-gray-20);
--navds-speechbubble-color-illustration: var(--navds-color-darkgray);
--navds-speechbubble-color-background: var(
--navds-semantic-color-component-background-alternate
);
--navds-speechbubble-color-illustration: var(--navds-semantic-color-text);
--navds-speechbubble-color-illustration-background: var(
--navds-color-gray-20
--navds-semantic-color-canvas-background
);
--navds-speechbubble-color-detail-text: var(
--navds-semantic-color-text-muted
);
--navds-speechbubble-color-detail-text: var(--navds-color-gray-60);
}
.navds-speechbubble {
@@ -52,7 +55,7 @@
.navds-speechbubble__bubble {
padding: 1rem;
box-shadow: 0 2px 4px 0 var(--navds-speechbubble-color-shadow);
box-shadow: var(--navds-shadow-popover);
width: fit-content;
max-width: 37.5rem;
background-color: var(--navds-speechbubble-color-background);
+202
View File
@@ -0,0 +1,202 @@
:root {
--navds-step-indicator-color-step-line: var(--navds-semantic-color-divider);
--navds-step-indicator-color-step-text: var(--navds-semantic-color-text);
--navds-step-indicator-color-step-label: var(
--navds-semantic-color-interaction-primary
);
--navds-step-indicator-color-step-number-background: var(
--navds-semantic-color-canvas-background-light
);
--navds-step-indicator-color-step-number-background-finished: var(
--navds-semantic-color-canvas-background
);
--navds-step-indicator-color-step-number-shadow: var(
--navds-semantic-color-border
);
--navds-step-indicator-color-step-number-shadow-active: var(
--navds-semantic-color-interaction-primary-selected
);
--navds-step-indicator-color-step-number-shadow-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-step-indicator-color-step-number-background-active: var(
--navds-semantic-color-interaction-primary-selected
);
--navds-step-indicator-color-step-number-text-active: var(
--navds-semantic-color-text-inverted
);
--navds-step-indicator-color-step-number-shadow-inset: var(
--navds-semantic-color-component-background-light
);
}
/* StepIndicator */
.navds-step-indicator {
display: flex;
align-items: flex-start;
padding: 0;
margin: 0;
}
/* Step */
.navds-step-indicator__step-wrapper {
padding: 0 var(--navds-spacing-2);
flex: 1;
position: relative;
list-style: none;
min-width: 10rem;
}
.navds-step-indicator__step-wrapper--hidelabel {
min-width: 5rem;
}
.navds-step-indicator__step {
display: flex;
align-items: center;
flex-direction: column;
padding: 0;
background: none;
border: none;
appearance: none;
width: 100%;
flex-shrink: 1;
color: var(--navds-step-indicator-color-step-text);
text-decoration: none;
cursor: pointer;
}
.navds-step-indicator__step-number {
flex-shrink: 0;
display: flex;
width: 2rem;
height: 2rem;
margin: 0.5rem;
border-radius: 50%;
align-items: center;
justify-content: center;
box-shadow: 0 0 0 1px var(--navds-step-indicator-color-step-number-shadow);
background-color: var(--navds-step-indicator-color-step-number-background);
}
.navds-step-indicator__step-wrapper:first-child
> .navds-step-indicator__step
> .navds-step-indicator__step-number {
padding-right: 0;
}
.navds-step-indicator__step-wrapper:last-child
> .navds-step-indicator__step
> .navds-step-indicator__step-number {
padding-left: 0;
}
.navds-step-indicator__step-label {
width: 100%;
margin-top: var(--navds-spacing-4);
text-align: center;
color: var(--navds-step-indicator-color-step-label);
text-decoration: underline;
}
.navds-step-indicator__step-line {
flex: 1 1 100%;
position: absolute;
top: 1.5rem;
right: calc(50% + 2rem);
left: calc(-50% + 2rem);
display: block;
border-top: 2px solid var(--navds-step-indicator-color-step-line);
border-radius: 4px;
pointer-events: none;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-label {
color: var(--navds-step-indicator-color-step-text);
font-weight: bold;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-number {
background-color: var(
--navds-step-indicator-color-step-number-background-active
);
color: var(--navds-step-indicator-color-step-number-text-active);
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
width: 2.5rem;
height: 2.5rem;
margin: 0.25rem;
}
.navds-step-indicator__step:focus {
outline: none;
}
.navds-step-indicator__step:hover > .navds-step-indicator__step-label {
text-decoration: none;
}
.navds-step-indicator__step.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-label {
text-decoration: underline;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-label,
.navds-step-indicator__step--active.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-label {
text-decoration: none;
}
.navds-step-indicator__step:hover > .navds-step-indicator__step-number {
background: var(--navds-step-indicator-color-step-number-background);
box-shadow: 0 0 0 2px
var(--navds-step-indicator-color-step-number-shadow-hover);
}
.navds-step-indicator__step--active:hover > .navds-step-indicator__step-number {
background-color: var(
--navds-step-indicator-color-step-number-background-active
);
color: var(--navds-step-indicator-color-step-number-text-active);
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
}
.navds-step-indicator__step:focus > .navds-step-indicator__step-number {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-step-indicator__step--active:focus > .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px inset
var(--navds-step-indicator-color-step-number-shadow-inset),
var(--navds-shadow-focus);
}
.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px var(--navds-step-indicator-color-step-number-shadow);
}
.navds-step-indicator__step--disabled.navds-step-indicator__step--active:disabled
> .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
}
/* Finished state */
.navds-step-indicator__step--finished > .navds-step-indicator__step-number,
.navds-step-indicator__step--finished.navds-step-indicator__step--disabled
> .navds-step-indicator__step-number {
background: var(--navds-step-indicator-color-step-number-background-finished);
}
/* Disabled */
.navds-step-indicator__step--disabled > .navds-step-indicator__step-number,
.navds-step-indicator__step--disabled > .navds-step-indicator__step-label {
opacity: 0.3;
}
.navds-step-indicator__step--disabled {
cursor: not-allowed;
}
+82
View File
@@ -0,0 +1,82 @@
:root {
--navds-table-cell-color-border: var(--navds-semantic-color-border-muted);
--navds-table-row-color-background-hover: var(
--navds-semantic-color-canvas-background
);
--navds-table-row-color-background-selected: var(
--navds-semantic-color-interaction-primary-hover-subtle
);
--navds-table-row-color-background-selected-hover: var(
--navds-global-color-blue-100
);
--navds-table-row-color-background-zebra: var(
--navds-semantic-color-component-background-alternate
);
--navds-table-cell-color-border-hover: var(--navds-semantic-color-border);
}
.navds-table {
border-collapse: collapse;
width: 100%;
display: table;
}
.navds-table__header {
display: table-header-group;
}
.navds-table__body {
display: table-row-group;
}
.navds-table__row {
display: table-row;
}
.navds-table__body .navds-table__row:hover {
background-color: var(--navds-table-row-color-background-hover);
}
.navds-table__row--selected {
background-color: var(--navds-table-row-color-background-selected);
}
.navds-table__body .navds-table__row--selected:hover {
background-color: var(--navds-table-row-color-background-selected-hover);
}
.navds-table--zebra-stripes
.navds-table__body
.navds-table__row:nth-of-type(odd):not(:hover):not(.navds-table__row--selected) {
background-color: var(--navds-table-row-color-background-zebra);
}
.navds-table__header-cell,
.navds-table__data-cell {
display: table-cell;
padding: var(--navds-spacing-4);
border-bottom: 1px solid var(--navds-table-cell-color-border);
text-align: left;
}
.navds-table__body .navds-table__row:hover .navds-table__header-cell,
.navds-table__body .navds-table__row:hover .navds-table__data-cell {
border-color: var(--navds-table-cell-color-border-hover);
}
.navds-table--small .navds-table__header-cell,
.navds-table--small .navds-table__data-cell {
padding: var(--navds-spacing-2);
}
.navds-table .navds-checkbox .navds-checkbox__input {
top: -12px;
}
.navds-table .navds-checkbox--small .navds-checkbox__input {
top: -6px;
}
.navds-table .navds-checkbox .navds-checkbox__label {
padding: 0;
}
+24 -10
View File
@@ -1,18 +1,32 @@
:root {
--navds-tag-color-border: var(--navds-color-gray-40);
--navds-tag-color-background: var(--navds-color-gray-10);
--navds-tag-color-info-background: var(--navds-color-tag-info-background);
--navds-tag-color-info-border: var(--navds-color-tag-info-border);
--navds-tag-color-border: var(--navds-semantic-color-border-muted);
--navds-tag-color-background: var(
--navds-semantic-color-component-background-alternate
);
--navds-tag-color-info-background: var(
--navds-semantic-color-feedback-info-background
);
--navds-tag-color-info-border: var(
--navds-semantic-color-feedback-info-border
);
--navds-tag-color-warning-background: var(
--navds-color-tag-warning-background
--navds-semantic-color-feedback-warning-background
);
--navds-tag-color-warning-border: var(
--navds-semantic-color-feedback-warning-border
);
--navds-tag-color-warning-border: var(--navds-color-tag-warning-border);
--navds-tag-color-success-background: var(
--navds-color-tag-success-background
--navds-semantic-color-feedback-success-background
);
--navds-tag-color-success-border: var(
--navds-semantic-color-feedback-success-border
);
--navds-tag-color-error-background: var(
--navds-semantic-color-feedback-danger-background
);
--navds-tag-color-error-border: var(
--navds-semantic-color-feedback-danger-border
);
--navds-tag-color-success-border: var(--navds-color-tag-success-border);
--navds-tag-color-error-background: var(--navds-color-tag-error-background);
--navds-tag-color-error-border: var(--navds-color-tag-error-border);
}
.navds-tag {
+53 -40
View File
@@ -4,40 +4,53 @@
margin: 0;
}
.navds-heading--2xlarge {
font-size: var(--navds-font-size-heading-2xl);
letter-spacing: -0.01em;
line-height: var(--navds-font-line-height-heading-2xl);
}
.navds-heading--2xlarge.navds-typo--spacing {
margin-bottom: var(--navds-spacing-5);
}
.navds-heading--xlarge {
font-size: var(--navds-font-size-heading-xl);
letter-spacing: -0.008em;
line-height: var(--navds-font-line-height-heading-xl);
font-size: var(--navds-font-size-heading-2xlarge);
letter-spacing: -0.01em;
line-height: var(--navds-font-line-height-heading-2xlarge);
}
.navds-heading--xlarge.navds-typo--spacing {
margin-bottom: var(--navds-spacing-4);
margin-bottom: var(--navds-spacing-5);
}
.navds-heading--large {
font-size: var(--navds-font-size-heading-l);
letter-spacing: -0.004em;
line-height: var(--navds-font-line-height-heading-l);
font-size: var(--navds-font-size-heading-xlarge);
letter-spacing: -0.008em;
line-height: var(--navds-font-line-height-heading-xlarge);
}
.navds-heading--large.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
margin-bottom: var(--navds-spacing-4);
}
/* Mobile scale */
@media (max-width: 480px) {
.navds-heading--xlarge {
font-size: var(--navds-font-size-heading-xlarge);
letter-spacing: -0.008em;
line-height: var(--navds-font-line-height-heading-xlarge);
}
.navds-heading--xlarge.navds-typo--spacing {
margin-bottom: var(--navds-spacing-4);
}
.navds-heading--large {
font-size: var(--navds-font-size-heading-large);
letter-spacing: -0.004em;
line-height: var(--navds-font-line-height-heading-large);
}
.navds-heading--large.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
}
.navds-heading--medium {
font-size: var(--navds-font-size-heading-m);
font-size: var(--navds-font-size-heading-medium);
letter-spacing: -0.002em;
line-height: var(--navds-font-line-height-heading-m);
line-height: var(--navds-font-line-height-heading-medium);
}
.navds-heading--medium.navds-typo--spacing {
@@ -45,9 +58,9 @@
}
.navds-heading--small {
font-size: var(--navds-font-size-heading-s);
font-size: var(--navds-font-size-heading-small);
letter-spacing: -0.001em;
line-height: var(--navds-font-line-height-heading-s);
line-height: var(--navds-font-line-height-heading-small);
}
.navds-heading--small.navds-typo--spacing {
@@ -55,9 +68,9 @@
}
.navds-heading--xsmall {
font-size: var(--navds-font-size-heading-xs);
font-size: var(--navds-font-size-heading-xsmall);
letter-spacing: -0.001em;
line-height: var(--navds-font-line-height-heading-xs);
line-height: var(--navds-font-line-height-heading-xsmall);
}
.navds-heading--xsmall.navds-typo--spacing {
@@ -66,10 +79,10 @@
/* Ingress */
.navds-ingress {
font-size: var(--navds-font-size-xl);
font-size: var(--navds-font-size-xlarge);
font-weight: var(--navds-font-weight-regular);
letter-spacing: -0.001em;
line-height: var(--navds-font-line-height-xl);
line-height: var(--navds-font-line-height-xlarge);
margin: 0;
}
@@ -79,10 +92,10 @@
/* Body */
.navds-body-long {
font-size: var(--navds-font-size-l);
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-regular);
letter-spacing: 0;
line-height: var(--navds-font-line-height-xl);
line-height: var(--navds-font-line-height-xlarge);
margin: 0;
}
@@ -91,9 +104,9 @@
}
.navds-body-long--small {
font-size: var(--navds-font-size-m);
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-l);
line-height: var(--navds-font-line-height-large);
}
.navds-body-long--small.navds-typo--spacing {
@@ -101,10 +114,10 @@
}
.navds-body-short {
font-size: var(--navds-font-size-l);
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-regular);
letter-spacing: 0;
line-height: var(--navds-font-line-height-l);
line-height: var(--navds-font-line-height-large);
margin: 0;
}
@@ -113,9 +126,9 @@
}
.navds-body-short--small {
font-size: var(--navds-font-size-m);
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-m);
line-height: var(--navds-font-line-height-medium);
}
.navds-body-short--small.navds-typo--spacing {
@@ -124,10 +137,10 @@
/* Label */
.navds-label {
font-size: var(--navds-font-size-l);
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-bold);
letter-spacing: 0;
line-height: var(--navds-font-line-height-l);
line-height: var(--navds-font-line-height-large);
margin: 0;
}
@@ -136,9 +149,9 @@
}
.navds-label--small {
font-size: var(--navds-font-size-m);
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-m);
line-height: var(--navds-font-line-height-medium);
}
.navds-label--small.navds-typo--spacing {
@@ -147,10 +160,10 @@
/* Small text */
.navds-detail {
font-size: var(--navds-font-size-s);
font-size: var(--navds-font-size-small);
font-weight: var(--navds-font-weight-bold);
letter-spacing: 0.004em;
line-height: var(--navds-font-line-height-m);
line-height: var(--navds-font-line-height-medium);
margin: 0;
}
+16
View File
@@ -0,0 +1,16 @@
const template = require("./template");
module.exports = {
typescript: true,
ref: true,
icon: true,
titleProp: true,
svgProps: {
focusable: false,
role: "img",
},
replaceAttrValues: {
"#262626": "currentColor",
},
template,
};
+12 -2
View File
@@ -1,6 +1,6 @@
# @navikt/ds-icons
Denne pakken leverer [NAVs ikoner](https://design.nav.no/resources/icons) i en pakke med React-komponenter og SVGer.
Leverer [NAVs ikoner](https://design.nav.no/resources/icons) i React og SVG.
## Installering
@@ -12,7 +12,17 @@ yarn add @navikt/ds-icons
npm install @navikt/ds-icons
```
## Bruk
```jsx
/* ESM (anbefalt for tree-shaking)*/
import { Down } from "@navikt/ds-icons";
/* CJS */
import { Down } from "@navikt/cjs/ds-icons";
<Down aria-label="Åpne meny" />;
```
## Dokumentasjon
- [Ikonsøk](https://design.nav.no/resources/icons)
- [Installering](https://design.nav.no/resources/icons/install)
-49
View File
@@ -1,49 +0,0 @@
// https://levelup.gitconnected.com/learn-svg-to-react-using-figma-api-be0a5f9c0ca
// used for reference/implementation
import Axios from "axios";
const { create, get } = Axios;
// Requires user to add a personalized figma token in .env
const headers = {
"X-FIGMA-TOKEN": process.env.FIGMA_TOKEN,
};
/**
* Api connection for icon components
* https://www.figma.com/file/UmEVH3pZ71uJPsSz9ilP3Y/NAV-ikoner-2.1-Figma-i-test?node-id=0%3A1
*/
const instanceFiles = create({
baseURL: `https://api.figma.com/v1/files/${process.env.FILE_KEY}/components`,
headers,
});
/**
* api endpoint for images
*/
const instanceImages = create({
baseURL: `https://api.figma.com/v1/images/${process.env.FILE_KEY}`,
headers,
});
/**
* get Figma node components children
*/
export const getNodeChildren = async () => {
const { data } = await instanceFiles.get();
return data.meta.components;
};
/**
* get svg image resource urls
*/
export const getSvgImageUrls = async (nodeIds) => {
const {
data: { images },
} = await instanceImages.get(`/?ids=${nodeIds}&format=svg`);
return Object.values(images);
};
/**
* Gets raw svg data from url
*/
export const getIconContent = async (url) => get(url);
-105
View File
@@ -1,105 +0,0 @@
import { getNodeChildren, getSvgImageUrls, getIconContent } from "./api";
import { existsSync, unlinkSync, writeFileSync, mkdirSync } from "fs";
import { resolve } from "path";
import pLimit from "p-limit";
import rimraf from "rimraf";
import startCase from "lodash.startcase";
const generateMetadata = (iconNodesArr) => {
return iconNodesArr
.map(({ name, description, created_at, updated_at, containing_frame }) => {
return {
name: startCase(name).replace(/\s/g, ""),
description,
created_at,
updated_at,
//strip emojis
pageName: containing_frame.pageName.replace(
/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,
""
),
visible: true,
};
})
.sort((a, b) => a.name.localeCompare(b.name));
};
const main = async () => {
const iconFolder = "./svg";
const metadataFileName = "./figma-api/metadata.json";
const misses = [];
// Limiting to ~20 concurrent downloads seems to lead to fewer erros
const limit = pLimit(20);
const iconNodesArr = await getNodeChildren().catch((e) => {
throw e;
});
if (existsSync(metadataFileName)) {
unlinkSync(metadataFileName);
}
writeFileSync(
metadataFileName,
JSON.stringify(generateMetadata(iconNodesArr), null, 4),
{
encoding: "utf8",
}
);
const iconUrls = await getSvgImageUrls(
iconNodesArr.map((node) => node.node_id).join(",")
);
if (existsSync(iconFolder)) {
rimraf.sync(iconFolder);
}
mkdirSync(iconFolder);
console.log("Total icons: " + iconNodesArr.length);
await Promise.all(
iconUrls.map((url, x) =>
limit(() =>
getIconContent(url)
.then(({ data }) => {
writeFileSync(
resolve(
iconFolder,
`${startCase(iconNodesArr[x].name).replace(/\s/g, "")}.svg`
),
data,
{
encoding: "utf8",
}
);
})
.catch((e) => {
misses.push({
name: iconNodesArr[x].name,
error: e.message,
});
})
)
)
);
if (misses.length > 0) {
writeFileSync(
resolve("./", `misses.txt`),
JSON.stringify(misses, null, 4),
{
encoding: "utf8",
}
);
console.log(`\nCould not download ${misses.length} icons\n`);
} else {
console.log("\nDownloaded all icons from Figma successfully!\n");
}
};
try {
main();
} catch (e) {
console.error(e);
}
@@ -1,41 +0,0 @@
import { existsSync, mkdirSync, readdirSync } from "fs";
import sharp from "sharp";
import rimraf from "rimraf";
import pLimit from "p-limit";
const convertToPng = async () => {
const inputDir = "./svg/";
const outDir = "./png/";
const sizes = [16, 24, 128, 256];
console.log("Converting icons to .png format");
const limit = pLimit(20);
if (existsSync(outDir)) {
rimraf.sync(outDir);
}
mkdirSync(outDir);
sizes.forEach((size) => mkdirSync(outDir + size.toString()));
await Promise.all(
readdirSync(inputDir).map((file) => {
return limit(() =>
sizes.forEach((size) => {
const density = (100 * size) / 16;
sharp(inputDir + file, { density })
.resize(size)
.png()
.toFile(outDir + size.toString() + "/" + file.replace("svg", "png"))
.catch((e) => console.error(e));
})
);
})
);
console.log("Finished converting icons to .png format");
};
try {
convertToPng();
} catch (e) {
console.error(e);
}
-16
View File
@@ -1,16 +0,0 @@
import zipdir from "zip-dir";
const zipDir = async (dir, name) => {
await zipdir(dir, { saveTo: name }, function (err, buffer) {
if (err) {
console.error(err);
}
});
};
try {
zipDir("./png/", "NAV-ikonpakke-png.zip");
zipDir("./svg/", "NAV-ikonpakke-svg.zip");
} catch (e) {
console.error(e);
}
+52
View File
@@ -0,0 +1,52 @@
import Axios from "axios";
const { create, get } = Axios;
const FILE_KEY = "UmEVH3pZ71uJPsSz9ilP3Y";
const FigmaAxion = (token?: string) =>
create({
headers: {
"X-FIGMA-TOKEN": token,
},
});
/**
* Published Figma-components
* https://www.figma.com/file/UmEVH3pZ71uJPsSz9ilP3Y/%F0%9F%92%A0NAV-ikoner-2.5-Figma
*/
export const getPublishedIcons = async () => {
const { data } = await FigmaAxion(process.env.FIGMA_TOKEN)
.get(`https://api.figma.com/v1/files/${FILE_KEY}/components`)
.catch((e) => {
console.log("Failed getPublishedIcons ");
throw e;
});
return data?.meta?.components?.filter((component: any) => {
const page = component?.containing_frame?.pageName;
return page !== "🔆Pictogram" && page !== "🧩Placeholder";
});
};
/**
* Downloadable link to each icon in SVG-format
*/
export const getIconsDownloadableUrl = async (nodeIds: string) => {
const {
data: { images },
} = await FigmaAxion(process.env.FIGMA_TOKEN)
.get(
`https://api.figma.com/v1/images/${FILE_KEY}/?ids=${nodeIds}&format=svg`
)
.catch((e) => {
console.log("Failed getIconsDownloadableUrl ");
throw e;
});
return Object.values(images) as string[];
};
/**
* Download icon @url
*/
export const getIconContent = async (url: string) => get(url);
+85
View File
@@ -0,0 +1,85 @@
import {
getPublishedIcons,
getIconsDownloadableUrl,
getIconContent,
} from "./api";
import { existsSync, writeFileSync, mkdirSync } from "fs";
import { resolve } from "path";
import pLimit from "p-limit";
import rimraf from "rimraf";
import startCase from "lodash.startcase";
import { writeMeta } from "./write-meta";
import dotenv from "dotenv";
dotenv.config();
export type ComponentT = {
key: string;
file_key: string;
node_id: string;
thumbnail_url: string;
name: string;
description: string;
updated_at: string;
created_at: string;
user: any;
containing_frame: any;
};
const main = async () => {
if (!process.env.FIGMA_TOKEN) {
throw new Error("FIGMA_TOKEN not set in .env");
}
const iconFolder = "./svg";
// Limiting to ~20 concurrent downloads seems to lead to less errors
const limit = pLimit(20);
const publishedIconNodes: ComponentT[] = await getPublishedIcons();
writeMeta(publishedIconNodes);
/* Get all urls in one fetch rather than 300+ */
const iconUrls: string[] = await getIconsDownloadableUrl(
publishedIconNodes.map((node) => node.node_id).join(",")
);
if (existsSync(iconFolder)) {
rimraf.sync(iconFolder);
}
mkdirSync(iconFolder);
console.log("Total icons: " + publishedIconNodes.length);
await Promise.all(
iconUrls.map((url, x) =>
limit(() =>
getIconContent(url)
.then(({ data }) => {
writeFileSync(
resolve(
iconFolder,
`${startCase(publishedIconNodes[x].name).replace(
/\s/g,
""
)}.svg`
),
data,
{
encoding: "utf8",
}
);
})
.catch((e) => {
throw e;
})
)
)
);
console.log("\nDownloaded all icons from Figma!\n");
};
try {
main();
} catch (e) {
throw e;
}
+35
View File
@@ -0,0 +1,35 @@
import { existsSync, unlinkSync, writeFileSync } from "fs";
import startCase from "lodash.startcase";
import { ComponentT } from ".";
const generateMetadata = (publishedIconNodes: ComponentT[]) => {
return publishedIconNodes
.map(({ name, description, created_at, containing_frame }) => {
return {
name: startCase(name).replace(/\s/g, ""),
description,
created_at,
// strip emojis
pageName: containing_frame.pageName.replace(
/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,
""
),
};
})
.sort((a, b) => a.name.localeCompare(b.name));
};
export const writeMeta = (publishedIconNodes: ComponentT[]) => {
const metadataFileName = "./meta.json";
if (existsSync(metadataFileName)) {
unlinkSync(metadataFileName);
}
writeFileSync(
metadataFileName,
JSON.stringify(generateMetadata(publishedIconNodes)),
{
encoding: "utf8",
}
);
};
@@ -1,7 +1,8 @@
import React from "react";
import { storiesOf } from "@storybook/react";
import isChromatic from "chromatic/isChromatic";
import * as Icons from "../src";
import * as Icons from "./src";
export default {
title: "ds-icons/Ikoner",
argTypes: {
@@ -16,7 +17,7 @@ export default {
},
};
if (process.env.STORYBOOK_CHROMATIC === "true") {
if (isChromatic()) {
const iconsStories = storiesOf("ds-icons/Ikoner", module);
Object.entries(Icons).forEach(([name, Icon]) => {
File diff suppressed because it is too large. Load diff
+17 -10
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-icons",
"version": "0.5.4",
"version": "0.8.4",
"private": false,
"description": "NAVs egne ikoner i SVG og React format",
"repository": {
@@ -22,22 +22,29 @@
"/cjs",
"/esm",
"/src",
"/svg"
"/svg",
"/meta.json"
],
"scripts": {
"create-package-json-pointers-to-esm": "node ../../../utilities/scripts/createPackageJsonsWithESMPointers.js",
"dl-icons": "FILE_KEY=UmEVH3pZ71uJPsSz9ilP3Y node --experimental-modules --es-module-specifier-resolution=node -r dotenv/config figma-api/index.mjs dotenv_config_path=figma-api/.env",
"create-icons": "svgr --silent --typescript --ref --icon --title-prop --replace-attr-values \"#262626=currentColor\" -d src svg",
"convert-icons": "node figma-api/pngConverter.mjs",
"clean": "rimraf src png NAV-ikonpakke-png.zip NAV-ikonpakke-svg.zip",
"zip-icons": "node figma-api/zipIcons.mjs",
"build": "yarn clean && yarn create-icons && tsc && tsc -p tsconfig-esm.json && yarn create-package-json-pointers-to-esm && yarn run convert-icons && yarn zip-icons"
"create-icons": "svgr --out-dir src svg",
"clean": "rimraf src cjs esm",
"build": "yarn clean && yarn create-icons && tsc && tsc -p tsconfig.esm.json && yarn create-package-json-pointers-to-esm",
"update": "ts-node figma/index.ts dotenv/config"
},
"dependencies": {
"uuid": "^8.3.2"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0"
"@types/react": "^17.0.30",
"react": "^17.0.0"
},
"devDependencies": {
"@svgr/cli": "^5.5.0",
"@types/lodash.startcase": "^4.4.6",
"@types/rimraf": "3.0.2",
"@types/uuid": "^8.3.1",
"axios": "^0.21.3",
"copyfiles": "^2.4.1",
"dotenv": "^10.0.0",
"lodash.kebabcase": "^4.1.1",
@@ -45,6 +52,6 @@
"react": "^16.8.0 || ^17.0.0",
"rimraf": "3.0.2",
"sharp": "0.29.1",
"zip-dir": "^2.0.0"
"ts-node": "^10.4.0"
}
}
@@ -1,25 +0,0 @@
import { Meta } from "@storybook/addon-docs";
<Meta title="ds-icons/Kom i gang" />
# Ta i bruk ikonpakken `@navikt/ds-icons`
Alle ikoner kan bli funnet her https://design.nav.no/designsystem/resources/icons
## Oppsett
```bash
yarn add @navikt/ds-icons
```
```jsx
Import { Expand } from `@navikt/ds-icons`;
<Expand
aria-label="Åpne meny"
role="img"
focusable="false"
/>
```
Note: Det kan være tilfeller der oppsettet ditt ikke har støtte for SVG, og det må da legges til manuelt i eks en webpack config basert på hva som blir brukt.
File renamed without changes.
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.8634 1.00122C18.1639 0.974609 19.5426 1.3819 20.5704 2.35845C21.5981 3.33501 22.0267 4.64511 21.9987 5.88083C21.9709 7.10846 21.4908 8.35534 20.5704 9.22999L11.1693 18.163C10.6021 18.7019 9.81338 18.9683 9.05641 18.9838C8.29093 18.9995 7.45868 18.76 6.83035 18.163C6.20202 17.5659 5.95004 16.7751 5.96653 16.0478C5.98283 15.3285 6.26318 14.579 6.83035 14.0401L13.3388 7.85568C13.7382 7.47618 14.3857 7.47618 14.7851 7.85568C15.1845 8.23518 15.1845 8.85048 14.7851 9.22999L8.27667 15.4144C8.13723 15.5469 8.01819 15.7922 8.01145 16.0896C8.0049 16.3789 8.10622 16.6267 8.27667 16.7887C8.44712 16.9506 8.70788 17.0469 9.01237 17.0407C9.32537 17.0343 9.58355 16.9212 9.72299 16.7887L19.1241 7.85568C19.6168 7.38747 19.9355 6.64474 19.9538 5.83898C19.9719 5.0413 19.6939 4.27422 19.1241 3.73276C18.5542 3.19129 17.7469 2.92716 16.9075 2.94433C16.0595 2.96168 15.2778 3.26454 14.7851 3.73276L5.38403 12.6658C4.6945 13.321 4.13449 14.5364 4.05489 15.8977C3.9765 17.2386 4.37172 18.5754 5.38403 19.5373C7.5157 21.5628 10.484 21.5628 12.6156 19.5373L19.1519 13.3265C19.5513 12.947 20.1988 12.947 20.5982 13.3265C20.9976 13.706 20.9976 14.3213 20.5982 14.7008L14.0619 20.9116C11.1315 23.6961 6.86816 23.6961 3.93772 20.9116C2.41897 19.4685 1.91025 17.5412 2.01264 15.7899C2.11384 14.0591 2.81936 12.3541 3.93772 11.2914L13.3388 2.35845C14.2593 1.4838 15.5715 1.02766 16.8634 1.00122Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.4858 7.11888C20.7324 5.94771 20.7324 4.04887 19.4858 2.87769C18.2838 1.74835 16.3616 1.70802 15.1081 2.75669L14.9716 2.87769L3.6862 13.4807L3.52649 13.6372C1.61004 15.5983 1.66328 18.6487 3.6862 20.5493C4.61095 21.4181 5.79143 21.9002 7 21.9956V22H24V24L7 24C5.24586 23.9013 3.52179 23.2223 2.18147 21.963C-0.666561 19.2872 -0.725895 14.9835 2.00347 12.2399L2.18147 12.0669L13.4669 1.46396C15.5445 -0.487988 18.913 -0.487988 20.9905 1.46396C23.0135 3.36455 23.0667 6.41493 21.1502 8.37603L20.9905 8.53261L9.7051 19.1356L9.56865 19.2566C8.31517 20.3053 6.39296 20.2649 5.19092 19.1356C3.98889 18.0062 3.94596 16.2003 5.06213 15.0226L5.19092 14.8944L16.4764 4.29142L17.9811 5.70515L6.69565 16.3081L6.61297 16.3953C6.28225 16.7877 6.30981 17.3593 6.69565 17.7219C7.08149 18.0844 7.68993 18.1103 8.10757 17.7995L8.20038 17.7219L19.4858 7.11888Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.3472 0.00138792C17.7614 -0.0288776 19.2813 0.434034 20.4223 1.56794L19.3387 2.6448L20.4223 1.56794C21.5633 2.70184 22.0291 4.21243 21.9986 5.61786C21.9684 7.01063 21.4486 8.445 20.4223 9.46495L11.0314 18.7978C10.358 19.467 9.43759 19.7854 8.57056 19.8039C7.69079 19.8227 6.71672 19.5352 5.97471 18.7978C5.23271 18.0604 4.94338 17.0923 4.96233 16.218C4.981 15.3563 5.30134 14.4416 5.97472 13.7724L12.4761 7.31122C13.0746 6.71649 14.0448 6.71649 14.6433 7.31122C15.2417 7.90596 15.2417 8.87022 14.6433 9.46495L8.14185 15.9261C8.10938 15.9584 8.03076 16.083 8.02641 16.2836C8.02234 16.4715 8.08594 16.5885 8.14185 16.6441C8.19777 16.6996 8.31553 16.7628 8.50458 16.7588C8.70636 16.7545 8.83176 16.6763 8.86423 16.6441L18.2552 7.31122C18.6406 6.92821 18.9187 6.28392 18.9345 5.55228C18.9501 4.8333 18.71 4.17373 18.2552 3.72167C17.8003 3.26961 17.1366 3.03104 16.4132 3.04652C15.677 3.06227 15.0287 3.33865 14.6433 3.72167L5.25234 13.0545C4.67063 13.6326 4.14756 14.7746 4.07345 16.1004C4.00113 17.3941 4.36759 18.6364 5.25234 19.5157C7.18223 21.4337 9.82386 21.4337 11.7538 19.5157L18.2829 13.0269C18.8814 12.4322 19.8516 12.4322 20.4501 13.0269C21.0485 13.6216 21.0485 14.5859 20.4501 15.1806L13.9209 21.6694C10.7941 24.7769 6.21196 24.7769 3.0852 21.6694C1.44161 20.036 0.9051 17.8683 1.01337 15.9314C1.11986 14.0266 1.86096 12.1174 3.0852 10.9008L12.4761 1.56794C13.5024 0.547983 14.9457 0.0313808 16.3472 0.00138792Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1015 B

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C12 4.65685 10.6569 6 9 6C7.34315 6 6 4.65685 6 3C6 1.34315 7.34315 0 9 0C10.6569 0 12 1.34315 12 3ZM23 14.5C23 15.3284 22.3284 16 21.5 16C20.6716 16 20 15.3284 20 14.5C20 13.6716 20.6716 13 21.5 13C22.3284 13 23 13.6716 23 14.5ZM4.68636 6C3.98108 6 3.36366 6.47353 3.18079 7.15469L0.000732422 19H1H3.25773V24H5.25773V19H7.25773V24H9.25773V19H11H12.0018L10.1893 11H13C13.5523 11 14 10.5523 14 10C14 9.44771 13.5523 9 13 9H9.5682C8.65406 7.19312 6.78502 6 4.68636 6ZM20 12C20 11.4477 19.5523 11 19 11C18.4477 11 18 11.4477 18 12V14H16.618L16.1708 13.1056C15.832 12.428 15.1395 12 14.382 12H14C13.4477 12 13 12.4477 13 13C13 13.5523 13.4477 14 14 14H14.382L14.8292 14.8944C15.168 15.572 15.8605 16 16.618 16H18C19.1046 16 20 15.1046 20 14V12ZM13 18C13 17.4477 13.4477 17 14 17H22C22.5523 17 23 17.4477 23 18C23 18.5523 22.5523 19 22 19H14C13.4477 19 13 18.5523 13 18Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 3C13 4.65685 11.6569 6 10 6C8.34315 6 7 4.65685 7 3C7 1.34315 8.34315 0 10 0C11.6569 0 13 1.34315 13 3ZM24 14.5C24 15.3284 23.3284 16 22.5 16C21.6716 16 21 15.3284 21 14.5C21 13.6716 21.6716 13 22.5 13C23.3284 13 24 13.6716 24 14.5ZM5.68636 6C4.98108 6 4.36366 6.47353 4.18079 7.15469L1.00073 19H2H4.25773V24H6.25773V19H8.25773V24H10.2577V19H12H13.0018L11.1893 11H14C14.5523 11 15 10.5523 15 10C15 9.44771 14.5523 9 14 9H10.5682C9.65406 7.19312 7.78502 6 5.68636 6ZM21 12C21 11.4477 20.5523 11 20 11C19.4477 11 19 11.4477 19 12V14H17.618L17.1708 13.1056C16.832 12.428 16.1395 12 15.382 12H15C14.4477 12 14 12.4477 14 13C14 13.5523 14.4477 14 15 14H15.382L15.8292 14.8944C16.168 15.572 16.8605 16 17.618 16H19C20.1046 16 21 15.1046 21 14V12ZM14 18C14 17.4477 14.4477 17 15 17H23C23.5523 17 24 17.4477 24 18C24 18.5523 23.5523 19 23 19H15C14.4477 19 14 18.5523 14 18Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

File renamed without changes.
File renamed without changes.
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V10C23.1046 10 24 10.8954 24 12V22H22V18H2V22H0V12C0 10.8954 0.895431 10 2 10V4ZM2 16H22V12H2V16ZM20 4V10C20 7.79086 18.2091 6 16 6H15C13.8053 6 12.7329 6.52376 12 7.35418C11.2671 6.52376 10.1947 6 9 6H8C5.79086 6 4 7.79086 4 10V4H20ZM16 8C17.1046 8 18 8.89543 18 10H13C13 8.89543 13.8954 8 15 8H16ZM9 8C10.1046 8 11 8.89543 11 10H6C6 8.89543 6.89543 8 8 8H9Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 587 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V10C23.1046 10 24 10.8954 24 12V22H22V18H2V22H0V12C0 10.8954 0.895431 10 2 10V4ZM17 7C19 7 20 8.89543 20 10H13C13 8.89543 14 7 16 7H17ZM8 7C10 7 11 8.89543 11 10H4C4 8.89543 5 7 7 7H8Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 412 B

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.16115 3.8317L12 0L14.8388 3.8317C16.1005 5.53465 15.5894 7.95753 13.7473 9.00572C12.664 9.62217 11.336 9.62217 10.2527 9.00572C8.41059 7.95753 7.89946 5.53465 9.16115 3.8317ZM10.7682 5.0223L12 3.35964L13.2318 5.0223C13.7793 5.76126 13.5575 6.8126 12.7582 7.26743C12.2881 7.53493 11.7119 7.53493 11.2418 7.26743C10.4425 6.8126 10.2207 5.76126 10.7682 5.0223ZM3.14286 12C3.06396 12 3 12.064 3 12.1429V16.5C3 17.3284 3.67157 18 4.5 18C5.32843 18 6 17.3284 6 16.5V15C6 14.4477 6.44772 14 7 14C7.55228 14 8 14.4477 8 15V16.5C8 18.2632 6.69615 19.7219 5 19.9646V22H11.1707C11.0602 21.6872 11 21.3506 11 21V17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17V21C13 21.5523 13.4477 22 14 22C14.5523 22 15 21.5523 15 21V16V15C15 14.4477 15.4477 14 16 14C16.5523 14 17 14.4477 17 15V16C17 17.1046 17.8954 18 19 18C20.1046 18 21 17.1046 21 16V12.1429C21 12.064 20.936 12 20.8571 12H13H11H3.14286ZM17 21V19.4649C17.5883 19.8052 18.2714 20 19 20V22H16.8293C16.9398 21.6872 17 21.3506 17 21ZM21 22V19.4649C22.1956 18.7733 23 17.4806 23 16V12.1429C23 10.9594 22.0406 10 20.8571 10H13H11H3.14286C1.95939 10 1 10.9594 1 12.1429V16.5C1 17.8962 1.81753 19.1015 3 19.6632V22C3 23.1046 3.89543 24 5 24H14H19C20.1046 24 21 23.1046 21 22Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 0L9.16115 3.8317C7.89946 5.53465 8.41059 7.95753 10.2527 9.00572C10.4916 9.14169 10.7425 9.24767 11 9.32366V7C11 6.44772 11.4477 6 12 6C12.5523 6 13 6.44772 13 7V9.32366C13.2575 9.24767 13.5084 9.14169 13.7473 9.00572C15.5894 7.95753 16.1005 5.53465 14.8388 3.8317L12 0ZM1 11.1429C1 11.064 1.06396 11 1.14286 11H22.8571C22.936 11 23 11.064 23 11.1429V16C23 17.1046 22 18 20 18C18 18 17 17.1046 17 16V15C17 14.4477 16.5523 14 16 14C15.4477 14 15 14.4477 15 15V21C15 21.5523 14.5523 22 14 22C13.4477 22 13 21.5523 13 21V17C13 16.4477 12.5523 16 12 16C11.4477 16 11 16.4477 11 17V21C11 23 11.5 23.5 12 24H4C3.44772 24 3 23.5523 3 23V19.9646C7 19.9646 8 18.2632 8 16.5V15C8 14.4477 7.55228 14 7 14C6.44772 14 6 14.4477 6 15V16.5C6 17.3284 5 18 3.5 18C2 18 1 17.3284 1 16.5V11.1429ZM17 21V19.4649C17.9112 19.9525 18.8223 19.9664 20.4899 19.9918C20.6525 19.9943 20.8223 19.9969 21 20V23C21 23.5523 20.5523 24 20 24H16C16.5 23.5 17 23 17 21Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

File renamed without changes.
+2 -1
View File
@@ -1,3 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.75 8.5C13.5449 8.5 15 7.04493 15 5.25C15 3.45507 13.5449 2 11.75 2C9.95504 2 8.49996 3.45507 8.49996 5.25C8.49996 7.04493 9.95504 8.5 11.75 8.5ZM11.75 10.5C14.6495 10.5 17 8.1495 17 5.25C17 2.35051 14.6495 0 11.75 0C8.85047 0 6.49996 2.35051 6.49996 5.25C6.49996 8.1495 8.85047 10.5 11.75 10.5ZM17.0996 13.9384C15.752 12.5057 13.8388 11.6111 11.7166 11.6111C7.63588 11.6111 4.32776 14.9192 4.32776 19H6.43887C6.43887 16.0852 8.80181 13.7222 11.7166 13.7222C13.2558 13.7222 14.6411 14.3811 15.6059 15.4322L17.0996 13.9384ZM20.8991 17.4659L16.8884 21.4766L15.2352 21.7648L15.5234 20.1116L19.534 16.1009C19.911 15.7239 20.5221 15.7239 20.8991 16.1009C21.276 16.4778 21.276 17.089 20.8991 17.4659ZM22.1847 18.7516L17.7673 23.169L13 24L13.831 19.2327L18.2484 14.8152C19.3354 13.7283 21.0977 13.7283 22.1847 14.8152C23.2717 15.9022 23.2717 17.6646 22.1847 18.7516Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.7167 11.6111C13.8389 11.6111 15.752 12.5057 17.0997 13.9384L15.6059 15.4322C14.6412 14.3811 13.2559 13.7222 11.7167 13.7222C8.80187 13.7222 6.43893 16.0852 6.43893 19H4.32782C4.32782 14.9192 7.63594 11.6111 11.7167 11.6111ZM20.8991 17.4659L16.8884 21.4766L15.2352 21.7648L15.5234 20.1116L19.5341 16.1009C19.911 15.7239 20.5222 15.7239 20.8991 16.1009C21.2761 16.4778 21.2761 17.089 20.8991 17.4659ZM22.1848 18.7516L17.7674 23.169L13 24L13.831 19.2327L18.2485 14.8152C19.3354 13.7283 21.0978 13.7283 22.1848 14.8152C23.2718 15.9022 23.2718 17.6646 22.1848 18.7516Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 8C13.6569 8 15 6.65685 15 5C15 3.34315 13.6569 2 12 2C10.3431 2 9 3.34315 9 5C9 6.65685 10.3431 8 12 8ZM12 10C14.7614 10 17 7.76142 17 5C17 2.23858 14.7614 0 12 0C9.23858 0 7 2.23858 7 5C7 7.76142 9.23858 10 12 10Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

File renamed without changes.
File renamed without changes.
File renamed without changes.
+2 -2
View File
@@ -1,7 +1,7 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="path-1-inside-1" fill="white">
<mask id="path-1-inside-1_1873_555" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 1C9 0.447715 9.44772 0 10 0H14C14.5523 0 15 0.447715 15 1V20H9V1ZM2 12C1.44772 12 1 12.4477 1 13V20H7V13C7 12.4477 6.55228 12 6 12H2ZM24 22H0V24H24V22ZM18 6C17.4477 6 17 6.44772 17 7V20H23V7C23 6.44772 22.5523 6 22 6H18Z"/>
</mask>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 1C9 0.447715 9.44772 0 10 0H14C14.5523 0 15 0.447715 15 1V20H9V1ZM2 12C1.44772 12 1 12.4477 1 13V20H7V13C7 12.4477 6.55228 12 6 12H2ZM24 22H0V24H24V22ZM18 6C17.4477 6 17 6.44772 17 7V20H23V7C23 6.44772 22.5523 6 22 6H18Z" fill="#262626"/>
<path d="M15 20V22H17V20H15ZM9 20H7V22H9V20ZM1 20H-1V22H1V20ZM7 20V22H9V20H7ZM0 22V20H-2V22H0ZM24 22H26V20H24V22ZM0 24H-2V26H0V24ZM24 24V26H26V24H24ZM17 20H15V22H17V20ZM23 20V22H25V20H23ZM10 -2C8.34315 -2 7 -0.656854 7 1H11C11 1.55229 10.5523 2 10 2V-2ZM14 -2H10V2H14V-2ZM17 1C17 -0.656855 15.6569 -2 14 -2V2C13.4477 2 13 1.55229 13 1H17ZM17 20V1H13V20H17ZM9 22H15V18H9V22ZM7 1V20H11V1H7ZM3 13C3 13.5523 2.55229 14 2 14V10C0.343145 10 -1 11.3431 -1 13H3ZM3 20V13H-1V20H3ZM7 18H1V22H7V18ZM5 13V20H9V13H5ZM6 14C5.44771 14 5 13.5523 5 13H9C9 11.3431 7.65685 10 6 10V14ZM2 14H6V10H2V14ZM0 24H24V20H0V24ZM2 24V22H-2V24H2ZM24 22H0V26H24V22ZM22 22V24H26V22H22ZM19 7C19 7.55228 18.5523 8 18 8V4C16.3431 4 15 5.34315 15 7H19ZM19 20V7H15V20H19ZM23 18H17V22H23V18ZM21 7V20H25V7H21ZM22 8C21.4477 8 21 7.55229 21 7H25C25 5.34315 23.6569 4 22 4V8ZM18 8H22V4H18V8Z" fill="#262626" mask="url(#path-1-inside-1)"/>
<path d="M15 20V22H17V20H15ZM9 20H7V22H9V20ZM1 20H-1V22H1V20ZM7 20V22H9V20H7ZM0 22V20H-2V22H0ZM24 22H26V20H24V22ZM0 24H-2V26H0V24ZM24 24V26H26V24H24ZM17 20H15V22H17V20ZM23 20V22H25V20H23ZM10 -2C8.34315 -2 7 -0.656854 7 1H11C11 1.55229 10.5523 2 10 2V-2ZM14 -2H10V2H14V-2ZM17 1C17 -0.656855 15.6569 -2 14 -2V2C13.4477 2 13 1.55229 13 1H17ZM17 20V1H13V20H17ZM9 22H15V18H9V22ZM7 1V20H11V1H7ZM3 13C3 13.5523 2.55229 14 2 14V10C0.343145 10 -1 11.3431 -1 13H3ZM3 20V13H-1V20H3ZM7 18H1V22H7V18ZM5 13V20H9V13H5ZM6 14C5.44771 14 5 13.5523 5 13H9C9 11.3431 7.65685 10 6 10V14ZM2 14H6V10H2V14ZM0 24H24V20H0V24ZM2 24V22H-2V24H2ZM24 22H0V26H24V22ZM22 22V24H26V22H22ZM19 7C19 7.55228 18.5523 8 18 8V4C16.3431 4 15 5.34315 15 7H19ZM19 20V7H15V20H19ZM23 18H17V22H23V18ZM21 7V20H25V7H21ZM22 8C21.4477 8 21 7.55229 21 7H25C25 5.34315 23.6569 4 22 4V8ZM18 8H22V4H18V8Z" fill="#262626" mask="url(#path-1-inside-1_1873_555)"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="6.5" cy="12" r="1.5" fill="#262626"/>
<circle cx="12" cy="12" r="1.5" fill="#262626"/>
<circle cx="17.5" cy="12" r="1.5" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 547 B

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM6.5 13.5C7.32843 13.5 8 12.8284 8 12C8 11.1716 7.32843 10.5 6.5 10.5C5.67157 10.5 5 11.1716 5 12C5 12.8284 5.67157 13.5 6.5 13.5ZM13.5 12C13.5 12.8284 12.8284 13.5 12 13.5C11.1716 13.5 10.5 12.8284 10.5 12C10.5 11.1716 11.1716 10.5 12 10.5C12.8284 10.5 13.5 11.1716 13.5 12ZM17.5 13.5C18.3284 13.5 19 12.8284 19 12C19 11.1716 18.3284 10.5 17.5 10.5C16.6716 10.5 16 11.1716 16 12C16 12.8284 16.6716 13.5 17.5 13.5Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 698 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 12C8 12.8284 7.32843 13.5 6.5 13.5C5.67157 13.5 5 12.8284 5 12C5 11.1716 5.67157 10.5 6.5 10.5C7.32843 10.5 8 11.1716 8 12ZM13.5 12C13.5 12.8284 12.8284 13.5 12 13.5C11.1716 13.5 10.5 12.8284 10.5 12C10.5 11.1716 11.1716 10.5 12 10.5C12.8284 10.5 13.5 11.1716 13.5 12ZM17.5 13.5C18.3284 13.5 19 12.8284 19 12C19 11.1716 18.3284 10.5 17.5 10.5C16.6716 10.5 16 11.1716 16 12C16 12.8284 16.6716 13.5 17.5 13.5Z" fill="#262626"/>
</svg>

After

Width:  |  Height:  |  Size: 581 B

Loaded 100 of 1072 files, more files were not shown because too many files have changed in this diff. Show more