desy-html 15.0.2 → 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 (185) 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 +14 -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 +10 -5
  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/MenuHorizontal.js +3 -1
  102. package/src/js/aria/notification.js +6 -6
  103. package/src/js/desy-html.js +5 -0
  104. package/src/templates/components/accordion/_examples.accordion.njk +84 -0
  105. package/src/templates/components/accordion-history/_examples.accordion-history.njk +90 -0
  106. package/src/templates/components/alert/_examples.alert.njk +12 -0
  107. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +90 -0
  108. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +1 -1
  109. package/src/templates/components/button/_examples.button.njk +216 -0
  110. package/src/templates/components/button-loader/_examples.button-loader.njk +204 -0
  111. package/src/templates/components/card/_examples.card.njk +78 -0
  112. package/src/templates/components/character-count/_examples.character-count.njk +60 -0
  113. package/src/templates/components/checkboxes/_examples.checkboxes.njk +120 -0
  114. package/src/templates/components/collapsible/_examples.collapsible.njk +30 -0
  115. package/src/templates/components/date-input/_examples.date-input.njk +78 -0
  116. package/src/templates/components/datepicker/_examples.datepicker.njk +84 -0
  117. package/src/templates/components/datepicker/_template.datepicker.njk +1 -1
  118. package/src/templates/components/description-list/_examples.description-list.njk +66 -0
  119. package/src/templates/components/details/_examples.details.njk +24 -0
  120. package/src/templates/components/dialog/_examples.dialog.njk +18 -0
  121. package/src/templates/components/dropdown/_examples.dropdown.njk +90 -0
  122. package/src/templates/components/error-message/_examples.error-message.njk +12 -0
  123. package/src/templates/components/error-summary/_examples.error-summary.njk +30 -0
  124. package/src/templates/components/fieldset/_examples.fieldset.njk +18 -0
  125. package/src/templates/components/file-upload/_examples.file-upload.njk +30 -0
  126. package/src/templates/components/footer/_examples.footer.njk +108 -0
  127. package/src/templates/components/footer/_styles.footer.css +20 -20
  128. package/src/templates/components/footer/_template.footer.njk +21 -6
  129. package/src/templates/components/footer/params.footer.yaml +4 -4
  130. package/src/templates/components/header/_examples.header.njk +85 -1
  131. package/src/templates/components/header/_template.header.njk +20 -4
  132. package/src/templates/components/header/params.header.yaml +2 -2
  133. package/src/templates/components/header-advanced/_examples.header-advanced.njk +84 -7
  134. package/src/templates/components/header-advanced/_template.header-advanced.njk +3 -1
  135. package/src/templates/components/header-mini/_examples.header-mini.njk +15 -3
  136. package/src/templates/components/header-mini/_template.header-mini.njk +14 -2
  137. package/src/templates/components/header-mini/params.header-mini.yaml +1 -1
  138. package/src/templates/components/hint/_examples.hint.njk +12 -0
  139. package/src/templates/components/input/_examples.input.njk +120 -0
  140. package/src/templates/components/input/_template.input.njk +1 -1
  141. package/src/templates/components/input-group/_examples.input-group.njk +54 -0
  142. package/src/templates/components/item/_examples.item.njk +96 -0
  143. package/src/templates/components/label/_examples.label.njk +24 -0
  144. package/src/templates/components/links-list/_examples.links-list.njk +114 -0
  145. package/src/templates/components/listbox/_examples.listbox.njk +140 -20
  146. package/src/templates/components/media-object/_examples.media-object.njk +30 -0
  147. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +84 -0
  148. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +102 -0
  149. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +96 -0
  150. package/src/templates/components/menubar/_examples.menubar.njk +66 -0
  151. package/src/templates/components/modal/_examples.modal.njk +78 -0
  152. package/src/templates/components/nav/_examples.nav.njk +66 -0
  153. package/src/templates/components/notification/_examples.notification.njk +78 -0
  154. package/src/templates/components/pagination/_examples.pagination.njk +42 -0
  155. package/src/templates/components/pill/_examples.pill.njk +78 -0
  156. package/src/templates/components/radios/_examples.radios.njk +96 -0
  157. package/src/templates/components/searchbar/_examples.searchbar.njk +48 -0
  158. package/src/templates/components/searchbar/_template.searchbar.njk +1 -1
  159. package/src/templates/components/select/_examples.select.njk +54 -0
  160. package/src/templates/components/select/_template.select.njk +1 -1
  161. package/src/templates/components/skip-link/_examples.skip-link.njk +12 -0
  162. package/src/templates/components/spinner/_examples.spinner.njk +49 -1
  163. package/src/templates/components/status/_examples.status.njk +31 -1
  164. package/src/templates/components/status-item/_examples.status-item.njk +73 -1
  165. package/src/templates/components/table/_examples.table.njk +37 -1
  166. package/src/templates/components/table-advanced/_examples.table-advanced.njk +54 -0
  167. package/src/templates/components/table-advanced/_styles.table-advanced.css +0 -2
  168. package/src/templates/components/tabs/_examples.tabs.njk +72 -0
  169. package/src/templates/components/textarea/_examples.textarea.njk +54 -0
  170. package/src/templates/components/textarea/_template.textarea.njk +1 -1
  171. package/src/templates/components/toggle/_examples.toggle.njk +60 -0
  172. package/src/templates/components/tooltip/_examples.tooltip.njk +48 -0
  173. package/src/templates/components/tree/_examples.tree.njk +150 -0
  174. package/src/templates/components/treegrid/_examples.treegrid.njk +30 -0
  175. package/src/templates/components/treegrid/_template.treegrid.njk +1 -1
  176. package/src/templates/pages/_page.head.njk +11 -3
  177. package/vite.config.js +215 -0
  178. package/attached_assets/Pasted--desy-html-starter-Node-Version-https-img-shields-io-ba_1765448923362.txt +0 -431
  179. /package/{public/images/general-lg.svg → branding/images/header-background-lg.svg} +0 -0
  180. /package/{public/images/general.svg → branding/images/header-background.svg} +0 -0
  181. /package/{public/images/logo-ue.svg → branding/logos/eu/logo-eu.svg} +0 -0
  182. /package/{public/images → branding/logos/eu}/logo-feader.svg +0 -0
  183. /package/{public/images → branding/logos/eu}/logo-feder.svg +0 -0
  184. /package/{public/images → branding/logos/eu}/logo-fse.svg +0 -0
  185. /package/{public/images → branding/logos/eu}/logo-plurifondo.svg +0 -0
