@digiko-npm/designsystem 0.9.41 → 0.9.43

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 (39) hide show
  1. package/dist/designsystem.css +288 -109
  2. package/dist/designsystem.min.css +2 -2
  3. package/package.json +7 -2
  4. package/src/base/typography.css +1 -1
  5. package/src/components/admin-layout.css +3 -3
  6. package/src/components/avatar.css +1 -1
  7. package/src/components/badge.css +1 -1
  8. package/src/components/bottom-sheet.css +1 -1
  9. package/src/components/button.css +2 -2
  10. package/src/components/card.css +2 -2
  11. package/src/components/chip.css +1 -1
  12. package/src/components/combobox.css +3 -3
  13. package/src/components/command.css +3 -3
  14. package/src/components/custom-select.css +3 -3
  15. package/src/components/datepicker.css +5 -5
  16. package/src/components/description-list.css +1 -1
  17. package/src/components/drop-zone.css +1 -1
  18. package/src/components/dropdown.css +3 -3
  19. package/src/components/gallery.css +3 -3
  20. package/src/components/kbd.css +1 -1
  21. package/src/components/nav.css +1 -1
  22. package/src/components/popover.css +1 -1
  23. package/src/components/progress.css +1 -1
  24. package/src/components/prose.css +149 -2
  25. package/src/components/search.css +4 -4
  26. package/src/components/segmented-control.css +2 -2
  27. package/src/components/skeleton.css +1 -1
  28. package/src/components/slider.css +1 -1
  29. package/src/components/stat-card.css +1 -1
  30. package/src/components/table.css +1 -1
  31. package/src/components/tabs.css +4 -4
  32. package/src/components/tag.css +7 -7
  33. package/src/components/timeline.css +1 -1
  34. package/src/components/toggle.css +23 -22
  35. package/src/components/toolbar.css +2 -2
  36. package/src/tokens/colors.css +35 -13
  37. package/src/tokens/typography.css +9 -0
  38. package/src/utilities/states.css +6 -6
  39. package/src/utilities/text.css +3 -3
@@ -31,7 +31,7 @@
31
31
  font-family: var(--ds-font-sans);
32
32
  line-height: var(--ds-leading-none);
33
33
  border-radius: var(--ds-radius-full);
34
- background-color: var(--ds-color-bg-muted);
34
+ background-color: var(--ds-color-surface-muted);
35
35
  border: 1px solid var(--ds-color-border);
36
36
  color: var(--ds-color-text-secondary);
37
37
  white-space: nowrap;
@@ -48,37 +48,37 @@
48
48
  --------------------------------------------------------------------------- */
49
49
 
50
50
  &--primary {
51
- background-color: var(--ds-color-interactive-subtle, var(--ds-color-bg-muted));
51
+ background-color: var(--ds-color-interactive-subtle, var(--ds-color-surface-muted));
52
52
  color: var(--ds-color-interactive);
53
53
  border-color: var(--ds-color-interactive-border, var(--ds-color-interactive));
54
54
  }
55
55
 
56
56
  &--success {
57
- background-color: var(--ds-color-success-subtle, var(--ds-color-bg-muted));
57
+ background-color: var(--ds-color-success-subtle, var(--ds-color-surface-muted));
58
58
  color: var(--ds-color-success);
59
59
  border-color: var(--ds-color-success-border, var(--ds-color-success));
60
60
  }
61
61
 
62
62
  &--warning {
63
- background-color: var(--ds-color-warning-subtle, var(--ds-color-bg-muted));
63
+ background-color: var(--ds-color-warning-subtle, var(--ds-color-surface-muted));
64
64
  color: var(--ds-color-warning);
65
65
  border-color: var(--ds-color-warning-border, var(--ds-color-warning));
66
66
  }
67
67
 
68
68
  &--error {
69
- background-color: var(--ds-color-error-subtle, var(--ds-color-bg-muted));
69
+ background-color: var(--ds-color-error-subtle, var(--ds-color-surface-muted));
70
70
  color: var(--ds-color-error);
71
71
  border-color: var(--ds-color-error-border, var(--ds-color-error));
72
72
  }
