@fremtind/jokul 3.3.0 → 3.4.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.
Files changed (144) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +1 -1
  3. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -1
  4. package/build/cjs/components/checkbox-panel/CheckboxPanel.d.cts +1 -1
  5. package/build/cjs/components/checkbox-panel/types.d.cts +2 -18
  6. package/build/cjs/components/input-panel/InputPanel.cjs +2 -0
  7. package/build/cjs/components/input-panel/InputPanel.cjs.map +1 -0
  8. package/build/cjs/components/input-panel/InputPanel.d.cts +10 -0
  9. package/build/cjs/components/input-panel/types.cjs +2 -0
  10. package/build/cjs/components/input-panel/types.cjs.map +1 -0
  11. package/build/cjs/components/input-panel/types.d.cts +22 -0
  12. package/build/cjs/components/modal/useModal.cjs.map +1 -1
  13. package/build/cjs/components/modal/useModal.d.cts +4 -2
  14. package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
  15. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
  16. package/build/cjs/components/radio-panel/RadioPanel.d.cts +1 -1
  17. package/build/cjs/components/radio-panel/RadioPanelGroup.cjs.map +1 -1
  18. package/build/cjs/components/radio-panel/RadioPanelGroup.d.cts +3 -0
  19. package/build/cjs/components/radio-panel/index.cjs +1 -1
  20. package/build/cjs/components/radio-panel/index.d.cts +1 -2
  21. package/build/cjs/components/radio-panel/types.d.cts +7 -21
  22. package/build/cjs/components/table/TableHeader.cjs +1 -1
  23. package/build/cjs/components/table/TableHeader.cjs.map +1 -1
  24. package/build/cjs/components/table/TableHeader.d.cts +1 -1
  25. package/build/cjs/components/table/utils.cjs +1 -1
  26. package/build/cjs/components/table/utils.cjs.map +1 -1
  27. package/build/cjs/components/table/utils.d.cts +2 -2
  28. package/build/es/components/checkbox-panel/CheckboxPanel.d.ts +1 -1
  29. package/build/es/components/checkbox-panel/CheckboxPanel.js +1 -1
  30. package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -1
  31. package/build/es/components/checkbox-panel/types.d.ts +2 -18
  32. package/build/es/components/input-panel/InputPanel.d.ts +10 -0
  33. package/build/es/components/input-panel/InputPanel.js +2 -0
  34. package/build/es/components/input-panel/InputPanel.js.map +1 -0
  35. package/build/es/components/input-panel/types.d.ts +22 -0
  36. package/build/es/components/input-panel/types.js +2 -0
  37. package/build/es/components/input-panel/types.js.map +1 -0
  38. package/build/es/components/modal/useModal.d.ts +4 -2
  39. package/build/es/components/modal/useModal.js.map +1 -1
  40. package/build/es/components/radio-panel/RadioPanel.d.ts +1 -1
  41. package/build/es/components/radio-panel/RadioPanel.js +1 -1
  42. package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
  43. package/build/es/components/radio-panel/RadioPanelGroup.d.ts +3 -0
  44. package/build/es/components/radio-panel/RadioPanelGroup.js.map +1 -1
  45. package/build/es/components/radio-panel/index.d.ts +1 -2
  46. package/build/es/components/radio-panel/index.js +1 -1
  47. package/build/es/components/radio-panel/types.d.ts +7 -21
  48. package/build/es/components/table/TableHeader.d.ts +1 -1
  49. package/build/es/components/table/TableHeader.js +1 -1
  50. package/build/es/components/table/TableHeader.js.map +1 -1
  51. package/build/es/components/table/utils.d.ts +2 -2
  52. package/build/es/components/table/utils.js +1 -1
  53. package/build/es/components/table/utils.js.map +1 -1
  54. package/package.json +1 -1
  55. package/styles/components/autosuggest/autosuggest.css +5 -58
  56. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  57. package/styles/components/autosuggest/autosuggest.scss +6 -46
  58. package/styles/components/checkbox/checkbox.css +4 -4
  59. package/styles/components/checkbox/checkbox.min.css +1 -1
  60. package/styles/components/checkbox-panel/checkbox-panel.css +79 -75
  61. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  62. package/styles/components/checkbox-panel/checkbox-panel.scss +1 -1
  63. package/styles/components/combobox/combobox.css +14 -100
  64. package/styles/components/combobox/combobox.min.css +1 -1
  65. package/styles/components/combobox/combobox.scss +18 -86
  66. package/styles/components/countdown/countdown.css +2 -2
  67. package/styles/components/countdown/countdown.min.css +1 -1
  68. package/styles/components/datepicker/_calendar-date-button.scss +6 -22
  69. package/styles/components/datepicker/_calendar-navigation.scss +1 -40
  70. package/styles/components/datepicker/datepicker.css +5 -123
  71. package/styles/components/datepicker/datepicker.min.css +1 -1
  72. package/styles/components/datepicker/datepicker.scss +1 -9
  73. package/styles/components/feedback/feedback.css +2 -2
  74. package/styles/components/feedback/feedback.min.css +1 -1
  75. package/styles/components/file-input/file-input.css +26 -64
  76. package/styles/components/file-input/file-input.min.css +1 -1
  77. package/styles/components/icon/icon.css +2 -2
  78. package/styles/components/icon/icon.min.css +1 -1
  79. package/styles/components/icon/icon.scss +3 -3
  80. package/styles/components/input-group/input-group.css +2 -2
  81. package/styles/components/input-group/input-group.min.css +1 -1
  82. package/styles/components/input-panel/input-panel.css +78 -0
  83. package/styles/components/input-panel/input-panel.min.css +1 -0
  84. package/styles/components/input-panel/input-panel.scss +84 -0
  85. package/styles/components/list/list.css +3 -6
  86. package/styles/components/list/list.min.css +1 -1
  87. package/styles/components/list/list.scss +7 -33
  88. package/styles/components/loader/loader.css +6 -6
  89. package/styles/components/loader/loader.min.css +1 -1
  90. package/styles/components/loader/skeleton-loader.css +20 -58
  91. package/styles/components/loader/skeleton-loader.min.css +1 -1
  92. package/styles/components/loader/skeleton-loader.scss +21 -61
  93. package/styles/components/logo/logo.css +5 -19
  94. package/styles/components/logo/logo.min.css +1 -1
  95. package/styles/components/logo/logo.scss +10 -21
  96. package/styles/components/menu/menu.css +2 -2
  97. package/styles/components/menu/menu.min.css +1 -1
  98. package/styles/components/menu/menu.scss +2 -2
  99. package/styles/components/message/message.css +3 -3
  100. package/styles/components/message/message.min.css +1 -1
  101. package/styles/components/message/message.scss +4 -8
  102. package/styles/components/progress-bar/progress-bar.css +1 -1
  103. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  104. package/styles/components/radio-button/radio-button.css +2 -2
  105. package/styles/components/radio-button/radio-button.min.css +1 -1
  106. package/styles/components/radio-panel/radio-panel.css +75 -71
  107. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  108. package/styles/components/radio-panel/radio-panel.scss +2 -2
  109. package/styles/components/segmented-control/segmented-control.css +6 -6
  110. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  111. package/styles/components/summary-table/development/summary-table-example.css +1 -19
  112. package/styles/components/summary-table/development/summary-table-example.min.css +1 -1
  113. package/styles/components/summary-table/development/summary-table-example.scss +2 -10
  114. package/styles/components/summary-table/summary-table.css +2 -20
  115. package/styles/components/summary-table/summary-table.min.css +1 -1
  116. package/styles/components/summary-table/summary-table.scss +2 -12
  117. package/styles/components/system-message/system-message.css +7 -5
  118. package/styles/components/system-message/system-message.min.css +1 -1
  119. package/styles/components/system-message/system-message.scss +14 -11
  120. package/styles/components/table/_table-cell.scss +6 -12
  121. package/styles/components/table/_table-head.scss +2 -2
  122. package/styles/components/table/_table-header.scss +10 -23
  123. package/styles/components/table/_table-row.scss +16 -38
  124. package/styles/components/table/table.css +17 -51
  125. package/styles/components/table/table.min.css +1 -1
  126. package/styles/components/toast/toast.css +4 -4
  127. package/styles/components/toast/toast.min.css +1 -1
  128. package/styles/components/toggle-switch/_toggle-slider.scss +9 -21
  129. package/styles/components/toggle-switch/toggle-switch.css +6 -38
  130. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  131. package/styles/core/core.css +7 -7
  132. package/styles/core/core.min.css +1 -1
  133. package/styles/core/global/_base-class.scss +10 -9
  134. package/styles/styles.css +191 -581
  135. package/styles/styles.min.css +3 -3
  136. package/build/cjs/shared/input-panel/BasePanel.cjs +0 -2
  137. package/build/cjs/shared/input-panel/BasePanel.cjs.map +0 -1
  138. package/build/cjs/shared/input-panel/BasePanel.d.cts +0 -22
  139. package/build/es/shared/input-panel/BasePanel.d.ts +0 -22
  140. package/build/es/shared/input-panel/BasePanel.js +0 -2
  141. package/build/es/shared/input-panel/BasePanel.js.map +0 -1
  142. package/styles/shared/input-panel/shared.css +0 -73
  143. package/styles/shared/input-panel/shared.min.css +0 -1
  144. package/styles/shared/input-panel/shared.scss +0 -74
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ @layer components {
5
+ .jkl-input-panel {
6
+ --outer-border-color: var(--jkl-color-border-input);
7
+ --outer-border-thickness: 0.0625rem;
8
+ --background-color: transparent;
9
+ box-shadow: inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);
10
+ border-radius: 4px;
11
+ background-color: var(--background-color);
12
+ display: flex;
13
+ flex-direction: column;
14
+ interpolate-size: allow-keywords;
15
+ transition-timing-function: ease;
16
+ transition-duration: 150ms;
17
+ transition-property: box-shadow;
18
+ }
19
+ .jkl-input-panel__header {
20
+ display: grid;
21
+ grid-template-columns: 1fr max-content;
22
+ align-items: center;
23
+ gap: 0.5rem;
24
+ cursor: pointer;
25
+ position: relative;
26
+ padding: var(--jkl-spacing-s) var(--jkl-spacing-m);
27
+ }
28
+ .jkl-input-panel__header__amount {
29
+ display: flex;
30
+ height: 100%;
31
+ align-items: center;
32
+ font-size: var(--jkl-checkbox-font-size);
33
+ line-height: var(--jkl-checkbox-line-height);
34
+ font-weight: var(--jkl-checkbox-font-weight);
35
+ }
36
+ .jkl-input-panel__header label,
37
+ .jkl-input-panel__header .jkl-radio-button,
38
+ .jkl-input-panel__header .jkl-checkbox {
39
+ position: unset;
40
+ }
41
+ .jkl-input-panel__header label::after {
42
+ content: "";
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+ inline-size: 100%;
47
+ block-size: 100%;
48
+ }
49
+ .jkl-input-panel__description {
50
+ height: 0;
51
+ overflow: hidden;
52
+ padding-inline: var(--jkl-spacing-m);
53
+ padding-block-end: var(--jkl-spacing-none);
54
+ line-height: initial;
55
+ font-size: var(--jkl-checkbox-font-size);
56
+ line-height: var(--jkl-checkbox-line-height);
57
+ font-weight: var(--jkl-checkbox-font-weight);
58
+ transition-timing-function: ease;
59
+ transition-duration: 150ms;
60
+ transition-property: height;
61
+ }
62
+ .jkl-input-panel:has(:focus-visible) {
63
+ outline: 3px solid var(--jkl-color-border-action);
64
+ outline-offset: 3px;
65
+ }
66
+ .jkl-input-panel:has(:checked), .jkl-input-panel[data-always-open=true], .jkl-input-panel:not([data-always-open]) {
67
+ --background-color: var(--jkl-color-background-container-high);
68
+ }
69
+ .jkl-input-panel:has(:checked) .jkl-input-panel__description, .jkl-input-panel[data-always-open=true] .jkl-input-panel__description, .jkl-input-panel:not([data-always-open]) .jkl-input-panel__description {
70
+ height: auto;
71
+ padding-block-end: var(--jkl-spacing-s);
72
+ }
73
+ .jkl-input-panel:has(input:hover) {
74
+ --outer-border-color: var(--jkl-color-border-separator-hover);
75
+ --outer-border-thickness: 0.125rem;
76
+ cursor: pointer;
77
+ }
78
+ }
@@ -0,0 +1 @@
1
+ @layer components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-input);--outer-border-thickness:0.0625rem;--background-color:#0000;background-color:var(--background-color);border-radius:4px;box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:.15s;transition-property:box-shadow;transition-timing-function:ease}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-spacing-s) var(--jkl-spacing-m);position:relative}.jkl-input-panel__header__amount{align-items:center;display:flex;font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);height:100%;line-height:var(--jkl-checkbox-line-height)}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button,.jkl-input-panel__header label{position:unset}.jkl-input-panel__header label:after{block-size:100%;content:"";inline-size:100%;left:0;position:absolute;top:0}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--jkl-spacing-m);-webkit-padding-after:var(--jkl-spacing-none);font-size:var(--jkl-checkbox-font-size);font-weight:var(--jkl-checkbox-font-weight);line-height:normal;line-height:var(--jkl-checkbox-line-height);padding-block-end:var(--jkl-spacing-none);transition-duration:.15s;transition-property:height;transition-timing-function:ease}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container-high)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-spacing-s);padding-block-end:var(--jkl-spacing-s)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-separator-hover);--outer-border-thickness:0.125rem;cursor:pointer}}
@@ -0,0 +1,84 @@
1
+ @use "../../core/jkl" as jkl;
2
+
3
+ @layer components {
4
+ .jkl-input-panel {
5
+ --outer-border-color: var(--jkl-color-border-input);
6
+ --outer-border-thickness: #{jkl.rem(1px)};
7
+ --background-color: transparent;
8
+
9
+ box-shadow: inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);
10
+ border-radius: 4px;
11
+ background-color: var(--background-color);
12
+ display: flex;
13
+ flex-direction: column;
14
+ interpolate-size: allow-keywords;
15
+
16
+ @include jkl.motion;
17
+ transition-property: box-shadow;
18
+
19
+ &__header {
20
+ display: grid;
21
+ grid-template-columns: 1fr max-content;
22
+ align-items: center;
23
+ gap: jkl.rem(8px);
24
+ cursor: pointer;
25
+ position: relative;
26
+ padding: var(--jkl-spacing-s) var(--jkl-spacing-m);
27
+
28
+ &__amount {
29
+ display: flex;
30
+ height: 100%;
31
+ align-items: center;
32
+ @include jkl.use-font-variables("jkl-checkbox");
33
+ }
34
+
35
+ & label,
36
+ .jkl-radio-button,
37
+ .jkl-checkbox {
38
+ position: unset;
39
+ }
40
+
41
+ & label::after {
42
+ content: "";
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+ inline-size: 100%;
47
+ block-size: 100%;
48
+ }
49
+ }
50
+
51
+ &__description {
52
+ height: 0;
53
+ overflow: hidden;
54
+ padding-inline: var(--jkl-spacing-m);
55
+ padding-block-end: var(--jkl-spacing-none);
56
+ line-height: initial;
57
+ @include jkl.use-font-variables("jkl-checkbox");
58
+
59
+ @include jkl.motion;
60
+ transition-property: height;
61
+ }
62
+
63
+ &:has(:focus-visible) {
64
+ @include jkl.focus-outline;
65
+ }
66
+
67
+ &:has(:checked),
68
+ &[data-always-open="true"],
69
+ &:not([data-always-open]) {
70
+ --background-color: var(--jkl-color-background-container-high);
71
+
72
+ .jkl-input-panel__description {
73
+ height: auto;
74
+ padding-block-end: var(--jkl-spacing-s);
75
+ }
76
+ }
77
+
78
+ &:has(input:hover) {
79
+ --outer-border-color: var(--jkl-color-border-separator-hover);
80
+ --outer-border-thickness: #{jkl.rem(2px)};
81
+ cursor: pointer;
82
+ }
83
+ }
84
+ }
@@ -11,30 +11,27 @@
11
11
  :root {
12
12
  --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
13
13
  --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
14
- --jkl-list-text-color: #1b1917;
15
14
  }
