desy-angular 14.2.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/desy-angular.mjs +1290 -821
  3. package/fesm2022/desy-angular.mjs.map +1 -1
  4. package/index.d.ts +3 -0
  5. package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -8
  6. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +8 -0
  7. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +26 -0
  8. package/lib/desy-forms/components/date-input/date-input.component.d.ts +13 -7
  9. package/lib/desy-forms/components/datepicker/datepicker.component.d.ts +1 -5
  10. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +7 -0
  11. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +5 -0
  12. package/lib/desy-forms/components/input/input.component.d.ts +1 -4
  13. package/lib/desy-forms/components/input-group/input-group.component.d.ts +7 -0
  14. package/lib/desy-forms/components/label/label.component.d.ts +1 -2
  15. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +8 -0
  16. package/lib/desy-forms/components/radios/radios.component.d.ts +26 -0
  17. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +1 -2
  18. package/lib/desy-forms/components/select/option/option.component.d.ts +1 -2
  19. package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -3
  20. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +4 -0
  21. package/lib/desy-forms/components/tree/tree.component.d.ts +62 -2
  22. package/lib/desy-forms/directives/condition.directive.d.ts +5 -0
  23. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +7 -0
  24. package/lib/desy-nav/components/menubar/menubar.component.d.ts +7 -0
  25. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +55 -0
  26. package/lib/desy-tables/directives/cell.directive.d.ts +3 -0
  27. package/lib/desy-tables/directives/row.directive.d.ts +7 -0
  28. package/lib/shared/components/accessibility/accessibility.component.d.ts +3 -0
  29. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +8 -0
  30. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +6 -0
  31. package/lib/shared/components/content-base/content-base.component.d.ts +3 -0
  32. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +4 -0
  33. package/lib/shared/decorators/desy-content-child.decorator.d.ts +11 -0
  34. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +4 -0
  35. package/lib/shared/directives/content-change.directive.d.ts +4 -0
  36. package/lib/shared/directives/custom-inner-content.directive.d.ts +6 -0
  37. package/lib/shared/pipes/external-href.pipe.d.ts +4 -0
  38. package/lib/shared/utils/search-utils.d.ts +10 -0
  39. package/lib/shared/utils/string-utils.d.ts +7 -0
  40. package/package.json +9 -11
  41. package/esm2022/desy-angular.mjs +0 -2
  42. package/esm2022/lib/desy-angular.module.mjs +0 -76
  43. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +0 -118
  44. package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -66
  45. package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -159
  46. package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -39
  47. package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +0 -14
  48. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -334
  49. package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +0 -83
  50. package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +0 -17
  51. package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +0 -17
  52. package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -62
  53. package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +0 -70
  54. package/esm2022/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -2
  55. package/esm2022/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -2
  56. package/esm2022/lib/desy-commons/components/content/content.component.mjs +0 -14
  57. package/esm2022/lib/desy-commons/components/description/description.component.mjs +0 -19
  58. package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +0 -16
  59. package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +0 -16
  60. package/esm2022/lib/desy-commons/components/title/title.component.mjs +0 -17
  61. package/esm2022/lib/desy-commons/desy-commons.module.mjs +0 -24
  62. package/esm2022/lib/desy-commons/interfaces/content-data.mjs +0 -2
  63. package/esm2022/lib/desy-commons/interfaces/description-data.mjs +0 -2
  64. package/esm2022/lib/desy-commons/interfaces/divider-data.mjs +0 -2
  65. package/esm2022/lib/desy-commons/interfaces/icon-data.mjs +0 -2
  66. package/esm2022/lib/desy-commons/interfaces/index.mjs +0 -6
  67. package/esm2022/lib/desy-commons/interfaces/title-data.mjs +0 -2
  68. package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +0 -156
  69. package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -191
  70. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +0 -15
  71. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -275
  72. package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -55
  73. package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
  74. package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +0 -42
  75. package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -55
  76. package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -51
  77. package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +0 -303
  78. package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +0 -190
  79. package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +0 -34
  80. package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +0 -32
  81. package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +0 -59
  82. package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +0 -34
  83. package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -78
  84. package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +0 -127
  85. package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +0 -30
  86. package/esm2022/lib/desy-forms/components/input/input.component.mjs +0 -110
  87. package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
  88. package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -59
  89. package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +0 -42
  90. package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -51
  91. package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +0 -232
  92. package/esm2022/lib/desy-forms/components/label/label.component.mjs +0 -39
  93. package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -138
  94. package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +0 -15
  95. package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +0 -286
  96. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -65
  97. package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +0 -22
  98. package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
  99. package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +0 -14
  100. package/esm2022/lib/desy-forms/components/select/select.component.mjs +0 -94
  101. package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +0 -12
  102. package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +0 -86
  103. package/esm2022/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -3
  104. package/esm2022/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -2
  105. package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -174
  106. package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -381
  107. package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
  108. package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +0 -16
  109. package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +0 -362
  110. package/esm2022/lib/desy-forms/desy-forms.module.mjs +0 -223
  111. package/esm2022/lib/desy-forms/directives/condition.directive.mjs +0 -34
  112. package/esm2022/lib/desy-forms/interfaces/error-message-data.mjs +0 -2
  113. package/esm2022/lib/desy-forms/interfaces/fieldset-data.mjs +0 -2
  114. package/esm2022/lib/desy-forms/interfaces/hint-data.mjs +0 -2
  115. package/esm2022/lib/desy-forms/interfaces/index.mjs +0 -13
  116. package/esm2022/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -2
  117. package/esm2022/lib/desy-forms/interfaces/item-date-input-data.mjs +0 -2
  118. package/esm2022/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -2
  119. package/esm2022/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -2
  120. package/esm2022/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -2
  121. package/esm2022/lib/desy-forms/interfaces/item-radio-data.mjs +0 -2
  122. package/esm2022/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -2
  123. package/esm2022/lib/desy-forms/interfaces/label-data.mjs +0 -2
  124. package/esm2022/lib/desy-forms/interfaces/legend-data.mjs +0 -2
  125. package/esm2022/lib/desy-forms/interfaces/select-item-data.mjs +0 -2
  126. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +0 -155
  127. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
  128. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
  129. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
  130. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
  131. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +0 -192
  132. package/esm2022/lib/desy-modals/desy-modals.module.mjs +0 -50
  133. package/esm2022/lib/desy-modals/interfaces/dialog-options.mjs +0 -2
  134. package/esm2022/lib/desy-modals/interfaces/index.mjs +0 -7
  135. package/esm2022/lib/desy-modals/interfaces/modal-button-data.mjs +0 -2
  136. package/esm2022/lib/desy-modals/interfaces/modal-data.mjs +0 -2
  137. package/esm2022/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -2
  138. package/esm2022/lib/desy-modals/interfaces/modal-options.mjs +0 -2
  139. package/esm2022/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -2
  140. package/esm2022/lib/desy-modals/services/dialog.service.mjs +0 -114
  141. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +0 -16
  142. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -53
  143. package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +0 -19
  144. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -67
  145. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +0 -25
  146. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -31
  147. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +0 -25
  148. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -21
  149. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +0 -91
  150. package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +0 -15
  151. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -46
  152. package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +0 -336
  153. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +0 -31
  154. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
  155. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +0 -20
  156. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +0 -15
  157. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -93
  158. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
  159. package/esm2022/lib/desy-nav/components/header/header.component.mjs +0 -119
  160. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +0 -14
  161. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +0 -38
  162. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +0 -37
  163. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +0 -42
  164. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +0 -14
  165. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +0 -42
  166. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +0 -19
  167. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +0 -38
  168. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +0 -54
  169. package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +0 -32
  170. package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +0 -16
  171. package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +0 -46
  172. package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +0 -14
  173. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +0 -44
  174. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +0 -42
  175. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -76
  176. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -55
  177. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +0 -49
  178. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -858
  179. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -44
  180. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
  181. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +0 -34
  182. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -98
  183. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
  184. package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +0 -14
  185. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
  186. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +0 -27
  187. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -47
  188. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +0 -966
  189. package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +0 -43
  190. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +0 -115
  191. package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +0 -25
  192. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +0 -127
  193. package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -62
  194. package/esm2022/lib/desy-nav/desy-nav.module.mjs +0 -290
  195. package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +0 -40
  196. package/esm2022/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -2
  197. package/esm2022/lib/desy-nav/interfaces/error-summary-data.mjs +0 -2
  198. package/esm2022/lib/desy-nav/interfaces/footer-data.mjs +0 -2
  199. package/esm2022/lib/desy-nav/interfaces/footer-logo.mjs +0 -10
  200. package/esm2022/lib/desy-nav/interfaces/header-advanced-logo.mjs +0 -7
  201. package/esm2022/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -2
  202. package/esm2022/lib/desy-nav/interfaces/header-mobile-text-data.mjs +0 -2
  203. package/esm2022/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -2
  204. package/esm2022/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -2
  205. package/esm2022/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -2
  206. package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +0 -2
  207. package/esm2022/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -2
  208. package/esm2022/lib/desy-nav/interfaces/index.mjs +0 -21
  209. package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -2
  210. package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -2
  211. package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -2
  212. package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -2
  213. package/esm2022/lib/desy-nav/interfaces/menu-navigation.mjs +0 -2
  214. package/esm2022/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -2
  215. package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -2
  216. package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -2
  217. package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -2
  218. package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -2
  219. package/esm2022/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -2
  220. package/esm2022/lib/desy-nav/interfaces/menubar-item.mjs +0 -2
  221. package/esm2022/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -2
  222. package/esm2022/lib/desy-nav/interfaces/nav-item.data.mjs +0 -2
  223. package/esm2022/lib/desy-nav/interfaces/notification-items-data.mjs +0 -2
  224. package/esm2022/lib/desy-nav/interfaces/notification-options.mjs +0 -2
  225. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -242
  226. package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +0 -19
  227. package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +0 -17
  228. package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +0 -25
  229. package/esm2022/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -2
  230. package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +0 -17
  231. package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +0 -23
  232. package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +0 -18
  233. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
  234. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
  235. package/esm2022/lib/desy-tables/components/table/table.component.mjs +0 -120
  236. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +0 -23
  237. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +0 -27
  238. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -56
  239. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
  240. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +0 -23
  241. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
  242. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
  243. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -516
  244. package/esm2022/lib/desy-tables/desy-tables.module.mjs +0 -100
  245. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +0 -25
  246. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -89
  247. package/esm2022/lib/desy-tables/directives/row.directive.mjs +0 -22
  248. package/esm2022/lib/desy-tables/interfaces/cell-data.mjs +0 -2
  249. package/esm2022/lib/desy-tables/interfaces/head-cell-data.mjs +0 -7
  250. package/esm2022/lib/desy-tables/interfaces/index.mjs +0 -5
  251. package/esm2022/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -2
  252. package/esm2022/lib/desy-tables/interfaces/row-data.mjs +0 -2
  253. package/esm2022/lib/desy-tables/interfaces/wrapper-data.mjs +0 -2
  254. package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +0 -17
  255. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -61
  256. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +0 -447
  257. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -41
  258. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -20
  259. package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +0 -17
  260. package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +0 -17
  261. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +0 -82
  262. package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +0 -21
  263. package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +0 -21
  264. package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +0 -21
  265. package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +0 -21
  266. package/esm2022/lib/desy-views/components/card/card.component.mjs +0 -48
  267. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -66
  268. package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +0 -19
  269. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -36
  270. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +0 -29
  271. package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +0 -19
  272. package/esm2022/lib/desy-views/components/details/details.component.mjs +0 -43
  273. package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +0 -17
  274. package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +0 -15
  275. package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +0 -15
  276. package/esm2022/lib/desy-views/components/item/item.component.mjs +0 -122
  277. package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +0 -12
  278. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +0 -369
  279. package/esm2022/lib/desy-views/components/status/status.component.mjs +0 -366
  280. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +0 -401
  281. package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +0 -19
  282. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -41
  283. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +0 -446
  284. package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +0 -12
  285. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -450
  286. package/esm2022/lib/desy-views/desy-views.module.mjs +0 -181
  287. package/esm2022/lib/desy-views/interfaces/accordion-header.data.mjs +0 -2
  288. package/esm2022/lib/desy-views/interfaces/accordion-item.data.mjs +0 -2
  289. package/esm2022/lib/desy-views/interfaces/alert-options.mjs +0 -2
  290. package/esm2022/lib/desy-views/interfaces/description-item.data.mjs +0 -2
  291. package/esm2022/lib/desy-views/interfaces/index.mjs +0 -11
  292. package/esm2022/lib/desy-views/interfaces/open-alert-result.mjs +0 -2
  293. package/esm2022/lib/desy-views/interfaces/status-data.mjs +0 -2
  294. package/esm2022/lib/desy-views/interfaces/status-icon-data.mjs +0 -2
  295. package/esm2022/lib/desy-views/interfaces/status-item-title-data.mjs +0 -2
  296. package/esm2022/lib/desy-views/interfaces/tabs-items-data.mjs +0 -2
  297. package/esm2022/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -2
  298. package/esm2022/lib/desy-views/interfaces/term-definition.data.mjs +0 -2
  299. package/esm2022/lib/desy-views/services/alert.service.mjs +0 -88
  300. package/esm2022/lib/shared/components/accessibility/accessibility-attributes.mjs +0 -78
  301. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +0 -164
  302. package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +0 -168
  303. package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +0 -165
  304. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +0 -21
  305. package/esm2022/lib/shared/components/index.mjs +0 -7
  306. package/esm2022/lib/shared/components/spinner/spinner.component.mjs +0 -329
  307. package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +0 -18
  308. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +0 -34
  309. package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -15
  310. package/esm2022/lib/shared/directives/accessibility-directive.mjs +0 -54
  311. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +0 -50
  312. package/esm2022/lib/shared/directives/click-outside.directive.mjs +0 -40
  313. package/esm2022/lib/shared/directives/content-change.directive.mjs +0 -41
  314. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +0 -63
  315. package/esm2022/lib/shared/directives/inner-content.directive.mjs +0 -37
  316. package/esm2022/lib/shared/interfaces/accessibility-data.mjs +0 -2
  317. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +0 -28
  318. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +0 -21
  319. package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +0 -20
  320. package/esm2022/lib/shared/shared.module.mjs +0 -86
  321. package/esm2022/lib/shared/sharedExternal.module.mjs +0 -20
  322. package/esm2022/lib/shared/utils/focus-utils.mjs +0 -50
  323. package/esm2022/lib/shared/utils/search-utils.mjs +0 -70
  324. package/esm2022/lib/shared/utils/string-utils.mjs +0 -13
  325. package/esm2022/public-api.mjs +0 -225
