@skagerakenergi/design 0.8.0 → 0.10.0

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/INSTRUCTIONS.md CHANGED
@@ -930,6 +930,7 @@ Provides spacing utilities, breakpoint classes, responsive margins, an app shell
930
930
 
931
931
  Implements the M3 navigation region + body region window split. Required whenever `se-nav-rail` is used.
932
932
 
933
+ **Pattern A — simple body** (content scrolls as one unit):
933
934
  ```html
934
935
  <div class="se-app-shell">
935
936
  <nav class="se-nav-rail" aria-label="Main navigation">…</nav>
@@ -937,12 +938,25 @@ Implements the M3 navigation region + body region window split. Required wheneve
937
938
  </div>
938
939
  ```
939
940
 
941
+ **Pattern B — fixed header + scrollable content + fixed footer**:
942
+ ```html
943
+ <div class="se-app-shell">
944
+ <nav class="se-nav-rail" aria-label="Main navigation">…</nav>
945
+ <div class="se-app-shell__body">
946
+ <header class="se-app-bar">…</header>
947
+ <main class="se-app-shell__content">…</main>
948
+ <footer class="se-toolbar se-toolbar--docked">…</footer>
949
+ </div>
950
+ </div>
951
+ ```
952
+
940
953
  | Class | Properties |
941
954
  |-------|-----------|
942
- | `.se-app-shell` | `display: flex; height: 100dvh; overflow: hidden` — height-constrained flex shell |
943
- | `.se-app-shell__body` | `flex: 1 1 0; overflow-y: auto; min-width: 0` — independently scrollable content region |
955
+ | `.se-app-shell` | `display: flex; height: 100dvh; overflow: hidden` — height-constrained row flex shell |
956
+ | `.se-app-shell__body` | `flex: 1 1 0; display: flex; flex-direction: column; overflow-y: auto; min-width: 0` — column flex body; scrolls all children when no `__content` child |
957
+ | `.se-app-shell__content` | `flex: 1 1 0; overflow-y: auto; min-width: 0` — scrollable middle region; use alongside a fixed header/footer |
944
958
 
945
- The nav component occupies the left column at its own fixed width; the body fills the rest. On compact, hide the rail with `.se-show-medium` and the body spans full width automatically.
959
+ The nav component occupies the left column at its own fixed width; the body fills the rest. On compact, hide the rail with `.se-show-medium` and the body spans full width automatically. When `se-app-shell__content` is present, only the content scrolls — the header and footer are pinned at their natural heights.
946
960
 
947
961
  #### Canonical layouts
948
962
 
@@ -1191,3 +1205,128 @@ When using the Figma MCP to generate code from designs:
1191
1205
  </div>
1192
1206
  </form>
