@dbcdk/react-components 0.0.174 → 0.0.175
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/components/filter-field/FilterField.module.css +2 -2
- package/dist/components/forms/file-upload/FileUpload.module.css +3 -3
- package/dist/components/forms/form-select/FormSelect.module.css +1 -1
- package/dist/components/forms/input/Input.module.css +8 -8
- package/dist/components/forms/text-area/Textarea.module.css +2 -1
- package/dist/components/nav-bar/NavBar.module.css +1 -1
- package/dist/styles/themes/dbc/colors.css +1 -0
- package/dist/styles/themes/filmstriben/theme.css +63 -10
- package/package.json +1 -1
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
z-index: 1;
|
|
168
168
|
color: var(--color-fg-default);
|
|
169
169
|
background: color-mix(in srgb, var(--color-bg-hover-subtle) 55%, transparent);
|
|
170
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
170
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
171
171
|
outline: none;
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
.valueWrapper:focus-within {
|
|
201
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
201
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
.invalid .valueWrapper:focus-within {
|
|
@@ -26,15 +26,15 @@
|
|
|
26
26
|
|
|
27
27
|
.dropzone:hover:not(.disabled) {
|
|
28
28
|
background-color: var(--color-bg-selected);
|
|
29
|
-
border-color: var(--color-
|
|
29
|
+
border-color: var(--color-field-focus);
|
|
30
30
|
color: var(--color-fg-default);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.dragging {
|
|
34
34
|
background-color: var(--color-bg-selected);
|
|
35
|
-
border-color: var(--color-
|
|
35
|
+
border-color: var(--color-field-focus);
|
|
36
36
|
color: var(--color-fg-default);
|
|
37
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
37
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.hasError {
|
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
.outlined:focus-within:not([aria-disabled='true']) {
|
|
109
|
-
border-color: var(--color-
|
|
110
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
109
|
+
border-color: var(--color-field-focus);
|
|
110
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
.surface {
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
.surface:focus-within:not([aria-disabled='true']) {
|
|
125
|
-
border-color: var(--color-
|
|
126
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
125
|
+
border-color: var(--color-field-focus);
|
|
126
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
/* Old filled/tinted behavior, now renamed subtle */
|
|
@@ -138,8 +138,8 @@
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
.subtle:focus-within:not([aria-disabled='true']) {
|
|
141
|
-
border-color: var(--color-
|
|
142
|
-
box-shadow: inset 0 0 0 1px var(--color-
|
|
141
|
+
border-color: var(--color-field-focus);
|
|
142
|
+
box-shadow: inset 0 0 0 1px var(--color-field-focus);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
.embedded {
|
|
@@ -176,11 +176,11 @@
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
.standalone:focus-within:not([aria-disabled='true']) {
|
|
179
|
-
border-color: var(--color-
|
|
179
|
+
border-color: var(--color-field-focus);
|
|
180
180
|
box-shadow:
|
|
181
181
|
var(--shadow-xs),
|
|
182
182
|
var(--shadow-md),
|
|
183
|
-
inset 0 0 0 1px var(--color-
|
|
183
|
+
inset 0 0 0 1px var(--color-field-focus);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
/* Ghost field for use inside/near AppHeader — only meaningful there */
|
|
@@ -215,6 +215,7 @@ html {
|
|
|
215
215
|
/* Focus */
|
|
216
216
|
--color-focus-ring: var(--dbc-blue-300);
|
|
217
217
|
--focus-ring: 0 0 0 3px light-dark(rgba(12, 62, 227, 0.25), rgba(59, 130, 246, 0.35));
|
|
218
|
+
--color-field-focus: var(--color-brand);
|
|
218
219
|
|
|
219
220
|
/* Syntax (JSON viewer) */
|
|
220
221
|
--color-syntax-accent: var(--dbc-blue-300);
|
|
@@ -18,16 +18,12 @@
|
|
|
18
18
|
* flipping that attribute, without re-declaring or clobbering the whole dbc
|
|
19
19
|
* palette a second time.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* earlier, abandoned attempt at a mixed "text-safe gold"). Scoping the
|
|
28
|
-
* yellow to the navbar/logo — where it always sits on its own guaranteed
|
|
29
|
-
* background — sidesteps that tradeoff entirely instead of picking a
|
|
30
|
-
* compromise shade.
|
|
21
|
+
* Uses a split brand strategy:
|
|
22
|
+
* - light theme: semantic UI primary stays on blue for contrast and clarity
|
|
23
|
+
* - dark theme: the real Filmstriben yellow, which has enough contrast there
|
|
24
|
+
*
|
|
25
|
+
* Navbar/header identity still uses the raw yellow directly because it always
|
|
26
|
+
* sits on its own guaranteed dark background.
|
|
31
27
|
*/
|
|
32
28
|
|
|
33
29
|
:root[data-product-theme='filmstriben'] {
|
|
@@ -52,4 +48,61 @@
|
|
|
52
48
|
--color-logo: var(--filmstriben-yellow);
|
|
53
49
|
--color-logo-bg: color-mix(in srgb, var(--color-logo) 10%, var(--color-bg-surface));
|
|
54
50
|
--color-logo-fg: var(--filmstriben-black);
|
|
51
|
+
|
|
52
|
+
/* Light-theme UI primary stays semantic and high-contrast; Filmstriben's
|
|
53
|
+
real yellow remains available for identity-bearing accents instead. */
|
|
54
|
+
--color-brand: var(--dbc-blue-500);
|
|
55
|
+
--color-brand-hover: var(--dbc-blue-600);
|
|
56
|
+
--color-brand-strong: var(--dbc-blue-600);
|
|
57
|
+
--color-fg-on-brand: #ffffff;
|
|
58
|
+
--color-border-selected: var(--color-brand);
|
|
59
|
+
--color-field-focus: var(--dbc-blue-500);
|
|
60
|
+
--color-focus-ring: var(--dbc-blue-300);
|
|
61
|
+
--focus-ring: 0 0 0 3px rgba(12, 62, 227, 0.25);
|
|
62
|
+
--color-link: var(--dbc-blue-500);
|
|
63
|
+
--color-link-hover: var(--dbc-blue-600);
|
|
64
|
+
--color-bg-selected: var(--dbc-blue-100);
|
|
65
|
+
--color-bg-selected-hover: var(--dbc-blue-150);
|
|
66
|
+
--color-chart-primary: color-mix(in srgb, var(--color-brand) 75%, rgb(255 255 255 / 0));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:root[data-product-theme='filmstriben'][data-theme='dark'] {
|
|
70
|
+
/* Dark surfaces tuned to the navbar's grey-black identity instead of dbc's cooler blue darks. */
|
|
71
|
+
--filmstriben-surface-page: #212529;
|
|
72
|
+
--filmstriben-surface-subtle: #2a2f34;
|
|
73
|
+
--filmstriben-surface-strong: #161a1d;
|
|
74
|
+
--filmstriben-surface-hover: #343a40;
|
|
75
|
+
--filmstriben-surface-inverse: #34393f;
|
|
76
|
+
--filmstriben-table-row-alt: #1c2024;
|
|
77
|
+
--filmstriben-yellow-hover: #ffca2c;
|
|
78
|
+
--filmstriben-yellow-strong: #ffcd39;
|
|
79
|
+
--filmstriben-yellow-soft: #4a3a06;
|
|
80
|
+
--filmstriben-yellow-soft-hover: #5b4707;
|
|
81
|
+
|
|
82
|
+
--color-bg-page: var(--filmstriben-surface-page);
|
|
83
|
+
--color-bg-surface: var(--filmstriben-surface-page);
|
|
84
|
+
--color-bg-surface-subtle: var(--filmstriben-surface-subtle);
|
|
85
|
+
--color-bg-surface-strong: var(--filmstriben-surface-strong);
|
|
86
|
+
--color-bg-inverse: var(--filmstriben-surface-inverse);
|
|
87
|
+
--color-bg-toolbar: var(--filmstriben-surface-subtle);
|
|
88
|
+
--color-bg-toolbar-hover: var(--filmstriben-surface-hover);
|
|
89
|
+
|
|
90
|
+
--table-header-bg: var(--filmstriben-surface-subtle);
|
|
91
|
+
--table-row-bg: var(--filmstriben-surface-page);
|
|
92
|
+
--table-row-bg-alt: var(--filmstriben-table-row-alt);
|
|
93
|
+
--table-row-bg-hover: var(--filmstriben-surface-subtle);
|
|
94
|
+
|
|
95
|
+
/* In dark mode the Filmstriben yellow has enough contrast to become the primary brand color. */
|
|
96
|
+
--color-brand: var(--filmstriben-yellow);
|
|
97
|
+
--color-brand-hover: var(--filmstriben-yellow-hover);
|
|
98
|
+
--color-brand-strong: var(--filmstriben-yellow-strong);
|
|
99
|
+
--color-fg-on-brand: var(--filmstriben-black);
|
|
100
|
+
--color-border-selected: var(--color-brand);
|
|
101
|
+
--color-field-focus: var(--dbc-blue-300);
|
|
102
|
+
--color-focus-ring: var(--filmstriben-yellow);
|
|
103
|
+
--focus-ring: 0 0 0 3px color-mix(in srgb, var(--filmstriben-yellow) 35%, transparent);
|
|
104
|
+
|
|
105
|
+
--color-bg-selected: var(--filmstriben-yellow-soft);
|
|
106
|
+
--color-bg-selected-hover: var(--filmstriben-yellow-soft-hover);
|
|
107
|
+
--color-chart-primary: color-mix(in srgb, var(--color-brand) 75%, rgb(255 255 255 / 0));
|
|
55
108
|
}
|