16
15
  }
17
16
  [data-theme=light] {
18
17
  --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
19
18
  --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
20
- --jkl-list-text-color: #1b1917;
21
19
  }
22
20
 
23
21
  @media screen and (prefers-color-scheme: dark) {
24
22
  :root {
25
23
  --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
26
24
  --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
27
- --jkl-list-text-color: #f9f9f9;
28
25
  }
29
26
  }
30
27
  [data-theme=dark] {
31
28
  --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
32
29
  --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
33
- --jkl-list-text-color: #f9f9f9;
34
30
  }
35
31
 
36
32
  @layer jokul.components {
37
33
  .jkl-list {
34
+ --list-text-color: var(--jkl-color-text-default);
38
35
  list-style-type: "•";
39
36
  padding-left: calc(var(--jkl-unit-10) * 2);
40
37
  margin: 0;
@@ -91,10 +88,10 @@
91
88
  }
92
89
  @media screen and (forced-colors: active) {
93
90
  .jkl-list .jkl-list__item--check::before {
94
- background-image: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='CanvasText'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='Canvas' stroke-width='1.5'/%3E%3C/svg%3E%0A");
91
+ background-image: _check(CanvasText, Canvas);
95
92
  }
96
93
  .jkl-list .jkl-list__item--cross::before {
97
- background-image: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='CanvasText'/%3E%3Cpath fill='Canvas' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='Canvas' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
94
+ background-image: _cross(CanvasText, Canvas);
98
95
  }
99
96
  }
100
97
  }