@@ -150,6 +150,12 @@
150
150
  "href": "javascript:void(0)"
151
151
  }
152
152
  ]
153
+ },
154
+ "visualDescription": "Barra horizontal con fondo blanco que contiene cinco elementos interactivos alineados a la izquierda. Cuatro botones con texto azul oscuro(color #0969DA) y flechas desplegables, seguidos de un enlace de texto azul sin flecha. Bordes grises claros de 1px rodean cada botón, con espaciado uniforme entre elementos.",
155
+ "_generated": {
156
+ "hash": "daf08d1cbb1e9bfecd64b6da6a3b6720",
157
+ "version": "15.0.3",
158
+ "timestamp": "2026-01-30T19:08:17.874Z"
153
159
  }
154
160
  },
155
161
  {
@@ -304,6 +310,12 @@
304
310
  "href": "javascript:void(0)"
305
311
  }
306
312
  ]
313
+ },
314
+ "visualDescription": "Barra horizontal con fondo blanco que contiene cinco elementos interactivos alineados a la izquierda. Cuatro botones con texto azul oscuro(color #0969DA) y flechas desplegables, seguidos de un enlace de texto azul sin flecha. Bordes grises claros de 1px rodean cada botón, con espaciado uniforme entre elementos.",
315
+ "_generated": {
316
+ "hash": "bae9190780ad5e0dda53356adc5cced8",
317
+ "version": "15.0.3",
318
+ "timestamp": "2026-01-30T19:08:17.874Z"
307
319
  }
308
320
  },
309
321
  {
@@ -457,6 +469,12 @@
457
469
  "href": "javascript:void(0)"
458
470
  }
459
471
  ]
472
+ },
473
+ "visualDescription": "Barra horizontal con fondo blanco que contiene cinco elementos interactivos alineados a la izquierda. Cuatro botones con texto azul oscuro(color #0969DA) y flechas desplegables, seguidos de un enlace de texto azul sin flecha. Bordes grises claros de 1px rodean cada botón, con espaciado uniforme entre elementos.",
474
+ "_generated": {
475
+ "hash": "003b90b0c6bb483641e7260f61d26856",
476
+ "version": "15.0.3",
477
+ "timestamp": "2026-01-30T19:08:17.874Z"
460
478
  }
461
479
  },
462
480
  {
@@ -611,6 +629,12 @@
611
629
  "href": "javascript:void(0)"
612
630
  }
613
631
  ]
632
+ },
633
+ "visualDescription": "Menubar horizontal con cinco botones de tamaño pequeño alineados en fila. Los botones muestran texto azul oscuro con bordes azules de 1px y fondo blanco. Cuatro botones incluyen iconos de flecha hacia abajo indicando desplegables, el quinto botón carece de flecha.",
634
+ "_generated": {
635
+ "hash": "f44d7f0356658b1412b8f9de345f6ebe",
636
+ "version": "15.0.3",
637
+ "timestamp": "2026-01-30T19:08:26.277Z"
614
638
  }
615
639
  },
616
640
  {
@@ -765,6 +789,12 @@
765
789
  "href": "javascript:void(0)"
766
790
  }
767
791
  ]
792
+ },
793
+ "visualDescription": "Menubar horizontal con cinco botones de tamaño pequeño alineados en fila. Los botones presentan texto azul oscuro con bordes azules de 1px y fondo blanco. Cuatro botones contienen iconos de flecha hacia abajo para menús desplegables, el último botón no tiene flecha.",
794
+ "_generated": {
795
+ "hash": "d0d8be038c2859fe8a2449bbf4794b87",
796
+ "version": "15.0.3",
797
+ "timestamp": "2026-01-30T19:08:26.277Z"
768
798
  }
769
799
  },
770
800
  {
@@ -919,6 +949,12 @@
919
949
  "href": "javascript:void(0)"
920
950
  }
921
951
  ]
952
+ },
953
+ "visualDescription": "Menubar horizontal con cinco botones de tamaño mediano espaciados uniformemente. Los botones muestran texto azul oscuro con bordes azules de 1px y fondo blanco. Cuatro botones incluyen iconos de flecha hacia abajo indicando funcionalidad de menú desplegable, el botón final carece de icono.",
954
+ "_generated": {
955
+ "hash": "c143f35ab8c4bc76933779b8e2d3c277",
956
+ "version": "15.0.3",
957
+ "timestamp": "2026-01-30T19:08:26.277Z"
922
958
  }
