desy-html 15.0.3 → 16.0.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 (184) hide show
  1. package/AGENTS.md +180 -0
  2. package/README.md +22 -4
  3. package/TESTING_PLAN.md +369 -0
  4. package/branding/BRANDING.md +369 -0
  5. package/branding/branding.config.js +69 -0
  6. package/branding/branding.config.yourorganization.js +65 -0
  7. package/branding/logos/aragon-compact.svg +1 -0
  8. package/branding/logos/aragon-expanded.svg +1 -0
  9. package/branding/logos/aragon-mini.svg +1 -0
  10. package/branding/logos/yourlogo-compact.svg +13 -0
  11. package/branding/logos/yourlogo-expanded.svg +17 -0
  12. package/branding/logos/yourlogo-mini.svg +17 -0
  13. package/branding/vite-branding-plugin.js +128 -0
  14. package/docs/_global.head.njk +12 -4
  15. package/docs/_macro.example-render.njk +6 -0
  16. package/docs/catalogo.html +2 -2
  17. package/docs/componentes.html +2 -2
  18. package/docs/estilos.html +1 -1
  19. package/docs/examples-accordion-history.html +1 -1
  20. package/docs/examples-accordion.html +1 -1
  21. package/docs/examples-alert.html +1 -1
  22. package/docs/examples-breadcrumbs.html +1 -1
  23. package/docs/examples-button-loader.html +1 -1
  24. package/docs/examples-button.html +1 -1
  25. package/docs/examples-card.html +2 -2
  26. package/docs/examples-character-count.html +1 -1
  27. package/docs/examples-checkboxes.html +2 -2
  28. package/docs/examples-collapsible.html +2 -2
  29. package/docs/examples-date-input.html +1 -1
  30. package/docs/examples-datepicker.html +1 -1
  31. package/docs/examples-description-list.html +1 -1
  32. package/docs/examples-details.html +1 -1
  33. package/docs/examples-dialog.html +2 -2
  34. package/docs/examples-dropdown.html +1 -1
  35. package/docs/examples-error-message.html +1 -1
  36. package/docs/examples-error-summary.html +1 -1
  37. package/docs/examples-fieldset.html +1 -1
  38. package/docs/examples-file-upload.html +1 -1
  39. package/docs/examples-footer.html +1 -1
  40. package/docs/examples-header-advanced.html +1 -1
  41. package/docs/examples-header-mini.html +1 -1
  42. package/docs/examples-header.html +1 -1
  43. package/docs/examples-hint.html +1 -1
  44. package/docs/examples-input-group.html +1 -1
  45. package/docs/examples-input.html +1 -1
  46. package/docs/examples-item.html +1 -1
  47. package/docs/examples-label.html +1 -1
  48. package/docs/examples-links-list.html +2 -2
  49. package/docs/examples-listbox.html +1 -1
  50. package/docs/examples-media-object.html +2 -2
  51. package/docs/examples-menu-horizontal.html +1 -1
  52. package/docs/examples-menu-navigation.html +1 -1
  53. package/docs/examples-menu-vertical.html +2 -2
  54. package/docs/examples-menubar.html +2 -2
  55. package/docs/examples-modal.html +2 -2
  56. package/docs/examples-nav.html +1 -1
  57. package/docs/examples-notification.html +1 -1
  58. package/docs/examples-pagination.html +1 -1
  59. package/docs/examples-pill.html +1 -1
  60. package/docs/examples-radios.html +1 -1
  61. package/docs/examples-searchbar.html +1 -1
  62. package/docs/examples-select.html +1 -2
  63. package/docs/examples-skip-link.html +1 -1
  64. package/docs/examples-spinner.html +1 -1
  65. package/docs/examples-status-item.html +1 -1
  66. package/docs/examples-status.html +1 -1
  67. package/docs/examples-table-advanced.html +1 -1
  68. package/docs/examples-table.html +1 -1
  69. package/docs/examples-tabs.html +1 -1
  70. package/docs/examples-textarea.html +1 -1
  71. package/docs/examples-toggle.html +1 -1
  72. package/docs/examples-tooltip.html +1 -1
  73. package/docs/examples-tree.html +1 -1
  74. package/docs/examples-treegrid.html +1 -1
  75. package/docs/index.html +10 -3
  76. package/docs/pagina-accesibilidad.html +4 -4
  77. package/docs/pagina-mapa-web.html +3 -3
  78. package/docs/pagina-prueba.html +2 -2
  79. package/docs/plantilla-con-header-advanced.html +2 -2
  80. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +2 -2
  81. package/docs/plantilla-editar-con-cabecera-fija.html +2 -2
  82. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +2 -2
  83. package/docs/plantilla-logueado-con-cabecera-fija.html +2 -2
  84. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +2 -2
  85. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +2 -2
  86. package/docs/plantilla-logueado-con-selector-de-app.html +2 -2
  87. package/docs/plantilla-logueado-con-titulo-de-app.html +2 -2
  88. package/docs/plantilla-sin-loguear.html +2 -2
  89. package/docs/plantillas.html +3 -3
  90. package/docs/spinner-plantilla-con-header-advanced.html +2 -2
  91. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +1 -2
  92. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +2 -2
  93. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +1 -3
  94. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +2 -2
  95. package/docs/spinner-plantilla-sin-loguear.html +2 -2
  96. package/package.json +7 -2
  97. package/replit.md +2 -2
  98. package/src/css/branding-variables.css +37 -0
  99. package/src/css/component.text.css +5 -0
  100. package/src/css/styles.css +18 -3
  101. package/src/js/aria/notification.js +6 -6
  102. package/src/js/desy-html.js +5 -0
  103. package/src/templates/components/accordion/_examples.accordion.njk +84 -0
  104. package/src/templates/components/accordion-history/_examples.accordion-history.njk +90 -0
  105. package/src/templates/components/alert/_examples.alert.njk +12 -0
  106. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +90 -0
  107. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +1 -1
  108. package/src/templates/components/button/_examples.button.njk +216 -0
  109. package/src/templates/components/button-loader/_examples.button-loader.njk +204 -0
  110. package/src/templates/components/card/_examples.card.njk +78 -0
  111. package/src/templates/components/character-count/_examples.character-count.njk +60 -0
  112. package/src/templates/components/checkboxes/_examples.checkboxes.njk +120 -0
  113. package/src/templates/components/collapsible/_examples.collapsible.njk +30 -0
  114. package/src/templates/components/date-input/_examples.date-input.njk +78 -0
  115. package/src/templates/components/datepicker/_examples.datepicker.njk +84 -0
  116. package/src/templates/components/datepicker/_template.datepicker.njk +1 -1
  117. package/src/templates/components/description-list/_examples.description-list.njk +66 -0
  118. package/src/templates/components/details/_examples.details.njk +24 -0
  119. package/src/templates/components/dialog/_examples.dialog.njk +18 -0
  120. package/src/templates/components/dropdown/_examples.dropdown.njk +90 -0
  121. package/src/templates/components/error-message/_examples.error-message.njk +12 -0
  122. package/src/templates/components/error-summary/_examples.error-summary.njk +30 -0
  123. package/src/templates/components/fieldset/_examples.fieldset.njk +18 -0
  124. package/src/templates/components/file-upload/_examples.file-upload.njk +30 -0
  125. package/src/templates/components/footer/_examples.footer.njk +108 -0
  126. package/src/templates/components/footer/_styles.footer.css +20 -20
  127. package/src/templates/components/footer/_template.footer.njk +21 -6
  128. package/src/templates/components/footer/params.footer.yaml +4 -4
  129. package/src/templates/components/header/_examples.header.njk +85 -1
  130. package/src/templates/components/header/_template.header.njk +20 -4
  131. package/src/templates/components/header/params.header.yaml +2 -2
  132. package/src/templates/components/header-advanced/_examples.header-advanced.njk +84 -7
  133. package/src/templates/components/header-advanced/_template.header-advanced.njk +3 -1
  134. package/src/templates/components/header-mini/_examples.header-mini.njk +15 -3
  135. package/src/templates/components/header-mini/_template.header-mini.njk +14 -2
  136. package/src/templates/components/header-mini/params.header-mini.yaml +1 -1
  137. package/src/templates/components/hint/_examples.hint.njk +12 -0
  138. package/src/templates/components/input/_examples.input.njk +120 -0
  139. package/src/templates/components/input/_template.input.njk +1 -1
  140. package/src/templates/components/input-group/_examples.input-group.njk +54 -0
  141. package/src/templates/components/item/_examples.item.njk +96 -0
  142. package/src/templates/components/label/_examples.label.njk +24 -0
  143. package/src/templates/components/links-list/_examples.links-list.njk +114 -0
  144. package/src/templates/components/listbox/_examples.listbox.njk +140 -20
  145. package/src/templates/components/media-object/_examples.media-object.njk +30 -0
  146. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +84 -0
  147. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +102 -0
  148. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +96 -0
  149. package/src/templates/components/menubar/_examples.menubar.njk +66 -0
  150. package/src/templates/components/modal/_examples.modal.njk +78 -0
  151. package/src/templates/components/nav/_examples.nav.njk +66 -0
  152. package/src/templates/components/notification/_examples.notification.njk +78 -0
  153. package/src/templates/components/pagination/_examples.pagination.njk +42 -0
  154. package/src/templates/components/pill/_examples.pill.njk +78 -0
  155. package/src/templates/components/radios/_examples.radios.njk +96 -0
  156. package/src/templates/components/searchbar/_examples.searchbar.njk +48 -0
  157. package/src/templates/components/searchbar/_template.searchbar.njk +1 -1
  158. package/src/templates/components/select/_examples.select.njk +54 -0
  159. package/src/templates/components/select/_template.select.njk +1 -1
  160. package/src/templates/components/skip-link/_examples.skip-link.njk +12 -0
  161. package/src/templates/components/spinner/_examples.spinner.njk +49 -1
  162. package/src/templates/components/status/_examples.status.njk +31 -1
  163. package/src/templates/components/status-item/_examples.status-item.njk +73 -1
  164. package/src/templates/components/table/_examples.table.njk +37 -1
  165. package/src/templates/components/table-advanced/_examples.table-advanced.njk +54 -0
  166. package/src/templates/components/table-advanced/_styles.table-advanced.css +0 -2
  167. package/src/templates/components/tabs/_examples.tabs.njk +72 -0
  168. package/src/templates/components/textarea/_examples.textarea.njk +54 -0
  169. package/src/templates/components/textarea/_template.textarea.njk +1 -1
  170. package/src/templates/components/toggle/_examples.toggle.njk +60 -0
  171. package/src/templates/components/tooltip/_examples.tooltip.njk +48 -0
  172. package/src/templates/components/tree/_examples.tree.njk +150 -0
  173. package/src/templates/components/treegrid/_examples.treegrid.njk +30 -0
  174. package/src/templates/components/treegrid/_template.treegrid.njk +1 -1
  175. package/src/templates/pages/_page.head.njk +11 -3
  176. package/vite.config.js +215 -0
  177. package/attached_assets/Pasted--desy-html-starter-Node-Version-https-img-shields-io-ba_1765448923362.txt +0 -431
  178. /package/{public/images/general-lg.svg → branding/images/header-background-lg.svg} +0 -0
  179. /package/{public/images/general.svg → branding/images/header-background.svg} +0 -0
  180. /package/{public/images/logo-ue.svg → branding/logos/eu/logo-eu.svg} +0 -0
  181. /package/{public/images → branding/logos/eu}/logo-feader.svg +0 -0
  182. /package/{public/images → branding/logos/eu}/logo-feder.svg +0 -0
  183. /package/{public/images → branding/logos/eu}/logo-fse.svg +0 -0
  184. /package/{public/images → branding/logos/eu}/logo-plurifondo.svg +0 -0
