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
@@ -39,6 +39,12 @@
39
39
  "attributes": {
40
40
  "aria-label": "Menú destacado"
41
41
  }
42
+ },
43
+ "visualDescription": "Lista de tres enlaces de texto en color azul turquesa, cada uno alineado a la izquierda con una flecha azul turquesa a la derecha. Los elementos están separados por líneas divisorias grises horizontales de 1px. El contenedor tiene un borde gris claro de 1px y fondo blanco, con un título en negro en la parte superior.",
44
+ "_generated": {
45
+ "hash": "d272d16a88348c250dab89e321f1b054",
46
+ "version": "15.0.3",
47
+ "timestamp": "2026-01-30T19:03:25.807Z"
42
48
  }
43
49
  },
44
50
  {
@@ -98,6 +104,12 @@
98
104
  "attributes": {
99
105
  "aria-label": "Menú destacado"
100
106
  }
107
+ },
108
+ "visualDescription": "Lista de enlaces con texto en azul turquesa, donde cada elemento tiene un icono diferente a la derecha. Los elementos están separados por líneas divisorias grises horizontales de 1px, en un contenedor con borde gris claro y fondo blanco. El último elemento contiene un bloque de texto largo en negro, con múltiples líneas y un icono de flecha a la derecha.",
109
+ "_generated": {
110
+ "hash": "71f4c9c91366a7312b7e438b59370c62",
111
+ "version": "15.0.3",
112
+ "timestamp": "2026-01-30T19:03:25.807Z"
101
113
  }
102
114
  },
103
115
  {
@@ -130,6 +142,12 @@
130
142
  "attributes": {
131
143
  "aria-label": "Menú destacado"
132
144
  }
145
+ },
146
+ "visualDescription": "Lista de tres enlaces con íconos de enlace externo en gris a la izquierda, texto en azul turquesa en el centro, y flechas azul turquesa a la derecha. Los elementos están separados por líneas divisorias grises horizontales de 1px. El contenedor tiene un borde gris claro de 1px y fondo blanco, con un título en negro en la parte superior.",
147
+ "_generated": {
148
+ "hash": "ecbcb0360e11f695118663cc1dc14d8b",
149
+ "version": "15.0.3",
150
+ "timestamp": "2026-01-30T19:03:25.807Z"
133
151
  }
134
152
  },
135
153
  {
@@ -165,6 +183,12 @@
165
183
  "attributes": {
166
184
  "aria-label": "Menú destacado"
167
185
  }
186
+ },
187
+ "visualDescription": "Lista vertical de tres elementos, cada uno con icono de carpeta azul oscuro a la izquierda, texto del enlace azul oscuro subrayado en el centro, y flecha azul oscuro a la derecha. Fondo blanco, separación vertical entre elementos, alineación horizontal distribuida con espaciado interno generoso.",
188
+ "_generated": {
189
+ "hash": "a39c3890629a18b2e5228fff4e67f98c",
190
+ "version": "15.0.3",
191
+ "timestamp": "2026-01-30T19:03:35.047Z"
168
192
  }
169
193
  },
170
194
  {
@@ -198,6 +222,12 @@
198
222
  "attributes": {
199
223
  "aria-label": "Menú destacado"
200
224
  }
225
+ },
226
+ "visualDescription": "Lista vertical de tres elementos con líneas divisorias grises horizontales entre cada ítem. Cada elemento tiene icono de carpeta azul oscuro a la izquierda, texto del enlace azul oscuro subrayado en el centro, y flecha azul oscuro a la derecha. Fondo blanco con espaciado interno moderado y bordes superior e inferior grises.",
227
+ "_generated": {
228
+ "hash": "5d690ee52d5e1b1352570c1260e159e3",
229
+ "version": "15.0.3",
230
+ "timestamp": "2026-01-30T19:03:35.047Z"
201
231
  }
202
232
  },
203
233
  {
@@ -234,6 +264,12 @@
234
264
  "attributes": {
235
265
  "aria-label": "Menú destacado"
236
266
  }
267
+ },
268
+ "visualDescription": "Lista vertical de tres elementos presentados como tarjetas rectangulares con borde gris claro de 1px. Cada tarjeta tiene fondo blanco, icono de carpeta azul oscuro a la izquierda, texto del enlace azul oscuro subrayado en el centro, y flecha azul oscuro a la derecha. Separación vertical entre tarjetas y esquinas ligeramente redondeadas.",
269
+ "_generated": {
270
+ "hash": "741fe943716b16732c92380026d136d3",
271
+ "version": "15.0.3",
272
+ "timestamp": "2026-01-30T19:03:35.047Z"
237
273
  }
