desy-html 16.0.1 → 16.0.3
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/AGENTS.md +3 -2
- package/TESTING_PLAN.md +7 -0
- package/branding/BRANDING.md +26 -0
- package/branding/branding.config.js +7 -0
- package/branding/logos/apple-touch-icon.png +0 -0
- package/branding/logos/favicon.ico +0 -0
- package/branding/logos/favicon.svg +1 -0
- package/branding/vite-branding-plugin.js +27 -0
- package/docs/_global.head.njk +7 -0
- package/docs/index.html +9 -0
- package/package.json +1 -1
- package/src/css/component.text.css +129 -131
- package/src/css/styles.css +0 -2
- package/src/templates/components/header/params.header.yaml +17 -2
- package/src/templates/components/header-advanced/params.header-advanced.yaml +5 -1
- package/src/templates/components/header-mini/params.header-mini.yaml +10 -0
- package/src/templates/pages/_page.head.njk +7 -1
- package/vite.config.js +1 -1
- package/src/css/branding-variables.css +0 -37
package/AGENTS.md
CHANGED
|
@@ -155,8 +155,9 @@ desy-html/
|
|
|
155
155
|
|
|
156
156
|
To customize for different organizations:
|
|
157
157
|
1. Edit `branding/branding.config.js` or create `branding/branding.config.{name}.js`
|
|
158
|
-
2.
|
|
159
|
-
3.
|
|
158
|
+
2. Add favicon files to `branding/logos/` (favicon.svg, favicon.ico, apple-touch-icon.png)
|
|
159
|
+
3. Replace logos in `branding/logos/`
|
|
160
|
+
4. Run `BRANDING_CONFIG={name} npm run build`
|
|
160
161
|
|
|
161
162
|
## Common Patterns
|
|
162
163
|
|
package/TESTING_PLAN.md
CHANGED
|
@@ -27,6 +27,10 @@ This document defines the complete testing plan to execute before publishing the
|
|
|
27
27
|
- [ ] Verify background images exist:
|
|
28
28
|
- `branding/images/header-background.svg`
|
|
29
29
|
- `branding/images/header-background-lg.svg`
|
|
30
|
+
- [ ] Verify favicon files exist:
|
|
31
|
+
- `branding/logos/favicon.svg`
|
|
32
|
+
- `branding/logos/favicon.ico`
|
|
33
|
+
- `branding/logos/apple-touch-icon.png`
|
|
30
34
|
|
|
31
35
|
### 1.2. package.json Exports Review
|
|
32
36
|
|
|
@@ -53,6 +57,7 @@ This document defines the complete testing plan to execute before publishing the
|
|
|
53
57
|
- Organization logos (aragon-*.svg)
|
|
54
58
|
- EU logos (*.svg in subfolder or root)
|
|
55
59
|
- Background images (header-background*.svg)
|
|
60
|
+
- [ ] Verify favicon files are copied to dist (favicon.ico, apple-touch-icon.png)
|
|
56
61
|
|
|
57
62
|
### 2.3. Production Paths Verification
|
|
58
63
|
|
|
@@ -75,6 +80,7 @@ Using the browser agent, test the following pages:
|
|
|
75
80
|
- [ ] Verify organization logo displays (not broken, no 404)
|
|
76
81
|
- [ ] Verify primary colors are Aragón's (#00607a)
|
|
77
82
|
- [ ] Verify typography is correct (Open Sans)
|
|
83
|
+
- [ ] Verify favicon displays in browser tab (not broken, no 404)
|
|
78
84
|
|
|
79
85
|
#### Header
|
|
80
86
|
|
|
@@ -351,6 +357,7 @@ The project is ready for npm publishing when:
|
|
|
351
357
|
- [ ] Organization logos display correctly
|
|
352
358
|
- [ ] EU logos display correctly
|
|
353
359
|
- [ ] Header background images display correctly
|
|
360
|
+
- [ ] Favicon files are generated and load correctly
|
|
354
361
|
- [ ] All interactive components work correctly
|
|
355
362
|
- [ ] No 404 errors in console
|
|
356
363
|
- [ ] No JavaScript errors in console
|
package/branding/BRANDING.md
CHANGED
|
@@ -29,6 +29,11 @@ export default {
|
|
|
29
29
|
plurifondo: '/branding/logos/eu/logo-plurifondo.svg',
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
|
+
favicon: {
|
|
33
|
+
svg: '/branding/logos/favicon.svg',
|
|
34
|
+
ico: '/branding/logos/favicon.ico',
|
|
35
|
+
appleTouch: '/branding/logos/apple-touch-icon.png'
|
|
36
|
+
},
|
|
32
37
|
};
|
|
33
38
|
```
|
|
34
39
|
|
|
@@ -133,6 +138,18 @@ Additional images.
|
|
|
133
138
|
| `headerBackground` | string | No | Header background image |
|
|
134
139
|
| `headerBackgroundLg` | string | No | Large header background image |
|
|
135
140
|
|
|
141
|
+
### favicon
|
|
142
|
+
|
|
143
|
+
Favicon configuration for browser tabs and mobile devices.
|
|
144
|
+
|
|
145
|
+
| Field | Type | Required | Size | Description |
|
|
146
|
+
| ------------------ | ------ | -------- | --------- | ---------------------------------------------------------- |
|
|
147
|
+
| `favicon.svg` | string | Yes | 32×32 | Main favicon in SVG format (modern browsers) |
|
|
148
|
+
| `favicon.ico` | string | Yes | 32×32 | Legacy favicon in ICO format (fallback for older browsers) |
|
|
149
|
+
| `favicon.appleTouch` | string | Yes | 180×180 | Apple Touch Icon for iOS home screen |
|
|
150
|
+
|
|
151
|
+
> **Note:** For optimal compatibility, use the following sizes: 32×32 for browser tabs (both SVG and ICO), and 180×180 for Apple Touch Icon. The plugin automatically copies these files to `/dist` during build.
|
|
152
|
+
|
|
136
153
|
## CSS Variables
|
|
137
154
|
|
|
138
155
|
The following CSS variables are available for runtime customization:
|
|
@@ -197,6 +214,9 @@ You only need:
|
|
|
197
214
|
- `logos.organization.expanded`
|
|
198
215
|
- `logos.organization.mini`
|
|
199
216
|
- `logos.organization.alt`
|
|
217
|
+
- `favicon.svg`
|
|
218
|
+
- `favicon.ico`
|
|
219
|
+
- `favicon.appleTouch`
|
|
200
220
|
|
|
201
221
|
See `branding/branding.config.yourorganization.js` for a minimal example.
|
|
202
222
|
|
|
@@ -339,6 +359,12 @@ export default {
|
|
|
339
359
|
headerBackground: '/branding/images/header-background.svg',
|
|
340
360
|
headerBackgroundLg: '/branding/images/header-background-lg.svg',
|
|
341
361
|
},
|
|
362
|
+
|
|
363
|
+
favicon: {
|
|
364
|
+
svg: '/branding/logos/favicon.svg',
|
|
365
|
+
ico: '/branding/logos/favicon.ico',
|
|
366
|
+
appleTouch: '/branding/logos/apple-touch-icon.png',
|
|
367
|
+
},
|
|
342
368
|
};
|
|
343
369
|
```
|
|
344
370
|
|
|
@@ -66,4 +66,11 @@ export default {
|
|
|
66
66
|
headerBackground: '/branding/images/header-background.svg',
|
|
67
67
|
headerBackgroundLg: '/branding/images/header-background-lg.svg',
|
|
68
68
|
},
|
|
69
|
+
|
|
70
|
+
// Favicon Configuration
|
|
71
|
+
favicon: {
|
|
72
|
+
svg: '/branding/logos/favicon.svg',
|
|
73
|
+
ico: '/branding/logos/favicon.ico',
|
|
74
|
+
appleTouch: '/branding/logos/apple-touch-icon.png'
|
|
75
|
+
},
|
|
69
76
|
};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" aria-label="Ir a la página de inicio de la aplicación" role="img"><defs><clipPath id="b-logo-mini"><path fill="rgb(252, 228, 0)" d="M0 0h32v32.001H0z"/></clipPath><clipPath id="a-logo-mini"><path d="M0 0h32v32H0z"/></clipPath></defs><g clip-path="url(#a-logo-mini)"><path fill="rgb(252, 228, 0)" d="M0 .305h32v32.001H0z"/><g clip-path="url(#b-logo-mini)" transform="translate(0 .305)"><g fill="#dd171b" fill-rule="evenodd"><path d="m31.997 6.145-7.686 1.539a14.764 14.764 0 0 1-8.028-1.042 15.267 15.267 0 0 0-5.073-1.846 12.725 12.725 0 0 0-3.59-.011l-5.13.918a94.41 94.41 0 0 1-2.491.442V.324a7.213 7.213 0 0 1 3.952-.09 10.087 10.087 0 0 1 2.118.951 17.859 17.859 0 0 0 4.36 1.993 14.13 14.13 0 0 0 6.7-.034l4.8-.872 5.016-.906 5.048-1.04ZM6.705 24.619a14.812 14.812 0 0 1 9.7 1.03 12.363 12.363 0 0 0 8.437 1.529l7.154-1.291v5.8a8.37 8.37 0 0 1-3.055.26 6.509 6.509 0 0 1-1.619-.464l-3.714-1.948a12.4 12.4 0 0 0-7.2-.838l-15.366 2.82L0 31.686v-5.8l1.28-.26 3.363-.623c.679-.125 1.393-.249 2.061-.385ZM-.003 15.32v-4.462l13.23-2.417a15.734 15.734 0 0 1 9.252 1.665 12.723 12.723 0 0 0 8.606.94l.914-.192v4.462L29.08 13.65a12.472 12.472 0 0 0-6.941-1.031l-8.131 1.483c-.974.182-2.921.532-2.921.532l-7.406 1.371a5.23 5.23 0 0 1-3.684-.685ZM31.997 16.851v4.393l-13.11 2.413a15.735 15.735 0 0 1-9.252-1.665 12.721 12.721 0 0 0-8.606-.94l-1.03.193v-4.394l3.035 1.6a12.476 12.476 0 0 0 6.941 1.03l8.13-1.483c.974-.182 2.922-.532 2.922-.532l7.406-1.371a5.219 5.219 0 0 1 3.564.756Z"/></g></g></g></svg>
|
|
@@ -121,6 +121,33 @@ export function brandingPlugin(config) {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
return hasChanges ? { code: transformed, map: null } : null;
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
closeBundle() {
|
|
127
|
+
const distDir = path.resolve(process.cwd(), 'dist');
|
|
128
|
+
const favicon = config?.favicon;
|
|
129
|
+
|
|
130
|
+
if (!favicon) return;
|
|
131
|
+
|
|
132
|
+
const faviconFiles = [
|
|
133
|
+
{ key: 'svg', fileName: 'favicon.svg' },
|
|
134
|
+
{ key: 'ico', fileName: 'favicon.ico' },
|
|
135
|
+
{ key: 'appleTouch', fileName: 'apple-touch-icon.png' }
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
for (const { key, fileName } of faviconFiles) {
|
|
139
|
+
if (favicon[key]) {
|
|
140
|
+
const src = path.resolve(process.cwd(), 'branding/logos', fileName);
|
|
141
|
+
if (fs.existsSync(src)) {
|
|
142
|
+
try {
|
|
143
|
+
fs.copyFileSync(src, path.join(distDir, fileName));
|
|
144
|
+
console.log(`✓ Favicon ${fileName} copied to dist`);
|
|
145
|
+
} catch (err) {
|
|
146
|
+
console.warn(`Warning: Could not copy ${fileName}:`, err.message);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
124
151
|
}
|
|
125
152
|
};
|
|
126
153
|
}
|
package/docs/_global.head.njk
CHANGED
|
@@ -18,6 +18,13 @@
|
|
|
18
18
|
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap" rel="stylesheet">
|
|
19
19
|
{% endif %}
|
|
20
20
|
<link rel="stylesheet" href="css/styles.css">
|
|
21
|
+
{% if branding and branding.favicon %}
|
|
22
|
+
<link rel="icon" href="{{ branding.favicon.svg }}" type="image/svg+xml">
|
|
23
|
+
<link rel="icon" href="{{ branding.favicon.ico }}" sizes="32x32">
|
|
24
|
+
<link rel="apple-touch-icon" href="{{ branding.favicon.appleTouch }}">
|
|
25
|
+
{% else %}
|
|
26
|
+
<link rel="icon" type="image/x-icon" href="https://aplicaciones.aragon.es/favicon.ico">
|
|
27
|
+
{% endif %}
|
|
21
28
|
<style>
|
|
22
29
|
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
23
30
|
Theme: StackOverflow Light
|
package/docs/index.html
CHANGED
|
@@ -147,6 +147,15 @@ cd desy-html</code></pre>
|
|
|
147
147
|
|
|
148
148
|
<h2>Changelog (English)</h2>
|
|
149
149
|
<p>What's new in the latest version of desy-html</p>
|
|
150
|
+
<h3>v.16.0.3</h3>
|
|
151
|
+
<ul class="text-sm">
|
|
152
|
+
<li>Fixed breakpoints variants in text classes.</li>
|
|
153
|
+
<li>Added missing params in header components.</li>
|
|
154
|
+
</ul>
|
|
155
|
+
<h3>v.16.0.2</h3>
|
|
156
|
+
<ul class="text-sm">
|
|
157
|
+
<li>Fixed a bug in footer logos urls.</li>
|
|
158
|
+
</ul>
|
|
150
159
|
<h3>v.16.0.1</h3>
|
|
151
160
|
<ul class="text-sm">
|
|
152
161
|
<li>Fixed a bug in header logos urls.</li>
|
package/package.json
CHANGED
|
@@ -2,169 +2,167 @@
|
|
|
2
2
|
text.css
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
|
-
@
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
5
|
+
@utility c-h0 {
|
|
6
|
+
@apply mb-8;
|
|
7
|
+
font-size: 2.5rem;
|
|
8
|
+
font-family: var(--font-heading);
|
|
9
|
+
@apply font-bold;
|
|
10
|
+
@apply leading-tight;
|
|
11
|
+
}
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
@utility c-h1 {
|
|
14
|
+
@apply mb-lg;
|
|
15
|
+
@apply text-3xl;
|
|
16
|
+
font-family: var(--font-heading);
|
|
17
|
+
@apply font-bold;
|
|
18
|
+
@apply leading-tight;
|
|
19
|
+
}
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
@utility c-h2 {
|
|
22
|
+
@apply mb-base;
|
|
23
|
+
@apply text-2xl;
|
|
24
|
+
font-family: var(--font-heading);
|
|
25
|
+
@apply font-bold;
|
|
26
|
+
@apply leading-tight;
|
|
27
|
+
}
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
@utility c-h3 {
|
|
30
|
+
@apply mb-sm;
|
|
31
|
+
@apply text-lg;
|
|
32
|
+
font-family: var(--font-heading);
|
|
33
|
+
@apply font-bold;
|
|
34
|
+
@apply leading-tight;
|
|
35
|
+
}
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
@utility c-h4 {
|
|
38
|
+
@apply mb-sm;
|
|
39
|
+
@apply text-base;
|
|
40
|
+
font-family: var(--font-heading);
|
|
41
|
+
@apply font-bold;
|
|
42
|
+
@apply leading-tight;
|
|
43
|
+
}
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
@utility c-link {
|
|
46
|
+
@apply text-primary-base;
|
|
47
|
+
@apply underline;
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
&:hover {
|
|
50
|
+
@apply text-primary-dark;
|
|
51
|
+
}
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
53
|
+
&:focus {
|
|
54
|
+
@apply bg-warning-base;
|
|
55
|
+
@apply shadow-outline-focus;
|
|
56
|
+
@apply outline-hidden;
|
|
57
|
+
@apply text-black;
|
|
60
58
|
}
|
|
59
|
+
}
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
@utility c-link--alert {
|
|
62
|
+
@apply text-alert-base;
|
|
63
|
+
@apply underline;
|
|
64
|
+
@apply font-semibold;
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
66
|
+
&:hover {
|
|
67
|
+
@apply text-alert-dark;
|
|
70
68
|
}
|
|
69
|
+
}
|
|
71
70
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
@utility c-link--neutral {
|
|
72
|
+
@apply text-neutral-dark;
|
|
73
|
+
@apply underline;
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
75
|
+
&:hover {
|
|
76
|
+
@apply text-black;
|
|
79
77
|
}
|
|
78
|
+
}
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
80
|
+
@utility c-link--full {
|
|
81
|
+
&::after {
|
|
82
|
+
content: "";
|
|
83
|
+
@apply absolute;
|
|
84
|
+
@apply inset-0;
|
|
87
85
|
}
|
|
86
|
+
}
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
@utility c-link--no-underline {
|
|
89
|
+
@apply no-underline;
|
|
91
90
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
91
|
+
&:hover {
|
|
92
|
+
@apply underline;
|
|
95
93
|
}
|
|
94
|
+
}
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
@utility c-paragraph-lg {
|
|
97
|
+
@apply mb-lg;
|
|
98
|
+
@apply text-lg;
|
|
99
|
+
}
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
@utility c-paragraph-base {
|
|
102
|
+
@apply mb-base;
|
|
103
|
+
@apply text-base;
|
|
104
|
+
}
|
|
106
105
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
@utility c-paragraph-sm {
|
|
107
|
+
@apply mb-sm;
|
|
108
|
+
@apply text-sm;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@utility c-ul {
|
|
112
|
+
@apply mb-base;
|
|
113
|
+
@apply list-none;
|
|
111
114
|
|
|
112
|
-
|
|
115
|
+
li {
|
|
116
|
+
@apply relative;
|
|
113
117
|
@apply mb-base;
|
|
114
|
-
@apply
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
@apply
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
@apply rounded-full;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
&:last-of-type {
|
|
133
|
-
@apply mb-0;
|
|
134
|
-
}
|
|
118
|
+
@apply pl-8;
|
|
119
|
+
|
|
120
|
+
&::before {
|
|
121
|
+
content: "";
|
|
122
|
+
@apply absolute;
|
|
123
|
+
top: 0.625rem;
|
|
124
|
+
left: 0.25rem;
|
|
125
|
+
@apply w-1.5;
|
|
126
|
+
@apply h-1.5;
|
|
127
|
+
@apply bg-black;
|
|
128
|
+
@apply rounded-full;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&:last-of-type {
|
|
132
|
+
@apply mb-0;
|
|
135
133
|
}
|
|
136
134
|
}
|
|
135
|
+
}
|
|
137
136
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
@utility c-ul--no-bullets {
|
|
138
|
+
li {
|
|
139
|
+
@apply pl-0;
|
|
141
140
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
141
|
+
&::before {
|
|
142
|
+
@apply hidden;
|
|
145
143
|
}
|
|
146
144
|
}
|
|
145
|
+
}
|
|
147
146
|
|
|
148
|
-
|
|
147
|
+
@utility c-ol {
|
|
148
|
+
@apply mb-base;
|
|
149
|
+
counter-reset: list-counter;
|
|
150
|
+
|
|
151
|
+
li {
|
|
152
|
+
@apply relative;
|
|
149
153
|
@apply mb-base;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
@apply
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
@apply text-black;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
&:last-of-type {
|
|
166
|
-
@apply mb-0;
|
|
167
|
-
}
|
|
154
|
+
@apply pl-8;
|
|
155
|
+
|
|
156
|
+
&::before {
|
|
157
|
+
counter-increment: list-counter;
|
|
158
|
+
content: counter(list-counter) ".";
|
|
159
|
+
@apply absolute;
|
|
160
|
+
left: 0.25rem;
|
|
161
|
+
@apply text-black;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
&:last-of-type {
|
|
165
|
+
@apply mb-0;
|
|
168
166
|
}
|
|
169
167
|
}
|
|
170
168
|
}
|
package/src/css/styles.css
CHANGED
|
@@ -3,6 +3,21 @@ params:
|
|
|
3
3
|
type: component
|
|
4
4
|
required: false
|
|
5
5
|
description: The skipLink component parameters
|
|
6
|
+
- name: logoExpanded
|
|
7
|
+
type: string
|
|
8
|
+
required: false
|
|
9
|
+
default: branding.logos.organization.expanded
|
|
10
|
+
description: URL del logo expandido (con texto). Por defecto usa branding.logos.organization.expanded
|
|
11
|
+
- name: logoCompact
|
|
12
|
+
type: string
|
|
13
|
+
required: false
|
|
14
|
+
default: branding.logos.organization.compact
|
|
15
|
+
description: URL del logo compacto (solo icono). Por defecto usa branding.logos.organization.compact
|
|
16
|
+
- name: logoAlt
|
|
17
|
+
type: string
|
|
18
|
+
required: false
|
|
19
|
+
default: branding.logos.organization.alt
|
|
20
|
+
description: Texto alternativo del logo. Por defecto usa branding.logos.organization.alt
|
|
6
21
|
- name: homepageUrl
|
|
7
22
|
type: string
|
|
8
23
|
required: false
|
|
@@ -74,7 +89,7 @@ params:
|
|
|
74
89
|
description: HTML attributes (for example data attributes) to add to the dropdown element.
|
|
75
90
|
- name: contentHtml
|
|
76
91
|
type: string
|
|
77
|
-
required:
|
|
92
|
+
required: false
|
|
78
93
|
description: Html content inside the subnav once opened.
|
|
79
94
|
- name: items
|
|
80
95
|
type: array
|
|
@@ -156,7 +171,7 @@ params:
|
|
|
156
171
|
description: HTML attributes (for example data attributes) to add to the dropdown element.
|
|
157
172
|
- name: contentHtml
|
|
158
173
|
type: string
|
|
159
|
-
required:
|
|
174
|
+
required: false
|
|
160
175
|
description: Html content inside the dropdown once opened.
|
|
161
176
|
- name: items
|
|
162
177
|
type: array
|
|
@@ -174,7 +174,7 @@ params:
|
|
|
174
174
|
description: HTML attributes (for example data attributes) to add to the dropdown element.
|
|
175
175
|
- name: contentHtml
|
|
176
176
|
type: string
|
|
177
|
-
required:
|
|
177
|
+
required: false
|
|
178
178
|
description: Html content inside the dropdown once opened.
|
|
179
179
|
- name: items
|
|
180
180
|
type: array
|
|
@@ -316,6 +316,10 @@ params:
|
|
|
316
316
|
required: false
|
|
317
317
|
description: Options for the offcanvas menu.
|
|
318
318
|
params:
|
|
319
|
+
- name: labelledId
|
|
320
|
+
type: string
|
|
321
|
+
required: false
|
|
322
|
+
description: ID para conectar con aria-labelledby del offcanvas. Útil para accesibilidad.
|
|
319
323
|
- name: text
|
|
320
324
|
type: string
|
|
321
325
|
required: true
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
params:
|
|
2
|
+
- name: logoSrc
|
|
3
|
+
type: string
|
|
4
|
+
required: false
|
|
5
|
+
default: branding.logos.organization.mini
|
|
6
|
+
description: URL del logo de la organización. Por defecto usa el valor de branding.logos.organization.mini
|
|
7
|
+
- name: logoAlt
|
|
8
|
+
type: string
|
|
9
|
+
required: false
|
|
10
|
+
default: branding.logos.organization.alt
|
|
11
|
+
description: Texto alternativo del logo. Por defecto usa el valor de branding.logos.organization.alt
|
|
2
12
|
- name: homepageUrl
|
|
3
13
|
type: string
|
|
4
14
|
required: false
|
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>{{ title if title else "Project title" }}</title>
|
|
7
7
|
<link rel="stylesheet" href="/src/css/styles.css">
|
|
8
|
-
|
|
8
|
+
{% if branding and branding.favicon %}
|
|
9
|
+
<link rel="icon" href="{{ branding.favicon.svg }}" type="image/svg+xml">
|
|
10
|
+
<link rel="icon" href="{{ branding.favicon.ico }}" sizes="32x32">
|
|
11
|
+
<link rel="apple-touch-icon" href="{{ branding.favicon.appleTouch }}">
|
|
12
|
+
{% else %}
|
|
13
|
+
<link rel="icon" type="image/x-icon" href="https://aplicaciones.aragon.es/favicon.ico">
|
|
14
|
+
{% endif %}
|
|
9
15
|
{% if branding and branding.typography and branding.typography.fontUrl %}
|
|
10
16
|
{% if 'fonts.googleapis.com' in branding.typography.fontUrl %}
|
|
11
17
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
package/vite.config.js
CHANGED
|
@@ -577,7 +577,7 @@ async function rewriteCssImagePaths() {
|
|
|
577
577
|
const stylePath = path.resolve(process.cwd(), 'dist/css/styles.css');
|
|
578
578
|
if (!fs.existsSync(stylePath)) return;
|
|
579
579
|
let content = await fs.promises.readFile(stylePath, 'utf8');
|
|
580
|
-
content = content.replace(/url\((['"]?)\/images\//g, 'url($
|
|
580
|
+
content = content.replace(/url\((['"]?)\/images\//g, 'url($1../images/');
|
|
581
581
|
await fs.promises.writeFile(stylePath, content);
|
|
582
582
|
}
|
|
583
583
|
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Branding Variables
|
|
3
|
-
*
|
|
4
|
-
* CSS custom properties for runtime branding customization.
|
|
5
|
-
* These variables can be overridden at runtime via JavaScript
|
|
6
|
-
* to customize the appearance without rebuilding.
|
|
7
|
-
*
|
|
8
|
-
* Los colores se configuran en src/css/styles.css
|
|
9
|
-
* Edita las variables: --color-primary-base, --color-primary-light, --color-primary-dark
|
|
10
|
-
*
|
|
11
|
-
* LOGO SYSTEM
|
|
12
|
-
* ===========
|
|
13
|
-
* The system uses three logo variants for different contexts:
|
|
14
|
-
*
|
|
15
|
-
* --branding-logo-expanded: Full logo with text. Shown in the main header
|
|
16
|
-
* on desktop when there is enough space.
|
|
17
|
-
* Used by: header component (desktop version)
|
|
18
|
-
*
|
|
19
|
-
* --branding-logo-mini: Standard size logo.
|
|
20
|
-
* Shown in header-mini and header-advanced.
|
|
21
|
-
* Used by: header-mini, header-advanced components
|
|
22
|
-
*
|
|
23
|
-
* --branding-logo-compact: Compact logo, typically just the symbol/coat of arms.
|
|
24
|
-
* Shown in reduced spaces or on mobile.
|
|
25
|
-
* Used by: header component (mobile/responsive version)
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
:root {
|
|
29
|
-
/* Expanded logo - Main header on desktop (full logo with text) */
|
|
30
|
-
--branding-logo-expanded: url('/images/aragon-expanded.svg');
|
|
31
|
-
|
|
32
|
-
/* Mini logo - Header-mini and header-advanced (standard size) */
|
|
33
|
-
--branding-logo-mini: url('/images/aragon-mini.svg');
|
|
34
|
-
|
|
35
|
-
/* Compact logo - Main header on mobile (symbol/coat of arms only) */
|
|
36
|
-
--branding-logo-compact: url('/images/aragon-compact.svg');
|
|
37
|
-
}
|