desy-html 16.0.4 → 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 (528) hide show
  1. package/.node-version +1 -1
  2. package/.nvmrc +1 -1
  3. package/AGENTS.md +207 -207
  4. package/README.md +203 -203
  5. package/TESTING_PLAN.md +379 -379
  6. package/branding/BRANDING.md +398 -398
  7. package/branding/branding.config.js +76 -76
  8. package/branding/branding.config.yourorganization.js +72 -72
  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-favicon.svg +13 -13
  17. package/branding/vite-branding-plugin.js +221 -221
  18. package/docs/_global.content-placeholder.njk +7 -7
  19. package/docs/_global.foot.njk +11 -11
  20. package/docs/_global.head.njk +42 -42
  21. package/docs/_include.template-header.njk +391 -386
  22. package/docs/_macro.component-example.njk +6 -6
  23. package/docs/_macro.example-render.njk +350 -346
  24. package/docs/_macro.load-component-params.njk +2 -2
  25. package/docs/_macro.load-component-template.njk +3 -3
  26. package/docs/_macro.render-caller.njk +3 -3
  27. package/docs/_macro.show-code-from-file.njk +57 -57
  28. package/docs/_macro.show-html-from-file.njk +42 -42
  29. package/docs/_template.default.njk +8 -8
  30. package/docs/_template.examples.njk +13 -13
  31. package/docs/catalogo.html +27 -27
  32. package/docs/componentes.html +187 -184
  33. package/docs/ds/_ds.example.accordion.njk +109 -109
  34. package/docs/ds/_ds.example.border.njk +39 -39
  35. package/docs/ds/_ds.example.botones-alert-sm.njk +264 -264
  36. package/docs/ds/_ds.example.botones-alert.njk +264 -264
  37. package/docs/ds/_ds.example.botones-default-sm.njk +264 -264
  38. package/docs/ds/_ds.example.botones-default.njk +258 -258
  39. package/docs/ds/_ds.example.botones-primary-lg.njk +264 -264
  40. package/docs/ds/_ds.example.botones-primary-sm.njk +264 -264
  41. package/docs/ds/_ds.example.botones-primary.njk +264 -264
  42. package/docs/ds/_ds.example.botones-transparent-sm.njk +264 -264
  43. package/docs/ds/_ds.example.botones-transparent.njk +264 -264
  44. package/docs/ds/_ds.example.breadcrumbs.njk +65 -65
  45. package/docs/ds/_ds.example.card.njk +198 -198
  46. package/docs/ds/_ds.example.checkboxes.njk +377 -377
  47. package/docs/ds/_ds.example.collapsible.njk +18 -18
  48. package/docs/ds/_ds.example.color-de-interaccion.njk +16 -16
  49. package/docs/ds/_ds.example.colores-cabecera.njk +15 -15
  50. package/docs/ds/_ds.example.colores-de-soporte.njk +82 -82
  51. package/docs/ds/_ds.example.colores-neutros.njk +26 -26
  52. package/docs/ds/_ds.example.combobox.njk +91 -0
  53. package/docs/ds/_ds.example.date-input.njk +363 -363
  54. package/docs/ds/_ds.example.description-list.njk +289 -289
  55. package/docs/ds/_ds.example.details.njk +23 -23
  56. package/docs/ds/_ds.example.dropdowns-default.njk +186 -186
  57. package/docs/ds/_ds.example.dropdowns-en-uso.njk +105 -105
  58. package/docs/ds/_ds.example.dropdowns-variaciones.njk +224 -224
  59. package/docs/ds/_ds.example.error-summary.njk +34 -34
  60. package/docs/ds/_ds.example.file-upload.njk +54 -54
  61. package/docs/ds/_ds.example.footer.njk +28 -28
  62. package/docs/ds/_ds.example.header-advanced.njk +70 -70
  63. package/docs/ds/_ds.example.header.njk +211 -211
  64. package/docs/ds/_ds.example.input-group.njk +242 -242
  65. package/docs/ds/_ds.example.input.njk +164 -164
  66. package/docs/ds/_ds.example.item.njk +176 -176
  67. package/docs/ds/_ds.example.layout-escritorio.njk +38 -38
  68. package/docs/ds/_ds.example.layout-movil.njk +14 -14
  69. package/docs/ds/_ds.example.layout-sidebar.njk +11 -11
  70. package/docs/ds/_ds.example.links-list.njk +170 -170
  71. package/docs/ds/_ds.example.listbox-default.njk +677 -677
  72. package/docs/ds/_ds.example.listbox-variaciones.njk +824 -824
  73. package/docs/ds/_ds.example.menu-horizontal.njk +66 -66
  74. package/docs/ds/_ds.example.menu-navigation.njk +493 -493
  75. package/docs/ds/_ds.example.menu-vertical.njk +129 -129
  76. package/docs/ds/_ds.example.menubar-en-uso.njk +244 -244
  77. package/docs/ds/_ds.example.menubar-variaciones.njk +785 -785
  78. package/docs/ds/_ds.example.modal.njk +210 -210
  79. package/docs/ds/_ds.example.nav.njk +158 -158
  80. package/docs/ds/_ds.example.notification.njk +122 -122
  81. package/docs/ds/_ds.example.pagination.njk +190 -190
  82. package/docs/ds/_ds.example.pills.njk +215 -215
  83. package/docs/ds/_ds.example.radios.njk +419 -419
  84. package/docs/ds/_ds.example.searchbar.njk +87 -87
  85. package/docs/ds/_ds.example.select.njk +390 -390
  86. package/docs/ds/_ds.example.status-item.njk +239 -239
  87. package/docs/ds/_ds.example.status.njk +47 -47
  88. package/docs/ds/_ds.example.table.njk +740 -740
  89. package/docs/ds/_ds.example.tabs.njk +136 -136
  90. package/docs/ds/_ds.example.textarea.njk +237 -237
  91. package/docs/ds/_ds.example.textos.njk +32 -32
  92. package/docs/ds/_ds.example.toggle.njk +75 -75
  93. package/docs/ds/_ds.example.tree.njk +456 -456
  94. package/docs/ds/_ds.example.treegrid.njk +810 -810
  95. package/docs/ds/_ds.example.typography.njk +225 -225
  96. package/docs/ds/_ds.macro.code-snippet.njk +32 -32
  97. package/docs/ds/_ds.macro.section-title.njk +2 -2
  98. package/docs/ds/_ds.macro.subsection-title.njk +2 -2
  99. package/docs/ds/_ds.section.avisos.njk +22 -22
  100. package/docs/ds/_ds.section.botones.njk +53 -53
  101. package/docs/ds/_ds.section.campo-y-area-de-texto.njk +19 -19
  102. package/docs/ds/_ds.section.color.njk +147 -147
  103. package/docs/ds/_ds.section.datos.njk +42 -42
  104. package/docs/ds/_ds.section.dropdowns.njk +23 -23
  105. package/docs/ds/_ds.section.espaciado.njk +296 -296
  106. package/docs/ds/_ds.section.forms.njk +73 -68
  107. package/docs/ds/_ds.section.informacion.njk +12 -12
  108. package/docs/ds/_ds.section.layout.njk +63 -63
  109. package/docs/ds/_ds.section.menubar.njk +18 -18
  110. package/docs/ds/_ds.section.mostrar-ocultar.njk +33 -33
  111. package/docs/ds/_ds.section.navigation.njk +57 -57
  112. package/docs/ds/_ds.section.textos.njk +287 -287
  113. package/docs/ds/_ds.section.typography.njk +28 -28
  114. package/docs/estilos.html +37 -37
  115. package/docs/examples-accordion-history.html +8 -8
  116. package/docs/examples-accordion.html +8 -8
  117. package/docs/examples-alert.html +8 -8
  118. package/docs/examples-breadcrumbs.html +8 -8
  119. package/docs/examples-button-loader.html +8 -8
  120. package/docs/examples-button.html +8 -8
  121. package/docs/examples-card.html +8 -8
  122. package/docs/examples-character-count.html +8 -8
  123. package/docs/examples-checkboxes.html +8 -8
  124. package/docs/examples-collapsible.html +8 -8
  125. package/docs/examples-combobox.html +8 -0
  126. package/docs/examples-date-input.html +8 -8
  127. package/docs/examples-datepicker.html +8 -8
  128. package/docs/examples-description-list.html +8 -8
  129. package/docs/examples-details.html +8 -8
  130. package/docs/examples-dialog.html +8 -8
  131. package/docs/examples-dropdown.html +8 -8
  132. package/docs/examples-error-message.html +8 -8
  133. package/docs/examples-error-summary.html +8 -8
  134. package/docs/examples-fieldset.html +8 -8
  135. package/docs/examples-file-upload.html +8 -8
  136. package/docs/examples-footer.html +8 -8
  137. package/docs/examples-header-advanced.html +8 -8
  138. package/docs/examples-header-mini.html +8 -8
  139. package/docs/examples-header.html +8 -8
  140. package/docs/examples-hint.html +8 -8
  141. package/docs/examples-input-group.html +8 -8
  142. package/docs/examples-input.html +8 -8
  143. package/docs/examples-item.html +8 -8
  144. package/docs/examples-label.html +8 -8
  145. package/docs/examples-links-list.html +8 -8
  146. package/docs/examples-listbox.html +8 -8
  147. package/docs/examples-media-object.html +8 -8
  148. package/docs/examples-menu-horizontal.html +8 -8
  149. package/docs/examples-menu-navigation.html +8 -8
  150. package/docs/examples-menu-vertical.html +8 -8
  151. package/docs/examples-menubar.html +8 -8
  152. package/docs/examples-modal.html +8 -8
  153. package/docs/examples-nav.html +8 -8
  154. package/docs/examples-notification.html +8 -8
  155. package/docs/examples-pagination.html +8 -8
  156. package/docs/examples-pill.html +8 -8
  157. package/docs/examples-radios.html +8 -8
  158. package/docs/examples-searchbar.html +8 -8
  159. package/docs/examples-select.html +8 -8
  160. package/docs/examples-skip-link.html +8 -8
  161. package/docs/examples-spinner.html +8 -8
  162. package/docs/examples-status-item.html +8 -8
  163. package/docs/examples-status.html +8 -8
  164. package/docs/examples-table-advanced.html +8 -8
  165. package/docs/examples-table.html +8 -8
  166. package/docs/examples-tabs.html +8 -8
  167. package/docs/examples-textarea.html +8 -8
  168. package/docs/examples-toggle.html +8 -8
  169. package/docs/examples-tooltip.html +8 -8
  170. package/docs/examples-tree.html +8 -8
  171. package/docs/examples-treegrid.html +8 -8
  172. package/docs/index.html +914 -908
  173. package/docs/pagina-accesibilidad.html +110 -110
  174. package/docs/pagina-mapa-web.html +137 -137
  175. package/docs/pagina-prueba.html +95 -95
  176. package/docs/plantilla-con-header-advanced.html +14 -14
  177. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +154 -154
  178. package/docs/plantilla-editar-con-cabecera-fija.html +17 -17
  179. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +15 -15
  180. package/docs/plantilla-logueado-con-cabecera-fija.html +15 -15
  181. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +164 -164
  182. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +16 -16
  183. package/docs/plantilla-logueado-con-selector-de-app.html +14 -14
  184. package/docs/plantilla-logueado-con-titulo-de-app.html +14 -14
  185. package/docs/plantilla-sin-loguear.html +14 -14
  186. package/docs/plantillas.html +89 -89
  187. package/docs/spinner-plantilla-con-header-advanced.html +2 -2
  188. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +4 -4
  189. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +2 -2
  190. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +2 -2
  191. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +2 -2
  192. package/docs/spinner-plantilla-sin-loguear.html +18 -18
  193. package/docs/sprints/01-combobox-template.md +433 -0
  194. package/docs/sprints/02-combobox-styles.md +291 -0
  195. package/docs/sprints/03-combobox-javascript.md +589 -0
  196. package/docs/sprints/04-combobox-integration.md +386 -0
  197. package/docs/sprints/05-combobox-refinamiento-w3c.md +55 -0
  198. package/package.json +61 -61
  199. package/public/images/demo-icon.svg +9 -9
  200. package/replit.md +74 -74
  201. package/src/EUPL-1.2.txt +287 -287
  202. package/src/css/base.css +44 -44
  203. package/src/css/component.form-group.css +24 -24
  204. package/src/css/component.headroom.css +32 -32
  205. package/src/css/component.text.css +169 -169
  206. package/src/css/styles.css +247 -246
  207. package/src/js/aria/MenuHorizontal.js +65 -65
  208. package/src/js/aria/MenuNavigation.js +34 -2
  209. package/src/js/aria/MenuVertical.js +60 -60
  210. package/src/js/aria/Nav.js +60 -60
  211. package/src/js/aria/PopupMenuAction.js +30 -12
  212. package/src/js/aria/accordion.js +264 -264
  213. package/src/js/aria/checkBoxes.js +52 -52
  214. package/src/js/aria/collapsible.js +44 -44
  215. package/src/js/aria/combobox.js +584 -0
  216. package/src/js/aria/dataGrid.js +950 -950
  217. package/src/js/aria/linksList.js +42 -42
  218. package/src/js/aria/notification.js +56 -56
  219. package/src/js/aria/radioButton.js +50 -50
  220. package/src/js/aria/toggle.js +61 -61
  221. package/src/js/aria/treegrid.js +507 -507
  222. package/src/js/aria/utils.js +219 -219
  223. package/src/js/desy-html.js +860 -813
  224. package/src/js/headroom.min.js +6 -6
  225. package/src/js/index.js +74 -72
  226. package/src/main.js +2 -2
  227. package/src/templates/components/accordion/_examples.accordion.njk +482 -482
  228. package/src/templates/components/accordion/_macro.accordion.njk +3 -3
  229. package/src/templates/components/accordion/_template.accordion.njk +131 -131
  230. package/src/templates/components/accordion/params.accordion.yaml +125 -125
  231. package/src/templates/components/accordion-history/_examples.accordion-history.njk +521 -521
  232. package/src/templates/components/accordion-history/_macro.accordion-history.njk +3 -3
  233. package/src/templates/components/accordion-history/_template.accordion-history.njk +193 -193
  234. package/src/templates/components/accordion-history/params.accordion-history.yaml +129 -129
  235. package/src/templates/components/alert/_examples.alert.njk +91 -91
  236. package/src/templates/components/alert/_macro.alert.njk +3 -3
  237. package/src/templates/components/alert/_styles.alert.css +9 -9
  238. package/src/templates/components/alert/_template.alert.njk +16 -16
  239. package/src/templates/components/alert/params.alert.yaml +25 -25
  240. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +464 -464
  241. package/src/templates/components/breadcrumbs/_macro.breadcrumbs.njk +3 -3
  242. package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +81 -81
  243. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +77 -77
  244. package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +44 -44
  245. package/src/templates/components/button/_examples.button.njk +518 -511
  246. package/src/templates/components/button/_macro.button.njk +3 -3
  247. package/src/templates/components/button/_styles.button.css +180 -180
  248. package/src/templates/components/button/_template.button.njk +49 -49
  249. package/src/templates/components/button/params.button.yaml +48 -48
  250. package/src/templates/components/button-loader/_examples.button-loader.njk +499 -492
  251. package/src/templates/components/button-loader/_macro.button-loader.njk +3 -3
  252. package/src/templates/components/button-loader/_styles.button-loader.css +194 -194
  253. package/src/templates/components/button-loader/_template.button-loader.njk +84 -84
  254. package/src/templates/components/button-loader/params.button-loader.yaml +74 -74
  255. package/src/templates/components/card/_examples.card.njk +381 -381
  256. package/src/templates/components/card/_macro.card.njk +3 -3
  257. package/src/templates/components/card/_template.card.njk +34 -34
  258. package/src/templates/components/card/params.card.yaml +112 -112
  259. package/src/templates/components/character-count/_examples.character-count.njk +195 -195
  260. package/src/templates/components/character-count/_macro.character-count.njk +5 -5
  261. package/src/templates/components/character-count/_template.character-count.njk +38 -38
  262. package/src/templates/components/character-count/params.character-count.yaml +77 -77
  263. package/src/templates/components/checkboxes/_examples.checkboxes.njk +835 -835
  264. package/src/templates/components/checkboxes/_macro.checkboxes.njk +3 -3
  265. package/src/templates/components/checkboxes/_styles.checkboxes.css +30 -30
  266. package/src/templates/components/checkboxes/_template.checkboxes.njk +137 -137
  267. package/src/templates/components/checkboxes/params.checkboxes.yaml +116 -116
  268. package/src/templates/components/collapsible/_examples.collapsible.njk +107 -107
  269. package/src/templates/components/collapsible/_macro.collapsible.njk +3 -3
  270. package/src/templates/components/collapsible/_styles.collapsible.css +35 -35
  271. package/src/templates/components/collapsible/_template.collapsible.njk +17 -17
  272. package/src/templates/components/collapsible/params.collapsible.yaml +48 -48
  273. package/src/templates/components/combobox/_examples.combobox.njk +440 -0
  274. package/src/templates/components/combobox/_macro.combobox.njk +3 -0
  275. package/src/templates/components/combobox/_styles.combobox.css +92 -0
  276. package/src/templates/components/combobox/_template.combobox.njk +97 -0
  277. package/src/templates/components/combobox/params.combobox.yaml +102 -0
  278. package/src/templates/components/date-input/_examples.date-input.njk +578 -578
  279. package/src/templates/components/date-input/_macro.date-input.njk +3 -3
  280. package/src/templates/components/date-input/_template.date-input.njk +125 -125
  281. package/src/templates/components/date-input/params.date-input.yaml +97 -97
  282. package/src/templates/components/datepicker/_examples.datepicker.njk +415 -415
  283. package/src/templates/components/datepicker/_macro.datepicker.njk +3 -3
  284. package/src/templates/components/datepicker/_styles.datepicker.css +87 -87
  285. package/src/templates/components/datepicker/_template.datepicker.njk +129 -129
  286. package/src/templates/components/datepicker/params.datepicker.yaml +104 -104
  287. package/src/templates/components/description-list/_examples.description-list.njk +502 -502
  288. package/src/templates/components/description-list/_macro.description-list.njk +3 -3
  289. package/src/templates/components/description-list/_template.description-list.njk +17 -17
  290. package/src/templates/components/description-list/params.description-list.yaml +61 -61
  291. package/src/templates/components/details/_examples.details.njk +68 -68
  292. package/src/templates/components/details/_macro.details.njk +3 -3
  293. package/src/templates/components/details/_template.details.njk +17 -17
  294. package/src/templates/components/details/params.details.yaml +40 -40
  295. package/src/templates/components/dialog/_examples.dialog.njk +156 -156
  296. package/src/templates/components/dialog/_macro.dialog.njk +3 -3
  297. package/src/templates/components/dialog/_styles.dialog.css +27 -27
  298. package/src/templates/components/dialog/_template.dialog.njk +12 -12
  299. package/src/templates/components/dialog/params.dialog.yaml +25 -25
  300. package/src/templates/components/dropdown/_examples.dropdown.njk +226 -226
  301. package/src/templates/components/dropdown/_macro.dropdown.njk +3 -3
  302. package/src/templates/components/dropdown/_styles.dropdown.css +191 -191
  303. package/src/templates/components/dropdown/_template.dropdown.njk +34 -34
  304. package/src/templates/components/dropdown/params.dropdown.yaml +32 -32
  305. package/src/templates/components/error-message/_examples.error-message.njk +28 -28
  306. package/src/templates/components/error-message/_macro.error-message.njk +5 -5
  307. package/src/templates/components/error-message/_template.error-message.njk +8 -8
  308. package/src/templates/components/error-message/params.error-message.yaml +23 -23
  309. package/src/templates/components/error-summary/_examples.error-summary.njk +111 -111
  310. package/src/templates/components/error-summary/_macro.error-summary.njk +5 -5
  311. package/src/templates/components/error-summary/_template.error-summary.njk +48 -48
  312. package/src/templates/components/error-summary/params.error-summary.yaml +50 -50
  313. package/src/templates/components/fieldset/_examples.fieldset.njk +79 -79
  314. package/src/templates/components/fieldset/_macro.fieldset.njk +2 -2
  315. package/src/templates/components/fieldset/_template.fieldset.njk +46 -46
  316. package/src/templates/components/fieldset/params.fieldset.yaml +49 -49
  317. package/src/templates/components/file-upload/_examples.file-upload.njk +103 -103
  318. package/src/templates/components/file-upload/_macro.file-upload.njk +2 -2
  319. package/src/templates/components/file-upload/_template.file-upload.njk +45 -45
  320. package/src/templates/components/file-upload/params.file-upload.yaml +48 -48
  321. package/src/templates/components/footer/_examples.footer.njk +558 -558
  322. package/src/templates/components/footer/_macro.footer.njk +3 -3
  323. package/src/templates/components/footer/_styles.footer.css +43 -43
  324. package/src/templates/components/footer/_template.footer.njk +130 -130
  325. package/src/templates/components/footer/params.footer.yaml +140 -140
  326. package/src/templates/components/header/_examples.header.njk +627 -627
  327. package/src/templates/components/header/_macro.header.header__dropdown.njk +3 -3
  328. package/src/templates/components/header/_macro.header.header__navigation.njk +3 -3
  329. package/src/templates/components/header/_macro.header.header__offcanvas.njk +3 -3
  330. package/src/templates/components/header/_macro.header.header__offcanvasButton.njk +3 -3
  331. package/src/templates/components/header/_macro.header.header__subnav.njk +3 -3
  332. package/src/templates/components/header/_macro.header.njk +3 -3
  333. package/src/templates/components/header/_styles.header.css +12 -12
  334. package/src/templates/components/header/_template.header.header__dropdown.njk +27 -27
  335. package/src/templates/components/header/_template.header.header__navigation.njk +25 -25
  336. package/src/templates/components/header/_template.header.header__offcanvas.njk +20 -20
  337. package/src/templates/components/header/_template.header.header__offcanvasButton.njk +10 -10
  338. package/src/templates/components/header/_template.header.header__subnav.njk +33 -33
  339. package/src/templates/components/header/_template.header.njk +155 -155
  340. package/src/templates/components/header/params.header.yaml +295 -295
  341. package/src/templates/components/header-advanced/_examples.header-advanced.njk +1110 -1110
  342. package/src/templates/components/header-advanced/_macro.header-advanced.njk +3 -3
  343. package/src/templates/components/header-advanced/_template.header-advanced.njk +171 -171
  344. package/src/templates/components/header-advanced/params.header-advanced.yaml +352 -352
  345. package/src/templates/components/header-mini/_examples.header-mini.njk +319 -316
  346. package/src/templates/components/header-mini/_macro.header-mini.njk +3 -3
  347. package/src/templates/components/header-mini/_template.header-mini.njk +51 -51
  348. package/src/templates/components/header-mini/params.header-mini.yaml +90 -90
  349. package/src/templates/components/hint/_examples.hint.njk +26 -26
  350. package/src/templates/components/hint/_macro.hint.njk +3 -3
  351. package/src/templates/components/hint/_template.hint.njk +3 -3
  352. package/src/templates/components/hint/params.hint.yaml +21 -21
  353. package/src/templates/components/input/_examples.input.njk +393 -393
  354. package/src/templates/components/input/_macro.input.njk +3 -3
  355. package/src/templates/components/input/_styles.input.css +17 -17
  356. package/src/templates/components/input/_template.input.njk +53 -53
  357. package/src/templates/components/input/params.input.yaml +80 -80
  358. package/src/templates/components/input-group/_examples.input-group.njk +558 -558
  359. package/src/templates/components/input-group/_macro.input-group.njk +3 -3
  360. package/src/templates/components/input-group/_template.input-group.njk +107 -107
  361. package/src/templates/components/input-group/params.input-group.yaml +123 -123
  362. package/src/templates/components/item/_examples.item.njk +370 -370
  363. package/src/templates/components/item/_macro.item.njk +3 -3
  364. package/src/templates/components/item/_template.item.njk +73 -73
  365. package/src/templates/components/item/params.item.yaml +101 -101
  366. package/src/templates/components/label/_examples.label.njk +58 -58
  367. package/src/templates/components/label/_macro.label.njk +5 -5
  368. package/src/templates/components/label/_template.label.njk +37 -37
  369. package/src/templates/components/label/params.label.yaml +28 -28
  370. package/src/templates/components/links-list/_examples.links-list.njk +761 -761
  371. package/src/templates/components/links-list/_macro.links-list.njk +3 -3
  372. package/src/templates/components/links-list/_template.links-list.njk +119 -119
  373. package/src/templates/components/links-list/params.links-list.yaml +101 -101
  374. package/src/templates/components/listbox/_examples.listbox.njk +813 -812
  375. package/src/templates/components/listbox/_macro.listbox.njk +3 -3
  376. package/src/templates/components/listbox/_styles.listbox.css +218 -218
  377. package/src/templates/components/listbox/_template.listbox.njk +90 -90
  378. package/src/templates/components/listbox/params.listbox.yaml +85 -85
  379. package/src/templates/components/media-object/_examples.media-object.njk +79 -79
  380. package/src/templates/components/media-object/_macro.media-object.njk +3 -3
  381. package/src/templates/components/media-object/_template.media-object.njk +21 -21
  382. package/src/templates/components/media-object/params.media-object.yaml +16 -16
  383. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +613 -613
  384. package/src/templates/components/menu-horizontal/_macro.menu-horizontal.njk +3 -3
  385. package/src/templates/components/menu-horizontal/_styles.menu-horizontal.css +167 -167
  386. package/src/templates/components/menu-horizontal/_template.menu-horizontal.njk +36 -36
  387. package/src/templates/components/menu-horizontal/params.menu-horizontal.yaml +53 -53
  388. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +1292 -1292
  389. package/src/templates/components/menu-navigation/_macro.menu-navigation.njk +3 -3
  390. package/src/templates/components/menu-navigation/_styles.menu-navigation.css +238 -238
  391. package/src/templates/components/menu-navigation/_template.menu-navigation.njk +87 -87
  392. package/src/templates/components/menu-navigation/params.menu-navigation.yaml +86 -86
  393. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +835 -835
  394. package/src/templates/components/menu-vertical/_macro.menu-vertical.njk +3 -3
  395. package/src/templates/components/menu-vertical/_template.menu-vertical.njk +92 -92
  396. package/src/templates/components/menu-vertical/params.menu-vertical.yaml +77 -77
  397. package/src/templates/components/menubar/_examples.menubar.njk +1843 -1843
  398. package/src/templates/components/menubar/_macro.menubar.njk +3 -3
  399. package/src/templates/components/menubar/_styles.menubar.css +259 -259
  400. package/src/templates/components/menubar/_template.menubar.njk +106 -106
  401. package/src/templates/components/menubar/params.menubar.yaml +130 -130
  402. package/src/templates/components/modal/_examples.modal.njk +432 -432
  403. package/src/templates/components/modal/_macro.modal.njk +3 -3
  404. package/src/templates/components/modal/_template.modal.njk +129 -129
  405. package/src/templates/components/modal/params.modal.yaml +77 -77
  406. package/src/templates/components/nav/_examples.nav.njk +468 -468
  407. package/src/templates/components/nav/_macro.nav.njk +3 -3
  408. package/src/templates/components/nav/_template.nav.njk +53 -53
  409. package/src/templates/components/nav/params.nav.yaml +61 -61
  410. package/src/templates/components/notification/_examples.notification.njk +277 -277
  411. package/src/templates/components/notification/_macro.notification.njk +3 -3
  412. package/src/templates/components/notification/_styles.notification.css +30 -30
  413. package/src/templates/components/notification/_template.notification.njk +86 -86
  414. package/src/templates/components/notification/params.notification.yaml +101 -101
  415. package/src/templates/components/pagination/_examples.pagination.njk +444 -444
  416. package/src/templates/components/pagination/_macro.pagination.njk +3 -3
  417. package/src/templates/components/pagination/_template.pagination.njk +162 -162
  418. package/src/templates/components/pagination/params.pagination.yaml +150 -150
  419. package/src/templates/components/pill/_examples.pill.njk +180 -180
  420. package/src/templates/components/pill/_macro.pill.njk +3 -3
  421. package/src/templates/components/pill/_styles.pill.css +59 -59
  422. package/src/templates/components/pill/_template.pill.njk +38 -38
  423. package/src/templates/components/pill/params.pill.yaml +28 -28
  424. package/src/templates/components/radios/_examples.radios.njk +698 -698
  425. package/src/templates/components/radios/_macro.radios.njk +5 -5
  426. package/src/templates/components/radios/_styles.radios.css +30 -30
  427. package/src/templates/components/radios/_template.radios.njk +133 -133
  428. package/src/templates/components/radios/params.radios.yaml +104 -104
  429. package/src/templates/components/searchbar/_examples.searchbar.njk +147 -147
  430. package/src/templates/components/searchbar/_macro.searchbar.njk +3 -3
  431. package/src/templates/components/searchbar/_template.searchbar.njk +45 -45
  432. package/src/templates/components/searchbar/params.searchbar.yaml +46 -46
  433. package/src/templates/components/select/_examples.select.njk +364 -364
  434. package/src/templates/components/select/_macro.select.njk +5 -5
  435. package/src/templates/components/select/_styles.select.css +45 -45
  436. package/src/templates/components/select/_template.select.njk +67 -67
  437. package/src/templates/components/select/params.select.yaml +93 -93
  438. package/src/templates/components/skip-link/_examples.skip-link.njk +31 -31
  439. package/src/templates/components/skip-link/_macro.skip-link.njk +3 -3
  440. package/src/templates/components/skip-link/_styles.skip-link.css +12 -12
  441. package/src/templates/components/skip-link/_template.skip-link.njk +4 -4
  442. package/src/templates/components/skip-link/params.skip-link.yaml +20 -20
  443. package/src/templates/components/spinner/_examples.spinner.njk +91 -101
  444. package/src/templates/components/spinner/_macro.spinner.njk +3 -3
  445. package/src/templates/components/spinner/_styles.spinner.css +33 -33
  446. package/src/templates/components/spinner/_template.spinner.njk +12 -12
  447. package/src/templates/components/spinner/params.spinner.yaml +12 -12
  448. package/src/templates/components/status/_examples.status.njk +80 -80
  449. package/src/templates/components/status/_macro.status.njk +3 -3
  450. package/src/templates/components/status/_template.status.njk +23 -23
  451. package/src/templates/components/status/params.status.yaml +24 -24
  452. package/src/templates/components/status-item/_examples.status-item.njk +319 -319
  453. package/src/templates/components/status-item/_macro.status-item.njk +3 -3
  454. package/src/templates/components/status-item/_template.status-item.njk +99 -99
  455. package/src/templates/components/status-item/params.status-item.yaml +106 -106
  456. package/src/templates/components/table/_examples.table.njk +705 -705
  457. package/src/templates/components/table/_macro.table.njk +3 -3
  458. package/src/templates/components/table/_styles.table.css +19 -19
  459. package/src/templates/components/table/_template.table.njk +68 -68
  460. package/src/templates/components/table/params.table.yaml +130 -130
  461. package/src/templates/components/table-advanced/_examples.table-advanced.njk +839 -839
  462. package/src/templates/components/table-advanced/_macro.table-advanced.njk +3 -3
  463. package/src/templates/components/table-advanced/_styles.table-advanced.css +63 -63
  464. package/src/templates/components/table-advanced/_template.table-advanced.njk +210 -210
  465. package/src/templates/components/table-advanced/params.table-advanced.yaml +160 -160
  466. package/src/templates/components/tabs/_examples.tabs.njk +588 -588
  467. package/src/templates/components/tabs/_macro.tabs.njk +3 -3
  468. package/src/templates/components/tabs/_styles.tabs.css +132 -132
  469. package/src/templates/components/tabs/_template.tabs.njk +70 -70
  470. package/src/templates/components/tabs/params.tabs.yaml +83 -83
  471. package/src/templates/components/textarea/_examples.textarea.njk +174 -174
  472. package/src/templates/components/textarea/_macro.textarea.njk +5 -5
  473. package/src/templates/components/textarea/_template.textarea.njk +47 -47
  474. package/src/templates/components/textarea/params.textarea.yaml +64 -64
  475. package/src/templates/components/toggle/_examples.toggle.njk +248 -248
  476. package/src/templates/components/toggle/_macro.toggle.njk +3 -3
  477. package/src/templates/components/toggle/_styles.toggle.css +31 -31
  478. package/src/templates/components/toggle/_template.toggle.njk +27 -27
  479. package/src/templates/components/toggle/params.toggle.yaml +69 -69
  480. package/src/templates/components/tooltip/_examples.tooltip.njk +134 -134
  481. package/src/templates/components/tooltip/_macro.tooltip.njk +3 -3
  482. package/src/templates/components/tooltip/_styles.tooltip.css +9 -9
  483. package/src/templates/components/tooltip/_template.tooltip.njk +40 -40
  484. package/src/templates/components/tooltip/params.tooltip.yaml +40 -40
  485. package/src/templates/components/tree/_examples.tree.njk +2671 -2671
  486. package/src/templates/components/tree/_macro.tree.njk +3 -3
  487. package/src/templates/components/tree/_styles.tree.css +54 -54
  488. package/src/templates/components/tree/_template.tree.njk +232 -232
  489. package/src/templates/components/tree/params.tree.yaml +173 -173
  490. package/src/templates/components/treegrid/_examples.treegrid.njk +1269 -1269
  491. package/src/templates/components/treegrid/_macro.treegrid.njk +3 -3
  492. package/src/templates/components/treegrid/_styles.treegrid.css +31 -31
  493. package/src/templates/components/treegrid/_template.treegrid.njk +90 -90
  494. package/src/templates/components/treegrid/params.treegrid.yaml +131 -131
  495. package/src/templates/includes/_abrir-notificaciones-extra.njk +2 -2
  496. package/src/templates/includes/_abrir-notificaciones.njk +2 -2
  497. package/src/templates/includes/_acciones-de-cabecera.njk +28 -28
  498. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +4 -4
  499. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +4 -4
  500. package/src/templates/includes/_test-include.njk +13 -13
  501. package/src/templates/pages/_page.foot-headroom.njk +30 -30
  502. package/src/templates/pages/_page.foot.njk +5 -5
  503. package/src/templates/pages/_page.footer.njk +19 -19
  504. package/src/templates/pages/_page.head.njk +27 -27
  505. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -31
  506. package/src/templates/pages/_page.notification-edit.njk +30 -30
  507. package/src/templates/pages/_page.notification-footer.njk +32 -32
  508. package/src/templates/pages/_page.notification-header-fixed.njk +30 -30
  509. package/src/templates/pages/_page.notification-header.njk +31 -31
  510. package/src/templates/pages/_page.sidebar-content.njk +20 -20
  511. package/src/templates/pages/_page.spinner-block.njk +14 -14
  512. package/src/templates/pages/_page.spinner-show.njk +15 -15
  513. package/src/templates/pages/_page.spinner.njk +15 -15
  514. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -36
  515. package/src/templates/pages/_template.edit-fixed.njk +74 -74
  516. package/src/templates/pages/_template.home.njk +111 -111
  517. package/src/templates/pages/_template.logged-out.njk +56 -56
  518. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +198 -198
  519. package/src/templates/pages/_template.logged-selector-fixed.njk +195 -195
  520. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -80
  521. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +28 -28
  522. package/src/templates/pages/_template.logged-selector.njk +195 -195
  523. package/src/templates/pages/_template.logged.njk +141 -141
  524. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -31
  525. package/src/templates/pages/_template.mfe.njk +83 -83
  526. package/src/templates/pages/_template.test.njk +48 -48
  527. package/src/templates/pages/_template.with-header-advanced.njk +311 -311
  528. package/vite.config.js +982 -982