923
959
  },
924
960
  {
@@ -1073,6 +1109,12 @@
1073
1109
  "href": "javascript:void(0)"
1074
1110
  }
1075
1111
  ]
1112
+ },
1113
+ "visualDescription": "Barra de navegación horizontal con fondo blanco y borde gris claro. Contiene cinco botones dropdown con texto azul y flechas descendentes, alineados de izquierda a derecha con espaciado uniforme. Los botones tienen apariencia de enlaces con texto de tamaño pequeño.",
1114
+ "_generated": {
1115
+ "hash": "3edb0a8bd4d23f89f54e8b5e1d32da38",
1116
+ "version": "15.0.3",
1117
+ "timestamp": "2026-01-30T19:08:34.675Z"
1076
1118
  }
1077
1119
  },
1078
1120
  {
@@ -1227,6 +1269,12 @@
1227
1269
  "href": "javascript:void(0)"
1228
1270
  }
1229
1271
  ]
1272
+ },
1273
+ "visualDescription": "Barra de navegación horizontal sin fondo visible ni bordes. Contiene cinco botones dropdown con texto negro y flechas descendentes, alineados horizontalmente con espaciado regular. Los elementos mantienen formato de texto plano sin estilos de botón visibles.",
1274
+ "_generated": {
1275
+ "hash": "0ea3f0bf8c440388950a9599d140d442",
1276
+ "version": "15.0.3",
1277
+ "timestamp": "2026-01-30T19:08:34.675Z"
1230
1278
  }
1231
1279
  },
1232
1280
  {
@@ -1382,6 +1430,12 @@
1382
1430
  }
1383
1431
  ],
1384
1432
  "classes": "bg-neutral-lighter"
1433
+ },
1434
+ "visualDescription": "Barra de navegación horizontal con fondo blanco y borde inferior gris. Contiene cinco botones dropdown con texto negro en negrita y flechas descendentes, distribuidos horizontalmente con espaciado equilibrado. Los botones presentan formato de encabezado con tipografía de peso medio.",
1435
+ "_generated": {
1436
+ "hash": "80cbb1e3f38434ec968378c30c868b07",
1437
+ "version": "15.0.3",
1438
+ "timestamp": "2026-01-30T19:08:34.675Z"
1385
1439
  }
1386
1440
  },
1387
1441
  {
@@ -1617,6 +1671,12 @@
1617
1671
  }
1618
1672
  ],
1619
1673
  "classes": "c-menubar--last-right"
1674
+ },
1675
+ "visualDescription": "Barra de filtros con fondo blanco y borde gris claro de 1px. Contiene tres botones con texto azul oscuro(\"Estadios y trámites\", \"Tipologías\", \"Eliminar filtros\") alineados a la izquierda, y un dropdown con texto negro (\"Orden: Actividad reciente\") alineado a la derecha. Los botones tienen bordes azules y fondo blanco.",
1676
+ "_generated": {
1677
+ "hash": "71019a86d88c0fa7e0e97c738caf435e",
1678
+ "version": "15.0.3",
1679
+ "timestamp": "2026-01-30T19:08:44.899Z"
1620
1680
  }
1621
1681
  },
1622
1682
  {
@@ -1772,6 +1832,12 @@
1772
1832
  "href": "javascript:void(0)"
1773
1833
  }
1774
1834
  ]
1835
+ },
1836
+ "visualDescription": "Sección con fondo blanco y borde gris claro de 1px. Incluye un título negro pequeño \"con label\", seguido de texto gris \"Esto es un label\". Debajo hay una fila de cinco botones: cuatro dropdowns con texto negro sobre fondo blanco y bordes azules (\"Menuitem\", \"MenuItemcheckbox\", \"MenuItemradio\", \"Items mixtos\"), y un enlace azul sin borde (\"Menuitem solo\").",
1837
+ "_generated": {
1838
+ "hash": "b661f2b0cafa7e4adcd4607eda959333",
1839
+ "version": "15.0.3",
1840
+ "timestamp": "2026-01-30T19:08:44.899Z"
1775
1841
  }
1776
1842
  }
1777
1843
  ] %}
@@ -17,6 +17,12 @@
17
17
  }
18
18
  ],
19
19
  "isDismissible": true
20
+ },
21
+ "visualDescription": "Modal centrado con fondo blanco, bordes redondeados sutiles y sombra perimetral gris. Encabezado \"Aviso\" en texto negro negrita, seguido de tres líneas de texto gris oscuro en peso normal. Botón rectangular en la parte inferior con fondo azul petróleo y texto blanco \"De acuerdo, continuar\". Ícono de cierre (X) negro en la esquina superior derecha del modal.",
22
+ "_generated": {
23
+ "hash": "018d5f87e3b6dde9451cef768fb840e0",
24
+ "version": "15.0.3",
25
+ "timestamp": "2026-01-30T19:08:53.106Z"
20
26
  }
21
27
  },
22
28
  {
@@ -39,6 +45,12 @@
39
45
  }
40
46
  ],
41
47
  "isDismissible": true
48
+ },
49
+ "visualDescription": "Modal centrado con fondo blanco, bordes redondeados sutiles y sombra perimetral gris. Encabezado \"Aviso\" en texto negro negrita, seguido de tres líneas de texto gris oscuro en peso normal. Botón rectangular en la parte inferior con fondo azul petróleo mostrando indicador de carga (letra \"C\" blanca). Ícono de cierre (X) negro en la esquina superior derecha del modal.",
50
+ "_generated": {
51
+ "hash": "3dfe5525bf5786fdd38c9199b780747f",
52
+ "version": "15.0.3",
53
+ "timestamp": "2026-01-30T19:08:53.106Z"
42
54
  }
