desy-html 12.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +36 -36
  2. package/config/tailwind.config.js +218 -218
  3. package/docs/_global.content-placeholder.njk +7 -7
  4. package/docs/_global.foot.njk +14 -14
  5. package/docs/_global.head.njk +28 -28
  6. package/docs/_include.template-header.njk +381 -387
  7. package/docs/_macro.component-example.njk +6 -6
  8. package/docs/_macro.example-render.njk +376 -376
  9. package/docs/_macro.load-component-params.njk +2 -2
  10. package/docs/_macro.load-component-template.njk +3 -3
  11. package/docs/_macro.render-caller.njk +3 -3
  12. package/docs/_macro.show-code-from-file.njk +57 -57
  13. package/docs/_macro.show-html-from-file.njk +42 -42
  14. package/docs/_template.default.njk +8 -8
  15. package/docs/_template.examples.njk +13 -13
  16. package/docs/catalogo.html +26 -26
  17. package/docs/componentes.html +180 -180
  18. package/docs/ds/_ds.example.accordion.njk +109 -109
  19. package/docs/ds/_ds.example.border.njk +39 -39
  20. package/docs/ds/_ds.example.botones-alert-sm.njk +264 -264
  21. package/docs/ds/_ds.example.botones-alert.njk +264 -264
  22. package/docs/ds/_ds.example.botones-default-sm.njk +264 -264
  23. package/docs/ds/_ds.example.botones-default.njk +258 -258
  24. package/docs/ds/_ds.example.botones-primary-lg.njk +264 -264
  25. package/docs/ds/_ds.example.botones-primary-sm.njk +264 -264
  26. package/docs/ds/_ds.example.botones-primary.njk +264 -264
  27. package/docs/ds/_ds.example.botones-transparent-sm.njk +264 -264
  28. package/docs/ds/_ds.example.botones-transparent.njk +264 -264
  29. package/docs/ds/_ds.example.breadcrumbs.njk +65 -65
  30. package/docs/ds/_ds.example.card.njk +198 -198
  31. package/docs/ds/_ds.example.checkboxes.njk +377 -377
  32. package/docs/ds/_ds.example.collapsible.njk +18 -18
  33. package/docs/ds/_ds.example.color-de-interaccion.njk +16 -16
  34. package/docs/ds/_ds.example.colores-cabecera.njk +15 -15
  35. package/docs/ds/_ds.example.colores-de-soporte.njk +82 -82
  36. package/docs/ds/_ds.example.colores-neutros.njk +26 -26
  37. package/docs/ds/_ds.example.date-input.njk +363 -363
  38. package/docs/ds/_ds.example.description-list.njk +289 -289
  39. package/docs/ds/_ds.example.details.njk +23 -23
  40. package/docs/ds/_ds.example.dropdowns-default.njk +186 -186
  41. package/docs/ds/_ds.example.dropdowns-en-uso.njk +105 -105
  42. package/docs/ds/_ds.example.dropdowns-variaciones.njk +224 -224
  43. package/docs/ds/_ds.example.error-summary.njk +34 -34
  44. package/docs/ds/_ds.example.file-upload.njk +54 -54
  45. package/docs/ds/_ds.example.footer.njk +28 -28
  46. package/docs/ds/_ds.example.header-advanced.njk +70 -70
  47. package/docs/ds/_ds.example.header.njk +211 -211
  48. package/docs/ds/_ds.example.input-group.njk +242 -242
  49. package/docs/ds/_ds.example.input.njk +164 -164
  50. package/docs/ds/_ds.example.item.njk +176 -176
  51. package/docs/ds/_ds.example.layout-escritorio.njk +38 -38
  52. package/docs/ds/_ds.example.layout-movil.njk +14 -14
  53. package/docs/ds/_ds.example.layout-sidebar.njk +11 -11
  54. package/docs/ds/_ds.example.links-list.njk +170 -170
  55. package/docs/ds/_ds.example.listbox-default.njk +677 -677
  56. package/docs/ds/_ds.example.listbox-variaciones.njk +824 -824
  57. package/docs/ds/_ds.example.menu-horizontal.njk +66 -66
  58. package/docs/ds/_ds.example.menu-navigation.njk +493 -493
  59. package/docs/ds/_ds.example.menu-vertical.njk +129 -129
  60. package/docs/ds/_ds.example.menubar-en-uso.njk +244 -244
  61. package/docs/ds/_ds.example.menubar-variaciones.njk +785 -785
  62. package/docs/ds/_ds.example.modal.njk +210 -210
  63. package/docs/ds/_ds.example.nav.njk +158 -158
  64. package/docs/ds/_ds.example.notification.njk +122 -122
  65. package/docs/ds/_ds.example.pagination.njk +190 -190
  66. package/docs/ds/_ds.example.pills.njk +215 -215
  67. package/docs/ds/_ds.example.radios.njk +419 -419
  68. package/docs/ds/_ds.example.searchbar.njk +87 -87
  69. package/docs/ds/_ds.example.select.njk +390 -390
  70. package/docs/ds/_ds.example.status-item.njk +239 -239
  71. package/docs/ds/_ds.example.status.njk +47 -47
  72. package/docs/ds/_ds.example.table.njk +740 -740
  73. package/docs/ds/_ds.example.tabs.njk +136 -136
  74. package/docs/ds/_ds.example.textarea.njk +237 -237
  75. package/docs/ds/_ds.example.textos.njk +32 -32
  76. package/docs/ds/_ds.example.toggle.njk +75 -75
  77. package/docs/ds/_ds.example.tree.njk +456 -456
  78. package/docs/ds/_ds.example.typography.njk +225 -225
  79. package/docs/ds/_ds.macro.code-snippet.njk +32 -32
  80. package/docs/ds/_ds.macro.section-title.njk +2 -2
  81. package/docs/ds/_ds.macro.subsection-title.njk +2 -2
  82. package/docs/ds/_ds.section.avisos.njk +22 -22
  83. package/docs/ds/_ds.section.botones.njk +53 -53
  84. package/docs/ds/_ds.section.campo-y-area-de-texto.njk +19 -19
  85. package/docs/ds/_ds.section.color.njk +147 -147
  86. package/docs/ds/_ds.section.datos.njk +37 -37
  87. package/docs/ds/_ds.section.dropdowns.njk +23 -23
  88. package/docs/ds/_ds.section.espaciado.njk +296 -296
  89. package/docs/ds/_ds.section.forms.njk +68 -68
  90. package/docs/ds/_ds.section.informacion.njk +12 -12
  91. package/docs/ds/_ds.section.layout.njk +63 -63
  92. package/docs/ds/_ds.section.menubar.njk +18 -18
  93. package/docs/ds/_ds.section.mostrar-ocultar.njk +33 -33
  94. package/docs/ds/_ds.section.navigation.njk +57 -57
  95. package/docs/ds/_ds.section.textos.njk +287 -287
  96. package/docs/ds/_ds.section.typography.njk +28 -28
  97. package/docs/estilos.html +37 -37
  98. package/docs/examples-accordion-history.html +8 -8
  99. package/docs/examples-accordion.html +8 -8
  100. package/docs/examples-alert.html +8 -8
  101. package/docs/examples-breadcrumbs.html +8 -8
  102. package/docs/examples-button-loader.html +8 -8
  103. package/docs/examples-button.html +8 -8
  104. package/docs/examples-card.html +7 -7
  105. package/docs/examples-character-count.html +8 -8
  106. package/docs/examples-checkboxes.html +7 -7
  107. package/docs/examples-collapsible.html +7 -7
  108. package/docs/examples-date-input.html +8 -8
  109. package/docs/examples-datepicker.html +8 -8
  110. package/docs/examples-description-list.html +8 -8
  111. package/docs/examples-details.html +8 -8
  112. package/docs/examples-dialog.html +7 -7
  113. package/docs/examples-dropdown.html +8 -8
  114. package/docs/examples-error-message.html +8 -8
  115. package/docs/examples-error-summary.html +8 -8
  116. package/docs/examples-fieldset.html +8 -8
  117. package/docs/examples-file-upload.html +8 -8
  118. package/docs/examples-footer.html +8 -8
  119. package/docs/examples-header-advanced.html +8 -8
  120. package/docs/examples-header-mini.html +8 -8
  121. package/docs/examples-header.html +8 -8
  122. package/docs/examples-hint.html +8 -8
  123. package/docs/examples-input-group.html +8 -8
  124. package/docs/examples-input.html +8 -8
  125. package/docs/examples-item.html +8 -8
  126. package/docs/examples-label.html +8 -8
  127. package/docs/examples-links-list.html +7 -7
  128. package/docs/examples-listbox.html +8 -8
  129. package/docs/examples-media-object.html +7 -7
  130. package/docs/examples-menu-horizontal.html +8 -8
  131. package/docs/examples-menu-navigation.html +8 -8
  132. package/docs/examples-menu-vertical.html +7 -7
  133. package/docs/examples-menubar.html +7 -7
  134. package/docs/examples-modal.html +7 -7
  135. package/docs/examples-nav.html +8 -8
  136. package/docs/examples-notification.html +8 -8
  137. package/docs/examples-pagination.html +8 -8
  138. package/docs/examples-pill.html +8 -8
  139. package/docs/examples-radios.html +8 -8
  140. package/docs/examples-searchbar.html +8 -8
  141. package/docs/examples-select.html +9 -9
  142. package/docs/examples-skip-link.html +8 -8
  143. package/docs/examples-spinner.html +8 -8
  144. package/docs/examples-status-item.html +8 -8
  145. package/docs/examples-status.html +8 -8
  146. package/docs/examples-table-advanced.html +8 -8
  147. package/docs/examples-table.html +8 -8
  148. package/docs/examples-tabs.html +8 -8
  149. package/docs/examples-textarea.html +8 -8
  150. package/docs/examples-toggle.html +8 -8
  151. package/docs/examples-tooltip.html +8 -8
  152. package/docs/examples-tree.html +8 -8
  153. package/docs/index.html +739 -729
  154. package/docs/pagina-accesibilidad.html +109 -109
  155. package/docs/pagina-mapa-web.html +136 -136
  156. package/docs/pagina-prueba.html +94 -94
  157. package/docs/plantilla-con-header-advanced.html +13 -13
  158. package/docs/plantilla-editar-con-cabecera-fija-y-sidebar-sticky.html +153 -153
  159. package/docs/plantilla-editar-con-cabecera-fija.html +16 -16
  160. package/docs/plantilla-logueado-con-cabecera-fija-headroom.html +14 -14
  161. package/docs/plantilla-logueado-con-cabecera-fija.html +14 -14
  162. package/docs/plantilla-logueado-con-selector-de-app-y-sidebar.html +163 -163
  163. package/docs/plantilla-logueado-con-selector-de-app-y-subheader.html +15 -15
  164. package/docs/plantilla-logueado-con-selector-de-app.html +13 -13
  165. package/docs/plantilla-logueado-con-titulo-de-app.html +13 -13
  166. package/docs/plantilla-sin-loguear.html +13 -13
  167. package/docs/plantillas.html +88 -88
  168. package/docs/spinner-plantilla-con-header-advanced.html +1 -1
  169. package/docs/spinner-plantilla-editar-con-cabecera-fija.html +5 -5
  170. package/docs/spinner-plantilla-logueado-con-cabecera-fija.html +1 -1
  171. package/docs/spinner-plantilla-logueado-con-selector-de-app-y-subheader.html +4 -4
  172. package/docs/spinner-plantilla-logueado-con-titulo-de-app.html +1 -1
  173. package/docs/spinner-plantilla-sin-loguear.html +17 -17
  174. package/gulpfile.js +127 -127
  175. package/package.json +67 -67
  176. package/src/EUPL-1.2.txt +287 -287
  177. package/src/css/base.css +44 -44
  178. package/src/css/component.form-group.css +23 -23
  179. package/src/css/component.headroom.css +31 -31
  180. package/src/css/component.text.css +165 -165
  181. package/src/css/component.tippy-box.css +11 -11
  182. package/src/css/styles.css +51 -51
  183. package/src/js/aria/HeaderNavigation.js +55 -55
  184. package/src/js/aria/MenuHorizontal.js +63 -63
  185. package/src/js/aria/MenuVertical.js +60 -60
  186. package/src/js/aria/Nav.js +60 -60
  187. package/src/js/aria/accordion.js +264 -264
  188. package/src/js/aria/checkBoxes.js +52 -52
  189. package/src/js/aria/collapsible.js +44 -44
  190. package/src/js/aria/dataGrid.js +950 -950
  191. package/src/js/aria/linksList.js +42 -42
  192. package/src/js/aria/notification.js +56 -56
  193. package/src/js/aria/radioButton.js +50 -50
  194. package/src/js/aria/toggle.js +61 -61
  195. package/src/js/aria/utils.js +193 -193
  196. package/src/js/cally.js +1114 -1114
  197. package/src/js/desy-html.js +573 -572
  198. package/src/js/filters/filter-caller.js +8 -8
  199. package/src/js/filters/filter-escape-ltgt.js +6 -6
  200. package/src/js/filters/filter-quotes.js +49 -49
  201. package/src/js/filters/filter-slugify.js +11 -11
  202. package/src/js/filters/filter-version.js +8 -8
  203. package/src/js/filters/highlight.js +14 -14
  204. package/src/js/filters/index.js +19 -19
  205. package/src/js/globals/get-html-code-from-example.js +31 -31
  206. package/src/js/globals/get-html-code-from-file.js +26 -26
  207. package/src/js/globals/get-nunjucks-code-from-example.js +31 -31
  208. package/src/js/globals/get-nunjucks-code-from-file.js +24 -24
  209. package/src/js/globals/index.js +14 -14
  210. package/src/js/headroom.min.js +6 -6
  211. package/src/js/index.js +75 -75
  212. package/src/js/popper.min.js +6 -6
  213. package/src/js/tippy-bundle.umd.min.js +2 -2
  214. package/src/templates/components/accordion/_examples.accordion.njk +398 -398
  215. package/src/templates/components/accordion/_macro.accordion.njk +3 -3
  216. package/src/templates/components/accordion/_template.accordion.njk +131 -131
  217. package/src/templates/components/accordion/params.accordion.yaml +125 -125
  218. package/src/templates/components/accordion-history/_examples.accordion-history.njk +431 -431
  219. package/src/templates/components/accordion-history/_macro.accordion-history.njk +3 -3
  220. package/src/templates/components/accordion-history/_template.accordion-history.njk +193 -193
  221. package/src/templates/components/accordion-history/params.accordion-history.yaml +129 -129
  222. package/src/templates/components/alert/_examples.alert.njk +79 -79
  223. package/src/templates/components/alert/_macro.alert.njk +3 -3
  224. package/src/templates/components/alert/_styles.alert.css +9 -9
  225. package/src/templates/components/alert/_template.alert.njk +16 -16
  226. package/src/templates/components/alert/params.alert.yaml +25 -25
  227. package/src/templates/components/breadcrumbs/_examples.breadcrumbs.njk +374 -374
  228. package/src/templates/components/breadcrumbs/_macro.breadcrumbs.njk +3 -3
  229. package/src/templates/components/breadcrumbs/_styles.breadcrumbs.css +78 -78
  230. package/src/templates/components/breadcrumbs/_template.breadcrumbs.njk +77 -77
  231. package/src/templates/components/breadcrumbs/params.breadcrumbs.yaml +44 -44
  232. package/src/templates/components/button/_examples.button.njk +296 -296
  233. package/src/templates/components/button/_macro.button.njk +3 -3
  234. package/src/templates/components/button/_styles.button.css +189 -189
  235. package/src/templates/components/button/_template.button.njk +49 -49
  236. package/src/templates/components/button/params.button.yaml +48 -48
  237. package/src/templates/components/button-loader/_examples.button-loader.njk +288 -288
  238. package/src/templates/components/button-loader/_macro.button-loader.njk +3 -3
  239. package/src/templates/components/button-loader/_styles.button-loader.css +204 -204
  240. package/src/templates/components/button-loader/_template.button-loader.njk +84 -84
  241. package/src/templates/components/button-loader/params.button-loader.yaml +74 -74
  242. package/src/templates/components/card/_examples.card.njk +303 -300
  243. package/src/templates/components/card/_macro.card.njk +3 -3
  244. package/src/templates/components/card/_template.card.njk +34 -34
  245. package/src/templates/components/card/params.card.yaml +112 -112
  246. package/src/templates/components/character-count/_examples.character-count.njk +147 -147
  247. package/src/templates/components/character-count/_macro.character-count.njk +5 -5
  248. package/src/templates/components/character-count/_template.character-count.njk +38 -38
  249. package/src/templates/components/character-count/params.character-count.yaml +77 -77
  250. package/src/templates/components/checkboxes/_examples.checkboxes.njk +734 -734
  251. package/src/templates/components/checkboxes/_macro.checkboxes.njk +3 -3
  252. package/src/templates/components/checkboxes/_styles.checkboxes.css +31 -31
  253. package/src/templates/components/checkboxes/_template.checkboxes.njk +138 -138
  254. package/src/templates/components/checkboxes/params.checkboxes.yaml +116 -116
  255. package/src/templates/components/collapsible/_examples.collapsible.njk +77 -77
  256. package/src/templates/components/collapsible/_macro.collapsible.njk +3 -3
  257. package/src/templates/components/collapsible/_styles.collapsible.css +33 -33
  258. package/src/templates/components/collapsible/_template.collapsible.njk +17 -17
  259. package/src/templates/components/collapsible/params.collapsible.yaml +48 -48
  260. package/src/templates/components/date-input/_examples.date-input.njk +500 -500
  261. package/src/templates/components/date-input/_macro.date-input.njk +3 -3
  262. package/src/templates/components/date-input/_template.date-input.njk +126 -126
  263. package/src/templates/components/date-input/params.date-input.yaml +97 -97
  264. package/src/templates/components/datepicker/_examples.datepicker.njk +329 -329
  265. package/src/templates/components/datepicker/_macro.datepicker.njk +3 -3
  266. package/src/templates/components/datepicker/_styles.datepicker.css +89 -89
  267. package/src/templates/components/datepicker/_template.datepicker.njk +131 -131
  268. package/src/templates/components/datepicker/params.datepicker.yaml +104 -104
  269. package/src/templates/components/description-list/_examples.description-list.njk +436 -436
  270. package/src/templates/components/description-list/_macro.description-list.njk +3 -3
  271. package/src/templates/components/description-list/_template.description-list.njk +17 -17
  272. package/src/templates/components/description-list/params.description-list.yaml +61 -61
  273. package/src/templates/components/details/_examples.details.njk +44 -44
  274. package/src/templates/components/details/_macro.details.njk +3 -3
  275. package/src/templates/components/details/_template.details.njk +17 -17
  276. package/src/templates/components/details/params.details.yaml +40 -40
  277. package/src/templates/components/dialog/_examples.dialog.njk +138 -138
  278. package/src/templates/components/dialog/_macro.dialog.njk +3 -3
  279. package/src/templates/components/dialog/_styles.dialog.css +19 -19
  280. package/src/templates/components/dialog/_template.dialog.njk +12 -12
  281. package/src/templates/components/dialog/params.dialog.yaml +25 -25
  282. package/src/templates/components/dropdown/_examples.dropdown.njk +136 -136
  283. package/src/templates/components/dropdown/_macro.dropdown.njk +3 -3
  284. package/src/templates/components/dropdown/_styles.dropdown.css +203 -203
  285. package/src/templates/components/dropdown/_template.dropdown.njk +34 -34
  286. package/src/templates/components/dropdown/params.dropdown.yaml +32 -32
  287. package/src/templates/components/error-message/_examples.error-message.njk +14 -14
  288. package/src/templates/components/error-message/_macro.error-message.njk +5 -5
  289. package/src/templates/components/error-message/_template.error-message.njk +8 -8
  290. package/src/templates/components/error-message/params.error-message.yaml +23 -23
  291. package/src/templates/components/error-summary/_examples.error-summary.njk +81 -81
  292. package/src/templates/components/error-summary/_macro.error-summary.njk +5 -5
  293. package/src/templates/components/error-summary/_template.error-summary.njk +48 -48
  294. package/src/templates/components/error-summary/params.error-summary.yaml +52 -52
  295. package/src/templates/components/fieldset/_examples.fieldset.njk +88 -88
  296. package/src/templates/components/fieldset/_macro.fieldset.njk +2 -2
  297. package/src/templates/components/fieldset/_template.fieldset.njk +46 -46
  298. package/src/templates/components/fieldset/params.fieldset.yaml +49 -49
  299. package/src/templates/components/file-upload/_examples.file-upload.njk +84 -84
  300. package/src/templates/components/file-upload/_macro.file-upload.njk +2 -2
  301. package/src/templates/components/file-upload/_template.file-upload.njk +46 -46
  302. package/src/templates/components/file-upload/params.file-upload.yaml +48 -48
  303. package/src/templates/components/footer/_examples.footer.njk +450 -450
  304. package/src/templates/components/footer/_macro.footer.njk +3 -3
  305. package/src/templates/components/footer/_styles.footer.css +43 -43
  306. package/src/templates/components/footer/_template.footer.njk +114 -114
  307. package/src/templates/components/footer/params.footer.yaml +140 -140
  308. package/src/templates/components/header/_examples.header.njk +542 -541
  309. package/src/templates/components/header/_macro.header.header__dropdown.njk +3 -3
  310. package/src/templates/components/header/_macro.header.header__navigation.njk +3 -3
  311. package/src/templates/components/header/_macro.header.header__offcanvas.njk +3 -3
  312. package/src/templates/components/header/_macro.header.header__offcanvasButton.njk +3 -3
  313. package/src/templates/components/header/_macro.header.header__subnav.njk +3 -3
  314. package/src/templates/components/header/_macro.header.njk +3 -3
  315. package/src/templates/components/header/_styles.header.css +12 -12
  316. package/src/templates/components/header/_template.header.header__dropdown.njk +27 -27
  317. package/src/templates/components/header/_template.header.header__navigation.njk +27 -27
  318. package/src/templates/components/header/_template.header.header__offcanvas.njk +20 -20
  319. package/src/templates/components/header/_template.header.header__offcanvasButton.njk +10 -10
  320. package/src/templates/components/header/_template.header.header__subnav.njk +33 -33
  321. package/src/templates/components/header/_template.header.njk +138 -138
  322. package/src/templates/components/header/params.header.yaml +280 -280
  323. package/src/templates/components/header-advanced/_examples.header-advanced.njk +1023 -1022
  324. package/src/templates/components/header-advanced/_macro.header-advanced.njk +3 -3
  325. package/src/templates/components/header-advanced/_template.header-advanced.njk +168 -168
  326. package/src/templates/components/header-advanced/params.header-advanced.yaml +346 -346
  327. package/src/templates/components/header-mini/_examples.header-mini.njk +304 -304
  328. package/src/templates/components/header-mini/_macro.header-mini.njk +3 -3
  329. package/src/templates/components/header-mini/_template.header-mini.njk +39 -39
  330. package/src/templates/components/header-mini/params.header-mini.yaml +80 -80
  331. package/src/templates/components/hint/_examples.hint.njk +14 -14
  332. package/src/templates/components/hint/_macro.hint.njk +3 -3
  333. package/src/templates/components/hint/_template.hint.njk +3 -3
  334. package/src/templates/components/hint/params.hint.yaml +34 -34
  335. package/src/templates/components/input/_examples.input.njk +309 -309
  336. package/src/templates/components/input/_macro.input.njk +3 -3
  337. package/src/templates/components/input/_styles.input.css +18 -18
  338. package/src/templates/components/input/_template.input.njk +54 -54
  339. package/src/templates/components/input/params.input.yaml +80 -80
  340. package/src/templates/components/input-group/_examples.input-group.njk +503 -503
  341. package/src/templates/components/input-group/_macro.input-group.njk +3 -3
  342. package/src/templates/components/input-group/_template.input-group.njk +108 -108
  343. package/src/templates/components/input-group/params.input-group.yaml +123 -123
  344. package/src/templates/components/item/_examples.item.njk +273 -262
  345. package/src/templates/components/item/_macro.item.njk +3 -3
  346. package/src/templates/components/item/_template.item.njk +73 -73
  347. package/src/templates/components/item/params.item.yaml +101 -101
  348. package/src/templates/components/label/_examples.label.njk +34 -34
  349. package/src/templates/components/label/_macro.label.njk +5 -5
  350. package/src/templates/components/label/_template.label.njk +37 -37
  351. package/src/templates/components/label/params.label.yaml +28 -28
  352. package/src/templates/components/links-list/_examples.links-list.njk +647 -615
  353. package/src/templates/components/links-list/_macro.links-list.njk +3 -3
  354. package/src/templates/components/links-list/_template.links-list.njk +119 -119
  355. package/src/templates/components/links-list/params.links-list.yaml +101 -101
  356. package/src/templates/components/listbox/_examples.listbox.njk +691 -691
  357. package/src/templates/components/listbox/_macro.listbox.njk +3 -3
  358. package/src/templates/components/listbox/_styles.listbox.css +231 -231
  359. package/src/templates/components/listbox/_template.listbox.njk +90 -90
  360. package/src/templates/components/listbox/params.listbox.yaml +85 -85
  361. package/src/templates/components/media-object/_examples.media-object.njk +48 -48
  362. package/src/templates/components/media-object/_macro.media-object.njk +3 -3
  363. package/src/templates/components/media-object/_template.media-object.njk +21 -21
  364. package/src/templates/components/media-object/params.media-object.yaml +16 -16
  365. package/src/templates/components/menu-horizontal/_examples.menu-horizontal.njk +529 -514
  366. package/src/templates/components/menu-horizontal/_macro.menu-horizontal.njk +3 -3
  367. package/src/templates/components/menu-horizontal/_styles.menu-horizontal.css +162 -161
  368. package/src/templates/components/menu-horizontal/_template.menu-horizontal.njk +36 -36
  369. package/src/templates/components/menu-horizontal/params.menu-horizontal.yaml +53 -53
  370. package/src/templates/components/menu-navigation/_examples.menu-navigation.njk +1213 -1213
  371. package/src/templates/components/menu-navigation/_macro.menu-navigation.njk +3 -3
  372. package/src/templates/components/menu-navigation/_styles.menu-navigation.css +235 -235
  373. package/src/templates/components/menu-navigation/_template.menu-navigation.njk +89 -89
  374. package/src/templates/components/menu-navigation/params.menu-navigation.yaml +86 -86
  375. package/src/templates/components/menu-vertical/_examples.menu-vertical.njk +739 -739
  376. package/src/templates/components/menu-vertical/_macro.menu-vertical.njk +3 -3
  377. package/src/templates/components/menu-vertical/_template.menu-vertical.njk +92 -92
  378. package/src/templates/components/menu-vertical/params.menu-vertical.yaml +77 -77
  379. package/src/templates/components/menubar/_examples.menubar.njk +1777 -1777
  380. package/src/templates/components/menubar/_macro.menubar.njk +3 -3
  381. package/src/templates/components/menubar/_styles.menubar.css +262 -262
  382. package/src/templates/components/menubar/_template.menubar.njk +105 -105
  383. package/src/templates/components/menubar/params.menubar.yaml +139 -139
  384. package/src/templates/components/modal/_examples.modal.njk +354 -354
  385. package/src/templates/components/modal/_macro.modal.njk +3 -3
  386. package/src/templates/components/modal/_template.modal.njk +129 -129
  387. package/src/templates/components/modal/params.modal.yaml +77 -77
  388. package/src/templates/components/nav/_examples.nav.njk +402 -402
  389. package/src/templates/components/nav/_macro.nav.njk +3 -3
  390. package/src/templates/components/nav/_template.nav.njk +53 -53
  391. package/src/templates/components/nav/params.nav.yaml +61 -61
  392. package/src/templates/components/notification/_examples.notification.njk +193 -193
  393. package/src/templates/components/notification/_macro.notification.njk +3 -3
  394. package/src/templates/components/notification/_styles.notification.css +28 -28
  395. package/src/templates/components/notification/_template.notification.njk +86 -86
  396. package/src/templates/components/notification/params.notification.yaml +101 -101
  397. package/src/templates/components/pagination/_examples.pagination.njk +402 -402
  398. package/src/templates/components/pagination/_macro.pagination.njk +3 -3
  399. package/src/templates/components/pagination/_template.pagination.njk +162 -162
  400. package/src/templates/components/pagination/params.pagination.yaml +150 -150
  401. package/src/templates/components/pill/_examples.pill.njk +101 -101
  402. package/src/templates/components/pill/_macro.pill.njk +3 -3
  403. package/src/templates/components/pill/_styles.pill.css +63 -63
  404. package/src/templates/components/pill/_template.pill.njk +38 -38
  405. package/src/templates/components/pill/params.pill.yaml +28 -28
  406. package/src/templates/components/radios/_examples.radios.njk +637 -637
  407. package/src/templates/components/radios/_macro.radios.njk +5 -5
  408. package/src/templates/components/radios/_styles.radios.css +31 -31
  409. package/src/templates/components/radios/_template.radios.njk +134 -134
  410. package/src/templates/components/radios/params.radios.yaml +104 -104
  411. package/src/templates/components/searchbar/_examples.searchbar.njk +98 -98
  412. package/src/templates/components/searchbar/_macro.searchbar.njk +3 -3
  413. package/src/templates/components/searchbar/_template.searchbar.njk +46 -46
  414. package/src/templates/components/searchbar/params.searchbar.yaml +46 -46
  415. package/src/templates/components/select/_examples.select.njk +336 -336
  416. package/src/templates/components/select/_macro.select.njk +5 -5
  417. package/src/templates/components/select/_styles.select.css +47 -47
  418. package/src/templates/components/select/_template.select.njk +70 -70
  419. package/src/templates/components/select/params.select.yaml +93 -93
  420. package/src/templates/components/skip-link/_examples.skip-link.njk +19 -19
  421. package/src/templates/components/skip-link/_macro.skip-link.njk +3 -3
  422. package/src/templates/components/skip-link/_styles.skip-link.css +13 -13
  423. package/src/templates/components/skip-link/_template.skip-link.njk +4 -4
  424. package/src/templates/components/skip-link/params.skip-link.yaml +20 -20
  425. package/src/templates/components/spinner/_examples.spinner.njk +52 -52
  426. package/src/templates/components/spinner/_macro.spinner.njk +3 -3
  427. package/src/templates/components/spinner/_styles.spinner.css +32 -32
  428. package/src/templates/components/spinner/_template.spinner.njk +8 -8
  429. package/src/templates/components/spinner/params.spinner.yaml +12 -12
  430. package/src/templates/components/status/_examples.status.njk +49 -49
  431. package/src/templates/components/status/_macro.status.njk +3 -3
  432. package/src/templates/components/status/_template.status.njk +23 -23
  433. package/src/templates/components/status/params.status.yaml +24 -24
  434. package/src/templates/components/status-item/_examples.status-item.njk +245 -245
  435. package/src/templates/components/status-item/_macro.status-item.njk +3 -3
  436. package/src/templates/components/status-item/_template.status-item.njk +99 -99
  437. package/src/templates/components/status-item/params.status-item.yaml +106 -106
  438. package/src/templates/components/table/_examples.table.njk +668 -945
  439. package/src/templates/components/table/_macro.table.njk +3 -3
  440. package/src/templates/components/table/_styles.table.css +20 -20
  441. package/src/templates/components/table/_template.table.njk +68 -68
  442. package/src/templates/components/table/params.table.yaml +130 -126
  443. package/src/templates/components/table-advanced/_examples.table-advanced.njk +785 -965
  444. package/src/templates/components/table-advanced/_macro.table-advanced.njk +3 -3
  445. package/src/templates/components/table-advanced/_styles.table-advanced.css +65 -65
  446. package/src/templates/components/table-advanced/_template.table-advanced.njk +210 -207
  447. package/src/templates/components/table-advanced/params.table-advanced.yaml +160 -160
  448. package/src/templates/components/tabs/_examples.tabs.njk +516 -516
  449. package/src/templates/components/tabs/_macro.tabs.njk +3 -3
  450. package/src/templates/components/tabs/_styles.tabs.css +78 -78
  451. package/src/templates/components/tabs/_template.tabs.njk +70 -70
  452. package/src/templates/components/tabs/params.tabs.yaml +83 -83
  453. package/src/templates/components/textarea/_examples.textarea.njk +131 -131
  454. package/src/templates/components/textarea/_macro.textarea.njk +5 -5
  455. package/src/templates/components/textarea/_template.textarea.njk +48 -48
  456. package/src/templates/components/textarea/params.textarea.yaml +64 -64
  457. package/src/templates/components/toggle/_examples.toggle.njk +188 -188
  458. package/src/templates/components/toggle/_macro.toggle.njk +3 -3
  459. package/src/templates/components/toggle/_styles.toggle.css +31 -31
  460. package/src/templates/components/toggle/_template.toggle.njk +27 -27
  461. package/src/templates/components/toggle/params.toggle.yaml +69 -69
  462. package/src/templates/components/tooltip/_examples.tooltip.njk +86 -86
  463. package/src/templates/components/tooltip/_macro.tooltip.njk +3 -3
  464. package/src/templates/components/tooltip/_styles.tooltip.css +12 -12
  465. package/src/templates/components/tooltip/_template.tooltip.njk +39 -39
  466. package/src/templates/components/tooltip/params.tooltip.yaml +40 -40
  467. package/src/templates/components/tree/_examples.tree.njk +2679 -2679
  468. package/src/templates/components/tree/_macro.tree.njk +3 -3
  469. package/src/templates/components/tree/_styles.tree.css +53 -53
  470. package/src/templates/components/tree/_template.tree.njk +222 -222
  471. package/src/templates/components/tree/params.tree.yaml +169 -169
  472. package/src/templates/includes/_abrir-notificaciones-extra.njk +2 -2
  473. package/src/templates/includes/_abrir-notificaciones.njk +2 -2
  474. package/src/templates/includes/_acciones-de-cabecera.njk +28 -28
  475. package/src/templates/includes/_ejemplo-titulo-h2-parrafo.njk +4 -4
  476. package/src/templates/includes/_ejemplo-titulo-parrafo.njk +4 -4
  477. package/src/templates/includes/_test-include.njk +13 -13
  478. package/src/templates/pages/_page.foot-headroom.njk +33 -33
  479. package/src/templates/pages/_page.foot.njk +8 -8
  480. package/src/templates/pages/_page.footer.njk +19 -19
  481. package/src/templates/pages/_page.head.njk +12 -12
  482. package/src/templates/pages/_page.notification-edit-inner-content.njk +31 -31
  483. package/src/templates/pages/_page.notification-edit.njk +30 -30
  484. package/src/templates/pages/_page.notification-footer.njk +32 -32
  485. package/src/templates/pages/_page.notification-header-fixed.njk +30 -30
  486. package/src/templates/pages/_page.notification-header.njk +31 -31
  487. package/src/templates/pages/_page.sidebar-content.njk +20 -20
  488. package/src/templates/pages/_page.spinner-block.njk +14 -14
  489. package/src/templates/pages/_page.spinner-show.njk +15 -15
  490. package/src/templates/pages/_page.spinner.njk +15 -15
  491. package/src/templates/pages/_template.edit-fixed-with-sticky-sidebar.njk +36 -36
  492. package/src/templates/pages/_template.edit-fixed.njk +74 -74
  493. package/src/templates/pages/_template.home.njk +111 -111
  494. package/src/templates/pages/_template.logged-out.njk +56 -56
  495. package/src/templates/pages/_template.logged-selector-fixed-headroom.njk +198 -198
  496. package/src/templates/pages/_template.logged-selector-fixed.njk +195 -195
  497. package/src/templates/pages/_template.logged-selector-subheader.njk +80 -80
  498. package/src/templates/pages/_template.logged-selector-with-sidebar.njk +28 -28
  499. package/src/templates/pages/_template.logged-selector.njk +195 -195
  500. package/src/templates/pages/_template.logged.njk +141 -141
  501. package/src/templates/pages/_template.mfe-iframe-content.njk +31 -31
  502. package/src/templates/pages/_template.mfe.njk +83 -83
  503. package/src/templates/pages/_template.test.njk +48 -48
  504. package/src/templates/pages/_template.with-header-advanced.njk +311 -311
