maverick-wave 4.4.2 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.claude/skills/maverick-wave/SKILL.md +8 -5
  2. package/.claude/skills/maverick-wave/references/components.md +24 -13
  3. package/.claude/skills/maverick-wave/references/theming.md +54 -34
  4. package/CHANGELOG.md +7 -0
  5. package/README.md +65 -5
  6. package/index.html +1 -1
  7. package/maverick-wave.min.css +2 -2
  8. package/package.json +2 -2
  9. package/src/partials/colors-container.html +55 -2
  10. package/src/partials/get-started-container.html +15 -1
  11. package/src/partials/item-lists-container.html +3 -3
  12. package/src/scss/abstracts/_variables.scss +59 -11
  13. package/src/scss/base/_reset.scss +1 -1
  14. package/src/scss/components/_accordions.scss +1 -1
  15. package/src/scss/components/_avatars.scss +1 -1
  16. package/src/scss/components/_blog-post.scss +1 -1
  17. package/src/scss/components/_button-bar.scss +5 -5
  18. package/src/scss/components/_buttons.scss +11 -11
  19. package/src/scss/components/_calendar.scss +2 -2
  20. package/src/scss/components/_cards.scss +4 -3
  21. package/src/scss/components/_coming-soon.scss +2 -2
  22. package/src/scss/components/_info.scss +1 -1
  23. package/src/scss/components/_kanban.scss +1 -1
  24. package/src/scss/components/_lists.scss +144 -135
  25. package/src/scss/components/_modals.scss +1 -1
  26. package/src/scss/components/_panels.scss +2 -2
  27. package/src/scss/components/_progress.scss +7 -1
  28. package/src/scss/components/_segmented.scss +2 -1
  29. package/src/scss/components/_stepper.scss +2 -2
  30. package/src/scss/components/_tables.scss +1 -1
  31. package/src/scss/components/_tabs.scss +1 -1
  32. package/src/scss/components/_theme-toggle.scss +1 -1
  33. package/src/scss/components/_timelines.scss +2 -2
  34. package/src/scss/form-elements/_toggle.scss +2 -0
  35. package/src/scss/layout/_footer.scss +1 -1
  36. package/src/scss/layout/_header.scss +6 -1
  37. package/src/scss/layout/_section.scss +1 -1
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "maverick-wave",
3
- "version": "4.4.2",
3
+ "version": "4.5.1",
4
4
  "config": {
5
- "version_short": "4.4"
5
+ "version_short": "4.5"
6
6
  },
7
7
  "description": "A lightweight, modern CSS framework for building responsive websites with elegance and speed.",
8
8
  "main": "src/js/main.js",
@@ -156,7 +156,7 @@
156
156
  Every brand and status colour comes in two tokens.
157
157
  <code>--mw-primary-color</code> is the exact colour, for anything it
158
158
  <strong>fills</strong> - buttons, badges, bars - with
159
- <code>--mw-accent-text-color</code> on top.
159
+ <code>--mw-primary-accent-text-color</code> on top.
160
160
  <code>--mw-primary-text-color</code> is the same colour as ink
161
161
  <strong>on</strong> a theme surface: text, icons, focus rings, accent borders.
162
162
  A colour picked to carry a label is by definition too dark or too light to be
@@ -191,6 +191,40 @@
191
191
  </div>
192
192
  </div>
193
193
 