73
73
 
74
74
  &--info {
75
- background-color: var(--ds-color-info-subtle, var(--ds-color-bg-muted));
75
+ background-color: var(--ds-color-info-subtle, var(--ds-color-surface-muted));
76
76
  color: var(--ds-color-info);
77
77
  border-color: var(--ds-color-info-border, var(--ds-color-info));
78
78
  }
79
79
 
80
80
  &--purple {
81
- background-color: var(--ds-color-accent-purple-subtle, var(--ds-color-bg-muted));
81
+ background-color: var(--ds-color-accent-purple-subtle, var(--ds-color-surface-muted));
82
82
  color: var(--ds-color-accent-purple, var(--ds-color-interactive));
83
83
  border-color: var(--ds-color-accent-purple-border, var(--ds-color-accent-purple, var(--ds-color-interactive)));
84
84
  }
@@ -74,7 +74,7 @@
74
74
  width: 1rem;
75
75
  height: 1rem;
76
76
  border-radius: var(--ds-radius-full);
77
- background-color: var(--ds-color-bg-muted);
77
+ background-color: var(--ds-color-surface-muted);
78
78
  border: 2px solid var(--ds-color-border);
79
79
  z-index: 1;
80
80
  }
@@ -26,12 +26,13 @@
26
26
  .ds-toggle {
27
27
  display: inline-flex;
28
28
  position: relative;
29
- width: 4.5rem;
30
- height: 2rem;
31
- padding: 3px;
32
- border: none;
29
+ width: 3.25rem;
30
+ height: 1.5rem;
31
+ /* Proportions locked: track 2.2:1, thumb 59%w 80%h of track */
32
+ padding: 2px;
33
+ border: 1px solid var(--ds-color-border);
33
34
  border-radius: var(--ds-radius-full);
34
- background-color: var(--ds-color-bg-muted);
35
+ background-color: var(--ds-color-surface-elevated);
35
36
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
36
37
  cursor: pointer;
37
38
  transition: background-color var(--ds-duration-normal) var(--ds-ease-out),
@@ -47,10 +48,10 @@
47
48
  &::after {
48
49
  content: "";
49
50
  position: absolute;
50
- inset-inline-start: 3px;
51
+ inset-inline-start: 2px;
51
52
  inset-block-start: 50%;
52
- width: 2.625rem;
53
- height: 1.625rem;
53
+ width: 1.875rem;
54
+ height: 1.25rem;
54
55
  border-radius: var(--ds-radius-full);
55
56
  background-color: var(--ds-color-static-white);
56
57
  box-shadow:
@@ -72,7 +73,7 @@
72
73
 
73
74
  &[aria-checked="true"]::after,
74
75
  &--checked::after {
75
- transform: translateX(1.5rem) translateY(-50%);
76
+ transform: translateX(1.125rem) translateY(-50%);
76
77
  }
77
78
 
78
79
 
@@ -81,7 +82,7 @@
81
82
  --------------------------------------------------------------------------- */
82
83
 
83
84
  &:hover {
84
- background-color: var(--ds-color-bg-muted-hover);
85
+ background-color: var(--ds-color-surface-elevated-hover);
85
86
  }
86
87
 
87
88
  &[aria-checked="true"]:hover,
@@ -116,19 +117,19 @@
116
117
  --------------------------------------------------------------------------- */
117
118
 
118
119
  &--sm {
119
- width: 3.375rem;
120
- height: 1.5rem;
120
+ width: 2.75rem;
121
+ height: 1.25rem;
121
122
  padding: 2px;
122
123
 
123
124
  &::after {
124
125
  inset-inline-start: 2px;
125
- width: 2rem;
126
- height: 1.25rem;
126
+ width: 1.625rem;
127
+ height: 1rem;
127
128
  }
128
129
 
129
130
  &[aria-checked="true"]::after,
130
131
  &.ds-toggle--checked::after {
131
- transform: translateX(1.125rem) translateY(-50%);
132
+ transform: translateX(0.875rem) translateY(-50%);
132
133
  }
133
134
  }
134
135
 
@@ -137,19 +138,19 @@
137
138
  --------------------------------------------------------------------------- */
138
139
 
139
140
  &--lg {
140
- width: 5.5rem;
141
- height: 2.5rem;
142
- padding: 4px;
141
+ width: 3.75rem;
142
+ height: 1.75rem;
143
+ padding: 2px;
143
144
 
144
145
  &::after {
145
- inset-inline-start: 4px;
146
- width: 3.25rem;
147
- height: 2rem;
146
+ inset-inline-start: 2px;
147
+ width: 2.25rem;
148
+ height: 1.4rem;
148
149
  }
149
150
 
150
151
  &[aria-checked="true"]::after,
151
152
  &.ds-toggle--checked::after {
152
- transform: translateX(1.875rem) translateY(-50%);
153
+ transform: translateX(1.25rem) translateY(-50%);
153
154
  }
154
155
  }
155
156
  }
@@ -104,7 +104,7 @@
104
104
  &--active,
105
105
  &--active:hover {
106
106
  color: var(--ds-color-text);
107
- background: var(--ds-color-bg-elevated);
107
+ background: var(--ds-color-surface-elevated);
108
108
  border-color: var(--ds-color-border);
109
109
  }
110
110
  }