43
55
  },
44
56
  {
@@ -60,6 +72,12 @@
60
72
  }
61
73
  ],
62
74
  "isDismissible": true
75
+ },
76
+ "visualDescription": "Modal centrado con fondo blanco, bordes redondeados sutiles y sombra perimetral gris. Encabezado \"Esto es un h3\" en texto negro negrita, seguido de tres líneas de texto gris oscuro en peso normal. Botón rectangular en la parte inferior con fondo azul petróleo y texto blanco \"De acuerdo, continuar\". Ícono de cierre (X) negro en la esquina superior derecha del modal.",
77
+ "_generated": {
78
+ "hash": "da4cd8a099d05fa9c5d196c38d601566",
79
+ "version": "15.0.3",
80
+ "timestamp": "2026-01-30T19:08:53.106Z"
63
81
  }
64
82
  },
65
83
  {
@@ -85,6 +103,12 @@
85
103
  }
86
104
  ],
87
105
  "isDismissible": true
106
+ },
107
+ "visualDescription": "Modal con fondo blanco, esquinas redondeadas y sombra sutil. Encabezado con título en negrita negro y botón X para cerrar en esquina superior derecha. Cuerpo con dos líneas de texto gris oscuro centrado. Pie con dos botones: botón primario \"Editar servicio\" en azul petróleo con texto blanco, y botón secundario \"Cancelar\" con borde azul petróleo y texto azul petróleo sobre fondo blanco.",
108
+ "_generated": {
109
+ "hash": "ff469a301be2910f389039a597baa1c4",
110
+ "version": "15.0.3",
111
+ "timestamp": "2026-01-30T19:09:04.315Z"
88
112
  }
89
113
  },
90
114
  {
@@ -111,6 +135,12 @@
111
135
  ],
112
136
  "isDismissible": true,
113
137
  "caller": "<div class='prose max-w-auto mx-auto'><p class='text-center text-sm'>Para más información, ir a la <a href='#'>Página de ayuda</a></p></div>"
138
+ },
139
+ "visualDescription": "Modal con fondo blanco, esquinas redondeadas y sombra sutil. Encabezado con título en negrita negro y botón X para cerrar en esquina superior derecha. Cuerpo con tres líneas de texto gris oscuro centrado, seguido de una línea adicional con enlace azul subrayado. Pie con dos botones: botón primario \"Editar servicio\" en azul petróleo con texto blanco, y botón secundario \"Cancelar\" con borde azul petróleo y texto azul petróleo sobre fondo blanco.",
140
+ "_generated": {
141
+ "hash": "9bb080cae298c74d7481e34469eefc2d",
142
+ "version": "15.0.3",
143
+ "timestamp": "2026-01-30T19:09:04.315Z"
114
144
  }
115
145
  },
116
146
  {
@@ -144,6 +174,12 @@
144
174
  ],
145
175
  "isDismissible": true,
146
176
  "classes": "max-w-4xl"
177
+ },
178
+ "visualDescription": "Modal con fondo blanco, esquinas redondeadas y sombra sutil. Encabezado con título \"Aviso\" en negrita negro y botón X para cerrar en esquina superior derecha. Cuerpo con tres líneas de texto gris oscuro centrado. Pie con cuatro elementos: dos botones primarios (\"Guardar cambios y publicar\" y \"Guardar cambios\") en azul petróleo con texto blanco, enlace \"Más información\" en azul subrayado, y botón \"Cancelar\" con borde gris y texto gris sobre fondo blanco.",
179
+ "_generated": {
180
+ "hash": "2160a78a91aea81f363bbd6806728a04",
181
+ "version": "15.0.3",
182
+ "timestamp": "2026-01-30T19:09:04.315Z"
147
183
  }
148
184
  },
149
185
  {
@@ -184,6 +220,12 @@
184
220
  ],
185
221
  "isDismissible": true,
186
222
  "classes": "max-w-4xl"
223
+ },
224
+ "visualDescription": "Modal centrado con fondo blanco, título negro en negrita, texto descriptivo gris oscuro en tres líneas, y botón de cierre X negro en esquina superior derecha. Incluye botón primario verde azulado con checkmark blanco, botón secundario blanco con borde azul y texto azul, y spinner de carga circular azul oscuro. Bordes redondeados con sombra sutil de elevación.",
225
+ "_generated": {
226
+ "hash": "7773b438c50d559ceb9e86f70b93c987",
227
+ "version": "15.0.3",
228
+ "timestamp": "2026-01-30T19:09:15.406Z"
187
229
  }
188
230
  },
189
231
  {
@@ -212,6 +254,12 @@
212
254
  "icon": {
213
255
  "type": "delete"
214
256
  }
257
+ },
258
+ "visualDescription": "Modal centrado con fondo blanco, icono de bote de basura rosa pálido en la parte superior, título negro en negrita, y pregunta de confirmación en gris oscuro. Contiene dos botones alineados horizontalmente: botón izquierdo blanco con borde azul y texto azul, botón derecho rojo sólido con texto blanco. Bordes redondeados con sombra de elevación, X negra para cerrar en esquina superior derecha.",
259
+ "_generated": {
260
+ "hash": "a8d8918d3f30b54cefe77da62844dbae",
261
+ "version": "15.0.3",
262
+ "timestamp": "2026-01-30T19:09:15.406Z"
215
263
  }