1193
1207
  ```
1208
+
1209
+ ---
1210
+
1211
+ ## Brand components
1212
+
1213
+ Brand components are **not part of the M3 Design System**. They use Skagerak brand-palette custom properties (`--sk-*`) and never consume `--md-sys-*` tokens. They are shipped under the `brand/` path of the package.
1214
+
1215
+ ---
1216
+
1217
+ ## Logo (`brand/logo.css`)
1218
+
1219
+ Spec: `.specs/logo.md` · Brandmaster: https://cloud.brandmaster.com/point/no/skbc/component/default/33709
1220
+
1221
+ Self-contained, scalable Skagerak group logo. A single `font-size` on `.sk-logo` controls all internal proportions — emblem size, gap, and type — as `em`-based values. Clear-space (½ × symbol diameter) is applied automatically as `padding`.
1222
+
1223
+ ### Import
1224
+
1225
+ ```css
1226
+ @import '@skagerakenergi/design/brand/logo.css';
1227
+ ```
1228
+
1229
+ ### Font
1230
+
1231
+ The logo uses **Libre Franklin** (free substitute for Skagerak's licensed ITC Franklin Gothic corporate typeface). Load it before the logo CSS:
1232
+
1233
+ ```html
1234
+ <link href="https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;700&display=swap" rel="stylesheet">
1235
+ ```
1236
+
1237
+ Fallback chain: `Libre Franklin` → `ITC Franklin Gothic` (if self-hosted) → `Arial` → `sans-serif`.
1238
+
1239
+ ### Canonical markup
1240
+
1241
+ ```html
1242
+ <!-- Horizontal (default): emblem left, text right -->
1243
+ <div class="sk-logo sk-logo--md">
1244
+ <img class="sk-logo__mark" src="skagerak.svg" alt="">
1245
+ <div class="sk-logo__text">
1246
+ <span class="sk-logo__brand">Skagerak</span>
1247
+ <span class="sk-logo__subsidiary">Energitjenester</span>
1248
+ </div>
1249
+ </div>
1250
+
1251
+ <!-- Stacked: emblem above, text centered -->
1252
+ <div class="sk-logo sk-logo--md sk-logo--stacked">
1253
+ <img class="sk-logo__mark" src="skagerak.svg" alt="">
1254
+ <div class="sk-logo__text">
1255
+ <span class="sk-logo__brand">Skagerak</span>
1256
+ <span class="sk-logo__subsidiary">Energitjenester</span>
1257
+ </div>
1258
+ </div>
1259
+
1260
+ <!-- Group mark (emblem only, no subsidiary) -->
1261
+ <div class="sk-logo sk-logo--md sk-logo--standalone">
1262
+ <img class="sk-logo__mark" src="skagerak.svg" alt="Skagerak Energi">
1263
+ <div class="sk-logo__text">
1264
+ <span class="sk-logo__brand">Skagerak</span>
1265
+ </div>
1266
+ </div>
1267
+ ```
1268
+
1269
+ ### Class API
1270
+
1271
+ | Class | Element | Description |
1272
+ |---|---|---|
1273
+ | `sk-logo` | Root `<div>` | Scaling anchor. Set `font-size` here. |
1274
+ | `sk-logo__mark` | `<img>` | Circular emblem. Always 2.8em × 2.8em. |
1275
+ | `sk-logo__text` | `<div>` | Wraps brand + subsidiary spans. |
1276
+ | `sk-logo__brand` | `<span>` | "Skagerak" — always present, title case, bold. |
1277
+ | `sk-logo__subsidiary` | `<span>` | Subsidiary name — optional. |
1278
+
1279
+ ### Orientation modifiers
1280
+
1281
+ | Modifier | Description |
1282
+ |---|---|
1283
+ | `sk-logo--stacked` | Emblem centered above text block |
1284
+ | `sk-logo--standalone` | Emblem only — text block hidden |
1285
+ | `sk-logo--on-dark` | White text; emblem unchanged. Use on coloured/dark surfaces **inside a light-themed app**. Not needed when the M3 theme engine is already in dark mode (see below). |
1286
+
1287
+ > **M3 dark-mode integration** — The logo automatically uses white text in all three M3 dark contexts, with no extra class needed:
1288
+ > 1. **OS dark mode** — `@media (prefers-color-scheme: dark)`
1289
+ > 2. **M3 theme class** — `.dark`, `.dark-medium-contrast`, or `.dark-high-contrast` on any ancestor
1290
+ > 3. **Explicit override** — `.sk-logo--on-dark` (for a dark surface inside a light-themed app)
1291
+
1292
+ ### Size modifiers
1293
+
1294
+ | Modifier | `font-size` |
1295
+ |---|---|
1296
+ | `sk-logo--xs` | 10px |
1297
+ | `sk-logo--sm` | 14px |
1298
+ | `sk-logo--md` | 18px |
1299
+ | `sk-logo--lg` | 24px |
1300
+ | `sk-logo--xl` | 36px |
1301
+
1302
+ Omit the size modifier to inherit `font-size` from the surrounding context.
1303
+
1304
+ ### Custom properties
1305
+
1306
+ | Property | Default | Description |
1307
+ |---|---|---|
1308
+ | `--sk-logo-brand-color` | `#575756` | "Skagerak" wordmark text (Text Grey) |
1309
+ | `--sk-logo-subsidiary-color` | `#7a6f69` | Subsidiary name text (Secondary Grey) |
1310
+ | `--sk-logo-mark-filter` | `none` | Optional CSS filter override for the emblem (advanced use only; not used by any built-in modifier) |
1311
+ | `--sk-logo-clear-space` | `1.4em` | Padding on all sides — ½ × symbol diameter per brand guidelines |
1312
+
1313
+ ### Subsidiary variants
1314
+
1315
+ | Subsidiary | `sk-logo__subsidiary` text |
1316
+ |---|---|
1317
+ | Skagerak Energitjenester | `Energitjenester` |
1318
+ | Skagerak Kraft | `Kraft` |
1319
+ | Skagerak Varme | `Varme` |
1320
+ | Skagerak Arena | `Arena` |
1321
+ | Group mark | Omit `sk-logo__subsidiary`; add `sk-logo--standalone` |
1322
+
1323
+ ### Palette
1324
+
1325
+ | Name | Hex | Usage |
1326
+ |---|---|---|
1327
+ | Dark Grey | `#7a6f69` | All wordmark text — brand name and subsidiary (`--sk-logo-brand-color` + `--sk-logo-subsidiary-color` defaults) |
1328
+ | Statkraft Blue | `#00b0dc` | Primary brand accent |
1329
+ | Statkraft Blue 50 | `#80daf3` | Tint |
1330
+ | Statkraft Blue 15 | `#daf4fc` | Light tint |
1331
+ | Dark Blue | `#005088` | Deep accent |
1332
+ | Text Blue | `#008db6` | UI text on light backgrounds |
package/README.md CHANGED
@@ -292,6 +292,9 @@ Loading indicator shape asset (avoids inlining the large SVG path data):
292
292
  - `loading-indicator-shapes.svg` — import with `?raw` in Vite-based projects