@@ -82,6 +82,12 @@
82
82
  }
83
83
  }
84
84
  ]
85
+ },
86
+ "visualDescription": "Contenedor con borde gris claro de 1px y fondo blanco. Título \"por defecto\" en negro arriba, seguido de \"Selecciona organismo\" en negro tamaño mediano. Tres ítems con radio buttons circulares vacíos a la izquierda y labels \"Item 1\", \"Item 2\", \"Item 3\" en negro tamaño estándar.",
87
+ "_generated": {
88
+ "hash": "5c162bbd7341725bee348edad8c6a452",
89
+ "version": "15.0.3",
90
+ "timestamp": "2026-01-30T19:18:04.056Z"
85
91
  }
86
92
  },
87
93
  {
@@ -167,6 +173,12 @@
167
173
  }
168
174
  }
169
175
  ]
176
+ },
177
+ "visualDescription": "Contenedor con borde gris claro de 1px y fondo blanco. Título \"tipo checkbox\" en negro arriba, seguido de \"Selecciona organismo\" en negro tamaño mediano. Tres ítems con checkboxes cuadrados vacíos a la izquierda y labels \"Item 1\", \"Item 2\", \"Item 3\" en negro tamaño estándar.",
178
+ "_generated": {
179
+ "hash": "6ecc292f748ed9c29e5bfdc2f1500618",
180
+ "version": "15.0.3",
181
+ "timestamp": "2026-01-30T19:18:04.056Z"
170
182
  }