238
274
  },
239
275
  {
@@ -257,6 +293,12 @@
257
293
  "attributes": {
258
294
  "aria-label": "Menú destacado"
259
295
  }
296
+ },
297
+ "visualDescription": "Contenedor rectangular con borde gris claro y fondo blanco. Contiene un elemento con ícono de carpeta azul a la izquierda, texto azul en negrita, y flecha chevron gris a la derecha. Debajo aparece texto gris claro de menor tamaño.",
298
+ "_generated": {
299
+ "hash": "686bd62d217b8a29ddd9b9416f938c5b",
300
+ "version": "15.0.3",
301
+ "timestamp": "2026-01-30T19:03:44.677Z"
260
302
  }
261
303
  },
262
304
  {
@@ -281,6 +323,12 @@
281
323
  "attributes": {
282
324
  "aria-label": "Menú destacado"
283
325
  }
326
+ },
327
+ "visualDescription": "Lista vertical de tres elementos con separadores horizontales grises claros. Los dos primeros elementos tienen texto azul en formato de enlace con flechas azules a la derecha. El tercer elemento muestra texto gris claro sin enlace y flecha gris desaturada, indicando estado inactivo.",
328
+ "_generated": {
329
+ "hash": "91186ae11902e6bd6d8d881c0b5399f8",
330
+ "version": "15.0.3",
331
+ "timestamp": "2026-01-30T19:03:44.677Z"
284
332
  }
285
333
  },
286
334
  {
@@ -303,6 +351,12 @@
303
351
  "attributes": {
304
352
  "aria-label": "Menú destacado"
305
353
  }
354
+ },
355
+ "visualDescription": "Lista vertical de tres elementos separados por líneas horizontales grises tenues. Primer elemento: texto azul con flecha azul a la derecha. Segundo elemento: texto negro sin formato de enlace y sin flecha. Tercer elemento: texto azul con flecha azul a la derecha.",
356
+ "_generated": {
357
+ "hash": "e3f5680595f77cd95a68a5bb92244087",
358
+ "version": "15.0.3",
359
+ "timestamp": "2026-01-30T19:03:44.677Z"
306
360
  }
307
361
  },
308
362
  {
@@ -327,6 +381,12 @@
327
381
  "attributes": {
328
382
  "aria-label": "Menú destacado"
329
383
  }
384
+ },
385
+ "visualDescription": "Lista vertical de tres enlaces de texto azul con iconos de flecha azul alineados a la derecha. Fondo blanco con bordes grises delgados, el primer enlace tiene fondo celeste claro indicando estado activo. Espaciado uniforme entre elementos.",
386
+ "_generated": {
387
+ "hash": "adcff09185265d85c267b59c7d3a9cc8",
388
+ "version": "15.0.3",
389
+ "timestamp": "2026-01-30T19:03:53.992Z"
330
390
  }
331
391
  },
332
392
  {
@@ -362,6 +422,12 @@
362
422
  "attributes": {
363
423
  "aria-label": "Menú destacado"
364
424
  }
425
+ },
426
+ "visualDescription": "Lista vertical de tres enlaces de texto azul con iconos de flecha azul alineados a la derecha. Fondo blanco con bordes grises delgados, todos los elementos tienen fondo blanco sin estado activo visible. Espaciado uniforme entre filas.",
427
+ "_generated": {
428
+ "hash": "9b7cd59c77583fb4bbc562258a29932a",
429
+ "version": "15.0.3",
430
+ "timestamp": "2026-01-30T19:03:53.993Z"
365
431
  }
366
432
  },
367
433
  {
@@ -385,6 +451,12 @@
385
451
  "attributes": {
386
452
  "aria-label": "Menú destacado"
387
453
  }
454
+ },
455
+ "visualDescription": "Lista vertical de tres enlaces con texto extenso en color azul que ocupa múltiples líneas por ítem, cada uno con icono de flecha azul alineado a la derecha. Fondo blanco con bordes grises delgados, altura de cada fila expandida para acomodar el contenido largo. Los enlaces mantienen el texto azul estándar con peso de fuente normal.",
456
+ "_generated": {
457
+ "hash": "3ba4ef8819a59af0ca9dc6b74bf705f4",
458
+ "version": "15.0.3",
459
+ "timestamp": "2026-01-30T19:03:53.993Z"
388
460
  }
