desy-html 8.4.1 → 8.5.0
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/docs/ds/_ds.section.textos.njk +6 -6
- package/docs/index.html +7 -0
- package/package.json +1 -1
- package/src/js/aria/tabs.js +41 -4
- package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +33 -0
- package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +10 -0
- package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +4 -0
- package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +4 -0
- package/src/templates/components/footer/_examples.footer.njk +1 -1
- package/src/templates/components/tabs/_examples.tabs.njk +9 -2
- package/src/templates/components/tree/_examples.tree.njk +94 -0
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
<h1 class="c-h0">Encabezado 0 (h1)</h1>
|
|
48
48
|
</div>
|
|
49
49
|
<div class="lg:flex-1">
|
|
50
|
-
<p class="text-neutral-dark text-sm"><code>.c-h0</code> - <code>bold</code> - <code>black</code> - font-size: <code>2.5rem</code> - <code>40px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>
|
|
50
|
+
<p class="text-neutral-dark text-sm"><code>.c-h0</code> - <code>bold</code> - <code>black</code> - font-size: <code>2.5rem</code> - <code>40px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>50px</code> - margin-bottom: <code>.mb-8</code> - <code>2rem</code> - <code>32px</code></p>
|
|
51
51
|
</div>
|
|
52
52
|
</div>
|
|
53
53
|
<div class="flex flex-wrap items-center mb-8">
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<h1 class="c-h1">Encabezado 1 (h1)</h1>
|
|
56
56
|
</div>
|
|
57
57
|
<div class="lg:flex-1">
|
|
58
|
-
<p class="text-neutral-dark text-sm"><code>.c-h1</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-3xl</code> - <code>1.875rem</code> - <code>30px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>
|
|
58
|
+
<p class="text-neutral-dark text-sm"><code>.c-h1</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-3xl</code> - <code>1.875rem</code> - <code>30px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>37.5px</code> - margin-bottom: <code>.mb-lg</code> - <code>1.75rem</code> - <code>28px</code></p>
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
<div class="flex flex-wrap items-center mb-8">
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<h2 class="c-h2">Encabezado 2 (h2)</h2>
|
|
64
64
|
</div>
|
|
65
65
|
<div class="lg:flex-1">
|
|
66
|
-
<p class="text-neutral-dark text-sm"><code>.c-h2</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-2xl</code> - <code>1.5rem</code> - <code>24px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>
|
|
66
|
+
<p class="text-neutral-dark text-sm"><code>.c-h2</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-2xl</code> - <code>1.5rem</code> - <code>24px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>30px</code> - margin-bottom: <code>.mb-base</code> - <code>1</code> - <code>16px</code></p>
|
|
67
67
|
</div>
|
|
68
68
|
</div>
|
|
69
69
|
<div class="flex flex-wrap items-center mb-8">
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<h3 class="c-h3">Encabezado 3 (h3)</h3>
|
|
72
72
|
</div>
|
|
73
73
|
<div class="lg:flex-1">
|
|
74
|
-
<p class="text-neutral-dark text-sm"><code>.c-h3</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-lg</code> - <code>1.125rem</code> - <code>18px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>
|
|
74
|
+
<p class="text-neutral-dark text-sm"><code>.c-h3</code> - <code>bold</code> - <code>black</code> - font-size: <code>.text-lg</code> - <code>1.125rem</code> - <code>18px</code> - line-height: <code>.leading-tight</code> - <code>1.25</code> - <code>22.5px</code> - margin-bottom: <code>.mb-sm</code> - <code>0.5rem</code> - <code>8px</code></p>
|
|
75
75
|
</div>
|
|
76
76
|
</div>
|
|
77
77
|
<div class="flex flex-wrap items-center mb-8">
|
|
@@ -132,13 +132,13 @@
|
|
|
132
132
|
<p class="c-paragraph-sm">Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. </p>
|
|
133
133
|
</div>
|
|
134
134
|
<div class="col-span-2 lg:col-span-2 mb-lg">
|
|
135
|
-
<p class="text-neutral-dark text-sm">Párrafo pequeño. <br><code>.c-paragraph-sm</code><br><code>normal</code> - <code>black</code><br>font-size: <code>.text-sm</code> - <code>.875rem</code> - <code>14px</code> <br>line-height: <code>1.25rem</code> - <code>20px</code> <br> margin-bottom: <code>.mb-sm</code> - <code>.
|
|
135
|
+
<p class="text-neutral-dark text-sm">Párrafo pequeño. <br><code>.c-paragraph-sm</code><br><code>normal</code> - <code>black</code><br>font-size: <code>.text-sm</code> - <code>.875rem</code> - <code>14px</code> <br>line-height: <code>1.25rem</code> - <code>20px</code> <br> margin-bottom: <code>.mb-sm</code> - <code>.5rem</code> - <code>8px</code></p>
|
|
136
136
|
</div>
|
|
137
137
|
<div class="col-span-2 lg:col-span-2">
|
|
138
138
|
<p class="c-paragraph-sm text-neutral-dark">Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. Nam dapibus nisl vitae elit fringilla rutrum. Aenean sollicitudin, erat a elementum rutrum, neque sem pretium metus, quis mollis nisl nunc et massa. </p>
|
|
139
139
|
</div>
|
|
140
140
|
<div class="col-span-2 lg:col-span-2 mb-lg">
|
|
141
|
-
<p class="text-neutral-dark text-sm">Párrafo pequeño secundario. <br><code>.c-paragraph-sm.text-neutral-dark</code><br><code>normal</code> - <code>neutral-dark</code><br>font-size: <code>.text-sm</code> - <code>.875rem</code> - <code>14px</code> <br>line-height: <code>1.25rem</code> - <code>20px</code> <br> margin-bottom: <code>.mb-sm</code> - <code>.
|
|
141
|
+
<p class="text-neutral-dark text-sm">Párrafo pequeño secundario. <br><code>.c-paragraph-sm.text-neutral-dark</code><br><code>normal</code> - <code>neutral-dark</code><br>font-size: <code>.text-sm</code> - <code>.875rem</code> - <code>14px</code> <br>line-height: <code>1.25rem</code> - <code>20px</code> <br> margin-bottom: <code>.mb-sm</code> - <code>.5rem</code> - <code>8px</code></p>
|
|
142
142
|
</div>
|
|
143
143
|
<div class="col-span-2 lg:col-span-2">
|
|
144
144
|
<ul class="c-ul">
|
package/docs/index.html
CHANGED
|
@@ -38,6 +38,13 @@
|
|
|
38
38
|
|
|
39
39
|
<h2>Changelog (English)</h2>
|
|
40
40
|
<p>What's new in the latest version of desy-html</p>
|
|
41
|
+
<h3>v.8.5.0</h3>
|
|
42
|
+
<ul class="text-sm">
|
|
43
|
+
<li>Added global function to select an item in Tabs.</li>
|
|
44
|
+
<li>Added new param in Breadcrumbs to show the items inline on mobile.</li>
|
|
45
|
+
<li>Docs fixed bad units in text styles.</li>
|
|
46
|
+
<li>Improvements in docs.</li>
|
|
47
|
+
</ul>
|
|
41
48
|
<h3>v.8.4.1</h3>
|
|
42
49
|
<ul class="text-sm">
|
|
43
50
|
<li>Active items are font-bold now in all components.</li>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "desy-html",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.0",
|
|
4
4
|
"description": "desy-html contains the code you need to start building a user interface for Gobierno de Aragón government webapps.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Desy (SDA Servicios Digitales de Aragón)",
|
package/src/js/aria/tabs.js
CHANGED
|
@@ -80,8 +80,9 @@ export function tabs(aria) {
|
|
|
80
80
|
|
|
81
81
|
// When a tab is clicked, activateTab is fired to activate it
|
|
82
82
|
function clickEventListener (event) {
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
if(!event.target.matches('.c-tabs__link--is-active, .c-tabs__link--is-active strong')) {
|
|
84
|
+
activateTab(event.target, false);
|
|
85
|
+
}
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
// Handle keydown on tabs
|
|
@@ -279,12 +280,48 @@ export function tabs(aria) {
|
|
|
279
280
|
function addActiveClass(element) {
|
|
280
281
|
//Add active class to current tab
|
|
281
282
|
element.classList.add("c-tabs__link--is-active");
|
|
282
|
-
element.
|
|
283
|
+
element.setAttribute('role', 'tab');
|
|
284
|
+
element.innerHTML = `<strong class="font-bold">${element.textContent}</strong>`;
|
|
283
285
|
}
|
|
284
286
|
|
|
285
287
|
function removeActiveClass(element) {
|
|
286
288
|
element.classList.remove("c-tabs__link--is-active");
|
|
287
|
-
element.
|
|
289
|
+
element.removeAttribute('role');
|
|
290
|
+
element.innerHTML = element.textContent;
|
|
288
291
|
}
|
|
292
|
+
|
|
293
|
+
window.activateItemTabs = function (menuId, tabItemId) {
|
|
294
|
+
const menu = document.getElementById(menuId);
|
|
295
|
+
if (menu) {
|
|
296
|
+
const activeItemTab = document.querySelector(`#${menuId} #${tabItemId}`);
|
|
297
|
+
const activeItemPanel = document.querySelector(`[aria-labelledby="${tabItemId}"]`);
|
|
298
|
+
if (activeItemTab) {
|
|
299
|
+
document.querySelectorAll('.c-tabs__link').forEach((tab) => {
|
|
300
|
+
tab.classList.remove("c-tabs__link--is-active");
|
|
301
|
+
tab.innerHTML = tab.textContent;
|
|
302
|
+
})
|
|
303
|
+
|
|
304
|
+
activeItemTab.classList.add("c-tabs__link--is-active");
|
|
305
|
+
activeItemTab.setAttribute('role', 'tab');
|
|
306
|
+
activeItemTab.innerHTML = `<strong class="font-bold">${activeItemTab.textContent}</strong>`;
|
|
307
|
+
|
|
308
|
+
document.querySelectorAll('.c-tabs__panel').forEach((panel) => {
|
|
309
|
+
panel.setAttribute('hidden', 'hidden')
|
|
310
|
+
})
|
|
311
|
+
|
|
312
|
+
activeItemPanel.removeAttribute('hidden');
|
|
313
|
+
|
|
314
|
+
return [menu, activeItemTab, activeItemPanel];
|
|
315
|
+
|
|
316
|
+
} else {
|
|
317
|
+
console.log('There is no element with this id in the menu.');
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
} else {
|
|
321
|
+
console.log('There is no menu with this id in the document.');
|
|
322
|
+
return null;
|
|
323
|
+
}
|
|
324
|
+
};
|
|
289
325
|
}
|
|
326
|
+
|
|
290
327
|
}
|
|
@@ -152,6 +152,39 @@
|
|
|
152
152
|
]
|
|
153
153
|
}
|
|
154
154
|
},
|
|
155
|
+
{
|
|
156
|
+
"name": "con inline en móvil",
|
|
157
|
+
"description": "Mirar en anchuras pequeñas para ver cómo se genera un salto de línea si el texto no cabe.",
|
|
158
|
+
"data": {
|
|
159
|
+
"inlineOnMobile": true,
|
|
160
|
+
"items": [
|
|
161
|
+
{
|
|
162
|
+
"text": "Inicio",
|
|
163
|
+
"href": "/"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"text": "Trámites",
|
|
167
|
+
"href": "/tramites/"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"text": "Trámites por tema",
|
|
171
|
+
"href": "/tramites/tema/"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"text": "Actividades industriales y energía",
|
|
175
|
+
"href": "/tramites/tema/actividades-industriales-y-energia/"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"text": "Actividades industriales",
|
|
179
|
+
"href": "/tramites/tema/actividades-industriales/"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"text": "Comunicaciones de servicios",
|
|
183
|
+
"href": "/tramites/tema/actividades-industriales/comunicaciones-de-servicios/"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
},
|
|
155
188
|
{
|
|
156
189
|
"name": "con botón atrás",
|
|
157
190
|
"data": {
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
{% set classNames = classNames + " c-breadcrumbs--collapse-on-mobile" %}
|
|
10
10
|
{% endif -%}
|
|
11
11
|
|
|
12
|
+
{% if params.inlineOnMobile %}
|
|
13
|
+
{% set classNames = classNames + " c-breadcrumbs--inline-on-mobile" %}
|
|
14
|
+
{% endif -%}
|
|
15
|
+
|
|
12
16
|
{# This verbose statement is for Purgecss to match the classnames needed. Purgecss needs explicit entire classnames appear in code, a string concatenation will fail. Eg. lg:grid-cols-max-content-{{ params.items.length if not params.hasBackButton else (params.items.length + 1)}} doesn't compile lg:grid-cols-max-content-1,2,3... #}
|
|
13
17
|
|
|
14
18
|
{% set gridClass %}
|
|
@@ -27,6 +27,10 @@ params:
|
|
|
27
27
|
type: boolean
|
|
28
28
|
required: false
|
|
29
29
|
description: When true, the breadcrumbs will collapse to the first and last item only on tablet breakpoint and below.
|
|
30
|
+
- name: inlineOnMobile
|
|
31
|
+
type: boolean
|
|
32
|
+
required: false
|
|
33
|
+
description: When true, the breadcrumbs will linebreak if there is needed only on tablet breakpoint and below.
|
|
30
34
|
- name: hasBackButton
|
|
31
35
|
type: boolean
|
|
32
36
|
required: false
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"meta": {
|
|
88
88
|
"html": 'Creado por <a href="https://sda.aragon.es/" class="c-link c-link--neutral">SDA Servicios Digitales de Aragón</a>'
|
|
89
89
|
},
|
|
90
|
-
"urlFeder": "https://www.aragon.es/-/
|
|
90
|
+
"urlFeder": "https://www.aragon.es/-/fondos-europeos-aragon",
|
|
91
91
|
"classes": "lg:mt-48"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
@@ -30,7 +30,10 @@
|
|
|
30
30
|
"html": "<p><strong>Panel 4</strong>. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio? Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur.</p>"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
]
|
|
33
|
+
],
|
|
34
|
+
"attributes": {
|
|
35
|
+
"id": "tabs-default"
|
|
36
|
+
}
|
|
34
37
|
}
|
|
35
38
|
},
|
|
36
39
|
{
|
|
@@ -138,6 +141,7 @@
|
|
|
138
141
|
},
|
|
139
142
|
{
|
|
140
143
|
"name": "con item activo",
|
|
144
|
+
"description": 'Añade <code>active: true</code> a una tab para mostrarla activa inicialmente. También puedes usar con javascript la función global <code>activateItemTabs(elementMenu, idItemSeleccionado)</code> para seleccionar una tab y su panel, usando sus ids. Ej: Abre la consola del navegador y escribe <code>activateItemTabs("tabs-active", "tab-example-active-3")</code> para desactivar la tab actual y activar la tercera tab de este ejemplo.',
|
|
141
145
|
"data": {
|
|
142
146
|
"tablistAriaLabel": "Ejemplo de tab",
|
|
143
147
|
"idPrefix": "tab-example-active",
|
|
@@ -167,7 +171,10 @@
|
|
|
167
171
|
"html": "<p><strong>Panel 4</strong>. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio? Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur.</p>"
|
|
168
172
|
}
|
|
169
173
|
}
|
|
170
|
-
]
|
|
174
|
+
],
|
|
175
|
+
"attributes": {
|
|
176
|
+
"id": "tabs-active"
|
|
177
|
+
}
|
|
171
178
|
}
|
|
172
179
|
},
|
|
173
180
|
{
|
|
@@ -1450,6 +1450,100 @@
|
|
|
1450
1450
|
]
|
|
1451
1451
|
}
|
|
1452
1452
|
},
|
|
1453
|
+
{
|
|
1454
|
+
"name": "con searchbar y scroll en el contenedor de árbol",
|
|
1455
|
+
"description": 'Puedes usar las clases de CSS: <code>max-h-64</code> o <code>max-h-40</code> junto a <code>overflow-y-auto</code>, para poner barras de scroll al árbol en caso de que su altura sea muy grande o bien cuando la altura crezca debido a que los items sean expandidos por el usuario.',
|
|
1456
|
+
"data": {
|
|
1457
|
+
"name": "with-searchbar-scroll",
|
|
1458
|
+
"classes": "mt-base max-h-64 overflow-y-auto",
|
|
1459
|
+
"fieldset": {
|
|
1460
|
+
"legend": {
|
|
1461
|
+
"text": "Selecciona organismo"
|
|
1462
|
+
}
|
|
1463
|
+
},
|
|
1464
|
+
"searchbar": {
|
|
1465
|
+
"id": "with-searchbar-scroll-searchbar",
|
|
1466
|
+
"label": {
|
|
1467
|
+
"text": "Buscar"
|
|
1468
|
+
},
|
|
1469
|
+
"placeholder": "Buscar organismo"
|
|
1470
|
+
},
|
|
1471
|
+
"items": [
|
|
1472
|
+
{
|
|
1473
|
+
"text": "Item 1",
|
|
1474
|
+
"id": "with-searchbar-scroll-item-1",
|
|
1475
|
+
"expanded": true,
|
|
1476
|
+
"sub": {
|
|
1477
|
+
"items": [
|
|
1478
|
+
{
|
|
1479
|
+
"text": "Subitem 1",
|
|
1480
|
+
"value": "subitem-1"
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"text": "Subitem 2",
|
|
1484
|
+
"value": "subitem-2"
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
"text": "Subitem 3",
|
|
1488
|
+
"value": "subitem-3"
|
|
1489
|
+
}
|
|
1490
|
+
],
|
|
1491
|
+
"attributes": {
|
|
1492
|
+
"aria-labelledby": "with-searchbar-scroll-item-1"
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
"text": "Item 2",
|
|
1498
|
+
"id": "with-searchbar-scroll-item-2",
|
|
1499
|
+
"expanded": true,
|
|
1500
|
+
"sub": {
|
|
1501
|
+
"items": [
|
|
1502
|
+
{
|
|
1503
|
+
"text": "Subitem 1",
|
|
1504
|
+
"value": "subitem-1"
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"text": "Subitem 2",
|
|
1508
|
+
"value": "subitem-2"
|
|
1509
|
+
},
|
|
1510
|
+
{
|
|
1511
|
+
"text": "Subitem 3",
|
|
1512
|
+
"value": "subitem-3"
|
|
1513
|
+
}
|
|
1514
|
+
],
|
|
1515
|
+
"attributes": {
|
|
1516
|
+
"aria-labelledby": "with-searchbar-scroll-item-2"
|
|
1517
|
+
}
|
|
1518
|
+
}
|
|
1519
|
+
},
|
|
1520
|
+
{
|
|
1521
|
+
"text": "Item 3",
|
|
1522
|
+
"id": "with-searchbar-scroll-item-3",
|
|
1523
|
+
"expanded": true,
|
|
1524
|
+
"sub": {
|
|
1525
|
+
"items": [
|
|
1526
|
+
{
|
|
1527
|
+
"text": "Subitem 1",
|
|
1528
|
+
"value": "subitem-1"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"text": "Subitem 2",
|
|
1532
|
+
"value": "subitem-2"
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"text": "Subitem 3",
|
|
1536
|
+
"value": "subitem-3"
|
|
1537
|
+
}
|
|
1538
|
+
],
|
|
1539
|
+
"attributes": {
|
|
1540
|
+
"aria-labelledby": "with-searchbar-scroll-item-3"
|
|
1541
|
+
}
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
]
|
|
1545
|
+
}
|
|
1546
|
+
},
|
|
1453
1547
|
{
|
|
1454
1548
|
"name": "peque",
|
|
1455
1549
|
"description": "Con clases aplicadas.",
|