171
183
  },
172
184
  {
@@ -267,6 +279,12 @@
267
279
  }
268
280
  }
269
281
  ]
282
+ },
283
+ "visualDescription": "Contenedor con borde gris claro de 1px y fondo blanco. Título \"tree navigation\" en negro arriba. Tres ítems de texto \"Item 1\", \"Item 2\", \"Item 3\" en negro tamaño estándar, cada uno precedido por un símbolo \"+\" gris, alineados verticalmente con espaciado uniforme.",
284
+ "_generated": {
285
+ "hash": "7297e0068253aeb3f0abaa36a7daa9b3",
286
+ "version": "15.0.3",
287
+ "timestamp": "2026-01-30T19:18:04.056Z"
270
288
  }
271
289
  },
272
290
  {
@@ -374,6 +392,12 @@
374
392
  }
375
393
  }
376
394
  ]
395
+ },
396
+ "visualDescription": "Lista de tres enlaces apilados verticalmente sobre fondo beige claro con borde gris. El primer enlace \"Item 1\" tiene texto verde azulado con subrayado, el segundo \"Item 2 deshabilitado a sin href\" tiene texto negro sin decoración, y el tercer \"Item 3\" tiene texto verde azulado con subrayado. Los enlaces tienen viñetas de lista con signo más (+) en verde azulado.",
397
+ "_generated": {
398
+ "hash": "c4b53546743743c28a64d12a2a8bf1c5",
399
+ "version": "15.0.3",
400
+ "timestamp": "2026-01-30T19:18:14.078Z"
377
401
  }
