desy-html 16.0.3 → 17.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 (531) hide show
  1. package/.node-version +1 -1
  2. package/.nvmrc +1 -1
  3. package/AGENTS.md +207 -181
  4. package/README.md +203 -203
  5. package/TESTING_PLAN.md +379 -376
  6. package/branding/BRANDING.md +398 -395
  7. package/branding/branding.config.js +76 -76
  8. package/branding/branding.config.yourorganization.js +72 -65
  9. package/branding/logos/aragon-compact.svg +1 -1
  10. package/branding/logos/aragon-expanded.svg +1 -1
  11. package/branding/logos/aragon-mini.svg +1 -1
  12. package/branding/logos/favicon.svg +1 -1
  13. package/branding/logos/yourlogo-compact.svg +13 -13
  14. package/branding/logos/yourlogo-expanded.svg +17 -17
  15. package/branding/logos/yourlogo-mini.svg +17 -17
  16. package/branding/logos/yourorganization-apple-touch-icon.png +0 -0
  17. package/branding/logos/yourorganization-favicon.ico +0 -0
  18. package/branding/logos/yourorganization-favicon.svg +13 -0
  19. package/branding/vite-branding-plugin.js +221 -155
  20. package/docs/_global.content-placeholder.njk +7 -7
  21. package/docs/_global.foot.njk +11 -11
  22. package/docs/_global.head.njk +42 -43
  23. package/docs/_include.template-header.njk +391 -386
  24. package/docs/_macro.component-example.njk +6 -6
  25. package/docs/_macro.example-render.njk +350 -346
  26. package/docs/_macro.load-component-params.njk +2 -2
  27. package/docs/_macro.load-component-template.njk +3 -3
  28. package/docs/_macro.render-caller.njk +3 -3
  29. package/docs/_macro.show-code-from-file.njk +57 -57
  30. package/docs/_macro.show-html-from-file.njk +42 -42
  31. package/docs/_template.default.njk +8 -8
  32. package/docs/_template.examples.njk +13 -13
  33. package/docs/catalogo.html +27 -27
  34. package/docs/componentes.html +187 -184
  35. package/docs/ds/_ds.example.accordion.njk +109 -109
  36. package/docs/ds/_ds.example.border.njk +39 -39
  37. package/docs/ds/_ds.example.botones-alert-sm.njk +264 -264
  38. package/docs/ds/_ds.example.botones-alert.njk +264 -264
  39. package/docs/ds/_ds.example.botones-default-sm.njk +264 -264
  40. package/docs/ds/_ds.example.botones-default.njk +258 -258
  41. package/docs/ds/_ds.example.botones-primary-lg.njk +264 -264
  42. package/docs/ds/_ds.example.botones-primary-sm.njk +264 -264
  43. package/docs/ds/_ds.example.botones-primary.njk +264 -264
  44. package/docs/ds/_ds.example.botones-transparent-sm.njk +264 -264
  45. package/docs/ds/_ds.example.botones-transparent.njk +264 -264
  46. package/docs/ds/_ds.example.breadcrumbs.njk +65 -65
  47. package/docs/ds/_ds.example.card.njk +198 -198
  48. package/docs/ds/_ds.example.checkboxes.njk +377 -377
  49. package/docs/ds/_ds.example.collapsible.njk +18 -18
  50. package/docs/ds/_ds.example.color-de-interaccion.njk +16 -16
  51. package/docs/ds/_ds.example.colores-cabecera.njk +15 -15
  52. package/docs/ds/_ds.example.colores-de-soporte.njk +82 -82
  53. package/docs/ds/_ds.example.colores-neutros.njk +26 -26
  54. package/docs/ds/_ds.example.combobox.njk +91 -0
  55. package/docs/ds/_ds.example.date-input.njk +363 -363
  56. package/docs/ds/_ds.example.description-list.njk +289 -289
  57. package/docs/ds/_ds.example.details.njk +23 -23
  58. package/docs/ds/_ds.example.dropdowns-default.njk +186 -186
  59. package/docs/ds/_ds.example.dropdowns-en-uso.njk +105 -105
  60. package/docs/ds/_ds.example.dropdowns-variaciones.njk +224 -224
  61. package/docs/ds/_ds.example.error-summary.njk +34 -34
  62. package/docs/ds/_ds.example.file-upload.njk +54 -54
  63. package/docs/ds/_ds.example.footer.njk +28 -28
  64. package/docs/ds/_ds.example.header-advanced.njk +70 -70
  65. package/docs/ds/_ds.example.header.njk +211 -211
  66. package/docs/ds/_ds.example.input-group.njk +242 -242
  67. package/docs/ds/_ds.example.input.njk +164 -164
  68. package/docs/ds/_ds.example.item.njk +176 -176
  69. package/docs/ds/_ds.example.layout-escritorio.njk +38 -38
  70. package/docs/ds/_ds.example.layout-movil.njk +14 -14
  71. package/docs/ds/_ds.example.layout-sidebar.njk +11 -11
  72. package/docs/ds/_ds.example.links-list.njk +170 -170
  73. package/docs/ds/_ds.example.listbox-default.njk +677 -677
  74. package/docs/ds/_ds.example.listbox-variaciones.njk +824 -824
  75. package/docs/ds/_ds.example.menu-horizontal.njk +66 -66
  76. package/docs/ds/_ds.example.menu-navigation.njk +493 -493
  77. package/docs/ds/_ds.example.menu-vertical.njk +129 -129
  78. package/docs/ds/_ds.example.menubar-en-uso.njk +244 -244
  79. package/docs/ds/_ds.example.menubar-variaciones.njk +785 -785
  80. package/docs/ds/_ds.example.modal.njk +210 -210
  81. package/docs/ds/_ds.example.nav.njk +158 -158
  82. package/docs/ds/_ds.example.notification.njk +122 -122
  83. package/docs/ds/_ds.example.pagination.njk +190 -190
  84. package/docs/ds/_ds.example.pills.njk +215 -215
  85. package/docs/ds/_ds.example.radios.njk +419 -419
  86. package/docs/ds/_ds.example.searchbar.njk +87 -87
  87. package/docs/ds/_ds.example.select.njk +390 -390
  88. package/docs/ds/_ds.example.status-item.njk +239 -239
  89. package/docs/ds/_ds.example.status.njk +47 -47
  90. package/docs/ds/_ds.example.table.njk +740 -740
  91. package/docs/ds/_ds.example.tabs.njk +136 -136
  92. package/docs/ds/_ds.example.textarea.njk +237 -237
  93. package/docs/ds/_ds.example.textos.njk +32 -32
  94. package/docs/ds/_ds.example.toggle.njk +75 -75
  95. package/docs/ds/_ds.example.tree.njk +456 -456
  96. package/docs/ds/_ds.example.treegrid.njk +810 -810
  97. package/docs/ds/_ds.example.typography.njk +225 -225
  98. package/docs/ds/_ds.macro.code-snippet.njk +32 -32
  99. package/docs/ds/_ds.macro.section-title.njk +2 -2
  100. package/docs/ds/_ds.macro.subsection-title.njk +2 -2
  101. package/docs/ds/_ds.section.avisos.njk +22 -22
  102. package/docs/ds/_ds.section.botones.njk +53 -53
  103. package/docs/ds/_ds.section.campo-y-area-de-texto.njk +19 -19
  104. package/docs/ds/_ds.section.color.njk +147 -147
  105. package/docs/ds/_ds.section.datos.njk +42 -42
  106. package/docs/ds/_ds.section.dropdowns.njk +23 -23
  107. package/docs/ds/_ds.section.espaciado.njk +296 -296
  108. package/docs/ds/_ds.section.forms.njk +73 -68
  109. package/docs/ds/_ds.section.informacion.njk +12 -12
  110. package/docs/ds/_ds.section.layout.njk +63 -63
  111. package/docs/ds/_ds.section.menubar.njk +18 -18
  112. package/docs/ds/_ds.section.mostrar-ocultar.njk +33 -33
  113. package/docs/ds/_ds.section.navigation.njk +57 -57
  114. package/docs/ds/_ds.section.textos.njk +287 -287
  115. package/docs/ds/_ds.section.typography.njk +28 -28
  116. package/docs/estilos.html +37 -37
  117. package/docs/examples-accordion-history.html +8 -8
  118. package/docs/examples-accordion.html +8 -8
  119. package/docs/examples-alert.html +8 -8
  120. package/docs/examples-breadcrumbs.html +8 -8
  121. package/docs/examples-button-loader.html +8 -8
  122. package/docs/examples-button.html +8 -8
  123. package/docs/examples-card.html +8 -8
  124. package/docs/examples-character-count.html +8 -8
  125. package/docs/examples-checkboxes.html +8 -8
  126. package/docs/examples-collapsible.html +8 -8
  127. package/docs/examples-combobox.html +8 -0
  128. package/docs/examples-date-input.html +8 -8
  129. package/docs/examples-datepicker.html +8 -8
  130. package/docs/examples-description-list.html +8 -8
  131. package/docs/examples-details.html +8 -8
  132. package/docs/examples-dialog.html +8 -8
  133. package/docs/examples-dropdown.html +8 -8
  134. package/docs/examples-error-message.html +8 -8
  135. package/docs/examples-error-summary.html +8 -8
  136. package/docs/examples-fieldset.html +8 -8
  137. package/docs/examples-file-upload.html +8 -8
  138. package/docs/examples-footer.html +8 -8
  139. package/docs/examples-header-advanced.html +8 -8
  140. package/docs/examples-header-mini.html +8 -8
  141. package/docs/examples-header.html +8 -8
  142. package/docs/examples-hint.html +8 -8
  143. package/docs/examples-input-group.html +8 -8
  144. package/docs/examples-input.html +8 -8
  145. package/docs/examples-item.html +8 -8
  146. package/docs/examples-label.html +8 -8
  147. package/docs/examples-links-list.html +8 -8
  148. package/docs/examples-listbox.html +8 -8
  149. package/docs/examples-media-object.html +8 -8
  150. package/docs/examples-menu-horizontal.html +8 -8
  151. package/docs/examples-menu-navigation.html +8 -8
  152. package/docs/examples-menu-vertical.html +8 -8
  153. package/docs/examples-menubar.html +8 -8
  154. package/docs/examples-modal.html +8 -8
  155. package/docs/examples-nav.html +8 -8
  156. package/docs/examples-notification.html +8 -8
  157. package/docs/examples-pagination.html +8 -8
  158. package/docs/examples-pill.html +8 -8
  159. package/docs/examples-radios.html +8 -8
  160. package/docs/examples-searchbar.html +8 -8
  161. package/docs/examples-select.html +8 -8
  162. package/docs/examples-skip-link.html +8 -8
  163. package/docs/examples-spinner.html +8 -8
  164. package/docs/examples-status-item.html +8 -8
  165. package/docs/examples-status.html +8 -8
  166. package/docs/examples-table-advanced.html +8 -8
  167. package/docs/examples-table.html +8 -8
  168. package/docs/examples-tabs.html +8 -8
  169. package/docs/examples-textarea.html +8 -8
  170. package/docs/examples-toggle.html +8 -8
  171. package/docs/examples-tooltip.html +8 -8
  172. package/docs/examples-tree.html +8 -8
  173. package/docs/examples-treegrid.html +8 -8
  174. package/docs/index.html +914 -902
  175. package/docs/pagina-accesibilidad.html +110 -110
  176. package/docs/pagina-mapa-web.html +137 -137
  177. package/docs/pagina-prueba.html +95 -95
  178. package/docs/plantilla-con-header-advanced.html +14 -14
  179. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +154 -154
  180. package/docs/plantilla-editar-con-cabecera-fija.html +17 -17
  181. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +15 -15
  182. package/docs/plantilla-logueado-con-cabecera-fija.html +15 -15
  183. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +164 -164
  184. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +16 -16
  185. package/docs/plantilla-logueado-con-selector-de-app.html +14 -14
  186. package/docs/plantilla-logueado-con-titulo-de-app.html +14 -14
  187. package/docs/plantilla-sin-loguear.html +14 -14
  188. package/docs/plantillas.html +89 -89
  189. package/docs/spinner-plantilla-con-header-advanced.html +2 -2
  190. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +4 -4
  191. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +2 -2
  192. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +2 -2
  193. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +2 -2
  194. package/docs/spinner-plantilla-sin-loguear.html +18 -18
  195. package/docs/sprints/01-combobox-template.md +433 -0
  196. package/docs/sprints/02-combobox-styles.md +291 -0
  197. package/docs/sprints/03-combobox-javascript.md +589 -0
  198. package/docs/sprints/04-combobox-integration.md +386 -0
  199. package/docs/sprints/05-combobox-refinamiento-w3c.md +55 -0
  200. package/package.json +61 -58
  201. package/public/images/demo-icon.svg +9 -0
  202. package/replit.md +74 -74
  203. package/src/EUPL-1.2.txt +287 -287
  204. package/src/css/base.css +44 -44
  205. package/src/css/component.form-group.css +24 -24
  206. package/src/css/component.headroom.css +32 -32
  207. package/src/css/component.text.css +169 -169
  208. package/src/css/styles.css +247 -246
  209. package/src/js/aria/MenuHorizontal.js +65 -65
  210. package/src/js/aria/MenuNavigation.js +34 -2
  211. package/src/js/aria/MenuVertical.js +60 -60
  212. package/src/js/aria/Nav.js +60 -60
  213. package/src/js/aria/PopupMenuAction.js +30 -12
  214. package/src/js/aria/accordion.js +264 -264
  215. package/src/js/aria/checkBoxes.js +52 -52
  216. package/src/js/aria/collapsible.js +44 -44
  217. package/src/js/aria/combobox.js +584 -0
  218. package/src/js/aria/dataGrid.js +950 -950
  219. package/src/js/aria/linksList.js +42 -42
  220. package/src/js/aria/notification.js +56 -56
  221. package/src/js/aria/radioButton.js +50 -50
  222. package/src/js/aria/toggle.js +61 -61
  223. package/src/js/aria/treegrid.js +507 -507
  224. package/src/js/aria/utils.js +219 -219
  225. package/src/js/desy-html.js +860 -813
  226. package/src/js/headroom.min.js +6 -6
  227. package/src/js/index.js +74 -72
  228. package/src/main.js +2 -2
  229. package/src/templates/components/accordion/_examples.accordion.njk +482 -482
  230. package/src/templates/components/accordion/_macro.accordion.njk +3 -3
  231. package/src/templates/components/accordion/_template.accordion.njk +131 -131
  232. package/src/templates/components/accordion/params.accordion.yaml +125 -125
  233. package/src/templates/components/accordion-history/_examples.accordion-history.njk +521 -521
  234. package/src/templates/components/accordion-history/_macro.accordion-history.njk +3 -3
  235. package/src/templates/components/accordion-history/_template.accordion-history.njk +193 -193
  236. package/src/templates/components/accordion-history/params.accordion-history.yaml +129 -129
  237. package/src/templates/components/alert/_examples.alert.njk +91 -91
  238. package/src/templates/components/alert/_macro.alert.njk +3 -3
  239. package/src/templates/components/alert/_styles.alert.css +9 -9
  240. package/src/templates/components/alert/_template.alert.njk +16 -16
  241. package/src/templates/components/alert/params.alert.yaml +25 -25
  242. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +464 -464
  243. package/src/templates/components/breadcrumbs/_macro.breadcrumbs.njk +3 -3
  244. package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +81 -81
  245. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +77 -77
  246. package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +44 -44
  247. package/src/templates/components/button/_examples.button.njk +518 -511
  248. package/src/templates/components/button/_macro.button.njk +3 -3
  249. package/src/templates/components/button/_styles.button.css +180 -180
  250. package/src/templates/components/button/_template.button.njk +49 -49
  251. package/src/templates/components/button/params.button.yaml +48 -48
  252. package/src/templates/components/button-loader/_examples.button-loader.njk +499 -492
  253. package/src/templates/components/button-loader/_macro.button-loader.njk +3 -3
  254. package/src/templates/components/button-loader/_styles.button-loader.css +194 -194
  255. package/src/templates/components/button-loader/_template.button-loader.njk +84 -84
  256. package/src/templates/components/button-loader/params.button-loader.yaml +74 -74
  257. package/src/templates/components/card/_examples.card.njk +381 -381
  258. package/src/templates/components/card/_macro.card.njk +3 -3
  259. package/src/templates/components/card/_template.card.njk +34 -34
  260. package/src/templates/components/card/params.card.yaml +112 -112
  261. package/src/templates/components/character-count/_examples.character-count.njk +195 -195
  262. package/src/templates/components/character-count/_macro.character-count.njk +5 -5
  263. package/src/templates/components/character-count/_template.character-count.njk +38 -38
  264. package/src/templates/components/character-count/params.character-count.yaml +77 -77
  265. package/src/templates/components/checkboxes/_examples.checkboxes.njk +835 -835
  266. package/src/templates/components/checkboxes/_macro.checkboxes.njk +3 -3
  267. package/src/templates/components/checkboxes/_styles.checkboxes.css +30 -30
  268. package/src/templates/components/checkboxes/_template.checkboxes.njk +137 -137
  269. package/src/templates/components/checkboxes/params.checkboxes.yaml +116 -116
  270. package/src/templates/components/collapsible/_examples.collapsible.njk +107 -107
  271. package/src/templates/components/collapsible/_macro.collapsible.njk +3 -3
  272. package/src/templates/components/collapsible/_styles.collapsible.css +35 -35
  273. package/src/templates/components/collapsible/_template.collapsible.njk +17 -17
  274. package/src/templates/components/collapsible/params.collapsible.yaml +48 -48
  275. package/src/templates/components/combobox/_examples.combobox.njk +440 -0
  276. package/src/templates/components/combobox/_macro.combobox.njk +3 -0
  277. package/src/templates/components/combobox/_styles.combobox.css +92 -0
  278. package/src/templates/components/combobox/_template.combobox.njk +97 -0
  279. package/src/templates/components/combobox/params.combobox.yaml +102 -0
  280. package/src/templates/components/date-input/_examples.date-input.njk +578 -578
  281. package/src/templates/components/date-input/_macro.date-input.njk +3 -3
  282. package/src/templates/components/date-input/_template.date-input.njk +125 -125
  283. package/src/templates/components/date-input/params.date-input.yaml +97 -97
  284. package/src/templates/components/datepicker/_examples.datepicker.njk +415 -415
  285. package/src/templates/components/datepicker/_macro.datepicker.njk +3 -3
  286. package/src/templates/components/datepicker/_styles.datepicker.css +87 -87
  287. package/src/templates/components/datepicker/_template.datepicker.njk +129 -129
  288. package/src/templates/components/datepicker/params.datepicker.yaml +104 -104
  289. package/src/templates/components/description-list/_examples.description-list.njk +502 -502
  290. package/src/templates/components/description-list/_macro.description-list.njk +3 -3
  291. package/src/templates/components/description-list/_template.description-list.njk +17 -17
  292. package/src/templates/components/description-list/params.description-list.yaml +61 -61
  293. package/src/templates/components/details/_examples.details.njk +68 -68
  294. package/src/templates/components/details/_macro.details.njk +3 -3
  295. package/src/templates/components/details/_template.details.njk +17 -17
  296. package/src/templates/components/details/params.details.yaml +40 -40
  297. package/src/templates/components/dialog/_examples.dialog.njk +156 -156
  298. package/src/templates/components/dialog/_macro.dialog.njk +3 -3
  299. package/src/templates/components/dialog/_styles.dialog.css +27 -27
  300. package/src/templates/components/dialog/_template.dialog.njk +12 -12
  301. package/src/templates/components/dialog/params.dialog.yaml +25 -25
  302. package/src/templates/components/dropdown/_examples.dropdown.njk +226 -226
  303. package/src/templates/components/dropdown/_macro.dropdown.njk +3 -3
  304. package/src/templates/components/dropdown/_styles.dropdown.css +191 -191
  305. package/src/templates/components/dropdown/_template.dropdown.njk +34 -34
  306. package/src/templates/components/dropdown/params.dropdown.yaml +32 -32
  307. package/src/templates/components/error-message/_examples.error-message.njk +28 -28
  308. package/src/templates/components/error-message/_macro.error-message.njk +5 -5
  309. package/src/templates/components/error-message/_template.error-message.njk +8 -8
  310. package/src/templates/components/error-message/params.error-message.yaml +23 -23
  311. package/src/templates/components/error-summary/_examples.error-summary.njk +111 -111
  312. package/src/templates/components/error-summary/_macro.error-summary.njk +5 -5
  313. package/src/templates/components/error-summary/_template.error-summary.njk +48 -48
  314. package/src/templates/components/error-summary/params.error-summary.yaml +50 -50
  315. package/src/templates/components/fieldset/_examples.fieldset.njk +79 -79
  316. package/src/templates/components/fieldset/_macro.fieldset.njk +2 -2
  317. package/src/templates/components/fieldset/_template.fieldset.njk +46 -46
  318. package/src/templates/components/fieldset/params.fieldset.yaml +49 -49
  319. package/src/templates/components/file-upload/_examples.file-upload.njk +103 -103
  320. package/src/templates/components/file-upload/_macro.file-upload.njk +2 -2
  321. package/src/templates/components/file-upload/_template.file-upload.njk +45 -45
  322. package/src/templates/components/file-upload/params.file-upload.yaml +48 -48
  323. package/src/templates/components/footer/_examples.footer.njk +558 -558
  324. package/src/templates/components/footer/_macro.footer.njk +3 -3
  325. package/src/templates/components/footer/_styles.footer.css +43 -43
  326. package/src/templates/components/footer/_template.footer.njk +130 -130
  327. package/src/templates/components/footer/params.footer.yaml +140 -140
  328. package/src/templates/components/header/_examples.header.njk +627 -627
  329. package/src/templates/components/header/_macro.header.header__dropdown.njk +3 -3
  330. package/src/templates/components/header/_macro.header.header__navigation.njk +3 -3
  331. package/src/templates/components/header/_macro.header.header__offcanvas.njk +3 -3
  332. package/src/templates/components/header/_macro.header.header__offcanvasButton.njk +3 -3
  333. package/src/templates/components/header/_macro.header.header__subnav.njk +3 -3
  334. package/src/templates/components/header/_macro.header.njk +3 -3
  335. package/src/templates/components/header/_styles.header.css +12 -12
  336. package/src/templates/components/header/_template.header.header__dropdown.njk +27 -27
  337. package/src/templates/components/header/_template.header.header__navigation.njk +25 -25
  338. package/src/templates/components/header/_template.header.header__offcanvas.njk +20 -20
  339. package/src/templates/components/header/_template.header.header__offcanvasButton.njk +10 -10
  340. package/src/templates/components/header/_template.header.header__subnav.njk +33 -33
  341. package/src/templates/components/header/_template.header.njk +155 -155
  342. package/src/templates/components/header/params.header.yaml +295 -295
  343. package/src/templates/components/header-advanced/_examples.header-advanced.njk +1110 -1110
  344. package/src/templates/components/header-advanced/_macro.header-advanced.njk +3 -3
  345. package/src/templates/components/header-advanced/_template.header-advanced.njk +171 -171
  346. package/src/templates/components/header-advanced/params.header-advanced.yaml +352 -350
  347. package/src/templates/components/header-mini/_examples.header-mini.njk +319 -316
  348. package/src/templates/components/header-mini/_macro.header-mini.njk +3 -3
  349. package/src/templates/components/header-mini/_template.header-mini.njk +51 -51
  350. package/src/templates/components/header-mini/params.header-mini.yaml +90 -90
  351. package/src/templates/components/hint/_examples.hint.njk +26 -26
  352. package/src/templates/components/hint/_macro.hint.njk +3 -3
  353. package/src/templates/components/hint/_template.hint.njk +3 -3
  354. package/src/templates/components/hint/params.hint.yaml +21 -21
  355. package/src/templates/components/input/_examples.input.njk +393 -393
  356. package/src/templates/components/input/_macro.input.njk +3 -3
  357. package/src/templates/components/input/_styles.input.css +17 -17
  358. package/src/templates/components/input/_template.input.njk +53 -53
  359. package/src/templates/components/input/params.input.yaml +80 -80
  360. package/src/templates/components/input-group/_examples.input-group.njk +558 -558
  361. package/src/templates/components/input-group/_macro.input-group.njk +3 -3
  362. package/src/templates/components/input-group/_template.input-group.njk +107 -107
  363. package/src/templates/components/input-group/params.input-group.yaml +123 -123
  364. package/src/templates/components/item/_examples.item.njk +370 -370
  365. package/src/templates/components/item/_macro.item.njk +3 -3
  366. package/src/templates/components/item/_template.item.njk +73 -73
  367. package/src/templates/components/item/params.item.yaml +101 -101
  368. package/src/templates/components/label/_examples.label.njk +58 -58
  369. package/src/templates/components/label/_macro.label.njk +5 -5
  370. package/src/templates/components/label/_template.label.njk +37 -37
  371. package/src/templates/components/label/params.label.yaml +28 -28
  372. package/src/templates/components/links-list/_examples.links-list.njk +761 -761
  373. package/src/templates/components/links-list/_macro.links-list.njk +3 -3
  374. package/src/templates/components/links-list/_template.links-list.njk +119 -119
  375. package/src/templates/components/links-list/params.links-list.yaml +101 -101
  376. package/src/templates/components/listbox/_examples.listbox.njk +813 -812
  377. package/src/templates/components/listbox/_macro.listbox.njk +3 -3
  378. package/src/templates/components/listbox/_styles.listbox.css +218 -218
  379. package/src/templates/components/listbox/_template.listbox.njk +90 -90
  380. package/src/templates/components/listbox/params.listbox.yaml +85 -85
  381. package/src/templates/components/media-object/_examples.media-object.njk +79 -79
  382. package/src/templates/components/media-object/_macro.media-object.njk +3 -3
  383. package/src/templates/components/media-object/_template.media-object.njk +21 -21
  384. package/src/templates/components/media-object/params.media-object.yaml +16 -16
  385. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +613 -613
  386. package/src/templates/components/menu-horizontal/_macro.menu-horizontal.njk +3 -3
  387. package/src/templates/components/menu-horizontal/_styles.menu-horizontal.css +167 -167
  388. package/src/templates/components/menu-horizontal/_template.menu-horizontal.njk +36 -36
  389. package/src/templates/components/menu-horizontal/params.menu-horizontal.yaml +53 -53
  390. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +1292 -1292
  391. package/src/templates/components/menu-navigation/_macro.menu-navigation.njk +3 -3
  392. package/src/templates/components/menu-navigation/_styles.menu-navigation.css +238 -238
  393. package/src/templates/components/menu-navigation/_template.menu-navigation.njk +87 -87
  394. package/src/templates/components/menu-navigation/params.menu-navigation.yaml +86 -86
  395. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +835 -835
  396. package/src/templates/components/menu-vertical/_macro.menu-vertical.njk +3 -3
  397. package/src/templates/components/menu-vertical/_template.menu-vertical.njk +92 -92
  398. package/src/templates/components/menu-vertical/params.menu-vertical.yaml +77 -77
  399. package/src/templates/components/menubar/_examples.menubar.njk +1843 -1843
  400. package/src/templates/components/menubar/_macro.menubar.njk +3 -3
  401. package/src/templates/components/menubar/_styles.menubar.css +259 -259
  402. package/src/templates/components/menubar/_template.menubar.njk +106 -106
  403. package/src/templates/components/menubar/params.menubar.yaml +130 -130
  404. package/src/templates/components/modal/_examples.modal.njk +432 -432
  405. package/src/templates/components/modal/_macro.modal.njk +3 -3
  406. package/src/templates/components/modal/_template.modal.njk +129 -129
  407. package/src/templates/components/modal/params.modal.yaml +77 -77
  408. package/src/templates/components/nav/_examples.nav.njk +468 -468
  409. package/src/templates/components/nav/_macro.nav.njk +3 -3
  410. package/src/templates/components/nav/_template.nav.njk +53 -53
  411. package/src/templates/components/nav/params.nav.yaml +61 -61
  412. package/src/templates/components/notification/_examples.notification.njk +277 -277
  413. package/src/templates/components/notification/_macro.notification.njk +3 -3
  414. package/src/templates/components/notification/_styles.notification.css +30 -30
  415. package/src/templates/components/notification/_template.notification.njk +86 -86
  416. package/src/templates/components/notification/params.notification.yaml +101 -101
  417. package/src/templates/components/pagination/_examples.pagination.njk +444 -444
  418. package/src/templates/components/pagination/_macro.pagination.njk +3 -3
  419. package/src/templates/components/pagination/_template.pagination.njk +162 -162
  420. package/src/templates/components/pagination/params.pagination.yaml +150 -150
  421. package/src/templates/components/pill/_examples.pill.njk +180 -180
  422. package/src/templates/components/pill/_macro.pill.njk +3 -3
  423. package/src/templates/components/pill/_styles.pill.css +59 -59
  424. package/src/templates/components/pill/_template.pill.njk +38 -38
  425. package/src/templates/components/pill/params.pill.yaml +28 -28
  426. package/src/templates/components/radios/_examples.radios.njk +698 -698
  427. package/src/templates/components/radios/_macro.radios.njk +5 -5
  428. package/src/templates/components/radios/_styles.radios.css +30 -30
  429. package/src/templates/components/radios/_template.radios.njk +133 -133
  430. package/src/templates/components/radios/params.radios.yaml +104 -104
  431. package/src/templates/components/searchbar/_examples.searchbar.njk +147 -147
  432. package/src/templates/components/searchbar/_macro.searchbar.njk +3 -3
  433. package/src/templates/components/searchbar/_template.searchbar.njk +45 -45
  434. package/src/templates/components/searchbar/params.searchbar.yaml +46 -46
  435. package/src/templates/components/select/_examples.select.njk +364 -364
  436. package/src/templates/components/select/_macro.select.njk +5 -5
  437. package/src/templates/components/select/_styles.select.css +45 -45
  438. package/src/templates/components/select/_template.select.njk +67 -67
  439. package/src/templates/components/select/params.select.yaml +93 -93
  440. package/src/templates/components/skip-link/_examples.skip-link.njk +31 -31
  441. package/src/templates/components/skip-link/_macro.skip-link.njk +3 -3
  442. package/src/templates/components/skip-link/_styles.skip-link.css +12 -12
  443. package/src/templates/components/skip-link/_template.skip-link.njk +4 -4
  444. package/src/templates/components/skip-link/params.skip-link.yaml +20 -20
  445. package/src/templates/components/spinner/_examples.spinner.njk +91 -101
  446. package/src/templates/components/spinner/_macro.spinner.njk +3 -3
  447. package/src/templates/components/spinner/_styles.spinner.css +33 -33
  448. package/src/templates/components/spinner/_template.spinner.njk +12 -12
  449. package/src/templates/components/spinner/params.spinner.yaml +12 -12
  450. package/src/templates/components/status/_examples.status.njk +80 -80
  451. package/src/templates/components/status/_macro.status.njk +3 -3
  452. package/src/templates/components/status/_template.status.njk +23 -23
  453. package/src/templates/components/status/params.status.yaml +24 -24
  454. package/src/templates/components/status-item/_examples.status-item.njk +319 -319
  455. package/src/templates/components/status-item/_macro.status-item.njk +3 -3
  456. package/src/templates/components/status-item/_template.status-item.njk +99 -99
  457. package/src/templates/components/status-item/params.status-item.yaml +106 -106
  458. package/src/templates/components/table/_examples.table.njk +705 -705
  459. package/src/templates/components/table/_macro.table.njk +3 -3
  460. package/src/templates/components/table/_styles.table.css +19 -19
  461. package/src/templates/components/table/_template.table.njk +68 -68
  462. package/src/templates/components/table/params.table.yaml +130 -130
  463. package/src/templates/components/table-advanced/_examples.table-advanced.njk +839 -839
  464. package/src/templates/components/table-advanced/_macro.table-advanced.njk +3 -3
  465. package/src/templates/components/table-advanced/_styles.table-advanced.css +63 -63
  466. package/src/templates/components/table-advanced/_template.table-advanced.njk +210 -210
  467. package/src/templates/components/table-advanced/params.table-advanced.yaml +160 -160
  468. package/src/templates/components/tabs/_examples.tabs.njk +588 -588
  469. package/src/templates/components/tabs/_macro.tabs.njk +3 -3
  470. package/src/templates/components/tabs/_styles.tabs.css +132 -132
  471. package/src/templates/components/tabs/_template.tabs.njk +70 -70
  472. package/src/templates/components/tabs/params.tabs.yaml +83 -83
  473. package/src/templates/components/textarea/_examples.textarea.njk +174 -174
  474. package/src/templates/components/textarea/_macro.textarea.njk +5 -5
  475. package/src/templates/components/textarea/_template.textarea.njk +47 -47
  476. package/src/templates/components/textarea/params.textarea.yaml +64 -64
  477. package/src/templates/components/toggle/_examples.toggle.njk +248 -248
  478. package/src/templates/components/toggle/_macro.toggle.njk +3 -3
  479. package/src/templates/components/toggle/_styles.toggle.css +31 -31
  480. package/src/templates/components/toggle/_template.toggle.njk +27 -27
  481. package/src/templates/components/toggle/params.toggle.yaml +69 -69
  482. package/src/templates/components/tooltip/_examples.tooltip.njk +134 -134
  483. package/src/templates/components/tooltip/_macro.tooltip.njk +3 -3
  484. package/src/templates/components/tooltip/_styles.tooltip.css +9 -9
  485. package/src/templates/components/tooltip/_template.tooltip.njk +40 -40
  486. package/src/templates/components/tooltip/params.tooltip.yaml +40 -40
  487. package/src/templates/components/tree/_examples.tree.njk +2671 -2671
  488. package/src/templates/components/tree/_macro.tree.njk +3 -3
  489. package/src/templates/components/tree/_styles.tree.css +54 -54
  490. package/src/templates/components/tree/_template.tree.njk +232 -232
  491. package/src/templates/components/tree/params.tree.yaml +173 -173
  492. package/src/templates/components/treegrid/_examples.treegrid.njk +1269 -1269
  493. package/src/templates/components/treegrid/_macro.treegrid.njk +3 -3
  494. package/src/templates/components/treegrid/_styles.treegrid.css +31 -31
  495. package/src/templates/components/treegrid/_template.treegrid.njk +90 -90
  496. package/src/templates/components/treegrid/params.treegrid.yaml +131 -131
  497. package/src/templates/includes/_abrir-notificaciones-extra.njk +2 -2
  498. package/src/templates/includes/_abrir-notificaciones.njk +2 -2
  499. package/src/templates/includes/_acciones-de-cabecera.njk +28 -28
  500. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +4 -4
  501. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +4 -4
  502. package/src/templates/includes/_test-include.njk +13 -13
  503. package/src/templates/pages/_page.foot-headroom.njk +30 -30
  504. package/src/templates/pages/_page.foot.njk +5 -5
  505. package/src/templates/pages/_page.footer.njk +19 -19
  506. package/src/templates/pages/_page.head.njk +27 -27
  507. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -31
  508. package/src/templates/pages/_page.notification-edit.njk +30 -30
  509. package/src/templates/pages/_page.notification-footer.njk +32 -32
  510. package/src/templates/pages/_page.notification-header-fixed.njk +30 -30
  511. package/src/templates/pages/_page.notification-header.njk +31 -31
  512. package/src/templates/pages/_page.sidebar-content.njk +20 -20
  513. package/src/templates/pages/_page.spinner-block.njk +14 -14
  514. package/src/templates/pages/_page.spinner-show.njk +15 -15
  515. package/src/templates/pages/_page.spinner.njk +15 -15
  516. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -36
  517. package/src/templates/pages/_template.edit-fixed.njk +74 -74
  518. package/src/templates/pages/_template.home.njk +111 -111
  519. package/src/templates/pages/_template.logged-out.njk +56 -56
  520. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +198 -198
  521. package/src/templates/pages/_template.logged-selector-fixed.njk +195 -195
  522. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -80
  523. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +28 -28
  524. package/src/templates/pages/_template.logged-selector.njk +195 -195
  525. package/src/templates/pages/_template.logged.njk +141 -141
  526. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -31
  527. package/src/templates/pages/_template.mfe.njk +83 -83
  528. package/src/templates/pages/_template.test.njk +48 -48
  529. package/src/templates/pages/_template.with-header-advanced.njk +311 -311
  530. package/vite.config.js +982 -955
  531. package/public/images/logo-educa-aragon.svg +0 -1
