nve-designsystem 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,11 @@ const config: StorybookConfig = {
7
7
  name: '@storybook/web-components-vite',
8
8
  options: {},
9
9
  },
10
+ previewHead: (head) => `
11
+ ${head}
12
+ <link rel="stylesheet" href="../src/styles/global.css" />
13
+ <link rel="stylesheet" href="../../../build/css/varsom.css" />
14
+ `,
10
15
  docs: {
11
16
  autodocs: 'tag',
12
17
  },
package/README.md CHANGED
@@ -1,8 +1,75 @@
1
- Hei.
2
- Prosjekt importerer shoelace npm pakke, bruker ikke shoelace cdn.
3
- Kjør npm run dev for utvikling.
4
- For å starte storybook kjør npm run storybook. Man trenger ikke å bygge først (kan være at det må fikses senere hvis det trengs).
5
- Styling på knappene er ikke helt ferdig (se f.eks. rammer når man hover over).
6
- Etter et forsøk mappinga av ds tokene til shoelace tokene, foreslår jeg at vi bruker kun våre tokene uten mapping. Det
7
- blir alt for forvirrende men også ikke fungerer helt bra, siden noen tokene overskriver hverandre og fargene vil ikke passe akkurat som i nve sitt ds. Det er også veldig enkelt å style utvidet komponenter for man må ikke style shadow domen men kjøre styling direkte på klassene til komponentene. Akkurat nå så er styling på knappen i nve-button.ts men kan flyttes til separat style fil.
8
- Har man lyst til å teste en komponent via index.html må man huske å legge til script tag med komponenten som f.eks. <script type="module" src="/src/nve-button.ts"></script>
1
+ # NVE Designsystem
2
+
3
+ Dette repository inneholder css generert fra Figma-tokens og komponentbibliotek basert på Shoelace [( Shoelace dokumentasjon)](https://shoelace.style/).
4
+ [Lenke til npm-pakke.](https://www.npmjs.com/package/nve-designsystem)
5
+
6
+ ## Skal du bruke NVE designsystem? Denne seksjonen er for deg.
7
+
8
+ ### **Oppsett i Vue**
9
+
10
+ 1. Install pakke med `npm i nve-designsystem`.
11
+
12
+ 2. I vite.config file (lagre en ny fila hvis den ikke eksisterer i root mappe) legg inn isCustomElement som skal si til Vue at det er en customElement, og droppe component resolution [(les mer her)](https://vuejs.org/guide/extras/web-components.html)
13
+
14
+ ```
15
+ export default defineConfig({
16
+ plugins: [
17
+ vue({
18
+ template: {
19
+ compilerOptions: {
20
+ isCustomElement: (tag) => tag.includes('nve-'),
21
+ },
22
+ },
23
+ }),
24
+ ```
25
+
26
+ 3. Import styles fra global.css i enten main.ts eller index.html.
27
+
28
+ ```
29
+ import 'nve-designsystem/src/styles/global.css';
30
+ ```
31
+
32
+ 4. I tillegg trenger du å importere en .css fil med nve variabler. Filene finnes i `nve-designsystem/build/css/` mappe. Man kan bestemme selv hvilken tema man vil bruke og hvordan implementere eventuelt switch mellom lys og mørk tema. Eksempel på varsom tema import i main.ts fila:
33
+
34
+ ```
35
+ import 'nve-designsystem/build/css/varsom.css';
36
+ ```
37
+
38
+ ### **Eksempel på bruk av komponent**
39
+
40
+ ```
41
+ <template>
42
+ <nve-button variant="primary" size="small" @click="send">Button</nve-button>
43
+ <template>
44
+
45
+ <script setup lang="ts">
46
+ import { NveButton } from 'nve-designsystem/src/components/nve-button/nve-button';
47
+ </script>
48
+ ```
49
+
50
+ Husk å alltid bruke både opening og closing tag individuelt, (`<nve-button />` skal ikke fungere).
51
+
52
+ ### **Storybook**
53
+
54
+ Komponentene kan ses og testes i Storybook med ulike parametere og varianter: https://main--65322c4ee3062d1c117bb2d5.chromatic.com/
55
+
56
+ ## Skal du utvikle NVE designsystem? Denne seksjonen er for deg.
57
+
58
+ ### **Bygge css**
59
+
60
+ For å bygge css filer som inneholder verdier basert på tokens fra Figma, kjør følgende kommando: "npm run tokenbuild." <br>
61
+
62
+ ### **npm**
63
+
64
+ For å publisere på npm, må man oppdatere versjonsnr. i package.json og package-lock.json. Deretter kjør kommando `npm publish --access public`. Dette krever at man er innlogget på npm. For at CSS-variabler skal være tilgjengelig i npm-pakken, må css-filer kopieres. Dette gjøres ved å kjøre kommando `npm run copy-files`.
65
+
66
+ ### **Kjøremiljø**
67
+
68
+ Prosjekt importerer shoelace npm pakke. Kjør `npm run dev` for utvikling.
69
+ For å teste en komponent i main.ts må man huske å legge til script tag med komponenten i index.html fila som f.eks. <script type="module" src="/src/nve-button.ts"></script>
70
+
71
+ ### Storybook
72
+
73
+ For å kjøre Storybook lokalt, kjør `npm run storybook`
74
+
75
+ For å publisere Storybook på Chromatic, kjør `npm run build; npm run build-storybook`. Deretter må det kjøres en kommando med project token fra Chromatic: `npx chromatic --project-token=\<project-token\>`