194
+ <h3 class="mw-section-subtitle">Label Ink Per Colour</h3>
195
+
196
+ <p class="mw-text-muted mw-mb-6">
197
+ <code>--mw-accent-text-color</code> is the label on every solid coloured
198
+ surface, and one value for all six only holds while the whole palette sits on
199
+ the same side of the lightness scale. A neon green primary next to a deep blue
200
+ secondary needs a dark label on the one and a light label on the other, so
201
+ every colour carries its own override:
202
+ <code>--mw-primary-accent-text-color</code>,
203
+ <code>--mw-secondary-accent-text-color</code> and the same for
204
+ <code>success</code>, <code>warning</code>, <code>danger</code> and
205
+ <code>info</code>. Each one defaults to <code>--mw-accent-text-color</code>,
206
+ so nothing changes until you set one.
207
+ </p>
208
+
209
+ <pre class="mw-code-block mw-mb-6"><code>:root {
210
+ --mw-primary-color: #39ff14;
211
+ /* the shared label stays light for the rest of the palette ... */
212
+ --mw-accent-text-color: #f2f6fc;
213
+ /* ... only the neon primary gets a dark one */
214
+ --mw-primary-accent-text-color: #0b0f0a;
215
+ }</code></pre>
216
+
217
+ <p class="mw-text-muted mw-mb-6">
218
+ Everything that fills a surface with that colour follows: buttons and mini
219
+ buttons, the burger button, table and panel headers, card badges and ribbons,
220
+ segmented and tab items, stepper dots, calendar selection, timeline dates,
221
+ accordion headers and progress labels. The burger button switches to
222
+ <code>--mw-secondary-accent-text-color</code> while the drawer is open,
223
+ because its surface does the same - override
224
+ <code>--mw-header-burgerbutton-color</code> and
225
+ <code>--mw-header-burgerbutton-open-color</code> to break out of that.
226
+ </p>
227
+
194
228
  <p class="mw-text-muted">
195
229
  Tinted surfaces follow one rule as well:
196
230
  <code>--mw-*-background</code> is 20% of the colour,
@@ -199,7 +233,7 @@
199
233
  which is what makes an alert, badge or tag readable in either theme.
200
234
  </p>
201
235
 
202
- <p class="mw-text-muted">
236
+ <p class="mw-text-muted mw-mb-6">
203
237
  The surfaces work the same way. Card, footer and border scale the page
204
238
  background's OKLch lightness and chroma by one factor and keep the hue, so a
205
239
  tinted page hands its tint down instead of graying out. A card always steps
@@ -208,3 +242,22 @@
208
242
  is also why the dark page background is not near-black: the surfaces below it
209
243
  need somewhere to go.
210
244
  </p>
245
+
246
+ <p class="mw-text-muted mw-mb-6">
247
+ Each factor is an SCSS knob, so how far a card sits from the page is one
248
+ number per theme. Below 1 steps toward black, above 1 toward white - read
249
+ <code>0.85</code> as "the card sits at 85% of the page's lightness". Move both
250
+ card knobs toward 1 for a flat, borderless look, push them apart for cards
251
+ that read as raised panels. Keep the footer further out than the card in the
252
+ dark theme and on the other side in the light one, or the band under the page
253
+ stops reading as chrome.
254
+ </p>
255
+
256
+ <pre
257
+ class="mw-code-block mw-mb-6"
258
+ ><code>@use 'maverick-wave/src/scss/main' with (
259
+ $card-surface-dark: 0.85, // card, dark theme
260
+ $card-surface-light: 1.05, // card, light theme
261
+ $footer-surface-dark: 0.75, // footer and header chrome
262
+ $footer-surface-light: 0.95
263
+ );</code></pre>
@@ -77,6 +77,12 @@
77
77
  label - set it opposite your primary. */
78
78
  --mw-accent-text-color: #f2fafa;
79
79
 
80
+ /* Per color override of that label, for a palette that does not sit on
81
+ one side of the lightness scale - a neon primary needs a dark label
82
+ while the rest of the palette keeps the light one. Same token for
83
+ secondary, success, warning, danger and info. */
84
+ --mw-primary-accent-text-color: #0b0f0a;
85
+
80
86
  /* Page backgrounds. Card, footer and border are derived from them, so
81
87
  these two are usually all you set. */
82
88
  --mw-dark-page-background: #172127;
@@ -135,7 +141,15 @@
135
141
  $dark-background: #172127,
136
142
  $light-background: #f2f6f7,
137
143
  $dark-text-color: #e8eef0,
138
- $light-text-color: #172127
144
+ $light-text-color: #172127,
145
+
146
+ // How far card and footer sit from the page background. Below 1 steps
147
+ // toward black, above 1 toward white - 0.85 means the card sits at 85%
148
+ // of the page's lightness.
149
+ $card-surface-dark: 0.85,
150
+ $card-surface-light: 1.05,
151
+ $footer-surface-dark: 0.75,
152
+ $footer-surface-light: 0.95
139
153
  );