@@ -165,7 +165,7 @@
165
165
  }
166
166
 
167
167
  &--active {
168
- background: var(--ds-color-bg-elevated);
168
+ background: var(--ds-color-surface-elevated);
169
169
  color: var(--ds-color-text);
170
170
  }
171
171
  }
@@ -7,8 +7,20 @@
7
7
  /* Light theme (default) */
8
8
  :root,
9
9
  [data-theme="light"] {
10
- /* --- Backgroundsclean whites, warm grays --- */
10
+ /* --- Backgroundpage-level only --- */
11
11
  --ds-color-bg: #fafafa;
12
+
13
+ /* --- Surface — everything on top of bg --- */
14
+ --ds-color-surface: #ffffff;
15
+ --ds-color-surface-hover: #fafafa;
16
+ --ds-color-surface-muted: #e4e4e7;
17
+ --ds-color-surface-muted-hover: #d4d4d8;
18
+ --ds-color-surface-elevated: #f4f4f5;
19
+ --ds-color-surface-elevated-hover: #e4e4e7;
20
+ --ds-color-surface-active: #f4f4f5; /* same value as elevated, different semantics — selected/active state */
21
+
22
+ /* @deprecated — use surface-* instead. Will be removed in a future major.
23
+ Kept for backward compatibility with consumer projects. */
12
24
  --ds-color-bg-subtle: #ffffff;
13
25
  --ds-color-bg-muted: #e4e4e7;
14
26
  --ds-color-bg-muted-hover: #d4d4d8;
@@ -16,10 +28,6 @@
16
28
  --ds-color-bg-elevated: #f4f4f5;
17
29
  --ds-color-bg-elevated-hover: #e4e4e7;
18
30
 
19
- --ds-color-surface: #ffffff;
20
- --ds-color-surface-hover: #fafafa;
21
- --ds-color-surface-active: #f4f4f5;
22
-
23
31
  /* --- Text — zinc hierarchy ---
24
32
  Contrast ratios on --ds-color-bg (#fafafa):
25
33
  --text: #09090b → ~19.3:1 ✅ WCAG AAA
@@ -58,10 +66,13 @@
58
66
  /* --- Overlays --- */
59
67
  --ds-color-overlay: rgba(0, 0, 0, 0.5);
60
68
  --ds-color-overlay-subtle: rgba(0, 0, 0, 0.02);
69
+
70
+ /* @deprecated — use surface-hover / surface-active instead */
61
71
  --ds-color-overlay-hover: rgba(0, 0, 0, 0.08);
62
72
  --ds-color-overlay-active: rgba(0, 0, 0, 0.12);
63
73
 
64
- /* --- Navigation (glass effect) --- */
74
+ /* @deprecated use color-surface + backdrop-filter for glass effect.
75
+ Too specific as tokens. Kept for backward compat. */
65
76
  --ds-color-nav-bg: rgba(250, 250, 250, 0.8);
66
77
  --ds-color-nav-border: rgba(228, 228, 231, 0.6);
67
78
 
@@ -83,8 +94,19 @@
83
94
 
84
95
  /* Dark theme */
85
96
  [data-theme="dark"] {
86
- /* --- Backgroundsdeep, refined zinc-900 palette --- */
97
+ /* --- Backgroundpage-level only --- */
87
98
  --ds-color-bg: #09090b;
99
+
100
+ /* --- Surface --- */
101
+ --ds-color-surface: #0f0f11;
102
+ --ds-color-surface-hover: #18181b;
103
+ --ds-color-surface-muted: #18181b;
104
+ --ds-color-surface-muted-hover: #212124;
105
+ --ds-color-surface-elevated: #2d2d31;
106
+ --ds-color-surface-elevated-hover: #3a3a40;
107
+ --ds-color-surface-active: #27272a;
108
+
109
+ /* @deprecated */
88
110
  --ds-color-bg-subtle: #0f0f11;
89
111
  --ds-color-bg-muted: #18181b;
90
112
  --ds-color-bg-muted-hover: #212124;
@@ -92,10 +114,6 @@
92
114
  --ds-color-bg-elevated: #2d2d31;
93
115
  --ds-color-bg-elevated-hover: #3a3a40;
94
116
 
95
- --ds-color-surface: #0f0f11;
96
- --ds-color-surface-hover: #18181b;
97
- --ds-color-surface-active: #27272a;
98
-
99
117
  /* --- Text ---
100
118
  Contrast ratios on --ds-color-bg (#09090b):
101
119
  --text: #fafafa → ~19.3:1 ✅ WCAG AAA
@@ -134,10 +152,12 @@
134
152
  /* --- Overlays --- */
135
153
  --ds-color-overlay: rgba(0, 0, 0, 0.7);
136
154
  --ds-color-overlay-subtle: rgba(255, 255, 255, 0.03);
155
+
156
+ /* @deprecated */
137
157
  --ds-color-overlay-hover: rgba(255, 255, 255, 0.1);
138
158
  --ds-color-overlay-active: rgba(255, 255, 255, 0.15);
139
159
 
140
- /* --- Navigation --- */
160
+ /* @deprecated */
141
161
  --ds-color-nav-bg: rgba(9, 9, 11, 0.8);
142
162
  --ds-color-nav-border: rgba(39, 39, 42, 0.6);
143
163
 
@@ -180,7 +200,9 @@
180
200
  --ds-color-info-subtle: rgba(37, 99, 235, 0.1);
181
201
  --ds-color-info-border: rgba(37, 99, 235, 0.2);
182
202
 
183
- /* --- Solid fills (theme-stable, always pair with white text) --- */
203
+ /* @deprecated use color-success/warning/error/info directly.
204
+ The -solid variant was identical in value and confusing in name.
205
+ Kept for backward compatibility. */
184
206
  --ds-color-success-solid: #16a34a;
185
207
  --ds-color-warning-solid: #d97706;
186
208
  --ds-color-error-solid: #dc2626;
@@ -29,6 +29,15 @@
29
29
  --ds-text-6xl: 3.75rem; /* 60px */
30
30
  --ds-text-7xl: 4.5rem; /* 72px */
31
31
 
32
+ /* --- Editorial long-form fluid sizes ---
33
+ Promoted from esys/blog.css on 12 Apr 2026 after the blog incident.
34
+ These target magazine-style article reading, between the functional
35
+ UI scale (ds-text-*) and the display scale (ds-hero-title). Used by
36
+ .ds-editorial-title and .ds-editorial-lede in components/prose.css. */
37
+ --ds-text-editorial-title: clamp(2.5rem, 4vw + 1.5rem, 4.5rem); /* 40 → 72px */
38
+ --ds-text-editorial-lede: clamp(1.125rem, 0.5vw + 1rem, 1.375rem); /* 18 → 22px */
39
+ --ds-text-editorial-body: 1.0625rem; /* 17px fixed — sweet spot for long-form body */
40
+
32
41
  /* --- Font Weights --- */
33
42
  --ds-weight-light: 300;
34
43
  --ds-weight-normal: 400;
@@ -19,9 +19,9 @@
19
19
 
20
20
  /* --- Hover: Background --- */
21
21
  .hover\:ds-bg-base:hover { background-color: var(--ds-color-bg); }
22
- .hover\:ds-bg-subtle:hover { background-color: var(--ds-color-bg-subtle); }
23
- .hover\:ds-bg-muted:hover { background-color: var(--ds-color-bg-muted); }
24
- .hover\:ds-bg-elevated:hover { background-color: var(--ds-color-bg-elevated); }
22
+ .hover\:ds-bg-subtle:hover { background-color: var(--ds-color-surface); }
23
+ .hover\:ds-bg-muted:hover { background-color: var(--ds-color-surface-muted); }
24
+ .hover\:ds-bg-elevated:hover { background-color: var(--ds-color-surface-elevated); }
25
25
  .hover\:ds-bg-surface:hover { background-color: var(--ds-color-surface); }
26
26
  .hover\:ds-bg-hover:hover { background-color: var(--ds-color-surface-hover); }
27
27
  .hover\:ds-bg-inverted:hover { background-color: var(--ds-color-inverted); }
@@ -100,8 +100,8 @@
100
100
  ========================================================================== */
101
101
 
102
102
  .active\:ds-bg-hover:active { background-color: var(--ds-color-surface-hover); }
103
- .active\:ds-bg-muted:active { background-color: var(--ds-color-bg-muted); }
104
- .active\:ds-bg-elevated:active { background-color: var(--ds-color-bg-elevated); }
103
+ .active\:ds-bg-muted:active { background-color: var(--ds-color-surface-muted); }
104
+ .active\:ds-bg-elevated:active { background-color: var(--ds-color-surface-elevated); }
105
105
  .active\:ds-scale-95:active { transform: scale(0.95); }
106
106
  .active\:ds-scale-98:active { transform: scale(0.98); }
107
107
 
@@ -119,7 +119,7 @@
119
119
  .disabled\:ds-cursor-not-allowed[aria-disabled="true"] { cursor: not-allowed; }
120
120
 
121
121
  .disabled\:ds-bg-subtle:disabled,
122
- .disabled\:ds-bg-subtle[aria-disabled="true"] { background-color: var(--ds-color-bg-subtle); }
122
+ .disabled\:ds-bg-subtle[aria-disabled="true"] { background-color: var(--ds-color-surface); }
123
123
 
124
124
  .disabled\:ds-pointer-events-none:disabled,
125
125
  .disabled\:ds-pointer-events-none[aria-disabled="true"] { pointer-events: none; }
@@ -70,11 +70,11 @@
70
70
  /* --- Background Color --- */
71
71
  .ds-bg-base { background-color: var(--ds-color-bg); }
72
72
  .ds-bg-surface { background-color: var(--ds-color-surface); }
73
- .ds-bg-subtle { background-color: var(--ds-color-bg-subtle); }
74
- .ds-bg-elevated { background-color: var(--ds-color-bg-elevated); }
73
+ .ds-bg-subtle { background-color: var(--ds-color-surface); }
74
+ .ds-bg-elevated { background-color: var(--ds-color-surface-elevated); }
75
75
  .ds-bg-inverted { background-color: var(--ds-color-inverted); color: var(--ds-color-on-inverted); }
76
76
  .ds-bg-hover { background-color: var(--ds-color-surface-hover); }
77
- .ds-bg-muted { background-color: var(--ds-color-bg-muted); }
77
+ .ds-bg-muted { background-color: var(--ds-color-surface-muted); }
78
78
  .ds-bg-overlay { background-color: var(--ds-color-overlay); }
79
79
  .ds-bg-nav { background-color: var(--ds-color-nav-bg); }
80
80