378
402
  },
379
403
  {
@@ -490,6 +514,12 @@
490
514
  }
491
515
  }
492
516
  ]
517
+ },
518
+ "visualDescription": "Lista de tres enlaces apilados verticalmente sobre fondo blanco con borde gris fino. Cada enlace muestra texto verde azulado con subrayado (\"Item 1\", \"Item 2\", \"Item 3\"). Los enlaces están precedidos por viñetas de lista con signo más (+) en verde azulado. El espaciado entre elementos es uniforme y compacto.",
519
+ "_generated": {
520
+ "hash": "c3b877b0ad0206d7c6089adbe97847c7",
521
+ "version": "15.0.3",
522
+ "timestamp": "2026-01-30T19:18:14.078Z"
493
523
  }
494
524
  },
495
525
  {
@@ -591,6 +621,12 @@
591
621
  }
592
622
  }
593
623
  ]
624
+ },
625
+ "visualDescription": "Lista de tres elementos apilados verticalmente sobre fondo blanco con borde gris fino. Contiene texto negro sin subrayado para \"Item 1\", \"Item 2\", \"Item 3\". Los elementos están precedidos por viñetas de lista negras en forma de cuadrados pequeños. El espaciado vertical entre elementos es uniforme y compacto.",
626
+ "_generated": {
627
+ "hash": "cde2849267ff08af24d93d56a6fdbd1c",
628
+ "version": "15.0.3",
629
+ "timestamp": "2026-01-30T19:18:14.078Z"
594
630
  }
595
631
  },
596
632
  {
@@ -682,6 +718,12 @@
682
718
  }
683
719
  }
684
720
  ]
721
+ },
722
+ "visualDescription": "Caja con borde gris claro conteniendo un título en negrita negro, seguido de dos líneas de texto descriptivo en gris oscuro. La segunda línea de texto aparece en color rojo indicando error. Lista de tres radio buttons deshabilitados en gris claro con labels en negro.",
723
+ "_generated": {
724
+ "hash": "6dfb102037f9d1a331d9fb3304d8ea2b",
725
+ "version": "15.0.3",
726
+ "timestamp": "2026-01-30T19:18:27.107Z"
685
727
  }
686
728
  },
687
729
  {
@@ -771,6 +813,12 @@
771
813
  }
772
814
  }
773
815
  ]
816
+ },
817
+ "visualDescription": "Caja con borde gris claro conteniendo un título en negrita negro y texto descriptivo en gris oscuro debajo. Lista de tres radio buttons deshabilitados en gris claro con labels en gris atenuado, precedidos por iconos de expansión tipo plus en gris.",
818
+ "_generated": {
819
+ "hash": "540736e9eb0f7f21c24fc673286a0d25",
820
+ "version": "15.0.3",
821
+ "timestamp": "2026-01-30T19:18:27.107Z"
774
822
  }
775
823
  },
776
824
  {
@@ -859,6 +907,12 @@
859
907
  }
860
908
  }
861
909
  ]
910
+ },
911
+ "visualDescription": "Caja con borde gris claro conteniendo un título en negrita negro y texto descriptivo en gris oscuro. Lista de tres radio buttons blancos con labels en negro, el segundo radio button está seleccionado con relleno negro. Cada item precedido por iconos de expansión tipo plus en gris.",
912
+ "_generated": {
913
+ "hash": "4122490b8457124caebc9046913ce5e3",
914
+ "version": "15.0.3",
915
+ "timestamp": "2026-01-30T19:18:27.107Z"
862
916
  }
863
917
  },
864
918
  {
@@ -979,6 +1033,12 @@
979
1033
  }
980
1034
  }
981
1035
  ]
1036
+ },
1037
+ "visualDescription": "Fieldset con borde gris de 1px y fondo blanco. Encabezado en negrita negro seguido de tres radio buttons con labels en negro y subtexto gris claro debajo de cada label. Radio buttons alineados verticalmente con espaciado uniforme.",
1038
+ "_generated": {
1039
+ "hash": "5b0ebcdcc1358bc1c7b1b53bb00ab70a",
1040
+ "version": "15.0.3",
1041
+ "timestamp": "2026-01-30T19:18:34.949Z"
982
1042
  }
