@fremtind/jokul 5.0.0-next.6 → 5.0.0-next.7

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.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/codemods/__tests__/import-paths.test.mjs +189 -0
  3. package/codemods/import-paths.mjs +137 -3
  4. package/package.json +2 -1
  5. package/styles/components/countdown/countdown.css +2 -2
  6. package/styles/components/countdown/countdown.min.css +1 -1
  7. package/styles/components/feedback/feedback.css +2 -2
  8. package/styles/components/feedback/feedback.min.css +1 -1
  9. package/styles/components/file-input/file-input.css +9 -9
  10. package/styles/components/file-input/file-input.min.css +1 -1
  11. package/styles/components/input-group/input-group.css +2 -2
  12. package/styles/components/input-group/input-group.min.css +1 -1
  13. package/styles/components/loader/loader.css +6 -6
  14. package/styles/components/loader/loader.min.css +1 -1
  15. package/styles/components/loader/skeleton-loader.css +3 -3
  16. package/styles/components/loader/skeleton-loader.min.css +1 -1
  17. package/styles/components/message/message.css +2 -2
  18. package/styles/components/message/message.min.css +1 -1
  19. package/styles/components/progress-bar/progress-bar.css +1 -1
  20. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  21. package/styles/components/segmented-control/segmented-control.css +2 -2
  22. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  23. package/styles/components/system-message/system-message.css +2 -2
  24. package/styles/components/system-message/system-message.min.css +1 -1
  25. package/styles/components/toast/toast.css +4 -4
  26. package/styles/components/toast/toast.min.css +1 -1
  27. package/styles/components.css +24 -24
  28. package/styles/components.min.css +1 -1
package/README.md CHANGED
@@ -33,7 +33,7 @@ jokul codemod src app --dry-run
33
33
  jokul codemod src app