140
154
 
141
155
  // Your additional styles
@@ -343,7 +343,7 @@
343
343
  <div class="mw-grid-4-lg">
344
344
  <div>
345
345
  <h4 class="mw-mb-3">Small Height</h4>
346
- <div class="mw-item-list-scroll-sm mw-mb-4">
346
+ <div class="mw-item-list-scroll mw-item-list-scroll-sm mw-mb-4">
347
347
  <div>Quick Action 1</div>
348
348
  <div>Quick Action 2</div>
349
349
  <div>Quick Action 3</div>
@@ -370,7 +370,7 @@
370
370
  </div>
371
371
  <div>
372
372
  <h4 class="mw-mb-3">Large Height</h4>
373
- <div class="mw-item-list-scroll-lg mw-mb-4">
373
+ <div class="mw-item-list-scroll mw-item-list-scroll-lg mw-mb-4">
374
374
  <div>Quick Action 1</div>
375
375
  <div>Quick Action 2</div>
376
376
  <div>Quick Action 3</div>
@@ -389,7 +389,7 @@
389
389
  </div>
390
390
  <div>
391
391
  <h4 class="mw-mb-3">Xtra Large Height</h4>
392
- <div class="mw-item-list-scroll-xl mw-mb-4">
392
+ <div class="mw-item-list-scroll mw-item-list-scroll-xl mw-mb-4">
393
393
  <div>Quick Action 1</div>
394
394
  <div>Quick Action 2</div>
395
395
  <div>Quick Action 3</div>
@@ -55,6 +55,30 @@ $ink-lightness-light: 0.7 !default;
55
55
  // the palette instead of being a stock #888. 0% is a true gray.
56
56
  $muted-tint: 23% !default;
57
57
 
58
+ // The surface stack - how far card and footer sit from the page background.
59
+ // Each one scales the page's OKLch lightness *and* chroma by its factor and
60
+ // keeps the hue, so the whole stack stays in one color family no matter how
61
+ // tinted the page is.
62
+ //
63
+ // Below 1 steps toward black, above 1 toward white. Read them as "the card is
64
+ // at 85% of the page's lightness": lower the dark factor or raise the light one
65
+ // for more separation between a card and the page, move both toward 1 for a
66
+ // flatter look.
67
+ //
68
+ // A card always steps *away* from the text color - down in the dark theme, up
69
+ // in the light one - so content sits on the cleaner of the two surfaces. That is
70
+ // also the one thing to watch when retuning: a near-black $dark-background
71
+ // leaves nothing underneath, and a card at 0.6 of almost nothing is still
72
+ // almost nothing. Keep the dark page around OKLch lightness 0.24 if you want
73
+ // room for a low card factor.
74
+ $card-surface-dark: 0.85 !default;
75
+ $card-surface-light: 1.05 !default;
76
+ // Footer and header chrome. In the dark theme they step further out than the
77
+ // card, in the light theme they step the other way, so the band under the page
78
+ // reads as chrome and not as another card.
79
+ $footer-surface-dark: 0.75 !default;
80
+ $footer-surface-light: 0.95 !default;
81
+
58
82
  // ---------------------------------------------------------------------------
59
83
  // Derivation helpers
60
84
  //
@@ -143,7 +167,8 @@ $muted-tint: 23% !default;
143
167
  // A brand color has two jobs, and they need two tokens:
144
168
  // --mw-primary-color the exact brand tone, for anything it *fills* -
145
169
  // buttons, badges, bars, filled surfaces. The label
146
- // on top is --mw-accent-text-color.
170
+ // on top is --mw-primary-accent-text-color, which
171
+ // falls back to the shared --mw-accent-text-color.
147
172
  // --mw-primary-text-color the same color as ink on a theme surface - text,
148
173
  // icons, focus rings, accent borders. Lives in the
149
174
  // theme maps below, because a color chosen to carry