@@ -2,6 +2,9 @@ import { ElementRef } from '@angular/core';
2
2
  import { RowData } from '../interfaces';
3
3
  import { TableAdvancedRowComponent } from '../components/table-advanced/components/table-advanced-row.component';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * Permite gestionar celdas de una fila de la tabla
7
+ */
5
8
  export declare class CellDirective {
6
9
  private element;
7
10
  row: RowData | TableAdvancedRowComponent;
@@ -3,9 +3,16 @@ import { CellDirective } from './cell.directive';
3
3
  import { RowData } from '../interfaces';
4
4
  import { TableAdvancedRowComponent } from '../components/table-advanced/components/table-advanced-row.component';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * Permite gestionar filas de la tabla
8
+ */
6
9
  export declare class RowDirective {
7
10
  contentCells: QueryList<CellDirective>;
8
11
  desyRow: RowData | TableAdvancedRowComponent;
12
+ /**
13
+ * Devuelve la celda ubicada en la columna indicada
14
+ * @param column índice de la columna
15
+ */
9
16
  getCell(column: number): CellDirective;
10
17
  static ɵfac: i0.ɵɵFactoryDeclaration<RowDirective, never>;
11
18
  static ɵdir: i0.ɵɵDirectiveDeclaration<RowDirective, "[desyRow]", never, { "desyRow": { "alias": "desyRow"; "required": false; }; }, {}, ["contentCells"], never, false, never>;
@@ -1,5 +1,8 @@
1
1
  import { AccessibilityData } from '../../interfaces/accessibility-data';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * componente para heredar los atributos de accesibilidad, en caso de modificar alguno hay que modificarlo también en el accessibility-attributes.ts para que la directiva accessibility-directive.ts lo detecte
5
+ */
3
6
  export declare class AccessibilityComponent implements AccessibilityData {
4
7
  role?: string;
5
8
  ariaLabel?: string;
@@ -1,6 +1,14 @@
1
1
  import { AccessibilityData } from '../../interfaces/accessibility-data';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AccessibilityAndContentRequiredComponent implements AccessibilityData {
4
+ /**
5
+ * componente para heredar los atributos de accesibilidad y
6
+ * el content required
7
+ *
8
+ * si en el componente que extiende de este, se implementa el onInit o Onchanges,
9
+ * habra que incluir la llamada al a funcion contentRequiredFunction
10
+ *
11
+ */
4
12
  html: any;
5
13
  text: string;
6
14
  role?: string;
@@ -2,6 +2,12 @@ import { AccessibilityData } from '../../interfaces/accessibility-data';
2
2
  import { TextOrHtmlRequiredComponent } from '../text-or-html-required/text-or-html-required.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AccessibilityAndTextOrHtmlRequiredComponent extends TextOrHtmlRequiredComponent implements AccessibilityData {
5
+ /**
6
+ * componente para heredar los atributos de accesibilidad y
7
+ * el texto o html required - YA NO ES REQUIERIDO
8
+ *
9
+ *
10
+ */
5
11
  role?: string;
6
12
  ariaLabel?: string;
7
13
  ariaDescribedBy?: string;
@@ -1,6 +1,9 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import { AccessibilityComponent } from '../accessibility/accessibility.component';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Componente base para proyectar contenido
6
+ */
4
7
  export declare class ContentBaseComponent extends AccessibilityComponent {
5
8
  private content;
6
9
  getContent(): TemplateRef<any>;
@@ -1,5 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TextOrHtmlRequiredComponent {
3
+ /***
4
+ * componente base para el comportamiento de texto o html required - YA NO ES REQUIRIDO
5
+ *
6
+ **/
3
7
  text: string;
4
8
  html: string;
5
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TextOrHtmlRequiredComponent, never>;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Decorador para convertir una queryList de componentes obtenidos con ContentChildren a un único componente, de forma que sea similar a un
3
+ * ContentChild pero admitiendo únicamente los compontentes insertados en el primer nivel.
4
+ * Debe utilizarse siempre junto a un ContentChildren
5
+ * Si en el constructor de la clase en la que se utiliza se inyecta el Change detector con nombre 'changeDetectorRef', se indicará que hay
6
+ * cambios cuando se detecten.
7
+ * @param options opciones adicionales:
8
+ * - onSetCallbackName: nombre del método al que llamar tras asociarse el valor. Esto puede utilizarse, por ejemplo, para sobreescribir
9
+ * parámetros definidos externamente en el componente.
10
+ * - onDeleteCallbackName: nombre del método al que llamar tras desasociarse el valor.
11
+ */
1
12
  export declare function DesyContentChild(options?: {
2
13
  onSetCallbackName?: string;
3
14
  onDeleteCallbackName?: string;
@@ -1 +1,5 @@
1
+ /**
2
+ * Decorador para controlar los cambios de un input
3
+ * @param callbackName nombre de la función a la que se llamará tras aplicar el cambio
4
+ */
1
5
  export declare function DesyOnInputChange(callbackName: string): PropertyDecorator;
@@ -1,5 +1,9 @@
1
1
  import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Permite comprobar cuándo se produce un cambio en el contenido de un elemento.
5
+ * La propia directiva emite el html interno del elemento en formato string, mientras que desyContentChangeMutation emite los cambios.
6
+ */
3
7
  export declare class ContentChangeDirective implements OnDestroy {
4
8
  private elementRef;
5
9
  private changes;
@@ -1,5 +1,11 @@
1
1
  import { ComponentFactoryResolver, Injector, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Permite introducir contenido de forma dinámica en una posición determinada desde:
5
+ * - component: Componente existente de tipo ContentBase
6
+ * - html: texto html en formato string
7
+ * - text: texto plano en formato string
8
+ */
3
9
  export declare class CustomInnerContentDirective implements OnChanges {
4
10
  private viewContainerRef;
5
11
  private resolver;
@@ -1,6 +1,10 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ExternalHrefPipe implements PipeTransform {
4
+ /**
5
+ * Asegura que un enlace externo sea correcto
6
+ * @param href enlace
7
+ */
4
8
  transform(href: string): string;
5
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalHrefPipe, never>;
6
10
  static ɵpipe: i0.ɵɵPipeDeclaration<ExternalHrefPipe, "externalHref", false>;
@@ -1,4 +1,14 @@
1
1
  export declare class SearchUtils {
2
+ /**
3
+ * Comprueba si una cadena de texto (target) contiene cualquier palabra de otro texto (text)
4
+ * @param target - Texto en el que buscar
5
+ * @param text - Texto a buscar
6
+ * @param fullWord - Indica si las palabras del texto a buscar deben aparecer enteras
7
+ */
2
8
  static containsAnyWordFrom(target: string, text: string, fullWord?: boolean): boolean;
9
+ /**
10
+ * Convierte a mayúsculas, elimina espacios y reemplaza/elimina caracteres especiales para realizar comparaciones más tolerantes
11
+ * @param str - cadena de entrada
12
+ */
3
13
  private static getSimplifiedString;
4
14
  }
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Facilita funciones de utilidad para trabajar con strings
3
+ */
1
4
  export declare class StringUtils {
5
+ /**
6
+ * Escapa los caracteres propios de HTML para mostrarlos como contenido
7
+ * @param value texto en formato html
8
+ */
2
9
  static escapeHtml(value: string): string;
3
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "desy-angular",
3
- "version": "14.2.0",
3
+ "version": "15.0.0",
4
4
  "description": "Desy Angular contains the code you need to start building your Angular app for Gobierno de Aragón.",
5
5
  "engines": {
6
6
  "npm": ">=10.5.0",
@@ -24,14 +24,14 @@
24
24
  "url": "https://bitbucket.org/sdaragon/desy-angular.git"
25
25
  },
26
26
  "peerDependencies": {
27
- "@angular/animations": "^18.2.9",
28
- "@angular/cdk": "^18.2.10",
29
- "@angular/common": "^18.2.9",
30
- "@angular/core": "^18.2.9",
31
- "@angular/forms": "^18.2.9",
32
- "@angular/platform-browser": "^18.2.9",
33
- "@angular/platform-browser-dynamic": "^18.2.9",
34
- "@angular/router": "^18.2.9",
27
+ "@angular/animations": "^19.2.10",
28
+ "@angular/cdk": "^19.2.10",
29
+ "@angular/common": "^19.2.10",
30
+ "@angular/core": "^19.2.10",
31
+ "@angular/forms": "^19.2.10",
32
+ "@angular/platform-browser": "^19.2.10",
33
+ "@angular/platform-browser-dynamic": "^19.2.10",
34
+ "@angular/router": "^19.2.10",
35
35
  "desy-html": "11.0.5"
36
36
  },
37
37
  "dependencies": {
@@ -49,8 +49,6 @@
49
49
  },
50
50
  ".": {
51
51
  "types": "./index.d.ts",
52
- "esm2022": "./esm2022/desy-angular.mjs",
53
- "esm": "./esm2022/desy-angular.mjs",
54
52
  "default": "./fesm2022/desy-angular.mjs"
55
53
  }
56
54
  },
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9kZXN5LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,76 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DesyButtonsModule } from './desy-buttons/desy-buttons.module';
3
- import { DesyCommonsModule } from './desy-commons/desy-commons.module';
4
- import { DesyFormsModule } from './desy-forms/desy-forms.module';
5
- import { DesyModalsModule } from './desy-modals/desy-modals.module';
6
- import { DesyNavModule } from './desy-nav/desy-nav.module';
7
- import { DesyPaginationModule } from './desy-pagination/desy-pagination.module';
8
- import { DesyTablesModule } from './desy-tables/desy-tables.module';
9
- import { DesyViewsModule } from './desy-views/desy-views.module';
10
- import { SharedExternalModule } from './shared/sharedExternal.module';
11
- import * as i0 from "@angular/core";
12
- export class DesyAngularModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DesyAngularModule, imports: [DesyButtonsModule,
15
- DesyCommonsModule,
16
- DesyFormsModule,
17
- DesyModalsModule,
18
- DesyNavModule,
19
- DesyTablesModule,
20
- DesyViewsModule,
21
- DesyPaginationModule,
22
- SharedExternalModule], exports: [DesyButtonsModule,
23
- DesyCommonsModule,
24
- DesyFormsModule,
25
- DesyModalsModule,
26
- DesyNavModule,
27
- DesyTablesModule,
28
- DesyViewsModule,
29
- DesyPaginationModule,
30
- SharedExternalModule] }); }
31
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyAngularModule, imports: [DesyButtonsModule,
32
- DesyCommonsModule,
33
- DesyFormsModule,
34
- DesyModalsModule,
35
- DesyNavModule,
36
- DesyTablesModule,
37
- DesyViewsModule,
38
- DesyPaginationModule,
39
- SharedExternalModule, DesyButtonsModule,
40
- DesyCommonsModule,
41
- DesyFormsModule,
42
- DesyModalsModule,
43
- DesyNavModule,
44
- DesyTablesModule,
45
- DesyViewsModule,
46
- DesyPaginationModule,
47
- SharedExternalModule] }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyAngularModule, decorators: [{
50
- type: NgModule,
51
- args: [{
52
- imports: [
53
- DesyButtonsModule,
54
- DesyCommonsModule,
55
- DesyFormsModule,
56
- DesyModalsModule,
57
- DesyNavModule,
58
- DesyTablesModule,
59
- DesyViewsModule,
60
- DesyPaginationModule,
61
- SharedExternalModule,
62
- ],
63
- exports: [
64
- DesyButtonsModule,
65
- DesyCommonsModule,
66
- DesyFormsModule,
67
- DesyModalsModule,
68
- DesyNavModule,
69
- DesyTablesModule,
70
- DesyViewsModule,
71
- DesyPaginationModule,
72
- SharedExternalModule,
73
- ],
74
- }]
75
- }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1hbmd1bGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUEwQnRFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLFlBdEIxQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLG9CQUFvQixhQUdwQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLG9CQUFvQjtnSEFHWCxpQkFBaUIsWUF0QjFCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsb0JBQW9CLEVBR3BCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsb0JBQW9COzs0RkFHWCxpQkFBaUI7a0JBeEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEZXN5QnV0dG9uc01vZHVsZSB9IGZyb20gJy4vZGVzeS1idXR0b25zL2Rlc3ktYnV0dG9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgRGVzeUNvbW1vbnNNb2R1bGUgfSBmcm9tICcuL2Rlc3ktY29tbW9ucy9kZXN5LWNvbW1vbnMubW9kdWxlJztcbmltcG9ydCB7IERlc3lGb3Jtc01vZHVsZSB9IGZyb20gJy4vZGVzeS1mb3Jtcy9kZXN5LWZvcm1zLm1vZHVsZSc7XG5pbXBvcnQgeyBEZXN5TW9kYWxzTW9kdWxlIH0gZnJvbSAnLi9kZXN5LW1vZGFscy9kZXN5LW1vZGFscy5tb2R1bGUnO1xuaW1wb3J0IHsgRGVzeU5hdk1vZHVsZSB9IGZyb20gJy4vZGVzeS1uYXYvZGVzeS1uYXYubW9kdWxlJztcbmltcG9ydCB7IERlc3lQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi9kZXN5LXBhZ2luYXRpb24vZGVzeS1wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBEZXN5VGFibGVzTW9kdWxlIH0gZnJvbSAnLi9kZXN5LXRhYmxlcy9kZXN5LXRhYmxlcy5tb2R1bGUnO1xuaW1wb3J0IHsgRGVzeVZpZXdzTW9kdWxlIH0gZnJvbSAnLi9kZXN5LXZpZXdzL2Rlc3ktdmlld3MubW9kdWxlJztcbmltcG9ydCB7IFNoYXJlZEV4dGVybmFsTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWQvc2hhcmVkRXh0ZXJuYWwubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIERlc3lCdXR0b25zTW9kdWxlLFxuICAgIERlc3lDb21tb25zTW9kdWxlLFxuICAgIERlc3lGb3Jtc01vZHVsZSxcbiAgICBEZXN5TW9kYWxzTW9kdWxlLFxuICAgIERlc3lOYXZNb2R1bGUsXG4gICAgRGVzeVRhYmxlc01vZHVsZSxcbiAgICBEZXN5Vmlld3NNb2R1bGUsXG4gICAgRGVzeVBhZ2luYXRpb25Nb2R1bGUsXG4gICAgU2hhcmVkRXh0ZXJuYWxNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEZXN5QnV0dG9uc01vZHVsZSxcbiAgICBEZXN5Q29tbW9uc01vZHVsZSxcbiAgICBEZXN5Rm9ybXNNb2R1bGUsXG4gICAgRGVzeU1vZGFsc01vZHVsZSxcbiAgICBEZXN5TmF2TW9kdWxlLFxuICAgIERlc3lUYWJsZXNNb2R1bGUsXG4gICAgRGVzeVZpZXdzTW9kdWxlLFxuICAgIERlc3lQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFNoYXJlZEV4dGVybmFsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5QW5ndWxhck1vZHVsZSB7fVxuIl19
@@ -1,118 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import { ContentBaseComponent } from '../../../shared/components';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/router";
6
- import * as i3 from "../../../shared/directives/inner-content.directive";
7
- import * as i4 from "../../../shared/directives/accessibility-directive";
8
- import * as i5 from "../../../shared/pipes/external-href.pipe";
9
- export class ButtonComponent extends ContentBaseComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.hostTabIndex = null;
13
- this.clickEvent = new EventEmitter();
14
- this.avoidingDoubleClick = false;
15
- }
16
- static { this.ELEMENT_A = 'a'; }
17
- static { this.ELEMENT_BUTTON = 'button'; }
18
- static { this.ELEMENT_INPUT = 'input'; }
19
- ngOnInit() {
20
- this.isHtml = Boolean(this.html);
21
- }
22
- onClick(event) {
23
- if (this.preventDoubleClick) {
24
- if (!this.avoidingDoubleClick) {
25
- this.avoidingDoubleClick = true;
26
- this.clickEvent.emit(event);
27
- setTimeout(() => {
28
- this.avoidingDoubleClick = false;
29
- }, 1000);
30
- }
31
- else {
32
- event.preventDefault();
33
- }
34
- }
35
- else {
36
- this.clickEvent.emit(event);
37
- }
38
- }
39
- getElement() {
40
- let element;
41
- if (this.element) {
42
- element = this.element.toLocaleLowerCase();
43
- }
44
- else {
45
- if (this.href) {
46
- element = ButtonComponent.ELEMENT_A;
47
- }
48
- else {
49
- element = ButtonComponent.ELEMENT_BUTTON;
50
- }
51
- }
52
- return element;
53
- }
54
- getClassNames() {
55
- let classNames = 'c-button';
56
- if (this.classes) {
57
- classNames += ' ' + this.classes;
58
- }
59
- if (this.disabled) {
60
- classNames += ' c-button--disabled';
61
- }
62
- return classNames;
63
- }
64
- isDisabled() {
65
- return this.disabled ? true : null;
66
- }
67
- get staticElementTypeA() {
68
- return ButtonComponent.ELEMENT_A;
69
- }
70
- get staticElementTypeButton() {
71
- return ButtonComponent.ELEMENT_BUTTON;
72
- }
73
- get staticElementTypeInput() {
74
- return ButtonComponent.ELEMENT_INPUT;
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "desy-button", inputs: { id: "id", classes: "classes", html: "html", text: "text", element: "element", name: "name", type: "type", value: "value", disabled: "disabled", href: "href", target: "target", preventDoubleClick: "preventDoubleClick", fragment: "fragment", routerLink: "routerLink", routerLinkActiveClasses: "routerLinkActiveClasses" }, outputs: { clickEvent: "clickEvent" }, host: { properties: { "attr.tabindex": "this.hostTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getElement()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\n <a\n *ngIf=\"routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [href]=\"href | externalHref\"\n [attr.target]=\"target ? target : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.name]=\"name ? name : null\"\n [attr.value]=\"value ? value : null\"\n [disabled]=\"isDisabled()\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.type]=\"type ? type : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n\n <input\n *ngSwitchCase=\"staticElementTypeInput\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.name]=\"name ? name : null\"\n [value]=\"text ? text : null\"\n [disabled]=\"isDisabled()\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [desyAppAccessibility]=\"this\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.type]=\"type ? type : 'submit'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\" />\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.InnerContentDirective, selector: "[desyInnerContent]", inputs: ["desyInnerContent", "isHtml", "deleteContentIfEmpty"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'desy-button', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getElement()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\n <a\n *ngIf=\"routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [href]=\"href | externalHref\"\n [attr.target]=\"target ? target : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.name]=\"name ? name : null\"\n [attr.value]=\"value ? value : null\"\n [disabled]=\"isDisabled()\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.type]=\"type ? type : null\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n\n <input\n *ngSwitchCase=\"staticElementTypeInput\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [attr.name]=\"name ? name : null\"\n [value]=\"text ? text : null\"\n [disabled]=\"isDisabled()\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [desyAppAccessibility]=\"this\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.type]=\"type ? type : 'submit'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\" />\n</ng-container>\n" }]
82
- }], propDecorators: { hostTabIndex: [{
83
- type: HostBinding,
84
- args: ['attr.tabindex']
85
- }], id: [{
86
- type: Input
87
- }], classes: [{
88
- type: Input
89
- }], html: [{
90
- type: Input
91
- }], text: [{
92
- type: Input
93
- }], element: [{
94
- type: Input
95
- }], name: [{
96
- type: Input
97
- }], type: [{
98
- type: Input
99
- }], value: [{
100
- type: Input
101
- }], disabled: [{
102
- type: Input
103
- }], href: [{
104
- type: Input
105
- }], target: [{
106
- type: Input
107
- }], preventDoubleClick: [{
108
- type: Input
109
- }], fragment: [{
110
- type: Input
111
- }], routerLink: [{
112
- type: Input
113
- }], routerLinkActiveClasses: [{
114
- type: Input
115
- }], clickEvent: [{
116
- type: Output
117
- }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQU1sRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxvQkFBb0I7SUFKekQ7O1FBU3lDLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBbUJqRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7S0ErRDdCO2FBeEZ3QixjQUFTLEdBQVcsR0FBRyxBQUFkLENBQWU7YUFDeEIsbUJBQWMsR0FBVyxRQUFRLEFBQW5CLENBQW9CO2FBQ2xDLGtCQUFhLEdBQVcsT0FBTyxBQUFsQixDQUFtQjtJQTBCdkQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7Z0JBQ25DLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNYLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLE9BQU8sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsVUFBVSxJQUFJLHFCQUFxQixDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxlQUFlLENBQUMsY0FBYyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLGVBQWUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQzsrR0F4RlUsZUFBZTttR0FBZixlQUFlLDJmQ1A1Qiw0Z0dBOEVBOzs0RkR2RWEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxhQUFhOzhCQVFnQixZQUFZO3NCQUFsRCxXQUFXO3VCQUFDLGVBQWU7Z0JBRW5CLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTEVNRU5UX0E6IHN0cmluZyA9ICdhJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTEVNRU5UX0JVVFRPTjogc3RyaW5nID0gJ2J1dHRvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRUxFTUVOVF9JTlBVVDogc3RyaW5nID0gJ2lucHV0JztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSByZWFkb25seSBob3N0VGFiSW5kZXggPSBudWxsOyAvLyBGaXggcGFyYSBldml0YXIgZWwgdGFiLWluZGV4IGFncmVnYWRvIHBvciByb3V0ZXJMaW5rIGVuIGVsIGhvc3RcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGh0bWw6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVsZW1lbnQ6IHN0cmluZzsgLy8gJ2EnLCAnYnV0dG9uJyBvICdpbnB1dCdcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBocmVmOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhcmdldDogc3RyaW5nO1xuICBASW5wdXQoKSBwcmV2ZW50RG91YmxlQ2xpY2s6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGZyYWdtZW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHN0cmluZyB8IGFueVtdO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXZvaWRpbmdEb3VibGVDbGljayA9IGZhbHNlO1xuICBpc0h0bWw6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0h0bWwgPSBCb29sZWFuKHRoaXMuaHRtbCk7XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50RG91YmxlQ2xpY2spIHtcbiAgICAgIGlmICghdGhpcy5hdm9pZGluZ0RvdWJsZUNsaWNrKSB7XG4gICAgICAgIHRoaXMuYXZvaWRpbmdEb3VibGVDbGljayA9IHRydWU7XG4gICAgICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdm9pZGluZ0RvdWJsZUNsaWNrID0gZmFsc2U7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gZXZpdGFtb3MgcHJvcGFnYXIgZWwgZXZlbnRvIHBvciBlamVtcGxvIHVuIHN1Ym1pdCBlbiB1biBmb3JtdWxhcmlvXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRFbGVtZW50KCk6IHN0cmluZyB7XG4gICAgbGV0IGVsZW1lbnQ6IHN0cmluZztcbiAgICBpZiAodGhpcy5lbGVtZW50KSB7XG4gICAgICBlbGVtZW50ID0gdGhpcy5lbGVtZW50LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgICAgZWxlbWVudCA9IEJ1dHRvbkNvbXBvbmVudC5FTEVNRU5UX0E7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50ID0gQnV0dG9uQ29tcG9uZW50LkVMRU1FTlRfQlVUVE9OO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIGdldENsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NOYW1lcyA9ICdjLWJ1dHRvbic7XG4gICAgaWYgKHRoaXMuY2xhc3Nlcykge1xuICAgICAgY2xhc3NOYW1lcyArPSAnICcgKyB0aGlzLmNsYXNzZXM7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjbGFzc05hbWVzICs9ICcgYy1idXR0b24tLWRpc2FibGVkJztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gIH1cblxuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVBKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEJ1dHRvbkNvbXBvbmVudC5FTEVNRU5UX0E7XG4gIH1cblxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVCdXR0b24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQnV0dG9uQ29tcG9uZW50LkVMRU1FTlRfQlVUVE9OO1xuICB9XG5cbiAgZ2V0IHN0YXRpY0VsZW1lbnRUeXBlSW5wdXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQnV0dG9uQ29tcG9uZW50LkVMRU1FTlRfSU5QVVQ7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJnZXRFbGVtZW50KClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic3RhdGljRWxlbWVudFR5cGVBXCI+XG4gICAgPCEtLSByb3V0ZXJMaW5rIG1vZGlmaWNhIGhyZWYsIHBvciBlc28gc2UgZHVwbGljYSBwYXJhIHF1ZSBubyBjb252aXZhbiBlbiB1biBtaXNtbyBodG1sIC0tPlxuICAgIDxhXG4gICAgICAqbmdJZj1cInJvdXRlckxpbmtcIlxuICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cInJvdXRlckxpbmtBY3RpdmVDbGFzc2VzID8gcm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IGlzRGlzYWJsZWQoKSA/IC0xIDogbnVsbFwiXG4gICAgICBbZGVzeUlubmVyQ29udGVudF09XCJodG1sID8gaHRtbCA6IHRleHRcIlxuICAgICAgW2lzSHRtbF09XCJpc0h0bWxcIlxuICAgICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCJcbiAgICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIlxuICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG5cbiAgICA8YVxuICAgICAgKm5nSWY9XCIhcm91dGVyTGlua1wiXG4gICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgIFtocmVmXT1cImhyZWYgfCBleHRlcm5hbEhyZWZcIlxuICAgICAgW2F0dHIudGFyZ2V0XT1cInRhcmdldCA/IHRhcmdldCA6IG51bGxcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IGlzRGlzYWJsZWQoKSA/IC0xIDogbnVsbFwiXG4gICAgICBbZGVzeUlubmVyQ29udGVudF09XCJodG1sID8gaHRtbCA6IHRleHRcIlxuICAgICAgW2lzSHRtbF09XCJpc0h0bWxcIlxuICAgICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCJcbiAgICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIlxuICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxidXR0b25cbiAgICAqbmdTd2l0Y2hDYXNlPVwic3RhdGljRWxlbWVudFR5cGVCdXR0b25cIlxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmsgPyByb3V0ZXJMaW5rIDogbnVsbFwiXG4gICAgW3JvdXRlckxpbmtBY3RpdmVdPVwicm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgPyByb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA6IFtdXCJcbiAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZSA/IG5hbWUgOiBudWxsXCJcbiAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZSA/IHZhbHVlIDogbnVsbFwiXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpID8gJ3RydWUnIDogYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgW2F0dHIuZGF0YS1wcmV2ZW50LWRvdWJsZS1jbGlja109XCJwcmV2ZW50RG91YmxlQ2xpY2sgPyAndHJ1ZScgOiBudWxsXCJcbiAgICBbYXR0ci50eXBlXT1cInR5cGUgPyB0eXBlIDogbnVsbFwiXG4gICAgW2Rlc3lJbm5lckNvbnRlbnRdPVwiaHRtbCA/IGh0bWwgOiB0ZXh0XCJcbiAgICBbaXNIdG1sXT1cImlzSHRtbFwiXG4gICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCJcbiAgICBbY2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG5cbiAgPGlucHV0XG4gICAgKm5nU3dpdGNoQ2FzZT1cInN0YXRpY0VsZW1lbnRUeXBlSW5wdXRcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmsgPyByb3V0ZXJMaW5rIDogbnVsbFwiXG4gICAgW3JvdXRlckxpbmtBY3RpdmVdPVwicm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgPyByb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA6IFtdXCJcbiAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZSA/IG5hbWUgOiBudWxsXCJcbiAgICBbdmFsdWVdPVwidGV4dCA/IHRleHQgOiBudWxsXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICd0cnVlJyA6IGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCJcbiAgICBbYXR0ci5kYXRhLXByZXZlbnQtZG91YmxlLWNsaWNrXT1cInByZXZlbnREb3VibGVDbGljayA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSA/IHR5cGUgOiAnc3VibWl0J1wiXG4gICAgW2NsYXNzXT1cImdldENsYXNzTmFtZXMoKVwiXG4gICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIiAvPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,66 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { ButtonComponent } from '../button/button.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/router";
6
- import * as i3 from "../../../shared/directives/inner-content.directive";
7
- import * as i4 from "../../../shared/directives/accessibility-directive";
8
- import * as i5 from "../../../shared/components/spinner/spinner.component";
9
- import * as i6 from "../../../shared/pipes/external-href.pipe";
10
- export class ButtonLoaderComponent extends ButtonComponent {
11
- constructor() {
12
- super(...arguments);
13
- this.stateLoading = ButtonLoaderComponent.STATE_LOADING;
14
- this.stateSuccess = ButtonLoaderComponent.STATE_SUCCESS;
15
- this.hostTabIndex = null;
16
- }
17
- static { this.STATE_LOADING = 'is-loading'; }
18
- static { this.STATE_SUCCESS = 'is-success'; }
19
- static { this.DEFAULT_LOADER_TEXT = 'Acción en curso'; }
20
- static { this.DEFAULT_SUCCESS_TEXT = 'Acción realizada con éxito'; }
21
- ngOnInit() {
22
- this.isHtml = Boolean(this.html);
23
- }
24
- getClassNames() {
25
- let classNames = 'c-button-loader relative';
26
- if (this.classes) {
27
- classNames += ' ' + this.classes;
28
- }
29
- if (this.disabled) {
30
- classNames += ' c-button-loader--disabled';
31
- }
32
- return classNames;
33
- }
34
- getSpinnerText() {
35
- let spinnerText = null;
36
- if (this.state === ButtonLoaderComponent.STATE_LOADING) {
37
- spinnerText = this.loaderText ? this.loaderText : ButtonLoaderComponent.DEFAULT_LOADER_TEXT;
38
- }
39
- return spinnerText;
40
- }
41
- getSuccessText() {
42
- let successText = null;
43
- if (this.state === ButtonLoaderComponent.STATE_SUCCESS) {
44
- successText = this.successText ? this.successText : ButtonLoaderComponent.DEFAULT_SUCCESS_TEXT;
45
- }
46
- return successText;
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonLoaderComponent, selector: "desy-button-loader", inputs: { loaderText: "loaderText", loaderClasses: "loaderClasses", state: "state", successText: "successText" }, host: { properties: { "attr.tabindex": "this.hostTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #spinnerTemplate>\n <span class=\"c-button-loader__spinner flex items-center justify-center absolute inset-0\">\n <desy-spinner\n [text]=\"getSpinnerText() ? getSpinnerText() : 'Acci\u00F3n en curso'\"\n [classes]=\"loaderClasses\"></desy-spinner>\n </span>\n</ng-template>\n\n<ng-template #successTemplate>\n <span class=\"c-button-loader__success flex items-center justify-center absolute inset-0\">\n <span\n class=\"sr-only\"\n role=\"alert\"\n aria-live=\"assertive\">\n {{ getSuccessText() }}\n </span>\n <span aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n width=\"1em\"\n height=\"1em\">\n <path\n d=\"M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z\"\n fill=\"currentColor\"></path>\n </svg>\n </span>\n </span>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getElement()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <a\n *ngIf=\"routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n role=\"button\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.id]=\"id ? id : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyAppAccessibility]=\"this\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [href]=\"href | externalHref\"\n [attr.target]=\"target ? target : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n role=\"button\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [attr.name]=\"name ? name : null\"\n [attr.value]=\"value ? value : null\"\n [attr.disabled]=\"isDisabled()\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.id]=\"id ? id : null\"\n [attr.type]=\"type ? type : null\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </button>\n\n <div\n *ngSwitchCase=\"staticElementTypeInput\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\"\n [class]=\"getClassNames()\">\n <span class=\"c-button-loader__content inline-flex align-baseline\">\n <input\n [value]=\"text ? text : null\"\n [type]=\"type ? type : 'submit'\"\n class=\"bg-transparent font-semibold\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.disabled]=\"isDisabled()\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.name]=\"name ? name : null\" />\n </span>\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.InnerContentDirective, selector: "[desyInnerContent]", inputs: ["desyInnerContent", "isHtml", "deleteContentIfEmpty"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i5.SpinnerComponent, selector: "desy-spinner", inputs: ["text", "classes", "id"] }, { kind: "pipe", type: i6.ExternalHrefPipe, name: "externalHref" }] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoaderComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'desy-button-loader', template: "<ng-template #spinnerTemplate>\n <span class=\"c-button-loader__spinner flex items-center justify-center absolute inset-0\">\n <desy-spinner\n [text]=\"getSpinnerText() ? getSpinnerText() : 'Acci\u00F3n en curso'\"\n [classes]=\"loaderClasses\"></desy-spinner>\n </span>\n</ng-template>\n\n<ng-template #successTemplate>\n <span class=\"c-button-loader__success flex items-center justify-center absolute inset-0\">\n <span\n class=\"sr-only\"\n role=\"alert\"\n aria-live=\"assertive\">\n {{ getSuccessText() }}\n </span>\n <span aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n width=\"1em\"\n height=\"1em\">\n <path\n d=\"M13.714 42.857A6.857 6.857 0 0 1 8.4 40.183L.857 31.646a3.429 3.429 0 0 1 .309-4.869A3.429 3.429 0 0 1 6 27.12l7.063 7.989a.72.72 0 0 0 .617.308.789.789 0 0 0 .617-.274L42.103 6.206a3.429 3.429 0 0 1 4.937 4.731L18.926 40.526a6.651 6.651 0 0 1-5.212 2.331Z\"\n fill=\"currentColor\"></path>\n </svg>\n </span>\n </span>\n</ng-template>\n\n<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getElement()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <a\n *ngIf=\"routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n role=\"button\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.id]=\"id ? id : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n [desyAppAccessibility]=\"this\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n draggable=\"false\"\n (click)=\"onClick($event)\"\n [href]=\"href | externalHref\"\n [attr.target]=\"target ? target : null\"\n [attr.tabindex]=\"tabindex ? tabindex : isDisabled() ? -1 : null\"\n role=\"button\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [attr.name]=\"name ? name : null\"\n [attr.value]=\"value ? value : null\"\n [attr.disabled]=\"isDisabled()\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.id]=\"id ? id : null\"\n [attr.type]=\"type ? type : null\"\n [class]=\"getClassNames()\">\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n <span\n class=\"c-button-loader__content inline-flex align-baseline\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </button>\n\n <div\n *ngSwitchCase=\"staticElementTypeInput\"\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink ? routerLink : null\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [desyAppAccessibility]=\"this\"\n [attr.id]=\"id ? id : null\"\n [class]=\"getClassNames()\">\n <span class=\"c-button-loader__content inline-flex align-baseline\">\n <input\n [value]=\"text ? text : null\"\n [type]=\"type ? type : 'submit'\"\n class=\"bg-transparent font-semibold\"\n [attr.data-prevent-double-click]=\"preventDoubleClick ? 'true' : null\"\n [attr.disabled]=\"isDisabled()\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [attr.name]=\"name ? name : null\" />\n </span>\n <ng-container *ngIf=\"state === stateLoading\">\n <ng-container *ngTemplateOutlet=\"spinnerTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state === stateSuccess\">\n <ng-container *ngTemplateOutlet=\"successTemplate\"></ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
54
- }], propDecorators: { hostTabIndex: [{
55
- type: HostBinding,
56
- args: ['attr.tabindex']
57
- }], loaderText: [{
58
- type: Input
59
- }], loaderClasses: [{
60
- type: Input
61
- }], state: [{
62
- type: Input
63
- }], successText: [{
64
- type: Input
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9idXR0b24tbG9hZGVyL2J1dHRvbi1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvYnV0dG9uLWxvYWRlci9idXR0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBTTdELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBSjFEOztRQVFFLGlCQUFZLEdBQUcscUJBQXFCLENBQUMsYUFBYSxDQUFDO1FBQ25ELGlCQUFZLEdBQUcscUJBQXFCLENBQUMsYUFBYSxDQUFDO1FBS1osaUJBQVksR0FBRyxJQUFJLENBQUM7S0EyQzVEO2FBcER3QixrQkFBYSxHQUFXLFlBQVksQUFBdkIsQ0FBd0I7YUFDckMsa0JBQWEsR0FBVyxZQUFZLEFBQXZCLENBQXdCO2FBS3BDLHdCQUFtQixHQUFXLGlCQUFpQixBQUE1QixDQUE2QjthQUNoRCx5QkFBb0IsR0FBVyw0QkFBNEIsQUFBdkMsQ0FBd0M7SUFXcEYsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksVUFBVSxHQUFHLDBCQUEwQixDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsVUFBVSxJQUFJLDRCQUE0QixDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksV0FBVyxHQUFXLElBQUksQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUsscUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkQsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDO1FBQzlGLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksV0FBVyxHQUFXLElBQUksQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUsscUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkQsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDO1FBQ2pHLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOytHQXBEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixtUUNQbEMsODJMQW1KQTs7NEZENUlhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBYVMsWUFBWTtzQkFBbEQsV0FBVzt1QkFBQyxlQUFlO2dCQUVuQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktYnV0dG9uLWxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uTG9hZGVyQ29tcG9uZW50IGV4dGVuZHMgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFURV9MT0FESU5HOiBzdHJpbmcgPSAnaXMtbG9hZGluZyc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RBVEVfU1VDQ0VTUzogc3RyaW5nID0gJ2lzLXN1Y2Nlc3MnO1xuXG4gIHN0YXRlTG9hZGluZyA9IEJ1dHRvbkxvYWRlckNvbXBvbmVudC5TVEFURV9MT0FESU5HO1xuICBzdGF0ZVN1Y2Nlc3MgPSBCdXR0b25Mb2FkZXJDb21wb25lbnQuU1RBVEVfU1VDQ0VTUztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0xPQURFUl9URVhUOiBzdHJpbmcgPSAnQWNjacOzbiBlbiBjdXJzbyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfU1VDQ0VTU19URVhUOiBzdHJpbmcgPSAnQWNjacOzbiByZWFsaXphZGEgY29uIMOpeGl0byc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgcmVhZG9ubHkgaG9zdFRhYkluZGV4ID0gbnVsbDsgLy8gRml4IHBhcmEgZXZpdGFyIGVsIHRhYi1pbmRleCBhZ3JlZ2FkbyBwb3Igcm91dGVyTGluayBlbiBlbCBob3N0XG5cbiAgQElucHV0KCkgbG9hZGVyVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBsb2FkZXJDbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0YXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1Y2Nlc3NUZXh0OiBzdHJpbmc7XG5cbiAgZGVjbGFyZSBpc0h0bWw6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0h0bWwgPSBCb29sZWFuKHRoaXMuaHRtbCk7XG4gIH1cblxuICBnZXRDbGFzc05hbWVzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNsYXNzTmFtZXMgPSAnYy1idXR0b24tbG9hZGVyIHJlbGF0aXZlJztcbiAgICBpZiAodGhpcy5jbGFzc2VzKSB7XG4gICAgICBjbGFzc05hbWVzICs9ICcgJyArIHRoaXMuY2xhc3NlcztcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNsYXNzTmFtZXMgKz0gJyBjLWJ1dHRvbi1sb2FkZXItLWRpc2FibGVkJztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gIH1cblxuICBnZXRTcGlubmVyVGV4dCgpOiBzdHJpbmcge1xuICAgIGxldCBzcGlubmVyVGV4dDogc3RyaW5nID0gbnVsbDtcblxuICAgIGlmICh0aGlzLnN0YXRlID09PSBCdXR0b25Mb2FkZXJDb21wb25lbnQuU1RBVEVfTE9BRElORykge1xuICAgICAgc3Bpbm5lclRleHQgPSB0aGlzLmxvYWRlclRleHQgPyB0aGlzLmxvYWRlclRleHQgOiBCdXR0b25Mb2FkZXJDb21wb25lbnQuREVGQVVMVF9MT0FERVJfVEVYVDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Bpbm5lclRleHQ7XG4gIH1cblxuICBnZXRTdWNjZXNzVGV4dCgpOiBzdHJpbmcge1xuICAgIGxldCBzdWNjZXNzVGV4dDogc3RyaW5nID0gbnVsbDtcblxuICAgIGlmICh0aGlzLnN0YXRlID09PSBCdXR0b25Mb2FkZXJDb21wb25lbnQuU1RBVEVfU1VDQ0VTUykge1xuICAgICAgc3VjY2Vzc1RleHQgPSB0aGlzLnN1Y2Nlc3NUZXh0ID8gdGhpcy5zdWNjZXNzVGV4dCA6IEJ1dHRvbkxvYWRlckNvbXBvbmVudC5ERUZBVUxUX1NVQ0NFU1NfVEVYVDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2Vzc1RleHQ7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjc3Bpbm5lclRlbXBsYXRlPlxuICA8c3BhbiBjbGFzcz1cImMtYnV0dG9uLWxvYWRlcl9fc3Bpbm5lciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBhYnNvbHV0ZSBpbnNldC0wXCI+XG4gICAgPGRlc3ktc3Bpbm5lclxuICAgICAgW3RleHRdPVwiZ2V0U3Bpbm5lclRleHQoKSA/IGdldFNwaW5uZXJUZXh0KCkgOiAnQWNjacOzbiBlbiBjdXJzbydcIlxuICAgICAgW2NsYXNzZXNdPVwibG9hZGVyQ2xhc3Nlc1wiPjwvZGVzeS1zcGlubmVyPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3N1Y2Nlc3NUZW1wbGF0ZT5cbiAgPHNwYW4gY2xhc3M9XCJjLWJ1dHRvbi1sb2FkZXJfX3N1Y2Nlc3MgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYWJzb2x1dGUgaW5zZXQtMFwiPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInNyLW9ubHlcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiPlxuICAgICAge3sgZ2V0U3VjY2Vzc1RleHQoKSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNDggNDhcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgIGhlaWdodD1cIjFlbVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTMuNzE0IDQyLjg1N0E2Ljg1NyA2Ljg1NyAwIDAgMSA4LjQgNDAuMTgzTC44NTcgMzEuNjQ2YTMuNDI5IDMuNDI5IDAgMCAxIC4zMDktNC44NjlBMy40MjkgMy40MjkgMCAwIDEgNiAyNy4xMmw3LjA2MyA3Ljk4OWEuNzIuNzIgMCAwIDAgLjYxNy4zMDguNzg5Ljc4OSAwIDAgMCAuNjE3LS4yNzRMNDIuMTAzIDYuMjA2YTMuNDI5IDMuNDI5IDAgMCAxIDQuOTM3IDQuNzMxTDE4LjkyNiA0MC41MjZhNi42NTEgNi42NTEgMCAwIDEtNS4yMTIgMi4zMzFaXCJcbiAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9zcGFuPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZ2V0RWxlbWVudCgpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN0YXRpY0VsZW1lbnRUeXBlQVwiPlxuICAgIDxhXG4gICAgICAqbmdJZj1cInJvdXRlckxpbmtcIlxuICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cInJvdXRlckxpbmtBY3RpdmVDbGFzc2VzID8gcm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpID8gJ3RydWUnIDogYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogaXNEaXNhYmxlZCgpID8gLTEgOiBudWxsXCJcbiAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCJcbiAgICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSA9PT0gc3RhdGVMb2FkaW5nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzcGlubmVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlID09PSBzdGF0ZVN1Y2Nlc3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Y2Nlc3NUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImMtYnV0dG9uLWxvYWRlcl9fY29udGVudCBpbmxpbmUtZmxleCBhbGlnbi1iYXNlbGluZVwiXG4gICAgICAgIFtkZXN5SW5uZXJDb250ZW50XT1cImh0bWwgPyBodG1sIDogdGV4dFwiXG4gICAgICAgIFtpc0h0bWxdPVwiaXNIdG1sXCJcbiAgICAgICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG5cbiAgICA8YVxuICAgICAgKm5nSWY9XCIhcm91dGVyTGlua1wiXG4gICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgIFtocmVmXT1cImhyZWYgfCBleHRlcm5hbEhyZWZcIlxuICAgICAgW2F0dHIudGFyZ2V0XT1cInRhcmdldCA/IHRhcmdldCA6IG51bGxcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IGlzRGlzYWJsZWQoKSA/IC0xIDogbnVsbFwiXG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpID8gJ3RydWUnIDogYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiXG4gICAgICBbY2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT09IHN0YXRlTG9hZGluZ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3Bpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSA9PT0gc3RhdGVTdWNjZXNzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWNjZXNzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjLWJ1dHRvbi1sb2FkZXJfX2NvbnRlbnQgaW5saW5lLWZsZXggYWxpZ24tYmFzZWxpbmVcIlxuICAgICAgICBbZGVzeUlubmVyQ29udGVudF09XCJodG1sID8gaHRtbCA6IHRleHRcIlxuICAgICAgICBbaXNIdG1sXT1cImlzSHRtbFwiXG4gICAgICAgIFtkZWxldGVDb250ZW50SWZFbXB0eV09XCJmYWxzZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9hPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YnV0dG9uXG4gICAgKm5nU3dpdGNoQ2FzZT1cInN0YXRpY0VsZW1lbnRUeXBlQnV0dG9uXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rID8gcm91dGVyTGluayA6IG51bGxcIlxuICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cInJvdXRlckxpbmtBY3RpdmVDbGFzc2VzID8gcm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lID8gbmFtZSA6IG51bGxcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlID8gdmFsdWUgOiBudWxsXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIlxuICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSA/ICd0cnVlJyA6IGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgIFthdHRyLmRhdGEtcHJldmVudC1kb3VibGUtY2xpY2tdPVwicHJldmVudERvdWJsZUNsaWNrID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgIFthdHRyLnR5cGVdPVwidHlwZSA/IHR5cGUgOiBudWxsXCJcbiAgICBbY2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlID09PSBzdGF0ZUxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzcGlubmVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT09IHN0YXRlU3VjY2Vzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Y2Nlc3NUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImMtYnV0dG9uLWxvYWRlcl9fY29udGVudCBpbmxpbmUtZmxleCBhbGlnbi1iYXNlbGluZVwiXG4gICAgICBbZGVzeUlubmVyQ29udGVudF09XCJodG1sID8gaHRtbCA6IHRleHRcIlxuICAgICAgW2lzSHRtbF09XCJpc0h0bWxcIlxuICAgICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2XG4gICAgKm5nU3dpdGNoQ2FzZT1cInN0YXRpY0VsZW1lbnRUeXBlSW5wdXRcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmsgPyByb3V0ZXJMaW5rIDogbnVsbFwiXG4gICAgW3JvdXRlckxpbmtBY3RpdmVdPVwicm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgPyByb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA6IFtdXCJcbiAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiXG4gICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImMtYnV0dG9uLWxvYWRlcl9fY29udGVudCBpbmxpbmUtZmxleCBhbGlnbi1iYXNlbGluZVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIFt2YWx1ZV09XCJ0ZXh0ID8gdGV4dCA6IG51bGxcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlID8gdHlwZSA6ICdzdWJtaXQnXCJcbiAgICAgICAgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBmb250LXNlbWlib2xkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1wcmV2ZW50LWRvdWJsZS1jbGlja109XCJwcmV2ZW50RG91YmxlQ2xpY2sgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgPyAndHJ1ZScgOiBhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lID8gbmFtZSA6IG51bGxcIiAvPlxuICAgIDwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT09IHN0YXRlTG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNwaW5uZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSA9PT0gc3RhdGVTdWNjZXNzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VjY2Vzc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=