desy-angular 2.0.1 → 5.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 (477) hide show
  1. package/README.md +22 -20
  2. package/bundles/desy-angular.umd.js +8742 -4678
  3. package/bundles/desy-angular.umd.js.map +1 -1
  4. package/bundles/desy-angular.umd.min.js +2 -2
  5. package/bundles/desy-angular.umd.min.js.map +1 -1
  6. package/desy-angular.d.ts +34 -21
  7. package/desy-angular.metadata.json +1 -1
  8. package/esm2015/desy-angular.js +35 -22
  9. package/esm2015/lib/desy-angular.module.js +38 -35
  10. package/esm2015/lib/desy-buttons/components/button/button.component.js +92 -103
  11. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +50 -45
  12. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +108 -49
  13. package/esm2015/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.js +26 -0
  14. package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +23 -0
  15. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +275 -0
  16. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +64 -66
  17. package/esm2015/lib/desy-buttons/desy-buttons.module.js +44 -33
  18. package/esm2015/lib/desy-buttons/interfaces/listbox-item-data.js +2 -0
  19. package/esm2015/lib/desy-buttons/interfaces/listbox-label-data.js +2 -0
  20. package/esm2015/lib/desy-commons/components/content/content.component.js +14 -0
  21. package/esm2015/lib/desy-commons/components/description/description.component.js +14 -0
  22. package/esm2015/lib/desy-commons/components/icon/icon.component.js +14 -0
  23. package/esm2015/lib/desy-commons/components/title/title.component.js +14 -0
  24. package/esm2015/lib/desy-commons/desy-commons.module.js +33 -0
  25. package/esm2015/lib/desy-commons/interfaces/content-data.js +2 -0
  26. package/esm2015/lib/desy-commons/interfaces/description-data.js +2 -0
  27. package/esm2015/lib/desy-commons/interfaces/icon-data.js +2 -0
  28. package/esm2015/lib/desy-commons/interfaces/index.js +5 -0
  29. package/esm2015/lib/desy-commons/interfaces/title-data.js +2 -0
  30. package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +124 -124
  31. package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +190 -0
  32. package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +235 -128
  33. package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
  34. package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
  35. package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
  36. package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
  37. package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
  38. package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +228 -123
  39. package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +28 -16
  40. package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +44 -21
  41. package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +16 -15
  42. package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +59 -59
  43. package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +103 -65
  44. package/esm2015/lib/desy-forms/components/hint/hint.component.js +27 -15
  45. package/esm2015/lib/desy-forms/components/input/input.component.js +58 -59
  46. package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
  47. package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
  48. package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
  49. package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
  50. package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +190 -96
  51. package/esm2015/lib/desy-forms/components/label/label.component.js +30 -17
  52. package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +147 -0
  53. package/esm2015/lib/desy-forms/components/radios/radios.component.js +242 -56
  54. package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +57 -47
  55. package/esm2015/lib/desy-forms/components/select/option/option.component.js +17 -0
  56. package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
  57. package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
  58. package/esm2015/lib/desy-forms/components/select/select.component.js +74 -59
  59. package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +12 -12
  60. package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +67 -67
  61. package/esm2015/lib/desy-forms/desy-forms.module.js +116 -79
  62. package/esm2015/lib/desy-forms/directives/condition.directive.js +35 -35
  63. package/esm2015/lib/desy-forms/interfaces/accesibility-data.js +2 -2
  64. package/esm2015/lib/desy-forms/interfaces/error-message-data.js +2 -2
  65. package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +2 -2
  66. package/esm2015/lib/desy-forms/interfaces/hint-data.js +2 -2
  67. package/esm2015/lib/desy-forms/interfaces/index.js +13 -13
  68. package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +2 -2
  69. package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +2 -2
  70. package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
  71. package/esm2015/lib/desy-forms/interfaces/item-divider-input-group-data.js +2 -2
  72. package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +2 -2
  73. package/esm2015/lib/desy-forms/interfaces/item-radio-data.js +2 -2
  74. package/esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js +2 -2
  75. package/esm2015/lib/desy-forms/interfaces/label-data.js +2 -2
  76. package/esm2015/lib/desy-forms/interfaces/legend-data.js +2 -2
  77. package/esm2015/lib/desy-forms/interfaces/select-item-data.js +2 -2
  78. package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +127 -127
  79. package/esm2015/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.js +19 -0
  80. package/esm2015/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.js +19 -0
  81. package/esm2015/lib/desy-modals/components/modal/modal.component.js +144 -59
  82. package/esm2015/lib/desy-modals/desy-modals.module.js +35 -29
  83. package/esm2015/lib/desy-modals/interfaces/dialog-options.js +2 -2
  84. package/esm2015/lib/desy-modals/interfaces/index.js +8 -8
  85. package/esm2015/lib/desy-modals/interfaces/modal-button-data.js +2 -2
  86. package/esm2015/lib/desy-modals/interfaces/modal-data.js +2 -2
  87. package/esm2015/lib/desy-modals/interfaces/modal-icon-data.js +2 -2
  88. package/esm2015/lib/desy-modals/interfaces/modal-options.js +2 -2
  89. package/esm2015/lib/desy-modals/interfaces/open-dialog-result.js +2 -2
  90. package/esm2015/lib/desy-modals/services/dialog.service.js +118 -118
  91. package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.js +15 -0
  92. package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +48 -46
  93. package/esm2015/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.js +15 -0
  94. package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +52 -31
  95. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
  96. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
  97. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
  98. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
  99. package/esm2015/lib/desy-nav/components/footer/footer.component.js +45 -22
  100. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +34 -44
  101. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
  102. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +32 -25
  103. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
  104. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
  105. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +88 -26
  106. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +37 -47
  107. package/esm2015/lib/desy-nav/components/header/header.component.js +58 -27
  108. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.js +28 -0
  109. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +81 -61
  110. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
  111. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
  112. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
  113. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +95 -142
  114. package/esm2015/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.js +36 -0
  115. package/esm2015/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.js +14 -0
  116. package/esm2015/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.js +29 -0
  117. package/esm2015/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.js +23 -0
  118. package/esm2015/lib/desy-nav/components/menubar/directives/menubaritem.directive.js +37 -0
  119. package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +656 -0
  120. package/esm2015/lib/desy-nav/components/nav/nav-item/nav-item.component.js +30 -0
  121. package/esm2015/lib/desy-nav/components/nav/nav.component.js +85 -63
  122. package/esm2015/lib/desy-nav/components/notification/notification-item/notification-item.component.js +18 -0
  123. package/esm2015/lib/desy-nav/components/notification/notification.component.js +110 -83
  124. package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +42 -23
  125. package/esm2015/lib/desy-nav/desy-nav.module.js +123 -57
  126. package/esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js +2 -2
  127. package/esm2015/lib/desy-nav/interfaces/error-summary-data.js +2 -2
  128. package/esm2015/lib/desy-nav/interfaces/footer-data.js +2 -2
  129. package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +2 -2
  130. package/esm2015/lib/desy-nav/interfaces/header-navigation-data.js +2 -2
  131. package/esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js +2 -2
  132. package/esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js +2 -2
  133. package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +2 -2
  134. package/esm2015/lib/desy-nav/interfaces/index.js +17 -21
  135. package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js +2 -2
  136. package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js +2 -2
  137. package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +2 -2
  138. package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js +2 -2
  139. package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js +2 -2
  140. package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.js +2 -0
  141. package/esm2015/lib/desy-nav/interfaces/menubar-item-sub-item.js +2 -0
  142. package/esm2015/lib/desy-nav/interfaces/menubar-item-sub.js +2 -0
  143. package/esm2015/lib/desy-nav/interfaces/menubar-item.js +2 -0
  144. package/esm2015/lib/desy-nav/interfaces/nav-item-event.data.js +2 -2
  145. package/esm2015/lib/desy-nav/interfaces/nav-item.data.js +2 -2
  146. package/esm2015/lib/desy-nav/interfaces/notification-items-data.js +2 -2
  147. package/esm2015/lib/desy-nav/interfaces/notification-options.js +2 -2
  148. package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +104 -139
  149. package/esm2015/lib/desy-pagination/desy-pagination.module.js +25 -25
  150. package/esm2015/lib/desy-pagination/interfaces/index.js +2 -2
  151. package/esm2015/lib/desy-pagination/interfaces/pagination-item.data.js +2 -2
  152. package/esm2015/lib/desy-tables/components/table/components/table-caption.component.js +14 -0
  153. package/esm2015/lib/desy-tables/components/table/components/table-cell.component.js +17 -0
  154. package/esm2015/lib/desy-tables/components/table/components/table-header.component.js +14 -0
  155. package/esm2015/lib/desy-tables/components/table/components/table-row.component.js +14 -0
  156. package/esm2015/lib/desy-tables/components/table/table.component.js +67 -34
  157. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.js +20 -0
  158. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.js +14 -0
  159. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.js +17 -0
  160. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.js +20 -0
  161. package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +288 -264
  162. package/esm2015/lib/desy-tables/desy-tables.module.js +61 -33
  163. package/esm2015/lib/desy-tables/directives/cell.directive.js +26 -0
  164. package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +78 -74
  165. package/esm2015/lib/desy-tables/directives/row.directive.js +24 -0
  166. package/esm2015/lib/desy-tables/interfaces/cell-data.js +2 -2
  167. package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +7 -7
  168. package/esm2015/lib/desy-tables/interfaces/index.js +5 -4
  169. package/esm2015/lib/desy-tables/interfaces/recalculate-table-params.js +2 -0
  170. package/esm2015/lib/desy-tables/interfaces/row-data.js +2 -2
  171. package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
  172. package/esm2015/lib/desy-views/components/accordion/accordion-header/accordion-header.component.js +14 -0
  173. package/esm2015/lib/desy-views/components/accordion/accordion-item/accordion-item.component.js +33 -0
  174. package/esm2015/lib/desy-views/components/accordion/accordion.component.js +136 -108
  175. package/esm2015/lib/desy-views/components/alert/alert.component.js +81 -76
  176. package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +62 -66
  177. package/esm2015/lib/desy-views/components/description-list/definition/definition.component.js +15 -0
  178. package/esm2015/lib/desy-views/components/description-list/description-item/description-item.component.js +26 -0
  179. package/esm2015/lib/desy-views/components/description-list/description-list.component.js +28 -38
  180. package/esm2015/lib/desy-views/components/description-list/term/term.component.js +15 -0
  181. package/esm2015/lib/desy-views/components/details/details.component.js +31 -31
  182. package/esm2015/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.js +14 -0
  183. package/esm2015/lib/desy-views/components/item/item-content-right/item-content-right.component.js +11 -0
  184. package/esm2015/lib/desy-views/components/item/item-item/item-item.component.js +11 -0
  185. package/esm2015/lib/desy-views/components/item/item.component.js +79 -46
  186. package/esm2015/lib/desy-views/components/media-object/media-object.component.js +29 -29
  187. package/esm2015/lib/desy-views/components/spinner/spinner.component.js +16 -16
  188. package/esm2015/lib/desy-views/components/status/status.component.js +35 -35
  189. package/esm2015/lib/desy-views/components/status-item/status-item.component.js +63 -50
  190. package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
  191. package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
  192. package/esm2015/lib/desy-views/components/tabs/tabs.component.js +131 -109
  193. package/esm2015/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.js +11 -0
  194. package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +132 -0
  195. package/esm2015/lib/desy-views/desy-views.module.js +93 -53
  196. package/esm2015/lib/desy-views/interfaces/accordion-header.data.js +2 -2
  197. package/esm2015/lib/desy-views/interfaces/accordion-item.data.js +2 -2
  198. package/esm2015/lib/desy-views/interfaces/alert-options.js +2 -2
  199. package/esm2015/lib/desy-views/interfaces/description-item.data.js +2 -0
  200. package/esm2015/lib/desy-views/interfaces/index.js +11 -11
  201. package/esm2015/lib/desy-views/interfaces/open-alert-result.js +2 -2
  202. package/esm2015/lib/desy-views/interfaces/status-data.js +2 -2
  203. package/esm2015/lib/desy-views/interfaces/status-icon-data.js +2 -2
  204. package/esm2015/lib/desy-views/interfaces/status-item-title-data.js +2 -2
  205. package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +2 -2
  206. package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +2 -2
  207. package/esm2015/lib/desy-views/interfaces/term-definition.data.js +2 -0
  208. package/esm2015/lib/desy-views/services/alert.service.js +90 -90
  209. package/esm2015/lib/shared/components/accessibility/accessibility.component.js +29 -29
  210. package/esm2015/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.js +27 -0
  211. package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +26 -26
  212. package/esm2015/lib/shared/components/content-base/content-base.component.js +20 -0
  213. package/esm2015/lib/shared/components/index.js +6 -4
  214. package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +26 -26
  215. package/esm2015/lib/shared/decorators/desy-content-child.decorator.js +41 -0
  216. package/esm2015/lib/shared/decorators/desy-on-input-change.decorator.js +19 -0
  217. package/esm2015/lib/shared/directives/attribute-change.directive.js +43 -0
  218. package/esm2015/lib/shared/directives/click-outside.directive.js +35 -35
  219. package/esm2015/lib/shared/directives/content-change.directive.js +43 -0
  220. package/esm2015/lib/shared/directives/content-empty.directive.js +86 -0
  221. package/esm2015/lib/shared/directives/custom-inner-content.directive.js +62 -0
  222. package/esm2015/lib/shared/directives/inner-content.directive.js +34 -32
  223. package/esm2015/lib/shared/interfaces/accesibility-data.js +2 -2
  224. package/esm2015/lib/shared/pipes/external-href.pipe.js +28 -0
  225. package/esm2015/lib/shared/pipes/inner-html.pipe.js +19 -19
  226. package/esm2015/lib/shared/pipes/make-html-list.pipe.js +16 -16
  227. package/esm2015/lib/shared/shared.module.js +65 -46
  228. package/esm2015/lib/shared/utils/focus-utils.js +51 -51
  229. package/esm2015/lib/shared/utils/search-utils.js +57 -57
  230. package/esm2015/lib/shared/utils/string-utils.js +18 -0
  231. package/esm2015/public-api.js +189 -130
  232. package/fesm2015/desy-angular.js +7655 -3964
  233. package/fesm2015/desy-angular.js.map +1 -1
  234. package/lib/desy-angular.module.d.ts +2 -2
  235. package/lib/desy-buttons/components/button/button.component.d.ts +31 -32
  236. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +15 -14
  237. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +24 -19
  238. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +12 -0
  239. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +8 -0
  240. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +54 -0
  241. package/lib/desy-buttons/components/pill/pill.component.d.ts +22 -22
  242. package/lib/desy-buttons/desy-buttons.module.d.ts +2 -2
  243. package/lib/desy-buttons/interfaces/listbox-item-data.d.ts +9 -0
  244. package/lib/{desy-nav/interfaces/notification-title-data.d.ts → desy-buttons/interfaces/listbox-label-data.d.ts} +5 -5
  245. package/lib/desy-commons/components/content/content.component.d.ts +5 -0
  246. package/lib/desy-commons/components/description/description.component.d.ts +5 -0
  247. package/lib/desy-commons/components/icon/icon.component.d.ts +5 -0
  248. package/lib/desy-commons/components/title/title.component.d.ts +5 -0
  249. package/lib/desy-commons/desy-commons.module.d.ts +2 -0
  250. package/lib/{desy-nav/interfaces/notification-content-data.d.ts → desy-commons/interfaces/content-data.d.ts} +5 -5
  251. package/lib/desy-commons/interfaces/description-data.d.ts +5 -0
  252. package/lib/desy-commons/interfaces/icon-data.d.ts +4 -0
  253. package/lib/desy-commons/interfaces/index.d.ts +4 -0
  254. package/lib/desy-commons/interfaces/title-data.d.ts +6 -0
  255. package/lib/desy-forms/components/character-count/character-count.component.d.ts +28 -28
  256. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +47 -0
  257. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +75 -37
  258. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
  259. package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
  260. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
  261. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
  262. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
  263. package/lib/desy-forms/components/date-input/date-input.component.d.ts +54 -37
  264. package/lib/desy-forms/components/error-message/error-message.component.d.ts +12 -6
  265. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +28 -20
  266. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +6 -5
  267. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +19 -19
  268. package/lib/desy-forms/components/form-field/form-field.component.d.ts +40 -51
  269. package/lib/desy-forms/components/hint/hint.component.d.ts +11 -5
  270. package/lib/desy-forms/components/input/input.component.d.ts +19 -19
  271. package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
  272. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
  273. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
  274. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
  275. package/lib/desy-forms/components/input-group/input-group.component.d.ts +54 -36
  276. package/lib/desy-forms/components/label/label.component.d.ts +14 -7
  277. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +43 -0
  278. package/lib/desy-forms/components/radios/radios.component.d.ts +75 -30
  279. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +17 -13
  280. package/lib/desy-forms/components/select/option/option.component.d.ts +7 -0
  281. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
  282. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
  283. package/lib/desy-forms/components/select/select.component.d.ts +21 -14
  284. package/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.d.ts +2 -2
  285. package/lib/desy-forms/components/textarea/textarea.component.d.ts +23 -23
  286. package/lib/desy-forms/desy-forms.module.d.ts +2 -2
  287. package/lib/desy-forms/directives/condition.directive.d.ts +15 -15
  288. package/lib/desy-forms/interfaces/accesibility-data.d.ts +15 -15
  289. package/lib/desy-forms/interfaces/error-message-data.d.ts +8 -8
  290. package/lib/desy-forms/interfaces/fieldset-data.d.ts +10 -9
  291. package/lib/desy-forms/interfaces/hint-data.d.ts +7 -7
  292. package/lib/desy-forms/interfaces/index.d.ts +12 -12
  293. package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +21 -20
  294. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +17 -14
  295. package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
  296. package/lib/desy-forms/interfaces/item-divider-input-group-data.d.ts +5 -5
  297. package/lib/desy-forms/interfaces/item-input-group-data.d.ts +22 -23
  298. package/lib/desy-forms/interfaces/item-radio-data.d.ts +20 -17
  299. package/lib/desy-forms/interfaces/item-radio-with-template-data.d.ts +5 -5
  300. package/lib/desy-forms/interfaces/label-data.d.ts +9 -9
  301. package/lib/desy-forms/interfaces/legend-data.d.ts +6 -6
  302. package/lib/desy-forms/interfaces/select-item-data.d.ts +8 -7
  303. package/lib/desy-modals/components/dialog/dialog.component.d.ts +35 -35
  304. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +7 -0
  305. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +7 -0
  306. package/lib/desy-modals/components/modal/modal.component.d.ts +45 -20
  307. package/lib/desy-modals/desy-modals.module.d.ts +2 -2
  308. package/lib/desy-modals/interfaces/dialog-options.d.ts +9 -9
  309. package/lib/desy-modals/interfaces/index.d.ts +6 -6
  310. package/lib/desy-modals/interfaces/modal-button-data.d.ts +4 -4
  311. package/lib/desy-modals/interfaces/modal-data.d.ts +5 -5
  312. package/lib/desy-modals/interfaces/modal-icon-data.d.ts +4 -4
  313. package/lib/desy-modals/interfaces/modal-options.d.ts +16 -16
  314. package/lib/desy-modals/interfaces/open-dialog-result.d.ts +6 -6
  315. package/lib/desy-modals/services/dialog.service.d.ts +14 -14
  316. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +6 -0
  317. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +19 -16
  318. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +6 -0
  319. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +21 -13
  320. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
  321. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
  322. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
  323. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
  324. package/lib/desy-nav/components/footer/footer.component.d.ts +22 -10
  325. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +11 -7
  326. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
  327. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +13 -9
  328. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
  329. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
  330. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +31 -10
  331. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +12 -9
  332. package/lib/desy-nav/components/header/header.component.d.ts +29 -18
  333. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +15 -0
  334. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +18 -17
  335. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
  336. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
  337. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
  338. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +19 -24
  339. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +23 -0
  340. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +4 -0
  341. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +15 -0
  342. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +10 -0
  343. package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +16 -0
  344. package/lib/desy-nav/components/menubar/menubar.component.d.ts +88 -0
  345. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +17 -0
  346. package/lib/desy-nav/components/nav/nav.component.d.ts +18 -16
  347. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +9 -0
  348. package/lib/desy-nav/components/notification/notification.component.d.ts +38 -24
  349. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +14 -7
  350. package/lib/desy-nav/desy-nav.module.d.ts +2 -2
  351. package/lib/desy-nav/interfaces/breadcrumbs.data.d.ts +7 -7
  352. package/lib/desy-nav/interfaces/error-summary-data.d.ts +7 -7
  353. package/lib/desy-nav/interfaces/footer-data.d.ts +24 -27
  354. package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +11 -7
  355. package/lib/desy-nav/interfaces/header-navigation-data.d.ts +5 -5
  356. package/lib/desy-nav/interfaces/header-navigation-item-data.d.ts +11 -11
  357. package/lib/desy-nav/interfaces/header-offcanvas-data.d.ts +8 -9
  358. package/lib/desy-nav/interfaces/header-subnav-data.d.ts +11 -6
  359. package/lib/desy-nav/interfaces/index.d.ts +16 -20
  360. package/lib/desy-nav/interfaces/menu-horizontal-item-data.d.ts +13 -13
  361. package/lib/desy-nav/interfaces/menu-horizontal-item-event-data.d.ts +5 -5
  362. package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +19 -17
  363. package/lib/desy-nav/interfaces/menu-vertical-sub-data.d.ts +7 -8
  364. package/lib/desy-nav/interfaces/menu-vertical-sub-items-data.d.ts +16 -13
  365. package/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.d.ts +6 -0
  366. package/lib/desy-nav/interfaces/menubar-item-sub-item.d.ts +9 -0
  367. package/lib/desy-nav/interfaces/menubar-item-sub.d.ts +6 -0
  368. package/lib/desy-nav/interfaces/menubar-item.d.ts +18 -0
  369. package/lib/desy-nav/interfaces/nav-item-event.data.d.ts +5 -5
  370. package/lib/desy-nav/interfaces/nav-item.data.d.ts +15 -14
  371. package/lib/desy-nav/interfaces/notification-items-data.d.ts +10 -7
  372. package/lib/desy-nav/interfaces/notification-options.d.ts +15 -18
  373. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +33 -38
  374. package/lib/desy-pagination/desy-pagination.module.d.ts +2 -2
  375. package/lib/desy-pagination/interfaces/index.d.ts +1 -1
  376. package/lib/desy-pagination/interfaces/pagination-item.data.d.ts +4 -4
  377. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +4 -0
  378. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +8 -0
  379. package/lib/desy-tables/components/table/components/table-header.component.d.ts +5 -0
  380. package/lib/desy-tables/components/table/components/table-row.component.d.ts +5 -0
  381. package/lib/desy-tables/components/table/table.component.d.ts +25 -13
  382. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +13 -0
  383. package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +5 -0
  384. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +8 -0
  385. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +8 -0
  386. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +115 -88
  387. package/lib/desy-tables/desy-tables.module.d.ts +2 -2
  388. package/lib/desy-tables/directives/cell.directive.d.ts +14 -0
  389. package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +10 -10
  390. package/lib/desy-tables/directives/row.directive.d.ts +16 -0
  391. package/lib/desy-tables/interfaces/cell-data.d.ts +9 -9
  392. package/lib/desy-tables/interfaces/head-cell-data.d.ts +15 -15
  393. package/lib/desy-tables/interfaces/index.d.ts +4 -3
  394. package/lib/desy-tables/interfaces/recalculate-table-params.d.ts +11 -0
  395. package/lib/desy-tables/interfaces/row-data.d.ts +6 -5
  396. package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
  397. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
  398. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +13 -0
  399. package/lib/desy-views/components/accordion/accordion.component.d.ts +36 -27
  400. package/lib/desy-views/components/alert/alert.component.d.ts +29 -27
  401. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +15 -17
  402. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +6 -0
  403. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +9 -0
  404. package/lib/desy-views/components/description-list/description-list.component.d.ts +12 -9
  405. package/lib/desy-views/components/description-list/term/term.component.d.ts +6 -0
  406. package/lib/desy-views/components/details/details.component.d.ts +14 -14
  407. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +5 -0
  408. package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
  409. package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
  410. package/lib/desy-views/components/item/item.component.d.ts +36 -17
  411. package/lib/desy-views/components/media-object/media-object.component.d.ts +14 -14
  412. package/lib/desy-views/components/spinner/spinner.component.d.ts +6 -6
  413. package/lib/desy-views/components/status/status.component.d.ts +11 -11
  414. package/lib/desy-views/components/status-item/status-item.component.d.ts +31 -20
  415. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
  416. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
  417. package/lib/desy-views/components/tabs/tabs.component.d.ts +35 -23
  418. package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
  419. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +35 -0
  420. package/lib/desy-views/desy-views.module.d.ts +2 -2
  421. package/lib/desy-views/interfaces/accordion-header.data.d.ts +5 -5
  422. package/lib/desy-views/interfaces/accordion-item.data.d.ts +10 -10
  423. package/lib/desy-views/interfaces/alert-options.d.ts +8 -8
  424. package/lib/desy-views/interfaces/description-item.data.d.ts +8 -0
  425. package/lib/desy-views/interfaces/index.d.ts +10 -10
  426. package/lib/desy-views/interfaces/open-alert-result.d.ts +6 -6
  427. package/lib/desy-views/interfaces/status-data.d.ts +8 -8
  428. package/lib/desy-views/interfaces/status-icon-data.d.ts +4 -4
  429. package/lib/desy-views/interfaces/status-item-title-data.d.ts +5 -5
  430. package/lib/desy-views/interfaces/tabs-items-data.d.ts +9 -9
  431. package/lib/desy-views/interfaces/tabs-panel-data.d.ts +8 -8
  432. package/lib/desy-views/interfaces/term-definition.data.d.ts +7 -0
  433. package/lib/desy-views/services/alert.service.d.ts +14 -14
  434. package/lib/shared/components/accessibility/accessibility.component.d.ts +20 -20
  435. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +26 -0
  436. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +25 -25
  437. package/lib/shared/components/content-base/content-base.component.d.ts +9 -0
  438. package/lib/shared/components/index.d.ts +5 -3
  439. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +16 -16
  440. package/lib/shared/decorators/desy-content-child.decorator.d.ts +15 -0
  441. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +5 -0
  442. package/lib/shared/directives/attribute-change.directive.d.ts +10 -0
  443. package/lib/shared/directives/click-outside.directive.d.ts +9 -9
  444. package/lib/shared/directives/content-change.directive.d.ts +19 -0
  445. package/lib/shared/directives/content-empty.directive.d.ts +26 -0
  446. package/lib/shared/directives/custom-inner-content.directive.d.ts +22 -0
  447. package/lib/shared/directives/inner-content.directive.d.ts +9 -8
  448. package/lib/shared/interfaces/accesibility-data.d.ts +16 -16
  449. package/lib/shared/pipes/external-href.pipe.d.ts +8 -0
  450. package/lib/shared/pipes/inner-html.pipe.d.ts +7 -7
  451. package/lib/shared/pipes/make-html-list.pipe.d.ts +4 -4
  452. package/lib/shared/shared.module.d.ts +2 -2
  453. package/lib/shared/utils/focus-utils.d.ts +4 -4
  454. package/lib/shared/utils/search-utils.d.ts +14 -14
  455. package/lib/shared/utils/string-utils.d.ts +10 -0
  456. package/package.json +16 -11
  457. package/public-api.d.ts +160 -110
  458. package/esm2015/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.js +0 -100
  459. package/esm2015/lib/desy-forms/components/radios/item-radio/item-radio.component.js +0 -89
  460. package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -62
  461. package/esm2015/lib/desy-nav/interfaces/notification-content-data.js +0 -2
  462. package/esm2015/lib/desy-nav/interfaces/notification-description-data.js +0 -2
  463. package/esm2015/lib/desy-nav/interfaces/notification-icon-data.js +0 -2
  464. package/esm2015/lib/desy-nav/interfaces/notification-title-data.js +0 -2
  465. package/esm2015/lib/desy-views/interfaces/description.data.js +0 -2
  466. package/esm2015/lib/desy-views/interfaces/item-data.js +0 -2
  467. package/esm2015/lib/desy-views/interfaces/item-description.data.js +0 -2
  468. package/esm2015/lib/shared/utils/navigation-utils.js +0 -18
  469. package/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.d.ts +0 -39
  470. package/lib/desy-forms/components/radios/item-radio/item-radio.component.d.ts +0 -36
  471. package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -19
  472. package/lib/desy-nav/interfaces/notification-description-data.d.ts +0 -5
  473. package/lib/desy-nav/interfaces/notification-icon-data.d.ts +0 -3
  474. package/lib/desy-views/interfaces/description.data.d.ts +0 -7
  475. package/lib/desy-views/interfaces/item-data.d.ts +0 -19
  476. package/lib/desy-views/interfaces/item-description.data.d.ts +0 -8
  477. package/lib/shared/utils/navigation-utils.d.ts +0 -3