983
1043
  },
984
1044
  {
@@ -1065,6 +1125,12 @@
1065
1125
  }
1066
1126
  }
1067
1127
  ]
1128
+ },
1129
+ "visualDescription": "Fieldset con borde gris de 1px y fondo blanco. Encabezado en negrita negro posicionado sobre el borde superior izquierdo. Tres radio buttons con labels en negro, alineados verticalmente con espaciado uniforme.",
1130
+ "_generated": {
1131
+ "hash": "da61803c9a7603363d2f3fb4e696b265",
1132
+ "version": "15.0.3",
1133
+ "timestamp": "2026-01-30T19:18:34.949Z"
1068
1134
  }
1069
1135
  },
1070
1136
  {
@@ -1143,6 +1209,12 @@
1143
1209
  }
1144
1210
  }
1145
1211
  ]
1212
+ },
1213
+ "visualDescription": "Grupo de radio buttons sin borde contenedor ni fondo visible. Tres radio buttons con labels en negro, alineados verticalmente con espaciado uniforme. Estructura visual minimalista sin elementos decorativos.",
1214
+ "_generated": {
1215
+ "hash": "155ce1098a01153cd02af42796347700",
1216
+ "version": "15.0.3",
1217
+ "timestamp": "2026-01-30T19:18:34.949Z"
1146
1218
  }
1147
1219
  },
1148
1220
  {
@@ -1232,6 +1304,12 @@
1232
1304
  }
1233
1305
  }
1234
1306
  ]
1307
+ },
1308
+ "visualDescription": "Estructura jerárquica con radio buttons circulares de borde gris. \"Ítem 2\" expandido muestra tres subitems anidados con mayor indentación izquierda. Texto negro en fuente sans-serif, fondo blanco, líneas verticales grises conectan elementos padre-hijo.",
1309
+ "_generated": {
1310
+ "hash": "b3b0e161a4303da9217248c9463d91fe",
1311
+ "version": "15.0.3",
1312
+ "timestamp": "2026-01-30T19:18:44.721Z"
1235
1313
  }
1236
1314
  },
1237
1315
  {
@@ -1417,6 +1495,12 @@
1417
1495
  }
1418
1496
  }
1419
1497
  ]
1498
+ },
1499
+ "visualDescription": "Árbol de cuatro niveles de profundidad con radio buttons circulares sin relleno. \"Ítem 3\" expandido muestra cascada de subitems con indentación progresiva hacia la derecha. Texto negro regular, líneas verticales grises indican jerarquía, fondo blanco contenedor con borde gris sutil.",
1500
+ "_generated": {
1501
+ "hash": "81513665868d80ba3f52cc3323ef5fca",
1502
+ "version": "15.0.3",
1503
+ "timestamp": "2026-01-30T19:18:44.721Z"
1420
1504
  }
1421
1505
  },
1422
1506
  {
@@ -1513,6 +1597,12 @@
1513
1597
  }
1514
1598
  }
1515
1599
  ]
1600
+ },
1601
+ "visualDescription": "Lista con checkboxes cuadrados de borde gris oscuro. \"Subitem 2\" bajo \"Ítem 2\" muestra checkbox azul con marca de verificación blanca (estado seleccionado). Texto negro peso normal, indentación consistente, fondo blanco, borde gris claro en contenedor exterior.",
1602
+ "_generated": {
1603
+ "hash": "905e513cff93237c2cec54d04338439c",
1604
+ "version": "15.0.3",
1605
+ "timestamp": "2026-01-30T19:18:44.721Z"
1516
1606
  }
1517
1607
  },
1518
1608
  {
@@ -1603,6 +1693,12 @@
1603
1693
  }
1604
1694
  }
1605
1695
  ]
1696
+ },
1697
+ "visualDescription": "Campo de búsqueda con borde gris claro de 1px, fondo blanco, placeholder gris, e icono de lupa azul a la derecha. Debajo hay lista de tres ítems con bullets azules circulares, texto negro normal. Label superior en negro negrita, altura total aproximada 150px.",
1698
+ "_generated": {
1699
+ "hash": "0b1dab313dfae3c333e5442975345425",
1700
+ "version": "15.0.3",
1701
+ "timestamp": "2026-01-30T19:18:54.390Z"
1606
1702
  }
1607
1703
  },
1608
1704
  {
@@ -1697,6 +1793,12 @@
1697
1793
  }
1698
1794
  }
1699
1795
  ]
1796
+ },
1797
+ "visualDescription": "Campo de búsqueda con borde rojo de 2px, fondo blanco, placeholder gris, e icono de lupa azul a la derecha. Mensaje de error en rojo debajo del campo. Lista de tres ítems con radio buttons vacíos, texto negro normal. Label superior en negro negrita, altura total aproximada 180px.",
1798
+ "_generated": {
1799
+ "hash": "a6336fa5d901129dfc4aa7175bcb1fc4",
1800
+ "version": "15.0.3",
1801
+ "timestamp": "2026-01-30T19:18:54.390Z"
1700
1802
  }
