@sofidevo/astro-dynamic-header 5.0.0 → 5.0.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/package.json +1 -1
- package/src/Header.astro +11 -12
package/package.json
CHANGED
package/src/Header.astro
CHANGED
|
@@ -78,12 +78,13 @@ export interface Props {
|
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
80
|
classNames?: HeaderClassNames;
|
|
81
|
+
headerBg?: string;
|
|
82
|
+
|
|
81
83
|
}
|
|
82
84
|
|
|
83
85
|
const {
|
|
84
86
|
headerType = "floating",
|
|
85
87
|
preset = "auto",
|
|
86
|
-
|
|
87
88
|
navigation = {},
|
|
88
89
|
classNames = {},
|
|
89
90
|
} = Astro.props;
|
|
@@ -142,15 +143,15 @@ const forcedClass = preset !== "auto" ? `header--force-${preset}` : "";
|
|
|
142
143
|
>
|
|
143
144
|
<header
|
|
144
145
|
class:list={[
|
|
146
|
+
classNames.header,
|
|
145
147
|
"header",
|
|
146
148
|
`header--${headerType}`,
|
|
147
149
|
forcedClass,
|
|
148
|
-
classNames.header,
|
|
149
150
|
]}
|
|
150
151
|
>
|
|
151
152
|
<slot name="logo" />
|
|
152
153
|
|
|
153
|
-
<div class:list={["nav-menu-wrapper"
|
|
154
|
+
<div class:list={[classNames.nav, "nav-menu-wrapper"]}>
|
|
154
155
|
<NavMenu
|
|
155
156
|
menuItems={menuItems}
|
|
156
157
|
homeUrl={homeUrl}
|
|
@@ -199,18 +200,16 @@ const forcedClass = preset !== "auto" ? `header--force-${preset}` : "";
|
|
|
199
200
|
|
|
200
201
|
@layer components {
|
|
201
202
|
.header {
|
|
202
|
-
--bg-color: var(--l-bg
|
|
203
|
-
--bg-color-opaque: var(--l-bg-opaque,
|
|
203
|
+
--bg-color: var(--l-bg);
|
|
204
|
+
--bg-color-opaque: var(--l-bg-opaque, rgba(255, 255, 255, 0.748));
|
|
204
205
|
--text-color: var(--l-text, #1a1a1a);
|
|
205
206
|
--accent-color: var(--l-accent, #3e1c71);
|
|
206
207
|
--backdrop-blur: var(--l-blur, blur(20px));
|
|
207
|
-
|
|
208
208
|
display: flex;
|
|
209
209
|
align-items: center;
|
|
210
210
|
width: 100%;
|
|
211
211
|
justify-content: space-between;
|
|
212
212
|
padding: 1em 2em;
|
|
213
|
-
background-color: var(--bg-color);
|
|
214
213
|
backdrop-filter: var(--backdrop-blur);
|
|
215
214
|
-webkit-backdrop-filter: var(--backdrop-blur);
|
|
216
215
|
color: var(--text-color);
|
|
@@ -227,7 +226,7 @@ const forcedClass = preset !== "auto" ? `header--force-${preset}` : "";
|
|
|
227
226
|
|
|
228
227
|
/* Automatic dark mode detection via root class */
|
|
229
228
|
:root.dark .header:not(.header--force-light):not(.header--force-dark) {
|
|
230
|
-
--bg-color: var(--d-bg,
|
|
229
|
+
--bg-color: var(--d-bg, rgba(0, 0, 0, 0.823));
|
|
231
230
|
--bg-color-opaque: var(--d-bg-opaque, #0d0d0d);
|
|
232
231
|
--text-color: var(--d-text, #ffffff);
|
|
233
232
|
--accent-color: var(--d-accent, #00ffff);
|
|
@@ -236,15 +235,15 @@ const forcedClass = preset !== "auto" ? `header--force-${preset}` : "";
|
|
|
236
235
|
|
|
237
236
|
/* Forced themes: higher specificity than .header, no !important needed */
|
|
238
237
|
.header.header--force-dark {
|
|
239
|
-
--bg-color: var(--d-bg,
|
|
240
|
-
--bg-color-opaque: var(--d-bg-opaque, #
|
|
238
|
+
--bg-color: var(--d-bg, rgba(0, 0, 0, 0.823));
|
|
239
|
+
--bg-color-opaque: var(--d-bg-opaque, #000000d9);
|
|
241
240
|
--text-color: var(--d-text, #ffffff);
|
|
242
241
|
--accent-color: var(--d-accent, #00ffff);
|
|
243
242
|
--backdrop-blur: var(--d-blur, blur(30px));
|
|
244
243
|
}
|
|
245
244
|
|
|
246
245
|
.header.header--force-light {
|
|
247
|
-
--bg-color: var(--l-bg,
|
|
246
|
+
--bg-color: var(--l-bg, rgba(255, 255, 255, 0.748));
|
|
248
247
|
--bg-color-opaque: var(--l-bg-opaque, rgb(255, 255, 255));
|
|
249
248
|
--text-color: var(--l-text, #1a1a1a);
|
|
250
249
|
--accent-color: var(--l-accent, #3e1c71);
|
|
@@ -286,7 +285,7 @@ const forcedClass = preset !== "auto" ? `header--force-${preset}` : "";
|
|
|
286
285
|
|
|
287
286
|
.header--fullscreen {
|
|
288
287
|
border-radius: 0;
|
|
289
|
-
padding: 1em
|
|
288
|
+
padding: 1em 0.6rem;
|
|
290
289
|
|
|
291
290
|
@media (width < 768px) {
|
|
292
291
|
max-width: 100%;
|