desy-html 7.2.0 → 7.3.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.
Files changed (59) hide show
  1. package/docs/_include.template-header.njk +8 -0
  2. package/docs/index.html +4 -0
  3. package/docs/pagina-accesibilidad.html +104 -0
  4. package/docs/pagina-mapa-web.html +131 -0
  5. package/docs/pagina-prueba.html +95 -0
  6. package/docs/plantilla-con-header-advanced.html +7 -0
  7. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +147 -0
  8. package/docs/plantilla-editar-con-cabecera-fija.html +10 -0
  9. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +8 -0
  10. package/docs/plantilla-logueado-con-cabecera-fija.html +8 -0
  11. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +157 -0
  12. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +9 -0
  13. package/docs/plantilla-logueado-con-selector-de-app.html +7 -0
  14. package/docs/plantilla-logueado-con-titulo-de-app.html +7 -0
  15. package/docs/plantilla-sin-loguear.html +7 -0
  16. package/docs/plantillas.html +88 -0
  17. package/docs/spinner-plantilla-con-header-advanced.html +2 -0
  18. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +5 -0
  19. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +2 -0
  20. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +4 -0
  21. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +2 -0
  22. package/docs/spinner-plantilla-sin-loguear.html +18 -0
  23. package/package.json +1 -1
  24. package/src/css/component.headroom.css +31 -0
  25. package/src/css/styles.css +1 -0
  26. package/src/js/headroom.min.js +7 -0
  27. package/src/templates/includes/_abrir-notificaciones.njk +3 -0
  28. package/src/templates/includes/_acciones-de-cabecera.njk +28 -0
  29. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +5 -0
  30. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +5 -0
  31. package/src/templates/includes/_loremipsum-large.njk +1 -0
  32. package/src/templates/includes/_test-include.njk +14 -0
  33. package/src/templates/pages/_page.foot-headroom.njk +32 -0
  34. package/src/templates/pages/_page.foot.njk +7 -0
  35. package/src/templates/pages/_page.footer.njk +20 -0
  36. package/src/templates/pages/_page.head.njk +13 -0
  37. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -0
  38. package/src/templates/pages/_page.notification-edit.njk +31 -0
  39. package/src/templates/pages/_page.notification-footer.njk +33 -0
  40. package/src/templates/pages/_page.notification-header-fixed.njk +31 -0
  41. package/src/templates/pages/_page.notification-header.njk +31 -0
  42. package/src/templates/pages/_page.sidebar-content.njk +21 -0
  43. package/src/templates/pages/_page.spinner-block.njk +15 -0
  44. package/src/templates/pages/_page.spinner-show.njk +16 -0
  45. package/src/templates/pages/_page.spinner.njk +16 -0
  46. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -0
  47. package/src/templates/pages/_template.edit-fixed.njk +74 -0
  48. package/src/templates/pages/_template.home.njk +109 -0
  49. package/src/templates/pages/_template.logged-out.njk +53 -0
  50. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +195 -0
  51. package/src/templates/pages/_template.logged-selector-fixed.njk +192 -0
  52. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -0
  53. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +29 -0
  54. package/src/templates/pages/_template.logged-selector.njk +195 -0
  55. package/src/templates/pages/_template.logged.njk +138 -0
  56. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -0
  57. package/src/templates/pages/_template.mfe.njk +80 -0
  58. package/src/templates/pages/_template.test.njk +45 -0
  59. package/src/templates/pages/_template.with-header-advanced.njk +130 -0