1701
1803
  },
1702
1804
  {
@@ -1791,6 +1893,12 @@
1791
1893
  }
1792
1894
  }
1793
1895
  ]
1896
+ },
1897
+ "visualDescription": "Campo de búsqueda con borde gris claro de 1px, fondo blanco, placeholder gris, e icono de lupa azul a la derecha. Lista desplegable tipo árbol con dos niveles: ítems principales con símbolos menos expandibles, subítems indentados con radio buttons vacíos. Label superior en negro negrita, altura total aproximada 250px, área de contenido desplazable.",
1898
+ "_generated": {
1899
+ "hash": "8d7db5ec55d5b62a8c2518989b9e5cdc",
1900
+ "version": "15.0.3",
1901
+ "timestamp": "2026-01-30T19:18:54.390Z"
1794
1902
  }
1795
1903
  },
1796
1904
  {
@@ -1883,6 +1991,12 @@
1883
1991
  }
1884
1992
  }
1885
1993
  ]
1994
+ },
1995
+ "visualDescription": "Árbol de navegación con radio buttons circulares no seleccionados en color gris. Texto negro de peso normal para las opciones, organizadas jerárquicamente con indentación visual usando guiones. Fondo blanco con encabezado \"Selecciona organismo\" en negrita negro y subtexto gris claro.",
1996
+ "_generated": {
1997
+ "hash": "d158a1246655833894652039cdf800c9",
1998
+ "version": "15.0.3",
1999
+ "timestamp": "2026-01-30T19:19:03.582Z"
1886
2000
  }
1887
2001
  },
1888
2002
  {
@@ -1922,6 +2036,12 @@
1922
2036
  "value": "option-5"
1923
2037
  }
1924
2038
  ]
2039
+ },
2040
+ "visualDescription": "Lista vertical de radio buttons circulares no seleccionados en color gris con labels en texto negro de peso normal. Cinco opciones numeradas del 1 al 5 alineadas verticalmente sin indentación. Fondo blanco con encabezado \"Selecciona organismo\" en negrita negro y subtexto gris claro debajo.",
2041
+ "_generated": {
2042
+ "hash": "c867d88f60fe4a0056f1c0aa95de21c2",
2043
+ "version": "15.0.3",
2044
+ "timestamp": "2026-01-30T19:19:03.582Z"
1925
2045
  }
1926
2046
  },
1927
2047
  {
@@ -2007,6 +2127,12 @@
2007
2127
  }
2008
2128
  }
2009
2129
  ]
2130
+ },
2131
+ "visualDescription": "Estructura de lista con bullets cuadrados verdes en lugar de radio buttons circulares. Tres items con labels en texto negro de peso normal alineados verticalmente. Fondo blanco con encabezado \"Selecciona organismo\" en negrita negro sin subtexto adicional.",
2132
+ "_generated": {
2133
+ "hash": "2b3cce36de0a04cfc7e6867c5be15cce",
2134
+ "version": "15.0.3",
2135
+ "timestamp": "2026-01-30T19:19:03.582Z"
2010
2136
  }
2011
2137
  },
2012
2138
  {
@@ -2092,6 +2218,12 @@
2092
2218
  }
2093
2219
  }
2094
2220
  ]
2221
+ },
2222
+ "visualDescription": "Componente tree con borde gris claro que contiene un título en texto negro normal, seguido de un subtítulo \"Selecciona organismo\" en texto negro pequeño. Tres radio buttons dispuestos verticalmente con labels \"Item 1\", \"Item 2\", \"Item 3\" en texto negro regular, espaciados uniformemente sobre fondo blanco.",
2223
+ "_generated": {
2224
+ "hash": "bcc95540e4cd9af42563213f437b6ede",
2225
+ "version": "15.0.3",
2226
+ "timestamp": "2026-01-30T19:19:13.643Z"
2095
2227
  }
2096
2228
  },
2097
2229
  {
@@ -2177,6 +2309,12 @@
2177
2309
  }
2178
2310
  }
2179
2311
  ]
2312
+ },
2313
+ "visualDescription": "Componente tree con borde gris claro que contiene un título en texto negro normal, seguido de un subtítulo \"Selecciona organismo\" en texto negro pequeño. Tres radio buttons dispuestos verticalmente con labels \"Item 1\", \"Item 2\", \"Item 3\" en texto negro regular, donde el primer radio button aparece sin seleccionar y los otros dos muestran estados visuales distintos sobre fondo blanco.",
2314
+ "_generated": {
2315
+ "hash": "db976bcd40e7395d676551b39157a4c2",
2316
+ "version": "15.0.3",
2317
+ "timestamp": "2026-01-30T19:19:13.643Z"
2180
2318
  }