@@ -1 +1 @@
1
- @charset "UTF-8";@media screen and (prefers-color-scheme:light){:root{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E");--jkl-list-text-color:#1b1917}}[data-theme=light]{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E");--jkl-list-text-color:#1b1917}@media screen and (prefers-color-scheme:dark){:root{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23de9e9e'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394b79b'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E");--jkl-list-text-color:#f9f9f9}}[data-theme=dark]{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23de9e9e'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394b79b'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E");--jkl-list-text-color:#f9f9f9}@layer jokul.components{.jkl-list{list-style-type:"•";margin:0;padding-left:calc(var(--jkl-unit-10)*2)}.jkl-list>.jkl-list__item>.jkl-list{margin:.5rem 0}.jkl-list:has(.jkl-list__item--iconed){padding:0}.jkl-list--ordered{padding-left:revert}.jkl-list--ordered>.jkl-list__item{list-style:decimal;padding-left:revert}.jkl-list--ordered .jkl-list--ordered>.jkl-list__item{list-style:lower-alpha}.jkl-list__item{color:var(--jkl-list-text-color);padding-left:calc(var(--jkl-unit-10)*1.5)}.jkl-list__item::marker{color:var(--jkl-list-text-color)}.jkl-list__item--iconed{display:flex;list-style:none;padding-left:0;position:relative}.jkl-list__item--iconed:before{background-size:contain;flex-shrink:0;height:1em;margin-right:.5em;margin-top:.2em;text-indent:-9999px;width:1em}.jkl-list__item--check:before{content:"✓";content:"✓"/"";alt:" ";background-image:var(--jkl-list-marker-check)}.jkl-list__item--cross:before{content:"❌";content:"❌"/"";alt:" ";background-image:var(--jkl-list-marker-cross)}@media screen and (forced-colors:active){.jkl-list .jkl-list__item--check:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='canvastext'/%3E%3Cpath stroke='canvas' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E")}.jkl-list .jkl-list__item--cross:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='canvastext'/%3E%3Cpath fill='canvas' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='canvas' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E")}}}
1
+ @charset "UTF-8";@media screen and (prefers-color-scheme:light){:root{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E")}}[data-theme=light]{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23f6b3b3'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23acd3b5'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E")}@media screen and (prefers-color-scheme:dark){:root{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23de9e9e'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394b79b'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E")}}[data-theme=dark]{--jkl-list-marker-cross:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23de9e9e'/%3E%3Cpath fill='%231b1917' d='m5.54 12.68 7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231b1917' d='m12.67 13.47-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E");--jkl-list-marker-check:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394b79b'/%3E%3Cpath stroke='%231b1917' stroke-width='1.5' d='m4.75 11 2.35 2.36 7.84-7.84'/%3E%3C/svg%3E")}@layer jokul.components{.jkl-list{--list-text-color:var(--jkl-color-text-default);list-style-type:"•";margin:0;padding-left:calc(var(--jkl-unit-10)*2)}.jkl-list>.jkl-list__item>.jkl-list{margin:.5rem 0}.jkl-list:has(.jkl-list__item--iconed){padding:0}.jkl-list--ordered{padding-left:revert}.jkl-list--ordered>.jkl-list__item{list-style:decimal;padding-left:revert}.jkl-list--ordered .jkl-list--ordered>.jkl-list__item{list-style:lower-alpha}.jkl-list__item{color:var(--jkl-list-text-color);padding-left:calc(var(--jkl-unit-10)*1.5)}.jkl-list__item::marker{color:var(--jkl-list-text-color)}.jkl-list__item--iconed{display:flex;list-style:none;padding-left:0;position:relative}.jkl-list__item--iconed:before{background-size:contain;flex-shrink:0;height:1em;margin-right:.5em;margin-top:.2em;text-indent:-9999px;width:1em}.jkl-list__item--check:before{content:"✓";content:"✓"/"";alt:" ";background-image:var(--jkl-list-marker-check)}.jkl-list__item--cross:before{content:"❌";content:"❌"/"";alt:" ";background-image:var(--jkl-list-marker-cross)}@media screen and (forced-colors:active){.jkl-list .jkl-list__item--check:before{background-image:_check(CanvasText,Canvas)}.jkl-list .jkl-list__item--cross:before{background-image:_cross(CanvasText,Canvas)}}}
@@ -6,46 +6,20 @@
6
6
  * If you're here to change them, consider changing them there as well, or
7
7
  * finding a technical solution to sharing the SVG markup
8
8
  */
9
- @function _cross($color1, $color2) {
10
- $c1: jkl.urlencodecolor($color1);
11
- $c2: jkl.urlencodecolor($color2);
12
-
13
- @return url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='#{$c1}'/%3E%3Cpath fill='#{$c2}' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='#{$c2}' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
14
- }
15
-
16
- @function _check($color1, $color2) {
17
- $c1: jkl.urlencodecolor($color1);
18
- $c2: jkl.urlencodecolor($color2);
19
-
20
- @return url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='#{$c1}'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='#{$c2}' stroke-width='1.5'/%3E%3C/svg%3E%0A");
21
- }
22
-
23
9
  @include jkl.light-mode-variables {
24
- --jkl-list-marker-cross: #{_cross(
25
- jkl.$color-functional-error,
26
- jkl.$color-granitt
27
- )};
28
- --jkl-list-marker-check: #{_check(
29
- jkl.$color-functional-success,
30
- jkl.$color-granitt
31
- )};
32
- --jkl-list-text-color: #{jkl.$color-granitt};
10
+ --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23F6B3B3'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
11
+ --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%23ACD3B5'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
33
12
  }