216
264
  },
217
265
  {
@@ -239,6 +287,12 @@
239
287
  "icon": {
240
288
  "type": "discard"
241
289
  }
290
+ },
291
+ "visualDescription": "Modal centrado con fondo blanco, icono circular con diagonal tachada en rosa pálido, título negro en negrita, y mensaje de advertencia en gris oscuro ocupando dos líneas. Presenta dos botones horizontales: izquierdo blanco con borde azul y texto azul, derecho rojo sólido con texto blanco. Bordes redondeados con sombra de elevación, botón X negro en esquina superior derecha.",
292
+ "_generated": {
293
+ "hash": "fffcce522fc671bd89cc7b9ced1dae34",
294
+ "version": "15.0.3",
295
+ "timestamp": "2026-01-30T19:09:15.406Z"
242
296
  }
243
297
  },
244
298
  {
@@ -266,6 +320,12 @@
266
320
  "icon": {
267
321
  "type": "changes"
268
322
  }
323
+ },
324
+ "visualDescription": "Modal centrado con fondo blanco, título negro en negrita, icono circular gris claro arriba del título. Texto descriptivo gris debajo del título en tamaño mediano. Dos botones en la parte inferior: izquierdo con fondo azul petróleo y texto blanco, derecho con fondo blanco, borde gris y texto negro.",
325
+ "_generated": {
326
+ "hash": "f4f08fe45441efb4aeeb83c6658548ea",
327
+ "version": "15.0.3",
328
+ "timestamp": "2026-01-30T19:09:24.339Z"
269
329
  }
270
330
  },
271
331
  {
@@ -293,6 +353,12 @@
293
353
  "icon": {
294
354
  "type": "edit"
295
355
  }
356
+ },
357
+ "visualDescription": "Modal centrado con fondo blanco, título negro en negrita, icono cuadrado azul claro arriba del título. Bloque de texto descriptivo gris en tamaño pequeño debajo del título, centrado. Dos botones en la parte inferior: izquierdo con fondo azul petróleo y texto blanco, derecho con fondo blanco, borde gris y texto negro.",
358
+ "_generated": {
359
+ "hash": "497cffddb33ae14133917f6d17ca6f87",
360
+ "version": "15.0.3",
361
+ "timestamp": "2026-01-30T19:09:24.339Z"
296
362
  }
297
363
  },
298
364
  {
@@ -320,6 +386,12 @@
320
386
  "icon": {
321
387
  "type": "publish"
322
388
  }
389
+ },
390
+ "visualDescription": "Modal centrado con fondo blanco, título negro en negrita, icono triangular azul claro arriba del título. Texto descriptivo gris centrado debajo del título en tamaño mediano. Dos botones en la parte inferior: izquierdo con fondo azul petróleo y texto blanco, derecho con fondo blanco, borde gris y texto negro.",
391
+ "_generated": {
392
+ "hash": "7d62ad79715e62cf72693bcffcfb317a",
393
+ "version": "15.0.3",
394
+ "timestamp": "2026-01-30T19:09:24.339Z"
323
395
  }
324
396
  },
325
397
  {
@@ -350,6 +422,12 @@
350
422
  "icon": {
351
423
  "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='1em' height='1em' class='block w-16 h-16 text-primary-light' aria-label='Pregunta' focusable='false'><path d='M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.92,1,1,0,0,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.25a1,1,0,0,1-2,0,4,4,0,1,1,5.6,3.67Z' fill='currentColor'></path></svg>"
352
424
  }
425
+ },
426
+ "visualDescription": "Diálogo modal centrado con fondo blanco, bordes redondeados y sombra suave. Icono circular azul claro con símbolo de interrogación en la parte superior, título en negrita negro, tres párrafos de texto gris oscuro con diferentes niveles de información, pregunta final en cursiva gris oscuro, botón primario teal con texto blanco \"Sí, comenzar proceso\" y botón secundario con borde teal y texto teal \"Cancelar\" alineados horizontalmente en la parte inferior. Botón de cierre (×) en la esquina superior derecha del modal.",
427
+ "_generated": {
428
+ "hash": "89dd951667eb8e973544b1c234051cd5",
429
+ "version": "15.0.3",
430
+ "timestamp": "2026-01-30T19:09:32.548Z"
353
431
  }
354
432
  }
355
433
  ] %}
@@ -29,6 +29,12 @@
29
29
  "attributes": {
30
30
  "aria-label": "Navegación local"
31
31
  }
32
+ },
33
+ "visualDescription": "Lista de navegación con cinco ítems de texto en color negro, tamaño mediano, peso normal. Fondo blanco con borde gris claro de 1px redondeado. Espaciado vertical uniforme entre ítems, padding interno generoso.",
34
+ "_generated": {
35
+ "hash": "9c8ba176bf672a0ccb4d2d2f30a558e2",
36
+ "version": "15.0.3",
37
+ "timestamp": "2026-01-30T19:09:40.510Z"
32
38
  }
33
39
  },
34
40
  {
@@ -61,6 +67,12 @@
61
67
  "attributes": {
62
68
  "aria-label": "Navegación local"
63
69
  }
70
+ },
71
+ "visualDescription": "Lista de navegación con cinco ítems verticales dentro de contenedor con borde gris claro de 1px redondeado, fondo blanco. Tercer ítem muestra texto gris claro acompañado de ícono circular informativo a la derecha. Resto de ítems en texto negro de tamaño mediano con espaciado vertical uniforme.",
72
+ "_generated": {
73
+ "hash": "a9c9d4785243ebb8cc6d5757b708b358",
74
+ "version": "15.0.3",
75
+ "timestamp": "2026-01-30T19:09:40.510Z"
64
76
  }