@@ -1,175 +1,175 @@
1
- {% set exampleComponent = "textarea" %}
2
- {% set examples = [
3
- {
4
- "name": "por defecto",
5
- "data": {
6
- "name": "more-detail-a",
7
- "id": "more-detail-a",
8
- "label": {
9
- "text": "Esto es un label"
10
- },
11
- "hint": {
12
- "text": "Esto es una pista o texto descriptivo."
13
- }
14
- },
15
- "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, esquinas ligeramente redondeadas. Encabezado con label en negro normal, seguido de texto descriptivo gris en tamaño pequeño. Área de texto de altura media con aproximadamente 4-5 líneas visibles.",
16
- "_generated": {
17
- "hash": "38168af559aee891b34be80c948a1252",
18
- "version": "15.0.3",
19
- "timestamp": "2026-01-30T19:16:44.046Z"
20
- }
21
- },
22
- {
23
- "name": "deshabilitado",
24
- "data": {
25
- "name": "more-detail-b",
26
- "id": "more-detail-b",
27
- "disabled": true,
28
- "label": {
29
- "text": "Esto es un label"
30
- },
31
- "hint": {
32
- "text": "Esto es una pista o texto descriptivo."
33
- }
34
- },
35
- "visualDescription": "Textarea rectangular con borde gris claro de 1px, fondo gris muy claro (#f5f5f5 aproximadamente), esquinas ligeramente redondeadas. Encabezado con label en gris oscuro, seguido de texto descriptivo gris en tamaño pequeño. Área de texto de altura media con apariencia inactiva, sin cursor de edición visible.",
36
- "_generated": {
37
- "hash": "d26f4711ceef5469ea804639e94bb0fd",
38
- "version": "15.0.3",
39
- "timestamp": "2026-01-30T19:16:44.046Z"
40
- }
41
- },
42
- {
43
- "name": "con mensaje de error",
44
- "description": "Por accesibilidad, los mensajes de error deben incluir la palabra \"error\", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.",
45
- "data": {
46
- "name": "no-ni-reason",
47
- "id": "no-ni-reason",
48
- "label": {
49
- "text": "Esto es un label"
50
- },
51
- "errorMessage": {
52
- "text": "Esto es un mensaje de error"
53
- }
54
- },
55
- "visualDescription": "Textarea rectangular con borde rojo de 2px, fondo blanco, esquinas ligeramente redondeadas. Encabezado con label en negro normal, seguido de texto de error en rojo en tamaño pequeño. Área de texto de altura media con indicación visual de estado de error mediante el borde rojo prominente.",
56
- "_generated": {
57
- "hash": "81e20aaf57e82d2a213150357f7ca559",
58
- "version": "15.0.3",
59
- "timestamp": "2026-01-30T19:16:44.046Z"
60
- }
61
- },
62
- {
63
- "name": "con valor por defecto",
64
- "data": {
65
- "id": "full-address-a",
66
- "name": "address-a",
67
- "value": "Calle Rosales 25. 2 izda",
68
- "label": {
69
- "text": "Dirección completa"
70
- }
71
- },
72
- "visualDescription": "Textarea con borde gris de 1px, fondo blanco, altura reducida mostrando 2 líneas de texto. Label en negro normal arriba indicando \"Dirección completa\". Texto predefinido visible dentro del campo en negro estándar.",
73
- "_generated": {
74
- "hash": "e4b38a55567ea9db190774f8c6d39783",
75
- "version": "15.0.3",
76
- "timestamp": "2026-01-30T19:16:53.877Z"
77
- }
78
- },
79
- {
80
- "name": "con número de filas (rows) personalizada",
81
- "data": {
82
- "id": "full-address-b",
83
- "name": "address-b",
84
- "label": {
85
- "text": "Dirección completa"
86
- },
87
- "rows": 8
88
- },
89
- "visualDescription": "Textarea con borde gris de 1px, fondo blanco, sin texto predefinido visible. Label en negro normal arriba indicando \"Dirección completa\". Campo vacío con altura estándar mostrando múltiples líneas disponibles.",
90
- "_generated": {
91
- "hash": "f6c842a568fbe3c62368901bd5c65645",
92
- "version": "15.0.3",
93
- "timestamp": "2026-01-30T19:16:53.877Z"
94
- }
95
- },
96
- {
97
- "name": "con clases de form-group opcionales",
98
- "data": {
99
- "id": "textarea-with-page-heading-b",
100
- "name": "address",
101
- "label": {
102
- "text": "Dirección completa"
103
- },
104
- "formGroup": {
105
- "classes": "p-base bg-primary-light"
106
- }
107
- },
108
- "visualDescription": "Textarea con borde azul oscuro de 2px, fondo blanco, campo vacío de altura estándar. Label en negro normal arriba indicando \"Dirección completa\". Contenedor con fondo azul claro tenue cubriendo toda la sección del formulario.",
109
- "_generated": {
110
- "hash": "2208484005331311532c1ca1e7a2a07b",
111
- "version": "15.0.3",
112
- "timestamp": "2026-01-30T19:16:53.877Z"
113
- }
114
- },
115
- {
116
- "name": "con valores de autocompletado",
117
- "data": {
118
- "id": "textarea-with-autocomplete-attribute",
119
- "name": "address",
120
- "label": {
121
- "text": "Dirección completa"
122
- },
123
- "autocomplete": "street-address"
124
- },
125
- "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, altura aproximada de 60px y ancho de 105px. Label \"Dirección completa\" en texto negro regular ubicado arriba del campo. Título de sección \"con valores de autocompletado\" en texto negro encima del label.",
126
- "_generated": {
127
- "hash": "e0df350b5138ec79dbce4d633a637cad",
128
- "version": "15.0.3",
129
- "timestamp": "2026-01-30T19:17:03.196Z"
130
- }
131
- },
132
- {
133
- "name": "placeholder",
134
- "data": {
135
- "id": "con-placeholder",
136
- "name": "placeholder",
137
- "label": {
138
- "text": "Valor"
139
- },
140
- "placeholder": "Esto es un placeholder"
141
- },
142
- "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, altura aproximada de 60px y ancho de 105px. Contiene texto placeholder gris claro. Label \"Valor\" en texto negro regular posicionado arriba del campo, con título de sección \"placeholder\" en texto negro en la parte superior.",
143
- "_generated": {
144
- "hash": "a8ab74dd3ffad277bcf324d07ce1e6c6",
145
- "version": "15.0.3",
146
- "timestamp": "2026-01-30T19:17:03.196Z"
147
- }
148
- },
149
- {
150
- "name": "Con clases de css aplicadas",
151
- "description": "Label inline + Textarea flexible y Mensaje de error",
152
- "data": {
153
- "formGroup": {
154
- "classes": "lg:flex lg:flex-wrap lg:items-start lg:gap-x-base"
155
- },
156
- "label": {
157
- "text": "Label inline:",
158
- "classes": "lg:py-sm lg:mt-sm"
159
- },
160
- "id": "classes-applied-b",
161
- "name": "classes-applied-b",
162
- "errorMessage": {
163
- "text": "Esto es un mensaje de error",
164
- "classes": "order-1 w-full pt-sm"
165
- },
166
- "classes": "lg:flex-1"
167
- },
168
- "visualDescription": "Textarea rectangular grande con borde rojo de 2px, fondo blanco, ancho completo del contenedor y altura aproximada de 60px. Label \"Label inline:\" en texto negro regular alineado a la izquierda. Mensaje de error en texto rojo pequeño debajo del campo. Título de sección \"Con clases de css aplicadas\" en texto negro arriba.",
169
- "_generated": {
170
- "hash": "720d38159c72f7fb83afa6521ad1444e",
171
- "version": "15.0.3",
172
- "timestamp": "2026-01-30T19:17:03.196Z"
173
- }
174
- }
1
+ {% set exampleComponent = "textarea" %}
2
+ {% set examples = [
3
+ {
4
+ "name": "por defecto",
5
+ "data": {
6
+ "name": "more-detail-a",
7
+ "id": "more-detail-a",
8
+ "label": {
9
+ "text": "Esto es un label"
10
+ },
11
+ "hint": {
12
+ "text": "Esto es una pista o texto descriptivo."
13
+ }
14
+ },
15
+ "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, esquinas ligeramente redondeadas. Encabezado con label del campo en negro normal, seguido de texto de ayuda en tamaño pequeño. Área de texto de altura media con aproximadamente 4-5 líneas visibles.",
16
+ "_generated": {
17
+ "hash": "38168af559aee891b34be80c948a1252",
18
+ "version": "15.0.3",
19
+ "timestamp": "2026-01-30T19:16:44.046Z"
20
+ }
21
+ },
22
+ {
23
+ "name": "deshabilitado",
24
+ "data": {
25
+ "name": "more-detail-b",
26
+ "id": "more-detail-b",
27
+ "disabled": true,
28
+ "label": {
29
+ "text": "Esto es un label"
30
+ },
31
+ "hint": {
32
+ "text": "Esto es una pista o texto descriptivo."
33
+ }
34
+ },
35
+ "visualDescription": "Textarea rectangular con borde gris claro de 1px, fondo gris muy claro, esquinas ligeramente redondeadas. Encabezado con label del campo en gris oscuro, seguido de texto de ayuda en tamaño pequeño. Área de texto de altura media con apariencia inactiva, sin cursor de edición visible.",
36
+ "_generated": {
37
+ "hash": "d26f4711ceef5469ea804639e94bb0fd",
38
+ "version": "15.0.3",
39
+ "timestamp": "2026-01-30T19:16:44.046Z"
40
+ }
41
+ },
42
+ {
43
+ "name": "con mensaje de error",
44
+ "description": "Por accesibilidad, los mensajes de error deben incluir la palabra \"error\", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.",
45
+ "data": {
46
+ "name": "no-ni-reason",
47
+ "id": "no-ni-reason",
48
+ "label": {
49
+ "text": "Esto es un label"
50
+ },
51
+ "errorMessage": {
52
+ "text": "Esto es un mensaje de error"
53
+ }
54
+ },
55
+ "visualDescription": "Textarea rectangular con borde rojo de 2px, fondo blanco, esquinas ligeramente redondeadas. Encabezado con label del campo en negro normal, seguido de mensaje de error en rojo en tamaño pequeño. Área de texto de altura media con indicación visual de estado de error mediante el borde rojo prominente.",
56
+ "_generated": {
57
+ "hash": "81e20aaf57e82d2a213150357f7ca559",
58
+ "version": "15.0.3",
59
+ "timestamp": "2026-01-30T19:16:44.046Z"
60
+ }
61
+ },
62
+ {
63
+ "name": "con valor por defecto",
64
+ "data": {
65
+ "id": "full-address-a",
66
+ "name": "address-a",
67
+ "value": "Calle Rosales 25. 2 izda",
68
+ "label": {
69
+ "text": "Dirección completa"
70
+ }
71
+ },
72
+ "visualDescription": "Textarea con borde gris de 1px, fondo blanco, altura reducida mostrando 2 líneas de texto. Label del campo en negro normal arriba. Texto predefinido visible dentro del campo en negro estándar.",
73
+ "_generated": {
74
+ "hash": "e4b38a55567ea9db190774f8c6d39783",
75
+ "version": "15.0.3",
76
+ "timestamp": "2026-01-30T19:16:53.877Z"
77
+ }
78
+ },
79
+ {
80
+ "name": "con número de filas (rows) personalizada",
81
+ "data": {
82
+ "id": "full-address-b",
83
+ "name": "address-b",
84
+ "label": {
85
+ "text": "Dirección completa"
86
+ },
87
+ "rows": 8
88
+ },
89
+ "visualDescription": "Textarea con borde gris de 1px, fondo blanco, sin texto predefinido visible. Label del campo en negro normal arriba. Campo vacío con altura estándar mostrando múltiples líneas disponibles.",
90
+ "_generated": {
91
+ "hash": "f6c842a568fbe3c62368901bd5c65645",
92
+ "version": "15.0.3",
93
+ "timestamp": "2026-01-30T19:16:53.877Z"
94
+ }
95
+ },
96
+ {
97
+ "name": "con clases de form-group opcionales",
98
+ "data": {
99
+ "id": "textarea-with-page-heading-b",
100
+ "name": "address",
101
+ "label": {
102
+ "text": "Dirección completa"
103
+ },
104
+ "formGroup": {
105
+ "classes": "p-base bg-primary-light"
106
+ }
107
+ },
108
+ "visualDescription": "Textarea con borde azul oscuro de 2px, fondo blanco, campo vacío de altura estándar. Label del campo en negro normal arriba. Contenedor con fondo azul claro tenue cubriendo toda la sección del formulario.",
109
+ "_generated": {
110
+ "hash": "2208484005331311532c1ca1e7a2a07b",
111
+ "version": "15.0.3",
112
+ "timestamp": "2026-01-30T19:16:53.877Z"
113
+ }
114
+ },
115
+ {
116
+ "name": "con valores de autocompletado",
117
+ "data": {
118
+ "id": "textarea-with-autocomplete-attribute",
119
+ "name": "address",
120
+ "label": {
121
+ "text": "Dirección completa"
122
+ },
123
+ "autocomplete": "street-address"
124
+ },
125
+ "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, altura aproximada de 60px. Label del campo en texto negro regular ubicado arriba del campo. Título de sección en texto negro encima del label.",
126
+ "_generated": {
127
+ "hash": "e0df350b5138ec79dbce4d633a637cad",
128
+ "version": "15.0.3",
129
+ "timestamp": "2026-01-30T19:17:03.196Z"
130
+ }
131
+ },
132
+ {
133
+ "name": "placeholder",
134
+ "data": {
135
+ "id": "con-placeholder",
136
+ "name": "placeholder",
137
+ "label": {
138
+ "text": "Valor"
139
+ },
140
+ "placeholder": "Esto es un placeholder"
141
+ },
142
+ "visualDescription": "Textarea rectangular con borde gris de 1px, fondo blanco, altura aproximada de 60px. Contiene texto de marcador de posición gris claro. Label del campo en texto negro regular posicionado arriba del campo, con título de sección en texto negro en la parte superior.",
143
+ "_generated": {
144
+ "hash": "a8ab74dd3ffad277bcf324d07ce1e6c6",
145
+ "version": "15.0.3",
146
+ "timestamp": "2026-01-30T19:17:03.196Z"
147
+ }
148
+ },
149
+ {
150
+ "name": "Con clases de css aplicadas",
151
+ "description": "Label inline + Textarea flexible y Mensaje de error",
152
+ "data": {
153
+ "formGroup": {
154
+ "classes": "lg:flex lg:flex-wrap lg:items-start lg:gap-x-base"
155
+ },
156
+ "label": {
157
+ "text": "Label inline:",
158
+ "classes": "lg:py-sm lg:mt-sm"
159
+ },
160
+ "id": "classes-applied-b",
161
+ "name": "classes-applied-b",
162
+ "errorMessage": {
163
+ "text": "Esto es un mensaje de error",
164
+ "classes": "order-1 w-full pt-sm"
165
+ },
166
+ "classes": "lg:flex-1"
167
+ },
168
+ "visualDescription": "Textarea rectangular grande con borde rojo de 2px, fondo blanco, ancho completo del contenedor y altura aproximada de 60px. Label del campo en texto negro regular alineado a la izquierda. Mensaje de error en texto rojo pequeño debajo del campo. Título de sección en texto negro arriba.",
169
+ "_generated": {
170
+ "hash": "720d38159c72f7fb83afa6521ad1444e",
171
+ "version": "15.0.3",
172
+ "timestamp": "2026-01-30T19:17:03.196Z"
173
+ }
174
+ }
175
175
  ] %}
@@ -1,5 +1,5 @@
1
- <!-- _macro.textarea.njk -->
2
-
3
- {% macro componentTextarea(params) %}
4
- {% include "./_template.textarea.njk" %}
5
- {% endmacro %}
1
+ <!-- _macro.textarea.njk -->
2
+
3
+ {% macro componentTextarea(params) %}
4
+ {% include "./_template.textarea.njk" %}
5
+ {% endmacro %}
@@ -1,48 +1,48 @@
1
- {% from "../error-message/_macro.error-message.njk" import componentErrorMessage -%}
2
- {% from "../hint/_macro.hint.njk" import componentHint %}
3
- {% from "../label/_macro.label.njk" import componentLabel %}
4
-
5
- {#- a record of other elements that we need to associate with the input using
6
- aria-describedby – for example hints or error messages -#}
7
- {% set describedBy = params.describedBy if params.describedBy else "" %}
8
- <!-- textarea -->
9
- <div class="c-form-group {%- if params.errorMessage %} c-form-group--error{% endif %} {%- if params.formGroup.classes %} {{ params.formGroup.classes }}{% endif %}">
10
- {{ componentLabel({
11
- html: params.label.html,
12
- text: params.label.text,
13
- classes: params.label.classes,
14
- isPageHeading: params.label.isPageHeading,
15
- attributes: params.label.attributes,
16
- for: params.id
17
- }) | indent(2) | trim }}
18
- {% if params.hint %}
19
- {% set hintId = params.id + '-hint' %}
20
- {% set describedBy = describedBy + ' ' + hintId if describedBy else hintId %}
21
- {{ componentHint({
22
- id: hintId,
23
- classes: params.hint.classes,
24
- attributes: params.hint.attributes,
25
- html: params.hint.html,
26
- text: params.hint.text
27
- }) | indent(2) | trim }}
28
- {% endif %}
29
- {% if params.errorMessage %}
30
- {% set errorId = params.id + '-error' %}
31
- {{ componentErrorMessage({
32
- id: errorId,
33
- classes: params.errorMessage.classes,
34
- attributes: params.errorMessage.attributes,
35
- html: params.errorMessage.html,
36
- text: params.errorMessage.text,
37
- visuallyHiddenText: params.errorMessage.visuallyHiddenText
38
- }) | indent(2) | trim }}
39
- {% endif %}
40
- <textarea class="block mt-sm px-base py-sm {% if params.errorMessage %}border-alert-base ring-2 ring-alert-base{% else %}border-black{% endif %} rounded-sm font-semibold leading-normal placeholder-neutral-dark focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base {%- if params.classes %} {{ params.classes }}{% endif %}" id="{{ params.id }}" name="{{ params.name }}" rows="{%if params.rows %} {{- params.rows -}} {% else %}5{%endif %}"
41
- {%- if describedBy %} aria-describedby="{{ describedBy }}"{% endif %}
42
- {%- if params.errorMessage %} aria-errormessage="{{ errorId }}" aria-invalid="true"{% endif %}
43
- {%- if params.autocomplete %} autocomplete="{{ params.autocomplete}}"{% endif %}
44
- {%- if params.placeholder %} placeholder="{{ params.placeholder }}"{% endif %}
45
- {{-" disabled" if params.disabled }}
46
- {%- for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}>{{ params.value }}</textarea>
47
- </div>
1
+ {% from "../error-message/_macro.error-message.njk" import componentErrorMessage -%}
2
+ {% from "../hint/_macro.hint.njk" import componentHint %}
3
+ {% from "../label/_macro.label.njk" import componentLabel %}
4
+
5
+ {#- a record of other elements that we need to associate with the input using
6
+ aria-describedby – for example hints or error messages -#}
7
+ {% set describedBy = params.describedBy if params.describedBy else "" %}
8
+ <!-- textarea -->
9
+ <div class="c-form-group {%- if params.errorMessage %} c-form-group--error{% endif %} {%- if params.formGroup.classes %} {{ params.formGroup.classes }}{% endif %}">
10
+ {{ componentLabel({
11
+ html: params.label.html,
12
+ text: params.label.text,
13
+ classes: params.label.classes,
14
+ isPageHeading: params.label.isPageHeading,
15
+ attributes: params.label.attributes,
16
+ for: params.id
17
+ }) | indent(2) | trim }}
18
+ {% if params.hint %}
19
+ {% set hintId = params.id + '-hint' %}
20
+ {% set describedBy = describedBy + ' ' + hintId if describedBy else hintId %}
21
+ {{ componentHint({
22
+ id: hintId,
23
+ classes: params.hint.classes,
24
+ attributes: params.hint.attributes,
25
+ html: params.hint.html,
26
+ text: params.hint.text
27
+ }) | indent(2) | trim }}
28
+ {% endif %}
29
+ {% if params.errorMessage %}
30
+ {% set errorId = params.id + '-error' %}
31
+ {{ componentErrorMessage({
32
+ id: errorId,
33
+ classes: params.errorMessage.classes,
34
+ attributes: params.errorMessage.attributes,
35
+ html: params.errorMessage.html,
36
+ text: params.errorMessage.text,
37
+ visuallyHiddenText: params.errorMessage.visuallyHiddenText
38
+ }) | indent(2) | trim }}
39
+ {% endif %}
40
+ <textarea class="block mt-sm px-base py-sm {% if params.errorMessage %}border-alert-base ring-2 ring-alert-base{% else %}border-black{% endif %} rounded-sm font-semibold leading-normal placeholder-neutral-dark focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base {%- if params.classes %} {{ params.classes }}{% endif %}" id="{{ params.id }}" name="{{ params.name }}" rows="{%if params.rows %} {{- params.rows -}} {% else %}5{%endif %}"
41
+ {%- if describedBy %} aria-describedby="{{ describedBy }}"{% endif %}
42
+ {%- if params.errorMessage %} aria-errormessage="{{ errorId }}" aria-invalid="true"{% endif %}
43
+ {%- if params.autocomplete %} autocomplete="{{ params.autocomplete}}"{% endif %}
44
+ {%- if params.placeholder %} placeholder="{{ params.placeholder }}"{% endif %}
45
+ {{-" disabled" if params.disabled }}
46
+ {%- for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}>{{ params.value }}</textarea>
47
+ </div>
48
48
  <!-- /textarea -->
@@ -1,65 +1,65 @@
1
- params:
2
- - name: id
3
- type: string
4
- required: true
5
- description: The id of the textarea.
6
- - name: name
7
- type: string
8
- required: true
9
- description: The name of the textarea, which is submitted with the form data.
10
- - name: rows
11
- type: string
12
- required: false
13
- description: Optional number of textarea rows (default is 5 rows).
14
- - name: value
15
- type: string
16
- required: false
17
- description: Optional initial value of the textarea.
18
- - name: describedBy
19
- type: string
20
- required: false
21
- description: One or more element IDs to add to the `aria-describedby` attribute, used to provide additional descriptive information for screenreader users.
22
- - name: label
23
- type: object
24
- required: true
25
- description: Options for the label component.
26
- isComponent: true
27
- - name: hint
28
- type: object
29
- required: false
30
- description: Options for the hint component.
31
- isComponent: true
32
- - name: errorMessage
33
- type: object
34
- required: false
35
- description: Options for the error message component. The error message component will not display if you use a falsy value for `errorMessage`, for example `false` or `null`.
36
- isComponent: true
37
- - name: formGroup
38
- type: object
39
- required: false
40
- description: Options for the form-group wrapper
41
- params:
42
- - name: classes
43
- type: string
44
- required: false
45
- description: Classes to add to the form group (e.g. to show error state for the whole group)
46
- - name: classes
47
- type: string
48
- required: false
49
- description: Classes to add to the textarea.
50
- - name: autocomplete
51
- type: string
52
- required: false
53
- description: Attribute to [identify input purpose](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html), for instance "postal-code" or "username". See [autofill](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill) for full list of attributes that can be used.
54
- - name: placeholder
55
- type: string
56
- required: false
57
- description: Placeholder text
58
- - name: disabled
59
- type: boolean
60
- required: false
61
- description: If true, textarea will be disabled.
62
- - name: attributes
63
- type: object
64
- required: false
1
+ params:
2
+ - name: id
3
+ type: string
4
+ required: true
5
+ description: The id of the textarea.
6
+ - name: name
7
+ type: string
8
+ required: true
9
+ description: The name of the textarea, which is submitted with the form data.
10
+ - name: rows
11
+ type: string
12
+ required: false
13
+ description: Optional number of textarea rows (default is 5 rows).
14
+ - name: value
15
+ type: string
16
+ required: false
17
+ description: Optional initial value of the textarea.
18
+ - name: describedBy
19
+ type: string
20
+ required: false
21
+ description: One or more element IDs to add to the `aria-describedby` attribute, used to provide additional descriptive information for screenreader users.
22
+ - name: label
23
+ type: object
24
+ required: true
25
+ description: Options for the label component.
26
+ isComponent: true
27
+ - name: hint
28
+ type: object
29
+ required: false
30
+ description: Options for the hint component.
31
+ isComponent: true
32
+ - name: errorMessage
33
+ type: object
34
+ required: false
35
+ description: Options for the error message component. The error message component will not display if you use a falsy value for `errorMessage`, for example `false` or `null`.
36
+ isComponent: true
37
+ - name: formGroup
38
+ type: object
39
+ required: false
40
+ description: Options for the form-group wrapper
41
+ params:
42
+ - name: classes
43
+ type: string
44
+ required: false
45
+ description: Classes to add to the form group (e.g. to show error state for the whole group)
46
+ - name: classes
47
+ type: string
48
+ required: false
49
+ description: Classes to add to the textarea.
50
+ - name: autocomplete
51
+ type: string
52
+ required: false
53
+ description: Attribute to [identify input purpose](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html), for instance "postal-code" or "username". See [autofill](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill) for full list of attributes that can be used.
54
+ - name: placeholder
55
+ type: string
56
+ required: false
57
+ description: Placeholder text
58
+ - name: disabled
59
+ type: boolean
60
+ required: false
61
+ description: If true, textarea will be disabled.
62
+ - name: attributes
63
+ type: object
64
+ required: false
65
65
  description: HTML attributes (for example data attributes) to add to the textarea.