@oslokommune/punkt-css 0.21.6 → 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 CHANGED
@@ -3,6 +3,25 @@
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
+
14
+ # [0.22.0](https://github.com/oslokommune/punkt/compare/v0.21.7...v0.22.0) (2023-02-23)
15
+
16
+
17
+ ### Features
18
+
19
+ * **css:** [#659](https://github.com/oslokommune/punkt/issues/659) - Lagt på prefix på hjelpeklasser ([f95daec](https://github.com/oslokommune/punkt/commit/f95daece763b74f4197492a8623d421e48ef62b5))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [0.21.6](https://github.com/oslokommune/punkt/compare/v0.21.5...v0.21.6) (2023-02-20)
7
26
 
8
27
  **Note:** Version bump only for package @oslokommune/punkt-css
package/CONTRIBUTING.md CHANGED
@@ -1,11 +1,11 @@
1
- ## Guide til hvordan du kan bidra
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](https://punkt.oslo.kommune.no/latest/bidra/index).
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
- ### Litt mer detaljer om SCSS-folderen
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
- Enn så lenge må du bevege deg til `packages/css` og kjøre script fra der.
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
- ```sh
104
- npm install
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
- Vi bruker cli til å legge til svg'er i test-appen.
109
- Legg inn ønsket ikon i `dev/punkt.config.json`, kjør `punkt svg sprite` så vil den være tilgjengelig globalt ved å bruke komponenten `pkt-icon`.
96
+ Et utdrag fra rot-package.json viser noen scripts som er satt opp for å forenkle
97
+ utvikling i dette subrepoet:
110
98
 
111
- ```html
112
- <pkt-icon
113
- name="oslologo"
114
- viewBox="0 0 60 31"
115
- ></pkt-icon>
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
- Legg til ny komponent ved å lage en html-fil i components-mappen.
119
- Legg til komponenten i navigasjonen i `main.js` og legg til en `option` i `select` som du finner i `index.html`
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
- ### 5. GitHub Message
122
- Når du er klar for en PR skriv din GitHub-message med issue-nummer og [asset], [docs] eller [repo]:
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
- [#NNN][docs] Oppdater dokumentasjonen
126
- [#NNN][assets] Legg til nytt ikon
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 @oslokommune/punkt-css
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 (lagt til i 0.10.0)
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` + `Vite`.
36
+ Eksempelet under viser installasjon i en applikasjon med `Vue 3` + `Vite`.
38
37
 
39
- ### 1. Installer designsystemet
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
- margin-bottom: map.get(variables.$spacing, "size-30");
131
- height: 12rem;
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
- ### Oppbygging
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 | En ganske liten normalisering for å ha en felles baseline |
151
- | Base | Grunnleggende moduler som farger, grid, fonter, tekststiler, mm. |
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
- #### Noen ord om abstracts
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
- Folderen `/variables` er en samling Sass-variabler skrevet på formen
165
- [Sass maps](https://sass-lang.com/documentation/modules/map). Dette
166
- gir en fin måte å kategorisere variablene og gir mulighet for nested
165
+ #### Variables
166
+
167
+ Folderen `/variables` er en samling Sass-variabler skrevet 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
- 'mobile': 0,
174
- 'phablet': 36rem /* ~576px */,
175
- 'tablet': 48rem /* ~768px */,
176
- 'tablet-big': 64rem /* ~1024px */,
177
- 'laptop': 80rem /* ~1280px */,
178
- 'desktop': 100rem /* ~1600px */,
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
- ## CDN
186
-
187
- De statiske ressursene vil finnes i en versjonert folder under
188
- https://cdn.punkt.oslo.kommune.no/, slik at du kan ha full tillit til at de
189
- kommer til å være stabile og tilgjengelige i lang tid. Her finnes de ferdig
190
- genererte css-filene oppdelt i moduler eller komplett. I tillegg finnes
191
- generert css for hver enkelt komponent under `css/components`.
192
-
193
- | Filnavn | Url |
194
- |:------------------|:----------------------------------------------------------------------|
195
- | Komplett | https://cdn.punkt.oslo.kommune.no/latest/css/pkt.css |
196
- | | https://cdn.punkt.oslo.kommune.no/latest/css/pkt.min.css |
197
- | Normalisering | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-normalise.css |
198
- | | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-normalise.min.css |
199
- | Modul Base | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-base.css |
200
- | | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-base.min.css |
201
- | Modul Elementer | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-elements.css |
202
- | | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-elements.min.css |
203
- | Modul Komponenter | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-components.css |
204
- | | https://cdn.punkt.oslo.kommune.no/latest/css/pkt-components.min.css |
205
- | Alert komponent | https://cdn.punkt.oslo.kommune.no/latest/css/components/alert.css |
206
- | | https://cdn.punkt.oslo.kommune.no/latest/css/components/alert.min.css |
207
-
208
-
209
- Versjoner følger eksakt de samme versjonene som NPM-pakkene, slik at du har
210
- oversikt over dem i GitHub repositoriet. I tillegg kan du bruke `/latest`
211
- for å alltid peke mot nyeste versjon, med all gleder og sorger det kan føre
212
- med seg.
213
-
214
- **NB!** Alt som kommer fra _versjonerte_ endepunkter på CDN blir cachet i
215
- 1 år vha. http-headeren `cache-control` sitt `max-age`-attributt.
188
+ #### Functions
189
+
190
+ Nedenfor er et eksempel 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 flere steder i stilsettet ditt.
213
+ Se eksempel nedenfor 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
 
@@ -9583,15 +9583,15 @@ a:active {
9583
9583
  /*
9584
9584
  * Alignment
9585
9585
  */
9586
- .text-start {
9586
+ .pkt-txt-start {
9587
9587
  text-align: left !important;
9588
9588
  }
9589
9589
 
9590
- .text-end {
9590
+ .pkt-txt-end {
9591
9591
  text-align: right !important;
9592
9592
  }
9593
9593
 
9594
- .text-center {
9594
+ .pkt-txt-center {
9595
9595
  text-align: center !important;
9596
9596
  }
9597
9597
 
@@ -9599,7 +9599,7 @@ a:active {
9599
9599
  * Truncate text
9600
9600
  * requires inline-block or block
9601
9601
  */
9602
- .truncate-text {
9602
+ .pkt-truncate-txt {
9603
9603
  overflow: hidden;
9604
9604
  text-overflow: ellipsis;
9605
9605
  white-space: nowrap;
@@ -9710,7 +9710,7 @@ a:active {
9710
9710
  * Accessibility
9711
9711
  * https://kittygiraudel.com/2016/10/13/css-hide-and-seek/#undesirable-overflows-18012019
9712
9712
  */
9713
- .sr-only {
9713
+ .pkt-sr-only {
9714
9714
  border: 0 !important;
9715
9715
  clip: rect(1px, 1px, 1px, 1px) !important;
9716
9716
  -webkit-clip-path: inset(50%) !important;