34
34
  ```
35
35
 
36
- Codemoden oppdaterer sikre stier automatisk og varsler når den finner tvetydige stilimports for beta-komponenter som må vurderes manuelt.
36
+ Codemoden oppdaterer sikre stier automatisk og varsler når den finner tvetydige stilimports for beta-komponenter som må vurderes manuelt. Den fjerner `@fremtind/jokul/styles/fonts/webfonts.css`-imports siden `@font-face`-definisjonene nå ligger i `styles/base.css`, bytter ut det gamle font-family-navnet `Fremtind Material Symbols` med `Jokul Icons`, og flagger fjernede Sass-fargevariabler, gamle `light-mode-variables`/`dark-mode-variables`-mixins og utdaterte `text-style`-navn (`"body"`, `"small"`).
37
37
 
38
38
  ## React-komponenter
39
39
 
@@ -82,3 +82,192 @@ import "@fremtind/jokul/styles/components/nav-link";
82
82
  assert.equal(result.changed, false);
83
83
  assert.equal(result.warnings.length, 1);
84
84
  });
85
+
86
+ test("removes redundant webfonts.css imports when base or components css is also imported", () => {
87
+ const source = `import "@fremtind/jokul/styles/styles.css";
88
+ import "@fremtind/jokul/styles/core/core.css";
89
+ import "@fremtind/jokul/styles/fonts/webfonts.css";
90
+ `;
91
+
92
+ const result = transformImportPaths(source, "/tmp/main.tsx");
93
+
94
+ assert.equal(
95
+ result.text.includes("@fremtind/jokul/styles/fonts/webfonts.css"),
96
+ false,
97
+ );
98
+ assert.equal(
99
+ result.text.includes('import "@fremtind/jokul/styles/components.css";'),
100
+ true,
101
+ );
102
+ assert.equal(
103
+ result.text.includes('import "@fremtind/jokul/styles/base.css";'),
104
+ true,
105
+ );
106
+ assert.deepEqual(result.warnings, []);
107
+ });
108
+
109
+ test("removes minified webfonts.css imports as well", () => {
110
+ const source = `import "@fremtind/jokul/styles/core/core.min.css";
111
+ import "@fremtind/jokul/styles/fonts/webfonts.min.css";
112
+ `;
113
+
114
+ const result = transformImportPaths(source, "/tmp/main.ts");
115
+
116
+ assert.equal(
117
+ result.text.includes("webfonts"),
118
+ false,
119
+ );
120
+ assert.equal(
121
+ result.text.includes('import "@fremtind/jokul/styles/base.min.css";'),
122
+ true,
123
+ );
124
+ });
125
+
126
+ test("warns when webfonts.css is removed without a base or components import", () => {
127
+ const source = `import "@fremtind/jokul/styles/fonts/webfonts.css";
128
+ `;
129
+
130
+ const result = transformImportPaths(source, "/tmp/main.tsx");
131
+
132
+ assert.equal(result.text.includes("webfonts"), false);
133
+ assert.equal(result.warnings.length, 1);
134
+ assert.match(result.warnings[0], /styles\/base\.css/);
135
+ });
136
+
137
+ test("removes css @import of webfonts.css", () => {
138
+ const source = `@import "@fremtind/jokul/styles/components.css";
139
+ @import "@fremtind/jokul/styles/fonts/webfonts.css";
140
+ `;
141
+
142
+ const result = transformImportPaths(source, "/tmp/global.css");
143
+
144
+ assert.equal(result.text.includes("webfonts"), false);
145
+ assert.equal(
146
+ result.text.includes('@import "@fremtind/jokul/styles/components.css";'),
147
+ true,
148
+ );
149
+ assert.deepEqual(result.warnings, []);
150
+ });
151
+
152
+ test("warns about removed sass color variables", () => {
153
+ const source = `@use "@fremtind/jokul/styles/jkl";
154
+
155
+ .banner {
156
+ background: jkl.$color-granitt;
157
+ color: jkl.$color-snohvit;
158
+ }
159
+ `;
160
+
161
+ const result = transformImportPaths(source, "/tmp/banner.scss");
162
+
163
+ assert.equal(
164
+ result.warnings.some((warning) =>
165
+ /jkl\.\$color-\*/.test(warning),
166
+ ),
167
+ true,
168
+ );
169
+ // Bare én advarsel per mønster, selv om det er flere forekomster
170
+ assert.equal(
171
+ result.warnings.filter((warning) =>
172
+ /jkl\.\$color-\*/.test(warning),
173
+ ).length,
174
+ 1,
175
+ );
176
+ });
177
+
178
+ test("warns about removed light/dark mode mixins", () => {
179
+ const source = `@use "@fremtind/jokul/styles/jkl";
180
+
181
+ @include jkl.light-mode-variables {
182
+ --min-farge: jkl.$color-granitt;
183
+ }
184
+ @include jkl.dark-mode-variables {
185
+ --min-farge: jkl.$color-snohvit;
186
+ }
187
+ `;
188
+
189
+ const result = transformImportPaths(source, "/tmp/theme.scss");
190
+
191
+ assert.equal(
192
+ result.warnings.some((warning) =>
193
+ /light-mode-variables/.test(warning),
194
+ ),
195
+ true,
196
+ );
197
+ });
198
+
199
+ test("warns about deprecated text-style names", () => {
200
+ const source = `@use "@fremtind/jokul/styles/jkl";
201
+
202
+ .lead {
203
+ @include jkl.text-style("body");
204
+ }
205
+
206
+ .fineprint {
207
+ @include jkl.text-style("small");
208
+ }
209
+ `;
210
+
211
+ const result = transformImportPaths(source, "/tmp/typography.scss");
212
+
213
+ assert.equal(
214
+ result.warnings.some((warning) =>
215
+ /paragraph-large\/medium\/small/.test(warning),
216
+ ),
217
+ true,
218
+ );
219
+ assert.equal(
220
+ result.warnings.some((warning) => /<Text>-komponenten/.test(warning)),
221
+ true,
222
+ );
223
+ });
224
+
225
+ test("renames Fremtind Material Symbols font-family", () => {
226
+ const source = `.icon {
227
+ font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
228
+ }
229
+ `;
230
+
231
+ const result = transformImportPaths(source, "/tmp/icons.scss");
232
+
233
+ assert.equal(
234
+ result.text.includes("Fremtind Material Symbols"),
235
+ false,
236
+ );
237
+ assert.equal(
238
+ result.text.includes(
239
+ '"Jokul Icons", "Jokul Icons Fallback", sans-serif',
240
+ ),
241
+ true,
242
+ );
243
+ assert.equal(result.replacements, 2);
244
+ });
245
+
246
+ test("renames Fremtind Material Symbols inside CSS files too", () => {
247
+ const source = `.icon {
248
+ font-family: 'Fremtind Material Symbols';
249
+ }
250
+ `;
251
+
252
+ const result = transformImportPaths(source, "/tmp/icons.css");
253
+
254
+ assert.equal(
255
+ result.text.includes("Fremtind Material Symbols"),
256
+ false,
257
+ );
258
+ assert.equal(result.text.includes("'Jokul Icons'"), true);
259
+ });
260
+
261
+ test("does not warn about valid 5.0 patterns", () => {
262
+ const source = `@use "@fremtind/jokul/styles/jkl";
263
+
264
+ .title {
265
+ @include jkl.text-style("heading-1");
266
+ color: var(--jkl-color-text-default);
267
+ }
268
+ `;
269
+
270
+ const result = transformImportPaths(source, "/tmp/title.scss");
271
+
272
+ assert.deepEqual(result.warnings, []);
273
+ });
@@ -226,6 +226,120 @@ function applyBetaStyleReplacements(text) {
226
226
  return { text: next, replacements, warnings };
227
227
  }
228
228
 
229
+ /**
230
+ * Font-family-navnet "Fremtind Material Symbols" (og tilhørende fallback) ble
231
+ * omdøpt til "Jokul Icons" i Jøkul 5. Konsumenter som har skrevet font-family
232
+ * direkte i sin egen CSS/SCSS får ellers en stille brutt referanse.
233
+ *
234
+ * Fallback-navnet erstattes først (lengst først), slik at det ikke blir
235
+ * delvis overskrevet av kortere mønster.
236
+ */
237
+ const FONT_FAMILY_REPLACEMENTS = [
238
+ ["Fremtind Material Symbols Fallback", "Jokul Icons Fallback"],
239
+ ["Fremtind Material Symbols", "Jokul Icons"],
240
+ ];
241
+
242
+ function applyFontFamilyReplacements(text) {
243
+ let next = text;
244
+ let count = 0;
245
+
246
+ for (const [from, to] of FONT_FAMILY_REPLACEMENTS) {
247
+ const pattern = new RegExp(escapeRegExp(from), "g");
248
+ next = next.replace(pattern, () => {
249
+ count += 1;
250
+ return to;
251
+ });
252
+ }
253
+
254
+ return { text: next, count };
255
+ }
256
+
257
+ const WEBFONTS_CSS_SPECIFIER =
258
+ "@fremtind/jokul/styles/fonts/webfonts(?:\\.min)?\\.css";
259
+
260
+ const BASE_OR_COMPONENT_CSS_PATTERN = new RegExp(
261
+ "@fremtind/jokul/styles/(?:base|components)(?:\\.min)?\\.css",
262
+ );
263
+
264
+ const WEBFONTS_CSS_REMOVAL_PATTERNS = [
265
+ // import "@fremtind/jokul/styles/fonts/webfonts.css"; (ESM)
266
+ new RegExp(
267
+ `^[ \\t]*import\\s+["']${WEBFONTS_CSS_SPECIFIER}["']\\s*;?[ \\t]*\\r?\\n?`,
268
+ "gm",
269
+ ),
270
+ // require("@fremtind/jokul/styles/fonts/webfonts.css"); (CJS)
271
+ new RegExp(
272
+ `^[ \\t]*require\\(\\s*["']${WEBFONTS_CSS_SPECIFIER}["']\\s*\\)\\s*;?[ \\t]*\\r?\\n?`,
273
+ "gm",
274
+ ),
275
+ // @import "@fremtind/jokul/styles/fonts/webfonts.css"; (CSS / SCSS)
276
+ new RegExp(
277
+ `^[ \\t]*@import\\s+["']${WEBFONTS_CSS_SPECIFIER}["']\\s*;?[ \\t]*\\r?\\n?`,
278
+ "gm",
279
+ ),
280
+ ];
281
+
282
+ /**
283
+ * I Jøkul 5 er `@font-face`-definisjonene flyttet inn i `styles/base.css`, og den
284
+ * frittstående `styles/fonts/webfonts.css` finnes ikke lenger i pakken. For
285
+ * .css-konsumenter betyr det at gamle `webfonts.css`-imports må fjernes – ellers
286
+ * blir bygget brutt fordi filen er borte. SCSS-konsumenter håndteres av
287
+ * `DIRECT_REPLACEMENTS` siden de kan ha behov for å overstyre `$webfonts-dir`.
288
+ */
289
+ function removeRedundantWebfontsCssImport(text) {
290
+ let next = text;
291
+ let count = 0;
292
+
293
+ for (const pattern of WEBFONTS_CSS_REMOVAL_PATTERNS) {
294
+ next = next.replace(pattern, () => {
295
+ count += 1;
296
+ return "";
297
+ });
298
+ }
299
+
300
+ return { text: next, count };
301
+ }
302
+
303
+ /**
304
+ * Patterns som ikke kan auto-erstattes, men som krever manuell migrering ved
305
+ * oppgradering fra Jøkul 4 til 5. Hvert mønster gir én advarsel per fil det
306
+ * matcher i (uavhengig av antall forekomster), med peker til hva man skal
307
+ * gjøre i stedet.
308
+ */
309
+ const MANUAL_MIGRATION_WARNINGS = [
310
+ {
311
+ // jkl.$color-granitt, jkl.$color-varde, osv. Alle Sass-fargevariabler
312
+ // ble fjernet i Jøkul 5 til fordel for semantiske CSS-variabler.
313
+ pattern: /\bjkl\.\$color-[a-z][a-z0-9-]*/i,
314
+ message:
315
+ "Fjernede Sass-fargevariabler (jkl.$color-*). I Jøkul 5 er alle gamle fargenavn (granitt, varde, snohvit osv.) fjernet — bruk semantiske CSS-variabler, f.eks. var(--jkl-color-text-default). Se https://jokul-portal.intern.app.prodaws.fremtind.no/fundamenter/farger.",
316
+ },
317
+ {
318
+ // @include jkl.light-mode-variables { ... } / dark-mode-variables { ... }
319
+ pattern: /@include\s+jkl\.(?:light|dark)-mode-variables\b/,
320
+ message:
321
+ "Fjernede mixins for custom light/dark-farger (jkl.light-mode-variables / jkl.dark-mode-variables). I Jøkul 5 må du bruke semantiske CSS-variabler i stedet for å definere egne dark/light-varianter.",
322
+ },
323
+ {
324
+ // @include jkl.text-style("body") / text-style("small")
325
+ pattern: /\btext-style\(\s*["'](?:body|small)["']\s*\)/,
326
+ message:
327
+ 'Fjernede tekststiler ("body", "small") i text-style-mixin. Foretrekk å bruke <Text>-komponenten der det er mulig (`import { Text } from "@fremtind/jokul/components/typography"`). Hvis du må sette stiler direkte, bytt til "paragraph-large/medium/small" eller "text-large/medium/small/micro" — se https://jokul-portal.intern.app.prodaws.fremtind.no/fundamenter/typografi.',
328
+ },
329
+ ];
330
+
331
+ function collectManualMigrationWarnings(text) {
332
+ const warnings = [];
333
+
334
+ for (const { pattern, message } of MANUAL_MIGRATION_WARNINGS) {
335
+ if (pattern.test(text)) {
336
+ warnings.push(`Manuell vurdering: ${message}`);
337
+ }
338
+ }
339
+
340
+ return warnings;
341
+ }
342
+
229
343
  function reorderConfiguredFontImport(text) {
230
344
  const fontImportPattern =
231
345
  /^@use\s+["']@fremtind\/jokul\/styles\/theme\/fonts["'][\s\S]*?;\s*/m;
@@ -257,7 +371,9 @@ function reorderConfiguredFontImport(text) {
257
371
  }
258
372
 
259
373
  export function transformImportPaths(text, filePath = "") {
260
- const direct = applyDirectReplacements(text);
374
+ const webfontsRemoval = removeRedundantWebfontsCssImport(text);
375
+ const fontFamily = applyFontFamilyReplacements(webfontsRemoval.text);
376
+ const direct = applyDirectReplacements(fontFamily.text);
261
377
  const beta = applyBetaStyleReplacements(direct.text);
262
378
  let next = beta.text;
263
379
  let reordered = false;
@@ -268,11 +384,29 @@ export function transformImportPaths(text, filePath = "") {
268
384
  reordered = reorderedResult.reordered;
269
385
  }
270
386
 
387
+ const warnings = [
388
+ ...beta.warnings,
389
+ ...collectManualMigrationWarnings(text),
390
+ ];
391
+
392
+ if (
393
+ webfontsRemoval.count > 0 &&
394
+ !BASE_OR_COMPONENT_CSS_PATTERN.test(next)
395
+ ) {
396
+ warnings.push(
397
+ "Manuell vurdering: fjernet import av `styles/fonts/webfonts.css`. `@font-face`-definisjonene ligger nå i `@fremtind/jokul/styles/base.css`, så den må importeres for at fontene skal lastes.",
398
+ );
399
+ }
400
+
271
401
  return {
272
402
  text: next,
273
403
  changed: next !== text,
274
- replacements: direct.replacements + beta.replacements,
275
- warnings: beta.warnings,
404
+ replacements:
405
+ direct.replacements +
406
+ beta.replacements +
407
+ webfontsRemoval.count +
408
+ fontFamily.count,
409
+ warnings,
276
410
  reordered,
277
411
  };
278
412
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fremtind/jokul",
3
- "version": "5.0.0-next.6",
3
+ "version": "5.0.0-next.7",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "exports": {
28
28
  "./package.json": "./package.json",
29
+ "./styles/jkl": "./styles/jkl/_index.scss",
29
30
  "./styles/*": "./styles/*",
30
31
  "./tailwind": {
31
32
  "import": {
@@ -26,10 +26,10 @@
26
26
  }
27
27
  }
28
28
  .jkl-countdown__tracker {
29
- animation: jkl-downcount-uq17oqd var(--duration) linear forwards;
29
+ animation: jkl-downcount-ugcp8rl var(--duration) linear forwards;
30
30
  animation-play-state: var(--play-state, running);
31
31
  }
32
- @keyframes jkl-downcount-uq17oqd {
32
+ @keyframes jkl-downcount-ugcp8rl {
33
33
  from {
34
34
  width: 100%;
35
35
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-uq17oqd var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-uq17oqd{0%{width:100%}to{width:0}}}
1
+ @layer jokul.components{.jkl-countdown{--track-color:var(--jkl-color-border-subdued);--bar-color:var(--jkl-color-border-strong);--bar-height:0.25rem;background-color:var(--track-color);border-radius:6.25rem;height:var(--bar-height);overflow:hidden;width:100%}.jkl-countdown__tracker{background-color:var(--bar-color);display:block;height:var(--bar-height)}@media screen and (forced-colors:active){.jkl-countdown{background-color:Canvas}.jkl-countdown__tracker{background-color:CanvasText}}.jkl-countdown__tracker{animation:jkl-downcount-ugcp8rl var(--duration) linear forwards;animation-play-state:var(--play-state,running)}@keyframes jkl-downcount-ugcp8rl{0%{width:100%}to{width:0}}}
@@ -20,12 +20,12 @@
20
20
  font: var(--jkl-text-style-paragraph-small);
21
21
  }
22
22
  .jkl-feedback__fade-in {
23
- animation: jkl-show-u2cqj16 0.25s ease-out;
23
+ animation: jkl-show-ulvakrt 0.25s ease-out;
24
24
  }
25
25
  .jkl-feedback__buttons {
26
26
  display: flex;
27
27
  }
28
- @keyframes jkl-show-u2cqj16 {
28
+ @keyframes jkl-show-ulvakrt {
29
29
  from {
30
30
  transform: translate3d(0, 0.5rem, 0);
31
31
  opacity: 0;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-u2cqj16 .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-u2cqj16{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
1
+ @layer jokul.components{.jkl-feedback{max-width:34.375rem}.jkl-feedback__submit-wrapper{transition-duration:var(--jkl-motion-timing-expressive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-feedback__submit-wrapper--hidden{display:none}.jkl-feedback__step-counter{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-paragraph-small);margin-bottom:var(--jkl-unit-20)}.jkl-feedback__fade-in{animation:jkl-show-ulvakrt .25s ease-out}.jkl-feedback__buttons{display:flex}@keyframes jkl-show-ulvakrt{0%{opacity:0;transform:translate3d(0,.5rem,0)}}.jkl-feedback-smileys{display:flex;flex-wrap:nowrap;gap:var(--jkl-spacing-12);justify-content:space-between;margin-top:var(--jkl-unit-10);max-width:22.5rem;width:100%}.jkl-feedback-smiley-option{color:var(--jkl-color-text-subdued);cursor:pointer;display:inline-block;height:2.5rem;position:relative;transform:translateZ(0);transition-duration:var(--jkl-motion-timing-productive);transition-property:transform,color;transition-timing-function:var(--jkl-motion-easing-standard);width:2.5rem}@media screen and (forced-colors:active){.jkl-feedback-smiley-option,.jkl-feedback-smiley-option path,.jkl-feedback-smiley-option svg{fill:ButtonText;stroke:ButtonFace}}.jkl-feedback-smiley-option:after,.jkl-feedback-smiley-option:before{border-radius:50%;content:"";opacity:0;position:absolute;transition-duration:var(--jkl-motion-timing-productive);transition-property:opacity;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-feedback-smiley-option:before{box-shadow:0 .125rem 1.875rem rgba(0,0,0,.1);inset:0}.jkl-feedback-smiley-option:hover{color:var(--jkl-color-text-default)}input:checked+.jkl-feedback-smiley-option{color:var(--jkl-color-text-default);transform:translate3d(0,-20%,0)}input:checked+.jkl-feedback-smiley-option:before{opacity:1}input:focus-visible+.jkl-feedback-smiley-option{border-radius:var(--jkl-border-radius-full);outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}
@@ -336,22 +336,22 @@
336
336
  animation: 2500ms linear infinite;
337
337
  }
338
338
  .jkl-loader__dot--left {
339
- animation-name: jkl-loader-left-spin-uu1tz10;
339
+ animation-name: jkl-loader-left-spin-ulcxzuo;
340
340
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
341
341
  }
342
342
  .jkl-loader__dot--middle {
343
- animation-name: jkl-loader-middle-spin-uu1tz1u;
343
+ animation-name: jkl-loader-middle-spin-ulcxzv0;
344
344
  margin-right: var(--jkl-loader-spacing);
345
345
  }
346
346
  .jkl-loader__dot--right {
347
- animation-name: jkl-loader-right-spin-uu1tz28;
347
+ animation-name: jkl-loader-right-spin-ulcxzv9;
348
348
  }
349
349
  @media screen and (forced-colors: active) {
350
350
  .jkl-loader__dot {
351
351
  background-color: CanvasText;
352
352
  }
353
353
  }
354
- @keyframes jkl-loader-left-spin-uu1tz10 {
354
+ @keyframes jkl-loader-left-spin-ulcxzuo {
355
355
  0% {
356
356
  transform: rotate(0) scale(0);
357
357
  }
@@ -365,7 +365,7 @@
365
365
  transform: rotate(180deg) scale(0);
366
366
  }
367
367
  }
368
- @keyframes jkl-loader-middle-spin-uu1tz1u {
368
+ @keyframes jkl-loader-middle-spin-ulcxzv0 {
369
369
  0% {
370
370
  transform: rotate(20deg) scale(0);
371
371
  }
@@ -382,7 +382,7 @@
382
382
  transform: rotate(200deg) scale(0);
383
383
  }
384
384
  }
385
- @keyframes jkl-loader-right-spin-uu1tz28 {
385
+ @keyframes jkl-loader-right-spin-ulcxzv9 {
386
386
  0% {
387
387
  transform: rotate(40deg) scale(0);
388
388
  }
@@ -422,7 +422,7 @@
422
422
  @media screen and (forced-colors: active) {
423
423
  .jkl-skeleton-element {
424
424
  border: 1px solid CanvasText;
425
- animation: 2s ease infinite jkl-blink-uu1tz2t;
425
+ animation: 2s ease infinite jkl-blink-ulcxzvu;
426
426
  }
427
427
  }
428
428
  .jkl-skeleton-input {
@@ -470,10 +470,10 @@
470
470
  }
471
471
  @media screen and (forced-colors: active) {
472
472
  .jkl-skeleton-table {
473
- animation: 2s ease-in-out infinite jkl-blink-uu1tz2t;
473
+ animation: 2s ease-in-out infinite jkl-blink-ulcxzvu;
474
474
  }
475
475
  }
476
- @keyframes jkl-blink-uu1tz2t {
476
+ @keyframes jkl-blink-ulcxzvu {
477
477
  0% {
478
478
  opacity: 1;
479
479
  }
@@ -1 +1 @@
1
- @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-default);color:inherit;outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link__icon{-webkit-margin-start:.2em;margin-inline-start:.2em;-webkit-margin-before:-.1em;margin-block-start:-.1em;vertical-align:middle}.jkl-link--external:after,.jkl-link[download]:after,.jkl-link[target=_blank]:after{--jkl-icon-fill:0;--jkl-icon-size:1em;content:"\e89e"/"(Åpnes i ny fane)";-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}}@layer jokul.components{.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-button-text-ink-offset:0.1em;--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-button:has(.jkl-button__text){min-width:9.5ch}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{display:block;max-width:100%;width:100%;-webkit-padding-before:var(--jkl-button-text-ink-offset);padding-block-start:var(--jkl-button-text-ink-offset);-webkit-margin-before:calc(var(--jkl-button-text-ink-offset)*-1);margin-block-start:calc(var(--jkl-button-text-ink-offset)*-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-action);--text-color:var(--jkl-color-text-on-action)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uu1tz10;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uu1tz1u;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uu1tz28}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uu1tz10{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uu1tz1u{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uu1tz28{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-page);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-uu1tz2t 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-uu1tz2t 2s ease-in-out infinite}}@keyframes jkl-blink-uu1tz2t{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-default);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-strong);--background-color:var(--jkl-color-background-container);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
1
+ @charset "UTF-8";@layer jokul.components{.jkl-file{--jkl-file-padding:var(--jkl-unit-10);--jkl-file-thumbnail-width:var(--jkl-unit-70);--jkl-file-thumbnail-max-height:var(--jkl-unit-90);--jkl-file-thumbnail-aspect-ratio:1;--jkl-file-gap:var(--jkl-unit-10) var(--jkl-unit-20);--jkl-file-button-width:var(--jkl-unit-50);--text-color:var(--jkl-color-text-default);--border:1px solid var(--jkl-color-border-subdued);--border-radius:2px;--bg:transparent;--transition-time:var(--jkl-motion-timing-expressive)}.jkl-file__content{align-items:center;background:var(--bg);border:var(--border);border-radius:var(--border-radius);color:var(--jkl-color-text-default);display:grid;gap:var(--jkl-file-gap);grid-template-areas:"image text button";grid-template-columns:var(--jkl-file-thumbnail-width) 1fr var(--jkl-file-button-width);height:-webkit-fit-content;height:fit-content;padding:var(--jkl-file-padding);transition-duration:var(--jkl-motion-timing-snappy);transition-property:background-color,border-color,color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file__content__name{font:var(--jkl-text-style-paragraph-small);grid-area:text;word-break:break-word}.jkl-file__content__name__size{word-break:keep-all}.jkl-file__content__delete{aspect-ratio:1;grid-area:button}.jkl-file__content__thumbnail{align-items:center;anchor-name:--thumb;aspect-ratio:var(--jkl-file-thumbnail-aspect-ratio);background:var(--jkl-color-background-page);border-radius:2px;container-type:inline-size;display:flex;grid-area:image;justify-content:center;max-height:var(--jkl-file-thumbnail-max-height);object-fit:cover;overflow:hidden;position:relative;width:100%;anchor-scope:all;outline:1px solid color-mix(in srgb,currentColor 3%,transparent)}.jkl-file__content__thumbnail:after,.jkl-file__content__thumbnail:before{position:absolute;z-index:1}.jkl-file__content__thumbnail:after{animation:spin 5s linear infinite forwards;aspect-ratio:1;background:var(--text-color);border-radius:1px;content:""/"Laster opp";height:25%;position-anchor:--thumb;position-area:center;scale:0;transition:display var(--transition-time) allow-discrete ease-in,scale var(--transition-time) ease-in}@starting-style{.jkl-file__content__thumbnail:after{scale:0}}.jkl-file__content__thumbnail img{opacity:1;transition:opacity var(--transition-time) ease-in-out}.jkl-file__content__thumbnail img[src]{height:100%;object-fit:cover;width:100%}.jkl-file[class*=card]{--jkl-file-thumbnail-width:100%;--jkl-file-thumbnail-aspect-ratio:16/9}.jkl-file[class*=card] .jkl-file__content{grid-template-areas:"image image" "text button";grid-template-columns:1fr var(--jkl-file-button-width);grid-template-rows:var(--jkl-file-thumbnail-max-height) auto}.jkl-file:not([data-state*=loading]) .jkl-file__content__thumbnail:not(:has(img[src])):before{content:attr(data-filetype);font:var(--jkl-text-style-paragraph-small)}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail img{opacity:0}.jkl-file[data-state=loading]:not(:has(.jkl-file__support-label)) .jkl-file__content__thumbnail:after{display:block;scale:1}.jkl-file[data-state=error]{--bg:var(--jkl-color-error-background-container)}.jkl-file[data-state=error],.jkl-file[data-state=error] a,.jkl-file[data-state=error] a:hover,.jkl-file[data-state=error] button,.jkl-file[data-state=error] span{--text-color:var(--jkl-color-error-text-default);--link-color:var(--text-color);--jkl-color-border-strong:currentColor}@keyframes spin{0%{transform:rotate(0turn)}to{transform:rotate(1turn)}}}@layer jokul.components{.jkl-link{--link-color:var(--jkl-color-text-default);color:inherit;outline:none;text-decoration:none;transition-duration:var(--jkl-motion-timing-energetic);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link__content{text-decoration:underline;-webkit-text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-color:rgb(from currentColor r g b/70%);text-decoration-thickness:.05em;text-underline-offset:.08lh}.jkl-link__icon{-webkit-margin-start:.2em;margin-inline-start:.2em;-webkit-margin-before:-.1em;margin-block-start:-.1em;vertical-align:middle}.jkl-link--external:after,.jkl-link[download]:after,.jkl-link[target=_blank]:after{--jkl-icon-fill:0;--jkl-icon-size:1em;content:"\e89e"/"(Åpnes i ny fane)";-webkit-margin-before:-.1em;margin-block-start:-.1em;-webkit-padding-start:.2em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;padding-inline-start:.2em;vertical-align:middle;-webkit-font-smoothing:antialiased;display:inline;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-link[download]:after{content:"\f090"/"(Last ned fil)"}.jkl-link:hover:not(:focus){--link-color:var(--jkl-color-text-subdued)}.jkl-link:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:0}@media screen and (forced-colors:active){.jkl-link:hover:not(:focus){--link-color:HighLight}}}@layer jokul.components{.jkl-button{--jkl-button-font-size:var(--jkl-typography-body-base-font-size);--jkl-button-line-height:var(--jkl-typography-body-base-line-height);--jkl-button-padding-block:var(--jkl-unit-10);--jkl-button-padding-text:var(--jkl-unit-30);--jkl-button-padding-icon:var(--jkl-unit-20);--jkl-button-padding-icon-button:var(--jkl-unit-10);--jkl-button-tertiary-padding-icon:var(--jkl-unit-05);--jkl-button-text-ink-offset:0.1em;--jkl-icon-weight:var(--jkl-icon-weight-bold);--text-color:var(--jkl-color-text-default);--background-color:transparent;--border-radius:0;--border-width:0.0625rem;background:var(--background-color);border:unset;color:var(--text-color);cursor:pointer;display:inline-block;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:a .3s linear;border-radius:var(--border-radius);max-width:100%;overflow:hidden;padding-block:var(--jkl-button-padding-block);padding-inline:var(--jkl-button-padding-text);position:relative;transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-button:has(.jkl-button__text){min-width:9.5ch}.jkl-button:has(.jkl-icon:first-child){-webkit-padding-start:var(--jkl-button-padding-icon);padding-inline-start:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:last-child){-webkit-padding-end:var(--jkl-button-padding-icon);padding-inline-end:var(--jkl-button-padding-icon)}.jkl-button:has(.jkl-icon:first-child):has(.jkl-icon:last-child){padding-inline:var(--jkl-button-padding-icon-button)}.jkl-button__label{align-items:center;display:flex;flex-direction:row;gap:var(--jkl-unit-02);pointer-events:none;transition-duration:var(--jkl-motion-timing-expressive);transition-property:translate;transition-timing-function:var(--jkl-motion-easing-standard);width:100%}.jkl-button__loader{left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition-duration:var(--jkl-motion-timing-expressive);transition-property:opacity,translate;transition-timing-function:var(--jkl-motion-easing-standard);translate:-50% 350%}.jkl-button__text{display:block;max-width:100%;width:100%;-webkit-padding-before:var(--jkl-button-text-ink-offset);padding-block-start:var(--jkl-button-text-ink-offset);-webkit-margin-before:calc(var(--jkl-button-text-ink-offset)*-1);margin-block-start:calc(var(--jkl-button-text-ink-offset)*-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jkl-button[data-loading=true] .jkl-button__label{translate:0 -120%}.jkl-button[data-loading=true] .jkl-button__loader{opacity:1;translate:-50% -50%}.jkl-button:focus-visible{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-button:hover{background-color:color-mix(in srgb,var(--background-color),var(--text-color) 15%)}@media (forced-colors:active){.jkl-button:hover{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}}.jkl-button--ghost,.jkl-button--primary,.jkl-button--secondary{--border-radius:999px}.jkl-button--primary{--background-color:var(--jkl-color-background-action);--text-color:var(--jkl-color-text-on-action)}@media (forced-colors:active){.jkl-button--primary{border:calc(var(--border-width)*2) solid Highlight}}.jkl-button--secondary{border:var(--border-width) solid var(--text-color)}.jkl-button--tertiary{border-bottom:var(--border-width) solid var(--text-color);padding-inline:var(--jkl-button-tertiary-padding-icon)}.jkl-button--tertiary:has(.jkl-icon:first-child){padding-inline:var(--jkl-button-tertiary-padding-icon) calc(var(--jkl-button-tertiary-padding-icon)*2)}.jkl-button--tertiary:has(.jkl-icon:last-child){padding-inline:calc(var(--jkl-button-tertiary-padding-icon)*2) var(--jkl-button-tertiary-padding-icon)}}@layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-ulcxzuo;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-ulcxzv0;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-ulcxzv9}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-ulcxzuo{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-ulcxzv0{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-ulcxzv9{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}@layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-page);--jkl-skeleton-sweep-duration:4500ms;--jkl-skeleton-sweeper-width:40%;animation:var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;-webkit-mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));mask-image:linear-gradient(to right,#000 calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)),transparent calc(var(--jkl-skeleton-sweeper-position) - var(--jkl-skeleton-sweeper-width)/2),#000 var(--jkl-skeleton-sweeper-position));-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100dvi 100dvb;mask-size:100dvi 100dvb}.jkl-skeleton-element{background-color:var(--jkl-skeleton-element-color);border-radius:.125rem}.jkl-skeleton-element--circle{border-radius:50%}@media screen and (forced-colors:active){.jkl-skeleton-element{animation:jkl-blink-ulcxzvu 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:var(--jkl-spacing-12)}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--jkl-spacing-8)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:var(--jkl-spacing-8)}}.jkl-skeleton-input--compact:after{gap:var(--jkl-spacing-8)}.jkl-skeleton-table{display:flex;flex-direction:column}.jkl-skeleton-table__header,.jkl-skeleton-table__row{border-bottom:1px solid var(--jkl-skeleton-element-color);display:flex;flex-direction:row;justify-content:space-between}.jkl-skeleton-table__header,.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-10)}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:var(--jkl-unit-10) var(--jkl-unit-05)}.jkl-skeleton-table__row{padding:var(--jkl-unit-20) var(--jkl-unit-05)}}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-ulcxzvu 2s ease-in-out infinite}}@keyframes jkl-blink-ulcxzvu{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}}@layer jokul.components{.jkl-file-input{--jkl-file-input-dropzone-padding:var(--jkl-unit-30);--jkl-file-input-dropzone-gap:var(--jkl-unit-30);--jkl-file-cta-gap:var(--jkl-unit-30);--jkl-file-cta-with-files-gap:var(--jkl-unit-15);--jkl-file-list-gap:var(--jkl-unit-10)}.jkl-file-input__dropzone{--border-color:var(--jkl-color-border-default);--background-color:transparent;align-items:center;background-color:var(--background-color);border:1px dashed var(--border-color);border-radius:.25rem;display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--jkl-file-input-dropzone-gap);justify-content:center;padding:var(--jkl-file-input-dropzone-padding);transition-duration:var(--jkl-motion-timing-productive);transition-property:background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-file-input__dropzone--enter{--border-color:var(--jkl-color-border-strong);--background-color:var(--jkl-color-background-container);border-style:solid}.jkl-file-input__dropzone__drag-text{font:var(--jkl-text-style-paragraph-small)}@media (width >= 0) and (max-width:679px){.jkl-file-input__dropzone__drag-text{display:none}}.jkl-file-input__call-to-action{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px;transform:scale(1.05)}.jkl-file-input__call-to-action:has(:focus-visible) .jkl-button:active{transform:scale(1)}.jkl-file-input__dropzone-hint{margin-top:var(--jkl-unit-30)}.jkl-file-input--has-files .jkl-file-input__dropzone-hint{display:none}.jkl-file-input__max-size-text{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);margin-top:var(--jkl-unit-30)}.jkl-file-input__files{display:flex;flex-direction:column;gap:var(--jkl-file-list-gap);list-style:none;margin:0;padding:0}.jkl-file-input--small .jkl-file-input__dropzone-hint{display:block;margin:0}.jkl-file-input--small .jkl-file-input__dropzone{flex-direction:row;gap:var(--jkl-unit-20);justify-content:flex-start;margin-bottom:var(--jkl-unit-20);max-width:-webkit-fit-content;max-width:fit-content;padding:var(--jkl-unit-20)}.jkl-file-input--small .jkl-file-input__call-to-action{flex-direction:row;font:var(--jkl-text-style-text-small);gap:var(--jkl-unit-15);justify-content:flex-start}.jkl-file-input--small .jkl-file-input__max-size-text{margin-bottom:var(--jkl-unit-20);margin-top:calc(var(--jkl-unit-15)*-1)}}
@@ -62,7 +62,7 @@
62
62
  --color: var(--jkl-color-text-default);
63
63
  }
64
64
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
65
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-u9g2oe1 forwards;
65
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-unwr1i1 forwards;
66
66
  }
67
67
  .jkl-form-support-label--sr-only {
68
68
  border: 0 !important;
@@ -116,7 +116,7 @@
116
116
  .jkl-label:has(+ .jkl-input-group-description) {
117
117
  margin-block-end: var(--jkl-spacing-4);
118
118
  }
119
- @keyframes jkl-support-icon-entrance-u9g2oe1 {
119
+ @keyframes jkl-support-icon-entrance-unwr1i1 {
120
120
  0% {
121
121
  margin-right: 0;
122
122
  opacity: 0;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font:var(--jkl-text-style-text-small);margin:var(--jkl-form-support-label-margin);transition-delay:var(--jkl-motion-timing-productive);transition-duration:var(--jkl-motion-timing-lazy);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:var(--jkl-motion-timing-lazy) cubic-bezier(0,0,.3,1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-u9g2oe1 forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font:var(--jkl-text-style-text-medium)}.jkl-label--large{font:var(--jkl-text-style-text-large)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-u9g2oe1{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:var(--jkl-spacing-8)}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:var(--jkl-spacing-8);opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
1
+ @layer jokul.components{.jkl-field-group{border-style:none;outline:0;outline-style:none}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-field-group{border-style:revert;outline:revert;outline-style:revert}.jkl-field-group:active,.jkl-field-group:focus,.jkl-field-group:hover{outline:revert;outline-style:revert}}}@layer jokul.components{.jkl-dormant-form-support-label{display:none;opacity:0;pointer-events:none}.jkl-form-support-label{--jkl-form-support-label-margin:var(--jkl-unit-10) 0 0;--jkl-form-support-label-icon-size:1.25rem;--jkl-form-support-label-icon-margin:0 -1.25rem -0.375rem 0;--color:var(--jkl-color-text-subdued);color:var(--color);display:flex;font:var(--jkl-text-style-text-small);margin:var(--jkl-form-support-label-margin);transition-delay:var(--jkl-motion-timing-productive);transition-duration:var(--jkl-motion-timing-lazy);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-form-support-label__icon,.jkl-form-support-label__icon.jkl-icon{height:var(--jkl-form-support-label-icon-size);margin:var(--jkl-form-support-label-icon-margin);opacity:0}@media screen and (forced-colors:active){.jkl-form-support-label__icon,.jkl-form-support-label__icon path,.jkl-form-support-label__icon svg,.jkl-form-support-label__icon.jkl-icon,.jkl-form-support-label__icon.jkl-icon path,.jkl-form-support-label__icon.jkl-icon svg{fill:Canvas;stroke:CanvasText}}.jkl-form-support-label--error,.jkl-form-support-label--success,.jkl-form-support-label--warning{--color:var(--jkl-color-text-default)}.jkl-form-support-label--error .jkl-form-support-label__icon,.jkl-form-support-label--success .jkl-form-support-label__icon,.jkl-form-support-label--warning .jkl-form-support-label__icon{animation:var(--jkl-motion-timing-lazy) cubic-bezier(0,0,.3,1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-unwr1i1 forwards}.jkl-form-support-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label{color:var(--jkl-color-text-default);display:block;margin:0 0 var(--jkl-spacing-8) 0}.jkl-label--medium,.jkl-label--small{font:var(--jkl-text-style-text-medium)}.jkl-label--large{font:var(--jkl-text-style-text-large)}.jkl-label--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-label .jkl-help{position:relative;top:-.1ex}.jkl-input-group-description{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);-webkit-margin-after:var(--jkl-spacing-8);margin-block-end:var(--jkl-spacing-8);max-inline-size:50ch;text-wrap:pretty}.jkl-label:has(+.jkl-input-group-description){-webkit-margin-after:var(--jkl-spacing-4);margin-block-end:var(--jkl-spacing-4)}@keyframes jkl-support-icon-entrance-unwr1i1{0%{margin-right:0;opacity:0;transform:scale(1)}30%{margin-right:var(--jkl-spacing-8)}50%{opacity:1}70%{transform:scale(1.1)}85%{transform:scale(.9)}to{margin-right:var(--jkl-spacing-8);opacity:1;transform:scale(1)}}}@layer jokul.components{@media screen and (forced-colors:active){.jkl-text-input-action-button,.jkl-text-input-action-button path,.jkl-text-input-action-button svg{fill:ButtonFace;stroke:ButtonText}}}
@@ -19,22 +19,22 @@
19
19
  animation: 2500ms linear infinite;
20
20
  }
21
21
  .jkl-loader__dot--left {
22
- animation-name: jkl-loader-left-spin-uxikjzg;
22
+ animation-name: jkl-loader-left-spin-uah9flu;
23
23
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
24
24
  }
25
25
  .jkl-loader__dot--middle {
26
- animation-name: jkl-loader-middle-spin-uxikjzk;
26
+ animation-name: jkl-loader-middle-spin-uah9flv;
27
27
  margin-right: var(--jkl-loader-spacing);
28
28
  }
29
29
  .jkl-loader__dot--right {
30
- animation-name: jkl-loader-right-spin-uxikk00;
30
+ animation-name: jkl-loader-right-spin-uah9fml;
31
31
  }
32
32
  @media screen and (forced-colors: active) {
33
33
  .jkl-loader__dot {
34
34
  background-color: CanvasText;
35
35
  }
36
36
  }
37
- @keyframes jkl-loader-left-spin-uxikjzg {
37
+ @keyframes jkl-loader-left-spin-uah9flu {
38
38
  0% {
39
39
  transform: rotate(0) scale(0);
40
40
  }
@@ -48,7 +48,7 @@
48
48
  transform: rotate(180deg) scale(0);
49
49
  }
50
50
  }
51
- @keyframes jkl-loader-middle-spin-uxikjzk {
51
+ @keyframes jkl-loader-middle-spin-uah9flv {
52
52
  0% {
53
53
  transform: rotate(20deg) scale(0);
54
54
  }
@@ -65,7 +65,7 @@
65
65
  transform: rotate(200deg) scale(0);
66
66
  }
67
67
  }
68
- @keyframes jkl-loader-right-spin-uxikk00 {
68
+ @keyframes jkl-loader-right-spin-uah9fml {
69
69
  0% {
70
70
  transform: rotate(40deg) scale(0);
71
71
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uxikjzg;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uxikjzk;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uxikk00}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uxikjzg{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uxikjzk{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uxikk00{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
1
+ @layer jokul.components{.jkl-loader{--jkl-loader-dot-size:var(--jkl-unit-10);--jkl-loader-spacing:var(--jkl-unit-20);display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:var(--jkl-loader-dot-size);transform-origin:center;width:var(--jkl-loader-dot-size)}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uah9flu;margin-right:calc(var(--jkl-loader-spacing)*.9)}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uah9flv;margin-right:var(--jkl-loader-spacing)}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uah9fml}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}@keyframes jkl-loader-left-spin-uah9flu{0%{transform:rotate(0) scale(0)}30%{transform:rotate(90deg) scale(1)}70%{transform:rotate(180deg) scale(0)}to{transform:rotate(180deg) scale(0)}}@keyframes jkl-loader-middle-spin-uah9flv{0%{transform:rotate(20deg) scale(0)}10%{transform:rotate(20deg) scale(0)}40%{transform:rotate(110deg) scale(1.4)}85%{transform:rotate(200deg) scale(0)}to{transform:rotate(200deg) scale(0)}}@keyframes jkl-loader-right-spin-uah9fml{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}