@volksverpetzer/ui-web 0.12.0 → 0.12.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.
package/dist/Badge.css CHANGED
@@ -58,3 +58,31 @@
58
58
  background: color-mix(in srgb, var(--vvp-pruefpunkt, #442674) 15%, white);
59
59
  color: var(--vvp-pruefpunkt, #442674);
60
60
  }
61
+
62
+ /*
63
+ * Dark mode: the light-mode formula above mixes toward literal `white`,
64
+ * which is theme-independent. Dark-mode brand colors are deliberately
65
+ * lightened for legibility on a near-black page, so mixed with `white` at
66
+ * 15% they lose too much contrast against their own text color (as low as
67
+ * ~2:1 for some variant/brand pairings, against a 4.5:1 requirement).
68
+ *
69
+ * Each variant below uses whichever tint direction and percentage clears
70
+ * 4.5:1 for both Volksverpetzer and Mimikama's dark palettes (verified with
71
+ * the WCAG contrast formula) — primary and accent read fine tinted toward
72
+ * white, error and pruefpunkt need black instead.
73
+ */
74
+ .dark .vvp-ui-badge--primary {
75
+ background: color-mix(in srgb, var(--vvp-primary, #1b7194) 5%, white);
76
+ }
77
+
78
+ .dark .vvp-ui-badge--accent {
79
+ background: #fff;
80
+ }
81
+
82
+ .dark .vvp-ui-badge--error {
83
+ background: color-mix(in srgb, var(--vvp-error, #ef5350) 15%, black);
84
+ }
85
+
86
+ .dark .vvp-ui-badge--pruefpunkt {
87
+ background: color-mix(in srgb, var(--vvp-pruefpunkt, #8b5cf6) 10%, black);
88
+ }
package/dist/Button.css CHANGED
@@ -56,8 +56,8 @@
56
56
 
57
57
  .vvp-ui-btn--ghost {
58
58
  background: transparent;
59
- color: var(--vvp-primary, #1b7194);
60
- border: 2px solid var(--vvp-primary, #1b7194);
59
+ color: var(--vvp-link-text, #1b7194);
60
+ border: 2px solid var(--vvp-link-text, #1b7194);
61
61
  }
62
62
 
63
63
  .vvp-ui-btn--ghost:hover:not(:disabled) {
@@ -13,7 +13,7 @@
13
13
  .vvp-ui-linkbtn {
14
14
  border-radius: var(--vvp-radius-md, 12px);
15
15
  background: transparent;
16
- color: var(--vvp-primary, #1b7194);
16
+ color: var(--vvp-link-text, #1b7194);
17
17
  border: 1.5px solid var(--vvp-surface, #e2f0f5);
18
18
  box-shadow: var(
19
19
  --vvp-elevation-accent-rest,
@@ -3,4 +3,13 @@
3
3
  top: var(--vvp-spacing-lg, 16px);
4
4
  right: var(--vvp-spacing-lg, 16px);
5
5
  z-index: 50;
6
+ /* Ghost buttons default to a transparent background, which disappears
7
+ against busy page backgrounds (e.g. crowdfunding.volksverpetzer.de).
8
+ The toggle floats over arbitrary host content, so it needs an
9
+ explicit, opaque background rather than inheriting the ghost variant's. */
10
+ background: var(--vvp-background, #fff);
11
+ }
12
+
13
+ .vvp-ui-theme-toggle:hover:not(:disabled) {
14
+ background: var(--vvp-surface, #e2f0f5);
6
15
  }
package/dist/ToolPage.css CHANGED
@@ -122,7 +122,7 @@
122
122
  .vvp-ui-tool-page__icon {
123
123
  display: inline-flex;
124
124
  align-items: center;
125
- color: var(--vvp-primary, #1b7194);
125
+ color: var(--vvp-link-text, #1b7194);
126
126
  }
127
127
 
128
128
  .vvp-ui-tool-page__tags {
package/dist/styles.css CHANGED
@@ -74,6 +74,34 @@
74
74
  color: var(--vvp-pruefpunkt, #442674);
75
75
  }
76
76
 
77
+ /*
78
+ * Dark mode: the light-mode formula above mixes toward literal `white`,
79
+ * which is theme-independent. Dark-mode brand colors are deliberately
80
+ * lightened for legibility on a near-black page, so mixed with `white` at
81
+ * 15% they lose too much contrast against their own text color (as low as
82
+ * ~2:1 for some variant/brand pairings, against a 4.5:1 requirement).
83
+ *
84
+ * Each variant below uses whichever tint direction and percentage clears
85
+ * 4.5:1 for both Volksverpetzer and Mimikama's dark palettes (verified with
86
+ * the WCAG contrast formula) — primary and accent read fine tinted toward
87
+ * white, error and pruefpunkt need black instead.
88
+ */
89
+ .dark .vvp-ui-badge--primary {
90
+ background: color-mix(in srgb, var(--vvp-primary, #1b7194) 5%, white);
91
+ }
92
+
93
+ .dark .vvp-ui-badge--accent {
94
+ background: #fff;
95
+ }
96
+
97
+ .dark .vvp-ui-badge--error {
98
+ background: color-mix(in srgb, var(--vvp-error, #ef5350) 15%, black);
99
+ }
100
+
101
+ .dark .vvp-ui-badge--pruefpunkt {
102
+ background: color-mix(in srgb, var(--vvp-pruefpunkt, #8b5cf6) 10%, black);
103
+ }
104
+
77
105
  .vvp-ui-btn {
78
106
  display: inline-flex;
79
107
  align-items: center;
@@ -132,8 +160,8 @@
132
160
 
133
161
  .vvp-ui-btn--ghost {
134
162
  background: transparent;
135
- color: var(--vvp-primary, #1b7194);
136
- border: 2px solid var(--vvp-primary, #1b7194);
163
+ color: var(--vvp-link-text, #1b7194);
164
+ border: 2px solid var(--vvp-link-text, #1b7194);
137
165
  }
138
166
 
139
167
  .vvp-ui-btn--ghost:hover:not(:disabled) {
@@ -258,7 +286,7 @@
258
286
  .vvp-ui-linkbtn {
259
287
  border-radius: var(--vvp-radius-md, 12px);
260
288
  background: transparent;
261
- color: var(--vvp-primary, #1b7194);
289
+ color: var(--vvp-link-text, #1b7194);
262
290
  border: 1.5px solid var(--vvp-surface, #e2f0f5);
263
291
  box-shadow: var(
264
292
  --vvp-elevation-accent-rest,
@@ -430,6 +458,15 @@
430
458
  top: var(--vvp-spacing-lg, 16px);
431
459
  right: var(--vvp-spacing-lg, 16px);
432
460
  z-index: 50;
461
+ /* Ghost buttons default to a transparent background, which disappears
462
+ against busy page backgrounds (e.g. crowdfunding.volksverpetzer.de).
463
+ The toggle floats over arbitrary host content, so it needs an
464
+ explicit, opaque background rather than inheriting the ghost variant's. */
465
+ background: var(--vvp-background, #fff);
466
+ }
467
+
468
+ .vvp-ui-theme-toggle:hover:not(:disabled) {
469
+ background: var(--vvp-surface, #e2f0f5);
433
470
  }
434
471
 
435
472
  .vvp-ui-tool-page {
@@ -556,7 +593,7 @@
556
593
  .vvp-ui-tool-page__icon {
557
594
  display: inline-flex;
558
595
  align-items: center;
559
- color: var(--vvp-primary, #1b7194);
596
+ color: var(--vvp-link-text, #1b7194);
560
597
  }
561
598
 
562
599
  .vvp-ui-tool-page__tags {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volksverpetzer/ui-web",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "Shared brand-visible React components (Button, Badge, Card, ProgressBar, Input, Alert, Slider, ThemeToggle, InputButton) for vvp_link_shortener, vvp_divi5_extensions, crowdfunding, and vectorcrawl. Plain, hand-scoped CSS (vvp-ui-* class prefix) consuming the --vvp-* custom properties emitted by @volksverpetzer/design-tokens — no Tailwind classes, so it drops into a Tailwind app and Divi's WordPress-embedded CSS alike.",
5
5
  "type": "module",
6
6
  "license": "MIT",