293
293
  - `loading-indicator-shapes.js` — ESM export (`loadingIndicatorShapesSvg: string`) for non-Vite environments
294
294
 
295
+ Brand components (not part of M3 — use Skagerak brand palette, no M3 tokens required):
296
+ - `brand/logo.css` — Skagerak group logo (`sk-logo`, `sk-logo__mark`, `sk-logo__brand`, `sk-logo__subsidiary`)
297
+
295
298
  ## Figma Code Connect
296
299
 
297
300
  This project uses [Figma Code Connect](https://github.com/figma/code-connect) to link Figma component instances to the corresponding HTML/CSS snippets so designers see real code in the Figma Dev Mode inspector.
@@ -0,0 +1,117 @@
1
+ /* ─────────────────────────────────────────────────────────────────
2
+ Skagerak Logo — standalone brand component
3
+ Not part of the M3 Design System. Does not consume M3 tokens.
4
+ Reference: .specs/logo.md
5
+ Brandmaster: https://cloud.brandmaster.com/point/no/skbc/component/default/33709
6
+ ───────────────────────────────────────────────────────────────── */
7
+
8
+ .sk-logo {
9
+ /* ── Scaling anchor ───────────────────────────────────────────
10
+ Set font-size here (or on an ancestor) to resize everything.
11
+ All internal dimensions are em-based so the whole lockup —
12
+ emblem, gap, type — scales proportionally as one unit. */
13
+ font-size: inherit;
14
+
15
+ /* ── Clear-space ──────────────────────────────────────────────
16
+ Brand guidelines: ½ × symbol diameter (2.8em) = 1.4em.
17
+ Override --sk-logo-clear-space to adjust without touching
18
+ layout code. */
19
+ --sk-logo-clear-space: 1.4em;
20
+ padding: var(--sk-logo-clear-space);
21
+
22
+ display: inline-flex;
23
+ align-items: center;
24
+ gap: 0.6em;
25
+
26
+ /* ITC Franklin Gothic is the official Skagerak typeface (licensed).
27
+ Libre Franklin (Google Fonts, OFL) is the free web substitute.
28
+ Load: https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;700&display=swap */
29
+ font-family: 'Libre Franklin', 'ITC Franklin Gothic', Arial, sans-serif;
30
+ line-height: 1.1;
31
+ white-space: nowrap;
32
+ }
33
+
34
+ /* ── Emblem (circular Skagerak mark) ───────────────────────────── */
35
+ .sk-logo__mark {
36
+ display: block;
37
+ width: 2.8em;
38
+ height: 2.8em;
39
+ flex-shrink: 0;
40
+ object-fit: contain;
41
+ /* Override to apply monochrome filter on dark backgrounds:
42
+ --sk-logo-mark-filter: brightness(0) invert(1) */
43
+ filter: var(--sk-logo-mark-filter, none);
44
+ }
45
+
46
+ /* ── Text block ────────────────────────────────────────────────── */
47
+ .sk-logo__text {
48
+ display: flex;
49
+ flex-direction: column;
50
+ gap: 0.05em;
51
+ }
52
+
53
+ /* "Skagerak" — title case, bold */
54
+ .sk-logo__brand {
55
+ font-size: 1em;
56
+ font-weight: 700;
57
+ letter-spacing: 0.02em;
58
+ /* Title case — do NOT override with text-transform: uppercase */
59
+ color: var(--sk-logo-brand-color, #7a6f69);
60
+ }
61
+
62
+ /* Subsidiary name — "Energitjenester", "Kraft", etc. */
63
+ .sk-logo__subsidiary {
64
+ font-size: 0.85em;
65
+ font-weight: 400;
66
+ letter-spacing: 0.02em;
67
+ color: var(--sk-logo-subsidiary-color, #7a6f69);
68
+ }
69
+
70
+ /* ── Orientation modifiers ─────────────────────────────────────── */
71
+
72
+ /* Stacked: emblem centered above text block */
73
+ .sk-logo--stacked {
74
+ flex-direction: column;
75
+ align-items: center;
76
+ text-align: center;
77
+ }
78
+
79
+ /* Standalone: emblem only — used without a text block */
80
+ .sk-logo--standalone .sk-logo__text {
81
+ display: none;
82
+ }
83
+
84
+ /* On-dark: white text, emblem unchanged.
85
+ * Three equivalent ways to activate:
86
+ * 1. Automatic — OS is in dark mode (@media prefers-color-scheme: dark)
87
+ * 2. M3 theme class — an ancestor carries .dark / .dark-medium-contrast / .dark-high-contrast
88
+ * 3. Explicit modifier — .sk-logo--on-dark (for dark surfaces inside a light-themed app)
89
+ */
90
+
91
+ /* 1 — OS dark mode */
92
+ @media (prefers-color-scheme: dark) {
93
+ .sk-logo {
94
+ --sk-logo-brand-color: #ffffff;
95
+ --sk-logo-subsidiary-color: #ffffff;
96
+ }
97
+ }
98
+
99
+ /* 2 — M3 theme class on any ancestor */
100
+ :is(.dark, .dark-medium-contrast, .dark-high-contrast) .sk-logo {
101
+ --sk-logo-brand-color: #ffffff;
102
+ --sk-logo-subsidiary-color: #ffffff;
103
+ }
104
+
105
+ /* 3 — Explicit modifier (forced dark surface regardless of theme) */
106
+ .sk-logo--on-dark {
107
+ --sk-logo-brand-color: #ffffff;
108
+ --sk-logo-subsidiary-color: #ffffff;
109
+ }
110
+
111
+ /* ── Size presets ──────────────────────────────────────────────── */
112
+ /* All proportions remain identical — only the root size changes. */
113
+ .sk-logo--xs { font-size: 10px; }
114
+ .sk-logo--sm { font-size: 14px; }
115
+ .sk-logo--md { font-size: 18px; }
116
+ .sk-logo--lg { font-size: 24px; }
117
+ .sk-logo--xl { font-size: 36px; }
@@ -0,0 +1,14 @@
1
+ <svg width="45" height="45" viewBox="0 0 45 45" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <mask id="mask0_214_85" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="45" height="45">
3
+ <path d="M0.790588 22.4994C0.790588 34.6206 10.6318 44.4494 22.7706 44.4494C34.9118 44.4494 44.7518 34.6206 44.7518 22.4994C44.7518 10.3769 34.9118 0.550659 22.7706 0.550659C10.6318 0.550659 0.790588 10.3769 0.790588 22.4994Z" fill="white"/>
4
+ </mask>
5
+ <g mask="url(#mask0_214_85)">
6
+ <path d="M47.3269 -2.06018H-1.74673V47.0134H47.3269V-2.06018Z" fill="url(#pattern0_214_85)"/>
7
+ </g>
8
+ <defs>
9
+ <pattern id="pattern0_214_85" patternContentUnits="objectBoundingBox" width="1" height="1">
10
+ <use xlink:href="#image0_214_85" transform="scale(0.00609756)"/>
11
+ </pattern>
12
+ <image id="image0_214_85" width="164" height="164" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
13
+ </defs>
14
+ <script xmlns=""/></svg>
package/dist/layout.css CHANGED
@@ -306,11 +306,21 @@
306
306
  * height-constrained parent. Without this shell it collapses to zero height
307
307
  * in normal document flow.
308
308
  *
309
- * Usage:
309
+ * Pattern A — simple body (content directly in __body, body scrolls):
310
310
  * <div class="se-app-shell">
311
- * <nav class="se-nav-rail" aria-label="Main navigation">…</nav>
311
+ * <nav class="se-nav-rail">…</nav>
312
312
  * <main class="se-app-shell__body">…</main>
313
313
  * </div>
314
+ *
315
+ * Pattern B — fixed header + scrollable content + fixed footer:
316
+ * <div class="se-app-shell">
317
+ * <nav class="se-nav-rail">…</nav>
318
+ * <div class="se-app-shell__body">
319
+ * <header class="se-app-bar">…</header>
320
+ * <main class="se-app-shell__content">…</main>
321
+ * <footer class="se-toolbar se-toolbar--docked">…</footer>
322
+ * </div>
323
+ * </div>
314
324
  */
315
325
  .se-app-shell {
316
326
  display: flex;
@@ -320,6 +330,15 @@
320
330
  }
321
331
 
322
332
  .se-app-shell__body {
333
+ flex: 1 1 0;
334
+ display: flex;
335
+ flex-direction: column;
336
+ overflow-y: auto; /* scrolls all children when no __content child is used */
337
+ min-width: 0;
338
+ }
339
+
340
+ /* Scrollable middle region — use alongside a fixed header and/or footer */
341
+ .se-app-shell__content {
323
342
  flex: 1 1 0;
324
343
  overflow-y: auto;
325
344
  min-width: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skagerakenergi/design",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "author": "Chris Aurora Neumann Ruud <chrisauroraneumann.ruud@skagerakenergi.no>",
5
5
  "description": "Skagerak Energi design system — M3 component library (CSS only)",
6
6
  "type": "module",
@@ -44,6 +44,8 @@
44
44
  "./loading-indicator-shapes.svg": "./dist/loading-indicator-shapes.svg",
45
45
  "./loading-indicator-shapes.js": "./dist/loading-indicator-shapes.js",
46
46
  "./layout.css": "./dist/layout.css",
47
+ "./brand/logo.css": "./dist/brand/logo.css",
48
+ "./brand/skagerak.svg": "./dist/brand/skagerak.svg",
47
49
  "./index.css": "./dist/index.css"
48
50
  },
49
51
  "publishConfig": {