package/TESTING_PLAN.md CHANGED
@@ -1,376 +1,379 @@
1
- # Testing Plan for npm Publishing - desy-html
2
-
3
- This document defines the complete testing plan to execute before publishing the `desy-html` project to npm. The goal is to verify that all components, the branding system, the build, and interaction work correctly.
4
-
5
- ---
6
-
7
- ## 1. Pre-Build Checks
8
-
9
- ### 1.1. File and Structure Review
10
-
11
- - [ ] Verify all required files exist:
12
- - `package.json` with correct version, name, exports
13
- - `vite.config.js` exists with proper configuration
14
- - `branding/branding.config.js` exists with default configuration
15
- - `branding/vite-branding-plugin.js` exists
16
- - `src/js/index.js` JS entry point
17
- - `src/css/styles.css` main stylesheet
18
- - [ ] Verify logo files exist:
19
- - `branding/logos/aragon-compact.svg`
20
- - `branding/logos/aragon-expanded.svg`
21
- - `branding/logos/aragon-mini.svg`
22
- - `branding/logos/eu/logo-eu.svg`
23
- - `branding/logos/eu/logo-feder.svg`
24
- - `branding/logos/eu/logo-fse.svg`
25
- - `branding/logos/eu/logo-feader.svg`
26
- - `branding/logos/eu/logo-plurifondo.svg`
27
- - [ ] Verify background images exist:
28
- - `branding/images/header-background.svg`
29
- - `branding/images/header-background-lg.svg`
30
- - [ ] Verify favicon files exist:
31
- - `branding/logos/favicon.svg`
32
- - `branding/logos/favicon.ico`
33
- - `branding/logos/apple-touch-icon.png`
34
-
35
- ### 1.2. package.json Exports Review
36
-
37
- - [ ] Verify `exports["./branding"]` points to `./branding/branding.config.js`
38
- - [ ] Verify `exports["./branding/plugin"]` points to `./branding/vite-branding-plugin.js`
39
- - [ ] Verify version in `package.json` is correct
40
-
41
- ---
42
-
43
- ## 2. Production Build
44
-
45
- ### 2.1. Build Execution
46
-
47
- - [ ] Run `npm run build` without errors
48
- - [ ] Verify `dist/` folder is generated
49
- - [ ] Verify no errors in console output
50
-
51
- ### 2.2. Generated Files Verification
52
-
53
- - [ ] Verify `dist/index.html` exists
54
- - [ ] Verify `dist/css/styles.css` exists
55
- - [ ] Verify `dist/js/index.js` (or similar) exists
56
- - [ ] Verify `dist/images/` contains copied images:
57
- - Organization logos (aragon-*.svg)
58
- - EU logos (*.svg in subfolder or root)
59
- - Background images (header-background*.svg)
60
- - [ ] Verify favicon files are copied to dist (favicon.ico, apple-touch-icon.png)
61
-
62
- ### 2.3. Production Paths Verification
63
-
64
- - [ ] Verify CSS paths correctly point to `../images/`
65
- - [ ] Verify HTML image paths correctly point to `../images/`
66
- - [ ] Verify no references to `/src/` remain in generated files
67
- - [ ] Verify scripts have correct relative paths
68
-
69
- ---
70
-
71
- ## 3. Default Branding Tests
72
-
73
- ### 3.1. Browser Visual Verification
74
-
75
- Using the browser agent, test the following pages:
76
-
77
- #### Homepage
78
-
79
- - [ ] Load `docs/index.html` (or after build, `dist/index.html`)
80
- - [ ] Verify organization logo displays (not broken, no 404)
81
- - [ ] Verify primary colors are Aragón's (#00607a)
82
- - [ ] Verify typography is correct (Open Sans)
83
- - [ ] Verify favicon displays in browser tab (not broken, no 404)
84
-
85
- #### Header
86
-
87
- - [ ] `docs/examples-header.html` - Verify logo visible
88
- - [ ] `docs/examples-header.html` - Verify navigation menu
89
- - [ ] `docs/examples-header-advanced.html` - Verify advanced header
90
- - [ ] `docs/examples-header-mini.html` - Verify mini header
91
-
92
- #### Footer
93
-
94
- - [ ] `docs/examples-footer.html` - Verify EU logos visible
95
- - [ ] `docs/examples-footer.html` - Verify license information
96
- - [ ] `docs/examples-footer.html` - Verify correct colors
97
-
98
- #### Background Images
99
-
100
- - [ ] Verify `header-background.svg` displays in header
101
- - [ ] Verify `header-background-lg.svg` displays on desktop
102
-
103
- ### 3.2. JavaScript Verification
104
-
105
- - [ ] Verify `index.js` loads correctly (no 404 errors)
106
- - [ ] Verify no JavaScript errors in console
107
- - [ ] Verify JS modules resolve correctly
108
-
109
- ### 3.3. Interactive Components
110
-
111
- Test each interactive component:
112
-
113
- #### Navigation
114
-
115
- - [ ] Accordion: `docs/examples-accordion.html` - Open/close items
116
- - [ ] Tabs: `docs/examples-tabs.html` - Switch between tabs
117
- - [ ] Modal: `docs/examples-modal.html` - Open/close modal
118
- - [ ] Dialog: `docs/examples-dialog.html` - Interact with dialog
119
- - [ ] Tooltip: `docs/examples-tooltip.html` - Show tooltip
120
- - [ ] Dropdown: `docs/examples-dropdown.html` - Open/close dropdown
121
-
122
- #### Forms
123
-
124
- - [ ] Input: `docs/examples-input.html` - Write in inputs
125
- - [ ] Select: `docs/examples-select.html` - Select options
126
- - [ ] Checkboxes: `docs/examples-checkboxes.html` - Check/uncheck
127
- - [ ] Radios: `docs/examples-radios.html` - Select option
128
- - [ ] Toggle: `docs/examples-toggle.html` - Change state
129
- - [ ] Datepicker: `docs/examples-datepicker.html` - Select date
130
-
131
- #### Other Interactive
132
-
133
- - [ ] Details/Collapsible: `docs/examples-details.html` / `examples-collapsible.html` - Open/close
134
- - [ ] Notification: `docs/examples-notification.html` - Close notifications
135
- - [ ] Pagination: `docs/examples-pagination.html` - Change pages
136
- - [ ] Menu Horizontal: `docs/examples-menu-horizontal.html` - Navigate menus
137
- - [ ] Menu Vertical: `docs/examples-menu-vertical.html` - Navigate menus
138
- - [ ] Menubar: `docs/examples-menubar.html` - Navigate with keyboard
139
-
140
- ---
141
-
142
- ## 4. yourorganization Branding Tests
143
-
144
- ### 4.1. Alternative Configuration Build
145
-
146
- - [ ] Run `BRANDING_CONFIG=yourorganization npm run build`
147
- - [ ] Verify no errors
148
-
149
- ### 4.2. Visual Verification
150
-
151
- - [ ] Verify organization name changes (YourOrganization)
152
- - [ ] Verify logo changes (yourlogo-*.svg)
153
- - [ ] Verify typography changes (Inter/Nunito)
154
- - [ ] Verify color changes (if configured)
155
-
156
- ### 4.3. EU Logos Verification
157
-
158
- - [ ] Verify EU logos display correctly
159
- - [ ] Verify EU logo paths are correct
160
-
161
- ---
162
-
163
- ## 5. Responsive Tests
164
-
165
- ### 5.1. Mobile Viewport
166
-
167
- - [ ] Test with 375px wide viewport
168
- - [ ] Verify hamburger menu works
169
- - [ ] Verify compact logo displays
170
- - [ ] Verify correct background images (header-background.svg)
171
-
172
- ### 5.2. Tablet Viewport
173
-
174
- - [ ] Test with 768px wide viewport
175
- - [ ] Verify layout changes
176
-
177
- ### 5.3. Desktop Viewport
178
-
179
- - [ ] Test with 1280px wide viewport
180
- - [ ] Verify expanded logo displays
181
- - [ ] Verify correct background images (header-background-lg.svg)
182
-
183
- ---
184
-
185
- ## 6. Accessibility Tests
186
-
187
- ### 6.1. Automated Checks
188
-
189
- - [ ] No critical accessibility errors in console
190
- - [ ] Images have alt attribute
191
- - [ ] Forms have associated labels
192
- - [ ] Buttons have text or aria-label
193
-
194
- ### 6.2. Keyboard Navigation
195
-
196
- - [ ] Can navigate with Tab through elements
197
- - [ ] Modals can be closed with Escape
198
- - [ ] Dropdowns can be opened with Enter/Space
199
- - [ ] Accordions can be expanded with Enter/Space
200
-
201
- ---
202
-
203
- ## 7. Performance Tests
204
-
205
- ### 7.1. Page Load
206
-
207
- - [ ] Page loads without 404 errors
208
- - [ ] Images exist and load
209
- - [ ] CSS loads correctly
210
- - [ ] JS loads correctly
211
-
212
- ### 7.2. Build Size
213
-
214
- - [ ] Minified CSS has no syntax errors
215
- - [ ] Minified JS has no syntax errors
216
-
217
- ---
218
-
219
- ## 8. Plugins and Exports Tests
220
-
221
- ### 8.1. Exports Verification
222
-
223
- - [ ] `branding/branding.config.js` file can be imported
224
- - [ ] `branding/vite-branding-plugin.js` file can be imported
225
- - [ ] `brandingPlugin` and `loadBrandingConfig` functions are correctly exported
226
-
227
- ### 8.2. External Usage Verification
228
-
229
- - [ ] Verify plugin can load a configuration
230
- - [ ] Verify plugin can inject CSS variables
231
-
232
- ---
233
-
234
- ## 9. Pages to Test List
235
-
236
- ### Main Pages
237
-
238
- | Page | File | Priority |
239
- |------|------|----------|
240
- | Homepage | `index.html` | High |
241
- | Catalog | `catalogo.html` | High |
242
- | Components | `componentes.html` | High |
243
- | Styles | `estilos.html` | Medium |
244
-
245
- ### Component Examples
246
-
247
- | Component | File | Interactive |
248
- |-----------|------|-------------|
249
- | Header | `examples-header.html` | No |
250
- | Header Advanced | `examples-header-advanced.html` | No |
251
- | Header Mini | `examples-header-mini.html` | No |
252
- | Footer | `examples-footer.html` | No |
253
- | Accordion | `examples-accordion.html` | Yes |
254
- | Alert | `examples-alert.html` | Yes |
255
- | Breadcrumbs | `examples-breadcrumbs.html` | No |
256
- | Button | `examples-button.html` | No |
257
- | Card | `examples-card.html` | No |
258
- | Checkboxes | `examples-checkboxes.html` | Yes |
259
- | Collapsible | `examples-collapsible.html` | Yes |
260
- | Date Input | `examples-date-input.html` | Yes |
261
- | Datepicker | `examples-datepicker.html` | Yes |
262
- | Description List | `examples-description-list.html` | No |
263
- | Details | `examples-details.html` | Yes |
264
- | Dialog | `examples-dialog.html` | Yes |
265
- | Dropdown | `examples-dropdown.html` | Yes |
266
- | Error Message | `examples-error-message.html` | No |
267
- | Error Summary | `examples-error-summary.html` | Yes |
268
- | Fieldset | `examples-fieldset.html` | No |
269
- | File Upload | `examples-file-upload.html` | Yes |
270
- | Hint | `examples-hint.html` | No |
271
- | Input | `examples-input.html` | Yes |
272
- | Input Group | `examples-input-group.html` | Yes |
273
- | Item | `examples-item.html` | No |
274
- | Label | `examples-label.html` | No |
275
- | Links List | `examples-links-list.html` | Yes |
276
- | Listbox | `examples-listbox.html` | Yes |
277
- | Media Object | `examples-media-object.html` | No |
278
- | Menu Horizontal | `examples-menu-horizontal.html` | Yes |
279
- | Menu Navigation | `examples-menu-navigation.html` | Yes |
280
- | Menu Vertical | `examples-menu-vertical.html` | Yes |
281
- | Menubar | `examples-menubar.html` | Yes |
282
- | Modal | `examples-modal.html` | Yes |
283
- | Nav | `examples-nav.html` | No |
284
- | Notification | `examples-notification.html` | Yes |
285
- | Pagination | `examples-pagination.html` | Yes |
286
- | Pill | `examples-pill.html` | No |
287
- | Radios | `examples-radios.html` | Yes |
288
- | Searchbar | `examples-searchbar.html` | Yes |
289
- | Select | `examples-select.html` | Yes |
290
- | Skip Link | `examples-skip-link.html` | No |
291
- | Spinner | `examples-spinner.html` | No |
292
- | Status | `examples-status.html` | No |
293
- | Status Item | `examples-status-item.html` | No |
294
- | Table | `examples-table.html` | No |
295
- | Table Advanced | `examples-table-advanced.html` | No |
296
- | Tabs | `examples-tabs.html` | Yes |
297
- | Textarea | `examples-textarea.html` | Yes |
298
- | Toggle | `examples-toggle.html` | Yes |
299
- | Tooltip | `examples-tooltip.html` | Yes |
300
- | Tree | `examples-tree.html` | Yes |
301
- | Treegrid | `examples-treegrid.html` | Yes |
302
-
303
- ### Templates
304
-
305
- | Template | File |
306
- |----------|------|
307
- | Logged with fixed header | `plantilla-logueado-con-cabecera-fija.html` |
308
- | Logged with app selector | `plantilla-logueado-con-selector-de-app.html` |
309
- | Logged with app title | `plantilla-logueado-con-titulo-de-app.html` |
310
- | Not logged in | `plantilla-sin-loguear.html` |
311
- | With advanced header | `plantilla-con-header-advanced.html` |
312
-
313
- ---
314
-
315
- ## 10. Execution Commands
316
-
317
- ### Environment Setup
318
-
319
- ```bash
320
- # Install dependencies
321
- npm install
322
-
323
- # Production build with default branding
324
- npm run build
325
-
326
- # Production build with yourorganization branding
327
- BRANDING_CONFIG=yourorganization npm run build
328
-
329
- # Start preview server
330
- npm run preview
331
-
332
- # Start development server
333
- npm run dev
334
-
335
- # Start development server with yourorganization branding
336
- npm run dev:yourorganization
337
- ```
338
-
339
- ### Browser Agent Test Execution
340
-
341
- 1. Build the project: `npm run build`
342
- 2. Start preview: `npm run preview`
343
- 3. Use browser agent to navigate through listed pages
344
- 4. Verify visual elements, images, and console errors
345
-
346
- ---
347
-
348
- ## 11. Success Criteria
349
-
350
- The project is ready for npm publishing when:
351
-
352
- - [ ] Build runs without errors
353
- - [ ] All required files are in `dist/`
354
- - [ ] Production paths are correct
355
- - [ ] Default branding works correctly
356
- - [ ] yourorganization branding works correctly
357
- - [ ] Organization logos display correctly
358
- - [ ] EU logos display correctly
359
- - [ ] Header background images display correctly
360
- - [ ] Favicon files are generated and load correctly
361
- - [ ] All interactive components work correctly
362
- - [ ] No 404 errors in console
363
- - [ ] No JavaScript errors in console
364
- - [ ] Responsive design works correctly
365
- - [ ] npm exports work correctly
366
- - [ ] Keyboard navigation works on interactive components
367
-
368
- ---
369
-
370
- ## 12. Additional Notes
371
-
372
- - This testing plan covers 50+ example pages
373
- - Tests 20+ interactive components
374
- - Verifies complete branding system (default and yourorganization)
375
- - Verifies all resource paths (images, CSS, JS)
376
- - Verifies basic accessibility and keyboard navigation
1
+ # Testing Plan for npm Publishing - desy-html
2
+
3
+ This document defines the complete testing plan to execute before publishing the `desy-html` project to npm. The goal is to verify that all components, the branding system, the build, and interaction work correctly.
4
+
5
+ ---
6
+
7
+ ## 1. Pre-Build Checks
8
+
9
+ ### 1.1. File and Structure Review
10
+
11
+ - [ ] Verify all required files exist:
12
+ - `package.json` with correct version, name, exports
13
+ - `vite.config.js` exists with proper configuration
14
+ - `branding/branding.config.js` exists with default configuration
15
+ - `branding/vite-branding-plugin.js` exists
16
+ - `src/js/index.js` JS entry point
17
+ - `src/css/styles.css` main stylesheet
18
+ - [ ] Verify logo files exist:
19
+ - `branding/logos/aragon-compact.svg`
20
+ - `branding/logos/aragon-expanded.svg`
21
+ - `branding/logos/aragon-mini.svg`
22
+ - `branding/logos/eu/logo-eu.svg`
23
+ - `branding/logos/eu/logo-feder.svg`
24
+ - `branding/logos/eu/logo-fse.svg`
25
+ - `branding/logos/eu/logo-feader.svg`
26
+ - `branding/logos/eu/logo-plurifondo.svg`
27
+ - [ ] Verify background images exist:
28
+ - `branding/images/header-background.svg`
29
+ - `branding/images/header-background-lg.svg`
30
+ - [ ] Verify favicon files exist:
31
+ - `branding/logos/favicon.svg`
32
+ - `branding/logos/favicon.ico`
33
+ - `branding/logos/apple-touch-icon.png`
34
+
35
+ ### 1.2. package.json Exports Review
36
+
37
+ - [ ] Verify `exports["./branding"]` points to `./branding/branding.config.js`
38
+ - [ ] Verify `exports["./branding/plugin"]` points to `./branding/vite-branding-plugin.js`
39
+ - [ ] Verify version in `package.json` is correct
40
+
41
+ ---
42
+
43
+ ## 2. Production Build
44
+
45
+ ### 2.1. Build Execution
46
+
47
+ - [ ] Run `npm run build` without errors
48
+ - [ ] Verify `dist/` folder is generated
49
+ - [ ] Verify no errors in console output
50
+
51
+ ### 2.2. Generated Files Verification
52
+
53
+ - [ ] Verify `dist/index.html` exists
54
+ - [ ] Verify `dist/css/styles.css` exists
55
+ - [ ] Verify `dist/js/index.js` (or similar) exists
56
+ - [ ] Verify `dist/images/` contains copied images:
57
+ - Organization logos (aragon-*.svg)
58
+ - EU logos (*.svg in subfolder or root)
59
+ - Background images (header-background*.svg)
60
+ - [ ] Verify favicon files are copied to dist/images/:
61
+ - `dist/images/favicon.svg`
62
+ - `dist/images/favicon.ico`
63
+ - `dist/images/apple-touch-icon.png`
64
+
65
+ ### 2.3. Production Paths Verification
66
+
67
+ - [ ] Verify CSS paths correctly point to `../images/`
68
+ - [ ] Verify HTML image paths correctly point to `../images/`
69
+ - [ ] Verify no references to `/src/` remain in generated files
70
+ - [ ] Verify scripts have correct relative paths
71
+
72
+ ---
73
+
74
+ ## 3. Default Branding Tests
75
+
76
+ ### 3.1. Browser Visual Verification
77
+
78
+ Using the browser agent, test the following pages:
79
+
80
+ #### Homepage
81
+
82
+ - [ ] Load `docs/index.html` (or after build, `dist/index.html`)
83
+ - [ ] Verify organization logo displays (not broken, no 404)
84
+ - [ ] Verify primary colors are Aragón's (#00607a)
85
+ - [ ] Verify typography is correct (Open Sans)
86
+ - [ ] Verify favicon displays in browser tab (all 3: svg, ico, apple-touch-icon in /images/)
87
+
88
+ #### Header
89
+
90
+ - [ ] `docs/examples-header.html` - Verify logo visible
91
+ - [ ] `docs/examples-header.html` - Verify navigation menu
92
+ - [ ] `docs/examples-header-advanced.html` - Verify advanced header
93
+ - [ ] `docs/examples-header-mini.html` - Verify mini header
94
+
95
+ #### Footer
96
+
97
+ - [ ] `docs/examples-footer.html` - Verify EU logos visible
98
+ - [ ] `docs/examples-footer.html` - Verify license information
99
+ - [ ] `docs/examples-footer.html` - Verify correct colors
100
+
101
+ #### Background Images
102
+
103
+ - [ ] Verify `header-background.svg` displays in header
104
+ - [ ] Verify `header-background-lg.svg` displays on desktop
105
+
106
+ ### 3.2. JavaScript Verification
107
+
108
+ - [ ] Verify `index.js` loads correctly (no 404 errors)
109
+ - [ ] Verify no JavaScript errors in console
110
+ - [ ] Verify JS modules resolve correctly
111
+
112
+ ### 3.3. Interactive Components
113
+
114
+ Test each interactive component:
115
+
116
+ #### Navigation
117
+
118
+ - [ ] Accordion: `docs/examples-accordion.html` - Open/close items
119
+ - [ ] Tabs: `docs/examples-tabs.html` - Switch between tabs
120
+ - [ ] Modal: `docs/examples-modal.html` - Open/close modal
121
+ - [ ] Dialog: `docs/examples-dialog.html` - Interact with dialog
122
+ - [ ] Tooltip: `docs/examples-tooltip.html` - Show tooltip
123
+ - [ ] Dropdown: `docs/examples-dropdown.html` - Open/close dropdown
124
+
125
+ #### Forms
126
+
127
+ - [ ] Input: `docs/examples-input.html` - Write in inputs
128
+ - [ ] Select: `docs/examples-select.html` - Select options
129
+ - [ ] Checkboxes: `docs/examples-checkboxes.html` - Check/uncheck
130
+ - [ ] Radios: `docs/examples-radios.html` - Select option
131
+ - [ ] Toggle: `docs/examples-toggle.html` - Change state
132
+ - [ ] Datepicker: `docs/examples-datepicker.html` - Select date
133
+
134
+ #### Other Interactive
135
+
136
+ - [ ] Details/Collapsible: `docs/examples-details.html` / `examples-collapsible.html` - Open/close
137
+ - [ ] Notification: `docs/examples-notification.html` - Close notifications
138
+ - [ ] Pagination: `docs/examples-pagination.html` - Change pages
139
+ - [ ] Menu Horizontal: `docs/examples-menu-horizontal.html` - Navigate menus
140
+ - [ ] Menu Vertical: `docs/examples-menu-vertical.html` - Navigate menus
141
+ - [ ] Menubar: `docs/examples-menubar.html` - Navigate with keyboard
142
+
143
+ ---
144
+
145
+ ## 4. yourorganization Branding Tests
146
+
147
+ ### 4.1. Alternative Configuration Build
148
+
149
+ - [ ] Run `BRANDING_CONFIG=yourorganization npm run build`
150
+ - [ ] Verify no errors
151
+
152
+ ### 4.2. Visual Verification
153
+
154
+ - [ ] Verify organization name changes (YourOrganization)
155
+ - [ ] Verify logo changes (yourlogo-*.svg)
156
+ - [ ] Verify typography changes (Inter/Nunito)
157
+ - [ ] Verify color changes (if configured)
158
+
159
+ ### 4.3. EU Logos Verification
160
+
161
+ - [ ] Verify EU logos display correctly
162
+ - [ ] Verify EU logo paths are correct
163
+
164
+ ---
165
+
166
+ ## 5. Responsive Tests
167
+
168
+ ### 5.1. Mobile Viewport
169
+
170
+ - [ ] Test with 375px wide viewport
171
+ - [ ] Verify hamburger menu works
172
+ - [ ] Verify compact logo displays
173
+ - [ ] Verify correct background images (header-background.svg)
174
+
175
+ ### 5.2. Tablet Viewport
176
+
177
+ - [ ] Test with 768px wide viewport
178
+ - [ ] Verify layout changes
179
+
180
+ ### 5.3. Desktop Viewport
181
+
182
+ - [ ] Test with 1280px wide viewport
183
+ - [ ] Verify expanded logo displays
184
+ - [ ] Verify correct background images (header-background-lg.svg)
185
+
186
+ ---
187
+
188
+ ## 6. Accessibility Tests
189
+
190
+ ### 6.1. Automated Checks
191
+
192
+ - [ ] No critical accessibility errors in console
193
+ - [ ] Images have alt attribute
194
+ - [ ] Forms have associated labels
195
+ - [ ] Buttons have text or aria-label
196
+
197
+ ### 6.2. Keyboard Navigation
198
+
199
+ - [ ] Can navigate with Tab through elements
200
+ - [ ] Modals can be closed with Escape
201
+ - [ ] Dropdowns can be opened with Enter/Space
202
+ - [ ] Accordions can be expanded with Enter/Space
203
+
204
+ ---
205
+
206
+ ## 7. Performance Tests
207
+
208
+ ### 7.1. Page Load
209
+
210
+ - [ ] Page loads without 404 errors
211
+ - [ ] Images exist and load
212
+ - [ ] CSS loads correctly
213
+ - [ ] JS loads correctly
214
+
215
+ ### 7.2. Build Size
216
+
217
+ - [ ] Minified CSS has no syntax errors
218
+ - [ ] Minified JS has no syntax errors
219
+
220
+ ---
221
+
222
+ ## 8. Plugins and Exports Tests
223
+
224
+ ### 8.1. Exports Verification
225
+
226
+ - [ ] `branding/branding.config.js` file can be imported
227
+ - [ ] `branding/vite-branding-plugin.js` file can be imported
228
+ - [ ] `brandingPlugin` and `loadBrandingConfig` functions are correctly exported
229
+
230
+ ### 8.2. External Usage Verification
231
+
232
+ - [ ] Verify plugin can load a configuration
233
+ - [ ] Verify plugin can inject CSS variables
234
+
235
+ ---
236
+
237
+ ## 9. Pages to Test List
238
+
239
+ ### Main Pages
240
+
241
+ | Page | File | Priority |
242
+ |------|------|----------|
243
+ | Homepage | `index.html` | High |
244
+ | Catalog | `catalogo.html` | High |
245
+ | Components | `componentes.html` | High |
246
+ | Styles | `estilos.html` | Medium |
247
+
248
+ ### Component Examples
249
+
250
+ | Component | File | Interactive |
251
+ |-----------|------|-------------|
252
+ | Header | `examples-header.html` | No |
253
+ | Header Advanced | `examples-header-advanced.html` | No |
254
+ | Header Mini | `examples-header-mini.html` | No |
255
+ | Footer | `examples-footer.html` | No |
256
+ | Accordion | `examples-accordion.html` | Yes |
257
+ | Alert | `examples-alert.html` | Yes |
258
+ | Breadcrumbs | `examples-breadcrumbs.html` | No |
259
+ | Button | `examples-button.html` | No |
260
+ | Card | `examples-card.html` | No |
261
+ | Checkboxes | `examples-checkboxes.html` | Yes |
262
+ | Collapsible | `examples-collapsible.html` | Yes |
263
+ | Date Input | `examples-date-input.html` | Yes |
264
+ | Datepicker | `examples-datepicker.html` | Yes |
265
+ | Description List | `examples-description-list.html` | No |
266
+ | Details | `examples-details.html` | Yes |
267
+ | Dialog | `examples-dialog.html` | Yes |
268
+ | Dropdown | `examples-dropdown.html` | Yes |
269
+ | Error Message | `examples-error-message.html` | No |
270
+ | Error Summary | `examples-error-summary.html` | Yes |
271
+ | Fieldset | `examples-fieldset.html` | No |
272
+ | File Upload | `examples-file-upload.html` | Yes |
273
+ | Hint | `examples-hint.html` | No |
274
+ | Input | `examples-input.html` | Yes |
275
+ | Input Group | `examples-input-group.html` | Yes |
276
+ | Item | `examples-item.html` | No |
277
+ | Label | `examples-label.html` | No |
278
+ | Links List | `examples-links-list.html` | Yes |
279
+ | Listbox | `examples-listbox.html` | Yes |
280
+ | Media Object | `examples-media-object.html` | No |
281
+ | Menu Horizontal | `examples-menu-horizontal.html` | Yes |
282
+ | Menu Navigation | `examples-menu-navigation.html` | Yes |
283
+ | Menu Vertical | `examples-menu-vertical.html` | Yes |
284
+ | Menubar | `examples-menubar.html` | Yes |
285
+ | Modal | `examples-modal.html` | Yes |
286
+ | Nav | `examples-nav.html` | No |
287
+ | Notification | `examples-notification.html` | Yes |
288
+ | Pagination | `examples-pagination.html` | Yes |
289
+ | Pill | `examples-pill.html` | No |
290
+ | Radios | `examples-radios.html` | Yes |
291
+ | Searchbar | `examples-searchbar.html` | Yes |
292
+ | Select | `examples-select.html` | Yes |
293
+ | Skip Link | `examples-skip-link.html` | No |
294
+ | Spinner | `examples-spinner.html` | No |
295
+ | Status | `examples-status.html` | No |
296
+ | Status Item | `examples-status-item.html` | No |
297
+ | Table | `examples-table.html` | No |
298
+ | Table Advanced | `examples-table-advanced.html` | No |
299
+ | Tabs | `examples-tabs.html` | Yes |
300
+ | Textarea | `examples-textarea.html` | Yes |
301
+ | Toggle | `examples-toggle.html` | Yes |
302
+ | Tooltip | `examples-tooltip.html` | Yes |
303
+ | Tree | `examples-tree.html` | Yes |
304
+ | Treegrid | `examples-treegrid.html` | Yes |
305
+
306
+ ### Templates
307
+
308
+ | Template | File |
309
+ |----------|------|
310
+ | Logged with fixed header | `plantilla-logueado-con-cabecera-fija.html` |
311
+ | Logged with app selector | `plantilla-logueado-con-selector-de-app.html` |
312
+ | Logged with app title | `plantilla-logueado-con-titulo-de-app.html` |
313
+ | Not logged in | `plantilla-sin-loguear.html` |
314
+ | With advanced header | `plantilla-con-header-advanced.html` |
315
+
316
+ ---
317
+
318
+ ## 10. Execution Commands
319
+
320
+ ### Environment Setup
321
+
322
+ ```bash
323
+ # Install dependencies
324
+ npm install
325
+
326
+ # Production build with default branding
327
+ npm run build
328
+
329
+ # Production build with yourorganization branding
330
+ BRANDING_CONFIG=yourorganization npm run build
331
+
332
+ # Start preview server
333
+ npm run preview
334
+
335
+ # Start development server
336
+ npm run dev
337
+
338
+ # Start development server with yourorganization branding
339
+ npm run dev:yourorganization
340
+ ```
341
+
342
+ ### Browser Agent Test Execution
343
+
344
+ 1. Build the project: `npm run build`
345
+ 2. Start preview: `npm run preview`
346
+ 3. Use browser agent to navigate through listed pages
347
+ 4. Verify visual elements, images, and console errors
348
+
349
+ ---
350
+
351
+ ## 11. Success Criteria
352
+
353
+ The project is ready for npm publishing when:
354
+
355
+ - [ ] Build runs without errors
356
+ - [ ] All required files are in `dist/`
357
+ - [ ] Production paths are correct
358
+ - [ ] Default branding works correctly
359
+ - [ ] yourorganization branding works correctly
360
+ - [ ] Organization logos display correctly
361
+ - [ ] EU logos display correctly
362
+ - [ ] Header background images display correctly
363
+ - [ ] Favicon files are generated and load correctly
364
+ - [ ] All interactive components work correctly
365
+ - [ ] No 404 errors in console
366
+ - [ ] No JavaScript errors in console
367
+ - [ ] Responsive design works correctly
368
+ - [ ] npm exports work correctly
369
+ - [ ] Keyboard navigation works on interactive components
370
+
371
+ ---
372
+
373
+ ## 12. Additional Notes
374
+
375
+ - This testing plan covers 50+ example pages
376
+ - Tests 20+ interactive components
377
+ - Verifies complete branding system (default and yourorganization)
378
+ - Verifies all resource paths (images, CSS, JS)
379
+ - Verifies basic accessibility and keyboard navigation