@@ -1,42 +1,42 @@
1
- export function LinksList(aria) {
2
-
3
- aria.linksListInit = function (domNode) {
4
- this.rootEl = domNode;
5
- };
6
-
7
- window.activateItemLinksList = function (wrapperId, activeItemId) {
8
- const activeItem = document.querySelector(`#${wrapperId} #${activeItemId}`);
9
- if (activeItem) {
10
- activateElement(wrapperId, activeItemId);
11
- return [activeItem];
12
- } else {
13
- console.log('There is no element with this id in the menu.');
14
- return null;
15
- }
16
- };
17
-
18
- function activateElement(wrapperId, elementActive) {
19
- const getWrapper = document.getElementById(wrapperId);
20
- getWrapper.querySelectorAll('li').forEach((element) => {
21
- const getLink = element.querySelector('a');
22
- if (getLink) {
23
- if (getLink.id === elementActive) {
24
- wrapActiveElement(getLink);
25
- } else {
26
- deactivateElement(getLink);
27
- }
28
- }
29
- });
30
- };
31
-
32
- function wrapActiveElement(elementActive) {
33
- const getText = elementActive.querySelector('div[data-element="c-links-list__text"]');
34
- getText.innerHTML = `<strong class="font-bold">${elementActive.textContent}</strong>`;
35
- };
36
-
37
- function deactivateElement(elementDeactivated) {
38
- const getText = elementDeactivated.querySelector('div[data-element="c-links-list__text"]');
39
- const replaceStrong = getText.textContent.replace('<strong class="font-bold">', '').replace('<strong/>', '');
40
- getText.textContent = `${replaceStrong}`;
41
- };
42
- }
1
+ export function LinksList(aria) {
2
+
3
+ aria.linksListInit = function (domNode) {
4
+ this.rootEl = domNode;
5
+ };
6
+
7
+ window.activateItemLinksList = function (wrapperId, activeItemId) {
8
+ const activeItem = document.querySelector(`#${wrapperId} #${activeItemId}`);
9
+ if (activeItem) {
10
+ activateElement(wrapperId, activeItemId);
11
+ return [activeItem];
12
+ } else {
13
+ console.log('There is no element with this id in the menu.');
14
+ return null;
15
+ }
16
+ };
17
+
18
+ function activateElement(wrapperId, elementActive) {
19
+ const getWrapper = document.getElementById(wrapperId);
20
+ getWrapper.querySelectorAll('li').forEach((element) => {
21
+ const getLink = element.querySelector('a');
22
+ if (getLink) {
23
+ if (getLink.id === elementActive) {
24
+ wrapActiveElement(getLink);
25
+ } else {
26
+ deactivateElement(getLink);
27
+ }
28
+ }
29
+ });
30
+ };
31
+
32
+ function wrapActiveElement(elementActive) {
33
+ const getText = elementActive.querySelector('div[data-element="c-links-list__text"]');
34
+ getText.innerHTML = `<strong class="font-bold">${elementActive.textContent}</strong>`;
35
+ };
36
+
37
+ function deactivateElement(elementDeactivated) {
38
+ const getText = elementDeactivated.querySelector('div[data-element="c-links-list__text"]');
39
+ const replaceStrong = getText.textContent.replace('<strong class="font-bold">', '').replace('<strong/>', '');
40
+ getText.textContent = `${replaceStrong}`;
41
+ };
42
+ }
@@ -1,56 +1,56 @@
1
- export function Notification(aria) {
2
-
3
- aria.notificationInit = function (domNode) {
4
- this.rootEl = domNode;
5
- /*No todas las notificaciones tienen botón de cerrar
6
- así que comprobamos que el componente contiene el botón.*/
7
- if(this.rootEl.querySelector('.c-notification-button__close')) {
8
- window.addEventListener('click', this.closeNotification.bind(this));
9
- }
10
- };
11
-
12
- aria.closeNotification = function (event) {
13
- const { target } = event;
14
- const elementNotification = target ? target : event
15
- if(target) {
16
- aria.closeNotificationEvent(elementNotification)
17
- }
18
-
19
- if(!target) {
20
- aria.closeNotificationWindow(elementNotification)
21
- }
22
- }
23
-
24
- aria.closeNotificationEvent = function (element) {
25
- if(element.classList.contains('c-notification-button__close')) {
26
- //Replicamos la transición de alpine con tailwind al cerrar.
27
- element.parentElement.parentElement.parentElement.classList.add('transition-opacity', 'duration-150', 'ease-in-out', 'opacity-0');
28
- //Añadimos display: none para que el componente "desaparezca del DOM"
29
- setTimeout(() =>{
30
- element.parentElement.parentElement.parentElement.classList.add('hidden');
31
- }, 300)
32
- }
33
- }
34
-
35
- aria.closeNotificationWindow = function (element) {
36
- if(element.querySelector('.c-notification-button__close')) {
37
- //Replicamos la transición de alpine con tailwind al cerrar.
38
- element.classList.add('transition-opacity', 'duration-150', 'ease-in-out', 'opacity-0');
39
- //Añadimos display: none para que el componente "desaparezca del DOM"
40
- setTimeout(() =>{
41
- element.classList.add('hidden');
42
- }, 300)
43
- }
44
- }
45
-
46
- window.closeItemNotification = function (element) {
47
- const notification = document.getElementById(element);
48
- if (notification) {
49
- aria.closeNotification(notification)
50
- return [notification];
51
- } else {
52
- console.log('There is no notification with this id in the document.');
53
- return null;
54
- }
55
- };
56
- }
1
+ export function Notification(aria) {
2
+
3
+ aria.notificationInit = function (domNode) {
4
+ this.rootEl = domNode;
5
+ /*No todas las notificaciones tienen botón de cerrar
6
+ así que comprobamos que el componente contiene el botón.*/
7
+ if(this.rootEl.querySelector('.c-notification-button__close')) {
8
+ window.addEventListener('click', this.closeNotification.bind(this));
9
+ }
10
+ };
11
+
12
+ aria.closeNotification = function (event) {
13
+ const { target } = event;
14
+ const elementNotification = target ? target : event
15
+ if(target) {
16
+ aria.closeNotificationEvent(elementNotification)
17
+ }
18
+
19
+ if(!target) {
20
+ aria.closeNotificationWindow(elementNotification)
21
+ }
22
+ }
23
+
24
+ aria.closeNotificationEvent = function (element) {
25
+ if(element.classList.contains('c-notification-button__close')) {
26
+ //Replicamos la transición de alpine con tailwind al cerrar.
27
+ element.parentElement.parentElement.parentElement.classList.add('transition-opacity', 'duration-150', 'ease-in-out', 'opacity-0');
28
+ //Añadimos display: none para que el componente "desaparezca del DOM"
29
+ setTimeout(() =>{
30
+ element.parentElement.parentElement.parentElement.classList.add('hidden');
31
+ }, 300)
32
+ }
33
+ }
34
+
35
+ aria.closeNotificationWindow = function (element) {
36
+ if(element.querySelector('.c-notification-button__close')) {
37
+ //Replicamos la transición de alpine con tailwind al cerrar.
38
+ element.classList.add('transition-opacity', 'duration-150', 'ease-in-out', 'opacity-0');
39
+ //Añadimos display: none para que el componente "desaparezca del DOM"
40
+ setTimeout(() =>{
41
+ element.classList.add('hidden');
42
+ }, 300)
43
+ }
44
+ }
45
+
46
+ window.closeItemNotification = function (element) {
47
+ const notification = document.getElementById(element);
48
+ if (notification) {
49
+ aria.closeNotification(notification)
50
+ return [notification];
51
+ } else {
52
+ console.log('There is no notification with this id in the document.');
53
+ return null;
54
+ }
55
+ };
56
+ }
@@ -1,50 +1,50 @@
1
- export function RadioButton(aria) {
2
-
3
- class RadioButton {
4
- constructor(domNode) {
5
- this.rootEl = domNode;
6
- this.rootEl.querySelectorAll('.c-radios__conditional-active input[type="radio"], .c-radios__conditional-hidden input[type="radio"]').forEach(item => {
7
- item.addEventListener('click', this.toggleConditional.bind(this))
8
- })
9
- }
10
-
11
- toggleConditional(event) {
12
- const { target: { nodeName, type }, target } = event
13
- const targetParent = target.parentElement.parentElement.parentElement.parentElement;
14
- const getChildrens = targetParent.querySelectorAll('.c-radios__conditional');
15
-
16
- if(targetParent && targetParent.classList.contains('c-radios__conditional-active')) {
17
- return;
18
- }
19
-
20
- if(getChildrens.length > 0) {
21
- getChildrens.forEach(item => {
22
- if(item.querySelector('input[type="radio"]').checked) {
23
- item.classList.remove('c-radios__conditional-hidden')
24
- item.classList.add('c-radios__conditional-active')
25
- }
26
- })
27
- }
28
-
29
- if(type === 'radio' && nodeName === 'INPUT') {
30
- this.rootEl.querySelectorAll('.c-radios__conditional-active, .c-radios__conditional-hidden').forEach(item => {
31
- if(item.querySelector('input[type="radio"]').checked){
32
- item.classList.remove('c-radios__conditional-hidden')
33
- item.classList.add('c-radios__conditional-active')
34
- } else {
35
- item.classList.remove('c-radios__conditional-active')
36
- item.classList.add('c-radios__conditional-hidden')
37
- }
38
- })
39
- }
40
- }
41
- }
42
-
43
- const radioElements = document.querySelectorAll('[data-module="c-radios"]');
44
- radioElements.forEach((radioElement) => {
45
- if (radioElement.querySelector('.c-radios__conditional')) {
46
- new RadioButton(radioElement);
47
- }
48
- });
49
-
50
- }
1
+ export function RadioButton(aria) {
2
+
3
+ class RadioButton {
4
+ constructor(domNode) {
5
+ this.rootEl = domNode;
6
+ this.rootEl.querySelectorAll('.c-radios__conditional-active input[type="radio"], .c-radios__conditional-hidden input[type="radio"]').forEach(item => {
7
+ item.addEventListener('click', this.toggleConditional.bind(this))
8
+ })
9
+ }
10
+
11
+ toggleConditional(event) {
12
+ const { target: { nodeName, type }, target } = event
13
+ const targetParent = target.parentElement.parentElement.parentElement.parentElement;
14
+ const getChildrens = targetParent.querySelectorAll('.c-radios__conditional');
15
+
16
+ if(targetParent && targetParent.classList.contains('c-radios__conditional-active')) {
17
+ return;
18
+ }
19
+
20
+ if(getChildrens.length > 0) {
21
+ getChildrens.forEach(item => {
22
+ if(item.querySelector('input[type="radio"]').checked) {
23
+ item.classList.remove('c-radios__conditional-hidden')
24
+ item.classList.add('c-radios__conditional-active')
25
+ }
26
+ })
27
+ }
28
+
29
+ if(type === 'radio' && nodeName === 'INPUT') {
30
+ this.rootEl.querySelectorAll('.c-radios__conditional-active, .c-radios__conditional-hidden').forEach(item => {
31
+ if(item.querySelector('input[type="radio"]').checked){
32
+ item.classList.remove('c-radios__conditional-hidden')
33
+ item.classList.add('c-radios__conditional-active')
34
+ } else {
35
+ item.classList.remove('c-radios__conditional-active')
36
+ item.classList.add('c-radios__conditional-hidden')
37
+ }
38
+ })
39
+ }
40
+ }
41
+ }
42
+
43
+ const radioElements = document.querySelectorAll('[data-module="c-radios"]');
44
+ radioElements.forEach((radioElement) => {
45
+ if (radioElement.querySelector('.c-radios__conditional')) {
46
+ new RadioButton(radioElement);
47
+ }
48
+ });
49
+
50
+ }
@@ -1,61 +1,61 @@
1
- export function Toggle(aria) {
2
-
3
- aria.toggleInit = function (domNode) {
4
- this.rootEl = domNode;
5
- this.buttonEl = this.rootEl.querySelector('.c-toggle__button');
6
- this.buttonEl.addEventListener('click', this.toggle.bind(this));
7
- if(this.buttonEl.getAttribute('aria-pressed') === 'true' || this.buttonEl.getAttribute('aria-checked') === 'true') {
8
- this.buttonEl.click()
9
- }
10
- };
11
-
12
- aria.toggle = function (event) {
13
- const { target } = event
14
- target.classList.toggle('c-toggle--is-opened')
15
-
16
- this.ariaAttribute(target)
17
- }
18
-
19
- aria.ariaAttribute = function (target) {
20
- if(target.getAttribute('aria-checked')) {
21
- const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
22
- target.setAttribute('aria-checked', toggleIsOpened);
23
- }
24
-
25
- if(target.getAttribute('aria-pressed')) {
26
- const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
27
- target.setAttribute('aria-pressed', toggleIsOpened);
28
- }
29
-
30
- if(target.getAttribute('aria-expanded')) {
31
- const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
32
- target.setAttribute('aria-expanded', toggleIsOpened);
33
- }
34
- }
35
-
36
- function handleToggle(element, toggle) {
37
- if(toggle){
38
- element.classList.add('c-toggle--is-opened')
39
- } else {
40
- element.classList.remove('c-toggle--is-opened')
41
- }
42
-
43
- aria.ariaAttribute(element)
44
- }
45
-
46
- window.activateItemToggle = function (element, toggle) {
47
- const toggleElement = document.getElementById(element);
48
- if (toggleElement) {
49
- handleToggle(toggleElement, toggle)
50
- return [toggleElement, toggle];
51
- } else {
52
- console.log('There is no toggle with this id in the document.');
53
- return null;
54
- }
55
- };
56
-
57
- const toggles = document.querySelectorAll('[data-module="c-toggle"]');
58
- toggles.forEach((toggleElement) => {
59
- aria.toggleInit(toggleElement);
60
- });
61
- }
1
+ export function Toggle(aria) {
2
+
3
+ aria.toggleInit = function (domNode) {
4
+ this.rootEl = domNode;
5
+ this.buttonEl = this.rootEl.querySelector('.c-toggle__button');
6
+ this.buttonEl.addEventListener('click', this.toggle.bind(this));
7
+ if(this.buttonEl.getAttribute('aria-pressed') === 'true' || this.buttonEl.getAttribute('aria-checked') === 'true') {
8
+ this.buttonEl.click()
9
+ }
10
+ };
11
+
12
+ aria.toggle = function (event) {
13
+ const { target } = event
14
+ target.classList.toggle('c-toggle--is-opened')
15
+
16
+ this.ariaAttribute(target)
17
+ }
18
+
19
+ aria.ariaAttribute = function (target) {
20
+ if(target.getAttribute('aria-checked')) {
21
+ const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
22
+ target.setAttribute('aria-checked', toggleIsOpened);
23
+ }
24
+
25
+ if(target.getAttribute('aria-pressed')) {
26
+ const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
27
+ target.setAttribute('aria-pressed', toggleIsOpened);
28
+ }
29
+
30
+ if(target.getAttribute('aria-expanded')) {
31
+ const toggleIsOpened = target.classList.contains('c-toggle--is-opened') ? true : false
32
+ target.setAttribute('aria-expanded', toggleIsOpened);
33
+ }
34
+ }
35
+
36
+ function handleToggle(element, toggle) {
37
+ if(toggle){
38
+ element.classList.add('c-toggle--is-opened')
39
+ } else {
40
+ element.classList.remove('c-toggle--is-opened')
41
+ }
42
+
43
+ aria.ariaAttribute(element)
44
+ }
45
+
46
+ window.activateItemToggle = function (element, toggle) {
47
+ const toggleElement = document.getElementById(element);
48
+ if (toggleElement) {
49
+ handleToggle(toggleElement, toggle)
50
+ return [toggleElement, toggle];
51
+ } else {
52
+ console.log('There is no toggle with this id in the document.');
53
+ return null;
54
+ }
55
+ };
56
+
57
+ const toggles = document.querySelectorAll('[data-module="c-toggle"]');
58
+ toggles.forEach((toggleElement) => {
59
+ aria.toggleInit(toggleElement);
60
+ });
61
+ }