389
461
  },
390
462
  {
@@ -417,6 +489,12 @@
417
489
  "attributes": {
418
490
  "aria-label": "Menú destacado"
419
491
  }
492
+ },
493
+ "visualDescription": "Lista de tres elementos con fondo blanco y bordes grises finos. Cada elemento contiene un título en azul en peso negrita, seguido de texto descriptivo gris en línea inferior con peso normal. Flecha azul alineada a la derecha en cada fila indica interactividad.",
494
+ "_generated": {
495
+ "hash": "a8a7a7d3e59b93529494a2476ea7f0b6",
496
+ "version": "15.0.3",
497
+ "timestamp": "2026-01-30T19:04:03.415Z"
420
498
  }
421
499
  },
422
500
  {
@@ -449,6 +527,12 @@
449
527
  "attributes": {
450
528
  "aria-label": "Menú destacado"
451
529
  }
530
+ },
531
+ "visualDescription": "Lista de cinco elementos con fondo blanco y bordes grises finos. Cada fila muestra texto de enlace en azul con peso normal, alineado a la izquierda. Flecha azul posicionada en extremo derecho de cada elemento señala navegación.",
532
+ "_generated": {
533
+ "hash": "f2c64c635f9bc7f7dddd16cd4c0e7078",
534
+ "version": "15.0.3",
535
+ "timestamp": "2026-01-30T19:04:03.415Z"
452
536
  }
453
537
  },
454
538
  {
@@ -485,6 +569,12 @@
485
569
  "attributes": {
486
570
  "aria-label": "Menú destacado"
487
571
  }
572
+ },
573
+ "visualDescription": "Lista de cinco elementos con fondo blanco y separadores grises horizontales. Cada entrada presenta texto de enlace azul en peso normal, con flecha azul en lado derecho. Diseño vertical uniforme con espaciado consistente entre filas.",
574
+ "_generated": {
575
+ "hash": "7dbc406ba71526e8d4e9ab582e095707",
576
+ "version": "15.0.3",
577
+ "timestamp": "2026-01-30T19:04:03.415Z"
488
578
  }
489
579
  },
490
580
  {
@@ -550,6 +640,12 @@
550
640
  "aria-label": "Menú destacado",
551
641
  "id": "nav-id-example"
552
642
  }
643
+ },
644
+ "visualDescription": "Lista de cinco enlaces en texto azul con peso normal, cada uno con una flecha azul alineada a la derecha. Fondo blanco con separadores grises horizontales de 1px entre elementos. Un elemento incluye texto descriptivo gris debajo del enlace principal.",
645
+ "_generated": {
646
+ "hash": "b7f0ea5ff3f7291a0d1031bd589334bf",
647
+ "version": "15.0.3",
648
+ "timestamp": "2026-01-30T19:04:13.336Z"
553
649
  }
554
650
  },
555
651
  {
@@ -572,6 +668,12 @@
572
668
  "text": "Item 3"
573
669
  }
574
670
  ]
671
+ },
672
+ "visualDescription": "Lista de tres enlaces en texto azul con peso normal, cada uno con flecha azul alineada a la derecha. Fondo blanco con líneas divisorias grises horizontales de 1px entre elementos. Espaciado vertical uniforme entre cada enlace.",
673
+ "_generated": {
674
+ "hash": "3d03cf5fbc5824345392c3f43add7897",
675
+ "version": "15.0.3",
676
+ "timestamp": "2026-01-30T19:04:13.336Z"
575
677
  }
576
678
  },
577
679
  {
@@ -617,6 +719,12 @@
617
719
  "attributes": {
618
720
  "aria-label": "Menú destacado"
619
721
  }
722
+ },
723
+ "visualDescription": "Lista de seis elementos con enlaces azules, algunos con texto descriptivo gris debajo. Fondo blanco con separadores grises horizontales de 1px. Cada enlace tiene flecha azul a la derecha. Incluye texto rojo destacado en un elemento y texto gris secundario en varios elementos describiendo estados.",
724
+ "_generated": {
725
+ "hash": "8dbbd731583a7b6d445b03cac343beb0",
726
+ "version": "15.0.3",
727
+ "timestamp": "2026-01-30T19:04:13.336Z"
620
728
  }
621
729
  },
622
730
  {
@@ -642,6 +750,12 @@
642
750
  "aria-label": "Menú destacado",
643
751
  "id": "links-list-js"
644
752
  }
