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
@@ -1,512 +1,519 @@
1
- {% set exampleComponent = "button" %}
2
- {% set examples = [
3
- {
4
- "name": "por defecto",
5
- "data": {
6
- "text": "Por defecto"
7
- },
8
- "visualDescription": "Botón rectangular con borde azul de 1-2px, fondo blanco, y texto azul en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
9
- "_generated": {
10
- "hash": "9c8905b1b80586acb882d3e1c9bb50e0",
11
- "version": "15.0.3",
12
- "timestamp": "2026-01-30T18:49:58.711Z"
13
- }
14
- },
15
- {
16
- "name": "por defecto con estado activo",
17
- "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
18
- "data": {
19
- "name": "active",
20
- "text": "Activo",
21
- "classes": "ds-active"
22
- },
23
- "visualDescription": "Botón rectangular con borde azul de 1-2px, fondo azul sólido, y texto blanco en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
24
- "_generated": {
25
- "hash": "87faca7a0214cfbcea6b282cef93d774",
26
- "version": "15.0.3",
27
- "timestamp": "2026-01-30T18:49:58.711Z"
28
- }
29
- },
30
- {
31
- "name": "por defecto con estado hover",
32
- "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
33
- "data": {
34
- "name": "hover",
35
- "text": "Hover",
36
- "classes": "ds-hover"
37
- },
38
- "visualDescription": "Botón rectangular con borde azul oscuro de 1-2px, fondo azul claro translúcido, y texto azul oscuro en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
39
- "_generated": {
40
- "hash": "5d335eb27a127b6d73e914f202f4d864",
41
- "version": "15.0.3",
42
- "timestamp": "2026-01-30T18:49:58.711Z"
43
- }
44
- },
45
- {
46
- "name": "por defecto con estado focus",
47
- "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
48
- "data": {
49
- "name": "focus",
50
- "text": "Focus",
51
- "classes": "ds-focus"
52
- },
53
- "visualDescription": "Botón rectangular con fondo amarillo brillante, borde negro de 2px, y texto en negrita negro centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
54
- "_generated": {
55
- "hash": "d0dd8934f4b1e971bff30a2b36904cfb",
56
- "version": "15.0.3",
57
- "timestamp": "2026-01-30T18:50:06.186Z"
58
- }
59
- },
60
- {
61
- "name": "por defecto deshabilitado",
62
- "data": {
63
- "text": "Deshabilitado",
64
- "disabled": true
65
- },
66
- "visualDescription": "Botón rectangular con fondo blanco, borde gris claro de 1px, y texto en color gris claro centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
67
- "_generated": {
68
- "hash": "a369de481f71bb21bc4679d44d965da8",
69
- "version": "15.0.3",
70
- "timestamp": "2026-01-30T18:50:06.186Z"
71
- }
72
- },
73
- {
74
- "name": "primario",
75
- "data": {
76
- "text": "Primario",
77
- "classes": "c-button--primary"
78
- },
79
- "visualDescription": "Botón rectangular con fondo azul petróleo oscuro, sin borde visible, y texto en blanco centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
80
- "_generated": {
81
- "hash": "e553b82e738719f98ddb49d77e6a77a2",
82
- "version": "15.0.3",
83
- "timestamp": "2026-01-30T18:50:06.186Z"
84
- }
85
- },
86
- {
87
- "name": "primario con estado activo",
88
- "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
89
- "data": {
90
- "name": "active",
91
- "text": "Activo",
92
- "classes": "c-button--primary ds-active"
93
- },
94
- "visualDescription": "Botón rectangular con fondo azul oscuro (teal/petróleo), texto blanco en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, aspecto sólido y clickeable.",
95
- "_generated": {
96
- "hash": "7e43e4748fb6c61b46af7f6213480185",
97
- "version": "15.0.3",
98
- "timestamp": "2026-01-30T18:50:13.863Z"
99
- }
100
- },
101
- {
102
- "name": "primario con estado hover",
103
- "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
104
- "data": {
105
- "name": "hover",
106
- "text": "Hover",
107
- "classes": "c-button--primary ds-hover"
108
- },
109
- "visualDescription": "Botón rectangular con fondo azul marino oscuro, texto blanco en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, superficie sólida sin transparencias.",
110
- "_generated": {
111
- "hash": "abd8d3b0bacd7c3a136c986e96beece9",
112
- "version": "15.0.3",
113
- "timestamp": "2026-01-30T18:50:13.863Z"
114
- }
115
- },
116
- {
117
- "name": "primario con estado focus",
118
- "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
119
- "data": {
120
- "name": "focus",
121
- "text": "Focus",
122
- "classes": "c-button--primary ds-focus"
123
- },
124
- "visualDescription": "Botón rectangular con fondo amarillo brillante, texto negro en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, alto contraste entre fondo y texto, borde negro de 2px visible.",
125
- "_generated": {
126
- "hash": "e0112cf7b0a54ec67ec4583d4a93d214",
127
- "version": "15.0.3",
128
- "timestamp": "2026-01-30T18:50:13.863Z"
129
- }
130
- },
131
- {
132
- "name": "primario deshabilitado",
133
- "data": {
134
- "text": "Deshabilitado",
135
- "disabled": true,
136
- "classes": "c-button--primary"
137
- },
138
- "visualDescription": "Botón rectangular con fondo gris azulado claro, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia atenuada sin sombras ni efectos hover visibles.",
139
- "_generated": {
140
- "hash": "daa793dceaf4ff9f199645ff15d34202",
141
- "version": "15.0.3",
142
- "timestamp": "2026-01-30T18:50:21.174Z"
143
- }
144
- },
145
- {
146
- "name": "alerta",
147
- "data": {
148
- "text": "Alerta",
149
- "classes": "c-button--alert"
150
- },
151
- "visualDescription": "Botón rectangular con fondo rojo brillante, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia sólida con contraste alto entre fondo y texto.",
152
- "_generated": {
153
- "hash": "e0e1fe511c0799c3b71c98505c5daed6",
154
- "version": "15.0.3",
155
- "timestamp": "2026-01-30T18:50:21.174Z"
156
- }
157
- },
158
- {
159
- "name": "alerta con estado activo",
160
- "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
161
- "data": {
162
- "name": "active",
163
- "text": "Activo",
164
- "classes": "c-button--alert ds-active"
165
- },
166
- "visualDescription": "Botón rectangular con fondo rojo oscuro intenso, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia de estado presionado con tono más profundo que denota interacción activa.",
167
- "_generated": {
168
- "hash": "1d1ffc08adcde9326a974f80d944c07e",
169
- "version": "15.0.3",
170
- "timestamp": "2026-01-30T18:50:21.174Z"
171
- }
172
- },
173
- {
174
- "name": "alerta con estado hover",
175
- "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
176
- "data": {
177
- "name": "hover",
178
- "text": "Hover",
179
- "classes": "c-button--alert ds-hover"
180
- },
181
- "visualDescription": "Botón rectangular con fondo rojo oscuro, texto blanco en peso normal, y esquinas ligeramente redondeadas. Padding generoso alrededor del texto, tamaño compacto de botón estándar con borde rojo sólido visible.",
182
- "_generated": {
183
- "hash": "e8307f5b3a7b3fe04e56cd874fd9c5f8",
184
- "version": "15.0.3",
185
- "timestamp": "2026-01-30T18:50:30.044Z"
186
- }
187
- },
188
- {
189
- "name": "alerta con estado focus",
190
- "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
191
- "data": {
192
- "name": "focus",
193
- "text": "Focus",
194
- "classes": "c-button--alert ds-focus"
195
- },
196
- "visualDescription": "Botón rectangular con fondo amarillo brillante, texto negro en peso normal, y esquinas ligeramente redondeadas. Borde negro de 2-3px rodea el botón creando un contorno de enfoque visible, padding interno generoso.",
197
- "_generated": {
198
- "hash": "820394b187829a9a3e9050ccb6e111e3",
199
- "version": "15.0.3",
200
- "timestamp": "2026-01-30T18:50:30.044Z"
201
- }
202
- },
203
- {
204
- "name": "alerta deshabilitado",
205
- "data": {
206
- "text": "Deshabilitado",
207
- "disabled": true,
208
- "classes": "c-button--alert"
209
- },
210
- "visualDescription": "Botón rectangular con fondo rosa pálido translúcido, texto blanco en peso normal, y esquinas ligeramente redondeadas. Apariencia atenuada sin borde visible, padding interno estándar, opacidad reducida indicando estado inactivo.",
211
- "_generated": {
212
- "hash": "01a4fcb806863739d7c2bc132bee8734",
213
- "version": "15.0.3",
214
- "timestamp": "2026-01-30T18:50:30.044Z"
215
- }
216
- },
217
- {
218
- "name": "transparente",
219
- "data": {
220
- "text": "Transparente",
221
- "classes": "c-button--transparent"
222
- },
223
- "visualDescription": "Botón con texto azul en fuente regular, sin borde visible, fondo completamente transparente. Elemento clickeable de tamaño compacto con padding mínimo alrededor del texto.",
224
- "_generated": {
225
- "hash": "0a79bfd8d2b195eab9bae8c90bd33531",
226
- "version": "15.0.3",
227
- "timestamp": "2026-01-30T18:50:37.930Z"
228
- }
229
- },
230
- {
231
- "name": "transparente con estado activo",
232
- "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
233
- "data": {
234
- "name": "active",
235
- "text": "Activo",
236
- "classes": "c-button--transparent ds-active"
237
- },
238
- "visualDescription": "Botón con texto azul en fuente bold (negrita), sin borde visible, fondo completamente transparente. Elemento clickeable de tamaño compacto que muestra énfasis tipográfico mediante el peso de fuente aumentado.",
239
- "_generated": {
240
- "hash": "0adfb7af89cfc304d4c8985cc731cc0e",
241
- "version": "15.0.3",
242
- "timestamp": "2026-01-30T18:50:37.930Z"
243
- }
244
- },
245
- {
246
- "name": "transparente con estado hover",
247
- "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
248
- "data": {
249
- "name": "hover",
250
- "text": "Hover",
251
- "classes": "c-button--transparent ds-hover"
252
- },
253
- "visualDescription": "Botón con texto azul subrayado en fuente regular, sin borde visible, fondo gris muy claro (casi blanco). Elemento clickeable de tamaño compacto con padding ligero y decoración de subrayado en el texto.",
254
- "_generated": {
255
- "hash": "893c2f8477b1de95e632d5bc1fae98d8",
256
- "version": "15.0.3",
257
- "timestamp": "2026-01-30T18:50:37.930Z"
258
- }
259
- },
260
- {
261
- "name": "transparente con estado focus",
262
- "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
263
- "data": {
264
- "name": "focus",
265
- "text": "Focus",
266
- "classes": "c-button--transparent ds-focus"
267
- },
268
- "visualDescription": "Botón con fondo amarillo vibrante, texto negro en negrita, y borde negro de 2px. El botón tiene padding moderado, esquinas ligeramente redondeadas, y muestra un estado de enfoque activo con outline visible.",
269
- "_generated": {
270
- "hash": "04256ad5d064c31de2a1aca26a34bdf2",
271
- "version": "15.0.3",
272
- "timestamp": "2026-01-30T18:50:46.737Z"
273
- }
274
- },
275
- {
276
- "name": "transparente deshabilitado",
277
- "data": {
278
- "text": "Deshabilitado",
279
- "disabled": true,
280
- "classes": "c-button--transparent"
281
- },
282
- "visualDescription": "Botón con fondo blanco transparente, texto gris claro en peso normal, y sin borde visible. El botón mantiene padding moderado, esquinas ligeramente redondeadas, y transmite un estado inactivo mediante su paleta de colores desaturada.",
283
- "_generated": {
284
- "hash": "b06cec5cbaf9107faa52fceddc1d024f",
285
- "version": "15.0.3",
286
- "timestamp": "2026-01-30T18:50:46.737Z"
287
- }
288
- },
289
- {
290
- "name": "anchura completa",
291
- "data": {
292
- "text": "Anchura completa",
293
- "classes": "w-full justify-center"
294
- },
295
- "visualDescription": "Botón rectangular que ocupa el 100% del ancho del contenedor, con fondo blanco, borde azul de 1px, y texto azul centrado. El botón tiene altura estándar, esquinas ligeramente redondeadas, y padding vertical uniforme que distribuye el espacio alrededor del texto.",
296
- "_generated": {
297
- "hash": "6fcbc3775c5d723da6f7e6e3bca26010",
298
- "version": "15.0.3",
299
- "timestamp": "2026-01-30T18:50:46.737Z"
300
- }
301
- },
302
- {
303
- "name": "grande y primario",
304
- "data": {
305
- "text": "Grande y primario",
306
- "classes": "c-button--lg c-button--primary"
307
- },
308
- "visualDescription": "Botón rectangular con fondo azul petróleo oscuro, texto blanco en negrita. Esquinas ligeramente redondeadas, padding generoso vertical y horizontal, apariencia prominente de llamada a acción principal.",
309
- "_generated": {
310
- "hash": "01c201e4ad9f9e9a2b642d1c05a2b40e",
311
- "version": "15.0.3",
312
- "timestamp": "2026-01-30T18:50:54.527Z"
313
- }
314
- },
315
- {
316
- "name": "peque",
317
- "data": {
318
- "text": "Peque",
319
- "classes": "c-button--sm"
320
- },
321
- "visualDescription": "Botón rectangular compacto con borde azul petróleo de 1-2px, fondo blanco, texto azul petróleo. Esquinas ligeramente redondeadas, padding reducido vertical y horizontal, estilo de botón secundario outline.",
322
- "_generated": {
323
- "hash": "aa506181d6605353b183292f704e6cb3",
324
- "version": "15.0.3",
325
- "timestamp": "2026-01-30T18:50:54.527Z"
326
- }
327
- },
328
- {
329
- "name": "peque tiene selección",
330
- "data": {
331
- "text": "Peque tiene selección",
332
- "classes": "c-button--sm c-button--has-selection"
333
- },
334
- "visualDescription": "Botón rectangular compacto con borde azul petróleo de 1-2px, fondo blanco, texto azul petróleo. Esquinas ligeramente redondeadas, padding reducido vertical y horizontal, estilo de botón secundario outline.",
335
- "_generated": {
336
- "hash": "a803464d1a993f4d5069c6b62cf40f8b",
337
- "version": "15.0.3",
338
- "timestamp": "2026-01-30T18:50:54.527Z"
339
- }
340
- },
341
- {
342
- "name": "enlace",
343
- "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
344
- "data": {
345
- "text": "Botón enlace",
346
- "href": "/"
347
- },
348
- "visualDescription": "Botón de enlace con texto azul en tamaño estándar, sin fondo visible. El borde azul de 1px rodea el elemento con esquinas redondeadas. El texto aparece centrado dentro del área del botón.",
349
- "_generated": {
350
- "hash": "fae9f5d5a13f0566fd1475b7e42f3cdb",
351
- "version": "15.0.3",
352
- "timestamp": "2026-01-30T18:51:02.816Z"
353
- }
354
- },
355
- {
356
- "name": "botón enlace con target blank",
357
- "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
358
- "data": {
359
- "html": "Botón enlace con target <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='0.8em' width='0.8em' class='self-center ml-sm' aria-hidden='true' focusable='false' role='presentation'><g><path id='Union' fill='currentcolor' fill-rule='evenodd' d='M7.428571428571428 0.5714285714285714c-0.6311885714285713 0 -1.1428571428571428 0.5116742857142856 -1.1428571428571428 1.1428571428571428 0 0.6311771428571428 0.5116685714285714 1.1428571428571428 1.1428571428571428 1.1428571428571428h4.098057142857143L0.9061634285714285 13.477599999999999c-0.4463131428571428 0.4462857142857143 -0.4463131428571428 1.1699428571428572 0 1.6162285714285711 0.4463165714285714 0.4462857142857143 1.1699279999999999 0.4462857142857143 1.616248 0L13.142857142857142 4.473382857142857V8.571428571428571c0 0.6311771428571428 0.5116571428571428 1.1428571428571428 1.1428571428571428 1.1428571428571428s1.1428571428571428 -0.51168 1.1428571428571428 -1.1428571428571428v-6.857142857142857c0 -0.6311828571428572 -0.5116571428571428 -1.1428571428571428 -1.1428571428571428 -1.1428571428571428h-6.857142857142857Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
360
- "href": "http://www.google.com",
361
- "target": "_blank",
362
- "attributes": {
363
- "title": "Se abre en ventana nueva"
364
- }
365
- },
366
- "visualDescription": "Botón de enlace con texto azul en tamaño estándar, borde azul de 1px con esquinas redondeadas. Incluye un ícono de flecha diagonal pequeño en color azul posicionado a la derecha del texto. El fondo es transparente.",
367
- "_generated": {
368
- "hash": "1c7890a1a8a6d37debf9417fbe23555a",
369
- "version": "15.0.3",
370
- "timestamp": "2026-01-30T18:51:02.816Z"
371
- }
372
-
373
- },
374
- {
375
- "name": "enlace deshabilitado",
376
- "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
377
- "data": {
378
- "text": "Botón enlace deshabilitado",
379
- "href": "/",
380
- "disabled": true
381
- },
382
- "visualDescription": "Botón de enlace con texto gris claro en tamaño estándar, borde gris claro de 1px con esquinas redondeadas. El fondo es transparente y el elemento presenta una apariencia visualmente atenuada. El texto aparece centrado dentro del área del botón.",
383
- "_generated": {
384
- "hash": "e3d5b631fb8edd34cbcd2410f74862d9",
385
- "version": "15.0.3",
386
- "timestamp": "2026-01-30T18:51:02.816Z"
387
- }
388
- },
389
- {
390
- "name": "botón con icono a la derecha",
391
- "data": {
392
- "html": "Botón con icono<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center ml-2' aria-hidden='true' focusable='false' role='presentation'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>"
393
- },
394
- "visualDescription": "Botón rectangular con borde azul de 1px, fondo blanco, y texto azul en peso normal alineado a la izquierda. Icono azul de un cuadrado con flecha posicionado a la derecha del texto. Padding interno generoso con espaciado horizontal entre texto e icono.",
395
- "_generated": {
396
- "hash": "179e00dc4724c15f3457408883b541f3",
397
- "version": "15.0.3",
398
- "timestamp": "2026-01-30T18:51:11.621Z"
399
- }
400
- },
401
- {
402
- "name": "botón con icono a la izquierda",
403
- "data": {
404
- "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center mr-2' aria-hidden='true' focusable='false' role='presentation'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>Botón con icono"
405
- },
406
- "visualDescription": "Botón rectangular con borde azul de 1px, fondo blanco, y texto azul en peso normal alineado a la derecha. Icono azul de información circular posicionado a la izquierda del texto. Padding interno generoso con espaciado horizontal entre icono y texto.",
407
- "_generated": {
408
- "hash": "2ed8dcf6496e1e19f7193e51402155e4",
409
- "version": "15.0.3",
410
- "timestamp": "2026-01-30T18:51:11.621Z"
411
- }
412
- },
413
- {
414
- "name": "botón atrás",
415
- "description": "Transparente con icono a la izquierda",
416
- "data": {
417
- "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140' class='self-center mr-2' aria-hidden='true' focusable='false' width='1em' height='1em'><path d='M37.93 27.93l-35 35a10 10 0 000 14.14l35 35a10 10 0 1014.14-14.14L38.41 84.27A2.5 2.5 0 0140.18 80H130a10 10 0 000-20H40.18a2.5 2.5 0 01-1.77-4.27l13.66-13.66a10 10 0 00-14.14-14.14z' fill='currentColor'></path></svg>Volver",
418
- "href": "/",
419
- "classes": "c-button--transparent"
420
- },
421
- "visualDescription": "Botón de texto sin borde ni fondo visible, compuesto por flecha azul apuntando a la izquierda seguida de texto azul en peso normal. Layout horizontal compacto con espaciado mínimo entre flecha y texto. Apariencia de enlace interactivo sin contenedor visible.",
422
- "_generated": {
423
- "hash": "93dbb95d339fb5ed50a6e3cdad7f6f57",
424
- "version": "15.0.3",
425
- "timestamp": "2026-01-30T18:51:11.621Z"
426
- }
427
- },
428
- {
429
- "name": "botón adelante",
430
- "description": "Transparente con icono a la derecha",
431
- "data": {
432
- "html": "Ver más<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140' class='self-center ml-2' aria-hidden='true' focusable='false' width='1em' height='1em'><path d='M102.07 27.93l35 35a10 10 0 010 14.14l-35 35a10 10 0 01-14.14-14.14l13.66-13.66A2.5 2.5 0 0099.82 80H10a10 10 0 010-20h89.82a2.5 2.5 0 001.77-4.27L87.93 42.07a10 10 0 0114.14-14.14z' fill='currentColor'></path></svg>",
433
- "href": "/",
434
- "classes": "c-button--transparent"
435
- },
436
- "visualDescription": "Botón de texto con label azul oscuro seguido de un ícono de flecha hacia la derecha. Fondo transparente sin borde visible. Dimensiones compactas con padding mínimo alrededor del texto.",
437
- "_generated": {
438
- "hash": "72ccb16d544c8bf466d885d852e248f1",
439
- "version": "15.0.3",
440
- "timestamp": "2026-01-30T18:51:19.812Z"
441
- }
442
- },
443
- {
444
- "name": "botón sólo con icono",
445
- "data": {
446
- "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center my-1' aria-hidden='true' focusable='false' role='presentation' aria-label='Borrar'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
447
- "classes": "c-button--primary align-bottom"
448
- },
449
- "visualDescription": "Botón cuadrado con fondo azul petróleo sólido conteniendo un ícono de flecha blanca apuntando hacia la derecha. Bordes rectos sin esquinas redondeadas. Tamaño mediano aproximadamente 40x40px con el ícono centrado.",
450
- "_generated": {
451
- "hash": "d6e62d1043509142e6e9f16cf698f506",
452
- "version": "15.0.3",
453
- "timestamp": "2026-01-30T18:51:19.812Z"
454
- }
455
-
456
- },
457
- {
458
- "name": "button peque sólo con icono",
459
- "data": {
460
- "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center my-1' aria-hidden='true' focusable='false' role='presentation' aria-label='Borrar'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
461
- "classes": "c-button--primary c-button--sm align-bottom"
462
- },
463
- "visualDescription": "Botón cuadrado con fondo azul petróleo sólido conteniendo un ícono de flecha blanca apuntando hacia la derecha. Bordes rectos sin esquinas redondeadas. Tamaño pequeño aproximadamente 30x30px con el ícono centrado ocupando proporcionalmente el espacio interior.",
464
- "_generated": {
465
- "hash": "0bfb5a790104023b5ed3d2398d99841e",
466
- "version": "15.0.3",
467
- "timestamp": "2026-01-30T18:51:19.812Z"
468
- }
469
-
470
- },
471
- {
472
- "name": "input",
473
- "data": {
474
- "element": "input",
475
- "name": "send-form",
476
- "text": "Enviar"
477
- },
478
- "visualDescription": "Botón rectangular con texto en color azul (aproximadamente #0066CC). Fondo blanco con borde azul de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas.",
479
- "_generated": {
480
- "hash": "8d30b903c335ed1cb5c63f6b42831a21",
481
- "version": "15.0.3",
482
- "timestamp": "2026-01-30T18:51:27.490Z"
483
- }
484
- },
485
- {
486
- "name": "input deshabilitado",
487
- "data": {
488
- "element": "input",
489
- "text": "Enviar",
490
- "disabled": true
491
- },
492
- "visualDescription": "Botón rectangular con texto en color gris medio. Fondo blanco con borde gris claro de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas, apariencia visual que indica estado inactivo.",
493
- "_generated": {
494
- "hash": "d3119ee9d2aace49a1c9916fb9fdbace",
495
- "version": "15.0.3",
496
- "timestamp": "2026-01-30T18:51:27.490Z"
497
- }
498
- },
499
- {
500
- "name": "prevenir doble click",
501
- "data": {
502
- "text": "Enviar",
503
- "preventDoubleClick": true
504
- },
505
- "visualDescription": "Botón rectangular con texto en color azul (aproximadamente #0066CC). Fondo blanco con borde azul de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas, implementación que bloquea múltiples clics.",
506
- "_generated": {
507
- "hash": "156ca0e885a5fe584b7d5143e2c873bc",
508
- "version": "15.0.3",
509
- "timestamp": "2026-01-30T18:51:27.490Z"
510
- }
511
- }
1
+ {% set exampleComponent = "button" %}
2
+ {% set examples = [
3
+ {
4
+ "name": "por defecto",
5
+ "data": {
6
+ "text": "Por defecto"
7
+ },
8
+ "visualDescription": "Botón rectangular con borde azul de 1-2px, fondo blanco, y texto azul en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
9
+ "_generated": {
10
+ "hash": "9c8905b1b80586acb882d3e1c9bb50e0",
11
+ "version": "15.0.3",
12
+ "timestamp": "2026-01-30T18:49:58.711Z"
13
+ }
14
+ },
15
+ {
16
+ "name": "por defecto con estado activo",
17
+ "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
18
+ "data": {
19
+ "name": "active",
20
+ "text": "Activo",
21
+ "classes": "ds-active"
22
+ },
23
+ "visualDescription": "Botón rectangular con borde azul de 1-2px, fondo azul sólido, y texto blanco en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
24
+ "_generated": {
25
+ "hash": "87faca7a0214cfbcea6b282cef93d774",
26
+ "version": "15.0.3",
27
+ "timestamp": "2026-01-30T18:49:58.711Z"
28
+ }
29
+ },
30
+ {
31
+ "name": "por defecto con estado hover",
32
+ "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
33
+ "data": {
34
+ "name": "hover",
35
+ "text": "Hover",
36
+ "classes": "ds-hover"
37
+ },
38
+ "visualDescription": "Botón rectangular con borde azul oscuro de 1-2px, fondo azul claro translúcido, y texto azul oscuro en peso normal. El botón tiene padding moderado alrededor del texto. Esquinas ligeramente redondeadas.",
39
+ "_generated": {
40
+ "hash": "5d335eb27a127b6d73e914f202f4d864",
41
+ "version": "15.0.3",
42
+ "timestamp": "2026-01-30T18:49:58.711Z"
43
+ }
44
+ },
45
+ {
46
+ "name": "por defecto con estado focus",
47
+ "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
48
+ "data": {
49
+ "name": "focus",
50
+ "text": "Focus",
51
+ "classes": "ds-focus"
52
+ },
53
+ "visualDescription": "Botón rectangular con fondo amarillo brillante, borde negro de 2px, y texto en negrita negro centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
54
+ "_generated": {
55
+ "hash": "d0dd8934f4b1e971bff30a2b36904cfb",
56
+ "version": "15.0.3",
57
+ "timestamp": "2026-01-30T18:50:06.186Z"
58
+ }
59
+ },
60
+ {
61
+ "name": "por defecto deshabilitado",
62
+ "data": {
63
+ "text": "Deshabilitado",
64
+ "disabled": true
65
+ },
66
+ "visualDescription": "Botón rectangular con fondo blanco, borde gris claro de 1px, y texto en color gris claro centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
67
+ "_generated": {
68
+ "hash": "a369de481f71bb21bc4679d44d965da8",
69
+ "version": "15.0.3",
70
+ "timestamp": "2026-01-30T18:50:06.186Z"
71
+ }
72
+ },
73
+ {
74
+ "name": "primario",
75
+ "data": {
76
+ "text": "Primario",
77
+ "classes": "c-button--primary"
78
+ },
79
+ "visualDescription": "Botón rectangular con fondo azul petróleo oscuro, sin borde visible, y texto en blanco centrado. Dimensiones compactas de altura aproximada 30-35px y ancho ajustado al contenido con padding lateral moderado.",
80
+ "_generated": {
81
+ "hash": "e553b82e738719f98ddb49d77e6a77a2",
82
+ "version": "15.0.3",
83
+ "timestamp": "2026-01-30T18:50:06.186Z"
84
+ }
85
+ },
86
+ {
87
+ "name": "primario con estado activo",
88
+ "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
89
+ "data": {
90
+ "name": "active",
91
+ "text": "Activo",
92
+ "classes": "c-button--primary ds-active"
93
+ },
94
+ "visualDescription": "Botón rectangular con fondo azul oscuro (teal/petróleo), texto blanco en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, aspecto sólido y clickeable.",
95
+ "_generated": {
96
+ "hash": "7e43e4748fb6c61b46af7f6213480185",
97
+ "version": "15.0.3",
98
+ "timestamp": "2026-01-30T18:50:13.863Z"
99
+ }
100
+ },
101
+ {
102
+ "name": "primario con estado hover",
103
+ "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
104
+ "data": {
105
+ "name": "hover",
106
+ "text": "Hover",
107
+ "classes": "c-button--primary ds-hover"
108
+ },
109
+ "visualDescription": "Botón rectangular con fondo azul marino oscuro, texto blanco en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, superficie sólida sin transparencias.",
110
+ "_generated": {
111
+ "hash": "abd8d3b0bacd7c3a136c986e96beece9",
112
+ "version": "15.0.3",
113
+ "timestamp": "2026-01-30T18:50:13.863Z"
114
+ }
115
+ },
116
+ {
117
+ "name": "primario con estado focus",
118
+ "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
119
+ "data": {
120
+ "name": "focus",
121
+ "text": "Focus",
122
+ "classes": "c-button--primary ds-focus"
123
+ },
124
+ "visualDescription": "Botón rectangular con fondo amarillo brillante, texto negro en negrita, padding horizontal amplio. Bordes con esquinas ligeramente redondeadas, alto contraste entre fondo y texto, borde negro de 2px visible.",
125
+ "_generated": {
126
+ "hash": "e0112cf7b0a54ec67ec4583d4a93d214",
127
+ "version": "15.0.3",
128
+ "timestamp": "2026-01-30T18:50:13.863Z"
129
+ }
130
+ },
131
+ {
132
+ "name": "primario deshabilitado",
133
+ "data": {
134
+ "text": "Deshabilitado",
135
+ "disabled": true,
136
+ "classes": "c-button--primary"
137
+ },
138
+ "visualDescription": "Botón rectangular con fondo gris azulado claro, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia atenuada sin sombras ni efectos hover visibles.",
139
+ "_generated": {
140
+ "hash": "daa793dceaf4ff9f199645ff15d34202",
141
+ "version": "15.0.3",
142
+ "timestamp": "2026-01-30T18:50:21.174Z"
143
+ }
144
+ },
145
+ {
146
+ "name": "alerta",
147
+ "data": {
148
+ "text": "Alerta",
149
+ "classes": "c-button--alert"
150
+ },
151
+ "visualDescription": "Botón rectangular con fondo rojo brillante, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia sólida con contraste alto entre fondo y texto.",
152
+ "_generated": {
153
+ "hash": "e0e1fe511c0799c3b71c98505c5daed6",
154
+ "version": "15.0.3",
155
+ "timestamp": "2026-01-30T18:50:21.174Z"
156
+ }
157
+ },
158
+ {
159
+ "name": "alerta con estado activo",
160
+ "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
161
+ "data": {
162
+ "name": "active",
163
+ "text": "Activo",
164
+ "classes": "c-button--alert ds-active"
165
+ },
166
+ "visualDescription": "Botón rectangular con fondo rojo oscuro intenso, texto blanco en peso regular centrado. Bordes redondeados sutiles, apariencia de estado presionado con tono más profundo que denota interacción activa.",
167
+ "_generated": {
168
+ "hash": "1d1ffc08adcde9326a974f80d944c07e",
169
+ "version": "15.0.3",
170
+ "timestamp": "2026-01-30T18:50:21.174Z"
171
+ }
172
+ },
173
+ {
174
+ "name": "alerta con estado hover",
175
+ "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
176
+ "data": {
177
+ "name": "hover",
178
+ "text": "Hover",
179
+ "classes": "c-button--alert ds-hover"
180
+ },
181
+ "visualDescription": "Botón rectangular con fondo rojo oscuro, texto blanco en peso normal, y esquinas ligeramente redondeadas. Padding generoso alrededor del texto, tamaño compacto de botón estándar con borde rojo sólido visible.",
182
+ "_generated": {
183
+ "hash": "e8307f5b3a7b3fe04e56cd874fd9c5f8",
184
+ "version": "15.0.3",
185
+ "timestamp": "2026-01-30T18:50:30.044Z"
186
+ }
187
+ },
188
+ {
189
+ "name": "alerta con estado focus",
190
+ "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
191
+ "data": {
192
+ "name": "focus",
193
+ "text": "Focus",
194
+ "classes": "c-button--alert ds-focus"
195
+ },
196
+ "visualDescription": "Botón rectangular con fondo amarillo brillante, texto negro en peso normal, y esquinas ligeramente redondeadas. Borde negro de 2-3px rodea el botón creando un contorno de enfoque visible, padding interno generoso.",
197
+ "_generated": {
198
+ "hash": "820394b187829a9a3e9050ccb6e111e3",
199
+ "version": "15.0.3",
200
+ "timestamp": "2026-01-30T18:50:30.044Z"
201
+ }
202
+ },
203
+ {
204
+ "name": "alerta deshabilitado",
205
+ "data": {
206
+ "text": "Deshabilitado",
207
+ "disabled": true,
208
+ "classes": "c-button--alert"
209
+ },
210
+ "visualDescription": "Botón rectangular con fondo rosa pálido translúcido, texto blanco en peso normal, y esquinas ligeramente redondeadas. Apariencia atenuada sin borde visible, padding interno estándar, opacidad reducida indicando estado inactivo.",
211
+ "_generated": {
212
+ "hash": "01a4fcb806863739d7c2bc132bee8734",
213
+ "version": "15.0.3",
214
+ "timestamp": "2026-01-30T18:50:30.044Z"
215
+ }
216
+ },
217
+ {
218
+ "name": "transparente",
219
+ "data": {
220
+ "text": "Transparente",
221
+ "classes": "c-button--transparent"
222
+ },
223
+ "visualDescription": "Botón con texto azul en fuente regular, sin borde visible, fondo completamente transparente. Elemento clickeable de tamaño compacto con padding mínimo alrededor del texto.",
224
+ "_generated": {
225
+ "hash": "0a79bfd8d2b195eab9bae8c90bd33531",
226
+ "version": "15.0.3",
227
+ "timestamp": "2026-01-30T18:50:37.930Z"
228
+ }
229
+ },
230
+ {
231
+ "name": "transparente con estado activo",
232
+ "description": "Simula activar la pseudoclase de CSS <code>:active</code>",
233
+ "data": {
234
+ "name": "active",
235
+ "text": "Activo",
236
+ "classes": "c-button--transparent ds-active"
237
+ },
238
+ "visualDescription": "Botón con texto azul en fuente bold (negrita), sin borde visible, fondo completamente transparente. Elemento clickeable de tamaño compacto que muestra énfasis tipográfico mediante el peso de fuente aumentado.",
239
+ "_generated": {
240
+ "hash": "0adfb7af89cfc304d4c8985cc731cc0e",
241
+ "version": "15.0.3",
242
+ "timestamp": "2026-01-30T18:50:37.930Z"
243
+ }
244
+ },
245
+ {
246
+ "name": "transparente con estado hover",
247
+ "description": "Simula activar la pseudoclase de CSS <code>:hover</code>",
248
+ "data": {
249
+ "name": "hover",
250
+ "text": "Hover",
251
+ "classes": "c-button--transparent ds-hover"
252
+ },
253
+ "visualDescription": "Botón con texto azul subrayado en fuente regular, sin borde visible, fondo gris muy claro (casi blanco). Elemento clickeable de tamaño compacto con padding ligero y decoración de subrayado en el texto.",
254
+ "_generated": {
255
+ "hash": "893c2f8477b1de95e632d5bc1fae98d8",
256
+ "version": "15.0.3",
257
+ "timestamp": "2026-01-30T18:50:37.930Z"
258
+ }
259
+ },
260
+ {
261
+ "name": "transparente con estado focus",
262
+ "description": "Simula activar la pseudoclase de CSS <code>:focus</code>",
263
+ "data": {
264
+ "name": "focus",
265
+ "text": "Focus",
266
+ "classes": "c-button--transparent ds-focus"
267
+ },
268
+ "visualDescription": "Botón con fondo amarillo vibrante, texto negro en negrita, y borde negro de 2px. El botón tiene padding moderado, esquinas ligeramente redondeadas, y muestra un estado de enfoque activo con outline visible.",
269
+ "_generated": {
270
+ "hash": "04256ad5d064c31de2a1aca26a34bdf2",
271
+ "version": "15.0.3",
272
+ "timestamp": "2026-01-30T18:50:46.737Z"
273
+ }
274
+ },
275
+ {
276
+ "name": "transparente deshabilitado",
277
+ "data": {
278
+ "text": "Deshabilitado",
279
+ "disabled": true,
280
+ "classes": "c-button--transparent"
281
+ },
282
+ "visualDescription": "Botón con fondo blanco transparente, texto gris claro en peso normal, y sin borde visible. El botón mantiene padding moderado, esquinas ligeramente redondeadas, y transmite un estado inactivo mediante su paleta de colores desaturada.",
283
+ "_generated": {
284
+ "hash": "b06cec5cbaf9107faa52fceddc1d024f",
285
+ "version": "15.0.3",
286
+ "timestamp": "2026-01-30T18:50:46.737Z"
287
+ }
288
+ },
289
+ {
290
+ "name": "anchura completa",
291
+ "data": {
292
+ "text": "Anchura completa",
293
+ "classes": "w-full justify-center"
294
+ },
295
+ "visualDescription": "Botón rectangular que ocupa el 100% del ancho del contenedor, con fondo blanco, borde azul de 1px, y texto azul centrado. El botón tiene altura estándar, esquinas ligeramente redondeadas, y padding vertical uniforme que distribuye el espacio alrededor del texto.",
296
+ "_generated": {
297
+ "hash": "6fcbc3775c5d723da6f7e6e3bca26010",
298
+ "version": "15.0.3",
299
+ "timestamp": "2026-01-30T18:50:46.737Z"
300
+ }
301
+ },
302
+ {
303
+ "name": "grande y primario",
304
+ "data": {
305
+ "text": "Grande y primario",
306
+ "classes": "c-button--lg c-button--primary"
307
+ },
308
+ "visualDescription": "Botón rectangular con fondo azul petróleo oscuro, texto blanco en negrita. Esquinas ligeramente redondeadas, padding generoso vertical y horizontal, apariencia prominente de llamada a acción principal.",
309
+ "_generated": {
310
+ "hash": "01c201e4ad9f9e9a2b642d1c05a2b40e",
311
+ "version": "15.0.3",
312
+ "timestamp": "2026-01-30T18:50:54.527Z"
313
+ }
314
+ },
315
+ {
316
+ "name": "peque",
317
+ "data": {
318
+ "text": "Peque",
319
+ "classes": "c-button--sm"
320
+ },
321
+ "visualDescription": "Botón rectangular compacto con borde azul petróleo de 1-2px, fondo blanco, texto azul petróleo. Esquinas ligeramente redondeadas, padding reducido vertical y horizontal, estilo de botón secundario outline.",
322
+ "_generated": {
323
+ "hash": "aa506181d6605353b183292f704e6cb3",
324
+ "version": "15.0.3",
325
+ "timestamp": "2026-01-30T18:50:54.527Z"
326
+ }
327
+ },
328
+ {
329
+ "name": "peque tiene selección",
330
+ "data": {
331
+ "text": "Peque tiene selección",
332
+ "classes": "c-button--sm c-button--has-selection"
333
+ },
334
+ "visualDescription": "Botón rectangular compacto con borde azul petróleo de 1-2px, fondo blanco, texto azul petróleo. Esquinas ligeramente redondeadas, padding reducido vertical y horizontal, estilo de botón secundario outline.",
335
+ "_generated": {
336
+ "hash": "a803464d1a993f4d5069c6b62cf40f8b",
337
+ "version": "15.0.3",
338
+ "timestamp": "2026-01-30T18:50:54.527Z"
339
+ }
340
+ },
341
+ {
342
+ "name": "enlace",
343
+ "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
344
+ "data": {
345
+ "text": "Botón enlace",
346
+ "href": "/"
347
+ },
348
+ "visualDescription": "Botón de enlace con texto azul en tamaño estándar, sin fondo visible. El borde azul de 1px rodea el elemento con esquinas redondeadas. El texto aparece centrado dentro del área del botón.",
349
+ "_generated": {
350
+ "hash": "fae9f5d5a13f0566fd1475b7e42f3cdb",
351
+ "version": "15.0.3",
352
+ "timestamp": "2026-01-30T18:51:02.816Z"
353
+ }
354
+ },
355
+ {
356
+ "name": "botón enlace con target blank",
357
+ "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
358
+ "data": {
359
+ "html": "Botón enlace con target <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='0.8em' width='0.8em' class='self-center ml-sm' aria-hidden='true' focusable='false' role='presentation'><g><path id='Union' fill='currentcolor' fill-rule='evenodd' d='M7.428571428571428 0.5714285714285714c-0.6311885714285713 0 -1.1428571428571428 0.5116742857142856 -1.1428571428571428 1.1428571428571428 0 0.6311771428571428 0.5116685714285714 1.1428571428571428 1.1428571428571428 1.1428571428571428h4.098057142857143L0.9061634285714285 13.477599999999999c-0.4463131428571428 0.4462857142857143 -0.4463131428571428 1.1699428571428572 0 1.6162285714285711 0.4463165714285714 0.4462857142857143 1.1699279999999999 0.4462857142857143 1.616248 0L13.142857142857142 4.473382857142857V8.571428571428571c0 0.6311771428571428 0.5116571428571428 1.1428571428571428 1.1428571428571428 1.1428571428571428s1.1428571428571428 -0.51168 1.1428571428571428 -1.1428571428571428v-6.857142857142857c0 -0.6311828571428572 -0.5116571428571428 -1.1428571428571428 -1.1428571428571428 -1.1428571428571428h-6.857142857142857Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
360
+ "href": "http://www.google.com",
361
+ "target": "_blank",
362
+ "attributes": {
363
+ "title": "Se abre en ventana nueva"
364
+ }
365
+ },
366
+ "visualDescription": "Botón de enlace con texto azul en tamaño estándar, borde azul de 1px con esquinas redondeadas. Incluye un ícono de flecha diagonal pequeño en color azul posicionado a la derecha del texto. El fondo es transparente.",
367
+ "_generated": {
368
+ "hash": "1c7890a1a8a6d37debf9417fbe23555a",
369
+ "version": "15.0.3",
370
+ "timestamp": "2026-01-30T18:51:02.816Z"
371
+ }
372
+
373
+ },
374
+ {
375
+ "name": "enlace deshabilitado",
376
+ "description": "Si añades el atributo <code>href</code> se comporta como un enlace y generará la etiqueta <code>&lt;a&gt;</code> en lugar de la etiqueta <code>&lt;button&gt;</code>. Por lo tanto, semánticamente son diferentes y debes usar el que más se ajuste a tu caso de uso.",
377
+ "data": {
378
+ "text": "Botón enlace deshabilitado",
379
+ "href": "/",
380
+ "disabled": true
381
+ },
382
+ "visualDescription": "Botón de enlace con texto gris claro en tamaño estándar, borde gris claro de 1px con esquinas redondeadas. El fondo es transparente y el elemento presenta una apariencia visualmente atenuada. El texto aparece centrado dentro del área del botón.",
383
+ "_generated": {
384
+ "hash": "e3d5b631fb8edd34cbcd2410f74862d9",
385
+ "version": "15.0.3",
386
+ "timestamp": "2026-01-30T18:51:02.816Z"
387
+ }
388
+ },
389
+ {
390
+ "name": "botón con icono a la derecha",
391
+ "data": {
392
+ "html": "Botón con icono<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center ml-2' aria-hidden='true' focusable='false' role='presentation'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>"
393
+ },
394
+ "visualDescription": "Botón rectangular con borde azul de 1px, fondo blanco, y texto azul en peso normal alineado a la izquierda. Icono azul de un cuadrado con flecha posicionado a la derecha del texto. Padding interno generoso con espaciado horizontal entre texto e icono.",
395
+ "_generated": {
396
+ "hash": "179e00dc4724c15f3457408883b541f3",
397
+ "version": "15.0.3",
398
+ "timestamp": "2026-01-30T18:51:11.621Z"
399
+ }
400
+ },
401
+ {
402
+ "name": "botón con icono a la izquierda",
403
+ "data": {
404
+ "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center mr-2' aria-hidden='true' focusable='false' role='presentation'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>Botón con icono"
405
+ },
406
+ "visualDescription": "Botón rectangular con borde azul de 1px, fondo blanco, y texto azul en peso normal alineado a la derecha. Icono azul de información circular posicionado a la izquierda del texto. Padding interno generoso con espaciado horizontal entre icono y texto.",
407
+ "_generated": {
408
+ "hash": "2ed8dcf6496e1e19f7193e51402155e4",
409
+ "version": "15.0.3",
410
+ "timestamp": "2026-01-30T18:51:11.621Z"
411
+ }
412
+ },
413
+ {
414
+ "name": "botón atrás",
415
+ "description": "Transparente con icono a la izquierda",
416
+ "data": {
417
+ "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140' class='self-center mr-2' aria-hidden='true' focusable='false' width='1em' height='1em'><path d='M37.93 27.93l-35 35a10 10 0 000 14.14l35 35a10 10 0 1014.14-14.14L38.41 84.27A2.5 2.5 0 0140.18 80H130a10 10 0 000-20H40.18a2.5 2.5 0 01-1.77-4.27l13.66-13.66a10 10 0 00-14.14-14.14z' fill='currentColor'></path></svg>Volver",
418
+ "href": "/",
419
+ "classes": "c-button--transparent"
420
+ },
421
+ "visualDescription": "Botón de texto sin borde ni fondo visible, compuesto por flecha azul apuntando a la izquierda seguida de texto azul en peso normal. Layout horizontal compacto con espaciado mínimo entre flecha y texto. Apariencia de enlace interactivo sin contenedor visible.",
422
+ "_generated": {
423
+ "hash": "93dbb95d339fb5ed50a6e3cdad7f6f57",
424
+ "version": "15.0.3",
425
+ "timestamp": "2026-01-30T18:51:11.621Z"
426
+ }
427
+ },
428
+ {
429
+ "name": "botón adelante",
430
+ "description": "Transparente con icono a la derecha",
431
+ "data": {
432
+ "html": "Ver más<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140' class='self-center ml-2' aria-hidden='true' focusable='false' width='1em' height='1em'><path d='M102.07 27.93l35 35a10 10 0 010 14.14l-35 35a10 10 0 01-14.14-14.14l13.66-13.66A2.5 2.5 0 0099.82 80H10a10 10 0 010-20h89.82a2.5 2.5 0 001.77-4.27L87.93 42.07a10 10 0 0114.14-14.14z' fill='currentColor'></path></svg>",
433
+ "href": "/",
434
+ "classes": "c-button--transparent"
435
+ },
436
+ "visualDescription": "Botón de texto con label azul oscuro seguido de un ícono de flecha hacia la derecha. Fondo transparente sin borde visible. Dimensiones compactas con padding mínimo alrededor del texto.",
437
+ "_generated": {
438
+ "hash": "72ccb16d544c8bf466d885d852e248f1",
439
+ "version": "15.0.3",
440
+ "timestamp": "2026-01-30T18:51:19.812Z"
441
+ }
442
+ },
443
+ {
444
+ "name": "botón sólo con icono",
445
+ "description": "En botones que solo contienen un icono, el nombre accesible debe ir en el propio <code>&lt;button&gt;</code> mediante <code>aria-label</code>. El SVG se marca como decorativo con <code>aria-hidden=\"true\"</code> y <code>focusable=\"false\"</code> para que el lector de pantalla anuncie únicamente la etiqueta del botón.",
446
+ "data": {
447
+ "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center my-1' aria-hidden='true' focusable='false'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
448
+ "classes": "c-button--primary align-bottom",
449
+ "attributes": {
450
+ "aria-label": "Borrar"
451
+ }
452
+ },
453
+ "visualDescription": "Botón cuadrado con fondo azul petróleo sólido conteniendo un ícono de flecha blanca apuntando hacia la derecha. Bordes rectos sin esquinas redondeadas. Tamaño mediano aproximadamente 40x40px con el ícono centrado.",
454
+ "_generated": {
455
+ "hash": "d6e62d1043509142e6e9f16cf698f506",
456
+ "version": "15.0.3",
457
+ "timestamp": "2026-01-30T18:51:19.812Z"
458
+ }
459
+
460
+ },
461
+ {
462
+ "name": "button peque sólo con icono",
463
+ "data": {
464
+ "html": "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' height='1em' width='1em' class='self-center my-1' aria-hidden='true' focusable='false'><g><path fill='currentcolor' fill-rule='evenodd' d='M6.585782857142856 2.3000685714285716C6.960857142857142 1.9249942857142854 7.469565714285714 1.7142857142857142 8 1.7142857142857142c0.5304342857142856 0 1.0391428571428571 0.2107085714285714 1.4142171428571428 0.5857828571428572 0.2369828571428571 0.2369942857142857 0.4083542857142857 0.5273257142857143 0.5024114285714285 0.8427885714285713h-3.8332571428571427c0.09405714285714285 -0.3154628571428571 0.2654285714285714 -0.6057942857142857 0.5024114285714285 -0.8427885714285713ZM4.3299199999999995 3.142857142857143c0.12042285714285714 -0.7734742857142857 0.48325714285714283 -1.4945485714285713 1.04368 -2.054968C6.070171428571428 0.3913257142857143 7.014914285714285 0 8 0c0.9850857142857142 0 1.9298285714285714 0.3913257142857143 2.6264 1.0878891428571429 0.5604228571428571 0.5604194285714286 0.9233142857142856 1.2814937142857143 1.0436571428571428 2.054968H14.571428571428571c0.47337142857142855 0 0.8571428571428571 0.38375999999999993 0.8571428571428571 0.8571428571428571s-0.38377142857142854 0.8571428571428571 -0.8571428571428571 0.8571428571428571H13.714285714285714v9.428571428571429c0 0.4546285714285714 -0.18057142857142855 0.8907428571428571 -0.5020571428571429 1.2122285714285714S12.454628571428572 16 12 16h-8c-0.45466285714285715 0 -0.8906971428571429 -0.18057142857142855 -1.212182857142857 -0.5020571428571429C2.466331428571429 15.176457142857142 2.2857142857142856 14.740342857142856 2.2857142857142856 14.285714285714285V4.857142857142857h-0.8571428571428571C0.955184 4.857142857142857 0.5714285714285714 4.473382857142857 0.5714285714285714 4s0.3837554285714285 -0.8571428571428571 0.8571428571428571 -0.8571428571428571h2.901348571428571ZM6 6.715954285714285c0.39449142857142855 0 0.7142857142857142 0.3198057142857143 0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 -0.3197942857142857 0.7142857142857142 -0.7142857142857142 0.7142857142857142s-0.7142857142857142 -0.3198857142857143 -0.7142857142857142 -0.7142857142857142V7.4302399999999995c0 -0.39447999999999994 0.3197942857142857 -0.7142857142857142 0.7142857142857142 -0.7142857142857142Zm4.714285714285714 0.7142857142857142c0 -0.39447999999999994 -0.3197942857142857 -0.7142857142857142 -0.7142857142857142 -0.7142857142857142s-0.7142857142857142 0.3198057142857143 -0.7142857142857142 0.7142857142857142V12.003428571428572c0 0.3944 0.3197942857142857 0.7142857142857142 0.7142857142857142 0.7142857142857142s0.7142857142857142 -0.3198857142857143 0.7142857142857142 -0.7142857142857142V7.4302399999999995Z' clip-rule='evenodd' stroke-width='1'></path></g></svg>",
465
+ "classes": "c-button--primary c-button--sm align-bottom",
466
+ "attributes": {
467
+ "aria-label": "Borrar"
468
+ }
469
+ },
470
+ "visualDescription": "Botón cuadrado con fondo azul petróleo sólido conteniendo un ícono de flecha blanca apuntando hacia la derecha. Bordes rectos sin esquinas redondeadas. Tamaño pequeño aproximadamente 30x30px con el ícono centrado ocupando proporcionalmente el espacio interior.",
471
+ "_generated": {
472
+ "hash": "0bfb5a790104023b5ed3d2398d99841e",
473
+ "version": "15.0.3",
474
+ "timestamp": "2026-01-30T18:51:19.812Z"
475
+ }
476
+
477
+ },
478
+ {
479
+ "name": "input",
480
+ "data": {
481
+ "element": "input",
482
+ "name": "send-form",
483
+ "text": "Enviar"
484
+ },
485
+ "visualDescription": "Botón rectangular con texto en color azul (aproximadamente #0066CC). Fondo blanco con borde azul de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas.",
486
+ "_generated": {
487
+ "hash": "8d30b903c335ed1cb5c63f6b42831a21",
488
+ "version": "15.0.3",
489
+ "timestamp": "2026-01-30T18:51:27.490Z"
490
+ }
491
+ },
492
+ {
493
+ "name": "input deshabilitado",
494
+ "data": {
495
+ "element": "input",
496
+ "text": "Enviar",
497
+ "disabled": true
498
+ },
499
+ "visualDescription": "Botón rectangular con texto en color gris medio. Fondo blanco con borde gris claro de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas, apariencia visual que indica estado inactivo.",
500
+ "_generated": {
501
+ "hash": "d3119ee9d2aace49a1c9916fb9fdbace",
502
+ "version": "15.0.3",
503
+ "timestamp": "2026-01-30T18:51:27.490Z"
504
+ }
505
+ },
506
+ {
507
+ "name": "prevenir doble click",
508
+ "data": {
509
+ "text": "Enviar",
510
+ "preventDoubleClick": true
511
+ },
512
+ "visualDescription": "Botón rectangular con texto en color azul (aproximadamente #0066CC). Fondo blanco con borde azul de 1px. Tamaño compacto con padding interno moderado, esquinas ligeramente redondeadas, implementación que bloquea múltiples clics.",
513
+ "_generated": {
514
+ "hash": "156ca0e885a5fe584b7d5143e2c873bc",
515
+ "version": "15.0.3",
516
+ "timestamp": "2026-01-30T18:51:27.490Z"
517
+ }
518
+ }
512
519
  ] %}