65
77
  },
66
78
  {
@@ -95,6 +107,12 @@
95
107
  "id": "mi-menu",
96
108
  "aria-label": "Navegación local"
97
109
  }
110
+ },
111
+ "visualDescription": "Lista de navegación vertical con cinco ítems en contenedor bordeado gris claro de 1px, fondo blanco. Cuarto ítem presenta texto negro en negrita indicando estado activo. Ítems restantes muestran texto negro peso normal, tamaño mediano, con espaciado vertical consistente.",
112
+ "_generated": {
113
+ "hash": "6187d8c94c6a5c202cbfcd2062d88e1a",
114
+ "version": "15.0.3",
115
+ "timestamp": "2026-01-30T19:09:40.510Z"
98
116
  }
99
117
  },{
100
118
  "name": "con target en enlaces",
@@ -145,6 +163,12 @@
145
163
  "attributes": {
146
164
  "aria-label": "Navegación local"
147
165
  }
166
+ },
167
+ "visualDescription": "Lista vertical de cinco elementos de navegación con texto negro sobre fondo blanco. Cada elemento presenta texto alineado a la izquierda con espaciado vertical uniforme entre ítems. Borde gris claro de 1px rodea el contenedor completo.",
168
+ "_generated": {
169
+ "hash": "4d25739e2209b00ddc182d04038cc2a8",
170
+ "version": "15.0.3",
171
+ "timestamp": "2026-01-30T19:09:48.510Z"
148
172
  }
149
173
  },
150
174
  {
@@ -177,6 +201,12 @@
177
201
  "attributes": {
178
202
  "aria-label": "Navegación local"
179
203
  }
204
+ },
205
+ "visualDescription": "Lista vertical de cinco elementos de navegación con texto negro sobre fondo blanco. Línea divisoria gris clara horizontal separa el tercer elemento de los elementos cuarto y quinto. Borde gris claro de 1px rodea el contenedor completo.",
206
+ "_generated": {
207
+ "hash": "8c693aa241211a0402dcfbbffdd63909",
208
+ "version": "15.0.3",
209
+ "timestamp": "2026-01-30T19:09:48.510Z"
180
210
  }
181
211
  },
182
212
  {
@@ -210,6 +240,12 @@
210
240
  "attributes": {
211
241
  "aria-label": "Navegación local"
212
242
  }
243
+ },
244
+ "visualDescription": "Lista vertical de cinco elementos de navegación con texto negro sobre fondo celeste claro. Cada elemento presenta texto alineado a la izquierda con espaciado vertical uniforme entre ítems. Borde gris claro de 1px rodea el contenedor completo.",
245
+ "_generated": {
246
+ "hash": "e65f346526fcb4232819fba29ea4d9ba",
247
+ "version": "15.0.3",
248
+ "timestamp": "2026-01-30T19:09:48.510Z"
213
249
  }
214
250
  },
215
251
  {
@@ -234,6 +270,12 @@
234
270
  "id": "mi-menu-icons",
235
271
  "aria-label": "Navegación local"
236
272
  }
273
+ },
274
+ "visualDescription": "Lista vertical con tres elementos de navegación, cada uno con un icono negro a la izquierda(círculo, llave, cuadrado) seguido de texto negro. Fondo blanco, sin bordes visibles entre elementos. Espaciado uniforme vertical entre los tres ítems.",
275
+ "_generated": {
276
+ "hash": "0b07a28108d22e46ca3b639913c465a0",
277
+ "version": "15.0.3",
278
+ "timestamp": "2026-01-30T19:09:57.139Z"
237
279
  }
238
280
  },
239
281
  {
@@ -266,6 +308,12 @@
266
308
  "attributes": {
267
309
  "aria-label": "Navegación local"
268
310
  }
311
+ },
312
+ "visualDescription": "Lista vertical con cinco opciones de texto negro sobre fondo blanco. Sin iconos ni elementos decorativos. Espaciado vertical consistente entre elementos. Texto alineado a la izquierda, sin marcadores ni bordes visibles.",
313
+ "_generated": {
314
+ "hash": "cf352e0078848bddacd8ede5bb77d556",
315
+ "version": "15.0.3",
316
+ "timestamp": "2026-01-30T19:09:57.139Z"
269
317
  }
270
318
  },
271
319
  {
@@ -303,6 +351,12 @@
303
351
  "attributes": {
304
352
  "aria-label": "Navegación local"
305
353
  }
354
+ },
355
+ "visualDescription": "Lista vertical con cinco opciones de texto negro sobre fondo blanco. Sin iconos, marcadores ni bordes entre elementos. Espaciado vertical uniforme. Texto alineado a la izquierda con apariencia de navegación simple.",
356
+ "_generated": {
357
+ "hash": "38b58ce7befa2cdf66aacfa6a70e5229",
358
+ "version": "15.0.3",
359
+ "timestamp": "2026-01-30T19:09:57.139Z"
306
360
  }
307
361
  },