@@ -1,139 +1,104 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { AccessibilityComponent } from '../../../shared/components';
3
- export class PaginationComponent extends AccessibilityComponent {
4
- constructor() {
5
- super(...arguments);
6
- this.currentPage = 1;
7
- this.currentPageChange = new EventEmitter();
8
- this.prefix = '<span class="sr-only">Página</span>';
9
- this.suffix = '<span class="sr-only">(resultados del ' + this.getInitPosition() + ' al ' + this.getMaxPosition() + ')</span>';
10
- }
11
- ngOnChanges(changes) {
12
- if (!this.totalItems) {
13
- throw new Error(`totalItems are required`);
14
- }
15
- if (!this.itemsPerPage) {
16
- throw new Error(`itemsPerPage are required`);
17
- }
18
- if (!this.currentPage) {
19
- this.currentPage = 1;
20
- this.currentPageChange.emit(this.currentPage);
21
- }
22
- this.nPages = Math.ceil(this.totalItems / this.itemsPerPage);
23
- this.buildPages();
24
- }
25
- buildPages() {
26
- this.items = [];
27
- for (let i = 0; i < this.nPages; i++) {
28
- const item = { text: i + 1, active: ((i + 1) === this.currentPage), routerLink: [] };
29
- this.items.push(item);
30
- }
31
- }
32
- getHtmlButton(index, active) {
33
- if (active) {
34
- return this.prefix + '<strong>' + (index + 1) + '</strong>' + this.suffix;
35
- }
36
- else {
37
- return this.prefix + (index + 1) + this.suffix;
38
- }
39
- }
40
- getHtmlButtonPrevius() {
41
- const arrow = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="self-center h-2.5 w-2.5 mr-2" aria-hidden="true" focusable="false"><path d="M54.87 71.77a2.5 2.5 0 010-3.54L106 17.07A10 10 0 1091.89 2.93L35.43 59.39a15 15 0 000 21.22l56.46 56.46A10 10 0 10106 122.93z" fill="currentColor" /></svg>';
42
- if (this.previousText) {
43
- return arrow + ' ' + this.previousText;
44
- }
45
- else {
46
- return arrow;
47
- }
48
- }
49
- getHtmlButtonNext() {
50
- const arrow = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="self-center h-2.5 w-2.5 ml-2" aria-hidden="true" focusable="false"><path d="M34 137.07a10 10 0 010-14.14l51.13-51.16a2.5 2.5 0 000-3.54L34 17.07A10 10 0 0148.11 2.93l56.46 56.46a15 15 0 010 21.22l-56.46 56.46a10 10 0 01-14.11 0z" fill="currentColor" /></svg>';
51
- if (this.nextText) {
52
- return this.nextText + ' ' + arrow;
53
- }
54
- else {
55
- return arrow;
56
- }
57
- }
58
- getDropdownText() {
59
- return 'Página ' + this.currentPage;
60
- }
61
- getId(index) {
62
- if (index === 0) {
63
- return this.getIdPrefix();
64
- }
65
- else {
66
- return this.getIdPrefix() + '-' + index;
67
- }
68
- }
69
- getIdPrevius() {
70
- return this.getIdPrefix() + '-previous';
71
- }
72
- getIdNext() {
73
- return this.getIdPrefix() + '-next';
74
- }
75
- getIdPrefix() {
76
- return this.idPrefix ? this.idPrefix : 'pagination-item';
77
- }
78
- changePage(current) {
79
- this.currentPage = current;
80
- this.currentPageChange.emit(this.currentPage);
81
- for (let i = 0; i < this.items.length; i++) {
82
- const item = this.items[i];
83
- item.active = ((i + 1) === this.currentPage);
84
- }
85
- }
86
- getClass() {
87
- const classInit = 'flex items-center flex-1 mb-base lg:mb-0 text-sm';
88
- if (this.classes) {
89
- return (classInit + ' ' + this.classes);
90
- }
91
- else {
92
- return classInit;
93
- }
94
- }
95
- previous() {
96
- if (this.currentPage > 1) {
97
- this.changePage(this.currentPage - 1);
98
- }
99
- }
100
- next() {
101
- if (this.currentPage < this.nPages) {
102
- this.changePage(this.currentPage + 1);
103
- }
104
- }
105
- getInitPosition(page) {
106
- if (page == null) {
107
- page = this.currentPage;
108
- }
109
- return ((this.itemsPerPage * page) - (this.itemsPerPage - 1));
110
- }
111
- getMaxPosition(page) {
112
- if (page == null) {
113
- page = this.currentPage;
114
- }
115
- return (this.itemsPerPage * page < this.totalItems ? this.itemsPerPage * page : this.totalItems);
116
- }
117
- }
118
- PaginationComponent.decorators = [
119
- { type: Component, args: [{
120
- selector: 'desy-pagination',
121
- template: "<div [class]=\"['lg:flex lg:align-center', classesContainer] | makeHtmlList\">\n <ng-container *ngIf=\"hasSelect\">\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!hasSelect\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </ng-container>\n <p class=\"block lg:ml-auto text-sm text-neutral-dark\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{getInitPosition()}} - {{getMaxPosition()}} de {{totalItems}}\n </p>\n</div>\n\n<ng-template #buttons>\n <nav [class]=\"getClass()\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.active\" [id]=\"getId(i)\" [html]=\"getHtmlButton(i, true)\" classes=\"c-button--primary mr-sm\" ariaCurrent=\"page\"></desy-button>\n <desy-button *ngIf=\"!item.active\" [id]=\"getId(i)\" [html]=\"getHtmlButton(i, false)\" (clickEvent)=\"changePage((i + 1))\" classes=\"mr-sm\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-template>\n\n<ng-template #select>\n <div [class]=\"getClass()\" role=\"menu\"\n [attr.id]=\"id ? id : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <desy-button (clickEvent)=\"previous()\" [id]=\"getIdPrevius()\" [html]=\"getHtmlButtonPrevius()\" [disabled]=\"!hasPrevious\" classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-dropdown [text]=\"getDropdownText()\" classes=\"c-dropdown--sm c-dropdown--transparent mr-xs\" classesTooltip=\"max-h-40 w-20 overflow-y-auto\" [caller]=\"nav\"></desy-dropdown>\n <desy-button (clickEvent)=\"next()\" [id]=\"getIdNext()\" [html]=\"getHtmlButtonNext()\" [disabled]=\"!hasNext\" classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n </div>\n</ng-template>\n\n<ng-template #nav>\n <desy-nav (clickEvent)=\"changePage(+$event.item.text)\"\n [isMenu]=\"true\" [items]=\"items\" classes=\"text-cente\"\n [idPrefix]=\"idPrefix\"\n ariaLabel=\"Paginaci\u00F3n\"></desy-nav>\n</ng-template>\n\n\n"
122
- },] }
123
- ];
124
- PaginationComponent.propDecorators = {
125
- hasSelect: [{ type: Input }],
126
- idPrefix: [{ type: Input }],
127
- classesContainer: [{ type: Input }],
128
- totalItems: [{ type: Input }],
129
- itemsPerPage: [{ type: Input }],
130
- hasPrevious: [{ type: Input }],
131
- hasNext: [{ type: Input }],
132
- previousText: [{ type: Input }],
133
- nextText: [{ type: Input }],
134
- classes: [{ type: Input }],
135
- id: [{ type: Input }],
136
- currentPage: [{ type: Input }],
137
- currentPageChange: [{ type: Output }]
138
- };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXBhZ2luYXRpb24vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3BFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxzQkFBc0I7SUFKL0Q7O1FBa0JXLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2Ysc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUt6RCxXQUFNLEdBQUcscUNBQXFDLENBQUM7UUFDL0MsV0FBTSxHQUFHLHdDQUF3QyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFJLFVBQVUsQ0FBQztJQTJINUgsQ0FBQztJQXpIQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJ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VUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7OztZQWxKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsdXhIQUEwQzthQUMzQzs7O3dCQUdFLEtBQUs7dUJBQ0wsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7MkJBQ0wsS0FBSzt1QkFDTCxLQUFLO3NCQUNMLEtBQUs7aUJBQ0wsS0FBSzswQkFFTCxLQUFLO2dDQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkl0ZW1EYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcblxuICBASW5wdXQoKSBoYXNTZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcbiAgQElucHV0KCkgdG90YWxJdGVtczogbnVtYmVyO1xuICBASW5wdXQoKSBpdGVtc1BlclBhZ2U6IG51bWJlcjtcbiAgQElucHV0KCkgaGFzUHJldmlvdXM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhhc05leHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByZXZpb3VzVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBuZXh0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY3VycmVudFBhZ2UgPSAxO1xuICBAT3V0cHV0KCkgY3VycmVudFBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBuUGFnZXM6IG51bWJlcjtcbiAgaXRlbXM6IFBhZ2luYXRpb25JdGVtRGF0YVtdO1xuXG4gIHByZWZpeCA9ICc8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Qw6FnaW5hPC9zcGFuPic7XG4gIHN1ZmZpeCA9ICc8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4ocmVzdWx0YWRvcyBkZWwgJyArIHRoaXMuZ2V0SW5pdFBvc2l0aW9uKCkgKyAnIGFsICcgKyB0aGlzLmdldE1heFBvc2l0aW9uKCkgKyAgJyk8L3NwYW4+JztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRvdGFsSXRlbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdG90YWxJdGVtcyBhcmUgcmVxdWlyZWRgKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLml0ZW1zUGVyUGFnZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpdGVtc1BlclBhZ2UgYXJlIHJlcXVpcmVkYCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRQYWdlKTtcbiAgICB9XG5cbiAgICB0aGlzLm5QYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgdGhpcy5idWlsZFBhZ2VzKCk7XG4gIH1cblxuICBidWlsZFBhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMublBhZ2VzOyBpKyspIHtcbiAgICAgIGNvbnN0IGl0ZW06IFBhZ2luYXRpb25JdGVtRGF0YSA9IHsgdGV4dDogaSArIDEsIGFjdGl2ZTogKCAoaSArIDEpICA9PT0gdGhpcy5jdXJyZW50UGFnZSksIHJvdXRlckxpbms6IFtdIH07XG4gICAgICB0aGlzLml0ZW1zLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0SHRtbEJ1dHRvbihpbmRleDogbnVtYmVyLCBhY3RpdmU6IGJvb2xlYW4pOiBzdHJpbmd7XG4gICAgaWYgKGFjdGl2ZSl7XG4gICAgICByZXR1cm4gdGhpcy5wcmVmaXggKyAnPHN0cm9uZz4nICsgKGluZGV4ICsgMSkgKyAnPC9zdHJvbmc+JyArIHRoaXMuc3VmZml4O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmVmaXggKyAgKGluZGV4ICsgMSkgICsgdGhpcy5zdWZmaXg7XG4gICAgfVxuICB9XG5cbiAgZ2V0SHRtbEJ1dHRvblByZXZpdXMoKTogc3RyaW5ne1xuICAgIGNvbnN0IGFycm93ID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiICB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwic2VsZi1jZW50ZXIgaC0yLjUgdy0yLjUgbXItMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PHBhdGggZD1cIk01NC44NyA3MS43N2EyLjUgMi41IDAgMDEwLTMuNTRMMTA2IDE3LjA3QTEwIDEwIDAgMTA5MS44OSAyLjkzTDM1LjQzIDU5LjM5YTE1IDE1IDAgMDAwIDIxLjIybDU2LjQ2IDU2LjQ2QTEwIDEwIDAgMTAxMDYgMTIyLjkzelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPjwvc3ZnPic7XG4gICAgaWYgKHRoaXMucHJldmlvdXNUZXh0KXtcbiAgICAgIHJldHVybiBhcnJvdyArICcgJyArIHRoaXMucHJldmlvdXNUZXh0O1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIGFycm93O1xuICAgIH1cbiAgfVxuXG4gIGdldEh0bWxCdXR0b25OZXh0KCk6IHN0cmluZ3tcbiAgICBjb25zdCBhcnJvdyA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwic2VsZi1jZW50ZXIgaC0yLjUgdy0yLjUgbWwtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PHBhdGggZD1cIk0zNCAxMzcuMDdhMTAgMTAgMCAwMTAtMTQuMTRsNTEuMTMtNTEuMTZhMi41IDIuNSAwIDAwMC0zLjU0TDM0IDE3LjA3QTEwIDEwIDAgMDE0OC4xMSAyLjkzbDU2LjQ2IDU2LjQ2YTE1IDE1IDAgMDEwIDIxLjIybC01Ni40NiA1Ni40NmExMCAxMCAwIDAxLTE0LjExIDB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIC8+PC9zdmc+JztcbiAgICBpZiAodGhpcy5uZXh0VGV4dCl7XG4gICAgICByZXR1cm4gdGhpcy5uZXh0VGV4dCArICcgJyArIGFycm93O1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIGFycm93O1xuICAgIH1cbiAgfVxuXG4gIGdldERyb3Bkb3duVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnUMOhZ2luYSAnICsgdGhpcy5jdXJyZW50UGFnZTtcbiAgfVxuXG4gIGdldElkKCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmdldElkUHJlZml4KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmdldElkUHJlZml4KCkgKyAnLScgKyBpbmRleDtcbiAgICB9XG4gIH1cblxuICBnZXRJZFByZXZpdXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJZFByZWZpeCgpICsgJy1wcmV2aW91cyc7XG4gIH1cblxuICBnZXRJZE5leHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJZFByZWZpeCgpICsgJy1uZXh0JztcbiAgfVxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ3BhZ2luYXRpb24taXRlbSc7XG4gIH1cblxuICBjaGFuZ2VQYWdlKGN1cnJlbnQ6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGN1cnJlbnQ7XG4gICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudFBhZ2UpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaV07XG4gICAgICBpdGVtLmFjdGl2ZSA9ICAoKGkgKyAxKSA9PT0gdGhpcy5jdXJyZW50UGFnZSk7XG4gICAgfVxuICB9XG5cblxuICBnZXRDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzSW5pdCA9ICdmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgbWItYmFzZSBsZzptYi0wIHRleHQtc20nO1xuICAgIGlmICh0aGlzLmNsYXNzZXMpIHtcbiAgICAgIHJldHVybiAoY2xhc3NJbml0ICsgJyAnICsgdGhpcy5jbGFzc2VzKTtcbiAgICB9ZWxzZSB7XG4gICAgICByZXR1cm4gY2xhc3NJbml0O1xuICAgIH1cbiAgfVxuXG5cbiAgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiAxKSB7XG4gICAgICB0aGlzLmNoYW5nZVBhZ2UodGhpcy5jdXJyZW50UGFnZSAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLm5QYWdlcykge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuY3VycmVudFBhZ2UgKyAxKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbml0UG9zaXRpb24ocGFnZT86IG51bWJlcik6IG51bWJlcntcbiAgICBpZiAocGFnZSA9PSBudWxsKSB7XG4gICAgICBwYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG4gICAgcmV0dXJuICgodGhpcy5pdGVtc1BlclBhZ2UgKiBwYWdlKSAtICh0aGlzLml0ZW1zUGVyUGFnZSAtIDEpKTtcbiAgfVxuXG4gIGdldE1heFBvc2l0aW9uKHBhZ2U/OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChwYWdlID09IG51bGwpIHtcbiAgICAgIHBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMuaXRlbXNQZXJQYWdlICogcGFnZSA8IHRoaXMudG90YWxJdGVtcyA/IHRoaXMuaXRlbXNQZXJQYWdlICogcGFnZSA6IHRoaXMudG90YWxJdGVtcyk7XG4gIH1cblxufVxuIl19
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../shared/components';
3
+ export class PaginationComponent extends AccessibilityComponent {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.currentPage = 1; // == currentPageindex + 1
7
+ this.currentPageChange = new EventEmitter();
8
+ this.previousIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="self-center h-2.5 w-2.5 mr-2" aria-hidden="true" focusable="false"><path d="M54.87 71.77a2.5 2.5 0 010-3.54L106 17.07A10 10 0 1091.89 2.93L35.43 59.39a15 15 0 000 21.22l56.46 56.46A10 10 0 10106 122.93z" fill="currentColor" /></svg>';
9
+ this.nextIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="self-center h-2.5 w-2.5 ml-2" aria-hidden="true" focusable="false"><path d="M34 137.07a10 10 0 010-14.14l51.13-51.16a2.5 2.5 0 000-3.54L34 17.07A10 10 0 0148.11 2.93l56.46 56.46a15 15 0 010 21.22l-56.46 56.46a10 10 0 01-14.11 0z" fill="currentColor" /></svg>';
10
+ this.prefix = '<span class="sr-only">Página&nbsp;</span>';
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (!this.id) {
14
+ throw new Error(`id is required`);
15
+ }
16
+ if (this.totalItems === undefined || this.totalItems === null) {
17
+ throw new Error(`totalItems is required`);
18
+ }
19
+ if (!this.itemsPerPage === undefined || this.itemsPerPage === null) {
20
+ throw new Error(`itemsPerPage is required`);
21
+ }
22
+ this.nPages = Math.ceil(this.totalItems / this.itemsPerPage);
23
+ if (!this.currentPage || this.currentPage < 1 || this.currentPage > this.nPages) {
24
+ this.currentPage = 1;
25
+ setTimeout(() => this.currentPageChange.emit(this.currentPage));
26
+ }
27
+ if (!this.previousText) {
28
+ this.previousText = 'Anterior';
29
+ }
30
+ if (!this.nextText) {
31
+ this.nextText = 'Siguiente';
32
+ }
33
+ this.buildPages();
34
+ }
35
+ getSuffix(page) {
36
+ return page >= 0 && page * this.itemsPerPage < this.totalItems ?
37
+ `<span class="sr-only">:&nbsp;Página ${page + 1} con los resultados del ${page * this.itemsPerPage + 1} al ${this.getLastItemNumber(page)}</span>`
38
+ : '';
39
+ }
40
+ getLastItemNumber(pageIndex) {
41
+ return Math.min((pageIndex + 1) * this.itemsPerPage, this.totalItems);
42
+ }
43
+ buildPages() {
44
+ this.items = [];
45
+ for (let i = 0; i < this.nPages; i++) {
46
+ const item = {
47
+ text: i + 1,
48
+ active: ((i + 1) === this.currentPage),
49
+ routerLink: []
50
+ };
51
+ this.items.push(item);
52
+ }
53
+ }
54
+ getIdPrefix() {
55
+ return this.idPrefix ? this.idPrefix : 'pagination-item';
56
+ }
57
+ getButtonId(index) {
58
+ return this.getIdPrefix() + (index === 0) ? '' : '-' + index;
59
+ }
60
+ changePage(current) {
61
+ this.currentPage = current;
62
+ this.currentPageChange.emit(this.currentPage);
63
+ for (let i = 0; i < this.items.length; i++) {
64
+ const item = this.items[i];
65
+ item.active = ((i + 1) === this.currentPage);
66
+ }
67
+ }
68
+ previous() {
69
+ if (this.currentPage > 1) {
70
+ this.changePage(this.currentPage - 1);
71
+ }
72
+ }
73
+ next() {
74
+ if (this.currentPage < this.nPages) {
75
+ this.changePage(this.currentPage + 1);
76
+ }
77
+ }
78
+ getActiveItemText() {
79
+ const activeItems = this.items.filter(item => item.active);
80
+ return activeItems && activeItems.length > 0 ? activeItems[0].text : '';
81
+ }
82
+ }
83
+ PaginationComponent.decorators = [
84
+ { type: Component, args: [{
85
+ selector: 'desy-pagination',
86
+ template: "<div [attr.id]=\"id ? id : null\" [class]=\"['lg:flex lg:flex-wrap lg:align-center', classesContainer] | makeHtmlList\">\r\n <ng-container *ngIf=\"hasSelect\">\r\n <p class=\"w-full mb-xs text-sm text-neutral-dark\">\r\n Selecciona una p\u00E1gina para cargar datos\r\n </p>\r\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <desy-button (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\r\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\r\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\r\n <desy-listbox [id]=\"id + '-listbox'\"\r\n [idPrefix]=\"idPrefix\"\r\n [text]=\"'P\u00E1gina ' + getActiveItemText()\"\r\n [classes]=\"'c-listbox--sm c-listbox--transparent mr-xs'\"\r\n [doesChangeButtonText]=\"true\"\r\n [label]=\"{ text: 'Selecciona una p\u00E1gina para cargar datos', classes: 'sr-only' }\"\r\n [(items)]=\"items\"\r\n (activeItemChange)=\"changePage(+$event.text)\"></desy-listbox>\r\n <desy-button (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\r\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\r\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\r\n </nav>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasSelect\">\r\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ul class=\"flex flex-wrap\">\r\n <li *ngFor=\"let item of items; index as i\">\r\n <desy-button *ngIf=\"item.active\" [id]=\"getButtonId(i)\"\r\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i) + '</strong>'\"\r\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\r\n disabled=\"true\" ariaCurrent=\"page\" tabindex=\"-1\" ></desy-button>\r\n <desy-button *ngIf=\"!item.active\" [id]=\"getButtonId(i)\"\r\n [html]=\"prefix + (i + 1) + getSuffix(i)\"\r\n (clickEvent)=\"changePage(i + 1)\"\r\n classes=\"mb-sm mr-sm\"></desy-button>\r\n </li>\r\n </ul>\r\n </nav>\r\n </ng-container>\r\n <p class=\"block lg:ml-auto text-sm text-neutral-dark\">\r\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\r\n </p>\r\n</div>\r\n"
87
+ },] }
88
+ ];
89
+ PaginationComponent.propDecorators = {
90
+ hasSelect: [{ type: Input }],
91
+ idPrefix: [{ type: Input }],
92
+ classesContainer: [{ type: Input }],
93
+ totalItems: [{ type: Input }],
94
+ itemsPerPage: [{ type: Input }],
95
+ hasPrevious: [{ type: Input }],
96
+ hasNext: [{ type: Input }],
97
+ previousText: [{ type: Input }],
98
+ nextText: [{ type: Input }],
99
+ classes: [{ type: Input }],
100
+ id: [{ type: Input }],
101
+ currentPage: [{ type: Input }],
102
+ currentPageChange: [{ type: Output }]
103
+ };
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXBhZ2luYXRpb24vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3BFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxzQkFBc0I7SUFKL0Q7O1FBa0JXLGdCQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBQzFDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFLaEQsaUJBQVksR0FBRyx5VUFBeVUsQ0FBQztRQUN6VixhQUFRLEdBQUcsa1dBQWtXLENBQUM7UUFDOVcsV0FBTSxHQUFHLDJDQUEyQyxDQUFDO0lBc0ZoRSxDQUFDO0lBcEZDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM3QztRQUVELElB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QUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sV0FBVyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7O1lBOUdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQiw4OElBQTBDO2FBQzNDOzs7d0JBR0UsS0FBSzt1QkFDTCxLQUFLOytCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSztpQkFDTCxLQUFLOzBCQUVMLEtBQUs7Z0NBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkl0ZW1EYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGhhc1NlbGVjdDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcclxuICBASW5wdXQoKSB0b3RhbEl0ZW1zOiBudW1iZXI7XHJcbiAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgQElucHV0KCkgaGFzUHJldmlvdXM6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGFzTmV4dDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmV2aW91c1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBuZXh0VGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjdXJyZW50UGFnZSA9IDE7IC8vID09IGN1cnJlbnRQYWdlaW5kZXggKyAxXHJcbiAgQE91dHB1dCgpIGN1cnJlbnRQYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIG5QYWdlczogbnVtYmVyO1xyXG4gIGl0ZW1zOiBQYWdpbmF0aW9uSXRlbURhdGFbXTtcclxuXHJcbiAgcmVhZG9ubHkgcHJldmlvdXNJY29uID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiICB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwic2VsZi1jZW50ZXIgaC0yLjUgdy0yLjUgbXItMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PHBhdGggZD1cIk01NC44NyA3MS43N2EyLjUgMi41IDAgMDEwLTMuNTRMMTA2IDE3LjA3QTEwIDEwIDAgMTA5MS44OSAyLjkzTDM1LjQzIDU5LjM5YTE1IDE1IDAgMDAwIDIxLjIybDU2LjQ2IDU2LjQ2QTEwIDEwIDAgMTAxMDYgMTIyLjkzelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPjwvc3ZnPic7XHJcbiAgcmVhZG9ubHkgbmV4dEljb24gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInNlbGYtY2VudGVyIGgtMi41IHctMi41IG1sLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPjxwYXRoIGQ9XCJNMzQgMTM3LjA3YTEwIDEwIDAgMDEwLTE0LjE0bDUxLjEzLTUxLjE2YTIuNSAyLjUgMCAwMDAtMy41NEwzNCAxNy4wN0ExMCAxMCAwIDAxNDguMTEgMi45M2w1Ni40NiA1Ni40NmExNSAxNSAwIDAxMCAyMS4yMmwtNTYuNDYgNTYuNDZhMTAgMTAgMCAwMS0xNC4xMSAwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPjwvc3ZnPic7XHJcbiAgcmVhZG9ubHkgcHJlZml4ID0gJzxzcGFuIGNsYXNzPVwic3Itb25seVwiPlDDoWdpbmEmbmJzcDs8L3NwYW4+JztcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaWQgaXMgcmVxdWlyZWRgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRvdGFsSXRlbXMgPT09IG51bGwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0b3RhbEl0ZW1zIGlzIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuaXRlbXNQZXJQYWdlID09PSB1bmRlZmluZWQgfHwgdGhpcy5pdGVtc1BlclBhZ2UgPT09IG51bGwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpdGVtc1BlclBhZ2UgaXMgcmVxdWlyZWRgKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5QYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRQYWdlIHx8IHRoaXMuY3VycmVudFBhZ2UgPCAxIHx8IHRoaXMuY3VycmVudFBhZ2UgPiB0aGlzLm5QYWdlcykge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgc2V0VGltZW91dCggKCkgPT4gdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudFBhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMucHJldmlvdXNUZXh0KSB7XHJcbiAgICAgIHRoaXMucHJldmlvdXNUZXh0ID0gJ0FudGVyaW9yJztcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5uZXh0VGV4dCkge1xyXG4gICAgICB0aGlzLm5leHRUZXh0ID0gJ1NpZ3VpZW50ZSc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5idWlsZFBhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWZmaXgocGFnZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBwYWdlID49IDAgJiYgcGFnZSAqIHRoaXMuaXRlbXNQZXJQYWdlIDwgdGhpcy50b3RhbEl0ZW1zID9cclxuICAgICAgYDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjombmJzcDtQw6FnaW5hICR7cGFnZSArIDF9IGNvbiBsb3MgcmVzdWx0YWRvcyBkZWwgJHtwYWdlICogdGhpcy5pdGVtc1BlclBhZ2UgKyAxfSBhbCAke3RoaXMuZ2V0TGFzdEl0ZW1OdW1iZXIocGFnZSl9PC9zcGFuPmBcclxuICAgICAgOiAnJztcclxuICB9XHJcblxyXG4gIGdldExhc3RJdGVtTnVtYmVyKHBhZ2VJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLm1pbigocGFnZUluZGV4ICsgMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSwgdGhpcy50b3RhbEl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkUGFnZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1zID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMublBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbTogUGFnaW5hdGlvbkl0ZW1EYXRhID0ge1xyXG4gICAgICAgIHRleHQ6IGkgKyAxLFxyXG4gICAgICAgIGFjdGl2ZTogKCAoaSArIDEpICA9PT0gdGhpcy5jdXJyZW50UGFnZSksXHJcbiAgICAgICAgcm91dGVyTGluazogW11cclxuICAgICAgfTtcclxuICAgICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6ICdwYWdpbmF0aW9uLWl0ZW0nO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uSWQoIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SWRQcmVmaXgoKSArIChpbmRleCA9PT0gMCkgPyAnJyA6ICctJyArIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShjdXJyZW50OiBudW1iZXIpOiB2b2lke1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGN1cnJlbnQ7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaV07XHJcbiAgICAgIGl0ZW0uYWN0aXZlID0gICgoaSArIDEpID09PSB0aGlzLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByZXZpb3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiAxKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlUGFnZSh0aGlzLmN1cnJlbnRQYWdlIC0gMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLm5QYWdlcykge1xyXG4gICAgICB0aGlzLmNoYW5nZVBhZ2UodGhpcy5jdXJyZW50UGFnZSArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlSXRlbVRleHQoKTogYW55IHtcclxuICAgIGNvbnN0IGFjdGl2ZUl0ZW1zID0gIHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5hY3RpdmUpO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUl0ZW1zICYmIGFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDAgPyBhY3RpdmVJdGVtc1swXS50ZXh0IDogJyc7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,25 +1,25 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SharedModule } from '../shared/shared.module';
4
- import { DesyNavModule } from '../desy-nav/desy-nav.module';
5
- import { DesyButtonsModule } from '../desy-buttons/desy-buttons.module';
6
- import { PaginationComponent } from './components/pagination/pagination.component';
7
- export class DesyPaginationModule {
8
- }
9
- DesyPaginationModule.decorators = [
10
- { type: NgModule, args: [{
11
- declarations: [
12
- PaginationComponent
13
- ],
14
- imports: [
15
- CommonModule,
16
- SharedModule,
17
- DesyNavModule,
18
- DesyButtonsModule
19
- ],
20
- exports: [
21
- PaginationComponent
22
- ]
23
- },] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1wYWdpbmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktcGFnaW5hdGlvbi9kZXN5LXBhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFpQm5GLE1BQU0sT0FBTyxvQkFBb0I7OztZQWRoQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixhQUFhO29CQUNiLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBEZXN5TmF2TW9kdWxlIH0gZnJvbSAnLi4vZGVzeS1uYXYvZGVzeS1uYXYubW9kdWxlJztcbmltcG9ydCB7IERlc3lCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4vZGVzeS1idXR0b25zL2Rlc3ktYnV0dG9ucy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBhZ2luYXRpb25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgRGVzeU5hdk1vZHVsZSxcbiAgICBEZXN5QnV0dG9uc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERlc3lQYWdpbmF0aW9uTW9kdWxlIHsgfVxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SharedModule } from '../shared/shared.module';
4
+ import { DesyNavModule } from '../desy-nav/desy-nav.module';
5
+ import { DesyButtonsModule } from '../desy-buttons/desy-buttons.module';
6
+ import { PaginationComponent } from './components/pagination/pagination.component';
7
+ export class DesyPaginationModule {
8
+ }
9
+ DesyPaginationModule.decorators = [
10
+ { type: NgModule, args: [{
11
+ declarations: [
12
+ PaginationComponent
13
+ ],
14
+ imports: [
15
+ CommonModule,
16
+ SharedModule,
17
+ DesyNavModule,
18
+ DesyButtonsModule
19
+ ],
20
+ exports: [
21
+ PaginationComponent
22
+ ]
23
+ },] }
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1wYWdpbmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktcGFnaW5hdGlvbi9kZXN5LXBhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFpQm5GLE1BQU0sT0FBTyxvQkFBb0I7OztZQWRoQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixhQUFhO29CQUNiLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IERlc3lOYXZNb2R1bGUgfSBmcm9tICcuLi9kZXN5LW5hdi9kZXN5LW5hdi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEZXN5QnV0dG9uc01vZHVsZSB9IGZyb20gJy4uL2Rlc3ktYnV0dG9ucy9kZXN5LWJ1dHRvbnMubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIERlc3lOYXZNb2R1bGUsXHJcbiAgICBEZXN5QnV0dG9uc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERlc3lQYWdpbmF0aW9uTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './pagination-item.data';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXBhZ2luYXRpb24vaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLWl0ZW0uZGF0YSc7XG4iXX0=
1
+ export * from './pagination-item.data';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXBhZ2luYXRpb24vaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLWl0ZW0uZGF0YSc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pdGVtLmRhdGEuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXBhZ2luYXRpb24vaW50ZXJmYWNlcy9wYWdpbmF0aW9uLWl0ZW0uZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2SXRlbURhdGEgfSBmcm9tICcuLi8uLi9kZXN5LW5hdi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uSXRlbURhdGEgZXh0ZW5kcyBOYXZJdGVtRGF0YSB7XG4gIHRleHQ6IGFueTtcbn1cbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pdGVtLmRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXBhZ2luYXRpb24vaW50ZXJmYWNlcy9wYWdpbmF0aW9uLWl0ZW0uZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2SXRlbURhdGEgfSBmcm9tICcuLi8uLi9kZXN5LW5hdi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkl0ZW1EYXRhIGV4dGVuZHMgTmF2SXRlbURhdGEge1xyXG4gIHRleHQ6IGFueTtcclxufVxyXG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class TableCaptionComponent extends ContentBaseComponent {
4
+ }
5
+ TableCaptionComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-table-caption',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ TableCaptionComponent.propDecorators = {
12
+ classes: [{ type: Input }]
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2FwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2FwdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNbkUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjs7O1lBSjlELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUUsdUVBQXVFO2FBQ2xGOzs7c0JBRUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS10YWJsZS1jYXB0aW9uJyxcclxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQ2FwdGlvbkNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class TableCellComponent extends ContentBaseComponent {
4
+ }
5
+ TableCellComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-table-cell',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ TableCellComponent.propDecorators = {
12
+ classes: [{ type: Input }],
13
+ id: [{ type: Input }],
14
+ colspan: [{ type: Input }],
15
+ rowspan: [{ type: Input }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPbkUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG9CQUFvQjs7O1lBSjNELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUUsdUVBQXVFO2FBQ2xGOzs7c0JBRUUsS0FBSztpQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtDZWxsRGF0YX0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktdGFibGUtY2VsbCcsXHJcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENlbGxEYXRhIHtcclxuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgcm93c3Bhbj86IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Component, ContentChildren } from '@angular/core';
2
+ import { TableCellComponent } from './table-cell.component';
3
+ export class TableHeaderComponent {
4
+ }
5
+ TableHeaderComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-table-header',
8
+ template: ''
9
+ },] }
10
+ ];
11
+ TableHeaderComponent.propDecorators = {
12
+ cells: [{ type: ContentChildren, args: [TableCellComponent,] }]
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdGFibGVzL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBTTFELE1BQU0sT0FBTyxvQkFBb0I7OztZQUpoQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFLEVBQUU7YUFDYjs7O29CQUVFLGVBQWUsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RhYmxlQ2VsbENvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1jZWxsLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktdGFibGUtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyQ29tcG9uZW50IHtcclxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbENvbXBvbmVudCkgY2VsbHM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxDb21wb25lbnQ+O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Component, ContentChildren } from '@angular/core';
2
+ import { TableCellComponent } from './table-cell.component';
3
+ export class TableRowComponent {
4
+ }
5
+ TableRowComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-table-row',
8
+ template: ''
9
+ },] }
10
+ ];
11
+ TableRowComponent.propDecorators = {
12
+ cells: [{ type: ContentChildren, args: [TableCellComponent,] }]
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdGFibGVzL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBTTFELE1BQU0sT0FBTyxpQkFBaUI7OztZQUo3QixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFLEVBQUU7YUFDYjs7O29CQUVFLGVBQWUsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RhYmxlQ2VsbENvbXBvbmVudH0gZnJvbSAnLi90YWJsZS1jZWxsLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktdGFibGUtcm93JyxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q29tcG9uZW50IHtcclxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbENvbXBvbmVudCkgY2VsbHM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxDb21wb25lbnQ+O1xyXG59XHJcbiJdfQ==
@@ -1,34 +1,67 @@
1
- import { Component, Input } from '@angular/core';
2
- import { AccessibilityComponent, textOrHtmlRequiredFunction } from '../../../shared/components';
3
- export class TableComponent extends AccessibilityComponent {
4
- ngOnChanges(changes) {
5
- if (!this.rows) {
6
- throw new Error(`rows are required`);
7
- }
8
- else {
9
- this.rows.forEach(element => {
10
- if (element) {
11
- element.forEach(e => {
12
- textOrHtmlRequiredFunction(e.text, e.html);
13
- });
14
- }
15
- });
16
- }
17
- }
18
- }
19
- TableComponent.decorators = [
20
- { type: Component, args: [{
21
- selector: 'desy-table',
22
- template: "<table [class]=\"(classes ? 'c-table ' + classes : 'c-table')\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <caption *ngIf=\"caption\" [class]=\"captionClasses\">{{ caption }}</caption>\n <thead *ngIf=\"head\">\n <tr class=\"border-t border-b border-neutral-base\">\n <th *ngFor=\"let itemHead of head\" scope=\"col\"\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', itemHead.classes] | makeHtmlList\"\n [attr.colspan]=\"(itemHead.colspan ? itemHead.colspan : null)\" [attr.rowspan]=\"(itemHead.rowspan ? itemHead.rowspan : null)\"\n [desyInnerContent]=\"itemHead.html ? itemHead.html : itemHead.text\" [isHtml]=\"itemHead.html\"\n [attr.id]=\"itemHead.id ? itemHead.id : null\"\n [attr.role]=\"itemHead.role\"\n [attr.aria-describedby]=\"itemHead.ariaDescribedBy\"\n [attr.aria-errormessage]=\"itemHead.ariaErrorMessage\"\n [attr.aria-label]=\"itemHead.ariaLabel\"\n [attr.aria-labelledby]=\"itemHead.ariaLabelledBy\"\n [attr.aria-hidden]=\"itemHead.ariaHidden\"\n [attr.aria-disabled]=\"itemHead.ariaDisabled\"\n [attr.aria-controls]=\"itemHead.ariaControls\"\n [attr.aria-current]=\"itemHead.ariaCurrent\"\n [attr.aria-live]=\"itemHead.ariaLive\"\n [attr.aria-expanded]=\"itemHead.ariaExpanded\"\n [attr.aria-haspopup]=\"itemHead.ariaHasPopup\"\n [attr.tabindex]=\"itemHead.tabindex\">\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\" class=\"border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let cell of row; first as isFirst\">\n <th *ngIf=\"firstCellIsHeader && isFirst; else elseTd\" scope=\"row\" \n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', cell.classes] | makeHtmlList\"\n [desyInnerContent]=\"cell.html ? cell.html : cell.text\" [isHtml]=\"cell.html\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.role]=\"cell.role ? cell.role : null\"\n [attr.aria-label]=\"cell.ariaLabel ? cell.ariaLabel : null\"\n [attr.aria-describedby]=\"cell.ariaDescribedBy ? cell.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"cell.ariaLabelledBy ? cell.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"cell.ariaHidden ? cell.ariaHidden : null\"\n [attr.aria-disabled]=\"cell.ariaDisabled ? cell.ariaDisabled : null\"\n [attr.aria-controls]=\"cell.ariaControls ? cell.ariaControls : null\"\n [attr.aria-current]=\"cell.ariaCurrent ? cell.ariaCurrent : null\"\n [attr.aria-live]=\"cell.ariaLive ? cell.ariaLive : null\"\n [attr.aria-expanded]=\"cell.ariaExpanded ? cell.ariaExpanded : null\"\n [attr.aria-errormessage]=\"cell.ariaErrorMessage ? cell.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"cell.ariaHasPopup ? cell.ariaHasPopup : null\"\n [attr.tabindex]=\"cell.tabindex ? cell.tabindex : null\"></th>\n <ng-template #elseTd>\n <td [class]=\"['px-base py-sm', cell.classes] | makeHtmlList\"\n [desyInnerContent]=\"cell.html ? cell.html : cell.text\" [isHtml]=\"cell.html\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.role]=\"cell.role ? cell.role : null\"\n [attr.aria-label]=\"cell.ariaLabel ? cell.ariaLabel : null\"\n [attr.aria-describedby]=\"cell.ariaDescribedBy ? cell.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"cell.ariaLabelledBy ? cell.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"cell.ariaHidden ? cell.ariaHidden : null\"\n [attr.aria-disabled]=\"cell.ariaDisabled ? cell.ariaDisabled : null\"\n [attr.aria-controls]=\"cell.ariaControls ? cell.ariaControls : null\"\n [attr.aria-current]=\"cell.ariaCurrent ? cell.ariaCurrent : null\"\n [attr.aria-live]=\"cell.ariaLive ? cell.ariaLive : null\"\n [attr.aria-expanded]=\"cell.ariaExpanded ? cell.ariaExpanded : null\"\n [attr.aria-errormessage]=\"cell.ariaErrorMessage ? cell.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"cell.ariaHasPopup ? cell.ariaHasPopup : null\"\n [attr.tabindex]=\"cell.tabindex ? cell.tabindex : null\"></td>\n </ng-template>\n </ng-container>\n </tr>\n </tbody>\n</table>\n"
23
- },] }
24
- ];
25
- TableComponent.propDecorators = {
26
- rows: [{ type: Input }],
27
- head: [{ type: Input }],
28
- caption: [{ type: Input }],
29
- captionClasses: [{ type: Input }],
30
- firstCellIsHeader: [{ type: Input }],
31
- classes: [{ type: Input }],
32
- id: [{ type: Input }]
33
- };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBUWhHLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lBWXhELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksT0FBTyxFQUFDO29CQUNWLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ2xCLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QyxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixtdkxBQXFDO2FBQ3RDOzs7bUJBR0UsS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7NkJBQ0wsS0FBSztnQ0FDTCxLQUFLO3NCQUNMLEtBQUs7aUJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCwgdGV4dE9ySHRtbFJlcXVpcmVkRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDZWxsRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcm93czogQXJyYXk8Q2VsbERhdGFbXT47XG4gIEBJbnB1dCgpIGhlYWQ6IENlbGxEYXRhW107XG5cbiAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBjYXB0aW9uQ2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBmaXJzdENlbGxJc0hlYWRlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yb3dzKXtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcm93cyBhcmUgcmVxdWlyZWRgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3dzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50KXtcbiAgICAgICAgICBlbGVtZW50LmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICB0ZXh0T3JIdG1sUmVxdWlyZWRGdW5jdGlvbihlLnRleHQsIGUuaHRtbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG59XG5cbiJdfQ==
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input, ContentChildren } from '@angular/core';
3
+ import { AccessibilityComponent } from '../../../shared/components';
4
+ import { TableHeaderComponent } from './components/table-header.component';
5
+ import { TableCellComponent } from './components/table-cell.component';
6
+ import { TableCaptionComponent } from './components/table-caption.component';
7
+ import { TableRowComponent } from './components/table-row.component';
8
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
9
+ export class TableComponent extends AccessibilityComponent {
10
+ getCaptionClass() {
11
+ return this.captionComponent ? this.captionComponent.classes : this.captionClasses;
12
+ }
13
+ getHeaderCells() {
14
+ let headerCells = [];
15
+ if (this.headerComponent && this.headerComponent.cells) {
16
+ headerCells = this.headerComponent.cells.toArray();
17
+ }
18
+ else if (this.head) {
19
+ headerCells = this.head;
20
+ }
21
+ return headerCells;
22
+ }
23
+ getRows() {
24
+ const rowList = this.rowComponentList && this.rowComponentList.length > 0 ? this.rowComponentList.toArray() : this.rows;
25
+ if (!rowList || rowList.length === 0) {
26
+ throw new Error(`rows are required`);
27
+ }
28
+ return rowList;
29
+ }
30
+ getRowCells(row) {
31
+ return row instanceof TableRowComponent ? row.cells.toArray() : row;
32
+ }
33
+ handleEmptyCell(cell, row, cellIndex) {
34
+ if (cell instanceof TableCellComponent) {
35
+ throw new Error(`Content is required for cell at position ${cellIndex} of row ${row}`);
36
+ }
37
+ else {
38
+ throw new Error(`Text or Html are required for cell at position ${cellIndex} of row ${row}`);
39
+ }
40
+ }
41
+ }
42
+ TableComponent.decorators = [
43
+ { type: Component, args: [{
44
+ selector: 'desy-table',
45
+ template: "<ng-template #tableContent>\r\n <table [class]=\"['c-table', classes] | makeHtmlList\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-hidden]=\"ariaHidden\"\r\n [attr.aria-disabled]=\"ariaDisabled\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-current]=\"ariaCurrent\"\r\n [attr.aria-live]=\"ariaLive\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.tabindex]=\"tabindex\">\r\n <caption *ngIf=\"caption || captionComponent\" [class]=\"getCaptionClass()\">\r\n <ng-container *desyCustomInnerContent=\"{ component: captionComponent, text: caption ? caption : null }\"></ng-container>\r\n </caption>\r\n <thead *ngIf=\"head || headerComponent\">\r\n <tr class=\"border-t border-b border-neutral-base\">\r\n <ng-container *ngFor=\"let headerCell of getHeaderCells()\">\r\n <th scope=\"col\"\r\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', headerCell.classes] | makeHtmlList\"\r\n [attr.colspan]=\"(headerCell.colspan ? headerCell.colspan : null)\"\r\n [attr.rowspan]=\"(headerCell.rowspan ? headerCell.rowspan : null)\"\r\n [attr.id]=\"headerCell.id ? headerCell.id : null\"\r\n [attr.role]=\"headerCell.role\"\r\n [attr.aria-describedby]=\"headerCell.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"headerCell.ariaErrorMessage\"\r\n [attr.aria-label]=\"headerCell.ariaLabel\"\r\n [attr.aria-labelledby]=\"headerCell.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"headerCell.ariaHidden\"\r\n [attr.aria-disabled]=\"headerCell.ariaDisabled\"\r\n [attr.aria-controls]=\"headerCell.ariaControls\"\r\n [attr.aria-current]=\"headerCell.ariaCurrent\"\r\n [attr.aria-live]=\"headerCell.ariaLive\"\r\n [attr.aria-expanded]=\"headerCell.ariaExpanded\"\r\n [attr.aria-haspopup]=\"headerCell.ariaHasPopup\"\r\n [attr.tabindex]=\"headerCell.tabindex\">\r\n <ng-container *desyCustomInnerContent=\"{ component: headerCell, html: headerCell.html, text: headerCell.text }\"></ng-container>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of getRows(); index as rowIndex\" class=\"border-t border-b border-neutral-base\">\r\n <ng-container *ngFor=\"let cell of getRowCells(row); first as isFirst; index as cellIndex\">\r\n <th *ngIf=\"firstCellIsHeader && isFirst; else elseTd\" scope=\"row\"\r\n (desyContentEmpty)=\"handleEmptyCell(cell, rowIndex, cellIndex)\"\r\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', cell.classes] | makeHtmlList\"\r\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\r\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\r\n [attr.id]=\"cell.id ? cell.id : null\"\r\n [attr.role]=\"cell.role ? cell.role : null\"\r\n [attr.aria-label]=\"cell.ariaLabel ? cell.ariaLabel : null\"\r\n [attr.aria-describedby]=\"cell.ariaDescribedBy ? cell.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"cell.ariaLabelledBy ? cell.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"cell.ariaHidden ? cell.ariaHidden : null\"\r\n [attr.aria-disabled]=\"cell.ariaDisabled ? cell.ariaDisabled : null\"\r\n [attr.aria-controls]=\"cell.ariaControls ? cell.ariaControls : null\"\r\n [attr.aria-current]=\"cell.ariaCurrent ? cell.ariaCurrent : null\"\r\n [attr.aria-live]=\"cell.ariaLive ? cell.ariaLive : null\"\r\n [attr.aria-expanded]=\"cell.ariaExpanded ? cell.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"cell.ariaErrorMessage ? cell.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"cell.ariaHasPopup ? cell.ariaHasPopup : null\"\r\n [attr.tabindex]=\"cell.tabindex ? cell.tabindex : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\r\n </th>\r\n <ng-template #elseTd>\r\n <td [class]=\"['px-base py-sm', cell.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleEmptyCell(cell, rowIndex, cellIndex)\"\r\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\r\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\r\n [attr.id]=\"cell.id ? cell.id : null\"\r\n [attr.role]=\"cell.role ? cell.role : null\"\r\n [attr.aria-label]=\"cell.ariaLabel ? cell.ariaLabel : null\"\r\n [attr.aria-describedby]=\"cell.ariaDescribedBy ? cell.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"cell.ariaLabelledBy ? cell.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"cell.ariaHidden ? cell.ariaHidden : null\"\r\n [attr.aria-disabled]=\"cell.ariaDisabled ? cell.ariaDisabled : null\"\r\n [attr.aria-controls]=\"cell.ariaControls ? cell.ariaControls : null\"\r\n [attr.aria-current]=\"cell.ariaCurrent ? cell.ariaCurrent : null\"\r\n [attr.aria-live]=\"cell.ariaLive ? cell.ariaLive : null\"\r\n [attr.aria-expanded]=\"cell.ariaExpanded ? cell.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"cell.ariaErrorMessage ? cell.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"cell.ariaHasPopup ? cell.ariaHasPopup : null\"\r\n [attr.tabindex]=\"cell.tabindex ? cell.tabindex : null\">\r\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n\r\n<div *ngIf=\"wrapper; else tableContent\" [class]=\"wrapper.classes\">\r\n <ng-container *ngTemplateOutlet=\"tableContent\"></ng-container>\r\n</div>\r\n"
46
+ },] }
47
+ ];
48
+ TableComponent.propDecorators = {
49
+ rows: [{ type: Input }],
50
+ head: [{ type: Input }],
51
+ caption: [{ type: Input }],
52
+ captionClasses: [{ type: Input }],
53
+ firstCellIsHeader: [{ type: Input }],
54
+ classes: [{ type: Input }],
55
+ id: [{ type: Input }],
56
+ wrapper: [{ type: Input }],
57
+ captionComponent: [{ type: ContentChildren, args: [TableCaptionComponent,] }],
58
+ headerComponent: [{ type: ContentChildren, args: [TableHeaderComponent,] }],
59
+ rowComponentList: [{ type: ContentChildren, args: [TableRowComponent,] }]
60
+ };
61
+ __decorate([
62
+ DesyContentChild()
63
+ ], TableComponent.prototype, "captionComponent", void 0);
64
+ __decorate([
65
+ DesyContentChild()
66
+ ], TableComponent.prototype, "headerComponent", void 0);
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQU96RixNQUFNLE9BQU8sY0FBZSxTQUFRLHNCQUFzQjtJQW1CeEQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRTtZQUN0RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEQ7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sT0FBTyxHQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3pILElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFpQztRQUMzQyxPQUFPLEdBQUcsWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBaUMsRUFBRSxHQUFXLEVBQUUsU0FBaUI7UUFDL0UsSUFBSSxJQUFJLFlBQVksa0JBQWtCLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsU0FBUyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDeEY7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELFNBQVMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQzs7O1lBdkRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsMm5OQUFxQzthQUN0Qzs7O21CQUdFLEtBQUs7bUJBQ0wsS0FBSztzQkFDTCxLQUFLOzZCQUNMLEtBQUs7Z0NBQ0wsS0FBSztzQkFDTCxLQUFLO2lCQUNMLEtBQUs7c0JBQ0wsS0FBSzsrQkFHTCxlQUFlLFNBQUMscUJBQXFCOzhCQUdyQyxlQUFlLFNBQUMsb0JBQW9COytCQUVwQyxlQUFlLFNBQUMsaUJBQWlCOztBQUxNO0lBRHZDLGdCQUFnQixFQUFFO3dEQUM2RDtBQUd6QztJQUR0QyxnQkFBZ0IsRUFBRTt1REFDMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtDZWxsRGF0YSwgV3JhcHBlckRhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge1RhYmxlSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VGFibGVDZWxsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RhYmxlQ2FwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNhcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtUYWJsZVJvd0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgcm93czogQXJyYXk8Q2VsbERhdGFbXT47XHJcbiAgQElucHV0KCkgaGVhZDogQ2VsbERhdGFbXTtcclxuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FwdGlvbkNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBmaXJzdENlbGxJc0hlYWRlcjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSB3cmFwcGVyOiBXcmFwcGVyRGF0YTtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVDYXB0aW9uQ29tcG9uZW50KSBjYXB0aW9uQ29tcG9uZW50OiBUYWJsZUNhcHRpb25Db21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlSGVhZGVyQ29tcG9uZW50KSBoZWFkZXJDb21wb25lbnQ6IFRhYmxlSGVhZGVyQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlUm93Q29tcG9uZW50KSByb3dDb21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8VGFibGVSb3dDb21wb25lbnQ+O1xyXG5cclxuICBnZXRDYXB0aW9uQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNhcHRpb25Db21wb25lbnQgPyB0aGlzLmNhcHRpb25Db21wb25lbnQuY2xhc3NlcyA6IHRoaXMuY2FwdGlvbkNsYXNzZXM7XHJcbiAgfVxyXG5cclxuICBnZXRIZWFkZXJDZWxscygpOiBUYWJsZUNlbGxDb21wb25lbnRbXXxDZWxsRGF0YVtdIHtcclxuICAgIGxldCBoZWFkZXJDZWxscyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyQ29tcG9uZW50ICYmIHRoaXMuaGVhZGVyQ29tcG9uZW50LmNlbGxzKSB7XHJcbiAgICAgIGhlYWRlckNlbGxzID0gdGhpcy5oZWFkZXJDb21wb25lbnQuY2VsbHMudG9BcnJheSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhlYWQpIHtcclxuICAgICAgaGVhZGVyQ2VsbHMgPSB0aGlzLmhlYWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGVhZGVyQ2VsbHM7XHJcbiAgfVxyXG5cclxuICBnZXRSb3dzKCk6IFRhYmxlUm93Q29tcG9uZW50W118Q2VsbERhdGFbXVtdIHtcclxuICAgIGNvbnN0IHJvd0xpc3QgPSAgdGhpcy5yb3dDb21wb25lbnRMaXN0ICYmIHRoaXMucm93Q29tcG9uZW50TGlzdC5sZW5ndGggPiAwID8gdGhpcy5yb3dDb21wb25lbnRMaXN0LnRvQXJyYXkoKSA6IHRoaXMucm93cztcclxuICAgIGlmICghcm93TGlzdCB8fCByb3dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHJvd3MgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcm93TGlzdDtcclxuICB9XHJcblxyXG4gIGdldFJvd0NlbGxzKHJvdzogVGFibGVSb3dDb21wb25lbnR8Q2VsbERhdGFbXSk6IFRhYmxlQ2VsbENvbXBvbmVudFtdfENlbGxEYXRhW10ge1xyXG4gICAgcmV0dXJuIHJvdyBpbnN0YW5jZW9mIFRhYmxlUm93Q29tcG9uZW50ID8gcm93LmNlbGxzLnRvQXJyYXkoKSA6IHJvdztcclxuICB9XHJcblxyXG4gIGhhbmRsZUVtcHR5Q2VsbChjZWxsOiBUYWJsZUNlbGxDb21wb25lbnR8Q2VsbERhdGEsIHJvdzogbnVtYmVyLCBjZWxsSW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGNlbGwgaW5zdGFuY2VvZiBUYWJsZUNlbGxDb21wb25lbnQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb250ZW50IGlzIHJlcXVpcmVkIGZvciBjZWxsIGF0IHBvc2l0aW9uICR7Y2VsbEluZGV4fSBvZiByb3cgJHtyb3d9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRleHQgb3IgSHRtbCBhcmUgcmVxdWlyZWQgZm9yIGNlbGwgYXQgcG9zaXRpb24gJHtjZWxsSW5kZXh9IG9mIHJvdyAke3Jvd31gKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==