753
+ },
754
+ "visualDescription": "Lista de tres enlaces de texto en color azul claro (item 1, item 2, item 3) dispuestos verticalmente con separadores horizontales grises tenues entre ellos. Cada fila contiene el texto del enlace alineado a la izquierda y una flecha azul claro (→) alineada a la derecha. El conjunto está contenido en un recuadro con borde gris delgado y fondo blanco, con un encabezado en texto negro regular que dice \"Activar un item con Javascript\".",
755
+ "_generated": {
756
+ "hash": "e95ff247158f6585244d9321d846bf0e",
757
+ "version": "15.0.3",
758
+ "timestamp": "2026-01-30T19:04:21.129Z"
645
759
  }
646
760
  }
647
761
  ] %}
@@ -30,7 +30,13 @@
30
30
  "text": "Opción 5"
31
31
  }
32
32
  ]
33
- }
33
+ },
34
+ "visualDescription": "Listbox con borde gris de 1px y fondo blanco. Contiene un título en texto negro tamaño estándar, un label descriptivo en texto negro regular, y un botón dropdown con texto en negro con flecha hacia abajo. El botón tiene borde gris claro y esquinas redondeadas.",
35
+ "_generated": {
36
+ "hash": "b56179415d13699c386407c4f144b21a",
37
+ "version": "15.0.3",
38
+ "timestamp": "2026-01-30T19:04:29.014Z"
39
+ }
34
40
  },
35
41
  {
36
42
  "name": "con estado activo",
@@ -64,7 +70,13 @@
64
70
  "text": "Opción 5"
65
71
  }
66
72
  ]
67
- }
73
+ },
74
+ "visualDescription": "Listbox con borde gris de 1px y fondo blanco. Contiene un título en texto negro tamaño estándar, un label descriptivo en texto negro regular, y un botón dropdown con texto en azul con flecha hacia abajo. El botón tiene borde azul y esquinas redondeadas, indicando selección activa.",
75
+ "_generated": {
76
+ "hash": "e113cf3a8c6b3da9de4d0c4d3960157c",
77
+ "version": "15.0.3",
78
+ "timestamp": "2026-01-30T19:04:29.014Z"
79
+ }
68
80
  },
69
81
  {
70
82
  "name": "con estado hover",
@@ -98,7 +110,13 @@
98
110
  "text": "Opción 5"
99
111
  }
100
112
  ]
101
- }
113
+ },
114
+ "visualDescription": "Listbox con borde gris de 1px y fondo blanco. Contiene un título en texto negro tamaño estándar, un label descriptivo en texto negro regular, y un botón dropdown con texto en negro con flecha hacia abajo. El botón tiene borde gris y esquinas redondeadas en estado de interacción al pasar cursor.",
115
+ "_generated": {
116
+ "hash": "41d78ff6a7234333c40613dee1a72cf4",
117
+ "version": "15.0.3",
118
+ "timestamp": "2026-01-30T19:04:29.014Z"
119
+ }
102
120
  },
103
121
  {
104
122
  "name": "con estado focus",
@@ -132,7 +150,13 @@
132
150
  "text": "Opción 5"
133
151
  }
134
152
  ]
135
- }
153
+ },
154
+ "visualDescription": "Listbox con borde gris claro, fondo blanco, label en texto negro arriba del componente. Botón rectangular con texto negro sobre fondo amarillo intenso, borde negro fino, esquinas ligeramente redondeadas. El botón muestra indicador de desplegable.",
155
+ "_generated": {
156
+ "hash": "456df9bd7520f6b8920ff7c19892614d",
157
+ "version": "15.0.3",
158
+ "timestamp": "2026-01-30T19:04:37.062Z"
159
+ }
136
160
  },
137
161
  {
138
162
  "name": "primario",
@@ -166,7 +190,13 @@
166
190
  "text": "Opción 5"
167
191
  }
168
192
  ]
169
- }
193
+ },
194
+ "visualDescription": "Listbox con borde gris claro, fondo blanco, label en texto negro arriba del componente. Botón rectangular con texto blanco sobre fondo azul oscuro(teal/petróleo) , esquinas ligeramente redondeadas. El botón muestra indicador de desplegable.",
195
+ "_generated": {
196
+ "hash": "5967e56ef0d923f90eefe8164cf7b0cd",
197
+ "version": "15.0.3",
198
+ "timestamp": "2026-01-30T19:04:37.062Z"
199
+ }
170
200
  },
171
201
  {
172
202
  "name": "transparente",
@@ -199,7 +229,13 @@
199
229
  "text": "Opción 5"
200
230
  }