@@ -0,0 +1,157 @@
1
+ {% set title = "Plantilla logueado con selector de app y sidebar. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-selector-with-sidebar.njk" %}
3
+
4
+ {% from "components/menu-vertical/_macro.menu-vertical.njk" import componentMenuVertical %}
5
+
6
+ {% block sidebarBlock %}
7
+ <div class="pb-lg"></div>
8
+ <h2 id="apartados-de-pagina" class="sr-only">Índice de apartados de esta página</h2>
9
+ {{ componentMenuVertical({
10
+ "idPrefix": "sidebar-item",
11
+ "items": [
12
+ {
13
+ "href": "#datos-generales",
14
+ "text": "Datos generales",
15
+ "sub": {
16
+ "items": [
17
+ {
18
+ "href": "#denominacion",
19
+ "text": "Denominación"
20
+ },
21
+ {
22
+ "href": "#descripcion",
23
+ "text": "Descripción"
24
+ },
25
+ {
26
+ "href": "#organos-o-unidades-gestoras",
27
+ "text": "Órganos o unidades gestoras"
28
+ },
29
+ {
30
+ "href": "#categorias",
31
+ "text": "Categorías"
32
+ },
33
+ {
34
+ "href": "#etiquetas-libres",
35
+ "text": "Etiquetas libres"
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ {
41
+ "text": "Normativa general",
42
+ "href": "#normativa-general"
43
+ },
44
+ {
45
+ "href": "#caracteristicas-generales-de-tramitacion",
46
+ "text": "Características generales de tramitación",
47
+ "sub": {
48
+ "items": [
49
+ {
50
+ "href": "#grupos-de-destinatarios",
51
+ "text": "Grupos de destinatarios"
52
+ },
53
+ {
54
+ "href": "#destinatarios",
55
+ "text": "Destinatarios"
56
+ },
57
+ {
58
+ "href": "#requisitos-generales",
59
+ "text": "Requisitos generales"
60
+ },
61
+ {
62
+ "href": "#canales-de-informacion",
63
+ "text": "Canales de información"
64
+ },
65
+ {
66
+ "href": "#tramites-principales",
67
+ "text": "Trámites principales"
68
+ },
69
+ {
70
+ "href": "#resolucion",
71
+ "text": "Resolución"
72
+ }
73
+ ]
74
+ }
75
+ }
76
+ ],
77
+ "attributes": {
78
+ "aria-labelledby": "apartados-de-pagina"
79
+ }
80
+ }) }}
81
+ {% endblock %}
82
+
83
+ {% block headerContentBlock %}
84
+ <div class="pb-lg"></div>
85
+ <h1 class="c-h1">Titulo de app</h1>
86
+ <p class="c-paragraph-base mb-lg">
87
+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Ipsum et, laboriosam perferendis nesciunt. Recusandae, dolorum! Error doloribus, quisquam. Quasi possimus provident delectus incidunt voluptas quos quaerat quis minima itaque impedit. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Ipsum et, laboriosam perferendis nesciunt. Recusandae, dolorum! Error doloribus, quisquam. Quasi possimus provident delectus incidunt voluptas quos quaerat quis minima itaque impedit.
88
+ </p>
89
+ {% endblock %}
90
+
91
+ {% block innerContentBlock %}
92
+ <div class="pb-lg"></div>
93
+ <h2 id="datos-generales" class="c-h2 c-anchor-scroll">Datos generales (h2)</h2>
94
+ <h3 id="denominacion" class="c-anchor-scroll c-h3">Denominación (h3)</h3>
95
+ <p class="c-paragraph-base">
96
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
97
+ </p>
98
+ {% include "includes/_abrir-notificaciones.njk" %}
99
+ <div class="pb-xl"></div>
100
+ <h3 id="descripcion" class="c-anchor-scroll c-h3">Descripción</h3>
101
+ <p class="c-paragraph-base">
102
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
103
+ </p>
104
+ <div class="pb-xl"></div>
105
+ <h3 id="organos-o-unidades-gestoras" class="c-anchor-scroll c-h3">Órganos o unidades gestoras</h3>
106
+ <p class="c-paragraph-base">
107
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
108
+ </p>
109
+ <div class="pb-xl"></div>
110
+ <h3 id="categorias" class="c-anchor-scroll c-h3">Categorías</h3>
111
+ <p class="c-paragraph-base">
112
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
113
+ </p>
114
+ <div class="pb-xl"></div>
115
+ <h3 id="etiquetas-libres" class="c-anchor-scroll c-h3">Etiquetas libres</h3>
116
+ <p class="c-paragraph-base">
117
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
118
+ </p>
119
+ <div class="pb-xl"></div>
120
+ <hr class="border-neutral-base my-2xl">
121
+ <h2 id="normativa-general" class="c-h1 c-anchor-scroll">Normativa general</h2>
122
+ <p class="c-paragraph-base">
123
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
124
+ </p>
125
+ <div class="pb-xl"></div>
126
+ <hr class="border-neutral-base my-2xl">
127
+ <h2 id="caracteristicas-generales-de-tramitacion" class="c-h1 c-anchor-scroll">Características generales de tramitación</h2>
128
+ <h3 id="grupos-de-destinatarios" class="c-anchor-scroll c-h3">Grupos de destinatarios</h3>
129
+ <p class="c-paragraph-base">
130
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
131
+ </p>
132
+ <div class="pb-xl"></div>
133
+ <h3 id="destinatarios" class="c-anchor-scroll c-h3">Destinatarios</h3>
134
+ <p class="c-paragraph-base">
135
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
136
+ </p>
137
+ <div class="pb-xl"></div>
138
+ <h3 id="requisitos-generales" class="c-anchor-scroll c-h3">Requisitos generales</h3>
139
+ <p class="c-paragraph-base">
140
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
141
+ </p>
142
+ <div class="pb-xl"></div>
143
+ <h3 id="canales-de-informacion" class="c-anchor-scroll c-h3">Canales de información</h3>
144
+ <p class="c-paragraph-base">
145
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
146
+ </p>
147
+ <div class="pb-xl"></div>
148
+ <h3 id="tramites-principales" class="c-anchor-scroll c-h3">Trámites principales</h3>
149
+ <p class="c-paragraph-base">
150
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
151
+ </p>
152
+ <div class="pb-xl"></div>
153
+ <h3 id="resolucion" class="c-anchor-scroll c-h3">Resolución</h3>
154
+ <p class="c-paragraph-base">
155
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem veniam facilis sapiente ea explicabo ipsa dolores placeat quis quam ut officia voluptas sed natus eius sequi inventore, saepe repellendus quae.
156
+ </p>
157
+ {% endblock %}
@@ -0,0 +1,9 @@
1
+ {% set title = "Plantilla logueado con selector de app y subheader. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-selector-subheader.njk" %}
3
+
4
+
5
+ {% block contentBlock %}
6
+ {% include "includes/_ejemplo-titulo-parrafo.njk" %}
7
+ {% include "includes/_loremipsum-large.njk" %}
8
+ {% include "includes/_abrir-notificaciones.njk" %}
9
+ {% endblock %}
@@ -0,0 +1,7 @@
1
+ {% set title = "Plantilla logueado con selector de app. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-selector.njk" %}
3
+
4
+ {% block contentBlock %}
5
+ {% include "includes/_ejemplo-titulo-parrafo.njk" %}
6
+ {% include "includes/_abrir-notificaciones.njk" %}
7
+ {% endblock %}
@@ -0,0 +1,7 @@
1
+ {% set title = "Plantilla logueado con título de app. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged.njk" %}
3
+
4
+ {% block contentBlock %}
5
+ {% include "includes/_ejemplo-titulo-parrafo.njk" %}
6
+ {% include "includes/_abrir-notificaciones.njk" %}
7
+ {% endblock %}
@@ -0,0 +1,7 @@
1
+ {% set title = "Plantilla sin loguear. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-out.njk" %}
3
+
4
+ {% block contentBlock %}
5
+ {% include "includes/_ejemplo-titulo-parrafo.njk" %}
6
+ {% include "includes/_abrir-notificaciones.njk" %}
7
+ {% endblock %}
@@ -0,0 +1,88 @@
1
+ {% set title = "Plantillas para desy-html. Gobierno de Aragón" %}
2
+ {% extends "_template.default.njk" %}
3
+
4
+ {% block contentBlock %}
5
+ <div class="lg:w-3/4">
6
+ <div class="pb-lg"></div>
7
+ <h1 class="c-h1">Plantillas</h1>
8
+ <p class="c-paragraph-base">
9
+ Aqui encontrarás plantillas de página típicas que se utilizan en aplicaciones del Gobierno de Aragón. Los ejemplos que aquí aparecen han pasado revisiones de accesibilidad, por lo que son seguros para ser utilizados en tus proyectos como punto de partida.
10
+ </p>
11
+
12
+ <div class="pb-lg"></div>
13
+
14
+ <h2 id="plantillas" class="c-h2">Plantillas de página</h2>
15
+ <ul class="mb-lg">
16
+ <li class="mb-base">
17
+ <a class="c-link" href="plantilla-sin-loguear.html">Plantilla sin loguear</a>
18
+ </li>
19
+ <li class="mb-base">
20
+ <a class="c-link" href="plantilla-logueado-con-titulo-de-app.html">Plantilla logueado con título de app</a>
21
+ </li>
22
+ <li class="mb-base">
23
+ <a class="c-link" href="plantilla-logueado-con-selector-de-app.html">Plantilla logueado con selector de app</a>
24
+ </li>
25
+ <li class="mb-base">
26
+ <a class="c-link" href="plantilla-logueado-con-cabecera-fija.html">Plantilla logueado con cabecera fija</a>
27
+ </li>
28
+ <li class="mb-base">
29
+ <a class="c-link" href="plantilla-logueado-con-cabecera-fija-headroom.html">Plantilla logueado con cabecera fija con librería headroom.js</a>
30
+ </li>
31
+ <li class="mb-base">
32
+ <a class="c-link" href="plantilla-editar-con-cabecera-fija.html">Plantilla editar con cabecera fija</a>
33
+ </li>
34
+ <li class="mb-base">
35
+ <a class="c-link" href="plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html">Plantilla editar con cabecera fija y sidebar sticky</a>
36
+ </li>
37
+ <li class="mb-base">
38
+ <a class="c-link" href="plantilla-logueado-con-selector-de-app-y-subheader.html">Plantilla logueado con selector de app y subheader</a>
39
+ </li>
40
+ <li class="mb-base">
41
+ <a class="c-link" href="plantilla-logueado-con-selector-de-app-y-sidebar.html">Plantilla logueado con selector de app y sidebar</a>
42
+ </li>
43
+ <li class="mb-base">
44
+ <a class="c-link" href="plantilla-con-header-advanced.html">Plantilla con header advanced</a>
45
+ </li>
46
+ </ul>
47
+
48
+ <div class="pb-lg"></div>
49
+
50
+ <h2 id="spinners" class="c-h2">Spinners en plantillas</h2>
51
+ <ul class="mb-lg">
52
+ <li class="mb-base">
53
+ <a class="c-link" href="spinner-plantilla-sin-loguear.html">Spinner de página en Plantilla sin loguear</a>
54
+ </li>
55
+ <li class="mb-base">
56
+ <a class="c-link" href="spinner-plantilla-logueado-con-titulo-de-app.html">Spinner de contenido en Plantilla logueado con título de app</a>
57
+ </li>
58
+ <li class="mb-base">
59
+ <a class="c-link" href="spinner-plantilla-logueado-con-cabecera-fija.html">Spinner de contenido en Plantilla logueado con cabecera fija</a>
60
+ </li>
61
+ <li class="mb-base">
62
+ <a class="c-link" href="spinner-plantilla-editar-con-cabecera-fija.html">Spinner de contenido en Plantilla editar con cabecera fija</a>
63
+ </li>
64
+ <li class="mb-base">
65
+ <a class="c-link" href="spinner-plantilla-logueado-con-selector-de-app-y-subheader.html">Spinner de contenido en Plantilla logueado con selector de app y subheader</a>
66
+ </li>
67
+ <li class="mb-base">
68
+ <a class="c-link" href="spinner-plantilla-con-header-advanced.html">Spinner de contenido en Plantilla con header advanced</a>
69
+ </li>
70
+ </ul>
71
+
72
+ <div class="pb-lg"></div>
73
+
74
+ <h2 id="paginas" class="c-h2">Páginas</h2>
75
+ <h3 class="c-h3">Páginas varias</h3>
76
+ <p class="c-paragraph-base">
77
+ Esto son ejemplos de varios tipos de páginas de una aplicación.
78
+ </p>
79
+ <ul class="mb-lg">
80
+ <li class="mb-base">
81
+ <a class="c-link" href="pagina-mapa-web.html">Mapa web</a>
82
+ </li>
83
+ <li class="mb-base">
84
+ <a class="c-link" href="pagina-accesibilidad.html">Accesibilidad</a>
85
+ </li>
86
+ </ul>
87
+ </div>
88
+ {% endblock %}
@@ -0,0 +1,2 @@
1
+ {% set title = "Spinner de contenido en Plantilla con header advanced. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.with-header-advanced.njk" %}
@@ -0,0 +1,5 @@
1
+ {% set title = "Spinner de contenido en Plantilla editar con cabecera fija. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.edit-fixed.njk" %}
3
+
4
+ {# Use headerTitleEditBlock and headerActionsEditBlock template blocks to customize the fixed header #}
5
+
@@ -0,0 +1,2 @@
1
+ {% set title = "Spinner de contenido en Plantilla logueado con cabecera fija. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-selector-fixed.njk" %}
@@ -0,0 +1,4 @@
1
+ {% set title = "Spinner de contenido en Plantilla logueado con selector de app y subheader. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-selector-subheader.njk" %}
3
+
4
+
@@ -0,0 +1,2 @@
1
+ {% set title = "Spinner de contenido en Plantilla logueado con título de app. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged.njk" %}
@@ -0,0 +1,18 @@
1
+ {% set title = "Spinner de página en Plantilla sin loguear. Gobierno de Aragón" %}
2
+ {% extends "pages/_template.logged-out.njk" %}
3
+
4
+ {% block pageSpinnerBlock %}
5
+ {% include "pages/_page.spinner-show.njk" %}
6
+ {% endblock %}
7
+ {% block headerBlock %}
8
+ {% endblock %}
9
+ {% block notificationHeaderBlock %}
10
+ {% endblock %}
11
+ {% block contentBlock %}
12
+ {% endblock %}
13
+ {% block notificationFooterBlock %}
14
+ {% endblock %}
15
+ {% block footerBlock %}
16
+ {% endblock %}
17
+ {% block modalBlock %}
18
+ {% endblock %}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "desy-html",
3
- "version": "7.2.0",
3
+ "version": "7.3.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)",
@@ -0,0 +1,31 @@
1
+ /* ==========================================================================
2
+ component.headroom.css
3
+ ========================================================================== */
4
+
5
+
6
+ @layer components {
7
+ .headroom {
8
+ @apply lg:fixed !important;
9
+ @apply lg:top-0;
10
+ @apply lg:w-full;
11
+ @apply lg:transform;
12
+ @apply lg:transition-transform;
13
+ @apply lg:duration-500;
14
+ @apply lg:z-10;
15
+ }
16
+ .headroom--pinned {
17
+ @apply lg:translate-y-0;
18
+ }
19
+ .headroom--unpinned {
20
+ @apply lg:-translate-y-full;
21
+ }
22
+
23
+ .c-anchor-scroll {
24
+ scroll-margin-top: 4rem;
25
+ }
26
+
27
+ .c-anchor-scroll-edit {
28
+ scroll-margin-top: 5.375rem;
29
+ }
30
+ }
31
+
@@ -39,6 +39,7 @@
39
39
  @import "../templates/components/tree/_styles.tree.css";
40
40
  @import "./component.form-group.css";
41
41
  @import "./component.tippy-box.css";
42
+ @import "./component.headroom.css";
42
43
 
43
44
  /* Framework utilities */
44
45
  @import "tailwindcss/utilities";
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it
3
+ * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js
4
+ * License: MIT
5
+ */
6
+
7
+ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=l<t?"down":"up",a.distance=Math.abs(t-l),a.isOutOfBounds=t<0||o<t+n,a.top=t<=s.offset[a.direction],a.bottom=o<=t+n,a.toleranceExceeded=a.distance>s.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t){return t===Object(t)?t:{down:t,up:t}}function s(t,n){n=n||{},Object.assign(this,s.options,n),this.classes=Object.assign({},s.options.classes,n.classes),this.elem=t,this.tolerance=o(this.tolerance),this.offset=o(this.offset),this.initialised=!1,this.frozen=!1}return s.prototype={constructor:s,init:function(){return s.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},s.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},s.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),s});
@@ -0,0 +1,3 @@
1
+ <p class="c-paragraph-base">
2
+ Abrir <a href="javascript:void(0)" class="c-link" onclick="document.getElementById('notification-header-container').removeAttribute('aria-hidden'); openAlert('notification-header', this);">Notification header</a>, <a href="javascript:void(0)" class="c-link" onclick="document.getElementById('notification-footer-container').removeAttribute('aria-hidden'); openAlert('notification-footer', this);">Notification footer</a>, <a href="javascript:void(0)" class="c-link" onclick="document.getElementById('notification-inner-content-container').removeAttribute('aria-hidden'); openAlert('notification-inner-content', this);">Notification inner-content (sólo en páginas con barra lateral)</a>
3
+ </p>
@@ -0,0 +1,28 @@
1
+ {% from "components/button/_macro.button.njk" import componentButton %}
2
+
3
+ <nav aria-labelledby="acciones-de-cabecera">
4
+ <p class="sr-only" id="acciones-de-cabecera">Menú de acciones</p>
5
+ <ul class="flex flex-wrap flex-column-reverse lg:flex-row-reverse gap-sm lg:items-center lg:ml-auto lg:pl-base">
6
+ <li>
7
+ {{ componentButton({
8
+ "text": "Guardar y salir",
9
+ "href": "#",
10
+ "classes": "c-button--primary c-button--sm"
11
+ }) }}
12
+ </li>
13
+ <li>
14
+ {{ componentButton({
15
+ "text": "Guardar",
16
+ "href": "#",
17
+ "classes": "c-button--sm"
18
+ }) }}
19
+ </li>
20
+ <li>
21
+ {{ componentButton({
22
+ "text": "Salir",
23
+ "href": "#",
24
+ "classes": "c-button--sm"
25
+ }) }}
26
+ </li>
27
+ </ul>
28
+ </nav>
@@ -0,0 +1,5 @@
1
+ <div class="pb-lg"></div>
2
+ <h2 class="c-h1">Título de página (h2)</h2>
3
+ <p class="c-paragraph-base">
4
+ Aqui un ejemplo de párrafo explicativo de la página. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum, nobis quae amet esse! Accusamus, enim. Corrupti expedita officia perferendis quas dicta earum placeat voluptates, laudantium at, optio minus consequuntur pariatur.
5
+ </p>
@@ -0,0 +1,5 @@
1
+ <div class="pb-lg"></div>
2
+ <h1 class="c-h1">Título de página (h1)</h1>
3
+ <p class="c-paragraph-base">
4
+ Aqui un ejemplo de párrafo explicativo de la página. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Illum, nobis quae amet esse! Accusamus, enim. Corrupti expedita officia perferendis quas dicta earum placeat voluptates, laudantium at, optio minus consequuntur pariatur.
5
+ </p>
@@ -0,0 +1 @@
1
+ <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dicta quia recusandae quibusdam cum nam quaerat, reprehenderit, doloribus excepturi odit praesentium dolorum at aut cumque eius ullam reiciendis! Aspernatur, vero, doloremque! Quaerat veniam velit totam atque voluptatum facilis cupiditate aperiam a harum, voluptate sapiente repellendus natus culpa ipsum illum earum libero nostrum debitis cumque. Nihil explicabo dolorem nulla illo architecto ipsam. Tenetur minima nihil doloremque praesentium ullam, odio animi quisquam eaque aperiam suscipit porro voluptate repellendus itaque laudantium! Molestiae quos quae error corrupti minima hic eveniet quod reiciendis, consectetur suscipit quidem. Distinctio, in, assumenda nulla debitis obcaecati temporibus fuga provident excepturi vel, beatae sit reprehenderit harum unde, accusamus quod ipsa blanditiis ea aperiam quasi inventore. Beatae earum pariatur, eius officia vitae! Dolores explicabo tenetur rem illo, odio! Sint temporibus, explicabo cupiditate voluptate ex, possimus magni quibusdam, molestiae porro quidem molestias sed! Nam sit, deserunt quisquam in! Eum, nemo id nostrum illo. Officia omnis amet, officiis quia tempora reprehenderit ipsam praesentium nam at eum soluta labore impedit cum distinctio quo placeat. Est architecto omnis ducimus perspiciatis rem accusamus illum voluptatibus voluptates distinctio. Explicabo sapiente iure laboriosam hic, dignissimos ducimus inventore quaerat reiciendis iusto, sit corporis modi quam eligendi eum asperiores nihil accusantium nostrum voluptatibus sint, doloremque officiis voluptate deleniti recusandae. Impedit, consequuntur. Iusto tempora minus cumque debitis beatae itaque, aliquam corrupti quia natus, voluptas eligendi, facere voluptatum quam. Excepturi voluptatem, iste numquam tenetur corporis, adipisci similique est mollitia, nobis inventore, nemo harum. Quia ex accusantium impedit architecto quidem optio laudantium facere dolorum, minima autem eum repellendus fuga ullam praesentium cupiditate neque fugit hic quae incidunt illum accusamus, rerum, quod. Atque, consectetur, aut? Quod, in. Corrupti voluptatem natus ipsum, sunt et accusantium aliquam eum quidem dolore sint explicabo nemo neque debitis dicta necessitatibus provident dolores corporis, ut suscipit. Perferendis quo quos fuga, praesentium! Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dicta quia recusandae quibusdam cum nam quaerat, reprehenderit, doloribus excepturi odit praesentium dolorum at aut cumque eius ullam reiciendis! Aspernatur, vero, doloremque! Quaerat veniam velit totam atque voluptatum facilis cupiditate aperiam a harum, voluptate sapiente repellendus natus culpa ipsum illum earum libero nostrum debitis cumque. Nihil explicabo dolorem nulla illo architecto ipsam. Tenetur minima nihil doloremque praesentium ullam, odio animi quisquam eaque aperiam suscipit porro voluptate repellendus itaque laudantium! Molestiae quos quae error corrupti minima hic eveniet quod reiciendis, consectetur suscipit quidem. Distinctio, in, assumenda nulla debitis obcaecati temporibus fuga provident excepturi vel, beatae sit reprehenderit harum unde, accusamus quod ipsa blanditiis ea aperiam quasi inventore. Beatae earum pariatur, eius officia vitae! Dolores explicabo tenetur rem illo, odio! Sint temporibus, explicabo cupiditate voluptate ex, possimus magni quibusdam, molestiae porro quidem molestias sed! Nam sit, deserunt quisquam in! Eum, nemo id nostrum illo. Officia omnis amet, officiis quia tempora reprehenderit ipsam praesentium nam at eum soluta labore impedit cum distinctio quo placeat. Est architecto omnis ducimus perspiciatis rem accusamus illum voluptatibus voluptates distinctio. Explicabo sapiente iure laboriosam hic, dignissimos ducimus inventore quaerat reiciendis iusto, sit corporis modi quam eligendi eum asperiores nihil accusantium nostrum voluptatibus sint, doloremque officiis voluptate deleniti recusandae. Impedit, consequuntur. Iusto tempora minus cumque debitis beatae itaque, aliquam corrupti quia natus, voluptas eligendi, facere voluptatum quam. Excepturi voluptatem, iste numquam tenetur corporis, adipisci similique est mollitia, nobis inventore, nemo harum. Quia ex accusantium impedit architecto quidem optio laudantium facere dolorum, minima autem eum repellendus fuga ullam praesentium cupiditate neque fugit hic quae incidunt illum accusamus, rerum, quod. Atque, consectetur, aut? Quod, in. Corrupti voluptatem natus ipsum, sunt et accusantium aliquam eum quidem dolore sint explicabo nemo neque debitis dicta necessitatibus provident dolores corporis, ut suscipit. Perferendis quo quos fuga, praesentium!</p>
@@ -0,0 +1,14 @@
1
+ {% from "components/test-component/_macro.test-component.njk" import componentTestComponent %}
2
+ {% from "components/test-component-caller/_macro.test-component-caller.njk" import componentTestComponentCaller %}
3
+
4
+ <div class="p-base border border-neutral-base">
5
+ <p>Este es un include de prueba</p>
6
+ {{ componentTestComponent({
7
+ "html": 'Este es <strong class="font-bold">un componente de prueba</strong>'
8
+ }) }}
9
+ {% call componentTestComponentCaller({
10
+ "html": 'Este es un componente <strong class="font-bold ">con caller</strong>'
11
+ }) %}
12
+ <div class="w-48 p-2"><div class=" border-4 border-dashed border-gray-200 rounded-lg h-40 "></div></div>
13
+ {% endcall %}
14
+ </div>
@@ -0,0 +1,32 @@
1
+ <!-- page.foot-headroom -->
2
+ <script src="js/headroom.min.js"></script>
3
+ <script>
4
+ const modules = document.querySelectorAll('[data-module]');
5
+ for (const item in modules) if (modules.hasOwnProperty(item)) {
6
+ const moduleValue = modules[item].getAttribute('data-module');
7
+
8
+ if (moduleValue == 'c-header'){
9
+ const options = {
10
+ // vertical offset in px before element is first unpinned
11
+ offset : 0,
12
+ // scroll tolerance in px before state changes
13
+ tolerance : {
14
+ up : 0,
15
+ down : 0
16
+ },
17
+ // callback when unpinned, `this` is headroom object
18
+ onUnpin : function() {
19
+ // oculta todos los dropdowns que hubiese abiertos en el header
20
+ }
21
+ };
22
+ const headroom = new Headroom(modules[item], options);
23
+ headroom.init();
24
+ }
25
+ }
26
+ </script>
27
+ <script src="js/popper.min.js"></script>
28
+ <script src="js/tippy-bundle.umd.min.js"></script>
29
+ <script type="module" src="js/index.js"></script>
30
+ </body>
31
+ </html>
32
+
@@ -0,0 +1,7 @@
1
+ <!-- page.foot -->
2
+ <script src="js/popper.min.js"></script>
3
+ <script src="js/tippy-bundle.umd.min.js"></script>
4
+ <script type="module" src="js/index.js"></script>
5
+ </body>
6
+ </html>
7
+
@@ -0,0 +1,20 @@
1
+ <!-- page.footer -->
2
+ {% from "components/footer/_macro.footer.njk" import componentFooter %}
3
+ {{ componentFooter({
4
+ "meta": {
5
+ "visuallyHiddenTitle": "Enlaces a pie de página",
6
+ "items": [
7
+ {
8
+ "href": "pagina-accesibilidad.html",
9
+ "text": "Accesibilidad"
10
+ },
11
+ {
12
+ "href": "pagina-mapa-web.html",
13
+ "text": "Mapa web"
14
+ }
15
+ ],
16
+ "html": 'Creado por <a href="https://sda.aragon.es/" class="c-link c-link--neutral">SDA Servicios Digitales de Aragón</a>'
17
+ },
18
+ "classes": "mt-lg lg:mt-48"
19
+ }) }}
20
+ <!-- /page.footer -->
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{{ title if title else "Project title" }}</title>
7
+ <link rel="icon" type="image/x-icon" href="https://aplicaciones.aragon.es/favicon.ico">
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <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">
11
+ <link rel="stylesheet" href="css/styles.css">
12
+ </head>
13
+ <!-- /page.head -->
@@ -0,0 +1,31 @@
1
+ {% from "components/alert/_macro.alert.njk" import componentAlert %}
2
+ {% from "components/notification/_macro.notification.njk" import componentNotification %}
3
+ <!-- page.notification-edit-inner-content -->
4
+ <section id="notification-inner-content-container" aria-labelledby="notification-inner-content-heading" class="sticky top-base z-10 lg:top-28 w-full" aria-hidden="true"> {# aria-hidden must dissapear when a notification appears #}{# top-28 depends on the fixed heading height #}
5
+ <h2 id="notification-inner-content-heading" class="sr-only">Avisos importantes en contenido central</h2>
6
+ {% call componentAlert({
7
+ "button": {
8
+ "text": "Mostrar notificación",
9
+ "classes": "hidden",
10
+ "attributes": {
11
+ "onclick": "openAlert('notification-inner-content', this)"
12
+ }
13
+ },
14
+ "id": "notification-inner-content",
15
+ "attributes": {
16
+ "role": "alert",
17
+ "aria-live": "assertive"
18
+ }
19
+ }) %}
20
+ {{ componentNotification({
21
+ "title": {
22
+ "text": "El documento se ha cargado correctamente"
23
+ },
24
+ "type": "success",
25
+ "id": "type-success",
26
+ "isDismissible": true,
27
+ "classes": "c-notification--success mb-base"
28
+ }) }}
29
+ {% endcall %}
30
+ </section>
31
+ <!-- /page.notification-edit-inner-content -->
@@ -0,0 +1,31 @@
1
+ {% from "components/alert/_macro.alert.njk" import componentAlert %}
2
+ {% from "components/notification/_macro.notification.njk" import componentNotification %}
3
+ <!-- page.notification-edit -->
4
+ <section id="notification-header-container" aria-labelledby="notification-header-heading" class="sticky top-base z-10 lg:top-28 w-full" aria-hidden="true"> {# aria-hidden must dissapear when a notification appears #}{# top-28 depends on the fixed heading height #}
5
+ <h2 id="notification-header-heading" class="sr-only">Avisos importantes</h2>
6
+ {% call componentAlert({
7
+ "button": {
8
+ "text": "Mostrar notificación",
9
+ "classes": "hidden",
10
+ "attributes": {
11
+ "onclick": "openAlert('notification-header', this)"
12
+ }
13
+ },
14
+ "id": "notification-header",
15
+ "attributes": {
16
+ "role": "alert",
17
+ "aria-live": "assertive"
18
+ }
19
+ }) %}
20
+ {{ componentNotification({
21
+ "title": {
22
+ "text": "El documento se ha cargado correctamente"
23
+ },
24
+ "type": "success",
25
+ "id": "type-success",
26
+ "isDismissible": true,
27
+ "classes": "c-notification--success mt-base"
28
+ }) }}
29
+ {% endcall %}
30
+ </section>
31
+ <!-- /page.notification-edit -->