desy-html 16.0.4 → 17.0.1

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 (535) 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 +919 -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 +63 -65
  208. package/src/js/aria/MenuNavigation.js +56 -55
  209. package/src/js/aria/MenuVertical.js +60 -60
  210. package/src/js/aria/MenubarAction.js +29 -6
  211. package/src/js/aria/MenubarItemAction.js +1 -9
  212. package/src/js/aria/Nav.js +60 -60
  213. package/src/js/aria/PopupMenuAction.js +32 -14
  214. package/src/js/aria/accordion.js +281 -264
  215. package/src/js/aria/alert.js +8 -3
  216. package/src/js/aria/checkBoxes.js +52 -52
  217. package/src/js/aria/collapsible.js +44 -44
  218. package/src/js/aria/combobox.js +597 -0
  219. package/src/js/aria/dataGrid.js +953 -950
  220. package/src/js/aria/linksList.js +64 -42
  221. package/src/js/aria/listbox.js +3 -3
  222. package/src/js/aria/notification.js +56 -56
  223. package/src/js/aria/radioButton.js +50 -50
  224. package/src/js/aria/tabs.js +20 -6
  225. package/src/js/aria/toggle.js +61 -61
  226. package/src/js/aria/tree.js +60 -40
  227. package/src/js/aria/treegrid.js +507 -507
  228. package/src/js/aria/treeitem.js +22 -13
  229. package/src/js/aria/utils.js +240 -219
  230. package/src/js/desy-html.js +860 -813
  231. package/src/js/headroom.min.js +6 -6
  232. package/src/js/index.js +74 -72
  233. package/src/main.js +2 -2
  234. package/src/templates/components/accordion/_examples.accordion.njk +482 -482
  235. package/src/templates/components/accordion/_macro.accordion.njk +3 -3
  236. package/src/templates/components/accordion/_template.accordion.njk +131 -131
  237. package/src/templates/components/accordion/params.accordion.yaml +125 -125
  238. package/src/templates/components/accordion-history/_examples.accordion-history.njk +521 -521
  239. package/src/templates/components/accordion-history/_macro.accordion-history.njk +3 -3
  240. package/src/templates/components/accordion-history/_template.accordion-history.njk +193 -193
  241. package/src/templates/components/accordion-history/params.accordion-history.yaml +129 -129
  242. package/src/templates/components/alert/_examples.alert.njk +91 -91
  243. package/src/templates/components/alert/_macro.alert.njk +3 -3
  244. package/src/templates/components/alert/_styles.alert.css +9 -9
  245. package/src/templates/components/alert/_template.alert.njk +16 -16
  246. package/src/templates/components/alert/params.alert.yaml +25 -25
  247. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +464 -464
  248. package/src/templates/components/breadcrumbs/_macro.breadcrumbs.njk +3 -3
  249. package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +81 -81
  250. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +77 -77
  251. package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +44 -44
  252. package/src/templates/components/button/_examples.button.njk +518 -511
  253. package/src/templates/components/button/_macro.button.njk +3 -3
  254. package/src/templates/components/button/_styles.button.css +180 -180
  255. package/src/templates/components/button/_template.button.njk +49 -49
  256. package/src/templates/components/button/params.button.yaml +48 -48
  257. package/src/templates/components/button-loader/_examples.button-loader.njk +499 -492
  258. package/src/templates/components/button-loader/_macro.button-loader.njk +3 -3
  259. package/src/templates/components/button-loader/_styles.button-loader.css +194 -194
  260. package/src/templates/components/button-loader/_template.button-loader.njk +84 -84
  261. package/src/templates/components/button-loader/params.button-loader.yaml +74 -74
  262. package/src/templates/components/card/_examples.card.njk +381 -381
  263. package/src/templates/components/card/_macro.card.njk +3 -3
  264. package/src/templates/components/card/_template.card.njk +34 -34
  265. package/src/templates/components/card/params.card.yaml +112 -112
  266. package/src/templates/components/character-count/_examples.character-count.njk +195 -195
  267. package/src/templates/components/character-count/_macro.character-count.njk +5 -5
  268. package/src/templates/components/character-count/_template.character-count.njk +38 -38
  269. package/src/templates/components/character-count/params.character-count.yaml +77 -77
  270. package/src/templates/components/checkboxes/_examples.checkboxes.njk +835 -835
  271. package/src/templates/components/checkboxes/_macro.checkboxes.njk +3 -3
  272. package/src/templates/components/checkboxes/_styles.checkboxes.css +30 -30
  273. package/src/templates/components/checkboxes/_template.checkboxes.njk +137 -137
  274. package/src/templates/components/checkboxes/params.checkboxes.yaml +116 -116
  275. package/src/templates/components/collapsible/_examples.collapsible.njk +107 -107
  276. package/src/templates/components/collapsible/_macro.collapsible.njk +3 -3
  277. package/src/templates/components/collapsible/_styles.collapsible.css +35 -35
  278. package/src/templates/components/collapsible/_template.collapsible.njk +17 -17
  279. package/src/templates/components/collapsible/params.collapsible.yaml +48 -48
  280. package/src/templates/components/combobox/_examples.combobox.njk +440 -0
  281. package/src/templates/components/combobox/_macro.combobox.njk +3 -0
  282. package/src/templates/components/combobox/_styles.combobox.css +92 -0
  283. package/src/templates/components/combobox/_template.combobox.njk +97 -0
  284. package/src/templates/components/combobox/params.combobox.yaml +102 -0
  285. package/src/templates/components/date-input/_examples.date-input.njk +578 -578
  286. package/src/templates/components/date-input/_macro.date-input.njk +3 -3
  287. package/src/templates/components/date-input/_template.date-input.njk +125 -125
  288. package/src/templates/components/date-input/params.date-input.yaml +97 -97
  289. package/src/templates/components/datepicker/_examples.datepicker.njk +415 -415
  290. package/src/templates/components/datepicker/_macro.datepicker.njk +3 -3
  291. package/src/templates/components/datepicker/_styles.datepicker.css +87 -87
  292. package/src/templates/components/datepicker/_template.datepicker.njk +129 -129
  293. package/src/templates/components/datepicker/params.datepicker.yaml +104 -104
  294. package/src/templates/components/description-list/_examples.description-list.njk +502 -502
  295. package/src/templates/components/description-list/_macro.description-list.njk +3 -3
  296. package/src/templates/components/description-list/_template.description-list.njk +17 -17
  297. package/src/templates/components/description-list/params.description-list.yaml +61 -61
  298. package/src/templates/components/details/_examples.details.njk +68 -68
  299. package/src/templates/components/details/_macro.details.njk +3 -3
  300. package/src/templates/components/details/_template.details.njk +17 -17
  301. package/src/templates/components/details/params.details.yaml +40 -40
  302. package/src/templates/components/dialog/_examples.dialog.njk +156 -156
  303. package/src/templates/components/dialog/_macro.dialog.njk +3 -3
  304. package/src/templates/components/dialog/_styles.dialog.css +27 -27
  305. package/src/templates/components/dialog/_template.dialog.njk +12 -12
  306. package/src/templates/components/dialog/params.dialog.yaml +25 -25
  307. package/src/templates/components/dropdown/_examples.dropdown.njk +226 -226
  308. package/src/templates/components/dropdown/_macro.dropdown.njk +3 -3
  309. package/src/templates/components/dropdown/_styles.dropdown.css +191 -191
  310. package/src/templates/components/dropdown/_template.dropdown.njk +34 -34
  311. package/src/templates/components/dropdown/params.dropdown.yaml +32 -32
  312. package/src/templates/components/error-message/_examples.error-message.njk +28 -28
  313. package/src/templates/components/error-message/_macro.error-message.njk +5 -5
  314. package/src/templates/components/error-message/_template.error-message.njk +8 -8
  315. package/src/templates/components/error-message/params.error-message.yaml +23 -23
  316. package/src/templates/components/error-summary/_examples.error-summary.njk +111 -111
  317. package/src/templates/components/error-summary/_macro.error-summary.njk +5 -5
  318. package/src/templates/components/error-summary/_template.error-summary.njk +48 -48
  319. package/src/templates/components/error-summary/params.error-summary.yaml +50 -50
  320. package/src/templates/components/fieldset/_examples.fieldset.njk +79 -79
  321. package/src/templates/components/fieldset/_macro.fieldset.njk +2 -2
  322. package/src/templates/components/fieldset/_template.fieldset.njk +46 -46
  323. package/src/templates/components/fieldset/params.fieldset.yaml +49 -49
  324. package/src/templates/components/file-upload/_examples.file-upload.njk +103 -103
  325. package/src/templates/components/file-upload/_macro.file-upload.njk +2 -2
  326. package/src/templates/components/file-upload/_template.file-upload.njk +45 -45
  327. package/src/templates/components/file-upload/params.file-upload.yaml +48 -48
  328. package/src/templates/components/footer/_examples.footer.njk +558 -558
  329. package/src/templates/components/footer/_macro.footer.njk +3 -3
  330. package/src/templates/components/footer/_styles.footer.css +43 -43
  331. package/src/templates/components/footer/_template.footer.njk +130 -130
  332. package/src/templates/components/footer/params.footer.yaml +140 -140
  333. package/src/templates/components/header/_examples.header.njk +627 -627
  334. package/src/templates/components/header/_macro.header.header__dropdown.njk +3 -3
  335. package/src/templates/components/header/_macro.header.header__navigation.njk +3 -3
  336. package/src/templates/components/header/_macro.header.header__offcanvas.njk +3 -3
  337. package/src/templates/components/header/_macro.header.header__offcanvasButton.njk +3 -3
  338. package/src/templates/components/header/_macro.header.header__subnav.njk +3 -3
  339. package/src/templates/components/header/_macro.header.njk +3 -3
  340. package/src/templates/components/header/_styles.header.css +12 -12
  341. package/src/templates/components/header/_template.header.header__dropdown.njk +27 -27
  342. package/src/templates/components/header/_template.header.header__navigation.njk +25 -25
  343. package/src/templates/components/header/_template.header.header__offcanvas.njk +20 -20
  344. package/src/templates/components/header/_template.header.header__offcanvasButton.njk +10 -10
  345. package/src/templates/components/header/_template.header.header__subnav.njk +33 -33
  346. package/src/templates/components/header/_template.header.njk +155 -155
  347. package/src/templates/components/header/params.header.yaml +295 -295
  348. package/src/templates/components/header-advanced/_examples.header-advanced.njk +1110 -1110
  349. package/src/templates/components/header-advanced/_macro.header-advanced.njk +3 -3
  350. package/src/templates/components/header-advanced/_template.header-advanced.njk +171 -171
  351. package/src/templates/components/header-advanced/params.header-advanced.yaml +352 -352
  352. package/src/templates/components/header-mini/_examples.header-mini.njk +319 -316
  353. package/src/templates/components/header-mini/_macro.header-mini.njk +3 -3
  354. package/src/templates/components/header-mini/_template.header-mini.njk +51 -51
  355. package/src/templates/components/header-mini/params.header-mini.yaml +90 -90
  356. package/src/templates/components/hint/_examples.hint.njk +26 -26
  357. package/src/templates/components/hint/_macro.hint.njk +3 -3
  358. package/src/templates/components/hint/_template.hint.njk +3 -3
  359. package/src/templates/components/hint/params.hint.yaml +21 -21
  360. package/src/templates/components/input/_examples.input.njk +393 -393
  361. package/src/templates/components/input/_macro.input.njk +3 -3
  362. package/src/templates/components/input/_styles.input.css +17 -17
  363. package/src/templates/components/input/_template.input.njk +53 -53
  364. package/src/templates/components/input/params.input.yaml +80 -80
  365. package/src/templates/components/input-group/_examples.input-group.njk +558 -558
  366. package/src/templates/components/input-group/_macro.input-group.njk +3 -3
  367. package/src/templates/components/input-group/_template.input-group.njk +107 -107
  368. package/src/templates/components/input-group/params.input-group.yaml +123 -123
  369. package/src/templates/components/item/_examples.item.njk +370 -370
  370. package/src/templates/components/item/_macro.item.njk +3 -3
  371. package/src/templates/components/item/_template.item.njk +73 -73
  372. package/src/templates/components/item/params.item.yaml +101 -101
  373. package/src/templates/components/label/_examples.label.njk +58 -58
  374. package/src/templates/components/label/_macro.label.njk +5 -5
  375. package/src/templates/components/label/_template.label.njk +37 -37
  376. package/src/templates/components/label/params.label.yaml +28 -28
  377. package/src/templates/components/links-list/_examples.links-list.njk +761 -761
  378. package/src/templates/components/links-list/_macro.links-list.njk +3 -3
  379. package/src/templates/components/links-list/_template.links-list.njk +119 -119
  380. package/src/templates/components/links-list/params.links-list.yaml +101 -101
  381. package/src/templates/components/listbox/_examples.listbox.njk +813 -812
  382. package/src/templates/components/listbox/_macro.listbox.njk +3 -3
  383. package/src/templates/components/listbox/_styles.listbox.css +218 -218
  384. package/src/templates/components/listbox/_template.listbox.njk +90 -90
  385. package/src/templates/components/listbox/params.listbox.yaml +85 -85
  386. package/src/templates/components/media-object/_examples.media-object.njk +79 -79
  387. package/src/templates/components/media-object/_macro.media-object.njk +3 -3
  388. package/src/templates/components/media-object/_template.media-object.njk +21 -21
  389. package/src/templates/components/media-object/params.media-object.yaml +16 -16
  390. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +613 -613
  391. package/src/templates/components/menu-horizontal/_macro.menu-horizontal.njk +3 -3
  392. package/src/templates/components/menu-horizontal/_styles.menu-horizontal.css +167 -167
  393. package/src/templates/components/menu-horizontal/_template.menu-horizontal.njk +36 -36
  394. package/src/templates/components/menu-horizontal/params.menu-horizontal.yaml +53 -53
  395. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +1292 -1292
  396. package/src/templates/components/menu-navigation/_macro.menu-navigation.njk +3 -3
  397. package/src/templates/components/menu-navigation/_styles.menu-navigation.css +238 -238
  398. package/src/templates/components/menu-navigation/_template.menu-navigation.njk +87 -87
  399. package/src/templates/components/menu-navigation/params.menu-navigation.yaml +86 -86
  400. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +835 -835
  401. package/src/templates/components/menu-vertical/_macro.menu-vertical.njk +3 -3
  402. package/src/templates/components/menu-vertical/_template.menu-vertical.njk +92 -92
  403. package/src/templates/components/menu-vertical/params.menu-vertical.yaml +77 -77
  404. package/src/templates/components/menubar/_examples.menubar.njk +1843 -1843
  405. package/src/templates/components/menubar/_macro.menubar.njk +3 -3
  406. package/src/templates/components/menubar/_styles.menubar.css +259 -259
  407. package/src/templates/components/menubar/_template.menubar.njk +106 -106
  408. package/src/templates/components/menubar/params.menubar.yaml +130 -130
  409. package/src/templates/components/modal/_examples.modal.njk +432 -432
  410. package/src/templates/components/modal/_macro.modal.njk +3 -3
  411. package/src/templates/components/modal/_template.modal.njk +129 -129
  412. package/src/templates/components/modal/params.modal.yaml +77 -77
  413. package/src/templates/components/nav/_examples.nav.njk +468 -468
  414. package/src/templates/components/nav/_macro.nav.njk +3 -3
  415. package/src/templates/components/nav/_template.nav.njk +53 -53
  416. package/src/templates/components/nav/params.nav.yaml +61 -61
  417. package/src/templates/components/notification/_examples.notification.njk +277 -277
  418. package/src/templates/components/notification/_macro.notification.njk +3 -3
  419. package/src/templates/components/notification/_styles.notification.css +30 -30
  420. package/src/templates/components/notification/_template.notification.njk +86 -86
  421. package/src/templates/components/notification/params.notification.yaml +101 -101
  422. package/src/templates/components/pagination/_examples.pagination.njk +444 -444
  423. package/src/templates/components/pagination/_macro.pagination.njk +3 -3
  424. package/src/templates/components/pagination/_template.pagination.njk +162 -162
  425. package/src/templates/components/pagination/params.pagination.yaml +150 -150
  426. package/src/templates/components/pill/_examples.pill.njk +180 -180
  427. package/src/templates/components/pill/_macro.pill.njk +3 -3
  428. package/src/templates/components/pill/_styles.pill.css +59 -59
  429. package/src/templates/components/pill/_template.pill.njk +38 -38
  430. package/src/templates/components/pill/params.pill.yaml +28 -28
  431. package/src/templates/components/radios/_examples.radios.njk +698 -698
  432. package/src/templates/components/radios/_macro.radios.njk +5 -5
  433. package/src/templates/components/radios/_styles.radios.css +30 -30
  434. package/src/templates/components/radios/_template.radios.njk +133 -133
  435. package/src/templates/components/radios/params.radios.yaml +104 -104
  436. package/src/templates/components/searchbar/_examples.searchbar.njk +147 -147
  437. package/src/templates/components/searchbar/_macro.searchbar.njk +3 -3
  438. package/src/templates/components/searchbar/_template.searchbar.njk +45 -45
  439. package/src/templates/components/searchbar/params.searchbar.yaml +46 -46
  440. package/src/templates/components/select/_examples.select.njk +364 -364
  441. package/src/templates/components/select/_macro.select.njk +5 -5
  442. package/src/templates/components/select/_styles.select.css +45 -45
  443. package/src/templates/components/select/_template.select.njk +67 -67
  444. package/src/templates/components/select/params.select.yaml +93 -93
  445. package/src/templates/components/skip-link/_examples.skip-link.njk +31 -31
  446. package/src/templates/components/skip-link/_macro.skip-link.njk +3 -3
  447. package/src/templates/components/skip-link/_styles.skip-link.css +12 -12
  448. package/src/templates/components/skip-link/_template.skip-link.njk +4 -4
  449. package/src/templates/components/skip-link/params.skip-link.yaml +20 -20
  450. package/src/templates/components/spinner/_examples.spinner.njk +91 -101
  451. package/src/templates/components/spinner/_macro.spinner.njk +3 -3
  452. package/src/templates/components/spinner/_styles.spinner.css +33 -33
  453. package/src/templates/components/spinner/_template.spinner.njk +12 -12
  454. package/src/templates/components/spinner/params.spinner.yaml +12 -12
  455. package/src/templates/components/status/_examples.status.njk +80 -80
  456. package/src/templates/components/status/_macro.status.njk +3 -3
  457. package/src/templates/components/status/_template.status.njk +23 -23
  458. package/src/templates/components/status/params.status.yaml +24 -24
  459. package/src/templates/components/status-item/_examples.status-item.njk +319 -319
  460. package/src/templates/components/status-item/_macro.status-item.njk +3 -3
  461. package/src/templates/components/status-item/_template.status-item.njk +99 -99
  462. package/src/templates/components/status-item/params.status-item.yaml +106 -106
  463. package/src/templates/components/table/_examples.table.njk +705 -705
  464. package/src/templates/components/table/_macro.table.njk +3 -3
  465. package/src/templates/components/table/_styles.table.css +19 -19
  466. package/src/templates/components/table/_template.table.njk +68 -68
  467. package/src/templates/components/table/params.table.yaml +130 -130
  468. package/src/templates/components/table-advanced/_examples.table-advanced.njk +839 -839
  469. package/src/templates/components/table-advanced/_macro.table-advanced.njk +3 -3
  470. package/src/templates/components/table-advanced/_styles.table-advanced.css +63 -63
  471. package/src/templates/components/table-advanced/_template.table-advanced.njk +210 -210
  472. package/src/templates/components/table-advanced/params.table-advanced.yaml +160 -160
  473. package/src/templates/components/tabs/_examples.tabs.njk +588 -588
  474. package/src/templates/components/tabs/_macro.tabs.njk +3 -3
  475. package/src/templates/components/tabs/_styles.tabs.css +132 -132
  476. package/src/templates/components/tabs/_template.tabs.njk +70 -70
  477. package/src/templates/components/tabs/params.tabs.yaml +83 -83
  478. package/src/templates/components/textarea/_examples.textarea.njk +174 -174
  479. package/src/templates/components/textarea/_macro.textarea.njk +5 -5
  480. package/src/templates/components/textarea/_template.textarea.njk +47 -47
  481. package/src/templates/components/textarea/params.textarea.yaml +64 -64
  482. package/src/templates/components/toggle/_examples.toggle.njk +248 -248
  483. package/src/templates/components/toggle/_macro.toggle.njk +3 -3
  484. package/src/templates/components/toggle/_styles.toggle.css +31 -31
  485. package/src/templates/components/toggle/_template.toggle.njk +27 -27
  486. package/src/templates/components/toggle/params.toggle.yaml +69 -69
  487. package/src/templates/components/tooltip/_examples.tooltip.njk +134 -134
  488. package/src/templates/components/tooltip/_macro.tooltip.njk +3 -3
  489. package/src/templates/components/tooltip/_styles.tooltip.css +9 -9
  490. package/src/templates/components/tooltip/_template.tooltip.njk +40 -40
  491. package/src/templates/components/tooltip/params.tooltip.yaml +40 -40
  492. package/src/templates/components/tree/_examples.tree.njk +2671 -2671
  493. package/src/templates/components/tree/_macro.tree.njk +3 -3
  494. package/src/templates/components/tree/_styles.tree.css +54 -54
  495. package/src/templates/components/tree/_template.tree.njk +232 -232
  496. package/src/templates/components/tree/params.tree.yaml +173 -173
  497. package/src/templates/components/treegrid/_examples.treegrid.njk +1269 -1269
  498. package/src/templates/components/treegrid/_macro.treegrid.njk +3 -3
  499. package/src/templates/components/treegrid/_styles.treegrid.css +31 -31
  500. package/src/templates/components/treegrid/_template.treegrid.njk +90 -90
  501. package/src/templates/components/treegrid/params.treegrid.yaml +131 -131
  502. package/src/templates/includes/_abrir-notificaciones-extra.njk +2 -2
  503. package/src/templates/includes/_abrir-notificaciones.njk +2 -2
  504. package/src/templates/includes/_acciones-de-cabecera.njk +28 -28
  505. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +4 -4
  506. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +4 -4
  507. package/src/templates/includes/_test-include.njk +13 -13
  508. package/src/templates/pages/_page.foot-headroom.njk +30 -30
  509. package/src/templates/pages/_page.foot.njk +5 -5
  510. package/src/templates/pages/_page.footer.njk +19 -19
  511. package/src/templates/pages/_page.head.njk +27 -27
  512. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -31
  513. package/src/templates/pages/_page.notification-edit.njk +30 -30
  514. package/src/templates/pages/_page.notification-footer.njk +32 -32
  515. package/src/templates/pages/_page.notification-header-fixed.njk +30 -30
  516. package/src/templates/pages/_page.notification-header.njk +31 -31
  517. package/src/templates/pages/_page.sidebar-content.njk +20 -20
  518. package/src/templates/pages/_page.spinner-block.njk +14 -14
  519. package/src/templates/pages/_page.spinner-show.njk +15 -15
  520. package/src/templates/pages/_page.spinner.njk +15 -15
  521. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -36
  522. package/src/templates/pages/_template.edit-fixed.njk +74 -74
  523. package/src/templates/pages/_template.home.njk +111 -111
  524. package/src/templates/pages/_template.logged-out.njk +56 -56
  525. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +198 -198
  526. package/src/templates/pages/_template.logged-selector-fixed.njk +195 -195
  527. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -80
  528. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +28 -28
  529. package/src/templates/pages/_template.logged-selector.njk +195 -195
  530. package/src/templates/pages/_template.logged.njk +141 -141
  531. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -31
  532. package/src/templates/pages/_template.mfe.njk +83 -83
  533. package/src/templates/pages/_template.test.njk +48 -48
  534. package/src/templates/pages/_template.with-header-advanced.njk +311 -311
  535. package/vite.config.js +1021 -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
  ] %}