201
231
  ]
202
- }
232
+ },
233
+ "visualDescription": "Listbox con borde gris claro, fondo blanco, label en texto negro arriba del componente. Enlace de texto en color azul(teal) con indicador de desplegable, sin fondo ni borde visible. El enlace aparece subrayado indicando interactividad.",
234
+ "_generated": {
235
+ "hash": "c8c22c0daf0639cf13f219d880229db1",
236
+ "version": "15.0.3",
237
+ "timestamp": "2026-01-30T19:04:37.062Z"
238
+ }
203
239
  },
204
240
  {
205
241
  "name": "Con estilos de cabecera",
@@ -233,7 +269,13 @@
233
269
  "text": "Opción 5"
234
270
  }
235
271
  ]
236
- }
272
+ },
273
+ "visualDescription": "Listbox con borde gris claro de 1px, fondo blanco, conteniendo un label en texto negro regular pequeño arriba. Botón desplegable en texto negro con fondo blanco y borde gris de 1px, incluyendo un ícono de flecha hacia abajo a la derecha.",
274
+ "_generated": {
275
+ "hash": "804758f035b36dc3cb7866f8f2d1e80e",
276
+ "version": "15.0.3",
277
+ "timestamp": "2026-01-30T19:04:45.911Z"
278
+ }
237
279
  },
238
280
  {
239
281
  "name": "peque",
@@ -268,7 +310,13 @@
268
310
  "text": "Opción 5"
269
311
  }
270
312
  ]
271
- }
313
+ },
314
+ "visualDescription": "Listbox con borde gris claro de 1px, fondo blanco, conteniendo un label en texto negro regular pequeño arriba. Botón desplegable con texto largo en negro sobre fondo blanco, borde gris de 1px, y flecha hacia abajo a la derecha del texto.",
315
+ "_generated": {
316
+ "hash": "23632c5d8946a2323576ae4a83a8af54",
317
+ "version": "15.0.3",
318
+ "timestamp": "2026-01-30T19:04:45.911Z"
319
+ }
272
320
  },
273
321
  {
274
322
  "name": "grande",
@@ -303,7 +351,13 @@
303
351
  "text": "Opción 5"
304
352
  }
305
353
  ]
306
- }
354
+ },
355
+ "visualDescription": "Listbox con borde gris claro de 1px, fondo blanco, conteniendo un label en texto negro regular pequeño arriba. Botón desplegable en texto negro sobre fondo blanco con borde gris de 1px y ícono de flecha hacia abajo a la derecha.",
356
+ "_generated": {
357
+ "hash": "4869e9f41ccf8a26329492063207a5dd",
358
+ "version": "15.0.3",
359
+ "timestamp": "2026-01-30T19:04:45.911Z"
360
+ }
307
361
  },
308
362
  {
309
363
  "name": "peque tiene selección",
@@ -338,7 +392,13 @@
338
392
  "text": "Opción 5"
339
393
  }
340
394
  ]
341
- }
395
+ },
396
+ "visualDescription": "Listbox con fondo blanco y borde gris de 1px. Contiene un botón desplegable con texto azul oscuro y un ícono de flecha hacia abajo a la derecha. El botón tiene padding interno y esquinas ligeramente redondeadas.",
397
+ "_generated": {
398
+ "hash": "2be911291033ff8f5a16ab598f9e6811",
399
+ "version": "15.0.3",
400
+ "timestamp": "2026-01-30T19:04:55.744Z"
401
+ }
342
402
  },
343
403
  {
344
404
  "name": "deshabilitado",
@@ -371,7 +431,13 @@
371
431
  "text": "Opción 5"
372
432
  }
373
433
  ]
374
- }
434
+ },
435
+ "visualDescription": "Listbox con encabezado en texto gris oscuro y subtexto descriptivo en gris medio debajo. Contiene un botón desplegable con texto gris claro, fondo gris muy tenue, y flecha hacia abajo desaturada. El botón aparece sin interactividad visual, con opacidad reducida.",
436
+ "_generated": {
437
+ "hash": "66b18da8f5ddd34b734c365189624fb4",
438
+ "version": "15.0.3",
439
+ "timestamp": "2026-01-30T19:04:55.744Z"
440
+ }
375
441
  },
376
442
  {
377
443
  "name": "Con clases de css aplicadas al container",
@@ -405,7 +471,13 @@
405
471
  "text": "Opción 5"
406
472
  }
407
473
  ]
