desy-html 16.0.4 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/.node-version +1 -1
  2. package/.nvmrc +1 -1
  3. package/AGENTS.md +207 -207
  4. package/README.md +203 -203
  5. package/TESTING_PLAN.md +379 -379
  6. package/branding/BRANDING.md +398 -398
  7. package/branding/branding.config.js +76 -76
  8. package/branding/branding.config.yourorganization.js +72 -72
  9. package/branding/logos/aragon-compact.svg +1 -1
  10. package/branding/logos/aragon-expanded.svg +1 -1
  11. package/branding/logos/aragon-mini.svg +1 -1
  12. package/branding/logos/favicon.svg +1 -1
  13. package/branding/logos/yourlogo-compact.svg +13 -13
  14. package/branding/logos/yourlogo-expanded.svg +17 -17
  15. package/branding/logos/yourlogo-mini.svg +17 -17
  16. package/branding/logos/yourorganization-favicon.svg +13 -13
  17. package/branding/vite-branding-plugin.js +221 -221
  18. package/docs/_global.content-placeholder.njk +7 -7
  19. package/docs/_global.foot.njk +11 -11
  20. package/docs/_global.head.njk +42 -42
  21. package/docs/_include.template-header.njk +391 -386
  22. package/docs/_macro.component-example.njk +6 -6
  23. package/docs/_macro.example-render.njk +350 -346
  24. package/docs/_macro.load-component-params.njk +2 -2
  25. package/docs/_macro.load-component-template.njk +3 -3
  26. package/docs/_macro.render-caller.njk +3 -3
  27. package/docs/_macro.show-code-from-file.njk +57 -57
  28. package/docs/_macro.show-html-from-file.njk +42 -42
  29. package/docs/_template.default.njk +8 -8
  30. package/docs/_template.examples.njk +13 -13
  31. package/docs/catalogo.html +27 -27
  32. package/docs/componentes.html +187 -184
  33. package/docs/ds/_ds.example.accordion.njk +109 -109
  34. package/docs/ds/_ds.example.border.njk +39 -39
  35. package/docs/ds/_ds.example.botones-alert-sm.njk +264 -264
  36. package/docs/ds/_ds.example.botones-alert.njk +264 -264
  37. package/docs/ds/_ds.example.botones-default-sm.njk +264 -264
  38. package/docs/ds/_ds.example.botones-default.njk +258 -258
  39. package/docs/ds/_ds.example.botones-primary-lg.njk +264 -264
  40. package/docs/ds/_ds.example.botones-primary-sm.njk +264 -264
  41. package/docs/ds/_ds.example.botones-primary.njk +264 -264
  42. package/docs/ds/_ds.example.botones-transparent-sm.njk +264 -264
  43. package/docs/ds/_ds.example.botones-transparent.njk +264 -264
  44. package/docs/ds/_ds.example.breadcrumbs.njk +65 -65
  45. package/docs/ds/_ds.example.card.njk +198 -198
  46. package/docs/ds/_ds.example.checkboxes.njk +377 -377
  47. package/docs/ds/_ds.example.collapsible.njk +18 -18
  48. package/docs/ds/_ds.example.color-de-interaccion.njk +16 -16
  49. package/docs/ds/_ds.example.colores-cabecera.njk +15 -15
  50. package/docs/ds/_ds.example.colores-de-soporte.njk +82 -82
  51. package/docs/ds/_ds.example.colores-neutros.njk +26 -26
  52. package/docs/ds/_ds.example.combobox.njk +91 -0
  53. package/docs/ds/_ds.example.date-input.njk +363 -363
  54. package/docs/ds/_ds.example.description-list.njk +289 -289
  55. package/docs/ds/_ds.example.details.njk +23 -23
  56. package/docs/ds/_ds.example.dropdowns-default.njk +186 -186
  57. package/docs/ds/_ds.example.dropdowns-en-uso.njk +105 -105
  58. package/docs/ds/_ds.example.dropdowns-variaciones.njk +224 -224
  59. package/docs/ds/_ds.example.error-summary.njk +34 -34
  60. package/docs/ds/_ds.example.file-upload.njk +54 -54
  61. package/docs/ds/_ds.example.footer.njk +28 -28
  62. package/docs/ds/_ds.example.header-advanced.njk +70 -70
  63. package/docs/ds/_ds.example.header.njk +211 -211
  64. package/docs/ds/_ds.example.input-group.njk +242 -242
  65. package/docs/ds/_ds.example.input.njk +164 -164
  66. package/docs/ds/_ds.example.item.njk +176 -176
  67. package/docs/ds/_ds.example.layout-escritorio.njk +38 -38
  68. package/docs/ds/_ds.example.layout-movil.njk +14 -14
  69. package/docs/ds/_ds.example.layout-sidebar.njk +11 -11
  70. package/docs/ds/_ds.example.links-list.njk +170 -170
  71. package/docs/ds/_ds.example.listbox-default.njk +677 -677
  72. package/docs/ds/_ds.example.listbox-variaciones.njk +824 -824
  73. package/docs/ds/_ds.example.menu-horizontal.njk +66 -66
  74. package/docs/ds/_ds.example.menu-navigation.njk +493 -493
  75. package/docs/ds/_ds.example.menu-vertical.njk +129 -129
  76. package/docs/ds/_ds.example.menubar-en-uso.njk +244 -244
  77. package/docs/ds/_ds.example.menubar-variaciones.njk +785 -785
  78. package/docs/ds/_ds.example.modal.njk +210 -210
  79. package/docs/ds/_ds.example.nav.njk +158 -158
  80. package/docs/ds/_ds.example.notification.njk +122 -122
  81. package/docs/ds/_ds.example.pagination.njk +190 -190
  82. package/docs/ds/_ds.example.pills.njk +215 -215
  83. package/docs/ds/_ds.example.radios.njk +419 -419
  84. package/docs/ds/_ds.example.searchbar.njk +87 -87
  85. package/docs/ds/_ds.example.select.njk +390 -390
  86. package/docs/ds/_ds.example.status-item.njk +239 -239
  87. package/docs/ds/_ds.example.status.njk +47 -47
  88. package/docs/ds/_ds.example.table.njk +740 -740
  89. package/docs/ds/_ds.example.tabs.njk +136 -136
  90. package/docs/ds/_ds.example.textarea.njk +237 -237
  91. package/docs/ds/_ds.example.textos.njk +32 -32
  92. package/docs/ds/_ds.example.toggle.njk +75 -75
  93. package/docs/ds/_ds.example.tree.njk +456 -456
  94. package/docs/ds/_ds.example.treegrid.njk +810 -810
  95. package/docs/ds/_ds.example.typography.njk +225 -225
  96. package/docs/ds/_ds.macro.code-snippet.njk +32 -32
  97. package/docs/ds/_ds.macro.section-title.njk +2 -2
  98. package/docs/ds/_ds.macro.subsection-title.njk +2 -2
  99. package/docs/ds/_ds.section.avisos.njk +22 -22
  100. package/docs/ds/_ds.section.botones.njk +53 -53
  101. package/docs/ds/_ds.section.campo-y-area-de-texto.njk +19 -19
  102. package/docs/ds/_ds.section.color.njk +147 -147
  103. package/docs/ds/_ds.section.datos.njk +42 -42
  104. package/docs/ds/_ds.section.dropdowns.njk +23 -23
  105. package/docs/ds/_ds.section.espaciado.njk +296 -296
  106. package/docs/ds/_ds.section.forms.njk +73 -68
  107. package/docs/ds/_ds.section.informacion.njk +12 -12
  108. package/docs/ds/_ds.section.layout.njk +63 -63
  109. package/docs/ds/_ds.section.menubar.njk +18 -18
  110. package/docs/ds/_ds.section.mostrar-ocultar.njk +33 -33
  111. package/docs/ds/_ds.section.navigation.njk +57 -57
  112. package/docs/ds/_ds.section.textos.njk +287 -287
  113. package/docs/ds/_ds.section.typography.njk +28 -28
  114. package/docs/estilos.html +37 -37
  115. package/docs/examples-accordion-history.html +8 -8
  116. package/docs/examples-accordion.html +8 -8
  117. package/docs/examples-alert.html +8 -8
  118. package/docs/examples-breadcrumbs.html +8 -8
  119. package/docs/examples-button-loader.html +8 -8
  120. package/docs/examples-button.html +8 -8
  121. package/docs/examples-card.html +8 -8
  122. package/docs/examples-character-count.html +8 -8
  123. package/docs/examples-checkboxes.html +8 -8
  124. package/docs/examples-collapsible.html +8 -8
  125. package/docs/examples-combobox.html +8 -0
  126. package/docs/examples-date-input.html +8 -8
  127. package/docs/examples-datepicker.html +8 -8
  128. package/docs/examples-description-list.html +8 -8
  129. package/docs/examples-details.html +8 -8
  130. package/docs/examples-dialog.html +8 -8
  131. package/docs/examples-dropdown.html +8 -8
  132. package/docs/examples-error-message.html +8 -8
  133. package/docs/examples-error-summary.html +8 -8
  134. package/docs/examples-fieldset.html +8 -8
  135. package/docs/examples-file-upload.html +8 -8
  136. package/docs/examples-footer.html +8 -8
  137. package/docs/examples-header-advanced.html +8 -8
  138. package/docs/examples-header-mini.html +8 -8
  139. package/docs/examples-header.html +8 -8
  140. package/docs/examples-hint.html +8 -8
  141. package/docs/examples-input-group.html +8 -8
  142. package/docs/examples-input.html +8 -8
  143. package/docs/examples-item.html +8 -8
  144. package/docs/examples-label.html +8 -8
  145. package/docs/examples-links-list.html +8 -8
  146. package/docs/examples-listbox.html +8 -8
  147. package/docs/examples-media-object.html +8 -8
  148. package/docs/examples-menu-horizontal.html +8 -8
  149. package/docs/examples-menu-navigation.html +8 -8
  150. package/docs/examples-menu-vertical.html +8 -8
  151. package/docs/examples-menubar.html +8 -8
  152. package/docs/examples-modal.html +8 -8
  153. package/docs/examples-nav.html +8 -8
  154. package/docs/examples-notification.html +8 -8
  155. package/docs/examples-pagination.html +8 -8
  156. package/docs/examples-pill.html +8 -8
  157. package/docs/examples-radios.html +8 -8
  158. package/docs/examples-searchbar.html +8 -8
  159. package/docs/examples-select.html +8 -8
  160. package/docs/examples-skip-link.html +8 -8
  161. package/docs/examples-spinner.html +8 -8
  162. package/docs/examples-status-item.html +8 -8
  163. package/docs/examples-status.html +8 -8
  164. package/docs/examples-table-advanced.html +8 -8
  165. package/docs/examples-table.html +8 -8
  166. package/docs/examples-tabs.html +8 -8
  167. package/docs/examples-textarea.html +8 -8
  168. package/docs/examples-toggle.html +8 -8
  169. package/docs/examples-tooltip.html +8 -8
  170. package/docs/examples-tree.html +8 -8
  171. package/docs/examples-treegrid.html +8 -8
  172. package/docs/index.html +914 -908
  173. package/docs/pagina-accesibilidad.html +110 -110
  174. package/docs/pagina-mapa-web.html +137 -137
  175. package/docs/pagina-prueba.html +95 -95
  176. package/docs/plantilla-con-header-advanced.html +14 -14
  177. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +154 -154
  178. package/docs/plantilla-editar-con-cabecera-fija.html +17 -17
  179. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +15 -15
  180. package/docs/plantilla-logueado-con-cabecera-fija.html +15 -15
  181. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +164 -164
  182. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +16 -16
  183. package/docs/plantilla-logueado-con-selector-de-app.html +14 -14
  184. package/docs/plantilla-logueado-con-titulo-de-app.html +14 -14
  185. package/docs/plantilla-sin-loguear.html +14 -14
  186. package/docs/plantillas.html +89 -89
  187. package/docs/spinner-plantilla-con-header-advanced.html +2 -2
  188. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +4 -4
  189. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +2 -2
  190. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +2 -2
  191. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +2 -2
  192. package/docs/spinner-plantilla-sin-loguear.html +18 -18
  193. package/docs/sprints/01-combobox-template.md +433 -0
  194. package/docs/sprints/02-combobox-styles.md +291 -0
  195. package/docs/sprints/03-combobox-javascript.md +589 -0
  196. package/docs/sprints/04-combobox-integration.md +386 -0
  197. package/docs/sprints/05-combobox-refinamiento-w3c.md +55 -0
  198. package/package.json +61 -61
  199. package/public/images/demo-icon.svg +9 -9
  200. package/replit.md +74 -74
  201. package/src/EUPL-1.2.txt +287 -287
  202. package/src/css/base.css +44 -44
  203. package/src/css/component.form-group.css +24 -24
  204. package/src/css/component.headroom.css +32 -32
  205. package/src/css/component.text.css +169 -169
  206. package/src/css/styles.css +247 -246
  207. package/src/js/aria/MenuHorizontal.js +65 -65
  208. package/src/js/aria/MenuNavigation.js +34 -2
  209. package/src/js/aria/MenuVertical.js +60 -60
  210. package/src/js/aria/Nav.js +60 -60
  211. package/src/js/aria/PopupMenuAction.js +30 -12
  212. package/src/js/aria/accordion.js +264 -264
  213. package/src/js/aria/checkBoxes.js +52 -52
  214. package/src/js/aria/collapsible.js +44 -44
  215. package/src/js/aria/combobox.js +584 -0
  216. package/src/js/aria/dataGrid.js +950 -950
  217. package/src/js/aria/linksList.js +42 -42
  218. package/src/js/aria/notification.js +56 -56
  219. package/src/js/aria/radioButton.js +50 -50
  220. package/src/js/aria/toggle.js +61 -61
  221. package/src/js/aria/treegrid.js +507 -507
  222. package/src/js/aria/utils.js +219 -219
  223. package/src/js/desy-html.js +860 -813
  224. package/src/js/headroom.min.js +6 -6
  225. package/src/js/index.js +74 -72
  226. package/src/main.js +2 -2
  227. package/src/templates/components/accordion/_examples.accordion.njk +482 -482
  228. package/src/templates/components/accordion/_macro.accordion.njk +3 -3
  229. package/src/templates/components/accordion/_template.accordion.njk +131 -131
  230. package/src/templates/components/accordion/params.accordion.yaml +125 -125
  231. package/src/templates/components/accordion-history/_examples.accordion-history.njk +521 -521
  232. package/src/templates/components/accordion-history/_macro.accordion-history.njk +3 -3
  233. package/src/templates/components/accordion-history/_template.accordion-history.njk +193 -193
  234. package/src/templates/components/accordion-history/params.accordion-history.yaml +129 -129
  235. package/src/templates/components/alert/_examples.alert.njk +91 -91
  236. package/src/templates/components/alert/_macro.alert.njk +3 -3
  237. package/src/templates/components/alert/_styles.alert.css +9 -9
  238. package/src/templates/components/alert/_template.alert.njk +16 -16
  239. package/src/templates/components/alert/params.alert.yaml +25 -25
  240. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +464 -464
  241. package/src/templates/components/breadcrumbs/_macro.breadcrumbs.njk +3 -3
  242. package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +81 -81
  243. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +77 -77
  244. package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +44 -44
  245. package/src/templates/components/button/_examples.button.njk +518 -511
  246. package/src/templates/components/button/_macro.button.njk +3 -3
  247. package/src/templates/components/button/_styles.button.css +180 -180
  248. package/src/templates/components/button/_template.button.njk +49 -49
  249. package/src/templates/components/button/params.button.yaml +48 -48
  250. package/src/templates/components/button-loader/_examples.button-loader.njk +499 -492
  251. package/src/templates/components/button-loader/_macro.button-loader.njk +3 -3
  252. package/src/templates/components/button-loader/_styles.button-loader.css +194 -194
  253. package/src/templates/components/button-loader/_template.button-loader.njk +84 -84
  254. package/src/templates/components/button-loader/params.button-loader.yaml +74 -74
  255. package/src/templates/components/card/_examples.card.njk +381 -381
  256. package/src/templates/components/card/_macro.card.njk +3 -3
  257. package/src/templates/components/card/_template.card.njk +34 -34
  258. package/src/templates/components/card/params.card.yaml +112 -112
  259. package/src/templates/components/character-count/_examples.character-count.njk +195 -195
  260. package/src/templates/components/character-count/_macro.character-count.njk +5 -5
  261. package/src/templates/components/character-count/_template.character-count.njk +38 -38
  262. package/src/templates/components/character-count/params.character-count.yaml +77 -77
  263. package/src/templates/components/checkboxes/_examples.checkboxes.njk +835 -835
  264. package/src/templates/components/checkboxes/_macro.checkboxes.njk +3 -3
  265. package/src/templates/components/checkboxes/_styles.checkboxes.css +30 -30
  266. package/src/templates/components/checkboxes/_template.checkboxes.njk +137 -137
  267. package/src/templates/components/checkboxes/params.checkboxes.yaml +116 -116
  268. package/src/templates/components/collapsible/_examples.collapsible.njk +107 -107
  269. package/src/templates/components/collapsible/_macro.collapsible.njk +3 -3
  270. package/src/templates/components/collapsible/_styles.collapsible.css +35 -35
  271. package/src/templates/components/collapsible/_template.collapsible.njk +17 -17
  272. package/src/templates/components/collapsible/params.collapsible.yaml +48 -48
  273. package/src/templates/components/combobox/_examples.combobox.njk +440 -0
  274. package/src/templates/components/combobox/_macro.combobox.njk +3 -0
  275. package/src/templates/components/combobox/_styles.combobox.css +92 -0
  276. package/src/templates/components/combobox/_template.combobox.njk +97 -0
  277. package/src/templates/components/combobox/params.combobox.yaml +102 -0
  278. package/src/templates/components/date-input/_examples.date-input.njk +578 -578
  279. package/src/templates/components/date-input/_macro.date-input.njk +3 -3
  280. package/src/templates/components/date-input/_template.date-input.njk +125 -125
  281. package/src/templates/components/date-input/params.date-input.yaml +97 -97
  282. package/src/templates/components/datepicker/_examples.datepicker.njk +415 -415
  283. package/src/templates/components/datepicker/_macro.datepicker.njk +3 -3
  284. package/src/templates/components/datepicker/_styles.datepicker.css +87 -87
  285. package/src/templates/components/datepicker/_template.datepicker.njk +129 -129
  286. package/src/templates/components/datepicker/params.datepicker.yaml +104 -104
  287. package/src/templates/components/description-list/_examples.description-list.njk +502 -502
  288. package/src/templates/components/description-list/_macro.description-list.njk +3 -3
  289. package/src/templates/components/description-list/_template.description-list.njk +17 -17
  290. package/src/templates/components/description-list/params.description-list.yaml +61 -61
  291. package/src/templates/components/details/_examples.details.njk +68 -68
  292. package/src/templates/components/details/_macro.details.njk +3 -3
  293. package/src/templates/components/details/_template.details.njk +17 -17
  294. package/src/templates/components/details/params.details.yaml +40 -40
  295. package/src/templates/components/dialog/_examples.dialog.njk +156 -156
  296. package/src/templates/components/dialog/_macro.dialog.njk +3 -3
  297. package/src/templates/components/dialog/_styles.dialog.css +27 -27
  298. package/src/templates/components/dialog/_template.dialog.njk +12 -12
  299. package/src/templates/components/dialog/params.dialog.yaml +25 -25
  300. package/src/templates/components/dropdown/_examples.dropdown.njk +226 -226
  301. package/src/templates/components/dropdown/_macro.dropdown.njk +3 -3
  302. package/src/templates/components/dropdown/_styles.dropdown.css +191 -191
  303. package/src/templates/components/dropdown/_template.dropdown.njk +34 -34
  304. package/src/templates/components/dropdown/params.dropdown.yaml +32 -32
  305. package/src/templates/components/error-message/_examples.error-message.njk +28 -28
  306. package/src/templates/components/error-message/_macro.error-message.njk +5 -5
  307. package/src/templates/components/error-message/_template.error-message.njk +8 -8
  308. package/src/templates/components/error-message/params.error-message.yaml +23 -23
  309. package/src/templates/components/error-summary/_examples.error-summary.njk +111 -111
  310. package/src/templates/components/error-summary/_macro.error-summary.njk +5 -5
  311. package/src/templates/components/error-summary/_template.error-summary.njk +48 -48
  312. package/src/templates/components/error-summary/params.error-summary.yaml +50 -50
  313. package/src/templates/components/fieldset/_examples.fieldset.njk +79 -79
  314. package/src/templates/components/fieldset/_macro.fieldset.njk +2 -2
  315. package/src/templates/components/fieldset/_template.fieldset.njk +46 -46
  316. package/src/templates/components/fieldset/params.fieldset.yaml +49 -49
  317. package/src/templates/components/file-upload/_examples.file-upload.njk +103 -103
  318. package/src/templates/components/file-upload/_macro.file-upload.njk +2 -2
  319. package/src/templates/components/file-upload/_template.file-upload.njk +45 -45
  320. package/src/templates/components/file-upload/params.file-upload.yaml +48 -48
  321. package/src/templates/components/footer/_examples.footer.njk +558 -558
  322. package/src/templates/components/footer/_macro.footer.njk +3 -3
  323. package/src/templates/components/footer/_styles.footer.css +43 -43
  324. package/src/templates/components/footer/_template.footer.njk +130 -130
  325. package/src/templates/components/footer/params.footer.yaml +140 -140
  326. package/src/templates/components/header/_examples.header.njk +627 -627
  327. package/src/templates/components/header/_macro.header.header__dropdown.njk +3 -3
  328. package/src/templates/components/header/_macro.header.header__navigation.njk +3 -3
  329. package/src/templates/components/header/_macro.header.header__offcanvas.njk +3 -3
  330. package/src/templates/components/header/_macro.header.header__offcanvasButton.njk +3 -3
  331. package/src/templates/components/header/_macro.header.header__subnav.njk +3 -3
  332. package/src/templates/components/header/_macro.header.njk +3 -3
  333. package/src/templates/components/header/_styles.header.css +12 -12
  334. package/src/templates/components/header/_template.header.header__dropdown.njk +27 -27
  335. package/src/templates/components/header/_template.header.header__navigation.njk +25 -25
  336. package/src/templates/components/header/_template.header.header__offcanvas.njk +20 -20
  337. package/src/templates/components/header/_template.header.header__offcanvasButton.njk +10 -10
  338. package/src/templates/components/header/_template.header.header__subnav.njk +33 -33
  339. package/src/templates/components/header/_template.header.njk +155 -155
  340. package/src/templates/components/header/params.header.yaml +295 -295
  341. package/src/templates/components/header-advanced/_examples.header-advanced.njk +1110 -1110
  342. package/src/templates/components/header-advanced/_macro.header-advanced.njk +3 -3
  343. package/src/templates/components/header-advanced/_template.header-advanced.njk +171 -171
  344. package/src/templates/components/header-advanced/params.header-advanced.yaml +352 -352
  345. package/src/templates/components/header-mini/_examples.header-mini.njk +319 -316
  346. package/src/templates/components/header-mini/_macro.header-mini.njk +3 -3
  347. package/src/templates/components/header-mini/_template.header-mini.njk +51 -51
  348. package/src/templates/components/header-mini/params.header-mini.yaml +90 -90
  349. package/src/templates/components/hint/_examples.hint.njk +26 -26
  350. package/src/templates/components/hint/_macro.hint.njk +3 -3
  351. package/src/templates/components/hint/_template.hint.njk +3 -3
  352. package/src/templates/components/hint/params.hint.yaml +21 -21
  353. package/src/templates/components/input/_examples.input.njk +393 -393
  354. package/src/templates/components/input/_macro.input.njk +3 -3
  355. package/src/templates/components/input/_styles.input.css +17 -17
  356. package/src/templates/components/input/_template.input.njk +53 -53
  357. package/src/templates/components/input/params.input.yaml +80 -80
  358. package/src/templates/components/input-group/_examples.input-group.njk +558 -558
  359. package/src/templates/components/input-group/_macro.input-group.njk +3 -3
  360. package/src/templates/components/input-group/_template.input-group.njk +107 -107
  361. package/src/templates/components/input-group/params.input-group.yaml +123 -123
  362. package/src/templates/components/item/_examples.item.njk +370 -370
  363. package/src/templates/components/item/_macro.item.njk +3 -3
  364. package/src/templates/components/item/_template.item.njk +73 -73
  365. package/src/templates/components/item/params.item.yaml +101 -101
  366. package/src/templates/components/label/_examples.label.njk +58 -58
  367. package/src/templates/components/label/_macro.label.njk +5 -5
  368. package/src/templates/components/label/_template.label.njk +37 -37
  369. package/src/templates/components/label/params.label.yaml +28 -28
  370. package/src/templates/components/links-list/_examples.links-list.njk +761 -761
  371. package/src/templates/components/links-list/_macro.links-list.njk +3 -3
  372. package/src/templates/components/links-list/_template.links-list.njk +119 -119
  373. package/src/templates/components/links-list/params.links-list.yaml +101 -101
  374. package/src/templates/components/listbox/_examples.listbox.njk +813 -812
  375. package/src/templates/components/listbox/_macro.listbox.njk +3 -3
  376. package/src/templates/components/listbox/_styles.listbox.css +218 -218
  377. package/src/templates/components/listbox/_template.listbox.njk +90 -90
  378. package/src/templates/components/listbox/params.listbox.yaml +85 -85
  379. package/src/templates/components/media-object/_examples.media-object.njk +79 -79
  380. package/src/templates/components/media-object/_macro.media-object.njk +3 -3
  381. package/src/templates/components/media-object/_template.media-object.njk +21 -21
  382. package/src/templates/components/media-object/params.media-object.yaml +16 -16
  383. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +613 -613
  384. package/src/templates/components/menu-horizontal/_macro.menu-horizontal.njk +3 -3
  385. package/src/templates/components/menu-horizontal/_styles.menu-horizontal.css +167 -167
  386. package/src/templates/components/menu-horizontal/_template.menu-horizontal.njk +36 -36
  387. package/src/templates/components/menu-horizontal/params.menu-horizontal.yaml +53 -53
  388. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +1292 -1292
  389. package/src/templates/components/menu-navigation/_macro.menu-navigation.njk +3 -3
  390. package/src/templates/components/menu-navigation/_styles.menu-navigation.css +238 -238
  391. package/src/templates/components/menu-navigation/_template.menu-navigation.njk +87 -87
  392. package/src/templates/components/menu-navigation/params.menu-navigation.yaml +86 -86
  393. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +835 -835
  394. package/src/templates/components/menu-vertical/_macro.menu-vertical.njk +3 -3
  395. package/src/templates/components/menu-vertical/_template.menu-vertical.njk +92 -92
  396. package/src/templates/components/menu-vertical/params.menu-vertical.yaml +77 -77
  397. package/src/templates/components/menubar/_examples.menubar.njk +1843 -1843
  398. package/src/templates/components/menubar/_macro.menubar.njk +3 -3
  399. package/src/templates/components/menubar/_styles.menubar.css +259 -259
  400. package/src/templates/components/menubar/_template.menubar.njk +106 -106
  401. package/src/templates/components/menubar/params.menubar.yaml +130 -130
  402. package/src/templates/components/modal/_examples.modal.njk +432 -432
  403. package/src/templates/components/modal/_macro.modal.njk +3 -3
  404. package/src/templates/components/modal/_template.modal.njk +129 -129
  405. package/src/templates/components/modal/params.modal.yaml +77 -77
  406. package/src/templates/components/nav/_examples.nav.njk +468 -468
  407. package/src/templates/components/nav/_macro.nav.njk +3 -3
  408. package/src/templates/components/nav/_template.nav.njk +53 -53
  409. package/src/templates/components/nav/params.nav.yaml +61 -61
  410. package/src/templates/components/notification/_examples.notification.njk +277 -277
  411. package/src/templates/components/notification/_macro.notification.njk +3 -3
  412. package/src/templates/components/notification/_styles.notification.css +30 -30
  413. package/src/templates/components/notification/_template.notification.njk +86 -86
  414. package/src/templates/components/notification/params.notification.yaml +101 -101
  415. package/src/templates/components/pagination/_examples.pagination.njk +444 -444
  416. package/src/templates/components/pagination/_macro.pagination.njk +3 -3
  417. package/src/templates/components/pagination/_template.pagination.njk +162 -162
  418. package/src/templates/components/pagination/params.pagination.yaml +150 -150
  419. package/src/templates/components/pill/_examples.pill.njk +180 -180
  420. package/src/templates/components/pill/_macro.pill.njk +3 -3
  421. package/src/templates/components/pill/_styles.pill.css +59 -59
  422. package/src/templates/components/pill/_template.pill.njk +38 -38
  423. package/src/templates/components/pill/params.pill.yaml +28 -28
  424. package/src/templates/components/radios/_examples.radios.njk +698 -698
  425. package/src/templates/components/radios/_macro.radios.njk +5 -5
  426. package/src/templates/components/radios/_styles.radios.css +30 -30
  427. package/src/templates/components/radios/_template.radios.njk +133 -133
  428. package/src/templates/components/radios/params.radios.yaml +104 -104
  429. package/src/templates/components/searchbar/_examples.searchbar.njk +147 -147
  430. package/src/templates/components/searchbar/_macro.searchbar.njk +3 -3
  431. package/src/templates/components/searchbar/_template.searchbar.njk +45 -45
  432. package/src/templates/components/searchbar/params.searchbar.yaml +46 -46
  433. package/src/templates/components/select/_examples.select.njk +364 -364
  434. package/src/templates/components/select/_macro.select.njk +5 -5
  435. package/src/templates/components/select/_styles.select.css +45 -45
  436. package/src/templates/components/select/_template.select.njk +67 -67
  437. package/src/templates/components/select/params.select.yaml +93 -93
  438. package/src/templates/components/skip-link/_examples.skip-link.njk +31 -31
  439. package/src/templates/components/skip-link/_macro.skip-link.njk +3 -3
  440. package/src/templates/components/skip-link/_styles.skip-link.css +12 -12
  441. package/src/templates/components/skip-link/_template.skip-link.njk +4 -4
  442. package/src/templates/components/skip-link/params.skip-link.yaml +20 -20
  443. package/src/templates/components/spinner/_examples.spinner.njk +91 -101
  444. package/src/templates/components/spinner/_macro.spinner.njk +3 -3
  445. package/src/templates/components/spinner/_styles.spinner.css +33 -33
  446. package/src/templates/components/spinner/_template.spinner.njk +12 -12
  447. package/src/templates/components/spinner/params.spinner.yaml +12 -12
  448. package/src/templates/components/status/_examples.status.njk +80 -80
  449. package/src/templates/components/status/_macro.status.njk +3 -3
  450. package/src/templates/components/status/_template.status.njk +23 -23
  451. package/src/templates/components/status/params.status.yaml +24 -24
  452. package/src/templates/components/status-item/_examples.status-item.njk +319 -319
  453. package/src/templates/components/status-item/_macro.status-item.njk +3 -3
  454. package/src/templates/components/status-item/_template.status-item.njk +99 -99
  455. package/src/templates/components/status-item/params.status-item.yaml +106 -106
  456. package/src/templates/components/table/_examples.table.njk +705 -705
  457. package/src/templates/components/table/_macro.table.njk +3 -3
  458. package/src/templates/components/table/_styles.table.css +19 -19
  459. package/src/templates/components/table/_template.table.njk +68 -68
  460. package/src/templates/components/table/params.table.yaml +130 -130
  461. package/src/templates/components/table-advanced/_examples.table-advanced.njk +839 -839
  462. package/src/templates/components/table-advanced/_macro.table-advanced.njk +3 -3
  463. package/src/templates/components/table-advanced/_styles.table-advanced.css +63 -63
  464. package/src/templates/components/table-advanced/_template.table-advanced.njk +210 -210
  465. package/src/templates/components/table-advanced/params.table-advanced.yaml +160 -160
  466. package/src/templates/components/tabs/_examples.tabs.njk +588 -588
  467. package/src/templates/components/tabs/_macro.tabs.njk +3 -3
  468. package/src/templates/components/tabs/_styles.tabs.css +132 -132
  469. package/src/templates/components/tabs/_template.tabs.njk +70 -70
  470. package/src/templates/components/tabs/params.tabs.yaml +83 -83
  471. package/src/templates/components/textarea/_examples.textarea.njk +174 -174
  472. package/src/templates/components/textarea/_macro.textarea.njk +5 -5
  473. package/src/templates/components/textarea/_template.textarea.njk +47 -47
  474. package/src/templates/components/textarea/params.textarea.yaml +64 -64
  475. package/src/templates/components/toggle/_examples.toggle.njk +248 -248
  476. package/src/templates/components/toggle/_macro.toggle.njk +3 -3
  477. package/src/templates/components/toggle/_styles.toggle.css +31 -31
  478. package/src/templates/components/toggle/_template.toggle.njk +27 -27
  479. package/src/templates/components/toggle/params.toggle.yaml +69 -69
  480. package/src/templates/components/tooltip/_examples.tooltip.njk +134 -134
  481. package/src/templates/components/tooltip/_macro.tooltip.njk +3 -3
  482. package/src/templates/components/tooltip/_styles.tooltip.css +9 -9
  483. package/src/templates/components/tooltip/_template.tooltip.njk +40 -40
  484. package/src/templates/components/tooltip/params.tooltip.yaml +40 -40
  485. package/src/templates/components/tree/_examples.tree.njk +2671 -2671
  486. package/src/templates/components/tree/_macro.tree.njk +3 -3
  487. package/src/templates/components/tree/_styles.tree.css +54 -54
  488. package/src/templates/components/tree/_template.tree.njk +232 -232
  489. package/src/templates/components/tree/params.tree.yaml +173 -173
  490. package/src/templates/components/treegrid/_examples.treegrid.njk +1269 -1269
  491. package/src/templates/components/treegrid/_macro.treegrid.njk +3 -3
  492. package/src/templates/components/treegrid/_styles.treegrid.css +31 -31
  493. package/src/templates/components/treegrid/_template.treegrid.njk +90 -90
  494. package/src/templates/components/treegrid/params.treegrid.yaml +131 -131
  495. package/src/templates/includes/_abrir-notificaciones-extra.njk +2 -2
  496. package/src/templates/includes/_abrir-notificaciones.njk +2 -2
  497. package/src/templates/includes/_acciones-de-cabecera.njk +28 -28
  498. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +4 -4
  499. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +4 -4
  500. package/src/templates/includes/_test-include.njk +13 -13
  501. package/src/templates/pages/_page.foot-headroom.njk +30 -30
  502. package/src/templates/pages/_page.foot.njk +5 -5
  503. package/src/templates/pages/_page.footer.njk +19 -19
  504. package/src/templates/pages/_page.head.njk +27 -27
  505. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -31
  506. package/src/templates/pages/_page.notification-edit.njk +30 -30
  507. package/src/templates/pages/_page.notification-footer.njk +32 -32
  508. package/src/templates/pages/_page.notification-header-fixed.njk +30 -30
  509. package/src/templates/pages/_page.notification-header.njk +31 -31
  510. package/src/templates/pages/_page.sidebar-content.njk +20 -20
  511. package/src/templates/pages/_page.spinner-block.njk +14 -14
  512. package/src/templates/pages/_page.spinner-show.njk +15 -15
  513. package/src/templates/pages/_page.spinner.njk +15 -15
  514. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -36
  515. package/src/templates/pages/_template.edit-fixed.njk +74 -74
  516. package/src/templates/pages/_template.home.njk +111 -111
  517. package/src/templates/pages/_template.logged-out.njk +56 -56
  518. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +198 -198
  519. package/src/templates/pages/_template.logged-selector-fixed.njk +195 -195
  520. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -80
  521. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +28 -28
  522. package/src/templates/pages/_template.logged-selector.njk +195 -195
  523. package/src/templates/pages/_template.logged.njk +141 -141
  524. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -31
  525. package/src/templates/pages/_template.mfe.njk +83 -83
  526. package/src/templates/pages/_template.test.njk +48 -48
  527. package/src/templates/pages/_template.with-header-advanced.njk +311 -311
  528. package/vite.config.js +982 -982
@@ -1,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
  ] %}