@@ -173,6 +198,18 @@ $base-colors: (
173
198
  // it has to stay readable on a dark surface no matter how the palette or the
174
199
  // active theme is retuned.
175
200
  'accent-text-color': $accent-text-color,
201
+ // Per-color override of that label. One accent text color only works while
202
+ // the whole palette sits on the same side of the lightness scale - a neon
203
+ // green primary next to a deep blue secondary needs a dark label on the one
204
+ // and a light label on the other. Defaults to the shared token, so nothing
205
+ // changes until a project sets one:
206
+ // :root { --mw-primary-accent-text-color: #000; }
207
+ // Every component that fills a surface with one of the six colors reads the
208
+ // matching token, so a button, a table header, a panel header, a badge and
209
+ // the burger button all follow the same override. The status colors carry
210
+ // the same token, see $status-colors.
211
+ 'primary-accent-text-color': token('accent-text-color'),
212
+ 'secondary-accent-text-color': token('accent-text-color'),
176
213
  'gray-color': $gray-color,
177
214
  // Subtle neutral surface: zebra rows, disabled fields, tracks, skeletons
178
215
  'gray-background': fade('gray-color', 20%),
@@ -194,30 +231,37 @@ $status-colors: (
194
231
  'success-color-hover': shade('success-color', $hover-shift),
195
232
  'success-info-background': fade('success-color', 30%),
196
233
  'success-info-background-hover': fade('success-color', 50%),
234
+ 'success-accent-text-color': token('accent-text-color'),
197
235
  'warning-color': $warning-color,
198
236
  'warning-color-hover': shade('warning-color', $hover-shift),
199
237
  'warning-info-background': fade('warning-color', 30%),
200
238
  'warning-info-background-hover': fade('warning-color', 50%),
239
+ 'warning-accent-text-color': token('accent-text-color'),
201
240
  'danger-color': $danger-color,
202
241
  'danger-color-hover': shade('danger-color', $hover-shift),
203
242
  'danger-info-background': fade('danger-color', 30%),
204
243
  'danger-info-background-hover': fade('danger-color', 50%),
244
+ 'danger-accent-text-color': token('accent-text-color'),
205
245
  'info-color': $info-color,
206
246
  'info-color-hover': shade('info-color', $hover-shift),
207
247
  'info-info-background': fade('info-color', 30%),
208
248
  'info-info-background-hover': fade('info-color', 50%),
249
+ 'info-accent-text-color': token('accent-text-color'),
209
250
  );
210
251
 
211
252
  // Dark theme colors. Emitted as --mw-dark-<key>, hence the prefixed references.
212
253
  $dark-theme-colors: (
213
254
  'page-background': $dark-background,
214
255
  'hero-overlay-background': fade('dark-page-background', 30%),
215
- // The surface stack. A card steps *away* from the text color - down here, up
216
- // in the light theme - so content sits on the cleaner of the two surfaces.
217
- // Footer and header chrome step further out, the rule steps back the other way.
218
- 'card-background': surface('dark-page-background', 0.8),
219
- 'footer-background': surface('dark-page-background', 0.75),
220
- 'border': surface('dark-page-background', 1.5),
256
+ // The surface stack - the card and footer factors and the reasoning behind
257
+ // them live with the derivation knobs above, so a project can retune the
258
+ // stack from one place instead of editing this map. The rule between the
259
+ // surfaces keeps its own factor: it runs against the card - lighter than a
260
+ // dark page, darker than a light one - or it disappears into what it
261
+ // separates, and that is not a per-project decision.
262
+ 'card-background': surface('dark-page-background', $card-surface-dark),
263
+ 'footer-background': surface('dark-page-background', $footer-surface-dark),
264
+ 'border': surface('dark-page-background', 1.35),
221
265
  'shadow': fade('dark-text-color', 30%),
222
266
  'text-color': $dark-text-color,
223
267
  'text-muted-color': muted(0.7),
@@ -239,9 +283,9 @@ $dark-theme-colors: (
239
283
  $light-theme-colors: (
240
284
  'page-background': $light-background,
241
285
  'hero-overlay-background': fade('light-page-background', 30%),
242
- 'card-background': surface('light-page-background', 1.05),
243
- 'footer-background': surface('light-page-background', 0.95),
244
- 'border': surface('light-page-background', 0.85),
286
+ 'card-background': surface('light-page-background', $card-surface-light),
287
+ 'footer-background': surface('light-page-background', $footer-surface-light),
288
+ 'border': surface('light-page-background', 0.8),
245
289
  'shadow': fade('light-text-color', 30%),
246
290
  'text-color': $light-text-color,
247
291
  'text-muted-color': muted(0.5),
@@ -265,7 +309,11 @@ $header-colors: (
265
309
  // Primary carries the navigation, secondary stays a signal. The bar is dark in
266
310
  // both themes, so the active item takes the dark ink tone in both.
267
311
  'navbar-list-active-color': token('dark-primary-text-color'),
268
- 'burgerbutton-color': token('dark-text-color'),
312
+ // The burger sits on the primary button surface, and on the secondary one
313
+ // while the drawer is open, so it takes the label ink of each - not the
314
+ // header text color, which is picked for the dark bar behind it.
315
+ 'burgerbutton-color': token('primary-accent-text-color'),
316
+ 'burgerbutton-open-color': token('secondary-accent-text-color'),
269
317
  'border': token('dark-border-accent'),
270
318
  );
271
319
  // Drives the bar height, the anchor scroll offset and the mobile drawer padding.
@@ -73,7 +73,7 @@ td {
73
73
 
74
74
  th {
75
75
  background: var(--mw-primary-color);
76
- color: var(--mw-accent-text-color);
76
+ color: var(--mw-primary-accent-text-color);
77
77
  }
78
78
 
79
79
  tbody tr:nth-child(even) {
@@ -45,7 +45,7 @@
45
45
  &.mw-active,
46
46
  &.active {
47
47
  background: var(--mw-primary-color);
48
- color: var(--mw-accent-text-color);
48
+ color: var(--mw-primary-accent-text-color);
49
49
 
50
50
  .mw-accordion-icon {
51
51
  transform: rotate(180deg);
@@ -75,7 +75,7 @@ $_mw-avatar-colors: (
75
75
  align-items: center;
76
76
  justify-content: center;
77
77
  background: var(--mw-primary-color);
78
- color: var(--mw-accent-text-color);
78
+ color: var(--mw-primary-accent-text-color);
79
79
  font-weight: font-weight('bold');
80
80
  line-height: 1;
81
81
  text-transform: uppercase;
@@ -63,7 +63,7 @@
63
63
  height: 60px;
64
64
  border-radius: radius('full');
65
65
  background: var(--mw-primary-color);
66
- color: var(--mw-accent-text-color);
66
+ color: var(--mw-primary-accent-text-color);
67
67
  display: flex;
68
68
  align-items: center;
69
69
  justify-content: center;
@@ -55,7 +55,7 @@
55
55
  [class*='mw-btn-link']
56
56
  ) {
57
57
  background: var(--mw-primary-color);
58
- color: var(--mw-accent-text-color);
58
+ color: var(--mw-primary-accent-text-color);
59
59
 
60
60
  &:hover:not(:disabled) {
61
61
  background: var(--mw-primary-color-hover);
@@ -69,7 +69,7 @@
69
69
  [class*='mw-btn-link']
70
70
  ) {
71
71
  background: var(--mw-secondary-color);
72
- color: var(--mw-accent-text-color);
72
+ color: var(--mw-secondary-accent-text-color);
73
73
 
74
74
  &:hover:not(:disabled) {
75
75
  background: var(--mw-secondary-color-hover);
@@ -88,7 +88,7 @@
88
88
 
89
89
  &:hover:not(:disabled) {
90
90
  background: var(--mw-primary-color);
91
- color: var(--mw-accent-text-color);
91
+ color: var(--mw-primary-accent-text-color);
92
92
  }
93
93
  }
94
94
  }
@@ -106,14 +106,14 @@
106
106
 
107
107
  &:hover:not(:disabled) {
108
108
  background: var(--mw-primary-color);
109
- color: var(--mw-accent-text-color);
109
+ color: var(--mw-primary-accent-text-color);
110
110
  }
111
111
  }
112
112
 
113
113
  // Middle button(s) get primary style
114
114
  .mw-btn:not(:first-child):not(:last-child):not([class*='mw-btn-']) {
115
115
  background: var(--mw-primary-color);
116
- color: var(--mw-accent-text-color);
116
+ color: var(--mw-primary-accent-text-color);
117
117
 
118
118
  &:hover:not(:disabled) {
119
119
  background: var(--mw-primary-color-hover);
@@ -32,7 +32,7 @@
32
32
  // Color variants
33
33
  .mw-btn-primary {
34
34
  background: var(--mw-primary-color);
35
- color: var(--mw-accent-text-color);
35
+ color: var(--mw-primary-accent-text-color);
36
36
  &:hover:not(:disabled) {
37
37
  background: var(--mw-primary-color-hover);
38
38
  }
@@ -44,7 +44,7 @@
44
44
  }
45
45
  .mw-btn-secondary {
46
46
  background: var(--mw-secondary-color);
47
- color: var(--mw-accent-text-color);
47
+ color: var(--mw-secondary-accent-text-color);
48
48
  &:hover:not(:disabled) {
49
49
  background: var(--mw-secondary-color-hover);
50
50
  }
@@ -57,7 +57,7 @@
57
57
  // Semantic variants for destructive / confirming actions
58
58
  .mw-btn-danger {
59
59
  background: var(--mw-danger-color);
60
- color: var(--mw-accent-text-color);
60
+ color: var(--mw-danger-accent-text-color);
61
61
  &:hover:not(:disabled) {
62
62
  background: var(--mw-danger-color-hover);
63
63
  }
@@ -69,7 +69,7 @@
69
69
  }
70
70
  .mw-btn-success {
71
71
  background: var(--mw-success-color);
72
- color: var(--mw-accent-text-color);
72
+ color: var(--mw-success-accent-text-color);
73
73
  &:hover:not(:disabled) {
74
74
  background: var(--mw-success-color-hover);
75
75
  }
@@ -85,12 +85,12 @@
85
85
  color: var(--mw-primary-text-color);
86
86
  &:hover:not(:disabled) {
87
87
  background: var(--mw-primary-color);
88
- color: var(--mw-accent-text-color);
88
+ color: var(--mw-primary-accent-text-color);
89
89
  }
90
90
  &.mw-active:not(:disabled),
91
91
  &.active:not(:disabled) {
92
92
  background: var(--mw-primary-color);
93
- color: var(--mw-accent-text-color);
93
+ color: var(--mw-primary-accent-text-color);
94
94
  }
95
95
  }
96
96
  .mw-btn-link {
@@ -231,34 +231,34 @@
231
231
 
232
232
  &:hover:not(:disabled) {
233
233
  background: var(--mw-primary-color);
234
- color: var(--mw-accent-text-color);
234
+ color: var(--mw-primary-accent-text-color);
235
235
  }
236
236
  }
237
237
 
238
238
  .mw-btn-mini-primary {
239
239
  &:hover:not(:disabled) {
240
240
  background: var(--mw-primary-color);
241
- color: var(--mw-accent-text-color);
241
+ color: var(--mw-primary-accent-text-color);
242
242
  }
243
243
  }
244
244
 
245
245
  .mw-btn-mini-secondary {
246
246
  &:hover:not(:disabled) {
247
247
  background: var(--mw-secondary-color);
248
- color: var(--mw-accent-text-color);
248
+ color: var(--mw-secondary-accent-text-color);
249
249
  }
250
250
  }
251
251
 
252
252
  .mw-btn-mini-danger {
253
253
  &:hover:not(:disabled) {
254
254
  background: var(--mw-danger-color);
255
- color: var(--mw-accent-text-color);
255
+ color: var(--mw-danger-accent-text-color);
256
256
  }
257
257
  }
258
258
 
259
259
  .mw-btn-mini-success {
260
260
  &:hover:not(:disabled) {
261
261
  background: var(--mw-success-color);
262
- color: var(--mw-accent-text-color);
262
+ color: var(--mw-success-accent-text-color);
263
263
  }
264
264
  }
@@ -141,7 +141,7 @@ $_mw-calendar-dot-tones: (
141
141
  .mw-calendar-day.mw-selected {
142
142
  background: var(--mw-primary-color);
143
143
  border-color: var(--mw-primary-text-color);
144
- color: var(--mw-accent-text-color);
144
+ color: var(--mw-primary-accent-text-color);
145
145
  opacity: 1;
146
146
  }
147
147
 
@@ -191,7 +191,7 @@ $_mw-calendar-dot-tones: (
191
191
  // Only the untoned dot would drown in the selected fill. An inline
192
192
  // --mw-calendar-dot on the dot itself still wins over this.
193
193
  .mw-calendar-day.mw-selected .mw-calendar-dot:not([class*='mw-calendar-dot-']) {
194
- --mw-calendar-dot: var(--mw-accent-text-color);
194
+ --mw-calendar-dot: var(--mw-primary-accent-text-color);
195
195
  }
196
196
 
197
197
  // Compact month - date picker density
@@ -62,7 +62,7 @@ $_mw-card-addon-colors: (
62
62
  right: spacing('4');
63
63
  padding: spacing('1') spacing('4');
64
64
  font-size: font-size('xs');
65
- color: var(--mw-accent-text-color);
65
+ color: var(--mw-card-addon-text-color, var(--mw-primary-accent-text-color));
66
66
  background: var(--mw-card-addon-color, var(--mw-primary-color));
67
67
  border-radius: radius('md');
68
68
  white-space: nowrap;
@@ -79,7 +79,7 @@ $_mw-card-addon-colors: (
79
79
  right: -35px;
80
80
  padding: spacing('1') spacing('4');
81
81
  font-size: font-size('xs');
82
- color: var(--mw-accent-text-color);
82
+ color: var(--mw-card-addon-text-color, var(--mw-primary-accent-text-color));
83
83
  background: var(--mw-card-addon-color, var(--mw-primary-color));
84
84
  white-space: nowrap;
85
85
  width: 220px;
@@ -231,7 +231,7 @@ $_mw-card-addon-colors: (
231
231
  height: 38px;
232
232
  border-radius: radius('full');
233
233
  background: var(--mw-primary-color);
234
- color: var(--mw-accent-text-color);
234
+ color: var(--mw-primary-accent-text-color);
235
235
  display: flex;
236
236
  align-items: center;
237
237
  justify-content: center;
@@ -291,6 +291,7 @@ $_mw-card-addon-colors: (
291
291
  @each $name, $col in $_mw-card-addon-colors {
292
292
  .mw-card-addon-#{$name} {
293
293
  --mw-card-addon-color: #{$col};
294
+ --mw-card-addon-text-color: var(--mw-#{$name}-accent-text-color);
294
295
  }
295
296
  }
296
297
 
@@ -55,12 +55,12 @@
55
55
  border-style: solid;
56
56
 
57
57
  .mw-coming-soon-icon {
58
- color: var(--mw-accent-text-color);
58
+ color: var(--mw-primary-accent-text-color);
59
59
  transform: rotate(27deg);
60
60
  }
61
61
 
62
62
  .mw-coming-soon-text {
63
- color: var(--mw-accent-text-color);
63
+ color: var(--mw-primary-accent-text-color);
64
64
  transform: scale(1.05);
65
65
  }
66
66
 
@@ -155,6 +155,6 @@ button.mw-info {
155
155
 
156
156
  .mw-info-mini-#{$name} {
157
157
  background: #{$col};
158
- color: var(--mw-accent-text-color);
158
+ color: var(--mw-#{$name}-accent-text-color);
159
159
  }
160
160
  }
@@ -222,7 +222,7 @@ $_mw-kanban-ribbon-clearance-compact: 58px;
222
222
  &:hover:not(:disabled) {
223
223
  background: var(--mw-primary-color);
224
224
  border-color: var(--mw-primary-text-color);
225
- color: var(--mw-accent-text-color);
225
+ color: var(--mw-primary-accent-text-color);
226
226
  }
227
227
 
228
228
  &:focus-visible {