408
- }
474
+ },
475
+ "visualDescription": "Listbox con encabezado en texto negro y subtexto descriptivo en gris oscuro debajo. Contiene un botón desplegable con texto en color turquesa/cyan, fondo cyan muy claro, y flecha hacia abajo del mismo color turquesa. El botón tiene borde cyan de 1px y padding interno visible.",
476
+ "_generated": {
477
+ "hash": "d36f38a4497ea12d11a18253d7611653",
478
+ "version": "15.0.3",
479
+ "timestamp": "2026-01-30T19:04:55.744Z"
480
+ }
409
481
  },
410
482
  {
411
483
  "name": "Clases aplicadas al contenido del tooltip",
@@ -439,7 +511,13 @@
439
511
  "text": "Opción 5"
440
512
  }
441
513
  ]
442
- }
514
+ },
515
+ "visualDescription": "Sección con borde gris claro de 1px y fondo blanco. Título en negro tamaño mediano, seguido de label en texto negro regular. Botón dropdown con texto azul y flecha hacia abajo a la derecha.",
516
+ "_generated": {
517
+ "hash": "825faf59d2e0cec20bb4aee58c108159",
518
+ "version": "15.0.3",
519
+ "timestamp": "2026-01-30T19:05:04.650Z"
520
+ }
443
521
  },
444
522
  {
445
523
  "name": "Clases aplicadas a varios elementos",
@@ -475,7 +553,13 @@
475
553
  "text": "Opción 5"
476
554
  }
477
555
  ]
478
- }
556
+ },
557
+ "visualDescription": "Sección con borde gris claro de 1px y fondo blanco. Título en negro tamaño mediano, seguido de label en texto negro regular. Campo de entrada tipo combobox con texto negro y flecha hacia abajo a la derecha, ocupando ancho completo.",
558
+ "_generated": {
559
+ "hash": "fc6f9c72554f4571d1c4599cf7fb7cdc",
560
+ "version": "15.0.3",
561
+ "timestamp": "2026-01-30T19:05:04.651Z"
562
+ }
479
563
  },
480
564
  {
481
565
  "name": "con item activo",
@@ -512,7 +596,13 @@
512
596
  "attributes": {
513
597
  "id": "listbox"
514
598
  }
515
- }
599
+ },
600
+ "visualDescription": "Sección con borde gris claro de 1px y fondo blanco. Label en texto negro regular. Botón dropdown con texto azul y flecha hacia abajo a la derecha, formato compacto.",
601
+ "_generated": {
602
+ "hash": "867896813517c7e5619284e8b91517b4",
603
+ "version": "15.0.3",
604
+ "timestamp": "2026-01-30T19:05:04.651Z"
605
+ }
516
606
  },
517
607
  {
518
608
  "name": "Permite selecciones múltiples",
@@ -549,7 +639,13 @@
549
639
  "attributes": {
550
640
  "id": "listbox-multiple"
551
641
  }
552
- }
642
+ },
643
+ "visualDescription": "Rectángulo con borde gris de 1px y fondo blanco contiene un label en texto gris oscuro tamaño pequeño seguido de un botón desplegable azul con flecha hacia abajo. El componente ocupa ancho completo del contenedor con padding interno y el botón tiene bordes redondeados suaves.",
644
+ "_generated": {
645
+ "hash": "2e33191fe8d3cbbf23893a4287d65b12",
646
+ "version": "15.0.3",
647
+ "timestamp": "2026-01-30T19:05:14.275Z"
648
+ }
553
649
  },
554
650
  {
555
651
  "name": "Cambia el texto del botón",
@@ -583,7 +679,13 @@
583
679
  "text": "Opción 5"
584
680
  }
585
681
  ]
586
- }
682
+ },
683
+ "visualDescription": "Rectángulo con borde gris de 1px y fondo blanco contiene un label en texto gris oscuro tamaño pequeño seguido de un botón desplegable azul con flecha hacia abajo. El componente ocupa ancho completo del contenedor con padding interno y el botón tiene bordes redondeados suaves.",
684
+ "_generated": {
685
+ "hash": "bba5a8decae1dedb9652d9df7b1496e4",
686
+ "version": "15.0.3",
687
+ "timestamp": "2026-01-30T19:05:14.275Z"
688
+ }
587
689
  },