34
13
 
35
14
  @include jkl.dark-mode-variables {
36
- --jkl-list-marker-cross: #{_cross(
37
- jkl.$color-functional-error-dark,
38
- jkl.$color-granitt
39
- )};
40
- --jkl-list-marker-check: #{_check(
41
- jkl.$color-functional-success-dark,
42
- jkl.$color-granitt
43
- )};
44
- --jkl-list-text-color: #{jkl.$color-snohvit};
15
+ --jkl-list-marker-cross: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='8.75' fill='%23DE9E9E'/%3E%3Cpath fill='%231B1917' d='M5.54 12.68l7.14-7.1.84.85-7.13 7.09z'/%3E%3Cpath fill='%231B1917' d='M12.67 13.47l-7.13-7.1.85-.83 7.13 7.1z'/%3E%3C/svg%3E%0A");
16
+ --jkl-list-marker-check: url("data:image/svg+xml,%3Csvg width='19' height='19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%2394B79B'/%3E%3Cpath d='M4.75 11l2.35 2.36 7.84-7.84' stroke='%231B1917' stroke-width='1.5'/%3E%3C/svg%3E%0A");
45
17
  }
46
18
 
47
19
  @layer jokul.components {
48
20
  .jkl-list {
21
+ --list-text-color: var(--jkl-color-text-default);
22
+
49
23
  list-style-type: "\2022";
50
24
  padding-left: jkl.$unit-20;
51
25
  margin: 0;
@@ -121,4 +95,4 @@
121
95
  }
122
96
  }
