@oslokommune/punkt-css 0.22.0 → 0.22.1
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.
- package/CHANGELOG.md +8 -0
- package/CONTRIBUTING.md +23 -31
- package/README.md +183 -67
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.22.1](https://github.com/oslokommune/punkt/compare/v0.22.0...v0.22.1) (2023-02-23)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @oslokommune/punkt-css
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [0.22.0](https://github.com/oslokommune/punkt/compare/v0.21.7...v0.22.0) (2023-02-23)
|
|
7
15
|
|
|
8
16
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Hvordan bidra - CSS ⭐
|
|
2
2
|
|
|
3
3
|
Vi er veldig happy med at du vurderer å bidra! Om du er usikker på noe som helst,
|
|
4
4
|
ta kontakt. Eller bare send inn den buggen eller PRen uansett. Verste som skjer
|
|
5
5
|
er at vi høflig ber deg endre på noe. **Vi setter pris på alle hyggelige bidrag!**
|
|
6
6
|
|
|
7
7
|
Vi oppfordrer deg til å starte med å lese vår
|
|
8
|
-
[overordnede guide for å bidra](
|
|
8
|
+
[overordnede guide for å bidra](/kom-i-gang/bidra/).
|
|
9
9
|
|
|
10
10
|
Happy coding!
|
|
11
11
|
|
|
@@ -46,7 +46,7 @@ Happy coding!
|
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
###
|
|
49
|
+
### SCSS
|
|
50
50
|
|
|
51
51
|
Skal du jobbe med CSS-rammeverket er dette stedet å starte.
|
|
52
52
|
|
|
@@ -85,45 +85,37 @@ $breakpoints: (
|
|
|
85
85
|
'desktop': 100rem /* ~1600px */,
|
|
86
86
|
) !default;
|
|
87
87
|
```
|
|
88
|
-
## Nyttige script
|
|
89
88
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
```sh
|
|
93
|
-
npm install # Installer avhengigheter
|
|
94
|
-
npm run watch # Bygger koden til ./dist/ hver gang filer under ./src/ oppdateres
|
|
95
|
-
npm run build # Bygger koden til ./dist/
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
### 4. Testing
|
|
89
|
+
## Testing
|
|
100
90
|
|
|
101
91
|
Test css-komponentene i Vite-appen, kjør:
|
|
102
92
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
npm run dev
|
|
106
|
-
```
|
|
93
|
+
Punkt er et monorepo og bruker `lerna`. Det betyr at alle kommandoer kjører
|
|
94
|
+
fra repoets rot, og ikke i subrepoene.
|
|
107
95
|
|
|
108
|
-
|
|
109
|
-
|
|
96
|
+
Et utdrag fra rot-package.json viser noen scripts som er satt opp for å forenkle
|
|
97
|
+
utvikling i dette subrepoet:
|
|
110
98
|
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
99
|
+
```sh
|
|
100
|
+
"scripts": {
|
|
101
|
+
"build-css": "npx lerna run build --scope=@oslokommune/punkt-css",
|
|
102
|
+
"build-css-app": "npx lerna run build-app --scope=@oslokommune/punkt-css",
|
|
103
|
+
"dev-css": "npx lerna run dev --scope=@oslokommune/punkt-css",
|
|
104
|
+
}
|
|
116
105
|
```
|
|
117
106
|
|
|
118
|
-
|
|
119
|
-
|
|
107
|
+
## Lag PR
|
|
108
|
+
Når du er klar for en PR skriv din GitHub-message som sier hva som er gjort, og evt issue nummer.
|
|
120
109
|
|
|
121
|
-
|
|
122
|
-
|
|
110
|
+
Vi bruker [Conventional Commits](https://www.conventionalcommits.org/) for å beskrive commits gjennom
|
|
111
|
+
noen regler. Ingen fare om du ikke følger den, vi tar en gjennomgang og evt justerer 😎.
|
|
123
112
|
|
|
124
113
|
```sh
|
|
125
|
-
|
|
126
|
-
|
|
114
|
+
# fix(vue2): #NR Rett feil på alert-komponenten # med issuenummer
|
|
115
|
+
fix(vue2): Rett feil på alert-komponenten # patcher en bug i koden (patch i Semantic Versioning)
|
|
116
|
+
feat(vue2): Legg til funksjonalitet # ny funksjonalitet i koden (minor i Semantic Versioning)
|
|
117
|
+
feat(vue2)!: Legg til funksjonalitet og endre eksisterende # breaking change i koden (major i Semantic Versioning)
|
|
118
|
+
docs: Endre dokumentasjon # Endring i dokumentasjon
|
|
127
119
|
```
|
|
128
120
|
|
|
129
121
|
## Publisering og versjonering
|
package/README.md
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
## Bruk av
|
|
1
|
+
## Bruk av punkt-css
|
|
2
2
|
|
|
3
3
|
<a href="https://www.npmjs.com/package/@oslokommune/punkt-css" target="_blank"><img src="https://img.shields.io/npm/v/@oslokommune/punkt-css?logo=sass&label=css&style=for-the-badge&color=bf4080" alt="CSS-rammeverk" /></a>
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
Denne pakken inneholder CSS-rammeverket som gjenspeiler skissene i Figma. Det er ikke automatikk mellom Figma og denne koden, så kode vil som regel henge litt etter hva som oppdateres i Figma.
|
|
7
6
|
|
|
8
7
|
## Innhold
|
|
9
8
|
|
|
10
9
|
```sh
|
|
11
10
|
@oslokommune/punkt-css
|
|
12
|
-
├── dist/ # Distribusjonsversjonen av pakken
|
|
11
|
+
├── dist/ # Distribusjonsversjonen av pakken
|
|
13
12
|
| ├── css/ # generert css
|
|
14
13
|
| | ├── components/ # hver komponent separat
|
|
15
|
-
| | | ├── alert.css # komponent alert
|
|
14
|
+
| | | ├── alert.css # komponent alert
|
|
16
15
|
| | | └── ...
|
|
17
16
|
| | ├── pkt.css # alle moduler
|
|
18
17
|
| | ├── pkt.min.css # alle moduler minimert
|
|
@@ -32,16 +31,20 @@ Denne pakken inneholder CSS-rammeverket som gjenspeiler skissene i Figma. Det er
|
|
|
32
31
|
└── README.md # kom i gang-informasjon
|
|
33
32
|
```
|
|
34
33
|
|
|
35
|
-
## 🚀 Kom i gang
|
|
34
|
+
## 🚀 Kom i gang - npm
|
|
36
35
|
|
|
37
|
-
Eksempelet under viser installasjon i en applikasjon med `Vue 3
|
|
36
|
+
Eksempelet under viser installasjon i en applikasjon med `Vue 3` + `Vite`.
|
|
38
37
|
|
|
39
|
-
### 1. Installer
|
|
38
|
+
### 1. Installer punkt-css
|
|
39
|
+
For å kunne bruke logo, ikoner og fonter med CSS-pakken må du installere punkt-assets
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
42
|
npm add -D sass # Viktig å bruke denne og ikke node-sass
|
|
43
43
|
npm add @oslokommune/punkt-css
|
|
44
44
|
```
|
|
45
|
+
```sh
|
|
46
|
+
npm add @oslokommune/punkt-assets
|
|
47
|
+
```
|
|
45
48
|
|
|
46
49
|
### 2. Opprett en scss-fil
|
|
47
50
|
|
|
@@ -121,98 +124,211 @@ Legg til logo -->
|
|
|
121
124
|
/>
|
|
122
125
|
|
|
123
126
|
<style lang="scss">
|
|
124
|
-
/* Legg til moduler */
|
|
125
|
-
@use "sass:map";
|
|
126
|
-
@use "@oslokommune/punkt-css/dist/scss/abstracts/variables";
|
|
127
|
-
|
|
128
|
-
/* Legg til klassen for logoen */
|
|
129
|
-
.oslologo {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
127
|
+
/* Legg til moduler */
|
|
128
|
+
@use "sass:map";
|
|
129
|
+
@use "@oslokommune/punkt-css/dist/scss/abstracts/variables";
|
|
130
|
+
|
|
131
|
+
/* Legg til klassen for logoen */
|
|
132
|
+
.oslologo {
|
|
133
|
+
margin-bottom: map.get(variables.$spacing, "size-30");
|
|
134
|
+
height: 12rem;
|
|
135
|
+
}
|
|
133
136
|
</style>
|
|
134
137
|
```
|
|
135
138
|
|
|
136
139
|
## CSS-rammeverket
|
|
137
140
|
|
|
138
|
-
### Nøkkelegenskaper
|
|
139
|
-
|
|
140
141
|
- Modulært - import modulene du selv ønsker.
|
|
141
142
|
- Må bruke css-klasser - ingen overstyring utenom å bruke OsloSans.
|
|
142
143
|
- Komponentbibliotekene bruker samme css.
|
|
143
144
|
- Sass abstracts gir ekstra nytteverdi for deg som bruker.
|
|
144
145
|
|
|
145
|
-
###
|
|
146
|
+
### Innhold
|
|
146
147
|
|
|
147
148
|
| Kategori | Beskrivelse |
|
|
148
|
-
|
|
149
|
+
| :--------- | :--------------------------------------------------------------------------------------- |
|
|
149
150
|
| Abstracts | Variabler, funksjoner, mixins: Alle Sass-verktøy som brukes på tvers av rammeverket |
|
|
150
|
-
| Normalise |
|
|
151
|
-
| Base | Grunnleggende moduler som farger, grid,
|
|
151
|
+
| Normalise | Normalisering for å ha en felles baseline |
|
|
152
|
+
| Base | Grunnleggende moduler som farger, grid, spacing, hjelpeklasser, mm. |
|
|
152
153
|
| Elements | HTML-elementer som er stylet, som knapper, lister og tabeller. |
|
|
153
154
|
| Components | Komponenter som kombinerer elementer og komponenter for å lage mer komplekse komponenter |
|
|
154
155
|
|
|
155
|
-
|
|
156
|
+
### Abstracts
|
|
156
157
|
|
|
157
|
-
Abstracts består av `/variables`, `/functions`, og `/mixins` og samler
|
|
158
|
-
alle globale Sass variabler og verktøy på tvers av rammeverket. Disse
|
|
158
|
+
Abstracts består av `/variables`, `/functions`, og `/mixins` og samler
|
|
159
|
+
alle globale Sass variabler og verktøy på tvers av rammeverket. Disse
|
|
159
160
|
er et fundament for resten av rammeverket.
|
|
160
161
|
|
|
161
|
-
Ingenting under denne folderen skal generere en eneste linje CSS når
|
|
162
|
+
Ingenting under denne folderen skal generere en eneste linje CSS når
|
|
162
163
|
den er kompilert på egen hånd. Disse er bare Sass hjelpeverktøy.
|
|
163
164
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
#### Variables
|
|
166
|
+
|
|
167
|
+
Folderen `/variables` er en samling Sass-variabler skrevet på formen
|
|
168
|
+
[Sass maps](https://sass-lang.com/documentation/modules/map). Dette
|
|
169
|
+
gir en fin måte å kategorisere variablene og gir mulighet for nested
|
|
167
170
|
maps.
|
|
168
171
|
|
|
169
172
|
```scss
|
|
170
173
|
/* abstracts/variables/_breakpoints.scss */
|
|
171
174
|
|
|
172
175
|
$breakpoints: (
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
"mobile": 0,
|
|
177
|
+
"phablet": 36rem /* ~576px */,
|
|
178
|
+
"tablet": 48rem /* ~768px */,
|
|
179
|
+
"tablet-big": 64rem /* ~1024px */,
|
|
180
|
+
"laptop": 80rem /* ~1280px */,
|
|
181
|
+
"desktop": 100rem /* ~1600px */,
|
|
179
182
|
) !default;
|
|
180
183
|
```
|
|
181
184
|
|
|
182
|
-
For prekompilerte `.css` er hver kategori pakket i en fil, mens for
|
|
185
|
+
For prekompilerte `.css` er hver kategori pakket i en fil, mens for
|
|
183
186
|
`.scss` kan hver modul brukes hver for seg.
|
|
184
187
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
188
|
+
#### Functions
|
|
189
|
+
|
|
190
|
+
Nedenfor er et eksempel på bruk av en SCSS `map-get`-funksjon. Den brukes til å hente ut verdier fra våre variabler.
|
|
191
|
+
|
|
192
|
+
Man kan hente verdier med denne funksjonen fra:
|
|
193
|
+
- [breakpoints](/ressurser/breakpoints)
|
|
194
|
+
- [colors](/ressurser/colors/kode)
|
|
195
|
+
- [spacing](/ressurser/spacing)
|
|
196
|
+
- [typografi](/ressurser/typografi/kode)
|
|
197
|
+
|
|
198
|
+
```scss
|
|
199
|
+
@use "sass:map";
|
|
200
|
+
@use "@oslokommune/punkt-css/scss/abstracts/variables";
|
|
201
|
+
|
|
202
|
+
.wrapper {
|
|
203
|
+
max-width: map.get(variables.$breakpoints, "phablet");
|
|
204
|
+
padding: map.get(variables.$spacing, "size-24");
|
|
205
|
+
background-color: map.get(variables.$colors, "color-red");
|
|
206
|
+
font-size: map.get(variables.$font-size, "size-54");
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### Mixins
|
|
211
|
+
|
|
212
|
+
Mixins er nyttige når du ønsker å gjenbruke en gruppe av CSS-regler på flere steder i stilsettet ditt.
|
|
213
|
+
Se eksempel nedenfor på hva som finnes i Punkt:
|
|
214
|
+
|
|
215
|
+
**Breakpoints**
|
|
216
|
+
|
|
217
|
+
```scss
|
|
218
|
+
@use '@oslokommune/punkt-css/scss/abstracts/mixins/breakpoints' as *;
|
|
219
|
+
|
|
220
|
+
@include bp('phablet') { /* 576 til 767px */
|
|
221
|
+
...;
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Typografi**
|
|
226
|
+
|
|
227
|
+
```scss
|
|
228
|
+
@use "@oslokommune/punkt-css/dist/scss/abstracts/mixins/typography" as *;
|
|
229
|
+
|
|
230
|
+
.page-header {
|
|
231
|
+
@include get-text("pkt-txt-40-light");
|
|
232
|
+
margin-top: 0.6em;
|
|
233
|
+
margin-bottom: 0.4em;
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Les mer om [breakpoints](/ressurser/breakpoints) og [typografi](/ressurser/typografi).
|
|
238
|
+
|
|
239
|
+
### Normalise
|
|
240
|
+
|
|
241
|
+
De fleste applikasjoner i dag bruker en eller annen form for normalisering eller reset. Dette gjør vi for å gi en mer konsistent utseende og oppførsel av HTML-elementer på tvers av ulike nettlesere.
|
|
242
|
+
Nettlesere har sin egen innebygde stil, og disse stilene varierer fra nettleser til nettleser. For eksempel kan margins, padding og linjehøyde variere.
|
|
243
|
+
|
|
244
|
+
Normaliseringen vi gjør i Punkt er forsøkt gjort så liten som mulig.
|
|
245
|
+
|
|
246
|
+
[Se i koden](https://github.com/oslokommune/punkt/blob/main/packages/css/src/scss/normalise/_index.scss) for hva som er normalisert i Punkt.
|
|
247
|
+
|
|
248
|
+
### Base
|
|
249
|
+
|
|
250
|
+
Vår base har Oslo kommune-stiler som typografi, farger, spacing og hjelpeklasser som for eksempel synlighet og screen-readers-only.
|
|
251
|
+
|
|
252
|
+
Les mer om:
|
|
253
|
+
|
|
254
|
+
- [Farger](/ressurser/colors)
|
|
255
|
+
- [Typografi](/ressurser/typografi)
|
|
256
|
+
- [Spacing](/ressurser/spacing)
|
|
257
|
+
- [Grid](/ressurser/grid)
|
|
258
|
+
|
|
259
|
+
#### Hjelpeklasser
|
|
260
|
+
|
|
261
|
+
| Type | Klassenavn | Modifier / Helper | Beskrivelse |
|
|
262
|
+
| ----------------- | --------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------- |
|
|
263
|
+
| Synlighet | .pkt-show, .pkt-hide | `-{synlighet}`-`{breakpoint}-up` | |
|
|
264
|
+
| Tekstjustering | .pkt-txt-start, .pkt-txt-center, .pkt-txt-end | | |
|
|
265
|
+
| Screenreader only | .pkt-sr-only | | Innholdet blir skjult visuelt, men kan leses av skjermleser |
|
|
266
|
+
| Avkortning | .pkt-truncate-text | | Krever `display: inline-block` eller `display: block` |
|
|
267
|
+
| Container | .pkt-container | `--full`, `{--breakpoint}`, `{--alignment}` | |
|
|
268
|
+
|
|
269
|
+
##### Eksempler
|
|
270
|
+
|
|
271
|
+
**Synlighet**
|
|
272
|
+
|
|
273
|
+
```html
|
|
274
|
+
<!-- Skjul innholdet fra tablet og opp -->
|
|
275
|
+
<p class="pkt-hide-tablet-up">...</p>
|
|
276
|
+
|
|
277
|
+
<!-- Vis innholdet fra phablet og opp -->
|
|
278
|
+
<p class="pkt-hide pkt-show-phablet-up">...</p>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Tekstjustering**
|
|
282
|
+
|
|
283
|
+
```html
|
|
284
|
+
<p class="pkt-txt-start">Venstrejustert tekst.</p>
|
|
285
|
+
<p class="pkt-txt-center">Senterjustert tekst.</p>
|
|
286
|
+
<p class="pkt-txt-end">Høyrejustert tekst.</p>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Screenreader only**
|
|
290
|
+
|
|
291
|
+
```html
|
|
292
|
+
<h2 class="pkt-sr-only">Tittel for skjermlesere</div>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**Avkorting**
|
|
296
|
+
|
|
297
|
+
```html
|
|
298
|
+
<div class="pkt-row">
|
|
299
|
+
<div class="pkt-col-4 pkt-truncate-text">
|
|
300
|
+
Oslo Origo er en kommunal etat i Oslo kommune, opprettet 1. januar 2020.
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Container**
|
|
306
|
+
|
|
307
|
+
```html
|
|
308
|
+
<main class="pkt-container pkt-container--right">
|
|
309
|
+
<section><p>innhold</p></section>
|
|
310
|
+
</main>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Elements
|
|
314
|
+
|
|
315
|
+
I et designsystem refererer elementer og komponenter til forskjellige nivåer av gjenbrukbarhet og abstraksjon i koden.
|
|
316
|
+
Elementer er de minste byggeklossene i vårt designsystem, som for eksempel pkt-list eller pkt-section.
|
|
317
|
+
|
|
318
|
+
```html
|
|
319
|
+
<div class="pkt-section--grey p-size-20">
|
|
320
|
+
<p class="pkt-txt-18-medium">Lista:</p>
|
|
321
|
+
<ul class="pkt-list">
|
|
322
|
+
<li>listelement</li>
|
|
323
|
+
</ul>
|
|
324
|
+
</div>
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Components
|
|
328
|
+
|
|
329
|
+
Komponenter er sammensatte elementer som består av en gruppe av elementer og/eller andre komponenter. De representerer en mer kompleks visuell enhet, som en knapp eller en alert-boks. Komponenter har vanligvis flere egenskaper og kan ha flere avhengigheter, og dermed har de en mer kompleks struktur enn elementer.
|
|
330
|
+
|
|
331
|
+
Alle våre komponenter er dokumentert [under komponenter](/komponenter/om-komponenter).
|
|
216
332
|
|
|
217
333
|
## 👮 Lisens
|
|
218
334
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-css",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"description": "CSS-rammeverket til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"watch": "chokidar \"src/scss/**/*\" -c \"npm run build\""
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@oslokommune/punkt-assets": "^0.22.
|
|
24
|
+
"@oslokommune/punkt-assets": "^0.22.1",
|
|
25
25
|
"astro": "^2.0.2",
|
|
26
26
|
"chokidar-cli": "^3.0.0",
|
|
27
27
|
"edit-json-file": "^1.7.0",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
58
58
|
},
|
|
59
59
|
"license": "MIT",
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "0ba5e075589c4eb7a6307106d19f90640e5b4553"
|
|
61
61
|
}
|