2181
2319
  },
2182
2320
  {
@@ -2363,6 +2501,12 @@
2363
2501
  }
2364
2502
  }
2365
2503
  ]
2504
+ },
2505
+ "visualDescription": "Componente tree con borde gris claro que contiene un título en texto negro normal, dos líneas de subtítulo donde la primera dice \"Selecciona organismo\" y la segunda \"Selecciona el organismo al que perteneces.\" en texto gris pequeño. Tres radio buttons dispuestos verticalmente con labels \"Item 1\", \"Item 2\", \"Item 3\" en texto negro regular sobre fondo blanco.",
2506
+ "_generated": {
2507
+ "hash": "6fa34bc9be272591d00f90a407267793",
2508
+ "version": "15.0.3",
2509
+ "timestamp": "2026-01-30T19:19:13.643Z"
2366
2510
  }
2367
2511
  },
2368
2512
  {
@@ -2517,6 +2661,12 @@
2517
2661
  }
2518
2662
  }
2519
2663
  ]
2664
+ },
2665
+ "visualDescription": "Fieldset con borde gris de 1px y fondo blanco. Encabezado en negrita negro \"lazy rendering\" en la parte superior izquierda. Sección interna contiene texto descriptivo negro \"Selecciona organismo\" seguido de tres checkboxes sin marcar con labels negros \"Ítem A\", \"Ítem B\" e \"Ítem C\", dispuestos verticalmente con espaciado uniforme entre ellos.",
2666
+ "_generated": {
2667
+ "hash": "f67f424bd40831d5b6a34b96f44c9cb8",
2668
+ "version": "15.0.3",
2669
+ "timestamp": "2026-01-30T19:19:20.662Z"
2520
2670
  }
2521
2671
  }
2522
2672
  ] %}
@@ -208,6 +208,12 @@
208
208
  "id": "treegrid",
209
209
  "aria-describedby": "treegrid-desc"
210
210
  }
211
+ },
212
+ "visualDescription": "Tabla jerárquica con encabezados \"Documento\", \"Importe\", \"Fecha\" y \"Acciones\" en texto negro sobre fondo blanco. Filas expandibles con iconos triangulares negros, montos numéricos alineados a la derecha, fechas formato DD/MM/YYYY, y enlaces azules \"Ver\" en la columna de acciones. Estructura de árbol con hasta 3 niveles de indentación visual, bordes grises claros separando filas, identificadores alfanuméricos en negro (A0001, A0001-1, etc.).",
213
+ "_generated": {
214
+ "hash": "6273ec85df85e1ec1954c0795ed5785c",
215
+ "version": "15.0.3",
216
+ "timestamp": "2026-01-30T19:19:31.950Z"
211
217
  }
212
218
  },
213
219
  {
@@ -434,6 +440,12 @@
434
440
  "id": "treegrid-B",
435
441
  "aria-describedby": "treegrid-B-desc"
436
442
  }
443
+ },
444
+ "visualDescription": "Tabla jerárquica con encabezados \"Documento\", \"Importe\", \"Fecha\" y \"Acciones\" en texto negro sobre fondo blanco. Filas expandibles con iconos triangulares negros, montos numéricos alineados a la derecha, fechas formato DD/MM/YYYY, y enlaces azules \"Ver\" en la columna de acciones. Fila inferior con fondo blanco mostrando texto \"SUMA\" en negro y valor total \"10.045€\", estructura de árbol con hasta 3 niveles de indentación, bordes grises claros entre filas.",
445
+ "_generated": {
446
+ "hash": "67e6c567aa13ab087495d82f1e8da668",
447
+ "version": "15.0.3",
448
+ "timestamp": "2026-01-30T19:19:31.950Z"
437
449
  }
438
450
  },
439
451
  {
@@ -644,6 +656,12 @@
644
656
  "id": "treegrid-B",
645
657
  "aria-describedby": "treegrid-B-desc"
646
658
  }
659
+ },
660
+ "visualDescription": "Tabla jerárquica con título \"Documentos contables\" en negro arriba, seguido de encabezados \"Importe\", \"Fecha\" y \"Acciones\" en texto negro sobre fondo blanco. Filas expandibles con iconos triangulares negros, montos numéricos alineados a la derecha, fechas formato DD/MM/YYYY, y enlaces azules \"Ver\" en la columna de acciones. Estructura de árbol con hasta 3 niveles de indentación visual, identificadores alfanuméricos C0001 en negro, bordes grises claros separando filas.",
661
+ "_generated": {
662
+ "hash": "248d9013d6a33db248d989d427812a72",
663
+ "version": "15.0.3",
664
+ "timestamp": "2026-01-30T19:19:31.950Z"
647
665
  }