308
362
  {
@@ -363,6 +417,12 @@
363
417
  "attributes": {
364
418
  "aria-label": "Navegación local"
365
419
  }
420
+ },
421
+ "visualDescription": "Lista de navegación con borde gris claro de 1px y fondo blanco. Contiene título \"con atributos\" en texto negro pequeño seguido de 5 opciones de navegación (Opción 1 a Opción 5) en texto negro regular, cada una en línea separada con espaciado vertical uniforme.",
422
+ "_generated": {
423
+ "hash": "99cd1885d81538cca9ea6129d72e39e4",
424
+ "version": "15.0.3",
425
+ "timestamp": "2026-01-30T19:10:05.539Z"
366
426
  }
367
427
  },
368
428
  {
@@ -398,6 +458,12 @@
398
458
  "attributes": {
399
459
  "aria-label": "Navegación local"
400
460
  }
461
+ },
462
+ "visualDescription": "Lista de navegación con borde gris claro de 1px y fondo blanco. Incluye título \"Sin nav\" en texto negro pequeño, seguido de 4 opciones numeradas (Opción 1 a Opción 4) en texto negro, donde \"Opción 3\" aparece en negrita. Debajo presenta texto adicional en color gris oscuro con descripción extendida sobre clases aplicadas para animación de menús.",
463
+ "_generated": {
464
+ "hash": "77efdb3ad6b59734bc77bee74c1b5aea",
465
+ "version": "15.0.3",
466
+ "timestamp": "2026-01-30T19:10:05.540Z"
401
467
  }
402
468
  }
403
469
  ] %}
@@ -8,6 +8,12 @@
8
8
  "text": "El documento se ha cargado correctamente"
9
9
  },
10
10
  "id": "default"
11
+ },
12
+ "visualDescription": "Caja rectangular con fondo blanco y borde azul oscuro de 2-3px. Contiene texto negro en peso normal alineado a la izquierda. Encabezado gris oscuro \"por defecto\" aparece fuera de la caja arriba.",
13
+ "_generated": {
14
+ "hash": "56459c692f38c17e9f3badb8070940c2",
15
+ "version": "15.0.3",
16
+ "timestamp": "2026-01-30T19:10:13.086Z"
11
17
  }
12
18
  },
13
19
  {
@@ -17,6 +23,12 @@
17
23
  "html": "Las <a href=' # ' class=' c-link '>entidades beneficiarias</a> deberán tener su sede y actividad principal en Aragón."
18
24
  },
19
25
  "id": "default-with-html"
26
+ },
27
+ "visualDescription": "Caja rectangular con fondo blanco y borde azul oscuro de 2-3px. Contiene texto negro donde una porción específica aparece en color azul oscuro y peso negrita. Encabezado gris oscuro \"por defecto con html\" aparece fuera de la caja arriba.",
28
+ "_generated": {
29
+ "hash": "f2f592b1cef562cb8447971b4f939c80",
30
+ "version": "15.0.3",
31
+ "timestamp": "2026-01-30T19:10:13.086Z"
20
32
  }
21
33
  },
22
34
  {
@@ -29,6 +41,12 @@
29
41
  "html": "<p>Documento acreditativo de <em class=\" italic \">registro de alta de la asociación</em> puede verse publicado ya.</p>"
30
42
  },
31
43
  "id": "with-description"
44
+ },
45
+ "visualDescription": "Caja rectangular con fondo blanco y borde azul oscuro de 2-3px. Contiene dos líneas de texto negro en peso normal alineado a la izquierda, donde la primera línea es ligeramente prominente y la segunda línea es texto secundario de menor tamaño. Encabezado gris oscuro \"con description\" aparece fuera de la caja arriba.",
46
+ "_generated": {
47
+ "hash": "d5cfa68df45bfa03baa8e7d495139851",
48
+ "version": "15.0.3",
49
+ "timestamp": "2026-01-30T19:10:13.086Z"
32
50
  }
33
51
  },
34
52
  {
@@ -41,6 +59,12 @@
41
59
  "html": "<p>Documento acreditativo de <em class=\" italic \">registro de alta de la asociación</em> puede verse publicado ya.</p>"
42
60
  },
43
61
  "id": "with-content"
62
+ },
63
+ "visualDescription": "Notificación con fondo azul claro, borde azul oscuro de 2px, y padding generoso. Contiene un título en texto negro negrita y un párrafo descriptivo en texto gris oscuro de tamaño regular. El componente ocupa todo el ancho disponible con bordes redondeados sutiles.",
64
+ "_generated": {
65
+ "hash": "bcc753a0638cc54e006821fe26a23ab0",
66
+ "version": "15.0.3",
67
+ "timestamp": "2026-01-30T19:10:22.955Z"
44
68
  }
45
69
  },
46
70
  {
@@ -64,6 +88,12 @@
64
88
  }
65
89
  ],
66
90
  "id": "with-items"
91
+ },
92
+ "visualDescription": "Notificación con fondo blanco, borde azul oscuro de 2px en la sección interior, y título \"Problemas encontrados\" en texto negro negrita. Lista de tres enlaces en texto azul subrayado apilados verticalmente. El componente tiene padding amplio y bordes redondeados.",
93
+ "_generated": {
94
+ "hash": "8d81909e750602049055f7be9011246b",
95
+ "version": "15.0.3",
96
+ "timestamp": "2026-01-30T19:10:22.956Z"
67
97
  }
68
98
  },
69
99
  {
@@ -74,6 +104,12 @@
74
104
  },
75
105
  "type": "success",
76
106
  "id": "type-success"
