Compare commits

..
Author SHA1 Message Date
github-actions[bot] 7da8246ce3 Lerna versionbump [ci skip] 2022-08-26 09:45:49 +00:00
Ken 38bccf08eb [FIX] Minsket padding-right for Select 2022-08-26 11:32:21 +02:00
Ken ed817bf04c Fikset flikker og update-bug for popover (#1627)
* Test for fix i popover

* Lerna versionbump [ci skip]

* ryddet i testkode

* ryddet i testkode 2

* yarn lock

* Lerna versionbump [ci skip]

* yarn lock
2022-08-25 14:36:48 +02:00
Ken 4f8d6f8fa1 Update README.md 2022-08-24 09:25:52 +02:00
Ken d13b7b19c9 Update README.md 2022-08-24 09:21:17 +02:00
Ken 2e7535037c Update README.md 2022-08-24 08:51:35 +02:00
github-actions[bot] 5b8290e77e Lerna versionbump [ci skip] 2022-08-23 15:43:48 +00:00
Ken a19cad1bce [feature] reversert workflow comparator for release 2022-08-23 17:32:24 +02:00
Ken 8b8e59349b [feature] Fikset workflow for publisering (#1624) 2022-08-23 16:35:10 +02:00
Kai Erik SchierenandKai Erik Schieren f87d020db2 [feature] add closeOnSelect on dropdown (#1623)
Co-authored-by: Kai Erik Schieren <kschieren@Kais-MacBook-Pro.local>
2022-08-23 16:10:20 +02:00
Ken 91cb70c5a3 Fikset fixed versjonering (#1621) 2022-08-23 15:23:00 +02:00
Kai Erik Schieren eda041ec74 Update CONTRIBUTING.md (#1622) 2022-08-23 14:05:41 +02:00
Ken d875804d2b fikset versjoner 2022-08-22 15:17:16 +02:00
github-actions[bot] 6b77a04e12 Lerna versionbump [ci skip] 2022-08-22 13:02:35 +00:00
Tanet Trimas 3f18280557 [feature] Event ved lukking av dropdown (#1620) 2022-08-22 14:48:40 +02:00
github-actions[bot] 1b9c7b90ff Lerna versionbump [ci skip] 2022-08-18 08:05:45 +00:00
Ken 1ef6ebafd4 [FIX] Update readme 2022-08-18 09:55:28 +02:00
Ken 058969c0f0 Lerna versionbump [ci skip] 2022-08-18 08:57:56 +02:00
Ken 8f43b09205 Fikset errormessage docs 2022-08-18 08:57:39 +02:00
155c556fea Designsystemet v1.0.0 (#1535)
Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
Co-authored-by: Ken <ken.aleksander@gmail.com>
Co-authored-by: Martin Berglund <martin.berglund@nav.no>
Co-authored-by: larseirikhansen <71271458+larseirikhansen@users.noreply.github.com>
2022-08-18 08:15:21 +02:00
Ken 151ec81036 Pusset opp bug-reports 2022-08-17 10:39:37 +02:00
github-actions[bot] c5d52a4c9a Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.29
2022-08-17 08:25:30 +00:00
Ken 6ef57ee106 [FIX] Fikset Select issue ved bruk i Intern-header (#1616) 2022-08-17 10:12:24 +02:00
github-actions[bot] dd2167dab5 Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.27
 - @navikt/ds-react-internal@0.14.28
2022-08-11 08:44:24 +00:00
larseirikhansen 0c179d92af [fix] React modal style (#1615)
* version bump

* added custom styling to react modal

* use prop 'style' to avoid breaking changes

* update modal story
2022-08-11 10:32:41 +02:00
github-actions[bot] abace10750 Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.26
 - @navikt/ds-react-internal@0.14.27
2022-08-09 13:16:39 +00:00
Andreas Nordahl 03949990b1 [fix] bump radix-ui to 1.0 (#1613) 2022-08-09 15:04:23 +02:00
github-actions[bot] bdb777df0c Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.28
 - @navikt/ds-tailwind@0.2.9
 - @navikt/ds-tokens@0.9.8
2022-08-09 09:13:09 +00:00
Andreas Nordahl 5d2ed071e1 [fix] update lockfile (#1611) 2022-08-09 10:59:03 +02:00
Andreas Nordahl e152c92bf4 [fix] generate types for js tokens (#1610) 2022-08-09 10:42:31 +02:00
Ken 840b4dddd3 fjernet favikon for storybook 2022-07-18 10:39:15 +02:00
github-actions[bot] 136ab3aa97 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.20
 - @navikt/ds-react@0.19.25
 - @navikt/ds-react-internal@0.14.26
2022-07-18 08:21:56 +00:00
KenandKenAJoh 6b9ecd239a [FIX] Ikonsynk Figma (#1607)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-07-18 10:11:50 +02:00
github-actions[bot] 0b8f9a9d4b Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.24
 - @navikt/ds-react-internal@0.14.25
2022-07-15 12:32:56 +00:00
André Roaldseth 4611a9e806 [fix] Støtt React 18 via react-modal 3.15.1 (#1606) 2022-07-15 14:22:28 +02:00
Ken fe19e8390e [fix]react-modal reactv18 peerdep 2022-07-15 14:21:16 +02:00
Ken 9a91e9b3d2 oppdatert checkbox story 2022-07-11 13:01:47 +02:00
github-actions[bot] 147fb90550 Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.23
 - @navikt/ds-react-internal@0.14.24
2022-07-11 10:23:53 +00:00
Karl O 4007711cf3 [fix] export default illutration for guide panel (#1598) 2022-07-11 12:12:32 +02:00
github-actions[bot] c4259221c1 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.19
 - @navikt/ds-react@0.19.22
 - @navikt/ds-react-internal@0.14.23
2022-07-07 13:30:42 +00:00
KenandKenAJoh 45ffd93728 [FIX] Ikonsynk Figma (#1589)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-07-07 15:17:59 +02:00
Ken 346e45b153 GuidePanel illustrasjon kan brukes på samme måte som Ikoner (#1599) 2022-07-06 15:06:43 +02:00
github-actions[bot] 8f1e628f8d Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.27
 - @navikt/ds-react@0.19.21
 - @navikt/ds-react-internal@0.14.22
2022-07-06 12:03:37 +00:00
Ken 2807bc28e8 [fix] yarn lock 2022-07-06 13:49:57 +02:00
Andreas Nordahl 2c2db2e657 [fix] alert pixel perfect sync (#1594) 2022-07-06 13:40:05 +02:00
KenandAndreas Nordahl 2734b90d0f [FIX] La til errorId i checkbox-props (#1596)
* omit errorid

* la til errorId i checkbox props

* some unit tests

Co-authored-by: Andreas Nordahl <andnorda@gmail.com>
2022-07-06 13:38:48 +02:00
github-actions[bot] 88e8a71412 Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.20
 - @navikt/ds-react-internal@0.14.21
2022-07-06 07:59:40 +00:00
Karl O e1222ac0e1 [fix] accordion header submits forms (#1597) 2022-07-06 09:50:01 +02:00
github-actions[bot] 43251ae7c3 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.26
 - @navikt/ds-react@0.19.19
 - @navikt/ds-react-internal@0.14.20
2022-07-04 11:30:15 +00:00
Andreas Nordahl eeb9f5ab71 [fix] pixel perfect accordion sync (#1592) 2022-07-04 13:19:45 +02:00
github-actions[bot] c148d01d16 Lerna versionbump [ci skip]
- @navikt/ds-codemod@1.0.2
 - @navikt/ds-css@0.18.25
2022-07-04 09:13:20 +00:00
Andreas Nordahl c83c410078 [fix] read-more with two children (#1591) 2022-07-04 11:02:20 +02:00
Ken ef166f1184 Codemod for Pagination (#1590) 2022-07-01 13:40:01 +02:00
github-actions[bot] c1baf84e74 Lerna versionbump [ci skip]
- @navikt/ds-icons@0.8.18
 - @navikt/ds-react@0.19.18
 - @navikt/ds-react-internal@0.14.19
2022-06-30 15:07:26 +00:00
KenandKenAJoh 031a8dc639 [FIX] Ikonsynk Figma (#1588)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-06-30 16:57:08 +02:00
github-actions[bot] 31a37c5f70 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.24
2022-06-30 14:31:24 +00:00
Ken a353175d9c [FIX] Linkpanel spacing justering (#1587) 2022-06-30 16:21:56 +02:00
Ken 1800ef9dda Storybook html-plugin 2022-06-30 10:01:19 +02:00
Ken 1419955277 yarn lock 2022-06-30 09:53:01 +02:00
larseirikhansen ffdb9e1f4a flex: 'start' and 'end' have mixed support (#1585) 2022-06-30 09:36:15 +02:00
github-actions[bot] 0826fcf332 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.23
2022-06-29 12:28:48 +00:00
Ken b53acac3dc [FIX] Stepper postcss-warning hotfix (#1583) 2022-06-29 14:19:11 +02:00
github-actions[bot] c47048cc2d Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.22
 - @navikt/ds-react@0.19.17
 - @navikt/ds-react-internal@0.14.18
2022-06-29 12:03:17 +00:00
Ken 1fb51c159a [FIX] Search-komponent figma-synk (#1582) 2022-06-29 13:51:28 +02:00
github-actions[bot] 7596f3f5dc Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.21
 - @navikt/ds-tailwind@0.2.8
 - @navikt/ds-tokens@0.9.7
2022-06-29 09:46:48 +00:00
github-actions[bot]andKenAJoh 21179b08d7 [FIX] Tokens sync Figma (#1581)
Co-authored-by: KenAJoh <KenAJoh@users.noreply.github.com>
2022-06-29 11:35:26 +02:00
github-actions[bot] 4f437d4e15 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.20
 - @navikt/ds-react@0.19.16
 - @navikt/ds-react-internal@0.14.17
2022-06-29 09:29:56 +00:00
4aa0312095 [FIX] Stepper horizontal (#1507)
Co-authored-by: Martin Berglund <martin.berglund@nav.no>
Co-authored-by: Ken <ken.aleksander@gmail.com>
2022-06-29 11:20:35 +02:00
github-actions[bot] 15636896bd Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.19
 - @navikt/ds-react@0.19.15
 - @navikt/ds-react-internal@0.14.16
2022-06-28 09:54:00 +00:00
Ken 431864c317 [FIX] Search darkmode-token hotfix (#1579) 2022-06-28 11:43:33 +02:00
Ken 31098d64a8 [FIX] Select style hotfix (#1580) 2022-06-28 11:43:12 +02:00
github-actions[bot] 8a156988fc Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.18
2022-06-27 10:19:57 +00:00
Ken df704ee2ec [FIX] justify-self stretch for confirmation-panel (#1578) 2022-06-27 12:09:49 +02:00
github-actions[bot] 17f4c35e77 Lerna versionbump [ci skip]
- @navikt/ds-codemod@1.0.1
 - @navikt/ds-css@0.18.17
2022-06-27 09:49:57 +00:00
Ken 3a112a31ea [FIX] Oppdatert loader styling basert på figma (#1576) 2022-06-27 11:38:38 +02:00
Ken 3d12dba46b Update README.md 2022-06-24 08:37:03 +02:00
Ken 7a75d45c7e Tabs codemod (#1575) 2022-06-24 07:58:50 +02:00
Ken 279b61f5c1 Codemod for SpeechBubble -> Chat (#1574) 2022-06-22 11:34:39 +02:00
Ken c6c886184c Codemod-pakke for videreutvikling (#1573) 2022-06-21 19:36:43 +02:00
github-actions[bot] fe6bc395c2 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.16
2022-06-21 09:46:52 +00:00
Ken c8f8e59d78 [fix] fikset accordion bg 2022-06-21 11:27:44 +02:00
github-actions[bot] ef6c597021 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.15
 - @navikt/ds-react@0.19.14
 - @navikt/ds-tailwind@0.2.7
 - @navikt/ds-tokens@0.9.6
 - @navikt/ds-react-internal@0.14.15
2022-06-17 08:10:37 +00:00
Ken bc5df7f004 [FIX] Textarea hotfix 2022-06-17 09:57:51 +02:00
Ken 1fcc39c2aa [FIX] Fjernet gamle shadow-tokens (#1572) 2022-06-17 09:54:55 +02:00
github-actions[bot] 92febc6e0c Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.14
 - @navikt/ds-react@0.19.13
 - @navikt/ds-react-internal@0.14.14
2022-06-16 10:20:38 +00:00
Ken caa4a41df2 [FIX] Form-field styling (#1566) 2022-06-16 12:11:21 +02:00
github-actions[bot] e6dfbb7a4f Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.13
2022-06-16 10:02:35 +00:00
Ken d59f8970cc [FIX] updated readme 2022-06-16 11:52:19 +02:00
Ken d631913e77 fikset error-summary list-style 2022-06-16 11:30:43 +02:00
github-actions[bot] 28f994a757 Lerna versionbump [ci skip]
- @navikt/ds-react-internal@0.14.13
2022-06-16 09:05:07 +00:00
Ken e1b383122c [FIX] Placement på Dropdown.Menu (#1569) 2022-06-16 10:53:37 +02:00
github-actions[bot] f47cfdcb9e Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.12
 - @navikt/ds-react@0.19.12
 - @navikt/ds-react-internal@0.14.12
2022-06-15 13:46:56 +00:00
Ken dc3a09b0c0 [FIX] Fikset loader background-bleed + inverted-synk med Figma (#1565) 2022-06-15 15:37:47 +02:00
Ken 594a2df49b [FIX] Justert confirmation-panel for Figma-synk (#1564) 2022-06-15 15:37:16 +02:00
github-actions[bot] bf41d8f181 Lerna versionbump [ci skip]
- @navikt/ds-react@0.19.11
 - @navikt/ds-react-internal@0.14.11
2022-06-15 13:13:00 +00:00
Ken 0345b8d045 [FIX] Oppdatert Errorsummary for UU (#1563) 2022-06-15 15:03:02 +02:00
github-actions[bot] ff89d6e4e8 Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.11
2022-06-14 18:03:19 +00:00
Ken dea62ab969 [FIX] Errorsummary css justering (#1562) 2022-06-14 19:53:24 +02:00
Ken 25dbcce053 Flere storybook oppdateringer (#1561) 2022-06-14 13:21:50 +02:00
github-actions[bot] 3e0e9ad15c Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.10
 - @navikt/ds-react@0.19.10
 - @navikt/ds-react-internal@0.14.10
2022-06-14 08:24:26 +00:00
Ken bfd929a324 [FIX] Loader oppdatering (#1554) 2022-06-14 10:13:02 +02:00
Ken 50922a3206 Storybook update (#1560) 2022-06-14 09:45:25 +02:00
github-actions[bot] 2817353f8e Lerna versionbump [ci skip]
- @navikt/ds-css@0.18.9
2022-06-13 10:19:48 +00:00
Ken 1f3dca06d7 [FIX] Storybook updates, <Link>-ikon fix (#1555)
* helptext story

* popover stories

* panel story

* link story

* lint

* oppdatert link css

* modal story

* tag-story

* bedre modal og tag story

* yarn lock

* tester modal visning
2022-06-13 12:04:32 +02:00
348 changed files with 9129 additions and 8464 deletions

No files matched your search

+8 -9
View File
@@ -3,14 +3,13 @@ name: Bug Report
about: Meld inn bugs eller feil
title: "[BUG]"
labels: "bug \U0001F41B"
assignees: ''
assignees: ""
---
## Hvilken av tjenestene våre gjelder det?
## Hvilken løsning gjelder det?
<!--
Sett en x i type pakke det gjelder:
Sett en x i type løsning det gjelder:
- [x] type
-->
@@ -19,9 +18,9 @@ assignees: ''
- [ ] `Ikoner`
- [ ] `Annet`
## Beskriv feilen/problemet
## Hva er feilen/problemet?
<!--
<!--
> Beskriv hva slags problem(er) som oppstår
> Hva forventet du skulle oppstå?
@@ -31,7 +30,7 @@ assignees: ''
(skriv her.)
## Steg for å reprodusere problemet
## Steg for å reprodusere problemet (valgfri)
<!--
1. Steg en
@@ -41,11 +40,11 @@ assignees: ''
(skriv her.)
## Eksempel/Tilleggsinformasjon
## Eksempel/Tilleggsinformasjon (valgfri)
<!--
Screenshots eller kodesnippets
Legg gjerne ved ekstrainfo som nettleser, desktop/mobil etc
Legg gjerne ved ekstrainfo som nettleser eller desktop/mobil hvis det er relevant.
-->
```
+3 -3
View File
@@ -78,13 +78,13 @@ jobs:
- name: Update changed packages with PATCH
if: "contains(github.event.head_commit.message, '[fix]')"
run: yarn lerna version patch --include-merged-tags --yes
run: yarn lerna version patch --force-publish --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
run: yarn lerna version minor --force-publish --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
run: yarn lerna version major --force-publish --include-merged-tags --yes
- name: Publish to NPM registry
run: yarn lerna publish --no-verify-access from-package --yes
+5 -2
View File
@@ -2,9 +2,12 @@ name: Chromatic
on:
push:
branches: [master]
branches:
- master
pull_request:
branches: [master]
branches:
- master
- big-one-oh
jobs:
chromatic-pr:
-12
View File
@@ -1,12 +0,0 @@
import { Meta, Canvas } from "@storybook/addon-docs";
<Meta title="ds-react(deprecated)/intro" />
# Utdaterte pakker
På sikt vil komponentene under bli flyttet ut av ds-react eller erstattes av andre komponenter
- PageHeader -> @navikt/ds-react-navno
- MicroCard -> @navikt/ds-react-navno
- StepIndicator -> Horisontal `<Stepper />`
+2
View File
@@ -11,6 +11,7 @@ module.exports = {
};
return config;
},
staticDirs: ["./public"],
devServer: {
stats: "errors-only",
},
@@ -18,6 +19,7 @@ module.exports = {
addons: [
"@storybook/addon-docs",
"@storybook/addon-a11y",
"@whitespace/storybook-addon-html",
{
name: "@storybook/addon-storysource",
options: {
+6
View File
@@ -1,6 +1,12 @@
import { addons } from "@storybook/addons";
import NavTheme from "./theme.js";
/* import logoUrl from "./public/logo.svg"; */
addons.setConfig({
theme: NavTheme,
});
/* const link = document.createElement("link");
link.setAttribute("rel", "shortcut icon");
link.setAttribute("href", logoUrl);
document.head.appendChild(link); */
+38 -1
View File
@@ -7,10 +7,47 @@ export const parameters = {
options: {
storySort: {
method: "",
order: ["ds-icons", "ds-react", ["Default"]],
order: ["Intro", "ds-icons", "ds-react", ["form"], ["Default"]],
locales: "",
},
},
viewMode: "docs",
layout: "centered",
backgrounds: {
default: "Canvas",
values: [
{
name: "Canvas",
value: "#ffffff",
},
{
name: "Darkmode",
value: "#262626",
},
],
},
};
export const globalTypes = {
theme: {
name: "Theme",
description: "Global theme for components",
defaultValue: "light",
toolbar: {
icon: "circlehollow",
items: [
{ value: "light", icon: "circlehollow", title: "light" },
{ value: "dark", icon: "circle", title: "dark" },
],
showName: true,
},
},
};
export const withTheme = (StoryFn, context) => (
<div data-theme={context.parameters.theme || context.globals.theme}>
<StoryFn />
</div>
);
export const decorators = [withTheme];
+20
View File
@@ -0,0 +1,20 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="44"
height="44"
fill="none"
viewBox="0 0 44 44"
>
<path
fill="rgba(153, 196, 221, 1)"
fill-rule="evenodd"
d="M9.07 3.03A10.33 10.33 0 0 1 16.37 0h17.3C39.37 0 44 4.62 44 10.33v17.3c0 2.73-1.09 5.36-3.03 7.3l-6.04 6.04a10.33 10.33 0 0 1-7.3 3.03h-17.3C4.63 44 0 39.38 0 33.67v-17.3c0-2.73 1.09-5.36 3.03-7.3l6.04-6.04Z"
clip-rule="evenodd"
></path>
<path
fill="rgba(0, 36, 58, 1)"
fill-rule="evenodd"
d="M12.96 6.92a4.82 4.82 0 0 1 3.42-1.42h17.29a4.83 4.83 0 0 1 4.83 4.83v17.29a4.8 4.8 0 0 1-1.42 3.42l-.37.37-6.65 6.65a1.5 1.5 0 1 1-2.12-2.12l6.64-6.64v-.01c.72-.72.72-1.87 0-2.59L17.3 9.42a1.83 1.83 0 0 0-2.6 0l-6.64 6.64a1.5 1.5 0 1 1-2.12-2.12l7.02-7.02Zm22.54 3.41v13.05L20.62 8.5h13.05c1 0 1.83.82 1.83 1.83ZM20.06 26.06a1.5 1.5 0 0 0-2.12-2.12l-11 11a1.5 1.5 0 1 0 2.12 2.12l11-11Z"
clip-rule="evenodd"
></path>
</svg>

After

Width:  |  Height:  |  Size: 925 B

+16
View File
@@ -1,6 +1,22 @@
import { create } from "@storybook/theming";
/* import logoUrl from "./public/logo.svg"; */
export default create({
/* brandImage: process.env.NODE_ENV === "production" ? logoUrl : "/logo.svg", */
base: "light",
// Typography
fontBase: '"Source Sans Pro", sans-serif',
fontCode: "monospace",
// Text colors
textColor: "#262626",
textInverseColor: "rgba(255,255,255,0.9)",
colorSecondary: "rgba(0, 36, 58, 1)",
colorPrimary: "rgba(153, 196, 221, 1)",
barTextColor: "rgba(0, 91, 130, 1)",
barSelectedColor: "rgba(0, 36, 58, 1)",
brandTitle: "NAV Designsystem",
});
+44
View File
@@ -0,0 +1,44 @@
import { Meta, Canvas } from "@storybook/addon-docs";
<Meta title="Intro/Velkommen" />
# NAV designsystem
- [Dokumentasjon](https://aksel.nav.no/designsystem)
- [Komponenter](https://aksel.nav.no/designsystem/side/oversikt-komponenter)
## Kom i gang
### Kjernepakke
```bash
yarn add @navikt/ds-react @navikt/ds-css @navikt/ds-icons
```
### Pakke for interne-flater
```bash
yarn add @navikt/ds-react-internal @navikt/ds-css-internal
```
### Ikonpakke
```bash
yarn add @navikt/ds-icons
```
### Bruk
```jsx
import { Heading } from "@navikt/ds-react";
<Heading level="1" size="xlarge">
Sidetitel
</Heading>;
```
## Bidra
Hjelp oss med å forbedre designsystemet med feedback eller kode-hjelp
- [Kode](https://github.com/navikt/Designsystemet/tree/master/%40navikt)
+6
View File
@@ -0,0 +1,6 @@
*.d.ts
*.js
bin/*.js
*.js.map
!transforms/**/__testfixtures__/**/*.js
!jest.config.js
+106
View File
@@ -0,0 +1,106 @@
# NAV designsystem Codemods
Collection of Codemods for easier migration between breaking changes.
Highly inspired by both MUI and NEXT
- [NEXT](https://nextjs.org/docs/advanced-features/codemods)
- [MUI](https://github.com/mui/material-ui/tree/master/packages/mui-codemod)
## Usage
Codemod transformations runs code-transformations programmatically in your project. This helps when migrating lots of breaking changes without spending hours doing it manually.
NOTE: This codemod only supports fairly "default" usage of components. Components used with dynamic imports, styled-components, non-default imports (example `import * as DS from "@navikt/ds-react"` or `from "@navikt/ds-react/cjs"`) will not work as expected.
```javascript
npx @navikt/ds-codemod <transform> <path>
```
transform - name of transform, see available transforms below.
path - files or directory to transform
--dry Do a dry-run, no code will be edited
--print Prints the changed output for comparison
## Beta (0.19.x) -> v1.0.0
`npx @navikt/ds-codemod v1.0.0/preset src`
### preset
Combines all avaliable codemods for migrating from beta -> v1.0.0. This transform should only be ran once.
Includes these transforms
- v1.0.0/tabs
- v1.0.0/chat
- v1.0.0/pagination
### tabs
`npx @navikt/ds-codemod v1.0.0/tabs src`
```diff
<Tabs
defaultValue="logg"
onChange={(x) => console.log(x)}
- loop
+ iconPosition="left"
>
<Tabs.List
- loop
>
<Tabs.Tab
value="logg"
label="logg"
- iconPosition="left"
/>
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
</Tabs>
```
### chat
`npx @navikt/ds-codemodmod v1.0.0/chat src`
```diff
-<SpeechBubble
+<Chat
- illustration={<Illustration />}
- topText="Ola Normann 01.01.21 14:00"
- illustrationBgColor="blue"
+ avatar={<Illustration />}
+ name="Ola Normann 01.01.21 14:00"
+ avatarBgColor="blue"
backgroundColor="red"
>
- <SpeechBubble.Bubble>
+ <Chat.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
- </SpeechBubble.Bubble>
+ </Chat.Bubble>
-</SpeechBubble>
+</Chat>
```
### pagination
`npx @navikt/ds-codemod v1.0.0/pagination src`
This codemod should only be ran once, since the size-scale will keep decreasing for each subsequent iteration.
```diff
-<Pagiation />
+<Pagiation size="small"/>
-<Pagiation size="medium"/>
+<Pagiation size="small"/>
-<Pagiation size="small"/>
+<Pagiation size="xsmall"/>
```
## License
[MIT](https://github.com/navikt/Designsystemet/blob/master/LICENCE)
+203
View File
@@ -0,0 +1,203 @@
/**
* Copyright 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
// Based on https://github.com/reactjs/react-codemod/blob/dd8671c9a470a2c342b221ec903c574cf31e9f57/bin/cli.js
// @next/codemod optional-name-of-transform optional/path/to/src [...options]
import globby from "globby";
import inquirer from "inquirer";
import meow from "meow";
import path from "path";
import execa from "execa";
import chalk from "chalk";
import isGitClean from "is-git-clean";
export const jscodeshiftExecutable = require.resolve(".bin/jscodeshift");
export const transformerDirectory = path.join(__dirname, "../", "transforms");
export function checkGitStatus(force) {
let clean = false;
let errorMessage = "Unable to determine if git directory is clean";
try {
clean = isGitClean.sync(process.cwd());
errorMessage = "Git directory is not clean";
} catch (err) {
if (err && err.stderr && err.stderr.indexOf("Not a git repository") >= 0) {
clean = true;
}
}
if (!clean) {
if (force) {
console.log(`WARNING: ${errorMessage}. Forcibly continuing.`);
} else {
console.log("Thank you for using @navikt/ds-codemod");
console.log(
chalk.yellow(
"\nBut before we continue, please stash or commit your git changes."
)
);
console.log(
"\nYou may use the --force flag to override this safety check."
);
process.exit(1);
}
}
}
export function runTransform({ files, flags, transformer }) {
const transformerPath = path.join(transformerDirectory, `${transformer}.js`);
let args = [];
const { dry, print, runInBand } = flags;
if (dry) {
args.push("--dry");
}
if (print) {
args.push("--print");
}
if (runInBand) {
args.push("--run-in-band");
}
args.push("--verbose=2");
args.push("--ignore-pattern=**/node_modules/**");
args.push("--extensions=tsx,ts,jsx,js");
args.push("--parser=tsx");
args = args.concat(["--transform", transformerPath]);
if (flags.jscodeshift) {
args = args.concat(flags.jscodeshift);
}
args = args.concat(files);
console.log(`Executing command: jscodeshift ${args.join(" ")}`);
const result = execa.sync(jscodeshiftExecutable, args, {
stdio: "inherit",
stripFinalNewline: false,
});
if (result.failed) {
throw new Error(`jscodeshift exited with code ${result.exitCode}`);
}
}
const TRANSFORMER_INQUIRER_CHOICES = [
{
name: "v1.0.0/preset: Runs all codemods for beta to v1 migration",
value: "v1.0.0/preset",
},
{
name: "v1.0.0/pagination: Fixes breaking API-changes from <Pagination /> component",
value: "v1.0.0/pagination",
},
{
name: "v1.0.0/tabs: Fixes breaking API-changes from <Tabs /> component",
value: "v1.0.0/tabs",
},
{
name: "v1.0.0/chat: Fixes breaking API-changes from <SpeechBubble /> (now <Chat/>) component",
value: "v1.0.0/chat",
},
];
function expandFilePathsIfNeeded(filesBeforeExpansion) {
const shouldExpandFiles = filesBeforeExpansion.some((file) =>
file.includes("*")
);
return shouldExpandFiles
? globby.sync(filesBeforeExpansion)
: filesBeforeExpansion;
}
export function run() {
const cli = meow({
description: "Codemods for updating @navikt/ds-* packages",
help: `
Usage
$ npx @navikt/codemod <transform> <path> <...options>
transform One of the choices from <link-here>
path Files or directory to transform. Can be a glob like pages/**.js
Options
--force Bypass Git safety checks and forcibly run codemods
--dry Dry run (no changes are made to files)
--print Print transformed files to your terminal
--jscodeshift (Advanced) Pass options directly to jscodeshift
`,
flags: {
boolean: ["force", "dry", "print", "help"],
string: ["_"],
alias: {
h: "help",
},
},
} as meow.Options<meow.AnyFlags>);
if (!cli.flags.dry) {
checkGitStatus(cli.flags.force);
}
if (
cli.input[0] &&
!TRANSFORMER_INQUIRER_CHOICES.find((x) => x.value === cli.input[0])
) {
console.error("Invalid transform choice, pick one of:");
console.error(
TRANSFORMER_INQUIRER_CHOICES.map((x) => "- " + x.value).join("\n")
);
process.exit(1);
}
inquirer
.prompt([
{
type: "input",
name: "files",
message: "On which files or directory should the codemods be applied?",
when: !cli.input[1],
default: ".",
// validate: () =>
filter: (files) => files.trim(),
},
{
type: "list",
name: "transformer",
message: "Which transform would you like to apply?",
when: !cli.input[0],
pageSize: TRANSFORMER_INQUIRER_CHOICES.length,
choices: TRANSFORMER_INQUIRER_CHOICES,
},
])
.then((answers) => {
const { files, transformer } = answers;
const filesBeforeExpansion = cli.input[1] || files;
const filesExpanded = expandFilePathsIfNeeded([filesBeforeExpansion]);
const selectedTransformer = cli.input[0] || transformer;
if (!filesExpanded.length) {
console.log(
`No files found matching ${filesBeforeExpansion.join(" ")}`
);
return null;
}
return runTransform({
files: filesExpanded,
flags: cli.flags,
transformer: selectedTransformer,
});
});
}
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/env node
/**
* Copyright 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
// Based on https://github.com/reactjs/react-codemod/blob/dd8671c9a470a2c342b221ec903c574cf31e9f57/bin/react-codemod.js
// next-codemod optional-name-of-transform optional/path/to/src [...options]
require("./cli").run();
+8
View File
@@ -0,0 +1,8 @@
const customJestConfig = {
testMatch: ["**/__tests__/**/*.js"],
verbose: true,
rootDir: "./transforms",
};
// createJestConfig is exported in this way to ensure that next/jest can load the Next.js config which is async
module.exports = customJestConfig;
+55
View File
@@ -0,0 +1,55 @@
{
"name": "@navikt/ds-codemod",
"version": "1.2.2",
"description": "NAV designsystem codemods",
"author": "NAV Designsystem team",
"license": "MIT",
"keywords": [
"react",
"codemod",
"jscodeshift"
],
"files": [
"transforms/**/*.js",
"bin/*.js",
"lib/**/*.js",
"lib/cra-to-next/gitignore"
],
"scripts": {
"build": "tsc -p tsconfig.json",
"dev": "tsc --watch -p tsconfig.json",
"test": "jest",
"test:watch": "jest --watch"
},
"bin": "./bin/ds-codemod.js",
"repository": {
"type": "git",
"url": "git+https://github.com/navikt/Designsystemet.git",
"directory": "@navikt/codemod"
},
"homepage": "https://github.com/navikt/Designsystemet/tree/master/@navikt/codemod",
"dependencies": {
"chalk": "4.1.0",
"cheerio": "1.0.0-rc.9",
"execa": "4.0.3",
"globby": "11.0.1",
"inquirer": "7.3.3",
"is-git-clean": "1.1.0",
"jest": "^27.5.0",
"jscodeshift": "0.13.1",
"jscodeshift-add-imports": "1.0.10",
"meow": "7.0.1"
},
"devDependencies": {
"@types/jscodeshift": "0.11.5",
"@types/react": "^18.0.0",
"typescript": "^4.7.2"
},
"sideEffects": false,
"engines": {
"node": ">=12.0.0"
},
"publishConfig": {
"access": "public"
}
}
@@ -0,0 +1,8 @@
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<SpeechBubble illustration={<Illustration />}>
<div />
</SpeechBubble>
);
};
@@ -0,0 +1,8 @@
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<SpeechBubble avatar={<Illustration />}>
<div />
</SpeechBubble>
);
};
@@ -0,0 +1,24 @@
export {};
jest.autoMockOff();
const defineTest = require("jscodeshift/dist/testUtils").defineTest;
const tests = [
{
fixture: "rename",
options: {
component: "SpeechBubble",
from: "illustration",
to: "avatar",
},
},
];
for (const test of tests) {
defineTest(
__dirname,
"rename-prop",
test.options,
`rename-prop/${test.fixture}`
);
}
+18
View File
@@ -0,0 +1,18 @@
import renameProps from "./utils/rename-props";
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
export default function transformer(file, api, options) {
const j = api.jscodeshift;
const root = j(file.source);
const printOptions = options.printOptions;
return renameProps({
root,
componentName: options.component,
props: { [options.from]: options.to },
}).toSource(printOptions);
}
@@ -0,0 +1,12 @@
export default function renameProps({ root, componentName, props }) {
return root.findJSXElements(componentName).forEach((path) => {
path.node.openingElement.attributes.forEach((node) => {
if (
node.type === "JSXAttribute" &&
Object.keys(props).includes(node.name.name)
) {
node.name.name = props[node.name.name];
}
});
});
}
@@ -0,0 +1,26 @@
import { SpeechBubble, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<SpeechBubble
illustration={<Illustration />}
topText="Ola Normann 01.01.21 14:00"
backgroundColor="red"
illustrationBgColor="blue"
{...testProps}
>
<SpeechBubble.Bubble {...testProps}>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
labore nisi ut.
</SpeechBubble.Bubble>
</SpeechBubble>
);
};
@@ -0,0 +1,26 @@
import { Chat, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<Chat
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
{...testProps}
>
<Chat.Bubble {...testProps}>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</Chat.Bubble>
<Chat.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</Chat.Bubble>
<Chat.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
labore nisi ut.
</Chat.Bubble>
</Chat>
);
};
@@ -0,0 +1,25 @@
import { Chat, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<Chat
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<Chat.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</Chat.Bubble>
<Chat.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</Chat.Bubble>
<Chat.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
labore nisi ut.
</Chat.Bubble>
</Chat>
);
};
@@ -0,0 +1,25 @@
import { Chat, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<Chat
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<Chat.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</Chat.Bubble>
<Chat.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</Chat.Bubble>
<Chat.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
labore nisi ut.
</Chat.Bubble>
</Chat>
);
};
@@ -0,0 +1,44 @@
import { SpeechBubble, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<div>
<SpeechBubble
illustration={<Illustration />}
topText="Ola Normann 01.01.21 14:00"
backgroundColor="red"
illustrationBgColor="blue"
>
<SpeechBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</SpeechBubble.Bubble>
</SpeechBubble>
<SpeechBubble
illustration={<Illustration />}
topText="Ola Normann 01.01.21 14:00"
backgroundColor="red"
illustrationBgColor="blue"
>
<SpeechBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</SpeechBubble.Bubble>
<SpeechBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</SpeechBubble.Bubble>
</SpeechBubble>
</div>
);
};
@@ -0,0 +1,44 @@
import { Chat, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<div>
<Chat
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<Chat.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</Chat.Bubble>
<Chat.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</Chat.Bubble>
<Chat.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</Chat.Bubble>
</Chat>
<Chat
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<Chat.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</Chat.Bubble>
<Chat.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</Chat.Bubble>
<Chat.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</Chat.Bubble>
</Chat>
</div>
);
};
@@ -0,0 +1,44 @@
import { SpeechBubble as DsBubble, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<div>
<DsBubble
illustration={<Illustration />}
topText="Ola Normann 01.01.21 14:00"
backgroundColor="red"
illustrationBgColor="blue"
>
<DsBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</DsBubble.Bubble>
<DsBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</DsBubble.Bubble>
<DsBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</DsBubble.Bubble>
</DsBubble>
<DsBubble
illustration={<Illustration />}
topText="Ola Normann 01.01.21 14:00"
backgroundColor="red"
illustrationBgColor="blue"
>
<DsBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</DsBubble.Bubble>
<DsBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</DsBubble.Bubble>
<DsBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</DsBubble.Bubble>
</DsBubble>
</div>
);
};
@@ -0,0 +1,44 @@
import { Chat as DsBubble, Button } from "@navikt/ds-react";
/* eslint-disable react/jsx-no-undef */
export const Page = () => {
return (
<div>
<DsBubble
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<DsBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</DsBubble.Bubble>
<DsBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</DsBubble.Bubble>
<DsBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</DsBubble.Bubble>
</DsBubble>
<DsBubble
avatar={<Illustration />}
name="Ola Normann 01.01.21 14:00"
backgroundColor="red"
avatarBgColor="blue"
>
<DsBubble.Bubble>
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
</DsBubble.Bubble>
<DsBubble.Bubble>
Eu fugiat esse fugiat Lorem culpa nulla mollit tempor incididunt aute
do.
</DsBubble.Bubble>
<DsBubble.Bubble>
Adipisicing laborum est eu laborum est sit in commodo enim sint
laboris labore nisi ut.
</DsBubble.Bubble>
</DsBubble>
</div>
);
};
@@ -0,0 +1,18 @@
import { Pagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<Pagination
size="small"
onPageChange={setPage}
data-version="v1"
{...testProps}
/>
<Pagination size="small" onPageChange={setPage} data-version="v1" />
<Pagination size="xsmall" onPageChange={setPage} data-version="v1" />
<Pagination onPageChange={setPage} />
<Pagination size="small" onPageChange={setPage} />
</div>
);
};
@@ -0,0 +1,18 @@
import { Pagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<Pagination
size="small"
onPageChange={setPage}
data-version="v1"
{...testProps}
/>
<Pagination size="small" onPageChange={setPage} data-version="v1" />
<Pagination size="xsmall" onPageChange={setPage} data-version="v1" />
<Pagination size="small" onPageChange={setPage} data-version="v1" />
<Pagination size="xsmall" onPageChange={setPage} data-version="v1" />
</div>
);
};
@@ -0,0 +1,11 @@
import { Pagination as DsPagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<DsPagination onPageChange={setPage} />
<DsPagination size="medium" onPageChange={setPage} />
<DsPagination size="small" onPageChange={setPage} />
</div>
);
};
@@ -0,0 +1,11 @@
import { Pagination as DsPagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<DsPagination size="small" onPageChange={setPage} data-version="v1" />
<DsPagination size="small" onPageChange={setPage} data-version="v1" />
<DsPagination size="xsmall" onPageChange={setPage} data-version="v1" />
</div>
);
};
@@ -0,0 +1,11 @@
import { Pagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<Pagination onPageChange={setPage} />
<Pagination size="medium" onPageChange={setPage} />
<Pagination size="small" onPageChange={setPage} />
</div>
);
};
@@ -0,0 +1,11 @@
import { Pagination, Button } from "@navikt/ds-react";
export const Demo = () => {
return (
<div>
<Pagination size="small" onPageChange={setPage} data-version="v1" />
<Pagination size="small" onPageChange={setPage} data-version="v1" />
<Pagination size="xsmall" onPageChange={setPage} data-version="v1" />
</div>
);
};
@@ -0,0 +1,25 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<div>
<Tabs defaultValue="logg" onChange={(x) => console.log(x)} {...testProps}>
<Tabs.List loop={false} {...testProps}>
<Tabs.Tab value="logg" iconPosition={props.left} label="logg" {...testProps}/>
<Tabs.Tab value="logg2" iconPosition="top" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
<Tabs defaultValue="logg" onChange={(x) => console.log(x)}>
<Tabs.List>
<Tabs.Tab value="logg" label="logg" />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
</div>
);
};
@@ -0,0 +1,30 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<div>
<Tabs
defaultValue="logg"
onChange={(x) => console.log(x)}
{...testProps}
loop={false}
iconPosition={props.left}>
<Tabs.List {...testProps}>
<Tabs.Tab value="logg" label="logg" {...testProps} />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
<Tabs defaultValue="logg" onChange={(x) => console.log(x)}>
<Tabs.List>
<Tabs.Tab value="logg" label="logg" />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
</div>
);
};
@@ -0,0 +1,19 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<Tabs
defaultValue="logg"
onChange={(x) => console.log(x)}
loop
iconPosition="left">
<Tabs.List>
<Tabs.Tab value="logg" label="logg" />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
);
};
@@ -0,0 +1,19 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<Tabs
defaultValue="logg"
onChange={(x) => console.log(x)}
loop
iconPosition="left">
<Tabs.List>
<Tabs.Tab value="logg" label="logg" />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
);
};
@@ -0,0 +1,15 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<Tabs defaultValue="logg" onChange={(x) => console.log(x)}>
<Tabs.List loop>
<Tabs.Tab value="logg" iconPosition="left" label="logg" />
<Tabs.Tab value="logg2" iconPosition="top" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
);
};
@@ -0,0 +1,19 @@
import { Tabs } from "@navikt/ds-react";
const TabComp = () => {
return (
/* prettier-ignore */
<Tabs
defaultValue="logg"
onChange={(x) => console.log(x)}
loop
iconPosition="left">
<Tabs.List>
<Tabs.Tab value="logg" label="logg" />
<Tabs.Tab value="logg2" label="logg2medlangtekst" />
</Tabs.List>
<Tabs.Panel value="logg">TabPanel for Logg-tab</Tabs.Panel>
<Tabs.Panel value="logg2">TabPanel for Inbox-tab</Tabs.Panel>
</Tabs>
);
};
@@ -0,0 +1,10 @@
export {};
jest.autoMockOff();
const defineTest = require("jscodeshift/dist/testUtils").defineTest;
const tests = ["props", "complete", "idempotent", "renamed"];
for (const test of tests) {
defineTest(__dirname, "chat", null, `chat/${test}`);
}
@@ -0,0 +1,10 @@
export {};
jest.autoMockOff();
const defineTest = require("jscodeshift/dist/testUtils").defineTest;
const tests = ["size", "import", "idempotent"];
for (const test of tests) {
defineTest(__dirname, "pagination", null, `pagination/${test}`);
}
@@ -0,0 +1,10 @@
export {};
jest.autoMockOff();
const defineTest = require("jscodeshift/dist/testUtils").defineTest;
const tests = ["props", "idempotent", "complete"];
for (const test of tests) {
defineTest(__dirname, "tabs", null, `tabs/${test}`);
}
+68
View File
@@ -0,0 +1,68 @@
import renameProps from "../utils/rename-props";
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
export default function transformer(file, api, options) {
const j = api.jscodeshift;
let localName = "SpeechBubble";
const root = j(file.source);
/* Finds and replaces import from SpeechBubble -> Chat */
root
.find(j.ImportDeclaration)
.filter((path) => path.node.source.value === "@navikt/ds-react")
.forEach((imp) => {
imp.value.specifiers.forEach((x) => {
if (x.imported.name === "SpeechBubble") {
if (x.local.name !== x.imported.name) {
localName = x.local.name;
x.imported.name = "Chat";
} else {
x.imported.name = "Chat";
x.local.name = "Chat";
}
}
});
});
if (!!j(file.source).findJSXElements(localName)) {
renameProps({
root,
componentName: localName,
props: {
illustrationBgColor: "avatarBgColor",
illustration: "avatar",
topText: "name",
},
});
/* Find and replace name of all <SpeechBubble />*/
const compRoot = root.find(j.JSXElement, {
openingElement: { name: { name: localName } },
});
compRoot.forEach((x) => {
if (localName !== "SpeechBubble") return;
x.node.openingElement.name.name = "Chat";
x.node.closingElement.name.name = "Chat";
});
/* Need to handle dot-notations differently */
const child = root.find(j.JSXElement);
child.forEach((x) => {
if (
x.value.openingElement.name.type === "JSXMemberExpression" &&
x.value.openingElement.name.object.name === "SpeechBubble"
) {
x.value.openingElement.name.object.name = "Chat";
x.value.closingElement.name.object.name = "Chat";
}
});
}
return root.toSource(options.printOptions);
}
@@ -0,0 +1,83 @@
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
export default function transformer(file, api, options) {
const j = api.jscodeshift;
let localName = "Pagination";
const root = j(file.source);
function addMigrationTag(node) {
const attributes = node.openingElement.attributes;
const isMigrated = attributes.find(
(node) =>
node.type === "JSXAttribute" &&
node.name.name === "data-version" &&
node.value.value === "v1"
);
if (!isMigrated) {
attributes.push(
j.jsxAttribute(j.jsxIdentifier("data-version"), j.literal("v1"))
);
}
}
/* https://github.com/mui/material-ui/blob/master/packages/mui-codemod/src/v5.0.0/variant-prop.js */
function addExplicitStandardProp(node) {
const attributes = node.openingElement.attributes;
const variant = attributes.find(
(node) => node.type === "JSXAttribute" && node.name.name === "size"
);
if (!variant) {
attributes.unshift(
j.jsxAttribute(j.jsxIdentifier("size"), j.literal("small"))
);
addMigrationTag(node);
}
}
/* Finds locally used name for Pagination */
root
.find(j.ImportDeclaration)
.filter((path) => path.node.source.value === "@navikt/ds-react")
.forEach((imp) => {
imp.value.specifiers.forEach((x) => {
if (
x.imported.name === "Pagination" &&
x.local.name !== x.imported.name
) {
localName = x.local.name;
}
});
});
if (!!j(file.source).findJSXElements(localName)) {
root.findJSXElements(`${localName}`).forEach((parent) => {
const skip = !!parent.value.openingElement?.attributes.find(
(x) => x.name.name === "data-version" && x.value.value === "v1"
);
parent.value.openingElement?.attributes.forEach((x, index) => {
let didUpdate = false;
if (x.name?.name === "size" && x.type === "JSXAttribute" && !skip) {
/* addExplicitStandardProp */
if (x.value.value === "medium") {
x.value = j.literal("small");
didUpdate = true;
} else if (x.value.value === "small") {
x.value = j.literal("xsmall");
didUpdate = true;
}
didUpdate && addMigrationTag(parent.value);
}
});
addExplicitStandardProp(parent.value);
});
}
return root.toSource(options.printOptions);
}
@@ -0,0 +1,15 @@
import transformTabs from "./tabs";
import transformChat from "./chat";
import transformPagination from "./pagination";
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
export default function transformer(file, api, options) {
file.source = transformTabs(file, api, options);
file.source = transformChat(file, api, options);
file.source = transformPagination(file, api, options);
return file.source;
}
+83
View File
@@ -0,0 +1,83 @@
import renameProps from "../utils/rename-props";
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
export default function transformer(file, api, options) {
const j = api.jscodeshift;
let localName = "Tabs";
let iconPositionProp = null;
const root = j(file.source);
/* Finds used name for Tabs component */
root
.find(j.ImportDeclaration)
.filter((path) => path.node.source.value === "@navikt/ds-react")
.forEach((imp) => {
imp.value.specifiers.forEach((x) => {
if (x.imported.name === "Tabs" && x.local.name !== x.imported.name) {
localName = x.local.name;
}
});
});
if (!!j(file.source).findJSXElements(localName)) {
renameProps({
root,
componentName: `${localName}.List`,
props: {
loop: "null",
},
});
root.findJSXElements(`${localName}`).forEach((parent) => {
parent.value.children.forEach((el) => {
const openingEl = el.openingElement;
if (openingEl?.name && openingEl.name.type === "JSXMemberExpression") {
if (
openingEl.name.object.name === localName &&
openingEl.name.property.name === "List"
) {
/* Move loop-prop */
el.openingElement.attributes.forEach((x, index) => {
if (x.name?.name === "loop" && x.type === "JSXAttribute") {
parent.value.openingElement.attributes.push(x);
delete el.openingElement.attributes[index];
}
});
/* Find and move iconPosition-prop to <Tabs/> */
el.children.forEach((tab) => {
const tabEl = tab.openingElement;
if (tabEl?.name && tabEl.name.type === "JSXMemberExpression") {
if (
tabEl.name.object.name === localName &&
tabEl.name.property.name === "Tab"
) {
tabEl?.attributes.forEach((x, index) => {
if (
x.name?.name === "iconPosition" &&
x.type === "JSXAttribute"
) {
if (!iconPositionProp) {
iconPositionProp = x;
}
delete tabEl.attributes[index];
}
});
}
}
});
}
}
});
iconPositionProp &&
parent.value.openingElement.attributes.push(iconPositionProp);
iconPositionProp = null;
});
}
return root.toSource(options.printOptions);
}
+14
View File
@@ -0,0 +1,14 @@
{
"compilerOptions": {
"module": "commonjs",
"sourceMap": false,
"esModuleInterop": true,
"target": "es2015",
"downlevelIteration": true,
"preserveWatchOutput": true,
"declaration": false,
"types": ["@types/jscodeshift", "node", "jest"]
},
"include": ["**/*.ts"],
"exclude": ["node_modules", "dist", "jest.config.js"]
}
+50
View File
@@ -0,0 +1,50 @@
# NAV designsystem styling
CSS-package containing design for @navikt/ds-react and more.
- All our tokens (Colors, border, shadows etc)
- Component-styling for `@navikt/ds-react` packages
- Normalize.css v8
- Fonts
## Installation
Install `@navikt/ds-css` with yarn
```bash
yarn add @navikt/ds-css
```
Install `@navikt/ds-css` with npm
```bash
npm install @navikt/ds-css
```
## Usage
You can import these styles once to make it accessible in your entire project. Typically you will add the following line to your root .js or .ts files.
```javascript
import "@navikt/ds-css";
function App() {
return <Component />;
}
```
But you can also import it in a .css-file like this
```css
@import "@navikt/ds-css";
```
## Learn more
- [Designsystem documentation](https://aksel.nav.no/designsystem)
- [Storybook](https://master--5f801fb2aea7820022de2936.chromatic.com/)
- [ds-react README](https://github.com/navikt/Designsystemet/blob/master/%40navikt/core/react/README.md)
## License
[MIT](https://github.com/navikt/Designsystemet/blob/master/LICENCE)
+16 -32
View File
@@ -1,15 +1,9 @@
:root {
--navds-accordion-color-text: var(--navds-semantic-color-text);
--navds-accordion-color-background: var(
---navds-semantic-color-component-background-light
);
--navds-accordion-color-text-hover: var(--navds-semantic-color-link);
--navds-accordion-color-border: var(--navds-semantic-color-border-muted);
--navds-accordion-color-border-hover: var(
--navds-accordion-color-text-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-accordion-color-text-open: var(--navds-semantic-color-text);
--navds-accordion-color-text-open-hover: var(
--navds-accordion-color-border: var(--navds-semantic-color-border);
--navds-accordion-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-accordion-color-background-open: var(
@@ -17,14 +11,6 @@
);
}
.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__item:focus-within {
position: relative;
}
@@ -33,9 +19,9 @@
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--navds-spacing-4);
padding: var(--navds-spacing-4) var(--navds-spacing-3);
align-items: flex-start;
gap: var(--navds-spacing-2);
padding: 14px var(--navds-spacing-3) var(--navds-spacing-3);
margin: 0;
text-align: left;
background: transparent;
@@ -54,20 +40,18 @@
border-color: var(--navds-accordion-color-border-hover);
}
.navds-accordion__item--open > .navds-accordion__header {
background-color: var(--navds-accordion-color-background-open);
color: var(--navds-accordion-color-text-open);
border-color: transparent;
.navds-accordion__header-content {
overflow: hidden;
text-overflow: ellipsis;
}
.navds-accordion__item--open > .navds-accordion__header:hover {
border-color: transparent;
color: var(--navds-accordion-color-text-open-hover);
.navds-accordion__item--open > .navds-accordion__header {
background-color: var(--navds-accordion-color-background-open);
border-color: var(--navds-accordion-color-background-open);
}
.navds-accordion__content {
color: var(--navds-accordion-color-text);
padding: var(--navds-spacing-5) var(--navds-spacing-3) var(--navds-spacing-10);
padding: var(--navds-spacing-3) var(--navds-spacing-3) 18px;
border-bottom: 2px solid var(--navds-accordion-color-border);
}
@@ -79,12 +63,12 @@
}
.navds-accordion__expand-icon {
width: 1.5rem;
height: 1.5rem;
font-size: 1.5rem;
height: 1.75rem;
flex-shrink: 0;
}
.navds-accordion__expand-icon--flip {
.navds-accordion__item--open .navds-accordion__expand-icon {
transform: rotateZ(180deg);
}
+2 -8
View File
@@ -33,19 +33,13 @@
}
.navds-alert--small {
padding: var(--navds-spacing-2);
gap: var(--navds-spacing-2);
padding: var(--navds-spacing-2) var(--navds-spacing-4);
}
.navds-alert--full-width {
border-radius: 0;
}
.navds-alert--full-width.navds-alert--small {
padding-right: var(--navds-spacing-4);
padding-left: var(--navds-spacing-4);
}
.navds-alert > .navds-alert__icon {
flex-shrink: 0;
font-size: 1.5rem;
@@ -80,6 +74,6 @@
.navds-alert--inline {
background-color: transparent;
border-color: transparent;
border: none;
padding: 0;
}
+5 -1
View File
@@ -43,9 +43,13 @@ a {
color: var(--navds-semantic-color-link);
}
button {
color: inherit;
}
/* https://web.dev/prefers-reduced-motion/ */
@media (prefers-reduced-motion: reduce) {
*,
*:not(.navds-loader *):not(.navds-loader),
::before,
::after {
animation-delay: -1ms !important;
+48 -24
View File
@@ -94,11 +94,9 @@
);
/* Secondary */
--navds-button-color-secondary-text: var(--navds-global-color-blue-200);
--navds-button-color-secondary-text-hover: var(--navds-global-color-blue-200);
--navds-button-color-secondary-text-active: var(
--navds-global-color-blue-200
);
--navds-button-color-secondary-text: var(--navds-global-color-white);
--navds-button-color-secondary-text-hover: var(--navds-global-color-white);
--navds-button-color-secondary-text-active: var(--navds-global-color-white);
--navds-button-color-secondary-border: var(--navds-global-color-blue-200);
--navds-button-color-secondary-border-focus-active-hover: var(
--navds-semantic-color-text
@@ -107,10 +105,10 @@
--navds-semantic-color-component-background-inverted
);
--navds-button-color-secondary-background-hover: var(
--navds-global-color-blue-900
--navds-global-color-gray-800
);
--navds-button-color-secondary-background-active: var(
--navds-global-color-blue-800
--navds-global-color-gray-700
);
}
@@ -118,24 +116,35 @@
display: inline-flex;
cursor: pointer;
margin: 0;
text-align: center;
text-decoration: none;
border: none;
background: none;
border-radius: var(--navds-border-radius-small);
min-width: 48px;
padding: var(--navds-spacing-3);
padding: var(--navds-spacing-3) var(--navds-spacing-5);
align-items: center;
justify-content: center;
gap: var(--navds-spacing-2);
}
.navds-button--small {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
min-width: 32px;
padding: 0.375rem var(--navds-spacing-3);
}
.navds-button--xsmall {
padding: 0.125rem 0.375rem;
min-width: 24px;
padding: 0.125rem var(--navds-spacing-2);
gap: var(--navds-spacing-1);
}
.navds-button--icon-only {
padding: var(--navds-spacing-3);
}
.navds-button--small.navds-button--icon-only {
padding: 0.375rem;
}
.navds-button--xsmall.navds-button--icon-only {
padding: var(--navds-spacing-1);
}
.navds-button:focus {
@@ -143,22 +152,37 @@
box-shadow: var(--navds-shadow-focus);
}
.navds-button__inner {
margin: auto;
display: flex;
align-items: center;
gap: var(--navds-spacing-2);
}
.navds-button__icon {
--navds-button-icon-adjustment: -4px;
.navds-button svg {
font-size: 1.5rem;
display: flex;
}
.navds-button--small svg,
.navds-button--xsmall svg {
.navds-button__icon:first-child {
margin-left: var(--navds-button-icon-adjustment);
}
.navds-button__icon:last-child {
margin-right: var(--navds-button-icon-adjustment);
}
.navds-button__icon:only-child {
margin: 0;
}
.navds-button--small .navds-button__icon {
--navds-button-icon-adjustment: -2px;
font-size: 1.25rem;
}
.navds-button--xsmall .navds-button__icon {
--navds-button-icon-adjustment: -2px;
font-size: 1rem;
}
/*************************
* .navds-button--primary *
*************************/
-55
View File
@@ -1,55 +0,0 @@
:root {
--navds-card-micro-color-text: var(--navds-semantic-color-text);
--navds-card-micro-color-background: var(--navds-global-color-orange-200);
--navds-card-micro-color-border: transparent;
--navds-card-micro-color-text-hover: var(--navds-semantic-color-link);
--navds-card-micro-color-background-hover: var(
--navds-semantic-color-component-background-light
);
--navds-card-micro-color-border-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-card-micro-color-text-focus: var(--navds-semantic-color-link);
--navds-card-micro-color-background-focus: var(
--navds-semantic-color-component-background-light
);
--navds-card-micro-color-shadow-focus: var(--navds-semantic-color-focus);
--navds-card-micro-color-background-active: var(
--navds-semantic-color-interaction-primary
);
--navds-card-micro-color-text-active: var(
--navds-semantic-color-text-inverted
);
}
/*
MicroCard
*/
.navds-card__micro {
border-radius: var(--navds-border-radius-full);
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);
}
+90
View File
@@ -0,0 +1,90 @@
:root {
--navds-chat-color-background: var(--navds-semantic-color-canvas-background);
--navds-chat-color-avatar: var(--navds-semantic-color-text);
--navds-chat-color-avatar-background: var(
--navds-semantic-color-canvas-background
);
}
.navds-chat {
display: flex;
align-items: flex-end;
gap: var(--navds-spacing-4);
padding-right: var(--navds-spacing-16);
}
.navds-chat--right {
flex-direction: row-reverse;
padding-right: 0;
padding-left: var(--navds-spacing-16);
}
.navds-chat__bubble-wrapper {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--navds-spacing-3);
}
.navds-chat--right .navds-chat__bubble-wrapper {
align-items: flex-end;
}
.navds-chat__avatar {
align-items: center;
background: var(--navds-chat-color-avatar-background);
color: var(--navds-chat-color-avatar);
border-radius: var(--navds-border-radius-full);
display: flex;
flex-shrink: 0;
justify-content: center;
overflow: hidden;
height: 3rem;
width: 3rem;
}
.navds-chat__avatar svg {
align-self: center;
height: 100%;
width: 100%;
}
.navds-chat__bubble {
padding: 1rem;
box-shadow: var(--navds-shadow-small);
width: fit-content;
max-width: 37.5rem;
background-color: var(--navds-chat-color-background);
border-radius: var(--navds-border-radius-xlarge);
border-bottom-left-radius: 2px;
display: flex;
flex-direction: column;
gap: var(--navds-spacing-2);
}
.navds-chat__bubble:focus {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-chat--right .navds-chat__bubble {
border-radius: var(--navds-border-radius-xlarge);
border-bottom-right-radius: 2px;
}
.navds-chat__top-text {
color: var(--navds-semantic-color-text-muted);
display: flex;
gap: var(--navds-spacing-2);
align-items: baseline;
}
.navds-chat--right .navds-chat__top-text {
align-self: flex-end;
}
.navds-chat__name {
font-weight: var(--navds-font-weight-bold);
}
+7 -66
View File
@@ -5,6 +5,9 @@
--navds-confirmation-panel-color-background-checked: var(
--navds-global-color-green-50
);
--navds-confirmation-panel-color-background-error: var(
--navds-global-color-red-50
);
--navds-confirmation-panel-color-border: var(
--navds-semantic-color-feedback-warning-border
);
@@ -12,48 +15,26 @@
--navds-semantic-color-feedback-success-border
);
--navds-confirmation-panel-color-border-error: var(
--navds-semantic-color-feedback-danger-background
);
--navds-confirmation-panel-color-background-error: var(
--navds-global-color-red-50
);
--navds-confirmation-panel-color-checkbox-background-checked-hover: var(
--navds-global-color-green-700
);
--navds-confirmation-panel-color-checkbox-border-checked-hover: var(
--navds-global-color-green-700
);
--navds-confirmation-panel-color-checkbox-background-checked: var(
--navds-global-color-green-500
);
--navds-confirmation-panel-color-checkbox-border-checked: var(
--navds-semantic-color-feedback-success-border
);
--navds-confirmation-panel-color-checkbox-label-checked: var(
--navds-semantic-color-text
--navds-semantic-color-feedback-danger-border
);
}
.navds-confirmation-panel__inner {
display: flex;
flex-direction: column;
gap: var(--navds-spacing-4);
gap: var(--navds-spacing-3);
padding: var(--navds-spacing-4);
border-radius: var(--navds-border-radius-medium);
border: 1px solid var(--navds-confirmation-panel-color-border);
background-color: var(--navds-confirmation-panel-color-background);
transition: background-color linear 100ms;
justify-self: stretch;
}
.navds-confirmation-panel__content {
max-width: 80ch;
}
.navds-confirmation-panel--small .navds-confirmation-panel__inner {
padding: var(--navds-spacing-3);
gap: var(--navds-spacing-2);
}
.navds-confirmation-panel--checked .navds-confirmation-panel__inner {
background-color: var(--navds-confirmation-panel-color-background-checked);
border-color: var(--navds-confirmation-panel-color-border-checked);
@@ -61,45 +42,5 @@
.navds-confirmation-panel--error .navds-confirmation-panel__inner {
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: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
}
.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: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMCI+ICAgIDxnPiAgICA8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNCwxMGMtMC40LDAtMC44LTAuMS0xLjEtMC40TDAuNCw3LjFDMC4xLDYuOCwwLDYuNCwwLDZzMC4yLTAuOCwwLjUtMS4xQzEsNC40LDIsNC40LDIuNSw0LjlMNCw2LjRsNi40LTYgICAgQzEwLjgsMC4xLDExLjEsMCwxMS41LDBjMC40LDAsMC44LDAuMiwxLDAuNWMwLjYsMC42LDAuNSwxLjYtMC4xLDIuMXYwTDUsOS42QzQuNyw5LjksNC40LDEwLDQsMTB6IE0xMS44LDEuOUwxMS44LDEuOSAgICBDMTEuOCwxLjksMTEuOCwxLjksMTEuOCwxLjl6IE0xMS4yLDEuMUMxMS4yLDEuMSwxMS4yLDEuMSwxMS4yLDEuMUwxMS4yLDEuMXoiLz4gICAgPC9nPjwvc3ZnPg==);
border-color: var(--navds-confirmation-panel-color-border-error);
}
+13 -5
View File
@@ -9,12 +9,12 @@
.navds-error-summary {
background-color: var(--navds-error-summary-color-background);
padding: var(--navds-spacing-4);
padding: var(--navds-spacing-5);
border: 4px solid var(--navds-error-summary-color-border);
}
.navds-error-summary--small {
padding: var(--navds-spacing-2);
padding: var(--navds-spacing-3);
}
.navds-error-summary:focus {
@@ -23,12 +23,20 @@
}
.navds-error-summary__list {
margin: 1rem 0;
margin: var(--navds-spacing-3) 0;
display: flex;
flex-direction: column;
gap: 0.25rem;
gap: var(--navds-spacing-3);
padding-left: var(--navds-spacing-6);
list-style: inherit;
}
.navds-error-summary__list > * {
color: var(--navds-global-color-blue-500);
}
.navds-error-summary--small > .navds-error-summary__list {
margin: 0.5rem 0;
margin: var(--navds-spacing-2) 0;
gap: var(--navds-spacing-2);
padding-left: var(--navds-spacing-5);
}
+15 -7
View File
@@ -1,12 +1,11 @@
.navds-form-field > :not(:first-child):not(:empty),
.navds-form-field > input:not(:first-child) {
margin-top: var(--navds-spacing-2);
.navds-form-field {
display: grid;
justify-items: start;
gap: var(--navds-spacing-2);
}
/* Applied when hideLabel is applied to form-element */
.navds-form-field > .navds-sr-only + :not(:first-child):not(:empty),
.navds-form-field > .navds-sr-only + input:not(:first-child) {
margin-top: 0;
.navds-form-field__description {
margin-top: -4px;
}
.navds-form-field .navds-error-message,
@@ -19,3 +18,12 @@
.navds-fieldset .navds-error-message::before {
content: "•";
}
.navds-form-field--disabled {
opacity: 0.3;
cursor: not-allowed;
}
.navds-form-field__error:empty {
display: none;
}
-8
View File
@@ -3,9 +3,6 @@
--navds-semantic-color-component-background-light
);
--navds-radio-checkbox-color-text: var(--navds-semantic-color-text);
--navds-radio-checkbox-color-description: var(
--navds-semantic-color-text-muted
);
--navds-radio-checkbox-color-background-hover: var(
--navds-semantic-color-interaction-primary-hover-subtle
);
@@ -75,11 +72,6 @@
gap: var(--navds-spacing-1);
}
.navds-checkbox__description,
.navds-radio__description {
color: var(--navds-radio-checkbox-color-description);
}
.navds-checkbox--small > .navds-checkbox__input,
.navds-radio--small > .navds-radio__input {
width: 32px;
+13
View File
@@ -6,6 +6,7 @@
--navds-semantic-color-interaction-primary
);
--navds-search-color-clear-hover: var(--navds-global-color-blue-500);
--navds-search-color-border-error: var(--navds-global-color-red-500);
}
[data-theme="dark"] {
@@ -13,6 +14,7 @@
--navds-search-color-border: var(--navds-semantic-color-border-inverted);
--navds-search-color-border-hover: var(--navds-global-color-blue-200);
--navds-search-color-clear-hover: var(--navds-global-color-blue-200);
--navds-search-color-border-error: var(--navds-global-color-red-300);
}
.navds-search {
@@ -150,6 +152,17 @@
box-shadow: 0 0 0 1px white inset, var(--navds-shadow-focus);
}
/* Error-handling */
.navds-search--error .navds-search__input:not(:hover):not(:disabled) {
border-color: var(--navds-search-color-border-error);
box-shadow: inset 0 0 0 1px var(--navds-search-color-border-error);
}
.navds-search--error .navds-search__input:focus:not(:hover):not(:disabled) {
box-shadow: inset 0 0 0 1px var(--navds-search-color-border-error),
var(--navds-shadow-focus);
}
/* Focus layering */
.navds-search__input:focus,
.navds-search__button-clear,
+2 -9
View File
@@ -16,7 +16,6 @@
--navds-select-color-background-disabled: var(
--navds-semantic-color-component-background-alternate
);
--navds-select-color-text-disabled: var(--navds-semantic-color-text);
}
.navds-select__input {
@@ -30,7 +29,7 @@
display: inline-block;
position: relative;
padding: 0.5rem;
padding-right: 2.5rem;
padding-right: 2rem;
}
.navds-select__input:hover {
@@ -47,6 +46,7 @@
display: flex;
width: 100%;
align-items: center;
color: var(--navds-semantic-color-text);
}
.navds-select__chevron {
@@ -70,13 +70,6 @@
border-color: var(--navds-select-color-border-error);
}
/*
Disabled handling
*/
.navds-select--disabled {
opacity: 0.3;
}
.navds-select__input:disabled {
background-color: var(--navds-select-color-background);
border-color: var(--navds-select-color-border);
-4
View File
@@ -72,10 +72,6 @@
padding: 0.75rem 0 0.75rem 3.25rem;
}
.navds-switch__description {
color: var(--navds-semantic-color-text-muted);
}
.navds-switch--right > .navds-switch__label-wrapper > .navds-switch__content {
padding: 0.75rem 3.25rem 0.75rem 0;
}
+5 -11
View File
@@ -27,7 +27,7 @@
[data-theme="dark"] {
--navds-text-field-color-text: var(--navds-semantic-color-text-inverted);
--navds-text-field-color-background: var(
--navds-semantic-color-component-background-dark
--navds-semantic-color-component-background-inverted
);
--navds-text-field-color-border: var(--navds-semantic-color-border-inverted);
--navds-text-field-color-border-hover: var(--navds-global-color-blue-200);
@@ -45,6 +45,10 @@
color: var(--navds-text-field-color-text);
}
.navds-text-field__input[size] {
width: auto;
}
.navds-text-field__input::placeholder {
color: var(--navds-text-field-color-placeholder-text);
}
@@ -54,10 +58,6 @@
min-height: 32px;
}
.navds-form-field--small > .navds-text-field__description:not(:empty) {
margin-top: var(--navds-spacing-1);
}
.navds-text-field__input:hover {
border-color: var(--navds-text-field-color-border-hover);
}
@@ -87,7 +87,6 @@
border-color: var(--navds-text-field-color-border);
box-shadow: none;
cursor: not-allowed;
opacity: 0.3;
}
.navds-text-field__input[readonly] {
@@ -97,11 +96,6 @@
cursor: not-allowed;
}
.navds-text-field--disabled > .navds-text-field__label,
.navds-text-field--disabled > .navds-text-field__description {
opacity: 0.3;
}
/**
* Removes default search icon
*/
+1 -8
View File
@@ -37,7 +37,7 @@
resize: none;
width: 100%;
display: block;
min-height: 48px;
color: var(--navds-text-field-color-text);
}
.navds-textarea--counter {
@@ -89,13 +89,6 @@
border-color: var(--navds-textarea-color-border-error);
}
/*
Disabled handling
*/
.navds-textarea--disabled {
opacity: 0.3;
}
.navds-textarea__input:disabled {
background-color: var(--navds-textarea-color-background);
border-color: var(--navds-textarea-color-border);
+19 -11
View File
@@ -15,7 +15,6 @@
--navds-help-text-color-shadow-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-help-text-color-shadow-focus: var(--navds-semantic-color-focus);
--navds-help-text-color-popover-background: var(
--navds-semantic-color-feedback-info-background
);
@@ -35,27 +34,36 @@
font-size: 1.5rem;
}
.navds-help-text__button:hover {
color: var(--navds-help-text-color-hover);
background: var(--navds-help-text-color-background-hover);
box-shadow: 0 0 0 2px var(--navds-help-text-color-shadow-hover);
}
.navds-help-text__button:focus {
outline: none;
color: var(--navds-help-text-color-focus);
background: var(--navds-help-text-color-background-focus);
box-shadow: 0 0 0 3px var(--navds-help-text-color-shadow-focus);
box-shadow: 0 0 0 1px var(--navds-global-color-white),
0 0 0 4px var(--navds-semantic-color-focus);
}
.navds-help-text__icon {
border-radius: var(--navds-border-radius-full);
}
.navds-help-text__popover > .navds-popover__arrow::before {
.navds-help-text__popover > .navds-popover__arrow {
background-color: var(--navds-help-text-color-popover-background);
}
.navds-help-text__popover.navds-popover {
background-color: var(--navds-help-text-color-popover-background);
--navds-popover-color-border: rgba(38 38 38 / 0.22);
}
.navds-help-text__icon--filled {
display: none;
}
.navds-help-text__button:where(:hover, :focus, [aria-expanded="true"])
> .navds-help-text__icon {
display: none;
}
.navds-help-text__button:where(:hover, :focus, [aria-expanded="true"])
> .navds-help-text__icon--filled {
display: inherit;
}
+1 -7
View File
@@ -7,12 +7,12 @@
@import "alert.css";
@import "button.css";
@import "content-container.css";
@import "chat.css";
@import "guide-panel.css";
@import "form/index.css";
@import "help-text.css";
@import "link.css";
@import "loader.css";
@import "menu.css";
@import "modal.css";
@import "pagination.css";
@import "popover.css";
@@ -22,12 +22,6 @@
@import "panel.css";
@import "link-panel.css";
@import "read-more.css";
@import "speech-bubble.css";
@import "step-indicator.css";
@import "stepper.css";
@import "table.css";
@import "tabs.css";
/* Navno spesific packages */
@import "page-header.css";
@import "card.css";
+3 -3
View File
@@ -12,7 +12,7 @@
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--navds-spacing-2);
gap: var(--navds-spacing-4);
}
.navds-link-panel:hover .navds-link-panel__title {
@@ -21,7 +21,7 @@
}
.navds-link-panel:hover {
box-shadow: var(--navds-shadow-card);
box-shadow: var(--navds-shadow-medium);
border-color: var(--navds-link-panel-color-border-hover);
}
@@ -42,5 +42,5 @@
}
.navds-link-panel__description {
margin-top: var(--navds-spacing-2);
margin-top: var(--navds-spacing-1);
}
+1 -5
View File
@@ -48,10 +48,6 @@
}
.navds-link svg {
color: var(--navds-link-color-icon);
color: inherit;
flex-shrink: 0;
}
.navds-link:focus svg {
color: var(--navds-link-color-icon-focus);
}
+35 -10
View File
@@ -1,16 +1,12 @@
:root {
--navds-loader-color-foreground: var(--navds-global-color-gray-400);
--navds-loader-color-background: var(
--navds-semantic-color-component-background-alternate
);
--navds-loader-color-background: rgb(0 0 0 / 0.05);
--navds-loader-color-neutral-foreground: var(--navds-global-color-gray-400);
--navds-loader-color-interaction-foreground: var(
--navds-semantic-color-interaction-primary
--navds-global-color-blue-500
);
--navds-loader-color-inverted-foreground: var(
--navds-semantic-color-component-background-light
);
--navds-loader-color-inverted-background: rgb(255 255 255 / 0.3);
--navds-loader-color-inverted-foreground: var(--navds-global-color-white);
--navds-loader-color-inverted-background: rgb(255 255 255 / 0.25);
--navds-loader-color-transparent-background: transparent;
}
@@ -18,11 +14,14 @@
width: 1.5rem;
display: inline-block;
position: relative;
animation: loader-rotate 1.4s linear infinite;
animation: loader-rotate 1.8s linear infinite;
stroke-width: 6;
--navds-loader-background-stroke-width: 5.9;
}
.navds-loader__foreground {
animation: loader-dasharray 1.4s ease-in-out infinite;
animation: loader-dasharray 1.8s ease-in-out infinite;
stroke-dasharray: 80px, 200px;
stroke-dashoffset: 0;
stroke: var(--navds-loader-color-foreground);
@@ -30,6 +29,7 @@
.navds-loader__background {
stroke: var(--navds-loader-color-background);
stroke-width: var(--navds-loader-background-stroke-width);
}
.navds-loader--neutral .navds-loader__foreground {
@@ -52,28 +52,53 @@
stroke: var(--navds-loader-color-transparent-background);
}
.navds-loader--3xlarge {
width: 5.5rem;
stroke-width: 5;
--navds-loader-background-stroke-width: 4.8;
}
.navds-loader--2xlarge {
width: 4rem;
stroke-width: 6;
--navds-loader-background-stroke-width: 5.8;
}
.navds-loader--xlarge {
width: 2.5rem;
stroke-width: 6;
--navds-loader-background-stroke-width: 5.8;
}
.navds-loader--large {
width: 2rem;
stroke-width: 7;
--navds-loader-background-stroke-width: 6.8;
}
.navds-loader--medium {
width: 1.5rem;
stroke-width: 7;
--navds-loader-background-stroke-width: 6.8;
}
.navds-loader--small {
width: 1.25rem;
stroke-width: 8;
--navds-loader-background-stroke-width: 7.8;
}
.navds-loader--xsmall {
width: 1rem;
stroke-width: 8;
--navds-loader-background-stroke-width: 7.8;
}
@keyframes loader-rotate {
-102
View File
@@ -1,102 +0,0 @@
:root {
--navds-menu-color-text: var(--navds-semantic-color-link);
--navds-menu-color-text-hover: var(--navds-semantic-color-text);
--navds-menu-color-text-focus: var(--navds-semantic-color-text);
--navds-menu-color-background-hover: var(--navds-global-color-blue-50);
--navds-menu-color-text-active: var(--navds-semantic-color-text);
--navds-menu-outline-focus: var(--navds-semantic-color-focus);
}
.navds-menu__list {
list-style: none;
margin: 0;
padding: 0;
padding: 0 0.5rem;
}
.navds-menu__list--inner {
padding: 0;
}
.navds-menu-collapse__button {
cursor: pointer;
background-color: transparent;
border: none;
font: inherit;
text-align: inherit;
margin: 0;
width: 100%;
justify-content: space-between;
align-items: center;
font-weight: var(--navds-font-weight-bold);
color: var(--navds-menu-color-text);
}
.navds-menu-item,
.navds-menu-collapse__button {
font-weight: var(--navds-font-weight-bold);
display: flex;
padding: var(--navds-spacing-3) var(--navds-spacing-2);
text-decoration: none;
}
.navds-menu-item:focus,
.navds-menu-collapse__button:focus {
outline: 3px solid var(--navds-menu-outline-focus);
outline-offset: -3px;
color: var(--navds-menu-color-text-focus);
}
.navds-menu-collapse__button:focus > .navds-menu-collapse__expand-icon {
color: var(--navds-menu-color-focus);
}
.navds-menu-item:hover,
.navds-menu-collapse__button:hover {
background-color: var(--navds-menu-color-background-hover);
color: var(--navds-menu-color-text-hover);
}
.navds-menu-item--active {
box-shadow: -0.5rem 0 var(--navds-semantic-color-link);
color: var(--navds-menu-color-text-active);
text-decoration: none;
}
/* Collapse icon */
.navds-menu-collapse__expand-icon {
font-size: 1.5rem;
flex-shrink: 0;
margin-left: var(--navds-spacing-2);
}
.navds-menu-collapse__expand-icon--filled,
.navds-menu-collapse__button:hover > .navds-menu-collapse__expand-icon {
display: none;
}
.navds-menu-collapse__button:hover > .navds-menu-collapse__expand-icon--filled {
display: block;
}
.navds-menu-collapse--open
> .navds-menu-collapse__button
> .navds-menu-collapse__expand-icon {
transform: rotate(180deg);
}
/* Nesting levels */
.navds-menu__list[data-depth="1"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="1"] .navds-menu-item {
padding-left: var(--navds-spacing-6);
}
.navds-menu__list[data-depth="2"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="2"] .navds-menu-item {
padding-left: var(--navds-spacing-10);
}
.navds-menu__list[data-depth="3"] .navds-menu-collapse__button,
.navds-menu__list[data-depth="3"] .navds-menu-item {
padding-left: var(--navds-spacing-14);
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-css",
"version": "0.18.8",
"version": "1.2.2",
"description": "Css for NAV Designsystem components",
"author": "NAV Designsystem team",
"keywords": [
@@ -20,7 +20,7 @@
"watch": "postcss --watch --use postcss-import -o dist/index.css index.css"
},
"devDependencies": {
"@navikt/ds-tokens": "^0.9.5",
"@navikt/ds-tokens": "^1.2.2",
"normalize.css": "^8.0.1",
"postcss": "^8.3.6",
"postcss-cli": "^8.3.1",
-76
View File
@@ -1,76 +0,0 @@
:root {
--navds-page-header-color-background: var(
--navds-semantic-color-component-background-light
);
--navds-page-header-color-shadow-situation: var(
--navds-global-color-orange-400
);
--navds-page-header-color-shadow-product: var(--navds-global-color-green-400);
--navds-page-header-color-shadow-guide: var(
--navds-global-color-deepblue-400
);
}
.navds-page-header {
display: flex;
justify-content: center;
background-color: var(--navds-page-header-color-background);
padding: 1.5rem 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: left;
}
.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: left;
}
.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);
}
}
+18 -72
View File
@@ -1,25 +1,12 @@
:root {
--navds-pagination-color-background-hover: var(
--navds-semantic-color-canvas-background
);
--navds-pagination-color-background-active: var(
--navds-semantic-color-interaction-primary-selected
);
--navds-pagination-color-text-active: var(
--navds-semantic-color-text-inverted
);
--navds-pagination-color-background-selected: var(
--navds-semantic-color-interaction-primary
--navds-semantic-color-interaction-primary-selected
);
--navds-pagination-color-text-selected: var(
--navds-semantic-color-text-inverted
);
}
.navds-pagination {
display: flex;
}
.navds-pagination__list {
margin: 0;
padding: 0;
@@ -32,89 +19,48 @@
display: flex;
align-items: center;
justify-content: center;
width: var(--navds-spacing-8);
width: var(--navds-spacing-12);
cursor: default;
}
.navds-pagination--small .navds-pagination__ellipsis {
width: var(--navds-spacing-8);
}
.navds-pagination--xsmall .navds-pagination__ellipsis {
width: var(--navds-spacing-6);
}
.navds-pagination__item {
display: flex;
cursor: pointer;
margin: 0;
text-decoration: none;
border: none;
background: none;
border-radius: var(--navds-border-radius-small);
padding: var(--navds-spacing-1) var(--navds-spacing-3);
color: var(--navds-semantic-color-text);
}
.navds-pagination--small .navds-pagination__item {
padding: 2px var(--navds-spacing-2);
}
.navds-pagination__item:hover {
background-color: var(--navds-pagination-color-background-hover);
}
.navds-pagination__item:active {
background-color: var(--navds-pagination-color-background-active);
color: var(--navds-pagination-color-text-active);
}
.navds-pagination__item:focus {
box-shadow: inset 0 0 0 2px var(--navds-semantic-color-focus),
inset 0 0 0 3px white;
outline: none;
.navds-pagination--medium .navds-pagination__item {
border-radius: var(--navds-border-radius-medium);
}
.navds-pagination__item[aria-current="true"] {
background-color: var(--navds-pagination-color-background-selected);
color: var(--navds-pagination-color-text-selected);
font-weight: var(--navds-font-weight-bold);
}
.navds-pagination__item[aria-current="true"]:focus {
box-shadow: inset 0 0 0 1px var(--navds-button-color-tertiary-border-active),
var(--navds-shadow-focus);
}
.navds-pagination__prev-next {
display: flex;
cursor: pointer;
margin: 0;
padding: 0;
border: none;
background: none;
text-decoration: underline;
color: var(--navds-semantic-color-link);
align-items: center;
gap: var(--navds-spacing-1);
border-radius: var(--navds-border-radius-small);
}
.navds-pagination__prev-next:focus {
outline: none;
box-shadow: inset 0 0 0 2px var(--navds-semantic-color-focus);
.navds-pagination--small .navds-pagination__prev-next {
padding: 0.375rem;
}
.navds-pagination__prev-next:disabled {
cursor: not-allowed;
opacity: 0.3;
}
.navds-pagination__prev-next-icon {
margin: 7px;
}
.navds-pagination--small .navds-pagination__prev-next-icon {
margin: var(--navds-spacing-1);
font-size: 1rem;
}
.navds-pagination__next-text {
padding-left: 0.75rem;
}
.navds-pagination__prev-text {
padding-right: 0.75rem;
.navds-pagination--xsmall .navds-pagination__prev-next {
padding: 0.125rem;
}
.navds-pagination--invisible {
+6 -28
View File
@@ -8,7 +8,7 @@
.navds-popover {
z-index: var(--navds-z-index-popover);
background-color: var(--navds-popover-color-background);
box-shadow: var(--navds-shadow-popover);
box-shadow: var(--navds-shadow-medium);
border: 1px solid;
border-color: var(--navds-popover-color-border);
border-radius: var(--navds-border-radius-medium);
@@ -28,55 +28,33 @@
}
.navds-popover__arrow {
position: absolute;
z-index: -1;
}
.navds-popover__arrow::before {
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;
top: 0;
left: 0;
}
.navds-popover[data-popper-placement^="top"] > .navds-popover__arrow {
bottom: calc(1rem / -2);
}
.navds-popover[data-popper-placement^="top"] > .navds-popover__arrow::before {
.navds-popover[data-placement^="top"] > .navds-popover__arrow {
border-left-color: transparent;
border-top-color: transparent;
}
.navds-popover[data-popper-placement^="bottom"] > .navds-popover__arrow {
top: calc(1rem / -2);
}
/* prettier-ignore */
.navds-popover[data-popper-placement^="bottom"] > .navds-popover__arrow::before {
.navds-popover[data-placement^="bottom"] > .navds-popover__arrow {
border-bottom-color: transparent;
border-right-color: transparent;
}
.navds-popover[data-popper-placement^="left"] > .navds-popover__arrow {
right: calc(1rem / -2);
}
.navds-popover[data-popper-placement^="left"] > .navds-popover__arrow::before {
.navds-popover[data-placement^="left"] > .navds-popover__arrow {
border-left-color: transparent;
border-bottom-color: transparent;
}
.navds-popover[data-popper-placement^="right"] > .navds-popover__arrow {
left: calc(1rem / -2);
}
.navds-popover[data-popper-placement^="right"] > .navds-popover__arrow::before {
.navds-popover[data-placement^="right"] > .navds-popover__arrow {
border-right-color: transparent;
border-top-color: transparent;
}
+21 -32
View File
@@ -1,11 +1,11 @@
.navds-read-more {
.navds-read-more__button {
cursor: pointer;
margin: 0;
border: none;
background: none;
display: flex;
align-items: center;
gap: var(--navds-spacing-2);
align-items: flex-start;
gap: 0.125rem;
color: var(--navds-semantic-color-link);
border-radius: var(--navds-border-radius-small);
padding: var(--navds-spacing-1) var(--navds-spacing-1) var(--navds-spacing-1)
@@ -13,54 +13,43 @@
text-align: start;
}
.navds-read-more--small {
.navds-read-more--small .navds-read-more__button {
padding: 2px var(--navds-spacing-1) 2px 2px;
}
.navds-read-more:hover {
.navds-read-more__button:hover {
background-color: rgba(38 38 38 / 0.06);
}
.navds-read-more:active {
.navds-read-more__button:active {
background-color: rgba(38 38 38 / 0.1);
}
.navds-read-more:focus {
.navds-read-more__button:focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
}
.navds-read-more + .ReactCollapse--collapse {
transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
padding-top: var(--navds-spacing-2);
}
.navds-read-more:not(.navds-read-more--open) + .ReactCollapse--collapse {
padding: 0;
}
.navds-read-more__content {
display: flex;
align-items: stretch;
gap: 10px;
padding: 0 var(--navds-spacing-1);
}
.navds-read-more__content::before {
content: "";
display: block;
width: 2px;
background-color: rgba(38 38 38 / 0.36);
margin: 0 7px;
flex-shrink: 0;
margin-top: var(--navds-spacing-1);
border-left: 2px solid rgba(38 38 38 / 0.36);
margin-left: 11px;
padding-left: 11px;
}
.navds-read-more__expand-icon {
font-size: 1.25rem;
height: 1.5rem;
flex-shrink: 0;
}
.navds-read-more--open > .navds-read-more__expand-icon {
.navds-read-more--small .navds-read-more__expand-icon {
height: 1.25rem;
}
.navds-read-more--open
> .navds-read-more__button
> .navds-read-more__expand-icon {
transform: rotate(-180deg);
}
@@ -68,11 +57,11 @@
display: none;
}
.navds-read-more:hover
.navds-read-more__button:hover
> .navds-read-more__expand-icon.navds-read-more__expand-icon--filled {
display: inherit;
}
.navds-read-more:hover > .navds-read-more__expand-icon {
.navds-read-more__button:hover > .navds-read-more__expand-icon {
display: none;
}
-85
View File
@@ -1,85 +0,0 @@
:root {
--navds-speechbubble-color-background: var(
--navds-semantic-color-component-background-alternate
);
--navds-speechbubble-color-illustration: var(--navds-semantic-color-text);
--navds-speechbubble-color-illustration-background: var(
--navds-semantic-color-canvas-background
);
--navds-speechbubble-color-detail-text: var(
--navds-semantic-color-text-muted
);
}
.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: var(--navds-border-radius-full);
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: var(--navds-shadow-popover);
width: fit-content;
max-width: 37.5rem;
background-color: var(--navds-speechbubble-color-background);
border-radius: var(--navds-border-radius-xlarge);
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: var(--navds-border-radius-xlarge);
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;
}
-202
View File
@@ -1,202 +0,0 @@
:root {
--navds-step-indicator-color-step-line: var(--navds-semantic-color-divider);
--navds-step-indicator-color-step-text: var(--navds-semantic-color-text);
--navds-step-indicator-color-step-label: var(
--navds-semantic-color-interaction-primary
);
--navds-step-indicator-color-step-number-background: var(
--navds-semantic-color-canvas-background-light
);
--navds-step-indicator-color-step-number-background-finished: var(
--navds-semantic-color-canvas-background
);
--navds-step-indicator-color-step-number-shadow: var(
--navds-semantic-color-border
);
--navds-step-indicator-color-step-number-shadow-active: var(
--navds-semantic-color-interaction-primary-selected
);
--navds-step-indicator-color-step-number-shadow-hover: var(
--navds-semantic-color-interaction-primary
);
--navds-step-indicator-color-step-number-background-active: var(
--navds-semantic-color-interaction-primary-selected
);
--navds-step-indicator-color-step-number-text-active: var(
--navds-semantic-color-text-inverted
);
--navds-step-indicator-color-step-number-shadow-inset: var(
--navds-semantic-color-component-background-light
);
}
/* StepIndicator */
.navds-step-indicator {
display: flex;
align-items: flex-start;
padding: 0;
margin: 0;
}
/* Step */
.navds-step-indicator__step-wrapper {
padding: 0 var(--navds-spacing-2);
flex: 1;
position: relative;
list-style: none;
min-width: 10rem;
}
.navds-step-indicator__step-wrapper--hidelabel {
min-width: 5rem;
}
.navds-step-indicator__step {
display: flex;
align-items: center;
flex-direction: column;
padding: 0;
background: none;
border: none;
appearance: none;
width: 100%;
flex-shrink: 1;
color: var(--navds-step-indicator-color-step-text);
text-decoration: none;
cursor: pointer;
}
.navds-step-indicator__step-number {
flex-shrink: 0;
display: flex;
width: 2rem;
height: 2rem;
margin: 0.5rem;
border-radius: var(--navds-border-radius-full);
align-items: center;
justify-content: center;
box-shadow: 0 0 0 1px var(--navds-step-indicator-color-step-number-shadow);
background-color: var(--navds-step-indicator-color-step-number-background);
}
.navds-step-indicator__step-wrapper:first-child
> .navds-step-indicator__step
> .navds-step-indicator__step-number {
padding-right: 0;
}
.navds-step-indicator__step-wrapper:last-child
> .navds-step-indicator__step
> .navds-step-indicator__step-number {
padding-left: 0;
}
.navds-step-indicator__step-label {
width: 100%;
margin-top: var(--navds-spacing-4);
text-align: center;
color: var(--navds-step-indicator-color-step-label);
text-decoration: underline;
}
.navds-step-indicator__step-line {
flex: 1 1 100%;
position: absolute;
top: 1.5rem;
right: calc(50% + 2rem);
left: calc(-50% + 2rem);
display: block;
border-top: 2px solid var(--navds-step-indicator-color-step-line);
border-radius: var(--navds-border-radius-medium);
pointer-events: none;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-label {
color: var(--navds-step-indicator-color-step-text);
font-weight: bold;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-number {
background-color: var(
--navds-step-indicator-color-step-number-background-active
);
color: var(--navds-step-indicator-color-step-number-text-active);
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
width: 2.5rem;
height: 2.5rem;
margin: 0.25rem;
}
.navds-step-indicator__step:focus {
outline: none;
}
.navds-step-indicator__step:hover > .navds-step-indicator__step-label {
text-decoration: none;
}
.navds-step-indicator__step.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-label {
text-decoration: underline;
}
.navds-step-indicator__step--active > .navds-step-indicator__step-label,
.navds-step-indicator__step--active.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-label {
text-decoration: none;
}
.navds-step-indicator__step:hover > .navds-step-indicator__step-number {
background: var(--navds-step-indicator-color-step-number-background);
box-shadow: 0 0 0 2px
var(--navds-step-indicator-color-step-number-shadow-hover);
}
.navds-step-indicator__step--active:hover > .navds-step-indicator__step-number {
background-color: var(
--navds-step-indicator-color-step-number-background-active
);
color: var(--navds-step-indicator-color-step-number-text-active);
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
}
.navds-step-indicator__step:focus > .navds-step-indicator__step-number {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-step-indicator__step--active:focus > .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px inset
var(--navds-step-indicator-color-step-number-shadow-inset),
var(--navds-shadow-focus);
}
.navds-step-indicator__step--disabled:hover
> .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px var(--navds-step-indicator-color-step-number-shadow);
}
.navds-step-indicator__step--disabled.navds-step-indicator__step--active:disabled
> .navds-step-indicator__step-number {
box-shadow: 0 0 0 1px
var(--navds-step-indicator-color-step-number-shadow-active);
}
/* Finished state */
.navds-step-indicator__step--finished > .navds-step-indicator__step-number,
.navds-step-indicator__step--finished.navds-step-indicator__step--disabled
> .navds-step-indicator__step-number {
background: var(--navds-step-indicator-color-step-number-background-finished);
}
/* Disabled */
.navds-step-indicator__step--disabled > .navds-step-indicator__step-number,
.navds-step-indicator__step--disabled > .navds-step-indicator__step-label {
opacity: 0.3;
}
.navds-step-indicator__step--disabled {
cursor: not-allowed;
}
+171 -90
View File
@@ -1,99 +1,180 @@
.navds-stepper {
display: flex;
flex-direction: column;
padding: 0;
margin: 0;
list-style: none;
}
--navds-stepper-circle-size: 1.75rem;
--navds-stepper-border-width: 2px;
--navds-stepper-line-length: 1rem;
/* Step */
.navds-stepper__step {
position: relative;
cursor: pointer;
padding: calc(2.25rem / 2) 0;
display: flex;
background: none;
border: none;
appearance: none;
width: 100%;
color: var(--navds-semantic-color-text);
text-decoration: none;
flex-shrink: 0;
}
.navds-stepper__step-number {
flex-shrink: 0;
display: flex;
width: 28px;
height: 28px;
margin: 0;
margin-right: var(--navds-spacing-3);
border-radius: var(--navds-border-radius-full);
align-items: center;
justify-content: center;
color: var(--navds-semantic-color-interaction-primary);
box-shadow: inset 0 0 0 2px var(--navds-semantic-color-interaction-primary);
background-color: var(--navds-semantic-color-component-background-light);
font-weight: 600;
line-height: 1;
list-style: none;
padding-left: 0;
margin: 0;
}
/* Step-states: focus, active, hover */
.navds-stepper__step-wrapper:hover
> .navds-stepper__step
> .navds-stepper__step-number {
.navds-stepper--horizontal {
display: flex;
align-items: flex-start;
text-align: center;
}
.navds-stepper__item {
display: grid;
grid-template-rows:
[line-1] auto [step-start] var(--navds-stepper-circle-size)
[line-2 step-end] auto;
grid-template-columns: var(--navds-stepper-circle-size) auto;
justify-items: flex-start;
gap: 0.5rem;
}
.navds-stepper__line {
background-color: var(--navds-semantic-color-border-muted);
width: var(--navds-stepper-border-width);
height: 100%;
min-height: var(--navds-stepper-line-length);
justify-self: center;
grid-column: 1;
}
.navds-stepper__line--1 {
grid-row: line-1;
display: none;
}
.navds-stepper__line--2 {
grid-row: line-2;
}
:where(.navds-stepper__item:last-of-type) .navds-stepper__line--2 {
display: none;
}
.navds-stepper__step {
grid-row: 2 / -1;
grid-column: 1 / -1;
display: grid;
grid-template-columns: [circle] var(--navds-stepper-circle-size) [content] auto;
gap: var(--navds-spacing-2);
align-items: baseline;
justify-content: flex-start;
text-decoration: none;
cursor: pointer;
padding: var(--navds-stepper-border-width);
margin: calc(var(--navds-stepper-border-width) * -1)
calc(var(--navds-stepper-border-width) * -1) 1.75rem;
}
button.navds-stepper__step {
appearance: none;
border: none;
background-color: transparent;
font: inherit;
color: inherit;
text-align: inherit;
}
:where(.navds-stepper__step):focus {
outline: none;
box-shadow: var(--navds-shadow-focus);
isolation: isolate;
}
.navds-stepper__circle {
grid-column: circle;
display: inline-grid;
place-items: center;
flex-shrink: 0;
width: var(--navds-stepper-circle-size);
height: var(--navds-stepper-circle-size);
border: var(--navds-stepper-border-width) solid currentColor;
border-radius: var(--navds-border-radius-full);
line-height: 1;
}
.navds-stepper__content {
min-width: fit-content;
line-height: 1.5;
grid-column: content;
}
/* Horizontal */
:where(.navds-stepper--horizontal) .navds-stepper__item {
flex: 1 1 100%;
grid-template-columns:
[line-1-start] 1fr [step-start] auto [line-1-end] var(
--navds-stepper-circle-size
)
[line-2-start] auto [step-end] 1fr [line-2-end];
grid-template-rows: var(--navds-stepper-circle-size) auto;
}
:where(.navds-stepper--horizontal) .navds-stepper__line {
height: var(--navds-stepper-border-width);
width: 100%;
min-height: auto;
grid-row: 1;
display: block;
align-self: center;
}
:where(.navds-stepper--horizontal) .navds-stepper__line--1 {
grid-column: line-1;
}
:where(.navds-stepper--horizontal) .navds-stepper__line--2 {
grid-column: line-2;
}
:where(.navds-stepper--horizontal .navds-stepper__item:first-of-type)
.navds-stepper__line--1,
:where(.navds-stepper--horizontal .navds-stepper__item:last-of-type)
.navds-stepper__line--2 {
visibility: hidden;
}
:where(.navds-stepper--horizontal) .navds-stepper__step {
grid-row: 1 / -1;
grid-column: step;
display: grid;
grid-template-rows: [circle] var(--navds-stepper-circle-size) [content] auto;
grid-template-columns:
[content-start] auto [circle] var(--navds-stepper-circle-size)
[content-end] auto;
justify-items: center;
align-items: center;
margin-bottom: 0;
}
:where(.navds-stepper--horizontal) .navds-stepper__circle {
grid-row: circle;
grid-column: 2;
}
:where(.navds-stepper--horizontal) .navds-stepper__content {
grid-row: content;
grid-column: 1 / -1;
max-width: 24ch;
}
/* Active step */
:where(.navds-stepper__step--active) .navds-stepper__content {
color: var(--navds-semantic-color-interaction-primary-selected);
}
:where(.navds-stepper__step:not(.navds-stepper__step--active):hover)
.navds-stepper__content {
text-decoration: underline;
}
:where(.navds-stepper__step--active) .navds-stepper__circle {
background-color: var(--navds-semantic-color-interaction-primary-selected);
border-color: var(--navds-semantic-color-interaction-primary-selected);
color: var(--navds-semantic-color-text-inverted);
}
:where(.navds-stepper__step:not(.navds-stepper__step--active):hover)
.navds-stepper__circle {
background-color: var(
--navds-semantic-color-interaction-primary-hover-subtle
);
}
.navds-stepper__step--active > .navds-stepper__step-number,
.navds-stepper__step-wrapper:hover
> .navds-stepper__step--active
> .navds-stepper__step-number {
color: var(--navds-semantic-color-text-inverted);
background-color: var(--navds-semantic-color-interaction-primary-selected);
box-shadow: inset 0 0 0 2px
var(--navds-semantic-color-interaction-primary-selected);
}
.navds-stepper__step:focus {
box-shadow: var(--navds-shadow-focus);
outline: none;
}
.navds-stepper__step--active {
cursor: default;
}
/* Step label */
.navds-stepper__step-label {
margin-top: 2px;
color: var(--navds-semantic-color-interaction-primary);
text-align: left;
}
.navds-stepper__step:hover > .navds-stepper__step-label {
text-decoration: underline;
}
.navds-stepper__step--active > .navds-stepper__step-label {
color: black;
}
.navds-stepper__step--active:hover > .navds-stepper__step-label {
text-decoration: none;
}
/* Step Horizontal Lines */
.navds-stepper__step-wrapper:not(:last-child) > .navds-stepper__step::after {
content: "";
position: absolute;
top: calc(28px + 8px + (2.25rem / 2));
left: 13px;
height: calc(100% - 2.75rem);
display: block;
border-left: 2px solid var(--navds-semantic-color-border-muted);
border-radius: var(--navds-border-radius-medium);
pointer-events: none;
z-index: 1;
}
+2 -3
View File
@@ -148,7 +148,7 @@
}
.navds-table__header-cell--align-right .navds-table__sort-button {
justify-content: end;
justify-content: flex-end;
}
.navds-table__header-cell--align-center .navds-table__sort-button {
@@ -224,8 +224,7 @@
display: none;
}
.navds-table__expanded-row-collapse {
transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1);
.navds-table__expanded-row-collapse:not([style*="height: 0px;"]) {
border-bottom: 1px solid var(--navds-table-cell-color-border);
}
+4
View File
@@ -74,6 +74,10 @@
gap: var(--navds-spacing-1);
}
.navds-tabs__tab-inner svg {
flex-shrink: 0;
}
.navds-tabs__tab-icon--top > .navds-tabs__tab-inner {
flex-direction: column;
gap: 0;
-3
View File
@@ -10,9 +10,6 @@
.navds-tooltip {
z-index: var(--navds-z-index-tooltip);
}
.navds-tooltip__inner {
background-color: var(--navds-semantic-color-component-background-inverted);
color: var(--navds-semantic-color-text-inverted);
border-radius: var(--navds-border-radius-small);
+6 -1
View File
@@ -1,9 +1,14 @@
:root {
:root,
[data-theme="light"] {
--navds-error-message-color-text: var(
--navds-semantic-color-feedback-danger-text
);
}
[data-theme="dark"] {
--navds-error-message-color-text: var(--navds-global-color-red-300);
}
/* Heading */
.navds-heading {
font-weight: var(--navds-font-weight-bold);
+32 -18
View File
@@ -1,28 +1,42 @@
# @navikt/ds-icons
# NAV icons
Leverer [NAVs ikoner](https://design.nav.no/resources/icons) i React og SVG.
All of NAVs own icons (400+ and counting)
## Installering
- As just SVG
- As React-components
```sh
// yarn
yarn add @navikt/ds-icons
## Installation
// npm
npm install @navikt/ds-icons
Install `@navikt/ds-icons` with yarn
```bash
yarn add @navikt/ds-icons
```
## Bruk
Install `@navikt/ds-icons` with npm
```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" />;
```bash
npm install @navikt/ds-icons
```
## Dokumentasjon
## Usage
- [Ikonsøk](https://design.nav.no/resources/icons)
Use as a regular React-component
```javascript
import { Star } from "@navikt/ds-icons";
function App() {
return <Star title="star" />;
}
```
## Learn more
- [Designsystem documentation](https://aksel.nav.no/designsystem)
- [Storybook](https://master--5f801fb2aea7820022de2936.chromatic.com/)
- [Icon-search](https://aksel.nav.no/designsystem/side/ikoner)
## License
[MIT](https://github.com/navikt/Designsystemet/blob/master/LICENCE)
+41 -5
View File
@@ -918,15 +918,15 @@
"pageName": "File"
},
{
"name": "FileProgressFilled",
"name": "FileProgress",
"description": "",
"created_at": "2022-01-27T12:48:37.592Z",
"created_at": "2022-01-27T12:48:37.567Z",
"pageName": "File"
},
{
"name": "Files",
"name": "FileProgressFilled",
"description": "",
"created_at": "2022-01-27T12:48:37.567Z",
"created_at": "2022-01-27T12:48:37.592Z",
"pageName": "File"
},
{
@@ -1763,6 +1763,18 @@
"created_at": "2021-01-12T13:29:09.125Z",
"pageName": "People"
},
{
"name": "PeopleInCircle",
"description": "",
"created_at": "2022-07-07T09:09:15.789Z",
"pageName": "People"
},
{
"name": "PeopleInCircleFilled",
"description": "",
"created_at": "2022-07-07T09:09:15.782Z",
"pageName": "People"
},
{
"name": "Picture",
"description": "",
@@ -1943,6 +1955,30 @@
"created_at": "2021-01-11T13:37:55.658Z",
"pageName": "Arrow"
},
{
"name": "RotateLeft",
"description": "",
"created_at": "2022-08-03T12:27:13.304Z",
"pageName": "Interface"
},
{
"name": "RotateLeftFilled",
"description": "",
"created_at": "2022-08-03T12:27:13.309Z",
"pageName": "Interface"
},
{
"name": "RotateRight",
"description": "",
"created_at": "2022-08-03T12:27:13.299Z",
"pageName": "Interface"
},
{
"name": "RotateRightFilled",
"description": "",
"created_at": "2022-08-03T12:27:13.294Z",
"pageName": "Interface"
},
{
"name": "Ruler",
"description": "",
@@ -2262,7 +2298,7 @@
"pageName": "Health"
},
{
"name": "Stethoscope",
"name": "StethoscopeFilled",
"description": "",
"created_at": "2022-03-18T08:51:04.700Z",
"pageName": "Health"
+6 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-icons",
"version": "0.8.17",
"version": "1.2.2",
"description": "NAVs egne ikoner i SVG og React format",
"repository": {
"type": "git",
@@ -31,19 +31,20 @@
"build": "yarn clean && copyfiles util/* src && yarn create-icons && concurrently \"tsc\" \"tsc -p tsconfig.esm.json\" && yarn create-package-json-pointers-to-esm",
"update": "ts-node figma/index.ts dotenv/config"
},
"dependencies": {
"uuid": "^8.3.2"
},
"peerDependencies": {
"@types/react": "^17.0.30 || ^18.0.0",
"react": "^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
},
"devDependencies": {
"@svgr/cli": "6.2.1",
"@types/lodash.startcase": "^4.4.6",
"@types/node": "^17.0.35",
"@types/rimraf": "3.0.2",
"@types/uuid": "^8.3.1",
"axios": "^0.21.3",
"concurrently": "7.2.1",
"copyfiles": "^2.4.1",
+1 -3
View File
@@ -1,5 +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="M18 24V14H20V24H18Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 18L24 18L24 20L14 20L14 18Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 5C15 6.65685 13.6569 8 12 8C10.3431 8 9 6.65685 9 5C9 3.34315 10.3431 2 12 2C13.6569 2 15 3.34315 15 5ZM17 5C17 7.76142 14.7614 10 12 10C9.23858 10 7 7.76142 7 5C7 2.23858 9.23858 0 12 0C14.7614 0 17 2.23858 17 5ZM15.2322 14.185L16.8296 12.9329C15.5735 11.7353 13.8726 11 12 11C8.13401 11 5 14.134 5 18H7C7 15.2386 9.23858 13 12 13C13.2323 13 14.3606 13.4458 15.2322 14.185Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 8C13.6569 8 15 6.65685 15 5C15 3.34315 13.6569 2 12 2C10.3431 2 9 3.34315 9 5C9 6.65685 10.3431 8 12 8ZM12 10C14.7614 10 17 7.76142 17 5C17 2.23858 14.7614 0 12 0C9.23858 0 7 2.23858 7 5C7 7.76142 9.23858 10 12 10ZM16.8296 12.9329L15.2322 14.185C14.3606 13.4458 13.2323 13 12 13C9.23858 13 7 15.2386 7 18H5C5 14.134 8.13401 11 12 11C13.8726 11 15.5735 11.7353 16.8296 12.9329ZM18 24V20H14V18H18V14H20V18H24V20H20V24H18Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 735 B

After

Width:  |  Height:  |  Size: 594 B

+1 -2
View File
@@ -1,4 +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="M11.7167 11.6111C13.8389 11.6111 15.752 12.5057 17.0997 13.9384L15.6059 15.4322C14.6412 14.3811 13.2559 13.7222 11.7167 13.7222C8.80187 13.7222 6.43893 16.0852 6.43893 19H4.32782C4.32782 14.9192 7.63594 11.6111 11.7167 11.6111ZM20.8991 17.4659L16.8884 21.4766L15.2352 21.7648L15.5234 20.1116L19.5341 16.1009C19.911 15.7239 20.5222 15.7239 20.8991 16.1009C21.2761 16.4778 21.2761 17.089 20.8991 17.4659ZM22.1848 18.7516L17.7674 23.169L13 24L13.831 19.2327L18.2485 14.8152C19.3354 13.7283 21.0978 13.7283 22.1848 14.8152C23.2718 15.9022 23.2718 17.6646 22.1848 18.7516Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 8C13.6569 8 15 6.65685 15 5C15 3.34315 13.6569 2 12 2C10.3431 2 9 3.34315 9 5C9 6.65685 10.3431 8 12 8ZM12 10C14.7614 10 17 7.76142 17 5C17 2.23858 14.7614 0 12 0C9.23858 0 7 2.23858 7 5C7 7.76142 9.23858 10 12 10Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 5C15 6.65685 13.6569 8 12 8C10.3431 8 9 6.65685 9 5C9 3.34315 10.3431 2 12 2C13.6569 2 15 3.34315 15 5ZM17 5C17 7.76142 14.7614 10 12 10C9.23858 10 7 7.76142 7 5C7 2.23858 9.23858 0 12 0C14.7614 0 17 2.23858 17 5ZM17.0997 13.9384C15.752 12.5057 13.8389 11.6111 11.7167 11.6111C7.63594 11.6111 4.32782 14.9192 4.32782 19H6.43893C6.43893 16.0852 8.80187 13.7222 11.7167 13.7222C13.2559 13.7222 14.6412 14.3811 15.6059 15.4322L17.0997 13.9384ZM16.8884 21.4766L20.8991 17.4659C21.2761 17.089 21.2761 16.4778 20.8991 16.1009C20.5222 15.7239 19.911 15.7239 19.5341 16.1009L15.5234 20.1116L15.2352 21.7648L16.8884 21.4766ZM17.7674 23.169L22.1848 18.7516C23.2718 17.6646 23.2718 15.9022 22.1848 14.8152C21.0978 13.7283 19.3354 13.7283 18.2485 14.8152L13.831 19.2327L13 24L17.7674 23.169Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 954 B

+1 -3
View File
@@ -1,5 +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="M10.9565 8C12.6134 8 13.9565 6.65685 13.9565 5C13.9565 3.34315 12.6134 2 10.9565 2C9.29969 2 7.95654 3.34315 7.95654 5C7.95654 6.65685 9.29969 8 10.9565 8ZM10.9565 10C13.718 10 15.9565 7.76142 15.9565 5C15.9565 2.23858 13.718 0 10.9565 0C8.19512 0 5.95654 2.23858 5.95654 5C5.95654 7.76142 8.19512 10 10.9565 10Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0569 11.5858C19.2758 10.8047 18.0095 10.8047 17.2285 11.5858L15.8143 13C15.0332 13.781 15.0332 15.0474 15.8143 15.8284L16.6856 16.6997L12.1071 21.2782L11.4 21.9853L12.8142 23.3995L13.5213 22.6924L18.0998 18.114L19.0496 19.0637C19.8306 19.8448 21.0969 19.8448 21.878 19.0637L23.2922 17.6495C24.0733 16.8685 24.0733 15.6021 23.2922 14.8211L20.0569 11.5858ZM18.6427 13L21.878 16.2353L20.4638 17.6495L17.2285 14.4142L18.6427 13Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.1594 11.7521C13.2095 11.2709 12.1352 11 11 11C7.13401 11 4 14.134 4 18H6C6 15.2386 8.23858 13 11 13C11.5609 13 12.0993 13.092 12.6014 13.2617L14.1594 11.7521Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.9565 8C12.6134 8 13.9565 6.65685 13.9565 5C13.9565 3.34315 12.6134 2 10.9565 2C9.29969 2 7.95654 3.34315 7.95654 5C7.95654 6.65685 9.29969 8 10.9565 8ZM10.9565 10C13.718 10 15.9565 7.76142 15.9565 5C15.9565 2.23858 13.718 0 10.9565 0C8.19512 0 5.95654 2.23858 5.95654 5C5.95654 7.76142 8.19512 10 10.9565 10ZM20.0569 11.5858C19.2758 10.8047 18.0095 10.8047 17.2285 11.5858L15.8143 13C15.0332 13.781 15.0332 15.0474 15.8143 15.8284L16.6856 16.6997L12.1071 21.2782L11.4 21.9853L12.8142 23.3995L13.5213 22.6924L18.0998 18.114L19.0496 19.0637C19.8306 19.8448 21.0969 19.8448 21.878 19.0637L23.2922 17.6495C24.0733 16.8685 24.0733 15.6021 23.2922 14.8211L20.0569 11.5858ZM18.6427 13L21.878 16.2353L20.4638 17.6495L17.2285 14.4142L18.6427 13ZM11 11C12.1352 11 13.2095 11.2709 14.1594 11.7521L12.6014 13.2617C12.0993 13.092 11.5609 13 11 13C8.23858 13 6 15.2386 6 18H4C4 14.134 7.13401 11 11 11Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

+1 -2
View File
@@ -1,4 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 5C16 7.76142 13.7614 10 11 10C8.23858 10 6 7.76142 6 5C6 2.23858 8.23858 0 11 0C13.7614 0 16 2.23858 16 5ZM4 18C4 14.134 7.13401 11 11 11C12.3956 11 13.6959 11.4084 14.7877 12.1123L8.7108 18H4Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.2782 12.2854C18.8876 11.9049 18.2545 11.9049 17.8639 12.2854L15.3891 14.6973C14.9985 15.0778 14.9985 15.6949 15.3891 16.0754L16.8033 17.4536L11.5 22.6218L12.9142 24L18.2175 18.8318L19.8085 20.3823C20.199 20.7628 20.8322 20.7628 21.2227 20.3823L23.6976 17.9704C24.0881 17.5899 24.0881 16.9728 23.6976 16.5923L19.2782 12.2854Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 10C13.7614 10 16 7.76142 16 5C16 2.23858 13.7614 0 11 0C8.23858 0 6 2.23858 6 5C6 7.76142 8.23858 10 11 10ZM11 11C7.13401 11 4 14.134 4 18H8.7108L14.7877 12.1123C13.6959 11.4084 12.3956 11 11 11ZM17.8639 12.2854C18.2545 11.9049 18.8876 11.9049 19.2782 12.2854L23.6976 16.5923C24.0881 16.9728 24.0881 17.5899 23.6976 17.9704L21.2227 20.3823C20.8322 20.7628 20.199 20.7628 19.8085 20.3823L18.2175 18.8318L12.9142 24L11.5 22.6218L16.8033 17.4536L15.3891 16.0754C14.9985 15.6949 14.9985 15.0778 15.3891 14.6973L17.8639 12.2854Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 764 B

After

Width:  |  Height:  |  Size: 698 B

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 13.5179L4.60216 12H6V11C6 8.79086 7.79086 7 10 7H16V4C16 2.89543 15.1046 2 14 2H4C2.89543 2 2 2.89543 2 4V13.5179ZM5.14286 14H6V17C6 19.2091 7.79086 21 10 21H18.8571L24 24V11C24 8.79086 22.2091 7 20 7H18V4C18 1.79086 16.2091 0 14 0H4C1.79086 0 0 1.79086 0 4V17L5.14286 14ZM19.3978 19L22 20.5179V11C22 9.89543 21.1046 9 20 9H10C8.89543 9 8 9.89543 8 11V17C8 18.1046 8.89543 19 10 19H19.3978ZM11 15C11.5523 15 12 14.5523 12 14C12 13.4477 11.5523 13 11 13C10.4477 13 10 13.4477 10 14C10 14.5523 10.4477 15 11 15ZM16 14C16 14.5523 15.5523 15 15 15C14.4477 15 14 14.5523 14 14C14 13.4477 14.4477 13 15 13C15.5523 13 16 13.4477 16 14ZM19 15C19.5523 15 20 14.5523 20 14C20 13.4477 19.5523 13 19 13C18.4477 13 18 13.4477 18 14C18 14.5523 18.4477 15 19 15Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 4C18 2.89543 17.1046 2 16 2H4C2.89543 2 2 2.89543 2 4V16.7896L6 14.328V18C6 19.1046 6.89543 20 8 20H16.4471L22 22.5629L22 16.5714V10C22 8.89543 21.1046 8 20 8H18V4ZM6 10V12H5.96696L4 13.2104V4L16 4V8H8C6.89543 8 6 8.89543 6 10ZM20 18.5714V10H8V18H16.8864L20 19.4371L20 18.5714ZM11 15C11.5523 15 12 14.5523 12 14C12 13.4477 11.5523 13 11 13C10.4477 13 10 13.4477 10 14C10 14.5523 10.4477 15 11 15ZM15 14C15 14.5523 14.5523 15 14 15C13.4477 15 13 14.5523 13 14C13 13.4477 13.4477 13 14 13C14.5523 13 15 13.4477 15 14ZM17 15C17.5523 15 18 14.5523 18 14C18 13.4477 17.5523 13 17 13C16.4477 13 16 13.4477 16 14C16 14.5523 16.4477 15 17 15Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 921 B

After

Width:  |  Height:  |  Size: 809 B

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 0C16.2091 0 18 1.79086 18 4V5H10C6.68629 5 4 7.68629 4 11V14.6667L0 17V10V4C0 1.79086 1.79086 0 4 0H14ZM10 7C7.79086 7 6 8.79086 6 11V17C6 19.2091 7.79086 21 10 21H18.8571L24 24V17V11C24 8.79086 22.2091 7 20 7H10ZM12 14C12 14.5523 11.5523 15 11 15C10.4477 15 10 14.5523 10 14C10 13.4477 10.4477 13 11 13C11.5523 13 12 13.4477 12 14ZM15 15C15.5523 15 16 14.5523 16 14C16 13.4477 15.5523 13 15 13C14.4477 13 14 13.4477 14 14C14 14.5523 14.4477 15 15 15ZM20 14C20 14.5523 19.5523 15 19 15C18.4477 15 18 14.5523 18 14C18 13.4477 18.4477 13 19 13C19.5523 13 20 13.4477 20 14Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 2C17.1046 2 18 2.89543 18 4V6H7C5.34315 6 4 7.34315 4 9V15.5588L2 16.7896V4C2 2.89543 2.89543 2 4 2H16ZM8 8C6.89543 8 6 8.89543 6 10V18C6 19.1046 6.89543 20 8 20H16.4471L22 22.5629L22 16.5714V10C22 8.89543 21.1046 8 20 8H8ZM12 14C12 14.5523 11.5523 15 11 15C10.4477 15 10 14.5523 10 14C10 13.4477 10.4477 13 11 13C11.5523 13 12 13.4477 12 14ZM14 15C14.5523 15 15 14.5523 15 14C15 13.4477 14.5523 13 14 13C13.4477 13 13 13.4477 13 14C13 14.5523 13.4477 15 14 15ZM18 14C18 14.5523 17.5523 15 17 15C16.4477 15 16 14.5523 16 14C16 13.4477 16.4477 13 17 13C17.5523 13 18 13.4477 18 14Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 745 B

After

Width:  |  Height:  |  Size: 755 B

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 12V0.0410728C4.84047 0.549224 0 5.70934 0 12C0 18.6274 5.37258 24 12 24C14.9922 24 17.7286 22.9048 19.8303 21.0935L11 12ZM24 12C24 12.9017 23.9005 13.7802 23.712 14.6252C23.297 16.4847 22.4505 18.1814 21.2831 19.6048L13 11V0.0410728C18.2766 0.476382 22.5852 4.32556 23.712 9.37484C23.9005 10.2198 24 11.0983 24 12Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 12V0.0410728C4.84047 0.549224 0 5.70934 0 12C0 18.6274 5.37258 24 12 24C14.9922 24 17.7286 22.9048 19.8303 21.0935L11 12ZM24 12C24 12.9017 23.9005 13.7802 23.712 14.6252C23.297 16.4847 22.4505 18.1814 21.2831 19.6048L13 11V0.0410728C18.2766 0.476383 22.5852 4.32556 23.712 9.37484C23.9005 10.2198 24 11.0983 24 12Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 489 B

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 0V20.295L20.5455 13L22 14.3746L12 24L2 14.3746L3.45455 13L11 20.295V0H13Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 22L4.2929 14.2929L5.70711 12.8787L11 18.1716L11 1.58579L13 1.58579L13 18.1716L18.2929 12.8787L19.7071 14.2929L12 22Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 291 B

@@ -1,6 +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="M14 2C12.3431 2 11 3.34315 11 5H9C9 2.23858 11.2386 0 14 0H16C18.7614 0 21 2.23858 21 5V24H19V5C19 3.34315 17.6569 2 16 2H14Z" fill="#262626"/>
<path d="M5 16C5 16 5.58716 16.1892 5.60366 16.1998C5.63673 16.2208 5.68867 16.2531 5.75678 16.293C5.89368 16.373 6.092 16.4811 6.33036 16.5891C6.82404 16.8127 7.41198 17 7.95356 17C8.48817 17 8.9679 16.8251 9.67383 16.5627C10.3418 16.3143 11.1895 16 12.2226 16C13.2567 16 14.1087 16.3098 14.6938 16.6107C14.9879 16.7619 15.2212 16.9143 15.385 17.0322C15.4671 17.0914 15.5325 17.1424 15.5801 17.1811C15.6039 17.2004 15.6234 17.2167 15.6382 17.2295L15.6572 17.2459L15.6641 17.2521L15.6669 17.2546L15.6682 17.2557L15 23H5V16Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.1269 21.0665L15 8H17L16.1225 21.1996C16.0174 22.7755 14.7085 24 13.1291 24H6.87133C5.29194 24 3.98304 22.7755 3.87798 21.1996L3 8H5L5.87355 21.0665C5.90857 21.5918 6.34487 22 6.87133 22H13.1291C13.6556 22 14.0919 21.5918 14.1269 21.0665Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0001 6.05635L12.3141 9.91303C13.3933 11.7117 12.0977 14 10.0001 14C7.90252 14 6.6069 11.7117 7.6861 9.91303L10.0001 6.05635Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 5C11 3.34315 12.3431 2 14 2H16C17.6569 2 19 3.34315 19 5V24H21V5C21 2.23858 18.7614 0 16 0H14C11.2386 0 9 2.23858 9 5H11ZM5.60366 16.1998C5.60072 16.1979 5.57956 16.1903 5.54681 16.1791L5 8H3L3.87798 21.1996C3.98304 22.7755 5.29194 24 6.87133 24H13.1291C14.7085 24 16.0174 22.7755 16.1225 21.1996L17 8H15L14.433 16.4849C13.867 16.2293 13.1122 16 12.2226 16C11.1895 16 10.3418 16.3143 9.67383 16.5627C8.9679 16.8251 8.48817 17 7.95356 17C7.41198 17 6.82404 16.8127 6.33036 16.5891C6.092 16.4811 5.89368 16.373 5.75678 16.293C5.68867 16.2531 5.63673 16.2208 5.60366 16.1998ZM12.3141 9.91303L10.0001 6.05635L7.6861 9.91303C6.6069 11.7117 7.90252 14 10.0001 14C12.0977 14 13.3933 11.7117 12.3141 9.91303Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 875 B

+1 -4
View File
@@ -1,6 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="6.5" cy="12" r="1.5" fill="#262626"/>
<circle cx="12" cy="12" r="1.5" fill="#262626"/>
<circle cx="17.5" cy="12" r="1.5" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM6.5 13.5C7.32843 13.5 8 12.8284 8 12C8 11.1716 7.32843 10.5 6.5 10.5C5.67157 10.5 5 11.1716 5 12C5 12.8284 5.67157 13.5 6.5 13.5ZM12 13.5C12.8284 13.5 13.5 12.8284 13.5 12C13.5 11.1716 12.8284 10.5 12 10.5C11.1716 10.5 10.5 11.1716 10.5 12C10.5 12.8284 11.1716 13.5 12 13.5ZM19 12C19 12.8284 18.3284 13.5 17.5 13.5C16.6716 13.5 16 12.8284 16 12C16 11.1716 16.6716 10.5 17.5 10.5C18.3284 10.5 19 11.1716 19 12Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 547 B

After

Width:  |  Height:  |  Size: 807 B

+1 -8
View File
@@ -1,10 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.6836 0.585361C11.7435 0.401105 12.0041 0.401105 12.064 0.585362L12.5383 2.04506C12.5651 2.12746 12.6419 2.18325 12.7286 2.18325H14.2632C14.4569 2.18325 14.5375 2.43117 14.3807 2.54505L13.1391 3.44712C13.069 3.49805 13.0397 3.58833 13.0664 3.67074L13.5407 5.13034C13.6006 5.3146 13.3897 5.46783 13.233 5.35394L11.9914 4.45183C11.9213 4.4009 11.8263 4.4009 11.7563 4.45183L10.5146 5.35397C10.3578 5.46785 10.1469 5.31462 10.2068 5.13036L10.6811 3.67074C10.7079 3.58833 10.6785 3.49805 10.6084 3.44712L9.36682 2.54505C9.21008 2.43117 9.29063 2.18325 9.48438 2.18325H11.0191C11.1057 2.18325 11.1825 2.12746 11.2093 2.04506L11.6836 0.585361Z" fill="#262626"/>
<path d="M3.72187 3.991C3.63391 3.81837 3.81823 3.63404 3.99086 3.72199L5.38403 4.43175C5.46122 4.47108 5.55497 4.45623 5.61623 4.39497L6.72162 3.28964C6.85862 3.15264 7.09089 3.271 7.06057 3.46236L6.81595 5.00634C6.80239 5.09192 6.84548 5.1765 6.92269 5.21584L8.31573 5.92562C8.48835 6.01358 8.44758 6.27105 8.25622 6.30136L6.71211 6.54594C6.62654 6.55949 6.55942 6.62661 6.54587 6.71219L6.30129 8.25637C6.27098 8.44773 6.01351 8.48851 5.92555 8.31588L5.21577 6.92284C5.17643 6.84564 5.09185 6.80254 5.00627 6.8161L3.46232 7.06072C3.27095 7.09104 3.1526 6.85877 3.2896 6.72177L4.39497 5.61639C4.45624 5.55513 4.47109 5.46137 4.43175 5.38417L3.72187 3.991Z" fill="#262626"/>
<path d="M0.585361 12.2186C0.401105 12.1587 0.401105 11.898 0.585362 11.8381L2.15739 11.3273C2.23979 11.3005 2.29558 11.2238 2.29558 11.1371V9.48437C2.29558 9.29062 2.54351 9.21007 2.65739 9.36682L3.62879 10.704C3.67971 10.7741 3.76999 10.8034 3.8524 10.7767L5.42439 10.2659C5.60866 10.206 5.76189 10.4169 5.64799 10.5737L4.6764 11.9108C4.62546 11.9809 4.62546 12.0758 4.6764 12.1459L5.64802 13.4831C5.76191 13.6398 5.60869 13.8507 5.42442 13.7909L3.85239 13.2801C3.76999 13.2533 3.67971 13.2827 3.62879 13.3528L2.65739 14.6899C2.54351 14.8467 2.29558 14.7661 2.29558 14.5724V12.9196C2.29558 12.8329 2.23979 12.7562 2.15739 12.7294L0.585361 12.2186Z" fill="#262626"/>
<path d="M3.99086 20.0891C3.81823 20.177 3.63391 19.9927 3.72186 19.8201L4.43169 18.4269C4.47103 18.3497 4.45618 18.2559 4.39492 18.1947L3.28959 17.0893C3.15259 16.9523 3.27096 16.72 3.46232 16.7503L5.00638 16.995C5.09197 17.0086 5.17655 16.9655 5.21589 16.8883L5.92553 15.4953C6.01348 15.3226 6.27096 15.3634 6.30128 15.5548L6.54591 17.0989C6.55947 17.1845 6.62659 17.2516 6.71216 17.2651L8.25628 17.5097C8.44763 17.54 8.48841 17.7975 8.31579 17.8854L6.92289 18.5952C6.8457 18.6346 6.80261 18.7191 6.81616 18.8047L7.06069 20.3488C7.09099 20.5401 6.85872 20.6585 6.72173 20.5215L5.61627 19.416C5.55501 19.3548 5.46126 19.3399 5.38406 19.3793L3.99086 20.0891Z" fill="#262626"/>
<path d="M12.064 23.1204C12.0041 23.3047 11.7435 23.3047 11.6836 23.1205L11.2092 21.6608C11.1824 21.5784 11.1056 21.5226 11.019 21.5226H9.4844C9.29066 21.5226 9.2101 21.2746 9.36685 21.1608L10.6085 20.2587C10.6786 20.2078 10.7079 20.1175 10.6812 20.0351L10.2068 18.5756C10.1469 18.3914 10.3578 18.2381 10.5146 18.352L11.7563 19.254C11.8264 19.3049 11.9213 19.3049 11.9914 19.254L13.233 18.352C13.3897 18.2381 13.6006 18.3914 13.5407 18.5756L13.0665 20.0351C13.0397 20.1175 13.069 20.2078 13.1391 20.2587L14.3807 21.1608C14.5375 21.2746 14.4569 21.5226 14.2632 21.5226H12.7285C12.6418 21.5226 12.565 21.5784 12.5383 21.6608L12.064 23.1204Z" fill="#262626"/>
<path d="M20.0891 19.8201C20.177 19.9928 19.9927 20.1771 19.8201 20.0892L18.427 19.3794C18.3498 19.3401 18.2561 19.3549 18.1948 19.4162L17.0893 20.5217C16.9523 20.6587 16.72 20.5403 16.7503 20.3489L16.995 18.8047C17.0085 18.7191 16.9654 18.6345 16.8882 18.5952L15.4953 17.8855C15.3227 17.7975 15.3634 17.54 15.5548 17.5097L17.0989 17.2652C17.1845 17.2516 17.2516 17.1845 17.2651 17.0989L17.5097 15.5548C17.54 15.3634 17.7975 15.3226 17.8854 15.4953L18.5952 16.8883C18.6345 16.9655 18.7191 17.0086 18.8047 16.9951L20.3487 16.7504C20.5401 16.72 20.6584 16.9523 20.5214 17.0893L19.416 18.1949C19.3547 18.2562 19.3399 18.3499 19.3792 18.4271L20.0891 19.8201Z" fill="#262626"/>
<path d="M23.4144 11.8382C23.5987 11.8981 23.5987 12.1588 23.4145 12.2187L21.8424 12.7295C21.76 12.7563 21.7042 12.8331 21.7042 12.9197V14.5726C21.7042 14.7663 21.4563 14.8469 21.3424 14.6901L20.3709 13.3528C20.3199 13.2827 20.2297 13.2534 20.1473 13.2802L18.5754 13.791C18.3912 13.8508 18.2379 13.64 18.3518 13.4832L19.3233 12.146C19.3743 12.0759 19.3743 11.981 19.3233 11.9109L18.3518 10.5737C18.2379 10.4169 18.3912 10.206 18.5754 10.2659L20.1473 10.7767C20.2297 10.8035 20.32 10.7742 20.371 10.7041L21.3424 9.36682C21.4563 9.21007 21.7042 9.29062 21.7042 9.48437V11.1373C21.7042 11.2239 21.76 11.3007 21.8424 11.3275L23.4144 11.8382Z" fill="#262626"/>
<path d="M19.82 3.72203C19.9927 3.63407 20.177 3.8184 20.089 3.99102L19.3792 5.38419C19.3399 5.46139 19.3547 5.55514 19.416 5.61641L20.5214 6.72179C20.6584 6.85879 20.54 7.09107 20.3487 7.06075L18.8045 6.81606C18.719 6.8025 18.6344 6.8456 18.595 6.92281L17.8854 8.31578C17.7975 8.48842 17.54 8.44765 17.5097 8.25629L17.2651 6.71221C17.2515 6.62664 17.1844 6.55952 17.0988 6.54596L15.5547 6.30132C15.3634 6.271 15.3226 6.01354 15.4952 5.92558L16.8882 5.21585C16.9654 5.17652 17.0085 5.09194 16.9949 5.00635L16.7503 3.46238C16.72 3.27102 16.9522 3.15266 17.0892 3.28965L18.1948 4.39506C18.2561 4.45632 18.3498 4.47116 18.427 4.43183L19.82 3.72203Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.064 0.585362C12.0041 0.401105 11.7434 0.401105 11.6836 0.585361L11.2093 2.04506C11.1825 2.12746 11.1057 2.18325 11.019 2.18325H9.48435C9.29061 2.18325 9.21005 2.43117 9.3668 2.54505L10.6084 3.44712C10.6785 3.49805 10.7078 3.58833 10.6811 3.67074L10.2068 5.13036C10.1469 5.31462 10.3578 5.46785 10.5145 5.35397L11.7562 4.45183C11.8263 4.4009 11.9212 4.4009 11.9913 4.45183L13.2329 5.35394C13.3897 5.46783 13.6006 5.3146 13.5407 5.13034L13.0664 3.67074C13.0396 3.58833 13.069 3.49805 13.1391 3.44712L14.3807 2.54505C14.5374 2.43117 14.4569 2.18325 14.2631 2.18325H12.7285C12.6419 2.18325 12.5651 2.12746 12.5383 2.04506L12.064 0.585362ZM3.99083 3.72199C3.8182 3.63404 3.63389 3.81837 3.72184 3.991L4.43172 5.38417C4.47106 5.46138 4.45621 5.55513 4.39494 5.61639L3.28957 6.72177C3.15257 6.85877 3.27093 7.09104 3.46229 7.06072L5.00624 6.8161C5.09183 6.80254 5.17641 6.84564 5.21574 6.92284L5.92552 8.31588C6.01348 8.48851 6.27095 8.44773 6.30126 8.25637L6.54584 6.71219C6.5594 6.62661 6.62651 6.55949 6.71209 6.54594L8.25619 6.30136C8.44755 6.27105 8.48833 6.01358 8.3157 5.92562L6.92266 5.21584C6.84545 5.1765 6.80236 5.09192 6.81592 5.00634L7.06055 3.46236C7.09086 3.271 6.8586 3.15264 6.72159 3.28964L5.61621 4.39497C5.55494 4.45623 5.4612 4.47108 5.384 4.43175L3.99083 3.72199ZM0.585336 12.2186C0.401079 12.1587 0.40108 11.898 0.585336 11.8381L2.15736 11.3273C2.23976 11.3005 2.29555 11.2238 2.29555 11.1371V9.48437C2.29555 9.29062 2.54349 9.21007 2.65736 9.36682L3.62876 10.704C3.67969 10.7741 3.76997 10.8034 3.85238 10.7767L5.42437 10.2659C5.60863 10.206 5.76186 10.4169 5.64797 10.5737L4.67638 11.9108C4.62544 11.9809 4.62544 12.0758 4.67638 12.1459L5.64799 13.4831C5.76188 13.6398 5.60866 13.8507 5.42439 13.7909L3.85237 13.2801C3.76996 13.2533 3.67969 13.2827 3.62876 13.3528L2.65736 14.6899C2.54348 14.8467 2.29555 14.7661 2.29555 14.5724V12.9196C2.29555 12.8329 2.23976 12.7562 2.15736 12.7294L0.585336 12.2186ZM3.72183 19.8201C3.63388 19.9927 3.81821 20.177 3.99083 20.0891L5.38403 19.3793C5.46123 19.3399 5.55498 19.3548 5.61625 19.416L6.7217 20.5215C6.8587 20.6585 7.09096 20.5401 7.06066 20.3488L6.81614 18.8047C6.80259 18.7191 6.84567 18.6346 6.92287 18.5952L8.31577 17.8854C8.48839 17.7975 8.44761 17.54 8.25625 17.5097L6.71214 17.2651C6.62656 17.2516 6.55945 17.1845 6.54589 17.0989L6.30125 15.5548C6.27094 15.3634 6.01346 15.3226 5.92551 15.4953L5.21586 16.8883C5.17653 16.9655 5.09194 17.0086 5.00635 16.995L3.46229 16.7503C3.27093 16.72 3.15257 16.9523 3.28956 17.0893L4.39489 18.1947C4.45615 18.2559 4.471 18.3497 4.43167 18.4269L3.72183 19.8201ZM12.064 23.1204C12.0041 23.3047 11.7434 23.3047 11.6836 23.1205L11.2092 21.6608C11.1824 21.5784 11.1056 21.5226 11.019 21.5226H9.48438C9.29063 21.5226 9.21008 21.2746 9.36683 21.1608L10.6085 20.2587C10.6786 20.2078 10.7079 20.1175 10.6811 20.0351L10.2068 18.5756C10.1469 18.3914 10.3578 18.2381 10.5146 18.352L11.7562 19.254C11.8263 19.3049 11.9212 19.3049 11.9913 19.254L13.2329 18.352C13.3897 18.2381 13.6006 18.3914 13.5407 18.5756L13.0664 20.0351C13.0396 20.1175 13.069 20.2078 13.1391 20.2587L14.3807 21.1608C14.5374 21.2746 14.4569 21.5226 14.2631 21.5226H12.7284C12.6418 21.5226 12.565 21.5784 12.5382 21.6608L12.064 23.1204ZM19.8201 20.0892C19.9927 20.1771 20.177 19.9928 20.0891 19.8201L19.3792 18.4271C19.3399 18.3499 19.3547 18.2562 19.416 18.1949L20.5214 17.0893C20.6584 16.9523 20.54 16.72 20.3487 16.7504L18.8047 16.9951C18.7191 17.0086 18.6345 16.9655 18.5951 16.8883L17.8854 15.4953C17.7975 15.3226 17.54 15.3634 17.5097 15.5548L17.2651 17.0989C17.2515 17.1845 17.1844 17.2516 17.0989 17.2652L15.5548 17.5097C15.3634 17.54 15.3226 17.7975 15.4953 17.8855L16.8882 18.5952C16.9654 18.6345 17.0085 18.7191 16.9949 18.8047L16.7503 20.3489C16.72 20.5403 16.9522 20.6587 17.0892 20.5217L18.1948 19.4162C18.256 19.3549 18.3498 19.3401 18.427 19.3794L19.8201 20.0892ZM23.4144 11.8382C23.5987 11.8981 23.5987 12.1588 23.4144 12.2187L21.8424 12.7295C21.76 12.7563 21.7042 12.8331 21.7042 12.9197V14.5726C21.7042 14.7663 21.4563 14.8469 21.3424 14.6901L20.3708 13.3528C20.3199 13.2827 20.2296 13.2534 20.1472 13.2802L18.5754 13.791C18.3911 13.8508 18.2379 13.64 18.3518 13.4832L19.3233 12.146C19.3742 12.0759 19.3742 11.981 19.3233 11.9109L18.3518 10.5737C18.2379 10.4169 18.3911 10.206 18.5754 10.2659L20.1473 10.7767C20.2297 10.8035 20.32 10.7742 20.3709 10.7041L21.3424 9.36682C21.4562 9.21007 21.7042 9.29062 21.7042 9.48437V11.1373C21.7042 11.2239 21.76 11.3007 21.8424 11.3275L23.4144 11.8382ZM20.089 3.99102C20.177 3.8184 19.9926 3.63407 19.82 3.72203L18.427 4.43183C18.3498 4.47116 18.2561 4.45632 18.1948 4.39506L17.0892 3.28965C16.9522 3.15266 16.7199 3.27102 16.7503 3.46238L16.9949 5.00635C17.0085 5.09194 16.9654 5.17652 16.8882 5.21585L15.4952 5.92558C15.3226 6.01354 15.3634 6.271 15.5547 6.30132L17.0988 6.54597C17.1844 6.55952 17.2515 6.62664 17.2651 6.71221L17.5096 8.25629C17.5399 8.44765 17.7974 8.48842 17.8854 8.31578L18.595 6.92281C18.6343 6.8456 18.71Line truncated
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

File renamed without changes.
+4 -1
View File
@@ -1,3 +1,6 @@
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.34783 12.9348V12.5015L9.03177 12.2052L1 4.67546L0.316059 5.405L1 4.67546V3.5H23V4.69448L15.4668 12.2277L15.1739 12.5206V12.9348L15.1739 21.5495L9.34783 23.0384V12.9348Z" stroke="#262626" stroke-width="2"/>
<mask id="path-1-inside-1_4312_6358" fill="white">
<path d="M0 3.5V4.67546C0 4.95187 0.114409 5.21595 0.316059 5.405L8.34783 12.9348V23.0384C8.34783 23.6911 8.96302 24.1689 9.59542 24.0073L15.4215 22.5184C15.8642 22.4052 16.1739 22.0064 16.1739 21.5495V12.9348L23.7071 5.40159C23.8946 5.21405 24 4.9597 24 4.69448V3.5C24 2.94772 23.5523 2.5 23 2.5H1C0.447715 2.5 0 2.94772 0 3.5Z"/>
</mask>
<path d="M23.7071 5.40159L25.1213 6.8158V6.8158L23.7071 5.40159ZM16.1739 12.9348L14.7597 11.5206L14.1739 12.1064V12.9348H16.1739ZM15.4215 22.5184L14.9263 20.5806H14.9263L15.4215 22.5184ZM9.59542 24.0073L10.0906 25.945L10.0906 25.945L9.59542 24.0073ZM8.34783 12.9348H10.3478V12.0683L9.71571 11.4757L8.34783 12.9348ZM0.316059 5.405L1.68394 3.94593L1.68394 3.94593L0.316059 5.405ZM2 4.67546V3.5H-2V4.67546H2ZM1 4.5H23V0.5H1V4.5ZM22 3.5V4.69448H26V3.5H22ZM22.2929 3.98737L14.7597 11.5206L17.5881 14.349L25.1213 6.8158L22.2929 3.98737ZM14.1739 12.9348V21.5495H18.1739V12.9348H14.1739ZM14.9263 20.5806L9.10023 22.0695L10.0906 25.945L15.9167 24.4561L14.9263 20.5806ZM10.3478 23.0384V12.9348H6.34783V23.0384H10.3478ZM9.71571 11.4757L1.68394 3.94593L-1.05182 6.86408L6.97994 14.3939L9.71571 11.4757ZM9.10023 22.0695C9.73263 21.9079 10.3478 22.3857 10.3478 23.0384H6.34783C6.34783 24.9966 8.19341 26.4298 10.0906 25.945L9.10023 22.0695ZM22 4.69448C22 4.42927 22.1054 4.17491 22.2929 3.98738L25.1213 6.8158C25.6839 6.25319 26 5.49013 26 4.69448H22ZM23 4.5C22.4477 4.5 22 4.05229 22 3.5H26C26 1.84314 24.6569 0.5 23 0.5V4.5ZM2 3.5C2 4.05228 1.55228 4.5 1 4.5V0.5C-0.656854 0.5 -2 1.84315 -2 3.5H2ZM14.1739 21.5495C14.1739 21.0926 14.4836 20.6938 14.9263 20.5806L15.9167 24.4561C17.2448 24.1167 18.1739 22.9203 18.1739 21.5495H14.1739ZM-2 4.67546C-2 5.50469 -1.65677 6.29693 -1.05182 6.86408L1.68394 3.94593C1.88559 4.13497 2 4.39905 2 4.67546H-2Z" fill="#262626" mask="url(#path-1-inside-1_4312_6358)"/>
</svg>

Before

Width:  |  Height:  |  Size: 321 B

After

Width:  |  Height:  |  Size: 1.9 KiB

+1 -1
View File
@@ -1,3 +1,3 @@
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.00966 7.69902L10.4929 3.17357C10.7697 2.81386 11.0777 2.49229 11.41 2.20971C8.17802 0.018759 3.5804 0.85612 1.36332 4.29804C-0.845834 7.72765 -0.334697 12.287 2.63896 15.1058L10.178 22.2522C11.2736 23.2908 13.0078 23.2414 14.0421 22.1422C14.431 21.7289 14.6631 21.2275 14.7436 20.7084C15.3376 20.6483 15.9128 20.3764 16.3457 19.8968C16.6899 19.5156 16.895 19.057 16.9637 18.5837C17.4775 18.5068 17.9704 18.2651 18.357 17.861L18.401 17.8149C18.7399 17.4607 18.951 17.0321 19.0368 16.5853C19.6275 16.5392 20.2054 16.2938 20.6616 15.8497C21.1381 15.3859 21.4259 14.8774 21.4474 14.1754C21.4689 13.4734 21.0626 13.0359 21.0626 13.0359L17.5861 9.06919L16.375 7.71875L13.5162 10.7833C12.4104 11.9687 10.5628 12.0612 9.34409 10.992L7.14262 9.06068C6.74616 8.71287 6.68797 8.11695 7.00966 7.69902ZM11.8334 3.67844L9.00765 7.43908C8.70103 7.84714 8.75094 8.42061 9.12342 8.76958L9.97504 9.56741C10.7823 10.3237 12.05 10.2811 12.8047 9.47234L16.4531 5.5625L22.0625 12.1875C24.8854 9.47881 24.5841 4.87943 21.4319 2.5622L21.0946 2.31429C18.1555 0.153665 14.0247 0.762115 11.8334 3.67844Z" fill="#262626"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.00966 7.69902L10.4929 3.17357C10.7697 2.81386 11.0777 2.49229 11.41 2.20971C8.17802 0.0187588 3.5804 0.85612 1.36332 4.29804C-0.845834 7.72765 -0.334697 12.287 2.63896 15.1058L10.178 22.2522C11.2736 23.2908 13.0078 23.2414 14.0421 22.1422C14.431 21.7289 14.6631 21.2275 14.7436 20.7084C15.3376 20.6483 15.9128 20.3764 16.3457 19.8968C16.6899 19.5156 16.895 19.057 16.9637 18.5837C17.4775 18.5068 17.9704 18.2651 18.357 17.861L18.401 17.8149C18.7399 17.4607 18.951 17.0321 19.0368 16.5853C19.6275 16.5392 20.2054 16.2938 20.6616 15.8497C21.1381 15.3859 21.4259 14.8774 21.4474 14.1754C21.4689 13.4734 21.0626 13.0359 21.0626 13.0359L17.5861 9.06919L16.375 7.71875L13.5162 10.7833C12.4104 11.9687 10.5628 12.0612 9.34409 10.992L7.14262 9.06068C6.74616 8.71287 6.68797 8.11695 7.00966 7.69902ZM11.8334 3.67844L9.00765 7.43908C8.70103 7.84714 8.75094 8.42061 9.12342 8.76958L9.97504 9.56741C10.7823 10.3237 12.05 10.2811 12.8047 9.47234L16.4531 5.5625L22.0625 12.1875C24.8854 9.47881 24.5841 4.87943 21.4319 2.5622L21.0946 2.31429C18.1555 0.153665 14.0247 0.762115 11.8334 3.67844Z" fill="#262626"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

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