588
690
  {
589
691
  "name": "Con iconos en items",
@@ -607,7 +709,13 @@
607
709
  "html": "Opción 3 <svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 14 14' width='1em' height='1em' class='inline-block align-baseline ml-sm' aria-label='Solicitud' focusable='false' role='img'><g id='clipboard-text--edition-form-task-checklist-edit-clipboard'><path id='Union-2' fill='currentColor' fill-rule='evenodd' d='M5.5 0C4.94772 0 4.5 0.447716 4.5 1V1.5C4.5 2.05229 4.94772 2.5 5.5 2.5H8.5C9.05229 2.5 9.5 2.05229 9.5 1.5V1C9.5 0.447715 9.05229 0 8.5 0H5.5ZM2.75 1H3.25V1.5C3.25 2.74264 4.25736 3.75 5.5 3.75H8.5C9.74264 3.75 10.75 2.74264 10.75 1.5V1H11.25C12.0784 1 12.75 1.67157 12.75 2.5V12.5C12.75 13.3284 12.0784 14 11.25 14H2.75C1.92157 14 1.25 13.3284 1.25 12.5V2.5C1.25 1.67157 1.92157 1 2.75 1ZM3.875 8.50049C3.875 8.15531 4.15482 7.87549 4.5 7.87549H9.5C9.84518 7.87549 10.125 8.15531 10.125 8.50049C10.125 8.84567 9.84518 9.12549 9.5 9.12549H4.5C4.15482 9.12549 3.875 8.84567 3.875 8.50049ZM4.5 10.3755C4.15482 10.3755 3.875 10.6553 3.875 11.0005C3.875 11.3457 4.15482 11.6255 4.5 11.6255H9.5C9.84518 11.6255 10.125 11.3457 10.125 11.0005C10.125 10.6553 9.84518 10.3755 9.5 10.3755H4.5Z' clip-rule='evenodd'></path></g></svg>"
608
710
  }
609
711
  ]
610
- }
712
+ },
713
+ "visualDescription": "Rectángulo con borde gris de 1px y fondo blanco contiene un label en texto gris oscuro tamaño pequeño seguido de un botón desplegable azul con flecha hacia abajo. El componente ocupa ancho completo del contenedor con padding interno y el botón tiene bordes redondeados suaves.",
714
+ "_generated": {
715
+ "hash": "63269c0e21c0e2df131a129a2b623858",
716
+ "version": "15.0.3",
717
+ "timestamp": "2026-01-30T19:05:14.275Z"
718
+ }
611
719
  },
612
720
  {
613
721
  "name": "con párrafos en items",
@@ -650,7 +758,13 @@
650
758
  }
651
759
  ],
652
760
  classesTooltip: "w-xs!"
653
- }
761
+ },
762
+ "visualDescription": "Componente listbox con borde gris de 1px, fondo blanco, y esquinas ligeramente redondeadas. Contiene un título h3 en negro, seguido de un label en negro tamaño pequeño, y un botón dropdown con texto en azul oscuro con flecha hacia abajo.",
763
+ "_generated": {
764
+ "hash": "85cca125cbe408b2d7397b5fa39aea31",
765
+ "version": "15.0.3",
766
+ "timestamp": "2026-01-30T19:05:22.468Z"
767
+ }
654
768
  },
655
769
  {
656
770
  "name": "Menú abierto o cerrado con Javascript",
@@ -687,6 +801,12 @@
687
801
  "attributes": {
688
802
  "id": "listbox-javascript"
689
803
  }
690
- }
804
+ },
805
+ "visualDescription": "Componente listbox con borde gris de 1px, fondo blanco, y esquinas ligeramente redondeadas. Incluye un título h3 en negro, un label en negro tamaño pequeño debajo, y un botón dropdown con texto en azul oscuro acompañado de una flecha hacia abajo a la derecha.",
806
+ "_generated": {
807
+ "hash": "d4ae482982aee942093356db02f9127c",
808
+ "version": "15.0.3",
809
+ "timestamp": "2026-01-30T19:05:22.468Z"
810
+ }
691
811
  }
692
812
  ] %}
@@ -6,6 +6,12 @@
6
6
  "data": {
7
7
  "figureHtml": "<div class=' w-20 h-20 '><div class=' h-full border-4 border-dashed border-gray-200 rounded-lg '></div></div>",
8
8
  "caller": "<p class='c-paragraph-base'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet.</p>"
9
+ },
10
+ "visualDescription": "Contenedor rectangular con borde gris de 1px y fondo blanco. Contiene una imagen cuadrada pequeña alineada a la izquierda, seguida de un bloque de texto de múltiples líneas en negro con tipografía normal que ocupa el espacio restante a la derecha. El texto comienza al nivel superior de la imagen.",
11
+ "_generated": {
12
+ "hash": "1c3bfac759d6d9fb1e3a16b43cfe00b5",
13
+ "version": "15.0.3",
14
+ "timestamp": "2026-01-30T19:05:30.864Z"
9
15
  }