648
666
  },
649
667
  {
@@ -855,6 +873,12 @@
855
873
  "id": "treegrid",
856
874
  "aria-describedby": "treegrid-desc"
857
875
  }
876
+ },
877
+ "visualDescription": "Tabla con estructura jerárquica expandible mediante triángulos negros a la izquierda de cada fila padre. Filas con identificadores de documento en texto negro con sangría progresiva (E0001, E0001-1, E0001-2-1), columnas de \"Importe\" en negro, \"Fecha\" en negro, y \"Acciones\" con enlaces \"Ver\" en azul. Fondo blanco con bordes grises horizontales separando filas, cabecera en texto negro sobre fondo gris claro.",
878
+ "_generated": {
879
+ "hash": "203c81ba698f852771ba8a0b66972335",
880
+ "version": "15.0.3",
881
+ "timestamp": "2026-01-30T19:19:43.393Z"
858
882
  }
859
883
  },
860
884
  {
@@ -1235,6 +1259,12 @@
1235
1259
  "id": "treegrid-9",
1236
1260
  "aria-describedby": "treegrid-9-desc"
1237
1261
  }
1262
+ },
1263
+ "visualDescription": "Tabla jerárquica con 15 niveles de anidación visible mediante sangría incremental de izquierda a derecha. Identificadores de documento (F0001, F0001-1, F0001-1-1, hasta F0001-1-1-1-1-1-1-1-1-1-1-1) en texto negro con triángulos de expansión, columnas de importes en negro con símbolo €, fechas en formato DD/MM/AAAA, y enlaces \"Ver\" en azul en columna de acciones. Fondo blanco con líneas divisorias grises horizontales entre filas, cabecera con texto negro sobre fondo gris claro.",
1264
+ "_generated": {
1265
+ "hash": "e7371d23c17bf64d2e669467492dfa52",
1266
+ "version": "15.0.3",
1267
+ "timestamp": "2026-01-30T19:19:43.393Z"
1238
1268
  }
1239
1269
  }
1240
1270
  ] %}
@@ -53,7 +53,7 @@
53
53
  {{- commonAttributes | safe -}}
54
54
  >
55
55
  {% if row.expanded is defined and loop.first %}
56
- <span class="c-treegrid__icon absolute text-primary-base transition-transform duration-200 ease-out cursor-pointer select-none after:content-[''] after:absolute after:-top-1 after:-left-2 after:p-4 focus:text-black" role="presentation">
56
+ <span class="c-treegrid__icon absolute text-primary-base transition-transform duration-200 ease-out cursor-pointer select-none after:content-[''] after:absolute after:-top-1 after:-left-2 after:p-4" role="presentation">
57
57
  <svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg">
58
58
  <rect width="24" height="24" fill="none"/>
59
59
  <path d="M15.0111 12.387C15.0621 12.3362 15.1025 12.2759 15.13 12.2094C15.1576 12.143 15.1718 12.0718 15.1718 11.9998C15.1718 11.9279 15.1576 11.8567 15.13 11.7903C15.1025 11.7238 15.0621 11.6635 15.0111 11.6127L11.1839 7.78547C11.1074 7.70887 11.0099 7.65669 10.9038 7.63554C10.7976 7.61439 10.6875 7.62522 10.5875 7.66666C10.4875 7.70811 10.4021 7.77829 10.342 7.86834C10.2819 7.95838 10.2499 8.06423 10.25 8.17248L10.25 15.8272C10.2498 15.9355 10.2818 16.0414 10.3419 16.1315C10.4019 16.2216 10.4874 16.2918 10.5874 16.3333C10.6874 16.3748 10.7975 16.3856 10.9037 16.3645C11.0099 16.3433 11.1074 16.2911 11.1839 16.2145L15.0111 12.387Z" fill="currentColor"/>
@@ -6,8 +6,16 @@
6
6
  <title>{{ title if title else "Project title" }}</title>
7
7
  <link rel="stylesheet" href="/src/css/styles.css">
8
8
  <link rel="icon" type="image/x-icon" href="https://aplicaciones.aragon.es/favicon.ico">
9
- <link rel="preconnect" href="https://fonts.googleapis.com">
10
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
- <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">
9
+ {% if branding and branding.typography and branding.typography.fontUrl %}
10
+ {% if 'fonts.googleapis.com' in branding.typography.fontUrl %}
11
+ <link rel="preconnect" href="https://fonts.googleapis.com">
12
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
13
+ {% endif %}
14
+ <link href="{{ branding.typography.fontUrl }}" rel="stylesheet">
15
+ {% elif not branding %}
16
+ <link rel="preconnect" href="https://fonts.googleapis.com">
17
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
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
+ {% endif %}
12
20
  </head>
13
21
  <!-- /page.head -->