107
+ },
108
+ "visualDescription": "Notificación rectangular con fondo verde muy claro, borde verde oscuro de 2px, e ícono de checkmark verde a la izquierda. Texto en negro de peso regular alineado horizontalmente con el ícono. El componente ocupa todo el ancho con padding uniforme y bordes redondeados sutiles.",
109
+ "_generated": {
110
+ "hash": "d8de791e99422f5559cde06202bf2cb3",
111
+ "version": "15.0.3",
112
+ "timestamp": "2026-01-30T19:10:22.956Z"
77
113
  }
78
114
  },
79
115
  {
@@ -98,6 +134,12 @@
98
134
  ],
99
135
  "type": "alert",
100
136
  "id": "type-alert"
137
+ },
138
+ "visualDescription": "Notificación con fondo rosa claro, borde rojo de 2px, e icono de alerta rojo a la izquierda. Contiene título en negrita negro y tres enlaces en rojo subrayado apilados verticalmente. Formato rectangular de ancho completo con padding generoso.",
139
+ "_generated": {
140
+ "hash": "b9767d7e618df5e8976860a3c94a58aa",
141
+ "version": "15.0.3",
142
+ "timestamp": "2026-01-30T19:10:32.127Z"
101
143
  }
102
144
  },
103
145
  {
@@ -111,6 +153,12 @@
111
153
  },
112
154
  "type": "info",
113
155
  "id": "type-info"
156
+ },
157
+ "visualDescription": "Notificación con fondo azul celeste claro, borde azul oscuro de 2px, e icono de información azul a la izquierda. Incluye texto en negrita negro y enlace azul subrayado en línea siguiente. Formato rectangular de ancho completo con padding interno.",
158
+ "_generated": {
159
+ "hash": "0e39cefd5378e1d00b403c66180d416f",
160
+ "version": "15.0.3",
161
+ "timestamp": "2026-01-30T19:10:32.127Z"
114
162
  }
115
163
  },
116
164
  {
@@ -122,6 +170,12 @@
122
170
  },
123
171
  "isDismissible": true,
124
172
  "id": "with-close-button"
173
+ },
174
+ "visualDescription": "Notificación con fondo blanco, borde azul oscuro de 2px, sin icono lateral. Presenta bloque de texto negro alineado a la izquierda y botón X gris en esquina superior derecha para cerrar. Formato rectangular de ancho completo con padding interno uniforme.",
175
+ "_generated": {
176
+ "hash": "1ec81208e1edd0f4b62671d18635c581",
177
+ "version": "15.0.3",
178
+ "timestamp": "2026-01-30T19:10:32.127Z"
125
179
  }
126
180
  },
127
181
  {
@@ -133,6 +187,12 @@
133
187
  },
134
188
  "isDismissible": true,
135
189
  "id": "with-close-button-js"
190
+ },
191
+ "visualDescription": "Notificación con fondo azul celeste claro, borde azul oscuro de 2-3px, conteniendo texto negro en párrafo. Incluye botón de cierre \"×\" en la esquina superior derecha de color gris oscuro.",
192
+ "_generated": {
193
+ "hash": "ade10884f457090850d0803e779db4e8",
194
+ "version": "15.0.3",
195
+ "timestamp": "2026-01-30T19:10:40.934Z"
136
196
  }
137
197
  },
138
198
  {
@@ -149,6 +209,12 @@
149
209
  },
150
210
  "id": "with-custom-icon",
151
211
  "classes": "border-neutral-dark bg-neutral-lighter"
212
+ },
213
+ "visualDescription": "Notificación con fondo blanco, borde azul oscuro de 2-3px a la izquierda, conteniendo icono de alerta triangular negro. Texto principal en negro con enlace azul subrayado, ambos alineados horizontalmente junto al icono.",
214
+ "_generated": {
215
+ "hash": "c71e925711d154680efe37335a68673d",
216
+ "version": "15.0.3",
217
+ "timestamp": "2026-01-30T19:10:40.934Z"
152
218
  }
153
219
  },
154
220
  {
@@ -164,6 +230,12 @@
164
230
  "text": "Y esto es una descripción necesaria tras el encabezado"
165
231
  },
166
232
  "id": "headinglevel"
233
+ },
234
+ "visualDescription": "Notificación con fondo blanco, borde azul oscuro de 2-3px en todo el perímetro, conteniendo encabezado en texto negro en negrita. Línea de texto adicional en negro regular debajo del encabezado, layout vertical.",
235
+ "_generated": {
236
+ "hash": "1de9593067b29493a84f01e0cafdf396",
237
+ "version": "15.0.3",
238
+ "timestamp": "2026-01-30T19:10:40.934Z"
167
239
  }
168
240
  },
169
241
  {
@@ -194,6 +266,12 @@
194
266
  "type": "info",
195
267
  "isDismissible": true,
196
268
  "id": "with-mixed-params"
269
+ },
270
+ "visualDescription": "Notification box con borde azul de 2px, fondo azul muy claro, y contenido estructurado en múltiples líneas. El header incluye un icono de información circular azul a la izquierda, texto de título en negro(peso normal) , y botón de cierre \"×\" en la esquina superior derecha. El cuerpo contiene texto descriptivo en negro seguido de tres enlaces en azul subrayado dispuestos verticalmente.",
271
+ "_generated": {
272
+ "hash": "f4e3f8d568ac76aee112206ca910f89f",
273
+ "version": "15.0.3",
274
+ "timestamp": "2026-01-30T19:10:48.101Z"
197
275
  }
198
276
  }
199
277
  ] %}