123
97
  }
124
- }
98
+ }
@@ -17,15 +17,15 @@
17
17
  animation: 2500ms linear infinite;
18
18
  }
19
19
  .jkl-loader__dot--left {
20
- animation-name: jkl-loader-left-spin-uvr41lz;
20
+ animation-name: jkl-loader-left-spin-u1fkcvs;
21
21
  margin-right: 1.71em;
22
22
  }
23
23
  .jkl-loader__dot--middle {
24
- animation-name: jkl-loader-middle-spin-uvr41mt;
24
+ animation-name: jkl-loader-middle-spin-u1fkcwe;
25
25
  margin-right: 1.9em;
26
26
  }
27
27
  .jkl-loader__dot--right {
28
- animation-name: jkl-loader-right-spin-uvr41n8;
28
+ animation-name: jkl-loader-right-spin-u1fkcx8;
29
29
  }
30
30
  @media screen and (forced-colors: active) {
31
31
  .jkl-loader__dot {
@@ -52,7 +52,7 @@
52
52
  .jkl-loader--small > .jkl-loader__dot--middle {
53
53
  margin-right: 0.3em;
54
54
  }
55
- @keyframes jkl-loader-left-spin-uvr41lz {
55
+ @keyframes jkl-loader-left-spin-u1fkcvs {
56
56
  0% {
57
57
  transform: rotate(0) scale(0);
58
58
  }
@@ -66,7 +66,7 @@
66
66
  transform: rotate(180deg) scale(0);
67
67
  }
68
68
  }
69
- @keyframes jkl-loader-middle-spin-uvr41mt {
69
+ @keyframes jkl-loader-middle-spin-u1fkcwe {
70
70
  0% {
71
71
  transform: rotate(20deg) scale(0);
72
72
  }
@@ -83,7 +83,7 @@
83
83
  transform: rotate(200deg) scale(0);
84
84
  }
85
85
  }
86
- @keyframes jkl-loader-right-spin-uvr41n8 {
86
+ @keyframes jkl-loader-right-spin-u1fkcx8 {
87
87
  0% {
88
88
  transform: rotate(40deg) scale(0);
89
89
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-loader{display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:.9em;transform-origin:center;width:.9em}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-uvr41lz;margin-right:1.71em}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-uvr41mt;margin-right:1.9em}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-uvr41n8}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}.jkl-button .jkl-loader>.jkl-loader__dot,.jkl-loader--medium>.jkl-loader__dot{height:.35em;width:.35em}.jkl-button .jkl-loader>.jkl-loader__dot--left,.jkl-loader--medium>.jkl-loader__dot--left{margin-right:.585em}.jkl-button .jkl-loader>.jkl-loader__dot--middle,.jkl-loader--medium>.jkl-loader__dot--middle{margin-right:.65em}.jkl-loader--small>.jkl-loader__dot{height:.25em;width:.25em}.jkl-loader--small>.jkl-loader__dot--left{margin-right:.27em}.jkl-loader--small>.jkl-loader__dot--middle{margin-right:.3em}@keyframes jkl-loader-left-spin-uvr41lz{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-uvr41mt{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-uvr41n8{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{display:flex}.jkl-loader--inline{display:inline-flex}.jkl-loader__dot{animation:2.5s linear infinite;background-color:currentColor;display:block;height:.9em;transform-origin:center;width:.9em}.jkl-loader__dot--left{animation-name:jkl-loader-left-spin-u1fkcvs;margin-right:1.71em}.jkl-loader__dot--middle{animation-name:jkl-loader-middle-spin-u1fkcwe;margin-right:1.9em}.jkl-loader__dot--right{animation-name:jkl-loader-right-spin-u1fkcx8}@media screen and (forced-colors:active){.jkl-loader__dot{background-color:CanvasText}}.jkl-button .jkl-loader>.jkl-loader__dot,.jkl-loader--medium>.jkl-loader__dot{height:.35em;width:.35em}.jkl-button .jkl-loader>.jkl-loader__dot--left,.jkl-loader--medium>.jkl-loader__dot--left{margin-right:.585em}.jkl-button .jkl-loader>.jkl-loader__dot--middle,.jkl-loader--medium>.jkl-loader__dot--middle{margin-right:.65em}.jkl-loader--small>.jkl-loader__dot{height:.25em;width:.25em}.jkl-loader--small>.jkl-loader__dot--left{margin-right:.27em}.jkl-loader--small>.jkl-loader__dot--middle{margin-right:.3em}@keyframes jkl-loader-left-spin-u1fkcvs{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-u1fkcwe{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-u1fkcx8{0%{transform:rotate(40deg) scale(0)}20%{transform:rotate(40deg) scale(0)}50%{transform:rotate(130deg) scale(1)}to{transform:rotate(220deg) scale(0)}}}
@@ -2,57 +2,27 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  @layer jokul.components {
5
- @media screen and (prefers-color-scheme: light) {
6
- :root {
7
- --jkl-skeleton-element-color: #e0dbd4;
8
- --jkl-skeleton-sweeper-color: #f9f9f9;
5
+ @property --jkl-skeleton-sweeper-position {
6
+ syntax: "<percentage>";
7
+ initial-value: 0%;
8
+ inherits: true;
9
+ }
10
+ @keyframes --jkl-skeleton-sweep {
11
+ 0%, 67% {
12
+ --jkl-skeleton-sweeper-position: 0%;
9
13
  }
10
- }
11
- [data-theme=light] {
12
- --jkl-skeleton-element-color: #e0dbd4;
13
- --jkl-skeleton-sweeper-color: #f9f9f9;
14
- }
15
- @media screen and (prefers-color-scheme: dark) {
16
- :root {
17
- --jkl-skeleton-element-color: #636060;
18
- --jkl-skeleton-sweeper-color: #1b1917;
14
+ 100% {
15
+ --jkl-skeleton-sweeper-position: calc(100% + var(--jkl-skeleton-sweeper-width));
19
16
  }
20
17
  }
21
- [data-theme=dark] {
22
- --jkl-skeleton-element-color: #636060;
23
- --jkl-skeleton-sweeper-color: #1b1917;
24
- }
25
18
  .jkl-skeleton-animation {
26
- --jkl-skeleton-sweep-duration: 3s;
27
- position: relative;
28
- overflow: hidden;
29
- }
30
- .jkl-skeleton-animation::after {
31
- content: " ";
32
- position: absolute;
33
- top: 0;
34
- bottom: 0;
35
- width: 12.5rem;
36
- background: linear-gradient(89.17deg, rgba(249, 249, 249, 0) 0.8%, var(--jkl-skeleton-sweeper-color) 50.09%, rgba(249, 249, 249, 0) 96.31%);
37
- animation: var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-uaznzzr;
38
- }
39
- @media (width >= 0) and (max-width: 679px) {
40
- .jkl-skeleton-animation {
41
- width: 9.375rem;
42
- }
43
- }
44
- @media screen and (prefers-reduced-motion: reduce) {
45
- .jkl-skeleton-animation::after {
46
- background: none;
47
- }
48
- }
49
- @media screen and (forced-colors: active) {
50
- .jkl-skeleton-animation::after {
51
- animation: none;
52
- }
53
- }
54
- .jkl-skeleton-animation--compact::after {
55
- width: 9.375rem;
19
+ --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
20
+ --jkl-skeleton-sweep-duration: 4500ms;
21
+ --jkl-skeleton-sweeper-width: 40%;
22
+ 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));
23
+ mask-size: 100dvi 100dvb;
24
+ mask-position: center;
25
+ animation: var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;
56
26
  }
57
27
  .jkl-skeleton-element {
58
28
  border-radius: 0.125rem;
@@ -64,7 +34,7 @@
64
34
  @media screen and (forced-colors: active) {
65
35
  .jkl-skeleton-element {
66
36
  border: 1px solid CanvasText;
67
- animation: 2s ease infinite jkl-blink-uaznzzw;
37
+ animation: 2s ease infinite jkl-blink-u1xeojm;
68
38
  }
69
39
  }
70
40
  .jkl-skeleton-input {
@@ -118,18 +88,10 @@
118
88
  }
119
89
  @media screen and (forced-colors: active) {
120
90
  .jkl-skeleton-table {
121
- animation: 2s ease-in-out infinite jkl-blink-uaznzzw;
122
- }
123
- }
124
- @keyframes jkl-sweep-uaznzzr {
125
- 0% {
126
- transform: translateX(calc(0vw - 200px));
127
- }
128
- 80%, 100% {
129
- transform: translateX(calc(100vw + 400px));
91
+ animation: 2s ease-in-out infinite jkl-blink-u1xeojm;
130
92
  }
131
93
  }
132
- @keyframes jkl-blink-uaznzzw {
94
+ @keyframes jkl-blink-u1xeojm {
133
95
  0% {
134
96
  opacity: 1;
135
97
  }
@@ -1 +1 @@
1
- @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-skeleton-element-color:#e0dbd4;--jkl-skeleton-sweeper-color:#f9f9f9}}[data-theme=light]{--jkl-skeleton-element-color:#e0dbd4;--jkl-skeleton-sweeper-color:#f9f9f9}@media screen and (prefers-color-scheme:dark){:root{--jkl-skeleton-element-color:#636060;--jkl-skeleton-sweeper-color:#1b1917}}[data-theme=dark]{--jkl-skeleton-element-color:#636060;--jkl-skeleton-sweeper-color:#1b1917}.jkl-skeleton-animation{--jkl-skeleton-sweep-duration:3s;overflow:hidden;position:relative}.jkl-skeleton-animation:after{animation:var(--jkl-skeleton-sweep-duration) ease infinite jkl-sweep-uaznzzr;background:linear-gradient(89.17deg,#f9f9f900 .8%,var(--jkl-skeleton-sweeper-color) 50.09%,#f9f9f900 96.31%);bottom:0;content:" ";position:absolute;top:0;width:12.5rem}@media (width >= 0) and (max-width:679px){.jkl-skeleton-animation{width:9.375rem}}@media screen and (prefers-reduced-motion:reduce){.jkl-skeleton-animation:after{background:none}}@media screen and (forced-colors:active){.jkl-skeleton-animation:after{animation:none}}.jkl-skeleton-animation--compact:after{width:9.375rem}.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-uaznzzw 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:.75rem}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:.5rem}}.jkl-skeleton-input--compact:after{gap:.5rem}.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{padding:.75rem .5rem}.jkl-skeleton-table__row{padding:1rem .5rem}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:.5rem .25rem}.jkl-skeleton-table__row{padding:.75rem .25rem}}.jkl-skeleton-table--compact::after__header{padding:.5rem .25rem}.jkl-skeleton-table--compact::after__row{padding:.75rem .25rem}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-uaznzzw 2s ease-in-out infinite}}@keyframes jkl-sweep-uaznzzr{0%{transform:translateX(-200px)}80%,to{transform:translateX(calc(100vw + 400px))}}@keyframes jkl-blink-uaznzzw{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}}
1
+ @layer jokul.components{@property --jkl-skeleton-sweeper-position{syntax:"<percentage>";initial-value:0%;inherits:true}@keyframes --jkl-skeleton-sweep{0%,67%{--jkl-skeleton-sweeper-position:0%}to{--jkl-skeleton-sweeper-position:calc(100% + var(--jkl-skeleton-sweeper-width))}}.jkl-skeleton-animation{--jkl-skeleton-element-color:var(--jkl-color-background-container-low);--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)),#0000 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)),#0000 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-u1xeojm 2s ease infinite;border:1px solid CanvasText}}.jkl-skeleton-input{display:flex;flex-direction:column;gap:.75rem}.jkl-skeleton-input__checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem}@media (width >= 0) and (max-width:679px){.jkl-skeleton-input{gap:.5rem}}.jkl-skeleton-input--compact:after{gap:.5rem}.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{padding:.75rem .5rem}.jkl-skeleton-table__row{padding:1rem .5rem}@media (width >= 0) and (max-width:679px){.jkl-skeleton-table__header{padding:.5rem .25rem}.jkl-skeleton-table__row{padding:.75rem .25rem}}.jkl-skeleton-table--compact::after__header{padding:.5rem .25rem}.jkl-skeleton-table--compact::after__row{padding:.75rem .25rem}@media screen and (forced-colors:active){.jkl-skeleton-table{animation:jkl-blink-u1xeojm 2s ease-in-out infinite}}@keyframes jkl-blink-u1xeojm{0%{opacity:1}40%,50%{opacity:.3}70%,to{opacity:1}}}
@@ -2,64 +2,35 @@
2
2
  @use "sass:string";
3
3
  @use "../../core/jkl";
4
4
 
5
- $_sweep-animation-name: jkl-sweep-#{string.unique-id()};
6
5
  $_blink-animation-name: jkl-blink-#{string.unique-id()};
7
6
 
8
7
  @layer jokul.components {
9
- @include jkl.light-mode-variables {
10
- --jkl-skeleton-element-color: #{jkl.$color-varde};
11
- --jkl-skeleton-sweeper-color: #{jkl.$color-snohvit};
8
+ @property --jkl-skeleton-sweeper-position {
9
+ syntax: "<percentage>";
10
+ initial-value: 0%;
11
+ inherits: true;
12
12
  }
13
13
 
14
- @include jkl.dark-mode-variables {
15
- --jkl-skeleton-element-color: #{jkl.$color-stein};
16
- --jkl-skeleton-sweeper-color: #{jkl.$color-granitt};
17
- }
18
-
19
- .jkl-skeleton-animation {
20
- --jkl-skeleton-sweep-duration: 3s;
21
-
22
- position: relative;
23
- overflow: hidden;
24
-
25
- &::after {
26
- content: " ";
27
- position: absolute;
28
- top: 0;
29
- bottom: 0;
30
- width: jkl.rem(200px);
31
- background: linear-gradient(
32
- 89.17deg,
33
- rgb(249 249 249 / 0%) 0.8%,
34
- var(--jkl-skeleton-sweeper-color) 50.09%,
35
- rgb(249 249 249 / 0%) 96.31%
36
- );
37
- animation: var(--jkl-skeleton-sweep-duration) ease infinite
38
- $_sweep-animation-name;
39
- }
40
-
41
- @include jkl.small-device {
42
- width: jkl.rem(150px);
14
+ @keyframes --jkl-skeleton-sweep {
15
+ 0%,
16
+ 67% {
17
+ --jkl-skeleton-sweeper-position: 0%;
43
18
  }
44
19
 
45
- @include jkl.prefers-reduced-motion {
46
- &::after {
47
- background: none; // Skjul gradienten som nå ikke beveger seg
48
- }
49
- }
50
-
51
- @include jkl.forced-colors-mode {
52
- &::after {
53
- // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
54
- // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
55
- // noe skjer. Animasjonen gjøres på jkl-skeleton-element.
56
- animation: none;
57
- }
20
+ 100% {
21
+ --jkl-skeleton-sweeper-position: calc(100% + var(--jkl-skeleton-sweeper-width));
58
22
  }
23
+ }
59
24
 
60
- &--compact::after {
61
- width: jkl.rem(150px);
62
- }
25
+ .jkl-skeleton-animation {
26
+ --jkl-skeleton-element-color: var(--jkl-color-background-container-low);
27
+ --jkl-skeleton-sweep-duration: 4500ms;
28
+ --jkl-skeleton-sweeper-width: 40%;
29
+
30
+ 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));
31
+ mask-size: 100dvi 100dvb;
32
+ mask-position: center;
33
+ animation: var(--jkl-skeleton-sweep-duration) ease-in-out infinite --jkl-skeleton-sweep;
63
34
  }
64
35
 
65
36
  .jkl-skeleton-element {
@@ -148,17 +119,6 @@ $_blink-animation-name: jkl-blink-#{string.unique-id()};
148
119
  }
149
120
  }
150
121
 
151
- @keyframes #{$_sweep-animation-name} {
152
- 0% {
153
- transform: translateX(calc(0vw - 200px));
154
- }
155
-
156
- 80%,
157
- 100% {
158
- transform: translateX(calc(100vw + calc(200px * 2)));
159
- }
160
- }
161
-
162
122
  @keyframes #{$_blink-animation-name} {
163
123
  0% {
164
124
  opacity: 1;
@@ -174,4 +134,4 @@ $_blink-animation-name: jkl-blink-#{string.unique-id()};
174
134
  opacity: 1;
175
135
  }
176
136
  }
177
- }
137
+ }
@@ -2,24 +2,8 @@
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  @layer jokul.components {
5
- @media screen and (prefers-color-scheme: light) {
6
- :root {
7
- --jkl-logo-color: #1b1917;
8
- }
9
- }
10
- [data-theme=light] {
11
- --jkl-logo-color: #1b1917;
12
- }
13
- @media screen and (prefers-color-scheme: dark) {
14
- :root {
15
- --jkl-logo-color: #f9f9f9;
16
- }
17
- }
18
- [data-theme=dark] {
19
- --jkl-logo-color: #f9f9f9;
20
- }
21
5
  .jkl-logo {
22
- color: var(--jkl-logo-color);
6
+ color: var(--jkl-color-text-default);
23
7
  }
24
8
  @media screen and (forced-colors: active) {
25
9
  .jkl-logo {
@@ -32,10 +16,12 @@
32
16
  }
33
17
  }
34
18
  .jkl-logo__F {
35
- transform-origin: 30px 132px; /* Is connected to the viewbox of the logo, change at your own risk */
19
+ /* Is connected to the viewbox of the logo, change at your own risk */
20
+ transform-origin: 30px 132px;
36
21
  }
37
22
  .jkl-logo__F-line {
38
- transform-origin: 34.3px; /* Must be the same as the line x1 origin, change at your own risk */
23
+ /* Must be the same as the line x1 origin, change at your own risk */
24
+ transform-origin: 34.3px;
39
25
  }
40
26
  .jkl-logo__remtind {
41
27
  opacity: 1;
@@ -1 +1 @@
1
- @layer jokul.components{@media screen and (prefers-color-scheme:light){:root{--jkl-logo-color:#1b1917}}[data-theme=light]{--jkl-logo-color:#1b1917}@media screen and (prefers-color-scheme:dark){:root{--jkl-logo-color:#f9f9f9}}[data-theme=dark]{--jkl-logo-color:#f9f9f9}.jkl-logo{color:var(--jkl-logo-color)}@media screen and (forced-colors:active){.jkl-logo,.jkl-logo path,.jkl-logo svg{fill:CanvasText;stroke:CanvasText}}.jkl-logo__F{transform-origin:30px 132px}.jkl-logo__F-line{transform-origin:34.3px}.jkl-logo__remtind{opacity:1}.jkl-logo--symbol-only .jkl-logo__F{transform:rotate(45deg)}.jkl-logo--symbol-only .jkl-logo__F-line{transform:scaleX(1.5)}.jkl-logo--symbol-only .jkl-logo__remtind{opacity:0;transform:translateX(-5%);transition-delay:0s}.jkl-logo--animated .jkl-logo__F{transition:transform .25s cubic-bezier(.5,0,.62,1) 75ms}.jkl-logo--animated .jkl-logo__F-line{transition:transform .25s ease-in}.jkl-logo--animated .jkl-logo__remtind{transition:opacity .25s ease-in 75ms,transform .25s ease}.jkl-logo--centered.jkl-logo--symbol-only .jkl-logo__F{transform:translateX(35%) rotate(45deg)}.jkl-logo-stamp{color:var(--logo-stamp-color)}@media screen and (forced-colors:active){.jkl-logo-stamp,.jkl-logo-stamp path,.jkl-logo-stamp svg{fill:CanvasText;stroke:CanvasText}}.jkl-logo-stamp--animated .jkl-logo-stamp__text{transform-origin:256px 256px;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.75,0,0,1)}.jkl-logo-stamp--animated[data-rotate=true] .jkl-logo-stamp__text{transform:rotate(1turn);transition-duration:1.5s}}
1
+ @layer jokul.components{.jkl-logo{color:var(--jkl-color-text-default)}@media screen and (forced-colors:active){.jkl-logo,.jkl-logo path,.jkl-logo svg{fill:CanvasText;stroke:CanvasText}}.jkl-logo__F{transform-origin:30px 132px}.jkl-logo__F-line{transform-origin:34.3px}.jkl-logo__remtind{opacity:1}.jkl-logo--symbol-only .jkl-logo__F{transform:rotate(45deg)}.jkl-logo--symbol-only .jkl-logo__F-line{transform:scaleX(1.5)}.jkl-logo--symbol-only .jkl-logo__remtind{opacity:0;transform:translateX(-5%);transition-delay:0s}.jkl-logo--animated .jkl-logo__F{transition:transform .25s cubic-bezier(.5,0,.62,1) 75ms}.jkl-logo--animated .jkl-logo__F-line{transition:transform .25s ease-in}.jkl-logo--animated .jkl-logo__remtind{transition:opacity .25s ease-in 75ms,transform .25s ease}.jkl-logo--centered.jkl-logo--symbol-only .jkl-logo__F{transform:translateX(35%) rotate(45deg)}.jkl-logo-stamp{color:var(--logo-stamp-color)}@media screen and (forced-colors:active){.jkl-logo-stamp,.jkl-logo-stamp path,.jkl-logo-stamp svg{fill:CanvasText;stroke:CanvasText}}.jkl-logo-stamp--animated .jkl-logo-stamp__text{transform-origin:256px 256px;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.75,0,0,1)}.jkl-logo-stamp--animated[data-rotate=true] .jkl-logo-stamp__text{transform:rotate(1turn);transition-duration:1.5s}}