10
16
  },
11
17
  {
@@ -14,6 +20,12 @@
14
20
  "reverse": true,
15
21
  "figureHtml": "<div class=' w-20 h-20 '><div class=' h-full border-4 border-dashed border-gray-200 rounded-lg '></div></div>",
16
22
  "caller": "<p class='c-paragraph-base'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet.</p>"
23
+ },
24
+ "visualDescription": "Contenedor rectangular con borde gris de 1px y fondo blanco. Presenta una imagen cuadrada pequeña alineada a la derecha, con un bloque de texto de múltiples líneas en negro con tipografía normal posicionado a la izquierda ocupando el espacio disponible. El texto comienza al nivel superior de la imagen.",
25
+ "_generated": {
26
+ "hash": "63c905f73e7f9b1bdf68c1258b54818b",
27
+ "version": "15.0.3",
28
+ "timestamp": "2026-01-30T19:05:30.864Z"
17
29
  }
18
30
  },
19
31
  {
@@ -22,6 +34,12 @@
22
34
  "center": true,
23
35
  "figureHtml": "<div class=' w-20 h-20 '><div class=' h-full border-4 border-dashed border-gray-200 rounded-lg '></div></div>",
24
36
  "caller": "<p class='c-paragraph-base'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet.</p>"
37
+ },
38
+ "visualDescription": "Contenedor rectangular con borde gris de 1px y fondo blanco. Incluye una imagen cuadrada pequeña alineada a la izquierda, con un bloque extenso de texto de múltiples líneas en negro con tipografía normal a la derecha. El contenido de texto está verticalmente centrado respecto a la imagen, creando espacio visual balanceado arriba y abajo de la imagen.",
39
+ "_generated": {
40
+ "hash": "45d2190c13789fcb1251dbc717ff08ef",
41
+ "version": "15.0.3",
42
+ "timestamp": "2026-01-30T19:05:30.864Z"
25
43
  }
26
44
  },
27
45
  {
@@ -33,6 +51,12 @@
33
51
  "contentClasses": "text-sm",
34
52
  "caller": "<p class='c-paragraph-base'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet.</p>",
35
53
  "classes": "mb-base"
54
+ },
55
+ "visualDescription": "Bloque rectangular con borde gris claro de 1px y fondo blanco. Contiene texto de párrafo negro en fuente regular, con espaciado interno visible alrededor del contenido. El contenedor muestra separación clara entre el texto y los bordes del rectángulo.",
56
+ "_generated": {
57
+ "hash": "725bd9abf7e7c4b0489b3c60a9d77469",
58
+ "version": "15.0.3",
59
+ "timestamp": "2026-01-30T19:05:38.750Z"
36
60
  }
37
61
  },
38
62
  {
@@ -45,6 +69,12 @@
45
69
  "contentClasses": "text-sm",
46
70
  "caller": "<p class='c-paragraph-base'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer maximus, elit et faucibus finibus, massa enim egestas leo, et lobortis lorem elit non enim. Nullam molestie nunc eget eleifend porttitor. Suspendisse ornare ligula erat, non dapibus nunc rhoncus at. Maecenas vitae urna viverra, semper mauris vitae, euismod ante. Sed finibus quam ut orci pellentesque, in tincidunt risus tristique. Vivamus efficitur purus urna, sed blandit lorem convallis vel. Mauris tincidunt tincidunt ipsum finibus euismod. Sed eget tincidunt mauris. Duis viverra commodo consectetur. Nullam viverra tincidunt nisl, sit amet dignissim lacus mattis imperdiet.</p>",
47
71
  "classes": "mb-base"
72
+ },
73
+ "visualDescription": "Bloque rectangular con borde gris claro de 1px y fondo blanco. Contiene texto de párrafo negro en fuente regular, distribuido en líneas continuas con espaciado interno. El contenedor presenta márgenes externos que lo separan de otros elementos y padding interno uniforme.",
74
+ "_generated": {
75
+ "hash": "b03b1262c8f33a74ff4f25d8c9fc8e21",
76
+ "version": "15.0.3",
77
+ "timestamp": "2026-01-30T19:05:38.750Z"
48
78
  }
49
79
  }
50
80
  ] %}