Compare commits

..
Author SHA1 Message Date
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
github-actions[bot] 9ec5d6a48e Lerna versionbump [ci skip]
- @navikt/ds-css@0.9.1
 - @navikt/ds-react@0.10.2
 - @navikt/ds-react-internal@0.2.1
2021-10-05 11:16:02 +00:00
Ken 755cb409be [FIX] La til ClearButton i import/export, fikset styling (#1274) 2021-10-05 13:00:38 +02:00
github-actions[bot] 7a9820ffa6 Lerna versionbump [ci skip]
- nav-frontend-skjema@4.0.5
2021-10-04 14:06:10 +00:00
Ken 812e93a354 [FIX] Oppdatert subtext for radiopanel og checkboxpanel (#1275) 2021-10-04 15:49:47 +02:00
github-actions[bot] 00e1e254f2 Lerna versionbump [ci skip]
- @navikt/ds-css-internal@0.2.0
 - @navikt/ds-react-internal@0.2.0
2021-10-01 13:13:45 +00:00
Andreas Nordahl ee389a9497 [feature] Refactor internal header (#1272)
* dot notation

* refactor HeaderTitle

* use heading component in header title

* use typo components in header user

* update header.stories.mdx
2021-10-01 15:00:10 +02:00
github-actions[bot] 4751e8048d Lerna versionbump [ci skip]
- @navikt/ds-react@0.10.1
2021-09-29 15:57:16 +00:00
Andreas Nordahl 78c29f06d5 [fix] make popover anchor element more generic (#1273) 2021-09-29 17:41:26 +02:00
Terje Karlsen 58a25bbc00 Korrigerer garpegenitiv og div tekstforbedring (#1271) 2021-09-29 13:00:19 +02:00
Ken 4048a0aba6 Update README.md 2021-09-29 10:57:11 +02:00
github-actions[bot] 006bd6f9ac Lerna versionbump [ci skip]
- @navikt/ds-css@0.9.0
 - @navikt/ds-react@0.10.0
 - @navikt/ds-css-internal@0.1.0
 - @navikt/ds-react-internal@0.1.0
2021-09-28 10:43:10 +00:00
Andreas NordahlandKen 58c3351d2f [feature] Internal header in separate package (#1268)
* add internal css package

* ds-react-internal package and move internal header

* remove placeholder style!

* move mdx story

* oppdatert typo-styling

* oppdatert lerna config

* lurte inn oppdatering av scripts

Co-authored-by: Ken <ken.aleksander@gmail.com>
2021-09-28 12:24:02 +02:00
Ken 27e11acc33 oppdatert tekst for god-praksis 2021-09-28 11:53:50 +02:00
Ken e52a23fee9 Update build-publish.yml 2021-09-28 11:43:42 +02:00
Ken 017deefd77 Delete .specifyrc.json 2021-09-28 10:16:31 +02:00
Andreas Nordahl 99a4212f54 [FIX] force postinstall in workflow (#1267) 2021-09-24 16:01:35 +02:00
Per Jørgen Walstrøm 12da298e87 [FIX] Mobilnummer bør følge Språkrådets formatanbefaling (#1266)
Ref https://navno.sharepoint.com/sites/intranett-kommunikasjon/SitePages/Datoer,-symboler,-tall-og-valuta.aspx
2021-09-24 15:31:30 +02:00
github-actions[bot] e9f4f721bb Lerna versionbump [ci skip]
- @navikt/ds-css@0.8.4
 - @navikt/ds-icons@0.5.4
 - @navikt/ds-react@0.9.3
 - @navikt/ds-tokens@0.5.2
2021-09-24 11:43:37 +00:00
Andreas NordahlandKen 2c5ff8d702 [FIX] move @navikt/ds-* to @navikt/core/* (#1265)
* move @navikt/ds to @navikt/core

* fix linting errors

* oppdatert lerna config for github components

* fjernet png folder

* update lockfile

* oppdatert react-docgen

Co-authored-by: Ken <ken.aleksander@gmail.com>
2021-09-24 13:21:57 +02:00
github-actions[bot] 40d8d369a4 Lerna versionbump [ci skip]
- @navikt/ds-react@0.9.2
2021-09-24 07:25:25 +00:00
Andreas Nordahl 032240f939 [FIX] Checkbox group test (#1260)
* remove failing example test

* ds-react test setup

* add checkbox group test

* test ds-react from yarn script

* add test step to github build workflow

* dont transpile tests

* name cryptic argument lookup

* use faker to generate data
2021-09-24 09:07:40 +02:00
github-actions[bot] 27d89d7a41 Lerna versionbump [ci skip]
- @navikt/ds-react@0.9.1
2021-09-23 07:26:09 +00:00
Andreas Nordahl 3a56f34a62 [FIX] Allow text fields to be of any type that looks like a text input (#1264) 2021-09-23 09:11:14 +02:00
github-actions[bot] e7660412bc Lerna versionbump [ci skip]
- @navikt/ds-react@0.9.0
2021-09-21 13:07:25 +00:00
Andreas Nordahl 956afbb91a [FEATURE] remove Bubble from speech-bubble/index exports, and import it directly in SpeechBubble (#1262) 2021-09-21 14:55:56 +02:00
github-actions[bot] 5fd28b0131 Lerna versionbump [ci skip]
- @navikt/ds-css@0.8.3
 - @navikt/ds-icons@0.5.3
 - @navikt/ds-react@0.8.3
 - @navikt/ds-tokens@0.5.1
 - nav-frontend-ekspanderbartpanel@4.0.2
 - nav-frontend-hjelpetekst@3.1.2
 - nav-frontend-ikonknapper@2.1.2
 - nav-frontend-js-utils@1.0.20
 - nav-frontend-knapper@3.1.2
 - nav-frontend-lesmerpanel@2.0.2
 - nav-frontend-popover@2.0.3
 - nav-frontend-skjema-style@3.0.2
 - nav-frontend-skjema@4.0.4
 - nav-frontend-stegindikator@2.0.2
 - nav-frontend-tabs@2.0.2
 - nav-frontend-toggle@2.1.2
 - nav-frontend-veileder@3.0.2
 - nav-frontend-veilederpanel@2.0.2
2021-09-20 12:53:58 +00:00
Ken 646f6b858e [FIX] Fikset type-error 2021-09-20 14:36:44 +02:00
Ken c5add547bc fikset build 2021-09-20 14:07:00 +02:00
Andreas Nordahl cac3a433c4 [FIX] Remove flex-shrink: 0 from button (#1259) 2021-09-20 14:05:03 +02:00
Ken 5eb5b6b617 Update CONTRIBUTING.md 2021-09-20 14:03:47 +02:00
Ken 19afca1ed6 Update CONTRIBUTING.md 2021-09-20 14:03:30 +02:00
Ken 7c341f7cd2 [FIX] Chore: oppdatert pakkeversjoner og scripts (#1254) 2021-09-20 14:02:28 +02:00
github-actions[bot] 9a1a48d319 Lerna versionbump [ci skip]
- @navikt/ds-css@0.8.2
 - @navikt/ds-react@0.8.2
 - nav-frontend-skjema@4.0.3
2021-09-20 11:48:54 +00:00
Ken ce4afb17a8 [FIX] Refactor speechbubble til dot-notasjon (#1256) 2021-09-20 13:35:33 +02:00
Ken 146111e859 [FIX] Justert alignment av tekst i SpeechBubble (#1255) 2021-09-20 13:35:25 +02:00
Ken 40a8965cec [FIX] Setter aria-live til polite bare når 20 tegn gjenstår... (#1258)
... i Textarea
2021-09-20 13:34:23 +02:00
github-actions[bot] 8f4e6a5e89 Lerna versionbump [ci skip]
- @navikt/ds-react@0.8.1
2021-09-17 15:03:05 +00:00
Ken e73c9d2f3e [FIX] short-uuid -> uuid (short-uuid brekker sanity) (#1257) 2021-09-17 16:47:51 +02:00
Ken 0849fffe40 oppdatert changelog 2021-09-16 15:07:24 +02:00
TuvaSverdstad 7a261e86a3 Update produktsider.mdx (#1253) 2021-09-16 15:03:17 +02:00
TuvaSverdstad a2c48a9246 Update livssituasjonssider.mdx (#1252) 2021-09-16 15:03:03 +02:00
github-actions[bot] 7c845ac464 Lerna versionbump [ci skip]
- @navikt/ds-css@0.8.1
2021-09-16 08:24:28 +00:00
Ken 6edd03a9c1 [FIX] hotfix searchfield clearbutton 2021-09-16 10:09:35 +02:00
Andreas NordahlandKen 724a90eb28 [FIX] Button padding fix (#1248)
Co-authored-by: Ken <ken.aleksander@gmail.com>
2021-09-16 10:00:54 +02:00
TuvaSverdstad 43b686e769 Update produktsider.mdx (#1249) 2021-09-16 09:09:16 +02:00
github-actions[bot] c485e1bfc7 Lerna versionbump [ci skip]
- @navikt/ds-css@0.8.0
 - @navikt/ds-react@0.8.0
 - @navikt/ds-tokens@0.5.0
2021-09-15 14:04:17 +00:00
KenandAndreas Nordahl 9533504b16 [FEATURE] Samling av oppdaterte vnext komponenter (#1194)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-09-15 15:46:55 +02:00
T. GulbrandsenandKen bca56d1c48 God praksis om man bruker disabled state (#1246)
* God praksis for når man bruker disabled state

* Update disabled.mdx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2021-09-15 14:28:34 +02:00
TuvaSverdstad a656a19df5 Update livssituasjonssider.mdx (#1245) 2021-09-15 09:14:57 +02:00
Ken a2ac8fedb1 Update build-publish.yml 2021-09-14 15:58:56 +02:00
TuvaSverdstadandKen bf0a71f1d4 Update produktsider.mdx (#1243)
* Update produktsider.mdx

* Update produktsider.mdx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2021-09-14 13:25:02 +02:00
TuvaSverdstadandKen e4b51f49fb Update livssituasjonssider.mdx (#1244)
* Update livssituasjonssider.mdx

* Update livssituasjonssider.mdx

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2021-09-14 13:24:52 +02:00
Ken ea49e12e23 Update .specifyrc.json 2021-09-13 16:24:21 +02:00
Ken 4a29f5b449 Update .specifyrc.json 2021-09-13 16:21:11 +02:00
Ken 7b7950dab1 Update .specifyrc.json 2021-09-13 16:19:40 +02:00
Snyk bot bcb8d46c72 [Snyk] Security upgrade chalk from 1.1.3 to 2.0.0 (#1240) 2021-09-13 09:28:08 +02:00
TuvaSverdstad 60dbbaedd9 Update produktsider.mdx (#1236)
innholdsoppdatering
2021-09-10 11:09:49 +02:00
Ken 8991704a09 endret base branch for token sync 2021-09-10 08:52:26 +02:00
Ken 4a22f10763 [Tokens] Config for farge-sync (#1234) 2021-09-10 08:48:52 +02:00
github-actions[bot] 7335fb6c8d Lerna versionbump [ci skip]
- @navikt/ds-react@0.7.7
2021-09-08 10:25:17 +00:00
Ken 9b95eff894 [fix] Versjonering i commit MSG (#1220)
* started oppdatering av versionering

* oppdatert workflow

* oppdatert workflows

* oppdatert workflows2

* oppdatert workflow3

* tester pakke-endring

* la til chromatic i workflow comment

* testendring

* fikset workflow settings

* oppdatert yarn lock
2021-09-08 12:08:46 +02:00
github-actions[bot] 08ce808f21 Lerna versionbump [ci skip]
- @navikt/ds-react@0.7.6
2021-09-08 09:27:16 +00:00
Andreas Nordahl 64b2f2bfb5 Make href optional in link (#1230) 2021-09-08 11:09:15 +02:00
Ken df38a410a5 midlertidig fjernet specify fra master 2021-09-08 07:31:50 +00:00
github-actions[bot] 0e426ee905 Lerna versionbump [ci skip]
- @navikt/ds-css@0.7.4
2021-09-07 11:23:35 +00:00
Ken 7f0278429b flex-shrink 0 på chevron (#1224) 2021-09-07 13:08:25 +02:00
github-actions[bot] 041c662737 Lerna versionbump [ci skip]
- @navikt/ds-css@0.7.3
2021-09-07 06:16:58 +00:00
Andreas Nordahl f8c59d7bc1 Alert + confirmation-panel link color (#1223)
* use text color for links when contrast to background is below 4.5

* fix confirmation error background color

* fix confirmation panel link color
2021-09-07 08:04:35 +02:00
Snyk bot f0dccb0a83 [Snyk] Security upgrade axios from 0.21.1 to 0.21.3 (#1221) 2021-09-06 11:03:43 +02:00
github-actions[bot] 11f23ef579 Lerna versionbump [ci skip]
- nav-frontend-ikonknapper@2.1.1
 - nav-frontend-knapper-style@2.1.1
 - nav-frontend-knapper@3.1.1
 - nav-frontend-tabell-style@2.1.1
 - nav-frontend-toggle-style@2.1.1
 - nav-frontend-toggle@2.1.1
2021-08-31 13:33:47 +00:00
Ken ebb7be678f Oppdatert text-transform for Knapper (#1201) 2021-08-31 15:19:02 +02:00
github-actions[bot] 588d485841 Lerna versionbump [ci skip]
- nav-frontend-skjema@4.0.2
2021-08-30 14:29:05 +00:00
Ken f4ec864c5d oppdatert proptypes for input 2021-08-30 16:14:53 +02:00
Karl O c91131c29c update Input to support modern refs (#1216)
- Merger da build-feilen antas til å være på grunn av fork av repo.
2021-08-30 15:53:04 +02:00
TuvaSverdstad d8e18812ff Update produktsider.mdx (#1210) 2021-08-30 09:41:41 +02:00
TuvaSverdstad d40f624edb Update livssituasjonssider.mdx (#1211) 2021-08-30 09:41:28 +02:00
Ken 1cfd79fdb8 fikset feil i env for workflow 2021-08-26 08:48:58 +02:00
Ken 9dabc6386d oppdatert workflow for auth 2021-08-26 08:26:26 +02:00
github-actions[bot] ac6215408d Lerna versionbump [ci skip]
- @navikt/ds-css@0.7.2
2021-08-25 14:28:40 +00:00
Ken 6e4e0bde93 version fix modal 2021-08-25 16:12:48 +02:00
Ken dcf0ecc9a6 modal hotfix 2021-08-25 16:12:37 +02:00
Ken 2b1cc85517 Oppdatert modal-styling for å unngå fullskjerm (#1200) 2021-08-25 16:05:05 +02:00
github-actions[bot] 1053ca7dca Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.21
 - @navikt/ds-react@0.7.5
2021-08-25 08:41:50 +00:00
Ken 25c186473b Fjernet docs fra repo (#1187)
* fjernet docs

* update yarn lock

* fikset packages.json
2021-08-25 10:24:36 +02:00
Ken 7ea6c9c0f1 fjernet utdaterte komponenter (#1186) 2021-08-25 10:24:03 +02:00
Ken a6014bb409 Fikser code-styling for eksempler i God-praksis (#1188)
* forsøk på code fix for god-praksis målinger

* fjernet console-log
2021-08-24 16:34:29 +02:00
Ken f60ff3a8c9 oppdatert maler (#1185) 2021-08-23 16:58:08 +02:00
Ken 8d8425acfb commiter endring i lerna.json lokalt for publisering 2021-08-22 20:03:56 +02:00
Ken ce086d890f fikset needs i workflow 2021-08-22 19:50:04 +02:00
Ken 5e9ef5fbd3 oppdater navn workflow 2021-08-22 19:48:41 +02:00
Ken 21958012a2 fikset workflow 2021-08-22 19:43:54 +02:00
Ken fa0307ec15 oppdatet workflow 2021-08-22 19:39:22 +02:00
Ken 69c32e4036 tmp fix for workflow 2021-08-20 17:06:45 +02:00
Ken 9a9e265831 forsøk på wokflow fix 2021-08-20 16:47:44 +02:00
Ken fb37c6135f fikset workflow 2021-08-20 15:51:51 +02:00
Ken 09259ef960 oppdatert workflow 2021-08-20 15:36:09 +02:00
Ken 2b0753e4a6 oppdatert gitignore 2021-08-20 15:30:17 +02:00
Ken 471e9b19ee Update lerna.json 2021-08-20 15:14:32 +02:00
Ken 86b7b8e406 Oppdaterte lerna config (#1183) 2021-08-20 15:06:55 +02:00
Ken 563942947d Lar oss publisere pakker til github package registry (#1182)
* oppdaterte lern aconfig

* fikset registry

* fjernet gammle pakker fra publish
2021-08-20 14:45:16 +02:00
github-actions[bot] c9adb83158 Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.20
 - @navikt/ds-react@0.7.4
2021-08-20 10:00:01 +00:00
KenAndreas NordahlMagnusRom MagnusRom@users.noreply.github.com
bf079796f3 SearchField komponent (#1178)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
Co-authored-by: MagnusRom MagnusRom@users.noreply.github.com
2021-08-20 11:42:42 +02:00
Andreas Nordahl a1f4f0fe28 only allow string for checkbox value (#1181) 2021-08-20 11:40:13 +02:00
Ken f146c0c57c Update useCheckbox.ts 2021-08-20 11:36:40 +02:00
Ken fd397b03e5 La til storybook på repo forside 2021-08-20 08:10:56 +02:00
Michael Johansen 2a66f1ec6e Glemmer alltid denne lenka (#1180) 2021-08-19 16:38:19 +02:00
github-actions[bot] 2853e5cd94 Lerna versionbump [ci skip]
- @navikt/ds-react@0.7.3
2021-08-18 08:42:44 +00:00
Ken 8a068e787d oppdatert omit props (#1177) 2021-08-18 10:28:24 +02:00
Ken f8fbf6c3a8 oppdatert utdaterte stories 2021-08-18 08:37:49 +02:00
Ken 6da78d13a3 fjernet storybook plugins som ikke ble brukt 2021-08-18 08:32:12 +02:00
github-actions[bot] bc7ff31a29 Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.19
 - @navikt/ds-icons@0.5.2
 - @navikt/ds-react@0.7.2
2021-08-17 08:02:27 +00:00
Ken b82afbe806 Forsøk på margin-top fix for form-elements (#1176) 2021-08-17 09:42:58 +02:00
Ken 92425cdb5b Erstattet rm -rf med rimraf for windows support (#1175) 2021-08-17 09:42:51 +02:00
github-actions[bot] 12cca3e352 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.5.1
 - @navikt/ds-react@0.7.1
2021-08-13 14:21:59 +00:00
Ken 396bcfbb8a Oppdatert package-resolving for ds-react og ds-icons (#1171)
* oppdatet script

* oppdatert icons script

* endret til mjs

* oppdatert icons script

* oppdaterte ds-react script og packagehandler script

* oppdaterte versjoner

* lint fix

* oppdater ds-react imports

* oppdaterte package script
2021-08-13 16:01:11 +02:00
Ken 0a364b989a Oppdatert useId (#1172)
* oppdaterte srrprovider

* fikset useId

* oppdatert yarn lock

* fikset id-bruk i ds-react

* lint fix

* fjernet console log

* fikset story

* fikset error-uu story

* oppdatert til noop når useId kjøres på server
2021-08-13 15:49:09 +02:00
Ken 233cf0cb31 la til subheadings for mobilmeny (#1174) 2021-08-13 15:12:44 +02:00
github-actions[bot] b3d1c8429a Lerna versionbump [ci skip]
- @navikt/ds-icons@0.4.1
 - @navikt/ds-react@0.6.19
2021-08-13 08:04:15 +00:00
Ken 1b66630b08 fikset versjon for ds-icons 2021-08-13 09:47:25 +02:00
Ken a3640b4ad1 Oppdatert ikoner (#1169) 2021-08-13 09:18:32 +02:00
Ken c9092c951e nextjs example app (#1168) 2021-08-12 11:43:04 +02:00
github-actions[bot] 5761ee7213 Lerna versionbump [ci skip]
- @navikt/ds-react@0.6.18
2021-08-12 08:39:45 +00:00
KenandAndreas Nordahl 6239d40d9c Forsøk på form aria-describedby fix (#1166)
* forsøk på fix

* bruker omit2

* Update @navikt/ds-react/src/form/Fieldset/Fieldset.tsx

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

* Update @navikt/ds-react/src/form/Fieldset/useFieldset.ts

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

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-08-12 10:26:03 +02:00
github-actions[bot] 4081131e1a Lerna versionbump [ci skip]
- @navikt/ds-react@0.6.17
2021-08-12 07:44:58 +00:00
Ken a0797cbf70 laget bedre story for hideLabel 2021-08-12 09:29:18 +02:00
Ken 8f0c6948c3 hideLabel-prop for Checkbox (#1167) 2021-08-12 09:25:03 +02:00
github-actions[bot] 9dd22c2201 Lerna versionbump [ci skip]
- @navikt/ds-react@0.6.16
2021-08-11 12:57:49 +00:00
Ken 47f174edee oppdatert props (#1164) 2021-08-11 14:40:53 +02:00
Ken 00ccebf826 Demo for uu-testing av fieldset (#1165) 2021-08-11 13:37:12 +02:00
github-actions[bot] ca3d011b54 Lerna versionbump [ci skip]
- @navikt/ds-react@0.6.15
2021-08-11 10:23:41 +00:00
Ken da11faf790 Endret imports fra ../index -> .. i ds-react (#1161)
* oppdaterte index imports

* Revert "oppdaterte index imports"

This reverts commit a9f766965a.

* fikset storybook crashing

* fikset imports fra merge
2021-08-11 12:09:29 +02:00
github-actions[bot] 41022fb3ab Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.18
 - @navikt/ds-react@0.6.14
 - @navikt/ds-tokens@0.4.4
2021-08-11 10:04:45 +00:00
Ken 81a79de789 vnext ConfirmationPanel (Bekreftcheckboxpanel) (#1160)
* satt opp confirmation-panel

* oppdatert confirmationpanel styling

* oppdatert api

* oppdatert docs

* flyttet checkmark images til tokens
2021-08-11 11:49:15 +02:00
github-actions[bot] 1d6e33799f Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.17
 - @navikt/ds-react@0.6.13
2021-08-11 09:15:18 +00:00
KenandAndreas Nordahl 3c9187ce50 ErrorSummary (Feiloppsummering) (#1159)
* oppdatert div styling

* oppdatert storybook

* oppdatert alert styling

* fjernet ubrukt kode

* scaffolding input

* lint fix

* default styling for input

* checkbox styling

* styling for checkbox

* fikset typing for skjemaelementer

* lint fix

* fikset input

* uuid for checkbox og radio

* label + desciption på input

* select komponent og styling

* klasse på skjemaelement wrappers

* la til fieldset

* button story

* fjernet button-styling

* fjernet button story

* 44px hover-area for radio + checkbox

* lint fix

* oppdatert styling radio checkbox

* fikset checkbox hover state

* lint-fix

* oppdatert radio og fieldset css

* flyttet label styling til form

* error styling checkbox og radio

* fikset checkbox og radio sizing

* r styling

* oppdatert error styling + disabled input/select

* styling form-elementer

* error handling i checkbox

* error handling i fieldset

* error handling radio

* error handling for input + select

* form-elementer inherither size fra fieldset

* oppdatert fieldset story

* la til textarea

* oppdatert throttling i textarea

* fjernet ubbrukt css

* lint fix

* fikset files for textarea

* fikset textarea animationframe

* laget custom hook for forms

* implementerte formHook

* fikset state handling for error + input

* lint fix

* rename input -> text-input

* move error message classes to message element

* add disabled prop to text-input

* input size problem story

* expose htmlSize prop in select and text-input

* some more select story stuff

* move content in checkbox and radio from label to children

* refactor text-input

* colocate form stuff

* refactor Fieldset

* refactor textarea and move some stuff around

* extract generic field component

* checkbox rewrite wip

* more checkbox refactoring and checkbox group

* checkbox complete?

* radio group wip

* storybook fix

* fikset fieldset types

* endret til short-uiod

* bruker nå short-uuid

* prefixed id gen

* oppdatert textarea-styling

* oppdatert props i useRadio og useCheckbox

* oppdateringer rest spread radio

* reverserte bruk av useForm

* flyttet useRadio ut av radio.tsx

* oppdatert checkbox styling

* fikset small sizing checkbox

* oppdatert checkbox for ny useForm

* oppdatert use hooks for forms

* fikset disabled for checkbox og radio

* oppdatert radio, fieldset og checkbox styling

* komponenter bruker nå typo-komponenter

* endret textInput -> textField

* fikset textfield styling

* oppdatert select

* la til htmlFor for textinput og select

* oppdaterte textarea

* fikset imports

* testet løsning for gap på skjemaelementer

* fjernet ubrukt styling

* fikset props fieldset

* oppdatert fieldset

* oppdatert margins for alle forms-elementer

* oppdaterte useId for SSR

* apender aria-describedby

* hideLabel implementert for alle elementer

* fikset intern errormsg margintop i checkbox og radio

* fikset intern errormsg margintop i checkbox og radio

* comment fix

* småjuseringer props-logikk

* ryddet opp i props handlig for fieldset

* laget intro stories for alle form-elementer

* oppdatert alle form-stories

* implementert errorsummary

* fikset imports

* Fikset opp i imports (#1158)

* småfiks

* css fiks feiloppsummering

* endret på title størrelse

* fikset kommentar 1

* fikset kommentar 2

* fikset kommentar 3

* flyttet error-message til egen fil

* fikset kommenter 5

* fikset kommenter 6

* fikset kommentar 7

* fikset kommentar 8

* fikset kommentar 9

* fikset kommentar 11

* fikset kommentar 12-14

* fikset sizing

* fikset hidelabel

* Update @navikt/ds-css/form/index.css

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

* oppdatert formFieldProps

* renamet genericFormFieldProps

* ryddet opp i radiogroup

* oppdatert styling

* fikset opp i props for fieldset

* doc oppdateringer

* reverserte story-endring

* reverserte story-endring

* oppdatert omit

* fikset sizing i useFormField

* fikset i imports

* fikset imports/exports i index.ts

* fjernet forms

* Revert "fjernet forms"

This reverts commit 490f295b41.

* fikset fieldset naming error

* fikset import error

* oppdatert errorsummary

* oppdatert errorsummary props

* oppdaterte docs for errorsummary

* Update @navikt/ds-react/src/form/error-summary/ErrorSummary.tsx

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

* oppdatert css

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-08-11 11:00:26 +02:00
github-actions[bot] 87b4d45583 Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.16
 - @navikt/ds-react@0.6.12
2021-08-10 14:05:47 +00:00
KenandAndreas Nordahl 154eab1ec6 Vnext Form fundementals (#1151)
* oppdatert div styling

* oppdatert storybook

* oppdatert alert styling

* fjernet ubrukt kode

* scaffolding input

* lint fix

* default styling for input

* checkbox styling

* styling for checkbox

* fikset typing for skjemaelementer

* lint fix

* fikset input

* uuid for checkbox og radio

* label + desciption på input

* select komponent og styling

* klasse på skjemaelement wrappers

* la til fieldset

* button story

* fjernet button-styling

* fjernet button story

* 44px hover-area for radio + checkbox

* lint fix

* oppdatert styling radio checkbox

* fikset checkbox hover state

* lint-fix

* oppdatert radio og fieldset css

* flyttet label styling til form

* error styling checkbox og radio

* fikset checkbox og radio sizing

* r styling

* oppdatert error styling + disabled input/select

* styling form-elementer

* error handling i checkbox

* error handling i fieldset

* error handling radio

* error handling for input + select

* form-elementer inherither size fra fieldset

* oppdatert fieldset story

* la til textarea

* oppdatert throttling i textarea

* fjernet ubbrukt css

* lint fix

* fikset files for textarea

* fikset textarea animationframe

* laget custom hook for forms

* implementerte formHook

* fikset state handling for error + input

* lint fix

* rename input -> text-input

* move error message classes to message element

* add disabled prop to text-input

* input size problem story

* expose htmlSize prop in select and text-input

* some more select story stuff

* move content in checkbox and radio from label to children

* refactor text-input

* colocate form stuff

* refactor Fieldset

* refactor textarea and move some stuff around

* extract generic field component

* checkbox rewrite wip

* more checkbox refactoring and checkbox group

* checkbox complete?

* radio group wip

* storybook fix

* fikset fieldset types

* endret til short-uiod

* bruker nå short-uuid

* prefixed id gen

* oppdatert textarea-styling

* oppdatert props i useRadio og useCheckbox

* oppdateringer rest spread radio

* reverserte bruk av useForm

* flyttet useRadio ut av radio.tsx

* oppdatert checkbox styling

* fikset small sizing checkbox

* oppdatert checkbox for ny useForm

* oppdatert use hooks for forms

* fikset disabled for checkbox og radio

* oppdatert radio, fieldset og checkbox styling

* komponenter bruker nå typo-komponenter

* endret textInput -> textField

* fikset textfield styling

* oppdatert select

* la til htmlFor for textinput og select

* oppdaterte textarea

* fikset imports

* testet løsning for gap på skjemaelementer

* fjernet ubrukt styling

* fikset props fieldset

* oppdatert fieldset

* oppdatert margins for alle forms-elementer

* oppdaterte useId for SSR

* apender aria-describedby

* hideLabel implementert for alle elementer

* fikset intern errormsg margintop i checkbox og radio

* fikset intern errormsg margintop i checkbox og radio

* comment fix

* småjuseringer props-logikk

* ryddet opp i props handlig for fieldset

* laget intro stories for alle form-elementer

* oppdatert alle form-stories

* Fikset opp i imports (#1158)

* fikset kommentar 1

* fikset kommentar 2

* fikset kommentar 3

* flyttet error-message til egen fil

* fikset kommenter 5

* fikset kommenter 6

* fikset kommentar 7

* fikset kommentar 8

* fikset kommentar 9

* fikset kommentar 11

* fikset kommentar 12-14

* fikset sizing

* fikset hidelabel

* Update @navikt/ds-css/form/index.css

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

* oppdatert formFieldProps

* renamet genericFormFieldProps

* ryddet opp i radiogroup

* oppdatert styling

* fikset opp i props for fieldset

* doc oppdateringer

* reverserte story-endring

* reverserte story-endring

* oppdatert omit

* fikset sizing i useFormField

* fikset i imports

* fikset imports/exports i index.ts

* fjernet forms

* Revert "fjernet forms"

This reverts commit 490f295b41.

* fikset fieldset naming error

* fikset import error

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2021-08-10 15:48:49 +02:00
0ee4fc5a6d Oppdatert innhold for "God Praksis" siden (#1157)
* flyttet innhold og component routing

* fikset linking i sider

* implementert sider fra annet repo

* fungerende redirect

* fikset redirects, manyer

* la til egen forside for vk

* oppdatert med card

* laget nye forside

* oppdatert card layout

* fikset card margin, ingress tekst

* oppdatert filter i sidebar

* fikset build error

* branch fix workflow

* fikset paths

* oppdatert sorting av sidebar

* fjernet cname fra defaut static

* fikset pathing

* fikset pathing2

* fikset config

* fikset forside

* la tilbake plugins

* fjernet border fra img

* fikset hjem pil

* edit on dev

* forsøk på classname fix

* fjernet console log

* fikset farger

* la til underline

* oppdatert styling

* fikset config

* Update build-publish.yml

* oppdatert workflow

* Create sidemaler.mdx

* Update and rename sidemaler.mdx to produktsider.mdx (#1132)

* fikset br error

* fikset table

* Create livssituasjonssider.mdx (#1133)

Co-authored-by: Ken <ken.aleksander@gmail.com>

* yarn  lock

* fikset code errors

* fikset kode for nye analytics sider

* fjernet betafiler fra publish

Co-authored-by: Sjur-NAV <82579704+Sjur-NAV@users.noreply.github.com>
2021-08-05 15:55:32 +02:00
Snyk bot 1bfb3acbdf fix: package.json to reduce vulnerabilities (#1154)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-JSZIP-1251497
2021-08-02 10:51:53 +02:00
Ken 8c0e121d66 Lerna versionbump [ci skip]
- @navikt/ds-react@0.6.11
2021-08-02 10:30:45 +02:00
Ken 0c86b6e6b3 Fikset offset i popover (#1155) 2021-08-02 09:42:15 +02:00
github-actions[bot] 23f077d0d9 Lerna versionbump [ci skip]
- @navikt/ds-css@0.6.15
 - @navikt/ds-react@0.6.10
2021-07-28 07:31:31 +00:00
Andreas Nordahl 2be6c7b629 refactor speech-bubble-style (#1153) 2021-07-28 09:17:55 +02:00
Ken dc63423efb Update CHANGELOG.md 2021-07-18 14:51:56 +02:00
968 changed files with 17134 additions and 26076 deletions

No files matched your search

+47 -18
View File
@@ -11,7 +11,7 @@ on:
workflow_dispatch:
jobs:
build:
test-build:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
runs-on: ubuntu-latest
steps:
@@ -27,18 +27,23 @@ jobs:
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install deps
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install
- name: Gulp-build
- name: postinstall
if: steps.node-cache.outputs.cache-hit == 'true'
run: yarn postinstall
- name: Boot
run: yarn boot
- name: Eslint and Stylelint
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
- name: Test gatsby-build (design.nav.no)
run: yarn build:gatsby
- name: Test chromatic
uses: chromaui/action@v1
@@ -48,17 +53,19 @@ jobs:
exitZeroOnChanges: true
publish-npm:
needs: build
needs: test-build
runs-on: ubuntu-latest
if: github.event_name == 'push'
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
@@ -66,23 +73,45 @@ jobs:
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install deps
- name: install
if: steps.node-cache.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Gulp-build
- name: Boot
run: yarn boot
- run: git config --global user.email "github-actions[bot]@users.noreply.github.com"
- run: git config --global user.name "github-actions[bot]"
- run: git remote set-url origin https://github-actions[bot]:$NAV_DS_TOKEN@github.com/$GITHUB_REPOSITORY.git
- name: Setup github connection for auth
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git remote set-url origin https://github-actions[bot]:$NAV_DS_TOKEN@github.com/$GITHUB_REPOSITORY.git
env:
NAV_DS_TOKEN: ${{secrets.GIT_REPO}}
- run: yarn lerna version patch --include-merged-tags --yes
- run: yarn lerna publish from-package --yes
- name: Update changed packages with PATCH
if: "contains(github.event.head_commit.message, '[fix]')"
run: yarn lerna version patch --include-merged-tags --yes
- name: Update changed packages with MINOR
if: "contains(github.event.head_commit.message, '[feature]')"
run: yarn lerna version minor --include-merged-tags --yes
- name: Update changed packages with MAJOR
if: "contains(github.event.head_commit.message, '[breaking]')"
run: yarn lerna version major --include-merged-tags --yes
- name: Publish to NPM registry
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:
org_name: navikt
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTOMATION}}
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: publish-npm
needs: test-build
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
@@ -122,7 +151,7 @@ jobs:
env:
NAV_DS_TOKEN: ${{secrets.GIT_REPO}}
- name: Deploy storybook
- name: Deploy storybook to designsystem-repo
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{secrets.GIT_REPO}}
+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"
+3 -3
View File
@@ -41,6 +41,7 @@ typings/
# Optional npm cache directory
.npm
.npmrc
# Optional eslint cache
.eslintcache
@@ -99,7 +100,6 @@ examples/webpack/out
*.d.ts
*-exports.less
**/css/
*/figma-api/icons
*/ds-icons/png
packages/**/css
@@ -107,8 +107,8 @@ utilities/**/css
*/static/*.zip
*/static/png
@navikt/ds-icons/NAV-ikonpakke-png.zip
@navikt/ds-icons/NAV-ikonpakke-svg.zip
@navikt/core/icons/NAV-ikonpakke-png.zip
@navikt/core/icons/NAV-ikonpakke-svg.zip
*/**/NAV-ikonpakke-png.zip
*/**/NAV-ikonpakke-svg.zip
-57
View File
@@ -1,57 +0,0 @@
{
"repository": "@nav/designsystem",
"head": "updated-specify-tokens",
"base": "master",
"rules": [
{
"name": "Specify / Icons",
"path": "@navikt/ds-icons/svg",
"filter": {
"types": ["vector"]
},
"parsers": [
{
"name": "pascalcasify",
"options": {
"keys": ["name"]
}
},
{
"name": "name-assets-files-by-pattern",
"options": {
"pattern": "{{name}}.{{format}}"
}
}
]
},
{
"name": "Specify / Icons - metadata",
"path": "@navikt/ds-icons/figma-api/metadata-specify.json",
"filter": {
"types": ["vector"]
},
"parsers": [
{
"name": "pascalcasify",
"options": {
"keys": ["name"]
}
},
{
"name": "pick",
"options": {
"keys": [
"name",
"createdAt",
"updatedAt",
"meta.description",
"meta.parentFrame",
"meta.frame",
"page"
]
}
}
]
}
]
}
+1 -2
View File
@@ -10,8 +10,8 @@ module.exports = {
"../@navikt/**/*.stories.@(js|jsx|ts|tsx|mdx)",
],
addons: [
"@storybook/addon-links",
"@storybook/addon-docs",
"@storybook/addon-a11y",
{
name: "@storybook/addon-storysource",
options: {
@@ -27,6 +27,5 @@ module.exports = {
controls: { hideNoControlsWarning: true },
},
},
"@whitespace/storybook-addon-html",
],
};
+1
View File
@@ -1,5 +1,6 @@
import "nav-frontend-core";
import "@navikt/ds-css/index.css";
import "@navikt/ds-css-internal/index.css";
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },
+12 -10
View File
@@ -11,7 +11,7 @@ yarn add @navikt/ds-react @navikt/ds-css
```
Siden stilene ikke importeres direkte i komponentene, så må man selv importere ds-css.
Dette gjøres for å la komponetene brukes i Nextjs prosjekter.
For å legge til all stylingen som trengs må man da bare importere `ds-css`.
```bash
import "@navikt/ds-css"
@@ -19,15 +19,17 @@ 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/#/
## Testing
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.
For å støtte testing med eks Jest som ikke tillater ESM moduler, så kan denne configen legges til
## Bruke styled-components eller emotion
```bash
"moduleNameMapper": {
"@navikt/ds-react(.*)": "@navikt/ds-react/cjs$1",
"@navikt/ds-icons(.*)": "@navikt/ds-icons/cjs$1"
}
```
Flere av våre komponenter er implementert med OverridableComponent. Dette vil si at komponenten tar i mot en prop, `as` som lar deg endre hvilken tag som blir satt.
Bruk for dette er eks hvis du ønsker `Heading` stilen, men ikke en heading-tag. Da kan man lett skrive `<Heading as="div">` og man vil få en `div`-tag istedenfor.
Dette vil remappe komponentene (og ikonpakken) til å bruke CommonJs versjonen for testing
Flere css-in-js bibliotek har også denne funksjonaliteten bygd inne, noe som kan komplisere ting når alle bruker samme navn `as` for dette.
### Løsninger
[Styled-components](https://styled-components.com/docs/api#forwardedas-prop)
> TLDR: Bruk `forwardedAs` istendenfor `as` på komponentene, SD fikser resten.
+255
View File
@@ -0,0 +1,255 @@
import { Meta } from "@storybook/addon-docs";
<Meta title="ds-react/Migration" />
# Migreringsguider
## Migrering til ds-react v0.11, ds-css v0.10
### ErrorSummary
- ErrorSummaryItem -> ErrorSummary.Item
Må da slette import "ErrorSummaryItem" da denne ikke er eksponert alene lengre
### SearchField
- SearchFieldButton -> SearchField.Button
- SearchFieldClearButton -> SearchField.Clear
- SearchFieldInput -> SearchField.Input
SearchFieldButton, SearchFieldClearButton og SearchFieldInput må da slettes fra imports da de ikke er eksponert lengre.
### CopyToClipBoard
Komponenten er flyttet til pakkene "@navikt/ds-react-internal" og "@navikt/ds-css-internal". API er ikke endret
så fikses med
```bash
yarn install @navikt/ds-react-internal @navikt/ds-css-internal
```
## 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.
+269
View File
@@ -0,0 +1,269 @@
import { Table as DsTable } from "@navikt/ds-react";
import {
SuccessFilled as SuccessIcon,
ErrorFilled as ErrorIcon,
} from "@navikt/ds-icons";
import styled from "styled-components";
const Success = styled(SuccessIcon)`
color: var(--navds-color-green-50);
`;
const Error = styled(ErrorIcon)`
color: var(--navds-color-red-50);
`;
const Table = styled(DsTable)`
.navds-table__cell > svg,
.navds-table__cell > span {
vertical-align: middle;
margin-left: 50%;
transform: translateX(-50%);
}
`;
type CompT = {
name: string;
status: Partial<[boolean, boolean, boolean]>;
desc?: React.ReactNode;
};
const Components: CompT[] = [
{
name: "Alertstriper",
status: [true, true, true],
desc: "Navn: Alert",
},
{ name: "Chevron", status: [false], desc: "" },
{
name: "Core",
status: [true, true, false],
desc: <code>@navikt/ds-css</code>,
},
{
name: "Ekspanderbartpanel",
status: [true, true, true],
desc: "Navn: Accordion, styling ikke oppdatert til nyeste versjon",
},
{ name: "Etiketter", status: [true, true, false], desc: "Navn: Tag" },
{
name: "Fullbreddeknapp-style",
status: [false],
desc: "",
},
{ name: "Grid", status: [true, true, false], desc: "Navn: Grid" },
{ name: "Hjelpetekst", status: [true, true, true], desc: "Navn: HelpText" },
{
name: "Ikoner-assets",
status: [true, true, true],
desc: <code>@navikt/ds-icons</code>,
},
{
name: "js-utils",
status: [true, true, false],
desc:
"Diverse util-funksjoner blir eksponert gjennom ds-react, men tar for det meste i bruk npm pakker",
},
{ name: "Knapper", status: [true, true, true], desc: "Navn: Button" },
{ name: "Lenkepanel", status: [true, true, true], desc: "Navn: LinkPanel" },
{ name: "Lenker", status: [true, true, true], desc: "Navn: Link" },
{ name: "Lesmerpanel", status: [false], desc: "" },
{ name: "Lukknapp", status: [false], desc: `Bruk Button med "Close"-ikon` },
{ name: "Modal", status: [true, true, true], desc: "Navn: Modal" },
{ name: "Paneler", status: [true, true, true], desc: "Navn: Panel" },
{
name: "Bekrefcheckbokspanel",
status: [true, true, true],
desc: "Navn: ConfirmationPanel",
},
{
name: "Checkbokspanel-gruppe",
status: [false],
desc: "Panel-versjon vil ikke tas videre i nytt system",
},
{
name: "Checkbokspanel",
status: [false],
desc: "Panel-versjon vil ikke tas videre i nytt system",
},
{
name: "Checkbox-gruppe",
status: [true, true, true],
desc: "Navn: CheckboxGroup",
},
{ name: "Checkbox", status: [true, true, true], desc: "Navn: Checkbox" },
{
name: "Feiloppsummering",
status: [true, true, false],
desc: "Navn: ErrorSummary, API vil bli endret for denne",
},
{
name: "Fnr-input",
status: [false],
desc:
"Skjema-elementer med validering vil ikke bli lagt til med det første, men vil diskuteres i fremtiden",
},
{ name: "Input", status: [true, true, true], desc: "Navn: TextField" },
{
name: "Label",
status: [false],
desc: "Skjema-elementer fikser dette selv",
},
{ name: "Radio-Gruppe", status: [true, true, true], desc: "RadioGroup" },
{ name: "Radio", status: [true, true, true], desc: "Navn: Radio" },
{
name: "Radiopanel-gruppe",
status: [false],
desc: "Panel-versjon vil ikke tas videre i nytt system",
},
{
name: "Radio-panel",
status: [false],
desc: "Panel-versjon vil ikke tas videre i nytt system",
},
{ name: "Select", status: [true, true, true], desc: "Navn: Select" },
{ name: "Skjema-gruppe", status: [true, true, true], desc: "Navn: Fieldset" },
{
name: "Skjemaelement-feilemelding",
status: [false],
desc: "",
},
{ name: "Textarea", status: [true, true, true], desc: "Navn: Textarea" },
{ name: "Togglegruppe", status: [true, false, false], desc: "" },
{ name: "ToggleKnapp", status: [true, false, false], desc: "" },
{
name: "Toggle",
status: [true, false, false],
desc: "Vil bli samme komponent som ToggleKnapp",
},
{ name: "Popover", status: [true, true, true], desc: "Navn: Popover" },
{ name: "Snakkeboble", status: [true, true, true], desc: "SpeechBubble" },
{ name: "Spinner", status: [true, true, true], desc: "Navn: Loader" },
{ name: "Stegindikator", status: [true, false, false], desc: "" },
{
name: "Tabell-style",
status: [true, true, false],
desc: "Navn: Table, Er nå publisert som React-component",
},
{ name: "Tabs", status: [true, false, false], desc: "" },
{ name: "Tekstomrade", status: [false], desc: "" },
{
name: "Typografi",
status: [true, true, true],
desc: "Navn: se typography-mappen i storybook",
},
{ name: "veileder", status: [false], desc: "" },
{
name: "Veilederpanel",
status: [true, true, true],
desc: "Navn: GuidePanel",
},
];
const NewComps: CompT[] = [
{
name: "AccordionMenu",
status: [true, true, true],
desc: "",
},
{
name: "SearcField",
status: [true, true, false],
desc: "Denne vil undergå større endringer",
},
{
name: "MicroCard",
status: [true, true, false],
desc: "Vil flyttes over i egen navno pakke for eksterne sider",
},
{
name: "PageHeader",
status: [true, true, false],
desc: "Vil flyttes over i egen navno pakke for eksterne sider",
},
{
name: "CopyToClipboard",
status: [true, true, false],
desc: "Vil flyttes over til @navikt/ds-react-internal pakke",
},
{
name: "Table",
status: [true, true, false],
desc:
"Implementer stylingen til nav-frontend-table-styles, API vil videreutvikles",
},
{
name: "Switch",
status: [true, false, false],
desc: "",
},
{
name: "Tooltip",
status: [true, false, false],
desc: "",
},
{
name: "Timeline",
status: [true, false, false],
desc: "",
},
];
const CompTable = ({ list }) => (
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>Komponent</Table.HeaderCell>
<Table.HeaderCell>Med i nytt system</Table.HeaderCell>
<Table.HeaderCell>Publisert i pakker</Table.HeaderCell>
<Table.HeaderCell>Fullført**</Table.HeaderCell>
<Table.HeaderCell>Info</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
{list.map((comp) => {
return (
<Table.Row>
<Table.HeaderCell>{comp.name}</Table.HeaderCell>
<Table.DataCell>
{comp.status?.[0] === undefined ? (
<span>-</span>
) : comp.status?.[0] ? (
<Success />
) : (
<Error />
)}
</Table.DataCell>
<Table.DataCell>
{comp.status?.[1] === undefined ? (
<span>-</span>
) : comp.status?.[1] ? (
<Success />
) : (
<Error />
)}
</Table.DataCell>
<Table.DataCell>
{comp.status?.[2] === undefined ? (
<span>-</span>
) : comp.status?.[1] ? (
<Success />
) : (
<Error />
)}
</Table.DataCell>
<Table.DataCell>{comp.desc ? comp.desc : "-"}</Table.DataCell>
</Table.Row>
);
})}
</Table.Body>
</Table>
);
export const NewCompTable = () => {
return <CompTable list={NewComps} />;
};
export const OldCompTable = () => {
return <CompTable list={Components} />;
};
+24 -17
View File
@@ -1,16 +1,30 @@
import { Meta } from "@storybook/addon-docs";
import { NewCompTable, OldCompTable } from "./roadmap-table.tsx";
<Meta title="ds-react/Roadmap" />
# Plan videre
# Roadmap
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.
## Komponenter
(Rekkefølgen representer ikke faktisk tidsline eller prioritet)
\*\* Fullført betyr i denne konteksten at vi føler API-et er ok og da kan forvente mindre breaking changes.
Komponenten kan fortsatt bli utsatt for endringer i selve designet.
### Nye komponenter / wip
<NewCompTable />
### Migrering av gamle komponenter
<OldCompTable />
## Plan videre
Vi jobber kontinuerlig med å finne bedre løsninger for å kunne bygge systemet opp fra bunnen av. Dette innegår da
ny dokumentasjon-side under Verktøykassen, nye byggeblokker helt fra token-nivå og bedre sizing for eksterne/interne sider.
Dette vil la oss bygge mer robuste og fleksible løsninger for fremtiden som skal være bedre tilpasset produktene våre.
(Rekkefølgen representer ikke faktisk tidslinje)
## Tokens
@@ -20,12 +34,11 @@ Dette vil gjøre styling og overriding av komponenter enklere da man kan bruke c
## 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="s" -> 32px, size="m"-> 48px`.
Dette vil da eksempelvis kunne være en standard som er gjennomgående for de fleste komponentene.
Eksempel på dette er `size="small" -> 32px, size="medium"-> 48px`.
## Ny dokumentasjon-side
Vi bygger en ny side for å dokumentere systemet, og mer rundt utvikling/design i nav med "Verktøykassen"
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`
@@ -44,14 +57,8 @@ eks darkmode.
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.
## Feature-flagging
Ideen om å ta i bruk feature-flagging er noe som virker veldig interessant og vil da se på muligheten for å kunne levere
større endringe i feature-flags for testing, og da publisere under eks major-bump i faste intervaller. Dette vil da kunne
gjøre det enklere for deg som consumer av pakkene å ha oversikt over endringer og hva som må migreres.
## 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å å
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.
+1 -1
View File
@@ -6,7 +6,7 @@ module.exports = (baseConfig) => {
test: /\.css$/,
use: ["style-loader", "css-loader"],
include: [
path.resolve(__dirname, "../node_modules/@navikt/ds-css/index.css"),
path.resolve(__dirname, "../node_modules/@navikt/core/css/index.css"),
],
},
{
+3
View File
@@ -0,0 +1,3 @@
# Designsystem v2
Storybook: https://navikt.github.io/Designsystemet/
@@ -1,3 +1,11 @@
: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;
@@ -18,7 +26,7 @@
justify-content: space-between;
align-items: center;
font-weight: var(--navds-font-weight-bold);
color: var(--navds-color-text-link);
color: var(--navds-accordion-menu-color-text);
text-decoration: underline;
}
@@ -31,7 +39,7 @@
.navds-accordion-menu-collapsable__expand-icon {
font-size: 1.5rem;
color: var(--navds-color-text-link);
color: var(--navds-accordion-menu-color);
flex-shrink: 0;
margin-left: var(--navds-spacing-2);
}
@@ -73,18 +81,23 @@
.navds-accordion-menu-item:focus,
.navds-accordion-menu-collapsable__button:focus {
outline: 3px solid var(--navds-text-focus);
outline: 3px solid var(--navds-accordion-menu-outline-focus);
outline-offset: -3px;
color: var(--navds-color-darkgray);
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-color-blue-10);
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-color-text);
color: var(--navds-accordion-menu-color-text-active);
text-decoration: none;
}
+70
View File
@@ -0,0 +1,70 @@
: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 .ReactCollapse--collapse {
transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.navds-accordion {
background: var(--navds-accordion-color-background);
}
.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__expand-icon {
width: 1.5rem;
height: 1.5rem;
flex-shrink: 0;
}
.navds-accordion__expand-icon--flip {
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;
}
.navds-accordion__header:hover
> .navds-accordion__expand-icon.navds-accordion__expand-icon--filled {
display: inherit;
}
.navds-accordion__header:hover > .navds-accordion__expand-icon {
display: none;
}
+119
View File
@@ -0,0 +1,119 @@
: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 {
border-radius: 4px;
border: 1px solid;
border-color: var(--navds-alert-color-border);
padding: calc(var(--navds-spacing-4) + 1px) calc(var(--navds-spacing-4) + 1px);
display: flex;
gap: var(--navds-spacing-3);
align-items: center;
}
.navds-alert__wrapper {
max-width: 43.5rem;
}
.navds-alert--small {
padding: calc(var(--navds-spacing-1) - 1px) var(--navds-spacing-4);
}
.navds-alert--full-width {
border-radius: 0;
}
.navds-alert > .navds-alert__icon {
flex-shrink: 0;
font-size: 1.5rem;
align-self: flex-start;
height: var(--navds-font-line-height-xlarge);
}
.navds-alert--small > .navds-alert__icon {
font-size: 1.25rem;
height: var(--navds-font-line-height-large);
}
.navds-alert--error {
border-color: var(--navds-alert-color-error-border);
background-color: var(--navds-alert-color-error-background);
}
.navds-alert--error > .navds-alert__icon {
color: var(--navds-alert-color-error-icon);
background: radial-gradient(
circle,
var(--navds-alert-color-error-icon-background) 50%,
0,
transparent
);
}
.navds-alert--warning {
border-color: var(--navds-alert-color-warning-border);
background-color: var(--navds-alert-color-warning-background);
}
.navds-alert--warning > .navds-alert__icon {
color: var(--navds-alert-color-warning-icon);
background: radial-gradient(
circle,
var(--navds-alert-color-warning-icon-background) 50%,
0,
transparent
);
}
.navds-alert--info {
border-color: var(--navds-alert-color-info-border);
background-color: var(--navds-alert-color-info-background);
}
.navds-alert--info > .navds-alert__icon {
color: var(--navds-alert-color-info-icon);
background: radial-gradient(
circle,
var(--navds-alert-color-info-icon-background) 50%,
0,
transparent
);
}
.navds-alert--success {
border-color: var(--navds-alert-color-success-border);
background-color: var(--navds-alert-color-success-background);
}
.navds-alert--success > .navds-alert__icon {
color: var(--navds-alert-color-success-icon);
background: radial-gradient(
circle,
var(--navds-alert-color-success-icon-background) 50%,
0,
transparent
);
}
.navds-alert--inline {
background-color: transparent;
border-color: transparent;
padding: 0;
}
@@ -7,12 +7,19 @@
@import "utility.css";
/* Disabled because of UU concerns */
/* @import "smooth-scroll.css"; */
* {
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
body {
font-family: var(--navds-font-family);
line-height: 1.375;
File renamed without changes.
@@ -9,7 +9,8 @@
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/
.sr-only {
.sr-only,
.navds-sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
@@ -32,7 +33,9 @@
*/
.sr-only.focusable:active,
.sr-only.focusable:focus {
.sr-only.focusable:focus,
.navds-sr-only.focusable:active,
.navds-sr-only.focusable:focus {
clip: auto;
height: auto;
margin: 0;
+208
View File
@@ -0,0 +1,208 @@
: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-background-hover: var(
--navds-color-action-hover
);
--navds-button-color-primary-background-active: var(
--navds-color-action-active
);
/* 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-border-focus-active-hover: var(
--navds-color-white
);
--navds-button-color-secondary-background: var(--navds-color-background);
--navds-button-color-secondary-background-hover: var(
--navds-color-action-hover
);
--navds-button-color-secondary-background-active: var(
--navds-color-action-active
);
/* 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-background-active: var(
--navds-color-action-active
);
/* 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-background-active: var(
--navds-color-danger-active
);
--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);
}
.navds-button {
display: inline-flex;
cursor: pointer;
margin: 0;
text-align: center;
text-decoration: none;
border: none;
background: none;
border-radius: 2px;
min-width: 48px;
padding: var(--navds-spacing-3);
}
.navds-button--small {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
min-width: 32px;
}
.navds-button:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
}
.navds-button__inner {
margin: auto;
display: flex;
align-items: center;
gap: var(--navds-spacing-2);
}
.navds-button svg {
font-size: 1.5rem;
}
.navds-button--small svg {
font-size: 1.25rem;
}
/*************************
* .navds-button--primary *
*************************/
.navds-button--primary {
background-color: var(--navds-button-color-primary-background);
color: var(--navds-button-color-primary-text);
}
.navds-button--primary:hover {
background-color: var(--navds-button-color-primary-background-hover);
}
.navds-button--primary:active {
background-color: var(--navds-button-color-primary-background-active);
}
.navds-button--primary:focus {
box-shadow: inset 0 0 0 1px var(--navds-button-color-primary-border-focus),
var(--navds-shadow-focus);
}
/**************************
* .navds-button--secondary *
**************************/
.navds-button--secondary {
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--secondary:hover {
color: var(--navds-button-color-secondary-text-hover);
background-color: var(--navds-button-color-secondary-background-hover);
box-shadow: none;
}
.navds-button--secondary:focus {
box-shadow: inset 0 0 0 2px var(--navds-button-color-secondary-border),
var(--navds-shadow-focus);
}
.navds-button--secondary:active {
color: var(--navds-button-color-secondary-text-active);
background-color: var(--navds-button-color-secondary-background-active);
box-shadow: none;
}
.navds-button--secondary:focus:hover,
.navds-button--secondary:focus:active {
box-shadow: inset 0 0 0 1px
var(--navds-button-color-secondary-border-focus-active-hover),
var(--navds-shadow-focus);
}
/****************************
* .navds-button--tertiary *
****************************/
.navds-button--tertiary {
color: var(--navds-button-color-tertiary-text);
}
.navds-button--tertiary:hover {
box-shadow: inset 0 0 0 2px var(--navds-button-color-tertiary-border-hover);
}
.navds-button--tertiary:focus {
box-shadow: inset 0 0 0 2px var(--navds-button-color-tertiary-border-focus),
var(--navds-shadow-focus);
}
.navds-button--tertiary:active {
color: var(--navds-button-color-tertiary-text-active);
background-color: var(--navds-button-color-tertiary-background-active);
box-shadow: inset 0 0 0 1px var(--navds-button-color-tertiary-border-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--danger *
*************************/
.navds-button--danger {
background-color: var(--navds-button-color-danger-background);
color: var(--navds-button-color-danger-text);
}
.navds-button--danger:hover {
background-color: var(--navds-button-color-danger-background-hover);
}
.navds-button--danger:active {
background-color: var(--navds-button-color-danger-background-active);
}
.navds-button--danger:focus {
box-shadow: inset 0 0 0 1px var(--navds-button-color-danger-border-focus),
var(--navds-shadow-focus);
}
/**************************
* .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;
}
+45
View File
@@ -0,0 +1,45 @@
: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-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);
}
/*
MicroCard
*/
.navds-card__micro {
border-radius: 1rem;
color: var(--navds-card-micro-color-text);
display: inline-flex;
padding: var(--navds-spacing-1) var(--navds-spacing-2);
text-decoration: none;
background-color: var(--navds-card-micro-color-background);
border: 1px solid var(--navds-card-micro-color-border);
}
.navds-card__micro:hover {
background-color: var(--navds-card-micro-color-background-hover);
border-color: var(--navds-card-micro-color-border-hover);
color: var(--navds-card-micro-color-text-hover);
}
.navds-card__micro:focus {
background-color: var(--navds-card-micro-color-background-focus);
color: var(--navds-card-micro-color-text-focus);
outline: none;
box-shadow: 0 0 0 3px var(--navds-card-micro-color-shadow-focus);
}
.navds-card__micro:active {
background-color: var(--navds-card-micro-color-background-active);
color: var(--navds-card-micro-color-text-active);
}
File renamed without changes.
+13
View File
@@ -0,0 +1,13 @@
.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
@@ -0,0 +1,146 @@
: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);
}
@@ -0,0 +1,98 @@
:root {
--navds-confirmation-panel-color-background: var(
--navds-color-warning-background
);
--navds-confirmation-panel-color-background-checked: var(
--navds-color-success-background
);
--navds-confirmation-panel-color-border-checked: var(
--navds-color-success-background
);
--navds-confirmation-panel-color-background-error: var(
--navds-color-error-background
);
--navds-confirmation-panel-color-checkbox-background-checked-hover: var(
--navds-color-green-70
);
--navds-confirmation-panel-color-checkbox-border-checked-hover: var(
--navds-color-green-70
);
--navds-confirmation-panel-color-checkbox-background-checked: var(
--navds-color-green-50
);
--navds-confirmation-panel-color-checkbox-border-checked: var(
--navds-color-green-50
);
--navds-confirmation-panel-color-checkbox-label-checked: var(
--navds-color-darkgray
);
}
.navds-confirmation-panel {
display: flex;
flex-direction: column;
gap: var(--navds-spacing-4);
padding: var(--navds-spacing-4);
border-radius: 4px;
background-color: var(--navds-confirmation-panel-color-background);
transition: background-color linear 100ms;
}
.navds-confirmation-panel__content {
max-width: 80ch;
}
.navds-confirmation-panel--small {
padding: var(--navds-spacing-3);
gap: var(--navds-spacing-2);
}
.navds-confirmation-panel--checked {
background-color: var(--navds-confirmation-panel-color-background-checked);
border-color: var(--navds-confirmation-panel-color-border-checked);
}
.navds-confirmation-panel--error {
background-color: var(--navds-confirmation-panel-color-background-error);
border: 1px solid transparent;
}
.navds-confirmation-panel
.navds-checkbox__input:hover
+ .navds-checkbox__label {
text-decoration: underline;
}
.navds-confirmation-panel--checked
.navds-checkbox__input:hover
+ .navds-checkbox__label {
color: var(--navds-confirmation-panel-color-checkbox-label-checked);
}
.navds-confirmation-panel--checked
.navds-checkbox__input
+ .navds-checkbox__label::before {
transition: none;
background-color: var(
--navds-confirmation-panel-color-checkbox-background-checked
);
border-color: var(--navds-confirmation-panel-color-checkbox-border-checked);
background-image: var(--navds-checkmark-image-white);
}
.navds-confirmation-panel--checked
.navds-checkbox__input:hover
+ .navds-checkbox__label::before {
background-color: var(
--navds-confirmation-panel-color-checkbox-background-checked-hover
);
border-color: var(
--navds-confirmation-panel-color-checkbox-border-checked-hover
);
}
.navds-confirmation-panel--checked
.navds-checkbox__input:focus:hover
+ .navds-checkbox__label::before {
background-image: var(--navds-checkmark-image-white);
}
+8
View File
@@ -0,0 +1,8 @@
:root {
--navds-error-message-color-text: var(--navds-color-text-error);
}
.navds-error-message {
display: block;
color: var(--navds-error-message-color-text);
}
+30
View File
@@ -0,0 +1,30 @@
:root {
--navds-error-summary-color-background: var(--navds-color-white);
--navds-error-summary-color-border: var(--navds-color-error-border);
}
.navds-error-summary {
background-color: var(--navds-error-summary-color-background);
padding: var(--navds-spacing-4);
border: 4px solid var(--navds-error-summary-color-border);
}
.navds-error-summary--small {
padding: var(--navds-spacing-2);
}
.navds-error-summary:focus {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-error-summary__list {
margin: 1rem 0;
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.navds-error-summary--small > .navds-error-summary__list {
margin: 0.5rem 0;
}
+19
View File
@@ -0,0 +1,19 @@
.navds-fieldset {
margin: 0;
padding: 0;
border: 0;
min-width: 0;
}
.navds-fieldset > :not(:first-child):not(:empty) {
margin-top: 8px;
}
.navds-fieldset--small > :not(:first-child):not(:empty) {
margin-top: 4px;
}
/* Applied when hideLegend is applied to fieldset */
.navds-fieldset > .sr-only + :not(:first-child):not(:empty) {
margin-top: 0;
}
+15
View File
@@ -0,0 +1,15 @@
.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;
}
/* 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) {
margin-top: 0;
}
+16
View File
@@ -0,0 +1,16 @@
/*
Order matters; rearrange with care
*/
@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 "select.css";
@import "text-field.css";
@import "textarea.css";
@import "search-field.css";
+13
View File
@@ -0,0 +1,13 @@
.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
@@ -0,0 +1,150 @@
: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;
}
+49
View File
@@ -0,0 +1,49 @@
: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__input-wrapper {
display: flex;
align-items: center;
justify-content: center;
}
.navds-form-field--small .navds-search-field__input {
padding: 0.15rem;
min-height: 32px;
}
.navds-search-field__input-wrapper > *:not(:first-child):not(:last-child) {
border-radius: 0;
}
.navds-search-field__input-wrapper > :first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.navds-search-field__input-wrapper > :last-child {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.navds-search-field__input-wrapper > :last-child:first-child {
border-radius: 4px;
}
.navds-search-field__input-wrapper :focus {
z-index: var(--navds-z-index-focus);
}
.navds-search-field__button,
.navds-search-field__clear-button {
flex-shrink: 0;
}
.navds-search-field--error
.navds-search-field__input:not(:hover):not(:focus):not(:disabled) {
box-shadow: 0 0 0 1px var(--navds-search-field-color-shadow-error) inset;
border-color: var(--navds-search-field-color-border-error);
}
+70
View File
@@ -0,0 +1,70 @@
: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__input {
appearance: none;
padding: 0.5rem;
background-color: var(--navds-select-color-background);
border-radius: 4px;
border: 1px solid var(--navds-select-color-border);
width: 100%;
box-sizing: border-box;
min-height: 48px;
display: inline-block;
position: relative;
padding-right: 2.5rem;
}
.navds-select__input:hover {
border-color: var(--navds-select-color-border-hover);
}
.navds-select__input:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
}
.navds-select__container {
position: relative;
display: flex;
width: 100%;
align-items: center;
}
.navds-select__chevron {
position: absolute;
font-size: 1rem;
right: 0.5rem;
pointer-events: none;
}
.navds-form-field--small .navds-select__input {
min-height: 32px;
padding: 0.25rem;
}
/**
Error handling
*/
.navds-select--error > * select:not(:hover):not(:focus):not(:disabled) {
box-shadow: 0 0 0 1px var(--navds-select-color-shadow-error);
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);
box-shadow: none;
color: var(--navds-select-color-text-disabled);
cursor: not-allowed;
}
+63
View File
@@ -0,0 +1,63 @@
: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__input {
appearance: none;
padding: 0.5rem;
background-color: var(--navds-text-field-color-background);
border-radius: 4px;
border: 1px solid var(--navds-text-field-color-border);
min-height: 48px;
width: 100%;
}
.navds-form-field--small > .navds-text-field__input {
padding: 0.15rem;
min-height: 32px;
}
.navds-text-field__input:hover {
border-color: var(--navds-text-field-color-border-hover);
}
.navds-text-field__input:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
}
/**
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);
border-color: var(--navds-text-field-color-border-error);
}
/* 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);
box-shadow: none;
color: var(--navds-text-field-color-text-disabled);
cursor: not-allowed;
}
/**
* Removes default search icon
*/
.navds-text-field__input[type="search"]::-webkit-search-decoration,
.navds-text-field__input[type="search"]::-webkit-search-cancel-button,
.navds-text-field__input[type="search"]::-webkit-search-results-button,
.navds-text-field__input[type="search"]::-webkit-search-results-decoration {
-webkit-appearance: none;
}
+88
View File
@@ -0,0 +1,88 @@
: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__wrapper {
position: relative;
width: 100%;
}
.navds-textarea__input {
appearance: none;
padding: var(--navds-spacing-2);
background-color: var(--navds-textarea-color-background);
border-radius: 4px;
border: 1px solid var(--navds-textarea-color-border);
resize: none;
width: 100%;
transition: height 0.1s ease-out;
display: block;
min-height: 48px;
}
.navds-textarea--counter {
padding-bottom: var(--navds-spacing-8);
}
.navds-textarea__input:hover {
border-color: var(--navds-textarea-color-border-hover);
}
.navds-textarea__input:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
}
.navds-form-field--small .navds-textarea__input {
padding: var(--navds-spacing-1);
min-height: 32px;
}
.navds-form-field--small .navds-textarea--counter.navds-textarea__input {
padding-bottom: var(--navds-spacing-7);
}
.navds-textarea__counter {
pointer-events: none;
color: var(--navds-textarea-color-counter-text);
font-style: italic;
position: absolute;
text-align: right;
left: var(--navds-spacing-3);
right: var(--navds-spacing-3);
bottom: var(--navds-spacing-2);
}
.navds-textarea__counter--error {
color: var(--navds-textarea-color-counter-text-error);
}
/**
Error handling
*/
.navds-textarea--error
.navds-textarea__input:not(:hover):not(:focus):not(:disabled) {
box-shadow: 0 0 0 1px var(--navds-textarea-color-shadow-error);
border-color: var(--navds-textarea-color-border-error);
}
/*
Disabled handling
*/
.navds-textarea__input:disabled,
.navds-textarea__input[readonly] {
background-color: var(--navds-textarea-color-background-disabled);
border-color: var(--navds-textarea-color-border-disabled);
box-shadow: none;
color: var(--navds-textarea-color-text-disabled);
cursor: not-allowed;
}
File renamed without changes.
+76
View File
@@ -0,0 +1,76 @@
: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);
}
/**
* GuidePanel component
*/
.navds-guide-panel {
position: relative;
padding-left: 2.5rem;
}
.navds-guide-panel__content {
background-color: var(--navds-guide-panel-color-background);
border-radius: 4px;
border: 2px solid var(--navds-guide-panel-color-border);
min-height: 7.25rem;
padding: 1.5rem;
padding-left: 3.5rem;
}
.navds-guide-panel--poster {
padding-left: 0;
padding-top: 3.125rem;
}
.navds-guide-panel--poster .navds-guide-panel__content {
padding: 2rem;
padding-top: 4.25rem;
}
.navds-guide-panel .navds-guide {
position: absolute;
top: 1rem;
transform: translateX(-50%);
}
.navds-guide-panel--poster .navds-guide {
left: 50%;
top: 0;
}
/**
* Guide component
*/
.navds-guide {
display: flex;
align-items: center;
justify-content: center;
}
/* Guide illustration frame */
.navds-guide__illustration {
background: var(--navds-guide-panel-color-illustration-background);
border-radius: 50%;
overflow: hidden;
}
.navds-guide__illustration svg,
.navds-guide__illustration img {
height: 100%;
width: 100%;
}
/* Illustration sizes */
.navds-guide__illustration--small {
height: 5rem;
width: 5rem;
}
.navds-guide__illustration--medium {
height: 6.25rem;
width: 6.25rem;
}
+54
View File
@@ -0,0 +1,54 @@
: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__button {
margin: 0;
padding: 0;
border: 0;
cursor: pointer;
background-color: var(--navds-help-text-color-button-background);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}
.navds-help-text__button:focus {
outline: none;
}
.navds-help-text__icon {
border-radius: 50%;
font-size: 1.5rem;
color: var(--navds-help-text-color-icon);
}
.navds-help-text__button:hover > .navds-help-text__icon {
color: var(--navds-help-text-color-icon-hover);
background: var(--navds-help-text-color-icon-background-hover);
box-shadow: 0 0 0 2px var(--navds-help-text-color-icon-shadow-hover);
}
.navds-help-text__button:focus > .navds-help-text__icon {
outline: none;
color: var(--navds-help-text-color-icon-focus);
background: var(--navds-help-text-color-icon-background-focus);
box-shadow: 0 0 0 3px var(--navds-help-text-color-icon-shadow-focus);
}
.navds-help-text__popover > .navds-popover__arrow::before {
background-color: var(--navds-help-text-color-popover-background);
}
.navds-help-text__popover.navds-popover {
background-color: var(--navds-help-text-color-popover-background);
}
@@ -1,18 +1,15 @@
@import "baseline/baseline.css";
@import "typography.css";
@import "grid.css";
@import "layouts.css";
@import "accordion.css";
@import "accordion-anchor-menu.css";
@import "accordion-menu.css";
@import "alert.css";
@import "button.css";
@import "card.css";
@import "content-container.css";
@import "copy-to-clipboard.css";
@import "header.css";
@import "internal-header.css";
@import "guide-panel.css";
@import "form/index.css";
@import "help-text.css";
@import "link.css";
@import "loader.css";
@import "modal.css";
@@ -21,3 +18,8 @@
@import "panel.css";
@import "link-panel.css";
@import "speech-bubble.css";
@import "table.css";
/* Navno spesific packages */
@import "page-header.css";
@import "card.css";
@@ -1,19 +1,26 @@
.navds-link-panel {
display: flex;
justify-content: space-between;
align-items: center;
text-decoration: none;
color: var(--navds-color-gray-90);
: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:hover .navds-link-panel-title {
.navds-link-panel {
text-decoration: none;
color: var(--navds-link-panel-color-text);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--navds-spacing-2);
}
.navds-link-panel:hover .navds-link-panel__title {
text-decoration: underline;
color: var(--navds-color-text-link);
color: var(--navds-link-panel-color-title-hover);
}
.navds-link-panel:hover {
box-shadow: var(--navds-shadow-hover);
border-color: var(--navds-color-blue-50);
border-color: var(--navds-link-panel-color-border-hover);
}
.navds-link-panel:focus {
@@ -22,6 +29,7 @@
}
.navds-link-panel__chevron {
flex-shrink: 0;
font-size: 1.5rem;
transition: transform 200ms;
}
@@ -30,3 +38,7 @@
.navds-link-panel:focus-within > .navds-link-panel__chevron {
transform: translateX(4px);
}
.navds-link-panel__description {
margin-top: var(--navds-spacing-2);
}
+56
View File
@@ -0,0 +1,56 @@
: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: var(--navds-link-color-text);
text-decoration: underline;
display: inline-flex;
align-items: center;
gap: var(--navds-spacing-1);
}
.navds-alert--info .navds-link {
color: var(--navds-link-color-on-info-background);
}
.navds-alert--error .navds-link,
.navds-confirmation-panel--error .navds-link {
color: var(--navds-link-color-on-error-background);
}
.navds-link:hover {
text-decoration: none;
}
.navds-link:focus {
outline: none;
color: var(--navds-link-color-text-focus);
text-decoration: none;
background-color: var(--navds-link-color-background-focus);
box-shadow: var(--navds-text-shadow);
}
.navds-link:active {
outline: none;
color: var(--navds-link-color-text-active);
text-decoration: none;
background-color: var(--navds-link-color-background-active);
box-shadow: var(--navds-text-shadow);
}
.navds-link svg {
color: var(--navds-link-color-icon);
}
.navds-link:focus svg {
color: var(--navds-link-color-icon-focus);
}
+117
View File
@@ -0,0 +1,117 @@
: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-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 {
width: 1.5rem;
display: inline-block;
position: relative;
animation: loader-rotate 1.4s linear infinite;
}
.navds-loader__foreground {
animation: loader-dasharray 1.4s ease-in-out infinite;
stroke-dasharray: 80px, 200px;
stroke-dashoffset: 0;
stroke: var(--navds-loader-color-foreground);
}
.navds-loader__background {
stroke: var(--navds-loader-color-background);
}
.navds-loader--neutral .navds-loader__foreground {
stroke: var(--navds-loader-color-neutral-foreground);
}
.navds-loader--interaction .navds-loader__foreground {
stroke: var(--navds-loader-color-interaction-foreground);
}
.navds-loader--inverted .navds-loader__foreground {
stroke: var(--navds-loader-color-inverted-foreground);
}
.navds-loader--inverted .navds-loader__background {
stroke: var(--navds-loader-color-inverted-background);
}
.navds-loader--transparent .navds-loader__background {
stroke: var(--navds-loader-color-transparent-background);
}
.navds-loader--2xlarge {
width: 4rem;
}
.navds-loader--xlarge {
width: 2.5rem;
}
.navds-loader--large {
width: 2rem;
}
.navds-loader--medium {
width: 1.5rem;
}
.navds-loader--small {
width: 1.25rem;
}
.navds-loader--xsmall {
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);
}
}
@keyframes loader-dasharray {
0% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -120px;
}
}
@@ -1,18 +1,23 @@
:root {
--navds-modal-color-background: var(--navds-color-background);
--navds-modal-color-overlay: var(--navds-color-modal-overlay);
}
.ReactModal__Body--open {
overflow: hidden;
}
.navds-modal {
background-color: var(--navds-color-background);
background-color: var(--navds-modal-color-background);
border-radius: 4px;
display: block;
position: relative;
padding: var(--navds-spacing-4);
border-radius: 4px;
overflow: auto;
max-height: 100%;
z-index: var(--navds-z-index-modal-content);
top: 50%;
transform: translateY(-50%);
}
.navds-modal__content {
padding: var(--navds-spacing-4);
}
.navds-modal:focus,
@@ -23,13 +28,16 @@
.navds-modal__overlay {
position: fixed;
z-index: var(--navds-z-index-modal-overlay);
z-index: var(--navds-z-index-modal);
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: var(--navds-color-modal-overlay);
background-color: var(--navds-modal-color-overlay);
padding: var(--navds-spacing-4);
display: flex;
align-items: center;
justify-content: center;
}
.navds-modal__button--shake {
@@ -44,7 +52,7 @@
}
.navds-modal__button {
position: fixed;
position: absolute;
top: var(--navds-spacing-4);
right: var(--navds-spacing-4);
display: flex;
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-css",
"version": "0.6.14",
"version": "0.10.0",
"private": false,
"description": "Css for NAV Designsystem components",
"author": "NAV Designsystem team",
@@ -18,13 +18,13 @@
"main": "./dist/index.css",
"scripts": {
"build": "postcss --use postcss-import -o dist/index.css index.css",
"watch-css": "postcss -w --use postcss-import -o dist/index.css index.css"
"watch": "postcss --watch --use postcss-import -o dist/index.css index.css"
},
"devDependencies": {
"@navikt/ds-tokens": "^0.4.3",
"@navikt/ds-tokens": "^0.5.3",
"normalize.css": "^8.0.1",
"postcss": "^8.2.7",
"postcss": "^8.3.6",
"postcss-cli": "^8.3.1",
"postcss-import": "^14.0.0"
"postcss-import": "^14.0.2"
}
}
+70
View File
@@ -0,0 +1,70 @@
: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 {
display: flex;
justify-content: center;
background-color: var(--navds-page-header-color-background);
padding-top: 1.5rem;
padding-bottom: 1.5rem;
padding-left: calc((100vw - 100%) / 2);
padding-right: calc((100vw - 100%) / 2);
margin-left: calc((100vw - 100%) / -2);
margin-right: calc((100vw - 100%) / -2);
}
.navds-page-header__wrapper {
width: 100%;
max-width: 56.5rem;
text-align: start;
}
.navds-page-header__title {
display: flex;
margin: 0 auto;
width: 100%;
position: relative;
flex-direction: column;
}
.navds-page-header--left > .navds-page-header__wrapper {
text-align: start;
}
.navds-page-header--center > .navds-page-header__wrapper {
text-align: center;
}
.navds-page-header__illustration {
margin-right: 1.5rem;
pointer-events: none;
}
.navds-page-header__illustration > svg {
width: 5rem;
height: 5rem;
}
.navds-page-header--situation {
box-shadow: 0 -4px 0 var(--navds-page-header-color-shadow-situation) inset;
}
.navds-page-header--product {
box-shadow: 0 -4px 0 var(--navds-page-header-color-shadow-product) inset;
}
.navds-page-header--guide {
box-shadow: 0 -4px 0 var(--navds-page-header-color-shadow-guide) inset;
}
@media (max-width: 649px) {
.navds-page-header__illustration > svg {
width: 3rem;
height: 3rem;
}
.navds-page-header__title {
font-size: var(--navds-font-size-heading-xlarge);
}
}
+15
View File
@@ -0,0 +1,15 @@
:root {
--navds-panel-color-background: var(--navds-color-white);
--navds-panel-color-border: var(--navds-color-border);
}
.navds-panel {
background-color: var(--navds-panel-color-background);
padding: var(--navds-spacing-4);
border-radius: var(--navds-border-radius);
border: 1px solid transparent;
}
.navds-panel--border {
border-color: var(--navds-panel-color-border);
}
@@ -1,9 +1,20 @@
: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 {
z-index: var(--navds-z-index-popover-default);
background-color: var(--navds-color-background);
box-shadow: 0 0.05rem 0.25rem 0.125rem rgba(0, 0, 0, 0.08);
border: var(--navds-border-default);
border-radius: 2px;
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);
border: 1px solid;
border-color: var(--navds-popover-color-border);
border-radius: 4px;
}
.navds-popover__content {
padding: var(--navds-spacing-4);
}
.navds-popover--hidden {
@@ -16,22 +27,20 @@
}
.navds-popover__arrow {
z-index: var(--navds-z-index-popover-arrow);
z-index: -1;
}
.navds-popover__arrow::before {
content: "";
display: block;
content: "";
transform: rotate(45deg);
background-color: var(--navds-popover-color-background);
border: 1px solid;
border-color: var(--navds-popover-color-border);
width: 1rem;
height: 1rem;
transform: rotate(45deg);
background-color: var(--navds-color-background);
border: var(--navds-border-default);
}
.navds-popover__arrow::before .navds-popover--small {
width: 0.67rem;
height: 0.67rem;
top: 0;
left: 0;
}
.navds-popover[data-popper-placement^="top"] > .navds-popover__arrow {
+82
View File
@@ -0,0 +1,82 @@
: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-illustration-background: var(
--navds-color-gray-20
);
--navds-speechbubble-color-detail-text: var(--navds-color-gray-60);
}
.navds-speechbubble {
display: flex;
align-items: flex-end;
gap: var(--navds-spacing-4);
}
.navds-speechbubble--right {
flex-direction: row-reverse;
}
.navds-speechbubble__bubble-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--navds-spacing-3);
}
.navds-speechbubble--right .navds-speechbubble__bubble-list {
align-items: flex-end;
}
.navds-speechbubble__illustration {
align-items: center;
background: var(--navds-speechbubble-color-illustration-background);
color: var(--navds-speechbubble-color-illustration);
border-radius: 50%;
display: flex;
flex-shrink: 0;
justify-content: center;
overflow: hidden;
height: 3rem;
width: 3rem;
}
.navds-speechbubble__illustration svg {
align-self: center;
height: 100%;
width: 100%;
}
.navds-speechbubble__bubble {
padding: 1rem;
box-shadow: 0 2px 4px 0 var(--navds-speechbubble-color-shadow);
width: fit-content;
max-width: 37.5rem;
background-color: var(--navds-speechbubble-color-background);
border-radius: 12px;
border-bottom-left-radius: 2px;
display: flex;
flex-direction: column;
gap: var(--navds-spacing-2);
}
.navds-speechbubble__bubble:focus {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-speechbubble--right .navds-speechbubble__bubble {
border-radius: 12px;
border-bottom-right-radius: 2px;
}
.navds-speechbubble__top-text {
color: var(--navds-speechbubble-color-detail-text);
}
.navds-speechbubble--right .navds-speechbubble__top-text {
align-self: flex-end;
}
+28
View File
@@ -0,0 +1,28 @@
.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__cell {
display: table-cell;
padding: var(--navds-spacing-4);
text-align: left;
border-bottom: var(--navds-border-default);
}
.navds-table--small .navds-table__cell {
padding: var(--navds-spacing-2);
}
+54
View File
@@ -0,0 +1,54 @@
: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-warning-background: var(
--navds-color-tag-warning-background
);
--navds-tag-color-warning-border: var(--navds-color-tag-warning-border);
--navds-tag-color-success-background: var(
--navds-color-tag-success-background
);
--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 {
border: 1px solid;
border-color: var(--navds-tag-color-border);
border-radius: 4px;
background-color: var(--navds-tag-color-background);
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.125rem var(--navds-spacing-3);
min-height: 32px;
}
.navds-tag--small {
min-height: 24px;
padding-right: var(--navds-spacing-1);
padding-left: var(--navds-spacing-1);
}
.navds-tag--error {
background-color: var(--navds-tag-color-error-background);
border-color: var(--navds-tag-color-error-border);
}
.navds-tag--success {
background-color: var(--navds-tag-color-success-background);
border-color: var(--navds-tag-color-success-border);
}
.navds-tag--warning {
background-color: var(--navds-tag-color-warning-background);
border-color: var(--navds-tag-color-warning-border);
}
.navds-tag--info {
background-color: var(--navds-tag-color-info-background);
border-color: var(--navds-tag-color-info-border);
}
+167
View File
@@ -0,0 +1,167 @@
/* Heading */
.navds-heading {
font-weight: var(--navds-font-weight-bold);
margin: 0;
}
.navds-heading--2xlarge {
font-size: var(--navds-font-size-heading-2xlarge);
letter-spacing: -0.01em;
line-height: var(--navds-font-line-height-heading-2xlarge);
}
.navds-heading--2xlarge.navds-typo--spacing {
margin-bottom: var(--navds-spacing-5);
}
.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-medium);
letter-spacing: -0.002em;
line-height: var(--navds-font-line-height-heading-medium);
}
.navds-heading--medium.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
.navds-heading--small {
font-size: var(--navds-font-size-heading-small);
letter-spacing: -0.001em;
line-height: var(--navds-font-line-height-heading-small);
}
.navds-heading--small.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
.navds-heading--xsmall {
font-size: var(--navds-font-size-heading-xsmall);
letter-spacing: -0.001em;
line-height: var(--navds-font-line-height-heading-xsmall);
}
.navds-heading--xsmall.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
/* Ingress */
.navds-ingress {
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-xlarge);
margin: 0;
}
.navds-ingress.navds-typo--spacing {
margin-bottom: var(--navds-spacing-10);
}
/* Body */
.navds-body-long {
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-regular);
letter-spacing: 0;
line-height: var(--navds-font-line-height-xlarge);
margin: 0;
}
.navds-body-long.navds-typo--spacing {
margin-bottom: var(--navds-spacing-7);
}
.navds-body-long--small {
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-large);
}
.navds-body-long--small.navds-typo--spacing {
margin-bottom: var(--navds-spacing-6);
}
.navds-body-short {
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-regular);
letter-spacing: 0;
line-height: var(--navds-font-line-height-large);
margin: 0;
}
.navds-body-short.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
.navds-body-short--small {
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-medium);
}
.navds-body-short--small.navds-typo--spacing {
margin-bottom: var(--navds-spacing-2);
}
/* Label */
.navds-label {
font-size: var(--navds-font-size-large);
font-weight: var(--navds-font-weight-bold);
letter-spacing: 0;
line-height: var(--navds-font-line-height-large);
margin: 0;
}
.navds-label.navds-typo--spacing {
margin-bottom: var(--navds-spacing-3);
}
.navds-label--small {
font-size: var(--navds-font-size-medium);
letter-spacing: 0.002em;
line-height: var(--navds-font-line-height-medium);
}
.navds-label--small.navds-typo--spacing {
margin-bottom: var(--navds-spacing-2);
}
/* Small text */
.navds-detail {
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-medium);
margin: 0;
}
.navds-detail.navds-typo--spacing {
margin-bottom: var(--navds-spacing-2);
}
.navds-detail--small {
font-weight: var(--navds-font-weight-regular);
}
.navds-detail--small.navds-typo--spacing {
margin-bottom: var(--navds-spacing-2);
}
+2
View File
@@ -0,0 +1,2 @@
/src
/png
+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,
};
+28
View File
@@ -0,0 +1,28 @@
# @navikt/ds-icons
Leverer [NAVs ikoner](https://design.nav.no/resources/icons) i React og SVG.
## Installering
```sh
// yarn
yarn add @navikt/ds-icons
// npm
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)
+48
View File
@@ -0,0 +1,48 @@
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;
};
/**
* 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",
}
);
};
File diff suppressed because it is too large. Load diff
+57
View File
@@ -0,0 +1,57 @@
{
"name": "@navikt/ds-icons",
"version": "0.6.1",
"private": false,
"description": "NAVs egne ikoner i SVG og React format",
"repository": {
"type": "git",
"url": "git+https://github.com/navikt/nav-frontend-moduler/tree/master/%40navikt/ds-icons"
},
"keywords": [
"NAV",
"designsystem",
"react"
],
"license": "MIT",
"author": "NAV",
"sideEffects": false,
"main": "./cjs/index.js",
"module": "./esm/index.js",
"typings": "./esm/index.d.ts",
"files": [
"/cjs",
"/esm",
"/src",
"/svg",
"/meta.json"
],
"scripts": {
"create-package-json-pointers-to-esm": "node ../../../utilities/scripts/createPackageJsonsWithESMPointers.js",
"create-icons": "svgr --out-dir src svg",
"convert-icons": "node scripts/pngConverter.mjs",
"clean": "rimraf src cjs esm png NAV-ikonpakke-png.zip NAV-ikonpakke-svg.zip",
"zip-icons": "node scripts/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",
"update": "ts-node figma/index.ts dotenv/config"
},
"dependencies": {
"uuid": "^8.3.2"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0"
},
"devDependencies": {
"@svgr/cli": "^5.5.0",
"@types/lodash.startcase": "^4.4.6",
"@types/uuid": "^8.3.1",
"copyfiles": "^2.4.1",
"dotenv": "^10.0.0",
"lodash.kebabcase": "^4.1.1",
"lodash.startcase": "4.4.0",
"react": "^16.8.0 || ^17.0.0",
"rimraf": "3.0.2",
"sharp": "0.29.1",
"ts-node": "^10.4.0",
"zip-dir": "^2.0.0"
}
}
@@ -0,0 +1,23 @@
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
title="Åpne meny"
/>
```
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.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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="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.1503 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.06214 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"/>
</svg>
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.
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.
File renamed without changes.
Loaded 100 of 968 files, more files were not shown because too many files have changed in this diff. Show more